// Script para a realiza��o da Busca Instantan�a com Ajax
// 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;
}
	if(document.getElementById) { // Para os browsers complacentes com o DOM W3C.
// Fun��o que realiza a busca instant�nea
function buscaAjax(url,div,termo,tipo,msg,primeiro) {
		var exibeResultado = document.getElementById(div); // div que exibir� o resultado da busca.
			var ajax = openAjax(); // Inicia o Ajax.
			if(primeiro == "") primeiro = "f"; //definindo o primeiro get
			ajax.open("GET", url+'?'+primeiro+'='+termo, true); // Envia o termo da busca como uma querystring, nos possibilitando o filtro na busca.
			ajax.onreadystatechange = function() {
				if(ajax.readyState == 1) { // Quando estiver carregando, exibe: carregando...
					exibeResultado.innerHTML = "<div style=\"display:inline;width:16px;\"><img src='aguarde.gif' alt='aguarde'></div><div style=\"display:inline;width:80px;color:#EEDD82;font-size:10px;font-family:Verdana, Arial, Helvetica, sans-serif;\"><b>"+ msg + "</b></div><BR>";
				}
				if(ajax.readyState == 4) { // Quando estiver tudo pronto.
					if(ajax.status == 200) {
                        if(tipo == '0') {
									var resultado = ajax.responseText; // Coloca o resultado (da busca) retornado pelo Ajax nessa vari�vel (var resultado). */
									resultado = resultado.replace("/\+/g"," "); // Resolve o problema dos acentos (saiba mais aqui: http://www.plugsites.net/leandro/?p=4)
									resultado = unescape(resultado); // Resolve o problema dos acentos
									exibeResultado.innerHTML = (resultado);
											if (funcaoXml != '') { // Executa a função mesmo que não seja um xml
												funcaoXml();
											}		
								}else if(tipo == 'grid') {
										var resultado=ajax.responseText;
										resultado = resultado.replace("/\+/g"," "); 
										resultado = unescape(resultado);
										eval(resultado);
											if (funcaoXml != '') { // Executa a função mesmo que não seja um xml
												funcaoXml();
											}		
								}else if(tipo == '1') {
							   processaTexto(ajax.responseText,exibeResultado,termo,tipo);
											if (funcaoXml != '') { // Executa a função mesmo que não seja um xml
												funcaoXml();
											}		
									
								}else {
						  			processaXML(ajax.responseXML,exibeResultado,tipo);
							 	}
					} else {
						exibeResultado.innerHTML = "Sua sessao expirou! favor logar no sistema novamente.";
					}
				}
			}
			ajax.send(null); // submete
	}
}

function insereConteudo(item,exibeResultado) {	
var conteudo="";
			for (var i=0; i<item.childNodes.length; i++) {
				if((item.childNodes[i].nodeName != '#text') && (item.childNodes[i].nodeName != 'erro')){
					switch( $(item.childNodes[i].nodeName).nodeName ){ //by Fernando Rocha
						case "INPUT": 
						case "TEXTAREA": 
						case "SELECT": $(item.childNodes[i].nodeName).value = item.getElementsByTagName(item.childNodes[i].nodeName)[0].firstChild.nodeValue; break;
						default : $(item.childNodes[i].nodeName).innerHTML = item.getElementsByTagName(item.childNodes[i].nodeName)[0].firstChild.nodeValue;
					}
				  
				      exibeResultado.innerHTML = conteudo; 
			   } else if (item.childNodes[i].nodeName == 'erro') {
				    var parametroErro = item.getElementsByTagName(item.childNodes[i].nodeName)[0].firstChild.nodeValue; 
				     if (( parametroErro!= 'N') && ( parametroErro!= 'S')) {
						 var param = parametroErro.split('|');
						 
						if((param[0] == 'N') || (parametroErro == 'N'))cor = 'lime'; //By Vinicios
							else if((param[0] == 'S') || (parametroErro == 'S'))cor = 'orange';
						 
						 exibeResultado.innerHTML = "<font color="+cor+">" + param[1] + "</font>"; 
                         //temporizador(exibeResultado.id,7);
						 //$(divErro).style.display='none';
						 //$(divErro).innerHTML= param[0];

					 }else{
						 $(divErro).style.display='none';
						 exibeResultado.innerHTML = parametroErro;
					 	 $(divErro).innerHTML=conteudo;
					 }
				 }
			} 
			
	}
	
	
function processaXML(obj,exibeResultado,tipo){
	var dataArray   = obj.getElementsByTagName(tipo);
	if(dataArray.length >= 0) {
	//percorre o arquivo XML paara extrair os dados
	  for(var i = 0 ; i < dataArray.length ; i++) { 
             var item = dataArray[i];
			 insereConteudo(item,exibeResultado);
      }
     if (funcaoXml != '') {
				funcaoXml();
	 }
	}
}
