function findPosX(obj) { var curleft = 0; if(obj.offsetParent) while(1) { curleft += obj.offsetLeft; if(!obj.offsetParent) break; obj = obj.offsetParent; } else if(obj.x) curleft += obj.x; return curleft; } function findPosY(obj) { var curtop = 0; if(obj.offsetParent) while(1) { curtop += obj.offsetTop; if(!obj.offsetParent) break; obj = obj.offsetParent; } else if(obj.y) curtop += obj.y; return curtop; } function valida_email(endereco) { if (endereco.indexOf('.')==-1 || endereco.indexOf('@')==-1 || endereco.indexOf('.@')!=-1 || endereco.indexOf('@.')!=-1 ) { return false; } return true; } function cpf_valido(CPF) { var i; s = CPF; if ( (CPF.length!=11) || (CPF == "00000000000") || (CPF == "11111111111") || (CPF == "22222222222") || (CPF == "33333333333") || (CPF == "44444444444") || (CPF == "55555555555") || (CPF == "66666666666") || (CPF == "77777777777") || (CPF == "88888888888") || (CPF == "99999999999") ) { return false; } var c = s.substr(0,9); var dv = s.substr(9,2); var d1 = 0; for (i = 0; i < 9; i++) { d1 += c.charAt(i)*(10-i); } if (d1 == 0) { return false; } d1 = 11 - (d1 % 11); if (d1 > 9) { d1 = 0; } if (dv.charAt(0) != d1) { return false; } d1 *= 2; for (i = 0; i < 9; i++) { d1 += c.charAt(i)*(11-i); } d1 = 11 - (d1 % 11); if (d1 > 9) { d1 = 0; } if (dv.charAt(1) != d1) { return false; } return true; } function VerValorDigit(num){ var objRegExp = /[^0-9]+/g; var valor = num.value; valor = valor.replace(objRegExp,""); var re0 = /^[0-9\/]+$/; if (!re0.test(valor)){ valor = valor.substring(0,valor.length-1); } num.value = valor; } function bubbleSort(arr) { var trocou=true; while (trocou) { trocou=false; for (var i=0; i parseFloat(arr[i+1]) ) { var tmp=arr[i]; arr[i]=arr[i+1]; arr[i+1]=tmp; trocou=true; } } } return arr; } function extensaoArquivo(caminho) { var extensoes=new Array(); extensoes=caminho.split("."); return extensoes[extensoes.length-1]; } // recebe float e retorna float arredondado com duas casas decimais function realround(x) { x=x.toString(); var intdec=x.split("."); if (intdec.length==1) { return intdec[0] + ".00"; } if (intdec[1].charAt(2)=="9") { intdec[1]=intdec[1].substring(0,2); intdec[1]=parseFloat(intdec[1]) + 1; intdec[1]=intdec[1].toString(); if (intdec[1]=="100") { intdec[1]="00"; intdec[0]=parseFloat(intdec[0])+1; } } intdec[1]=intdec[1].toString(); if (intdec.length==1) { intdec[1]="00"; } if (intdec[1].length==1) { intdec[1]=intdec[1]+"0"; } if (intdec[1].length>2) { intdec[1]=intdec[1].toString(); intdec[1]=intdec[1].substring(0,2); } return intdec[0] + "." + intdec[1]; } // RECEBE STRING FORMATO DD/MM/YYYY E VALIDA SINTAXE function sintaxedata(maiadata) { retorna = 1; // verifico se está no formato xx/xx/xxxx if ( ((maiadata.substring(2,3)) != '/') || ((maiadata.substring(5,6)) != '/') ) { retorna=0; } // verifico o length if (maiadata.length != 10) { retorna = 0; } // verifico os valores numéricos para dia, mes, ano dia = parseFloat (maiadata.substring(0,3)); if ( (isNaN(dia)) || (dia < 1) || (dia > 31) ) { retorna=0; } mes=parseFloat (maiadata.substring(3,5)); if ( (isNaN(mes)) || (mes < 1) || (mes > 12) ) { retorna=0; } ano=parseFloat (maiadata.substring(6,12)); if ( (isNaN(ano)) || (ano < 1908) || (ano > 2068) ) { retorna=0; } if ((dia==31 && (mes==4 || mes==6 || mes==9 || mes==11)) || (dia>29 && mes==2) || (dia==29 && mes==2 && (ano%4)!=0)) { retorna = 0; } // preciso também checar caracter por caracter numérico, pois o javascript tem um bug na funcao // parseint, que converte "1a" para "1", "3x" para "3" e etc. isso daria erro no banco de dados for (i=0; i '9')) && (maiadata.substring(i,i+1) != '/') ) { retorna=0; } } return retorna; } // usar o param do perl em javascript para método get em html tipo tmp.html?x=1&y=2 function param(name) { if (!location.href.indexOf(name+"=")) { return ""; } var stringao=location.href.substring(location.href.indexOf('?')+1, location.href.length); stringao=stringao.substring(stringao.indexOf(name+"=")+name.length+1, stringao.length ); var value=""; for (i=0; i/ig; var tmp='<' + '/' + 'SCRIPT>'; // se colocar de uma vez só, sem concatenar, o navegador não vai executar o código que vier em seguida html = html.replace(regexp,tmp); while (true) { var js=html.substring(html.indexOf('') ); while (js.charAt(0)!='>') { js=js.substring(1,js.length); } js=js.substring(1,js.length); regexp = /VBScript/ig; // é vb ou js? if (!regexp.test(html)) { eval(js); } html=html.substr(html.indexOf(' 0) { begin = document.cookie.indexOf(nome_do_cookie +"="); if (begin != -1) { begin += nome_do_cookie.length+1; end = document.cookie.indexOf(";", begin); if (end == -1) end = document.cookie.length; return unescape(document.cookie.substring(begin, end)); } } return null; }