var qiiworks_msg1050 = "An email address is required.";
var qiiworks_msg1052 = "Invalid email address.";

function phptags_valid_email(not, string, required, errmsg, except, silent) {

  // note that code for trim function must be included separately
  string = trim(string);

  if(except)return true;

  if(!string) {
    if(required) {
      if(!silent) {
        if(errmsg != "")alert(errmsg);
        else alert(qiiworks_msg1050); // value passed by PHP
      }
      return false;
    }
    else return true;
  }

  else if(window.RegExp) {
    // regex from http://www.nbrandt.com/email_validation.txt
    // original: ^([0-9,a-z,A-Z]+)([.,_]([0-9,a-z,A-Z]+))*[@]([0-9,a-z,A-Z]+)([.,_,-]([0-9,a-z,A-Z]+))*[.]([0-9,a-z,A-Z]){2}([0-9,a-z,A-Z])?$
    // modified to handle primary domains of any length (e.g. dot family)
    var filter = new RegExp("^([0-9,a-z,A-Z]+)([.,_,-]([0-9,a-z,A-Z]+))*[@]([0-9,a-z,A-Z]+)([.,_,-]([0-9,a-z,A-Z]+))*[.]([0-9,a-z,A-Z]){2}([0-9,a-z,A-Z])*$");
    if(filter.test(string))return true;
    else {
      if(!silent) {
        if(errmsg != "")alert(errmsg);
        else alert(qiiworks_msg1052); // value passed by PHP
      }
      return false;
    }
  }
  else return true;

}
