var http_request = false;
var dateSort = false;
var state = "type";
var resourceBy = -1;
var id;
var sortBy;
var innerAttrSort = false;
var articles;
//var bI = '/atf/cf/{DB6A45E4-C446-4248-82C8-E131B6424741}/blank-holder.gif';
/*
function d(str) { // debug function
	
	if(document.getElementById('debugger') == null){
		var s = document.createElement('span');
		s.style.display = 'none';
		s.id = 'debugger';
		s.innerHTML = str+'\n';
		var b = document.getElementsByTagName('body')[0];
		b.appendChild(s);`
	} else {
		var s = document.getElementById('debugger');
		s.innerHTML += str+'\n';
	}	
}*/

function compare(x,y) {
	//alert('compare() called')
	if(x.type == y.type) { return 0; }
	if(x.type < y.type) { return -1; }
	return 1;
}

function getArticles( XMLNode ) {
	var XMLItem = new Array();
	var test = "";
	var dS= dateSort ? 'date' : 'type';
	var sA = new Array();
	
	for (i=0; XMLNode.length>i; i++)
	{
		 XMLItem[i] = new Array();
		 for (k=0; XMLNode[i].childNodes.length>k; k++)
		 {
 			 if(XMLNode[i].childNodes[k].firstChild != null) {
				 switch(XMLNode[i].childNodes[k].tagName) {
					 case "title" : XMLItem[i]["title"] = XMLNode[i].childNodes[k].firstChild.data;
										break;
					 case "description" : XMLItem[i]["summary"] = XMLNode[i].childNodes[k].firstChild.data;
										break;
					 case "k:go_to_article_now" : XMLItem[i]["article"] = XMLNode[i].childNodes[k].firstChild.data;
									    break;
					 case "k:image_url" : XMLItem[i]["image"] = XMLNode[i].childNodes[k].firstChild.data;
										break;
					 case "k:feature_image" : XMLItem[i]["feature"] = XMLNode[i].childNodes[k].firstChild.data;
										break;
					 case "k:secondary_image" : XMLItem[i]["landing"] = XMLNode[i].childNodes[k].firstChild.data;
										break;
					 case "title" : XMLItem[i]["title"] = XMLNode[i].childNodes[k].firstChild.data;
										break;
					 case "link" : XMLItem[i]["hlink"] = XMLNode[i].childNodes[k].firstChild.data;
										break;
					 case "k:visit_site" : XMLItem[i]["sponsor_link"] = XMLNode[i].childNodes[k].firstChild.data;
										break;
					 case "guid" :      XMLItem[i]["id"] = XMLNode[i].childNodes[k].firstChild.data.split('ct=')[1];
										break;
				 }
			 }
			 XMLItem[i].include = true;
			 if(XMLItem[i].article != null) {
				if(XMLItem[i].article != "") {
					XMLItem[i].hlink = XMLItem[i].article;
				}
			 }
			 
			if(XMLItem[i].image == "") {
					XMLItem[i].image = "blank-holder.gif";
			}
		 }
	}	
	/*
	if( !dateSort ) {
		XMLItem.sort(compare);
	}*/
	
	var oldType = "";
	k = -1;
	var articles = new Array();
	for (i=0; XMLItem.length>i; i++)
	{
		k++;
		articles[k] = XMLItem[i];
	}
	
	var dateRE = /^(\d{2})[\/\- ](\d{2})[\/\- ](\d{4})/;
	for (i=0; articles.length>i; i++)
	{
//		if(i==1) {alert(articles[i].type+'=='+ sortBy);}
		
		articles[i].sort(function (a, b){
				a = a['date'].replace(dateRE,"$3$1$2");
				b = b['date'].replace(dateRE,"$3$1$2");
				if (a>b) return -1;
				if (a <b) return 1;
				return 0; }
			);
	}
	return articles;
}

function createResources(articles) {
	var resourceBlock = '<div id="featureContainer">';
	var featureBlock = '<div id="featureBlock" class="landing"><div><div id="featureBG"></div></div>';
	var tabBlock = '<div id="tabBlock" class="landingFeatureOn1">';
	var Tab1 = '<div id="tabBlock1" class="tabOn">';
	var Tab2 = '<div id="tabBlock2" class="tabOff">';
	var maxArticles = 2;
	var backgroundImage = "";
	var tA = maxArticles;
	for (i=0; articles.length>i; i++)
	{		
		if (tA<=i) { break; }
		if(articles[i].include) {
			if(i==0) {
				featureBlock += '<div class="featureDiv"><div class="featureImage1"';
				if( articles.length>1)
				{
					Tab1 += '<a href="#"  onmouseover="javascript:toggleFeature(this);return false">';
					Tab1 += '<img src="'+articles[i].image+'" />';
					Tab1 += '<div class="text landing">';
					Tab1 += shortenText(articles[i].title,47,9);
					Tab1 += '</div></a>';
				}
			}
			else {
				featureBlock += '<div class="featureDiv" style="display:none"><div class="featureImage2"';
				Tab2 += '<a href="#" onmouseover="javascript:toggleFeature(this);return false">';
				Tab2 += '<img src="'+articles[i].image+'" />';
				Tab2 += '<div class="text landing">';
				Tab2 +=  shortenText(articles[i].title,47,9);
				Tab2 += '</div></a>';
			}
			featureBlock += ' style="background: transparent url('+articles[i].landing;
			featureBlock += ') no-repeat" ></div>';
			//featureBlock += '<div class="featureTitle landing">'+articles[i].title+'</div>';
			
			featureBlock += '<div class="featureSummaryOverlay landing">&nbsp;</div>';
			featureBlock += '<div class="featureSummaryContainer">';
			featureBlock += '<div class="featureSummary landing">';
			featureBlock += shortenText(articles[i].summary,310,50);
			featureBlock += '&nbsp;<span class="whitearrow" ><a class="readmore"';
			featureBlock += 'href="'+articles[i].hlink+'">Read More ';
			featureBlock += '</a></span></div></div>';
			featureBlock += '</div>';	
		} 
		else {tA++;}
		tA = maxArticles;
	}
	featureBlock += '</div>';
	Tab1 += '</div>';
	Tab2 += '</div>';
	
	resourceBlock += featureBlock;
	
	if(articles.length>1)
		resourceBlock += tabBlock + Tab1 + Tab2 + '</div>';
	else
		document.getElementById('feature').className = 'onetier';
	
	resourceBlock += '</div>';
	return resourceBlock;
}


function makeRequestResources(url) {
	
	http_request = false;

	if (window.XMLHttpRequest) { // Mozilla, Safari,...
		http_request = new XMLHttpRequest();
		if (http_request.overrideMimeType) {
			http_request.overrideMimeType('text/xml');
		}
	} else if (window.ActiveXObject) { // IE
		try {
			http_request = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			try {
			http_request = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e) {}
		}
	}

	if (!http_request) {
		alert('Giving up :( Cannot create an XMLHTTP instance');
		return false;
	}
	//alert('makeRequestResources articles: ' + articles)
	http_request.onreadystatechange = function(){displayResources();};
	http_request.open('GET', url, true);
	http_request.send(null);
}


var root_node;
function displayResources() {
	
	//alert('displayResources() articles: ' + articles)
	if (http_request.readyState == 1) {
	}
	if (http_request.readyState == 4) {
		if (http_request.status == 200) {
			var xmldoc = http_request.responseXML;
			root_node = xmldoc.getElementsByTagName('item');
			articles = getArticles(root_node);
			switch(state) {
				case "type_all"	:   document.getElementById('feature').innerHTML = displayAllTypes(articles);
									break;
				default			:	document.getElementById('feature').innerHTML = createResources(articles);
									break;
			}

			} else {
				alert('There was a problem with the request.');
			}
			/*
			switch(articleName){
				case "Pastors" : makeRequestResources('Leaders'); break;
				case "Leaders" : makeRequestResources('Mentoring'); break;
			}*/
	}
	

	/*
	switch(articleName) {
		case "Pastors"   :	alert('pastor switch called')
							document.getElementById('Pastors').innerHTML = document.getElementById('Pastors').innerHTML;
							break;
		case "Leaders"   :	document.getElementById('Leaders').innerHTML = document.getElementById('Leaders').innerHTML;
							break;
		case "Mentoring" :	document.getElementById('Mentoring').innerHTML = document.getElementById('Mentoring').innerHTML;
							break;
	}*/
}

function addLoadListener(fn)
{
	if (typeof window.addEventListener != 'undefined')
	{
		window.addEventListener('load', fn, false);
	}
 	else if (typeof document.addEventListener != 'undefined')
 	{
   	document.addEventListener('load', fn, false);
	}
 	else if (typeof window.attachEvent != 'undefined')
 	{
   	window.attachEvent('onload', fn);
 	}
 	else
 	{
   	var oldfn = window.onload;
   	if (typeof window.onload != 'function')
   	{
     window.onload = fn;
   	}
   	else
   	{
	window.onload = function()
     {
       oldfn();
       fn();
     };
   }
 }
}

function toggleFeature(e) {
	var tabBlock = $("tabBlock");
	var tabs = tabBlock.getElementsByTagName('div');
	var features = $("featureBlock").getElementsByClassName('featureDiv');
	if(e.parentNode.className != "tabOn") {
		//alert('e.parentNode.parentNode.className: ' + e.parentNode.parentNode.className)
		for (i=0;i<tabs.length;i++) {
			//alert(tabs[i].className);
			if (tabs[i].className == "tabOn") {
				tabs[i].setAttribute("class","tabOff");
				tabs[i].setAttribute("className","tabOff");
				} 
			else if(tabs[i].className =="tabOff") {
				tabs[i].setAttribute("class","tabOn");
				tabs[i].setAttribute("className","tabOn");
			}
		}
		for (i=0;i<features.length;i++) {
			//alert(images[i].className);
				if (features[i].style.display == "none") {
					features[i].style.display = "block";
					} 
				else {
					features[i].style.display = "none";
				}
		}
		if(tabBlock.className == "landingFeatureOn1")
			tabBlock.className = "landingFeatureOn2";
		else
			tabBlock.className = "landingFeatureOn1";
	}
}
function shortenText(text,maxChar,maxWords)
{
	var wordArray=text.split(" ");
	if((text.length>maxChar)&&(wordArray.length>maxWords))
	{
		var newText="";
		var i;
		for(i=0;i<maxWords;i++)
		{
			newText+=wordArray[i]+" ";
		}
		newText+="...";
		if(newText.length<maxChar+3)
			{return newText;}
		else
			{return newText.substring(0,maxChar)+"...";}
	}else{
		if((text.length>maxChar)&&(wordArray.length<maxWords))
		{
			return text.substring(0,maxChar)+"...";
		}else{
			return text;
		}
	}
}

//addLoadListener( function(){makeRequestResources();} );