PageSourceSearch

https://recursos.fosforoeditora.com.br/Handlers/ResourceHandler.as…onente.lista.evento.js&v=639258468750938499

js fosforoeditora.com.br collected 2026-09-24 21:53:25 UTC 16,581 bytes, 397 lines download raw bytes

1; 
2$(function () {
3    /*
4      *Verifica a existencia do cookie, caso não exista
5      *mostra faz uma requisição, e mostra a modal popup 
6      */
7    if (_NEWSLETTERMODALATIVO && document.cookie.indexOf('popup-cadastro-news') < 0) {
8        $.ajax({
9            type: 'GET',
10            url: fbits.ecommerce.urlEcommerce + 'CadastroNews?format=json&jsoncallback=?',
11            dataType: 'json',
12            success: function (data) {
13                $('#nome', data).val("Nome");
14                $('#email', data).val("E-mail");
15                if ($().fancybox) {
16                    $.fancybox(data, { padding: 0 });
17                }
18                $('[id$=popUp-News-Fundo]').show();
19            }
20        });
21        var expiresDate = new Date();
22        _NEWSLETTERMODALEXPIRES = parseInt(_NEWSLETTERMODALEXPIRES > 0 ? _NEWSLETTERMODALEXPIRES : 1);
23        expiresDate.setDate(expiresDate.getDate() + _NEWSLETTERMODALEXPIRES);
24
25        var dominio = fbits.google.analytics.domain;
26
27        if (dominio === undefined || dominio === "") {
28            dominio = window.location.hostname;
29        }
30
31        if (location.host.indexOf('localhost') >= 0) {
32            document.cookie = 'AcaoVizualizada=popup-cadastro-news; expires=' + expiresDate.toUTCString();
33        } else {
34            document.cookie = 'AcaoVizualizada=popup-cadastro-news; expires=' + expiresDate.toUTCString() + '; domain=' + dominio;
35        }
36    }
37});
38
39function ValidateCaptcha(e) {
40    //e.preventDefault();
41    grecaptcha.ready(function () {
42        grecaptcha.execute(reCaptchaSiteKey, { action: 'newsletter' }).then(function (token) {
43            cadastroNewsletter(this, token);
44        });
45    });
46}
47
48function InitNews(element) {
49    // Validação dos campos de uma Avaliação do Produto
50    $('#fbits-cadastro-newsletter').validate({
51        submitHandler: function () {
52            cadastroNewsletter(element);
53        }
54    });
55
56}
57
58function cadastroNewsletter(element, tokenCaptcha) {
59    var gRecaptchaResponse = $("#fbits-cadastro-newsletter .g-recaptcha-response").val()
60    var elementoNome = $('#fbits-cadastro-newsletter [id=Nome]');
61    var elementoEmail = $('#fbits-cadastro-newsletter [id=Email]');
62    var elementoSexo = $('#fbits-cadastro-newsletter [id^=Sexo-]:checked');
63    var elementoMensagem = $('#fbits-cadastro-newsletter [id=newsletter-mensagem]');
64
65    //Se houver ocorrencias do id de modal-sexo é pq o cadastro de sexo está ativo e deve ser validado.
66    //Se não estiver ativo, não precisamos validar.
67    var sexoAtivo = $('#fbits-cadastro-newsletter [id^=Sexo-]').length > 0;
68    //Realiza as validações.
69    var valido = validarCadastroNewsletter(elementoMensagem, elementoNome, elementoEmail, elementoSexo, sexoAtivo);
70
71    var objEscolhasAdicionais = [];
72    $('#fbits-cadastro-newsletter input[id^="Campo-"]').each(function (index) {
73        var camposGrupoInformacaoCadastralId = $("#fbits-cadastro-newsletter input[name^='Campo[" + index + "].CamposGrupoInformacaoCadastralId']").val();
74        var valor = $("#fbits-cadastro-newsletter input[name^='Campo[" + index + "].Valor']").val();
75        objEscolhasAdicionais.push({ CamposGrupoInformacaoCadastralId: camposGrupoInformacaoCadastralId, Valor: valor });
76    });
77
78    $('#fbits-cadastro-newsletter select[id^="ValoresDefinidosCampoGrupoInformacaoId-"]').each(function (index) {
79        var camposGrupoInformacaoCadastralId = $(this).attr('id').replace("ValoresDefinidosCampoGrupoInformacaoId-", "");
80        var valor = $('#fbits-cadastro-newsletter select[id^="ValoresDefinidosCampoGrupoInformacaoId-' + camposGrupoInformacaoCadastralId + '"]').val();
81        objEscolhasAdicionais.push({ CamposGrupoInformacaoCadastralId: camposGrupoInformacaoCadastralId, Valor: valor });
82    });
83
84    $('#fbits-cadastro-newsletter [id^="componente-newsletter-radiogroup-"]').each(function (index) {
85        var camposGrupoInformacaoCadastralId = $(this).attr('data-id');
86        var selectedElem = $('#fbits-cadastro-newsletter input:radio[id^="ValoresDefinidosCampoGrupoInformacaoId-' + camposGrupoInformacaoCadastralId + '"]:checked');
87        var valor = $(selectedElem).val();
88        objEscolhasAdicionais.push({ CamposGrupoInformacaoCadastralId: camposGrupoInformacaoCadastralId, Valor: valor });
89    });
90
91    if (valido == true) {
92        var nome = $(elementoNome).val();
93        var email = $(elementoEmail).val();
94        var sexo = elementoSexo != undefined ? $(elementoSexo).val() : null;
95
96       
97        var dados = { "Nome": nome, "Email": email, "Sexo": sexo, "ValoresEscolhaUsuario": objEscolhasAdicionais }
98        var dadosStringify = JSON.stringify(dados);
99
100        $.ajax({
101            type: "GET",
102            url: fbits.ecommerce.urlEcommerce + "CadastroNewsSalvar?format=json&jsoncallback=?&origem=footer&dados=" + dadosStringify,
103            dataType: 'jsonp',
104            headers: {
105                'g-recaptcha-response': gRecaptchaResponse
106            },
107            success: function (data) {
108                if (data.mensagem != "") {
109                    $(elementoMensagem).html(data.mensagem).css({ color: "red" });
110                }
111                if (data.valido) {
112                    $(elementoMensagem).css({ color: "green" });
113                    $(elementoNome).val("Nome");
114                    $(elementoEmail).val("E-mail");
115                } else {
116                    $(elementoMensagem).css({ color: "RED" });
117                }
118            }
119        });
120    }
121}
122
123function InitNewsModal(element) {
124    // Validação dos campos de uma Avaliação do Produto
125    $('#newsLetterModal').validate({
126        submitHandler: function () {
127            cadastroNewsletterModal(element);
128        }
129    });
130
131}
132
133function InitNewsModalPopUp(element) {
134    // Validação dos campos de uma Avaliação do Produto
135    $('#popUp-News').validate({
136        submitHandler: function () {
137            cadastroNewsletterModal(element);
138        }
139    });
140
141}
142
143
144function cadastroNewsletterModal(tokenCaptcha) {
145    var gRecaptchaResponse = $("#popUp-News .g-recaptcha-response").val()
146    var elementoNome = $('#popUp-News-Fundo [id=modal-Nome]');
147    var elementoEmail = $('#popUp-News-Fundo [id=modal-Email]');
148    var elementoSexo = $('#popUp-News-Fundo [id^=modal-Sexo-]:checked');
149    var elementoErro = $('#popUp-News-Fundo [id=newsletter-erro]');
150
151    //Se houver ocorrencias do id de modal-sexo é pq o cadastro de sexo na modal está ativo e deve ser validado.
152    //Se não estiver ativo, não precisamos validar.
153    var sexoAtivo = $('#popUp-News-Fundo [id^=modal-Sexo-]').length > 0;
154    //Realiza as validações.
155    var valido = validarCadastroNewsletterModal(elementoErro, elementoNome, elementoEmail, elementoSexo, sexoAtivo);
156
157    var objEscolhasAdicionais = [];
158    $('#popUp-News-Fundo input[id^="Campo-"]').each(function (index) {
159        var camposGrupoInformacaoCadastralId = $("#popUp-News-Fundo input[name^='Campo[" + index + "].CamposGrupoInformacaoCadastralId']").val();
160        var valor = $("#popUp-News-Fundo input[name^='Campo[" + index + "].Valor']").val();
161        objEscolhasAdicionais.push({ CamposGrupoInformacaoCadastralId: camposGrupoInformacaoCadastralId, Valor: valor });
162    });
163
164    $('#popUp-News-Fundo select[id^="ValoresDefinidosCampoGrupoInformacaoId-"]').each(function (index) {
165        var camposGrupoInformacaoCadastralId = $(this).attr('id').replace("ValoresDefinidosCampoGrupoInformacaoId-", "");
166        var valor = $('#popUp-News-Fundo select[id^="ValoresDefinidosCampoGrupoInformacaoId-' + camposGrupoInformacaoCadastralId + '"]').val();
167        objEscolhasAdicionais.push({ CamposGrupoInformacaoCadastralId: camposGrupoInformacaoCadastralId, Valor: valor });
168    });
169
170    $('#popUp-News-Fundo [id^="modal-newsletter-radiogroup-"]').each(function (index) {
171        var camposGrupoInformacaoCadastralId = $(this).attr('data-id');
172        var selectedElem = $('#popUp-News-Fundo input:radio[id^="ValoresDefinidosCampoGrupoInformacaoId-' + camposGrupoInformacaoCadastralId + '"]:checked');
173        var valor = $(selectedElem).val();
174        objEscolhasAdicionais.push({ CamposGrupoInformacaoCadastralId: camposGrupoInformacaoCadastralId, Valor: valor });
175    });
176
177    if (valido == true) {
178        var nome = $(elementoNome).val();
179        var email = $(elementoEmail).val();
180        var sexo = elementoSexo != undefined ? $(elementoSexo).val() : null;
181
182        var dados = { "Nome": nome, "Email": email, "Sexo": sexo, "ValoresEscolhaUsuario": objEscolhasAdicionais };
183        var dadosStringify = JSON.stringify(dados);
184
185        $.ajax({
186            type: "GET",
187            url: fbits.ecommerce.urlEcommerce + "CadastroNewsSalvar?format=json&jsoncallback=?&dados=" + dadosStringify,
188            dataType: "jsonp",
189            headers: {
190                'g-recaptcha-response': gRecaptchaResponse
191            },
192            success: function (data) {
193                if (data.valido) {
194                    $(elementoErro).html(data.mensagem).css({ color: "green" });
195                } else {
196                    if (data.mensagem != '') {
197                        $(elementoErro).html(data.mensagem).css({ color: "red" });
198                    }
199                }
200            }
201        });
202    }
203}
204
205function validarCadastroNewsletter(elementoErro, elementoNome, elementoEmail, elementoSexo, sexoAtivo) {
206    var valido = true;
207    var nome = $(elementoNome).val();
208    var email = $(elementoEmail).val();
209    var sexo = elementoSexo != undefined ? $(elementoSexo).val() : null;
210
211    //Valida o sexo de for necessário
212    if (sexoAtivo) {
213        sexo = $('[id^=Sexo-]:checked').val();
214        if (sexo == undefined || sexo == "") {
215            valido = false;
216            $(elementoErro).html("Favor marcar seu sexo.");
217            $(elementoSexo).focus();
218        }
219    }
220
221    if (nome != undefined) {
222        if (nome == "" || nome == "Nome") {
223            valido = false;
224            $(elementoErro).html("Favor digitar o Nome.");
225            $(elementoNome).focus();
226        }
227        if (valido == true && nome.length < 3) {
228            valido = false;
229            $(elementoErro).html("Nome deve conter mais que 3 caracteres.");
230            $(elementoNome).focus();
231        }
232        if (valido == true && nome.length > 50) {
233            valido = false;
234            $(elementoErro).html("Nome deve conter menos que 50 caracteres.");
235            $(elementoNome).focus();
236        }
237    } else {
238        valido = false;
239        $(elementoErro).html("Favor digitar o Nome.");
240        $(elementoNome).focus();
241    }
242
243    if (email != undefined) {
244        if (valido == true && email == "") {
245            valido = false;
246            $(elementoErro).html("Favor digitar o E-mail.");
247            $(elementoEmail).focus();
248        }
249        if (valido == true && email.length > 70) {
250            valido = false;
251            $(elementoErro).html("E-mail deve conter menos que 70 caracteres.");
252            $(elementoEmail).focus();
253        }
254        if (valido == true && !verificaEmail(email)) {
255            valido = false;
256            $(elementoErro).html("E-mail inválido.");
257            $(elementoEmail).focus();
258        }
259    } else {
260        valido = false;
261        $(elementoErro).html("Favor digitar o E-mail.");
262        $(elementoEmail).focus();
263    }
264    //VALIDAÇÕES - FIM
265
266    if (!valido) {
267        $(elementoErro).css({ color: "red" });
268    }
269    return valido;
270}
271
272
273function validarCadastroNewsletterModal(elementoErro, elementoNome, elementoEmail, elementoSexo, sexoAtivo) {
274    var valido = true;
275    var nome = $(elementoNome).val();
276    var email = $(elementoEmail).val();
277
278    //Valida o sexo de for necessário
279    if (sexoAtivo) {
280        sexo = $('[id^=modal-Sexo-]:checked').val();
281        if (sexo == undefined || sexo == "") {
282            valido = false;
283            $(elementoErro).html("Favor marcar seu sexo.");
284            $(elementoSexo).focus();
285        }
286
287    }
288
289    if (nome != undefined) {
290        if (nome == "" || nome == "Nome") {
291            valido = false;
292            $(elementoErro).html("Favor digitar o Nome.");
293            $(elementoNome).focus();
294        }
295        if (valido == true && nome.length < 3) {
296            valido = false;
297            $(elementoErro).html("Nome deve conter mais que 3 caracteres.");
298            $(elementoNome).focus();
299        }
300        if (valido == true && nome.length > 50) {
301            valido = false;
302            $(elementoErro).html("Nome deve conter menos que 50 caracteres.");
303            $(elementoNome).focus();
304        }
305    } else {
306        valido = false;
307        $(elementoErro).html("Favor digitar o Nome.");
308        $(elementoNome).focus();
309    }
310
311    if (email != undefined) {
312        if (valido == true && email == "") {
313            valido = false;
314            $(elementoErro).html("Favor digitar o E-mail.");
315            $(elementoEmail).focus();
316        }
317        if (valido == true && email.length > 70) {
318            valido = false;
319            $(elementoErro).html("E-mail deve conter menos que 70 caracteres.");
320            $(elementoEmail).focus();
321        }
322        if (valido == true && !verificaEmail(email)) {
323            valido = false;
324            $(elementoErro).html("E-mail inválido.");
325            $(elementoEmail).focus();
326        }
327    } else {
328        valido = false;
329        $(elementoErro).html("Favor digitar o E-mail.");
330        $(elementoEmail).focus();
331    }
332    //VALIDAÇÕES - FIM
333
334    if (!valido) {
335        $(elementoErro).css({ color: "red" });
336    }
337    return valido;
338}
339
340function verificaEmail(email) {
341    return (/^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i.test(email));
342};
343; 
344function abrirModalListaTiposEventos(elem) {
345    var abrirModal = ($(elem).attr("data-abrirmodal") == "True" || $(elem).attr("data-abrirmodal") == "true");
346    if (abrirModal) {
347        if ($().fancybox) {
348            $.fancybox.showActivity()
349        }
350        $.get("/ListaEvento/SelecionaTiposEventos", function (data) {
351            if ($().fancybox) {
352                $.fancybox(data, {
353                    showCloseButton: true,
354                    autoDimensions: false,
355                    onComplete: function () {
356                        try {
357
358                        } catch (e) {
359                            console.log("houve um problema na funçao 'OnComplete' da função abrirModalListaEventos()")
360                        }
361                    },
362                    onClosed: function () {
363
364                    },
365                    onCleanup: function () {
366
367                    }
368                });
369            }
370        })
371    } else {
372        window.location.href = "";
373    }
374}
375
376function RemoverCookieEvento() {
377    let hostname = window.location.hostname;
378
379    if (window.location.hostname.startsWith("www.")) {
380        hostname = hostname.replace("www.", "");
381    }
382
383    if (window.location.hostname.startsWith("www2.")) {
384        hostname = hostname.replace("www2.", "");
385    }
386    const currentDate = new Date();
387    const yesterday = new Date(currentDate.setDate(currentDate.getDate() - 1));
388    document.cookie = "Fbits-Evento=teste;expires=" + yesterday.toUTCString() + ";path=/;domain=." + hostname;
389    location.reload();
390
391
392}
393
394$("#btn-evento-sair").on('click', function (e) {
395    e.preventDefault();
396    RemoverCookieEvento();
397});

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.