<!--
//	Copyright by alta4 Geoinformatik AG
//	
//	Frauenstraße 8+9
//	54290 Trier
//	fon : +49(0)651.96626-0
//	fax: + 49(0)651.96626-26
//	info@alta4.de
//	www.alta4.de


expr1 = new Array("+", "?", "{n}", "{n,}", "{n,m}");
expr2 = new Array("(", ")", "[", "]");

var strHref = "";
var strQuery = "";
var strSearchOrg = "";
var intWortLaenge = 28;

function search() {

	var strResult = "";
	var strSource = "";
	var bChecked = false;
	
	strHref = "";
	
	strSearch = document.searchForm.searchField.value;

	if(browOP) {
		strSearch = "";
		alert("Browser: Opera ==> limited functionality\nAutomatically all Objects will be search.");	
	}
	clear();
	
	strSearch = modifyString(strSearch);

	for(var i=0; i<arraySearch.length; i++) {
		bChecked = false;
		strSource = arraySearch[i];
		if(!document.searchForm.sensitiveCheck.checked) {
			strResult = (strSource.toLowerCase().substring(0, strSource.indexOf("|"))+"").match(strSearch.toLowerCase()+"");
			if (strResult!=null) {
				if (strResult+"".toLowerCase() == strSource.toLowerCase().substring(0, strSource.indexOf("|"))) {
					bChecked = true;
				}
			}
		} 
		else {
			strResult = (strSource.substring(0, strSource.indexOf("|"))+"").match(strSearch+"");
			if (strResult+"" == strSource.substring(0, strSource.indexOf("|"))) {
				bChecked = true;
			}
		}
		if((strResult != null) && (bChecked)) {	
			document.searchForm.showButton.disabled=false;
			strResult = (strSource.substring(0, strSource.indexOf("|"))+"").substring(0, intWortLaenge);
			newEntry = new Option(strResult, strResult, false, true);
			document.searchForm.result.options[document.searchForm.result.length] = newEntry;
			strHref = strHref + "|" +  strSource.substring(strSource.indexOf("|")+1, parseInt((strSource+"").length));
		} 
	}
	strHref = strHref + "|";
	if(document.searchForm.result.length >=1 ) {
		document.searchForm.result.options[0].selected = true;	
		document.searchForm.result.focus();
	}
}
function showURL() {
	
	if(document.searchForm.result.selectedIndex != -1) {	
		var pos = 0;
		var i = 0;
		while(i<document.searchForm.result.selectedIndex) {
			pos = strHref.indexOf("|", pos+1);
			i++;
		}
		opener.document.location = strHref.substring(pos+1, strHref.indexOf("|", pos+1))+".html?"+
			    (document.searchForm.result.options[i].text+"|").replace(" ", "%20");
		
	}
}
function clear() {
	
	document.searchForm.showButton.disabled = true;
	//document.searchForm.searchField.value = strSearchOrg;
	while(document.searchForm.result.length>0) {
	 	document.searchForm.result.options[0] = null;
	}
}

function modifyString() {
	
	for(var i=0; i<expr1.length; i++) {	
		if(strSearch.indexOf(expr1[i]) == 0) {
			alert("wrong Syntax!\n['+', '?', '{n}', '{n,}', '{n,m}']\nnot allowed")
			return "";
		}
	}
	if(strSearch=="") {
		return ".+";
	}	
	while(strSearch.indexOf("*")!=-1) {
		strSearch = strSearch.replace("*", ".+");
	}
	while(strSearch.indexOf(".+")!=-1) {
		strSearch = strSearch.replace(".+", ".*");
	}
	
	while(strSearch.indexOf("\\")!=-1) {
		strSearch = strSearch.replace("\\", ".");
	}
	for(var i=0; i<expr2.length; i++) {	
		while(strSearch.indexOf(expr2[i])!=-1) {
			strSearch = strSearch.replace(expr2[i], ".");	
		}
	}
	if(!document.searchForm.exactCheck.checked) {
		strSearch = strSearch + ".*";	
	} 
	return strSearch;
}

//-->
