﻿function validarEmail (emailStr) {
	// Patrones de las expresiones regulares
	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 matchArray=emailStr.match(emailPat);
	if (matchArray==null) {
		return false;
	}
	var user=matchArray[1];
	var domain=matchArray[2];

	// Si el user "user" es valido 
	if (user.match(userPat)==null) {
		return false;
	}

	// Si la dirección IP es válida 
	var IPArray=domain.match(ipDomainPat);
	if (IPArray!=null) {
		for (var i=1;i<=4;i++) {
			if (IPArray[i]>255) {
				alert("IP de destino inválida");
				return false;
			}
		}
		return true;
	}


	var domainArray=domain.match(domainPat);
	if (domainArray==null) {
	alert("El dominio parece no ser válido.");
	return false;
	}

	var atomPat=new RegExp(atom,"g");
	var domArr=domain.match(atomPat);
	var len=domArr.length;

	if (domArr[domArr.length-1].length<2 || domArr[domArr.length-1].length>3) { 
		return false;
	}
	//si el dominio no tiene al menos dos letras
	if (len<2) {
		return false;
	}

	return true;
}
// ----------------------------------------------------------------------------------------------------------------
function chequearformDemo(formulario){
   
	if (formulario.contacto.value=="" || formulario.telefono.value=="" 
	|| formulario.mail.value==""){
		alert('Los Campos Son Obligatorios, Asegurese de que están completados.');
		return;
	}
	if (formulario.telefono.value.length<9  ||  validartelefono(formulario.telefono.value)){
		alert('El teléfono introducido es incorrecto. Deben introducir 9 números (sin espacios) que correspondan a un número de teléfono válido en España.');
		return;	
	}
		
		
	if (! validarEmail(formulario.mail.value)){
		alert('El formato del e-mail es incorrecto.');
		return;
	}  		
	else{			   
		formulario.submit();
		return true;
	}
}

//-----------------------------------------------------------------------
function validartelefono(digitos){
 if  (digitos.substr(0, 1) == '6'  || digitos.substr(0, 1) == '9')
 	{
		 for (i=0;i<digitos.length;i++)
			 if (digitos.charAt(i)<'0' || digitos.charAt(i)>'9'){
				return(1);
			 }   
		 return(0);
	 }   		 
	else {
 			return(1);
 		}	 
}