function ValidatePasswdChange(theElement, theElementName) {
   var pw=theElement;
   var newString="";
   var msg="";
   var regexpAllowed = /^((\d)|[a-zA-Z]|[-]|[_]|[~]|[#]|[!]|[.]|[,])+$/;

   if( pw.value == "" || pw.value == null ) {
      pw.focus();
      pw.value = "";
      alert( "Please enter a password for " + theElementName );
      return "";
   }

   if( ! regexpAllowed.test(pw.value) ) {
      msg ="The "+theElementName+" field contains an illegal character. \n";
      msg+="Only non-space ASCII characters, numbers, or elements \nof the character set [-_~#!.,] are allowed.\n\n";
      msg+="\nPlease re-enter the "+theElementName+" value.";
      pw.value= "";
      pw.focus();
      alert(msg);
      return "";
   }
   else {
      return pw.value;
   }
}


// Validate a password (use onSubmit. Returns true or false)

function ValidatePasswdSubmit(theElement, theElementName) {
   var pw=theElement;
   var regexpAllowed = /^((\d)|[a-zA-Z]|[-]|[_]|[~]|[#]|[!]|[.]|[,])+$/;

   if(regexpAllowed.test(pw.value)) {
      return true;
   }
   else {
      msg ="The "+theElementName+" field contains an illegal character. \n";
      msg+="Only non-space ASCII characters, numbers, or elements \nof the character set [-_~#!.,] are allowed. \n\n";
      msg+="\nPlease re-enter the " + theElementName + " value.";
      alert(msg);
      pw.focus();
      pw.value = "";
      return false;
   }
} //end function validatePassword

function ConfirmPassword(field) {
// This function happens to have been designed to only be called when changing the second password.
   var msg1 = "You did not supply at least one password.\nPlease enter and re-enter a valid password.";
   var msg2 = "Your passwords do not match.\nPlease enter and re-enter a valid password.";
   var pw1 = document.forms[0].PASSWORD1;
   var pw2 = document.forms[0].PASSWORD2;

   if( pw1.value == "" || pw1.value == null
      || pw2.value == "" || pw2.value == null  ) {
      alert (msg1);
      pw1.value = "";
      pw2.value = "";
      pw1.focus();
      return false;
   }
   else if ( pw1.value != pw2.value ) {
      alert(msg2);
      pw1.value = "";
      pw2.value = "";
      pw1.focus();
      return false;
   }
   else if( ! ValidatePasswdChange(document.forms[0].PASSWORD1, 'FIRST PASSWORD')) {
      return false;
   }
   else if( ! ValidatePasswdChange(document.forms[0].PASSWORD2, 'SECOND PASSWORD')) {
      return false;
   }
   else {
      return true;
   }
}

function ConfirmPassword2(theElement) {
   var pw1 = document.forms[0].PASSWORD1;
   var pw2 = document.forms[0].PASSWORD2;

// This function happens to have been designed to only be called when changing the second password.
   var msg1 = "You did not supply at least one password.\nPlease enter and re-enter a valid password.";
   var msg2 = "Your passwords do not match.\nPlease enter and re-enter a valid password.";
   if( pw1.value == "" || pw1.value == null
      || pw2.value == "" || pw2.value == null  ) {
      pw1.value = "";
      pw2.value = "";
      pw1.focus();
      alert (msg1);
      return false;
   }

   if ( pw1.value != pw2.value ) {
      pw1.value = "";
      pw2.value = "";
      pw1.focus();
      alert(msg2);
      return false;
   }
   return false;
}  //used in ais_confirm and resend_cn

function ValidateEmail(theElement) {
   var s = theElement;
   var filter=/^[A-Za-z0-9_][A-Za-z0-9\._-]*@[A-Za-z+0-9\._-]+\.[A-Za-z+0-9\._]+[A-Za-z]$/;
   if ( (s.value == "") || (!filter.test(s.value)) ) {
      alert("Please enter a valid e-mail address!" );
      s.focus();
      s.value = "";
      return false;
   }
   return true;
}


function IsValid(theElement, theElementName) {
   var pw=theElement.value;
   var regexpAllowed = /^((\d)|[a-zA-Z]|[-]|[_]|[~]|[#]|[!]|[.]|[,])+$/;
   if(regexpAllowed.test(pw)) {
      return true;
   }
   else {
       return false;
   }
} //end function validatePassword


function ConfirmConfirmation(theElement) {
   var cn = theElement;
   if( isNaN(cn.value) ) {
       cn.value = "";
       cn.focus();
      alert('Please enter a valid confirmation number (numerics only please)!');
      return false;
   }
   else if( cn.value == null || cn.value == "" ) {
       cn.value = "";
       cn.focus();
      alert('Please enter a valid confirmation number!');
      return false;
   }
   else {
      return true;
   }
}

function ConfirmAll(form) {
   var em = document.forms[0].EMAIL;
   var filter=/^[A-Za-z0-9_][A-Za-z0-9\._-]*@[A-Za-z+0-9\._-]+\.[A-Za-z+0-9\._]+[A-Za-z]$/;
   var msg="";

   if ( (em.value == "") || (!filter.test(em.value)) ) {
      document.forms[0].EMAIL.focus();
      alert( "Please enter a valid email address!" );
        em.value = "";
        em.focus();
      return false;
   }

   var pw1 = document.forms[0].PASSWORD1;
      var regexpAllowed = /^((\d)|[a-zA-Z]|[-]|[_]|[~]|[#]|[!]|[.]|[,])+$/;
   if( pw1.value == "" || pw1.value == null ) {
       pw1.value = "";
       pw1.focus();
      alert( "Please enter a password for PASSWORD 1" );
      return false;
   }

   pw2 = document.forms[0].PASSWORD2;
   if( pw2.value == "" || pw2.value == null ) {
       pw2.value = "";
       pw2.focus();
      alert( "Please enter a password for PASSWORD 2" );
      return false;
   }

   if( ! regexpAllowed.test(pw2.value) ) {
      msg ="The PASSWORD 2 field contains an illegal character.\n";
      msg+="Only non-space ASCII characters, numbers, or elements\nof the character set [-_~#!.,] are allowed.\n\n";
      msg+="\nPlease re-enter the PASSWORD 2 value.";
       pw2.value = "";
       pw2.focus();
      alert(msg);
      return false;
   }

   var cn = document.forms[0].CONFIRM_NUM;
   if( isNaN(cn.value) ) {
      cn.value="";
      cn.focus();
      alert('Please enter a valid confirmation number (numerics only please)!');
      return false;
   }

   if( cn.value == null || cn.value == "" ) {
      cn.focus();
      alert('Please enter a valid confirmation number!');
      return false;
   }
   form.submit();
}


function ValidateEmail2(theElement, theElementName) {
   var s = theElement;
   var filter=/^[A-Za-z0-9_][A-Za-z+0-9\._-]*@[A-Za-z+0-9\._-]*\.[A-Za-z+0-9\._]+[A-Z+a-z]$/;
   if ( (s.value == "") || (!filter.test(s.value)) ) {
        s.value="";
      s.focus();
      alert("Please enter a valid email address!" );
      return false;
   }
   return true;
}

function ValidatePasswdSubmit2(theElement, theElementName) {
   var pw=theElement.value;
   var regexpAllowed = /^((\d)|[a-zA-Z]|[-]|[_]|[~]|[#]|[!]|[.]|[,])+$/;
   if(regexpAllowed.test(pw)) {
      return true;
   }
   else {
       return false;
   }

} //end function ValidatePasswdSubmit2, used in unsubscribe.jsp

function ValidatePasswdChange2(theElement, theElementName) {
   var pw=theElement;
   var newString="";
   var msg="";
   var regexpAllowed = /^((\d)|[a-zA-Z]|[-]|[_]|[~]|[#]|[!]|[.]|[,])+$/;

   if( pw.value == "" || pw.value == null ) {
      pw.focus();
      pw.value = "";
      alert( "Please enter a password for " + theElementName );
      return false;
   }

   if( ! regexpAllowed.test(pw.value) ) {
      msg ="The "+theElementName+" field contains an illegal character. \n";
      msg+="Only non-space ASCII characters, numbers, or elements\nof the character set [-_~#!.,] are allowed.\n\n";
      msg+="\nPlease re-enter the "+theElementName+" value.";
      alert(msg);
      pw.value="";
      pw.focus();
      return false;
   }
   else {
      return true;
   }
} //end function ValidatePasswdChange2, used in unsubscribe.jsp & resend_cn.jsp


function ConfirmAll2(form) {

   var em = document.forms[0].EMAIL;
   var filter=/^[A-Za-z0-9_][A-Za-z0-9\._-]*@[A-Za-z+0-9\._-]+\.[A-Za-z+0-9\._]+[A-Za-z]$/;
   var msg="";

   if ( (em.value == "") || (!filter.test(em.value)) ) {
      em.value = "";
      em.focus();
      alert( "Please enter a valid email address!" );
        em.value = "";
        em.focus();
      return false;
   }

   var pw1 = document.forms[0].PASSWORD1;
      var regexpAllowed = /^((\d)|[a-zA-Z]|[-]|[_]|[~]|[#]|[!]|[.]|[,])+$/;
   if( pw1.value == "" || pw1.value == null ) {
       pw1.value = "";
       pw1.focus();
      alert( "Please enter a password for PASSWORD 1" );
      return false;
   }

   pw2 = document.forms[0].PASSWORD2;
   if( pw2.value == "" || pw2.value == null ) {
       pw2.value = "";
       pw2.focus();
      alert( "Please enter a password for PASSWORD 2" );
      return false;
   }

   if( ! regexpAllowed.test(pw2.value) ) {
      msg ="The PASSWORD 2 field contains an illegal character.\n";
      msg+="Only non-space ASCII characters, numbers, or elements\nof the character set [-_~#!.,] are allowed.\n\n";
      msg+="\nPlease re-enter the PASSWORD 2 value.";
       pw2.value = "";
       pw2.focus();
      alert(msg);
      return false;
   }
   form.submit();
}		//used in resend_cn.jsp

function ValidateEmail3(theElement, theElementName) {
   var s = theElement;
   var filter=/^[A-Za-z0-9_][A-Za-z+0-9\._-]*@[A-Za-z+0-9\._-]+\.[A-Za-z+0-9\._]+[A-Za-z]$/;
   if ( (s.value == "") || (!filter.test(s.value)) ){
      alert("Please enter a valid email address!" );
                                s.value = "";
      s.focus();
      return false;
   }
   return true;
}		//used in resend_cn.jsp


