/******************** VALIDATE DATE FUNCTIONS **********************/

function ValidateMonth(oTxt)
{ 
    var bOk = false; 
    var nMonth = parseInt(oTxt.value.split('/')[0],10); 
    bOk = bOk || ((nMonth >= 1) && (nMonth <= 12)); 
    return bOk; 
} 

function ValidateYear(oTxt)
{ 
	var bOk = false; 
		
	var sYear=oTxt.value;
    var nYear = parseInt(sYear); 
    if(!isNaN(nYear)){
		if (((sYear.length==4)&&(nYear>-1) &&(nYear<100))||((nYear>1900) &&(nYear<2500))) bOk=true;
	}
    return bOk; 
}

/********************END VALIDATE DATE FUNCTIONS **********************/


function ValidatorCreditCardNumber(obj) {
	// Verifica que el número de la tarjeta de crédito/débito tiene un formato válido
	var ccRE=/\W/gi;
	var CCnumber=obj.value.replace(ccRE, "");
	if (isNaN(CCnumber)) {	return false;}
	var v = "0123456789";
	var w = "";
	for (var i=0; i < CCnumber.length; i++) {
		x = CCnumber.charAt(i);
		if (v.indexOf(x,0) != -1)
		w += x;
	}
	var j = w.length / 2;
	if (j < 6.5 || j > 8 || j == 7) return false;
	var k = Math.floor(j);
	var m = Math.ceil(j) - k;
	var c = 0;
	for (var i=0; i<k; i++) {
		a = w.charAt(i*2+m) * 2;
		c += a > 9 ? Math.floor(a/10 + a%10) : a;
	}
	for (var i=0; i<k+m; i++) c += w.charAt(i*2+1-m) * 1;
	return (c%10 == 0);
}

