function underageControl(){
	var browserURL = window.location.href;
	var redirectURL = "/en_US/underage.do";
	window.location.href = redirectURL;
}
function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}


function showdiv(id1){
	if(document.registrationform.hmsOptin.checked || document.registrationform.edsOptin.checked){

	   document.getElementById(id1).style.display = "block";
    }else{
		document.getElementById(id1).style.display = "none";
	}

}

function submitUserData() {
        var errorMessage = validateForm();
        if (errorMessage == '') {
          return true;
        } else {
		  getElement('njs_errors').innerHTML ="";
          document.getElementById('show_errors').innerHTML = errorMessage+'<br/>';
          document.getElementById('show_errors').className="error_txt";
		  getElement('show_help').style.display='block';
		  scroll(0,130);
          return false;
        }
    }
function validateForm() {
          var result = true;
          var errorMsg = '';
          var reqdErrorMsg = '';
          var invalidErrorMsg = '';

		  document.getElementById('registrationform').email.value = trim(document.getElementById('registrationform').email.value);
           var eMail = document.getElementById('registrationform').email;

          if ( !validRequired(eMail)) {
              reqdErrorMsg = reqdErrorMsg + '<li>Email Address is missing.</li>';
              result = false;
          }else{
              //Email Validation added by Anshul on 07/03/2006
              var reg="^[a-zA-Z][\\w\\.-]*[a-zA-Z0-9]@[a-zA-Z0-9][\\w\\.-]*[a-zA-Z0-9]\\.[a-zA-Z][a-zA-Z\\.]*[a-zA-Z]$";
                  var reg1 = new RegExp(reg);
                  if(!reg1.test(trim(eMail.value))){
                   invalidErrorMsg = invalidErrorMsg + '<li>Email Address is invalid.</li>';
                      result = false;
                  }
		      }

          //Confirm email address validation check
		  document.getElementById('registrationform').confirmEmail.value = trim(document.getElementById('registrationform').confirmEmail.value);
           var reemail = document.getElementById('registrationform').confirmEmail;
          if ( !validRequired(reemail)) {
              reqdErrorMsg = reqdErrorMsg + '<li>Confirm Email Address is missing.</li>';
              result = false;
          }else if(validRequired(reemail)){
              var reg="^[a-zA-Z][\\w\\.-]*[a-zA-Z0-9]@[a-zA-Z0-9][\\w\\.-]*[a-zA-Z0-9]\\.[a-zA-Z][a-zA-Z\\.]*[a-zA-Z]$";
                  var reg1 = new RegExp(reg);
                  if(!reg1.test(trim(reemail.value))){
                   invalidErrorMsg = invalidErrorMsg + '<li>Confirm Email Address is invalid.</li>';
                      result = false;
                  }else if (trim(eMail.value) != trim(reemail.value)) {
              invalidErrorMsg = invalidErrorMsg + '<li>Confirm Email and Email should be equal.</li>';
              result = false;
               }
		      }


		  var pass = document.getElementById('registrationform').password;
          var repass =document.getElementById('registrationform').confirmPassword;
          if (!validRequired(pass)) {
              reqdErrorMsg = reqdErrorMsg + '<li>Password is missing.</li>';
              result = false;
          }else if (pass.value.length < 6 || pass.value.length > 12) {
              invalidErrorMsg = invalidErrorMsg + '<li>Passwords must be between 6-12 characters long.</li>';
              result = false;
           }
          if (!validRequired(repass)) {
              reqdErrorMsg = reqdErrorMsg + '<li>Confirm password is missing.</li>';
              result = false;
          }
          if (pass.value != '' && repass.value != '') {
			  if (pass.value != repass.value) {
				invalidErrorMsg = invalidErrorMsg + '<li>Your password and confirm password do not match.</li>';
				result = false;
			  }
          }


			  document.getElementById('registrationform').firstName.value = trim(document.getElementById('registrationform').firstName.value);
			  var fname = document.getElementById('registrationform').firstName;

			  if (!validRequired(fname)) {
				  reqdErrorMsg = reqdErrorMsg + '<li>First Name is missing.</li>';
				  result = false;
			  }else if (!validCharactersName(fname)) {
				  invalidErrorMsg = invalidErrorMsg + '<li>First Name contains invalid characters.</li>';
				  result = false;
			  }

			  document.getElementById('registrationform').lastName.value = trim(document.getElementById('registrationform').lastName.value);
			  var lName = document.getElementById('registrationform').lastName;
			  if (!validRequired(lName)) {
				  reqdErrorMsg = reqdErrorMsg + '<li>Last Name is missing.</li>';
				  result = false;
			  } else if (!validCharactersLastName(lName)) {
				  invalidErrorMsg = invalidErrorMsg + '<li>Last Name contains invalid characters.</li>';
				  result = false;
			  }

			  document.getElementById('registrationform').address.value = trim(document.getElementById('registrationform').address.value);
			  var addr = document.getElementById('registrationform').address;
			  if (!validRequired(addr)) {
				  reqdErrorMsg = reqdErrorMsg + '<li>Address is missing.</li>';
				  result = false;
			  }

			  document.getElementById('registrationform').city.value = trim(document.getElementById('registrationform').city.value);
			  var cityName = document.getElementById('registrationform').city;
			  if (!validRequired(cityName)) {
				  reqdErrorMsg = reqdErrorMsg + '<li>City is missing.</li>';
				  result = false;
			  }else if(!validCity(cityName)){
				  invalidErrorMsg = invalidErrorMsg + '<li> City is invalid.</li>';
			  }
			  if (document.getElementById('registrationform').state.value == "-1" ) {

					  reqdErrorMsg = reqdErrorMsg + '<li>State is not selected.</li>';
					  result = false;
				  }
			  document.getElementById('registrationform').zip.value = trim(document.getElementById('registrationform').zip.value);
			  var zip = document.getElementById('registrationform').zip;

			  if (!validRequired(zip)) {
				  reqdErrorMsg = reqdErrorMsg + '<li>Zip Code is missing.</li>';
				  result = false;
			   }
			  if(document.getElementById('registrationform').country.value == ""){
				  reqdErrorMsg = reqdErrorMsg + '<li>Country is not selected.</li>';
				  result = false;
			  }else{
					  if(document.getElementById('registrationform').country.value =='US'){
						 var state_val = trim(document.getElementById('registrationform').state.value);
						  //UNITED STATES length is 2.
						  //CANADA length is greater than 2
						if(state_val !="-1"){
							 if(state_val.length > 2){
								   invalidErrorMsg = invalidErrorMsg + '<li>Please select a valid State for UNITED STATES.</li>';
									  result = false;

							 }
						}
						 if(zip.value !=""){
							 if(!isZipUS(zip.value)){
							  invalidErrorMsg = invalidErrorMsg + '<li>Please enter a valid Zip Code. (for e.g., 11111-2222).</li>';
							  result = false;
							  }
						 }
					 }else if(document.getElementById('registrationform').country.value =='CANADA'){
						  var state_val = document.getElementById('registrationform').state.value;
						  //UNITED STATES length is 2.
						  //CANADA length is greater than 2
						  if(state_val !="-1"){
							  if(state_val.length < 4){
								  invalidErrorMsg = invalidErrorMsg + '<li>Please select a valid Province for CANADA.</li>';
									  result = false;

							  }
						  }
						  if(zip.value !=""){
							  if(!isZipCA(zip.value)){
							  invalidErrorMsg = invalidErrorMsg + '<li>Please enter a valid Postal Code. (for e.g., A1S2D5).</li>';
							  result = false;
							  }
						  }
					}
			  }//end of country





			 //Email validation check



			  var day = trim(document.getElementById('registrationform').dob.value);
			  var month = trim(document.getElementById('registrationform').mob.value);
			  var year = trim(document.getElementById('registrationform').yob.value);
			  var monthArr = getDaysinMonthsArray(year);


			  if ( (month == "") || (day ==  "") || (year ==  "") ) {
				  reqdErrorMsg = reqdErrorMsg + '<li>Date of birth is not selected.</li>';
				  result = false;
			  }else if (day > monthArr[month]) {

				  // error number of days in month is greater.
				  invalidErrorMsg = invalidErrorMsg + '<li>Date of Birth is invalid.</li>';
				  result = false;
			  }

          if (reqdErrorMsg != '') {
              errorMsg = '<span class=\'txt_error\'>Sorry! It looks like you\'ve missed one or more of our required fields. Please fill in the fields highlighted below.</span>' + reqdErrorMsg + '<br>';
          }
          if (invalidErrorMsg != '') {
              errorMsg = errorMsg + '<span class=\'txt_error\'>Sorry! The information you\'ve entered in the following fields (highlighted) does not match our requirements. Please try again.</span>' + invalidErrorMsg;
          }

          return errorMsg;
    }
 function getDaysInfebruary (year) {
   // February has 29 days in any year evenly divisible by four,
   // EXCEPT for centurial years which are not also divisible by 400.
   return (((year % 4 == 0) && ( (!(year % 100 == 0)) || (year % 400 == 0))) ? 29 : 28 );
 }

 /**
  * This function returns an array of month days. Month January is at index 1.
  */
 function getDaysinMonthsArray(year) {
  var aName = new Array( );


   for (var i = 1; i < 13; i++) {
     if (i==1) {
       aName[i] = 31;
     }
     if (i==4 || i==6 || i==9 || i==11) {
       aName[i] = 30;
     }
     if (i==2) {
       aName[i] = getDaysInfebruary(year);
     }
    }

    return aName
 }

function isZipCA(s) {
     var zipcode = s;

	 if (zipcode.length!=6) {

	  	return false;
	 }
	 if(zipcode.length==6){
	 	for(var i=0; i<zipcode.length; i++){
	 		var c = zipcode.charAt(i);
			if(i%2==0){
				if(!isLetter(c)) {
				//alert(i);
					return false;
				}
	 		}else if(i%2==1){
				if(!isDigitCA(c)){
				return false;
			   }
			}
	 	}
	 	return true;
	 }

	 return true;
}//end of function isZipCA()


// Function to validate City formField
function validCity(formField){

  var result = true;
  var stringto = trim(formField.value);

   if (!(stringto.search(/^[a-zA-Z]*[ ]?[a-zA-Zé]*$/) != -1)){
      //alert('Please enter only characters for the "' + fieldLabel +'" field.');
      result = false;
  }
  return result;
}