//------------------------------
function validar(formulario) 
{
  var mierr=0;
  //----------- Validaciones de campos nulos ---------
 
  if(formulario.nombre.value.length <= 0  )
  {
    alert("El campo nombre no puede estar vacio "); 
    formulario.nombre.focus(); 
    return (false); 
  }
   if(formulario.usuario.value.length <= 0  )
  {
    alert("El campo usuario no puede estar vacio "); 
    formulario.usuario.focus(); 
    return (false); 
  }
 if(formulario.password.value.length <= 0  )
  {
    alert("El campo password no puede estar vacio "); 
    formulario.password.focus(); 
    return (false); 
  }
  /*if(formulario.apellido.value.length <= 0 )
  {
    alert("El campo apellido no puede estar vacio "); 
    formulario.apellido.focus(); 
    return (false); 
  }*/

  if(formulario.email.value.length <= 0 )
  {
    alert("El campo email no puede estar vacio"); 
    formulario.email.focus(); 
    return (false); 
  }
  else 
  { 
   if(emailCheck (formulario.email.value) == false) 
   { 
    formulario.email.focus(); 
    return (false); 
   }
  }

 if(formulario.ubicacion.value.length <= 0  )
  {
    alert("El campo ubicación no puede estar vacio "); 
    formulario.ubicacion.focus(); 
    return (false); 
  }
  
   if(formulario.telefono.value.length <= 0  )
  {
    alert("El campo teléfono no puede estar vacio "); 
    formulario.telefono.focus(); 
    return (false); 
  }
  
   if(formulario.institucion.value.length <= 0  )
  {
    alert("El campo institución no puede estar vacio "); 
    formulario.institucion.focus(); 
    return (false); 
  }
   if(formulario.grado.value.length <= 0  )
  {
    alert("El campo grado no puede estar vacio "); 
    formulario.grado.focus(); 
    return (false); 
  }
  
  
   if(formulario.carrera.value.length <= 0  )
  {
    alert("El campo carrera no puede estar vacio "); 
    formulario.carrera.focus(); 
    return (false); 
  }
   if(formulario.universidad.value.length <= 0  )
  {
    alert("El campo universidad no puede estar vacio "); 
    formulario.universidad.focus(); 
    return (false); 
  }
  
  


}


//-------------------------------
/*
funcion val_sololetras(obj)
{
  //checkStr=formulario.nombre.value;
  //formulario.nombre
  var checkOK = "ABCDEFGHIJKLMNÑOPQRSTUVWXYZÁÉÍÓÚ" + "abcdefghijklmnñopqrstuvwxyzáéíóú ";
  var allValid = true; 
  var checkStr=obj.value;
  for (i = 0; i < checkStr.length; i++) {
    ch = checkStr.charAt(i); 
    for (j = 0; j < checkOK.length; j++)
      if (ch == checkOK.charAt(j))
        break;
    if (j == checkOK.length) { 
      allValid = false; 
      break; 
    }
  }

  if (!allValid) { 
    alert("Escriba sólo letras en el campo "); 
    //formulario.nombre.focus(); 
    return (false); 
  } 


}

//-------------------------------

funcion val_solonumero(obj)
{
  var checkOK = "0123456789"; 
  var allValid = true; 
  var decPoints = 0; 
  var allNum = ""; 
  var checkStr=obj.value;

  for (i = 0; i < checkStr.length; i++) { 
    ch = checkStr.charAt(i); 
    for (j = 0; j < checkOK.length; j++) 
      if (ch == checkOK.charAt(j))
        break; 
    if (j == checkOK.length) { 
      allValid = false; 
      break; 
    } 
    allNum += ch; 
  } 
  if (!allValid) { 
    alert("Escriba sólo dígitos en el campo ");
    //formulario.edad.focus(); 
    return (false); 
  } 
}


*/

//----------------------------------------------

function emailCheck (emailStr) 
{
 //this.email.value
 var checkTLD=1;
 var knownDomsPat=/^(com|net|org|edu|int|mil|gov|arpa|biz|aero|name|coop|info|pro|museum)$/;
 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) 
 {
  alert("Su dirección de correo no aparece o es incorrecta (compruebe @ y .'s)");
  return false;
 }
 var user=matchArray[1];
 var domain=matchArray[2];
 for (i=0; i<user.length; i++) {
 if (user.charCodeAt(i)>127) 
 {
  alert("Su dirección de correo contiene caracteres no validos.");
  return false;
 }
}

 for (i=0; i<domain.length; i++) 
 {
  if (domain.charCodeAt(i)>127) 
  {
    alert("El dominio de la dirección introducida contiene caracteres no validos.");
    return false;
   }
 }

 if (user.match(userPat)==null) 
 {
  alert("La dirección de correo parece incorrecta, por favor compruebelo");
  return false;
 }

 var IPArray=domain.match(ipDomainPat);
 if (IPArray!=null) 
 {
   for (var i=1;i<=4;i++) 
   {
    if (IPArray[i]>255) 
    {
     alert("La dirección IP de destino no es correcta");
     return false;
    }
   }
   return true;
 }


 var atomPat=new RegExp("^" + atom + "$");
 var domArr=domain.split(".");
 var len=domArr.length;
 for (i=0;i<len;i++) 
 {
  if (domArr[i].search(atomPat)==-1) 
  {
   alert("La dirección de correo parece incorrecta, por favor compruebelo, incluyendo el uso incorrecto de signos de puntuación, comas , o puntos [.] al final de la dirección.");
   return false;
  }
 }


 if (checkTLD && domArr[domArr.length-1].length!=2 && 
 domArr[domArr.length-1].search(knownDomsPat)==-1) 
 {
  alert("Su dirección de correo debe terminar en un dominio o dos letras " + "país.");
  return false;
 }
 
 if (len<2) 
 {
  alert("Falta el nombre del host en su dirección de correo - compruebelo ó debes de haber añadido un espacio en blanco al final de la dirección - corrije el error e intentalo de nuevo.");
  return false;
 }
 return true;
}



