/* 
Função: Open Ajax
Propósito: Função para iniciarmos o Ajax no browser do cliente
*/
		
function openAjax() {
	var ajax;
	try{
		ajax = new XMLHttpRequest(); // XMLHttpRequest para browsers decentes, como: Firefox, Safari, dentre outros.
	}catch(ee){
		try{
			ajax = new ActiveXObject("Msxml2.XMLHTTP"); // Para o IE da MS
		}catch(e){
			try{
				ajax = new ActiveXObject("Microsoft.XMLHTTP"); // Para o IE da MS
			}catch(E){
				ajax = false;
			}
		}
	}
	return ajax;
}


/* 

Inserida: 29/03/2006 14:27
Propósito: Efetua uma consulta em ajax, utilizar a página 
_conf/buscaAjax.php para facilitar a consulta.
Esta função interpreta um XML no formato 

<dados>
	<tabela>
		<campo>valor</campo>
	</tabela>
</dados>

e retorna um objeto em js.
*/
		
function execAjax(urlAjax, resultAjax, carregandoAjax,typeResult) {
	ajax = openAjax();
	// Testa se existe o '?' na url
	if(urlAjax.indexOf('?') != -1){ 
		// Concatena a data para diferenciar instâncias  
		urlAjax += '&rnddate='+(new Date());
	}else{
		urlAjax += '?rnddate='+(new Date());
	}
	ajax.open("GET",urlAjax,true);
	ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); 
	ajax.onreadystatechange = function()
	{
			if(ajax.readyState == 1) { // Carregando
				if(carregandoAjax && carregandoAjax != '' ) {
					carregandoAjax();
				}
			}
			if(ajax.readyState == 4) { // Pronto.
				if(typeResult == 'XML'){
					var resultado = ajax.responseXML; // Coloca o resultado (da busca) retornado pelo Ajax nessa variável (var resultado).
					var objResult = resultadoXML(resultado);
					resultAjax(objResult);
				}else{
					var resultado = ajax.responseText; // Coloca o resultado (da busca) retornado pelo Ajax nessa variável (var resultado).
					resultAjax(resultado);
				}
				
			}			
	}
	ajax.send(null);
}

/*
function resultadoDados(objResult){
	Utilizar quando o for realizar alguma busca com a página
	_conf/buscaAjax.PHP
}
*/
function resultadoXML(resultado){
	/*PADRÃO NÃO ALTERAR*/
	var data = resultado.getElementsByTagName("DADOS");
	var objResult = new Array();
	for(i = 0 ; i<data[0].childNodes.length ; i++){ // For para tabela
		var field = new Array();
		for(x = 0 ; x < data[0].childNodes[i].childNodes.length ; x++){
			field[data[0].childNodes[i].childNodes[x].nodeName] = unescape(data[0].childNodes[i].childNodes[x].firstChild.nodeValue);
		}
		objResult[i] = new Array();
		objResult[i] = field;
	}
	return objResult;
}

function resultadoClienteXML(objResult){
	/*PADRÃO NÃO ALTERAR*/
	//ALTERAR PARA CAMPOS NECESSÁRIOS
	for(x = 0 ; x < objResult.length ; x++){
		field =	objResult[x]; 
	}
	//ALTERAR PARA CAMPOS NECESSÁRIOS
}

/*
function resultadoTEXT(resultado){
Utilizar quando o retorno for uma página de texto
}
*/

function resultadoTEXT(resultado){
	/*PADRÃO NÃO ALTERAR*/
	return resultado;
}

