var ENDERECO = 'https://sainformatica.com.br/'; var Parametros = { /** * L� o valor do parametro da url passada. * @param variavel * @returns se a variavel � encontrada na url, retorna o valor da variavel, sen�o retorna valor undefined. * * @date documentado em 08-06-2012 * @date_update 13-07-2012 */ get:function(variavel, url) { /* Verifica se n�o foi passado url, ent�o pega url da pagina */ if (url == null) url = location.href.split('#')[0]; var posicao = url.indexOf('/'+variavel+'-'); if(posicao>0){ var string = url.substring(posicao+variavel.length+2); var barra = string.indexOf("/"); if(barra>0){ string = string.substring(0,barra); return string; } } else if (url.indexOf('/'+variavel+'/')>0){ return true; } return undefined; }, /** * Troca o valor do parametro da url atual. * @param variavel - nome do parametro que recebe o valor * @param valor - valor que o parametro recebe * @param trocaURL - false/true, recarrega a p�gina. * @returns se o trocaURL � false, retorna a url como string, sen�o recarrega a p�gina. * * @date documentado em 08-06-2012 * @date_update 08-06-2012 */ set:function(variavel,valor,trocaURL,url){ if (!trocaURL) trocaURL = false; if (!url) url = location.href; var url = url.split('#')[0]; var posicao = url.indexOf("/"+variavel); if(posicao>0){ var string = url.substring(posicao+1); var barra = string.indexOf("/"); if(barra>0){ string = string.substring(0,barra); string = url.replace(string,variavel+"-"+valor); } else string = url.replace(string,variavel+"-"+valor)+"/"; if(!trocaURL) location.href=string; else return string; }else{ if(!trocaURL) location.href=url+variavel+"-"+valor+"/"; else return url+variavel+"-"+valor+"/"; } }, /** * Remove o parametro da url atual. * @param variavel - nome do parametro que ser� exclu�do * @param trocaURL - false/true, recarrega a p�gina. * @returns se o trocaURL � false, retorna a url como string, sen�o recarrega a p�gina. * Se a variavel n�o for encontrada retorna false * * @date documentado em 08-06-2012 * @date_update 08-06-2012 */ remove:function(variavel,trocaURL, url){ if(!trocaURL) trocaURL = false; if ($('input[id$="scrollRegistros"]').val() != '1' && !url) url = location.href.split('#')[0]; else if(!url) { url = location.href.split('#')[0]+location.href.split('#')[1]; } if(url.indexOf(variavel)>0){ var string = url.substring(url.indexOf(variavel+'-')); var barra = string.indexOf("/"); if(barra>0){ string = string.substring(0,barra+1); string=url.replace(string,''); } else string=url.replace(string,''); if(!trocaURL) location.href=string; else return string; }else return url; }, action:function(variavel, valor){ var url = location.href; var posicao; var string; var barra; /* Verifica se a url j� possui hashtag */ if (url.indexOf('#') == -1) url = location.href+'#/'; posicao = url.indexOf("/"+variavel); if(posicao>0){ string = url.substring(posicao+1); barra = string.indexOf("/"); if(barra>0){ string = string.substring(0,barra); string = url.replace(string,variavel+"-"+valor); } else string = url.replace(string,variavel+"-"+valor)+"/"; } else string = url+variavel+"-"+valor+"/"; window.open(string, '_self'); } }; /** * @author juvenal * @desc Fun��o para verificar se o nome � composto. * @param nomeProprio * @return boolean * * @date Abr 30, 2012 * */ function nomeProprio (nomeProprio){ nomeFormatado = nomeProprio.replace(/^\s+|\s+$/g,""); nomeProprio = nomeFormatado.split(' '); if(nomeProprio.length < 2){ return false; } else{ return true; } } /** * @author Eliphio * @desc Fun��o validar CNPJ. * @param cnpj * @return boolean * @example isCnpj('19.771.234/2341-23') * * @date Abr 30, 2012 * */ function isCnpj(cnpj) { var numeros, digitos, soma, i, resultado, pos, tamanho, digitos_iguais; if (cnpj.length == 0) { return false; } cnpj = cnpj.replace(/\D+/g, ''); digitos_iguais = 1; for (i = 0; i < cnpj.length - 1; i++) if (cnpj.charAt(i) != cnpj.charAt(i + 1)) { digitos_iguais = 0; break; } if (digitos_iguais) return false; tamanho = cnpj.length - 2; numeros = cnpj.substring(0,tamanho); digitos = cnpj.substring(tamanho); soma = 0; pos = tamanho - 7; for (i = tamanho; i >= 1; i--) { soma += numeros.charAt(tamanho - i) * pos--; if (pos < 2) pos = 9; } resultado = soma % 11 < 2 ? 0 : 11 - soma % 11; if (resultado != digitos.charAt(0)){ return false; } tamanho = tamanho + 1; numeros = cnpj.substring(0,tamanho); soma = 0; pos = tamanho - 7; for (i = tamanho; i >= 1; i--) { soma += numeros.charAt(tamanho - i) * pos--; if (pos < 2) pos = 9; } resultado = soma % 11 < 2 ? 0 : 11 - soma % 11; return (resultado == digitos.charAt(1)); } /** * @author Eliphio * @desc Valida��o da m�scara de cnpj. * @param cnpj * @return boolean * @example isCnpj('19.771.234/2341-23') * * @date Abr 30, 2012 * */ function isCnpjFormatted(cnpj) { var validCNPJ = /\d{2,3}.\d.\d\/\d-\d/; return cnpj.match(validCNPJ); } /** * @author Eliphio * @desc Fun��o validar CPF. * @param cpf * @return boolean * @example isCnpj('771.234.341-23') * * @date Abr 30, 2012 * */ function isCpf(cpf){ exp = /[^0-9]/g; cpf = cpf.toString().replace(exp, ""); var digitoDigitado = eval(cpf.charAt(9)+cpf.charAt(10)); var digitoGerado = 0; var soma1=0, soma2=0; var vlr =11; for(i=0;i<9;i++){ soma1 += eval(cpf.charAt(i)*(vlr-1)); soma2 += eval(cpf.charAt(i)*vlr); vlr--; } soma1 = (soma1%11) < 2 ? 0 : 11 - (soma1%11); aux = soma1 * 2; soma2 = soma2 + aux; soma2 = (soma2%11) < 2 ? 0 : 11 - (soma2%11); if(cpf == "11111111111" || cpf == "22222222222" || cpf == "33333333333" || cpf == "44444444444" || cpf == "55555555555" || cpf == "66666666666" || cpf == "77777777777" || cpf == "88888888888" || cpf == "99999999999" || cpf == "00000000000" ){ digitoGerado = null; }else{ digitoGerado = eval(soma1.toString().charAt(0) + soma2.toString().charAt(0)); } if(digitoGerado != digitoDigitado){ return false; } return true; } /** * @author Eliphio * @desc Fun��o validar cpf com m�scara. * @param cpf * @return boolean * @example isCnpj('771.234.341-23') * * @date Abr 30, 2012 * */ function isCpfFormatted(cpf) { var validCPF = /^\d\.\d\.\d\-\d$/; return cpf.match(validCPF); } function minimoMaximo(texto, min, max) { var value = texto.length; var isOutsideRange = (value < min) || (value > max); return !isOutsideRange; }; /** * @author Eliphio * @desc Fun��o para comparar a soma dos campos * @param campos * @return boolean * @example comparacaoSum('campo[0]-1/campo[1]-2') * * @date Abr 30, 2012 * */ function comparacaoSum(campos) { var calculo = 0; campos = campos.split(','); for(i=0; i < campos.length-1; i++) calculo += parseInt($("input[name='"+campos[i]+"']").val()); return calculo; } /** * @author Eliphio * @desc Fun��o para validar os valor do cep, que preenche o campo com apenas um n�mero em repeti��o. * @param cep * @return boolean * @example comparacaoSum('55555-550') * * @date Abr 30, 2012 * */ function validateCep(cep) { var objER = /\d\-\d/; /* verifica se os dados foram digitados e testa se os dados foram validadados pelo regExp */ if (objER.test(cep) && cep.length > 0) { if ((cep != '11111-111') && (cep != '22222-222') && (cep != '33333-333') && (cep != '44444-444') && (cep != '55555-555') && (cep != '66666-666') && (cep != '77777-777') && (cep != '88888-888') && (cep != '99999-999') && (cep != '00000-000')) return true; } return false; } /** * @author Eliphio * @desc Fun��o para validar o telefone, que preenche o campo com apenas um n�mero em repeti��o. * @param v * @return boolean * @example validateTelefone('(31)5555-9995') * * @date Abr 30, 2012 * */ function validateTelefone(v){ _DDD = v.substr(1, 2); _tel = v.substr(5, 10); _p1 = v.substr(5, 4); _dig1 = _p1.substr(0, 1); if ((_DDD != "" && _DDD != "00" && _DDD.length == 2 && _DDD !="01" && _DDD != "02" && _DDD != "03" && _DDD != "04" && _DDD != "05" && _DDD != "06" && _DDD != "07" && _DDD != "08" && _DDD !="09" && _DDD != "10" && _DDD != "20" && _DDD != "23" && _DDD != "25" && _DDD != "26" && _DDD != "29" && _DDD != "30" && _DDD != "36" && _DDD != "39" && _DDD != "40" && _DDD != "50" && _DDD != "52" && _DDD != "56" && _DDD != "57" && _DDD != "58" && _DDD != "59" && _DDD != "60" && _DDD !="69" && _DDD != "70" && _DDD != "72" && _DDD != "76" && _DDD != "78" && _DDD != "80" && _DDD != "90") && (_tel != '0000-0000' && _tel != '1111-1111' && _tel != '2222-2222' && _tel != '3333-3333' && _tel != '4444-4444' && _tel != '5555-5555' && _tel != '6666-6666' && _tel != '7777-7777' && _tel != '8888-8888' && _tel != '9999-9999' && _p1 != '0000' && _dig1 != '0')) return true; else return false; } /** * @author juvenal * @desc fun��o para validar se a data selecionada � maior que a data atual * @param data * @return boolean * * @date 04/07/2012 * */ function ComparaDataAtual(data){ if(data[2] == '' || data[1] == '' || data[0] == ''){ return true; } else{ var dataForm = new Date(); dataForm.setFullYear(parseInt(data[2], 10), parseInt(data[1], 10)-1, parseInt(data[0], 10)); var dataAtual = new Date(); if (dataForm <= dataAtual){ return true; } else{ return false; } } } function ComparaData(datas){ if((datas[0][2] == '' || datas[0][1] == '' || datas[0][0] == '') || (datas[1][2] == '' || datas[1][1] == '' || datas[1][0] == '')){ return true; } else{ var dataForm1 = new Date(); dataForm1.setFullYear(parseInt(datas[0][2], 10), parseInt(datas[0][1], 10)-1, parseInt(datas[0][0], 10)); var dataForm2 = new Date(); dataForm2.setFullYear(parseInt(datas[1][2], 10), parseInt(datas[1][1], 10)-1, parseInt(datas[1][0], 10)); if (dataForm1 <= dataForm2){ return true; } else{ return false; } } } /** * @author juvenal * @desc fun��o para validar se a data esta vazia * @param data * @return boolean * * @date 06/07/2012 * */ function ComparaDataVazia(data){ if (data[2] != '' && data[1] != '' && data[0] != ''){ return true; } else{ return false; } } /** * @author Eliphio * @desc fun��o para validar se a data � inferior que a data atual, emite erro. * @param data * @return boolean * * @date 03/08/2012 * */ function comparaDataAnterior(data){ var dataAtual = new Date(); var dataForm = new Date(); dataForm.setFullYear(parseInt(data[2], 10), parseInt(data[1], 10)-1, parseInt(data[0], 10)); if (dataForm < dataAtual) return false; else return true; } /** * @author Eliphio * * @desc Valida o campo texto, verificando se possui algum valor digitado e n�o linhas em branco, ao pressionar enter * @param data * @returns */ function validateText(valor){ return ValidaTextArea(valor); } /** * @author Eliphio * * @desc Valida campos textos que s�o obrigat�rios * * @param valor * * @date Ago 09 2012 * * @returns */ function ValidaTextArea(valor){ a = valor.replace('\n', ''); if (valor.split('\n').length > 2){ return ValidaTextArea(a); } else { if (a.length == 0) return false; else return true; } } function validateDate(vDate) { var bissexto = 0; var dia = parseInt(vDate[0]); var mes = parseInt(vDate[1]); var ano = parseInt(vDate[2]); switch (mes) { case 2: /* Validando ano Bissexto para m�s d fevereiro */ if ((ano % 4 == 0) || (ano % 100 == 0) || (ano % 400 == 0)) bissexto = 1; if ((bissexto == 1) && (dia <= 29)) return true; else if ((bissexto != 1) && (dia <= 28)) return true; break; case 1: case 3: case 5: case 7: case 8: case 10: case 12: if (dia <= 31) return true; break; case 4: case 6: case 9: case 11: if (dia <= 30) return true; break; } return false; } function criaOptionsJson(json, primeiroOptionVazio, primeiroOptionVazioLabel){ var retorno = ''; if(typeof(primeiroOptionVazio) == 'undefined') primeiroOptionVazio = ''; if(typeof(primeiroOptionVazioLabel) == 'undefined') primeiroOptionVazioLabel = ''; if(primeiroOptionVazio != ''){ retorno = ''; } if(!json){ return retorno; } $.each(json, function(index, value){ if(index && value){ retorno += ''; } }) return retorno; } function number_format(num, decimal, decimalSep, milharSep){ /* @author: Rafael Alves - contato@rafaelsouza.net @date: 2014-13-03 @description: função similar a number_format do php. Retorna um número formatado de acordo com os parâmetros informados @params: num: o número a ser formatado, decimal: quantidade de casas após a vírgula, decimalSep: separador da casa decimal - default: ".", milharSep: separador da casa de milhar - default: "," */ decimalSep = decimalSep ? decimalSep : '.'; milharSep = milharSep ? milharSep : ','; var intval = parseInt(num); if(String(num).indexOf('.')!==-1){ var decval = String(num).split('.'); decval = decval[1]; } intval = String(intval).split(''); intval = intval.reverse(); var c=1; var aux=''; for(var i=0; i