// JS Geral | Site $(document).ready(function(){ // Mascaras // Data if(!VerTypeHtml5('date')){ $("input[type=date]").mask("00/00/0000"); try{ $("input[type=date]").each(function(i,e){ var DatMasHtml5 = $(e).val().replace(/\//g, ""); if(DatMasHtml5.length){ $(e).val(DatMasHtml5.substr(6,2)+'/'+DatMasHtml5.substr(4,2)+'/'+DatMasHtml5.substr(0,4)); } }); }catch(err){;} } // Hora $("input[type=time]").mask("00:00:00"); $("[click-data-target]").click(function(){ $("[click-target~="+$(this).attr("click-data-target")+"]").prop('checked', $(this).prop('checked')); }); $("input[alpha=yes]").bind('keydown blur',function(evento){ var node = $(this); if(evento.type == 'keydown' && evento.key !== undefined && evento.key.match(/[0-9]/g)){ evento.preventDefault(); evento.stopPropagation(); return false; }else if(evento.type == 'blur'){ node.val(node.val().replace(/[0-9]/g,'') ); } }); $("input[type=number]").bind('keyup blur',function(){ $(this).val($(this).val().replace(/[^0-9]/g,'') ); }); $("input[date]").mask("00/00/0000"); $("input[time]").mask("00:00:00",{maxlength:false}); $("input[number]").bind('keyup blur',function(){ $(this).val($(this).val().replace(/[^0-9]/g,'') ); }); $("input[type=number]").bind('input',function(){ if(($(this).val().length > this.maxLength) && (this.maxLength > 0)){ $(this).val(this.value.slice(0, this.maxLength)); } }); // Telefone $("input[phone=yes]").mask(SPMaskBehavior, spOptions); // Celular $("input[celular=yes]").mask(SPMaskBehavior, spOptions); $("input[celular=yes]").blur(function(){ let telefone = $(this).val() var regex = new RegExp(/^\([1-9]{2}\) 9[6-9]{1}[0-9]{3}\-[0-9]{4}$/gm) $(this).closest("form").unbind("submit") $(this).closest("form").submit(function(e){ if(telefone.length > 0 && !regex.test(telefone)){ alert("Celular inv\u00e1lido") e.preventDefault() }else{ $(this).unbind("submit") $(this).submit() } }) }) // Telefone sem DDD $("input[phonenoddd=yes]").mask(SPMaskBehavior003, spOptions003); $("input[phone002noddd=yes]").mask(SPMaskBehavior004, spOptions004); // CEP $("input[cep=yes]").mask("00.000-000"); $("input[cep002=yes]").mask("00000-000"); // CPF $("input[cpf=yes]").mask("000.000.000-00"); // Password $("input[type=password]").after('
'); $(".Ico_Mos_Sen").parent().css('display','flex').css('align-items','center') $(".Ico_Mos_Sen").click(function(){ const icon = $(this).find('i') // Transforma password para text if(icon.hasClass('fa-eye')){ icon.removeClass('fa-eye') icon.addClass('fa-eye-slash') $(this).parent().find('input[type=password]').attr('type','text') // Transforma text para Password }else if(icon.hasClass('fa-eye-slash')){ icon.removeClass('fa-eye-slash') icon.addClass('fa-eye') $(this).parent().find('input[type=text]').attr('type','password') } }) // RG $("input[rg=yes]").mask("##.###.###-##"); // Float $("input[float=yes]").mask('000.000.000.000.000,00', {reverse: true,maxlength:false}); $(".clk_float").mask('000.000.000.000.000,00', {reverse: true,maxlength:false}); $("input[cnpj=yes]").mask("00.000.000/0000-00"); // Mensagem de Alerta caso o DDD nao seja encontrado $("input[dddalert=yes]").focus((event) => { $(event.target).parent().children('.errInp').remove(); }); $("input[dddalert=yes]").focusout((event) => { element = event.target; let dddTam = $(element).attr('dddtam') ? parseInt($(element).attr('dddtam')) : 13; if ($(element).val().length <= dddTam) { $(element).parent().append( `Campos de ${$(element)[0].placeholder} precisam ser completos` ); $(element).val(''); } }); // End | Mensagem de Alerta caso o DDD nao seja encontrado // Mascara CPF e CNPJ $("input[cpfcnpj=yes]").mask(SPMaskBehavior002, spOptions002); $("[click-open]").click(function(){ var ClkDisVal = $(this).attr("click-display") ? $(this).attr("click-display") : "block"; AddClassActive($(this)); FecharTodasTag($(this).attr("click-object")); AbirEspecTag($(this).attr("click-open"),ClkDisVal); }); // Arquivos // input[file=yes] var totalTamArquivos = 0; // input[file=yes] var totalTamMaximo = 30*1048576; // 30MB // input[file=yes] var formatosImagemFileYes = ["jpg","png","jpeg","pdf","zip"]; $("input[file=yes]").change(function(e) { // Formato do Arquivo var ext = $(this).val().split(".").pop().toLowerCase(); // Verifica se o formato é valido if($.inArray(ext, formatosImagemFileYes) == -1){ alert(`Tipo de arquivo incorreto.\nSó pode os seguintes formatos: ${formatos}`); $(this).val(null);// Limpa campo do input return false; } // Verifica tamanho do arquivo var tamArq = e.target.files[0].size; if(tamArq > totalTamMaximo){ alert(`Tamanho do arquivo é maior que o permitido!\nLimite de ${totalTamMaximo / 1000000}MB`) $(this).val(null);// Limpa campo do input return false; } // Incrementa tamanho do arquivo totalTamArquivos += tamArq; // Tamanho de todos os inputs Files if(totalTamArquivos > totalTamMaximo){ alert(`Total de arquivos ultrapassou o permitido!\nLimite de 30MB`) totalTamArquivos -= tamArq; // Decrementa tamanho do arquivo $(this).val(null);// Limpa campo do input return false; } return false; }); }); // Move para ID function go(elem,margem=0){ window.scroll({ top: document.querySelector(elem).offsetTop+parseInt(margem),left: 0,behavior: 'smooth' }); } function VerTypeHtml5(typeinput){ var inptyp = document.createElement("input"); inptyp.setAttribute("type", typeinput); return inptyp.type !== "text"; } var SPMaskBehavior = function (val) { return val.replace(/\D/g, '').length === 11 ? '(00) 00000-0000' : '(00) 0000-00009'; }, spOptions = { onKeyPress: function(val, e, field, options) { field.mask(SPMaskBehavior.apply({}, arguments), options); },autoclean: false }; var SPMaskBehavior004 = function (val) { return val.replace(/\D/g, '').length === 9 ? '00000-000' : '0000-0009'; }, spOptions004 = { onKeyPress: function(val, e, field, options) { field.mask(SPMaskBehavior004.apply({}, arguments), options); },autoclean: false }; var SPMaskBehavior003 = function (val) { return val.replace(/\D/g, '').length === 9 ? '00000-0000' : '0000-00009'; }, spOptions003 = { onKeyPress: function(val, e, field, options) { field.mask(SPMaskBehavior003.apply({}, arguments), options); },autoclean: false }; var SPMaskBehavior002 = function (val) { return val.replace(/\D/g, '').length <= 11 ? '000.000.000-00999' : '00.000.000/0000-00'; }, spOptions002 = { onKeyPress: function(val, e, field, options) { field.mask(SPMaskBehavior002.apply({}, arguments), options); }}; function FecharTodasTag(AttrValor){ $("[click-object='"+AttrValor+"']").not("[click-open]").css({"display":"none"}); } function AbirEspecTag(AttrValor,AttrDisplayValor){ $("."+AttrValor+"").css({"display":AttrDisplayValor}); } function AddClassActive(ObjectAtual){ var AtcClassOpen = ObjectAtual.attr("click-object") + "_Active_open"; var AtcClassOpenClick = AtcClassOpen + "_click"; $("[click-object]").removeClass(AtcClassOpen); $("[click-object]").removeClass(AtcClassOpenClick); ObjectAtual.addClass(AtcClassOpenClick); $("."+ObjectAtual.attr("click-open")+"").addClass(AtcClassOpen); } // valida CPF String.prototype.validarCPF = function (hasMask=false) { const cpf = hasMask ? this.replace(/[^\d]+/g,'') : this; let Soma = 0; let Resto; if(cpf == '') return false; if (cpf.length != 11) return false; // Valida condicoes bases nao verificadas pelo algoritmo if (cpf == "00000000000") return false; if (cpf == "11111111111") return false; if (cpf == "22222222222") return false; if (cpf == "33333333333") return false; if (cpf == "44444444444") return false; if (cpf == "55555555555") return false; if (cpf == "66666666666") return false; if (cpf == "77777777777") return false; if (cpf == "88888888888") return false; if (cpf == "99999999999") return false; // Algoritmo de Validacao for (i=1; i<=9; i++) Soma = Soma + parseInt(cpf.substring(i-1, i)) * (11 - i); Resto = (Soma * 10) % 11; if ((Resto == 10) || (Resto == 11)) Resto = 0; if (Resto != parseInt(cpf.substring(9, 10)) ) return false; Soma = 0; for (i = 1; i <= 10; i++) Soma = Soma + parseInt(cpf.substring(i-1, i)) * (12 - i); Resto = (Soma * 10) % 11; if ((Resto == 10) || (Resto == 11)) Resto = 0; if (Resto != parseInt(cpf.substring(10, 11) ) ) return false; return true; } // valida CNPJ String.prototype.validarCNPJ = function (hasMask=false) { const cnpj = hasMask ? this.replace(/[^\d]+/g,'') : this; if(cnpj == '') return false; if (cnpj.length != 14) return false; // Elimina CNPJs invalidos conhecidos if (cnpj == "00000000000") return false; if (cnpj == "11111111111") return false; if (cnpj == "22222222222") return false; if (cnpj == "33333333333") return false; if (cnpj == "44444444444") return false; if (cnpj == "55555555555") return false; if (cnpj == "66666666666") return false; if (cnpj == "77777777777") return false; if (cnpj == "88888888888") return false; if (cnpj == "99999999999") return false; // Valida DVs 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; if (resultado != digitos.charAt(1)) return false; return true; } // Define se os inputs possuem mascara ou nao const usaMascara = true; var alerta = false; $("button[cpf=yes]").click(function ( event ) { if($("input[cpf=yes]").val().length > 0){ if (!$("input[cpf=yes]").val().validarCPF(usaMascara)){ event.preventDefault(); if(alerta){ alert("CPF inv\u00e1lido"); } } } }); $("input[cpf=yes]").change(function (){ if($(this).val().length > 0){ if (!$(this).val().validarCPF(usaMascara)){ alert("CPF inv\u00e1lido"); alerta = true; } } }); $("input[cnpj=yes]").change(function (){ if($(this).val().length > 1){ if (!$(this).val().validarCNPJ(usaMascara)) alert("CNPJ inv\u00e1lido"); } }); // JS Ellipsis $.getScript("/scripts/ftellipsis/ftellipsis.js", function() { // Simplicando Nome de funcoes const forEach = Array.prototype.forEach; const slice = Array.prototype.slice; // Array de Objetos var els = []; // Lista de Classes | Adiciona uma nova para aplicar. const classes = [ 'Not_Are_Des_Inf_Res', 'Not_Lis_Des_Res', 'Red_Soc_Ins_Are_Pos_Med_Ove_Con_Tex' ]; // Lista de Elementos a serem aplicados o FTELLIPSIS forEach.call(classes, function(clss){ els = els.concat(slice.call(document.getElementsByClassName(clss), 0)); }); // Interando em cada Array forEach.call(els, function(el) { try { // # MXTera -- // Definindo Ellipsis var ellipsis = new Ellipsis(el); ellipsis.calc(); ellipsis.set(); } catch(e) { console.log("Erro: Interando em cada Array | Definindo Ellipsis"); } }); }); // Verifica se foi ativado o controle de astericos por inputs obrigatorios function setaAsteriscoCamposRequiridos(){ // Identifica inputs obrigatorios visiveis let arrInpReqVis = $(':input[required]:visible') // intera sobre cada input arrInpReqVis.each(function(idx, ele){ // Carrega componente no jquery ele = $(ele); // obtem input | OBS: Eh preciso atender determinada estrutura [Div>Label/Div>Input] // Onde o Input sera identificado e ira alterar a Label 1 nivel acima dele let field = $(ele.parent().parent().children()[0]); // Concatena texto atual com asterisco field.html(field.html().trim() + "*"); }); } // Valida Email function validaEmail(email) { var re = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/; return re.test(String(email).toLowerCase()); } // Valida Email | Msg Error function validaEmailError(email) { var re = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(\s)|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/; if(!re.test(String(email).toLowerCase())) alert("Email inv\u00e1lido"); return re.test(String(email).toLowerCase()); } // Atrasa carregamento de imagem function init() { // Modelo - jQuery // Imagem - SRC $('img').each(function(i,e){ if($(e).attr('data-src') != undefined){ $(e).attr('src',$(e).attr('data-src')); } }); $('div').each(function(i,e){ if($(e).attr('bkg-src') != undefined){ $(e).attr('style',$(e).attr('bkg-src')); } }); } window.addEventListener("DOMContentLoaded", function(){ setTimeout(function(){ init(); }, 1200); });