var objhttpDolCrossing;
var dolCrossingInterval = "";
var dolCrossingLoadingGifTimeout = "";
var dolCrossingUpdatePeriod = 30000;

if (window.XMLHttpRequest) { // Mozilla, Safari, ...
	objhttpDolCrossing = new XMLHttpRequest();
    if (objhttpDolCrossing.overrideMimeType) 
    	objhttpDolCrossing.overrideMimeType('text/xml');
} 
else if (window.ActiveXObject) 
{ // IE
	try {
    	objhttpDolCrossing = new ActiveXObject("Msxml2.XMLHTTP");
    } 
	catch (e) 
	{
	    try {
    	    objhttpDolCrossing = new ActiveXObject("Microsoft.XMLHTTP");
        } 
		catch (e) {}
    }
 }	
	
//update dollar crossing table according data from db
function updateDolCrossingTable()
{	
	try{	
		
		if ((objhttpDolCrossing.readyState==4) && (objhttpDolCrossing.status == 200))
		{			
			
			var respText = objhttpDolCrossing.responseText;//get response text	
			if(respText !="")//if there is response text
			{		
				// respText is written in json
				var ar = eval('(' + respText + ')');
				//ar.securities is array of data
				checkTradeStage(ar.tradeStage,ar);
			}				
		}
	}catch(e){
	}					
}

function checkTradeStage(t,a)
{
	if (t[0].isTrade == "Y")
		updateDolCrossingTableCells(a.dolCross); 	
}

function updateDolCrossingTableCells(tableData)
{
	var x;
	var row = 1;
	var tableToUpdate = document.getElementById("dolCrossingTable");
	var rows = tableToUpdate.rows;
	
	//show reload gif
	changeLoadingGifStatusDolCrossing(true);
	//stop reload gif after 1.5 second
	dolCrossingLoadingGifTimeout = window.setTimeout("changeLoadingGifStatusDolCrossing(false)",1500);
	
	//update cells content of the current table
	for(var i = 0; i<tableData.length ; i++)
	{
		for (var j = 0 ; j<secCodes.length; j++)
		{
			if (secCodes[j] == tableData[i].secCode)
			{
				row = j + 1 ;
				break;
			}
		}
		
		
		if (rows[row].cells[1].innerHTML != tableData[i].bid)
		{
			changeObjBackroundColorManager(document.getElementById(row+"1"));
			rows[row].cells[1].innerHTML = tableData[i].bid ;
		}
		
		if (rows[row].cells[2].innerHTML != tableData[i].ask)
		{
			changeObjBackroundColorManager(document.getElementById(row+"2"));
			rows[row].cells[2].innerHTML = tableData[i].ask ;
		}
		
		if (rows[row].cells[3].innerHTML != tableData[i].last)
		{
			changeObjBackroundColorManager(document.getElementById(row+"3"));
			rows[row].cells[3].innerHTML = tableData[i].last ;
		}
		
		x=rows[row].cells[4].getElementsByTagName('font');
		
		if (!(x[0].innerHTML=='0.00' && FixFormat(tableData[i].pctChange,2)=='-') &&  x[0].innerHTML != FixFormat(tableData[i].pctChange,2))
		{
			changeObjBackroundColorManager(document.getElementById(row+"4"));
			rows[row].cells[4].innerHTML = FDiffColor(tableData[i].pctChange,2,0) ;
		}
	}
	
	document.getElementById("dolCrossingDate").innerHTML = tableData[0].date ;
	document.getElementById("dolCrossingTime").innerHTML = tableData[0].time ;
	
}

function changeLoadingGifStatusDolCrossing(status)
{
	if(status)
	{
		document.getElementById("loadingGifDolCrossing").style.display = "inline";
		document.getElementById("replaceLoadingGifDolCrossing").style.display = "none";
	}
	else
	{
		document.getElementById("loadingGifDolCrossing").style.display = "none";
		document.getElementById("replaceLoadingGifDolCrossing").style.display = "inline";
	}
}
/*
gets update from db
*/
function dolCrossingUpdateFromDB()
{
	var parameters = "";
	try{	
		objhttpDolCrossing.open ("GET", "/f/ajax/dolCrossing/getUpdates.jhtml", true);
		objhttpDolCrossing.onreadystatechange=updateDolCrossingTable;				
		objhttpDolCrossing.setRequestHeader ("Content-Type", "application/x-www-form-urlencoded;");				
		objhttpDolCrossing.send(parameters);			
	}catch(e){}					
}

function startDolCrossingUpdateInterval()
{
	dolCrossingInterval = window.setInterval('dolCrossingUpdateFromDB()', dolCrossingUpdatePeriod);
}

function stopCycleCommerceUpdateInterval()
{
	changeLoadingGifStatusDolCrossing(false);
	window.clearTimeout(cycleCommerceLoadingGifTimeout);
	cycleCommerceLoadingGifTimeout="";
	window.clearInterval(cycleCommerceInterval);
	cycleCommerceInterval="";
}