//<SCRIPT LANGUAGE="javascript">
<!--
function getUnixEpochTime()
{
    return 0;
}

function CheckBrowserVersion()
{
    var supported = false;
    var mac_not_supported = false;
    var mac_nav3_not_supported = false;
    var unix_not_supported = false;
    var appName = navigator.appName;
    var appVersion = navigator.appVersion;

    if (appName.indexOf("Microsoft") == 0 &&
        appVersion.substring(0, 1) >= "3")
    {
      if (appVersion.indexOf("Macintosh") > -1)
          mac_not_supported = true;
      else
          supported = true; 
    }
    else
    {
      if ((appName.indexOf("Netscape") == 0 ||
           appName.indexOf("Mozilla") == 0) && 
          (appVersion.substring(0, 1) >= "3" ||
           appVersion.indexOf("Mozilla") > -1))
      {
         if (appVersion.substring(0, 1) == "3" &&
             appVersion.indexOf("X11") > -1)
             unix_not_supported = true;
         else
           if (appVersion.substring(0, 1) == "3" &&
               appVersion.indexOf("Macintosh") > -1)
               mac_nav3_not_supported = true;
           else
               supported = true;
      }
    }   

    if (!supported)
    {
       if (unix_not_supported)
           this.location = gJSUnixNav3ErrorURL;
       else
         if (mac_not_supported)	
             this.location = gJSMacIe4ErrorURL;
         else 
           if (mac_nav3_not_supported)	
              this.location = gJSMacNav3ErrorURL;
            else
              this.location = gJSBrowserNotSupportedURL;
    }
}

CheckBrowserVersion();

function trim_string(urstr)
{ 
  // removes leading and trailing spaces, and returns the shortened string
  var i = 0;
  var j = 0;

  for (i=0; i<urstr.length; i++) {
    if (urstr.charAt(i) != " ") {
       for (j=urstr.length - 1; j > i; j--) {
         if (urstr.charAt(j) != " ")
           break;
       }
       break;
    }
  }
  if (i > j)
    i = j;
  if (urstr.length > 0 && urstr.charAt(j) != " ")
    j++;
  return urstr.substring(i, j);
}

function trim_field(fd)
{
  var trimmed = trim_string(document.proform.elements[fd].value);
  document.proform.elements[fd].value = trimmed;
}

function check_field_usernamereg(fd)
{
  if (fd == "USERNAME") {
    if ((document.proform.elements[fd].value.length < 3) || 
       (document.proform.elements[fd].value.length > 16)) {
      alert(gJSAlertUsernameTooShort);
      return false;
    }
    else if (!validate_username_reg(document.proform.elements[fd].value)) {
      alert(gJSAlertInvalidUsernameReg);
      return false;
    }
    return true;
  }
  return true;
}

function check_field_passwordreg(fd)
{  
  if (fd == "PASSWORD") {
    if ((document.proform.elements[fd].value.length < 4) ||
       (document.proform.elements[fd].value.length > 16)) {
      alert(gJSAlertInvalidPasswordReg); 
      return false;
    }
    else if (!validate_ascii_data(document.proform.elements[fd].value)) {
      alert(gJSAlertInvalidCharFoundInPassword);
      return false;
    }
    return true;
  }
  return true;
}

function check_field(fd)
{  
  if (fd != "STATE" && fd != "COUNTRY" && fd != "AGE_RANGE")
    trim_field(fd);

  if (fd == "USERNAME" || fd == "USERNAME_2") {
    if (document.proform.elements[fd].value.length < 3) {
      alert(gJSAlertUsernameTooShort);
      return false;
    }
    else if (!validate_username(document.proform.elements[fd].value)) {
      alert(gJSAlertInvalidUsername);
      return false;
    }
    return true;
  }
  else if (fd == "PASSWORD") {
    if (document.proform.elements[fd].value.length < 3) {
      alert(gJSAlertPasswordTooShort); 
      return false;
    }
    else if (!validate_ascii_data(document.proform.elements[fd].value)) {
      alert(gJSAlertInvalidCharFoundInPassword);
      return false;
    }
    return true;
  }
  else if (fd == "PASSWORD2") {
    if (document.proform.elements[fd].value.length < 3) {
      alert(gJSAlertConfirmationTooShort); 
      return false;
    }
    else if (!validate_ascii_data(document.proform.elements[fd].value)) {
      alert(gJSAlertInvalidCharFoundInPassword);
      return false;
    }
    return true;
  }
  else if (fd == "REMINDER") {
    if (document.proform.elements[fd].value.length > 0) {
      if (!validate_data(document.proform.elements[fd].value)) {
        alert(gJSAlertInvalidCharFoundInHint);
        return false;
      }
    }
  }
  else if (fd == "EMAIL") {
    if (document.proform.elements[fd].value != 'NETMAIL') {
      if (document.proform.elements[fd].value.length == 0) {
      	alert(gJSAlertEmailAddrNotEntered); 
      	return false;
      }
      else if (!validate_email(document.proform.elements[fd].value))
      	return false;
    }
  } 
  else if (fd == "EMAIL") {
    if (document.proform.elements[fd].value.length == 0) {
      alert(gJSAlertEmailAddrNotEntered); 
      return false;
    }
    else if (!validate_email(document.proform.elements[fd].value))
      return false;
  }
  else if (fd == "ALT_EMAIL" && document.proform.elements[fd].value.length &&
          !validate_email(document.proform.elements[fd].value)) {
    return false;
  }
  else if (fd == "FIRST_NAME") {
    if (document.proform.elements[fd].value.length == 0) {
      alert(gJSAlertFirstNameNotEntered); 
      return false;
    } else if (!validate_data(document.proform.elements[fd].value)) {
      alert(gJSAlertInvalidFirstName);
      return false;
    }
  }
  else if (fd == "LAST_NAME") {
    if (document.proform.elements[fd].value.length == 0) {
      alert(gJSAlertLastNameNotEntered); 
      return false;
    } else if (!validate_data(document.proform.elements[fd].value)) {
      alert(gJSAlertInvalidLastName);
      return false;
    }
  }
/*  else if ((fd == "ADDRESS" || fd == "STREET_1") &&
            document.proform.elements[fd].value.length &&
           !validate_data(document.proform.elements[fd].value)) {
      alert(gJSAlertInvalidStreetAddr);
      return false;
  }
*/  else if (fd == "CITY" &&
           document.proform.elements[fd].value.length &&
          !validate_data(document.proform.elements[fd].value)) {
      alert(gJSAlertInvalidCityName);
      return false;
  } 
/*  else if (fd == "POSTAL_CODE") {
    if (document.proform.elements[fd].value.length < 1) {
      alert(gJSAlertPostalCodeNotEntered); 
      return false;
    } else if (!validate_data (document.proform.elements[fd].value)) {
      alert(gJSAlertInvalidPostalCode);
      return false;
    }
  }
*/  else if (fd == "COUNTRY" && 
         document.proform.elements[fd].options[document.proform.elements[fd].selectedIndex].value == "") {
     alert(gJSAlertNoCountrySelected);
     return false;
  }
  else if (fd == "AGE_RANGE" &&
         document.proform.elements[fd].options[document.proform.elements[fd].selectedIndex].value == "") {
     alert(gJSAlertNoAgeRangeSelected);
     return false;
  }
  return true;
}

function check_all_fields_leg()
{
  if (check_field_usernamereg("USERNAME") &&
      check_field("PASSWORD") &&
      check_field("PASSWORD2")  &&
      check_field("EMAIL")) {
       if (document.proform.USERNAME.value == document.proform.PASSWORD.value) {
         alert(gJSAlertUsernameEqualsPassword); 
         return false;
       }
	
       if(document.proform.PASSWORD.value != document.proform.PASSWORD2.value) {
         alert(gJSAlertPasswordDoesntMatchConfirmation); 
         return false;
       }
	
       if(document.proform.PASSWORD.value == document.proform.REMINDER.value) 
       {
         alert(gJSAlertPasswordEqualsHint); 
         return false;
       } 
       // all fields are ok
       document.proform.CURTIME.value = getUnixEpochTime();
       return true;
    }
    return false;
}

function check_all_fields_legacy_login()
{
  if (check_field("EMAIL") &&
     check_field("POSTAL_CODE")) {
     // all fields are ok
     return true;
  }
  return false;
}

function check_all_fields_login()
{
  if (check_field("USERNAME") &&
      check_field("PASSWORD")) {
    return true;
  }
  return false;
}

function check_all_fields_hint()
{
  if (check_field("USERNAME")) {
    return true;
  }
  return false;
}

function check_all_fields_new()
{
  if (check_field_usernamereg("USERNAME") &&
      check_field_passwordreg("PASSWORD") &&
      check_field_passwordreg("PASSWORD2")  &&
      check_field("REMINDER")  &&
      check_field("EMAIL") &&
      check_field("FIRST_NAME") &&
      check_field("LAST_NAME") &&
//      check_field("ADDRESS") &&
      check_field("CITY") &&
      check_field("STATE") &&
      check_field("COUNTRY") &&
      check_field("AGE_RANGE") //      &&
//      check_field("POSTAL_CODE")      ) {

    var username = document.proform.USERNAME.value.toLowerCase();
    var password = document.proform.PASSWORD.value.toLowerCase();
    var confirm = document.proform.PASSWORD2.value.toLowerCase();
    var hint = document.proform.REMINDER.value.toLowerCase();

    if (username == password) {
      alert(gJSAlertUsernameEqualsPassword); 
      return false;
    }
	
    if (document.proform.PASSWORD.value != document.proform.PASSWORD2.value)
    {
      alert(gJSAlertPasswordDoesntMatchConfirmation); 
      return false;
    }
	
    if (password == hint) {
      alert(gJSAlertPasswordEqualsHint); 
      return false;
    } 
	 
    // all fields are ok
    document.proform.CURTIME.value = getUnixEpochTime();
    return true;
  }
  return false;
}

function check_all_fields_edit_profile()
{
/*  if (check_field("EMAIL") &&
      check_field("ALT_EMAIL") &&
      check_field("FIRST_NAME") &&
      check_field("LAST_NAME") &&
      check_field("ADDRESS") &&
      check_field("CITY") &&
      check_field("STATE") &&
      check_field("AGE_RANGE") &&
      check_field("COUNTRY") &&
      check_field("POSTAL_CODE")) {
      // all fields are ok
      return true;
*/  if (//  check_field_passwordreg("PASSWORD") &&
//      check_field_passwordreg("PASSWORD2")  &&
//      check_field("REMINDER")  &&
      check_field("EMAIL") &&
      check_field("FIRST_NAME") &&
      check_field("LAST_NAME") &&
//      check_field("ADDRESS") &&
      check_field("CITY") &&
      check_field("STATE") &&
      check_field("COUNTRY") &&
      check_field("AGE_RANGE") //      &&
//      check_field("POSTAL_CODE")) {
/*
    var password = document.proform.PASSWORD.value.toLowerCase();
    var confirm = document.proform.PASSWORD2.value.toLowerCase();
    var hint = document.proform.REMINDER.value.toLowerCase();

    if (document.proform.PASSWORD.value != document.proform.PASSWORD2.value)
    {
      alert(gJSAlertPasswordDoesntMatchConfirmation); 
      return false;
    }
	
    if (password == hint) {
      alert(gJSAlertPasswordEqualsHint); 
      return false;
    } 
*/	 
    return true;  }
  return false;
}

function check_all_fields_edit_pword()
{
  if (check_mc_field("PASSWORD") &&
      check_mc_field("PASSWORD2")  &&
      check_mc_field("REMINDER")) {

//    var username = document.proform.USERNAME.value.toLowerCase();
    var password = document.proform.PASSWORD.value.toLowerCase();
    var confirm = document.proform.PASSWORD2.value.toLowerCase();
    var hint = document.proform.REMINDER.value.toLowerCase();

/*    if (username == password) {
      alert(gJSAlertUsernameEqualsPassword); 
      return false;
    }
*/	
    if (document.proform.PASSWORD.value != document.proform.PASSWORD2.value)
    {
      alert(gJSAlertPasswordDoesntMatchConfirmation); 
      return false;
    }

    if((document.proform.PASSWORD.value.length != 0) &&
       (document.proform.REMINDER.value.length != 0) &&
       (password == hint)) {
      alert(gJSAlertPasswordEqualsHint); 
      return false;
    } 

    // all fields are ok
    return true;
  }
  return false;
}

function check_mc_field(fd)
{  
  if (fd == "PASSWORD") {
    if (document.proform.elements[fd].value.length == 0)
      return true;
    if ((document.proform.elements[fd].value.length < 4) || 
        (document.proform.elements[fd].value.length > 16)) {
      alert(gJSAlertInvalidPasswordReg); 
      return false;
    }
    else if (!validate_ascii_data(document.proform.elements[fd].value)) {
      alert(gJSAlertInvalidCharFoundInPassword);
      return false;
    }
    return true;
  }
  else if (fd == "PASSWORD2") {
    if (document.proform.elements[fd].value.length == 0)
      return true;
    if ((document.proform.elements[fd].value.length < 4) || 
        (document.proform.elements[fd].value.length > 16)) {
      alert(gJSAlertInvalidPasswordReg); 
      return false;
    }
    else if (!validate_ascii_data(document.proform.elements[fd].value)) {
      alert(gJSAlertInvalidCharFoundInPassword);
      return false;
    }
    return true;
  }
  else if (fd == "REMINDER") {
    if (document.proform.elements[fd].value.length == 0)
      return true;
    if (document.proform.elements[fd].value.length > 0) {
      if (!validate_data(document.proform.elements[fd].value)) {
        alert(gJSAlertInvalidCharFoundInHint);
        return false;
      }
    }
  }
  return true;
}

function validate_ascii_data(urstr)
{
  var i; 
  var result;

  for (i=0; i<urstr.length; i++) {
    if ((urstr.charAt(i) < " ") || (urstr.charAt(i) > "~"))
      return false;
  }
  return true;
}

function validate_data(urstr)
{
//  if (gJSU2ProductionBuild)
//    return validate_ascii_data(urstr);
//  else	
    return true;
}

function validate_alphanumeric_data(urstr)
{
  var i;
  var result;

  for (i=0; i<urstr.length; i++) {
    if (
      ((urstr.charAt(i) >= "A") && (urstr.charAt(i) <= "Z")) ||
      ((urstr.charAt(i) >= "a") && (urstr.charAt(i) <= "z")) ||
      ((urstr.charAt(i) >= "0") && (urstr.charAt(i) <= "9"))
      )
      result = true;
    else 
      return false;
  }

  if (result == true)
    return true;
}


function validate_username(urstr)
{ 
  // validate user name, must be in alphanumeric value 
  var i;
  var result;
  var allowedchar = gJSU2ValidUsernameChars;

  for (i=0; i<urstr.length; i++) {
    if (allowedchar.indexOf(urstr.charAt(i)) < 0)
      return false;
    else
      result = true;
  }

  if (result == true)
    return true;
}

function validate_username_reg(urstr)
{ 
  // validate user name, must be in alphanumeric value 
  var i;
  var result;
  var allowedchar = gJSU2ValidUsernameCharsReg;

  // return false if first char is numeric
  if ((urstr.charAt(0) >= "0") && (urstr.charAt(0) <= "9"))
    return false;

  for (i=0; i<urstr.length; i++) {
    if (allowedchar.indexOf(urstr.charAt(i)) < 0)
      return false;
    else
      result = true;
  }

  if (result == true)
    return true;
}

function validate_email(email)
{

  if (!validate_ascii_data (email)) {
    alert(gJSAlertInvalidCharFoundInEmailAddr);
    return false
  }

  var invalidChars = gJSU2InvalidEmailChars;

  for (var i = 0; i < invalidChars.length; i++) {
    if (email.indexOf(invalidChars.charAt(i)) != -1) {
      alert(gJSAlertInvalidCharFoundInEmailAddr);
      return false;
    }
  }
 
  if (email.indexOf("@") == -1){
    alert(gJSAlertAtSignMissingInEmailAddr);
    return false;
  }
	
  if (email.indexOf(" ") != -1){
    alert(gJSAlertBlankSpaceFoundInEmailAddr);
    return false;
  }

  if (window.RegExp) {
    var reg1str = "(@.*@)|(\\.\\.)|(@\\.)|(\\.@)|(^\\.)";
    var reg2str = "^.+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,3}|[0-9]{1,3})(\\]?)$";
    
    var reg1 = new RegExp (reg1str);
    var reg2 = new RegExp (reg2str);

    if (reg1.test(email) || !reg2.test(email)) {
      alert(gJSAlertInvalidCharFoundInEmailAddr);
      return false;
    }
  }
  return true;
}

function dup_email_check(backbutton) 
{
  if (document.dup_email.radio[backbutton].checked)
  {
    history.back();
    return false;
  }
  document.dup_email.CURTIME.value = getUnixEpochTime();
  return true;
} 

function dup_email_bad_zip_check() 
{
  if (document.dup_email_bad_zip.radio[0].checked)
  {
    history.back();
    return false;
  }
  return true;
}

function dup_email_uid_conflict_check() 
{
  if (document.dup_email_uid_conflict.radio[1].checked)
  {
    history.back();
    return false;
  }
  return true;
}

function userNameInputFieldChanged()
{
   if (suggestion_count > 1)
      document.proform.USERNAME[suggestion_count-1].checked = true;
   else
      document.proform.USERNAME.checked = true;
}

function formCheck()
{
   if (suggestion_count > 1) {
      if (document.proform.USERNAME[suggestion_count-1].checked && document.proform.USERNAME_2.value == "")
      {
         alert (gJSAlertNoUserNameSuggestionSelected);
         return false;
      }
      if (document.proform.USERNAME[suggestion_count-1].checked && check_field("USERNAME_2") == false)
        return false;

      if (document.proform.USERNAME[suggestion_count-1].checked && document.proform.USERNAME_2.value != "")
      {
         document.proform.USERNAME[suggestion_count-1].value = document.proform.USERNAME_2.value;
         document.proform.RESERVED.value = 0;
      }
   }
   else {
      if (document.proform.USERNAME.checked && document.proform.USERNAME_2.value == "")
      {
         alert (gJSAlertNoUserNameSuggestionSelected);
         return false;
      }

      if (document.proform.USERNAME.checked && check_field("USERNAME_2") == false)
        return false;
      if (document.proform.USERNAME.checked && document.proform.USERNAME_2.value != "")
      {
         document.proform.USERNAME.value = document.proform.USERNAME_2.value;
         document.proform.RESERVED.value = 0;
      }
   }
   return true;
}

function field_focus()
{ 
  if (document.usernameform.USERNAME_INPUT.value != '') 
  { 
    document.proform.PASSWORD.focus();
  } 
  else 
  { 
    document.usernameform.USERNAME_INPUT.focus();
  }  
}
//-->
//</SCRIPT>

