//var url = "blz_suche.php3?bankleitzahl="; // PHP-SCRIPT
var value_select;
var input;
var bIsKey;
function handleHttpResponse() {
  if (http.readyState ==4) {
	for (var i=(document.getElementById(value_select).options.length-1); i>=0; i--) 
		document.getElementById(value_select).options[i]=null;
    // Holt die Ergebnisse aus Datei und splittet diese.
    var results = http.responseText.split("|");
  	i=0;
  	for (i; i<20; i++) {
	  	// Erstellen der Options.
		if (results[i]){
		var key_value=results[i].split("#");
  		NeuerEintrag = new Option(key_value[0], key_value[1], false, true);
  		document.getElementById(value_select).options[i] = NeuerEintrag;
		document.getElementById(value_select).options[0].selected = true;
     	}
 	}
	
	if (bIsKey == true) {
		autoComplete(document.getElementById(input),document.getElementById(value_select),'text',true);	
	}
  }
}
function set_input(par_select,par_eintrag)
{
	if(par_select.options[par_select.selectedIndex].text)
	{
		var inhalt=par_select.options[par_select.selectedIndex].text.substr(0,(par_select.options[par_select.selectedIndex].text.search(/\[/)-1));
		if(par_eintrag)
			par_eintrag.value=inhalt;
	}
}
function updateSuche(url,par_input,par_value) {
	
	input=par_input;
	value_select=par_value;
	// Öffnen der Datei
	var cursorKeys ="8;46;37;38;39;40;32;33;34;35;36;45;";
	if (cursorKeys.indexOf(event.keyCode+";") == -1) {
	bIsKey=true;
	}
	else
		bIsKey=false;
	var ortValue = document.getElementById(input).value;
	http.open("GET", url + escape(ortValue), true); 
	http.onreadystatechange = handleHttpResponse;
	http.send(null);
	
}
function getHTTPObject() {
	var xmlhttp;
	/*@cc_on
	@if (@_jscript_version >= 5)
	try {
		xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
    } catch (e) {
      try {
        xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
      } catch (E) {
        xmlhttp = false;
      }
    }
  @else
  xmlhttp = false;
  @end @*/
  if (!xmlhttp && typeof XMLHttpRequest != 'undefined') {
    try {
      xmlhttp = new XMLHttpRequest();
    } catch (e) {
      xmlhttp = false;
    }
  }
  return xmlhttp;
}
var http = getHTTPObject(); // Das HTTP Object wird geladen.

function autoComplete (field, select, property, forcematch) {
	var found = false;
	for (var i = 0; i < select.options.length; i++) {
	if (select.options[i][property].toUpperCase().indexOf(field.value.toUpperCase()) == 0) {
		found=true; break;
		}
	}
	if (found) { select.selectedIndex = i; }
	else { select.selectedIndex = -1; }
	if (field.createTextRange) {
		if (forcematch && !found) {
			field.value=field.value.substring(0,field.value.length-1); 
			return;
			}		
			var r1 = field.createTextRange();
			var oldValue = r1.text;
			var newValue = found ? select.options[i][property] : oldValue;
			if (newValue != field.value) {
				field.value = newValue.substr(0,(newValue.search(/\[/)-1));
				var rNew = field.createTextRange();
				rNew.moveStart('character', oldValue.length) ;
				rNew.select();
				
			}
		}
	}