/*INICIO IDENTIFICAÇÃO DE BROWSER-------------------------------------------------------------- Identificação de browser Autor: - Marcelo Campos data - 27/06/02-----------------------------------------------*/ var isNav4, isNav, isIE; if (parseInt(navigator.appVersion.charAt(0)) >= 4) { isNav = (navigator.appName=="Netscape") ? true : false; isIE = (navigator.appName.indexOf("Microsoft") != -1) ? true : false; } if (navigator.appName=="Netscape") { isNav4 = (parseInt(navigator.appVersion.charAt(0))==4); } /*FIM IDENTIFICAÇÃO DE BROWSER------------------------------------------------------------*/ /*---------------------------------------------------------------------------------------- aplicacarFormatacaoCampos - Encarregado do comportamento dos campos num formulário Autor: - Antonio Carlos data - 27/06/02 Descrição: Formata os campos de um formulário HTML de acordo com o texto das primeiras três letras do nome do campo. O valores possíveis são: * num - Numérico * vlr - Valor * aln - alphanumérico * alp - alpha * cpf - Campo CPF * cpj - Campo CNPJ * pfj - campo CPFCNPJ ----------------------------------------------------------------------------------------*/ function aplicacarFormatacaoCampos(objForm){ var i, numEl; numEl = objForm.elements.length; for (i=0; i47)&&(codTecla<58)) { if (obj.maxLength>obj.value.length){ obj.value = formatarValor(obj.value + String.fromCharCode(codTecla)); } } } return false; } /* ----------------------------------------------------------------------------------------------- exibirDataFormatada - Encarregada de exibir uma string com formatação de data num campo text Autor: - Antonio Carlos data - 09/05/03-----------------------------------------------------*/ function exibirDataFormatada(e) { var obj,tecla; //verificando se o que foi digitado é um número if (!soNumero(e)){ return false; } obj = (isNav) ? e.target : event.srcElement; codTecla = (isNav) ? e.which : event.keyCode; switch (codTeclaKeyDown) { case 8: obj.value = formatarData(obj.value.substring(0,obj.value.length-1)); break; case 9: return true; break; case 46: obj.value = formatarData(obj.value.substring(0,obj.value.length-1)); break; default : if ((codTecla>47)&&(codTecla<58)) { if (obj.maxLength>obj.value.length){ obj.value = formatarData(obj.value + String.fromCharCode(codTecla)); } } } return false; } /* ----------------------------------------------------------------------------------------------- capturaCodTecla - Função encarregada obter a tecla digitada pelo usuário apresentando comportamento distinto para o netScape e IE. Autor: - Antonio Carlos data - 27/06/02-----------------------------------------------------*/ function capturaCodTecla(e){ codTeclaKeyDown = (isNav) ? e.which : event.keyCode; if (isIE) { switch (codTeclaKeyDown) { case 8: event.srcElement.value = formatarValor(event.srcElement.value.substring(0,event.srcElement.value.length-1)); return false; break; case 46: event.srcElement.value = formatarValor(event.srcElement.value.substring(0,event.srcElement.value.length-1)); return false; break; } } } /* ----------------------------------------------------------------------------------------------- capturaCodTeclaCPData - Função encarregada obter a tecla digitada pelo usuário apresentando comportamento distinto para o netScape e IE. Autor: - Antonio Carlos data - 15/05/03-----------------------------------------------------*/ function capturaCodTeclaCPData(e){ codTeclaKeyDown = (isNav) ? e.which : event.keyCode; if (isIE) { switch (codTeclaKeyDown) { case 8: event.srcElement.value = formatarData(event.srcElement.value.substring(0,event.srcElement.value.length-1)); return false; break; case 46: event.srcElement.value = formatarData(event.srcElement.value.substring(0,event.srcElement.value.length-1)); return false; break; } } } /* ----------------------------------------------------------------------------------------------- formatarValor - Formata uma string no padrão de valor: xx.xxx.xxx,xx Autor: - Antonio Carlos data - 27/06/02-----------------------------------------------------*/ function formatarValor(str){ var decimal,inteiro; var i,count; STR = new String(str); STR = tirarZerosEsquerda(STR); inteiro=''; if (STR.length == 1){ inteiro = '0'; decimal = '0' + STR; } else { if (STR.length == 2){ inteiro = '0'; decimal = STR; } else{ decimal = STR.substring(STR.length-2,STR.length); i=3; count=0; while (i<=STR.length){ if (count==3) { inteiro = '.' + inteiro; count = 0; } inteiro = STR.charAt(STR.length-i) + inteiro; count++; i++; } } } if (inteiro == '') { inteiro = '0'; } if (decimal == '') { decimal = '00'; } return inteiro+','+decimal; } /* ----------------------------------------------------------------------------------------------- formatarData - Formata uma string no padrão de data: DD/MM/AAAA Autor: - Antonio Carlos data - 09/05/03-----------------------------------------------------*/ function formatarData(str){ var data,re,T; re = /\//g; data = new String(str); data = data.replace(re,""); data = data.substr(0,8); T = data.length; if (T>2 && T<5) { data = data.substr(0,2) + "/" + data.substr(2,2); } if (T>4) { data = data.substr(0,2) +"/"+ data.substr(2,2) +"/"+ data.substr(4,4); } return data; } /* ----------------------------------------------------------------------------------------------- tirarZerosEsquerda - função que tira todos os "0", "," e "." da string passada como argumento Autor: - Antonio Carlos data - 27/06/02-----------------------------------------------------*/ function tirarZerosEsquerda(STR){ var sAux = ''; STR = new String(STR); var i = 0; while (i < STR.length ){ if ((STR.charAt(i)!='.') && (STR.charAt(i)!=',')){ sAux += STR.charAt(i); } i++ } STR = new String(sAux); sAux = ''; i = 0; while (i < STR.length ){ if (STR.charAt(i) != '0'){ sAux = STR.substring(i,STR.length) i = STR.length; } i++; } return sAux; } /* ----------------------------------------------------------------------------------------------- tirarZerosEsquerda - função que tira todos os "0", "," e "." da string passada como argumento Autor: - Marcelo Campos / Antonio Carlos data - 27/06/02------------------------------------------------------*/ function soNumero(e) { var keyNumber = (isIE) ? event.keyCode : e.which; if (((keyNumber<48)||(keyNumber>57)) && (keyNumber!=13) && (keyNumber!="0") && (keyNumber!=8)) { if (isIE) { event.keyCode=0 } return false; } return true; } /*FIM - FORMATAÇÃO DE VALOR---------------------------------------------------------------------*/ /* ----------------------------------------------------------------------------------------------- validarData - Verifica se a data passada é valida o retorno da função é booleano, se data válida retorna true senão retorna false Autor: - Antonio Carlos data - 21/08/02------------------------------------------------------*/ function validarData(DIA,MES,ANO){ MES = MES-1; data = new Date(ANO,MES,DIA); if ( (data.getDate()!=DIA) || (data.getMonth()!=MES) || (data.getFullYear()!=ANO) ){ return false; } return true; } /*-----------------------------------------------------------------------------------------------*/ /* ----------------------------------------------------------------------------------------------- verifDataSelMenorDataAtual - Verifica se a data selecionada é menor que a data atual o retorno da função é booleano, se data selecionada for menor que data atual retorna true senão retorna false Autor: - Antonio Carlos data - 21/08/02------------------------------------------------------*/ function verifDataSelMenorDataAtual(diaAtual,mesAtual,anoAtual,diaSelecionado,mesSelecionado,anoSelecionado){ var dataAtual = anoAtual + mesAtual + diaAtual; var dataSelec = anoSelecionado + mesSelecionado + diaSelecionado; dataAtual = parseInt(dataAtual); dataSelec = parseInt(dataSelec); if (dataSelec 47) && (keyNumber<58)) || ((keyNumber > 64) && (keyNumber<91)) || ((keyNumber > 96) && (keyNumber<123)) || (keyNumber==32) || (keyNumber==8) ) && (keyNumber!=168) ) ) { if (isIE) { event.keyCode=0 } return false; } return true; } /* ----------------------------------------------------------------------------------------------- soAlfa - só permite a digitação de letras não acentuadas Autor: - Antonio Carlos data - 12/05/03------------------------------------------------------*/ function soAlfa(e) { var keyNumber = (isIE) ? event.keyCode : e.which; if ( !( ( ((keyNumber > 64) && (keyNumber<91)) || ((keyNumber > 96) && (keyNumber<123)) || (keyNumber==32) || (keyNumber==8) ) && (keyNumber!=168) ) ) { if (isIE) { event.keyCode=0 } return false; } return true; } /* ----------------------------------------------------------------------------------------------- abrirCalendario - Abre calendário pop up para escolha de data de agendamento. Parametro HTodos: se parametro passado for = 0 habilita todos os links. se parametro passado for = 1 desabilita os links para os feriados e fins de semana. Autor: - Antonio Carlos / Leonardo Grecco data - 09/01/03------------------------------------------------------*/ function abrirCalendario (comboDia, comboMes, comboAno, HTodos){ var cbDiaName = comboDia.name; var cbMesName = comboMes.name; var cbAnoName = comboAno.name; var diaSelecionado = comboDia.options[comboDia.selectedIndex].value; var mesSelecionado = comboMes.options[comboMes.selectedIndex].value; var anoSelecionado = comboAno.options[comboAno.selectedIndex].value; var url = '/calendar.asp?cpDia=' +cbDiaName+ '&cpMes=' +cbMesName+ '&cpAno=' +cbAnoName+ '&valorDia=' +diaSelecionado+ '&valorMes=' +mesSelecionado+ '&valorAno=' + anoSelecionado + '&HTodos=' + HTodos; window.open(url,'calendar','top=70,left=115,width=132,height=140', 0); } /* ----------------------------------------------------------------------------------------------- abrirCalendario1 - Abre calendário pop up para escolha de data de agendamento. Parametro HTodos: se parametro passado for = 0 habilita todos os links. se parametro passado for = 1 desabilita os links para os feriados e fins de semana. Autor: - Antonio Carlos / Leonardo Grecco data - 09/05/03------------------------------------------------------*/ function abrirCalendario1 (campoTextoData,dataAtualDDMMAAAA, HTodos){ var data,re,cpDataName,diaSel,mesSel,anoSel, dataAtual; cpDataName = campoTextoData.name; re = /\//g; data = new String(campoTextoData.value); data = data.replace(re,""); dataAtual = new String(dataAtualDDMMAAAA); dataAtual = dataAtual.replace(re,""); diaSel = ""; mesSel = ""; anoSel = ""; if (campoTextoData.length=8){ diaSel = data.substr(0,2); mesSel = data.substr(2,2); anoSel = data.substr(4,4); if ((!validarData(diaSel,mesSel,anoSel))||(anoSel<1970)) { diaSel = dataAtual.substr(0,2); mesSel = dataAtual.substr(2,2); anoSel = dataAtual.substr(4,4); } } var url = '/JavaScript/calendario/calendar1.asp?cpData=' +cpDataName+ '&vDia=' +diaSel+ '&vMes=' +mesSel+ '&vAno=' + anoSel + '&HTodos=' + HTodos; if (validarData(diaSel,mesSel,anoSel)) { window.open(url,'calendar','top=70,left=115,width=132,height=140', 0); } }