BAUER.namespace("BAUER.ui.form");BAUER.ui.form.ProgressiveFilter=new Class({Implements:[Options,Events],options:{classes:{progressiveInput:false},ids:{form:false}},initialize:function(a){this.setOptions(a);this._findElements();this._attachListeners();this._cacheInputs();this._filterInputs(0);},filterInputs:[],filterInputsCache:[],form:null,_attachListeners:function(){this.filterInputs.each(function(a){a.removeEvents("change");
a.addEvent("change",this.handleChange.bindWithEvent(this));},this);},_cacheInputs:function(){this.filterInputs.each(function(a){this.filterInputsCache.push(a.clone(true,true));},this);},_filterInputs:function(f,a){var c=[];var j=this.filterInputs.length;for(var b=Math.max(1,f);b<j;b++){var g=this.filterInputs[b].get("value");
var e=this.filterInputsCache[b].clone(true,true);e.replaces(this.filterInputs[b]);e.set("value",g);this._findElements();var d=this._getFilterClassName(b-1);var h=e.getElements("option");h.each(function(i){if(!i.hasClass(d)){i.destroy();}},this);}this._attachListeners();},_findElements:function(){this.form=$(this.options.ids.form);
this.filterInputs=[];if(this.options.classes.progressiveInput){if(this.form){this.filterInputs=this.form.getElements("."+this.options.classes.progressiveInput);}else{this.filterInputs=$$("."+this.options.classes.progressiveInput);}}},_getFilterClassName:function(c){var a=[];for(var b=0;b<=c;b++){a.push(this.filterInputs[b].get("value"));
}return a.join(" ");},handleChange:function(b){var a=this.filterInputs.indexOf(b.target);this._filterInputs(a);}});