function DoCallback(url, data, callBackFunction)
{
	var request = false;

	try
	{
		request = new XMLHttpRequest();
	} 
	catch (trymicrosoft) 
	{
		try 
		{
			request = new ActiveXObject("Msxml2.XMLHTTP");
		} 
		catch (othermicrosoft) 
		{
			try 
			{
				request = new ActiveXObject("Microsoft.XMLHTTP");
			} 
			catch (failed) 
			{
				request = false;
			}  
		}
	}

	if (request)
	{
		request.onreadystatechange = function() 
		{
			if (request.readyState == 4) 
			{
				if (request.status == 200) 
				{
					eval(callBackFunction);
				}
				else if (request.status == 404) 
				{
					alert("URL does not exist.");
				}
				else
				{
					alert('There was a problem retrieving the XML data: ' + request.responseText);
				}
			}
		};
		
		request.open('POST', url, true);
		request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
		request.send(data);
	}
	else
	{
		alert("Error initializing XMLHttpRequest!");
	}
}