
tmpCaptionRLua = "На поточний момент недостатньо коштів для моментального обміну. Ви можете оформити замовлення на бажану суму і будете повідомлені по e-mail про доступність коштів";
tmpCaptionRLen = "To date, insufficient funds for immediate implementation of exchange operation. You can make an exchange for the desired amount and will be notified by e-mail about the availability of funds";
tmpCaptionRLru = "На текущий момент недостаточно средств для моментального обмена. Вы можете оформить заявку и как только необходимая сумма будет доступна, Вы получите уведомление на e-mail. Если в течении 24 часов не будет доступных средств, заявка будет закрыта автоматически.";

function IsNumeric(String)
{
   var ValidChars = "0123456789.";
   var IsNumber = true;
   var Char;
 
   for (i = 0; i < String.length && IsNumber == true; i++) 
   { 
      Char = String.charAt(i); 
      if (ValidChars.indexOf(Char) == -1) 
      {
         IsNumber = false;
      }
   }
   return IsNumber;
   
}

function PrepareRateCaption(f, t)
{
	var result;
	r = rate[f+''+t];
	tmp_f = 1;
	tmp_t = tmp_f*r;
	if (tmp_t < 1)
	{
		tmp_t = 1;
		tmp_f = tmp_t/r;
	}
	if (tmp_f%Math.round(tmp_f) != 0)
		tmp_f = (Math.round(tmp_f*10000))/10000;
	if (tmp_t%Math.round(tmp_t) != 0)
		tmp_t = (Math.round(tmp_t*10000))/10000;		
	result = tmp_f + ' ' + cap[f] + ' = ' + tmp_t + ' ' + cap[t];

	return result;
}

function IndexChangeDirection()
{
	var f = document.forms["order"].elements["f"].options[document.forms["order"].elements["f"].selectedIndex].value;
	var t = document.forms["order"].elements["t"].options[document.forms["order"].elements["t"].selectedIndex].value;
	var tmp;
	var lang = document.getElementById("page_lang").value;
	
	if (rate[f+t] == undefined)
	{
	    document.getElementById("IndexOrderExLink").style.display = "none";
	    document.getElementById("IndexOrderInfo").innerHTML = "&nbsp;";
	    document.getElementById("IndexOrderNoLink").style.display = "";
	}
	else
	{
	    if (lang == "ua") { tmpCaption = "Курс"; tmpCaption2 = "Резерв"; tmpCaption3 = "нет средств"; tmpCaption4 = tmpCaptionRLua; }
	    else if (lang == "en"){ tmpCaption = "Rate"; tmpCaption2 = "Reserve"; tmpCaption3 = "нет средств"; tmpCaption4 = tmpCaptionRLen; }
	    else { tmpCaption = "Курс"; tmpCaption2 = "Резерв"; tmpCaption3 = "нет средств"; tmpCaption4 =tmpCaptionRLru; }
	    tmpRateCaption = PrepareRateCaption(f, t);
	    
	    if (document.getElementById("is_order_page").value == 1)
	    {
		  tmpLimCapColor = "";
		  tmpLimCapBorder = "#4BA4FF";
	    }
	    else
	    {
		  tmpLimCapColor = 'color: '+document.getElementById("limCaptionColor").value+'; ';
		  tmpLimCapBorder = document.getElementById("limCaptionColor").value;
	    }
		  
	    tmp1 = tmpCaption + ":" + " " + tmpRateCaption;
	    tmp2 = '<div style="padding-top: 3px;">';
	    if (rs[t] > 0)
		  tmp2 = tmp2 + tmpCaption2 + ": " + rs[t] +  " " + cap[t];
	    else
		  tmp2 = tmp2 + tmpCaption2 + ": <a href=\"#\" style=\"" + tmpLimCapColor + "text-decoration: none; border-bottom: 1px dotted " + tmpLimCapBorder + ";\" onMouseOver=\"showTooltip('" + tmpCaption4 + "',''); return true;\" onMouseOut=\"hideTooltip(); return true;\">" + tmpCaption3 +  "</a>";
	    tmp2 = tmp2 + '</div>'; 
		
	    document.getElementById("IndexOrderInfo").innerHTML = tmp1 + tmp2;
	    document.getElementById("IndexOrderExLink").style.display = "";
	    document.getElementById("IndexOrderNoLink").style.display = "none";
	}
	
	
}

function OrderLimCaption(cur, sum)
{
   var lang = document.getElementById("page_lang").value;
   
   if (lang == "ua") { tmpCaption4 = tmpCaptionRLua; }
   else if (lang == "en"){ tmpCaption4 = tmpCaptionRLen; }
   else { tmpCaption4 = tmpCaptionRLru; }
   
   if (Number(sum) > Number(rs[cur]))
	 document.getElementById("OrderReserve").innerHTML = "<span style=\"border-bottom: 1px dashed #CC0000;\" onMouseOver=\"showTooltip('" + tmpCaption4 + "',''); return true;\" onMouseOut=\"hideTooltip(); return true;\">" + rs[cur] + " " + cap[cur] + "</span>";
   else
	 document.getElementById("OrderReserve").innerHTML = rs[cur] + " " + cap[cur];
	 
}

function OrderCalc()
{
   var sum_t = document.order.sum_t.value.replace(",",".");
   var sum_f = document.order.sum_f.value.replace(",",".");
   var lang = document.getElementById("page_lang").value;
   var f = document.order.ex_f.value;
   var t = document.order.ex_t.value;
   var d = document.order.ex_d.value;
   var p;
   
   if(sum_f.substring(sum_f.length-1, sum_f.length) == ".")
	 return true;
   
   if (sum_f <= 0 || IsNumeric(sum_f) == false || sum_f == "")
   {
	 document.order.sum_t.value = "";
	 if (psys[f] == "webmoney")
	    document.order.sum_f_comission.value = "";
	    
	 if (sum_f == "")
	    return false;
	 
	 if (lang == 'ua')
	    alert('Сума обміну може бути тільки позитивним числом');
	 else if (lang == 'en')	
	    alert('The exchange sum can be only positive number');	
	 else
	    alert('Сумма обмена может быть только положительным числом');
	 return false;
   }
   
   r = rate[f+''+t];
   if (psys[f] == "privat24")
	 tmpSumT = ((Math.round((sum_f*0.99)*100))/100)*r;
   else
	 tmpSumT = sum_f*r;
   tmpSumT = Math.floor(tmpSumT*100)/100;	 
   
   if (d > 0)
   {
	 if (psys[t] == "webmoney")
	    p = sum_f*eq[f]-CalcComissionWebmoney(t, tmpSumT)*eq[t];
	 else if (psys[t] == "privat24" && t == 21)
	    p = sum_f*eq[f]-tmpSumT*eq[t]-0.5*eq[t];
	 else if (psys[t] == "privat24" && t == 22)
	    p = sum_f*eq[f]-tmpSumT*eq[t]-0.06*eq[t];
	 else
	    p = sum_f*eq[f]-tmpSumT*eq[t];
	 if (p > 0)
	    tmp = (p*d)/eq[t];
	 else
	    tmp = Number(tmpSumT)*0.03*d;
	 tmp = Math.floor(tmp*100)/100;
	 tmpSumT = Number(tmpSumT) + tmp;
   }
   
   tmpSumT = (Math.floor(tmpSumT*100))/100;
   document.order.sum_t.value = tmpSumT;
   if (psys[f] == "webmoney")
	 document.order.sum_f_comission.value = CalcComissionWebmoney(f, sum_f);
   if (psys[f] == "privat24")
	 document.order.sum_f_comission.value = (Math.round((sum_f*0.99)*100))/100; 
   OrderLimCaption(t, document.order.sum_t.value);
   return true;
}

function OrderCalcBack()
{
   var sum_f = document.order.sum_f.value.replace(",",".");
   var sum_t = document.order.sum_t.value.replace(",",".");
   var lang = document.getElementById("page_lang").value;
   var f = document.order.ex_f.value;
   var t = document.order.ex_t.value;
   var d = document.order.ex_d.value;
   var p;
   
   if(sum_t.substring(sum_t.length-1, sum_t.length) == ".")
	 return true;
   
   if (sum_t <= 0 || IsNumeric(sum_t) == false || sum_t == "")
   {
	 document.order.sum_f.value = "";
	 if (psys[f] == "webmoney")
	    document.order.sum_f_comission.value = "";
	    
	 if (sum_t == "")
	    return false;
	 
	 if (lang == 'ua')
	    alert('Сума обміну може бути тільки позитивним числом');
	 else if (lang == 'en')	
	    alert('The exchange sum can be only positive number');	
	 else
	    alert('Сумма обмена может быть только положительным числом');
	 return false;
   }
   
   r = rate[f+''+t];
   tmpSumF = sum_t/r;
   if (psys[f] == "privat24")
	 tmpSumF = (Math.round((tmpSumF/0.99)*100))/100;
   tmpSumF = (Math.ceil(tmpSumF*100))/100;
   
   if (d > 0)
   {
	 if (psys[t] == "webmoney")
	    p = tmpSumF*eq[f]-CalcComissionWebmoney(t, sum_t)*eq[t];
	 else if (psys[t] == "privat24" && t == 21)
	    p = tmpSumF*eq[f]-sum_t*eq[t]-0.5*eq[t];
	 else if (psys[t] == "privat24" && t == 22)
	    p = tmpSumF*eq[f]-sum_t*eq[t]-0.06*eq[t];
	 else
	    p = tmpSumF*eq[f]-sum_t*eq[t];
	 if (p > 0)
	    tmp = (p*d)/eq[f];
	 else
	    tmp = Math.floor((Number(tmpSumF)*0.03*d*100)/eq[f])/100;
	 tmp = (Math.floor(tmp*100))/100;
	 tmpSumF = Number(tmpSumF) - tmp;
   }

   tmpSumF = (Math.ceil(tmpSumF*100))/100;
   document.order.sum_f.value = tmpSumF;
   if (psys[f] == "webmoney")
	 document.order.sum_f_comission.value = CalcComissionWebmoney(f, tmpSumF);
   if (psys[f] == "privat24")
	 document.order.sum_f_comission.value = (Math.round((tmpSumF*0.99)*100))/100;		 
   OrderLimCaption(t, sum_t);
   return true;
}

function OrderCalcComissionF()
{
   var lang = document.getElementById("page_lang").value;   
   var f = document.order.ex_f.value;
   var t = document.order.ex_t.value;
   var sum_f_comission = document.order.sum_f_comission.value.replace(",",".");
   
   if(sum_f_comission.substring(sum_f_comission.length-1, sum_f_comission.length) == ".")
	 return true;
   
   if (sum_f_comission <= 0 || IsNumeric(sum_f_comission) == false || sum_f_comission == "")
   {
	 document.order.sum_f.value = "";
	 document.order.sum_t.value = "";
	    
	 if (sum_f_comission == "")
	    return false;
	 
	 if (lang == 'ua')
	    alert('Сума обміну може бути тільки позитивним числом');
	 else if (lang == 'en')	
	    alert('The exchange sum can be only positive number');	
	 else
	    alert('Сумма обмена может быть только положительным числом');
	 return false;
   }
   
   if (psys[f] == "webmoney")
   {
	 document.order.sum_f.value = CalcComissionWebmoneyBack(f, sum_f_comission);
	 OrderCalc();
   }
   else if (psys[f] == "privat24")
   {
	 document.order.sum_f.value = (Math.round((sum_f_comission/0.99)*100))/100;
	 OrderCalc();
   }    
   OrderLimCaption(t, document.order.sum_t.value);
   return true;
}

function CalcComissionWebmoney(cur, sum)
{
   comission = Math.ceil((sum*0.008)*100)/100;
   if (cur == 10 && comission > 50)
	 comission = 50;
   if (cur == 11 && comission > 250)
	 comission = 250;
   if (cur == 12 && comission > 1500)
	 comission = 1500;
   if (cur == 13 && comission > 50)
	 comission = 50;
   tmpSum = Number(sum) + Number(comission);
   
   return (Math.round(tmpSum*100))/100;
}

function CalcComissionWebmoneyBack(cur, sum)
{
   tmp = sum/1.008;
   comission = Math.ceil((tmp*0.008)*100)/100;
   if (cur == 10 && comission > 50)
	 comission = 50;
   if (cur == 11 && comission > 250)
	 comission = 250;
   if (cur == 12 && comission > 1500)
	 comission = 1500;
   if (cur == 13 && comission > 50)
	 comission = 50;
   tmpSum = sum-comission;
   
   return (Math.ceil(tmpSum*100))/100;
}

function OrderCheck()
{
   var sum_f = document.order.sum_f.value.replace(",",".");
   var lang = document.getElementById("page_lang").value;
   var f = document.order.ex_f.value;
   var t = document.order.ex_t.value;
   var min = document.order.min.value;
   var t_bill_caption = document.order.t_bill_caption.value;
   var ex_bill = document.order.ex_bill.value;
   var ex_email = document.order.ex_email.value;
   var agree = document.order.agree.checked;

   if (sum_f < min)
   {
	 if (lang == 'ua')
	    alert('Мінімальна сума обміну ' + min + ' ' + cap[f]);
	 else if (lang == 'en')	
	    alert('Minimal sum is ' + min + ' ' + cap[f]);	
	 else
	    alert('Минимальная сумма обмена ' + min + ' ' + cap[f]);
	 return false;	 
   }
   
   if (ex_bill == "")
   {
	 if (lang == 'ua')
	    alert(t_bill_caption + ' не вказано');
	 else if (lang == 'en')	
	    alert(t_bill_caption + ' is empty');
	 else
	    alert(t_bill_caption + ' не указан');
	 return false;	 	 
   }      
   
   if (ex_email == "")
   {
	 if (lang == 'ua')
	    alert('Не вказано e-mail');
	 else if (lang == 'en')	
	    alert('E-mail is empty');
	 else
	    alert('Не указан e-mail');
	 return false;	 	 
   }

   if (agree === false)
   {
	 if (lang == 'ua')
	    alert('Не надано підтвердження згоди з Правилами обміну');
	 else if (lang == 'en')	
	    alert('Not agree with Terms of service');
	 else
	    alert('Не дано подтверждение с Правилами обмена');
	 return false;	 	 
   }

   return true;
}
