// JavaScript Document for sites tickers, alerts & notes

function loadXMLDoc(){
	return window.XMLHttpRequest ? new XMLHttpRequest():new ActiveXObject('MSXML2.XMLHTTP.3.0');
}
function checkDate(expDate){
	var sDate=new Date(expDate.substring(6), expDate.substring(3, 5)-1, expDate.substring(0, 2));
	var sDateToString = sDate.getTime() + "";
	var expDate=parseInt(sDateToString)
	var sysDate=new Date();
	var sysDateToString = sysDate.getTime() + "";
	var fSysDate=parseInt(sysDateToString)
	return (expDate > fSysDate)?true:false;
}
function loadData(url, rootElem, x){
	var xml = loadXMLDoc();
	xml.open("get", url , false);
	xml.send();
	getXml = xml.responseXML;
	var allFeatures = new Array();
	for(b=2; b<arguments.length; b++){
		var data = getXml.getElementsByTagName(rootElem)[0].getElementsByTagName(arguments[b])
		switch(arguments[b]){
			case 'ticker':
			tickers(data, arguments[b+1]);
			break;
			case 'alert':
			alerts(data, arguments[b+1])
			break;
			case 'note':
			if(arguments[b+2]){
				notes(data, arguments[b+1], arguments[b+2])
			}else{
				notes(data, arguments[b+1])
			}
			break;
		}
	}
}
function checkLength(holdData, i){
	var p = 0;
	for(k=0; k<holdData[i].childNodes.length; k++){
		if(holdData[i].childNodes[k].nodeType == 1){
			++p;
		}
	}	
	return p
}
function tickers(data, id){
	var holdData=data;
	var getMarquee = document.getElementById(id);
	for(i=0; i<holdData.length; i++){
		if(checkDate(holdData[i].attributes['2'].nodeValue)){
			p=checkLength(holdData, i)
			var getTxtNode = holdData[i].getElementsByTagName('text')[0];
			var text = getTxtNode.firstChild.nodeValue;
			var className = getTxtNode.attributes[0].nodeValue;
// runtime created elements starts ///////////////////////////////////////////////			
			var crNode=document.createElement("span");
			var crText=document.createTextNode(text);
			//var line=document.createElement('img');
				//line.setAttribute('src', 'images/arrow2.gif')
// runtime created elements ends ///////////////////////////////////////////////	

			if(p<=1){
				crNode.appendChild(crText);
			}
			else
			{
				var getURLNode = holdData[i].getElementsByTagName('url')[0]
				var url = getURLNode.firstChild.nodeValue;
				var target = getURLNode.attributes[0].nodeValue;
				var crNode=document.createElement("a");
				crNode.setAttribute('href', url)
				crNode.setAttribute('target', target)
				crNode.appendChild(crText);
			}
				//getMarquee.appendChild(line)
				getMarquee.appendChild(crNode);
		}
	}
}
function alerts(data, id){
	var holdData=data;
	var getAlerts = document.getElementById(id);
	for(i=0; i<holdData.length; i++){
		if(checkDate(holdData[i].attributes['2'].nodeValue)){
			var getTxtNode = holdData[i].getElementsByTagName('text')[0];
			var posted = 'Dated: ' + holdData[i].attributes['1'].nodeValue;
			var text = getTxtNode.firstChild.nodeValue;
			var className = getTxtNode.attributes[0].nodeValue;
			var checkPointer = getTxtNode.attributes[1].nodeValue;
			var ptr = (checkPointer=='true')?true:false;
// runtime created elements starts ///////////////////////////////////////////////			
			var crP=document.createElement("p");
			var crStrong=document.createElement('strong');
			var crSpan=document.createElement('span');
				crSpan.setAttribute('className', className);
				crSpan.setAttribute('class', className);
			var crTxtPosted=document.createTextNode(posted);
			var crText=document.createTextNode(text);
			var crA=document.createElement('a');
				crA.setAttribute('className', className);
				crA.setAttribute('class', className);
				crA.setAttribute('target', target);
				crA.setAttribute('href', urlText);
			var ptrNode=document.createElement('img');
				ptrNode.setAttribute('src', 'images/arrow.gif');
// runtime created elements ends ///////////////////////////////////////////////
			p=checkLength(holdData, i)
			if(p==1){
				if(ptr){
					crSpan.appendChild(ptrNode)
				}
				crStrong.appendChild(crTxtPosted)
				crP.appendChild(crStrong)
				crSpan.appendChild(crText)
				crP.appendChild(crSpan)
				getAlerts.appendChild(crP)
			}
			else if(p==2)
			{
				var getUrlNode = holdData[i].getElementsByTagName('url')[0];
				var urlText = getUrlNode.firstChild.nodeValue;
				var target = getUrlNode.attributes[0].nodeValue;
				var crA=document.createElement('a');
				crA.setAttribute('className', className);
				crA.setAttribute('class', className);
				crA.setAttribute('target', target);
				crA.setAttribute('href', urlText);
				if(ptr){
					crA.appendChild(ptrNode)
				}
				crStrong.appendChild(crTxtPosted)
				crP.appendChild(crStrong)
				crA.appendChild(crText)
				crP.appendChild(crA)
				getAlerts.appendChild(crP)
			}
			else
			{
				var getUrlNode = holdData[i].getElementsByTagName('url')[0];
				var urlText = getUrlNode.firstChild.nodeValue;
				var target = getUrlNode.attributes[0].nodeValue;
				var getMoreNode = holdData[i].getElementsByTagName('more')[0];
				var moreText = getMoreNode.firstChild.nodeValue;
				var crA2=document.createElement('a');
				crA2.setAttribute('target', target);
				crA2.setAttribute('href', urlText);
				var crMore=document.createTextNode(moreText);
				if(ptr){
					crSpan.appendChild(ptrNode)
				}
				crStrong.appendChild(crTxtPosted)
				crP.appendChild(crStrong)
				crSpan.appendChild(crText)
				crP.appendChild(crSpan)
				crA2.appendChild(crMore)
				crP.appendChild(crA2)
				getAlerts.appendChild(crP)
			}
		}
	}
}
function notes(data, idOne){
	var holdData=data;
	for(i=0; i<holdData.length; i++){
		if(checkDate(holdData[i].attributes['2'].nodeValue)){
			var getTxtNode = holdData[i].getElementsByTagName('text')[0];
			var getSerial = holdData[i].attributes[0].nodeValue;
			var text = getTxtNode.firstChild.nodeValue;
			var className = getTxtNode.attributes[0].nodeValue;
			var checkPointer = getTxtNode.attributes[1].nodeValue;
			var ptr = (checkPointer=='true')?true:false;
// runtime created elements starts ///////////////////////////////////////////////			
			var crDiv=document.createElement("div");
			var crInDiv=document.createElement('div');
				crInDiv.setAttribute('className', className);
				crInDiv.setAttribute('class', className);
			var crText=document.createTextNode(text);
			var ptrNode=document.createElement('img');
				ptrNode.setAttribute('src', 'images/icon.png');
// runtime created elements ends ///////////////////////////////////////////////	
			p=checkLength(holdData, i)
			if(p==1){
				if(ptr){
					crInDiv.appendChild(ptrNode)
				}
				crInDiv.appendChild(crText)
				crDiv.appendChild(crInDiv)
			}
			else if(p==2)
			{
				var getUrlNode = holdData[i].getElementsByTagName('url')[0];
				var urlText = getUrlNode.firstChild.nodeValue;
				var target = getUrlNode.attributes[0].nodeValue;
				var crA=document.createElement("a");
				crA.setAttribute('className', 'div');
				crA.setAttribute('class', 'div');
				crA.setAttribute('target', target);
				crA.setAttribute('href', urlText);
				if(ptr){
					crA.appendChild(ptrNode)
				}
				crA.appendChild(crText)
				crDiv.appendChild(crA)
			}
			else
			{
				var getUrlNode = holdData[i].getElementsByTagName('url')[0];
				var urlText = getUrlNode.firstChild.nodeValue;
				var target = getUrlNode.attributes[0].nodeValue;
				var getMoreNode = holdData[i].getElementsByTagName('more')[0];
				var moreText = getMoreNode.firstChild.nodeValue;
				var crTextMore=document.createTextNode(moreText);
				var crA2=document.createElement('a');
				crA2.setAttribute('className', 'blRight');
				crA2.setAttribute('class', 'blRight');
				crA2.setAttribute('target', target);
				crA2.setAttribute('href', urlText);
				if(ptr){
					crInDiv.appendChild(ptrNode)
				}
				crInDiv.appendChild(crText)
				crDiv.appendChild(crInDiv)
				crA2.appendChild(crTextMore)
				crDiv.appendChild(crA2)
			}
			if(arguments.length == 3){
				var getNotesLeft = document.getElementById(idOne);
				var getNotesRight = document.getElementById(arguments[2]);
				if((getNotesRight.clientHeight)>(getNotesLeft.clientHeight)){
					getNotesLeft.appendChild(crDiv)
				}
				else if ((getNotesRight.clientHeight) < (getNotesLeft.clientHeight)){
					getNotesRight.appendChild(crDiv)
				}
				else if ((getNotesRight.clientHeight) == (getNotesLeft.clientHeight)){
					getNotesLeft.appendChild(crDiv)
				}
			}
			else if(arguments.length == 2){
				var getNotes = document.getElementById(idOne);
				getNotes.appendChild(crDiv)
			}
		}
	}
}
