// Settings for top  ticker
var tcMyTickrSyms=new Array("CL","ZC","GC", "E6", "DX", "ES", "YM", "ZN", "NG"); // Symbols listed here will be shown.
var tcRefDelay=3000;   // Delay in MS
var tcMaxRefresh=100;  // Max num of times to refresh
var tcUpdateDiv="lastprice_ticker";  // Div name to update
var tcRefCtr=0;       // Refresh counter
var tcRefTimerRunning=false; // Flag to indicate whether the refresh timer is currently set.
var tcRefTimerAction="createRequest(tcMyTickrSyms)"; // Action for timer to do

function TCSetTimer() {
  if(tcRefCtr<=tcMaxRefresh){
    tcRefTimerRunning=true;
    setTimeout(tcRefTimerAction, tcRefDelay); //
  } else {
    tcRefTimerRunning=false;
  }
  tcRefCtr++;
}
function TCResetCounter() {
  tcRefCtr=0;
  if(! tcRefTimerRunning){
   setTimeout(tcRefTimerAction, tcRefDelay);
  }
}

var last_response_array = new Array();

function createRequest(tickrSyms) {
   var http_request;
   var symbolString='';

   for (var i = 0; i < tickrSyms.length; i++){
     symbolString=symbolString+tickrSyms[i];
     if(i !=(tickrSyms.length-1)){
      symbolString=symbolString+'-';
     }
   }

   if (window.XMLHttpRequest) { // Mozilla, Safari, ...
            http_request = new XMLHttpRequest();
            if (http_request.overrideMimeType) {
                http_request.overrideMimeType('text/plain');
            }
   } else if (window.ActiveXObject) { // IE
            try {
                http_request = new ActiveXObject("Msxml2.XMLHTTP");
   } catch (e) {
                try {
                    http_request = new ActiveXObject("Microsoft.XMLHTTP");
                } catch (e) {}
            }
   return http_request;
   }
   if (!http_request) {
            return false;
   }

  http_request.onreadystatechange = function() { getQuotes(http_request, tickrSyms); };
   var posturl = '/get_ticker_data.php?'+ symbolString;
   http_request.open('POST',posturl, true);
   http_request.send(null);
}

function getQuotes(http_request, tickrSyms) {
   if (http_request.readyState == 4) {
      if (http_request.status == 200) {

        var response_array = http_request.responseText.split("|");
        var m_names = new Array("Jan.", "Feb.", "Mar.",
          "Apr.", "May", "June", "July", "Aug.", "Sept.",
          "Oct.", "Nov.", "Dec.");

        var currentTime = new Date(response_array[0]*1000);  // Set date from most recent server time
        var month = currentTime.getMonth();
        var day = currentTime.getDate();
        var year = currentTime.getFullYear();
        var hours = currentTime.getHours();
        var minutes = currentTime.getMinutes();
        if (minutes < 10){
          minutes = "0" + minutes;
        }
        if (hours < 10){
          hours = "0" + hours;
        }
         var divText = '<i>FUTURES PRICES AS OF ' + hours + ':' + minutes + ' ' + m_names[month]  + ' ' + day + ' ' + year + ':</i> &nbsp;';
         for (var i = 1; i < response_array.length; i++){
           symbol_price_array=response_array[i].split(':');
           if((tickrSyms[i-1]=="NG")||(tickrSyms[i-1]=="GC")||(tickrSyms[i-1]=="CL")){  // Add _ in dupe syms
             var linkString = symbol_price_array[0].substr(0,2) + "_" + symbol_price_array[0].substr(2,2);
           } else {
             var linkString = symbol_price_array[0];
           }
           if(last_response_array[i]){
            last_symbol_price_array=last_response_array[i].split(':');
           }
           if(symbol_price_array[1] > 0){
              if(last_response_array[i]) {
                if(symbol_price_array[2] != last_symbol_price_array[2]){
                  divText=divText + ' <b><a href="/intraday/' + linkString + '">' + symbol_price_array[0] + '</a></b>';
                } else {
                  divText=divText + ' <a href="/intraday/' + linkString + '">' + symbol_price_array[0] + '</a>';
                }
              }else {
                  divText=divText + ' <a href="/intraday/' + linkString + '">' + symbol_price_array[0] + '</a>';
              }
              divText=divText +' <span class="fe_price_up">' + symbol_price_array[2] +"</span> ";
           } else{
              if(last_response_array[i]) {
                if(symbol_price_array[2] != last_symbol_price_array[2]){
                  divText=divText + ' <b><a href="/intraday/' + linkString + '">' + symbol_price_array[0] + '</a></b>';
                } else {
                  divText=divText + ' <a href="/intraday/' + linkString + '">' + symbol_price_array[0] + '</a>';
                }
              }else {
                  divText=divText + ' <a href="/intraday/' + linkString + '">' + symbol_price_array[0] + '</a>';
              }
              divText=divText +' <span class="fe_price_down">' + symbol_price_array[2] +"</span> ";
           }
         }

         document.getElementById(tcUpdateDiv).innerHTML = divText;
         last_response_array = response_array;
         TCSetTimer(); // Reset timer
      }
   }
}
