function updateSubkategorie() {
	var katField = $('searchform_kategorie');
	var subkatField = $('searchform_subkategorie');
	var fischartField = $('searchform_fischart');
	var fischartContainer = $('fischart_container');
	var unvertraeglichkeitenField = $('searchform_unvertraeglichkeiten');
	var firstSubKatItem = $('searchform_subkategorie_0');
	if (!katField || !subkatField) { return; }
	if (katField.value != "") {
		subkatField.disabled = false;	
		var subkatValues = $$('#searchform_subkategorie option');
		for (var i = subkatValues.length - 1; i >= 0; i--) {
			var subkatValue = $(subkatValues[i]);
			//var subkatLi = $('searchform_subkategorie_' + subkatValue.value.replace(":", "_"));
			var subkatLi = $('searchform_subkategorie_' + i);
			
			if (subkatValue.value.indexOf(katField.value + ':') < 0 && subkatValue.value != 0) {
				subkatValue.setStyle("display", "none");
				subkatLi.setStyle("display", "none");
				if (subkatLi.className == 'selected') {
					subkatLi.className = '';
					subkatField.selectedIndex = 0;
					$('searchform_subkategorie_0').className = 'selected';
				}
			} else {
				subkatValue.setStyle("display", "");
				subkatLi.setStyle("display", "");
			}
		}
	} else {
		subkatField.disabled = true;	
	}
	//Fischarten handeln
	if (katField.value != "1") {
		fischartContainer.setStyle("display", "none");
		unvertraeglichkeitenField.setStyle("display", "none");
		if (firstSubKatItem) {
			firstSubKatItem.innerHTML = "alkategória";
		}
		fischartField.selectedIndex = 0;
	} else {
		fischartContainer.setStyle("display", "inline");
		fischartField.setStyle("display", "inline");
		if (firstSubKatItem) {
			firstSubKatItem.innerHTML = "alkategória";
		}
	}
}

	
/* SELECTBOX-REPLACEMENT */
function selectReplacement(obj) {
	document.body.onclick = function(e) {
		if (!e) var e = window.event;
		if (e.target) targ = e.target;
		else if (e.srcElement) targ = e.srcElement;
		if (targ.id.indexOf("searchform_") < 0 && targ.id.indexOf("uid") < 0) {
			var s = document.getElementsByTagName('ul');
			for (var i=0; i<s.length; i++) {
				if (s[i].className.indexOf("selectOpen") >= 0) {
				//s[i].className = s[i].className.replace(new RegExp(" selectOpen\\b"), '');
					var lis = s[i].getElementsByTagName('li');
					for (var j=0; j<lis.length; j++) {
						if (lis[j].className.indexOf("selected") >= 0) {
							selectMe(lis[j]);	
						}
					}
				}
				
			}
		}
	}
	obj.className += ' replaced';
	var ul = document.createElement('ul');
	ul.className = 'selectReplacement';
	ul.id = obj.id + "_replaced";
	var opts = obj.options;
	var selectedOpt = (!obj.selectedIndex) ? 0 : obj.selectedIndex;
	for (var i=0; i<opts.length; i++) {
		var li = document.createElement('li');
		var txt = document.createTextNode(opts[i].text);
		li.appendChild(txt);
		li.selIndex = i;
		//li.id = obj.id + "_" + opts[i].value.replace(":", "_");
		li.id = obj.id + "_" + i;
		li.selectID = obj.id;
		li.onclick = function() {
			selectMe(this);
		};
		if (i == selectedOpt) {
			li.className = 'selected';
			li.onclick = function() {
				this.parentNode.className += ' selectOpen';
				this.onclick = function() {
					selectMe(this);
				};
			};
		}
		if (window.attachEvent) {
			li.onmouseover = function() {
				this.className += ' hover';
			};
			li.onmouseout = function() {
				this.className = 
					this.className.replace(new RegExp(" hover\\b"), '');
			};
		}
		ul.appendChild(li);
	}
	obj.onfocus = function() {
		ul.className += ' selectFocused';
	};
	obj.onblur = function() {
		ul.className = 'selectReplacement';
	};
	obj.onchange = function() {
		var idx = this.selectedIndex;
		selectMe(ul.childNodes[idx]);
	};
	obj.onkeypress = obj.onchange;
	obj.parentNode.insertBefore(ul,obj);
}
function selectMe(obj) {
	var lis = obj.parentNode.getElementsByTagName('li');
	for (var i=0; i<lis.length; i++) {
		if (lis[i] != obj) {
			lis[i].className='';
			lis[i].onclick = function() {
				selectMe(this);
			};
	 } else {
			setVal(obj.selectID, obj.selIndex);
			obj.className='selected';
			obj.parentNode.className = 
				obj.parentNode.className.replace(new RegExp(" selectOpen\\b"), '');
			obj.onclick = function() {
				obj.parentNode.className += ' selectOpen';
				this.onclick = function() {
					selectMe(this);
				};
			};
		}
	}
	if (obj.id.indexOf('searchform_kategorie') >= 0) {
		updateSubkategorie();
	}
	if (obj.id.indexOf('searchform_detail_id') >= 0) {
		//$('contentsearch').submit();
		document.location.href = "/" + ($(obj.selectID).options[obj.selIndex].value);
	}
}
function setVal(objID,val) {
	var obj = document.getElementById(objID);
	obj.selectedIndex = val;
}
function setForm() {
	var s = document.getElementsByTagName('select');
	for (var i=0; i<s.length; i++) {
		selectReplacement(s[i]);
	}
}

/* RADIOBUTTON-REPLACEMENT */
