var parameters;
var currentAction;

function ajax() {

	this.ajaxLoader = function(tempbool) {
		if (tempbool == true) {
			document.getElementById("ajaxloader").innerHTML = "<img src='../assets/ajax.gif'>";
			document.getElementById("ajaxloader").style.visibility = "visible";
		} else {
			document.getElementById("ajaxloader").innerHTML = "";
			document.getElementById("ajaxloader").style.visibility = "hidden";
		}
	}

	this.evalScript = function(scripts) {
	}

	this.makePOSTRequest = function(url, parameters, tempdivid, tempeval, resTarget) {

		// eerst de ajax-loader zetten
		//this.ajaxLoader(true);
		// let the curtain fall
		document.getElementById("curtain").style.width = "100%";
		document.getElementById("curtain").style.height = "100%";

		// save in hidden fields
		// onreadystatechange does not accept variables from this object
		document.getElementById("divid").value = tempdivid;
		document.getElementById("eval").value = tempeval;
		document.getElementById("res_target").value = resTarget;

		if (window.XMLHttpRequest) { // Mozilla, Safari,...
			http_request = new XMLHttpRequest();
			if (http_request.overrideMimeType) {
				http_request.overrideMimeType('text/html');
			}
		} else if (window.ActiveXObject) { // IE
			try {
				http_request = new ActiveXObject("Msxml2.XMLHTTP");
			} catch (e) {
				try {
				   http_request = new ActiveXObject("Microsoft.XMLHTTP");
				} catch (e) {}
			}
		}

		if (!http_request) {
			alert('Probleem met XMLHTTP-Instance. Pagina opnieuw laden a.u.b.!');
		}

		http_request.onreadystatechange = function() {

			if (http_request.readyState == 4) {
				if (http_request.status == 200) {
					result = http_request.responseText;
					if (document.getElementById("eval").value == "true") {
						//alert("eval!");
						evalScript(result);
					}
					if (document.getElementById("divid").value != "") {
						document.getElementById(document.getElementById("divid").value).innerHTML = result + document.getElementById(document.getElementById("divid").value).innerHTML;
					}
					// verwijder ajax-loader
					document.getElementById("ajaxloader").innerHTML = "";
					document.getElementById("ajaxloader").style.visibility = "hidden";
					document.getElementById("curtain").style.width = "0%";
					document.getElementById("curtain").style.height = "0%";					
					// ajaxdone ...
					// ... for backoffice
					if (document.getElementById("res_target").value == "backoffice.js") {
						ajaxdoneBackoffice(result);
					}
					// ... for frontend
					if (document.getElementById("res_target").value == "frontend.js") {
						ajaxdoneFrontend(result);
					}
					// ... for calendar
					if (document.getElementById("res_target").value == "calendar_eu.js") {
						ajaxdoneCalendar(result);
					}
				} else {
					//ajaxdone(null);
					alert('Probleem met AJAX-Request in onreadystatechange. Pagina opnieuw laden a.u.b.!');
				}
			}

		}
		http_request.open('POST', url, true);
		http_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
		http_request.setRequestHeader("Content-length", parameters.length);
		http_request.setRequestHeader("Connection", "close");
		http_request.send(parameters);
		//alert(url + "?" + parameters);

	}

	// *constructor*
	var divid;
	var eval;

}

