/* LICENCE
 * Copyright (c) 2010 Ewoud Dronkert <ewoud@dronkert.net>
 * Source code ownership, sale & re-distribution rights reserved.
 * Otherwise unlimited commercial use licence granted to Sportsblogs, Inc.
 */

/**
 * Define XMLHttpRequest object constructor for IE
 */
if (typeof XMLHttpRequest == "undefined")
	XMLHttpRequest = function() {
		try { return new ActiveXObject("Msxml2.XMLHTTP.6.0") } catch(e) {};
		try { return new ActiveXObject("Msxml2.XMLHTTP.3.0") } catch(e) {};
		try { return new ActiveXObject("Msxml2.XMLHTTP")     } catch(e) {};
		try { return new ActiveXObject("Microsoft.XMLHTTP")  } catch(e) {};
		throw new Error("This browser does not support XMLHttpRequest.");
	};

/**
 * Perform dynamic HTTP request with POST variables and callback function to process returned text
 */
function ajax(url, vars, callbackFunction)
{
	var request = new XMLHttpRequest();
	request.open("POST", url, true);
	request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	request.onreadystatechange = function() {
		var done = 4, ok = 200;
		if (request.readyState == done && request.status == ok) {
			if (request.responseText) {
				callbackFunction(request.responseText);
			}
		}
	};
	request.send(vars);
}
