// extended search
var search = {
	init: function(){
		// year range halten
		this.yearDropdowns = $("search_extended").select("[rel='year_dropdown']");
		this.setYearRange();
		// ausparsen der inputs
		$("search_extended").select("input,select").each(function(e,i){
			if(!Object.isUndefined(e.options)){
				if(e.options.length == 2){
//					e.selectedIndex = 1;
//					e.disable();
				} else if(e.options.length == 1){
					e.disable();
				}
			}
			e.observe("change",this.submitFilter.bind(this,e));
		}.bind(this));
	},
	submitFilter: function(button){
		$("search_extended").setStyle({cursor:"wait"});
		button.up("form",0).submit();
	},
	yearDropdowns: null,
	setYearRange: function(){
		// endjahr options deaktivieren
		var start_year = this.yearDropdowns[0].options[this.yearDropdowns[0].selectedIndex].value;
		var end_year = this.yearDropdowns[1].options[this.yearDropdowns[1].selectedIndex].value;
		
		this.yearDropdowns.each(function(e,i){
			var year = (i==0?end_year:start_year);
			var operator = (i==0?"<=":">=");
			$A(e.options).each(function(o,j){
				if(!year.startsWith("-")){
					var bool = eval("year "+operator+" o.value");
					if(bool){
						o.hide();
					} else {
						o.show();
					}
				}
			});
		});
	},
	toggleExtendedSearch: function(element){
		if($("search_extended").visible()){
			$("search_extended").hide().select("input, select").invoke("disable");
			element.down("img").className = "btnico_down";
		} else {
			$("search_extended").show().select("input, select").
			each(function(e,i){
				if(Object.isUndefined(e.locked))
					e.disabled = false;
			});
			element.down("img").className = "btnico_up";
		}
	},
	pokeSearch: function(button){
		button.up(".buttons").previous(".inputfield").down("input").value = "";
	},
	clearFilter: function(button){
		$("search_extended").setStyle({cursor:"wait"});
		main.ajax({
			path:main.path.href+"/search.ajax",
			abortError:true,
			parameters:{action:"clear_filter"},
			onSuccess: function(json){
				$("search_extended").update(json.handler);
				$("live_search").value = "";
				$("search_extended").setStyle({cursor:""});
				this.init();
			}.bind(this)
		});
	}
};
document.observe("dom:loaded",search.init.bind(search));