
//var NN = (document.layers ? true : false);

var NN = (window.navigator.appName=="Netscape" ? true : false);

var RoundN = 4;  // Округлить результат до RoundN знаков после запятой
var RUBecvivalent;
var  KursRUBbid = new Object;
var  KursRUBask = new Object;
var  KursUSDbid = new Object;   
var  KursUSDask = new Object;
var  KursRUBbidL= new Object;
var  KursUSDbidL= new Object;
var  KursRUBaskL= new Object;
var  KursUSDaskL= new Object;
var  ListValName= new Object;
var  ListValCod = new Object;

// KursBegin  ------------------------------------------
// KursEnd    ------------------------------------------

function KeyPressEnter1(ctrl,SumCustom,select1,select2,SumResult,KursText,KursText1,priz,ev)
{   
   var key = 0;
   if (NN) { key = ev.which; }   
     else  { key = window.event.keyCode; };
  // alert(window.event.keyCode);                                                                            
  // alert(key);                                                                            
  if (key == 13)
  {
    SetResultAll1(ctrl,SumCustom,select1,select2,SumResult,KursText,KursText1,priz);
  };  
};                 

// Добавить элемент к Select
function AddOption(El,T,V,YesSize)
{
  var N = El.length;
  elem = Object;
  elem = new Option(T,V,false,true);
  El.options[N] = elem;
 // El.options[N].text = T;
 if (YesSize) { El.size = N + 1};
}

//     
function SetSelect(Sel)
{
  Sel.length = 0;
  i = 0;
  while (ListValName[i])
  {
    AddOption(Sel,ListValName[i],ListValCod[i],false);
    i++;  
  };
  Sel.selectedIndex = 0;
}

//     
function SetSelect1(Sel)
{
  Sel.length = 0;
  i = 0;
  while (ListValName[i])
  {
    AddOption(Sel,ListValCod[i],ListValCod[i],false);
    i++;  
  };
  Sel.selectedIndex = 0;
}


//
function RoundNumber(N,X) 
{
  X = (!X ? 2 : X);
  return Math.round(N*Math.pow(10,X)) / Math.pow(10,X);
}

function RoundFormula(X)
{
  if ((X >= 10) || (X == 0)) { return 2 };
  if  (X >= 1)               { return 3 };
  if  (X < 0.0001)           { return 6 };
  Result = 3;
  while (X < 1)
  {
    X = X * 10;
    Result = Result + 1;
  };
  return Result;
}

//
function ClearResult(SumResult,KursText,KursText1)
{
  SumResult.value = "";
  KursText.value = "";
  KursText1.value = "";
}
		
function ClearResult2(ctrl)
{
  ctrl.SumResult2.value = "";
  ctrl.KursText2.value = "";
  ctrl.KursText3.value = "";
}

// Конвертер 1
function SetResult(ctrl,SumCustom,select1,select2,SumResult,KursText,KursText1,priz)
{
  var RUBecvivalent;
  //  var ctrl = document.forms[0];
  var SelVal1 = select1.options[select1.selectedIndex].value;
  var SelVal2 = select2.options[select2.selectedIndex].value;
  var SumUser; 
  var Result;
   
  Result = "";
  if (SelVal1 == SelVal2)          
  { 
    if (priz==1) {window.alert("Ошибка: одинаковые валюты !")};  
    return 
  };
  if (priz==1)
  {
    SumUser = 1;  
  } 
  else
  {
    if (SumCustom.value == "")  { window.alert("Ошибка: пустое числовое значение !");  return };
    if (isNaN(SumCustom.value)) { window.alert("Ошибка: введено не числовое значение (разделитель точка !!) !");  return };
    SumUser = parseFloat(SumCustom.value);
  };

  // if (ctrl.SumRadio[1].checked)
  if (SumUser > 300)
  {                      // -------------------- Более 300 $ -----------------
    if (SelVal1 == "RUB")    //  --------------- 1 - RUB ------------------
    {
      Result = RoundNumber(SumUser / KursRUBask[SelVal2],RoundN);
    }
    else
    {
      if (SelVal1 == "USD")    //  =============== 1 - USD ==================
      {
        if (SelVal2 == "RUB")  //  --------------- 2 - RUB ------------------
        {
          Result = RoundNumber(SumUser * KursRUBbid[SelVal1],RoundN);
        }
         else                  //  --------------- 2 - Остальные ------------------
        {
           Result = RoundNumber(SumUser * KursUSDask[SelVal2],RoundN); // 2
        }	
      }
      else
      {
        if (SelVal1 == "EUR")    //  =============== 1 - EUR =================
        {
          if (SelVal2 == "RUB")  //  --------------- 2 - RUB ------------------
          {
            Result = RoundNumber(SumUser * KursRUBbid[SelVal1],RoundN);
          }
          else
          {
            if (SelVal2 == "USD")  //  --------------- 2 - USD ------------------
            {
              Result = RoundNumber(SumUser / KursUSDbid[SelVal1],RoundN);
            }
            else                  //  --------------- 2 - Остальные ------------------
            {
              RUBecvivalent = SumUser * KursRUBbid[SelVal1];
              Result = RoundNumber(RUBecvivalent / KursRUBask[SelVal2],RoundN);
            }  
          }	
        }
        else                     // =============== 1 - Остальные ===============
        { 
          if (SelVal2 == "RUB")  //  --------------- 2 - RUB ------------------
          {
            SumEcv =  SumUser * RoundNumber(KursRUBbid[SelVal1],RoundFormula(KursRUBbid[SelVal1]));
            Result = RoundNumber(SumEcv,RoundN);
          }
          else
          {
            if (SelVal2 == "USD")  //  --------------- 2 - USD ------------------
            {
              Result = RoundNumber(SumUser / KursUSDbid[SelVal1],RoundN);
            }
            else                  //  --------------- 2 - Остальные ------------------
            {
              RUBecvivalent = SumUser * KursRUBbid[SelVal1];
              Result = RoundNumber(RUBecvivalent / KursRUBask[SelVal2],RoundN);
            }  
          }	
        }
      }
    }//
  }
  else               // ----------------------- Менее 300 $ -----------------
  {    
    if (SelVal1 == "RUB")    //  =============== 1 - RUB ===============
    {
      if ((SelVal2 == "USD") || (SelVal2 == "EUR"))
      {
        Result = RoundNumber(SumUser / KursRUBaskL[SelVal2],RoundN);
      }
      else                  //  --------------- 2 - Остальные ------------------
      {
        Result = RoundNumber(SumUser / KursRUBask[SelVal2],RoundN);
      }  
    }
    else
    {
      if (SelVal1 == "USD")        //  =============== 1 - USD ===============
      {
        if (SelVal2 == "RUB")      //  --------------- 2 - RUB ------------------
        {
          Result = RoundNumber(SumUser * KursRUBbidL[SelVal1],RoundN);
        }
        else                       
        {
          if  (SelVal2 == "EUR")   //  --------------- 2 - EUR ----------------
          {
            Result = RoundNumber(SumUser * KursUSDaskL[SelVal2],RoundN); // 1
          }
          else                    //  --------------- 2 - Остальные ----------- 
          {
            Result = RoundNumber(SumUser * KursUSDask[SelVal2],RoundN); // 1
          }   
        }	
      }
      else
      {
        if (SelVal1 == "EUR")    //  =============== 1 - EUR ===============
        {
          if (SelVal2 == "RUB")  //  --------------- 2 - RUB ----------------
          {
            Result = RoundNumber(SumUser * KursRUBbidL[SelVal1],RoundN);
          }
          else
          {
            if (SelVal2 == "USD")   //  --------------- 2 - USD ------------------
            {  
              RUBecvivalent = SumUser * KursRUBbidL[SelVal1];
              Result = RoundNumber(RUBecvivalent / KursRUBaskL[SelVal2],RoundN);
            }
            else
            {
              RUBecvivalent = SumUser * KursRUBbidL[SelVal1];
              Result = RoundNumber(RUBecvivalent / KursRUBask[SelVal2],RoundN);
            }  
          }	
        }
        else                     //  =============== 1 - Остальные ===============
        { 
          if (SelVal2 == "RUB")  //  --------------- 2 - RUB ------------------
          {
            Result = RoundNumber(SumUser * KursRUBbidL[SelVal1],RoundFormula(SumUser * KursRUBbidL[SelVal1]));
          }
          else
          {
            if (SelVal2 == "USD") //  --------------- 2 - USD ------------------
            {
              Result = RoundNumber(SumUser / KursUSDbidL[SelVal1],RoundN); // 2
            }
            else
            {
              if (SelVal2 == "EUR") //  --------------- 2 - UOR ------------------
              {
                RUBecvivalent = SumUser * KursRUBbidL[SelVal1];
                Result = RoundNumber(RUBecvivalent / KursRUBaskL[SelVal2],RoundN);
              }
              else                 //  --------------- 2 - Остальные --------------
              {
                RUBecvivalent = SumUser * KursRUBbidL[SelVal1];
                Result = RoundNumber(RUBecvivalent / KursRUBask[SelVal2],RoundN);
              }
            }  
          }  
        }		
      }
    }
  }
  if (priz==1)
  {
    KursText.value  = "1 " + SelVal1 + " = " + Result + " " + SelVal2;
    KursText1.value = "1 " + SelVal2 + " = " + RoundNumber(1 / Result,RoundFormula(1 / Result))  + " " + SelVal1;
  }
  else
  {
    SumResult.value = Result;
  };  
  return Result;
}

// Конвертер 2
function SetResult2(ctrl, SumCustom,select1,select2,SumResult,KursText,KursText1,priz)
{
  var RUBecvivalent;
//  var ctrl = document.forms[1];
  var SelVal1 = select1.options[select1.selectedIndex].value;
  var SelVal2 = select2.options[select2.selectedIndex].value;
  var SumUser; 
  var Result;
  
  Result = "";
  if (SelVal1 == SelVal2)           
  { 
    if (priz==1) {window.alert("Ошибка: одинаковые валюты !")};  
    return;
  };

  if (priz==1)
  {
    SumUser = 1;  
  } 
  else
  {
    if (SumCustom.value == "")  { window.alert("Ошибка: пустое числовое значение !");  return };
    if (isNaN(SumCustom.value)) { window.alert("Ошибка: введено не числовое значение (разделитель точка !!) !");  return };
    SumUser = parseFloat(SumCustom.value);
  };  
//  Result = ctrl.SumResult2.value;
//  if (ctrl.SumRadio2[1].checked)
  
  if (SumUser > 300)
  {                      // -------------------- Более 300 $ -----------------
    if (SelVal1 == "RUB")    //  =============== 1 - RUB ===============
    {
      Result = RoundNumber(SumUser / KursRUBbid[SelVal2],RoundN); // 1
    }
    else
    {
      if (SelVal1 == "USD")    //  =============== 1 - USD ===============
      {
        if (SelVal2 == "RUB")  //  --------------- 2 - RUB ------------------
        {
          Result = RoundNumber(SumUser * KursRUBask[SelVal1],RoundN); // 1
        }
         else                  //  -------------- 2 - Остальные -------------
        {
           Result = RoundNumber(SumUser * KursUSDbid[SelVal2],RoundN); // 2
        }	
      }
      else
      {
        if (SelVal1 == "EUR")    //  =============== 1 - EUR ===============
        {
          if (SelVal2 == "RUB")  //  --------------- 2 - RUB ------------------
          {
            Result = RoundNumber(SumUser * KursRUBask[SelVal1],RoundN); // 1
          }
          else
          {
            if (SelVal2 == "USD")  //  --------------- 2 - USD ------------------
            {
              Result = RoundNumber(SumUser / KursUSDask[SelVal1],RoundN); // 1
            }
            else                  //  --------------- 2 - Остальные ------------------
            {
              RUBecvivalent = SumUser * KursRUBask[SelVal1];
              Result = RoundNumber(RUBecvivalent / KursRUBbid[SelVal2],RoundN); // 1
            }  
          }	
        }
        else                     //  =============== 1 - Остальные ===============
        { 
          if (SelVal2 == "RUB")  //  --------------- 2 - RUB ------------------
          {
            Result = RoundNumber(SumUser * KursRUBask[SelVal1],RoundN); // 1
          }
          else
          {
            if (SelVal2 == "USD")  //  --------------- 2 - USD ------------------
            {
              Result = RoundNumber(SumUser / KursUSDask[SelVal1],RoundN); // 1
            }
            else                  //  --------------- 2 - Остальные ------------------
            {
              RUBecvivalent = SumUser * KursRUBask[SelVal1];
              Result = RoundNumber(RUBecvivalent / KursRUBbid[SelVal2],RoundN);
            }  
          }	
        }
      }
    }//
  }
  else               // ----------------------- Менее 300 $ -----------------
  {    
    if (SelVal1 == "RUB")    //  =============== 1 - RUB ===============
    {
      Result = RoundNumber(SumUser / KursRUBbidL[SelVal2],RoundN); // 1
    }
    else
    {
      if (SelVal1 == "USD")        //  =============== 1 - USD ===============
      {
        if (SelVal2 == "RUB")      //  --------------- 2 - RUB ------------------
        {
          Result = RoundNumber(SumUser * KursRUBaskL[SelVal1],RoundN); // 1
        }
        else
        {
          if  (SelVal2 == "EUR")   //  --------------- 2 - EUR ------------------
          {
            Result = RoundNumber(SumUser * KursUSDbidL[SelVal2],RoundN); // 2
          }
          else
          {
            Result = RoundNumber(SumUser * KursUSDbidL[SelVal2],RoundN); //2
          }   
        }	
      }
      else
      {
        if (SelVal1 == "EUR")    //  =============== 1 - EUR ===============
        {
          if (SelVal2 == "RUB")  //  --------------- 2 - RUB ------------------
          {
            Result = RoundNumber(SumUser * KursRUBaskL[SelVal1],RoundN); // 1
          }
          else
          {
            if (SelVal2 == "USD")   //  --------------- 2 - USD ------------------
            {  
              RUBecvivalent = SumUser * KursRUBaskL[SelVal1];
              Result = RoundNumber(RUBecvivalent / KursRUBbidL[SelVal2],RoundN); // 1
            }
            else
            {
              RUBecvivalent = SumUser * KursRUBaskL[SelVal1];
              Result = RoundNumber(RUBecvivalent / KursRUBbidL[SelVal2],RoundN); // 1
            }  
          }	
        }
        else                     //  =============== 1 - Остальные ===============
        { 
          if (SelVal2 == "RUB")  //  --------------- 2 - RUB ------------------
          {
            Result = RoundNumber(SumUser * KursRUBask[SelVal1],RoundN); // 1
          }
          else
          {
            if (SelVal2 == "USD") 
            {
              Result = RoundNumber(SumUser / KursUSDask[SelVal1],RoundN); // 1
            }
            else
            {
              if (SelVal2 == "EUR")
              {
                RUBecvivalent = SumUser * KursRUBask[SelVal1];
                Result = RoundNumber(RUBecvivalent / KursRUBbidL[SelVal2],RoundN); // 1
              }
              else
              {
                RUBecvivalent = SumUser * KursRUBask[SelVal1];
                Result = RoundNumber(RUBecvivalent / KursRUBbidL[SelVal2],RoundN); // 1
              }
            }  
          }  
        }		
      }
    }
  }
  if (priz==1)
  {
    KursText.value = "1 " + SelVal1 + " = " + Result + " " + SelVal2;
    KursText1.value = "1 " + SelVal2 + " = " + RoundNumber(1 / Result,RoundFormula(1 / Result))  + " " + SelVal1;
  }
  else
  {
    SumResult.value = Result;
  };  
  return Result;
};

function SetResultAll1(ctrl,SumCustom,select1,select2,SumResult,KursText,KursText1,priz)
{
  var Kurs;
  Kurs = SetResult(ctrl,SumCustom,select1,select2,SumResult,KursText,KursText1,1);
//  SetResult(ctrl,SumCustom,select1,select2,SumResult,KursText,KursText1);
  SumResult.value = RoundNumber(Kurs * SumCustom.value,RoundFormula(Kurs * SumCustom.value));
};

function SetResultAll2(ctrl,SumCustom,select1,select2,SumResult,KursText,KursText1,priz)
{
  Kurs = SetResult2(ctrl,SumCustom,select1,select2,SumResult,KursText,KursText1,1);
//  SetResult2(ctrl,SumCustom,select1,select2,SumResult,KursText,KursText1);
//  SumResult.value = Kurs * SumCustom.value;
  SumResult.value = RoundNumber(Kurs * SumCustom.value,RoundFormula(Kurs * SumCustom.value));
};

//if (NN)
//{
//   alert(window.navigator.appName + " 11");
   
  // document.captureEvents(Event.KEYUP);
  // document.captureEvents(Event.keypress);
  // document.captureEvents(Event.keydown);
  
//   document.onkeydown = KeyPressEnter1;
//};   


