// JavaScript Document

function ChecaNull(TT) {
   var checkStr = TT.value;
   if (checkStr.length == 0) return true;
   return false;
   }
function ChecaCero(TT) {
   var checkStr = TT.value;
   if (checkStr == '0') return true;
   return false;
   }
function ChecaEmail(TT) {
   var checkStr = TT.value;
   var arroba = 0;	//Lleva la cuenta de las arobas
   var punto = 0;	//lleva la cuenta de los  puntos
   var error= false;	
   var pos = 0;
	//Busca arrobas
       for (i = 0;  i < checkStr.length;  i++){
 	ch = checkStr.charAt(i);
        if (ch == "@" ) {
		++arroba;
		if ( i < 2 ) return false;// Se encontró la arroba antes de lo que se esperaba
		pos = i; //guardamos la posición del arroba
		}
        if (ch == "." ) {
	        if (arroba == 0 ) continue //No importan puntos antes de arroba
		++punto;
		if ( punto == 1 && i > checkStr.length-3 ) return false; //Se encontró un sólo punto muy al final
		if ( pos == i-1 ) return false; // arroba y punto seguido es un error
		if ( i > checkStr.length-3 ) return false; //punto al final tambien está mal
		}
	}//Fin for
	if ( arroba == 0 || punto == 0 ) return false; //No se encontró arroba ni punto
   return true;
   }
function ChecaValorMax(TT,X) {
   var checkStr = TT.value;
   if (checkStr.length > X) return false;
   return true;
   }
function ChecaContieneCaracter(TT, TT2) {
   var checkStr = TT.value;
   var checkOK = "~\/" ;
	//alert("En funcion TT "+ TT.value +" TT2"+TT2 );
       for (i = 0;  i < checkStr.length;  i++)
        {ch = checkStr.charAt(i);
        for (j = 0;  j < checkOK.length;  j++)
           if (ch == checkOK.charAt(j)) return true;
        }//end for
   return false;
   }

function validar(theForm)
{
	if (ChecaNull(theForm.nombre) || ChecaCero(theForm.nombre) )
	{
	alert("Parece que ha olvidado su nombre");
	theForm.nombre.focus(); 
	return false;
	}
	
	if ( ChecaNull(theForm.mail) || ChecaCero(theForm.mail) )
    {
	alert("Es necesario que ingrese su dirección de correo electrónico (E-mail) ya que sin ella nos será imposible ponernos en contacto con usted");
    theForm.mail.focus(); 
	return false;
    }
	
	if ( !ChecaEmail(theForm.mail) || !ChecaValorMax(theForm.mail,50)  )
    {
	alert("La dirección de correo electrónico que proporcionó no es valida. Por ejemplo:\n victor@servidor.com (Maximo 50 caracteres)");
    theForm.mail.focus(); 
	return (false);
    }
	if ( ChecaContieneCaracter(theForm.mail, "~\\/" ) )
    {
	alert("La Dirección de correo electrónico no debe contener estos caracteres: ~ \  / ");
    theForm.mail.focus(); 
	return (false);
    }
	if ( ChecaNull(theForm.comentarios) || ChecaCero(theForm.comentarios) )
    {
	alert("Escriba sus comentarios o plantéenos sus necesidades.");
    theForm.comentarios.focus(); 
	return (false);
    }
	document.datos.submit();
}