function emailCheck (emailStr){

  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("La direccin de email debe tener tanto @ como .");
    return (false);
  }

  var user=matchArray[1];
  var domain=matchArray[2];

  if (user.match(userPat)==null)
  {
    alert("El nombre de usuario no es vlido.");
    return (false);
  }

  var IPArray=domain.match(ipDomainPat);

  if (IPArray!=null)
  {
    for (var i=1;i<=4;i++)
    {
      if (IPArray[i]>255)
      {
        alert("IP de destino invlida");
        return (false);
      }
    }
    return (true);
  }

  var domainArray=domain.match(domainPat);

  if (domainArray==null)
  {
    alert("El dominio parece no ser válido.");
    return (false);
  }

  var atomPat=new RegExp(atom,"g");
  var domArr=domain.match(atomPat);
  var len=domArr.length;

  if (len<2)
  {
    alert("La dirección es erronea");
    return (false);
  }

  return (true);
}