
   function esDigito(sChr){ 
    var sCod = sChr.charCodeAt(0); 
    return ((sCod > 47) && (sCod < 58)); 
   } 

   function valSep(oTxt){ 
    var bOk = false; 
    var sep1 = oTxt.value.charAt(2); 
    var sep2 = oTxt.value.charAt(5); 
    bOk = bOk || ((sep1 == "-") && (sep2 == "-")); 
    bOk = bOk || ((sep1 == "/") && (sep2 == "/")); 
    return bOk; 
   } 

   function finMes(oTxt){ 
    var nMes = parseInt(oTxt.value.substr(3, 2), 10); 
    var nAno = parseInt(oTxt.value.substr(6), 10); 
    var nRes = 0; 
    switch (nMes){ 
     case 1: nRes = 31; break; 
     case 2: nRes = 28; break; 
     case 3: nRes = 31; break; 
     case 4: nRes = 30; break; 
     case 5: nRes = 31; break; 
     case 6: nRes = 30; break; 
     case 7: nRes = 31; break; 
     case 8: nRes = 31; break; 
     case 9: nRes = 30; break; 
     case 10: nRes = 31; break; 
     case 11: nRes = 30; break; 
     case 12: nRes = 31; break; 
    } 
    return nRes + (((nMes == 2) && (nAno % 4) == 0)? 1: 0); 
   } 

   function valDia(oTxt){ 
    var bOk = false; 
    var nDia = parseInt(oTxt.value.substr(0, 2), 10); 
    bOk = bOk || ((nDia >= 1) && (nDia <= finMes(oTxt))); 
    return bOk; 
   } 

   function valMes(oTxt){ 
    var bOk = false; 
    var nMes = parseInt(oTxt.value.substr(3, 2), 10); 
    bOk = bOk || ((nMes >= 1) && (nMes <= 12)); 
    return bOk; 
   } 

   function valAno(oTxt){
    var bOk = true;
    var nAno = oTxt.value.substr(6);
    bOk = bOk && (nAno.length == 4);
    if (bOk){
     for (var i = 0; i < nAno.length; i++){
      bOk = bOk && esDigito(nAno.charAt(i));
     }
    }
    return bOk;
   }

   function valFecha(oTxt){ 
    var bOk = true; 
    if (oTxt.value != ""){ 
       bOk = bOk && (valAno(oTxt)); 
       bOk = bOk && (valMes(oTxt)); 
       bOk = bOk && (valDia(oTxt)); 
       bOk = bOk && (valSep(oTxt)); 
       if (!bOk){ 
         alert("Fecha inválida"); 
         oTxt.value = ""; 
         oTxt.focus(); 
	     return false;
       } 
       return true;	 	 
    }
	else{ 
		alert("Introduce una Fecha");	
		oTxt.focus();
		bOk = false;		
	}	
	
   } 

function validarEmail(valor) {
  if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(valor)){
   //alert("La dirección de email " + valor    + " es correcta.") 
   return (true)
  } else {
   alert("La dirección de correo electrónico es incorrecta.");
   return (false);
  }
 }

function ValidarMail(Email){
    var Formato = /^([\w-\.])+@([\w-]+\.)+([a-z]){2,4}$/;
	var Comparacion = Formato.test(Email);
    if(Comparacion == false){
          alert("El correo ingresado no es válido");
          return false;
     }
	 else 
	      return true;
}   



  // Determina si un caracter es un número
   function esnumero(car)  {
   	var  numeros="0123456789";
   	return (numeros.indexOf(car)>=0)
   }

   function valEsvacio(texto){
   var bOk = true;
   var tit =texto.value;
	if (tit.length == 0){
		alert("Valor del campo vacio");
		texto.focus();
		bOk = false;		
	}			
   return bOk;	
   }
   
   function valDNI(DNI){
   var bOk = true;
   var tmpDNI =DNI.value;
	if ((tmpDNI.length > 10)||(tmpDNI.length < 8)){
		alert("DNI Incorrecto");
		DNI.value="";		
		DNI.focus();
		bOk = false;		
	}			
   return bOk;	
   }
   function calcularNIF(dni) {
	var letras = 'TRWAGMYFPDXBNJZSQVHLCKE';
	var cadena= this.document.form1.dni.value
	var subcadena = cadena.substring (0, 8);
	var pos = subcadena%23;
	var letra = this.document.form1.dni.value
	letra=letra.substring(8,9)
	if (letra == "")
		{alert("El Nif deu contenir 8 nombres i una lletra en MAJÚSCULES, En cas necessari afegir un 0 si el nº té solament 7 nombres , per exemple: 02345678L");
		return (false);}


	//if (1=1)
	if (letra == letras.substring(pos,pos+1))
	{return (true);}
	else {alert("El Nif deu contenir 8 nombres i una lletra en MAJÚSCULES");
	return (false);}
}
   function valtelefono(telefono){
   var bOk = true;
   var tmptelefono =telefono.value;
	if ((tmptelefono.length > 9)||(tmptelefono.length < 9)){
		alert("Numero de Telefono Incorrecto.\nPor favor Introduzca Solo 9 Digitos Numericos");
		telefono.value="";		
		telefono.focus();
		bOk = false;		
	}			
   return bOk;	
   }
   
   function valCodigoPostal(CodigoPostal){
   var bOk = true;
   var tmpCodigoPostal=CodigoPostal.value;
	if ((tmpCodigoPostal.length > 5)||(tmpCodigoPostal.length < 5)){
		alert("Codigo Postal Incorrecto");
		CodigoPostal.value="";		
		CodigoPostal.focus();
		bOk = false;		
	}			
   return bOk;	
   }
   
   
   function ValNumero(valor){
   var bOk = true;
    if (isNaN(valor.value)){
		alert("El valor Introducido no es Numerico.\nPor favor Introduzca Solo Numeros, sin espacios, ni comas.");
		valor.value="";		
		valor.focus();		
		bOk = false;			
	}
   return bOk;			  
   }

function miReplace(texto, s1, s2){
	return texto.split(s1).join(s2);
}
function textoAlert(cadena){
	cadena=miReplace(cadena,"&aacute;","\u00e1");
	cadena=miReplace(cadena,"&eacute;","\u00e9");
	cadena=miReplace(cadena,"&iacute;","\u00ed");
	cadena=miReplace(cadena,"&oacute;","\u00f3");
	cadena=miReplace(cadena,"&uacute;","\u00fa");
	
	cadena=miReplace(cadena,"&Aacute;","\u00c1");
	cadena=miReplace(cadena,"&Eacute;","\u00c9");
	cadena=miReplace(cadena,"&Iacute;","\u00cd");
	cadena=miReplace(cadena,"&Oacute;","\u00d3");
	cadena=miReplace(cadena,"&Uacute;","\u00da");
	
	cadena=miReplace(cadena,"&uuml;","\u00FC");
	cadena=miReplace(cadena,"&Uuml;","\u00DC");
	
	cadena=miReplace(cadena,"&ccedil;","\u00E7");
	cadena=miReplace(cadena,"&Ccedil;","\u00C7");
	cadena=miReplace(cadena,"&iquest;","\u00BF");
	
	cadena=miReplace(cadena,"&iexcl;","\u00A1");
	
	cadena=miReplace(cadena,"&Egrave;","\u00C8");
	cadena=miReplace(cadena,"&egrave;","\u00E8");
	cadena=miReplace(cadena,"&ograve;","\u00F2");
	cadena=miReplace(cadena,"&Ograve;","\u00D2");
	cadena=miReplace(cadena,"&Agrave;","\u00C0");
	cadena=miReplace(cadena,"&agrave;","\u00E0");
	return cadena;
}