
// Funciones para validar formularios.

function isValidDay(sText) {
	var reDay =  /0[1-9]|[12][0-9]|3[01]/;
	return reDay.test(sText);
}

function isValidMonth(sText) {
	var reMonth =  /0[1-9]|1[0-2]/;
	return reMonth.test(sText);
}

function isValidYear(year) {
	if (year == "") {
 		return false;
	}
	
	if (year.length != 4) {
 		return false;
 	}

	if ((isNaN(year)) || (parseFloat(year) < 1900) || (parseFloat(year) > 2500)) {
		return false;
	}	
	return true;
}

function isValidMonthYear(valor) {
	if (valor == "") {
 		return false;
 	}
 	
 	// Month
 	var month = valor.substring(0, valor.indexOf("-"));
 	
  // Year
  var year = valor.substring(valor.lastIndexOf("-") + 1, valor.length);

 	if ((year == "") || (month == "")) {
 		return false;
	}
	
	// Year validation
	if (year == "") {
 		return false;
	}
	
	if (year.length != 4) {
 		return false;
 	}
 	
	if ((isNaN(year)) || (parseFloat(year) < 1900) || (parseFloat(year) > 2500)) {
		return false;
	}	
	
	// Month validation
	if (month == "") {
 		return false;
	}
	
	if (month.length != 2) {
 		return false;
 	}
	
	if ((isNaN(month)) || (parseFloat(month) < 1) || (parseFloat(month) > 12)) {
		return false;
	}
	
	return true;
}

function isValidDate(valor){

	if(valor == ""){
		return false;
	}

	// Año
	var day = valor.substring(valor.lastIndexOf("-") + 1, valor.length);
	// Mes
	var month = valor.substring(valor.indexOf("-") + 1, valor.lastIndexOf("-"));
	// Día
	var year = valor.substring(0, valor.indexOf("-"));

	// Valido formato del Mes
	if ((year == "") || (month == "") || (day == "")) {
		return false;
	}

	// Valido formato del Mes
	if ((isNaN(month)) || (parseFloat(month) < 1) || (parseFloat(month) > 12)) {
		return false;
	}

	// Valido formato del Día
	if ((isNaN(day)) || (parseFloat(day) < 1) || (parseFloat(day) > 31)) {
		return false;
	}

	if ((parseFloat(month) == 2) && (parseFloat(day) > 29)) {
		return false;
	}

	// Validamos los días de Abril, Junio, Septiembre y Noviembre.
	if ((parseFloat(month) == 4) || (parseFloat(month) == 6) || (parseFloat(month) == 9) || (parseFloat(month) == 11)) {

		if (parseFloat(day) > 30) {
			return false;
		}

	}

	return true;

}

function isValidURL(sText) {
	var reText = /http:\/\//;
	return reText.test(sText);
}
	
function isEmpty(sText) {
	if (sText == "") {
		return true;
	}	
	return false;
}

function isValidFile(sNameFile,arrExt) { 
	//	Recupero la extensi
	sExt = (sNameFile.substring(sNameFile.lastIndexOf("."))).toLowerCase(); 
	
  //	Creo un array con las extensiones validas.
  arrValidExt = new Array;
  for(i in arrExt){
  	arrValidExt[i] = arrExt[i];
  }  
    
  // Compruebo si la extensire las permitidas.
  bIsValidExt = false; 
  for (i=0; i<arrValidExt.length; i++) { 
  	if (arrValidExt[i] == sExt) { 
    	bIsValidExt = true; 
    	return true; 
    } 
  }
  return false;
} 

function isValidEmail(sText) {
	var valor;
	var posicion1;
	var posicion2;
	var valuser;
	var valhost;
	var valdomain;
	var valserv;
	
	valor = sText;
	if(valor == ""){
		return false;
	}
	
	posicion1 = valor.indexOf("@");
	if(posicion1 == -1) {
		return false;
	}
	if(posicion1 < 1) {
		return false;
	}
	
	valuser = valor.substring(0, posicion1);
	
	valserv = valor.substring(posicion1+ 1, valor.length);
	posicion2 = valserv.indexOf(".");
	if(posicion2 == -1) {
		return false;
	}
	if(posicion2 < 1) {
		return false;
	}
	
	valhost = valserv.substring(0, posicion2);
	valdomain = valserv.substring(posicion2 + 1, valor.length);
	if((valuser == "") || (valhost == "") || (valdomain == "")){
		return false;
	}
	if(valdomain.length < 2) {
		return false;
	}
	return true;
}



function isValidPrice(sText) {
	if(sText==""){
		return false;
	}
	var rePrice = /^([0-9])*[.]?[0-9]*$/;
	return rePrice.test(sText);
}

function isValidColorCode(sText) {
	if(sText==""){
		return false;
	}
	var reColor = /#([0-9A-Fa-f]){6}/;
	return reColor.test(sText);
}


function isValidPass(sText) {
	var reText =  /(?!^[0-9]*$)(?!^[a-zA-Z]*$)^([a-zA-Z0-9]{8,10})$/;
	var reText =  /[abcdefghijklmnopqrstuvwxyz_0-9]/;
	return reText.test(sText);
}



function isValidInt(sText) {
	if (isNaN(sText)) {
		return false;
	}	
	return true;
}


function isValidNum(sText) {
	if(sText==""){
		return false;
	}
	var rePrice = /^[0-9]*$/;
	return rePrice.test(sText);
}

function isValidNumTarjeta(sText) {
	if(sText==""){
		return false;
	}
	
	var cadena = sText;
	var longitud = cadena.length;
	var cifra = null;
	var cifra_cad = null;
	var suma = 0;
	for (var i = 0; i < longitud; i += 2){
		cifra = parseInt(cadena.charAt(i)) * 2;
		if (cifra > 9){ 
			cifra_cad = cifra.toString();
			cifra = parseInt(cifra_cad.charAt(0)) + parseInt(cifra_cad.charAt(1));
		}
		suma+=cifra;
	}
	for (var i = 1; i < longitud; i += 2){
		suma += parseInt(cadena.charAt(i));
	}
	
	if ((suma % 10) == 0){ 
		return true;
	} else {
		return false;
	}
	
	/*
	var rePrice = /^[0-9]{16}$/;
	return rePrice.test(sText);
	*/
	
}

function isValidTarjetaCad(sText) {
	if(sText==""){
		return false;
	}
	var rePrice = /^(0[1-9]|1[0-2])([0-9]{2})$/;
	return rePrice.test(sText);
}

function isValidNumTarjetaCancel(sText) {
	if(sText==""){
		return false;
	}
	var rePrice = /^[0-9]{4}$/;
	return rePrice.test(sText);
}

// FIN Funciones para validar formularios.
