/****************************
 * ie6 hacks-self explanatory
***************************/
var ie6hacks = function() {
    /* make the background pretty -- no need to mess around with alpha transparency...ie6 gets a solid color */
    if (window.ie6) {
        if ($("reg_wrap_bg_fade")) {
            $("reg_wrap_bg_fade").setStyle("display", "none");
        }
    }
};

var setupPrivacyPolicyLinks = function() {
    $$('.privacy_policy_link').each(function(link) {
        link.onclick = function() {
            var pplink = window.open(this.href, null, 'height=500,width=765,resizable=yes,scrollbars=yes');
            if (window.focus) {
                pplink.focus();
            }
            return false;
        };
    });
    $$('.privacyLink a').each(function(link) {
        link.onclick = function() {
            var pplink = window.open(this.href, null, 'height=500,width=765,resizable=yes,scrollbars=yes');
            if (window.focus) {
                pplink.focus();
            }
            return false;
        };
    });
};

/***************************
 * common registration utility methods
 ****************************/
function RegUtilClass(){
    this.lockButton = function(el) {
        if (typeof(el) != "undefined" && el != null) {
            var lb = new Fx.Style(el.id, 'opacity', {duration: 500});
            lb.start(1, 0);
        }
    };
    this.unlockButton = function(el) {
        if (typeof(el) != "undefined" && el != null) {
            var lb = new Fx.Style(el.id, 'opacity', {duration: 500});
            lb.start(0, 1);
        }
    };
    this.showLoadIndicator = function(el, mess, mode) {
        if (!mess) {
            mess = "";
        }
        /* Build message and image */
		/* Look at replacing with
		 * https://secure.parents.com/bhg/images/reg/ajax_load_indicator.gif
		 * vs.
		 * http://images.meredith.com/bhg/images/reg/ajax_load_indicator.gif
		 */
		var loadindicator = new Element('img', {'class':'indicate_load','style':'position:absolute','src':'https://secure.parents.com/bhg/images/reg/ajax_load_indicator.gif'});
        var loadmsg = new Element('h4', {'class':'indicate_load_msg'});
        loadmsg.appendText(mess);
        switch(mode){
			case 'after':
				loadindicator.setStyle('position','relative');
				loadindicator.injectAfter(el.id);
		        loadmsg.injectAfter(el.id);
			break;
			default:
				loadindicator.injectBefore(el.id);
		        loadmsg.injectAfter(el.id);
			break;
		}
    };
    this.hideLoadIndicator = function() {
        $$('.indicate_load').each(function(el, i) {
            el.remove();
        });
        $$('.indicate_load_msg').each(function(el, i) {
            el.remove();
        });
    };
    this.hideAllErrors = function() {
        $$('.validation-advice').each(function(el, i) {
            el.remove();
        });
    };
    this.hideLogin = function() {
        $('reg_member_login').setStyle("display", "none");
    };
    this.hideForgotPass = function() {
        $('reg_member_forgot_pass').setStyle("display", "none");
    };
    this.log = function(txt) {
        if (typeof(console) != "undefined") {
            console.log(txt);
        }
    };
}

var regutil = new RegUtilClass();

/*****************************************************
* setup login box
*****************************************************/
var LoginBox = function() {
    var self = this;
    var LOGIN_HAS_CALLED_BACK = false;
    var LOGIN_TRIES = 0;
    var MAX_LOGIN_TRIES = 3;
    /*set up validation*/
    var loginformval = new FormValidator("reg_login_form");

    $('reg_login_form').addEvent('submit', function(e) {
        var EM = $('login_email').value.toLowerCase();
        var PW = $('login_password').value;
        var NIDS = new Array();

        if (typeof(RegistrationService) != "function") {
            regutil.log("ERROR: Registration service not found, please make sure DWR is mapped on this server");
            $('reg_login_form').submit();
        } else {            
            //*** Prevent the submit event*/
            new Event(e).stop();
            RegistrationService.isAlreadyAMemberLogin({"password":PW,"newsletterBundleIds":NIDS,"email":EM}, self.loginCallback);
        }

        self.removeErrorMessages();
        regutil.showLoadIndicator($('reg_login_button'));
        regutil.lockButton($('reg_login_button'));
    });

    this.loginCallback = function(data) {
        LOGIN_HAS_CALLED_BACK = true;
        var data = eval("(" + data + ")");
        if (data.registrationErrors.length > 0) {
            self.removeErrorMessages();
            var errorText = new Element('p', {'class':'validation-advice'}).setHTML(data.registrationErrors[0]);
            errorText.injectAfter('reg_login_button');
            regutil.hideLoadIndicator();
            regutil.unlockButton($('reg_login_button'));
        } else {
            self.removeErrorMessages();
            /** DETERMINE WHERE WE NEED TO GO NOW **/

            /* exclusive offers has precedence over ALL other variables, evidently */
            if (data.successUrl.indexOf("/common/offers") >= 0) {
                location.href = data.successUrl;
            }
                /* check querystring*/
            else if (RETURN_URL != "null" && RETURN_URL != "" && typeof(RETURN_URL) != "undefined") {
                setTimeout(function() {
                    location.href = unescape(RETURN_URL);
                }, 2000);
            } /*wait 2 seconds before loggin in -- worth a try!*/
                /* then check to see if the server wants to redirect us somewhere */
            else if (data.successUrl != "") {
                location.href = data.successUrl;
            }
                /*then check for access controller return url*/
            else if (ACCESS_CONTROLLED_RETURN_URL != "" && typeof(ACCESS_CONTROLLED_RETURN_URL) != "undefined") {
                location.href = ACCESS_CONTROLLED_RETURN_URL;
            }
                /*if neither, take to site root*/
            else {
                location.href = "/";
            }
        }
    };
    this.removeErrorMessages = function() {
        $$('#reg_login_form .validation-advice').each(function(el, i) {
            el.remove();
        });
    };
};

/*******************************************
* setup forgot pass box
*******************************************/
var ForgotPassBox = function() {
    var self = this;

    /* setup validation */
    var forgotformval = new FormValidator("reg_forgot_form");

    $('reg_forgot_form').addEvent('submit', function(e) {
        var EM = $('forgotpass_email').value;

        if (typeof(RegistrationService) != "function") {
            regutil.log("ERROR: Registration service not found, please make sure DWR is mapped on this server");
            $('reg_login_form').submit();
        } else {
            /*** Prevent the submit event*/
            new Event(e).stop();
            RegistrationService.sendPassword(EM, self.forgotPassCallback);
        }

        self.removeErrorMessages();
        regutil.showLoadIndicator($('reg_forgot_pass_submit'));
        regutil.lockButton($('reg_forgot_pass_submit'));
    });

    this.forgotPassCallback = function(data) {
        var data = eval("(" + data + ")");
        if (data.registrationErrors.length > 0) {
            self.removeErrorMessages();
            var errorText = new Element('p', {'class':'validation-advice'}).setHTML(data.registrationErrors[0]);
            errorText.injectAfter('reg_forgot_pass_submit');
        } else {
            self.removeErrorMessages();
            $('forgot_pass_head').setHTML("Your password has been sent and should arrive shortly...");
            if ($('forgot_pass_txt')) {
                $('forgot_pass_txt').setHTML("");
            }
            ;
        }
        regutil.hideLoadIndicator();
        regutil.unlockButton($('reg_forgot_pass_submit'));
    };
    this.removeErrorMessages = function() {
        $$('#reg_forgot_form .validation-advice').each(function(el, i) {
            el.remove();
        });
    };
};

/****************************
 * setup reg step 1
 ****************************/
function RegStep1(){
    var self = this;

    this.EMAIL_VALIDATED = false;           /* users email has been checked against the servlet */
    this.IS_ALREADY_A_MEMBER = false;
    var PARENTS_PORTAL = $("parents_add_fields");
    /*set up validation*/
    var reg1formval = new FormValidator("reg_step_1_form");
    $("reg_step_1_form").addEvent("submit",handleRegStep1Submit);

    /************************************
    * setup check for isAlreadyAMember*
    ***********************************/
    $('reg_field_email').onblur = function() {
        if (reg1formval.test('validate-email', $('reg_field_email'), false) && this.value != "") {
            RegistrationService.isAlreadyAMember(this.value, self.isAlreadyAMemberCallback);
        }
    };
    this.removeErrorMessages = function() {
        $$('.validation-advice').each(function(el, i) {
            el.remove();
        });
    };

    this.isAlreadyAMemberCallback = function(data) {
        var data = eval("(" + data + ")");
        if (data.registrationErrors.length > 0) {
            self.displayAlreadyAMember(data.registrationErrors[0]);
            $('reg_field_email').onkeydown = function() {
                if (EMAIL_VALIDATED) {
                    self.hideAlreadyAMember();
                    EMAIL_VALIDATED = false;
                }
            };
            EMAIL_VALIDATED = true;
        } else {
            self.hideAlreadyAMember();
        }
    };

    this.displayAlreadyAMember = function(message) {
        self.IS_ALREADY_A_MEMBER = true;
        $('reg_already_a_member_container').innerHTML = "<img src='/bhg/images/reg/btn/reg_step_1_info_i.gif'/><p>" + message + ". For your security, please enter your password below to login.</p>";
        $('reg_already_a_member_container').style.display = "block";
        $('reg_field_password_li').className = "mdp_member";
        $('reg_create_submit').style.display = "none";
        if ($("reg_field_displayname_li")) {
            $('reg_field_displayname_li').style.display = "none";
        }
        ;
        if ($('parents_add_fields')) {
            $('parents_add_fields').style.display = 'none';
        }
        if ($('reg_login_already')) {
            $('reg_login_already').remove();
        }
        ;
        var login_img = new Element('img', { id:'reg_login_already',src:"/bhg/images/reg/btn/reg_login_now_big.gif",events:{click:self.doAlreadyMemberLogin}}).injectInside('reg_submit');
    };
    this.hideAlreadyAMember = function() {
        self.IS_ALREADY_A_MEMBER = false;
        $('reg_field_password_li').className = "non_member";
        if ($('reg_login_already')) {
            $('reg_login_already').remove();
        }
        ;
        $('reg_already_a_member_container').setHTML("");
        $('reg_already_a_member_container').style.display = "none";
        if ($("reg_field_displayname_li")) {
            $('reg_field_displayname_li').style.display = "";
        }
        ;
        if ($('parents_add_fields')) {
            $('parents_add_fields').style.display = '';
        }
        $('reg_create_submit').style.display = "block";
        self.removeErrorMessages();
    };
    this.doAlreadyMemberLogin = function() {
        var NIDS = self.getSubscribedNewsletters();
        var PW = $('reg_field_password').value;
        var EM = $('reg_field_email').value;
        var OI = $('reg_optin').checked;
        RegistrationService.isAlreadyAMemberLogin({"password":PW,"newsletterBundleIds":NIDS,"email":EM,"optIn":OI}, self.alreadyMemberLoginCallback);
        self.removeErrorMessages();
        regutil.hideLoadIndicator();
        regutil.lockButton($('reg_login_already'));
        regutil.showLoadIndicator($('reg_login_already'));
    };
    this.getSubscribedNewsletters = function() {
        var na = new Array();
        $$(".reg_newsletter_option").each(function(el, i) {
            if (el.checked) {
                na.push(el.value);
            }
        });
        return na;
    };
    this.getSubscribedNewsletterAttributes = function() {
        var na = new Array();
        $$('.reg_newsletter_attribute').each(function(el, i) {
            if (el.checked) {
                na.push(el.value);
            }
        });
        return na;
    };
    this.alreadyMemberLoginCallback = function(data) {
        var data = eval("(" + data + ")");
        if (data.registrationErrors.length > 0) {
            self.removeErrorMessages();
            regutil.hideLoadIndicator();
            regutil.unlockButton($('reg_login_already'));
            var errorText = new Element('p', {'class':'validation-advice'}).setHTML(data.registrationErrors[0]);
            errorText.injectAfter('reg_login_already');
        } else {
            /** DETERMINE WHERE WE NEED TO GO NOW **/
            /*first check querystring*/
            if (RETURN_URL != "null" && RETURN_URL != "" && typeof(RETURN_URL) != "undefined") {
                location.href = unescape(RETURN_URL);
            }
                /* then check to see if the server wants to redirect us somewhere */
            else if (data.successUrl != "") {
                location.href = data.successUrl;
            }
                /*then check for access controller return url*/
            else if (ACCESS_CONTROLLED_RETURN_URL != "" && typeof(ACCESS_CONTROLLED_RETURN_URL) != "undefined") {
                location.href = ACCESS_CONTROLLED_RETURN_URL;
            }
                /*if neither, take to site root*/
            else {
                location.href = "/";
            }
        }
    };

    function handleRegStep1Submit(e) {
        var CAN_SUBMIT = true;
        var NIDS = self.getSubscribedNewsletters();
        var NAIDS = self.getSubscribedNewsletterAttributes();
        var FN = $('reg_field_fname').value;
        var PW = $('reg_field_password').value;
        var EM = $('reg_field_email').value;
        var OI = $('reg_optin').checked;
        var RS = "";
            if(REG_SOURCE != "null" && typeof(REG_SOURCE) != "undefined"){
                var RS = REG_SOURCE;
            }
        if($("reg_field_displayname_li")){ DN = $("reg_field_displayname").value; }else{ DN = EM; }

        /* ADDITIONAL VALIDATION TESTS *************************/
        if(PARENTS_PORTAL){
            /*tests for a valid date */
            if($('reg_step_1_form').checkedPregnant.checked){
                var userDate = new Date();
                    userDate.setDate(this.dueDay.value);
                    userDate.setMonth(this.dueMonth.value-1);
                    userDate.setFullYear(this.dueYear.value);
                if(!checkParentRegDate(userDate,"pregnant")){CAN_SUBMIT=false;}
            }
            else if($('reg_step_1_form').checkedParent.checked){
                var userDate = new Date();
                    userDate.setDate(this.birthDay.value);
                    userDate.setMonth(this.birthMonth.value-1);
                    userDate.setFullYear(this.birthYear.value);
                if(!checkParentRegDate(userDate,"parent")){CAN_SUBMIT=false;}
            }

            /* if we've gotten this far, then it's safe to do the rest of the validation */
            if ( CAN_SUBMIT == true ) {
                if(!self.IS_ALREADY_A_MEMBER){
                    if(!checkParentsDateFields($('reg_step_1_form'))){CAN_SUBMIT=false;}/*test parents validation*/
                }
            }
        }
        /* END TESTS ********************/

        var REG_OBJ;
        /* DISPLAY NAME PRESENT */
		if(PARENTS_PORTAL){
			var ppf = $("reg_step_1_form");
			var mapStr = "PO = { ";
			var appendComma = false;

			if(ppf.checkedPregnant.checked){ mapStr += "\"pregnant\":\"true\",\"month\":ppf.dueMonth.value,\"date\":ppf.dueDay.value,\"year\":ppf.dueYear.value"; appendComma = true; }
			if(ppf.checkedParent.checked){
				if ( appendComma ) { mapStr += ","; }
				mapStr += "\"parent\":\"true\",\"parentMonth\":ppf.birthMonth.value,\"parentDate\":ppf.birthDay.value,\"parentYear\":ppf.birthYear.value";
				appendComma = true;
			}

			if(ppf.checkedTryToCncve.checked){
				if ( appendComma ) { mapStr += ","; }
				mapStr += "\"trytocncve\":\"true\"";
				appendComma = true;
			}

			if (ppf.checkedOther.checked) {
				if ( appendComma ) { mapStr += ","; }
				mapStr += "\"other\":\"true\"";
			}
			mapStr += " }";
			eval( mapStr);

			var regObjStr;
			if($("reg_field_displayname_li")){
				regObjStr = "REG_OBJ = {\"firstName\":FN,\"password\":PW,\"regSource\":RS,\"newsletterBundleIds\":NIDS,\"email\":EM,\"optIn\":OI,\"displayName\":DN,\"otherProfileData\":PO}";
			} else {
				regObjStr = "REG_OBJ = {\"firstName\":FN,\"password\":PW,\"regSource\":RS,\"newsletterBundleIds\":NIDS,\"email\":EM,\"optIn\":OI,\"otherProfileData\":PO}";
			}
			eval(regObjStr);
		}else{
			if($("reg_field_displayname_li")){
				REG_OBJ = {"firstName":FN,"password":PW,"regSource":RS,"newsletterBundleIds":NIDS,"newsletterAttributeIds":NAIDS,"email":EM,"optIn":OI,"displayName":DN};
			} else {
				REG_OBJ = {"firstName":FN,"password":PW,"regSource":RS,"newsletterBundleIds":NIDS,"newsletterAttributeIds":NAIDS,"email":EM,"optIn":OI};
			}
		}

        if(CAN_SUBMIT){
            regutil.hideLoadIndicator();
            regutil.lockButton($('reg_create_submit'));
            regutil.showLoadIndicator($('reg_create_submit'),"Submitting your information...please wait");


            if(typeof(RegistrationService)=="function"){
                /*** Prevent the submit event*/
                new Event(e).stop();
                if(self.IS_ALREADY_A_MEMBER){
                    self.doAlreadyMemberLogin();
                }else{
                    RegistrationService.registerLevel1(REG_OBJ,self.registerCallback);
                };
            }else{
                $('reg_step_1_form').submit();
                regutil.log("ERROR: Registration service not found, please make sure DWR is mapped on this server");
            }
        }else{
            new Event(e).stop();
        }
    }

    this.registerCallback = function(data) {
        var data = eval("(" + data + ")");
        if (data.registrationErrors.length > 0) {
            alert(data.registrationErrors[0]);
            regutil.hideLoadIndicator();
            regutil.unlockButton($('reg_create_submit'));
        }
        else {
            location.href = "/common/profile/regStep2.jsp";
        }
    };
}

/*******************************************
* roadblock registration ad
*******************************************/
var RoadBlock = function() {
    var self = this;
    var roadBlockFormVal = new FormValidator("reg_roadblock_form");
    var PARENTS_PORTAL_ROADBLOCK = $('roadblock_parents_add_fields');

    this.getSubscribedNewsletters = function() {
        var na = new Array();
        $$('.reg_newsletter_option').each(function(el, i) {
            if (el.checked) {
                if (el.id != "rb_field_optIn") {
                    na.push(el.value);
                }
            }
        });
        return na;
    };

    this.getSubscribedNewsletterAttributes = function() {
        var na = new Array();
        $$('.reg_newsletter_attribute').each(function(el, i) {
            if (el.checked) {
                if (el.id != "rb_field_optIn") {
                    na.push(el.value);
                }
            }
        });
        return na;
    };

    $('reg_roadblock_form').addEvent('submit', function(e) {
        var NIDS = self.getSubscribedNewsletters();
        var NAIDS = self.getSubscribedNewsletterAttributes();
        var FN = $('rb_field_fname').value;
        var EM = $('rb_field_email').value;
        var OI = $('rb_field_optIn').checked;
        var RS = $('rb_field_regSource').value;
        var PO;
        var RB_OBJ;
        if (PARENTS_PORTAL_ROADBLOCK) {
            var ptype = $('parents_profile_type').value;
            if (ptype == "pregnant") {
                if(checkBirthdateFields(this, ptype)){
                    PO = {"pregnant":"true","month":this.dueMonth.value,"date":this.dueDay.value,"year":this.dueYear.value};
                }
            }
            else if (ptype == "parent") {
                if(checkBirthdateFields(this, ptype)){
                    PO = {"parent":"true","month":this.dueMonth.value,"date":this.dueDay.value,"year":this.dueYear.value};
                }
            }
            else if (ptype == "trytocncve") {
                PO = {"trytocncve":"true"};
            }
            else if (ptype == "none") {
            /* abort! abort! */
                if (checkYouAreSelected(ptype) == false){
                    $('parents_profile_type').className = "validation-failed"
                    new Event(e).stop();
                    return false;
                }
            }
            else {
                PO = {"other":"true"};
            }
            RB_OBJ = {"regSource":RS,"firstName":FN,"newsletterBundleIds":NIDS,"newsletterAttributeIds":NAIDS,"email":EM,"optIn":OI,"otherProfileData":PO};
        } else {
            RB_OBJ = {"regSource":RS,"firstName":FN,"newsletterBundleIds":NIDS,"newsletterAttributeIds":NAIDS,"email":EM,"optIn":OI};
        }
        /*** Prevent the submit event*/
        new Event(e).stop();

        /* construct a date object for the date validation */
        if (PARENTS_PORTAL_ROADBLOCK) {
            var userDate = new Date();
            userDate.setDate(this.dueDay.value);
            userDate.setMonth(this.dueMonth.value - 1);
            userDate.setFullYear(this.dueYear.value);
            if (roadBlockFormVal.test('validate-email', $('rb_field_email'), false) &&
                roadBlockFormVal.test('required', $('rb_field_email'), false) &&
                roadBlockFormVal.test('required', $('rb_field_fname'), false) &&
                roadBlockFormVal.test('validate-alpha', $('rb_field_fname'), false) &&
                roadBlockFormVal.test('required', this.dueMonth, false) &&
                roadBlockFormVal.test('required', this.dueDay, false) &&
                roadBlockFormVal.test('required', this.dueYear, false) &&
                checkParentRegDate(userDate, $('parents_profile_type').value)
                    ) {
                regutil.hideLoadIndicator();
                regutil.lockButton($('reg_submit'));
                regutil.showLoadIndicator($('reg_submit'), "Saving your selections...");

                prePopulateSubForm(userDate);

                RegistrationService.subscribeNewsletters(RB_OBJ, self.subscribeNewslettersCallback);
            }
        } else {
            if (roadBlockFormVal.test('validate-email', $('rb_field_email'), false) &&
                roadBlockFormVal.test('required', $('rb_field_email'), false) &&
                roadBlockFormVal.test('required', $('rb_field_fname'), false) &&
                roadBlockFormVal.test('validate-alpha', $('rb_field_fname'), false)
                    ) {
                regutil.hideLoadIndicator();
                regutil.lockButton($('reg_submit'));
                regutil.showLoadIndicator($('reg_submit'), "Saving your selections...");
                RegistrationService.subscribeNewsletters(RB_OBJ, self.subscribeNewslettersCallback);
            }
        }

        function prePopulateSubForm(userDate){
            if ($('parents_profile_type').value != "trytocncve"){
                /*Don't Pass Date if Tryng to Concieve*/
                $("SubFormDueDateMonth").value = (userDate.getMonth()+1);
                $("SubFormDueDateDay").value = (userDate.getDate());
                $("SubFormDueDateYear").value = (userDate.getFullYear());
            }
            $("rb_sub_field_fname").value = $("rb_field_fname").value;
        }
    });

    this.subscribeNewslettersCallback = function(data) {

        var data = eval("(" + data + ")");

        if (data.registrationErrors.length > 0) {
            regutil.hideLoadIndicator();
            regutil.unlockButton($('reg_submit'));
            alert(data.registrationErrors[0]);
        } else {
            /* SEND REPORTING EVENTS */
            /*sendPageEventWithParams(str, _pgname, _s_events)*/
            if (typeof(s_pageName) != "undefined") {
                sendPageEventWithParams(null, s_pageName + " : confirm", "scRemove:" + data.profileId, s_pageName);
            }
            else {
                sendPageEventWithParams(null, s.pageName + " : confirm", "scRemove:" + data.profileId, s.pageName);
            }
            ;
            /* END REPORTING HACKERY */

            /* pre-populate name and due date information on the sub form */
            $("rb_sub_field_fname").value = $("rb_field_fname").value;

            var subscription_checkbox = $("subscription_checkbox");
            if(subscription_checkbox!=null){
                if(subscription_checkbox.getProperty("checked")){
                    var form = $("reg_roadblock_sub_form");
                    $("reg_roadblock_body").empty();
                    form.removeClass("hide").injectInside($("reg_roadblock_body"));
                    form.target = "_popup";

                    function validateSubForm(){
                        var validate = new FormValidator(form);
                        if (validate.test('validate-alpha', $('rb_sub_field_fname'), false) &&
                            validate.test('validate-alpha', $('rb_sub_field_lname'), false) &&
                            validate.test('required', $('rb_sub_field_address1'), false) &&
                            validate.test('required', $('rb_sub_field_city'), false) &&
                            validate.test('required', $('rb_sub_field_state'), false) &&
                            validate.test('required', $('rb_sub_field_zip'), false)&&
                            checkSubForm2()
                        ){
                             return true;
                        }else{
                             return false;
                        }
                    }

                  $('sub_submit').onclick = function(){
                      if (validateSubForm()){
                          form.submit();
                          setTimeout(function(){ window.location.reload( false ); },4000);
                      }else{

                      }

                  };

                }else{

                    $('reg_roadblock_fields').setHTML("<p>Thank you for signing up for your FREE newsletters!</p><p>You will start to receive your newsletter(s) on the next regularly scheduled send day.</p><br><img src='http://images.meredith.com/bhg/images/reg/inter_continue.gif' id='roadblock_thankyou_continue' />");
                    $('roadblock_thankyou_continue').onclick = function() {
                        window.location.reload();
                    };
                    setTimeout(function() {
                        window.location.reload();
                    }, 4000);

                }
            }
        }
    };

    /*parents fields for road block ad */
    if (PARENTS_PORTAL_ROADBLOCK) {
        $('parents_profile_type').onchange = function() {
            if ($('parents_profile_type').value == "trytocncve" || $('parents_profile_type').value == "other" || $('parents_profile_type').value == "none") {
                $('parents_date_fields').style.display = "none";
                $$('#parents_date_fields select').each(function(el, i) {
                    el.className = "";
                    el.value = "";
                    /* remove validation */
                });
            } else {
                $('parents_date_fields').style.display = "block";
                $$('#parents_date_fields select').each(function(el, i) {
                    el.className = "required";
                    /* setup validation */
                });
            }

            if ( $('rb_field_subEnabled').value == 'true') {
                /*Reset Sub - Let DWR handle it... */
                $('parents_profile_type').removeClass('validation-failed');
                $('reg_sub_content_wrap').addClass('hide');
                $('subscription_checkbox').checked=false;
                $("road_block_sub_qual_questions").addClass("hide");
                var actionDate;
                if ($('parents_profile_type').value == 'pregnant'){
                    var actionDate = "Your due date is:";
                    $('subHeadTitle').setHTML(actionDate);
                }else if ($('parents_profile_type').value == 'parent'){
                    var actionDate = "Your child's birthdate is:";
                    $('subHeadTitle').setHTML(actionDate);
                }else if ($('parents_profile_type').value == 'trytocncve'){
                    var actionDate = "Due Date:";
                    $('subHeadTitle').setHTML(actionDate);
                }

                RemoteTargetingService.executeRoadBlockTargeter("/atg/registry/RepositoryTargeters/OnlinePromos/PmmRoadblockSubscription", $('parents_profile_type').getValue(), $('rb_field_remoteCatRef').getValue(), executeRepositoryTargeterCallback);
            }
        };
    }

    /* Sub Offer if not Parents for road block ad */
    if (!PARENTS_PORTAL_ROADBLOCK) {

        var rbHash = {bhg:"BhgRoadblockSubscription",fitness:"FitRoadblockSubscription",lhj:"LhjRoadblockSubscription",diy:"DiyRoadblockSubscription",rem:"RemRoadblockSubscription",kbi:"KbiRoadblockSubscription",dlv:"DlvRoadblockSubscription",sbe:"SbeRoadblockSubscription",mwl:"MwlRoadblockSubscription",fc:"FCRoadBlockSubscription"};

        var rbHashKey = mdp.brandID.toLowerCase();
        
        var rbHashValue = rbHash[rbHashKey];

        if (rbHashValue == undefined ) rbHashValue = "BhgRoadblockSubscription";

        /*alert (hashKey + " - " + hashValue );*/

        $('rb_field_email').onfocus = function() {

            if($('rb_field_email').getValue() == "") {
                if ( $('rb_field_subEnabled').value == 'true') {
                    /*Reset Sub - Let DWR handle it... */
                    $('rb_field_email').removeClass('validation-failed');
                    $('reg_sub_content_wrap').addClass('hide');
                    $('subscription_checkbox').checked=false;
                    $('subscription_checkbox').addClass('floatleft');
                    $("road_block_sub_qual_questions").addClass("hide");

                    RemoteTargetingService.executeRoadBlockTargeter("/atg/registry/RepositoryTargeters/OnlinePromos/" + rbHashValue , null, $('rb_field_remoteCatRef').getValue(), executeRepositoryTargeterCallback);
                }
            }
        };
    }


};

    function executeRepositoryTargeterCallback(remoteResult) {
        if (remoteResult.statusCode == 0 && remoteResult.totalResultsFound > 0) {
            /* Success! */
            $('reg_sub_content_container').setHTML(remoteResult.result.bodyText);
            $('reg_sub_content_wrap').removeClass('hide');
            $("subscription_checkbox").removeClass("hide");
            $("productProdId").value = (remoteResult.result.productProdId);
            $("catalogRefIds").value = (remoteResult.result.productCatRef);
            $("regRoadBlockPromoCode").value = remoteResult.result.promotionCode;
            $("billingCountry").value = remoteResult.result.country;

            regutil.log("hasAbProduct = " + remoteResult.result.hasAbProduct);
            if ( remoteResult.result.hasAbProduct == "true" ) {
                $("road_block_sub_qual_questions").removeClass("hide");
            }
        }else{
            /* Failure */
            regutil.log(remoteResult.statusMessage);
        }
    };

/*******************************************
* Persistent Module login
*******************************************/
var PersistentModuleLogin = function() {

    var self = this;
    var pmLoginFormVal = new FormValidator("pm_login_form");
    var PERSISTENT_MODULE_LOGIN = $('pm_login_add_fields');
    var hasAccount = false;

    /*Profile drop down fields for PM */

    if (PERSISTENT_MODULE_LOGIN) {

        $('pm_login_profile_type').onchange = function() {

	var popupSelect = $('pm_login_profile_type').value;
	switch (popupSelect) {
            case "trytocncve":
                $('pm_login_date_fields').style.display = "none";
                $$('#pm_login_date_fields select').each(function(el, i) {
                    el.className = "";
                    /* remove validation */
				});
				break;

            case "pregnant":
                $('pm_login_date_fields').style.display = "block";
                $$('#pm_login_date_fields select').each(function(el, i) {
                    el.className = "required";
                    /* setup validation */
                });
				break;

            case "parent":
                $('pm_login_date_fields').style.display = "block";
                $$('#pm_login_date_fields select').each(function(el, i) {
                    el.className = "required";
                    /* setup validation */
                });
				break;

            case "other":
                $('pm_login_date_fields').style.display = "none";
                $$('#pm_login_date_fields select').each(function(el, i) {
                    el.className = "";
                    /* remove validation */
                });
				break;

            default:
                break;
        }
            buildParentsNewsletters($('pm_login_profile_type').value);
        };

        /*check to see if the field is defaulted to one of these */
        if ($('pm_login_profile_type').value == "trytocncve" || $('pm_login_profile_type').value == "other") {
            $("pm_login_date_fields").style.display = "none";
        }
    }

    function initNewsletter(){
        $('pm_login_profile_type').selectedIndex = 0;
        $('pm_login_date_fields').style.display = "none";
        $$('#pm_login_date_fields select').each(function(el, i) {
            el.className = "";
            /* remove validation */
        });
        buildParentsNewsletters($('pm_login_profile_type').value);
    }
  	/*initNewsletter();*/


    /*determine how old the kid is */
    if (PERSISTENT_MODULE_LOGIN) {
        $('pm_login_form').dueYear.onchange = function() {
            buildBundleForAge();
        };
        $('pm_login_form').dueMonth.onchange = function() {
            buildBundleForAge();
        };
        $('pm_login_form').dueDay.onchange = function() {
            buildBundleForAge();
        };
    }

    var buildBundleForAge = function() {
        var pmLoginForm = $('pm_login_form');
        if ($('pm_login_profile_type').value == "parent" && pmLoginForm.dueYear.value != "" && pmLoginForm.dueMonth.value != "" && pmLoginForm.dueDay.value != "") {
            var age = calculateAge(pmLoginForm.dueYear.value,(parseInt(pmLoginForm.dueMonth.value) - 1), pmLoginForm.dueDay.value, "years", 0, "rounddown");
            if (parseInt(age) < 3) {
                buildParentsNewsletters("parent");
            }
            else {
                buildParentsNewsletters("parent_teen");
            }
        }
        ;
    };

   function buildParentsNewsletters(bundle) {
  /*
            var newsletter_bundle;
            switch (bundle) {
                case "pregnant":
                    newsletter_bundle =
                                        '<p class="pm_login_newsletter_item">' +
                                        '<input type="checkbox" checked="true" value="90" class="pm_login_newsletter_option" />' +
                                        '<span class="newsLink" title="Essential tips and tricks for moms-to-be.">' + 'Daily Kick' + '</span>' +
                                        '</p>' +
                                        '<p class="pm_login_newsletter_item">' +
                                        '<input type="checkbox" checked="true" value="149" class="pm_login_newsletter_option" />' +
                                        '<span class="newsLink" title="A week-to-week development guide taking you from pregnancy to raising a toddler.">' +'Ages and Stages' + '</span>' +
                                        '</p>' +
                                        '<p class="pm_login_newsletter_item">' +
                                        '<input type="checkbox" checked="true" value="38" class="pm_login_newsletter_option" />' +
                                        '<span class="newsLink" title="Get breaking parenting and pregnancy news, like recalls, highlights from our community groups, seasonal activities and advice, and all that\'s new on Parents.com">' +'As They Grow Weekly Update' + '</span>' +
                                        '</p>';
                    break;
                case "parent":
                    newsletter_bundle = '<p class="pm_login_newsletter_item">' +
                                        '<input type="checkbox" checked="true" value="149" class="pm_login_newsletter_option" />' +
                                        '<span class="newsLink" title="A week-to-week development guide taking you from pregnancy to raising a toddler.">' + 'Ages and Stages' + '</span>' +
                                        '</p>' +
                                        '<p class="pm_login_newsletter_item">' +
                                        '<input type="checkbox" checked="true" value="150" class="pm_login_newsletter_option" />' +
                                        '<span class="newsLink" title="Your weekly guide to raising a happy, healthy family.">' + 'Kids Health' + '</span>' +
                                        '</p>' +
                                        '<p class="pm_login_newsletter_item">' +
                                        '<input type="checkbox" checked="true" value="38" class="pm_login_newsletter_option" />' +
                                        '<span class="newsLink" title="Get breaking parenting and pregnancy news, like recalls, highlights from our community groups, seasonal activities and advice, and all that\'s new on Parents.com">' +'As They Grow Weekly Update' + '</span>' +
                                        '</p>';
                    break;
                case "parent_teen":
                    newsletter_bundle = '<p class="pm_login_newsletter_item">' +
                                        '<input type="checkbox" checked="true" value="38" class="pm_login_newsletter_option" />' +
                                        '<span class="newsLink" title="Weekly parenting advice and fun tips and tricks for you and your child.">' + 'Preschool-Teen Wkly Update' + '</span>' +
                                        '</p>' +
                                        '<p class="pm_login_newsletter_item">' +
                                        '<input type="checkbox" checked="true" value="150" class="pm_login_newsletter_option" />' +
                                        '<span class="newsLink" title="Your weekly guide to raising a happy, healthy family.">' + 'Kids Health' + '</span>' +
                                        '</p>' +
                                        '<p class="pm_login_newsletter_item">' +
                                        '<input type="checkbox" checked="true" value="31" class="pm_login_newsletter_option" />' +
                                        '<span class="newsLink" title="Simple and fun menus the whole family will love!">' + 'Parents Weekly Recipe' + '</span>' +
                                        '</p>';
                    break;
                case "trytocncve":
                    newsletter_bundle = '<p class="pm_login_newsletter_item">' +
                                        '<input type="checkbox" checked="true" value="151" class="pm_login_newsletter_option" />' +
                                        '<span class="newsLink" title="18 weeks of pregnancy tips, health tips, and inspiration for those trying to conceive.">' + 'Preparing for Pregnancy' + '</span>' +
                                        '</p>' +
                                        '<p class="pm_login_newsletter_item">' +
                                        '<input type="checkbox" checked="true" value="31" class="pm_login_newsletter_option" />' +
                                        '<span class="newsLink" title="Simple and fun menus the whole family will love!">' + 'Parents Weekly Recipe' + '</span>' +
                                        '</p>';
                    break;
                case "other":
                    newsletter_bundle = '<p class="pm_login_newsletter_item">' +
                                        '<input type="checkbox" checked="true" value="31" class="pm_login_newsletter_option" />' +
                                        '<span class="newsLink" title="Essential tips and tricks for moms-to-be.">' + 'Parents Weekly Recipe' + '</span>' +
                                        '</p>' +
                                        '<p class="pm_login_newsletter_item">' +
                                        '<input type="checkbox" checked="true" value="150" class="pm_login_newsletter_option" />' +
                                        '<span class="newsLink" title="Your weekly guide to raising a happy, healthy family.">' + 'Kids Health' + '</span>' +
                                        '</p>'
                    break;
                default:
                    newsletter_bundle = "";
                    break;
            }

            $('pm_login_dynamic_newsletter_container').setHTML(newsletter_bundle);
            new Tips($$('.newsLink'),{fixed:false});
    */
        }


    this.getSubscribedNewsletters = function() {
        var na = new Array();
        $$('.pm_login_newsletter_option').each(function(el, i) {
            if (el.checked) {
                na.push(el.value);
            }
        });
        return na;
    };
    this.getSubscribedNewsletterAttributes = function() {
        var na = new Array();
        $$('.pm_login_newsletter_attribute').each(function(el, i) {
            if (el.checked) {
                na.push(el.value);
            }
        });
        return na;
    };

    $('pm_login_form').addEvent('submit', function(e) {
        /*** Prevent the submit event*/
        new Event(e).stop();

        /* construct a date object for the date validation */
        if (PERSISTENT_MODULE_LOGIN) {

            var userDate = new Date();
            userDate.setDate(this.dueDay.value);
            userDate.setMonth(this.dueMonth.value - 1);
            userDate.setFullYear(this.dueYear.value);
            if (pmLoginFormVal.test('validate-email', $('pm_login_field_email'), false) &&
                pmLoginFormVal.test('required', $('pm_login_field_email'), false) &&
                pmLoginFormVal.test('required', $('pm_login_field_fname'), false) &&
                pmLoginFormVal.test('validate-alpha', $('pm_login_field_fname'), false) &&
                pmLoginFormVal.test('required', this.dueMonth, false) &&
                pmLoginFormVal.test('required', this.dueDay, false) &&
                pmLoginFormVal.test('required', this.dueYear, false) &&
                checkParentRegDate(userDate, $('pm_login_profile_type').value)
                    ) {
                regutil.hideLoadIndicator();
                regutil.lockButton($('pm_login_submit'));
                regutil.showLoadIndicator($('pm_login_submit'), "Saving your selections...","after");
                /*Onsubmit check if the user already exists.  DWR call to find if existing user*/
                RegistrationService.isEmailExists($('pm_login_field_email').value, checkEmailCallback);

            }
        }
    });



    function checkEmailCallback(remoteResult){
        if(remoteResult[0].toString() == "true"){
            hasAccount = true;
        }
        /*Allow user to subscribe newsletters whether existing user or new user*/
        var NIDS = self.getSubscribedNewsletters();
        var NAIDS = self.getSubscribedNewsletterAttributes();
        var FN = $('pm_login_field_fname').value;
        var EM = $('pm_login_field_email').value;
        var OI = $('pm_field_optIn').checked;
        var RS = $('pm_login_field_regSource').value;
        var PO;
        var RB_OBJ;
        if (PERSISTENT_MODULE_LOGIN) {
            var form = $("pm_login_form");
            var ptype = $('pm_login_profile_type').value;
            if (ptype == "pregnant") {
                PO = {"pregnant":"true","month":form.dueMonth.value,"date":form.dueDay.value,"year":form.dueYear.value};
            }
            else if (ptype == "parent") {
                PO = {"parent":"true","month":form.dueMonth.value,"date":form.dueDay.value,"year":form.dueYear.value};
            }
            else if (ptype == "trytocncve") {
                PO = {"trytocncve":"true"};
            }
            else {
                PO = {"other":"true"};
            }
            RB_OBJ = {"regSource":RS,"firstName":FN,"newsletterBundleIds":NIDS,"newsletterAttributeIds":NAIDS,"email":EM,"optIn":OI,"otherProfileData":PO};
            /*DWR call to subscribe to newsleterrs*/
            RegistrationService.subscribeNewsletters(RB_OBJ, subscribePMNewslettersCallback);
        }


    }

    function subscribePMNewslettersCallback(data) {

        var data = eval("(" + data + ")");

        if (data.registrationErrors.length > 0) {
            regutil.hideLoadIndicator();
            regutil.unlockButton($('pm_login_submit'));
            alert(data.registrationErrors[0]);
        } else {
            if(hasAccount){
                /*If existing user redirect to myfamily page*/
                window.location.href= '/parents/myfamily';
            }
            else{
                /*If new user redirect to RegStep2 which will take the user to
                myfamily(based on regSource for PM which has custom URL pointing to myFamily) on submit.  */
                window.location.href= '/common/profile/regStep2.jsp?regSource=7044';
            }

        }
    }




};

/*******************************************
* reg step 2
*******************************************/
var RegStep2 = function() {
    var self = this;

    /*set up validation*/
    var regstep2formval = new FormValidator("reg_step_2_form");

    if ($("reg_field_zip")) {
        $("reg_field_zip").onkeyup = function(event) {
            if (this.value.length >= 5 && this.value.length <= 7) {
                    RegistrationService.getAddressDataFromZip(this.value, self.zipLookupCallback);
            }
        };

    }
    this.zipLookupCallback = function(data) {
        var data = eval("(" + data + ")");

        if (data.registrationErrors.length > 0) {

        } else {
            regstep2formval.reset();

            if (data.result.postalCode.length > 0) {
                $('reg_field_zip').value = data.result.postalCode;
            }

            if (data.result.city.length > 0) {
                $('reg_field_city').value = data.result.city;
            }
            $$('#reg_field_state option').each(function(el, i) {
                if (el.value == data.result.state) {
                    el.selected = "true";
                }
            });

            if (data.result.country == "U") {
                $$('#reg_field_country option').each(function(el, i) {
                    if (el.value == "US") {
                        el.selected = "true";
                    }
                });
            } else if (data.result.country == "C") {
                $$('#reg_field_country option').each(function(el, i) {
                    if (el.value == "CA") {
                        el.selected = "true";
                    }
                });
            }
        }
    };
};

/*******************************************
* login page
*******************************************/
var LoginPage = function() {
    var self = this;
    var forgotPassObj = new ForgotPassBox();
    /*set up validation*/
    this.loginval = new FormValidator("reg_login_form");
    this.forgotval;
    if ($('reg_forgot_form')) {
        self.forgotval = new FormValidator('reg_forgot_form');
    }

    $('login_email').onfocus = function() {
        self.forgotval.reset();
    };
    $('login_pass').onfocus = function() {
        self.forgotval.reset();
    };
    $('forgotpass_email').onfocus = function() {
        self.loginval.reset();
    };

};

/****************************************************
* Parents additional fields validation (copied from formValidation.js for bandwidt
*****************************************************/
function checkYouAreSelected(choice){
    if (choice == "none"){
        alert("Please Make A Selection");
        return false;
    }
   return true;
}
function checkBirthdateFields(whatForm, choice){
    var dateType = {pregnant:"Due", parent:"Birth"};
    if ((whatForm.dueMonth.value == "") || (whatForm.dueDay.value == "")  || (whatForm.dueYear.value == "") ){
        alert("Please enter a " + dateType[choice] + " Date!");
        return false;
    } else {
        return true;
    };
}
function checkSubForm2(){
    if ($('road_block_sub_qual_questions').className.match('hide')){
        return true;
    } else{
        var subDate = new Date();
        var currDate = new Date();

        if ( (($('SubFormDueDateDay').value) == 0) ||
             (($('SubFormDueDateMonth').value) == 0) ||
             (($('SubFormDueDateYear').value) == 'Year')
            ){
                alert("Please enter a Due Date.");
                $('SubFormDueDateDay').addClass('validation-failed');
                $('SubFormDueDateMonth').addClass('validation-failed');
                $('SubFormDueDateYear').addClass('validation-failed');

        }else if ( (($('motherBirthDayOfMonthId').value) == 0)
                ){  alert("Please enter a Birth Day.");
                    $('motherBirthDayOfMonthId').addClass('validation-failed');
                    $('motherBirthDayOfMonthId').onchange = function() {
                        $('motherBirthDayOfMonthId').removeClass('validation-failed');
                    }

        }else if ( (($('rb_sub_field_lname').value) == '')
                ){  alert("Please enter a Last Name.");
                    $('rb_sub_field_lname').addClass('validation-failed');
                    $('rb_sub_field_lname').onblur = function() {
                        $('rb_sub_field_lname').removeClass('validation-failed');
                    }

        }else{
            subDate.setDate($('SubFormDueDateDay').value);
            subDate.setMonth($('SubFormDueDateMonth').value -1);
            subDate.setFullYear($('SubFormDueDateYear').value);
            if(currDate > subDate){
                if(currDate.getFullYear == subDate.getFullYear && currDate.getMonth() == subDate.getMonth() && currDate.getDate() == subDate.getDate()){
                    return true;
                }else{
                    alert("Your due date appears to be in the past...please enter a valid due date.");
                    return false;
                }
            }
            return true;
        }
    }
}



function checkParentRegDate(dateobj,usertype){
    var currDate = new Date();
    var userDate = dateobj;
    if(usertype == "pregnant"){
        if(currDate > userDate){
			if(currDate.getFullYear == userDate.getFullYear && currDate.getMonth() == userDate.getMonth() && currDate.getDate() == userDate.getDate()){
                return true;
            }else{
                alert("Your due date appears to be in the past...please enter a valid due date.");
                return false;
            }
        }
		else if(currDate < userDate){
			var start = (((currDate.getTime()/1000)/60)/60)/24;
			var end = (((userDate.getTime()/1000)/60)/60)/24;
			if((end - start) > 280){
				alert("Your due date appears to be too far into the future...please enter a valid due date.");
				return false;
			}
		}
        else{
            return true;
        }
    }
    if(usertype == "parent"){
        if(currDate < userDate){
            alert("Your birthdate is in the future...please enter a valid birthdate.");
            return false;
        }
        else{
            return true;
        }
    }
    return true;
}

function calculateAge(yr, mon, day, unit, decimal, round){
/*
BASED ON Ultimate Age calculator script- By JavaScript Kit (http://www.javascriptkit.com)
Over 200+ free scripts here!
Credit must stay intact for use
//calculateAge(1997, 11, 24, "years", 0, "rounddown")
*/

var one_day = 1000 * 60 * 60 * 24;
var one_month = 1000 * 60 * 60 * 24 * 30;
var one_year = 1000 * 60 * 60 * 24 * 30 * 12;

today = new Date();
var pastdate = new Date(yr, mon - 1, day);
var countunit = unit;
var decimals = decimal;
var rounding = round;

finalunit = (countunit == "days") ? one_day : (countunit == "months") ? one_month : one_year;
decimals = (decimals <= 0) ? 1 : decimals * 10;

if (unit!="years"){
if (rounding=="rounddown")
{
    return(Math.floor((today.getTime() - pastdate.getTime()) / (finalunit) * decimals) / decimals);
}
else
{
    return(Math.ceil((today.getTime() - pastdate.getTime()) / (finalunit) * decimals) / decimals);
}
}
else{
yearspast = today.getFullYear() - yr - 1;
tail = (today.getMonth() > mon - 1 || today.getMonth() == mon - 1 && today.getDate() >= day) ? 1 : 0;
pastdate.setFullYear(today.getFullYear());
pastdate2 = new Date(today.getFullYear() - 1, mon - 1, day);
tail = (tail == 1) ? tail + Math.floor((today.getTime() - pastdate.getTime()) / (finalunit) * decimals) / decimals : Math.floor((today.getTime() - pastdate2.getTime()) / (finalunit) * decimals) / decimals;
return(yearspast + tail);
}
}

function checkParentsDateFields(form) {
	var form = form;
	var success = true;
   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);
}

window.addEvent('domready', function(){
    new ie6hacks();
    setupPrivacyPolicyLinks();
    if($('reg_field_email')){new RegStep1();}
    if($('reg_step2_fields')){new RegStep2();}
    if($('reg_member_login')){new LoginBox();};
    if($('reg_member_forgot_pass')){new ForgotPassBox();};
    if($('reg_roadblock')) {new RoadBlock();};
    if($('reg_login_form') && (!$('reg_field_email'))){new LoginPage();}
    if($("pm_login")){new PersistentModuleLogin();}
   /* DWREngine.setMethod(DWREngine.IFrame); */
});