function carregarXML(xml) { var xmldoc; if (document.implementation && document.implementation.createDocument) //Mozzila, NetScape { var DOMparser = new DOMParser(); xmldoc = DOMparser.parseFromString(xml,"text/xml"); } else if (document.all) //Internet Explorer { xmldoc = new ActiveXObject("microsoft.xmldom"); xmldoc.async = false; xmldoc.loadXML(xml); } return xmldoc; } function montarMenuPrincipal(xml) { var xmldoc = carregarXML(xml); var listaMenu; var listaSubMenu; var listaOpcoes; var menuItem; var subMenuItem; var nome; var link; var alvo; var title; var strOpcoes; var menuContainer = new MenuContainer(); listaMenu = xmldoc.getElementsByTagName("Menu"); for (var m=0; m 0) menuContainer.addMenuItem(menuItem); for (var sm=0; sm 0) { strEstilo = "tabelaLinhaImparDestaque"; linha = 0; strOpcoes = ''; strOpcoes += ''; for (var op=0; op'; nome = listaOpcoes[op].getElementsByTagName("Nome").item(0).firstChild.data; link = listaOpcoes[op].getElementsByTagName("Link").item(0).firstChild.data; strOpcoes += ''; strOpcoes += ''; //Alterna o estilo da linha if (linha == 0) { strEstilo = "tabelaLinhaParDestaque"; linha = 1; } else { strEstilo = "tabelaLinhaImparDestaque"; linha = 0; } } strOpcoes += '
' + nome + '
' + nome + '
'; subMenuItem.addOpcoes(strOpcoes); } menuItem.addSubMenuItem(subMenuItem); } } menuContainer.writeMenuContainer(); } function trim(s) { // Remove espaços em branco e ENTER à esquerda while ((s.substring(0,1) == ' ') || (s.substring(0,1) == '\n') || (s.substring(0,1) == '\r')) { s = s.substring(1,s.length); } // Remove espaços em branco e ENTER à direita while ((s.substring(s.length-1,s.length) == ' ') || (s.substring(s.length-1,s.length) == '\n') || (s.substring(s.length-1,s.length) == '\r')) { s = s.substring(0,s.length-1); } return s; } function abrirJanelaCentralizada(pagina, nomedajanela, largura, altura, scrollbars, resizable) { var winl = (screen.width - largura) / 2; var wint = (screen.height - altura) / 2; if(scrollbars) scrollbars = "yes"; else scrollbars = "no"; if(resizable) resizable = "yes"; else resizable = "no"; winprops = 'height='+altura+',width='+largura+',top='+wint+',left='+winl+',status=no,scrollbars='+scrollbars+',resizable='+ resizable +',menubar=no'; return window.open(pagina,nomedajanela,winprops); } function pesquisarEstruturaOrganizacional(orgao, unidade) { abrirJanelaCentralizada('../../br/gov/prodemge/sisad/util/telaEstruturaOrganizacional.jsp?orgao='+orgao+'&unidade='+unidade, 'estruturaOrganizacional', 650, 400, 'yes'); } function pesquisarEstruturaOrganizacional(orgao, unidade, campoUnidade) { abrirJanelaCentralizada('../../br/gov/prodemge/sisad/util/telaEstruturaOrganizacional.jsp?orgao='+orgao+'&unidade='+unidade+'&campoua='+campoUnidade, 'estruturaOrganizacional', 650, 400, 'yes'); } function pesquisarTeste(orgao, unidade) { abrirJanelaCentralizada('../br/gov/prodemge/sisad/util/telaEstruturaOrganizacional.jsp?orgao='+orgao+'&unidade='+unidade, 'estruturaOrganizacional', 650, 400, 'yes'); } /* ===================================================================================== FUNÇÃO: util_DetectaBrowser () DESCRIÇÃO: detecta o browser utilizado pelo usuário. PARAMETROS: RETORNO: 'ns' - Netscape Comunicator 'msie' - Internet Explorer 'op' - Opera 'n/a' - Outros EXEMPLOS: if (detecta_Browser() == 'msie') { alert('Microsoft Internet Explorer'); } =======================================================================================*/ function util_DetectaBrowser () { var Browser; // detecta browser if (navigator.appName.indexOf("Netscape") != -1) { Browser = "ns"; } else if (navigator.appName.indexOf("Microsoft Internet Explorer") != -1) { Browser = "msie"; } else if (navigator.userAgent.indexOf("Opera") != -1) { Browser = "op"; } else { Browser = "n/a"; } return Browser; } /* ===================================================================================== FUNÇÃO: util_CodigoASCII(evento) DESCRIÇÃO: retorna o código do caracter digitado em um campo. PARAMETROS: evento (objeto do evento disparado). RETORNO: código ASCII do caracter digitado. EXEMPLOS: if (util_CodigoASCII(event) == 32) { alert('Espaço'); } =======================================================================================*/ function util_CodigoASCII(evento) { browser = util_DetectaBrowser(); if(browser == "msie") { return evento.keyCode; } else { return evento.which; } } /* ===================================================================================== FUNÇÃO: util_IsNumeric(numero) DESCRIÇÃO: verifica se o valor passado como parâmetro é numérico. PARAMETROS: numero (valor numérico a ser examinado) RETORNO: TRUE/FALSE EXEMPLOS: if (util_IsNumeric(65)) { alert('Não é um número válido.'); } =======================================================================================*/ function util_IsNumeric(codigo) { if ((codigo >= 48) && (codigo <= 57)) { return true; } else { return false; } } function formatNumeric(evt) { cod = util_CodigoASCII(evt); if (cod == 0 || cod == 8 || cod == 13) return true; else return util_IsNumeric(cod); } function util_IsDecimal(codigo) { if (((codigo >= 48) && (codigo <= 57)) || (codigo == 46)) { return true; } else { return false; } } function paraDecimal(e){ var whichCode = (window.Event)? e.which : e.keyCode; // ie 8 if( util_DetectaBrowser() == "msie" ) { whichCode = (window.event) ? event.keyCode : event.which; } if(whichCode>=48 && whichCode<=57 || whichCode==8 || whichCode==0 || whichCode==32 ) return true; return false; } function formatDecimal(evt) { cod = util_CodigoASCII(evt); if (cod == 0 || cod == 8) return true; else{ if (cod == 46){ var str; if (util_DetectaBrowser() == 'msie'){ str = evt.srcElement.value; }else{ str = evt.target.value; } str = str.toString(); return (str.indexOf('.') <= -1) && (str != ''); }else{ return util_IsDecimal(cod); } } } /* ===================================================================================== FUNÇÃO: util_IsAlphaNumeric (codigo) DESCRIÇÃO: verifica se o codigo do caracter é de uma letra ou número. PARAMETROS: codigo (código ASCII do caracter) RETORNO: True/False EXEMPLOS: if (util_IsAlphaNumeric(65)) { alert('É um alfanumérico.'); } =======================================================================================*/ function util_IsAlphaNumeric(codigo) { if( (codigo >= 48 && codigo <= 57) || (codigo >= 65 && codigo <= 90) || (codigo >= 97 && codigo <= 122) || (codigo = 32) ) { return true; } else { return false; } } /* ===================================================================================== FUNÇÃO: mascara_Geral(campo, formato, evento) DESCRIÇÃO: formata um campo do formulário de acordo com a máscara informada. PARAMETERS = campo (this ou o nome do input) = formato (define o formato que o dado será apresentado, usando o algarismo "9" para definir números e o símbolo "!" para AlphaNumericos... = evento (event handler - é so passar "event") USO: Este exemplo retorna o campo formatado com CEP. PODE-SE usar no evento onKeyUp também. IMPORTANTE: O MAXLENGTH DO INPUT DEVE SER SETADO COM O MESMO NÚMERO DE CARACTERES DA MASCARA (parâmetro formato), PARA QUE ESTA FUNÇÃO FUNCIONE PERFEITAMENTE. EXEMPLOS: * CEP -> 99.999-999 * CPF -> 999.999.999-99 * CNPJ -> 99.999.999/9999-99 * Data -> 99/99/9999 * Tel Resid -> (99) 999-9999 * Tel Cel -> (99) 9999-9999 * Processo -> 99.999999999/999-99 * C/C -> 999999-! =======================================================================================*/ function mascara_Geral(campo, formato, evento) { var i, contador, valor, tamCampo, tamFormato, bolFormato, sCod, codigo; codigo = util_CodigoASCII(evento); // retorna o codigo do caracter passando o evento valor = campo.value; // Caracteres especiais. if (codigo <= 31) { return true; } // Verifica se o tamanho é maior que a máscara. tamCampo = valor.length; tamFormato = formato.length; if (tamCampo > tamFormato-1) { return false; } // Limpa todos os caracteres de formatação que // já estiverem no campo. valor = valor.toString().replace( "-", "" ); valor = valor.toString().replace( "-", "" ); valor = valor.toString().replace( ".", "" ); valor = valor.toString().replace( ".", "" ); valor = valor.toString().replace( "/", "" ); valor = valor.toString().replace( "/", "" ); valor = valor.toString().replace( "(", "" ); valor = valor.toString().replace( "(", "" ); valor = valor.toString().replace( ")", "" ); valor = valor.toString().replace( ")", "" ); valor = valor.toString().replace( " ", "" ); valor = valor.toString().replace( " ", "" ); valor = valor.toString().replace( ":", "" ); valor = valor.toString().replace( ":", "" ); tamCampo = valor.length; tamFormato = formato.length; i = 0; j = 0; contador = 0; sCod = ""; tamFormato = tamCampo; while (i <= tamFormato) { bolFormato = ((formato.charAt(i) == "-") || (formato.charAt(i) == ".") || (formato.charAt(i) == "/")) bolFormato = bolFormato || ((formato.charAt(i) == "(") || (formato.charAt(i) == ")") || (formato.charAt(i) == " ")) bolFormato = bolFormato || (formato.charAt(i) == ":") if (bolFormato && codigo != 8) { sCod += formato.charAt(i); tamFormato++; } else { sCod += valor.charAt(contador); contador++; } i++; } campo.value = sCod; if (codigo != 8) { // backspace if (formato.charAt(i-1) == "9") { // apenas números... return (util_IsNumeric(util_CodigoASCII(evento))); // números de 0 a 9 } else { // quaiquer caracteres AlphaNuméricos if (formato.charAt(i-1) == "!") { return (util_IsAlphaNumeric(util_CodigoASCII(evento))); //return true } else { return false; } } } else { return true; } } function code(sIn) { /* ---------------------------------------------------------------------- * * Esta função codifica um campo usando uma chave. * * Autor: Antonio Augusto Rocha Luz 28/10/1999 * * ---------------------------------------------------------------------- */ var alfabeto = ' ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'; sIn = sIn.toUpperCase(); sKey = sIn; var alfa = new Array(37); var tamanho_alfa = 37; for (i=1; i<=37; i++) { alfa[i] = alfabeto.substring(i-1,i); } var tamanho_chave = sKey.length; var beta = new Array(30); for (i=1; i<=tamanho_chave; i++) { beta[tamanho_chave-i+1] = sKey.substring(i-1,i); } var tamanho_string = sIn.length; var chr = new Array(30); for (i=1; i<=tamanho_string; i++) { chr[i] = sIn.substring(i-1,i); } var sOut = ''; var j = 0; for (var i=1; i<=tamanho_string; i++) { j = j + 1; if (j > tamanho_chave) { j = 1; } var pk = alfabeto.indexOf(beta[j]) + 1; var px = alfabeto.indexOf(chr[i]) + 1; var pe = ((px + pk -1) % tamanho_alfa) + 1; sOut = sOut + alfa[pe]; } return sOut; } function arredonda(n, c){ n = parseFloat(n); var num = Math.round(n * Math.pow(10, c))/Math.pow(10, c); return num; } function arrendonda2Casas(n){ var num = arredonda(n, 3); num = arredonda(num, 2); return num; } function arrendonda3Casas(n){ var num = arredonda(n, 4); num = arredonda(num, 3); return num; } function checkCapsLock( e ) { var myKeyCode=0; var myShiftKey=false; var myMsg='AVISO: A tecla de caracteres maiúsculos (CAPS LOCK) está ativada.'; // Internet Explorer 4+ if ( document.all ) { myKeyCode=e.keyCode; myShiftKey=e.shiftKey; // Netscape 4 } else if ( document.layers ) { myKeyCode=e.which; myShiftKey=e.shiftKey; // Netscape 6+ } else if ( document.getElementById ) { myKeyCode=e.which; myShiftKey=e.shiftKey; } // Upper case letters are seen without depressing the Shift key, therefore Caps Lock is on if ( ( myKeyCode >= 65 && myKeyCode <= 90 ) && !myShiftKey ) { return myMsg; // Lower case letters are seen while depressing the Shift key, therefore Caps Lock is on } else if ( ( myKeyCode >= 97 && myKeyCode <= 122 ) && myShiftKey ) { return " "; } return " "; } function getHTTPObject() { var xmlhttp; try { xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { try { xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); } catch (E) { xmlhttp = false; } } if (!xmlhttp && typeof XMLHttpRequest != 'undefined') { try { xmlhttp = new XMLHttpRequest(); } catch (e) { xmlhttp = false; } } return xmlhttp; } function SomenteNumero(e){ var tecla=(window.event)?event.keyCode:e.which; if(tecla ==0 ){ tecla = e.keyCode; } if((tecla > 47 && tecla < 58)) return true; else{ if (tecla != 8 && tecla != 9) return false; else return true; } }