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); }, }; $(document).ready(function () { open_main_register_popup(); close_main_register_popup(); change_persona_type(); validate_register(); address_form(); character(); }); function open_main_register_popup() { $(document).on("click", ".top-fixed-menu .left-wrapper .login_wrapper #register", function (e) { e.preventDefault(); $("body").addClass("modal-open"); $(".cadastro-overlay").addClass("show"); $(".main-register-popup").addClass("show"); }); } function close_main_register_popup() { $(document).on("click", ".cadastro-overlay", function () { $("body").removeClass("modal-open"); $(".cadastro-overlay").removeClass("show"); $(".main-register-popup").removeClass("show"); }); $(document).on("click", ".main-register-popup", function (e) { var l = $(e.target).closest(".popup-dialog").length; if (l === 0) { $("body").removeClass("modal-open"); $(".cadastro-overlay").removeClass("show"); $(".main-register-popup").removeClass("show"); } }); $(document).on("click", ".main-register-popup .modal-header svg, .main-register-popup .modal-header i", function () { $("body").removeClass("modal-open"); $(".cadastro-overlay").removeClass("show"); $(".main-register-popup").removeClass("show"); }); } function change_persona_type() { $("#form_cadastro_popup .type-select input").on("change", function () { var id = $(this).data("id"); $(".form-persona-type").removeClass("show"); $(".form-persona-type#" + id).addClass("show"); if (id == 'pj') { $('#pj-form').attr("checked", 'checked'); $('#pf-form').attr("checked", false); } else { $('#pj-form').attr("checked", false); $('#pf-form').attr("checked", 'checked'); } document.getElementById("address").value = 0 }); } function validatePassForm(value) { var custom_methods = { uppercase: 1, lowercase: 1, number: 1, minimal_chars: 6, sequential_numbers: "", }; var check = 0; for (var method in custom_methods) { var params = custom_methods[method]; var handle = value["validate_" + method](params); if (!handle) { $(".password_list_itens #" + method) .removeClass("valid") .addClass("invalid"); } else { $(".password_list_itens #" + method) .removeClass("invalid") .addClass("valid"); check++; } } return check === Object.keys(custom_methods).length; } function validate_register() { var form = $("#form_cadastro_popup"); $(form).find("input[name=pf_phone]").mask(SPMaskBehavior, spOptions); $(form).find("input[name=pj_phone]").mask(SPMaskBehavior, spOptions); $.validator.addMethod( "validPhone", function(value, element) { valueLength = value.replace(/\D/g, "").length; return (valueLength === 11 || valueLength === 10); }, "Insira um número de telefone válido" ); $("#form_cadastro_popup").validate({ rules: { name: { required: true, noSpace: true, maxlength: 50}, surname: { required: true, noSpace: true, maxlength: 50}, cpf: { required: true, cpf: true, uniquecpf: true }, birthdate: { required: true }, pf_email: { required: true, uniquemail: true, maxlength: 200}, pf_senha: { required: true }, pf_phone: { required: true, validPhone: true }, razao_social: { required: true, noSpace: true, maxlength: 100}, nome_fantasia: { required: true, noSpace: true, maxlength: 80}, cnpj: { required: true, cnpj: true, uniquecnpj: true }, nome_contato: { required: true, noSpace: true, maxlength: 100 }, ie: { required: true }, pj_phone: { required: true, validPhone: true }, pj_email: { required: true, uniquemail: true }, pj_senha: { required: true }, cep: { required: true }, cidade: { required: true }, estado: { required: true }, endereco: { required: true }, bairro: { required: true }, numero: { required: true }, }, messages: { name: { required: "Digite seu nome", maxlength: "Máximo de 50 caracteres."}, surname: { required: "Digite seu sobrenome", maxlength: "Máximo de 50 caracteres."}, cpf: { required: "Digite seu CPF" }, pf_email: { required: "Digite seu e-mail", maxlength: "Máximo de 200 caracteres."}, pf_senha: { required: "Digite sua senha" }, pf_phone: { required: "Digite seu telefone" }, birthdate: { required: "Digite sua data de nascimento" }, razao_social: { required: "Digite a razão social", maxlength: "Máximo de 100 caracteres."}, nome_fantasia: { required: "Digite o nome fantasia", maxlength: "Máximo de 80 caracteres."}, cnpj: { required: "Digite o CNPJ" }, nome_contato: { required: "Digite o nome do contrato", maxlength: "Máximo de 100 caracteres."}, ie: { required: "Digite o IE" }, pj_email: { required: "Digite seu e-mail" }, pj_senha: { required: "Digite sua senha" }, pj_phone: { required: "Digite seu telefone" }, cep: { required: "Informe o CEP" }, cidade: { required: "Informe a cidade" }, estado: { required: "Informe o estado" }, endereco: { required: "Informe o endereço" }, bairro: { required: "Informe o bairro" }, numero: { required: "Informe o número" }, }, submitHandler: function (form) { var validate = validatePassForm($("#form_cadastro_popup").find("input[name=pf_senha]").val()); if ($("input[name=tipo_pessoa]:checked").val() == 2) { var validate = validatePassForm($("#form_cadastro_popup").find("input[name=pj_senha]").val()); } if (validate) { $(".main-register-popup .popup-dialog .modal-content .modal-body form ul li#options button").css("opcity", "0.5"); $(".main-register-popup .popup-dialog .modal-content .modal-body form ul li#options button").css( "pointer-events", "none" ); form.submit(); } }, }); } function address_form() { $(document).on("click", "#address", function () { let address = $('#address').val(); if(address == 0) { document.getElementById("address").value = 1 $(".open-address").show(); } else { $("#address").prop('checked', false); document.getElementById("address").value = 0 $(".open-address").hide(); } }) } function character() { document.querySelectorAll('.character-filter').forEach(function(input) { input.addEventListener('input', function () { this.value = this.value.replace(/[.*@#!]/g, ''); }); }); }