// THE SCRIPTS IN THIS FILE WILL ONLY BE AVAILABLE ON PAGE READY. 
// FUNCTIONS CALLED BEFORE THE FOOTER WILL NEED TO BE INSTALLED IN forControls.js, WHICH GETS INCLUDED IN THE HEADER.
jQuery(function($) {
    function getURL(loc) { window.location = loc; }

    // GENERAL
    jQuery.pureology.clickbox = function() {
        jQuery(".clickbox").click(function() {
            getURL(jQuery(this).find('a').attr('href'));
        });
    };

    // GET QSTRING PARAMS and return results if present
    // http://www.netlobo.com/url_query_string_javascript.html
    jQuery.pureology.gup = function(name) {
        name = name.replace(/[\[]/, "\\\[").replace(/[\]]/, "\\\]");
        var regexS = "[\\?&]" + name + "=([^&#]*)";
        var regex = new RegExp(regexS);
        var results = regex.exec(window.location.href);

        if (results == null) return "";
        else return results[1];
    }
	
	// REMOVE QUOTE FROM REPLY
	jQuery.pureology.remQuote = function() {
		setTimeout(remIt, 1500);
		function remIt() {
			if ($('#com_quote')[0]) { // verify something is found.
				try { $('#com_quote').remove(); }
				catch (e) {};
			}
		}
	}

    // SYSTEMS
    jQuery.pureology.viewAllProducts = function() {
        jQuery('.main').css('overflow', 'visible');
        jQuery('.va_products').css({ 'position': 'absolute', 'bottom': 183 + 'px', 'overflow': 'hidden', 'z-index': 99 }).prepend('<a href="#" class="va_toggle up">Close</a>');

        jQuery('.va_toggle').click(function() {
            products = jQuery('.va_products');
            if (parseInt(products.css('bottom')) > 0) {
                products.css('z-index', 101);
                products.animate({ bottom: -products.outerHeight() + 203 + 'px', duration: 600 });
            } else {
                products.animate({ bottom: 183 + 'px', duration: 600 }, function() { products.css('z-index', 99); });
            }
            return false;
        });
        return false;
    };


    // REVIEWS
    jQuery.pureology.setupUserReviews = function() {
        jQuery.misc.charCounter(jQuery('.x_cnt'), jQuery('.x_sts'), '({#} characters)', 250);
        jQuery('.btrght').click(function() {
            jQuery('.rvw_avg').fadeOut('fast');
            jQuery('.rvw_addnew').slideDown('slow', function() {
                jQuery('.rvw_addnew').fadeIn('fast').css('visibility', 'visible');
            });
            return false;
        });
        jQuery('.rvw_close').click(function() {
            jQuery('.rvw_addnew').slideUp('slow', function() { jQuery('.rvw_avg').fadeIn('fast'); }).css('visibility', '');
            return false;
        });
        jQuery(".btn_syr").click(function() {
            if ($.panther.wait) return false;
            if ($(".x_sub").val().length < 3 || $(".x_cnt").val().length < 3 || $.pureology.rate == 0) {
                $(".x_sub_vd").html("* Click a star and complete all fields.").stop(true).show().fadeLater();
                return false;
            }
            $.panther.jcall("reviewAdd", [$.pureology.pageID, $.pureology.rate, $(".x_sub").val(), $(".x_cnt").val()], $.pureology.frm3);
            return false;
        }).focus(function() {
            if (this.blur) this.blur();
            return false;
        });
        jQuery(".x_btnMore").click(function() {
            if ($.panther.wait) return false;
            $.panther.jcall("moreReviews", [$.pureology.pageID, $.pureology.moreReviews], $($.panther.jcallOpts).cloneObj({ loaderOpts: $.pureology.reviewLoader }));
            return false;
        }).focus(function() {
            if (this.blur) this.blur();
            return false;
        });

        jQuery(".star_rating a")
        .click(function() {
            $.pureology.rate = $(this).text();
            var inx = parseInt($(this).text()) - 1;
            $(this).parents("ul:first").find("a:gt(" + inx + ")").css("backgroundPosition", "left -1000px");
            $(this).css("backgroundPosition", "left top");
            return false;
        });
        $.pureology.rate = 0;
        if ($.pureology.moreReviews < 6) $(".x_btnMore").hide();

    };

    // PRODUCT AWARDS
    jQuery.fn.fadeToggle = function(speed, easing, callback) {
        return this.animate({ opacity: 'toggle' }, speed, easing, callback);
    };


    jQuery.pureology.awardsHorizontalOverlay = function() {
        if (jQuery('.horz_overlay_content > img').size() > 0) {
            jQuery(".badge").hoverIntent(
			function() {
			    if (jQuery('.profav').length > 0) jQuery('.horz_wrap').css('top', '-2px');
			    jQuery('.horz_wrap').stop(true, true).fadeIn('fast');
			},
			function() {
			    jQuery('.horz_wrap').stop(true, true).fadeOut('fast');
			})
			.click(function() {
			    return false;
			});
        }
    };

    // SOCIAL SHARES
    jQuery.pureology.addThis = function() {
        jQuery('.share').hoverIntent(
		function() {
		    jQuery('.addThis').stop(true, true).slideDown('fast');
		},
		function() {
		    jQuery('.addThis').stop(true, true).slideUp('fast');
		});
    };


    // ***************  ID FADE FIX ***************
    jQuery.fn.fadeIn = function(speed, callback) {
        return this.animate({ opacity: 'show' }, speed, function() {
            if (jQuery.browser.msie)
                this.style.removeAttribute('filter');
            if (jQuery.isFunction(callback))
                callback();
        });
    };

    jQuery.fn.fadeOut = function(speed, callback) {
        return this.animate({ opacity: 'hide' }, speed, function() {
            if (jQuery.browser.msie)
                this.style.removeAttribute('filter');
            if (jQuery.isFunction(callback))
                callback();
        });
    };

    jQuery.fn.fadeTo = function(speed, to, callback) {
        return this.animate({ opacity: to }, speed, function() {
            if (to == 1 && jQuery.browser.msie)
                this.style.removeAttribute('filter');
            if (jQuery.isFunction(callback))
                callback();
        });
    };
    // ^^^^^^^^^^^^^^^ IE FADE FIX ^^^^^^^^^^^^^^^ 

    // FOOTER

    jQuery.pureology.footList = [];
    jQuery.pureology.setupFooter = function() {
        jQuery('.connect').find('a').each(function(i) {
            jQuery(this).click(function() {
                store = jQuery.pureology.footList;
                me = jQuery(this);
                if (store['selected'] != undefined) store['selected'].removeClass('selected');

                jQuery.pureology.footList['selected'] = me;
                jQuery.pureology.footList['index'] = i;

                me.addClass('selected');
                jQuery('.pane').hide();
                jQuery('.p' + i).show();
                jQuery('.footer_expansion').show('fast')
                setCloseClick();
                return false;
            });
        });

        // share form.
        $("#shareLink").val(location.href);
        var settings = {
            errLoc: "instantPop",
            jcallOpts: $.pureology.frm,
            autoLabels: false,
            vdFromClass: true,
            submitBtnSelector: ".x_submit",
            callbacks: "sendToFriend"
        }
        $("#shareIt").formulate(settings);

        // newsletter form.
        var settings = {
            errLoc: "instantPop",
            jcallOpts: $.pureology.frm2,
            autoLabels: false,
            vdFromClass: true,
            submitBtnSelector: ".x_submit2",
            callbacks: "newsletter"
        }
        $("#newsLetter").formulate(settings);


        setCloseClick = function() {
            jQuery('.footer_expansion_close').click(function() {
                jQuery('.footer_expansion').hide('fast');
                jQuery.pureology.footList['selected'].removeClass('selected');
                return false;
            });
        };

        jQuery.misc.charCounter(jQuery('[name=pmsg_vd-req]'), jQuery('.x_msg_sts'), 'Personal Message ({#} characters)', 500);
        return false;
    };


    /* FUNC FOR : /_shared/Sitefinity/UserControls/Contact/ContactForm.aspx */
    jQuery.pureology.contactUs = function() {
        // share form.
        var settings = {
            errLoc: "instantPop",
            jcallOpts: $($.panther.jcallOpts).cloneObj({ persistloader: true, loaderOpts: $.pureology.formLoader3 }),
            autoLabels: false,
            vdFromClass: true,
            submitBtnSelector: ".x_submit3",
            callbacks: "contactUs"
        }
        $("#contactUS").formulate(settings);
    };


    $(".footer_distrib").change(function() {
        if ($(this).val() != "") {
			document.location = "/distributor?state="+$(this).val();
        }
        return false;
    });
    /* FUNC FOR : /_shared/Sitefinity/UserControls/Pureologist/ApprovePureologist.aspx */
    jQuery.pureology.ApprovePureologist = function() {
        // share form.
        var settings = {
            errLoc: "instantPop",
            jcallOpts: $($.panther.jcallOpts).cloneObj({ persistloader: true, loaderOpts: $.pureology.formLoader3 }),
            autoLabels: false,
            vdFromClass: true,
            submitBtnSelector: ".x_submit3",
            callbacks: "ApprovePure"
        }
        $("#pro_reg").formulate(settings);
    };
    /* FUNC FOR : /_shared/Sitefinity/UserControls/Login/ProLoginBox.aspx */
    jQuery.pureology.regformsetup = function() {


    }

    /* FUNC FOR : /_shared/Sitefinity/UserControls/Login/ProLoginBox.aspx */
    jQuery.pureology.loginBoxBinder = function() {
        var settings = {
            errLoc: "instantPop",
            jcallOpts: $($.panther.jcallOpts).cloneObj({ persistloader: true, loaderOpts: $.pureology.formLoader3 }),
            autoLabels: false,
            vdFromClass: true,
            submitBtnSelector: ".x_submit3",
            callbacks: "loginUser"
        }
        $("#pro_login").formulate(settings);

        $(".x_forgot").toggle(
            function() {
                $(".x_submit3").attr("src", "/Images/btn_send_password.png");
                $(".x_pwp,.small_pop").hide();
                $(".x_pw").val("reset");
                $(".x_reset").val("true");
                $(this).text("Cancel and Return to Login");
                $(".x_em").focus();
                $(".login_error").html("");
            },
            function() {
                $(".x_submit3").attr("src", "/Images/btn_login.png");
                $(".x_pwp").show();
                $(".x_reset").val("");
                $(".x_pw").val("");
                $(this).text("Forgot Your Password?");
                $(".x_em").focus();
            }
         );
        if ($.pureology.forgotPass == 1) $(".x_forgot").click();
    }


    /* FUNC FOR : /_shared/Sitefinity/UserControls/User/EditPureologist.aspx */
    jQuery.pureology.PureologistEdit = function() {
        Date.firstDayOfWeek = 0;
        Date.format = 'mm/dd/yyyy';
        $j('.date-pick').datePicker({ clickInput: true, startDate: '01/01/2000' })
        $('.showhide').fadeTo("fast", 0.25);


        $('[name=p_scheck]').click(function() {
            if ($(this).attr("checked")) {
                $('.showhide').fadeTo("slow", 0.25);
            }
            else {
                $('.showhide').fadeTo("slow", 1);
            }
        });
        var settings = {
            errLoc: "instantPop",
            jcallOpts: $($.panther.jcallOpts).cloneObj({ persistloader: true, loaderOpts: $.pureology.formLoader3 }),
            autoLabels: false,
            vdFromClass: true,
            submitBtnSelector: ".x_submit3",
            callbacks: "UpdatePureologist"
        }
        //$("#p_date").datepicker();
        $("#pro_reg").formulate(settings);
        $("#pro_reg").find('[name^="s_phone"]').keyup(function(event) { getFormat(this, event, 'ph2') });
        $("#pro_reg").find('[name^="p_phone1"]').keyup(function(event) { getFormat(this, event, 'ph2') });
    }



    /* FUNC FOR : /_shared/Sitefinity/UserControls/User/PureologyAdminRegistration.aspx */
    jQuery.pureology.PureAdminBinder = function() {
        Date.firstDayOfWeek = 0;
        Date.format = 'mm/dd/yyyy';
        $j('.date-pick').datePicker({ clickInput: true, startDate: '01/01/2000', endDate: (new Date()).asString() })
        $('.showhide').fadeTo("fast", 0.25);
                $('.showhide :input').attr('disabled', 'disabled');
                $('[name=p_scheck]').click(function() {
            if (!($('[name=p_scheck]').is(':checked'))) {
                $('.showhide :input').removeAttr('disabled');
                $('.showhide').fadeTo("slow", 1);
            } else {
                $('.showhide').fadeTo("slow", 0.25);
                $('.showhide :input').attr('disabled', 'disabled');
            }
        });
        var settings = {
            errLoc: "instantPop",
            jcallOpts: $($.panther.jcallOpts).cloneObj({ persistloader: true, loaderOpts: $.pureology.formLoader3 }),
            autoLabels: false,
            vdFromClass: true,
            submitBtnSelector: ".x_submit3",
            callbacks: "AdminregisterPureologist"
        }
        $("#pro_reg").formulate(settings);
        $("#pro_reg").find('[name^="s_phone"]').keyup(function(event) { getFormat(this, event, 'ph2') });
        $("#pro_reg").find('[name^="p_phone1"]').keyup(function(event) { getFormat(this, event, 'ph2') });
    }
    /* FUNC FOR : /_shared/Sitefinity/UserControls/User/PureologistRegistration.aspx */
    jQuery.pureology.PureRegistrationBinder = function() {
        Date.firstDayOfWeek = 0;
        Date.format = 'mm/dd/yyyy';
        $j('.date-pick').datePicker({ clickInput: true, startDate: '01/01/2000', endDate: (new Date()).asString()})
        $('.showhide').fadeTo("fast", 0.25);
        $('.showhide :input').attr('disabled', 'disabled');

        $('[name=p_scheck]').click(function() {
            if (!($('[name=p_scheck]').is(':checked'))) {
                $('.showhide :input').removeAttr('disabled');
                $('.showhide').fadeTo("slow", 1);
            } else {
                $('.showhide').fadeTo("slow", 0.25);
                $('.showhide :input').attr('disabled', 'disabled');
            }
        });
        var settings = {
            errLoc: "instantPop",
            jcallOpts: $($.panther.jcallOpts).cloneObj({ persistloader: true, loaderOpts: $.pureology.formLoader3 }),
            autoLabels: false,
            vdFromClass: true,
            submitBtnSelector: ".x_submit3",
            callbacks: "registerPureologist"
        }
        //$("#p_date").datepicker();
        $("#pro_reg").formulate(settings);
        $("#pro_reg").find('[name^="s_phone"]').keyup(function(event) { getFormat(this, event, 'ph2') });
        $("#pro_reg").find('[name^="p_phone1"]').keyup(function(event) { getFormat(this, event, 'ph2') });
    }
    /* FUNC FOR : /_shared/Sitefinity/UserControls/User/PureologistSignUp.aspx */
    jQuery.pureology.pureSignupBinder = function() {

        var settings = {
            errLoc: "instantPop",
            jcallOpts: $($.panther.jcallOpts).cloneObj({ persistloader: true, loaderOpts: $.pureology.formLoader2 }),
            autoLabels: false,
            vdFromClass: true,
            submitBtnSelector: ".x_submit2",
            callbacks: "registerUserP"
        }
        $("#pro_reg").formulate(settings);
    }
    /* FUNC FOR : /_shared/Sitefinity/UserControls/User/ProRegistration.aspx */
    jQuery.pureology.proRegistrationBinder = function() {

        var settings = {
            errLoc: "instantPop",
            jcallOpts: $($.panther.jcallOpts).cloneObj({ persistloader: true, loaderOpts: $.pureology.formLoader3 }),
            autoLabels: false,
            vdFromClass: true,
            submitBtnSelector: ".x_submit3",
            callbacks: "registerUser"
        }
        $("#pro_reg").formulate(settings);
        $("#pro_reg").find('[name^="s_phone"]').keyup(function(event) { getFormat(this, event, 'ph2') });
    }

    /* FUNC FOR : /_shared/Sitefinity/UserControls/Pureologist/PureologistWelcome.aspx */
    jQuery.pureology.pureloginBoxBinder = function() {
        var settings = {
            errLoc: "instantPop",
            jcallOpts: $($.panther.jcallOpts).cloneObj({ persistloader: true, loaderOpts: $.pureology.formLoader3 }),
            autoLabels: false,
            vdFromClass: true,
            submitBtnSelector: ".x_submit3",
            callbacks: "loginUser"
        }
        $("#pro_login").formulate(settings);

        $(".x_forgot").toggle(
            function() {
                $(".x_submit3").attr("src", "/Images/btn_send_password.png");
                $(".x_pwp,.small_pop").hide();
                $(".x_pw").val("reset");
                $(".x_reset").val("true");
                $(this).text("Cancel and Return to Login");
                $(".x_em").focus();
                $(".login_error").html("");
            },
            function() {
                $(".x_submit3").attr("src", "/Images/btn_login.png");
                $(".x_pwp").show();
                $(".x_reset").val("");
                $(".x_pw").val("");
                $(this).text("Forgot Your Password?");
                $(".x_em").focus();
            }
         );
        if ($.pureology.forgotPass == 1) $(".x_forgot").click();
    }

    /* FUNC FOR : /_shared/Sitefinity/UserControls/Salon/EditSalon.aspx */
    jQuery.pureology.editSalon = function() {

        var settings = {
            errLoc: "instantPop",
            jcallOpts: $($.panther.jcallOpts).cloneObj({ persistloader: true, loaderOpts: $.pureology.formLoader3 }),
            autoLabels: false,
            vdFromClass: true,
            submitBtnSelector: ".x_submit3",
            callbacks: "salonUpdate"
        }
        $("#edit_salon").formulate(settings);
        $("#edit_salon").find('[name^="s_phone"]').keyup(function(event) { getFormat(this, event, 'ph2') });
    }

    /* FUNC FOR : /_shared/Sitefinity/UserControls/User/EditProfile.aspx */
    jQuery.pureology.editProfile = function() {

        var settings = {
            errLoc: "instantPop",
            jcallOpts: $($.panther.jcallOpts).cloneObj({ persistloader: true, loaderOpts: $.pureology.formLoader3 }),
            autoLabels: false,
            vdFromClass: true,
            submitBtnSelector: ".x_submit3",
            callbacks: "editUser"
        }
        $("#edit_profile").formulate(settings);
    }

    /* FUNC FOR : /_shared/Sitefinity/UserControls/NewsLetter/NewsLetterForm.aspx */
    jQuery.pureology.newsLetterBind = function() {

        var settings = {
            errLoc: "instantPop",
            jcallOpts: $($.panther.jcallOpts).cloneObj({ persistloader: true, loaderOpts: $.pureology.formLoader3 }),
            autoLabels: false,
            vdFromClass: true,
            submitBtnSelector: ".x_submit3",
            callbacks: "newsletter2"
        }
        $("#regform").formulate(settings);
    }

    /* FUNC FOR : /_shared/Sitefinity/UserControls/User/Account.aspx */
    jQuery.pureology.accountView = function() {
        $('.x_unLinkSalon').click(function() {
            var salonid = $(this).attr('id');
            $.panther.jcall("userUnLinkSalon", [salonid, $.pureology.userid], $.pureology.apLoader(this));
            return false;
        });
    }
    /* FUNC FOR : /_shared/Sitefinity/UserControls/User/ProRegError.aspx */
    jQuery.pureology.dupeSalonBind = function() {
        $('.x_linkSalon').click(function() {
            var salonid = $(this).attr('id');
            $.panther.jcall("userLinkSalon", [salonid, $.pureology.userid], $.pureology.apLoader(this));
            return false;
        });
    }
    /* FUNC FOR : /_shared/Sitefinity/UserControls/User/PureRegError.aspx */
    jQuery.pureology.dupeSalonBindPureologist = function() {
        $('.x_linkSalon').click(function() {
            var salonid = $(this).attr('id');
            $.panther.jcall("userLinkSalonPureologist", [salonid, $.pureology.userid], $.pureology.apLoader(this));
            return false;
        });
    }
    /* FUNC FOR : /_shared/Sitefinity/UserControls/User/PureRegError.aspx */
    jQuery.pureology.dupeSalonBindPureologistAdmin = function() {
        $('.x_linkSalon').click(function() {
            var salonid = $(this).attr('id');
            $.panther.jcall("userLinkSalonPureologistAdmin", [salonid, $.pureology.userid], $.pureology.apLoader(this));
            return false;
        });
    }

    /* FUNC FOR : /_shared/Sitefinity/UserControls/User/EditUser.aspx */
    jQuery.pureology.editUser = function() {

        var settings = {
            errLoc: "instantPop",
            jcallOpts: $.pureology.frm3,
            autoLabels: false,
            vdFromClass: true,
            submitBtnSelector: ".x_submit3",
            callbacks: "salonUpdate"
        }
        $("#edit_salon").formulate(settings);
    }


    /* FUNC FOR : /_shared/Sitefinity/UserControls/Product/ProFav.aspx */
    jQuery.pureology.proFavBinder = function() {
        jQuery(".x_addFav").click(function() {
            if ($.panther.wait) return false;
            // $(this).html("<img src='/Images/_shared/ajax-loader-sm.gif' /> - Adding");
            $.panther.jcall("favAdd", [$.pureology.pageID], $($.panther.jcallOpts).cloneObj({ noloader: true, url: "/handler.aspx" }));
            return false;
        });
        jQuery(".x_removeFav").click(function() {
            if ($.panther.wait) return false;
            // $(this).html("<img src='/Images/_shared/ajax-loader-sm.gif' /> - Removing");
            $.panther.jcall("favDelete", [$.pureology.pageID], $($.panther.jcallOpts).cloneObj({ noloader: true, url: "/handler.aspx" }));
            return false;
        });
    }


    jQuery.pureology.sumbitSearch = function(pos) { //"Header" or "Top" or "Bottom" or "Middle" or "Middle2"
        if (pos == "Header") {
            if ($("#txt" + pos + "Search").val() == "" || $("#txt" + pos + "Search").val() == $.pureology.defSearchTxt) {
                alert('Please enter a search term.');
                return false;
            } else {
                document.location = "/search-results.aspx?IndexCatalogue=Full Site&SearchQuery=" + jQuery("#txtHeaderSearch").val();
                return false;
            }
        } else if (pos == "Com") {
			if ($("#txt" + pos + "Search").val() == "") {
				alert('Please enter a search term.');
			} else {
				document.location = "/community/search-results.aspx?IndexCatalogue=Forum%20Index&SearchQuery=" + jQuery("#txtComSearch").val();
			}
			return false;
		}
        if ($("#txt" + pos + "Search").val() == "" || $("#txt" + pos + "Search").val() == $.pureology.defSearchTxt) {
            alert('Please enter a location to search for salons');
            return false;
        } else {
            document.location = "/locator/searchResults.aspx?address=" + jQuery("#txt" + pos + "Search").val();
            return false;
        }
    }

    jQuery.pureology.WebPhoto = function() {
      var $ = jQuery;
      ZeroClipboard.setMoviePath('/_shared/_swf/ZeroClipboard.swf');
      var clip = {};
      $('.clip_wrap').each(function(x) {
        clip[x] = new ZeroClipboard.Client();
        clip[x].setText($(this).parent().find('textarea')[0].value);
        clip[x].setHandCursor(true);
        clip[x].setCSSEffects(false);
        clip[x].addEventListener('onMouseDown', function(x) { jQuery(x.domElement).parent().find('textarea').focus().select(); } );
        clip[x].addEventListener('onComplete', function() { alert('Text Copied.'); });
        clip[x].glue($(this).find('.clip')[0], this);
      })
      
      $('.clip_wrap').click(function() {
        $(this).find('embed').focus().select();
        $(this).parent().find('textarea').focus().select();
      });
      $('.webphoto_select textarea').click(function() {
        $(this).focus().select();
      });
    }

    // HAIR CONSULTATION
    jQuery.pureology.showResults = function() {
        var ag = jQuery.pureology.gup('ag'); // age
        var of = jQuery.pureology.gup('of'); // often color
        var ep = jQuery.pureology.gup('ep'); // ethnic profile
        var hc = jQuery.pureology.gup('hc'); // hair condition
        var pn = jQuery.pureology.gup('pn'); // primary need
        var dr = jQuery.pureology.gup('dr'); // desired result
        var hd = jQuery.pureology.gup('hd'); // hold desired

        jQuery(".rec_primary .set" + hc).css("display", "block");
        jQuery(".rec_secondary .set" + pn).css("display", "block");
        jQuery(".styler_rec .rec1 .set" + dr).css("display", "block");
        jQuery(".styler_rec .rec1desc .set" + dr).css("display", "block");
        jQuery(".styler_rec .rec2 .set" + hd).css("display", "block");
        jQuery(".styler_rec .rec2desc .set" + hd).css("display", "block");

        // After Colour
        if (hc == '1' || hc == '6' || hc == '4') { jQuery(".t_opt .set1").css("display", "block"); }

        // Intense Hair Repair
        if (hc == '2') { jQuery(".t_opt .set2").css("display", "block"); }

        // Radiance Revival
        if (hc == '5' || hc == '3') { jQuery(".t_opt .set3").css("display", "block"); }

        // hide Purify if recommended
        if (pn == '2' || pn == '4') {
            jQuery(".pureset").css("display", "none");
            jQuery(".pureset_desc").css("display", "none");
        }

        // append querystring to modify select button
        var olnk = jQuery('.modify_sel').attr('href');
        var qstr = window.location.href.substring(window.location.href.indexOf('?'));
        jQuery('.modify_sel').attr('href', olnk + qstr);

        // show all in edit mode
        if (jQuery.pureology.pageEdit) {
            jQuery("body").addClass('editMode');
        }
    }

    // MISCELLANEOUS
    // CHARACTER COUNTER
    jQuery.misc = {};

    jQuery.misc.charCounter = function(field, disp, text, max) {
        field.keydown(function(e) {
            if (jQuery(this).val().length >= max)
                if (e.keyCode == 8 || e.keyCode == 46 || e.keyCode == 37 || e.keyCode == 38 || e.keyCode == 39 || e.keyCode == 40) {
            } else return false;
        })
        field.keyup(function() {
            var charLength = jQuery(this).val().length;
            // Displays count
            if (jQuery(this).val().length < max) {
                disp.html(text.replace('{#}', (max - charLength)));
                // Alerts when max characters is reached
            } else {
                field.val(field.val().substr(0, max));
                disp.html(text.replace('{#}', '0')).pulse();
            }
        });
    };
	
	/*------------------------------------------------------
	GIVE AWAYS
	------------------------------------------------------*/
	
	/* FUNC FOR : /UserControls/GiveAways/ERGiveAwaysForm.aspx */
    jQuery.pureology.ERGiveAwaysBind = function() {

        var settings = {
            errLoc: "instantPop",
            jcallOpts: $($.panther.jcallOpts).cloneObj({ persistloader: true, loaderOpts: $.pureology.formLoader3 }),
            autoLabels: false,
            vdFromClass: true,
            submitBtnSelector: ".x_submit3",
            callbacks: "ergiveaway"
        }
        $("#regform").formulate(settings);
    }
	
	/* FUNC FOR : /UserControls/GiveAways/ErFreeFridaysForm.ascx */
    jQuery.pureology.ERFreeFridaysBind = function() {

        var settings = {
            errLoc: "instantPop",
            jcallOpts: $($.panther.jcallOpts).cloneObj({ persistloader: true, loaderOpts: $.pureology.formLoader3 }),
            autoLabels: false,
            vdFromClass: true,
            submitBtnSelector: ".x_submit3",
            callbacks: "erfreefridays"
        }
        $("#regform").formulate(settings);
    }
	
	/* FUNC FOR : /UserControls/GiveAways/ControlCurlModernGiveawaysJan10.ascx */
    jQuery.pureology.ControlCurlModernGiveawaysJan10Bind = function() {

        var settings = {
            errLoc: "instantPop",
            jcallOpts: $($.panther.jcallOpts).cloneObj({ persistloader: true, loaderOpts: $.pureology.formLoader3 }),
            autoLabels: false,
            vdFromClass: true,
            submitBtnSelector: ".x_submit3",
            callbacks: "controlcurlmoderngiveawaysJan10"
        }
        $("#regform").formulate(settings);
    }
	
	/* FUNC FOR : /UserControls/GiveAways/ControlCurlModernGiveawaysJan10.ascx */
    jQuery.pureology.ControlCurlNaturallyCurlyJan10Bind = function() {

        var settings = {
            errLoc: "instantPop",
            jcallOpts: $($.panther.jcallOpts).cloneObj({ persistloader: true, loaderOpts: $.pureology.formLoader3 }),
            autoLabels: false,
            vdFromClass: true,
            submitBtnSelector: ".x_submit3",
            callbacks: "controlcurlnaturallycurlyJan10"
        }
        $("#regform").formulate(settings);
    }
	
	/* FUNC FOR : /UserControls/GiveAways/ErFreeFridaysForm120409.ascx */
    jQuery.pureology.ERFreeFridays120409Bind = function() {

        var settings = {
            errLoc: "instantPop",
            jcallOpts: $($.panther.jcallOpts).cloneObj({ persistloader: true, loaderOpts: $.pureology.formLoader3 }),
            autoLabels: false,
            vdFromClass: true,
            submitBtnSelector: ".x_submit3",
            callbacks: "erfreefridays120409"
        }
        $("#regform").formulate(settings);
    }
	
	/* FUNC FOR : /UserControls/GiveAways/ErBlushForm.ascx */
    jQuery.pureology.ERBlushBind = function() {

        var settings = {
            errLoc: "instantPop",
            jcallOpts: $($.panther.jcallOpts).cloneObj({ persistloader: true, loaderOpts: $.pureology.formLoader3 }),
            autoLabels: false,
            vdFromClass: true,
            submitBtnSelector: ".x_submit3",
            callbacks: "erblush"
        }
        $("#regform").formulate(settings);
    }
	
	/* FUNC FOR : /UserControls/GiveAways/StartToFinishShampooGiveaway.ascx */
    jQuery.pureology.ShampooGiveawayBind = function() {

        var settings = {
            errLoc: "instantPop",
            jcallOpts: $($.panther.jcallOpts).cloneObj({ persistloader: true, loaderOpts: $.pureology.formLoader3 }),
            autoLabels: false,
            vdFromClass: true,
            submitBtnSelector: ".x_submit3",
            callbacks: "shampoogiveaway"
        }
        $("#regform").formulate(settings);
    }
	
	/* FUNC FOR : /UserControls/GiveAways/TestGiveaway.ascx */
    jQuery.pureology.TestBind = function() {

        var settings = {
            errLoc: "instantPop",
            jcallOpts: $($.panther.jcallOpts).cloneObj({ persistloader: true, loaderOpts: $.pureology.formLoader3 }),
            autoLabels: false,
            vdFromClass: true,
            submitBtnSelector: ".x_submit3",
            callbacks: "testgiveaway"
        }
        $("#regform").formulate(settings);
    }
	
	/* FUNC FOR : /UserControls/GiveAways/BTCSep2010Giveaway.ascx */
    jQuery.pureology.BTCSep2010GiveawayBind = function() {

        var settings = {
            errLoc: "instantPop",
            jcallOpts: $($.panther.jcallOpts).cloneObj({ persistloader: true, loaderOpts: $.pureology.formLoader3 }),
            autoLabels: false,
            vdFromClass: true,
            submitBtnSelector: ".x_submit3",
            callbacks: "btcsep2010giveaway"
        }
        $("#regform").formulate(settings);
    }
	
	/* FUNC FOR : /UserControls/GiveAways/StartToFinishConditionerGiveaway.ascx */
    jQuery.pureology.ConditionerGiveawayBind = function() {

        var settings = {
            errLoc: "instantPop",
            jcallOpts: $($.panther.jcallOpts).cloneObj({ persistloader: true, loaderOpts: $.pureology.formLoader3 }),
            autoLabels: false,
            vdFromClass: true,
            submitBtnSelector: ".x_submit3",
            callbacks: "conditionergiveaway"
        }
        $("#regform").formulate(settings);
    }
	
	/* FUNC FOR : /UserControls/GiveAways/StartToFinishTextureGiveaway.ascx */
    jQuery.pureology.TextureGiveawayBind = function() {

        var settings = {
            errLoc: "instantPop",
            jcallOpts: $($.panther.jcallOpts).cloneObj({ persistloader: true, loaderOpts: $.pureology.formLoader3 }),
            autoLabels: false,
            vdFromClass: true,
            submitBtnSelector: ".x_submit3",
            callbacks: "texturegiveaway"
        }
        $("#regform").formulate(settings);
    }
	
	/* FUNC FOR : /UserControls/GiveAways/StartToFinishStylerGiveaway.ascx */
    jQuery.pureology.StylerGiveawayBind = function() {

        var settings = {
            errLoc: "instantPop",
            jcallOpts: $($.panther.jcallOpts).cloneObj({ persistloader: true, loaderOpts: $.pureology.formLoader3 }),
            autoLabels: false,
            vdFromClass: true,
            submitBtnSelector: ".x_submit3",
            callbacks: "stylergiveaway"
        }
        $("#regform").formulate(settings);
    }
	
	/* FUNC FOR : /UserControls/GiveAways/ClassicStylerGiveaway.ascx */
    jQuery.pureology.ClassicStylerGiveawayBind = function() {

        var settings = {
            errLoc: "instantPop",
            jcallOpts: $($.panther.jcallOpts).cloneObj({ persistloader: true, loaderOpts: $.pureology.formLoader3 }),
            autoLabels: false,
            vdFromClass: true,
            submitBtnSelector: ".x_submit3",
            callbacks: "classicstylergiveaway"
        }
        $("#regform").formulate(settings);
    }
	
	/* FUNC FOR : /UserControls/GiveAways/ErOrchidSweepstakes.ascx */
	jQuery.pureology.EROrchidSweepstakesBind = function() {

        var settings = {
            errLoc: "instantPop",
            jcallOpts: $($.panther.jcallOpts).cloneObj({ persistloader: true, loaderOpts: $.pureology.formLoader3 }),
            autoLabels: false,
            vdFromClass: true,
            submitBtnSelector: ".x_submit3",
            callbacks: "erorchidsweepstakes"
        }
        $("#regform").formulate(settings);
    }
	/* FUNC FOR : /UserControls/GiveAways/ErGenericGiveaways.ascx */
	jQuery.pureology.ERGenericGiveawaysBind = function() {

        var settings = {
            errLoc: "instantPop",
            jcallOpts: $($.panther.jcallOpts).cloneObj({ persistloader: true, loaderOpts: $.pureology.formLoader3 }),
            autoLabels: false,
            vdFromClass: true,
            submitBtnSelector: ".x_submit3",
            callbacks: "ergenericgiveaways"
        }
        $("#regform").formulate(settings);
    }	
	/* FUNC FOR : /UserControls/GiveAways/GlobalGreenPreOscarGiveaway.ascx */
	jQuery.pureology.GlobalGreenPreOscarGiveawayBind = function() {

        var settings = {
            errLoc: "instantPop",
            jcallOpts: $($.panther.jcallOpts).cloneObj({ persistloader: true, loaderOpts: $.pureology.formLoader3 }),
            autoLabels: false,
            vdFromClass: true,
            submitBtnSelector: ".x_submit3",
            callbacks: "globalgreenpreoscargiveaway"
        }
        $("#regform").formulate(settings);
    }	
	
	/* FUNC FOR : /UserControls/GiveAways/SigBottleGiveaway.ascx */
	jQuery.pureology.SigBottleGiveawayBind = function() {

        var settings = {
            errLoc: "instantPop",
            jcallOpts: $($.panther.jcallOpts).cloneObj({ persistloader: true, loaderOpts: $.pureology.formLoader3 }),
            autoLabels: false,
            vdFromClass: true,
            submitBtnSelector: ".x_submit3",
            callbacks: "sigbottlegiveaway"
        }
        $("#regform").formulate(settings);
    }	
	
	/* FUNC FOR : /UserControls/GiveAways/BTCGiveawaysNov09.ascx */
	jQuery.pureology.BTCGiveawaysNov09Bind = function() {

        var settings = {
            errLoc: "instantPop",
            jcallOpts: $($.panther.jcallOpts).cloneObj({ persistloader: true, loaderOpts: $.pureology.formLoader3 }),
            autoLabels: false,
            vdFromClass: true,
            submitBtnSelector: ".x_submit3",
            callbacks: "btcgiveawaysnov09"
        }
        $("#regform").formulate(settings);
    }
	/* FUNC FOR : /UserControls/GiveAways/InternetGiveawaysNov09.ascx */
	jQuery.pureology.InternetGiveawaysNov09Bind = function() {

        var settings = {
            errLoc: "instantPop",
            jcallOpts: $($.panther.jcallOpts).cloneObj({ persistloader: true, loaderOpts: $.pureology.formLoader3 }),
            autoLabels: false,
            vdFromClass: true,
            submitBtnSelector: ".x_submit3",
            callbacks: "internetgiveawaysnov09"
        }
        $("#regform").formulate(settings);
    }
	/* FUNC FOR : /UserControls/GiveAways/ModernGiveawaysNov09.ascx */
	jQuery.pureology.ModernGiveawaysNov09Bind = function() {

        var settings = {
            errLoc: "instantPop",
            jcallOpts: $($.panther.jcallOpts).cloneObj({ persistloader: true, loaderOpts: $.pureology.formLoader3 }),
            autoLabels: false,
            vdFromClass: true,
            submitBtnSelector: ".x_submit3",
            callbacks: "moderngiveawaysnov09"
        }
        $("#regform").formulate(settings);
    }
	/* FUNC FOR : /UserControls/GiveAways/AmericanGiveawaysNov09.ascx */
	jQuery.pureology.AmericanGiveawaysNov09Bind = function() {

        var settings = {
            errLoc: "instantPop",
            jcallOpts: $($.panther.jcallOpts).cloneObj({ persistloader: true, loaderOpts: $.pureology.formLoader3 }),
            autoLabels: false,
            vdFromClass: true,
            submitBtnSelector: ".x_submit3",
            callbacks: "americangiveawaysnov09"
        }
        $("#regform").formulate(settings);
    }
	/* FUNC FOR : /UserControls/GiveAways/LaunchpadSweepsNov09.ascx */
	jQuery.pureology.LaunchpadSweepsNov09Bind = function() {

        var settings = {
            errLoc: "instantPop",
            jcallOpts: $($.panther.jcallOpts).cloneObj({ persistloader: true, loaderOpts: $.pureology.formLoader3 }),
            autoLabels: false,
            vdFromClass: true,
            submitBtnSelector: ".x_submit3",
            callbacks: "launchpadsweepsnov09"
        }
        $("#regform").formulate(settings);
    }
	/* FUNC FOR : /UserControls/GiveAways/PureRewardsGiveawaysNov09.ascx */
	jQuery.pureology.PureRewardsGiveawaysNov09Bind = function() {

        var settings = {
            errLoc: "instantPop",
            jcallOpts: $($.panther.jcallOpts).cloneObj({ persistloader: true, loaderOpts: $.pureology.formLoader3 }),
            autoLabels: false,
            vdFromClass: true,
            submitBtnSelector: ".x_submit3",
            callbacks: "purerewardsgiveawaysnov09"
        }
        $("#regform").formulate(settings);
    }
	
	/* FUNC FOR : /UserControls/GiveAways/LaunchpadSweepsNov09.ascx */
	jQuery.pureology.LaunchpadSweepsPhase2Dec09Bind = function() {

        var settings = {
            errLoc: "instantPop",
            jcallOpts: $($.panther.jcallOpts).cloneObj({ persistloader: true, loaderOpts: $.pureology.formLoader3 }),
            autoLabels: false,
            vdFromClass: true,
            submitBtnSelector: ".x_submit3",
            callbacks: "launchpadsweepsphase2dec09"
        }
        $("#regform").formulate(settings);
    }
	/* FUNC FOR : /UserControls/GiveAways/PureRewardsGiveawaysNov09.ascx */
	jQuery.pureology.PureRewardsGiveawaysPhase2Dec09Bind = function() {

        var settings = {
            errLoc: "instantPop",
            jcallOpts: $($.panther.jcallOpts).cloneObj({ persistloader: true, loaderOpts: $.pureology.formLoader3 }),
            autoLabels: false,
            vdFromClass: true,
            submitBtnSelector: ".x_submit3",
            callbacks: "purerewardsgiveawaysphase2dec09"
        }
        $("#regform").formulate(settings);
    }
});