// AJAX-Funktionen zum laden aller Orte zu einer PLZ

var count=0;
var selId=0;

// Eintrag ins Dropdown hinzufuegen
function selAppend(value, text) {
  var en = document.createElement('option');
  en.text = text;
  en.value = value;
  var e = document.getElementById('ort');

  try { e.add(en, null); } // non IE
  catch(ex) { e.add(en); } // IE
}

// Dropdownbox loeschen
function selClear() {
	var e = document.getElementById('ort');
	for (i = e.length - 1; i>=0; i--)
		e.remove(i);
}

// Eintraege laden (AJAX)
function selLoad(e, id) {
	selClear();
	selId = id;
	if(e.value.length >= 4 && e.value.length <= 5) {	
		loadXML("assets/js/selort.xml.php?plz="+e.value);
	}
}

// XML-File laden
function loadXML(sFileName) {
	if (window.XMLHttpRequest) { // moz
		req = new XMLHttpRequest();
	} 
	else if (window.ActiveXObject) { // ie
		try {
			req = new ActiveXObject("Msxml2.XMLHTTP");
		} 
		catch (e) {
			try {
				req = new ActiveXObject("Microsoft.XMLHTTP");
			} 
			catch (e) {}
		}
	}
	req.onreadystatechange = function(){ getmessage( ) };
	
	if(!req) return false;
	req.open('GET', sFileName, true);
	req.send(null);	
}

// XML-Parsen
function getmessage() {
	if (req.readyState == 4 && req.status == 200) {
	
		orte=req.responseXML.getElementsByTagName("ort");
		for(i=0;i<orte.length;i++) {
			ortId=parseInt(orte[i].getElementsByTagName("id")[0].firstChild.nodeValue, 10);
			ortName=orte[i].getElementsByTagName("name")[0].firstChild.nodeValue;
			selAppend(ortId, ortName);
		}
		reselect();		
	}
}

// Eintrag mit selId in der Dropdownbox selektieren
function reselect() {
	if(selId) {
		selBox = document.getElementById('ort');
		for(i=0; i < selBox.options.length; i++) {
			if(selBox.options[i].value == selId) {
				selBox.options[i].selected=true;
			}
		}
	}
}

