//-----------------------------------------
//-----------------------------------------
/*
   set canadian exchange rate
   and the pause time here
*/
//-----------------------------------------
//-----------------------------------------

  var canadian_exchange = 0.9862;

  

  var amount_of_pause = 10;  //seconds
  var amount_of_pause_stocks = 10;  //seconds
  var colorize_change = true; //should change value have a color?
//-----------------------------------------
//-----------------------------------------



//-----------------------------------------
// dont edit below here...
//-----------------------------------------
    
    window.onload=function(){get_exchange();get_status();get_stocks();}

          var fields = new Array();
           fields[1] = 'bid';
           fields[2] = 'ask';
           fields[3] = 'change';
           fields[4] = 'change_p';
           fields[5] = 'low';
           fields[6] = 'high';

         var metal_data = new Array();
           metal_data[2] = 'gold';
           metal_data[3] = 'silver';
           metal_data[4] = 'platinum';
           metal_data[5] = 'palladium';

           metal_data[6] = 'asia_gold';
           metal_data[7] = 'asia_silver';
           metal_data[8] = 'asia_platinum';
           metal_data[9] = 'asia_palladium';


function toggle_loading(v)
{
  if (v)
  {

   	var f = $$('.loading');
	for(var i=0; i<f.length; i++){
		f[i].style.display = 'block';;
	}

  } else {

   	var f = $$('.loading');
	for(var i=0; i<f.length; i++){
		f[i].style.display = 'none';;
	}
  }
}
function get_exchange()
{
               toggle_loading(1);

		var url = '/ticker/exchange.txt';
		var pars = 'r='+ Math.random();

		var myAjax = new Ajax.Request(
			url,
			{
				method: 'GET',
				parameters: pars,
				onComplete: setExchange
			});

   setTimeout('get_exchange()',amount_of_pause*1000);
}
function get_status()
{
               toggle_loading(1);

		var url = '/ticker/quotes_cache.txt';
		var pars = 'r='+ Math.random();

		var myAjax = new Ajax.Request(
			url,
			{
				method: 'GET',
				parameters: pars,
				onComplete: setQuotes
			});

   setTimeout('get_status()',amount_of_pause*1000);
}
function get_stocks()
{
               toggle_loading(1);

		var url = '/ticker/stock_cache.txt';
		var pars = 'r='+ Math.random();

		var myAjax = new Ajax.Request(
			url,
			{
				method: 'GET',
				parameters: pars,
				onComplete: setStocks
			});

   setTimeout('get_stocks()',amount_of_pause_stocks*1000);
}

function setExchange(req)
{
  var exchange_rate = req.responseText;

  if (exchange_rate == parseFloat(exchange_rate))
  {
   canadian_exchange = exchange_rate;
  }
}

function setStocks(req)
{
 var data = eval('(' + req.responseText + ')');

 var data_cols = new Array('label','symbol','price','trade_date','trade_time','change');

 for (var i=0;i<data.stocks.length;i++)
 {
    tmp_label = data.stocks[i].stock['label'];

   for (var j=0;j<data_cols.length;j++)
   {
       var tmp_id = tmp_label+'_'+data_cols[j];

     if ($(tmp_id))
     {
       $tmp_value =  data.stocks[i].stock[data_cols[j]];

       if (parseFloat($tmp_value) > 0 && data_cols[j] == 'change' && colorize_change)
       {
         $tmp_value = '<span style="color:green;">' + $tmp_value + '</span>';
       
       } else if (parseFloat($tmp_value) == 0 && data_cols[j] == 'change' && colorize_change) {

         $tmp_value = '<span style="color:#000;">' + $tmp_value + '</span>';

       } else if (data_cols[j] == 'change' && colorize_change) {

         $tmp_value = '<span style="color:red;">' + $tmp_value + '</span>';
       }
       $(tmp_id).innerHTML = $tmp_value;
     }
   }
 } //end stocks loop

}

function setQuotes(req)
{

        //show loading image for .5 sec
        setTimeout('toggle_loading(0)',500);

	var data = eval('(' + req.responseText + ')');

        var data_str = '';


           for (i=2;i<10;i++)
           {

            for (j=1;j<7;j++)
            {

             if ($(metal_data[i]+'_price_'+fields[j]))
             {
              $(metal_data[i]+'_price_'+fields[j]).innerHTML = data[i][j];
             }

             if ($(metal_data[i]+'_price_'+fields[j]+'_cad'))
             {
              $(metal_data[i]+'_price_'+fields[j]+'_cad').innerHTML = (parseFloat(data[i][j]) * canadian_exchange).toFixed(2);
             }
             

            } // end field loop

           } // end metal loop


  return true;
}

