!function(t,i,e,l){t.filtery=function(l,n){var r={wrapper:null,filterables:".filterable",activeFilterClass:"active"},a=this;a.opts={};var f=(t(i),t(e),t(l)),o=null,s=null,c=null,u=null;a.init=function(){a.opts=t.extend({},r,n),a._construct()},a._construct=function(){if(s=t(a.opts.wrapper),!s.length)return void console.log("Cannot find filterable items wrapper");o=f.find("[data-filter]"),c=s.find(a.opts.filterables),a.setup(),a.events()},a.setup=function(){u=o.filter("."+a.opts.activeFilterClass).data("filter"),a.applyFilter(u)},a.events=function(){o.on("click",a.onClick)},a.onClick=function(i){var e=t(i.target),l=e.data("filter");u!==l&&(a.applyFilter(l),u=l)},a.applyFilter=function(t){if(t){c=s.find(a.opts.filterables);var i=c.filter(t),e=o.filter('[data-filter="'+t+'"]');c.filter(":not("+t+")").hide(),o.removeClass(a.opts.activeFilterClass),i.show(),e.addClass(a.opts.activeFilterClass)}},a.update=function(){a.applyFilter(u)},a.destroy=function(){o.off("click",a.onClick)},a.init()},t.fn.filtery=function(i){return this.each(function(){if(t.fn.filtery.destroy=function(){void 0!==e&&(t(this).data("filtery").destroy(),t(this).removeData("filtery"))},t.fn.filtery.update=function(){void 0!==e&&t(this).data("filtery").update()},void 0===t(this).data("filtery")){var e=new t.filtery(this,i);t(this).data("filtery",e)}})}}(jQuery,window,document);