
/* distribution: war */

function ajax_load(url, requestContent, handler, handlerMethod, expectedType, sync, method, contentType) {

	var t = (new Date()).getTime();
	var result = null;

	var request =  new XMLHttpRequest();

	request.open(method, url, !sync);

	if (contentType)
		request.setRequestHeader('Content-Type', contentType);
	else
		request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');

	request.onreadystatechange = function() {
		if (sync)
			return;
		if (request.readyState == 4 && request.status == 200) {
			var code = null;
			if (expectedType == 'text/xml')
				code = 'handler.' + handlerMethod + '(request.responseXML);'
			else
				code = 'handler.' + handlerMethod + '(request.responseText);'
			eval(code);
		} else
			alert('request.readyState: [' + request.readyState + '], request.status: [' + request.status + ']');
	};

	request.send(requestContent);

	if (sync) {
		if (expectedType == 'text/xml')
			code = 'handler.' + handlerMethod + '(request.responseXML);'
		else
			code = 'handler.' + handlerMethod + '(request.responseText);'
		eval(code);
	}

	return request.responseXML;
}

