//function that validate if a value is an interger number

function isInteger(iNumber, iSW){
  var isOK = true;
  var iMinus = 0;
  if ((iNumber == null) ||(iNumber == "")){
    isOK = false;
    return isOK; 
  }
  for (j=0; j<iNumber.length; j++) {
    if ((iNumber.substring(j,j+1) != "0") &&
        (iNumber.substring(j,j+1) != "1") &&
        (iNumber.substring(j,j+1) != "2") &&
        (iNumber.substring(j,j+1) != "3") &&
        (iNumber.substring(j,j+1) != "4") &&
        (iNumber.substring(j,j+1) != "5") && 
        (iNumber.substring(j,j+1) != "6") &&
        (iNumber.substring(j,j+1) != "7") &&
        (iNumber.substring(j,j+1) != "8") &&
        (iNumber.substring(j,j+1) != "9") &&
        (iNumber.substring(j,j+1) != "-")) {
       isOK = false
     }
     if (iNumber.substring(j,j+1) == "-" ) iMinus += 1;
  }
  if (iNumber.substring(0,1) == "0") isOK = false
  if (iMinus>1) { 
      isOK = false;   
  }else{
    if (iMinus == 1) {
       if (iNumber.substring(0,1) != "-") { 
            isOK = false;
       }else{
         if (!iSW) isOK = false;
       }
    }
  } 
  return isOK;
}

//function that validate if a value is an double number
function isFloat(iNumber){
  var isOK = true;
  var iMinus = 0;
  var iComma = 0;
  if ((iNumber == null) ||(iNumber == "")){
    isOK = false;
    return isOK; 
  }
  for (j=0; j<iNumber.length; j++) {
    if ((iNumber.substring(j,j+1) != "0") &&
        (iNumber.substring(j,j+1) != "1") &&
        (iNumber.substring(j,j+1) != "2") &&
        (iNumber.substring(j,j+1) != "3") &&
        (iNumber.substring(j,j+1) != "4") &&
        (iNumber.substring(j,j+1) != "5") && 
        (iNumber.substring(j,j+1) != "6") &&
        (iNumber.substring(j,j+1) != "7") &&
        (iNumber.substring(j,j+1) != "8") &&
        (iNumber.substring(j,j+1) != "9") &&
        (iNumber.substring(j,j+1) != ".") &&
        (iNumber.substring(j,j+1) != "-")) {
       isOK = false
     }
     if (iNumber.substring(j,j+1) == "-" ) iMinus += 1;
     if (iNumber.substring(j,j+1) == "." ) iComma += 1;
  }
  if (iMinus>1) isOK = false;
  if (iComma>1) isOK = false;
  return isOK;
}

//function that validate if a value is a valid email address
function isEmail(sValue){
  var isOK = true;
  var iLength = sValue.length;
  var iArr = 0;
  var iDot = 0;
  if (iLength < 6){
     isOK = false;
     return isOK;
  }
  for (j=0; j<iLength; j++){
    if((sValue.substring(j,j+1) == "'") ||
       (sValue.substring(j,j+1) == "*") ||
       (sValue.substring(j,j+1) == "%") ||
       (sValue.substring(j,j+1) == ",") ||
       (sValue.substring(j,j+1) == "&") ||
       (sValue.substring(j,j+1) == "/") ||
       (sValue.substring(j,j+1) == "$") ||
       (sValue.substring(j,j+1) == "=") ||
       (sValue.substring(j,j+1) == "#") ||
       (sValue.substring(j,j+1) == "?") ||
       (sValue.substring(j,j+1) == "¿") ||
       (sValue.substring(j,j+1) == "<") ||
       (sValue.substring(j,j+1) == ">") ||
       (sValue.substring(j,j+1) == "\"")) {
      isOK = false;
     }
     if (sValue.substring(j,j+1) == "@") iArr += 1;
     if (sValue.substring(j,j+1) == ".") iDot += 1;
  }
  if (iArr != 1) isOK = false;
  if (iDot < 1) isOK = false;
  return isOK;
}

//function that validate if a value is a valid date
function isDate(sValue){
  var iLen = sValue.length;
  var isOK = true;
  var iSep = 0;
  if ((iLen < 8) || (iLen > 10)){
    //alert(sValue);
    isOK = false;
    return isOK;
  }
  for (j=0;j<iLen;j++){
    if ((sValue.substring(j,j+1) != "0") &&
        (sValue.substring(j,j+1) != "1") &&
        (sValue.substring(j,j+1) != "2") &&
        (sValue.substring(j,j+1) != "3") &&
        (sValue.substring(j,j+1) != "4") &&
        (sValue.substring(j,j+1) != "5") && 
        (sValue.substring(j,j+1) != "6") &&
        (sValue.substring(j,j+1) != "7") &&
        (sValue.substring(j,j+1) != "8") &&
        (sValue.substring(j,j+1) != "9") &&
        (sValue.substring(j,j+1) != "/")) {
       isOK = false
     }    
     if (sValue.substring(j,j+1) == "/") iSep += 1;
  }
  if (iSep != 2) isOK = false;
  return isOK;
}

//function that validate is a value is a valid credit card number
function isCCardValid(num) {
	var num1, num2, tempNum;
	if (!isInteger(num,false)) {
		return false;
	}
	num1 = ""
	if (!(num.length%2==0)) {
		for(var j=0; j < num.length; j++) {
			if ((j+1)%2==0){
				tempNum = 2 * num.charAt(j);
			}
			else {
				tempNum = 1 * num.charAt(j);
			}
			num1 = num1 + tempNum.toString();
		}
	}
	else{
		for(var j=0; j < num.length; j++){
			if ((j+1)%2==0){
				tempNum = 1 * num.charAt(j);
			}
			else{
				tempNum = 2 * num.charAt(j);
			}
			num1 = num1 + tempNum.toString();
		}
	}
	num2 = 0;
	for (var j = 0; j < num1.length; j++) {
		num2 = num2 + parseInt(num1.charAt(j));
	}
	if (num2%10==0) {
		return true;
	}
	else {
		return false;
	}
}

//function that validate if a value is a valid text required
function isRequired(sValue, iSize){
  var isOK = true;
  var iSpace = 0;
  if ((sValue == null) || (sValue == "")){
    isOK = false;
    return isOK;
  }
  if (sValue.length >= iSize){
    isOK = false;
    return isOK;
  }
  for (j=0; j<sValue.length; j++){
    if((sValue.substring(j,j+1) == "'") ||
       (sValue.substring(j,j+1) == "=") ||
       (sValue.substring(j,j+1) == "%") ||
       (sValue.substring(j,j+1) == "&") || 
       (sValue.substring(j,j+1) == "\"")){
      isOK = false;
    }
    if (sValue.substring(j,j+1) == " ") iSpace +=1; 
  }
  if (iSpace == sValue.length)  isOK = false;
  return isOK;
}

//function that validate if the length is the correct size
function isValid(sValue, iSize){
  var isOK = true;
  if (sValue.length >= iSize) {
    isOK = false;
    return isOK;
  }
  return isOK;
}


function isNumber(value) {
  var isNum = true;
  if ((value == null) || (value == "") || (value==".") || (value == "-")){
   isNum = false
   return isNum;
  }	

  for (var i=0; i < value.length; i++) {  
    if ((value.charAt(i) != "0") &&
	(value.charAt(i) != "1") &&
	(value.charAt(i) != "2") &&
	(value.charAt(i) != "3") &&
	(value.charAt(i) != "4") &&
	(value.charAt(i) != "5") &&
	(value.charAt(i) != "6") &&
	(value.charAt(i) != "7") &&
	(value.charAt(i) != "8") &&
	(value.charAt(i) != "9") &&
	(value.charAt(i) != ".") &&
	(value.charAt(i) != "-")) {
         	isNum = false;
        }
  }
  var iComa = 0;
  var pMenos= -1;
  var iMenos = 0;
  if (isNum) {
    for (var i=0; i < value.length; i++) {
      if (value.charAt(i) == ".") iComa++;
      if (value.charAt(i) == "-") {
        iMenos ++;
        pMenos = i;
      }
    } 
    if (iComa > 1) isNum = false;
    if (iMenos> 1) isNum = false;
    if (iMenos==1){ 
       if (pMenos != 0) isNum = false;
    }
  }
  
  
   
  return isNum;
}

function isCardExpires(iValue)
{//alert(iValue);
  var value = iValue;
  var isNum = true;
  if ((value == null) || (value == "") || (value==".") || (value == "-")){
   isNum = false;
   return isNum;
  }	
  if (value.length != 4){
    isNum = false;
    return isNum;
  }

  for (var i=0; i < value.length; i++) {  
    if ((value.charAt(i) != "0") &&
	(value.charAt(i) != "1") &&
	(value.charAt(i) != "2") &&
	(value.charAt(i) != "3") &&
	(value.charAt(i) != "4") &&
	(value.charAt(i) != "5") &&
	(value.charAt(i) != "6") &&
	(value.charAt(i) != "7") &&
	(value.charAt(i) != "8") &&
	(value.charAt(i) != "9")){
         	isNum = false;
        }
  }
  var xMonth = value.charAt(0) + "" + value.charAt(1);
  iMonth = parseInt(xMonth);
  if (!((iMonth >= 1) && (iMonth <=12))){
    isNum = false;
  }
  return isNum;
}

function isCVV2Valid(iValue){
  var value = iValue.Trim();
  var isNum = true;
  if ((value == null) || (value == "") || (value==".") || (value == "-")){
   isNum = false;
   return isNum;
  }	
  if (!((value.length == 4)||(value.length == 3))){
    isNum = false;
    return isNum;
  }
  
  for (var i=0; i < value.length; i++) {  
    if ((value.charAt(i) != "0") &&
	(value.charAt(i) != "1") &&
	(value.charAt(i) != "2") &&
	(value.charAt(i) != "3") &&
	(value.charAt(i) != "4") &&
	(value.charAt(i) != "5") &&
	(value.charAt(i) != "6") &&
	(value.charAt(i) != "7") &&
	(value.charAt(i) != "8") &&
	(value.charAt(i) != "9")){
         	isNum = false;
        }
  }
  return isNum;
}