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.