﻿  var currencyType="eu";
  var currencyMultiple=1;
  var currencyValue=null;
  var currencies=new Array();
  var activeCurrencyField=null;
  var activeCurrencyFieldId="foreignCurrencyField";
  var currencyField=new Array();
  var defaultCurrencyName="EUR&nbsp;k.&nbsp;k.";
  var defCurrPosInCombo=0;
  var eurocalcMode=1;
  function insertEurocalculator(exchangeList,eurocalcMode){
    this.eurocalcMode=eurocalcMode;
    processExchangeList(exchangeList);
    var collectedCode="";
    collectedCode="<div id='eurocalc'>";

  //collectedCode+="<div class='head '><span class='eurocalcTitle'>Eurokalkulátor<\/span><\/div>";

    
    collectedCode+="<div id='eurocalcGUI'>";
    collectedCode+="<h2 class='cvi barva'>Eurokalkulátor<\/h2>";
    collectedCode+="<form name='eurocalcForm' method='post' action=''>";


    // FOREIGN CURRENCY FIELD
    collectedCode+="<span class='nwrp'>";
    collectedCode+="<label for='foreignCurrencyField' class='cist'>suma v cudzej mene<\/label><input type='text'  id='foreignCurrencyField' class='currencyFieldOn' name='foreignCurrencyField' onclick=\"setActiveCurrencyField('foreignCurrencyField');\" onkeyup=\"calculateResult('foreignCurrencyField');\";>";

    // FOREIGN CURRENCY TYPE
    
    if(eurocalcMode==1){
    collectedCode+="<label for='foreignCurrencyType' class='cist'>výber kurzu<\/label><select id='foreignCurrencyType' name='foreignCurrencyType' class='foreignCurrencyType' onchange='setCurrencyType();'>";
    for(var i=0;i<currencies.length;i++){
      collectedCode+="<option value="+currencies[i][0]+"#"+currencies[i][1]+"#"+currencies[i][2]+" "+(currencies[i][0]==defaultCurrencyName ? "selected" : "")
      
      // SET CURRENCY TITLE
      if(currencies[i][0]==defaultCurrencyName)collectedCode+=" title='EUR konverzný kurz'";
      else collectedCode+=" title="+currencies[i][0];
      
      collectedCode+=">"+currencies[i][0]+"<\/option>";
      if(currencies[i][0]==defaultCurrencyName)defCurrPosInCombo=i;
    }
    collectedCode+="<\/select>";
    }
    else if(eurocalcMode==2){
      collectedCode+="<label for='foreignCurrencyField'>&nbsp;EUR<\/label>";      
    }
    
    // SK CURRENCY FIELD
    collectedCode+="&nbsp;=&nbsp;<\/span><span class='nwrp'><input type='text'  id='SKCurrencyField' class='currencyFieldOff' name='SKCurrencyField' onclick=\"setActiveCurrencyField('SKCurrencyField');\" onkeyup=\"calculateResult('SKCurrencyField');\";> <label for='SKCurrencyField'>SKK<\/label><\/span>";

    collectedCode+="<div class='sf'>&nbsp;<\/div>";
    
    // PLACE FOR CURRENT CURRENCY STATE
    if(eurocalcMode==1)collectedCode+="<div id='infoLabel'><span class='currencyInfoLabel'><span id='infoLabel1'>kurz k "+new Date().getDate()+". "+(new Date().getMonth()+1)+". "+new Date().getFullYear()+" je&nbsp;<\/span><span id='currencyInfoLabel'>"+currencyValue+"<\/span>";
    else if(eurocalcMode==2)collectedCode+="<div id='infoLabel'><span class='currencyInfoLabel'><span id='infoLabel1'>Konverzný kurz<br>1 € = 30,1260 SKK<\/span>";
    //collectedCode+="<span id='infoLabel2'><\/span>";
    collectedCode+="<\/span>";
    if(eurocalcMode==1){collectedCode+="<div id='euroButton'><span onclick='setEURAsActiveCurrency();' class='euroButton' title='EUR konverzný kurz<br>1 € = 30,1260 SKK'>&nbsp;<\/span><\/div>";}
    collectedCode+="<div class=\"sf\">&nbsp;<\/div>";
    collectedCode+="<\/div>";
    
    if(eurocalcMode==1){
    collectedCode+="<div class='sf'>&nbsp;<\/div>";
    collectedCode+="<div id='allButtons'>";
    var actPos=0;
    var buttonsField=new Array(7,8,9,4,5,6,1,2,3,0,",","CE");
    collectedCode+="<span class='cist'>numerická klávesnica<\/span>";
    for(var i=0;i<4;i++){
      collectedCode+="<div>";
      for(var j=0;j<3;j++){
        collectedCode+="<span ";
        if(buttonsField[actPos]>=0)collectedCode+="class='numButton' onclick='processNum("+buttonsField[actPos]+");'>"+buttonsField[actPos];
        else if(buttonsField[actPos]=="?")collectedCode+="class='numButton' onclick='processNum(\"?\");'>"+buttonsField[actPos];
        else if(buttonsField[actPos]==",")collectedCode+="class='numButton' onclick='processNum(\".\");'>"+buttonsField[actPos];
        else if(buttonsField[actPos]=="C")collectedCode+="class='clearButton' onclick='deleteNumFromCurrencyField();'>"+buttonsField[actPos];
        else if(buttonsField[actPos]=="CE")collectedCode+="class='clearButton' onclick='clearCurrenciesFields();'>"+buttonsField[actPos];
        else if(buttonsField[actPos]=="SKKEUR")collectedCode+="id='currencyButtonSKKEUR' class='currencyButtonOff' onclick=\"setActiveCurrencyField('SKCurrencyField');\">"+"S/E";
        else if(buttonsField[actPos]=="EURSKK")collectedCode+="id='currencyButtonEURSKK' class='currencyButtonOn' onclick=\"setActiveCurrencyField('foreignCurrencyField');\">"+"E/S";
        collectedCode+="<\/span>";
        collectedCode+="<span class='cist'>|<\/span>";
        
        actPos++;
      }
      collectedCode+="<\/div>";
      collectedCode+="<div class='sf'>&nbsp;<\/div>";
    }
    collectedCode+="<div class='sf'>&nbsp;<\/div>";
    collectedCode+="<\/div>";    
    }

    collectedCode+="<\/form>";
    collectedCode+="<\/div><!-- eurocalcGUI -->";
        
    collectedCode+="<\/div><!-- eurocalc -->";
    //collectedCode+="<div class='sf'>&nbsp;<\/div>";
    
    //setActiveCurrencyField("foreignCurrencyField");
    return collectedCode;
  }

  function setEURAsActiveCurrency(){
    setActiveCurrencyField('SKCurrencyField');
    document.getElementById('foreignCurrencyType').selectedIndex=defCurrPosInCombo; // SET EURO AS ACTIVE CURRENCY
    setCurrencyType();    
  }

  function setFocusToObject(actObjId){
    try{
      document.getElementById(actObjId).focus();
    }
    catch(e){}
  }

  function processNum(value){
    if(value=="?")document.getElementById(activeCurrencyFieldId).value+=".";
    else if(value==",")document.getElementById(activeCurrencyFieldId).value+=".";
    else document.getElementById(activeCurrencyFieldId).value+=value;
    setFocusToObject(activeCurrencyFieldId);
    calculateResult('');
  }
  
  function deleteNumFromCurrencyField(){
    document.getElementById(activeCurrencyFieldId).value=document.getElementById(activeCurrencyFieldId).value.substring(0,document.getElementById(activeCurrencyFieldId).value.length-1);
    setFocusToObject(activeCurrencyFieldId);
    calculateResult('');
  }
  
  function clearCurrenciesFields(){
    document.getElementById("foreignCurrencyField").value="";
    document.getElementById("SKCurrencyField").value="";
  }
  
  function setActiveCurrencyField(currencyFieldId){
    activeCurrencyFieldId=currencyFieldId;   
    setFocusToObject(activeCurrencyFieldId);
    if(currencyFieldId=="SKCurrencyField"){
      document.getElementById("SKCurrencyField").className="currencyFieldOn";
      document.getElementById("foreignCurrencyField").className="currencyFieldOff";
//      document.getElementById("currencyButtonSKKEUR").className="currencyButtonOn";
//      document.getElementById("currencyButtonEURSKK").className="currencyButtonOff";      
    }
    else{
      document.getElementById("SKCurrencyField").className="currencyFieldOff";
      document.getElementById("foreignCurrencyField").className="currencyFieldOn";
//      document.getElementById("currencyButtonSKKEUR").className="currencyButtonOff";
//      document.getElementById("currencyButtonEURSKK").className="currencyButtonOn";          
    }        
    // NASTAV INFO LABEL KVULI 'EUR konverzny kurz'. BEZ NEJ NENI TUTO FUNKCI POTREBA VOLAT.
    setInfoLabel();
  }
  
  function setCurrencyType(){
    currencyType=document.getElementById('foreignCurrencyType').value.split("#")[0];
    currencyMultiple=parseFloat(document.getElementById('foreignCurrencyType').value.split("#")[1]);
    currencyValue=parseFloat(document.getElementById('foreignCurrencyType').value.split("#")[2]);
    document.getElementById("currencyInfoLabel").innerHTML=currencyValue;
    
    // NASTAV INFO LABEL KVULI 'EUR konverzny kurz'. BEZ NEJ NENI TUTO FUNKCI POTREBA VOLAT.
    setInfoLabel();
   
    calculateResult('');
  } 

  function calculateResult(currFieldId){    
    var calcResult=0;        

    // REMOVE MORE SIGNS "." or ","
    var fieldTmp=document.getElementById(activeCurrencyFieldId);
    if((fieldTmp.value.split(".").length>2&&(fieldTmp.selectionStart==fieldTmp.selectionEnd))||(fieldTmp.value.split(",").length>2&&(fieldTmp.selectionStart==fieldTmp.selectionEnd))||(fieldTmp.value.indexOf(".")>0&&fieldTmp.value.indexOf(",")>0)){
      document.getElementById(activeCurrencyFieldId).value=fieldTmp.value.substring(0,fieldTmp.value.length-1);      
    }
    
    if(currFieldId.length>0)setActiveCurrencyField(currFieldId);
    if(activeCurrencyFieldId=="SKCurrencyField"){
      if(currencyValue<1)calcResult=(parseFloat(document.getElementById(activeCurrencyFieldId).value.replace(",","."))*parseFloat(currencyValue));
      else if(currencyValue==1)calcResult=document.getElementById(activeCurrencyFieldId).value.replace(",",".");
      else calcResult=parseFloat(document.getElementById(activeCurrencyFieldId).value.replace(",","."))/parseFloat(currencyValue);
      if(!(calcResult>=0||calcResult<0))calcResult="";
      document.getElementById("foreignCurrencyField").value=(calcResult*currencyMultiple).toFixed(2);
    }
    else if(activeCurrencyFieldId=="foreignCurrencyField"){
      if(currencyValue<1)calcResult=(parseFloat(document.getElementById(activeCurrencyFieldId).value.replace(",","."))/(parseFloat(currencyValue)));      
      else if(currencyValue==1)calcResult=document.getElementById(activeCurrencyFieldId.replace(",",".")).value;
      else calcResult=parseFloat(document.getElementById(activeCurrencyFieldId).value.replace(",","."))*parseFloat(currencyValue);
      if(!(calcResult>=0||calcResult<0))calcResult="";
      document.getElementById("SKCurrencyField").value=(calcResult/currencyMultiple).toFixed(2);
    }
  }

  function processExchangeList(exchangeList){
    var arrIndex=0;
    var currencies_tmp=exchangeList.split(";");
    for(var i=0;i<currencies_tmp.length-1;i++){    
      var currItems=currencies_tmp[i].split("#");
      currencies[arrIndex]=new Array(3);
      for(var j=0;j<currItems.length;j++){
        currencies[arrIndex][j]=currItems[j];
        if(currencies[arrIndex][0]=="EUR"){
          currencyValue=currencies[arrIndex][2];
          
          // EURO KONVERZNY KURZ
          if(j==0){currencies[arrIndex+1]=new Array(3);}
          currencies[arrIndex+1][0]=currItems[0]+"&nbsp;k.&nbsp;k."; //KONVERZNY KURZ
          currencies[arrIndex+1][1]=currItems[1];
          currencies[arrIndex+1][2]=30.126;/*K EURU JE NATVRDO*/
          if(defaultCurrencyName==currencies[arrIndex+1][0])currencyValue=currencies[arrIndex+1][2];
          if(j==currItems.length-1){i++;arrIndex++;}          
        }
      }
      arrIndex++;
    }
  }
  function setInfoLabel(){
    try{
      if(document.getElementById('foreignCurrencyType').value.split("#")[0].toString().indexOf("k.")>0){
        document.getElementById("infoLabel1").innerHTML="Konverzný kurz od 1.1.2009 = 30,1260<br>(v ponuke \"EUR k. k.\")";
        document.getElementById("currencyInfoLabel").innerHTML="";
      }
      else{
        document.getElementById("infoLabel1").innerHTML="kurz k "+new Date().getDate()+". "+(new Date().getMonth()+1)+". "+new Date().getFullYear()+" je&nbsp";
      }   
    }
    catch(e){}
  } 

