/*-----------------------------------------------------
Funcoes que criam objetos AJAX
Contribuicao da galera do iMasters
Rafael Martin (rafa_40005@hotmail.com)

e da galera do Tableless.com.br
-----------------------------------------------------*/
//Funcao simples para criar os objetos AJAX para IE e Firefox
function createXMLHTTP_S()
{
	try
	{
    	xmlhttp = new XMLHttpRequest();
	}
	catch(ee)
	{
		try
		{
			xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
		}
		catch(e)
		{
			try
			{
				xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
			}
			catch(E)
			{
				xmlhttp = false;
			}
		}
	}
	
	return xmlhttp;
}

//A funcao abaixo pega a versao mais nova do xmlhttp do IE e verifica para Firefox. Funciona nos dois.
function createXMLHTTP()
{
	try
	{
		ajax = new ActiveXObject("Microsoft.XMLHTTP");
	}
	catch(e)
	{
		try
		{
			ajax = new ActiveXObject("Msxml2.XMLHTTP");
			alert(ajax);
		}
		catch(ex)
		{
			try
			{
				ajax = new XMLHttpRequest();
			}
			catch(exc)
			{
				alert("Esse browser nao tem recursos para uso do Ajax.");
				ajax = null;
			}
		}
			return ajax;
	}


	var arrSignatures = ["MSXML2.XMLHTTP.5.0","MSXML2.XMLHTTP.4.0","MSXML2.XMLHTTP.3.0","MSXML2.XMLHTTP","Microsoft.XMLHTTP"];

	for (var i=0; i < arrSignatures.length; i++)
	{
		try 
		{
			var oRequest = new ActiveXObject(arrSignatures[i]);
			return oRequest;
		}
		catch (oError)
		{
		}
	}

	throw new Error("MSXML nao esta instalado em seu sistema.");
}

//Exemplo de como usar a funcao em suas aplicacoes
/*

function PegaDadosAJAX(sTipo)
{
	//----------Criacao do objeto XMLHTTP
	var oHTTPRequest = createXMLHTTP();
	
	//----------Abrindo a solicitacao HTTP. O primeiro parametro informa o metodo post/get
	//----------O segundo parametro informa o arquivo solicitado que pode ser asp, php, txt, xml, etc.
	//----------O terceiro parametro informa que a solicitacao e assincrona,
	//----------Para solicitacao sincrona, o parametro deve ser false
	oHTTPRequest.open("post", "pagina.php", true);
	
	//----------Para solicitacoes utilizando o metodo post, deve ser acrescentado este cabecalho HTTP
	oHTTPRequest.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	
	//----------A funcao abaixo e executada sempre que o estado do objeto muda (onreadystatechange)
	oHTTPRequest.onreadystatechange=function()
									{
										//----------O valor 4 significa que o objeto ja completou a solicitacao
										if(oHTTPRequest.readyState==4)
										{
										//----------Abaixo o texto e gerado no arquivo pagina.php e colocado no div
										document.getElementById('idDaDIV').innerHTML = oHTTPRequest.responseText;
										}
									}
	
	//----------Abaixo e enviada a solicitacao. Note que a configuracao
	//----------do evento onreadystatechange deve ser feita antes do send.
	oHTTPRequest.send("tipo=" + sTipo);
}
*/