
var xmlHttp = null;
var txtpart = new Array();
var classpart = new Array();
var coordsX = new Array();
var coordsY = new Array();
   	
// Geokodierung vorschlagen
function vorschlag() {
	
	if(window.XMLHttpRequest) {
		try {
			netscape.security.PrivilegeManager.enablePrivilege("UniversalBrowserRead");
		} catch (e) {
		}
		try {
			xmlHttp = new XMLHttpRequest();
	
		} catch(e) {
			xmlHttp = false;
		}
			
	} else if(window.ActiveXObject) {
	
		try {
			xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
	
		} catch(e) {
				
			try {
				xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
			} catch(e) {
				xmlHttp = false;
			}
		}
	
	} else {
			
	}
	var input = document.getElementById("geocodeInput").value;
		
		xmlHttp.onreadystatechange = function() { createText(); }
		xmlHttp.open('GET', functionlink + '/geocode.php5?CITY=' + urlencode(input), true);	
		xmlHttp.send(null);
	
}


function createText() {
	var c = "";
	var rtext;
	if (xmlHttp.readyState == 4) {
		rtext = xmlHttp.responseText;
		if ((rtext != "") && (rtext != null)) {
			txtpart = rtext.split("#");
			c += "<table class='TableListe'>";
			for (var i in txtpart) {
				classpart = txtpart[i].split("*");
				if(classpart != "" && typeof classpart[1] != 'undefined'){
					c += "<tr><td><a href='";
					c += "javascript:setvalue(" + i + ");'";
					c += " class='Liste' style='color:#000000'>";
					c += classpart[0] + ' ' + classpart[1];
					c += "</a>";
					c += "</tr>";

					txtpart[i] = classpart[0] + ' ' + classpart[1];
					coordsX[i] = classpart[2];
					coordsY[i] = classpart[3];
				}
			}
			c += "</table>";
		}
		document.getElementById('listarea').style.position = "absolute";
		document.getElementById('listarea').style.overflow = "hidden";				
		if (c != "") {          

			document.getElementById('listarea').innerHTML = c;
			document.getElementById('listarea').style.visibility = "visible";
		} else {     
			document.getElementById('listarea').innerHTML = '';        
			document.getElementById('listarea').style.visibility = "hidden";
		}
	}
}

function setvalue(id) {
	var FormInputField = document.getElementById('geocodeInput');
	var DivOutputArea = document.getElementById('listarea');

	if (txtpart[id] != null && txtpart[id] != "") {        
		umlautxml = new Array('&ouml;','&Ouml;','&uuml;','&Uuml;','&auml;','&Auml;','&szlig;');
		umlauthtml = new Array('Ã¶','Ã–','Ã¼','Ãœ','Ã¤','Ã„','ÃŸ');			
		var erg;
		erg = txtpart[id];

		for (i = 0; i < umlautxml.length; i++) {
			
			erg = erg.replace(umlautxml[i],umlauthtml[i]);		 	 	
		}

		FormInputField.value = erg;			

		document.getElementById("listarea").style.position = "absolute";
		document.getElementById("listarea").style.overflow = "hidden";	
		document.getElementById("listarea").innerHTML = '';		
		document.getElementById("listarea").style.visibility = "hidden";   
				
		document.getElementById('loader').style.visibility = 'visible';
		insertTipText();
		map.setCenter(new OpenLayers.LonLat(coordsX[id], coordsY[id]), 8);
	}
}


function urlencode(str) {
	umlaute = new Array('ö','Ö','ü','Ü','ä','Ä','ß');
	utfchars = new Array('%C3%B6','%C3%BC','%C3%BC','%C3%BC','%C3%A4','%C3%A4','%C3%9F');
	for (i = 0; i < umlaute.length; i++) {
		str = str.replace(umlaute[i],utfchars[i]);
	}
	return str;
}
	
