/*Variáveis globais que serão utilizadas*/
var xmlHttp
var indice
var div_nome
var v_texto
var v_tipo
/*=======================================================================================================================*/
/* 
Como funciona o Ajax (para o Edson)
É o seguinte, existe um objeto imbutido no Browser chamado: "Microsoft.XMLHTTP" (versão antiga) ou "Msxml2.XMLHTTP" 
(versão recente) que está à partir das seguintes versões de browser:IE 5, Mozilla 1.0, Netscape 7, Safari 1.2 e Opera 7.6, 
no IE elê é um ActiveX, nos outros como um objeto JAVA.
Você istância o objeto no Browser com Java Script e utiliza os métodos e propriedades delê.
*/

/*=======================================================================================================================*/
/*Primeiro vamos criar uma função para istânciar o obejto*/
function XmlHttpObject()
{
	var objXMLHttp=null //Criamos e inicializamos a varável que vai receber o objeto
	//Esse "try / cath" é parecido com o On Error Resume Next do ASP, ou seja não dá pau no script se a resposta for erro.
	try 
	{ 
	    //Tentamos criar o objeto mais recente para o IE
		objXMLHttp = new ActiveXObject("Msxml2.XMLHTTP"); 
	} 
	//Deu pau ?
	catch (e) 
	{ 
		try 
		{ 
			//Tentamos criar o objeto antigo para o IE
	        objXMLHttp = new ActiveXObject("Microsoft.XMLHTTP"); 
	    } 
		//Deu pau de novo ?
		catch (E) 
		{ 
			//Ou o browser não é IE, ou é uma versão anterior a 5
	        objXMLHttp = false; 
	    } 
	} 

	//Vamos tentar criar o objeto para os outros tipos de navegadores
	if  (!objXMLHttp && typeof  XMLHttpRequest != 'undefined' ) 
	{ 
	    try  
		{ 
        	//Tentamos criar o objeto para os outros browsers
			objXMLHttp = new  XMLHttpRequest(); 
	    } 
		//Deu pau ?
		catch  (e) 
		{ 
			objXMLHttp = false ; 
    	} 
	}
	return objXMLHttp		
} 
/*=======================================================================================================================*/
/*=======================================================================================================================*/
/*
Depois de termos criado o objeto, iremos utilizar os métodos OPEN e SEND para se comunicar com o servidor
O método OPEN aceita cinco parâmetros: open("método ", "URL "[, sinaldesincronização[, "nomeUsuário"[, "senha"]]]).
O primeiro parâmetro "método" pode ser "GET" ou "POST", o "GET" é mais simples e mais comum, o "POST" é utilizado quando a
quantidade de informações a serem passadas for muito grande.
O Segundo parâmetro "URL" é o caminho para o documento que desejamos acessar, pode ser um caminho completo ou relativo
O Terceiro parâmetro  "sinaldesincronização" avisa ao objeto XMLHttpRequest se desejamos que nossa comunicação seja 
assincrona ou sincronizada.
Os dois últimos parâmetros são opcionais, servem para passarmos o nome de usuário e senha caso o documento que estejamos 
tentando acessar esteja protegido.
É o método SEND que ativa a conexão e faz a requisição de informações ao documento aberto pelo método OPEN
Para capiturarmos a resposta do documento web acessado dispomos de duas propriedades do objeto XMLHttpRequest: 
responseText e responseXML.
A propriedade responseText contém o retorno do documento web acessado na forma de uma string, 
já a propriedade responseXML retorna um objeto DOM.

Depois de enviada a informação para o servidor, precisamos saber o staus da resposta, vamos criar uma função que efetua isso
*/

//Função para verificar o status da resposta.
function trocaStatus()
{
	/*
	xmlHttp é objeto Msxml2.XMLHTTP que vai ser criado na função de envio de informações
	readyState é a propriedade que analisa o tipo de retorno que pode ser:
	0 - Não iniciado (Uninitialised) 
	1 - Carregando (Loading) 
	2 - Carregado (Loaded) 
	3 - Interativo (Interactive) 
	4 - Completado (Completed) 
	*/
	if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
	{ 
		//Camada onde vai ser exibida a respota da solicitação enviada
		var exibe = div_nome 
		//xmlHttp.responseText, retorna a resposta em texto
		document.getElementById(exibe).innerHTML=xmlHttp.responseText
		if (xmlHttp.responseText.indexOf('MENSAGEM') != -1)
		{
			var strTexto 		= xmlHttp.responseText
			var msg_alert 		= strTexto.split("#CORTA#")[1]
			var camada_esconde 	= strTexto.split("#CORTA#")[2]
			var pagina 			= strTexto.split("#CORTA#")[3]
			var camada_pag 		= strTexto.split("#CORTA#")[4]
			MM_showHideLayers(camada_esconde,'','hide');
			EnviaInfo('','','','','','','','','','','','','','','','','','','','',pagina,camada_pag)
			alert(msg_alert);
		}
		if (xmlHttp.responseText.indexOf('MSGCEP') != -1)
		{
			var strCep 		= xmlHttp.responseText
			var msgCep 		= strCep.split("#CORTA#")[1]
			alert(msgCep);
		}
		if (xmlHttp.responseText.indexOf('MSGEMAIL') != -1)
		{
			var strEmail	= xmlHttp.responseText
			var msgEmail 	= strEmail.split("#CORTA#")[1]
			alert(msgEmail);
		}
		if (xmlHttp.responseText.indexOf('EMAILENVIADO') != -1)
		{
			alert('E-mail enviado.!');
		}
		if (xmlHttp.responseText.indexOf('NAOENVIADO') != -1)
		{
			alert('E-mail não enviado, tente novamente.!');
		}
		//Oculta a camada de aguarde
		MM_showHideLayers('Aguarde','','hide');
	}
}
/*=======================================================================================================================*/
/*=======================================================================================================================*/
/* Essa função envia as informações para a página que irá tratá-las */

function EnviaInfo(p01,p02,p03,p04,p05,p06,p07,p08,p09,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,pagina,nome_div)
/*Criei 22 parâmetros nessa função para poder passar para a página ASP*/
{

	//Mostra o aguarde para o usuário, enquanto é carregada a página
	MM_showHideLayers('Aguarde','','show');
	
	div_nome = nome_div
	v_texto = p02
	v_tipo = p01

	//Cria o objeto
	xmlHttp=XmlHttpObject()
		if (xmlHttp==null)
		{
    	   	//Avisamos o usuário que o browser delê, precisa ser atualizado
			alert('O seu navegador não suporta a tecnologia "Ajax", atualize a versão.!')
			return
		}

	var url=pagina // o arquivo que será executado
	//Monta os parâmetros que serão utilizados na página ASP
	url=url+"?p01="+p01
	url=url+"&p02="+p02
	url=url+"&p03="+p03
	url=url+"&p04="+p04
	url=url+"&p05="+p05
	url=url+"&p06="+p06
	url=url+"&p07="+p07
	url=url+"&p08="+p08
	url=url+"&p09="+p09
	url=url+"&p10="+p10
	url=url+"&p11="+p11
	url=url+"&p12="+p12
	url=url+"&p13="+p13
	url=url+"&p14="+p14
	url=url+"&p15="+p15
	url=url+"&p16="+p16
	url=url+"&p17="+p17
	url=url+"&p18="+p18
	url=url+"&p19="+p19
	url=url+"&p20="+p20
	url=url+"&sidjs="+Math.random()
	xmlHttp.onreadystatechange=trocaStatus
	xmlHttp.open("GET",url,true)
	xmlHttp.send(null)
}
/*=======================================================================================================================*/
