var app=window.app||{},catalogApp;app.category=function(){function n(){$("#toplevel-category-picker").on("change",function(){var n=$(this).val();return n&&(window.location=n),!1});var n=$(".persist-header").width();$(".product-category-listing").pcStickySectionHeader({width:n+"px"});$(".tooltip-trigger").tooltip()}return{init:n}}();$(document).ready(app.category.init);catalogApp=angular.module("CatalogFiltering",[]);catalogApp.factory("SammyRoutes",["$rootScope","TagFilterService",function(n,t){function i(n){var t=".product-category-listing > section";$(t).show();n.length>0&&$(t+":not(."+n.join(",.")+")").hide();$(window).trigger("scroll")}$.sammy("#category-filter-container",function(){this.get("#/tags",function(){i([])});this.get("#/tags/:keys",function(){var n=this.params.keys.split(",");t.setAppliedTags(n);i(n)});this.notFound=function(){}}).run()}]);catalogApp.filter("appliedTags",function(){return function(n){for(var i,r=[],t=0;t<n.length;t++)i=n[t],i.applied==!0&&r.push(i);return r}});catalogApp.filter("unappliedTags",function(){return function(n){for(var i,r=[],t=0;t<n.length;t++)i=n[t],i.applied==!1&&r.push(i);return r}});catalogApp.filter("totalProducts",function(){return function(n){for(var r,i=0,t=0;t<n.length;t++)r=n[t],i+=r.totalProducts;return i}});catalogApp.service("TagFilterService",["$filter",function(n){return{getTags:function(){return availableTags},getAppliedTags:function(){return n("appliedTags")(availableTags)},setAppliedTags:function(n){angular.forEach(n,function(n){for(var t=0;t<this.length;t++)this[t].identifier===n&&(this[t].applied=!0)},availableTags)}}}]);catalogApp.controller("FilterController",["$scope","SammyRoutes","$location","TagFilterService",function(n,t,i,r){n.tags=r.getTags();n.setRoute=function(){var n="tags",t=r.getAppliedTags(),u=t.map(function(n){return n.identifier});t.length>0&&(n+="/"+u.join(","));i.path(n)}}])