// Ajax
// a funcao abaixo pega a versao mais nova do xmlhttp do ie.
function Cria_Xml_Http() {
	// padrores do IE
	var Msxml_IE = ["MSXML2.XMLHTTP.5.0", "MSXML2.XMLHTTP.4.0",
	"MSXML2.XMLHTTP.3.0", "MSXML2.XMLHTTP",
	"Microsoft.XMLHTTP"];
	// DETERMINA O TIPO DE NAVEGADOR
	//NAVEGADOR MOZZILA, SAFIRA, OPERA UTILIZAM O
	// XMLHttpRequest
	if (this.XMLHttpRequest) { // Mozilla, Safari,...
		//CASO SEJÁ ESTES NAVEGADORES O TIPO DE RESPOSTA DO SERVIDOR
		// SERÁ XMLHttpRequest
		Ajax_Objeto = new XMLHttpRequest();
			
		if (Ajax_Objeto.overrideMimeType) {
			Ajax_Objeto.overrideMimeType('text/html');
		}
		return Ajax_Objeto;
	// O NAVEGADOR IE UTILIZA O METODO DE RESPOSTA ActiveXObject
	} else if (this.ActiveXObject) { // IE
		//CASO O COMANDO ABAIXO RETORNE ERRO
		// O COMANDO ABAIXO DE cath(e) SERÁ EXECUTADO
	
		for (var i=0; i < Msxml_IE.length; i++) {
			try {
				var Ajax_Objeto = new ActiveXObject(Msxml_IE[i]);
				return Ajax_Objeto;
			} catch (oError) {
			}
		}
		throw new Error("MSXML Não Suportado Pelos Navegadores.");
	}
}

function Solicitacao_Ajax(Metodo_GP,Pagina,Informacoes,Id_obj_resposta){
	// criacao do objeto XMLHTTP
	var Conexao_Ajax = Cria_Xml_Http();
	
	if (Metodo_GP=='POST'){
				// 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 nao assincrona, 
				// para solicitacao sincrona o parametro deve ser false
				Conexao_Ajax.open("post", Pagina, true);
				// para solicitacoes utilizando o metodo post deve ser acrescentado 
				// este cabecalho HTTP
				Conexao_Ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
				// a funcao abaixo e executada sempre que o estado do objeto muda (onreadystatechange)
				document.getElementById(Id_obj_resposta).innerHTML="Aguarde...";
				Conexao_Ajax.onreadystatechange=function() {
					// o valor 4 significa que o objeto ja completou a solicitacao
					if (Conexao_Ajax.readyState==4){
						if (Conexao_Ajax.status == 200) {
							// abaixo o texto do gerado no arquivo executa.asp e colocado no div
							document.getElementById(Id_obj_resposta).innerHTML = unescape(Conexao_Ajax.responseText.replace(/\+/g," "));
							//alert(Conexao_Ajax.responseText);
								//
								//
								//
								var scripts = document.getElementById(Id_obj_resposta).getElementsByTagName("script"); 
								// Aki, vamos inserir o conteúdo da tag <script> que pegamos na linha acima
								for(i = 0; i < scripts.length; i++)           {
									var newElement = scripts[i].innerHTML; 
									}
									// Agora, inserimos a nova tag <script> dentro da div na página inicial
									//alert(newElement);
									////
									////
									///
											newElement = "<script language='javascript'>" + newElement + "</script>"
											//alert(newElement + '1');
											var testFrame = document.getElementById("I_Resposta");
											var doc = testFrame.contentDocument;
											if (doc == undefined || doc == null)
												doc = testFrame.contentWindow.document;
											doc.open();
											doc.write(newElement);
											doc.close(); 
						} else {
						alert('O Servidor Não responde ao pedido de Informações');
						}
					}
				}
				// abaixo e enviada a solicitacao. Note que a configuracao
				// do evento onreadystatechange deve ser feita antes do send.
				Conexao_Ajax.send(Informacoes);
	} else if (Metodo_GP=='GET'){
			Conexao_Ajax.open('GET', Pagina + '?' + Informacoes, true);
		// a funcao abaixo e executada sempre que o estado do objeto muda (onreadystatechange)
		document.getElementById(Id_obj_resposta).innerHTML="Aguarde...";
		Conexao_Ajax.onreadystatechange=function() {
			// o valor 4 significa que o objeto ja completou a solicitacao
			if (Conexao_Ajax.readyState==4){
				if (Conexao_Ajax.status == 200) {
					// abaixo o texto do gerado no arquivo executa.asp e colocado no div
					document.getElementById(Id_obj_resposta).innerHTML = unescape(Conexao_Ajax.responseText.replace(/\+/g," "));
					//
					//
					//
					/*var scripts = document.getElementById(Id_obj_resposta).getElementsByTagName("script");
					// Aki, vamos inserir o conteúdo da tag <script> que pegamos na linha acima
					for(i = 0; i < scripts.length; i++)           {
						var newElement = scripts[i].innerHTML; 
						}
						// Agora, inserimos a nova tag <script> dentro da div na página inicial
						//alert(newElement + 98);
						////
						////
						///
								newElement = "<script language='javascript'>" + newElement + "</script>"
								//alert(newElement);
						        var testFrame = document.getElementById("I_Resposta");
								var doc = testFrame.contentDocument;
								if (doc == undefined || doc == null){
									doc = testFrame.contentWindow.document;}
								doc.open();
								doc.write(newElement);
								doc.close();  
				} else {*/
				alert('O Servidor Não responde ao pedido de Informações');
				}
			}
		}
		Conexao_Ajax.send(null);
	}

}