// Suchassistent-Fenster - nur IE
function SearchAssistResize() {
if (navigator.appName == "Microsoft Internet Explorer") { 
	hoehe = document.body.scrollHeight;
	if (hoehe > 421) window.resizeTo(560,hoehe+50)
	else window.resizeTo(560,462);
	}
}

function makeParamString() {
		var kws = "";
		var cis = "";
		var sts = "";
		var hns = "";
		var fns = "";
		var ats = "";
		var sims = "";
		var cats = "";
		var catkws = "";
		var kgss = "";
		var bucs = "";
		var buabs = "";
		var zbuabs = "";
		var titles = "";
		var las = "";
		var ParamString = "";
		if (document.search_assist.kw) {
			kws=document.search_assist.kw.value;
			if (kws != "") {
				ParamString = ParamString + "&kw=" + escape(kws)
				}
			}
		if (document.search_assist.ci) {
			cis=document.search_assist.ci.value;
			if (cis != "") {
				ParamString = ParamString + "&ci=" + escape(cis)
				}
			}
		if (document.search_assist.fn) {
			fns=document.search_assist.fn.value;
			if (fns != "") {
				ParamString = ParamString + "&fn=" + escape(fns)
				}
			}
		if (document.search_assist.st) {
			sts=document.search_assist.st.value;
			if (sts != "") {
				ParamString = ParamString + "&st=" + escape(sts)
				}
			}
		if (document.search_assist.hn) {
			hns=document.search_assist.hn.value;
			if (hns != "") {
				ParamString = ParamString + "&hn=" + hns
				}
			}
		if (document.search_assist.at) {
			ats=document.search_assist.at.value;
			if (ats != "") {
				ParamString = ParamString + "&at=" + ats
				}
			}
		if (document.search_assist.sim) {
			sims=document.search_assist.sim.value;
			if (sims != "") {
				ParamString = ParamString + "&sim=" + sims
				}
			}
		else {
			if (document.search_assist.skw){
				if (document.search_assist.skw.checked) {
				ParamString = ParamString + "&sim=kw";
				}
			}
		}
		if (document.search_assist.cat) {
			cats=document.search_assist.cat.value;
			if (cats != "") {
				ParamString = ParamString + "&cat=" + escape(cats)
				}
			}
		if (document.search_assist.catkw) {
			catkws=document.search_assist.catkw.value;
			if (catkws != "") {
				ParamString = ParamString + "&catkw=" + escape(catkws)
				}
			}
		if (document.search_assist.catkey) {
			catkeys=document.search_assist.catkey.value;
			if (catkeys != "") {
				pipePos = catkeys.indexOf("|");
				if (pipePos > 0) {
					catkeys1 = catkeys.substring(0,pipePos+1);
					catkeys2 = escape (catkeys.substring(pipePos+1));
					catkeys2 = catkeys2.replace(/-/,"%2D");
					catkeys = catkeys1 + catkeys2
					}
				ParamString = ParamString + "&catkey=" + catkeys
				}
			}
		if (document.search_assist.districtfilter) {
			districtfilters = document.search_assist.districtfilter.value;
			if (districtfilters != "") {
				ParamString = ParamString + "&districtfilter=" + districtfilters;
				}
			}
		if (document.search_assist.kgs) {
			kgss=document.search_assist.kgs.value;
			if (kgss != "") {
				ParamString = ParamString + "&kgs=" + kgss
				}
			}
		if (document.search_assist.buab) {
			buabs=document.search_assist.buab.value;
			if (buabs != "") {
				ParamString = ParamString + "&buab=" + buabs 
				}
			}
		if (document.search_assist.zbuab) {
			zbuabs=document.search_assist.zbuab.value;
			if (zbuabs != "") {
				ParamString = ParamString + "&zbuab=" + zbuabs 
				}
			}
		if (document.search_assist.buc) {
			bucs=document.search_assist.buc.value;
			if (bucs != "") {
				ParamString = ParamString + "&buc=" + bucs + "&bi=" + bucs
				}
			}
		if (document.search_assist.title) {
			titles=document.search_assist.title.value;
			if (titles != "") {
				ParamString = ParamString + "&title=" + escape(titles)
				}
			}
		if (document.search_assist.la) {
			las=document.search_assist.la.value;
			if (las != "") {
				ParamString = ParamString + "&la=" + escape(las)
				}
			}
		if (document.search_assist.context) {
			contexts=document.search_assist.context.value;
			if (contexts != "") {
				ParamString = ParamString + "&context=" + contexts
				}
			}
		if (document.search_assist.page) {
			pages=document.search_assist.page.value;
			if (pages != "") {
				ParamString = ParamString + "&page=" + pages
				}
			}
		if (document.search_assist.action) {
			actions = document.search_assist.action.value;
			if (actions != "")
				if (actions != undefined ) {
				ParamString = ParamString + "&action=" + actions
				}
			}
		return ParamString;
}

// Einbindung in wiz_result.jsp - "normaler" Abschluss des Suchassistenten
function showAssistResult() {
	var resultUrl = "Controller?";
	if (document.search_assist.assist_ok[0]) 
		var ok = document.search_assist.assist_ok[0].checked
	else 
		var ok = document.search_assist.assist_ok.value;
	var pars = makeParamString();
	if (ok){	
		var actions = document.search_assist.action1.value;
		resultUrl = resultUrl + "form_name=search_assist&zvo_ok=1&action=" + actions + pars;
		if (document.search_assist.shAlt) {
		// Alternativen anzeigen
			resultUrl = resultUrl + "&assist_ok=0&shAlt=1";
			location.href= resultUrl;
		} else {
		// Ergebnisliste anzeigen nach erfolgreicher Suche
				resultUrl = resultUrl + "&assist_ok=1";
				location.href = resultUrl;
		}		
	}
	else {
		// "Suche verfeinern" --> Combobox mit Stadtteilauswahl
		if (document.search_assist.shComboRef) {
			var actions = document.search_assist.action2.value;
			resultUrl = resultUrl + "form_name=search_assist&zvo_ok=1&assist_ok=0&shComboRef=1&action=" + actions + pars;
			location.href= resultUrl;
		} else {
		// "Suche veraendern" --> Suchassistent erneut starten mit kompletter Suchmaske
			var actions = document.search_assist.action2.value;
			resultUrl = resultUrl + "cmd=cmd_search_assist_maske&action=" + actions + pars;
			window.location.href = resultUrl
		}
	}
}

function showEnvSearch() {
	var ok = document.search_assist.cmd[1].checked;
	var pars = makeParamString();
	if (ok){
		var actions = document.search_assist.action2.value;
		// Umgebungssuche im Hauptfenster anzeigen 
		envUrl = "Controller?form_name=search_nat_umg&cmd=cmd_env_search&action=" + actions + pars;
		window.location.href = envUrl;
	}
}

/*  Schliess-Funktion notwendig wg. Logging 
	falls keine openerUrl mit Parametern verfuegbar --> kein Logging
*/
function closeAssist(page, context, action) {
	openerUrl = opener.document.location + '';
	qpos = openerUrl.indexOf("?");
	if (qpos > 0) {
		openerUrl = openerUrl.replace(/#/,'');
		openerUrl = openerUrl.replace(/&page=/,'&lPage=');
		openerUrl = openerUrl.replace(/&action=/,'&lAction=');
		openerUrl = openerUrl + "&page=" + page + "&action=" + action;
		opener.document.location.href = openerUrl;
	}
	self.close(); 	
}


function checkAddStreet(screen, noKw) {
	// sofern vom Nutzer gewuenscht --> Verweis auf Fenster mit Strasseneingabe
	var error = 0;
	var resultUrl = "Controller?form_name=search_assist"
	if (document.search_assist.addSt) {
		var ok = document.search_assist.addSt.checked;
		if (ok){
			document.search_assist.action.value = document.search_assist.a_str_hinzu.value
			switch (screen) {
			case 'search_priv':
				resultUrl = "Controller?cmd=cmd_search_assist_eingabe_strasse&screen=search_street";
				break;
			case 'search_business':
				resultUrl = "Controller?cmd=cmd_search_assist_eingabe_strasse&screen=search_business_street";
				break;
			case 'search_all':
				resultUrl = "Controller?cmd=cmd_search_assist_eingabe_strasse&screen=search_all_street"
				}
			}
		} else 	if (document.search_assist.kw.value == "") {
			error = 1
		}

	if (error == 0) {
		var pars = makeParamString();
		resultUrl = resultUrl + pars + "&zvo_ok=1&assist_ok=0";
		window.location.href = resultUrl;
	} else {
		alert (noKw)
	}
	
}

function addAction() {
	// Aktionskennung hinzufuegen, falls verschiedene "Weiter"-Alternativen
	var a1 = document.search_assist.cmd[0].checked;
	var pars = makeParamString();
	var resultUrl = "Controller?cmd=" 
	if (a1) {
		var cmds = document.search_assist.cmd[0].value;		
		resultUrl = resultUrl + cmds + pars + "&action=" + document.search_assist.action1.value;
		window.location.href = resultUrl;
		}
	else {
		var cmds = document.search_assist.cmd[1].value;
		if (cmds == '&form_name=search_assist&zvo_ok=1&assist_ok=1') {
			resultUrl = resultUrl + cmds + pars + "&action=" + document.search_assist.action3.value;
			window.location.href = resultUrl;
			}
		else {
			if (document.search_assist.cmd[1].value != 'cmd_search_env') {		
				resultUrl = resultUrl + cmds + pars + "&action=" + document.search_assist.action2.value;
				window.location.href = resultUrl;
				}
			}
		}		
}

function getNextPage() {
	// Verwendung in wiz_radio.jsp bei Klick auf "weiter"-Button
	// Radio-Buttons sind mit "form_name=" bzw "cmd=" belegt
	var pars = makeParamString();
	var resultUrl = "Controller?";
	var nextPage = "";
	i = 0;
	var fertig = false;
	while (!fertig && document.search_assist.nextPage[i]) {
		fertig = document.search_assist.nextPage[i].checked;
		nextPage = document.search_assist.nextPage[i].value;	
		i ++;
	}
	resultUrl = resultUrl + nextPage + pars;
	window.location.href = resultUrl; 
}

function deleteOrtsinfo() {
	// Verwendung in wiz_maske.jsp, falls Ort geaendert wird - ansonsten Ortsinfo behalten
	document.search_assist.kgs.value = "";
	document.search_assist.buab.value = "";
	document.search_assist.zbuab.value = "";
	document.search_assist.bi.value = "";
	document.search_assist.buc.value = "";	
	document.search_assist.title.value = "";	
	document.search_assist.zvo_ok.value = "0";
}

function goBack(page, action, ci) {
	// "Rueck"-Verlinkungen - kein simples history.back() wg. Logging
	var ok = history.length;
	var backUrl = document.referrer;
	if (backUrl != '') { 
		var test = backUrl.indexOf('?');
		if (test <= 0)	var backUrl = "Controller?form_name=search_assist&context=6&assist_back=1&ci=" + ci; 
		// andere Parameterbezeichner fuer vorausgegangene Aktion und Seite
		backUrl = backUrl.replace(/&page=/,"&lPage=");
		backUrl = backUrl.replace(/&action=/,"&lAction=");
		backUrl = backUrl.replace(/&context=/,"&lContext=");
		backUrl = backUrl.replace(/&kw=/,"&lKw=");
		backUrl = backUrl.replace(/&fn=/,"&lFn=");
		backUrl = backUrl.replace(/&st=/,"&lSt=");
		backUrl = backUrl.replace(/&hn=/,"&lHn=");
		if (document.search_assist.kw) backUrl = backUrl +"&kw=" +escape(document.search_assist.kw.value);
		if (document.search_assist.fn) backUrl = backUrl +"&fn=" +escape(document.search_assist.fn.value);
		if (document.search_assist.st) backUrl = backUrl +"&st=" +escape(document.search_assist.st.value);
		if (document.search_assist.hn) backUrl = backUrl +"&hn=" + document.search_assist.hn.value;
		if (document.search_assist.shComboRef) backUrl = backUrl +"&shComboRef=1";
		if (ok > 1) {
			backUrl = backUrl +"&page=" +page + "&action=" +action
		} else {
			// keine History - zurueck zur Ortsauswahl
			backUrl = "Controller?cmd=cmd_search_assist_ortseingabe&assist_back=1"
			if (document.search_assist.ci) {
				cis=document.search_assist.ci.value;
				backUrl = backUrl +"&ci=" +escape(cis);
			}				
		}
		backUrl = backUrl + "&context=" + document.search_assist.context.value;	
		window.location.href = backUrl; 
		return false;
	} else history.back();
	// "Notloesung", falls referrer leer
}