jQuery('document').ready(function() {
    //Set css class on swatch hover
    jQuery(".swatchImage").hover(function() {
        jQuery(this).addClass("swatchHover");
    }, function() {
        jQuery(this).removeClass("swatchHover");
    });

    //Change product image on swatch click
    jQuery(".productInfo .swatchImage").click(function() {
        //Mark swatch as selected
        jQuery(".selectedSwatch").removeClass("selectedSwatch");
        jQuery(this).find("img").addClass("selectedSwatch");

        //Swap main images
        var currentImg = jQuery(this.parentNode.parentNode).find(".image");
        var newImg = jQuery(this).find(".largeImageUrl").html();
        currentImg.attr("src", newImg);
    });
    
	//Remember user browse preference
    jQuery(".viewAllLink").click(function() {
    	$.cookie('bopBrowsePref', 'viewAll', { path: '/', expires: 365 });
    	submitQuickFindForm(false);
    });
    
    //Wipe out view all cookie
    jQuery(".viewNormalLink").click(function() {
    	$.cookie('bopBrowsePref', null, { path: '/', expires: -1 });
    	submitQuickFindForm(false);
    });
    
    //****************************
    //Pagination
    //****************************
    jQuery(".previousPageLink").click(function() {
    	submitQuickFindForm(false);
    });
    jQuery(".nextPageLink").click(function() {
    	submitQuickFindForm(false);
    });
    jQuery(".paginationPageNumber").click(function() {
    	submitQuickFindForm(false);
    });

    //****************************
    // Multi select for quick find
    //****************************
    $("#Brand").multiSelect({
        selectAll: true,
        selectAllText: 'All Designers',
        selectAllDisplayText: 'view all designers',
        noneSelected: 'Please select at least one brand',
        oneOrMoreSelected: '% designers selected',
        selectAllChecked: true,
        myDesigners: true,
        myDesignersText: 'My Designers'
      });
    $("#Size").multiSelect({
        selectAll: true,
        selectAllText: 'All Sizes',
        selectAllDisplayText: 'view all sizes',
        noneSelected: 'Please select at least one size',
        oneOrMoreSelected: '% sizes selected',
        selectAllChecked: true,
        myDesigners: false
      });
    $("#selectedSort").multiSelectSortBy({
      });
    jQuery(".quickFindDropDown").next().next().find('#selectedSortinner').find('INPUT').click(function(){
    	var selected = $(this).attr('name');
    	var options = $(this).parent().parent().prev().prev().children();
    	$(this).parent().parent().hide();
    	$(this).parent().parent().prev().val($(this).attr('value'));
    	$(options).each( function(){
    		if ($(this).val() == selected ) {
    			$(this).attr('selected', true);
    		} else {
    			$(this).attr('selected', false);
    		}
    	});
    	
		submitQuickFindForm(true);
    });
    jQuery(".quickFindReset").click(function(){
    	$("#Brandinner").multiSelectReset('view all designers');
    	$("#Sizeinner").multiSelectReset('view all sizes');
		submitQuickFindForm(true);
    });
    jQuery("#multiSelectFooter1Brand").click(function(){
    	$("#Brand" + "inner").multiSelectCancel($(this).parent().parent().parent());
		
    	$("#Brand" + "inner").parent().multiSelectUpdateSelected({
            selectAll: true,
            selectAllText: 'All Designers',
            selectAllDisplayText: 'view all designers',
            noneSelected: 'Please select at least one brand',
            oneOrMoreSelected: '% designers selected',
            selectAllChecked: true
          });
    	
    	$("#Brand" + "inner").parent().hide();

    });
    jQuery("#multiSelectFooter2Brand").click(function(){
		submitQuickFindForm(true);
    });
    jQuery("#multiSelectFooter1Size").click(function(){
    	$("#Size" + "inner").multiSelectCancel($(this).parent().parent().parent());
		
    	$("#Size" + "inner").parent().multiSelectUpdateSelected({
            selectAll: true,
            selectAllText: 'All Sizes',
            selectAllDisplayText: 'view all sizes',
            noneSelected: 'Please select at least one size',
            oneOrMoreSelected: '% sizes selected',
            selectAllChecked: true
          });

    	$("#Size" + "inner").parent().hide();
    });
    jQuery("#multiSelectFooter2Size").click(function(){
		submitQuickFindForm(true);
    });
    jQuery("#backToTop").click(function(){
    	scroll(0,0);
    });
});

function submitQuickFindForm(resetToFirstPage) {
	if(resetToFirstPage) {
		var currentUrl = top.location.pathname + top.location.search;
		var firstPageUrl = currentUrl.replace(/baseIndex=\d+/, 'baseIndex=0');
		document.quickFindForm.action = firstPageUrl;
	}
	
	document.quickFindForm.submit();
}
