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