// JavaScript Document

function ValidarAlfanumerico(value) {
	/*
    var numeros="0123456789 ";
	for (var i=0;i<cadena.length;i++) {
		if (numeros.indexOf(cadena.substring(i,i+1))==-1){
			return false; //si hay algúna letra
		}
	}
	return true;
    */
   if (value == null || value == '' || !value.toString().match(/^[-]?\d*\.?\d*$/)) return false;
   return true;

}

function ValidarTexto(cadena) {
	var numeros="aáäèbcdeéëèfghiíïìjklmnñoóöòpqrstuúüùvwxyzçAÁÄÀBCDEÉËÈFGHIÍÏÌJKLMNÑOÓÖÒPQRSTUÚÜÙVWXYZÇ ";
	for (var i=0;i<cadena.length;i++) {
		if (numeros.indexOf(cadena.substring(i,i+1))==-1){
			return false; //si hay algúna letra
		}
	}
	return true;
}

function checkMail(valor){
	if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(valor)){
		return true;
	} else {
		return false;
	}
}

function checkProhib(cadena){
	var caracteres="\"\'*\\$#%<>;";
	for (var i=0;i<cadena.length;i++) {
		if (caracteres.indexOf(cadena.substring(i,i+1))!=-1){
			return false; //si hay algún caracter extraño
		}
	}
	return true;
}

function abrir(pagina,ancho,alto){
	window.open(pagina+".html",pagina,"width="+ancho+",height="+alto)
}

function checkDia (campo){
	if (ValidarAlfanumerico(campo) && campo < 32) return true;
	return false;
}
function checkMes (campo){
	if (ValidarAlfanumerico(campo) && campo < 13) return true;
	return false;
}
function checkAnio (campo){
	if (ValidarAlfanumerico(campo) && campo > 1900) return true;
	return false;
}

function ValidarDNI(nif1){
   var cadena  = "";
   var letras='TRWAGMYFPDXBNJZSQVHLCKET'
   var NumDNI=0;
   var Indice=0;
   nif1 = nif1.toUpperCase();
   if( nif1.charAt(0) != 'X') { // NIF PARA ESPAÑOLES
      cadena += nif1;
   } else { // NIF PARA EXTRANJEROS RESIDENTES
      cadena += nif1.substring(1,11);
   }
   correcto = cadena.charAt(cadena.length-1);
   correcto = correcto.toUpperCase();
   NumDNI = parseInt(cadena,10);
   Indice = NumDNI - (23 * parseInt(NumDNI/23,10));
   if( (Indice >= 0) && (Indice < 24) ) {
      if( letras.charAt(Indice) == correcto) {
         // valor correcto devuelve la letra directamente
         return true;
      } else {
         //valor incorrecto
         if( nif1.charAt(0) != 'X') {
            alert("La letra o el numero del NIF proporcionados no son correctos"); 
			return false;
         } else {
            alert("La letra o el numero del NIE proporcionados no son correctos");
			return false;
         }
         
      }
   } else {
         alert("El NIF/NIE proporcionado no es correcto");
      return false;
   }
}	 
