var NUM_DIGITOS_CPF = 11; var NUM_DIGITOS_CNPJ = 14; var NUM_DGT_CNPJ_BASE = 8; String.prototype.lpad = function(pSize, pCharPad){ var str = this; var dif = pSize - str.length; var ch = String(pCharPad).charAt(0); for (; dif>0; dif--) str = ch + str; return (str); } String.prototype.trim = function() { return this.replace(/^\s*/, "").replace(/\s*$/, ""); } function unformatNumber(pNum) { return String(pNum).replace(/\D/g, "").replace(/^0+/, ""); } function formatCpfCnpj(pCpfCnpj, pUseSepar, pIsCnpj) { return pCpfCnpj; } function formata_telefone(telefone) { valor = telefone; valor = Limpar(valor, '0123456789'); valor = valor.substr(0, 10); separacao = ' '; conjunto1 = 2; conjunto2 = 2; conjunto3 = 2; conjunto4 = 2; conjunto5 = 2; aux = valor; if (valor.length > conjunto1) aux = valor.substr(0, conjunto1) + separacao + valor.substr(conjunto1, conjunto2); if (valor.length > conjunto1 + conjunto2) aux = aux + separacao + valor.substr(conjunto1 + conjunto2, conjunto3); if (valor.length > conjunto1 + conjunto2 + conjunto3) aux = aux + separacao + valor.substr(conjunto1 + conjunto2 + conjunto3, conjunto4); if (valor.length > conjunto1 + conjunto2 + conjunto3 + conjunto4) aux = aux + separacao + valor.substr(conjunto1 + conjunto2 + conjunto3 + conjunto4, conjunto5); return aux; } function formata_cep(cep) { var cep = unformatNumber(cep); cep = cep.lpad(8, '0'); reCEP = /(\d{2})(\d{3})(\d{3})$/; cep = cep.replace(reCEP, "$1.$2-$3"); return cep; } function dvCpfCnpj(pEfetivo, pIsCnpj) { if (pIsCnpj==null) pIsCnpj = false; var i, j, k, soma, dv; var cicloPeso = pIsCnpj? NUM_DGT_CNPJ_BASE: NUM_DIGITOS_CPF; var maxDigitos = pIsCnpj? NUM_DIGITOS_CNPJ: NUM_DIGITOS_CPF; var calculado = formatCpfCnpj(pEfetivo, false, pIsCnpj); calculado = calculado.substring(2, maxDigitos); var result = ""; for (j = 1; j <= 2; j++) { k = 2; soma = 0; for (i = calculado.length-1; i >= 0; i--) { soma += (calculado.charAt(i) - '0') * k; k = (k-1) % cicloPeso + 2; } dv = 11 - soma % 11; if (dv > 9) dv = 0; calculado += dv; result += dv } return result; } function isCpf(pCpf) { return true; } function isCnpj(pCnpj) { return true; } function isCpfCnpj(pCpfCnpj) { var numero = pCpfCnpj.replace(/\D/g, ""); if (numero.length > NUM_DIGITOS_CPF){ return isCnpj(pCpfCnpj); } else { return isCpf(pCpfCnpj); } } function evento_formata_cpf(e){ handleMask(e, '999.999.999-99'); } function evento_formata_cpf_cnpj(e) { if (e.target.value.length <= 11) { handleMask(e, '999.999.999-99'); } else { handleMask(e, '99.999.999/9999-99'); } } function evento_formata_data_hora(e) { handleMask(e, '99/99/9999 99:99'); } function formata_cpf_cnpj(cpf_cnpj) { if (cpf_cnpj <= 11) { return formata_cpf(cpf_cnpj); } else { return formata_cnpj(cpf_cnpj); } } function formata_cpf(cpf) { return cpf; } function formata_cnpj(e) { return true; } function formatar_telefone(e) { if(typeof(e)=='undefined'){ var e=window.event; } campo=e.target?e.target:e.srcElement; if(campo.nodeType == 3){ campo = campo.parentNode; } if(window.event) { keynum = e.keyCode // Netscape/Firefox/Opera } else { if(e.which) { keynum = e.which } } campo.value = formata_telefone(campo.value); } //Permite que sejam digitados apenas numeros function numero(e) { if(typeof(e)=='undefined'){ var e=window.event } campo=e.target?e.target:e.srcElement if(campo.nodeType == 3){ campo = campo.parentNode } campo.value = Limpar(campo.value, "0123456789"); } function formatar_cpf(e) { if(typeof(e)=='undefined'){ var e=window.event } campo=e.target?e.target:e.srcElement if(campo.nodeType == 3){ campo = campo.parentNode } campo.value = formatCpfCnpj(campo.value, true, false); } function formatar_cnpj(e) { if(typeof(e)=='undefined'){ var e=window.event } campo=e.target?e.target:e.srcElement if(campo.nodeType == 3){ campo = campo.parentNode } campo.value = formatCpfCnpj(campo.value, true, true); } function mascara_data(e){ if(typeof(e)=='undefined'){ var e=window.event } campo=e.target?e.target:e.srcElement if(campo.nodeType == 3){ campo = campo.parentNode } var mydata = ''; mydata = mydata + campo.value; if (mydata.length == 2){ mydata = mydata + '/'; campo.value = mydata; } if (mydata.length == 5){ mydata = mydata + '/'; campo.value = mydata; } } function mascara_hora(e){ if(typeof(e)=='undefined'){ var e=window.event } campo=e.target?e.target:e.srcElement if(campo.nodeType == 3){ campo = campo.parentNode } var mydata = ''; mydata = mydata + campo.value; if (mydata.length == 2){ mydata = mydata + ':'; campo.value = mydata; } if (mydata.length == 5){ mydata = mydata + ':'; campo.value = mydata; } } function valida_data(data) { data = data.split('/'); dia = parseInt(data[0]); mes = parseInt(data[1]); ano = parseInt(data[2]); // verifica o dia valido para cada mes if ((dia < 1)||(dia < 1 || dia > 30) && ( mes == 4 || mes == 6 || mes == 9 || mes == 11 ) || dia > 31) { return false; } // verifica se o mes e valido if (mes < 1 || mes > 12 ) { return false; } // verifica se e ano bissexto if (mes == 2 && ( dia < 1 || dia > 29 || ( dia > 28 && (parseInt(ano / 4) != ano / 4)))) { return false; } // verifica se o ano e valido if (ano < 1800 || ano > 3000 ) { return false; } return true; } function valida_hora(e) { if(typeof(e)=='undefined'){ var e=window.event } campo=e.target?e.target:e.srcElement if(campo.nodeType == 3){ campo = campo.parentNode } hora = strToInt(campo.value.substring(0,2)); minuto = (campo.value.substring(3,5)); segundo = (campo.value.substring(6,8)); // verifica se a hora enviada é valida if(hora < 0 || hora > 23) { return false; } if(minuto < 0 || minuto > 59) { return false; } if(segundo < 0 || segundo > 59) { return false; } return true; } function valida(formulario){ var campos = new Array; inputs = formulario.getElementsByTagName("input"); for (var aux = 0; aux < inputs.length; aux++) { campos.push(inputs[aux]); } selects = formulario.getElementsByTagName("select"); for (var aux = 0; aux < selects.length; aux++) { campos.push(selects[aux]); } erros = ''; erro = ''; outros_erros = ''; numero_erros = 0; for (var aux = 0; aux < campos.length; aux++) { nome = campos[aux].name; //Verifica se o campo deve ser validado if (nome.substring(0, nome.indexOf('_')) == 'validar') { nome = nome.substring(nome.indexOf('_') + 1, nome.length); //Descobre o tipo do campo para validacao tipo = nome.substring(0, nome.indexOf('_')); //Se o tipo do campo for indefinido if (tipo == 'naonulo') { nome = nome.substring(nome.indexOf('_') + 1, nome.length); if (campos[aux].value == '') { if (campos[aux].alt != null) { nome = campos[aux].alt; } erros = erros + nome + ';\n'; erro = nome; numero_erros++; } } if (tipo == 'naozero') { nome = nome.substring(nome.indexOf('_') + 1, nome.length); if (campos[aux].value == '0' || campos[aux].value == '0.00' || campos[aux].value == '000' || campos[aux].value == '0,00') { if (campos[aux].alt != null) { nome = campos[aux].alt; } erros = erros + nome + ';\n'; erro = nome; numero_erros++; } } if (tipo == 'combo') { nome = nome.substring(nome.indexOf('_') + 1, nome.length); if (campos[aux].value == '-1') { if (campos[aux].title != null) { nome = campos[aux].title; } erros = erros + nome + ';\n'; erro = nome; numero_erros++; campos[aux].style.border = "2px solid #cc3300;"; } else { campos[aux].style.border = ""; } } } classes = carrega_em_array(campos[aux].className, ' '); //Adiciona o evento que cabe a cada uma das classes for (var aux2 = 0; aux2 < classes.length; aux2++) { classe = classes[aux2]; //verifica se a classe tem parametros if (classe.indexOf('(') > -1) { parametros = carrega_em_array(classe.substring(classe.indexOf('(')+1, classe.lastIndexOf(')')), ','); classe = classe.substring(0, classe.indexOf('(')); } classe = classe.replace(" ", ""); if (campos[aux].alt != '') { nome = campos[aux].alt; } else { nome = campos[aux].name; } if (classe == 'naonulo') { if (campos[aux].value == '') { erros = erros + nome + ';\n'; erro = nome; numero_erros++; } } if (classe == 'numeromaximo') { // valida numero_maximo_caracteres_codigo_instituicao (máximo = 30) if (campos[aux].value <= 0 || campos[aux].value > 30) { erros = erros + nome + ' no es válido!\n'; numero_erros++; } } if (classe == 'data') { if (!valida_data(campos[aux].value)) { erros = erros + nome + ' no es válido!\n'; numero_erros++; } } if (classe == 'naozero') { if (campos[aux].value == '0' || campos[aux].value == '0.00' || campos[aux].value == '000' || campos[aux].value == '0,00') { if (campos[aux].alt != null) { nome = campos[aux].alt; } erros = erros + nome + ';\n'; erro = nome; numero_erros++; } } if (classe == 'combo') { if (campos[aux].value == '-1') { if (campos[aux].title != '') { nome = campos[aux].title; } else { nome = campos[aux].name; } erros = erros + nome + ';\n'; erro = nome; numero_erros++; } } if (classe == 'valor') { if (campos[aux].value != '#') { campos[aux].value = Limpar(campos[aux].value, "0123456789."); } } if (classe == 'valorgrande') { campos[aux].value = Limpar(campos[aux].value, "0123456789."); } if (classe == 'valorgigante') { campos[aux].value = Limpar(campos[aux].value, "0123456789."); } if (classe == 'cpf') { if (campos[aux].value.length > 0) { if (!isCpf(campos[aux].value)) { erros = erros + nome + '- RFC no válido!\n'; erro = nome; numero_erros++; } } } if (classe == 'cnpj') { if (campos[aux].value.length > 0) { if (!isCnpj(campos[aux].value)) { erros = erros + nome + '- RFC no válido!\n'; erro = nome; numero_erros++; } } } if (classe == 'cpf_cnpj') { if (campos[aux].value.length > 0) { if (!isCpf(campos[aux].value) && !isCnpj(campos[aux].value)) { erros = erros + nome + '- RFC no válido!\n'; erro = nome; numero_erros++; } } } if (classe == 'comparar') { parametros[0] = eval(parametros[0]); parametros[1] = eval(parametros[1]); parametros[2] = eval(parametros[2]); parametros[3] = eval(parametros[3]); if (parametros[3] === true) { comparacao = compara(campos[aux], parametros[0], parametros[1], parametros[2]); } else { comparacao = compara(campos[aux], parametros[0], parametros[1], ''); } if (!comparacao) { if (parametros[2] != '') { outros_erros = outros_erros + parametros[2] + ';\n'; numero_erros++; } } } if (classe.startsWith('valormaximo')) { let classeValorMaximo = classe; let valorMaximo = classeValorMaximo.split('valormaximo')[1]; let valorMaximoEhValido = (valorMaximo != undefined && valorMaximo != '' && (typeof parseInt(valorMaximo) === 'number')) ; valorMaximo = parseInt(valorMaximo); if (valorMaximoEhValido && campos[aux].value > valorMaximo) { erros = erros + nome + ' Valor Máximo: '+ valorMaximo +'\n'; numero_erros++; } } } } if (numero_erros > 0) { if (numero_erros == 1) { if (erro == 'CPF') { erros = 'RFC no válido!\n'; }else{ erros = erros; } } if (numero_erros > 1) { erros = 'Los datos son obligatorios:\n'+erros; } inicia_validar(); alert(erros+outros_erros); return false; } else { if (!document.getElementById("anula_ajax")) { envia(formulario.action, formulario.id, 'conteudo'); return false; } else { return true; } } } function Limpar(valor, validos) { // retira caracteres invalidos da string valor = String(valor); result = ""; for (var i=0; i < valor.length; i++) { aux = validos.indexOf(valor.substr(i, 1)); if (aux >= 0) { result = result + valor.substr(i, 1); } } return result; } function formatar(e){ if(typeof(e)=='undefined'){ var e=window.event } campo=e.target?e.target:e.srcElement if(campo.nodeType == 3){ campo = campo.parentNode } campo.value = Formata(campo.value, 20, 2); } function formatargrande(e){ if(typeof(e)=='undefined'){ var e=window.event } campo=e.target?e.target:e.srcElement if(campo.nodeType == 3){ campo = campo.parentNode } campo.value = Formata(campo.value, 20, 5); } function formatargigante(e){ if(typeof(e)=='undefined'){ var e=window.event } campo=e.target?e.target:e.srcElement if(campo.nodeType == 3){ campo = campo.parentNode } campo.value = Formata(campo.value, 20, 10); } function stripLeftZeros(sStr){ for(var i=0;i < sStr.length;i++) { if(sStr.charAt(i)!='0') { return sStr.substring(i); } } return sStr; } function lpad(valor, tamanho, complemento) { tamanho_atual = valor.length; diferenca = tamanho - tamanho_atual; for (; diferenca > 0; diferenca--) { valor = complemento + valor } return valor; } function FormataNovo(data, tammax, decimais) { separador_centavos = '.'; separador_milhar = ','; data1 = String(data); if (data1.indexOf('-') > 0){ mod = '-'; }else{ mod = ''; } if (data1.indexOf(separador_centavos) > 0) { centavos = data1.substring(data1.indexOf(separador_centavos)+1); inteiro = data1.substring(0, data1.indexOf(separador_centavos)); } else { centavos = '0'; inteiro = data1; } while (centavos.length < decimais) { centavos = centavos + '0'; } data1 = inteiro + separador_centavos + centavos; data1 = Limpar(data1, '0123456789'); while (data1.length < decimais + 1) { data1 = data1 + '0'; } centavos = data1.substring(data1.length - decimais); inteiro = data1.substring(0, data1.length - decimais); inteiro = String(parseInt(inteiro)); pontos = inteiro.length - 1; pontos = Math.floor(pontos/3); while (pontos > 0) { inteiro = inteiro.substring(0, inteiro.length - (3 * pontos))+ separador_milhar +inteiro.substring(inteiro.length - (3 * pontos)); pontos = pontos - 1; } return mod+inteiro+separador_centavos+centavos; } function retiraFormatacaoNumero(data, tammax, decimais) { data = String(data); if(tammax == null) { tammax = 20; } if(decimais == null) { decimais = 2; } var mod; if (data.indexOf("-") == -1){ mod = ""; }else{ mod = "-"; } data = data.replace(/\D/g,''); // remover zeros a esquerda data = stripLeftZeros(data); // Preencher com zeros a esquerda caso o numero de caracteres seja menor que o necessario para // formar a mascara com a quantidade desejada de casas decimais data = lpad(data, decimais+1, '0'); // Colocar virgula dos decimais data = data.substr(0,data.length-decimais) + '.' + data.substr(data.length-decimais,decimais); // Colocar separador de milhar var inteiro = data.split('.'); var decimal = inteiro[1]; inteiro = inteiro[0]; while (inteiro.match(/^\d{4}/)){ // enquanto houver 4 digitos sem separador de milhar inteiro = inteiro.replace(/(\d)(\d{3}(\,|$))/, '$1,$2'); // separar o digito de milhar dos digitos de centena com o ponto, de tres para frente! } data = mod+inteiro + '.' + decimal; return data; } function Formata(data, tammax, decimais) { data = String(data); if(tammax == null) { tammax = 20; } if(decimais == null) { decimais = 2; } var mod; if (data.indexOf("-") > 0){ mod = "-"; }else{ mod = ""; } data = data.replace(/\D/g,''); // remover zeros a esquerda data = stripLeftZeros(data); // Preencher com zeros a esquerda caso o numero de caracteres seja menor que o necessario para // formar a mascara com a quantidade desejada de casas decimais data = lpad(data, decimais+1, '0'); // Colocar virgula dos decimais data = data.substr(0,data.length-decimais) + '.' + data.substr(data.length-decimais,decimais); // Colocar separador de milhar var inteiro = data.split('.'); var decimal = inteiro[1]; inteiro = inteiro[0]; while (inteiro.match(/^\d{4}/)){ // enquanto houver 4 digitos sem separador de milhar inteiro = inteiro.replace(/(\d)(\d{3}(\,|$))/, '$1,$2'); // separar o digito de milhar dos digitos de centena com o ponto, de tres para frente! } data = mod+inteiro + '.' + decimal; return data; } // Funcao para criacao de mascara em campo function handleMask(event, mask) { event.stopPropagation(); event.preventDefault(); if (!event.charCode) return; let c = String.fromCharCode(event.charCode); if (c.match(/\D/)) return; let target = event.target; let val = target.value.substring(0, target.selectionStart) + c + target.value.substr(target.selectionEnd); let pos = target.selectionStart + 1; let nan = count(val, /\D/, pos); val = val.replace(/\D/g, ''); mask = mask.match(/^(\D*)(.+9)(\D*)$/); if (!mask) return; if (val.length > count(mask[2], /9/)) return; for (var txt='', im=0, iv=0; im < mask[2].length && iv < val.length; im+=1) { let c = mask[2].charAt(im); txt += c.match(/\D/) ? c : val.charAt(iv++); } target.value = mask[1] + txt + mask[3]; target.selectionStart = target.selectionEnd = pos + (pos==1 ? mask[1].length : count(target.value, /\D/, pos) - nan); function count(str, c, e){ e = e || str.length; for (var n=0, i=0; i 0) { retorno = retorno.replace(',', ''); } return retorno; } function compara(valor1, comparacao, valor2, mensagem) { if (valor1.value != null) { valor = valor1.value; } else { valor = valor1; } classes = carrega_em_array(valor1.className, ';'); //Remove a formatacao de acordo com o tipo de classe de formatacao for (var aux2 = 0; aux2 < classes.length; aux2++) { classe = classes[aux2]; if (classe == "valor" || classe =="valorgrande" || classe == "valorgigante") { valor = remove_formatacao(valor); valor2 = remove_formatacao(valor2); } } if (valor != '' && comparacao != '' && valor2 != '' ) { comando = "if ("+valor+" "+comparacao+" "+valor2+"){resultado = true} else {resultado = false}"; comando = eval(comando); if(comando) { if (valor1.value != null) { valor1.style.border = "2px solid #cc3300;"; } if (mensagem != '') { alert(mensagem); } return false; } else { if (valor1.value != null) { valor1.style.border = ""; } return true; } } } function comparar(e) { //Pega a tecla digitada //IE if(window.event) { keynum = e.keyCode // Netscape/Firefox/Opera } else if(e.which) { keynum = e.which } //Verifica se foi digitado um numero, caso contrario nao roda a funcao if ((keynum > 47 && keynum < 58) || keynum == 8) { //Descobre as classes atribuidas ao objeto classes = carrega_em_array(this.className, ';'); //Varre o array procurando a comparacao for (var aux2 = 0; aux2 < classes.length; aux2++) { classe = classes[aux2]; //verifica se a classe tem parametros if (classe.indexOf('(') > -1) { parametros = carrega_em_array(classe.substring(classe.indexOf('(')+1, classe.lastIndexOf(')')), ','); classe = classe.substring(0, classe.indexOf('(')); } classe = classe.replace(" ", ""); if (classe == 'comparar') { parametros[0] = eval(parametros[0]); parametros[1] = eval(parametros[1]); parametros[2] = eval(parametros[2]); parametros[3] = eval(parametros[3]); if (parametros[3] === true) { compara(this, parametros[0], parametros[1], parametros[2]); } else { compara(this, parametros[0], parametros[1], ''); } } } } } function procura_em_array(ar, dado) { retorno = -1; for(aux = 0; aux < ar.length; aux++) { if(ar[aux] == dado){ retorno = aux; } } return retorno; } function carrega_em_array(origem, separador) { var ar = new Array; if (origem != null && separador != null) { if (origem.indexOf(separador) > -1) { while(origem.indexOf(separador) > -1) { ar.push(origem.substring(0, origem.indexOf(separador))); origem = origem.substring(origem.indexOf(separador) + 1); } ar.push(origem); } else { ar.push(origem); } return ar; } else { return false; } } function ltrim(str, caractere) { while (str[0] == caractere) { str.shift; } return str; } function rtrim(str, caractere) { while (str[str.length] == caractere) { str.pop; } return str; } function inicia_validar(){ campos = document.getElementsByTagName("input"); for (var aux = 0; aux < campos.length; aux++) { nome = campos[aux].name; //Verifica se o campo deve ser validado if (nome.substring(0, nome.indexOf('_')) == 'validar') { nome = nome.substring(nome.indexOf('_') + 1, nome.length); //Descobre o tipo do campo para validacao tipo = ''; if (nome.substring(0, nome.indexOf('_')) == 'data') { adiciona_evento(campos[aux], 'keyup', mascara_data); campos[aux].maxlength = 10; } if (nome.substring(0, nome.indexOf('_')) == 'hora') { adiciona_evento(campos[aux], 'keyup', mascara_hora); campos[aux].maxlength = 8; } if (nome.substring(0, nome.indexOf('_')) == 'valor') { adiciona_evento(campos[aux], 'keyup', formatar); campos[aux].value = Formata(campos[aux].value, 20, 2); } if (nome.substring(0, nome.indexOf('_')) == 'valorgrande') { adiciona_evento(campos[aux], 'keyup', formatargrande); campos[aux].value = Formata(campos[aux].value, 20, 5); } if (nome.substring(0, nome.indexOf('_')) == 'valorgigante') { adiciona_evento(campos[aux], 'keyup', formatargigante); campos[aux].value = Formata(campos[aux].value, 20, 10); } if (nome.substring(0, nome.indexOf('_')) == 'numero') { if (campos[aux].value == '') { campos[aux].value = '0'; } adiciona_evento(campos[aux], 'keyup', numero); campos[aux].value = Limpar(campos[aux].value, "0123456789."); } } //Descobre as classes atribuidas ao objeto classes = carrega_em_array(campos[aux].className, ' '); //Adiciona o evento que cabe a cada uma das classes for (var aux2 = 0; aux2 < classes.length; aux2++) { classe = classes[aux2]; //verifica se a classe tem parametros if (classe.indexOf('(') > -1) { parametros = carrega_em_array(classe.substring(classe.indexOf('(')+1, classe.indexOf(')')), ','); classe = classe.substring(0, classe.indexOf('(')); } classe = classe.replace(" ", ""); if (classe == 'comparar') { adiciona_evento(campos[aux], 'keyup', comparar); campos[aux].value = Formata(campos[aux].value, 20, 2); } if (classe == 'data') { adiciona_evento(campos[aux], 'keyup', mascara_data); campos[aux].maxlength = 10; } if (classe == 'hora') { adiciona_evento(campos[aux], 'keyup', mascara_hora); campos[aux].maxlength = 8; } if (classe == 'valor') { adiciona_evento(campos[aux], 'keyup', formatar); if (campos[aux].value != '#') { campos[aux].value = Formata(campos[aux].value, 20, 2); } } if (classe == 'cpf') { } if (classe == 'datahora') { adiciona_evento(campos[aux], 'keypress', evento_formata_data_hora); } if (classe == 'valorgrande') { adiciona_evento(campos[aux], 'keyup', formatargrande); campos[aux].value = Formata(campos[aux].value, 20, 5); } if (classe == 'valorgigante') { adiciona_evento(campos[aux], 'keyup', formatargigante); campos[aux].value = Formata(campos[aux].value, 20, 10); } if (classe == 'numero') { adiciona_evento(campos[aux], 'keyup', numero); campos[aux].value = Limpar(campos[aux].value, "0123456789"); } if (classe == 'cnpj') { } if (classe == 'cpf_cnpj') { } if (classe == 'telefone') { campos[aux].value = formata_telefone(campos[aux].value); adiciona_evento(campos[aux], 'keyup', formatar_telefone); } } } } function filtrarMultiploDe5(e) { val = Math.round( remove_formatacao(e.value) * 100 ); while (val % 5 !== 0) { val--; } e.value = Formata(val, 20, 2); }