var http_request = false;
function ajax(url, waitIconId) {
	http_request = false;
	if(window.XMLHttpRequest) {
		http_request = new XMLHttpRequest();
		if(http_request.overrideMimeType) { http_request.overrideMimeType('text/xml'); }
	}
	else if(window.ActiveXObject) {
		try { http_request = new ActiveXObject("Msxml2.XMLHTTP"); }
		catch(e) {
			try { http_request = new ActiveXObject("Microsoft.XMLHTTP"); }
			catch (e) {}
		}
	}
	
	if (!http_request) {
		alert('Ende :( Kann keine XMLHTTP-Instanz erzeugen');
		return false;
	}
	http_request.onreadystatechange = ajaxActions;
	http_request.open('POST', url, true);
	http_request.send("place=holder");
	if(waitIconId) { document.getElementById(waitIconId).src = "imgs/icons/wait16trans.gif"; }
}

function ajaxActions() {
	if (http_request.readyState == 4) {
		if (http_request.status == 200) {
			var actionType = http_request.responseXML.getElementsByTagName("action").item(0).getAttribute("type");
			if(actionType == "delpresence") {
				var success = http_request.responseXML.getElementsByTagName("action").item(0).getAttribute("success");
				if(success == "1") {
					var id = http_request.responseXML.getElementsByTagName("action").item(0).getAttribute("id");
					document.getElementById("presenceline" + id).style.display = "none";
				}
				else {
					var error = http_request.responseXML.getElementsByTagName("action").item(0).getAttribute("error");
					alert(error);
				}
			}
			else if(actionType == "addpresence") {
				var success = http_request.responseXML.getElementsByTagName("action").item(0).getAttribute("success");
				if(success == "1") {
					var userid = http_request.responseXML.getElementsByTagName("action").item(0).getAttribute("userid");
					document.getElementById("userline" + userid).style.display = "none";
				}
				else {
					var error = http_request.responseXML.getElementsByTagName("action").item(0).getAttribute("error");
					alert(error);
				}
			}
			else if(actionType == "gotformon" || actionType == "gotformoff" || actionType == "paidon" || actionType == "paidoff" || actionType == "dpon" || actionType == "dpoff") {
				var id = http_request.responseXML.getElementsByTagName("action").item(0).getAttribute("id");
				if(actionType == "gotformon" || actionType == "gotformoff") {
					document.getElementById("gotformoff" + id).style.display = "block";
					document.getElementById("gotformon" + id).style.display = "block";
					document.getElementById(actionType + id).style.display = "none";
				}
				else if(actionType == "paidon" || actionType == "paidoff") {
					document.getElementById("paidoff" + id).style.display = "block";
					document.getElementById("paidon" + id).style.display = "block";
					document.getElementById(actionType + id).style.display = "none";
				}
				else if(actionType == "dpon" || actionType == "dpoff") {
					document.getElementById("dpoff" + id).style.display = "block";
					document.getElementById("dpon" + id).style.display = "block";
					document.getElementById(actionType + id).style.display = "none";
				}
				document.getElementById("wait" + id).src = "imgs/design/stuff/s.gif";
			}
			else if(actionType == "acheck") {
				var mode = http_request.responseXML.getElementsByTagName("action").item(0).getAttribute("mode");
				var signupid = http_request.responseXML.getElementsByTagName("action").item(0).getAttribute("signupid");
				var checknum = http_request.responseXML.getElementsByTagName("action").item(0).getAttribute("checknum");
				document.getElementById("add-" + signupid + "-" + checknum).style.display = "block";
				document.getElementById("rem-" + signupid + "-" + checknum).style.display = "block";
				document.getElementById(mode + "-" + signupid + "-" + checknum).style.display = "none";
			}
		}
		else { alert('Bei dem Request ist ein Problem aufgetreten.'); }
	}
}

function rated(t, i, r) {
	rating("r-" + t + "-" + i, r);
}