function abrePOP(pagina,WinSettings) { var MyArgs = new Array(); var ret = window.showModalDialog(pagina, MyArgs, WinSettings); return ret; } function abrePOPold(pagina,WinSettings) { var MyArgs = new Array(); var MyArgsRet = window.showModalDialog(pagina, MyArgs, WinSettings); if (MyArgsRet != null) { var erro = MyArgsRet[0].toString(); var msgerro = MyArgsRet[1].toString(); if(erro == "OK") { document.all.retorno.innerHTML = "Alteração efetuada com sucesso."; } else { var msgerro = MyArgsRet[1].toString(); alert("Não foi possível salvar as alterações.\n\n"+msgerro); document.all.retorno.innerHTML = "Alteração não efetuada.
"+msgerro; } } else { alert("Você fechou a janela sem escolher Cancelar ou Salvar.\n\nSeus dados não foram salvos.\n\nCaso tenha alterado algum dado, você perdeu a alteração efetuada."); document.all.retorno.innerHTML = "Você fechou a janela sem escolher Cancelar ou Salvar.
Seus dados não foram salvos.
Caso tenha alterado algum dado, você perdeu a alteração efetuada."; } } /* Validação de datas: A explicação a seguir representa os níveis de validação para campos de data. Cada variável (reDate + numero) está explicada abaixo. Estas expressões regulares vão do mais simples ao mais completo, da seguinte forma: 1- Simples — valida apenas o uso de dígitos, nas posições e quantidade certas: 1 a 2 dígitos para dia e para mês, 1 a 4 dígitos para ano. 2- Média — testa os dígitos possíveis em cada posição: o primeiro dígito do dia, se houver, deve ser de 0 a 3 ([0-3]?\d); o primeiro dígito do mês, se houver, deve ser 0 ou 1 ([01]?\d); passamos a aceitar apenas 2 ou 4 dígitos para o ano. 3- Avançada — garante as faixas de valores corretas para dias 1 a 31 ((0?[1-9]|[12]\d|3[01])) e meses 1 a 12 ((0?[1-9]|1[0-2])). E aqui optamos por forçar os 2 primeiros dígitos do ano (correspondentes ao século), quando fornecidos, a serem 19 ou 20 ((19|20)?\d{2}). 4- Completa — valida os dias permitidos de acordo com o mês. Para este último, foram criados três grupos alternativos de pares dia/mês: Os dias 1 a 29 ((0?[1-9]|[12]\d)) são aceitos em todos os meses (1 a 12): (0?[1-9]|1[0-2]) Dia 30 é válido em todos os meses, exceto fevereiro (02): (0?[13-9]|1[0-2]) Dia 31 é permitido em janeiro (01), março (03), maio (05), julho (07), agosto (08), outubro (10) e dezembro (12): (0?[13578]|1[02]). 5- Tradicional — data no formato DD/MM/AAAA, basicamente é a data Completa, porém sem a opcionalidade do zero à esquerda no dia ou mês menor que 10 e sem a opcionalidade e verificação de século no ano, aceitando qualquer seqüência de 4 dígitos (\d{4}) como ano. Para utiliza-las, basta passar como parametro o campo a ser testado + o numero correspondente da validaçao que se deseje fazer. */ var reDate1 = /^\d{1,2}\/\d{1,2}\/\d{1,4}$/; var reDate2 = /^[0-3]?\d\/[01]?\d\/(\d{2}|\d{4})$/; var reDate3 = /^(0?[1-9]|[12]\d|3[01])\/(0?[1-9]|1[0-2])\/(19|20)?\d{2}$/; var reDate4 = /^((0?[1-9]|[12]\d)\/(0?[1-9]|1[0-2])|30\/(0?[13-9]|1[0-2])|31\/(0?[13578]|1[02]))\/(19|20)?\d{2}$/; var reDate5 = /^((0[1-9]|[12]\d)\/(0[1-9]|1[0-2])|30\/(0[13-9]|1[0-2])|31\/(0[13578]|1[02]))\/\d{4}$/; var reDate = reDate4; var precadA = 0; var precadE = 0; function doDate(pStr, pFmt) { eval("reDate = reDate" + pFmt); if (reDate.test(pStr)) { return true; // Data válida } else if (pStr != null && pStr != "") { return false; // Data inválida } } // doDate function ValorMonetario(campo) { //coloca so numeros no campo FrmtValor(campo,2,','); } function ValorDB(valor) { var naux = "0123456789"; var aux = ""; var tam = valor.length; var comp = false; for (i=0;i0) ) ) { aux = aux+''+valor.charAt(i); } } return aux; } function FrmtValor(campo,decimais,caractere) { var valor = campo.value; var tam = valor.length; var naux = "0123456789"; var aux = ""; for (i=0;i0) ) ) { aux = aux+''+valor.charAt(i); } } tam = aux.length; if(tam>0) { while(tam<(decimais+1)) { aux="0"+aux; tam = aux.length; } var ind1 = aux.substr(0,tam-decimais); var ind2 = aux.substr(tam-decimais,decimais); campo.value = ""+ind1+caractere+ind2; } else { campo.value = "0"; } } function FrmtValorRet(valor,decimais,caractere) { var sinal = ""; if( valor < 0 ) { sinal = "-"; } var ret = ""+LimpaNumero(valor); var tam = ret.length; while(tam