var globalQuotesOn=1;var globalNumQuotes=12;var globalAjaxObject;var globalQuotesStartTime=0;var globalNumAjaxRequests=0;globalPrevBids=Array(globalNumQuotes);globalPrevAsks=Array(globalNumQuotes);function safeSetDisplay(C,A){var B=document.getElementById(C);if(B){B.style.display=A}}function hide(A){safeSetDisplay(A,"none")}function unhideInline(A){safeSetDisplay(A,"inline")}function changeElementText(C,B){var A=document.getElementById(C);if(A){A.innerHTML=B}}function setQuotes(A){if(A==1){globalQuotesOn=1;globalQuotesStartTime=new Date().getTime();ajaxRequestForexPrices();hide("quotes-on");unhideInline("quotes-off")}else{if(A==-1){globalQuotesOn=0;changeElementText("quotes-status",'Time has expired. Please <a href="/forex/quotes.php">reload</a> the page.');hide("quotes-on");hide("quotes-off")}else{if(A==-2){globalQuotesOn=0;changeElementText("quotes-status","Streaming quotes failed. Please try again later.");unhideInline("quotes-on");hide("quotes-off")}else{globalQuotesOn=0;changeElementText("quotes-status","Off");
unhideInline("quotes-on");hide("quotes-off")}}}}function ajaxRequestForexPrices(){if(!globalQuotesOn){return }globalAjaxObject=new sack();var A="http://www.howthemarketworks.com/includes/Trading/ajax_forex-quotes.php";globalAjaxObject.requestFile=A;globalAjaxObject.method="GET";globalAjaxObject.onCompletion=ajaxOnReceiveForexPrices;globalNumAjaxRequests++;globalAjaxObject.runAJAX()}function ajaxOnReceiveForexPrices(){if(!globalQuotesOn){return }var M=globalAjaxObject.response;var N="";var A="?";var K=M.length;var O,I,J="";for(var G=0;G<K;G++){O=M.charCodeAt(G);if(O==66){I=66}else{I=32+(126-O)}N+=String.fromCharCode(I)}var B=N.split(";");var H=B.length-2;if(H!=globalNumQuotes){setQuotes(-2);return }var L,F,D,C;for(var G=0;G<(H+1);G++){if(G==0){A=B[G]}L=B[G].split("|");F=L[0];D=L[1];C=L[2];quoteTime=L[3];if(F.length==6){updatePriceBox(F,D,C,quoteTime,G)}}if(A.length>1){changeElementText("quotes-status","Last update: "+A+" E.T.")}var E=(new Date().getTime())-globalQuotesStartTime;if(E>120000){setQuotes(-1)
}else{setTimeout("ajaxRequestForexPrices()",5000)}}function updatePriceBox(E,D,F,J,C){var H=D.slice(0,D.length-2);var I=D.slice(D.length-2);var A=F.slice(0,F.length-2);var G=F.slice(F.length-2);var B="004182";var K="004182";if(D>globalPrevBids[C]){B="009000"}else{if(D<globalPrevBids[C]){B="aa0000"}}if(F>globalPrevAsks[C]){K="009000"}else{if(F<globalPrevAsks[C]){K="aa0000"}}globalPrevBids[C]=D;globalPrevAsks[C]=F;changeElementText(E+"-prices",'<span style="color:#'+B+'">'+H+"<strong>"+I+'</strong></span> &nbsp;<span style="color:#'+K+'">'+A+"<strong>"+G+"</strong></span>");changeElementText(E+"-time",J+" E.T.")}function sack(file){this.xmlhttp=null;this.resetData=function(){this.method="POST";this.queryStringSeparator="?";this.argumentSeparator="&";this.URLString="";this.encodeURIString=true;this.execute=false;this.element=null;this.elementObj=null;this.requestFile=file;this.vars=new Object();this.responseStatus=new Array(2)};this.resetFunctions=function(){this.onLoading=function(){};this.onLoaded=function(){};
this.onInteractive=function(){};this.onCompletion=function(){};this.onError=function(){};this.onFail=function(){}};this.reset=function(){this.resetFunctions();this.resetData()};this.createAJAX=function(){try{this.xmlhttp=new ActiveXObject("Msxml2.XMLHTTP")}catch(e1){try{this.xmlhttp=new ActiveXObject("Microsoft.XMLHTTP")}catch(e2){this.xmlhttp=null}}if(!this.xmlhttp){if(typeof XMLHttpRequest!="undefined"){this.xmlhttp=new XMLHttpRequest()}else{this.failed=true}}};this.setVar=function(name,value){this.vars[name]=Array(value,false)};this.encVar=function(name,value,returnvars){if(true==returnvars){return Array(encodeURIComponent(name),encodeURIComponent(value))}else{this.vars[encodeURIComponent(name)]=Array(encodeURIComponent(value),true)}};this.processURLString=function(string,encode){encoded=encodeURIComponent(this.argumentSeparator);regexp=new RegExp(this.argumentSeparator+"|"+encoded);varArray=string.split(regexp);for(i=0;i<varArray.length;i++){urlVars=varArray[i].split("=");if(true==encode){this.encVar(urlVars[0],urlVars[1])
}else{this.setVar(urlVars[0],urlVars[1])}}};this.createURLString=function(urlstring){if(this.encodeURIString&&this.URLString.length){this.processURLString(this.URLString,true)}if(urlstring){if(this.URLString.length){this.URLString+=this.argumentSeparator+urlstring}else{this.URLString=urlstring}}this.setVar("rndval",new Date().getTime());urlstringtemp=new Array();for(key in this.vars){if(false==this.vars[key][1]&&true==this.encodeURIString){encoded=this.encVar(key,this.vars[key][0],true);delete this.vars[key];this.vars[encoded[0]]=Array(encoded[1],true);key=encoded[0]}urlstringtemp[urlstringtemp.length]=key+"="+this.vars[key][0]}if(urlstring){this.URLString+=this.argumentSeparator+urlstringtemp.join(this.argumentSeparator)}else{this.URLString+=urlstringtemp.join(this.argumentSeparator)}};this.runResponse=function(){eval(this.response)};this.runAJAX=function(urlstring){if(this.failed){this.onFail()}else{this.createURLString(urlstring);if(this.element){this.elementObj=document.getElementById(this.element)
}if(this.xmlhttp){var self=this;if(this.method=="GET"){totalurlstring=this.requestFile+this.queryStringSeparator+this.URLString;this.xmlhttp.open(this.method,totalurlstring,true)}else{this.xmlhttp.open(this.method,this.requestFile,true);try{this.xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded")}catch(e){}}this.xmlhttp.onreadystatechange=function(){switch(self.xmlhttp.readyState){case 1:self.onLoading();break;case 2:self.onLoaded();break;case 3:self.onInteractive();break;case 4:self.response=self.xmlhttp.responseText;self.responseXML=self.xmlhttp.responseXML;self.responseStatus[0]=self.xmlhttp.status;self.responseStatus[1]=self.xmlhttp.statusText;if(self.execute){self.runResponse()}if(self.elementObj){elemNodeName=self.elementObj.nodeName;elemNodeName.toLowerCase();if(elemNodeName=="input"||elemNodeName=="select"||elemNodeName=="option"||elemNodeName=="textarea"){self.elementObj.value=self.response}else{self.elementObj.innerHTML=self.response}}if(self.responseStatus[0]=="200"){self.onCompletion()
}else{self.onError()}self.URLString="";break}};this.xmlhttp.send(this.URLString)}}};this.reset();this.createAJAX()};