function validemail(inemail)
{
 if (
     (inemail.indexOf("@") < 0) || (inemail.indexOf(".") < 0) ||
     (inemail.indexOf("@.") >= 0) || (inemail.indexOf(".@") >= 0) || (inemail.indexOf("..") >= 0)
    ) return false;

 //CHECK USERNAME BEFORE THE @ SIGN
 var mystring = inemail.substring(0,inemail.indexOf("@"));
 if (!validcharsve(mystring.toLowerCase(),"abcdefghijklmnopqrstuvwxyz0123456789-_.")) return false;

 //CHECK DOMAIN
 mystring = inemail.substring((inemail.indexOf("@") + 1));
 if (!validcharsve(mystring.toLowerCase(),"abcdefghijklmnopqrstuvwxyz0123456789-_.")) return false;

 //LENGTH OF THE STRING BEFORE THE DOT IS LESS THAN 1 OR DOT DOESN'T EXIST
 if (mystring.indexOf(".") < 1) return false;

 //GET THE TEXT AFTER THE LAST DOT - THERE IS ALWAYS ONE DOT AT THIS POINT
 mystring = mystring.substring((mystring.lastIndexOf(".") + 1));

 if (mystring.length < 2) return false;

 return true;
}

function validcharsve(instring,allowedchars) //VALIDCHARSINSTRING FUNCTION NAME CHANGED TO VALIDCHARSVE TO AVOID DOUBLE NAMING
{
 if (instring.length == 0) return false;
 for (var x=0; x<instring.length; x++)
 {
  if (allowedchars.indexOf(instring.charAt(x)) == -1) return false;
 }
 return true;
}
