/******************************************************************************************
* COUNTERS
******************************************************************************************/
function getParameters(parameters)
{
 // Split arguments into pair values
 var myArray = new Array();
 var parameters = parameters.split('&');
 for (var i in parameters) 
 {
  parameter = parameters[i].split('='); // sell=xxx
  myArray[parameter[0]] = parameter[1]; 
 }
 return myArray;
}

function fetchPricefeed()
{
 var ajaxObj = new Ajax();
 var feeddata;
 var url = "pricefeeddata.php";	
	var parameters = new Array();
		
 ajaxObj.onreadystatechange = function()
 {
  if (ajaxObj.readyState==4 && ajaxObj.status==200)
  {
   feeddata = innerHTML = ajaxObj.responseText;
   updatePrices(feeddata);
  }
 }

 if (feedkey)	{  parameters.push("feedkey=" + feedkey);	}
	parameters.push("nocache=" + Math.random());
	if (parameters)
	{
		url += '?' + parameters.join('&');
	}
 ajaxObj.open("GET",url,true); 
 ajaxObj.send(null);
}

function showRotation()
{
	getObj('pricefeedpanel').innerHTML = "<div style='font: 8pt Arial; padding: 30px; text-align: center;'><b>Price feed has expired.</b><br><br>Please refresh the browser window to obtain live feed prices.</div>";
}

function updatePrices(feeddata)
{
	// code for IE
	var matches;
	var regexp = /feedkey=(.*)/;
	
	if (!feeddata) { return; }
 if (feeddata.match(regexp))
	{
		pricefeedtimeout++;
  if (pricefeedtimeout > 1)
		{
			showRotation();
			clearInterval(pricefeedtimer);
			return;
		}
  var matches = regexp.exec(feeddata);
		feedkey = matches[1];
		fetchPricefeed();
		return;
	}
	else
	{
		timeout = 0;
	}

	if (window.ActiveXObject)
	{
		var doc=new ActiveXObject("Microsoft.XMLDOM");
		doc.async="false";
		doc.loadXML(feeddata);
	}
	// code for Mozilla, Firefox, Opera, etc.
	else
	{
		var parser=new DOMParser();
		var doc=parser.parseFromString(feeddata,"text/xml");
	}
	var xmlObj=doc.documentElement;
	
 var counters = xmlObj.getElementsByTagName('counter');
 
	for (var i=0; i<counters.length; i++)
	{
		var counterid = counters[i].getAttribute('counterid');
		var	duration = 2000;			

		for (var j=0; j<counters[i].childNodes.length; j++)
		{
			var item = counters[i].childNodes[j];
			if (getObj(item.nodeName + '[' + counterid + ']'))
			{
				var target = getObj(item.nodeName + '[' + counterid + ']');
				var itemvalue = item.childNodes[0].nodeValue;
				target.className = 'price';
				if (target.getAttribute('arrow')=='yes')
				{
					if (target.innerHTML != itemvalue && target.innerHTML != 'loading..')
					{
					 target.className = itemvalue > target.innerHTML ? 'priceUp' : 'priceDown';
					}
				}
				target.innerHTML = itemvalue;
    //setTimeout("getObj('"+target.id+"').className = 'price';",duration);
   }
		}
	}
	
	// Update Total Users
	var totalusers = xmlObj.getElementsByTagName('totalusers');
	if (getObj('totalusers'))
	{
	 getObj('totalusers').innerHTML = totalusers[0].childNodes[0].nodeValue;
	}
}

/******************************************************************************************
* START
******************************************************************************************/
function startPricefeed()
{
	pricefeedtimer = setInterval('fetchPricefeed()',2000);
}

var feedkey;
var pricefeedtimer;
var pricefeedtimeout = 0;
