Spry.Data.DataSet.multiFilterFuncs={};Spry.Data.DataSet.multiFilterFuncs.and=function(a,b,c,d){if(d){var e=d.length;for(var i=0;i<e;i++){b=d[i](a,b,c);if(!b)break}}return b};Spry.Data.DataSet.multiFilterFuncs.or=function(a,b,c,d){if(d&&d.length>0){var e=d.length;for(var i=0;i<e;i++){var f=b;b=d[i](a,b,c);if(b)return b;b=f}return null}return b};Spry.Data.DataSet.prototype.getMultiFilterFunc=function(){var d=Spry.Data.DataSet.multiFilterFuncs[this.getFilterMode()];if(!d)d=Spry.Data.DataSet.multiFilterFuncs["and"];var e=this.activeFilters;return function(a,b,c){return d(a,b,c,e)}};Spry.Data.DataSet.prototype.addFilter=function(a,b){if(!this.hasFilter(a)){if(!this.activeFilters)this.activeFilters=[];this.activeFilters.push(a)}if(b)this.applyFilters()};Spry.Data.DataSet.prototype.removeFilter=function(a,b){var c=this.activeFilters;if(c){var d=c.length;for(var i=0;i<d;i++){if(c[i]==a){this.activeFilters.splice(i,1);if(b)this.applyFilters();return}}}};Spry.Data.DataSet.prototype.removeAllFilters=function(a){var b=this.activeFilters;if(b&&b.length>0){this.activeFilters=[];if(a)this.applyFilters()}};Spry.Data.DataSet.prototype.getFilters=function(a){if(!this.activeFilters)this.activeFilters=[];return this.activeFilters};Spry.Data.DataSet.prototype.applyFilters=function(){if(this.activeFilters&&this.activeFilters.length>0)this.filter(this.getMultiFilterFunc());else this.filter(null)};Spry.Data.DataSet.prototype.hasFilter=function(a){if(!this.activeFilters&&this.activeFilters>0){var b=this.activeFilters;var c=b.length;for(var i=0;i<c;i++){if(b[i]==a)return true}}return false};Spry.Data.DataSet.prototype.getFilterMode=function(){return this.filterMode?this.filterMode:"and"};Spry.Data.DataSet.prototype.setFilterMode=function(a,b){var c=this.getFilterMode();this.filterMode=a;if(b)this.applyFilters();return c};
