var hideID = '';
var hideTimeout;
var kaufartTimeout;
var objektartTimeout;
var mitBildTimeout;

function showDropdown(id) {
	hideCurrentID();
	var elm = document.getElementById(id);
	elm.style.display = "block";
}

function hideDropdown(id) {
	if (hideTimeout) window.clearTimeout(hideTimeout);
	hideID = id;
	hideTimeout = window.setTimeout("hideCurrentID()", 300);
}

function hideCurrentID() {
	if (hideID != '') {
		var elm = document.getElementById(hideID);
		elm.style.display = "none";
	}
	hideID = '';
}

function toggleDropdownItem(field, id, completeHandler) {
	var inputElm = document.getElementById(field);
	var valArray = new Array();
	if (inputElm.value != "0") {
		valArray = inputElm.value.split(",");
	}
	var pos = getIndexOfId(valArray, id);
	if (pos != -1) {
		disableDropdownItem(field + "-" + id);
		valArray.splice(pos, 1);			
	} else {
		enableDropdownItem(field + "-" + id);
		valArray.push(id);
	}
	var newValue = valArray.join(",");
	if (newValue.substr(0, 1) == ",") newValue = newValue.substr(1);
	if (newValue == "") newValue = "0";
	inputElm.value = newValue;

	updateDropdownTitle(field, newValue);
	try {
		completeHandler(newValue);
	} catch (err) {}
}

function updateDropdownTitle(field, newValue) {
	var titleElm = document.getElementById(field + "-title");
	var newTitle = titleElm.title;
	if (newValue != "0") {
		var newAnzahl = newValue.split(",").length;
		newTitle += " (" + newAnzahl + ")";
	} else {
		newTitle += " (Alle)";
	}
	titleElm.innerHTML = newTitle;
}

function getIndexOfId(arr, id) {
	for (var i = 0; i < arr.length; i++) {
		if (arr[i] == id) return i;
	}
	return -1;
}

function enableDropdownItem(id) {
	var ddElm = document.getElementById(id);
	ddElm.className += " selected";
}

function disableDropdownItem(id) {
	var ddElm = document.getElementById(id);
	ddElm.className = ddElm.className.replace(new RegExp("selected\\b"), "");
}

/* Wohnweb SafeSearch Begin*/

function updateObjektartIDSafeSearch(objektartid, checked, updateSearch) {
	if (updateSearch && objektartTimeout) window.clearTimeout(objektartTimeout);
	updateId(objektartid, checked, 'tx_txkomsis_pi1_objektartid_SafeSearch');
	if (updateSearch) objektartTimeout = window.setTimeout("SearchSidebar.getSearchResultsMain()", 500);
}


function updateKaufartIDSafeSearch(kaufartid, checked, updateSearch) {
	if (updateSearch && kaufartTimeout) window.clearTimeout(kaufartTimeout);
	updateId(kaufartid, checked, 'tx_txkomsis_pi1_mikana_SafeSearch');
	if (updateSearch) kaufartTimeout = window.setTimeout("SearchSidebar.getSearchResultsMain()", 500);
}

/* Wohweb SafeSearch End */

function updateObjektartID(objektartid, checked, updateSearch) {
	if (updateSearch && objektartTimeout) window.clearTimeout(objektartTimeout);
	updateId(objektartid, checked, 'tx_txkomsis_pi1_objektartid');
	if (updateSearch) objektartTimeout = window.setTimeout("SearchSidebar.getSearchResultsMain()", 500);
}

function updateKaufartID(kaufartid, checked, updateSearch) {
	if (updateSearch && kaufartTimeout) window.clearTimeout(kaufartTimeout);
	updateId(kaufartid, checked, 'tx_txkomsis_pi1_mikana');
	if (updateSearch) kaufartTimeout = window.setTimeout("SearchSidebar.getSearchResultsMain()", 500);
}

function updateMitBild(checked, updateSearch) {
	if (updateSearch) {
		if (mitBildTimeout) window.clearTimeout(mitBildTimeout);
		mitBildTimeout = window.setTimeout("SearchSidebar.getSearchResultsMain()", 500);
	}
}

function updateId(id, checked, valElmId) {
	var valElm = document.getElementById(valElmId);
	var curIDArr = new Array();
	if (valElm.value) {
		curIDArr = valElm.value.split(',');
	}
	if (checked) {
		addIDToArray(id, curIDArr);
	} else {
		removeIDFromArray(id, curIDArr);
	}
	var newValue = curIDArr.join(',');
	if (newValue.substr(0, 1) == ",") newValue = newValue.substr(1);
	if (newValue == "") newValue = "0";
	
	valElm.value = newValue;
}

function addIDToArray(id, arr) {
	arr.push(id);
}

function removeIDFromArray(id, arr) {
	var pos = getIndexOfId(arr, id);
	if (pos != -1) {
		arr.splice(pos, 1);			
	}
}

