Lisi.SearchUtils = function(options) {
	var instance = this;
	
	this.searchForm = function(options) {
		if (typeof instance.AUI == "undefined") {
			AUI().use(
				'node',
				'anim-base',
				function(A) {
					instance.AUI = A;
					instance.searchFormIntern(options);
				}
			)
		} else {
			instance.searchFormIntern(options);
		}
	},	
	this.searchFormIntern = function(options) {		
		instance.namespace = options.namespace;
		instance.form = instance.AUI.one("#" + options.form);
		instance.form.one(".search_field").on("focus", function() {
			if (this.get("value") == "Volltext, Tags") {
				this.set("value", "");
			}
		});
		instance.form.one(".search_field").on("blur", function() {
			if (this.get("value") == "") {
				this.set("value", "Volltext, Tags");
			}
		});		
		instance.form.all(".filter .head a").each(function(node, index) {
			node.on("click", function() {
				var node = instance.AUI.one("." + this.get("rel"));			
				if(this.hasClass("plus")) {
					this.removeClass("plus");
					this.addClass("minus");
					node.removeClass("lisi-hide");
					instance.AUI.one("input[name='" +  this.get("rel") + "Open']").set("value", "true");
				} else {
					this.addClass("plus");
					this.removeClass("minus");
					node.addClass("lisi-hide");
					instance.AUI.one("input[name='" +  this.get("rel") + "Open']").set("value", "false");
					node.all("input[type='checkbox']").set("checked", false);
				}
			});
		});
		instance.form.one("a.extended").on("click", function() {
			var node = instance.AUI.one(".extendedContainer");			
			if(this.hasClass("plus")) {
				this.removeClass("plus");
				this.addClass("minus");
				node.removeClass("lisi-hide");
				instance.AUI.one("input[name='extendedOpen']").set("value", "true");				
			} else {
				this.addClass("plus");
				this.removeClass("minus");
				node.addClass("lisi-hide");
				instance.AUI.one("input[name='extendedOpen']").set("value", "false");
				node.all("input[type='checkbox']").set("checked", false);
				instance.form.all(".filter .head a").each(function(node, index) {
					node.removeClass("minus");
					node.addClass("plus");
					instance.AUI.one("input[name='" +  node.get("rel") + "Open']").set("value", "false");
					var node = instance.AUI.one("." + this.get("rel"));
					node.addClass("lisi-hide");
				});				
			}
		});
	}	
}
