// JavaScript Document

var lang = "it";
var stato = 0;
var TimeIndex = 0;
var SpotIndex = 0;
var StrikeIndex = 0;
var TimeIndexOld = 0;
var StrikeIndexOld = 0;
var SpotIndexOld = 0;
var dati = null;
var cursor = "hidden";

// mostra-nascondi box simulazione + cambio scritta
function toggle2(targetId){
  if (document.getElementById) {
    target = document.getElementById(targetId);
    txtVal = document.getElementById('switchView');
      if (target.style.display == "none") {
        target.style.display = "";
        txtVal.innerHTML = "<img src='/tlab2/img/it_IT/gallery/tasto_chiudi.gif'/>";
        cursor = "visible";
        mySlider4.placeSlider();
        mySlider5.placeSlider();
        mySlider6.placeSlider();
      }
      else {
        target.style.display = "none";
        txtVal.innerHTML = "<img src='/tlab2/img/it_IT/gallery/tasto_apri.gif'/>";
        cursor = "hidden";
        mySlider4.placeSlider();
        mySlider5.placeSlider();
        mySlider6.placeSlider();
      }
  }
}

// arrotonda a 2 decimali l'output
function arrotondaPercentuale(/*String*/ num){
      //alert("1 - " + num);
      var n = parseFloat(num);
      n = (Math.round(n*10000)/10000)*100;
      //alert("2 - " + n);
      var tmp =  Math.round(n * 100) / 100;
      tmp = tmp +"";
      return tmp.replace('.',',');
}

function ArrayCarica(separatore, stringa){
 var index1 =0; //indice precedente
 var index2 =0; //indice successivo
 var lastindex =stringa.lastIndexOf(separatore); //indice ultimo
 var itemStringa = ""
 vettore = new Array()
 var i = 0


 while(index2 != lastindex){
//alert("index1 = "+index1)
  index2 = stringa.indexOf(separatore, index1)
//alert("index2 = "+index2)
  itemStringa=stringa.substring(index1, index2)
//alert("itemStringa = "+itemStringa)
  vettore[i] =itemStringa
//alert("vettore[i]  = "+i+ ", " +vettore[i])
  index1 = stringa.indexOf(separatore, index2)
  index1 = index1 +1
  i = i +1
 }
 return vettore
}

function CalcGamma(/*int*/StrikeIndex,/*int*/SpotIndex,/*Object*/d){
  if(StrikeIndex == d.StrikeN1){
    return d.a_a1[SpotIndex]
  }else if(StrikeIndex == d.StrikeN2){
    return d.a_a2[SpotIndex]
  }
}

function CalcCall(/*int*/StrikeIndex,/*int*/SpotIndex,/*Object*/d){
  if(StrikeIndex == d.StrikeN1){
    return a_b1[SpotIndex]
  }else if(StrikeIndex == d.StrikeN2){
    return a_b2[SpotIndex]
  }
}

function CalcPut(/*int*/StrikeIndex,/*int*/SpotIndex,/*Object*/d){
  if(StrikeIndex == d.StrikeN1){
    return a_c1[SpotIndex]
  }else if(StrikeIndex == d.StrikeN2){
    return a_c2[SpotIndex]
  }
}

/**
 * Funzione che inzializza e restituisce l'oggetto dati
 * @param prefix prefisso tipo "dati56"
 * @param TimeIndex numero (di una cifra)
 */
function initDataObj(/*String*/prefix,/*int*/TimeIndex) {
    var obj;
    eval( "obj = new "+prefix+TimeIndex+"()" );
    return obj;
}

function writeData(/*Object*/d) {
    document.getElementById('igamma').value = arrotondaPercentuale(CalcGamma(StrikeIndex,SpotIndex,d));
    document.getElementById('icall').value = arrotondaPercentuale(CalcCall(StrikeIndex,SpotIndex,d));
    document.getElementById('iput').value = arrotondaPercentuale(CalcPut(StrikeIndex,SpotIndex,d));
}

// selezione dei dati

function DatiShow(){
  SpotIndex = (document.getElementById('spot').value-30)*2;
  StrikeIndex = (document.getElementById('strike').value == "")? StrikeIndex : document.getElementById('strike').value;
  TimeIndex = (document.getElementById('tempo').value == "")? TimeIndex : document.getElementById('tempo').value;

// selezione grafico Gamma
if( (TimeIndex != TimeIndexOld) || (StrikeIndex != StrikeIndexOld) ){
    /*alert("GRAFICO = "+"graf" + TimeIndex + top.StrikeIndex + ".gif" )
    MyImage= "../../Img/Float/Gamma/graf_" + TimeIndex + StrikeIndex + "_gif" //graf355.gif
    parent.grafico.location.href = "grafico.htm"*/

    var graph = "/tlab2/img/simulatore_g/gamma/" + lang + "/graf_" + TimeIndex + StrikeIndex + ".gif";
    //alert(graph);
    document.getElementById('gImg').src = graph;
}

/*FILE DEI GRAFICI:
graf00  graf10  graf20
graf01  graf11  graf21
graf02  graf12  graf22
graf03  graf13  graf23
graf04  graf14  graf24
graf05  graf15  graf25
graf06  graf16  graf26
graf07  graf17  graf27
graf08  graf18  graf28
graf09  graf19  graf29
graf010 graf110 graf210
*/

  /*if( (TimeIndex != TimeIndexOld) || (top.StrikeIndex != StrikeIndexOld) ){
    MyImage= "../../Img/Float/Gamma/graf_" + TimeIndex + top.StrikeIndex + "_gif" //graf355.gif
    parent.grafico.location.href = "grafico.htm"
  }*/
  //var OldDati = location.href.substring((location.href.length - 11), (location.href.length - 4)); //frame dati visulizzato
  var OldDati = null;
  if(dati!=null)
    OldDati = dati.getID();

/*FILE DEI DATI:
dati560 dati561 dati562
dati580 dati581 dati582
dati600 dati601 dati602
dati620 dati621 dati622
dati640 dati641 dati642
dati650 dati651 dati652
*/
  if ( (StrikeIndex  == 0) || (StrikeIndex  == 1) ){
    if (OldDati != "dati56" + TimeIndex){
      dati = initDataObj("dati56",TimeIndex);
    }
    if(dati!=null)
      writeData(dati);
  }else if ( (StrikeIndex  == 2) || (StrikeIndex  == 3) ){
    if (OldDati != "dati58" + TimeIndex){
      dati = initDataObj("dati58",TimeIndex);
    }
    if(dati!=null)
      writeData(dati);
  }else if ( (StrikeIndex  == 4) || (StrikeIndex  == 5) ){
    if (OldDati != "dati60" + TimeIndex){
      dati = initDataObj("dati60",TimeIndex);
    }
    if(dati!=null)
      writeData(dati);
  }else if ( (StrikeIndex  == 6) || (StrikeIndex  == 7) ){
    if (OldDati != "dati62" + TimeIndex){
      dati = initDataObj("dati62",TimeIndex);
    }
    if(dati!=null)
      writeData(dati);
  }else if ( (StrikeIndex  == 8) || (StrikeIndex  == 9) ){
    if (OldDati != "dati64" + TimeIndex){
      dati = initDataObj("dati64",TimeIndex);
    }
    if(dati!=null)
      writeData(dati);
  }else if ( StrikeIndex  == 10 ){
    if (OldDati != "dati65" + TimeIndex){
      dati = initDataObj("dati65",TimeIndex);
    }
    if(dati!=null)
      writeData(dati);
  }
  StrikeIndexOld = StrikeIndex
  TimeIndexOld = TimeIndex
}
//DATI
function Dati(){
  dati.DatiShow()
}

