/* salta caracteres alfanumericos y otros a partir de  cadena[i]  y  da  si- */  
/* guiente posicion                                                          */  
function salta_alfanumerico(cadena, i, otros)  
  {                                    // DECLARACION DE VARIABLES  
    var j;                             // indice en cadena  
    var car;                           // caracter de cadena  
    var alfanum;                       // cadena[j] es alfanumerico u otros  
    for(j = i, alfanum = true; (j < cadena.length) && alfanum; j++) // INICIO  
      {  
        car = cadena.charAt(j);  
        alfanum = alfanumerico(car) || (otros.indexOf(car) != -1);  
      }  
    if(!alfanum)                       // lee "alfanumX"  
      j--;  
    return(j);  
  }  
    
// dice si car es alfanumerico                                                 
function alfanumerico(car)  
  {  
    return(alfabetico(car) || numerico(car));  
  }  
  
  
// dice si car es alfabetico                                                
function alfabetico(car)               // DECLARACION DE CONSTANTES  
  {                                    // caracteres alfabeticos  
    var alfa = "ABCDEFGHIJKLMNOPQRSTUWXYZabcdefghijklmnopqrstuvxyz";  
    return(alfa.indexOf(car) != - 1);  // INICIO  
  }  
  
  
// dice si car es numerico                                                     
function numerico(car)  
  {                                    // DECLARACION DE CONSTANTES  
    var num = "0123456789";            // caracteres numericos  
    return(num.indexOf(car) != - 1);   // INICIO  
  }  
  








/* dice si cadena es un email (alfanum@alfanum.alfanum[.alfanum]) o no, don- */
/* de alfanum son caracteres alfanumericos u otros                           */  
function email(cadena, otros)  
  {                                    // DECLARACION-INICIALIZACION VARIABLES  
    var i, j;                          // indice en cadena  
    var es_email = 0 < cadena.length;  // cadena es email o no  
    i = salta_alfanumerico(cadena, 0, otros); // INICIO  
    if(es_email = 0 < i)               // lee "alfanum*"  
      if(es_email = (i < cadena.length))  
        if(es_email = cadena.charAt(i) == '@') // lee "alfanum@*"  
          {  
            i++;  
            j = salta_alfanumerico(cadena, i, otros);  
            if(es_email = i < j)       // lee "alfanum@alfanum*"  
              if(es_email = j < cadena.length)  
                if(es_email = cadena.charAt(j) == '\.')  
                  {                    // lee "alfanum@alfanum.*"  
                    j++;  
                    i = salta_alfanumerico(cadena, j, otros);  
                    if(es_email = j < i) // lee "alfanum@alfanum.alfanum*"  
                      while(es_email && (i < cadena.length))  
                        if(es_email = cadena.charAt(i) == '\.')  
                          {  
                            i++;  
                            j = salta_alfanumerico(cadena, i, otros);  
                            if(es_email = i < j) // lee "alfanum@alfanum.alfanum[.alfanum]*"  
                              i = j;  
                          }  
                  }  
          }  
    return(es_email);  
  }  


		function validar() {
			var f = document.form1;
			var seguir=1;
			
			if (f.nombre.value == "") {
				alert("Debes introducir tu nombre.");
				f.nombre.focus();
				seguir=0;
			}
			if((seguir==1)&&(f.email.value=="")){
				alert("Debes introducir tu email");
				f.email.focus();
				seguir=0;
			}
			if((seguir==1)&&(!email(f.email.value,"_-"))){
				alert("Debes introducir un email correcto");
				f.email.focus();
				seguir=0;
				
			}
			if((seguir==1)&&(f.mensaje.value=="")){
				alert("Debes introducir tu mensaje.");
				f.mensaje.focus();
				seguir=0;
			}
			
		if(seguir==1)
		{
			f.submit();
		}
		}

