

var http;

function createRequestObject() {
	var req;
	if (window.XMLHttpRequest) {
		req = new XMLHttpRequest();
	}
	else if (window.ActiveXObject) {
		req = new ActiveXObject("Microsoft.XMLHTTP");
	}
	else {
		req = NULL;
		alert('Probleem met het aanmaken van het XMLHttpRequest-object');
	}
	return req;
}

function gateway(gateway, source, target, subject, func) {
	http = createRequestObject();
	source = getElement(source);
	target = getElement(target);

	http.open('get', gateway + "?subject=" + subject + "&value=" + source.value, true);
	http.onreadystatechange = function() {
		if (http.readyState == 4 && http.status == 200) {
			var output;
			if (http.responseText) {
				 output = http.responseText;
			}
			else {
				output = "&nbsp;";
			}
		}
		else {
			output = "&nbsp;";
		}
		if (func) {
			target.innerHTML = eval(func + "(" + output + ")");
		}
		else {
			target.innerHTML = output;
		}
	}
	http.send(null);

}

