
function setCriteria_item(el, elVal) {
	var sel_field = el.selectedIndex;
	if (sel_field<0) {
		sel_field = 0;
	}
	var option_field = el.options[sel_field];

	var sel_value = elVal.selectedIndex;
	if (sel_value<0) {
		sel_value = 0;
	}
	var option_value = elVal.options[sel_value];

	var search_key = searchKeys[option_field.value];
	var search_value = option_value.value;

	var inputObj = document.createElement('input');
	inputObj.type = "hidden";
	inputObj.name = search_key;
	inputObj.value = search_value;

	var searchList = document.getElementById('search-item-list');
	searchList.appendChild(inputObj);
}

function setCriteria(formObj) {
	for (var i in formObj.elements) {
		var el = formObj.elements[i];
		var res = '';
		if (el.name) {
			res = el.name.match(/^search_field_([0-9]*)$/);
			if (res) {
				var valueField = 'search_values_'+res[1];
				var elVal = formObj.elements[valueField];
				setCriteria_item(el, elVal);
			}
		}
	}
	return true;
}

function addOption(selectObj, value, label) {
	var option = document.createElement('option');
	option.value = value;
	var label = document.createTextNode(label);
	option.appendChild(label);
	selectObj.appendChild(option);
}

function setValues(searchField) {
	var name = searchField.name;
	name = name.replace(/search_field_/, 'search_values_');
	var valueField = document.forms["search-form"].elements[name];
	while (valueField.childNodes.length) {
		valueField.removeChild(valueField.firstChild);
	}
	var current = searchField.options[searchField.selectedIndex].value;
	if (current) {
		var values = searchValues[current];
		for (var i in values) {
			addOption(valueField, i, values[i]);
		}
	} else {
		addOption(valueField, '', '[ Suchfeld auswählen ]');
	}
}

function addSearchItem() {
	if (searchCnt < 5) {
		$('#search-item-list').append($('#search-item-template').html().replace(/###IDX###/g, searchIdx));
		searchIdx++;
		searchCnt++;
	}
}

function removeSearchItem(removeLink) {
	if (searchCnt > 1) {
		var searchBlock = removeLink.parentNode;
		searchBlock.parentNode.removeChild(searchBlock);
		searchCnt--;
	}
}

function selectBox_setValue(selObj, val) {
	for (var i = 0; i < selObj.options.length; i++) {
		var curOpt = selObj.options[i];
		if (curOpt.value==val) {
			selObj.selectedIndex = i;
			return;
		}
	}
}

function initSearch() {
	var cnt = 0;
	for (var i in currentSearch) {
		var currentKey = searchKeysInv[i];
		var currentVal = currentSearch[i];
		if (cnt > 0) {
			addSearchItem()
		}
		var selField = document.getElementById('search_field_'+cnt);
		var selValue = document.getElementById('search_values_'+cnt);
		selectBox_setValue(selField, currentKey);
		setValues(selField);
		selectBox_setValue(selValue, currentVal);
		cnt++;
	}
}

function printSearch() {
	var searchForm = document.getElementById('search-form');
	var typeField = document.getElementById('type-field');
	typeField.value = 123;
	searchForm.target = '_blank';
	searchForm.submit();
	typeField.value = 0;
}

// initSearch();



