/*

   ###          ##    ###    ##     ## 
  ## ##         ##   ## ##    ##   ##  
 ##   ##        ##  ##   ##    ## ##   
##     ##       ## ##     ##    ###    
######### ##    ## #########   ## ##   
##     ## ##    ## ##     ##  ##   ##  
##     ##  ######  ##     ## ##     ##

*/


function createRequestObject() {
	var ro = false;	
	ro = false;
	if (window.XMLHttpRequest) { // Mozilla, Safari,...
		ro = new XMLHttpRequest();
		if (ro.overrideMimeType) {
			ro.overrideMimeType('text/html');
		}
	} else if (window.ActiveXObject) { // IE
		try {
			ro = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			try {
				ro = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e) {}
		}
	}
	if (!ro) {
		alert('Cannot create XMLHTTP instance');
		return false;
	} else {
		return ro;
	}
};

var http = createRequestObject();

function makePOSTRequest(parameters) {
		http.open('POST', 'ajax.php', true);
		http.onreadystatechange = handleResponse;
		http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
		http.send(parameters);
};

function makeGETRequest(parameters) {
 	http.open('GET', 'ajax.php?'+parameters);
 	http.onreadystatechange = handleResponse;
 	http.send(null);
};

function sendReq(method, id, actions) {
	document.getElementById('loader').style.display = "block";
	if (method == "post") {
		var values = "id=" + id;
		for(i=0; i<document.forms[0].elements.length; i++) {
			if (document.forms[0].elements[i].type != "submit") {
				values += "&"+document.forms[0].elements[i].name+"="+document.forms[0].elements[i].value;
			}
		}
		makePOSTRequest(values);
	} else if (method == "get") {
		var values = 'id='+id
		for (i=0; i<actions.length; i++) {
			values += "&arg"+i+"="+actions[i];
		}
		makeGETRequest(values);
	}
}; 


function handleResponse() {
 	if(http.readyState == 4){
 		if (http.status != 200) {
 			alert("Fehler: "+http.status);
 		} else {
  			var response = http.responseText;
  			var update = new Array();
			if(response.indexOf('|') != -1) {
				update = response.split('|');
				if (update[1].indexOf('img') != -1) {
					var img = new Image();
					var source = update[1].substring(update[1].lastIndexOf('src')+5, update[1].lastIndexOf('\"'));
					img.onload = function() {
						document.getElementById(update[0]).innerHTML = update[1];
						document.getElementById('loader').style.display = "none";
					};
					img.src = source;
				} else {
					document.getElementById(update[0]).innerHTML = update[1];
					document.getElementById('loader').style.display = "none";
				}
  			}
  		}
 	}
 	
};