/*
 * Common registration validation routines
 */


/*
 * Trims trailing and leading spaces in a string
 */
function INTrim(input) {

   var headwsre = /^\s+/;
   var tailwsre = /\s+$/;

   input.value = input.value.replace(headwsre, "");
   input.value = input.value.replace(tailwsre, "");

}

/*
 * Returns a handle to the input specified by 'inputName' contained
 * in the form specified by formName
 */
function getInput(formName, inputName) {

   var form = eval('document.' + formName);
   if (form[inputName]) {
      (form[inputName].type == 'text' || form[inputName].type == 'textarea' || form[inputName].type == 'password') ? INTrim(form[inputName]) : true;
      return form[inputName];
   }

   return null;

}

function getInput2(form, inputName) {

   if (form[inputName]) {
      (form[inputName].type == 'text' || form[inputName].type == 'textarea' || form[inputName].type == 'password') ? INTrim(form[inputName]) : true;
      return form[inputName];
   }

   return null;

}

/*
 * Generic text input validation function. If input has no length,
 * alert message and return false
 */
function stdValidationText(input, msg) {

   if (input) {

      if (!input.value.length) {
         alert(msg);
         return false;
      }

   }

   return true;

}

/*
 * Generic text input maximum length validation function. If input length is
 * greater than max_len, alert message and return false
 */
function stdValidationLength(input, max_len, msg) {

   if (input) {

      if (input.value.length > max_len) {
         alert(msg);
         return false
      }

   }

   return true;

}

/*
 * Generic option validation. If the selected option matches index,
 * alert message and return false
 */
function stdValidationOption(input, index, msg) {

   if (input) {

      if (input.options.selectedIndex == index) {
         alert(msg);
         return false;
      }

   }

   return true;

}

/*
 * Generic checkbox validation. If the checkbox is not checked,
 * alert message and return false
 */
function stdValidationCheckbox(input, msg) {

   if (input) {

      if (!input.checked) {
         alert(msg);
         return false;
      }

   }

   return true;

}

function isValidUsername(str, flag) {
   var apos = str.indexOf("@");
   var epos = str.indexOf("]");
   var fpos = str.indexOf("[");
   var headwsre = /^\s+/;
   var tailwsre = /\s+$/;
   var newstr = new String("");

   newstr = str.replace(headwsre, "");
   newstr = newstr.replace(tailwsre, "");

   var re = flag ? /[^-_0-9A-Za-z.@]/ : /[^-_0-9A-Za-z.]/;

   var badchars = newstr.search(re);
   if ( (flag && (epos>0 || fpos>0 || badchars>=0)) || (!flag && (apos>0 || epos>0 || fpos>0 || badchars>=0)) ) {
      return false;
   }

   if (str.length <= 0) {
      return false;
   }

   var illegalre = /^[\-_.]|.*[\-_.]$|.*[\-\._]{2,}.*/;
   if (illegalre.test(newstr)) {
      return false;
   }

   return true;
}

function isOneEmail(str) {
    var re = /.+\@.*\@.*/;
    return !(re.test(str));
}


function isValidAdminEmail(str) {

   var domainre = new RegExp("[.]intranets[.]com[.]?$", "i");
   var inetdomain = str.search(domainre);
   if (inetdomain>=0) {
     alert(g_INVALIDADMINEMAIL);
     return false;
   }

   return true;
}



function isValidPW(input, pwLength) {

   if (input) {

      if (input.value.length < pwLength) {
         alert(g_PWLENGTH1+pwLength+g_PWLENGTH2);
         return false;
      }

      if (input.value.indexOf('&') > -1) {
         alert(g_ILLEGALPWCHAR);
         return false;
      }

   }

   return true;

}

function confirmPW(pw, pw_confirm) {

   if (pw && pw_confirm) {

      if (pw.value != pw_confirm.value) {
         alert(g_NOTMATCHRECONFIRMPW);
         return false;
      }

   }

   return true;

}

function isValidLogin(input) {

   if (input) {

      if (!input.value.length) {
         alert(g_ENTERLOGINNAME);
         return false;
      }

      if (input.value.indexOf('&') > -1) {
         alert(g_ILLEGALLOGINCHAR);
         return false;
      }

   }

   return true;

}

function validateNames(fname, lname) {

   var reInvalidPLChars = "[!\$%\^&=\+]";

   if (fname && lname) {

      if (!fname.value.length && !lname.value.length) {
         alert(g_ENTERFIRSTANDORLASTNAME);
         return false;
      }

      if (fname.value.search(reInvalidPLChars) != -1) {
         alert(g_FIRSTNAMECHAR);
         return false;
      }

      if (lname.value.search(reInvalidPLChars) != -1) {
         alert(g_LASTNAMECHAR);
         return false;
      }

      if (fname.value.length > 64) {
         alert(g_FNLENGTH);
         return false;
      }

      if (lname.value.length > 64) {
         alert(g_LNLENGTH);
         return false;
      }

   }

   return true;

}

function validateEmail(input, bRequired) {

   if (input) {

      if (!input.value.length && bRequired) {
         var msg  = (RegExp("email[0-9]").test(input.name)) ? g_ENTERANEMAILADDRESS : g_ENTEREMAILADDRESS;
         alert(msg);
         return false;
      }

      if (input.value.length && !isValidEmail(input.value)) {
         alert(g_INVALIDEMAIL);
         return false;
      }

      if (input.value.length && !isOneEmail(input.value)) {
         alert(g_ONEEMAIL);
         return false;
      }

   }

   return true;

}

function open_remote01(url) {
   remote = window.open(url, "_remote_control","toolbar=yes,location=no,status=no,menubar=no,scrollbars=yes,resizable=yes,height=550,width=800,copyhistory=no");
}

function cancelReg(msg) {

   if (confirm(msg)) {
      document.forms[0].command.value = 'cancel';
      document.forms[0].submit();
   }

   return false;

}

function open_corp(brandid) {
   var url = '/commerce/corp_plans.asp?brandid=' + brandid;
   window.open(url, 'corp_plans', 'width=600,height=450,resizable=yes,scrollbars=yes');
   return;
}

function SwitchLangMem()
{
	var form = document.forms['register_member'];
	if (form.command.value == 'register')
	{
		form.command.value = 'new_member';
	}
	else
	{
		form.command.value = 'pending_refresh';
	}
	form.method = 'GET';
    form.submit();
}
        


