var SA = true; /*SHOW_ALERTS |  give us the ability to toggle the alerts on and off or just return TRUE / FALSE */


//  ************** CHECKOUT FUNCTIONS *************
function submitToWindow(form,windowFeatures,refresh){
    form.target = "_popup";
    if(!validateCheckoutFields(form.name)){
        return false;
    }else {
        window.open('','_popup',(windowFeatures != null)? windowFeatures : 'toolbars=0,location=0,width=500,height=500');
        if(refresh){
            setTimeout(function(){ window.location.reload( false ); },4000);
        }
        return true;
    }
}

checkoutCounter = 0;
function checkOut(){
    if (checkoutCounter == 0){
        checkoutCounter = 1;
        return true;
    }else{
        return false;
    }
}

//  ************** FORM DISPLAY FOR AB REGISTRATION *************
var abTypeSelected = false;
var abDates = true;

var browserName = navigator.appName;



//*** function to write out DOM access information for different browsers
function createFieldLocation(in_field){
	if (browserName=="Microsoft Internet Explorer"){
		var DOMaccessStr = "document.all." + in_field;
    }
    else{
		var DOMaccessStr = document.getElementById(in_field);
	}
	return DOMaccessStr;
}

function showAbFields(formName) {
	var form;
	var popUpSpan = false;
	if(formName == "quickNewsletters"){
	   form = window.document.quickNewsletters;
	}
	else if( formName == "quickNewslettersPopUp"){
	   form = window.document.quickNewslettersPopUp;
	   popUpSpan = true;
	}
	else if( formName == "registration1"){
	   form = window.document.registration1;
	}

		if(form.abUserInfo.value == "pregnant"){
			if(popUpSpan){
				eval(createFieldLocation("abPopExtras")).style.display ='';
				eval(createFieldLocation("childPopText")).style.display ="none";
				eval(createFieldLocation("pregnantPopText")).style.display ='';
			} else {
				eval(createFieldLocation("abExtras")).style.display ='';
				eval(createFieldLocation("childText")).style.display ="none";
				eval(createFieldLocation("pregnantText")).style.display ='';
			}
			abTypeSelected = true;
			abDates = true;
	    } else if(form.abUserInfo.value == "child"){
			if(popUpSpan){
				eval(createFieldLocation("abPopExtras")).style.display ='';
				eval(createFieldLocation("pregnantPopText")).style.display ="none";
				eval(createFieldLocation("childPopText")).style.display ='';
			} else {
				eval(createFieldLocation("abExtras")).style.display ='';
				eval(createFieldLocation("pregnantText")).style.display ="none";
				eval(createFieldLocation("childText")).style.display ='';
			}
			abTypeSelected = true;
			abDates = true;
	    } else if(form.abUserInfo.value == "Trying to adopt"){
			if(popUpSpan){
				if(eval(createFieldLocation("abPopExtras")).style.display == ''){
					eval(createFieldLocation("abPopExtras")).style.display ='none';
				}
			} else {
				if(eval(createFieldLocation("abExtras")).style.display == ''){
					eval(createFieldLocation("abExtras")).style.display ='none';
				}
			}
			abTypeSelected = true;
			abDates = false;
	    } else if(form.abUserInfo.value == "Trying to conceive"){
			if(popUpSpan){
				if(eval(createFieldLocation("abPopExtras")).style.display == ''){
					eval(createFieldLocation("abPopExtras")).style.display ='none';
				}
			} else {
				if(eval(createFieldLocation("abExtras")).style.display == ''){
					eval(createFieldLocation("abExtras")).style.display ='none';
				}
			}
			abTypeSelected = true;
			abDates = false;
	    } else if(form.abUserInfo.value == "Neither"){
			if(popUpSpan){
				if(eval(createFieldLocation("abPopExtras")).style.display == ''){
					eval(createFieldLocation("abPopExtras")).style.display ='none';
				}
			} else {
				if(eval(createFieldLocation("abExtras")).style.display == ''){
					eval(createFieldLocation("abExtras")).style.display ='none';
				}
			}
			abTypeSelected = true;
			abDates = false;
	    } else if(form.abUserInfo.value == "select"){
			if(popUpSpan){
				document.getElementByID("abPopExtras").style.display ='none';
				//eval(createFieldLocation("pregnantPopText")).style.display ="none";
				//eval(createFieldLocation("childPopText")).style.display ='none';
			} else {
				eval(createFieldLocation("abExtras")).style.display ='none';
				eval(createFieldLocation("pregnantText")).style.display ="none";
				eval(createFieldLocation("childText")).style.display ='none';
			}

			abTypeSelected = false;
			abDates = true;
	 }
}

function checkAbDateFields(form) {
	var form = form;
	var success = true;
	if(!abTypeSelected) {
		alert("Please let us help you by selecting one of the dropdown values in the About me... section.");
		formField = form.abUserInfo;
		success=false;
	} else if (abDates){
		if (!checkMonthDateYear(form)) {
			success=false;
		}
	} else if (form.newsletters[0]) {
		for (var j = 0; j < 15; j++) {
			if(form.newsletters[j].value == "AB1"){
				if(form.newsletters[j].checked){
					if (!checkAbDates(form)){
						success=false;
					}
				}
				j = 16;
			} else {
				success=true;
			}
		}
	}
	return (success);
}

function checkAbDates(form) {
	var form = form;
	if (!abDates){
		alert("In order to sign up for the Weekly Ages and Stages Newsletter you must be pregnant or have an infant or child.");
		formField = form.abUserInfo;
		return (false);
	}
}

//  ************** STRING FORM VALIDATION FUNCTIONS *************

function checkCharacterSpecialString(formValue) {
	var checkOK = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz \.-&/";
	var checkStr = formValue;
	var allValid = true;
	for (i = 0;  i < checkStr.length;  i++){
		ch = checkStr.charAt(i);
		for (j = 0;  j < checkOK.length;  j++)
		{
            if (ch == checkOK.charAt(j))
            {
                break;
            }
        }
		if (j == checkOK.length){
		allValid = false;
		break;
		}
	}
	if (!allValid)	{
		return (false);
	}
	else {
		return (true);
	}
}

function checkCharacterNumberString(formValue) {
	var checkOK = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789 \.";
	var checkStr = formValue;
	var allValid = true;
	for (i = 0;  i < checkStr.length;  i++){
		ch = checkStr.charAt(i);
		for (j = 0;  j < checkOK.length;  j++)
		{
            if (ch == checkOK.charAt(j))
            {
                break;
            }
        }
		if (j == checkOK.length){
		allValid = false;
		break;
		}
	}
	if (!allValid)	{
		return (false);
	}
	else {
		return (true);
	}
}

function checkCharacterNumberSpecialString(formValue) {
	var checkOK = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789 \.-&/";
	var checkStr = formValue;
	var allValid = true;
	for (i = 0;  i < checkStr.length;  i++){
		ch = checkStr.charAt(i);
		for (j = 0;  j < checkOK.length;  j++)
		{
            if (ch == checkOK.charAt(j))
            {
                break;
            }
        }
		if (j == checkOK.length){
		allValid = false;
		break;
		}
	}
	if (!allValid)	{
		return (false);
	}
	else {
		return (true);
	}
}

function checkAlphaString(formValue) {
	var checkOK = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz \.";
	var checkStr = formValue;
	var allValid = true;
	for (i = 0;  i < checkStr.length;  i++){
		ch = checkStr.charAt(i);
		for (j = 0;  j < checkOK.length;  j++)
		{
            if (ch == checkOK.charAt(j))
            {
                break;
            }
        }
		if (j == checkOK.length){
		allValid = false;
		break;
		}
	}
	if (!allValid)	{
		return (false);
	}
	else {
		return (true);
	}
}

function checkForPOBox(myPOBox)  {
   var checkPOBoxString = myPOBox.match(/\b(((\PO BOX)|(\P.O. BOX)|(\PO. BOX)|(\P.O BOX)|(\PO.BOX)|(\P.O.BOX)|(\POBOX)|(\POST OFFICE BOX)|(\POSTOFFICE BOX)))\b/gi);
   if (!checkPOBoxString) {
	return (true);
   }
   else {
	  return (false);
   }
}

function checkEmail(emailString) {
	var newString = emailString.match(/^[^@ ]+@[\w\-]+(\.[\w\-]{2,20})+$/);
   if (!newString) {
   return (false);
   }
   else {
      return (true);
   }
}

function validateUSPhone( strValue ) {
  var objRegExp  = /(^\(([1-9]\d{2}\)\s?\d{3}\-\d{4})|([1-9]\d{2}\s?\d{3}\-\d{4})|([1-9]\d{2}\s?\d{3}\s?\d{4})|([1-9]\d{2}\-\d{3}\s?\d{4})|([1-9]\d{2}\-\d{3}\-\d{4})|([1-9]\d{2}\/?\d{3}\/?\d{4})|([1-9]\d{2}\/?\d{3}\-?\d{4})|([1-9]\d{2}\/\s?\d{3}\-?\d{4})|([1-9]\d{2}\/\s?\d{3}\/?\d{4})|([1-9]\d{2}\/\s?\d{3}\s?\d{4})|\(([1-9]\d{2}\)\s?\d{3}\s?\d{4})$)/;
  return objRegExp.test(strValue);
}

//  ************** INDIVIDUAL FORM FEILD VALIDATION FUNCTIONS *************

var recipientError = "";  // **** set to null for errors messeges unless set at the functions below ****

function validateFirstName(formFeild) {
	if(formFeild.value == "") {
		if(SA){alert(recipientError + " First Name field required.");};
		return (false);
	} else if(!checkCharacterSpecialString(formFeild.value)) {
        if(SA){alert(recipientError + "First Name field is limited to alpha and .-&/ characters only.");}
		return (false);
    } else {
		return (true);
    }
}

function validateLastName(formFeild) {
	if(formFeild.value == "") {
        if(SA){alert(recipientError + "Last Name field required.");}
		return (false);
	} else if(formFeild.value.length == 1) {
        if(SA){alert(recipientError + "Last Name field requires a minimum of two alpha characters.");}
		return (false);
	} else if(!checkCharacterSpecialString(formFeild.value)) {
        if(SA){alert(recipientError + "Last Name field is limited to alpha and .-&/ characters only.");}
		return (false);
	} else {
		return (true);
    }
}

function validateAddress1(formFeild) {
	if(formFeild.value=="") {
	 	if(SA){alert(recipientError + "Address 1 field required.");}
	    return (false);
	} else if(formFeild.value.length == 1) {
		if(SA){alert(recipientError + "Address 1 field requires a minimum of two characters.");}
		return (false);
	} else if(!checkCharacterNumberSpecialString(formFeild.value)) {
		if(SA){alert(recipientError + "Address 1 field limited to alpha, numeric and these special characters .-&/.");}
		return (false);
	} else {
		return (true);
    }
}

function validateAddressPO(formFeild) {
	if(!checkForPOBox(formFeild.value.toUpperCase())) {
		if(SA){alert(recipientError + "Address 1 cannot contain a Post Office Box. We do not ship books and/or products to P.O.Boxes.");}
		return (false);
	} else {
		return (true);
    }
}

function validateAddress2(formFeild) {
	if(checkCharacterNumberSpecialString(formFeild.value) == false) {
        if(SA){alert(recipientError + "Address 2 field limited to alpha, numeric and these special characters .-&/.");}
		return (false);
	} else {
		return (true);
    }
}

function validateCity(formFeild) {
	if (formFeild.value=="") {
        if(SA){alert(recipientError + "City field required.");}
       	return (false);
	} else if(formFeild.value.length == 1) {
        if(SA){alert(recipientError + "City field requires a minimum of two characters.");}
		return (false);
	} else if(!checkCharacterNumberString(formFeild.value)) {
        if(SA){alert(recipientError + "City field does not allow any special characters.");}
		return (false);
	} else if(!checkAlphaString(formFeild.value)) {
        if(SA){alert(recipientError + "City field is limited to alpha characters.");}
		return (false);
    } else {
		return (true);
    }
}

function validateState(formFeild) {
	if(formFeild.value=="") {
        if(SA){alert(recipientError + "State field required.");}
        return (false);
    } else {
		return (true);
    }
}

function validatePostalCode(formFeild) {
	if (formFeild.value=="") {
        if(SA){alert(recipientError + "Zip code field required.");}
        return (false);
	} else if (formFeild.value.length <= 4) {
        if(SA){alert("Please enter a valid zip or postal code for the selected state.");}
        return (false);
	} else {
		return (true);
    }
}

function validatePhone(formFeild) {
	if(formFeild.value=="") {
		if(SA){alert(recipientError + "Phone number field required.");}
	    return (false);
	} else if(!validateUSPhone(formFeild.value)) {
        if(SA){alert("Please enter your " + recipientError + " phone number with your area code.  example \"555-555-5555\"");}
		return (false);
	} else {
		return (true);
    }
}

function validateEmailAddress(formFeild) {
	if(formFeild.value=="") {
		if(SA){alert(recipientError + "E-mail address field required.");}
		return (false);
	} else if(!checkEmail(formFeild.value)) {
		if(SA){alert("Sorry, we have detected an error with your " + recipientError + " e-mail address.  Please check your e-mail address for errors and place your order again.  SAMPLE E-mail: janesmith@aol.com");}
		return (false);
	} else {
		return (true);
    }
}

function checkMonthDateYear(form){
	if(form.dueDateMonth.value=="0") {
		if(SA){alert("Invalid due date month");}
		formField = form.dueDateMonth;
		return (false);
	} else if(form.dueDateYear.value=="") {
		if(SA){alert("Invalid due date year");}
		formField = form.dueDateYear;
		return (false);
	} else if (form.dueDateDay.value=="0") {
		if(SA){alert("Invalid due date day");}
		formField = form.dueDateDay;
		return (false);
	} else {
		return (true);
	}
}

 function checkMonth(form, formField, message){
	if(formField.value=="") {
		alert(message);
		formField = form.formField;
		return (false);
	}  else {
		return (true);
	}
 }

 function checkYear(form, formField,message){
	 if(formField.value=="") {
		alert(message);
		formField = form.formField;
		return (false);
	} else {
		return (true);
	}
  }

function checkDay(form, formField,message){
	if(formField.value=="") {
		alert(message);
		formField = form.formField;
		return (false);
	}  else {
		return (true);
	}
 }


function validateDisplayName(form,formFeild) {
   if(form.validDispName) {
      if(formFeild.value == "") {
		if(SA){alert(recipientError + " Display Name field required.");}
		  return (false);
	  } else {
		return (true);
      }
   }else{
       return (true);
   }
}

//  ************** ACTUAL FORM VALIDATION FUNCTIONS *************
function valvalval(formName){
	alert(formName);
	return false;
}
function validateCheckoutFields(formName) {
	var form;
	var success = true;
    var message;
	recipientError = "";

	if(formName == "bhgsubscribe"){
	   	form = window.document.bhgsubscribe;
	} else if( formName == "bhgsubscribepop"){
	    form = window.document.bhgsubscribepop;
	} else if (formName == "checkoutForm") {
	    form = window.document.checkoutForm;
	} else if (formName == "multiAddress") {
	    form = window.document.multiAddress;
	} else if (formName == "registration2") {
	    form = window.document.registration2;
	}

    	if(!validateFirstName(form.validFirstName)){
			success=false;
			formField = form.validFirstName;
		} else if(!validateLastName(form.validLastName)){
		   success=false;
		   formField = form.validLastName;
	    } else if(!validateCity(form.validCity)){
		success=false;
		formField = form.validCity;
    } else if(!validatePostalCode(form.validPostalCode)){
		success=false;
		formField = form.validPostalCode;
    }
	if(success) {
		if(form.validCountry) {
			if(form.validCountry.value=="Other") {
			} else if(!validateState(form.validState)){
				success=false;
				formField = form.validState;
			}
		} else if(!validateState(form.validState)){
			success=false;
			formField = form.validState;
		}
    }
	if(success) {
        if(form.validAddress1) {
			if(!validateAddress1(form.validAddress1)){
				success=false;
				formField = form.validAddress1;
    		}
		}
    }
	if(success) {
        if(form.validAddress1prod) {
			if(!validateAddress1(form.validAddress1prod)){
				success=false;
				formField = form.validAddress1prod;
    		}
		}
     }
	 if(success) {
        if(form.validAddress2) {
			if(!validateAddress2(form.validAddress2)){
				success=false;
				formField = form.validAddress2;
    		}
		}
    }
	if(success) {
        if(form.chkedParent) {
			if(form.chkedParent.value=="true") {
            if(!validateChildName(form.child0Name)){
		        success=false;
		        formField = form.child0Name;
	        }else if(!checkMonth(form, form.child0birthMonth,"Invalid child1 birth month")){
                success=false;
		        formField = form.child0birthMonth;
            }else if(!checkDay(form, form.child0birthDay,"Invalid child1 birth day")){
                success=false;
		        formField = form.child0birthDay;
            }else if(!checkYear(form, form.child0birthYear,"Invalid child1 birth year")){
                success=false;
		        formField = form.child0birthYear;
            }else if(!validateChildSex(form.child0Sex)) {
                success=false;
		        formField = form.child0Sex;
            }
		}
    }
   }
    if(success) {        if(form.validPhone) {
			if(form.elements["/atg/userprofiling/ProfileFormHandler.promotions"]) {
				if(checkBoxValue) {
					if(!validatePhone(form.validPhone)){
						success=false;
						formField = form.validPhone;
					}
				}
			} else {
				if(!validatePhone(form.validPhone)){
					success=false;
					formField = form.validPhone;
				}
    		}
		}
    }
	if(success) {
        if(form.validEmailAddress) {
			if(!validateEmailAddress(form.validEmailAddress)){
				success=false;
				formField = form.validEmailAddress;
    		}
		}
    }
    if(success) {
		if(form.motherBirthState) {
			if(formName == "registration2") {
				if(form.validAbSubscription) {
					if(form.validAbSubscription.checked) {
						if(form.motherBirthState.value=="") {
							alert("Please enter mother's birth state");
							success = false;
							formField = form.motherBirthState;
						}
					}
				}
			} else {
				if(form.motherBirthState.value=="") {
					alert("Please enter mother's birth state");
					success = false;
					formField = form.motherBirthState;
				}
			}
		}
    }

    if(success) {
		if(form.motherBirthDayOfMonth) {
            if(formName == "registration2") {
				if(form.validAbSubscription) {
					if(form.validAbSubscription.checked) {
						if(form.motherBirthDayOfMonth.value=="") {
							alert("Please enter mother's birth day");
							success = false;
							formField = form.motherBirthDayOfMonth;
						}
					}
				}
			} else {
				if(form.motherBirthDayOfMonth.value=="") {
					alert("Please enter mother's birth day");
					success = false;
					formField = form.motherBirthDayOfMonth;
				}
			}
		}
    }

    if(success) {
		if(form.dueDateMonth) {
			if(!abDatesSelected) {
				alert("Please let us help you by selecting one of the dropdown values in the About me... section.");
				success=false;
				formField = document.all.abUserInfo;
			} else if (abDates){
				if(form.dueDateMonth.value=="0") {
					alert("Invalid due date month");
					success=false;
					formField = form.dueDateMonth;
				} else if(form.dueDateYear.value=="Year") {
					alert("Invalid due date year");
					success=false;
					formField = form.dueDateYear;
				} else if (form.dueDateDay.value=="0") {
					alert("Invalid due date day");
					success=false;
					formField = form.dueDateDay;
				}
			}
		}
	}
	if(!success) {
		formField.focus();
    	return success;
    } else {
        return true;
    }
}

function validateMyAccountFields(formName) {
	var form;
	var success = true;
    var message;
	form = window.document.myAccount;

    if (isNaN(form.validAccountNumber.value)) {
        alert("This field is limited to numbers only.");
		formField = form.validAccountNumber ;
        success=false;
	} else if(form.validAccountNumber.value.length <= 9) {
        alert("Please enter all ten digits of your account number");
        formField = form.validAccountNumber ;
		success=false;
	} else if(!validateEmailAddress(form.validEmailAddress)){
		success=false;
		formField = form.validEmailAddress;
    } else if(!validateFirstName(form.validFirstName)){
		success=false;
		formField = form.validFirstName;
    } else if(!validateLastName(form.validLastName)){
		success=false;
		formField = form.validLastName;
	}
    if(!success) {
		formField.focus();
    	return success;
    } else {
		 return true;
    }
}

function validateReferFriend(formName) {
	var form;
	var success = true;
    var message;
	form = window.document.referFriend;
	recipientError = "Recipients";

	if(!validateFirstName(form.firstName)){
		success=false;
		formField = form.firstName;
    } else if(!validateEmailAddress(form.email)){
		success=false;
		formField = form.email;
	}
	if(!success) {
		formField.focus();
    	return success;
    } else {
        return true;
    }
}

function validateNewsletterSignUp(formName) {
	var form;
	var success = true;
    var message;
	form = window.document.registration1;

	if(!validateEmailAddress(form.validEmailAddress)){
		success=false;
		formField = form.validEmailAddress;
    } else if(!validateFirstName(form.validFirstName)){
		success=false;
		formField = form.validFirstName;
    }
	if(success) {
		if(form.dueDateMonth) {
			if(!checkAbDateFields(form)) {
				success=false;
			}
		}
	}
	if(!success) {
		formField.focus();
    	return success;
    } else {
		return true;
    }
}

function validateQuickNewsletterSignUp(formName) {
    var form;
	var success = true;

	if(formName == "quickNewsletters"){
	   form = window.document.quickNewsletters;
	} else if( formName == "quickNewslettersPopUp"){
	   form = window.document.quickNewslettersPopUp;
	}

	if(!validateFirstName(form.firstName)){
		success=false;
		formField = form.firstName;
    } else if(!validateEmailAddress(form.email)){
		success=false;
		formField = form.email;
    }
	if(success) {
		if(form.dueDateMonth) {
			if(!checkAbDateFields(form)) {
				success=false;
			}
		}
	}
	if(!success) {
		formField.focus();
    	return success;
    } else {
		return true;
    }
}

function validateGiftAddress(formName) {
	var form;
	var success = true;
    var message;
	recipientError = "Recipients";

	if(formName == "bhgsubscribe"){
	   form = window.document.bhgsubscribe;
	} else if( formName == "bhgsubscribepop"){
	    form = window.document.bhgsubscribepop;
	} else if (formName == "checkoutForm") {
	    form = window.document.checkoutForm;
	} else if (formName == "multiAddress") {
	    form = window.document.multiAddress;
	}
	if(!validateFirstName(form.validGiftFirstName)){
		success=false;
		formField = form.validGiftFirstName;
    } else if(!validateLastName(form.validGiftLastName)){
		success=false;
		formField = form.validGiftLastName;
	} else if(!validateAddress1(form.validGiftAddress1)){
		success=false;
		formField = form.validGiftAddress1;
	} else if(!validateAddress2(form.validGiftAddress2)){
		success=false;
		formField = form.validGiftAddress2;
	} else if(!validateCity(form.validGiftCity)){
		success=false;
		formField = form.validGiftCity;
    } else if(!validateState(form.validGiftState)){
		success=false;
		formField = form.validGiftState;
    } else if(!validatePostalCode(form.validGiftPostalCode)){
		success=false;
		formField = form.validGiftPostalCode;
    }
	if(!success) {
		formField.focus();
    	return success;
    } else {
        return true;
    }
}

function validateOffSiteForms(formName) {
	var form;
	var success = true;
    var message;
	recipientError = "";

	if(formName == "bhgsubscribe"){
	   	form = window.document.bhgsubscribe;
	} else if (formName == "checkoutForm") {
	    form = window.document.checkoutForm;
	} else if (formName == "multiAddress") {
	    form = window.document.multiAddress;
	}
    if(!validateFirstName(form.firstName)){
		success=false;
		formField = form.firstName;
    } else if(!validateLastName(form.lastName)){
		success=false;
		formField = form.lastName;
	} else if(!validateCity(form.city)){
		success=false;
		formField = form.city;
    } else if(!validateState(form.state)){
		success=false;
		formField = form.state;
    } else if(!validatePostalCode(form.postalCode)){
		success=false;
		formField = form.postalCode;
    }
	if(success) {
        if(form.address1) {
			if(!validateAddress1(form.address1)){
				success=false;
				formField = form.address1;
    		}
		}
    }
	 if(success) {
        if(form.validAddress2) {
			if(!validateAddress2(form.address2)){
				success=false;
				formField = form.address2;
    		}
		}
    }
	if(success) {
        if(form.email) {
			if(!validateEmailAddress(form.email)){
				success=false;
				formField = form.email;
    		}
		}
    }
    if(success) {
		if(form.dueDateMonth) {
			if(form.dueDateMonth.value=="0") {
				alert("Invalid due date month");
				success=false;
				formField = form.dueDateMonth;
			} else if(form.dueDateYear.value=="Year") {
				alert("Invalid due date year");
				success=false;
				formField = form.dueDateYear;
			} else if (form.dueDateDay.value=="0") {
				alert("Invalid due date day");
				success=false;
				formField = form.dueDateDay;
			}
			if(form.motherBirthState) {
				if(form.motherBirthState.value=="") {
					alert("Please enter mother's birth state");
					success = false;
					formField = form.motherBirthState;
				}
			}
		}
    }
	if(!success) {
		formField.focus();
    	return success;
    } else {
        return true;
    }
}

function offSitePopupPos(name,link,width,height,top,left) {
	var remote = null;
    remote = window.open(link,name,"width=" + width + ",height=" + height + ",screenX=" + left + ",screenY=" + top + ",top=" + top + ",left=" + left + ",resizable=yes,scrollbars=yes");
    if (remote != null) {
	  if (remote.opener == null) {
  	    remote.opener = self;
	  }
      remote.name = name;
      remote.focus();
    }
}

function validateChildName(formFeild) {
	if(formFeild.value == "") {
		alert(recipientError + " Child Name field required.");
		return (false);
	} else if(!checkCharacterSpecialString(formFeild.value)) {
        alert(recipientError + "Child Name field is limited to alpha and .-&/ characters only.");
		return (false);
    } else {
		return (true);
    }
}

function validateChildSex(formFeild) {
	if(formFeild.value == "") {
		alert(recipientError + " Child Sex field required.");
		return (false);
	} else {
		return (true);
    }
}


function validateRegStep1(formName) {
	var form;
	var success = true;
    var message;
	form = window.document.registration1;

	if(form.validEmailAddress.value==""){
        alert("Email field required.");
        success=false;
		formField = form.validEmailAddress;
    } else if(form.validPassword.value == "") {
        alert("Password field required.");
        formField = form.validPassword ;
		success=false;
	} else if(!validateFirstName(form.validFirstName)){
		success=false;
		formField = form.validFirstName;
    }else if(!validateDisplayName(form,form.validDispName)){
		success=false;
		formField = form.validDispName;
    }
	if(success) {
        if(formName == "registration1"){
          if(!checkParentsDateFields(form)) {
              success=false;
              formField= form.checkedTryToCncve;
         }
        }
    }
    if(success) {
    	if(form.dueDateMonth) {
			if(!checkAbDateFields(form)) {
				success=false;
			}
		}
	}
	if(!success) {
		formField.focus();
    	return success;
    } else {
		return true;
    }
}


function validateRegStepSingle(formName) {
	var form;
	var success = true;
    var message;
	form = window.document.registration;

	if(!validateFirstName(form.validFirstName)){
		success=false;
		formField = form.validFirstName;
    }else if(form.validEmailAddress.value==""){
        alert("Email field required.");
        success=false;
		formField = form.validEmailAddress;
    } else if(form.validPassword.value == "") {
        alert("Password field required.");
        formField = form.validPassword ;
		success=false;
	}
    if(success) {
        if(!checkParentsDateFields(form)) {
                    success=false;
         }

    }

     if(!validateLastName(form.validLastName)){
		success=false;
		formField = form.validLastName;
	} else if(!validateCity(form.validCity)){
		success=false;
		formField = form.validCity;
    } else if(!validatePostalCode(form.validPostalCode)){
		success=false;
		formField = form.validPostalCode;
    } else if(!validateState(form.validState)){
			success=false;
			formField = form.validState;

    } else if(!validateAddress1(form.validAddress1)){
				success=false;
				formField = form.validAddress1;
    }  else if(form.checkedParent.checked) {
            if(!validateChildName(form.child0Name)){
		        success=false;
		        formField = form.child0Name;
	        }else if(!checkMonth(form, form.child0birthMonth,"Invalid child birth month")){
                success=false;
		        formField = form.child0birthMonth;
            }else if(!checkDay(form, form.child0birthDay,"Invalid child birth day")){
                success=false;
		        formField = form.child0birthDay;
            }else if(!checkMonth(form, form.child0birthYear,"Invalid child birth year")){
                success=false;
		        formField = form.child0birthYear;
            } else if(!validateChildSex(form.child0Sex)) {
                success=false;
		        formField = form.child0Sex;
            }
    }
	if(success) {
        if(form.validAddress1prod) {
			if(!validateAddress1(form.validAddress1prod)){
				success=false;
				formField = form.validAddress1prod;
    		}
		}
     }
	 if(success) {
        if(form.validAddress2) {
			if(!validateAddress2(form.validAddress2)){
				success=false;
				formField = form.validAddress2;
    		}
		}
    }


    if(success) {
        if(form.validPhone) {
			if(form.elements["/atg/userprofiling/ProfileFormHandler.promotions"]) {
				if(checkBoxValue) {
					if(!validatePhone(form.validPhone)){
						success=false;
						formField = form.validPhone;
					}
				}
			} else {
				if(!validatePhone(form.validPhone)){
					success=false;
					formField = form.validPhone;
				}
    		}
		}
    }

    if(success) {
		if(form.motherBirthState) {
			if(formName == "registration2") {
				if(form.validAbSubscription) {
					if(form.validAbSubscription.checked) {
						if(form.motherBirthState.value=="") {
							alert("Please enter mother's birth state");
							success = false;
							formField = form.motherBirthState;
						}
					}
				}
			} else {
				if(form.motherBirthState.value=="") {
					alert("Please enter mother's birth state");
					success = false;
					formField = form.motherBirthState;
				}
			}
		}
    }

    if(success) {
		if(form.motherBirthDayOfMonth) {
            if(formName == "registration2") {
				if(form.validAbSubscription) {
					if(form.validAbSubscription.checked) {
						if(form.motherBirthDayOfMonth.value=="") {
							alert("Please enter mother's birth day");
							success = false;
							formField = form.motherBirthDayOfMonth;
						}
					}
				}
			} else {
				if(form.motherBirthDayOfMonth.value=="") {
					alert("Please enter mother's birth day");
					success = false;
					formField = form.motherBirthDayOfMonth;
				}
			}
		}
    }

    if(success) {
		if(form.dueDateMonth) {
			if(!abDatesSelected) {
				alert("Please let us help you by selecting one of the dropdown values in the About me... section.");
				success=false;
				formField = document.all.abUserInfo;
			} else if (abDates){
				if(form.dueDateMonth.value=="0") {
					alert("Invalid due date month");
					success=false;
					formField = form.dueDateMonth;
				} else if(form.dueDateYear.value=="Year") {
					alert("Invalid due date year");
					success=false;
					formField = form.dueDateYear;
				} else if (form.dueDateDay.value=="0") {
					alert("Invalid due date day");
					success=false;
					formField = form.dueDateDay;
				}
			}
		}
	}

    if(!success) {
		formField.focus();
    	return success;
    } else {
		return true;
    }
}



function checkParentsDateFields(form) {
	var form = form;
	var success = true;
    if(form.checkedTryToCncve) {
   if(form.checkedTryToCncve.checked || form.checkedPregnant.checked || form.checkedParent.checked || form.checkedOther.checked){

       if(form.checkedTryToCncve.checked && form.checkedPregnant.checked) {
           alert("Cannot select trying to conceive and pregnant checkboxes together. Please unselect one of them.");
           success=false;
           formField= form.checkedTryToCncve;
       }
       if(form.checkedTryToCncve.checked && form.checkedOther.checked) {
           alert("Cannot select trying to conceive and other checkboxes together. Please unselect one of them.");
           success=false;
           formField= form.checkedTryToCncve;
       }
       if(form.checkedPregnant.checked) {
           if(form.dueMonth.value=="0") {
					alert("Invalid due date month");
					success=false;
					formField = form.dueMonth;
				} else if(form.dueYear.value.length==0) {
					alert("Invalid due date year");
					success=false;
					formField = form.dueYear;
				} else if (form.dueDay.value=="0") {
					alert("Invalid due date day");
					success=false;
					formField = form.dueDay;
				}
       }
       if(form.checkedParent.checked) {
           if(form.birthMonth.value=="0") {
					alert("Invalid birth date month");
					success=false;
					formField = form.birthMonth;
				} else if(form.birthYear.value.length ==0) {
					alert("Invalid birth year");
					success=false;
					formField = form.birthYear;
				} else if (form.birthDay.value=="0") {
					alert("Invalid birth day");
					success=false;
					formField = form.birthDay;
				}
       }

   } else{
       alert("Please let us help you by selecting one of the checkboxs values in the You are... section.");
       success=false;
       formField= form.checkedTryToCncve;
   }
        }

    return (success);
}