var xmlhttp = null; var tipomov = ''; var Browser; Browser = navigator.appName; function carr_ajax() { var xmlHttp; try { xmlHttp = new XMLHttpRequest(); } catch(e) { // assume IE6 or older var XmlHttpVersions = new Array("MSXML2.XMLHTTP.6.0", "MSXML2.XMLHTTP.5.0", "MSXML2.XMLHTTP.4.0", "MSXML2.XMLHTTP.3.0", "MSXML2.XMLHTTP", "Microsoft.XMLHTTP"); // try every prog id until one works for (var i=0; i= 0) { Ext.MessageBox.alert('Erro', resultado); } else { // retrieve the document element var dataArray = new Array(); resultado = resultado.replace(/\+/g," "); // substitui o sinal + pelo espaco em branco resultado = unescape(resultado); // Resolve o problema dos acentos if(tipo_retorno=='xml') resultado = ajax.responseXML; // Executa a funcao solicitada if (typeof eval(funcao) == 'function') { eval(funcao+'(form,resultado)'); } } document.getElementById("div_msg").innerHTML= ''; } else { document.getElementById("div_mens").style.display= 'block'; // document.getElementById("mens_text").innerText = alert("Problema: " + ajax.statusText()); } } } ajax.send(parameters); } function exec_ajax_sincrono(url, tipo_retorno, parameters) { var ajax = carr_ajax(); if(!tipo_retorno) tipo_retorno = 'texto'; // texto ou xml ajax.open("POST", url, false); ajax.setRequestHeader('Content-Type','application/x-www-form-urlencoded;'); ajax.setRequestHeader('encoding','ISO-8859-1'); ajax.send(parameters); var resultado = ajax.responseText; if (resultado.indexOf("Erro:") >= 0) { Ext.MessageBox.alert('Erro', resultado); } else { // retrieve the document element resultado = resultado.replace(/\+/g," "); // substitui o sinal + pelo espaco em branco resultado = unescape(resultado); // Resolve o problema dos acentos if(tipo_retorno=='xml') resultado = ajax.responseXML; } return resultado; } function exec_ajax_progresso(div, url, funcao, tipo_retorno,parameters,progresso) { var ajax = carr_ajax(); if(!tipo_retorno) tipo_retorno = 'texto'; // texto ou xml if(tipo_retorno=='extjs') { Ext.MessageBox.show({ msg: 'Aguarde', progressText: 'Iniciando...', width:300, progress:true, closable:false, wait:true, waitConfig: { interval:200 }, animEl: 'importar' }); } ajax.open("POST", url, true); ajax.setRequestHeader('Content-Type','text/xml'); ajax.setRequestHeader('encoding','ISO-8859-1'); ajax.onreadystatechange = function() { var i = ajax.readyState/4; if(tipo_retorno!='extjs') { if(ajax.readyState == 1) { div.innerHTML = "Aguarde!"; //if(tipo_retorno=='extjs') Ext.MessageBox.updateProgress(i, 'Conectando...'); } if(ajax.readyState == 2) { div.innerHTML = "Carregando..."; //if(tipo_retorno=='extjs') Ext.MessageBox.updateProgress(i, 'Carregando...'); } if(ajax.readyState == 3) { var res = ajax.responseText; var tam = parseInt(res.length)/1024; if(!progresso) div.innerHTML = parseInt(tam) + ' Kb'; else div.innerHTML = res; //if(tipo_retorno=='extjs') Ext.MessageBox.updateProgress(i, 'Recebendo...'); } } if ( ajax.readyState == 4) { // Completo if(tipo_retorno=='extjs') { Ext.MessageBox.hide(); } if ( ajax.status == 200) { // resposta do servidor OK if(tipo_retorno!='extjs') { div.innerHTML= 'conclu�do'; } var resultado = ajax.responseText; // server error? if (resultado.indexOf("Erro:") >= 0) { Ext.MessageBox.alert('Erro', resultado); } else { // retrieve the document element resultado = resultado.replace(/\+/g," "); // substitui o sinal + pelo espaco em branco resultado = unescape(resultado); // Resolve o problema dos acentos if(tipo_retorno=='xml') resultado = ajax.responseXML; // Executa a funcao solicitada if (typeof eval(funcao) == 'function') { eval(funcao+'(resultado)'); } } } else { document.getElementById("div_mens").style.display= 'block'; // document.getElementById("mens_text").innerText = alert("Problema: " + ajax.statusText()); } } } ajax.send(parameters); } function carrega_pac_pesquisapaciente() { var psq_ajax = carr_ajax(); psq_url = '/pac_pesquisapaciente'; if(psq_ajax) { /* if the XMLHttpRequest object isn't busy with a previous request... */ if (psq_ajax.readyState == 4 || psq_ajax.readyState == 0) { psq_ajax.onreadystatechange = function() { get_pesquisa(psq_ajax); }; psq_ajax.open("GET", psq_url, true); psq_ajax.send(null); } else { alert("Problema: psq_ajax (readyState)."+ psq_ajax.readyState); } } else alert("Problema: psq_ajax n�o declarado."); return false; } function get_pesquisa(psq_ajax) { if(psq_ajax.readyState == 1) { document.getElementById("div_mens").style.display= 'block'; document.getElementById("mens_text").innerHTML = "Aguarde!"; } if (psq_ajax.readyState == 4) { // Completo if (psq_ajax.status == 200) { // resposta do servidor OK document.getElementById("mens_text").innerText = " Aguarde ..."; var resultado = psq_ajax.responseText; resultado = resultado.replace(/\+/g," "); // Resolve o problema dos acentos resultado = unescape(resultado); // Resolve o problema dos acentos document.getElementById('div_pesquisapaciente').innerHTML = resultado; document.getElementById("div_mens").style.display="none"; } else { document.getElementById("div_mens").style.display= 'block'; document.getElementById("mens_text").innerHTML = "Problema: " + psq_ajax.statusText+ psq_ajax.status; } } } function pegaConteudo(metodo, url, tipo) { try { xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { try { xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); } catch (E) { xmlhttp = false; } } // Tipo do movimento tipomov= tipo; if (!xmlhttp && typeof XMLHttpRequest != 'undefined' ) { try { xmlhttp = new XMLHttpRequest(); } catch (e) { xmlhttp = false ; } } if (xmlhttp) { xmlhttp.onreadystatechange = processadorMudancaEstado; xmlhttp.open(metodo, url); xmlhttp.setRequestHeader('Content-Type','text/xml'); xmlhttp.setRequestHeader('encoding','ISO-8859-1'); xmlhttp.send(null); } } function processadorMudancaEstado () { if(xmlhttp.readyState == 1) { document.getElementById("div_mens").style.display= 'block'; document.getElementById("mens_text").innerText = "Aguarde!"; } if ( xmlhttp.readyState == 4) { // Completo if ( xmlhttp.status == 200) { // resposta do servidor OK // var xmldoc = xmlhttp.responseXML; // var root_node = xmldoc.getElementsByTagName('root').item(0); // alert(broot_node.firstChild.data); document.getElementById("mens_text").innerText = "Carregando..."; // alert(tipomov); //xmlToArray(xmlhttp.responseXML); try { if(tipomov=='PESQUISA') CarregaDados(xmlhttp.responseXML, "PESQUISA"); if(tipomov=='CARREGA_CAMPO') carrega_campos(xmlhttp.responseXML); if(tipomov=='BROWSEPESQUISA') CarregaDados(xmlhttp.responseXML, 'BROWSE'); if(tipomov=='BROWSEPESQUISAVARIOS') carrega_browse(xmlhttp.responseXML); if(tipomov=='EDITA') abrecampo('EDITA'); if(tipomov=='NOVO') abrecampo('NOVO'); if(tipomov=='LIMPA') abrecampo('LIMPA'); // if(tipomov=='SALVA') salvar(xmlhttp.responseXML); if(tipomov=='SALDO_CONTA') { document.getElementById("saldo_dest").textContent= xmlhttp.responseText; } if(tipomov=='LISTA_CHEQUE') { document.getElementById("formchq").innerHTML= xmlhttp.responseText; } if(tipomov=='SALVA_DESPESA') { } if(tipomov=='SALVA') { s= xmlhttp.responseText; if(s.substring(0,2)=="ok") { alert("Salvo com sucesso"+s.substring(2)); if(s.substring(2)!="") { self.location.href=s.substring(3); } else { abrecampo('LIMPAR'); controle_botoes('btnsalv'); } } else alert("Problemas ao salvar: \n"+xmlhttp.responseText); } if(tipomov=='CARREGA_CAMPOS') carrega_campos(xmlhttp.responseXML); if(tipomov=='REDIR') { self.location.href=xmlhttp.responseText; } if(tipomov=='JAVASCRIPT') { eval(xmlhttp.responseText); } if(tipomov!='JAVASCRIPT') { document.getElementById(tipomov).innerHTML= xmlhttp.responseText; } } catch (E) { document.getElementById("div_mens").style.display="none"; } document.getElementById("div_mens").style.display="none"; // document.getElementById ( "div_estado"). innerHTML = xmlhttp.responseText ; } else { document.getElementById("div_mens").style.display= 'block'; document.getElementById("mens_text").innerText = "Url: "+gurl+ "Problema: " + xmlhttp.statusText; } } } function carrega_browse(obj){ //pega a tag cidade // document.getElementById(forms[0].listCidades.options.length = 1; // Deixa apenas um item na opcao document.getElementById('lista_resultado').options.length = 0; // captura as opcoes... idOpcao = document.getElementById("opcoes"); var dataArray = obj.getElementsByTagName("item"); //total de elementos contidos na tag cidade if(dataArray.length > 0) { //percorre o arquivo XML paara extrair os dados for(var i = 0 ; i < dataArray.length ; i++) { var item = dataArray[i]; //cont�udo dos campos no arquivo XML var codigo = item.getElementsByTagName("cp_id")[0].firstChild.nodeValue; var descricao = item.getElementsByTagName("cp_pesq")[0].firstChild.nodeValue; // idOpcao.innerHTML = "--Selecione uma das op��es abaixo--"; //cria um novo option dinamicamente var novo = document.createElement("option"); //atribui um ID a esse elemento novo.setAttribute("id", "opcoes"); //atribui um valor novo.value = codigo; //atribui um texto novo.text = descricao; //finalmente adiciona o novo elemento document.getElementById('lista_resultado').options.add(novo); } } else { //caso o XML volte vazio, printa a mensagem abaixo // idOpcao.innerHTML = "--Primeiro selecione uma opcao--"; } } function CarregaDados(obj, tipo){ // joga elementos do objeto na array var dataArray = obj.documentElement; var mostramens = ""; dataArray = obj.getElementsByTagName("xml"); xmlNode = xmlLoader("dados.php"); //carrega o xml if(xmlNode.childNodes.length==1) xmlcampo= xmlNode.childNodes[0]; else xmlcampo= xmlNode.childNodes[1]; //total de elementos contidos na tag cidade if(dataArray.length > 0) { //percorre o arquivo XML paara extrair os dados for(var i = 0 ; i < dataArray.length ; i++) { var item = dataArray[i]; var campos = item.getElementsByTagName("dados")[0].firstChild.nodeValue; itcad= campos.split('|'); for( j = 0; j< itcad.length; j++) { // alert('alterar para '+itcad[j]); if(item.getElementsByTagName(itcad[j])[0].firstChild!=null && item.getElementsByTagName(itcad[j])[0]!=null) { var valor = item.getElementsByTagName(itcad[j])[0].firstChild.nodeValue; elem = document.getElementById('span_'+itcad[j]); hidden= 0; // Abre o arquivo dados.xml para verificar o tipo do campo for(var n=0;n possuir sao carregados nesta var if(atrib.childNodes[k].childNodes.length>0){ if(nomeatrib=="select") { for(var z=0;z" // alert("check= "+ valor); } if(vatrib.nodeValue=="hidden" && vatrib.nodeName=="type") { hidden=1; var spanch = document.getElementById('span_'+nomecampo); var input1 = document.createElement("INPUT"); input1.setAttribute("type","hidden"); input1.setAttribute("name",nomecampo); input1.setAttribute("id",nomecampo); // input1.setAttribute("value",valor); spanch.appendChild(input1); } } } } // alert(nomecampo+ '='+valor); if(tipo=="BROWSE") { document.getElementById(nomecampo).value= valor; } } } // if(encontrou_campo==0) alert('Campo '+itcad[j]+ ' n�o configurado!'); } } if(tipo=="PESQUISA") { if(hidden==0) elem.innerHTML = ''+valor+''; } // else elem.value= valor; // } else { // mostramens= "N�o foi encontrado!"; } else { // N�o foi encontrado ou nao foi configurado o campo , entao jova valor vazio // alert(itcad[j]+ ' sem valor.'); document.getElementById('span_'+itcad[j]).innerText=''; } // } //campo.innerText= item.getElementsByTagName(items[j])[0].firstChild.nodeValue; } } // Se encontrou realmente, nao tem nenhuma mensagem de erro, entao atualiza os botoes if(mostramens=="") if(tipo=='PESQUISA') controle_botoes('btnpesq'); } else { //caso o XML volte vazio, printa a mensagem abaixo // document.getElementById("div_mens").style.display= 'block'; mostramens= "N�o foi encontrado!"; } if(mostramens!="") { alert(mostramens); controle_botoes('btnlimp'); } } function abrecampo(acao) { var campo_pesq=""; // Define campo de pesquisa var campo_chav=""; // Define quais da chave //function editar(nn, atual, id_usuario, nome_campo) { // xmlNode = xmlLoader("dados.php"); //carrega o xml // define o no principal 'xml' if(xmlNode.childNodes[0].nodeType==1) noprincipal= xmlNode.childNodes[0]; else noprincipal= xmlNode.childNodes[1]; if(noprincipal.childNodes.length> 0) { // varre o no xml for(var m=0;m possuir sao carregados nesta var // alert('m�dulo: '+ modulo.nodeName+ '\n Campo: '+ nomecampo+ '\n Atributo: '+ nomeatrib); if(atrib.childNodes.length==0){ val_atrib= atrib.childNodes.nodeValue; } else if(atrib.childNodes.length>0){ if(atrib.firstChild.nodeValue=='#text') val_atrib= atrib.nodeChild[1].nodeValue; else val_atrib= atrib.firstChild.nodeValue; // alert('valor='+val_atrib); // Se for o campo SELECT if(nomeatrib=="select") { for(var y=0;y"+nooption.nodeValue+""; } else { complemento = complemento+">"+nooption.nodeValue+""; } // alert(complemento); } // alert('compl'+complemento); } } // Se for o campo CHECKBOX /* if(nomeatrib=="input") { for(var y=0;y"; } } if(modulo.nodeName=='dados') { // itpesq= camp_pesq.split('|'); // alert("Qtde Campos:"+itcad.length); // for( p = 0; p< itpesq.length; p++) { if(acao=='EDITA') { // alert(document.getElementById('span_'+nomecampo).textContent); // alert('m�dulo: '+ modulo.nodeName+ '\n Campo: '+ nomecampo+ '\n Atributo: '+ nomeatrib); if(document.getElementById('span_'+nomecampo)!=null) { // alert(nomecampo); if(campo_chav.search(nomecampo)==-1) { // nao encontrou campo para preencher if(type!= 'checkbox') { if (Browser == "Microsoft Internet Explorer") document.getElementById('span_'+nomecampo).innerHTML = "<"+ nomeatrib+ " value=\""+ document.getElementById('span_'+nomecampo).innerText + "\">"+complemento; else document.getElementById('span_'+nomecampo).innerHTML = "<"+ nomeatrib+ " value=\""+ document.getElementById('span_'+nomecampo).textContent + "\">"+complemento; } else { texto= document.getElementById('span_'+nomecampo).innerHTML; if(texto.search('chkS.gif')>-1) document.getElementById('span_'+nomecampo).innerHTML = "<"+ nomeatrib+ " value=\"S\" checked>"; else document.getElementById('span_'+nomecampo).innerHTML = "<"+ nomeatrib+ " value=\"S\">"; } } else { var spanch = document.getElementById('span_'+nomecampo); // alert(nomecampo+"="+spanch.innerText); var input1 = document.createElement("INPUT"); input1.setAttribute("type","hidden"); input1.setAttribute("name",nomecampo); input1.setAttribute("id",nomecampo); input1.setAttribute("value",document.getElementById('span_'+nomecampo).innerText); spanch.appendChild(input1); } } } if(acao=='NOVO') { if(nomeatrib.search('hidden')==-1){ if(campo_chav.search(nomecampo)>=0) { // nao encontrou campo para preencher document.getElementById('span_'+nomecampo).innerHTML = ""; } else { document.getElementById('span_'+nomecampo).innerHTML = "<"+ nomeatrib +" value=\"\" onKeyDown=\"eventdown_tabenter(this, event);\">"+complemento; } } } if(acao=='LIMPAR') { if(campo_pesq.search(nomecampo)>=0) { // nao encontrou campo para preencher // alert(nomecampo+' - Atributo: '+nomeatrib); if(document.getElementById('span_'+nomecampo)== null) alert('campo '+nomecampo+ ' nao definido.'); else document.getElementById('span_'+nomecampo).innerHTML = "<"+ nomeatrib +" value=\"\" onKeyDown=\"eventdown_tabenter(this, event);\">"+complemento; } else { if(nomeatrib.search('hidden')==-1){ if(document.getElementById('span_'+nomecampo)== null) alert('campo '+nomecampo+ ' nao definido.'); else document.getElementById('span_'+nomecampo).innerHTML = ""; } else { // alert(' nomecampo: '+nomecampo+ ' campopesq='+campo_pesq); // if(campo_chav.search(nomecampo)>-1) { // nao encontrou campo para preencher if(document.getElementById(nomecampo)== null) { var spanch = document.getElementById('span_'+nomecampo); // alert(nomecampo+"="+spanch.innerText); var input1 = document.createElement("INPUT"); input1.setAttribute("type","hidden"); input1.setAttribute("name",nomecampo); input1.setAttribute("id",nomecampo); spanch.appendChild(input1); // } else { // input1.setAttribute("value",document.getElementById(nomecampo).value); } // } } // alert(nomeatrib.search('hidden')); } } } } // for(var k.... } // Salva campos que serao utilizados para pesquisa if(modulo.nodeName=='pesquisa') { campo_pesq= campo_pesq+ '|'+nomecampo } // Salva Campos que serao utilizados para a chave primaria if(modulo.nodeName=='id') { campo_chav= campo_chav+ '|'+nomecampo } } } // for(var c=0.... } } } // Define status do cadastro if(acao=='EDITA') document.getElementById('status').value = "editar"; if(acao=='NOVO') document.getElementById('status').value = "novo"; if(acao=='LIMPAR') document.getElementById('status').value = "pesquisar"; } function xmlLoader(url){ if(window.XMLHttpRequest){ var Loader = new XMLHttpRequest(); Loader.open("GET", url ,false); Loader.send(null); return Loader.responseXML; } else if(window.ActiveXObject){ var Loader = new ActiveXObject("Msxml2.DOMDocument.3.0"); Loader.async = false; Loader.load(url); return Loader; } } function xmlArvore(xmlNode,identacao){ var arvoreTxt=""; //esta var armazenara o conteudo for(var i=0;i\n"; }else if(xmlNode.childNodes[i].childNodes.length>0){ //se tiver filhos eu tenho que pegar o valor pegando o valor do primeiro filho // alert(xmlNode.childNodes[i].nodeName + ": "+xmlNode.childNodes[i].firstChild.nodeValue); arvoreTxt = arvoreTxt + xmlNode.childNodes[i].firstChild.nodeValue; for(var z=0;z\n" + xmlArvore(xmlNode.childNodes[i],identacao + "> > "); } } } return arvoreTxt; } function salva() { var campo_pesq=""; // Define campo de pesquisa var campo_chav=""; // Define quais da chave var campos=""; //function editar(nn, atual, id_usuario, nome_campo) { // xmlNode = xmlLoader("dados.php"); //carrega o xml // for(var i=0;i 0) { // varre o no xml for(var i=0;i