$(document).ready(function(){if($("div.productCont").length>0){$("ul#applyFilter").frescaFilter()}});(function(a){a.fn.frescaFilter=function(r){var k={prodContClass:"productCont"};var c=a.extend(k,r);var n=a(this);var m={};function q(){d();n.find("li a").each(function(s){a(this).append("<span></span>");a(this).click(function(t){t.preventDefault();if(!a(this).hasClass("filterDisabled")){g(a(this));o();f()}})})}a("select.sortProducts").change(function(t){var s=a(this).find("option:selected").attr("value");i(s)});function d(){a(".hideFilter").remove()}function g(s){s.toggleClass("filterSelected");if(s.parents("li.filterGroup").find("a.filterSelected").length>0){s.parents("li.filterGroup").addClass("filterGroupActive")}else{s.parents("li.filterGroup").removeClass("filterGroupActive")}}function i(t){var u=[];if(t!=="aNewIn"){a("div.productCont").each(function(w){var y={};y.el=a(this);var x=a(this).attr("class").split(" ");for(var w=0;w<x.length;w++){var v=x[w];if(v.substring(0,11)==="fSORTPRICE_"){y.sortValue=new Number(parseInt(v.replace(/fSORTPRICE_/,""),10));break}}u.push(y)});switch(t){case"dpriceSearch":u=h(u);break;case"apriceSearch":u=p(u);break;case"":document.location.reload(true);break;default:break}a("div#productsCont").empty();a.each(u,function(v){a("div#productsCont").append(this.el)})}else{var s=document.location.href+"&sortOrder=dcreatedDate&resultPage=0";a.ajax({url:s,success:function(v){a("div#productsCont").empty();a("div#productsCont").append(a("#productsCont",v).html())}})}}function p(v){for(var u=0;u<v.length;u++){for(var s=0;s<(v.length-1);s++){if(v[s].sortValue>v[s+1].sortValue){var t=v[s+1];v[s+1]=v[s];v[s]=t}}}return v}function h(v){for(var u=0;u<v.length;u++){for(var s=0;s<(v.length-1);s++){if(v[s].sortValue<v[s+1].sortValue){var t=v[s+1];v[s+1]=v[s];v[s]=t}}}return v}function o(){a("div.productCont").removeClass("filterExclude partialExclude");n.find(".filterGroupActive").each(function(){a("div.productCont").addClass("partialExclude");a(this).find("a.filterSelected").each(function(){a("div."+a(this).attr("id")).removeClass("partialExclude")});a("div.partialExclude").addClass("filterExclude")})}function b(){var t,s;a("div.productCont").removeAttr("style").removeClass("priceExclude").addClass("priceSHOW").each(function(v,u){sortPrice=parseInt(a(this).attr("class").split(" ")[4].replace(/fSORTPRICE_/,"")*100);if(sortPrice<m.currentMinPrice){a(this).addClass("priceExclude");a(this).removeClass("priceSHOW")}if(sortPrice>m.currentMaxPrice){a(this).addClass("priceExclude");a(this).removeClass("priceSHOW")}})}function l(){a("div.categoryRowDivider").remove();a("div.productRowEnd").removeClass("productRowEnd");var s=0;a("div.productCont:visible").each(function(t){s++;if(s%3===0){a(this).addClass("productContRowEnd");a(this).after('<div class="categoryRowDivider">&nbsp;</div>')}})}function f(v){var t,w,s,u;var x=a("div.productCont");n.find("a").not(".sort").each(function(y){u=a(x).filter(".priceSHOW").filter("."+a(this).attr("id")).not(".priceExclude");s=a(this).parents("li.filterGroup");a(s).siblings(".filterGroupActive").each(function(){a(this).find("a.filterSelected").each(function(){a(u).filter("."+a(this).attr("id")).addClass("partialInclude")});u=a(u).filter(".partialInclude").removeClass("partialInclude")});count=u.length;if(count>0){a(this).removeClass("filterDisabled");if(a(this).parent("li").parent("ul").hasClass("filterImage")){a(this).css("opacity",1)}}else{if(a(this).hasClass("filterSelected")){if(a(this).parent("li").parent("ul").hasClass("filterImage")){a(this).css("opacity",0.3)}}else{a(this).removeClass("filterSelected").addClass("filterDisabled");if(a(this).parent("li").parent("ul").hasClass("filterImage")){a(this).css("opacity",0.3)}}}});j()}function j(){var t=a("div.productCont:visible").length;var s=a("div.productCont").length;if(t<s){a("p#counter span").html(t)}else{a("p#counter span").html(s)}}function e(){n.append('<li class="filterGroup" id="fPRICE_SLIDE"><span class="heading">Shop by price range</span><div class="sliderCont"><div id="priceSlider"><div class="ui-slider-range ui-widget-header""></div><div id="leftSliderHandle" class="ui-slider-handle">&nbsp;</div><div id="rightSliderHandle" class="ui-slider-handle">&nbsp;</div><span id="sliderMinPrice">&nbsp;</span><span id="sliderMaxPrice">&nbsp;</span></div></div></li>');var w=a("div#minMaxPricing").attr("class");var u=w.split("_");m.minPrice=parseInt(Math.floor((u[0].replace(/MIN/,"")))*100);m.maxPrice=parseInt(Math.ceil((u[1].replace(/MAX/,"")))*100);var s=m.minPrice;var t=m.maxPrice;a("span#sliderMinPrice").append("&pound;"+parseFloat(m.minPrice/100).toFixed(0));a("span#sliderMaxPrice").append("&pound;"+parseFloat(m.maxPrice/100).toFixed(0));var v=a("div#priceSlider").slider({min:m.minPrice,max:m.maxPrice,values:[m.minPrice,m.maxPrice],range:true,step:500,stop:function(y,x){(x.handle.id==="leftSliderHandle")?m.currentMinPrice=x.value:m.currentMaxPrice=x.value;b();f("priceFilter")},slide:function(y,x){var z=a("#rightSliderHandle").css("left")-a("#leftSliderHandle").css("left");a("#priceSliderBG").css("left",a("#leftSliderHandle").css("left"));if(x.handle.id=="leftSliderHandle"){m.currentMinPrice=x.value;a("span#sliderMinPrice").html("&pound;"+parseFloat(m.currentMinPrice/100).toFixed(0))}else{m.currentMaxPrice=x.value;a("span#sliderMaxPrice").html("&pound;"+parseFloat(m.currentMaxPrice/100).toFixed(0))}}})}q();e()}})(jQuery);
