jQuery(document).ready(function () {
    if (CheckLanguage().substring(0, 2) != 'en') {
        jQuery('#tab5li').remove();
    }

    jQuery("#lnkFeedback").click(function () {
        ShowFeedbackForm();
    });

    jQuery("#lnkFaq").click(function () {
        //load the iframe
        jQuery("#divFaqFrame").append('<iframe id="ifrFaq" width="640" height="480" frameborder="0" src="' + javascript83 + '" />');

        jQuery("#modalFaq").jqmShow();
    });

    jQuery("#termsJoin").click(function () {
        var userAgreed = jQuery('#chkAgree').valid8("<br />" + javascript38);

        if (userAgreed.isValid()) {
            jQuery('#hfIEFix').val('true');
            jQuery('#modalTerms').jqmHide();
        }
    });

    jQuery('#lnkCancelTerms').click(function () {
        jQuery('#hfIEFix').val('false');
        jQuery('#chkAgree').attr('checked', false);
        jQuery('#divTerms').empty();
        jQuery('#modalTerms').jqmHide();
        ClearRegFields();
    });

    //gluten free clicke changes
    jQuery("#lnkGlutenFree").click(function () {

        var lcid = (CheckLanguage().substring(0, 2) == 'en') ? 'en' : 'fr';
        window.location = '/Search.aspx?q=&tags=Gluten%20Free&lcid=' + lcid;

    });

    jQuery("#lnkCookBook").click(function () {

       window.location = '/Bccookbook';

    });

    jQuery("#btnCloseReg").click(function () {
        jQuery("#dialog").jqmHide();
        ClearRegFields();
       
    });

    IsUserSignedIn(
        function () {
            SignInWidget();
        },
        function () {
            SignOutWidget();
        }
    );

    jQuery('#lnkSignIn').click(function () {
        // validation for email
        var emailVldtr = jQuery('#txtUserEmail').valid8({
            'regularExpressions': [
            { expression: /^.+$/, errormessage: javascript35 },
            { expression: /^[A-Za-z0-9](([_\.\-]?[a-zA-Z0-9-_]+)*)@([A-Za-z0-9]+)(([\.\-]?[a-zA-Z0-9]+)*)\.([A-Za-z]{2,})$/, errormessage: javascript36 }
            ]
        });

        // validation for email
        var passVldtr = jQuery('#txtSignInPassword').valid8({
            'regularExpressions': [
            { expression: /^.+$/, errormessage: javascript75 }
            ]
        });

        var username = jQuery("#txtUserEmail").val();
        var password = jQuery("#txtSignInPassword").val();

        if (jQuery("#chkRememberMe").attr('checked') == true) {
            //if remember me is checked set a cookie for 30 days
            jQuery.cookie('rememberMeUsername', username, { path: '/', expires: 3650 });
            jQuery.cookie('rememberMePassword', password, { path: '/', expires: 3650 });
        }
        else {
            jQuery.cookie('rememberMeUsername', null, { path: '/' });
            jQuery.cookie('rememberMePassword', null, { path: '/' });
        }

        if (emailVldtr.isValid() && passVldtr.isValid()) {
            SignIn(username, password, false);

            jQuery.cookie('RNLUserUID', GetUserUID(), { path: '/', expires: 1000 });
        }
    });

    jQuery('#lnkSignOut').click(function () {
        jQuery.cookie('rememberMeUsername', null, { path: '/' });
        jQuery.cookie('rememberMePassword', null, { path: '/' });

        SignOut();

        window.location = "/home.aspx";
    });

    jQuery('#lnkForgotUserPass').click(function () {
        jQuery('#modalSignIn').jqmHide();
        jQuery('#txtEmailForgotPass').val('');
        jQuery('#txtEmailForgotPassValidationMessage').remove();
        jQuery('#modalForgotPass').jqmShow();
    });

    jQuery("#txtEmailForgotPass").focus(function () {
        jQuery('#forgotEmailNotFound').hide();
    });

    jQuery("#btnForgotPassSubmit").click(function () {
        // validation for email
        var emailVldtr = jQuery('#txtEmailForgotPass').valid8({
            'regularExpressions': [
            { expression: /^.+$/, errormessage: javascript72 },
            { expression: /^[A-Za-z0-9](([_\.\-]?[a-zA-Z0-9]+)*)@([A-Za-z0-9]+)(([\.\-]?[a-zA-Z0-9]+)*)\.([A-Za-z]{2,})$/, errormessage: javascript73 }
            ]
        });

        if (emailVldtr.isValid()) {
            IsEmailTaken
		    (
		        '',
		        jQuery('#txtEmailForgotPass').val(),
			    function () {
			        SendForgotPasswordEmail(jQuery('#txtEmailForgotPass').val());
			    },
			    function () {
			        jQuery('#forgotEmailNotFound').show();
			    }
		    );
        }
    });
});

function ShowTermsAndConditions() {
    jQuery('#divTerms').append('<iframe id="ifrTerms" width="665" height="480" frameborder="0" src="' + content_masterPage112 + '" />');
    jQuery('#modalTerms').jqmShow();
}

function ShowFeedbackForm() {
    //load the iframe
    jQuery("#divFeedbackFrame").append('<iframe id="ifrFeeback" width="640" frameborder="0" height="480" src="' + javascript63 + '" />');

    jQuery("#modalFeedback").jqmShow();
}

function Hash() {
    this.length = 0;
    this.items = new Array();
    for (var i = 0; i < arguments.length; i += 2) {
        if (typeof (arguments[i + 1]) != 'undefined') {
            this.items[arguments[i]] = arguments[i + 1];
            this.length++;
        }
    }

    this.getItem = function (in_key) {
        return this.items[in_key];
    }

    this.getItemByIndex = function (index) {
        var ctr = 0;
        var itemKey = "";
        for (var key in this.items) {
            if (ctr == index) {
                itemKey = key;
            }
            ctr++;
        }
        return itemKey;
    }

    this.hasItem = function (in_key) {
        return typeof (this.items[in_key]) != 'undefined';
    }

}

function ShowLogo() {
    var logoHash = new Hash("BettyCrocker", "logo_betty_crocker",
	                        "Cheerios", "logo_cheerios",
                            "HoneyNutCheerios", "logo_bee",
                            "GreenGiant", "logo_green_giant",
                            "HamburgerHelper", "logo_hamburger_helper",
                            "LuckyCharms", "logo_lucky_charms",
                            "OldElPaso", "logo_old_el_paso",
                            "Pillsbury", "logo_pillsbury",
                            "Multibrand1", "logo_multibrand_v1",
                            "Multibrand2", "logo_multibrand_v2");

    var brandLogo = "";
    var currentBrand = jQuery("#hfGetBrand").val();
    var langPath = "";
    if (jQuery.cookie('website#lang') != null) {
        langPath = (jQuery.cookie('website#lang').indexOf("fr") == 0) ? "fr/" : "en/";
    }
    else {
        langPath = "en/";
    }

    // if there is a brand set in the SiteLogo cookie and it exists in the logo set
    if (jQuery.cookie('SiteLogo') && logoHash.hasItem(jQuery.cookie('SiteLogo'))) {
        // if there is a brand assigned and it's not the logo currently in the cookie
        if (logoHash.hasItem(currentBrand) && currentBrand != jQuery.cookie('SiteLogo')) {
            brandLogo = logoHash.getItem(currentBrand);
            jQuery("#logo").flash({
                name: 'logoFlash',
                src: '/flash/logos/' + langPath + brandLogo + '.swf',
                width: 460,
                height: 100,
                wmode: 'transparent',
                allowScriptAccess: 'always'
            },
                { version: 8,
                    expressInstall: true
                });
            jQuery.cookie('SiteLogo', currentBrand, { path: '/', expires: null });
        }
        else {
            // get the current brand logo from the cookie and show the image
            brandLogo = logoHash.getItem(jQuery.cookie('SiteLogo'));
            jQuery("#logo").html('<a href="/"><img src="/images/logos/' + langPath + brandLogo + '.gif" alt="' + siteTitle + '" title="" /></a>');
        }
    }
    else {
        // there is no cookie set, so randomly pick a brand logo
        var randBrand = logoHash.getItemByIndex(Math.floor(Math.random() * logoHash.length));
        var brandLogo = logoHash.getItem(randBrand);
        jQuery("#logo").flash({
            name: 'logoFlash',
            src: '/flash/logos/' + langPath + brandLogo + '.swf',
            width: 460,
            height: 100,
            wmode: 'transparent',
            allowScriptAccess: 'always'
        },
            { version: 8,
                expressInstall: true
            });
        // store the brand value in the cookie  
        jQuery.cookie('SiteLogo', randBrand, { path: '/', expires: null });
    }
}

function ShowMessageModal(header, message) {
    jQuery("#modalGenMsgHdr").html(header);
    jQuery("#modalGenMsgMsg").html(message);
    jQuery("#modalGenMsg").jqmShow();
}

function ClearValidationErrors() {
    // clear jquery.validate errors
    jQuery("label[class='error']").each(
                            function () {
                                jQuery(this).remove();
                            }
                        );

    // clear jquery valid8 errors
    jQuery("span[class='validationMessage']").each(
                            function () {
                                jQuery(this).remove();
                            }
                        );
}

function AddNewLine(textArea) {
    jQuery('#' + textArea).val(jQuery('#' + textArea).val() + '\n');
}


function GFUserRegistration() {

    
    var firstName = (jQuery('#txtFirstName').val());
    var lastName = (jQuery('#txtLastName').val());
    var nickname = (jQuery('#txtNickName').val());
    var emailAddress = jQuery('#txtEmail').val();
    var password = (jQuery('#txtPassword').val());
    var succcess = false;
    //var dataString = '{"username":"' + nickname + '", "password":"' + password + '", "remembered":' + 'off' + ', "prevUrl":"' + '' + '"}';
    var dataString = '{"username":"' + JSONEncode(emailAddress) + '", "password":"' + JSONEncode(password) + '", "remembered":"' + 'false' + '", "prevUrl":"' + '' + '"}';
    
    CallServiceMethod("/services/UserManagement.asmx/Authenticate", dataString,
                                                                      function (msg) {
                                                                          if (msg.d != 0) {
                                                                              //SignInWidget();
                                                                              CallServiceMethod("/services/UserManagement.asmx/SubscribeToGlutenNewsletter", "",
        function (msg) {
            if (msg.d != 0) {

                succcess = true;

            }
        },
                                                                        "");
                                                                          }
                                                                      },
                                                                      function (xhr, status, error) {
                                                                          var err = xhr.responseText;
                                                                          document.write(err);
                                                                      });


    return succcess;


}

function SetupRegValidation(formId) {
    //Restrict to numeric
    jQuery(".regTextFieldchild").numeric();

    // Check for complete birthday
    jQuery("#ddlDOBMonth").change(function () {
        if (jQuery(this).val() == 0) {
            jQuery("#hidDOB").val(jQuery("#hidDOB").val() & 5);
        }
        else {
            jQuery("#hidDOB").val(jQuery("#hidDOB").val() | 2);
        }
        jQuery("#" + formId).validate().element('#hidDOB');
    });
    jQuery("#ddlDOBDay").change(function () {
        if (jQuery(this).val() == 0) {
            jQuery("#hidDOB").val(jQuery("#hidDOB").val() & 6);
        }
        else {
            jQuery("#hidDOB").val(jQuery("#hidDOB").val() | 1);
        }
        jQuery("#" + formId).validate().element('#hidDOB');
    });
    jQuery("#ddlDOBYear").change(function () {
        if (jQuery(this).val() == 0) {
            jQuery("#hidDOB").val(jQuery("#hidDOB").val() & 3);
        }
        else {
            jQuery("#hidDOB").val(jQuery("#hidDOB").val() | 4);
        }
        jQuery("#" + formId).validate().element('#hidDOB');
    });

    //always set day to 1st
    jQuery("#ddlDOBDay").val('1');
    jQuery("#hidDOB").val(jQuery("#hidDOB").val() | 1);

    var GlutenFreePage = jQuery("#hidGF").val();
    var totalexit = false;
    // Registration call and validation
    jQuery("#" + formId).validate(
    {
        errorPlacement: function (error, element) {
            if (element.attr("name") == "txtPhoneNumAreaO" || element.attr("name") == "txtPhoneNum3O" || element.attr("name") == "txtPhoneNum4O")
                jQuery("#phoneError").html(error);
            //error.insertAfter("#txtPhoneNum4O");
            else
                error.insertAfter(element);
        },
        submitHandler: function (form) {
            IsEmailTaken
            (
                '',
                jQuery('#txtEmail').val(),
	            function () {

	                if (GlutenFreePage = 1) {
	                    if (GFUserRegistration()) {
	                        jQuery("#dialog").jqmHide();
	                        totalexit = true;
	                        return false;
	                    }
	                    else {
	                        // alert(javascript15);
	                        ShowMessageModal("", javascript15);
	                    }
	                }
	                else
	                    ShowMessageModal("", javascript15);
	            },
	            function () {
	                //if email address isn't taken register the user
	                var dateOfBirth = jQuery("#ddlDOBMonth").val() + '/' + jQuery("#ddlDOBDay").val() + '/' + jQuery("#ddlDOBYear").val();
	                var zeroToFive = (jQuery('#txtZeroFive').val() == '' || jQuery("input[name='rblChildren']:checked").val() == 0) ? 0 : jQuery('#txtZeroFive').val();
	                var sixTwelve = (jQuery('#txtSixTwelve').val() == '' || jQuery("input[name='rblChildren']:checked").val() == 0) ? 0 : jQuery('#txtSixTwelve').val();
	                var thirteen = (jQuery('#txtThirteen').val() == '' || jQuery("input[name='rblChildren']:checked").val() == 0) ? 0 : jQuery('#txtThirteen').val();
	                var eighteen = (jQuery('#txtEighteen').val() == '' || jQuery("input[name='rblChildren']:checked").val() == 0) ? 0 : jQuery('#txtEighteen').val();
	                var hasChildren = jQuery("input[name='rblChildren']:checked").val();

	                var valid = true;

	                if (hasChildren == 1) {
	                    var memberCount = parseInt(jQuery('#ddlMembers').val());
	                    var total = parseInt(zeroToFive) + parseInt(sixTwelve) + parseInt(thirteen) + parseInt(eighteen);

	                    if (memberCount == 4) {
	                        if (total > 20) {
	                            valid = false;
	                        }
	                    }
	                    else {
	                        if (total > memberCount) {

	                            valid = false;
	                        }
	                    }
	                }


	                if (!valid) {
	                    ShowMessageModal("", javascript95);
	                }
	                else {
	                    var nicknameTaken = IsNicknameTaken(jQuery('#txtNickName').val());

	                    var languageNodeId = (CheckLanguage().substring(0, 2) == 'en') ? 1 : 2;

	                    CheckProfanity(jQuery('#txtNickName').val(), languageNodeId,
                        function () {
                            if (!nicknameTaken) {
                                CallServiceMethod("/services/UserManagement.asmx/IsDateValid", '{"dateOfBirth":"' + dateOfBirth + '"}',
                                function (msg) {
                                    var validDate = eval(msg.d);

                                    if (validDate) {
                                        var year = parseInt(jQuery("#ddlDOBYear").val());
                                        var month = parseInt(jQuery("#ddlDOBMonth").val());
                                        var day = parseInt(jQuery("#ddlDOBDay").val());
                                        if (month == 12) {
                                            month = 1;
                                            year++;
                                        }
                                        else {
                                            month++;
                                        }

                                        var validAge = checkAge(year, month, day);

                                        if (validAge) {
                                            try {
                                                gaTrack('joinButtonFormRegistration');
                                            }
                                            catch (err) { }
                                            var firstName = JSONEncode(jQuery('#txtFirstName').val());
                                            var lastName = JSONEncode(jQuery('#txtLastName').val());
                                            var nickname = JSONEncode(jQuery('#txtNickName').val());
                                            var emailAddress = jQuery('#txtEmail').val();
                                            var password = JSONEncode(jQuery('#txtPassword').val());
                                            var streetaddress1 = jQuery('#txtStreetAddress1').val();
                                            var streetaddress2 = jQuery('#txtStreetAddress2').val();
                                            var city = jQuery('#txtCity').val();
                                            var province = jQuery('#ddlProvince').val();
                                            var postalCode = jQuery('#txtPostal').val();
                                            //var newsletter = jQuery("input[name='chkNewsletter']:checked").val();
                                            //var GFnewsletter = jQuery("input[name='chkGFNewsletter']:checked").val();

                                            var newsletter = '';
                                            var GFnewsletter = '';

                                            if ((jQuery('#chkNewsletter').attr('checked')))
                                                newsletter = "NLON";
                                            else
                                                newsletter = "NLOFF";

                                            if ((jQuery('#chkGFNewsletter').attr('checked')))
                                                GFnewsletter = "GFON";
                                            else
                                                GFnewsletter = "GFOFF";

                                            newsletter = newsletter + GFnewsletter;


                                            var language = (jQuery('input[name=rblLanguage]:checked').val() == undefined) ? ((CheckLanguage().substring(0, 2) == 'en') ? 1 : 2) : jQuery('input[name=rblLanguage]:checked').val();
                                            var gender = (jQuery("input[name='rblGender']:checked").val() == undefined) ? 3 : jQuery("input[name='rblGender']:checked").val();

                                            var dataString = '{firstName:"' + firstName + '", lastName:"' + lastName + '", nickname:"' + nickname + '", dateOfBirth:"' + dateOfBirth + '", username:"' + emailAddress + '", password:"' + password + '", streetAddress1:"' + streetaddress1 + '", streetAddress2:"' + streetaddress2 + '", city:"' + city + '", province:"' + province + '", postalCode:"' + postalCode + '", newsletter:"' + newsletter + '", language:' + language + ', gender:' + gender + ', role: 1, nummembers:' + jQuery("#ddlMembers").val() + ', hasChildren:"' + jQuery("input[name='rblChildren']:checked").val() + '", zeroToFive:' + zeroToFive + ', six:' + sixTwelve + ', thirteen:' + thirteen + ', eighteen:' + eighteen + '}';

                                            CallServiceMethod("/services/UserManagement.asmx/Register", dataString,
                                                        function (msg) {
                                                            try {
                                                                var pageTracker = _gat._getTracker("UA-9789874-5");
                                                                var customVariableCookie = pageTracker._getVisitorCustomVar(1);
                                                                if (typeof (customVariableCookie) != 'undefined') {
                                                                    if (customVariableCookie == 'Not-Registered') {
                                                                        pageTracker._setCustomVar(
                                                                            1,
                                                                            "Type-Of-Members",
                                                                            "Registered",
                                                                            1
                                                                        );
                                                                    }
                                                                }
                                                                gaTrack('joinButtonFormRegistrationAgreement');
                                                            }
                                                            catch (err) { }

                                                            SendWelcomeEmail(emailAddress, firstName, language);
                                                            jQuery("#dialog").jqmHide();

                                                            jQuery('#modalRegThanks').jqmShow();
                                                            setTimeout("jQuery('#modalRegThanks').jqmHide();", 3000);
                                                            SignInWidget();
                                                           // window.location = "/home.aspx";
                                                            //reset the newsletter widget
                                                            SetupNewsletterWidget(content_subscribeWidget2, content_subscribeWidget1);

                                                            jQuery.cookie('RNLUserUID', GetUserUID(), { path: '/', expires: 1000 });

                                                            // select tal image and if sexy, record milestone
                                                            if (jQuery('#imgTaLIR').length > 0) {
                                                                var TaLId = jQuery('#imgTaLIR').attr('data-TaLId');
                                                                // add milestone
                                                            }
                                                        },
                                                        function (xhr, status, error) {
                                                            var err = xhr.responseText;
                                                            document.write(err);
                                                        });
                                        }
                                        else //ValidAge else
                                        {
                                            ShowMessageModal("", javascript19);
                                        }
                                    }
                                    else //ValidDate else
                                    {
                                        ShowMessageModal("", javascript20);
                                    }
                                }); //IsDateValid CallServiceMethod
                            }
                            else //Nickname take else
                            {
                                ShowMessageModal("", javascript21);
                            }
                        },
                        function () //CheckProfanity CallServiceMethod
                        {
                            ShowMessageModal("", javascript22);
                        });
	                }
	            });
        },
        rules: {
            txtFirstName: {
                letterswithbasicpunc: true
            },
            txtLastName: {
                letterswithbasicpunc: true
            },
            txtNickName: {
                nowhitespace: true,
                required: true,
                minlength: 2,
                alphanumeric: true,
                remote: function (msg) {
                }
            },
            txtPassword: {
                required: true,
                nowhitespace: true,
                minlength: 6
            },
            txtPasswordConfirm: {
                required: true,
                minlength: 6,
                equalTo: "#txtPassword"
            },
            txtEmail: {
                required: true,
                QAsEmailValidator: true,
                //email: true,
                remote: function (msg) {
                }
            },
            txtEmailConfirm: {
                required: true,
                equalTo: "#txtEmail",
                QAsEmailValidator: true
            },
            chkAgree: "required",
            txtPostal: {
                postalCode: true
            },

            hidDOB: {
                min: 7
            },
            txtUserEmail: {
                nowhitespace: true,
                minlength: 1,
                maxlength: 49,
                QAsEmailValidator: true
            },
            txtEmailForgotPass: {
                minlength: 0,
                QAsEmailValidator: true
            }
        },
        messages: {
            txtFirstName: {
                letterswithbasicpunc: javascript24
            },
            txtLastName: {
                letterswithbasicpunc: javascript24
            },
            txtNickName: {
                nowhitespace: javascript26,
                required: javascript27,
                minlength: javascript28,
                alphanumeric: javascript30,
                remote: javascript29
            },
            txtPassword: {
                required: javascript31,
                nowhitespace: javascript32,
                minlength: javascript32,
                alphanumeric: javascript32
            },
            txtPasswordConfirm: {
                required: javascript33,
                minlength: javascript32,
                alphanumeric: javascript32,
                equalTo: javascript34
            },
            txtEmail: {
                required: javascript35,
                QAsEmailValidator: javascript36
            },
            txtEmailConfirm: {
                required: javascript35,
                QAsEmailValidator: javascript36,
                equalTo: javascript37
            },
            txtPostal: {
                postalCode: javascript42
            },
            hidDOB: {
                min: javascript43
            },
            txtUserEmail: {
                minlength: javascript44,
                maxlength: javascript45,
                nowhitespace: javascript44,
                QAsEmailValidator: javascript44
            },
            txtEmailForgotPass: {
                minlength: javascript68,
                QAsEmailValidator: javascript36
            },
            txtUserEmail: {
                QAsEmailValidator: javascript47
            }
        }
    });
}

function SetupFlashHero(placeholderID, signedInHeroDefinition, signedOutDefinition, flashDefinition) {
    IsUserSignedIn
    (
        function () {
            jQuery("#" + placeholderID).flash(signedInHeroDefinition, flashDefinition);
        },
        function () {
            jQuery("#" + placeholderID).flash(signedOutDefinition, flashDefinition);
        }
    );
}

function ReplaceFrenchCharacters(searchString) {
    searchString = searchString.toString();

    searchString = searchString.replace(/&agrave;/g, 'à');
    searchString = searchString.replace(/&acirc;/g, 'â');
    searchString = searchString.replace(/&auml;/g, 'ä');
    searchString = searchString.replace(/&aelig;/g, 'æ');
    searchString = searchString.replace(/&ccedil;/g, 'ç');
    searchString = searchString.replace(/&egrave;/g, 'è');
    searchString = searchString.replace(/&eacute;/g, 'é');
    searchString = searchString.replace(/&ecirc;/g, 'ê');
    searchString = searchString.replace(/&euml;/g, 'ë');
    searchString = searchString.replace(/&icirc;/g, 'î');
    searchString = searchString.replace(/&iuml;/g, 'ï');
    searchString = searchString.replace(/&ocirc;/g, 'ô');
    searchString = searchString.replace(/&oelig;/g, 'œ');
    searchString = searchString.replace(/&ugrave;/g, 'ù');
    searchString = searchString.replace(/&ucirc;/g, 'û');
    searchString = searchString.replace(/&uuml;/g, 'ü');

    searchString = searchString.replace(/&Agrave;/g, 'À');
    searchString = searchString.replace(/&Acirc;/g, 'Â');
    searchString = searchString.replace(/&Auml;/g, 'Ä');
    searchString = searchString.replace(/&AElig;/g, 'Æ');
    searchString = searchString.replace(/&Ccedil;/g, 'Ç');
    searchString = searchString.replace(/&Egrave;/g, 'È');
    searchString = searchString.replace(/&Eacute;/g, 'É');
    searchString = searchString.replace(/&Ecirc;/g, 'Ê');
    searchString = searchString.replace(/&Euml;/g, 'Ë');
    searchString = searchString.replace(/&Icirc;/g, 'Î');
    searchString = searchString.replace(/&Iuml;/g, 'Ï');
    searchString = searchString.replace(/&Ocirc;/g, 'Ô');
    searchString = searchString.replace(/&OElig;/g, 'Œ');
    searchString = searchString.replace(/&Ugrave;/g, 'Ù');
    searchString = searchString.replace(/&Ucirc;/g, 'Û');
    searchString = searchString.replace(/&Uuml;/g, 'Ü');

    return searchString;
}

function Pad(number, length) {
    var str = '' + number;
    while (str.length < length) {
        str = '0' + str;
    }

    return str;
}

function GetMinutesAndSeconds(timeInSeconds) {
    var minVar = Math.floor(timeInSeconds / 60);
    var secVar = Pad((timeInSeconds % 60), 2);
    var m_s_meas = minVar + ":" + secVar + " mins";

    return m_s_meas;
}

function ClickTaleIsIn(testFor) {
    var topLocation = top.location;
    if (testFor == "recording" && window.location == topLocation) {
        return true;
    }
    else if (testFor == "recording" || window.location == topLocation) {
        return false;
    }

    switch (testFor.toLowerCase()) {
        case "report":
            var fn = arguments.callee;
            return fn("scroll-heatmap") || fn("click-heatmap") || fn("form-analytics");
        case "scroll-heatmap":
            var regex = new RegExp("Heatmap.aspx\?", "i");
            return regex.test(topLocation);
        case "click-heatmap":
            var regex = new RegExp("ClickHeatMap.aspx\?", "i");
            return regex.test(topLocation);
        case "form-analytics":
            var regex = new RegExp("FormAnalytics.aspx\?", "i");
            return regex.test(topLocation);
        case "playback":
            var regex = new RegExp("Player.aspx\?", "i");
            return regex.test(topLocation);
    }
}

tagCategoryHash = new Hash("Dietary", "R&eacute;gime alimentaire",
                            "General Entertaining", "Divertissement g&eacute;n&eacute;ral",
                            "Holidays", "F&ecirc;tes",
                            "Main Ingredient", "Ingr&eacute;dient principal",
                            "Meal Type", "Type de repas",
                            "Mood", "Ambiance",
                            "Time And Cost", "Temps de pr&eacute;paration et co&ucirc;ts");

tagDescriptionHash = new Hash("Vegetarian", "V&eacute;g&eacute;tarien",
                            "Barbeque", "Barbecue",
                            "Birthdays", "Anniversaires",
                            "Cocktail Party", "Cocktail",
                            "Showers", "F&ecirc;tes pr&eacute;nuptiales",
                            "The Big Game", "Le grand match",
                            "Canada Day", "F&ecirc;te du Canada",
                            "Christmas", "No&euml;l",
                            "Easter", "P&acirc;ques",
                            "Father's Day", "F&ecirc;te des p&egrave;res",
                            "Halloween", "Halloween",
                            "Mother's Day", "F&ecirc;te des m&egrave;res",
                            "Thanksgiving", "Action de gr&acirc;ces",
                            "Valentine's Day", "Saint-Valentin",
                            "Beef", "Boeuf",
                            "Bread", "Pain",
                            "Cheese", "Fromage",
                            "Chicken", "Poulet",
                            "Chocolate", "Chocolat",
                            "Deli Meats", "Charcuteries",
                            "Eggs", "Oeufs",
                            "Fish", "Poisson",
                            "Fruit", "Fruits",
                            "Grains", "Produits c&eacute;r&eacute;aliers",
                            "Lamb", "Agneau",
                            "Legumes (beans)", "L&eacute;gumineuses (haricots)",
                            "Milk", "Lait",
                            "Nuts", "Noix",
                            "Pasta", "P&acirc;tes",
                            "Pork", "Porc",
                            "Potatoes", "Pommes de terre",
                            "Rice", "Riz",
                            "Seeds", "Graines",
                            "Shellfish", "Mollusques et crustac&eacute;s",
                            "Turkey", "Dinde",
                            "Veal", "Veau",
                            "Vegetable", "L&eacute;gumes",
                            "Appetizer & Snacks", "Entr&eacute;es et collations",
                            "Appetizers", "Hor d'oerve",
                            "Beverages", "Boissons",
                            "Breakfast/Brunch", "D&eacute;jeuner/brunch",
                            "Breakfast", "D&eacute;jeuner",
                            "Desserts", "Desserts",
                            "Lunch/Dinner", "D&icirc;ner/souper",
                            "Salads and Dressings", "Salades et vinaigrettes",
                            "Salads", "Salade",
                            "Side Dishes", "Plats d'accompagnement",
                            "Soups and Stews", "Soupes et rago&ucirc;ts",
                            "Soups", "Soupe",
                            "a leftover-friendly meal", "Un repas confectionn&eacute; avec des restes",
                            "a no-mess meal", "Un repas tout simple",
                            "a veggie-rich recipe", "Une recette d&eacute;bordant de l&eacute;gumes",
                            "comfort food", "Un aliment r&eacute;confortant",
                            "dinner guests", "Invit&eacute;s &agrave; souper",
                            "family favourite meal", "Le repas familial pr&eacute;f&eacute;r&eacute;",
                            "something quick n' easy", "Quelque chose de facile &agrave; pr&eacute;parer",
                            "something quick n easy", "Quelque chose de facile &agrave; pr&eacute;parer",
                            "15 Minutes or Less", "15 minutes ou moins",
                            "30 Minutes or Less", "30 minutes ou moins",
                            "5 Ingredients or Less", "5 ingr&eacute;dients ou moins",
                            "Lots of time", "Long &Agrave; pr&eacute;parer",
                            "No time at all!", "En moins de deux!",
                            "Quick and Easy Weeknight Meals", "Repas de soirs de semaine faciles et rapides",
                            "To rush to make dinner", "Pour gagner du temps au souper");
