/***********************************************
* Pausing updown message rss_scroller- © Dynamic Drive DHTML code library (www.dynamicdrive.com)
* This notice MUST stay intact for legal use
* Visit Dynamic Drive at http://www.dynamicdrive.com/ for full source code
***********************************************/

///////Do not edit pass this line///////////////////////
// some new variables
var rss_scrollerdelay=5000;
var rss_running = 0;
var rss_stopped = 0;
var rss_stopCompleted = 0;
var rss_scrollForward = 1;
var topLayer;
var bottomLayer;

var rssList = new Array("../../rss/highlights.xml");
var rssShow = 10;
var cutoff=rssShow;
var entries=new Array();
var callNum=0;
var rssScrollerHeight="150px";
var rssScrollerWidth="150px";

for(var j=0;j<rssShow;j++){
	document.write('<div id="rss_message_'+j+'" style="width:'+rssScrollerWidth+';overflow:auto;position:absolute;top:0px;left:0px;visibility:hidden;"></div>');
}

for(var i=0;i<rssList.length;i++){
	var xmlObj=new nyc_xmlhttp(rssList[i],"addToArray");
	xmlObj.init();
}

function addToArray(tmpObj, goodFeed) {
	callNum++;
	if(goodFeed){
		for (var i = 0; i < tmpObj.getElementCount("item"); i++) {
			var entryNum=entries.length;
			entries[entryNum]=new Array();
			try {
				entries[entryNum][0]=tmpObj.getElement("item", "title", i, 0);
			} catch (err) {
				entries[entryNum][0] = "";
			}
			try {
				entries[entryNum][1]=tmpObj.getElement("item", "description", i, 0);
			} catch (err) {
				entries[entryNum][1] = "";
			}
			try {
				entries[entryNum][2]=tmpObj.getElement("item", "pubDate", i, 0);
			} catch (err) {
				entries[entryNum][2] = "";
			}
			try {
				entries[entryNum][3]=tmpObj.getElement("item", "guid", i, 0);
			} catch (Err) {
				entries[entryNum][3] = "";
			}
		}
	}
	if(callNum==rssList.length){
		if(entries.length>0){
			entries=entries.sort(sortByDate);
			if(rssShow>entries.length){
				cutoff=entries.length;
			}
			for(var i=0;i<cutoff;i++){
				var theId="rss_message_"+i;
				var elem=document.getElementById(theId);
				var theText='<table cellspacing="0" cellpadding="0" border="0" width="'+parseInt(rssScrollerWidth)+'" id="table_'+i+'">';
				if(entries[i][3].toLowerCase()!="#"){
					theText=theText+'<tr><Td class="rss_title_module"><a href="'+entries[i][3]+'">'+entries[i][0]+'</a></td></tr>';
				}else{
					theText=theText+'<tr><Td class="rss_title_module">'+entries[i][0]+'</td></tr>';
				}/*
				if(entries[i][2].length>0){
					theText=theText+'<tr><Td class="rss_date_module">'+entries[i][2]+'</td></tr>';
				}
				if(entries[i][1].length>0){
					theText=theText+'<tr><Td class="rss_text_module">'+entries[i][1]+'</td></tr>';
				}*/
				theText=theText+'</table>';
				elem.innerHTML=theText;
			}
		}else{
			cutoff=0;
			document.getElementById("rss_first").innerHTML='<table cellspacing="0" cellpadding="0" border="0"><tr><Td class="rss_text_module">There is nothing to display.</td></tr></table>';
		}
	}
}

function convertDateTime(datetime) {
	var months = new Array('January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December');
	var days = new Array("Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday");
	
	var tmpDate = new Date(datetime);
	var month = months[tmpDate.getMonth()];
	var day = days[tmpDate.getDay()];
	var date = tmpDate.getDate();
	var year = tmpDate.getFullYear();
	var rawHours = tmpDate.getHours();
	var rawMinutes = tmpDate.getMinutes();
	var amOrPm = (rawHours <= 11) ? "am" : "pm";
	var hours = (rawHours > 12) ? rawHours - 12 : rawHours;
	var minutes = (rawMinutes < 10) ? "0" + rawMinutes : rawMinutes;
	
	return(day+", "+month+" "+date+", "+year);
}
function sortByGuid(a,b){
	var A=a[3]+"";
	var B=b[3]+"";
	return(A>B?1:A<B?-1:0);
}
function sortByDate(a,b){
	var A=0;
	var B=0;
	if(a[2]){
		A=Date.parse(a[2]);
	}
	if(b[2]){
		B=Date.parse(b[2]);
	}
	return(B-A);
}

function rss_move1(whichdiv){
	rss_tdiv=eval(whichdiv)
	if (parseInt(rss_tdiv.style.top)>0&&parseInt(rss_tdiv.style.top)<=5){
		rss_tdiv.style.top=0+"px"
		if (rss_stopped == 1) {rss_switchButton(1); return;}
		setTimeout("rss_move1(rss_tdiv)",rss_scrollerdelay)
		setTimeout("rss_move2(rss_second_obj)",rss_scrollerdelay)
		return
	}
	if (parseInt(rss_tdiv.style.top)>=rss_tdiv.offsetHeight*-1){
		if (rss_stopped == 1 && parseInt(rss_tdiv.style.top) == 0) {rss_switchButton(1); return;}
		if (rss_stopped == 1 && parseInt(rss_tdiv.style.top) == parseInt(rssScrollerHeight)) {rss_switchButton(1); return;}
		rss_tdiv.style.top=parseInt(rss_tdiv.style.top)-5+"px"
		setTimeout("rss_move1(rss_tdiv)",50)
	}
	else{
		rss_tdiv.style.top=parseInt(rssScrollerHeight)
		var messageId="rss_message_"+i;
		rss_tdiv.innerHTML=document.getElementById(messageId).innerHTML;
		rss_itemStatus();
		if (i==cutoff-1)
			i=0
		else
			i++
	}
}

function rss_move2(whichdiv){
	rss_tdiv2=eval(whichdiv)
	if (parseInt(rss_tdiv2.style.top)>0&&parseInt(rss_tdiv2.style.top)<=5){
		rss_tdiv2.style.top=0+"px"
		if (rss_stopped == 1) {rss_switchButton(1); return;}
		setTimeout("rss_move2(rss_tdiv2)",rss_scrollerdelay)
		setTimeout("rss_move1(rss_first_obj)",rss_scrollerdelay)
		return
	}
	if (parseInt(rss_tdiv2.style.top)>=rss_tdiv2.offsetHeight*-1){
		if (rss_stopped == 1 && parseInt(rss_tdiv2.style.top) == 0) {rss_switchButton(1); return;}
		if (rss_stopped == 1 && parseInt(rss_tdiv2.style.top) == parseInt(rssScrollerHeight)) {rss_switchButton(1); return;}
		rss_tdiv2.style.top=parseInt(rss_tdiv2.style.top)-5+"px"
		setTimeout("rss_move2(rss_second_obj)",50)
	}
	else{
		rss_tdiv2.style.top=parseInt(rssScrollerHeight)
		var messageId="rss_message_"+i;
		rss_tdiv2.innerHTML=document.getElementById(messageId).innerHTML;
		rss_itemStatus();
		if (i==cutoff-1)
			i=0
		else
			i++
	}
}

function rss_startScroll(){
	// make sure function doesn't fun twice
	if (rss_running != 0||cutoff==0)
		return

	rss_running++
	for(var i=0;i<cutoff;i++){
		var theId="rss_message_"+i;
		var theHeight=document.getElementById(theId).offsetHeight;
		if(theHeight>parseInt(rssScrollerHeight)){
			rssScrollerHeight=(theHeight+9)+"px";
		}
	}
	document.getElementById("rss_main").style.height=rssScrollerHeight;
	rss_first_obj=document.getElementById("rss_first")
	rss_second_obj=document.getElementById("rss_second")
	if(cutoff>1){
		firstId="rss_message_"+0;
		secondId="rss_message_"+1;
		rss_first_obj.innerHTML=document.getElementById(firstId).innerHTML;
		rss_second_obj.innerHTML=document.getElementById(secondId).innerHTML;
		rss_move1(rss_first_obj);
		rss_second_obj.style.top=rssScrollerHeight
		rss_second_obj.style.visibility='visible'
	}else{
		firstId="rss_message_"+0;
		rss_first_obj.innerHTML=document.getElementById(firstId).innerHTML;
	}
	rss_switchButton(0);
	document.getElementById("rss_itemStatus").innerHTML = '1 of ' + cutoff;
}

function rss_itemStatus() {
	document.getElementById("rss_itemStatus").innerHTML = (i==0?cutoff:i) + ' of ' + cutoff ;
}

function rss_stopScroll() {
	rss_stopped = 1;
	rss_switchButton(2);
}

function rss_restartScroll() {
	if (rss_stopped == 0 ) {return;}
	rss_stopped = 0;
	if (rss_scrollForward == 0) {
		if (i==cutoff-1) {
			i=1;
		} else if (i==cutoff-2) {
			i=0;
		} else {
			i=i+2
		}
	}
	
	rss_move1(rss_first_obj);
	rss_move2(rss_second_obj);
	
	rss_switchButton(0);
	rss_scrollForward = 1;
	rss_stopCompleted = 0;
}

function rss_switchButton(what) {
	if (what==0) {
		document.getElementById("rss_startstop").innerHTML = '<a href="javascript:rss_stopScroll();"><img src="../../includes/site_images/modules/hold.gif" namd="hold" border="0" align="middle" width="22" height="18" alt="Pause rss_scroll" onMouseOver="rss_scrollIconSwap(\'hold\',this,0);" onMouseOut="rss_scrollIconSwap(\'hold\',this,1);"></a>';
		document.getElementById("rss_nextbutton").innerHTML = '<a href="javascript:rss_nextScroll();"><img src="../../includes/site_images/modules/next.gif" name="next" border="0" align="absmiddle" width="22" height="18" alt="Next Item" onMouseOver="rss_scrollIconSwap(\'next\',this,0);" onMouseOut="rss_scrollIconSwap(\'next\',this,1);"></a>';
		document.getElementById("rss_backbutton").innerHTML = '<a href="javascript:rss_backScroll();"><img src="../../includes/site_images/modules/back.gif" name="back" border="0" align="absmiddle" width="22" height="18" alt="Previous Item" onMouseOver="rss_scrollIconSwap(\'back\',this,0);" onMouseOut="rss_scrollIconSwap(\'back\',this,1);"></a>';
	} else if (what==1) {
		rss_first_top=parseInt(document.getElementById("rss_first").style.top)
		rss_second_top=parseInt(document.getElementById("rss_second").style.top)
		if ((rss_first_top != 0 && rss_first_top != parseInt(rssScrollerHeight)) || (rss_second_top != 0 && rss_second_top != parseInt(rssScrollerHeight))) {
			setTimeout("rss_switchButton(1)",50)
			return;
		}
		document.getElementById("rss_startstop").innerHTML = '<a href="javascript:rss_restartScroll();"><img src="../../includes/site_images/modules/play.gif" name="play" border="0" align="middle" width="22" height="18" alt="Resume rss_scroll" onMouseOver="rss_scrollIconSwap(\'play\',this,0);" onMouseOut="rss_scrollIconSwap(\'play\',this,1);"></a>';
		document.getElementById("rss_nextbutton").innerHTML = '<a href="javascript:rss_nextScroll();"><img src="../../includes/site_images/modules/next.gif" name="next" border="0" align="absmiddle" width="22" height="18" alt="Next Item" onMouseOver="rss_scrollIconSwap(\'next\',this,0);" onMouseOut="rss_scrollIconSwap(\'next\',this,1);"></a>';
		document.getElementById("rss_backbutton").innerHTML = '<a href="javascript:rss_backScroll();"><img src="../../includes/site_images/modules/back.gif" name="back" border="0" align="absmiddle" width="22" height="18" alt="Previous Item" onMouseOver="rss_scrollIconSwap(\'back\',this,0);" onMouseOut="rss_scrollIconSwap(\'back\',this,1);"></a>';
		rss_stopCompleted = 1;
	} else if (what==2) {
		document.getElementById("rss_startstop").innerHTML = '<img src="../../includes/site_images/modules/wait.gif" border="0" align="middle" width="22" height="18" alt="Please wait...">';
		document.getElementById("rss_nextbutton").innerHTML = '<img src="../../includes/site_images/modules/next.gif" name="next" border="0" align="absmiddle" width="22" height="18" alt="Next Item">';
		document.getElementById("rss_backbutton").innerHTML = '<img src="../../includes/site_images/modules/back.gif" name="back" border="0" align="absmiddle" width="22" height="18" alt="Previous Item">';
	}	
}

function rss_nextScroll() {
	if (rss_stopped == 0) {	rss_stopScroll(); }
	if (rss_stopCompleted == 0) {
		setTimeout("rss_nextScroll()",50)
		return;
	}
	if (parseInt(document.getElementById("rss_first").style.top)==0) {
		topLayer = document.getElementById("rss_first");
		bottomLayer = document.getElementById("rss_second");
	} else {
		bottomLayer = document.getElementById("rss_first");
		topLayer = document.getElementById("rss_second");
	}
	if (rss_scrollForward == 0) {
		if (i==cutoff-1) {
			i=1;
		} else if (i==cutoff-2) {
			i=0;
		} else {
			i=i+2
		}
	}
	var messageId="rss_message_"+(i==0?cutoff-1:i-1)
	eval(topLayer).innerHTML = document.getElementById(messageId).innerHTML;
	messageId="rss_message_"+i;
	eval(bottomLayer).innerHTML = document.getElementById(messageId).innerHTML;
	rss_itemStatus();
	rss_scrollForward = 1;
	if (i==cutoff-1) {
		i=0;
	} else {
		i++;
	}
}

function rss_backScroll() {
	if (rss_stopped == 0) {	rss_stopScroll(); }
	if (rss_stopCompleted == 0) {
		setTimeout("rss_backScroll()",50)
		return;
	}
	if (parseInt(document.getElementById("rss_first").style.top)==0) {
		topLayer = document.getElementById("rss_first");
		bottomLayer = document.getElementById("rss_second");
	} else {
		bottomLayer = document.getElementById("rss_first");
		topLayer = document.getElementById("rss_second");
	}
	if (rss_scrollForward == 1) {
		if (i==0) {
			i=cutoff-2;
		} else if (i==1) {
			i=cutoff-1;
		} else {
			i=i-2
		}
	}
	var messageId="rss_message_"+(i==0?cutoff-1:i-1)
	eval(topLayer).innerHTML = document.getElementById(messageId).innerHTML;
	messageId="rss_message_"+i;
	eval(bottomLayer).innerHTML = document.getElementById(messageId).innerHTML;
	rss_itemStatus();
	rss_scrollForward = 0;
	if (i==0) {
		i=cutoff-1;
	} else {
		i--;
	}
}

function rss_scrollIconSwap(iconImg, what, which) {
	var imgPath = "../../includes/site_images/modules/";
	if (which == 0) {
		what.src = imgPath + iconImg + "_over.gif";
	} else {
		what.src = imgPath + iconImg + ".gif";
	}
}

function nyc_xmlhttp(tmpXMLURL, tmpCallBack) {
	var xmlReq = null;
	var err = null;
	
	var xmlURL = tmpXMLURL;
	var callBack = tmpCallBack;
	
	var currentObj = this;
	
	this.init = function () { //constructor
	    if (window.XMLHttpRequest) {
	        xmlReq = new XMLHttpRequest();
	    } else if (window.ActiveXObject) { //IE
			xmlReq = new ActiveXObject("Microsoft.XMLHTTP");
	    }

        xmlReq.onreadystatechange = this.reqChange;
        xmlReq.open("GET", xmlURL, true);
        xmlReq.send(null);
	};
	
	this.reqChange = function () {
	    if (xmlReq.readyState == 4) { //complete
	        if (xmlReq.status == 200 || xmlReq.status == 304) { //OK
				eval(callBack + "(currentObj,true);");
	        } else {
				eval(callBack + "(currentObj,false);");
	        }
	    }
	};
	
	this.getElement = function (parentTagName, tagName, parentElement, index) { //get data from xml
		var parentTagObj = xmlReq.responseXML.getElementsByTagName(parentTagName);
	    var tagObj = parentTagObj[parentElement].getElementsByTagName(tagName)[index];
	    if (tagObj) {
	        if (tagObj.childNodes.length > 1) {
	            return tagObj.childNodes[1].nodeValue;
	        } else {
	            return tagObj.firstChild.nodeValue;
	        }
	    } else {
	        return "";
	    }
	};
	
	this.getElementCount = function (parentTagName) {
		var parentTagObj = xmlReq.responseXML.getElementsByTagName(parentTagName);
		return parentTagObj.length;
	};
}

if(window.onload){
	var oldLoad = window.onload;
	window.onload = function() {
		oldLoad();
		rss_startScroll();
	}
}else{
	window.onload=rss_startScroll;
}
