function getAjaxObj()
{
	var activexmodes=["Msxml2.XMLHTTP", "Microsoft.XMLHTTP"] //activeX versions to check for in IE
	
	if (window.ActiveXObject)
	{
		//Test for support for ActiveXObject in IE first (as XMLHttpRequest in IE7 is broken)
		for (var i=0; i<activexmodes.length; i++)
		{
			try
			{
				return new ActiveXObject(activexmodes[i]);
			}
			catch(e)
			{
				//suppress error
			}
		}
	}
	else if (window.XMLHttpRequest)
	{
		//If Mozilla, Safari etc
		return new XMLHttpRequest();
	}
	
	return false;
}

function AjaxRequest(file, oncomplete, method, vars)
{
	if(!file || !oncomplete) return;
	if(!method) method = 'GET';
	if(!vars) vars = '';
	
	var request = getAjaxObj();
	
	request.onreadystatechange = function()
	{
		if (request.readyState == 4
		&& request.status == 200)
		{
			var response = encodeURIComponent(request.responseText);
			
			eval(oncomplete+'("'+response+'")');
		}
	}
	
	if(method == 'POST')
	{
		request.open('POST', file, true);
		request.setRequestHeader("Content-type","application/x-www-form-urlencoded");
		request.send(vars);
	}
	else
	{
		request.open('GET', file+'?'+vars, true);
		request.send(null);
	}
}
