var xmlMarketData;
var interval = "";
var MarketN = 'DFM';
function UpdateTicker(dsNew, Market){
	var myObj;
	var newNodes = dsNew.selectNodes('//' + Market + '//T');
	var myTicker = document.getElementById('MQ');
	var dsOld = document.getElementById('dsTicker');
	var oldNodes = dsOld.selectNodes('//T');

	for (i=oldNodes.length-1;i>=0;i--){
		if(! dsNew.selectSingleNode("//" + Market + "/T[@S='"+ oldNodes[i].getAttribute("S") +"']") ){
			myObj = document.getElementById('nd' + oldNodes[i].getAttribute("S"));
			if (myObj){
				myTicker.removeChild(myObj);
				dsOld.documentElement.removeChild(oldNodes[i])
			}
		}
	}
	for (i=0;i<newNodes.length;i++){ 
		myObj = document.getElementById('nd' + newNodes[i].getAttribute("S"));
		var Node = dsOld.selectSingleNode("//T[@S='"+ newNodes[i].getAttribute("S") +"']");
		if (! myObj){
			var newElem = document.createElement("SPAN");
			newElem.id = 'nd' + newNodes[i].getAttribute("S");
			newElem.innerHTML = '<Span Class="tickerSymbol">' + newNodes[i].getAttribute("S") + '</Span> <Span Class="tickerValue"><span>' + newNodes[i].getAttribute("P") + '</Span>' + GetTickerImages(newNodes[i].getAttribute("T")) + '<span>' + newNodes[i].getAttribute("G") + '</span>' + '%</Span>';
			myTicker.appendChild(newElem);

			if (! Node){
				Node = dsOld.createNode(1,"T","");
				atts = newNodes[i].attributes;
				for(j=0; j< atts.length; j++)
					Node.setAttribute(atts[j].name,atts[j].value);
				dsOld.documentElement.appendChild(Node);
			}
		} else {
			if (newNodes[i].getAttribute("P") != Node.getAttribute("P")){
			myObj.children[1].children[0].innerText = newNodes[i].getAttribute("P");
			myObj.children[1].children[4].innerText = newNodes[i].getAttribute("G");
			if (n[i].getAttribute("T") == '+'){
				myObj.children[1].children[1].style.display = '';
				myObj.children[1].children[2].style.display = 'none';
				myObj.children[1].children[3].style.display = 'none';
				}
			else if (newNodes[i].getAttribute("T") == '='){
				myObj.children[1].children[1].style.display = 'none';
				myObj.children[1].children[2].style.display = '';
				myObj.children[1].children[3].style.display = 'none';
				 } else{
				myObj.children[1].children[1].style.display = 'none';
				myObj.children[1].children[2].style.display = 'none';
				myObj.children[1].children[3].style.display = '';
				       }
			}
		}
	}
}

function GetTickerImages(Trend){
	var retVal;
	if (Trend == '=')
	   retVal = ' <span class="imgNoDiff"></span>&nbsp;';
	else 
		if (Trend == '+')
			retVal = ' <span class="imgUp"></span>&nbsp;';
		else
			retVal = ' <span class="imgDown"></span>&nbsp;';
	return retVal;
}
function setProccessingflagOn(){
proceessFlag = true;
}
function setProccessingflagOff(){
proceessFlag = false;
}

function tTimer(){
	init();
}
function startInterval(){
	var myData = document.getElementById('dsTickerNew');
	UpdateTicker(myData, MarketN);
	interval = window.setInterval("tTimer()", TickerRefreshTime);
	FinishedLoading = 1;
}
function stopInterval(){
	window.clearInterval (interval);
	interval="";
}
function init(){
	window.onerror = handleError
	GetXML('eTrader/ws/Process.aspx?Op=TD');
	setProccessingflagOn();
}
function handleError(){
window.status = event.result.errorDetail.string;
//"Failed to start the real-time update component.  The page will not be updated."
return true
}
function onResult(){
// if there is an error, and the call came from the call() in init()
	if (xmlMarketData.readyState==4){
		if (xmlMarketData.status == 200){
			RefreshMW(xmlMarketData.responseText);
		}
		setProccessingflagOff();
	}
}
function RefreshMW(wsXML){
	var n = document.getElementById("dsTickerNew");
	n.XMLDocument.loadXML(wsXML);
	UpdateTicker(n, MarketN);
	return (0);
}

function MarketSelected(SelectedItem)
{
	document.getElementById("tdDFM").className = "TickerButtonUnSelected";
	document.getElementById("tdADSM").className = "TickerButtonUnSelected";
	document.getElementById("tdDIFX").className = "TickerButtonUnSelected";
	MarketN = SelectedItem.id.replace('td', '');
	SelectedItem.className = "TickerButtonSelected";
	
	var myData = document.getElementById('dsTickerNew');
	UpdateTicker(myData, MarketN);
}
function GetXML(url){
	xmlMarketData=GetXmlHttpObject();
	if (xmlMarketData==null){
			return;
	}
		xmlMarketData.onreadystatechange=function(){onResult();};
		xmlMarketData.open("GET", url, true);
		xmlMarketData.send(null);
		return 0;
}

