function AJAX(url, params, callback, content_type, error)
{
	var req = null;

	if(window.XMLHttpRequest)
		req = new XMLHttpRequest();
	else
		req = new ActiveXObject("Microsoft.XMLHTTP");

	if(!req)
	{
		alert("Unexpected error: AJAX failed to initialize");
		return false;
	}

	req.onreadystatechange = function()
	{
		switch(req.readyState)
		{
			case 4:
				if(error && req.status != 200)
					error(req.status, req.statusText);
				var response = req.responseText;
				if(callback)
					callback(response, req.status, req.statusText);
				req = null;
			break;
			case 12159:
				// OK: It's the IE SSL bug. Create a timeout to call <me> again
				var loader = this;
				setTimeout( function() { loader.execute.call(loader); }, 10);
			break;
		}
	}

	if(!content_type)
		content_type = 'application/x-www-form-urlencoded';

	req.open('post', url);
	//req.setRequestHeader('Content-Type', content_type);
	req.send(params);
}
