/* Mini-Ajax-Framework v1.1 (30.07.2010), © 2010 by Timo Weirich */

var _req = null;
var _target = "";
var _append = false;
var _callback = null;
var _delay = 1;

function _handleServerResponse() {
	// Server-Antwort verarbeiten
	switch(_req.readyState) {
		case 0: // uninitialized
			break;
		case 1: // loading
			break;
		case 2: // loaded
			break;
		case 3: // interactive
			break;
		case 4: // complete
			if(_req.status != 200) { window.alert("Ajax-Request fehlgeschlagen, Fehlercode: " + _req.status + "."); }
			else {
				if(_append == true) { document.getElementById(_target).innerHTML += _req.responseText; }
				else { document.getElementById(_target).innerHTML = _req.responseText; }
				if(_callback != null) setTimeout(_callback,_delay);
				_callback = null;
			}
			break;
		default:
			return false;
	}
}

function ajax_send(URL, target, append, callback, delay) {
	_target = target;
	_append = append;
	if(typeof callback != 'undefined') _callback = callback;
	if(typeof delay != 'undefined') _delay = parseInt(delay);
	// Ajax-Request erstellen
	try { _req = new XMLHttpRequest(); }
	catch(ms) {
		try { _req = new ActiveXObject("Msxml2.XMLHTTP"); }
		catch(nonms) {
			try { _req = new ActiveXObject("Microsoft.XMLHTTP"); }
			catch(failed) { window.alert("Ihr Browser bietet keine Ajax-Unterstützung."); }
		}
	}
	// asynchrone GET-Anfrage absetzen
	_req.open("GET", URL, true);
	_req.onreadystatechange = _handleServerResponse;
	_req.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
	_req.send(null);
}

