function emailCheck (emailStr) {
var checkTLD=1;
var
knownDomsPat=/^(com|net|org|edu|int|mil|gov|arpa|biz|aero|name|coop|info|pro|museum|es|ar)$/;
var emailPat=/^(.+)@(.+)$/;
var specialChars="\\(\\)><@,;:\\\\\\\"\\.\\[\\]";
var validChars="\[^\\s" + specialChars + "\]";
var quotedUser="(\"[^\"]*\")";
var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/;
var atom=validChars + '+';
var word="(" + atom + "|" + quotedUser + ")";
var userPat=new RegExp("^" + word + "(\\." + word + ")*$");
var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$");
var atom=validChars + '+';
var matchArray=emailStr.match(emailPat);

if (matchArray==null) {

alert("La dirección Email parece incorrecta (verifique @ y punto)");
return false;
}
var user=matchArray[1];
var domain=matchArray[2];

for (i=0; i<user.length; i++) {
if (user.charCodeAt(i)>127) {
alert("El nombre de usuario contiene caracteres invalidos.");
return false;
   }
}
for (i=0; i<domain.length; i++) {
if (domain.charCodeAt(i)>127) {
alert("El nombre de dominio contiene caracteres invalidos.");
return false;
   }
}

if (user.match(userPat)==null) {

alert("El nombre de usuario no parece valido.");
return false;
}

var IPArray=domain.match(ipDomainPat);
if (IPArray!=null) {

for (var i=1;i<=4;i++) {
if (IPArray[i]>255) {
alert("La dirección IP es invalida!");
return false;
   }
}
return true;
}

var atomPat=new RegExp("^" + atom + "$");
var domArr=domain.split(".");
var len=domArr.length;
for (i=0;i<len;i++) {
if (domArr[i].search(atomPat)==-1) {
alert("El nombre de dominio no es valido.");
return false;
   }
}


if (checkTLD && domArr[domArr.length-1].length!=2 && 
domArr[domArr.length-1].search(knownDomsPat)==-1) {
alert("La dirección debe contener un dominio válido punto y una extension de pais o de tipo.");
return false;
}
if (len<2) {
alert("La direccion no contiene un nombre de servidor!");
return false;
}

return true;
}

	function comprobarcif(cif){
	mal=false;
letras="ABCDEFGHKLMNPQS"
caracteres=[];

for(a=0;a<cif.length;a++){
caracteres[a]=cif.charAt(a);
}
if(letras.indexOf(caracteres[0])==-1){
esto=cif;
validar(esto);
return false;
}
resultadoImpares=0;
for(a=1;a<8;a=a+2){
numero=caracteres[a]*2;
numero=parseInt(numero/10)+numero%10;
resultadoImpares+=numero
}

resultadoImpares=parseInt(resultadoImpares/10)+resultadoImpares%10;

numeroPar=0;
for(a=2;a<8;a=a+2){
numeroPar+=parseInt(caracteres[a]);
}
total=resultadoImpares+numeroPar;
total=11-(total%10)+1;
if(total!=caracteres[8]){mal=true;}
if(mal){
pepe=alert("Parece ser que el C.I.F. no es correcto.\nPor favor corrijalo.");
document.introducir.CIF.focus();return false
}}

function validar(abc)
{
dni=abc.substring(0,abc.length-1)
let=abc.charAt(abc.length-1)
if (!isNaN(let))
 {
  alert('Falta la letra o está en minúscula')
  document.formulario.nif.focus()
  return false
 }
else
 {
  cadena="TRWAGMYFPDXBNJZSQVHLCKET"
  posicion = dni % 23
  letra = cadena.substring(posicion,posicion+1)
  if (letra!=let.toUpperCase())
   {
    alert("Nif no válido")
    document.formulario.nif.focus()
    return false
   }
 }
//alert("Nif válido")
}


function ChekPass(cadena) {
	var minuscula = false
	var mayuscula = false
	var numero = false
	var caracter = false
	
	//recorre cada caracter de la cadena
	for(i=0;i<cadena.length;i++) {
		//si el codigo ASCII es el de las minusculas, pone a true el flag de minusculas
		if(cadena.charCodeAt(i)>=97 && cadena.charCodeAt(i)<=122) {
			minuscula=true
		//si el codigo ASCII es el de las mayusculas, pone a true el flag de mayusculas
		} else if(cadena.charCodeAt(i)>=65 && cadena.charCodeAt(i)<=90) {
			mayuscula=true
		//si el codigo ASCII es el de loss numeros, pone a true el flag de numeros
		} else if(cadena.charCodeAt(i)>=48 && cadena.charCodeAt(i)<=57) {
			numero=true
		//si no es ninguno de los anteriores, a true el flag de caracter simbolico
		} else 
			caracter=true
	}

	if(caracter==true && numero==true && minuscula==true && mayuscula==true) {
		//alert("La password elegida contiene todos los caracteres requeridos.")
		return true	//cambiar false por true para hacer el submit
	} else {
		alert("La password elegida no es segura. Introduzca al menos una mayúscula, una minúscula, un número y un carácter simbólico.")
		return false
	}
}

