//  Идентификаторы валют
//  1 - wmz
//  2 - wmr
//  3 - wme
//  4 - wmu
//  5 - wmg
//  6 - wmb
//  7 - wmy
//  8 - yandex
//  9 - rbk
// 10 - LR usd
// 11 - LR eur
// 12 - PM usd
// 13 - PM eur

var curCnt = 13; // число различных видов валют в обменнике

// изменение направления обмена
function ValChange(form, direct) {
  var srcID = eval(form.srcID.value);
  var dstID = eval(form.dstID.value);
  if(srcID == dstID) { // недопускаем 2 одинаковых направления
    if(direct == 'src') {
      dstID = dstID + 1;
      if(dstID > maxSelectIndex) dstID = minSelectIndex;
      form.dstID.value = dstID;
    }
    if(direct == 'dst') {
    	srcID = srcID + 1;
    	if(srcID > maxSelectIndex) srcID = minSelectIndex;
    	form.srcID.value = srcID;
    }
  }
  if(srcID > 7) { // скрываем или нет строку с комиссией WMT
     document.getElementById("WM_COM_VIS").style.display = 'none';
  }
  else {
    document.getElementById("WM_COM_VIS").style.display = 'inline';
  }
  // вычисляем суммы для обмена
  if( direct == 'src' ) { AmountChange (form, 'dst'); }
  if( direct == 'dst' ) { AmountChange (form, 'src'); }
}

// расчет сумм на обмен
function AmountChange(form, dir) {
  var idx = eval(form.srcID.value)*curCnt + eval(form.dstID.value);
  form.id.value = idx;
  if(kurs[idx] == null) {
    document.getElementById("Kurs").innerHTML = "<font style='font-size: 11px;color:red;'><b> " + mNoDirection + " </b></font>";
    form.confirm_btn.disabled = true;
    return;
  }
  else {
    form.confirm_btn.disabled = false;
  }
  src_kurs = kurs[idx]['src'];
  dst_kurs = kurs[idx]['dst'];
  var src_amount = form.SRC_AMOUNT.value;
  var dst_amount = form.DST_AMOUNT.value;
  var max_comm = 50;  // максимальная комиссия системы WMT
  if(eval(form.srcID.value) == 2) max_comm = 1500;   // комиссия для рублей
  if(eval(form.srcID.value) == 4) max_comm = 250;    // комиссия для WMU
  if(eval(form.srcID.value) == 5) max_comm = 2;      // комиссия для WMG
  if(eval(form.srcID.value) == 5) max_comm = 100000; // комиссия для WMB
  if(eval(form.srcID.value) == 5) max_comm = 55000;  // комиссия для WMY
  if(dir == 'src') {
	  amount = src_amount;
    dst_amount = MyCeil(src_amount * dst_kurs / src_kurs, 2);
    form.DST_AMOUNT.value = dst_amount;
  }
  else {
    amount = dst_amount;
    src_amount = MyCeil(dst_amount * src_kurs / dst_kurs, 2);
    form.SRC_AMOUNT.value = src_amount;
  }
  document.getElementById("Kurs").innerHTML = mRate + " <b>" + FormatNumber(src_kurs, 4) + "</b> " + ValName[form.srcID.value] + " > <b>" + FormatNumber(dst_kurs, 4) + "</b> " + ValName[form.dstID.value];
  document.getElementById("Reserve").innerHTML = "<b>" + Reserve[form.dstID.value] + "</b> " + ValName[form.dstID.value];
  document.getElementById("Minimum").innerHTML = "<b>" + minAmt[form.srcID.value] + "</b> " + ValName[form.srcID.value];
  document.getElementById("WM_COM").innerHTML = "<b>" + Math.ceil(Math.min(src_amount*1.008*100-0.0000001, (src_amount-(-max_comm))*100-0.0000001))/100 + "</b> " + ValName[form.srcID.value];
}


// округление с заданной точностью
function MyCeil(str, precision) {
  switch(precision) {
    case 1: return Math.round(str*10) / 10; break;
    case 2: return Math.round(str*100) / 100; break;
    case 3: return Math.round(str*1000) / 1000; break;
    case 4: return Math.round(str*10000) / 10000; break;
    default: return str; break;
  }
}

function FormatNumber(n, zn) {
  if(typeof(zn)=="undefined") return n;
  n = parseFloat(n);
  zn= parseInt(zn);
  p = Math.pow(10, zn);
  s = new String(Math.round(n*p)/p);
  if(ind=s.indexOf(".") > -1) { zn -= s.length-ind-1; } else { s += "."; }
  for(var i=0; i<zn; i++) { s += "0"; }
  return s;
}

// проверка введенных в форму данных
function CheckForm(form) {
  if(minAmt[eval(form.srcID.value)] > form.SRC_AMOUNT.value) {
    alert(mErrAmt + minAmt[eval(form.srcID.value)] + " " + ValName[eval(form.srcID.value)] + ".");
    form.SRC_AMOUNT.focus();
    return false;
  }
  return true;
}