/****************************************************************************************** * JAVASCRIPT GLOBALS FUNCTIONS ******************************************************************************************/ function getObj(id, framename) { if (framename && top[framename]) { myDocument = top[framename].document; } else { myDocument = document; } if (myDocument.getElementById) { myObj = myDocument.getElementById(id); } else if (myDocument.all) { myObj = myDocument.all[id]; } else if (myDocument.layers) { myObj = myDocument.layers[id]; myObj.style = myDocument.layers[id]; } return myObj; } function showAttributes(myObj) { var output; for (var key in myObj) { output += key + '=>' + myObj[key] + '\n'; } alert(output); } /****************************************************************************************** * 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 = "data.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); } if (system) { parameters.push("system=" + system); } parameters.push("nocache=" + Math.random()); if (parameters) { url += '?' + parameters.join('&'); } ajaxObj.open("GET",url,true); ajaxObj.send(null); } function showRotation() { getObj('pricefeedpanel').innerHTML = "
Price feed has expired.

Please refresh the browser window to obtain live feed prices.
"; } function updatePrices(feeddata) { // code for IE var matches; if (!feeddata) { return; } if (feeddata.match(/feedkey/)) { showRotation(); return; } 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 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; } } /****************************************************************************************** * AJAX CLASS ******************************************************************************************/ function Ajax() { var ajaxObj; try { // Firefox, Opera 8.0+, Safari ajaxObj=new XMLHttpRequest(); } catch (e) { // Internet Explorer try { ajaxObj=new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { ajaxObj=new ActiveXObject("Microsoft.XMLHTTP"); } } return ajaxObj; } /****************************************************************************************** * START ******************************************************************************************/ function startPricefeed() { pricefeedtimer = setInterval('fetchPricefeed()',2000); } var pricefeedtimer;