//reflection classes
//Author: Allan Betschart
////////////////////////////////////JS Reflection classes///////////////////////////
function SLAL()
{
  this.actions=new actions();
}
function actions()
{ 
  this.setLang=function(node)
  {
    readLangFile(node,false);  //set language HASH
    readLangFile(node,true);   //set tooltip Language HASH
    changeLang(currLang);      //Update GUI
    //popDialog('titleUpdate','textUpdate','ok');
    getExch();
  };
  this.expired=function(node)
  {
    popDialog('titleError','textError2','ok');
  };
  this.guiLoaded=function(node){};     //Reverse call empty, not needed.
  this.getExch=function(node)
  {
    var hash={};
    var val=node.firstChild.nodeValue;
    var arr=val.split("|");
    for (var i=0; i < arr.length; i++)
      {hash[arr[i]]="";}
    new AutoComplete(hash,doc.getElementById('exch'),1);
    killDialog();
    guiLoaded();
  };
  this.getHist=function(node)
  {
    killDialog();
    //doc.getElementById('Bhist').value="Refresh Historical Rates";
    //doc.getElementById('titleHist').innerHTML="History for Symbol "+doc.getElementById('resSym').innerHTML+
    //                                          " Exchange "+doc.getElementById('resExch').innerHTML;
    var hist = node.getElementsByTagName('hist');
    //doc.getElementById('history').style.display="block";
    var tab=doc.getElementById('history');
    while(tab.rows.length > 1)
      {tab.deleteRow(1);}
    if (hist.length == 0)
    {
      var tr=tab.insertRow(1);
      var td=tr.insertCell(0);
      td.colSpan="5";
      td.innerHTML="No history available!";
    }
    else
    {
    for (var i=0; i < hist.length; i++)
    {
      var val=hist[i].firstChild.nodeValue;
      var arr=val.split("|");
      var tr=tab.insertRow(i+1);
      var td=tr.insertCell(0);
      td.className="mHist";
      td.innerHTML=arr[1];
      if (arr[8] == "TRUE")
        {arr[8]="Yes";}
      else
        {arr[8]="No";}
      td=tr.insertCell(1);
      td.className="mHist";
      td.innerHTML=arr[8];
      var rate="-";
      if ((arr[4] != "-")&&(arr[5] != "-"))
        {rate=((parseFloat(arr[4])+parseFloat(arr[5]))/2).toFixed(2);}
      td=tr.insertCell(2);
      td.className="mHist";
      td.innerHTML=rate;
      td=tr.insertCell(3);
      td.className="mHist";
      td.innerHTML=arr[4];
      td=tr.insertCell(4);
      td.className="mHist";
      td.innerHTML=arr[5];
    }
    }
  };
  this.getInfo=function(node)
  {
    var val=node.firstChild.nodeValue;
    var arr=val.split("|");
    doc.getElementById('resSym').innerHTML=arr[3];
    doc.getElementById('resExch').innerHTML=arr[4];
    doc.getElementById('resName').innerHTML=arr[1];
    doc.getElementById('resCtry').innerHTML=arr[5];
    //doc.getElementById('resCon').innerHTML=arr[0];
    doc.getElementById('resCon').value=arr[0];
    doc.getElementById('resIsin').innerHTML=arr[2];
    doc.getElementById('resAvail').innerHTML=arr[6] + (arr[6] != "NA" ? " shares" : "");
    doc.getElementById('resInd').innerHTML=arr[7];
    //doc.getElementById('resHigh').innerHTML=arr[8];
    //doc.getElementById('resLow').innerHTML=arr[9];
    doc.getElementById('resCusip').innerHTML=arr[10];
    //doc.getElementById('Bhist').value="Get Historical Rates";
    var tab=doc.getElementById('history');
    while(tab.rows.length > 1)
      {tab.deleteRow(1);}
    doc.getElementById('res').style.display="block";
    doc.getElementById('sym').value="";
    doc.getElementById('isin').value="";
    doc.getElementById('exch').value="";
    doc.getElementById('cusip').value="";
    killDialog();
  };
  this.getConInfo=function(node)
  {
    var val=node.firstChild.nodeValue;
    var arr=val.split("|");
    slbTxt.innerHTML="Symbol: "+arr[2]+"<br/>Availability: "+arr[0]+"<br/>Exchanges: "+arr[1]+"<br/><center>"+
                     "<input type='button' value='Ok' onclick=\"slbDiv.style.display='none'\" "+
                     "style=\"width:42px;height:20px;background:url('http://www.interactivebrokers.com/webtms/ibslb/images/buttonUp.gif');\"/></center>";
  };
  this.outOfLuck=function(node)
  {
    slbTxt.innerHTML="Sorry, you have exceeded the number of inquires for today.<br><center>"+
                     "<input type='button' value='Ok' onclick=\"slbDiv.style.display='none'\" "+
                     "style=\"width:42px;height:20px;background:url('http://www.interactivebrokers.com/webtms/ibslb/images/buttonUp.gif');\"/></center>";
  };
}
////////////////////////////////////JS Reflection classes///////////////////////////


