var request = null;

function initRequest()
{
	try
	{
		request = new ActiveXObject('Msxml2.XMLHTTP');
		return true;
	}
	catch(e)
	{
		try
		{
			request = new ActiveXObject('Microsoft.XMLHTTP');
			return true;
		}
		catch(e)
		{
			try
			{
				request = new XMLHttpRequest();
				return true;
			}
			catch(e)
			{
				request = null;
				return false;
			}
		}
	}
	
	/*
	if (window.XMLHttpRequest)
	{
		request = new XMLHttpRequest();
	}
	else if (window.ActiveXObject)
	{
		request = ActiveXObject("Msxml2.XMLHTTP");
		if (!request)
		{
			request = new ActiveXObject("Microsoft.XMLHTTP");
		}
	}
	*/
}

function sendRequest(url, responder, async)
{
	initRequest();
	if (request)
	{
		try
		{
			request.onreadystatechange = responder;
			request.open('GET', url, async);
			request.send(null);
			return true;
		}
		catch(e)
		{
			request = null;
			return false;
		}
	}
}

/*
// A simple response handler for AJAX requests
function getResponse()
{
	if (request.readyState == 4)
	{
		if (request.status == 200)
		{
			return request.responseText;
    	}
    }
    return null;
}
*/
