/******************************************************************************************************************************************************************
*	AUTOR: 			Alexandre da Silva Mateus :: mateus@selbetti.com.br
*	DATA:			11/09/2006
*	DERCRIÇÃO:		Este arquivo contém funções comuns para "criação" de um objeto XHLHTTPRequest 
*					compatível com o navegador, teste de compatibilidade de recursos,
*					e exibição de conteúdo em um DIV definido
******************************************************************************************************************************************************************/



/******************************************************************************************************************************************************************
*	FUNÇÃO: 		XMLHTTPRequest
*	ARGUMENTOS: 	void	
*	RETURN:			->		object		::		Retorna o objeto XMLHTTPRequest de acordo com o Navegador se for bem sucedida
*					->		false		::		Retorna "false" caso o navegador não suporte
*	DESCRIÇÃO:		Retorna um objeto XMLHTTPRequest compatível com o browser, ou retorna falso se não haver suporte
******************************************************************************************************************************************************************/
function XMLHTTPRequest() { 
	var http_request = 0;
	if (window.XMLHttpRequest) {
		http_request = new XMLHttpRequest(); 										// Objeto nativo (Firefox / Safari / Konqueror / Opera / Etc)
	}
	else {
		try { 
			http_request = new ActiveXObject("Msxml2.XMLHTTP");						// ActiveX (IE5.5+/MSXML2+) 
		} 
		catch(e) {
			try { 
				http_request = new ActiveXObject("Microsoft.XMLHTTP");				// ActiveX (IE5+/MSXML1)
			} 
			catch(e) { 
				http_request = false; 												// O navegador não tem suporte
			} 
		}
	} 
	return http_request; 															// Retornar resultado (Objeto, ou "false", no caso de erro)
}
/*****************************************************************************************************************************************************************/



/******************************************************************************************************************************************************************
*	FUNÇÃO: 		VALIDAR RECURSOS
*	ARGUMENTOS: 	void	
*	RETURN:			->		true		::		Tem suporte
*					->		false		::		Não tem suporte
*	DESCRIÇÃO:		Verifica se o navegador tem suporte aos recursos listados a seguir	->	[document.getElementById]
*																						->	[document.createElement]
******************************************************************************************************************************************************************/
function validar_recursos() {
	if (document.getElementById && document.createElement) {
		return(true);
	}
	else {
		return(false);	
	}
}
/*****************************************************************************************************************************************************************/




/******************************************************************************************************************************************************************
*	FUNÇÃO: 		EXIBIR CONTEÚDO
*	ARGUMENTOS: 	[object] http_request 	-> Objeto XMLHTTPRequest
*					[string] div 			-> DIV onde será exibido o conteúdo
*					[string] processador	-> Página que irá processar a solicitação
*					[string] mensagem		-> Mensagem exibida enquando carrega a solicitação
*					[string] metodo			-> Método de requisição [POST] ou [GET]
*	RETURN:			void
*	DESCRIÇÃO:		Realiza a requisição AJAX, e exibe no div informado
******************************************************************************************************************************************************************/
function exibir_conteudo(http_request, div, processador, mensagem, metodo) {
	//-----------------------------------------------------------------------------------------------------------------------------------------------------------//	
	var conteudo = document.getElementById(div);										// Div em que será exibido o resultado da requisição
	//-----------------------------------------------------------------------------------------------------------------------------------------------------------//
	if (mensagem.length > 0) {
		//conteudo.innerHTML = mensagem;													// Mensagem enquanto carrega a página
		//conteudo.innerHTML = '<div style="font-family:Arial, Helvetica, sans-serif;position:absolute;left:620px;top:20px;z-index:1; font-weight:bold; width:100px; font-size:10px; padding:5px 0px 5px 0px; text-align:center; color:#FFF; background-color:#555;">CARREGANDO ...</div>';
		conteudo.innerHTML = '<div style="border-left:4px solid #CCC; font-family:Arial, Helvetica, sans-serif;position:absolute;left:200px;top:163px;z-index:1; font-weight:bold; font-size:10px; padding:5px 7px 5px 5px; text-align:center; color:#333333; background-color:#F3F3F3;"><img style="vertical-align:-5px; margin:0px 5px 0px 0px;" src="imagens/bt/carregando.gif" />CARREGANDO ...</div>';		
	}
	//-----------------------------------------------------------------------------------------------------------------------------------------------------------//	
	http_request.open(metodo, processador, true);										// Abre o arquivo para requisição
	//-----------------------------------------------------------------------------------------------------------------------------------------------------------//	
	//http_request.setRequestHeader('content-type', 'text/xml');						// Cabeçalho pra ser enviado junto com a requisição	
	//-----------------------------------------------------------------------------------------------------------------------------------------------------------//	
	http_request.onreadystatechange = function() {
		if (http_request.readyState == 4) {												// Se a requisição estiver terminada 
			if (http_request.status == 200) { 											// Se a "Status" retornado for "ok" 
				var html = http_request.responseText;									// Lê o conteúdo
				conteudo.innerHTML = html;									
			}
		}
	}
	//-----------------------------------------------------------------------------------------------------------------------------------------------------------//	
	http_request.send(null);															// Realiza a requisição
	//-----------------------------------------------------------------------------------------------------------------------------------------------------------//	
}
