function loadXMLDoc()
{
	req = false;
	// branch for native XMLHttpRequest object
	if(window.XMLHttpRequest)
	{
		try
		{
			req = new XMLHttpRequest();
		}
		catch(e)
		{
			req = false;
		}
		// branch for IE/Windows ActiveX version
	}
	else if(window.ActiveXObject)
	{
		try
		{
			req = new ActiveXObject("Msxml2.XMLHTTP");
		}
		catch(e)
		{
			try
			{
				req = new ActiveXObject("Microsoft.XMLHTTP");
			}
			catch(e)
			{
				req = false;
			}
		}
	}
	return req;
}

function createXMLHttpRequest() {
  try { return new ActiveXObject("Msxml2.XMLHTTP");    } catch(e) {}
  try { return new ActiveXObject("Microsoft.XMLHTTP"); } catch(e) {}
  try { return new XMLHttpRequest();                   } catch(e) {}
  alert("XMLHttpRequest not supported");
  return null;
}

function getReadyStateHandlerWithProgress(reqXml, responseHandlerLoading, responseHandler, Tipo, nomeDiv)
{
    return function () 
    {
    	if (reqXml.readyState == 4) 
    	{
    		try 
    		{
    			if (reqXml.status && reqXml.status == 200)
    			{
    				if (Tipo =='T')
	    				responseHandler(reqXml.responseText, nomeDiv);
    				else
	    				responseHandler(reqXml.responseXML, nomeDiv);
    			}
    		}
    		catch (e) 
    		{
    		
    		}
	   	}
	   	else
	   	{
	   		if (responseHandlerLoading)
		   		responseHandlerLoading(nomeDiv);
	   	}
	};
}

function getReadyStateHandler(reqXml, responseHandler, nomeDiv)
{
    return function () 
    {
    	if (reqXml.readyState == 4) 
    	{
    		try 
    		{
    			if (reqXml.status && reqXml.status == 200)
    			{
    				responseHandler(reqXml.responseXML, nomeDiv);
    			}
    		}
    		catch (e) 
    		{
    		
    		}
	   	}
	};
}