 //****************************************************************
 //  Acción: Valida que un campo no este vacío
 //         Saca un mensaje y le pone el foco a dicho campo
 //****************************************************************
  function VacioMsg(campo,mensaje)  {
     if ((campo==null) || (campo.value=="")){
	    alert("El campo " +  mensaje + " no puede estar vacio");
		campo.focus();
		return 0;
	 }else{
		 return 1;
	 }
  }

//****************************************************************
// Nombre: BlancosMsg
// Acción: Valida que el valor pasado, no sea todo espacios en 
//         blanco 
//****************************************************************

function BlancosMsg(campo,mensaje){
	for(var i=0;i<campo.length;i++){
		if(campo.charAt(i)!=" "){
				return(true);		
		}
	}
	alert("El campo " +  mensaje + " no puede estar vacio");
	return(false);
}


//******************************************************************************************
// FUNCION QUE VALIDA SI EL CORREO ELECTRONICO INTRODUCIDO EN UN FORMULARIO
// COMO PARAMETRO RECIBE LA CADENA QUE REPRESENTA EL MAIL, Y DEVUELVE:
//		- TRUE SI LA CADENA DE TEXTO ES UN CORREO CORRECTO
//		- FALSE SI LA CADENA DE TEXTO NO ES UN CORREO CORRECTO
//******************************************************************************************
function checkEmail(mailform){
	ok=true;
	pos=0;
	if(mailform.value==""){
		ok=false;
	}
	else{
		mail=mailform.value;
		at_pos=mail.indexOf("@");
		dot_pos=mail.indexOf(".");
		if(at_pos<1 || dot_pos<1){
			ok=false;
		}
		else{
			mail=mailform.value;
			condition="yes";
			var at_count=0;
			var dot_count=0;
			var temp=0;
			for(var i=0;i<mail.length;i++){
			//alert(mail.charCodeAt(i));
				//if((mail.charCodeAt(i)>0 && mail.charCodeAt(i)<48)||(mail.charCodeAt(i)>57 && mail.charCodeAt(i)<65)||(mail.charCodeAt(i)>91 && mail.charCodeAt(i)<97)||mail.charCodeAt(i)>122){
				//if((mail.charCodeAt(i)>0 && mail.charCodeAt(i)<44)||(mail.charCodeAt(i)>57 && mail.charCodeAt(i)<65)||(mail.charCodeAt(i)>91 && mail.charCodeAt(i)<97)||mail.charCodeAt(i)>122||mail.charCodeAt(i)==46){
				if((mail.charCodeAt(i)>0 && mail.charCodeAt(i)<44)||(mail.charCodeAt(i)>57 && mail.charCodeAt(i)<65)||(mail.charCodeAt(i)>91 && mail.charCodeAt(i)<95) || (mail.charCodeAt(i)>95 && mail.charCodeAt(i)<97)||mail.charCodeAt(i)>122||mail.charCodeAt(i)==46){
					//if(mail.charAt(i)=="@"||mail.charAt(i)=="."){
					if(mail.charAt(i)=="@"){at_count++};
					if(mail.charAt(i)=="."){dot_count++};
					if((mail.charCodeAt(i)==64)||(mail.charCodeAt(i)==46)){
							//if(mail.charAt(i)=="@"){at_count++}else{dot_count++} // counts the no. of times @ and . appears in email
							if(dot_count>=1){
								dot_pos=i;
								if((dot_pos>at_pos) && temp==0){
									pos=dot_pos-at_pos;
									temp++;
								}								
							}
					}
					else{
						condition="no";
						i=mail.length;
					}
				}
			}
			if(condition=="no"){
				ok=false;
			}
			else{
				if(at_count>1){
					ok=false;
				}
				else{
					if(pos<2){
						ok=false;
						i=mail.length;
					}
					else{	
						count=dot_pos+1;
						domain="";
						for(count;count<mail.length;count++){
							domain=domain+mail.charAt(count);
						}
						dom=new Array("au","com","net","org","edu","in","mil","gov","arpa","biz","aero","name","coop","info","pro","museum");
						error="yes";
						for(var k=0;k<dom.length;k++){
							if(domain==dom[k]){
								k=dom.length;
								error="no";
							}
						}
						if((error=="yes" && (domain.length>2)) || (domain.length<2)){
							ok=false;
						}								
					}
				}
			}
		}
	}
	return ok;
} 
//****************************************************************************************** 

function valida_envia(){
 	// Valido el nombre
	if (!(VacioMsg(document.fvalida.nombre,"'Nombre'"))|| !(BlancosMsg(document.fvalida.nombre.value,"'Nombre'"))) {
	     return (false);
	}
	
	//Valido el asunto
	if (!(VacioMsg(document.fvalida.asunto,"'Asunto'"))|| !(BlancosMsg(document.fvalida.asunto.value,"'Asunto'")))  {
	     return (false);
	}
	
	//Validamos el teléfono (el campo puede estar vacío)
	if ((document.fvalida.telefono.value.length > 0) && (document.fvalida.telefono.value.length != 9)){
		alert("Longitud del campo Teléfono incorrecta. El teléfono debe contener 9 dígitos");
		document.fvalida.telefono.focus();
	  return (false);
	}
	
	//Validamos el email
	if (!(VacioMsg(document.fvalida.email,"'E-mail'"))|| !(BlancosMsg(document.fvalida.email.value,"'E-mail'"))) {
	     return (false);
	}
	if (!(checkEmail(document.fvalida.email))) {
		alert('El correo electrónico es un dato importante para poder contactar con usted. Por favor asegurese que sea correcto');
		document.fvalida.email.focus();
	  	return (false);
	} 
	
	//Valido la consulta
	if (!(VacioMsg(document.fvalida.consulta,"'Consulta'"))|| !(BlancosMsg(document.fvalida.consulta.value,"'Consulta'")))  {
	     return (false);
	}
	
	//el formulario se envia
	document.fvalida.submit();

}
