function send_xml_response_xml_async( url, xml, functionName ) 
{
	url = encodeURI( url );
	if( !xml )
		xml = '';

	var xmlHttp
	//to choose between firefox and ie xmlHttpRequest methods
	if (window.XMLHttpRequest)
		xmlHttp = new XMLHttpRequest();
	else if (window.ActiveXObject)
		xmlHttp = new ActiveXObject("Msxml2.XmlHttp");
	else
		xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");

	xmlHttp.onreadystatechange = loadingState;
	xmlHttp.open( 'POST', url, true );
	xmlHttp.setRequestHeader( 'Content-Type', 'text/xml' );
	xmlHttp.send( xml );

	// function that will check the readyState until it is 4 (complete) and make sure 
	// the status = 200 (ok) and then return xmlHttp
	function loadingState( ) 
	{
		if (xmlHttp.readyState == 4) 
		{
			if (xmlHttp.status == 200) 
			{
				functionName(xmlHttp);
			} 
			else
			{
				alert('There was a problem with the request.  Please try again.  Status: ' + xmlHttp.status);
			}
		}
	}
}
