(function(n){window.valtech=window.valtech||{},valtech.searchfacets=function(){function r(n,t,i){var r=this,u;r.key=ko.observable(n.key),r.name=ko.observable(n.name),r.translatedName=ko.computed(function(){return i?i[r.name().toLowerCase()]:r.name()}),r.facetItems=ko.observableArray([]),u=[],ko.utils.arrayForEach(n.facetItems,function(n){u.push(new a(n,t))}),r.facetItems(u)}function a(n,t){this.name=ko.observable(n.value),this.frequency=ko.observable(n.frequency),this.description=ko.computed(function(){return this.name()+" ("+this.frequency()+")"},this);var i=!1;t&&t.length>0&&(i=t.indexOf(n.value)!=-1),this.isEnabled=ko.observable(i),this.uiEnabled=ko.observable(!0)}function h(t){var i=n.cookie(t);return i?JSON.parse(i):{}}function c(t,i){n.cookie(t,JSON.stringify(i))}var t={},e="",i=!1,u,o=document.location.pathname,s,f,l;return ko.bindingHandlers.isVisible={init:function(t,i){var r=ko.utils.unwrapObservable(i());n(t).toggle(Number(r)<10)}},s=function(t,e){var s=this,l;window.vm=s,s.facets=ko.observableArray([]),s.totalResults=ko.observable(e),s.visible=ko.observable(!1),s.facets.subscribe(function(n){var t=!1;ko.utils.arrayForEach(n,function(n){t||(t=!(n.facetItems()[0]==undefined))}),s.visible(t)}),s.applyFilter=function(t,i){var y,w=n(".product-list"),p,l,a,e,b,k,d,v,r;if(w&&w.data("startindex",1),n(i.target).is("input")){for(p=n(".list-wrapper"),p&&p.data("startindex",1),l=location.hash.split("&"),a=/(\#.*)$/.exec(document.location),a&&a.length>1&&(l=a[1].split("&")),e=[],r=0;r<l.length;r++)b=l[r].split("="),k=b[0].replace("#",""),e.push(k);for(d=s.getKeys(),v="",r=0;r<e.length;r++)d.indexOf(e[r])==-1&&(v+=e[r]+"="+f(e[r])+"&");u&&(y=h("facetsCookie"),y[o]=v+s.getEnabled(),c("facetsCookie",y)),location.hash=v+s.getEnabled()}return!0},s.getKeys=function(){return n.map(s.facets(),function(n){return n.key()})},s.getEnabled=function(){var t=n.map(s.facets(),function(t){return t.key()+"="+n.map(t.facetItems(),function(n){return n.isEnabled()?Url.encode(n.name()):undefined})});return t.join("&")},s.getFacetsFromUrl=function(n){var t=f(n);return t&&t.length>0&&(t=Url.decode(t),t=t.split(",")),t},s.resetFasets=function(){s.facets.removeAll(),ko.utils.arrayForEach(t,function(n){var t=s.getFacetsFromUrl(n.key);l.push(new r(n,t))}),s.facets(l)},s.updateFacetItems=function(n){var t=[];if(i){s.facets.removeAll(),i=!1,ko.utils.arrayForEach(n,function(n){var i=s.getFacetsFromUrl(n.key);t.push(new r(n,i))}),s.facets(t),ko.utils.arrayForEach(s.facets(),function(t){loadedFacet=n.reduce(function(n,i){return n?n:i.name===t.name()&&i.facetItems&&i.facetItems.length>0?i:undefined},null),ko.utils.arrayForEach(t.facetItems(),function(n){if(!loadedFacet.facetItems[0].enabled){n.uiEnabled(!1);return}n.uiEnabled(!0)})});return}ko.utils.arrayForEach(s.facets(),function(t){var i=n.reduce(function(n,i){return n?n:i.name===t.name()&&i.facetItems&&i.facetItems.length>0?i:undefined},null);ko.utils.arrayForEach(t.facetItems(),function(n){var t,r=n.name();if(!i){n.uiEnabled(!1);return}if(t=i.facetItems.reduce(function(n,t){return n?n:t.value===r?t:undefined},null),t){n.uiEnabled(t.enabled),n.frequency(t.frequency);return}n.uiEnabled(!1),n.frequency(0)})});return},l=[],ko.utils.arrayForEach(t,function(n){var i=s.getFacetsFromUrl(n.key);l.push(new r(n,i,t.translations))}),s.facets(l)},f=function(n){n=n.replace(/[\[]/,"\\[").replace(/[\]]/,"\\]");var i="[\\#&]"+n+"=([^&#]*)",r=new RegExp(i),t=r.exec(window.location.href);return t==null?"":t[1]},l=function(r,f,l,a){var v=n(f).closest(".facet-wrapper"),y;i=l||v.data().maintainfacets?l==e||v.data().maintainfacets?!1:!0:!0,e=l,u=v.data().persistfiltering,f&&f.length>0&&r&&(t.facets?(t.updateFacetItems(r),t.totalResults(a)):(t=new s(r,a),ko.applyBindings(t,f.parent().get(0)),t.updateFacetItems(r),t.totalResults(a))),n(".expand-facets").die("click").live("click",function(){var i=n(this),t=i.siblings("ul").find("li");t&&(t=t.slice(-(t.length-10)),n(t.get(0)).is(":visible")?t.slideUp(200,function(){i.text(i.data("expand"))}):t.slideDown(200,function(){i.text(i.data("collapse"))}))}),n(".reset-facets").live("click",function(){location.href=document.location.pathname.split("#")[0],u&&(y=h("facetsCookie"),y[o]="",c("facetsCookie",y))}),n("body").trigger("list.facetsLoaded")},{init:l,viewModel:t}}})(jQuery),function(n){function f(){return n(window).width()>valtech.settings.breakpointTablet?"wide":"narrow"}function r(){var r=f(),e=t.closest("#anchormenu"),o=t.closest(".page-content"),s=e.length>0;if(r!=i){switch(r){case"wide":t.removeClass("narrow"),s&&n("#mwr-header").before(o);break;case"narrow":t.addClass("narrow"),s&&(n("#mwr-header").after(o),e.addClass("containsFacets"),u())}i=r}}function u(){var t=n(".heading"),i=n(".facets-holder"),r=n(".close-facets-btn");t.off("click"),t.click(function(t){Modernizr.mq("all and (max-width: "+valtech.settings.breakpointTablet+"px)")&&(i.slideToggle(),n(this).toggleClass("active"),t.preventDefault())}),r.off("click"),r.click(function(n){i.slideUp(),t.removeClass("active"),n.preventDefault()}),n(window).resize(n.throttle(250,function(){Modernizr.mq("all and (max-width: "+valtech.settings.breakpointTablet+"px)")||(i.removeAttr("style"),t.removeClass("active"))}))}var t=n(".facet-wrapper"),i;(n(document).ready(r),valtech.composerEditMode)||(n(window).resize(n.throttle(250,r)),u())}(jQuery),function(n){window.valtech=window.valtech||{},valtech.productSearch=function(){function r(t){var i=n.cookie(t);return i?JSON.parse(i):{}}function f(t,i){n.cookie(t,JSON.stringify(i))}var t,i=document.location.pathname,u=function(u,e){var u=u,o=r("searchTermCookie");self.searchTerm=ko.observable(o[i]),self.searchSucceeded=ko.observable(!0),self.searchTermKeyDown=function(n,t){return t.keyCode==13&&self.searchProducts(),!0},self.searchProducts=function(){var o={};o.isProduct=!0,o.productIds=self.searchTerm(),o.startIndex=1,o.endIndex=o.startIndex+1,o.language=u,o.sectionId=e,o.hasSiteSslEnabled=self.valtech.settings.hasSiteSslEnabled,t&&(cookie=r("searchTermCookie"),cookie[i]=o.productIds,f("searchTermCookie",cookie)),n.ajax({url:"/api/searchproducts/",data:JSON.stringify(o),dataType:"json",type:"POST",contentType:"application/json; charset=utf-8",success:function(n){if(self.searchSucceeded(n.totalResults>0),self.searchSucceeded()){var t=n.resultSet[0];location.href=t.url}}})}},e=function(i,r,f){if(t=i.data().persistsearchterm,i&&i.length>0){var e=new u(r,f);ko.applyBindings(e,i.get(0)),n(".search-field").keypress(function(n){(n.which==10||n.which==13)&&(n.stopPropagation(),n.preventDefault())})}};return{init:e,viewModel:{}}}}(jQuery)