
                var request = false;

                var url0 = "http://www.wallstreetsystems.com/asp/fxrates.asp";
                var url = "http://www.wallstreetsystems.com/phpscripts/fxrates.php";
				var url3 = "http://nyc013.wallstreetsystems.com:8080/rate/readCache";
				var url2 = "http://10.100.73.63:8080/rate/readCache";
                var serverRequestDelay = 1000;

                var colorChangeDelay = 1000; 

 
                function sendAsyncRequest() {

                                try {

                                                if ( request != null ) {

                                                                request = createRequest();

                                                                request.open("POST", url, true);

                                                                request.onreadystatechange = updateRate;

                                                                request.send(null);

                                                }

                                } catch(e) {

                                               // alert("Server may have been restarted");

                                }

                }

                

                function createRequest() {

                  var request = null;

                  if ( window.ActiveXObject ) {

                                try          {

                                  request = new ActiveXObject("Msxml2.XMLHTTP");

                                } catch(e) {

                                   try {

                                     request = new ActiveXObject("Microsoft.XMLHTTP");

                                   } catch (e2) { 

                                      request = null;

                                   }

                                }

                  } else if ( window.XMLHttpRequest ) {

                    request = new XMLHttpRequest();

                  }

                  return request;

                }

 

                function updateRate() {
                                if ( request.readyState == 4  ) {
                                                if ( request.status == 200 ) {
                                                    updateRateFromString(request.responseText)
                                                }
                                                // Schedule next request regardless we got an error
                                                setTimeout("sendAsyncRequest()", serverRequestDelay);
                                }

                }


 function trim(strString) {
     if (strString==undefined){
         return ""
     }else{
        return String(strString).replace(/(?:(?:^|\n)\s+|\s+(?:$|\n))/g,"");
     }  
  }

              function updateRateFromString(Rates) {

                         var response = String(Rates).split("|");

                         document.getElementById("dateTime").innerHTML = response[0];

                         for ( i=1; i<response.length; i=i+3 ) {
                               var ccyPair = trim(response[i]);
                               
                               var currBidField = document.getElementById(ccyPair+"bid"); 
                               var currOfferField = document.getElementById(ccyPair+"offer"); 
                               var newBid = response[i+1];
                               var newOffer = response[i+2];
                               if ( currBidField != null ) {
                                    updateColorsIfNeeded(currBidField, newBid);
                                    currBidField.innerHTML = newBid;
                               }

                               if ( currOfferField != null ) {
                                    updateColorsIfNeeded(currOfferField, newOffer);
                                    currOfferField.innerHTML = newOffer;
                               }
                         }

                            
              }

               function updateColorsIfNeeded(rateField, newValue) {

                                if ( parseFloat(rateField.innerHTML) > parseFloat(newValue) ) {

                                                rateField.style.color="#DC143C"; // Red, down trend

                                } else if ( parseFloat(rateField.innerHTML) < parseFloat(newValue) ) {

                                                rateField.style.color="#008000"; // Green, up trend

                                } else {

                                                return;

                                }

                              //  setTimeout("restoreColors(" + rateField.id + ")", colorChangeDelay);

                }

 

                function restoreColors(rateField) {

                                //alert("restoreField called with: " + rateFieldId);

                                var rateField = document.getElementById(rateField.id);

                                rateField.style.color = "#605858";

                }


