//para la página en ingles

// Validacion de distintos tipos de campos de formulario:
// - Texto no nulo
// - Direccion de correo electronico (e-mail): alfanum@alfanum.alfanum[.alfanum], donde alfanum son caracteres alfanumericos u otros (pasados como parametro)
// Para ello no se utilizan expresiones regulares.
//
//Este script y otros muchos pueden
//descarse on-line de forma gratuita
//en El Código: www.elcodigo.net

/* dice si cadena es texto no vacio o no                                     */
function vacio(cadena)
  {                                    // DECLARACION DE CONSTANTES
    var blanco = " \n\t" + String.fromCharCode(13); // blancos
                                       // DECLARACION DE VARIABLES
    var i;                             // indice en cadena
    var es_vacio;                      // cadena es vacio o no
    for(i = 0, es_vacio = true; (i < cadena.length) && es_vacio; i++) // INICIO
      es_vacio = blanco.indexOf(cadena.charAt(i)) != - 1;
    return(es_vacio);
  }


/* dice si cadena es un email (alfanum@alfanum.alfanum[.alfanum]) o no, don- */
/* de alfanum son caracteres alfanumericos u otros                           */



function mostrar_informacion(txt){
	
	//expresion regular
        var b=/^[^@\s]+@[^@\.\s]+(\.[^@\.\s]+)+$/
        
             
        
        //devuelve verdadero si validacion OK, y falso en caso contrario
        return b.test(txt)
}

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);
  }



/* 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);
  }

function es_nombre(cadena){
 var h;
 var car;
  for(h=0; h < cadena.length; h++)
  {
	car =  cadena.charAt(h);

	if (!alfabetico2(car)) {
	return(false);}
}
  return(1);
}  

function es_numero(cadena){
 var h;
 var car;
  for(h=0; h < cadena.length; h++)
  {
	car =  cadena.charAt(h);

	if (!numerico(car)) {
	return(false);}
}
  return(1);
}  

/* 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 = "ABCDEFGHIJKLMNÑOPQRSTUVWXYZabcdefghijklmnñopqrstuvwxyz";
    return(alfa.indexOf(car) != - 1);  // INICIO
  }

function alfabetico2(car)
{                                    // caracteres alfabeticos
    var alfa = "áéíóúÁÉÍÓÚäëïöüÄËÏÖÜ'´`âêîôûÂÊÎÔÛàèìòùÀÈÌÒÙ .ABCDEFGHIJKLMNÑOPQRSTUVWXYZabcdefghijklmnñopqrstuvwxyz";
    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 se ha elegido una opcion en los menues desplegables  */
function campoInvalido(cadena)
{
  if (cadena == "Seleccionar" || cadena == "-----------------")
  {return 1}
 else return 0; 
}


// ejemplo validacion formulario
function ValidaCampos(form)
  {
 if(vacio(form.nombre.value))
        {alert("Complete su nombre, por favor");
	return(false);}
    else if(!es_nombre(form.nombre.value))// si tiene numeros en el nombre
	{alert("Nombre: Campo incorrecto"); 
	return(false);}			
    else if(vacio(form.apellidos.value))
	{alert("Complete su apellido, por favor");
	return(false);}
    else if(!es_nombre(form.apellidos.value))
	{alert("Apellidos: Campo incorrecto");  //si tiene numeros en el apellido
	return(false);}	
    else if(vacio(form.mail.value))
        {alert("Complete su E-Mail, por favor");
         return(false);}
    else if(!mostrar_informacion(form.mail.value, "-_"))
        {alert("E-Mail: Campo incorrecto ");
        return(false);}
    else if(campoInvalido(form.rubro.value))
        {alert("Rubro/Actividad: Elija una opcion ");
        return(false);}
    else if(campoInvalido(form.temas.value))
        {alert("Temas de asesoria: Elija una opcion ");
        return(false);}

   
    else	
	return(true); 
      alert("Data ok");
  
  }




