/**********************************************************************
Autor: 		Ivon Neves Corrêa
Data: 		06/03/2005
Objetivo:	Funções para automatizar e facilitar o uso do AJAX.
 
	Historico Alteracao:
	 - Autor: 
	 - Data: 
	 - Descrição: 
***********************************************************************/
function criarRequest() {
	// Verifica o Browser do Cliente 
	if (document.all){ // Internet Explorer
		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 is not installed on your system.");	
	}
	else { // Nestcape ou Firefox
		var oRequest = null;
		if(window.XMLHttpRequest) {	oRequest = new XMLHttpRequest(); }
		else { oRequest = new ActiveXObject("MSXML2.HttpRequest"); }
		return oRequest;
	}
}

function postAjax(metodo, pagina) {
	var Request = criarRequest();  // criacao do objeto XMLHTTP
	/*
	Abrindo a solicitacao HTTP. 
	Parâmetros do AJAX:
		1° parametro - informa o metodo (post/get)
		2° parametro - informa o arquivo solicitado que pode ser asp, php, txt, xml, etc
		3° parametro - informa que a solicitacao é nao assincrona, para solicitacao sincrona o parametro deve ser false  
	*/
	Request.open(metodo, pagina, true);
	/* Para solicitacões utilizando o metodo post deve ser acrescentado este cabecalho HTTP */
	if (metodo == "post") {
		Request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
		Request.setRequestHeader("Cache-Control", "no-store, no-cache, must-revalidate");
		Request.setRequestHeader("Cache-Control", "post-check=0, pre-check=0");
		Request.setRequestHeader("Pragma", "no-cache");
		Request.setRequestHeader("CharSet", "iso-8859-1");
	}
	return Request;
}

function AJAX(metodo, pagina, div, parametros) {
	oRequest = postAjax(metodo, pagina);

	// a funcao abaixo e executada sempre que o estado do objeto muda (onreadystatechange)
	oRequest.onreadystatechange = function() {
		// o valor 4 significa que o objeto ja completou a solicitacao
		if (oRequest.readyState == 1){
			
		}		
		if (oRequest.readyState == 2){
			
		}
		if (oRequest.readyState == 3){
			
		}		
		if (oRequest.readyState == 4){
			// abaixo o texto do gerado no arquivo executa.asp e colocado no div
			var strenviado = oRequest.responseText;
			//alert(strenviado)
			if (strenviado == 'enviado')
				{
				//document.getElementById('popLembraSenha').style.display = 'none';
				/*se o usuario inseriu login valido o sistema enviara a mensagem e fecha a div executando a function
				off senha*/
				alert("A senha foi enviada para os e-mails de todos os integrantes da equipe.");
			
				}
			
			else
				{ 
					if (strenviado == 'NaoLogado')
					{
						//alert('1234');
						parent.document.getElementById('ctLogin').style.display="none";
						parent.document.getElementById('ctErroLogin').style.display="block";
					}
					else 
					{
						if (strenviado == 'LogadoE')
						{
							window.location ="SbrPartHome.asp"
						}
						else
						{
							if (strenviado == 'LogadoO')
							{
								window.open('../Organizadores/Script/SbrOrghome.asp','Organizador');
								
								//parent.document.frmLogin.pTxtLogin.value='';
								//parent.document.frmLogin.pTxtSenha.value='';
								document.getElementById('pTxtLogin').value = '';
								document.getElementById('pTxtSenha').value = '';
							}
							else	
							{
								if (strenviado == 'LogadoI')
								{
									window.open('../Interlocutores/Script/SbrMontaFrameInterlocutor.asp','Interlocutor');
									document.getElementById('pTxtLogin').value='';
									document.getElementById('pTxtSenha').value='';
								}
								else
								{
									if(div=='lermsg')
									{
										parent.document.getElementById(div).innerHTML = oRequest.responseText;	
									}
									else
									{
										document.getElementById(div).innerHTML = oRequest.responseText;								
									}
									
								}
							}
							}
						}
					}
			}
	}
	// abaixo e enviada a solicitacao. Note que a configuracao
	// do evento onreadystatechange deve ser feita antes do send.
	oRequest.send(parametros);
}
function AJAXcommand(metodo, pagina, div, parametros, strCommando) {
	oRequest = postAjax(metodo, pagina);
	oRequest.onreadystatechange = function() {
		if (oRequest.readyState == 4){
			parent.document.getElementById(div).innerHTML = oRequest.responseText;
			eval(strCommando);
		}
	}
	oRequest.send(parametros);
}

function AJAXcommandGeneric(metodo, pagina) {
	oRequest = postAjax(metodo, pagina);
	oRequest.onreadystatechange = function() {		
		if (oRequest.readyState == 4)
		{
			alert(oRequest.responseText);
		}
	}
	//oRequest.send(parametros);
}