/******************************************************************************
 * Валидация номера счета в Уникарта USD
 *****************************************************************************/
function ValidPayeeAccount32(obj)
{
  var el = document.getElementById(obj);
  if (/^\d{15}$/.test(el.value) && el.value != '111111111111111')
  {
    document.forms['xchg'].submit();
  }
  else
  {
    alert("Неверно заполнено поле 'Номер счета'(смотрите пример)!");
    el.value = "";
  }
}

/******************************************************************************
 * Валидация номера счета в Уникарта UAH
 *****************************************************************************/
function ValidPayeeAccount33(obj)
{
  var el = document.getElementById(obj);
  if (/^\d{15}$/.test(el.value) && el.value != '111111111111111')
  {
    document.forms['xchg'].submit();
  }
  else
  {
    alert("Неверно заполнено поле 'Номер счета'(смотрите пример)!");
    el.value = "";
  }
}

/******************************************************************************
 * Валидация номера счета в Уникарта RUR
 *****************************************************************************/
function ValidPayeeAccount34(obj)
{
  var el = document.getElementById(obj);
  if (/^\d{15}$/.test(el.value) && el.value != '111111111111111')
  {
    document.forms['xchg'].submit();
  }
  else
  {
    alert("Неверно заполнено поле 'Номер счета'(смотрите пример)!");
    el.value = "";
  }
}

/******************************************************************************
 * Валидация номера счета в Уникарта EUR
 *****************************************************************************/
function ValidPayeeAccount35(obj)
{
  var el = document.getElementById(obj);
  if (/^\d{15}$/.test(el.value) && el.value != '111111111111111')
  {
    document.forms['xchg'].submit();
  }
  else
  {
    alert("Неверно заполнено поле 'Номер счета'(смотрите пример)!");
    el.value = "";
  }
}

/******************************************************************************
 * Валидация номера счета в RBK Money
 *****************************************************************************/
function ValidPayeeAccount1(obj)
{
  var el = document.getElementById(obj);
  if (/^[R]{1}[U]{1}[0-9]{8,9}$/.test(el.value))
  {
    document.forms['xchg'].submit();
  }
  else
  {
    alert("Неверно заполнено поле 'Номер счета'(смотрите пример)!");
    el.value = "";
  }
}

/******************************************************************************
 * Валидация номера счета в WebMoney WMR
 *****************************************************************************/
function ValidPayeeAccount4(obj)
{
  var el = document.getElementById(obj);
  if (/^[R]{1}[0-9]{12}$/.test(el.value))
  {
    document.forms['xchg'].submit();
  }
  else
  {
    alert("Неверно заполнено поле 'Номер счета'(смотрите пример)!");
    el.value = "";
  }
}

/******************************************************************************
 * Валидация номера счета в WebMoney WMZ
 *****************************************************************************/
function ValidPayeeAccount5(obj)
{
  var el = document.getElementById(obj);
  if (/^[Z]{1}[0-9]{12}$/.test(el.value))
  {
    document.forms['xchg'].submit();
  }
  else
  {
    alert("Неверно заполнено поле 'Номер счета'(смотрите пример)!");
    el.value = "";
  }
}

/******************************************************************************
 * Валидация номера счета в WebMoney WMU
 *****************************************************************************/
function ValidPayeeAccount19(obj)
{
  var el = document.getElementById(obj);
  if (/^[U]{1}[0-9]{12}$/.test(el.value))
  {
    document.forms['xchg'].submit();
  }
  else
  {
    alert("Неверно заполнено поле 'Номер счета'(смотрите пример)!");
    el.value = "";
  }
}

/******************************************************************************
 * Валидация номера счета в WebMoney WME
 *****************************************************************************/
function ValidPayeeAccount38(obj)
{
  var el = document.getElementById(obj);
  if (/^[E]{1}[0-9]{12}$/.test(el.value))
  {
    document.forms['xchg'].submit();
  }
  else
  {
    alert("Неверно заполнено поле 'Номер счета'(смотрите пример)!");
    el.value = "";
  }
}

/******************************************************************************
 * Валидация номера счета в MoneyMail
 *****************************************************************************/
function ValidPayeeAccount25(obj)
{
  var el = document.getElementById(obj);
  if (/^[a-z][a-z|0-9|]*([_][a-z|0-9]+)*([.][a-z|0-9]+([_][a-z|0-9]+)*)?@[a-z][a-z|0-9|]*\.([a-z][a-z|0-9]*(\.[a-z][a-z|0-9]*)?)$/.test(el.value))
  {
    document.forms['xchg'].submit();
  }
  else
  {
    alert("Неверно заполнено поле 'Номер счета'(смотрите пример)!");
    el.value = "";
  }
}

/******************************************************************************
 * Валидация номера счета в LiqPay UAH
 *****************************************************************************/
function ValidPayeeAccount26(obj)
{
  var el = document.getElementById(obj);
  if (/^[+]{1}[0-9]{11,13}$/.test(el.value))
  {
    document.forms['xchg'].submit();
  }
  else
  {
    alert("Неверно заполнено поле 'Номер счета'(смотрите пример)!");
    el.value = "";
  }
}

/******************************************************************************
 * Валидация номера счета в LiqPay USD
 *****************************************************************************/
function ValidPayeeAccount29(obj)
{
  var el = document.getElementById(obj);
  if (/^[+]{1}[0-9]{11,13}$/.test(el.value))
  {
    document.forms['xchg'].submit();
  }
  else
  {
    alert("Неверно заполнено поле 'Номер счета'(смотрите пример)!");
    el.value = "";
  }
}

/******************************************************************************
 * Валидация номера счета в LiqPay EUR
 *****************************************************************************/
function ValidPayeeAccount30(obj)
{
  var el = document.getElementById(obj);
  if (/^[+]{1}[0-9]{11,13}$/.test(el.value))
  {
    document.forms['xchg'].submit();
  }
  else
  {
    alert("Неверно заполнено поле 'Номер счета'(смотрите пример)!");
    el.value = "";
  }
}

/******************************************************************************
 * Валидация номера счета в LiqPay RUR
 *****************************************************************************/
function ValidPayeeAccount31(obj)
{
  var el = document.getElementById(obj);
  if (/^[+]{1}[0-9]{11,13}$/.test(el.value))
  {
    document.forms['xchg'].submit();
  }
  else
  {
    alert("Неверно заполнено поле 'Номер счета'(смотрите пример)!");
    el.value = "";
  }
}

/******************************************************************************
 * Валидация номера счета в Visa, MasterCard
 *****************************************************************************/
function ValidPayeeAccount27(obj)
{
  var el = document.getElementById(obj);
  if (/^[+]{1}[0-9]{11,13}$/.test(el.value))
  {
    document.forms['xchg'].submit();
  }
  else
  {
    alert("Неверно заполнено поле 'Номер счета'(смотрите пример)!");
    el.value = "";
  }
}

/******************************************************************************
 * Валидация номера счета в Visa UAH
 *****************************************************************************/
function ValidPayeeAccount28(obj)
{
  var el = document.getElementById(obj);
  if (/^[+]{1}[0-9]{11,13}$/.test(el.value))
  {
    document.forms['xchg'].submit();
  }
  else
  {
    alert("Неверно заполнено поле 'Номер счета'(смотрите пример)!");
    el.value = "";
  }
}

/******************************************************************************
 * Валидация номера счета в Visa USD
 *****************************************************************************/
function ValidPayeeAccount36(obj)
{
  var el = document.getElementById(obj);
  if (/^[+]{1}[0-9]{11,13}$/.test(el.value))
  {
    document.forms['xchg'].submit();
  }
  else
  {
    alert("Неверно заполнено поле 'Номер счета'(смотрите пример)!");
    el.value = "";
  }
}

/******************************************************************************
 * Валидация номера счета в WebPass USD
 *****************************************************************************/
function ValidPayeeAccount37(obj)
{
  var el = document.getElementById(obj);
  if (/^[a-zA-Z]{2}[0-9]{7}$/.test(el.value))
  {
    document.forms['xchg'].submit();
  }
  else
  {
    alert("Неверно заполнено поле 'Номер счета'(смотрите пример)!");
    el.value = "";
  }
}

/******************************************************************************
 * Валидация номера счета в NSMEP
 *****************************************************************************/
function ValidPayeeAccount44(obj)
{
  var el = document.getElementById(obj);
  if (/^[0-9]{19}$/.test(el.value))
  {
    document.forms['xchg'].submit();
  }
  else
  {
    alert("Неверно заполнено поле 'Номер счета'(смотрите пример)!");
    el.value = "";
  }
}

/******************************************************************************
 * Aалидация номеdа счета в PerfectMoney USD
 *****************************************************************************/
function ValidPayeeAccount41(obj)
{
  var el = document.getElementById(obj);
  if (/^[U]{1}[0-9]{7}$/.test(el.value))
  {
    document.forms['xchg'].submit();
  }
  else
  {
    alert("Iевеdно заполнено поле 'Iомеd счета'(смотdите пdимеd)!");
    el.value = "";
  }
}

/******************************************************************************
 * Aалидация номеdа счета в PerfectMoney EUR
 *****************************************************************************/
function ValidPayeeAccount42(obj)
{
  var el = document.getElementById(obj);
  if (/^[E]{1}[0-9]{7}$/.test(el.value))
  {
    document.forms['xchg'].submit();
  }
  else
  {
    alert("Iевеdно заполнено поле 'Iомеd счета'(смотdите пdимеd)!");
    el.value = "";
  }
}

/******************************************************************************
 * Aалидация номеdа счета в Liberty Reserve
 *****************************************************************************/
function ValidPayeeAccount45(obj)
{
  var el = document.getElementById(obj);
  if (/^[U|X]{1}[0-9]{7}$/.test(el.value))
  {
    document.forms['xchg'].submit();
  }
  else
  {
    alert("Iевеdно заполнено поле 'Iомеd счета'(смотdите пdимеd)!");
    el.value = "";
  }
}


function ValidPayeeAccount49(obj)
{
  var el = document.getElementById(obj);
  if (/^[0-9]{12}$/.test(el.value))
  {
    document.forms['xchg'].submit();
  }
  else
  {
    alert("Iевеdно заполнено поле 'Iомеd счета'(смотdите пdимеd)!");
    el.value = "";
  }
}

function ValidPayeeAccount50(obj)
{
  var el = document.getElementById(obj);
  if (/^[0-9]{12}$/.test(el.value))
  {
    document.forms['xchg'].submit();
  }
  else
  {
    alert("Iевеdно заполнено поле 'Iомеd счета'(смотdите пdимеd)!");
    el.value = "";
  }
}

function ValidPayeeAccount51(obj)
{
  var el = document.getElementById(obj);
  if (/^[0-9]{12}$/.test(el.value))
  {
    document.forms['xchg'].submit();
  }
  else
  {
    alert("Iевеdно заполнено поле 'Iомеd счета'(смотdите пdимеd)!");
    el.value = "";
  }
}

function ValidPayeeAccount54(obj)
{
  var el = document.getElementById(obj);
  if (isValidVisa(el.value))
  {
    document.forms['xchg'].submit();
  }
  else
  {
    alert("Неверно заполнено поле 'Номер счета' (смотрите пример)!");
    el.value = "";
  }
}

function luhnCheckSum(sCardNum) {

	var iOddSum = 0;
	var iEvenSum = 0;
	var bIsOdd = true;

	for (var i=sCardNum.length-1; i >= 0; i--) {

		var iNum = parseInt(sCardNum.charAt(i));

		if (bIsOdd) {
			iOddSum += iNum;
		} else {
			iNum = iNum * 2;
			if (iNum > 9) {
				iNum = eval(iNum.toString().split("").join("+"));
			}
			iEvenSum += iNum;
		}

		bIsOdd = !bIsOdd;
	}

	return ((iEvenSum + iOddSum) % 10 == 0);
}

function isValidVisa(sText) {
	var reVisa = /^(4\d{12}(?:\d{3})?)$/;

	if (reVisa.test(sText)) {
		return luhnCheckSum(RegExp.$1);
	} else {
		return false;
	}
}

function ValidPayeeAccount58(obj)
{
  var el = document.getElementById(obj);
  if (/^\d{11,15}$/.test(el.value))
  {
    document.forms['xchg'].submit();
  }
  else
  {
    alert("Неверно заполнено поле 'Номер счета'(смотрите пример)!");
    el.value = "";
  }
}

