var loadstatustext="<img src='images/loading.gif' /> Downloading chart..."
var timerID_indices;
var system_time;

function AutoFlipIt(myvar,servlet_url,colorset,lastClose,prevClose,percentChange,priceChange,high,low,new52whigh,new52wlow)
{
  var autoload_chk = document.getElementById("autoload_chk_on");
  if(autoload_chk.checked){
    var symboln = myvar;
    if(symbolName != symboln){
      removeEvent(document.getElementById("ChartImage"),'load',function() { LoadPic_ff(myvar,servlet_url,colorset,lastClose,prevClose,percentChange,priceChange,high,low,new52whigh,new52wlow);});
      if(timerID_indices){
        clearInterval(timerID_indices);
      }
      document.frm3.ChartImage.src =servlet_url+"?Templates=homeparam&indexSymbol="+symboln+"&color="+colorset;
    	
      document.getElementById("chartdiv").style.display = "none";
      document.getElementById("ChartImage").style.display = "none";
      document.getElementById("chartcomment").innerHTML = loadstatustext;
      addEvent(document.getElementById("ChartImage"),'load',function() { LoadPic_ff(myvar,servlet_url,colorset,lastClose,prevClose,percentChange,priceChange,high,low,new52whigh,new52wlow);});
      /*
	  if(typeof document.readyState != 'undefined'){	
	    timerID_indices = setInterval(function() { LoadPic(myvar,servlet_url,colorset,lastClose,prevClose,percentChange,priceChange,high,low,new52whigh,new52wlow); }, 50);
	  }
      else{
	    //LoadPic_ff(myvar,servlet_url,colorset,lastClose,prevClose,percentChange,priceChange,high,low,new52whigh,new52wlow);
      	//document.getElementById("ChartImage").addEventListener("DOMContentLoaded",function() { LoadPic_ff(myvar,servlet_url,colorset,lastClose,prevClose,percentChange,priceChange,high,low,new52whigh,new52wlow);},false);
      	addEvent(document.getElementById("ChartImage"),'load',function() { LoadPic_ff(myvar,servlet_url,colorset,lastClose,prevClose,percentChange,priceChange,high,low,new52whigh,new52wlow);});
      }
      */
    }
  }
}
function FlipIt(myvar,servlet_url,colorset,lastClose,prevClose,percentChange,priceChange,high,low,new52whigh,new52wlow)
{
  removeEvent(document.getElementById("ChartImage"),'load',function() { LoadPic_ff(myvar,servlet_url,colorset,lastClose,prevClose,percentChange,priceChange,high,low,new52whigh,new52wlow);});
  if(timerID_indices){
    clearInterval(timerID_indices);
  }
  var symboln = myvar;
  document.frm3.ChartImage.src =servlet_url+"?Templates=homeparam&indexSymbol="+symboln+"&color="+colorset;
  document.getElementById("chartdiv").style.display = "none";
  document.getElementById("ChartImage").style.display = "none";
  document.getElementById("chartcomment").innerHTML = loadstatustext;
  addEvent(document.getElementById("ChartImage"),'load',function() { LoadPic_ff(myvar,servlet_url,colorset,lastClose,prevClose,percentChange,priceChange,high,low,new52whigh,new52wlow);});
  /*
  if(typeof document.readyState != 'undefined'){	
  	timerID_indices = setInterval(function() { LoadPic(myvar,servlet_url,colorset,lastClose,prevClose,percentChange,priceChange,high,low,new52whigh,new52wlow); }, 1000);
  }
  else{
   	addEvent(document.getElementById("ChartImage"),'load',function() { LoadPic_ff(myvar,servlet_url,colorset,lastClose,prevClose,percentChange,priceChange,high,low,new52whigh,new52wlow);});
  }
  */
}
function drawForFlipIt(myvar,servlet_url,colorset,lastClose,prevClose,percentChange,priceChange,high,low,new52whigh,new52wlow){
  document.getElementById("ChartImage").style.display = "";
  document.getElementById("timeSpan").innerHTML = (system_time == undefined)? document.getElementById("marketstatus_timespan").innerHTML: system_time;
  document.getElementById("lastClose").innerHTML = lastClose;
  document.getElementById("percentChange").innerHTML = percentChange;
  document.getElementById("priceChange").innerHTML = priceChange;
  document.getElementById("prevClose").innerHTML = prevClose;
  document.getElementById("high").innerHTML = high;
  document.getElementById("low").innerHTML = low;
  document.getElementById("new52wHigh").innerHTML = new52whigh;
  document.getElementById("new52wLow").innerHTML = new52wlow;
  var tmpPriceChange = priceChange;
  if(tmpPriceChange.replace(/,/g, "") > 0){
    document.getElementById("arrow").innerHTML = "<img src='./images/indicies/up.gif'>";
    document.getElementById("percentChange").style.color = "#519c59";
    document.getElementById("priceChange").style.color = "#519c59";
  }
  else if(tmpPriceChange.replace(/,/g, "") < 0){
    document.getElementById("arrow").innerHTML = "<img src='./images/indicies/down.gif'>";
    document.getElementById("percentChange").style.color = "#a0575c";
    document.getElementById("priceChange").style.color = "#a0575c";
  }
  else{
    document.getElementById("arrow").innerHTML = "=";
    document.getElementById("percentChange").style.color = "#a0575c";
    document.getElementById("priceChange").style.color = "#a0575c";
  }
  document.getElementById("chartdiv").style.display = "";
  document.getElementById("chartcomment").innerHTML = "<b>Click chart for view detail.</b>";

  document.frm3.ChartImage.onError = function errorProc(){
    document.getElementById("chartdiv").style.display = "none";
    document.getElementById("chartcomment").innerHTML = "";
  }
  document.frm3.ChartImage.style.cursor = "hand";
  changeLinkUrl(myvar);
}
function LoadPic(myvar,servlet_url,colorset,lastClose,prevClose,percentChange,priceChange,high,low,new52whigh,new52wlow){
  if (document.getElementById("ChartImage").readyState == "complete"){
    clearInterval(timerID_indices);
    drawForFlipIt(myvar,servlet_url,colorset,lastClose,prevClose,percentChange,priceChange,high,low,new52whigh,new52wlow);
  }
}
function LoadPic_ff(myvar,servlet_url,colorset,lastClose,prevClose,percentChange,priceChange,high,low,new52whigh,new52wlow){
  drawForFlipIt(myvar,servlet_url,colorset,lastClose,prevClose,percentChange,priceChange,high,low,new52whigh,new52wlow);
}

function changeLinkUrl(symboln){
  symbolName = symboln;
}
function changePopupSymbol(obj,symbol){
 symbolNameForPopup = symbol;
 if(!myLightbox){ 
 	// 
 }
 else{
 	myLightbox.start(obj);  
 }
}
function GoToCharting(){
  location.href = linkUrl+symbolName;
}
function GoToChartingForPopup(){ 
  location.href = linkUrl+symbolNameForPopup;
}
///////////////////////////////////////////////////////////////////////////////////////////////////////////////
function showDescription(event,index1,index2){
  var Arr = getArray();
  var description = Arr[index1][index2][2];
  if(description.trim() != ''){
    if (document.all){
    document.getElementById("descriptionDiv").innerHTML = description;
    document.getElementById("descriptionDiv").style.pixelLeft = document.body.scrollLeft + event.clientX + 10;
    document.getElementById("descriptionDiv").style.pixelTop = document.body.scrollTop + event.clientY - 180 + 10;
    document.getElementById("descriptionDiv").style.visibility = "visible";
    }
    else{
    document.getElementById("descriptionDiv").innerHTML = description;
    document.getElementById("descriptionDiv").style.left = self.pageXOffset + event.pageX + 10;
    document.getElementById("descriptionDiv").style.top = self.pageYOffset + event.pageY - 180 + 10;
    document.getElementById("descriptionDiv").style.visibility = "visible";
    }
  }
}
function hideDescription(){
  if (document.all){
    document.getElementById("descriptionDiv").style.visibility = "hidden";
  }
  else{
    document.getElementById("descriptionDiv").style.visibility = "hidden";
  }
}
String.prototype.comma=function(){
  var code = this.charAt(0);
  if(code=='-'){
    tmp = (this.substr(1,this.length)).split('.');
  }
  else{
    code = '';
    tmp=this.split('.');
  }
  var str=new Array();
  var v=tmp[0].replace(/,/gi,''); //change comma to space
  for(var i=0;i<=v.length;i++){ //loop while length of string
   str[str.length]=v.charAt(v.length-i);
   if(i%3==0&&i!=0&&i!=v.length){ //comma cann't be in first or end.
    str[str.length]='.'; //comma by every 3 characters
   }
  }
  str=code + str.reverse().join('').replace(/\./gi,',');
  return (tmp.length==2)?str+'.'+tmp[1]:str;
}
