function setfrom(form,coef){
  form.tosum.value=check(form.tosum.value);
  if (form.tosum.value){
     form.fromsum.value=Math.ceil(form.tosum.value/coef*100)/100;
  }
  else{
     form.fromsum.value='';
  }
}
function setto(form,coef){
  form.fromsum.value=check(form.fromsum.value);
  if (form.fromsum.value){
     form.tosum.value=Math.floor(form.fromsum.value*coef*100)/100;
  }
  else {
     form.tosum.value='';
  }
}
function check(str){
  var res='';
  var alf='0123456789.';
  var dot_count=0;
  var after_dot=0;
  for (j=0; j<str.length; j++){
    var letter=str.charAt(j);
    if (letter==','){
       letter='.';
    }
    if (j==0 && (letter=='.' || letter=='0')){
       letter='1';
    }
    if (letter=='.'){
       dot_count++;
       if (dot_count>1){
          continue;
       }
    }
    if (alf.indexOf(letter)!=-1){
       if (dot_count && letter!='.'){
          after_dot++;
          if (after_dot>2){
             continue;
          }
       }
       res+=letter;
    }
  }
  return res;
}
function check_balance(form,balance,speed){
  if (form.fromsum.value=='' || form.fromsum.value=='0'){
     alert('Не указана сумма обмена.');
     return false;
  }
  if (speed=='low'){
     return true;
  }
  if (form.tosum.value>balance){
     alert('Вы пытаетесь обменять сумму большую имеющегося резерва. Обмен возможен в режиме \"Деньги не сразу\".');  
     return false;
  }
  return true;
}

/////

function setfrom_ya_out(coef,from_purse_type){
  var f=document.forms.f;
  f.tosum.value=check(f.tosum.value);
  if (f.tosum.value){
     f.fromsum.value=Math.ceil(f.tosum.value/coef*100)/100;
	 f.fromsum_and_commission.value=Math.ceil((get_wm_commission(f.fromsum.value,from_purse_type)+parseFloat(f.fromsum.value))*100)/100;
  }
  else{
     f.fromsum.value=f.fromsum_and_commission.value='';
  }
}
function setto_ya_out(coef,from_purse_type){
  var f=document.forms.f;
  f.fromsum.value=check(f.fromsum.value);
  if (f.fromsum.value){
     f.tosum.value=Math.floor(f.fromsum.value*coef*100)/100;
	 f.fromsum_and_commission.value=Math.ceil((get_wm_commission(f.fromsum.value,from_purse_type)+parseFloat(f.fromsum.value))*100)/100;
  }
  else {
     f.tosum.value=f.fromsum_and_commission.value='';
  }
}

function setfrom_ya(coef){
  var f=document.forms.f;
  f.tosum.value=check(f.tosum.value);
  if (f.tosum.value){
     f.fromsum.value=Math.ceil(f.tosum.value/coef*100)/100;
  }
  else{
     f.fromsum.value='';
  }
}
function setto_ya(coef){
  var f=document.forms.f;
  f.fromsum.value=check(f.fromsum.value);
  if (f.fromsum.value){
     f.tosum.value=Math.floor(f.fromsum.value*coef*100)/100;
  }
  else {
     f.tosum.value='';
  }
}
function get_wm_commission(sum,from_purse_type){
   var commission=Math.ceil(sum*0.008*100)/100;
   commission = (commission>0.01) ? commission : 0.01;
   if (from_purse_type=='Z' || from_purse_type=='E'){
       commission = (commission<50) ? commission : 50;
   }	   
   else if (from_purse_type=='R'){
       commission = (commission<1500) ? commission : 1500;
   }
   else if (from_purse_type=='U'){
       commission = (commission<250) ? commission : 250;
   }
   else if (from_purse_type=='B'){
       commission = (commission<100000) ? commission : 100000;
   }	   	   
   return commission;
}	
function setfrom_wm(coef,from_purse_type){
  var f=document.forms.f;
  f.tosum.value=check(f.tosum.value);
  if (f.tosum.value){
     f.fromsum.value=Math.ceil(f.tosum.value/coef*100)/100;
	 f.fromsum_and_commission.value=Math.ceil((get_wm_commission(f.fromsum.value,from_purse_type)+parseFloat(f.fromsum.value))*100)/100;
  }
  else{
     f.fromsum.value=f.fromsum_and_commission.value='';
  }
}
function setto_wm(coef,from_purse_type){
  var f=document.forms.f;
  f.fromsum.value=check(f.fromsum.value);
  if (f.fromsum.value){
     f.tosum.value=Math.floor(f.fromsum.value*coef*100)/100;
	 f.fromsum_and_commission.value=Math.ceil((get_wm_commission(f.fromsum.value,from_purse_type)+parseFloat(f.fromsum.value))*100)/100;
  }
  else {
     f.tosum.value=f.fromsum_and_commission.value='';
  }
}
function check(str){
  var res='';
  var alf='0123456789.';
  var dot_count=0;
  var after_dot=0;
  for (j=0; j<str.length; j++){
    var letter=str.charAt(j);
    if (letter==','){
       letter='.';
    }
    if (j==0 && (letter=='.' || letter=='0')){
       letter='1';
    }
    if (letter=='.'){
       dot_count++;
       if (dot_count>1){
          continue;
       }
    }
    if (alf.indexOf(letter)!=-1){
       if (dot_count && letter!='.'){
          after_dot++;
          if (after_dot>2){
             continue;
          }
       }
       res+=letter;
    }
  }
  return res;
}
function check_wmid(){
   var f=document.forms.f;
   var res='';
   var alf='0123456789';
   var str=f.wmid.value;
   for (j=0; j<str.length; j++){
      var letter=str.charAt(j); 
	  if (alf.indexOf(letter)!=-1){
          res+=letter;
      }	
   }
   f.wmid.value=res;	  
}
function check_wmid4invoice(){
   var f=document.forms.f;
   var res='';
   var alf='0123456789';
   var str=f.wmid4invoice.value;
   for (j=0; j<str.length; j++){
      var letter=str.charAt(j); 
	  if (alf.indexOf(letter)!=-1){
          res+=letter;
      }	
   }
   f.wmid4invoice.value=res;	  
}
function check_data(balance,speed){
  var f=document.forms.f;
  if (f.tosum.value>balance && speed=='quick'){
     alert('Вы пытаетесь обменять сумму большую имеющегося резерва. Обмен возможен в режиме \"Деньги не сразу\".'); 
     return false;
  }
  if (f.fromsum.value=='' || f.fromsum.value=='0'){
     alert('Не указана сумма обмена.');
     f.fromsum.focus();
     return false;
  }
  if (f.pay_type && f.pay_type[1].checked){
     if (f.wmid4invoice.value==''){
        alert('Не указан WMID на который выставлять счет.');
        f.wmid4invoice.focus();
        return false;
     } 
  }
  if ( (f.email.value=='')||(f.email.value.indexOf('@')==-1) ){
      alert('Ошибка в e-mail.');
      f.email.focus();
      return false;
  }
  if (f.purse.value.length<10){
     alert('Ошибка в номере кошелька.');
     f.purse.focus();
     return false;
  }
  return true;
}
function set_available_wmid4invoice(){
  var f=document.forms.f;
  if (f.pay_type[0].checked){
     f.wmid4invoice.disabled=true;
     f.wmid4invoice.style.backgroundColor='silver';
     //f.wmid4invoice.value='';
  }
  else if (f.pay_type[1].checked){	 
     f.wmid4invoice.disabled=false;
     f.wmid4invoice.style.backgroundColor='white';
  }	 
}
function check_yandex_purse(){
   var f=document.forms.f;
   var res='';
   var alf='0123456789';
   var str=f.purse.value;
   for (j=0; j<str.length; j++){
      var letter=str.charAt(j); 
	  if (alf.indexOf(letter)!=-1){
          res+=letter;
      }	
   }
   f.purse.value=res;	  
}
function check_purse(start_letter){
   var f=document.forms.f;
   var res='';
   var alf='0123456789';
   var str=f.purse.value;
   for (j=0; j<str.length; j++){
      var letter=str.charAt(j);
	  if (j==0){ 
	     res+= start_letter;
	  }	 
	  else {	 
	     if (alf.indexOf(letter)!=-1){
            res+=letter;
         }	  
	  }
   }
   f.purse.value=res;	  
}

function checking_balance(form,balance){
  if (form.fromsum.value=='' || form.fromsum.value=='0'){
     alert('Не указана сумма обмена.');
     return false;
  }
  if (form.tosum.value>balance){
     alert('Вы пытаетесь обменять сумму большую имеющегося резерва.');
     return false;
  }
  return true;
}

function checking_data(balance){
  var f=document.forms.f;
  if (f.tosum.value>balance){
     alert('Вы пытаетесь обменять сумму большую имеющегося резерва.');
     return false;
  }
  if (f.fromsum.value=='' || f.fromsum.value=='0'){
     alert('Не указана сумма обмена.');
     f.fromsum.focus();
     return false;
  }
  if (f.pay_type && f.pay_type[1].checked){
     if (f.wmid4invoice.value==''){
        alert('Не указан WMID на который выставлять счет.');
        f.wmid4invoice.focus();
        return false;
     }
  }
  if ( (f.email.value=='')||(f.email.value.indexOf('@')==-1) ){
      alert('Ошибка в e-mail.');
      f.email.focus();
      return false;
  }
  if (f.purse.value.length<10){
     alert('Ошибка в номере кошелька.');
     f.purse.focus();
     return false;
  }
  return true;
}
