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