var land = {
	init: function() {
		var land = document.getElementById("land");
		// console.log(land);
		if (land) {
			addEvent_1(land, "change", this);
		}
	},
	handleEvent: function (event) {
		switch (event.type) {
			case "load":
				this.init();
				break;
			case "change":
				request_select("bundesland", event.target.value);
				if (document.getElementById("grossraum"))
				{
					document.getElementById("grossraum").options.length = null;
				}
				break;
		}
	}
};
addEvent_1(window, "load", land);

var bundesland = {
	init: function() {
		var bundesland = document.getElementById("bundesland");
		if (bundesland) {
			addEvent_1(bundesland, "change", this);
		}
	},
	handleEvent: function (event) {
		switch (event.type) {
			case "load":
				this.init();
				break;
			case "change":
				if (document.getElementById("grossraum"))
				{
					request_select("grossraum", event.target.value);
				}
				break;
		}
	}
};
addEvent_1(window, "load", bundesland);

var studienrichtung = {
	init: function() {
		var studienrichtung = document.getElementById("studienrichtung");
		if (studienrichtung) {
			addEvent_1(studienrichtung, "change", this);
		}
	},
	handleEvent: function (event) {
		switch (event.type) {
			case "load":
				this.init();
				break;
			case "change":
				if (document.getElementById("studiengang")) {
					request_select("studiengang", event.target.value);
				}
				break;
		}
	}
};
addEvent_1(window, "load", studienrichtung);

function request_select(action, value) {
	var xmlhttp = new XMLHttpRequest();
	xmlhttp.onreadystatechange = function() {
		if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
			var response = xmlhttp.responseXML;
			
			var value = response.getElementsByTagName("id");
			var text = response.getElementsByTagName("text");
			if (value.length == text.length) {
				var options = document.getElementById(action).options;
				options.length = null;
				
				for (var i = 0; i < value.length; i++) {
					options[i] = new Option(text[i].firstChild.nodeValue, value[i].firstChild.nodeValue);
				}
			}
		}
	}
	var poststr = 'value='+value;
	
	xmlhttp.open("POST", "/admin/ajax/"+action+".php", true);
	xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	xmlhttp.setRequestHeader("Content-length", poststr.length);
	xmlhttp.send(poststr);
}

// TODO - nach erfolgreicher umstellung von GET auf POST entfernen
function request2(action, value) {
	var xmlhttp = new XMLHttpRequest();
	xmlhttp.onreadystatechange = function() {
		if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
			var response = xmlhttp.responseXML;
			
			var value = response.getElementsByTagName("id");
			var text = response.getElementsByTagName("text");
			if (value.length == text.length) {
				var options = document.getElementById(action).options;
				options.length = null;
				
				for (var i = 0; i < value.length; i++) {
					options[i] = new Option(text[i].firstChild.nodeValue, value[i].firstChild.nodeValue);
				}
			}
		}
	}
	
	xmlhttp.open("GET", "/admin/ajax/"+action+".php?value=" + value, true);
	xmlhttp.send(null);
}