1// Função responsável por organizar a exibição das categorias no topo. 2// Esta função pega a distancia da primeira categoria até o topo da página e compara com as outras categorias. 3// TODA categoria que não possuir a mesma distancia para o topo igual à primeira, será oculta. 4function verificaQuebraCategoriasTopo(){ 5 //corrige problema .top sem existir elemento 6 if($('.elementoTopo .boxCategorias li').length > 0) { 7 $('.elementoTopo .boxCategorias').each(function(i, obj) { 8 var categoriaTopoDistance = $(this).children('li:first-child').offset().top; 9 $('.elementoTopo .boxCategorias > li').each(function(){ 10 var alturaElementoAtual = $(this).offset().top; 11 12 if ( alturaElementoAtual > categoriaTopoDistance ) 13 { 14 $(this).css('visibility','hidden'); 15 $(this).addClass('itemInvisivel'); 16 $(this).removeClass('itemVisivel'); 17 } 18 else 19 { 20 $(this).css('visibility','visible'); 21 $(this).removeClass('itemInvisivel'); 22 $(this).addClass('itemVisivel'); 23 } 24 }); 25 }); 26 } 27} 28 29//Função responsavel por localizar as duas últimas categorias visÃveis e aplicar a classe que realiza a inversão da exibição das categorias 30function aberturaTopoCategoriaInvertida() 31{ 32 $('.elementoTopo .itemInvisivel').prevAll().removeClass('subCategoriasInvertidas'); 33 34 $('.elementoTopo .itemInvisivel').prevAll().removeClass('subCategoriasInvertidas'); 35 $('.itemVisivel').last().prevAll().removeClass('subCategoriasInvertidas'); 36 $('.itemVisivel').last().addClass('subCategoriasInvertidas'); 37 $('.itemVisivel').last().prev().addClass('subCategoriasInvertidas'); 38 39 $('.itemInvisivel').removeClass('subCategoriasInvertidas'); 40} 41 42$(function(){ 43 // Chamada da função que organiza a exibição das categorias 44 verificaQuebraCategoriasTopo(); 45 aberturaTopoCategoriaInvertida(); 46 $(window).resize(function(){ 47 // Chamada da função que organiza a exibição das categorias 48 verificaQuebraCategoriasTopo(); 49 aberturaTopoCategoriaInvertida(); 50 }); 51 52 //TOPO 5 -> Insere a classe, utilizada na versao mobile, que possui a função de exibir o conteúdo dos menus do topo 53 $('.estiloTopo5').on('click', '.itemMenuTopo', function(a){ 54 $(this).toggleClass('itemMenuTopoAberto'); 55 $(this).siblings('.itemMenuTopo').removeClass('itemMenuTopoAberto'); 56 a.stopPropagation(); 57 58 //TOPO 5 -> Retira a classe de exibição de conteúdo do topo ao clicar fora 59 $('body').on('click', function(){ 60 $('.estiloTopo5 .itemMenuTopo').removeClass('itemMenuTopoAberto'); 61 }); 62 }); 63 64 $('.conteudoMenuTopo').on('click', function(z){ 65 z.stopPropagation(); 66 }); 67 /*$('.estiloTopo5').on('hover', '.boxTopoLogin', function(b){ 68 $(this).addClass('itemMenuTopoAberto'); 69 $(this).siblings('.itemMenuTopo').removeClass('itemMenuTopoAberto'); 70 b.stopPropagation(); 71 }); 72 73 $('.estiloTopo5').on('hover', '.boxTopoCarrinho', function(c){ 74 $(this).siblings('.itemMenuTopo').removeClass('itemMenuTopoAberto'); 75 c.stopPropagation(); 76 });*/ 77 78 //Regras Modal "Esqueci minha senha" 79 $('.iframePopUpEsqueciMinhaSenha').attr('href', BASE_URL + 'login-esqueci_minha_senha/'); 80 $('.iframePopUp:not(.iframePopUpEsqueciMinhaSenha)').magnificPopup({ 81 type: 'iframe' 82 }); 83 84 85 86 $(document).on('load', function(){ 87 88 }); 89 90 //Verifica a altura e largura da imagem e testa se é quadrada. 91 //Caso positivo, ajusta o topo para que o logotipo tenha 200x200 pixels 92 /* 93 var img = $(".imgLogoTopo"); 94 $("<img>").attr("src", $(img).attr("src")).load(function(){ 95 var altura = this.width; 96 var largura = this.height; 97 var subtracao = altura - largura; 98 99 if( subtracao == 0 && altura >= 200 && largura >= 200) 100 { 101 $('.elementoTopo').addClass('logoQuadrado'); 102 }
103 //alert("Original width=" + largura + ", " + "Original height=" + altura); 104 105 }); 106 */ 107}); 108/** 109 * Created by BRUNO on 23/05/17. 110 */ 111 112/*FUNCAO QUE REMOVE ITEM DO CARRINHO PELO TOPO*/ 113 114var topoCarrinhoModule = (function($){ 115 var _removeItemCarrinho = function (value) 116 { 117 var uniqid = value.item.uniqid; 118 119 var confirmFunc = new confirmDialog(function(){ 120 $.ajax({ 121 url: BASE_URL + 'checkout-ajax_excluir_produto_carrinho', 122 data: {uniqid : uniqid }, 123 124 success: function(resp) { 125 console.log(resp); 126 if(resp.sucesso) { 127 topoCarrinho_config.vr_total_preco = resp.sucesso.dados_carrinho.total_produtos.vr_total_preco; 128 topoCarrinho_config.qtd_produto = resp.sucesso.dados_carrinho.total_produtos.qtd_total_prod; 129 topoCarrinho_arr_itens.splice(value.index, 1); 130 if(typeof carrinhoScope !== "undefined") 131 { 132 carrinhoScope.checkout = resp.sucesso; 133 } 134 if($('#btnFrete').length > 0) 135 { 136 $('#btnFrete').click(); 137 } 138 topoCarrinhoatualizaIndicadorQtdCarrinho(); 139 topoCarrinhoatualizaIndicadorPrecoCarrinho(); 140 if(typeof atualiza_resumo_carrinho !== "undefined") 141 { 142 atualiza_resumo_carrinho(); 143 } 144 } 145 }, 146 147 error: function(resp) { 148 console.log(resp); 149 } 150 }) 151 }); 152 confirmFunc.create('Tem certeza que deseja remover este produto?'); 153 }; 154 var _tipoCarrinhoAlteraQuantidadeProduto = function(sucesso) 155 { 156 if(typeof topoCarrinho_config != "undefined" && topoCarrinho_arr_itens != "undefined") { 157 topoCarrinho_config.qtd_produto = sucesso.dados_checkout.dados_carrinho.total_produtos.qtd_total_prod; 158 topoCarrinho_config.vr_total_preco = sucesso.dados_checkout.dados_carrinho.total_produtos.vr_total_preco; 159 160 //ATUALIZA CARRINHO 161 //limpa array 162 topoCarrinho_arr_itens.splice(0, topoCarrinho_arr_itens.length); 163 //atualiza array 164 for(var i=0; i < sucesso.dados_checkout.dados_carrinho.produtos_carrinho.length; i++) 165 { 166 topoCarrinho_arr_itens.push(sucesso.dados_checkout.dados_carrinho.produtos_carrinho[i]); 167 } 168 } 169 170 }; 171 172 return { 173 removeItemCarrinho: function(el, value) { 174 _removeItemCarrinho(value); 175 }, 176 tipoCarrinhoAlteraQuantidadeProduto : function (sucesso) 177 { 178 _tipoCarrinhoAlteraQuantidadeProduto(sucesso); 179 } 180 } 181 182 function topoCarrinhoatualizaIndicadorQtdCarrinho() 183 { 184 if(typeof carrinhoModule !=="undefined") 185 { 186 carrinhoModule.atualizaIndicadorQtdCarrinho(); 187 } 188 } 189 190 function topoCarrinhoatualizaIndicadorPrecoCarrinho() 191 { 192 if(typeof carrinhoModule !== "undefined") 193 { 194 carrinhoModule.atualizaIndicadorPrecoCarrinho(); 195 } 196 197 } 198}); 199 200var triggaEventosCarrinho = function(resp) 201{ 202 if (!resp.hasOwnProperty('sucesso')) return; 203 204 var data = resp.sucesso; 205 if (typeof fbq === 'function' && !data.produto_ja_adicionado) { 206 fbq('track', 'AddToCart', { 207 content_ids: [data.id_loja_produto], 208 content_type: 'product', 209 content_name: data.nome_produto, 210 value: data.vr_preco, 211 currency: 'BRL' 212 }); 213 } 214} 215 216$(function() { 217 topoCarrinhoModule = topoCarrinhoModule; 218}); 219 220 221function logar(desc_email1,desc_senha,logaMobile,logaTopo) 222{ 223 $.ajax({ 224 url: BASE_URL+"login-ajax_valida_area_login", 225 data: { desc_email1 : desc_email1, desc_senha: desc_senha , cookies_enabled : navigator.cookieEnabled}, 226 type: "post", 227 dataType:"json", 228 success: function(resp) { 229 processandoDialog.remove(); 230 231 if(resp.sucesso) 232 { 233 // Evento do GA4 234 if (typeof LJVTGA4 !== 'undefined') { 235 LJVTGA4.login(); 236 } 237 238 // Ãcone dinâmico do Topo 5 - Topo 7 239 $('.iconeDinamicoLogin').removeClass('icon-unlocked icon-key').addClass('icon-icone_usuariologado_cx_geral'); 240 241 // Topos que possuem o texto "Meus pedidos" - Topo 2, Topo 3 242 $('.loginPedidosDinamico > :first-child').html('Meus pedidos'); 243
244 $('.bem-vindo p:last-child').html(resp.desc_nome); 245 246 // Topos que possuem o "Seja bem vindo, "nome cliente" - Topo 1, Topo 4, Topo 16 247 $('.boxSaudacaoDinamica > span').html(resp.desc_nome); 248 249 okDialogGeral.create('Login efetuado com sucesso. Seja bem vindo!'); 250 251 $('.conteudoAreaLogin').parent().html(resp.sucesso); 252 $('.topoConteudoAreaLoginLjvtv3').parent().html(resp.sucesso_topo_ljvt_v3); 253 254 if(flg_preco_apos_login == "1") { 255 window.location.reload(); 256 } 257 258 $('.erroLogarAreaLogin').css("display","none"); 259 260 if(logaMobile != undefined && logaMobile != null && logaMobile != "") { 261 logaMobile(); 262 } 263 } else { 264 265 266 if(logaTopo == true) { 267 268/* okDialogGeral.create('Login e/ou senha inválidos.'); 269 $('#desc_email1Topo, #desc_senhaTopo').css("border-bottom","1px solid #d52b2e"); 270 $('.okButton a').click(function(){ 271 $('#_customDialog').hide(); 272 $('body').removeClass('_bodydialogModal'); 273 });*/ 274 275 } else { 276 277 console.log(resp); 278 $('.erroLogarAreaLogin').css("display","flex"); 279 $('.containerCampoCaixaLateral .inputTextLateral').css("border-bottom","1px solid #d52b2e"); 280 if (resp == 401) { 281 okDialogGeral.create('Seu cadastro está sob análise. Em breve entraremos em contato.'); 282 $('.erroLogarAreaLogin').html("Cadastro sob análise"); 283 } else { 284 okDialogGeral.create('Login e/ou senha inválidos.'); 285 $('.erroLogarAreaLogin').html("Login e/ou senha inválidos."); 286 } 287 //$('.ajaxOkConteudo .icon-icone_check_modal').addClass('icon-icone_alerta_modal_geral').removeClass('icon-icone_check_modal'); 288 $('.ajaxOkConteudo .icon-icone_check_modal').addClass('icon-icone_alerta_modal_geral fa-triangle-exclamation fa-solid').removeClass('icon-icone_check_modal fa-clipboard-check'); 289 $('.ajaxOkConteudo .icon-icone_alerta_modal_geral').css({'font-size':'40px', 'margin-bottom':'10px', 'text-align':'center', 'color':'#FFA800' }); 290 } 291 } 292 293 if(resp.sucesso_topo) { 294/* $('.boxLoginCarrinhoTopoTema:not(.carrinhoTopo)').replaceWith(resp.sucesso_topo); 295 $('.boxLoginCarrinhoTopoTema').addClass('active');*/ 296 297 } else if(resp.bem_vindo) { 298 $('.bem-vindo').html(resp.bem_vindo); 299 300 } else if(resp.conteudo_minha_conta_mobile) { 301 $('.boxNavegacaoMinhaConta').after(resp.conteudo_minha_conta_mobile); 302 } 303 304 //atualiza_resumo_carrinho(); 305 }, 306 complete: function(){} 307 }); 308 309 return false; 310} 311 312$(function() { 313 314 $('.descEmail1').keyfilter(/[a-z0-9.@_-]/i); 315 $('.descSenha').keyfilter(/^\S*$/i); 316 317 var rules = { 318 desc_email1: { required: true, email: true }, 319 desc_senha: { required: true } 320 }; 321 322 $(".formLogin").each(function() { 323 $(this).validate({ 324 rules: rules, 325 messages: { 326 desc_email1: { 327 required: "Campo e-mail obrigatório", 328 email: "E-mail inválido" 329 }, 330 desc_senha: { 331 required: "Campo senha obrigatório" 332 } 333 }, 334 errorClass: "inputError", 335 errorPlacement: function(error, element) { 336 element.attr("placeholder", error.text()); 337 }, 338 submitHandler: function(form) { 339 // Handle form submission here 340 } 341 }); 342 }); 343 344 // usa trim para eliminar espaços 345 $('.descEmail1').on('keyup mouseup blur', function(){ 346 $(this).val($.trim($(this).val())); 347 $(this).valid(); 348 }); 349 350 //$(".descEmail1, .descSenha").keypress(function(e) { 351 $('.descEmail1, .descSenha').on('keypress', function(e){ 352 if(e.which == 13) { 353 $(this).closest('.boxLogin').find('.botaoEntrarLogin').click(); 354 } 355 }); 356
357 //$('.descEmail1, .descSenha').focusout(function() { 358 $('.descEmail1, .descSenha').on('focusout', function(){ 359 $(this).valid(); 360 }); 361 362 $('.descEmail1, .descSenha').keypress(function(e){ //fazer login quando apertar enter 363 if(e.which == 13){//Enter key pressed 364 $('#botaoEntrarLogin').click();//Trigger search button click event 365 } 366 }); 367 368 369 // verifica se login e senha da caixa lateral estão vazios e/ou incompletos 370 //- Cond 1. Campos vazios -> mostra o erro na validação antes da Função de Login 371 //- Cond 2. Campo de e-mail com erro e senha preenchida ou não -> mostra o erro na validação antes da Função de Login 372 //- Cond 3. Estando os campos corretamente preenchidos, a função de login é chamada 373 //$(".botaoEntrarLogin").click(function(){ 374 $('body').on('click', '.botaoEntrarLogin > input', function(){ 375 $descEmail1 = $(this).closest('section').find('.descEmail1'); 376 $descSenha = $(this).closest('section').find('.descSenha'); 377 378 if( ($descEmail1.val().length == 0) && ($descSenha.val().length == 0)) { 379 $descEmail1.valid(); 380 $descSenha.valid(); 381 } 382 else if( ($descEmail1.hasClass("inputError")) && 383 ($descEmail1.val().length > 0) && 384 ($descSenha.val().length > 0) || 385 ($descSenha.val().length == 0) ){ 386 387 $descEmail1.valid(); 388 $descSenha.valid(); 389 } 390 else { 391 var email = $descEmail1.val(), 392 senha = $descSenha.val(); 393 394 logar(email,senha); 395 } 396 }); 397 398 $(".botaoEntrarLogin").click(function(){ 399 $descEmail1 = $(this).closest('section').find('.descEmail1'); 400 $descSenha = $(this).closest('section').find('.descSenha'); 401 402 if( ($descEmail1.val().length == 0) && ($descSenha.val().length == 0)) { 403 $descEmail1.valid(); 404 $descSenha.valid(); 405 } 406 else if( ($descEmail1.hasClass("inputError")) && 407 ($descEmail1.val().length > 0) && 408 ($descSenha.val().length > 0) || 409 ($descSenha.val().length == 0) ){ 410 411 $descEmail1.valid(); 412 $descSenha.valid(); 413 } 414 else { 415 var email = $descEmail1.val(), 416 senha = $descSenha.val(); 417 418 logar(email,senha); 419 } 420 }); 421 422 423 $(".boxBotaoVerSenhaInput.topoLogin").click(function(){ 424 if ($(this).hasClass('ativo')) { 425 $(this).removeClass('ativo'); 426 $(this).siblings('[name="desc_senha"]').attr('type', 'password'); 427 } else { 428 $(this).addClass('ativo'); 429 $(this).siblings('[name="desc_senha"]').attr('type', 'text'); 430 } 431 }); 432}); 433 434 435//INICIO FUNÃÃES IMAGEM/TEXTO 436 437// Função responsável por iniciar o carrossel, caso o elemento de imagem/texto possua mais de uma imagem 438// Se tiver apenas uma imagem, retira a barra de navegação 439function verificaQtdImagens() { 440 // 441 $('.boxElementoImagemBanner').each(function(i, obj) { 442 var quantidadeSlides = $(this).children('.itemImagemBanner').length; 443 444 if (quantidadeSlides < 2) 445 { 446 $(this).siblings('.boxBarraNavegacao').hide(); 447 } 448 }); 449} 450 451// Função responsável pela animação automática do carrossel 452/*function rodaSlides() { 453 $('.boxElementoImagemBanner').each(function(i, obj) { 454 var id_imagem_texto = $(this).attr('attr_id_imagem_texto'); 455 var elem = $('.boxElementoImagemBanner[attr_id_imagem_texto="'+id_imagem_texto+'"]'); 456 var itemRemover = elem.children('.itemImagemBanner.itemImagemBannerVisivel'); 457 var barraNavegacao = elem.siblings('.boxBarraNavegacao'); 458 459 if ( itemRemover.next().length > 0 ) 460 { 461 var posicaoItem = itemRemover.next().index(); 462 var posicaoRealItem = posicaoItem + 1; 463 464 barraNavegacao.children('.itemBarraNavegacao').removeClass('itemBarraNavegacaoAtivo'); 465 barraNavegacao.children('.itemBarraNavegacao').eq(posicaoItem).addClass('itemBarraNavegacaoAtivo'); 466 467 itemRemover.next().addClass('itemImagemBannerVisivel'); 468 itemRemover.removeClass('itemImagemBannerVisivel'); 469 } 470 else 471 { 472 var primeiroItem = elem.children('.itemImagemBanner:first-child'); 473 itemRemover.removeClass('itemImagemBannerVisivel'); 474 primeiroItem.addClass('itemImagemBannerVisivel'); 475 476 barraNavegacao.children('.itemBarraNavegacao').removeClass('itemBarraNavegacaoAtivo'); 477 barraNavegacao.children('.itemBarraNavegacao:first-child').addClass('itemBarraNavegacaoAtivo'); 478 } 479 }); 480}*/ 481 482// 1ºIF: Função responsável por retirar o efeito de brilho, caso o slide não possua texto 483// 2ºIF: Função responsável por verificar se o slide não possui imagem. 484// - Caso verdadeiro, soma o maior dos conteúdos de texto e aplica n
484o elemento imagem/texto. Também adiciona algumas regras css para melhor exibição 485// - Caso falso, impede que a classe '.boxElementoSomenteTexto' fique no elemento e impedindo uma boa visualização da imagem 486function retiraBrilho(){ 487 488 var alturaTexto = -1; 489 $('.itemImagemBanner').each(function(i, obj) { 490 if ( $(this).children('.textoItemImagemBanner').children().length == 0 ) 491 { 492 $(this).children('.imagemItemImagemBanner').addClass('itemImagemBannerSemBrilho'); 493 } 494 495 if ( $(this).children('.imagemItemImagemBanner').length == 0 && $(this).siblings('.itemImagemBanner').children('.imagemItemImagemBanner').length == 0 && 496 $(this).children('.boxImagemConteudoItem').length == 0 && $(this).siblings('.itemImagemBanner').children('.boxImagemConteudoItem').length == 0 ) 497 { 498 $(this).children('.textoItemImagemBanner').each(function(u, obj) { 499 alturaTexto = alturaTexto > $(this).height() ? alturaTexto : $(this).height(); 500 }); 501 $(this).closest('.elementoImagem').height(alturaTexto); 502 503 $(this).parent('.boxElementoImagemBanner').addClass('boxElementoSomenteTexto'); 504 $(this).css('height','auto'); 505 } 506 else 507 { 508 $(this).parent('.boxElementoImagemBanner').removeClass('boxElementoSomenteTexto'); 509 } 510 }); 511} 512 513// Função que aplica efeito parallax na imagem principal do tema 514// O valor passado no parametro se refere ao tamanho do efeito 515// Esta função somente aplicará o efeito parallax em resoluções menores que 1000px 516function parallaxImagemFundo(){ 517 var rolagem = $(window).scrollTop(); 518 var alturaTela = $(window).height(); 519 var larguraTela = $(window).width(); 520 521 if( larguraTela < 1000) 522 { 523 $('.tipoColunasDivisor1:not(.conteudoDivisorCentralizado) .itemImagemBanner').each(function(i, obj) { 524 525 /*var valorBase = rolagem + alturaTela; 526 var quantidadeDeslocamento = (valorBase-distancia)*valor;*/ 527 var distancia = $(this).offset().top; 528 var alturaElemento = $(this).height(); 529 var diferencaDistanciaAlturaTela = distancia - alturaTela; 530 var diferencaRolagemDistanciaAlturaTela = rolagem - diferencaDistanciaAlturaTela; 531 var qtdRolagem = -(alturaElemento) + diferencaRolagemDistanciaAlturaTela; 532 var diferencaRolagemDistancia = rolagem - distancia; 533 534 if( rolagem > diferencaDistanciaAlturaTela) 535 { 536 $(this).children('.imagemItemImagemBanner').css('background-position','center '+ qtdRolagem * 0.17 +'px'); 537 } 538 if( ( rolagem + alturaTela )>( distancia + alturaElemento ) ) 539 { 540 $(this).children('.imagemItemImagemBanner').css('background-position','center 0px'); 541 } 542 if( rolagem > distancia ) 543 { 544 $(this).children('.imagemItemImagemBanner').css('background-position','center '+ +(diferencaRolagemDistancia * 0.17)+'px'); 545 } 546 }); 547 } 548} 549 550 551// Função que verifica se existem somente elementos com imagens personalizadas e com o atributo "backgroound-size:contain" 552// Se positivo, pega a maior altura e aplica no elemento 553// Se negativo, insere a altura Máxima do Elemento imagem & texto igual ao da menor imagem carregada, caso não tenha imagem do sistema no banner 554function imagemPersonalizadaContain() 555{ 556 $('.elementoImagem').each(function(){ 557 var elem = $(this); 558 559 //Verifica a quantidade total de elementos 560 var qtdElemTotal = elem.find('.itemImagemBanner').length; 561 //alert('tem'+qtdElemTotal+'elementos no total'); 562 563 //Verifica a quantidade de elementos que são de imagem personalizada e com o atributo background-size=contain 564 var qtdElemPersonalizadosContain = elem.find('.imagemPersonalizadaContain').length; 565 // alert('tem'+qtdElemPersonalizadosContain+' com contauin e personalizados no total'); 566 567 //Verifica a quantidade de elementos que são de imagem com o atributo background-size=cover 568 var qtdElemModoCapa = elem.find('.modeloExibicaoCapa').length; 569 570 571 //Caso a quantidade total de elementos seja diferente da quantidade de elementos com imagem personalizada e contain, 572 //Verifica se existem imagens de conteúdo e e soma a quantidade com a variável de imgs personalizadas e contain 573 if( qtdElemTotal != qtdElemPersonalizadosContain ) { 574 var qtd_imgs_conteudo = elem.find('.boxImagemConteudoItem').length; 575 qtdElemPersonalizadosContain = qtdElemPersonalizadosContain + qtd_imgs_conteudo; 576 } 577 578 //Testa se a quantidade de elementos totais é igual à quantidade de elementos personalizados e com contain 579 //Caso positivo, verifica a imagem que possui a maior altura e aplica este valor ao conteúdo 580 if( qtdElemTotal == qtdElemPersonalizadosContain ) 581 { 582 setTimeout(function(){ 583 //elem.find('.itemImagemBanner, .imagemItemImagemBanner').css('position','initial'); 584 var alturaFinal = 0; 585 elem.find('.itemImagemBanner').each(function(){ 586 587 var alturaImagem = $(this).find('.efeitoBrilhoImagemBanner img').height(); 588 589 if( alturaFinal < alturaImagem ) 590 { 591 alturaFinal = alturaImagem; 592 elem.children('.boxElementoImagemBanner.alturaAutomatica').height(alturaFinal); 593 } 594 })/*.promise().done( function(){ 595 setTimeout(function(){ 596 if( elem.children('.boxElementoImagemBanner').hasClass('alturaAutomatica') ) 597 { 598 elem.children('.boxElementoImagemBanner.alturaAutomatica').height(alturaFinal); 599 } 600 },1000); 601 })*/; 602 603 elem.find('.itemImagemBanner, .imagemItemImagemBanner').css('position','absolute'); 604 }, 300); 605 } 606 else 607 { 608 elem.children('.boxElementoImagemBanner').each(function(i, obj) { 609 if(!jQuery(this).hasClass("alturaManual")){ 610 if($(this).children().children('.imagemSistema').length == 0) 611 { 612 var tamanhoImagemFinal = 999; 613 $(this).children('.itemImagemBanner').each(function() { 614 var tamanhoImagem = $(this).attr('attr-vr-altura-imagem'); 615 /*console.log(tamanhoImagemFinal+'..................'+tamanhoImagem);*/ 616 if ( tamanhoImagem < 1000 ) 617 { 618 if ( tamanhoImagemFinal > tamanhoImagem ) 619 { 620 tamanhoImagemFinal = tamanhoImagem 621 } 622 } 623 }); 624 $(this).height(tamanhoImagemFinal); 625 } 626 } 627 }); 628 } 629 630 631 // Se a quantidade de elementos com o atributo "background-size=cover" for igual à quantidade total de elementos, é definida uma altura mÃnima para o elemento 632 /*if( qtdElemTotal == qtdElemModoCapa ) 633 { 634 elem.children('.boxElementoImagemBanner.alturaAutomatica').css('min-height','200px'); 635 }*/ 636 }); 637} 638 639 640//Funções responsaveis por rodar o slide para frente e para trás 641function rodaSlideFrente() 642{ 643 644} 645 646// Função que controla os players de video do Imagem & Texto. Esta funçao, por ser nativa da API do youtube, deve ser única 647// Por isso, foi inserida aqui e seus controllers de players dos vÃdeos inseridos na loja serão chamados dentro da função 648/* 649function onYouTubeIframeAPIReady() {
650 //playerSlide34952.init(); 651 $('.elementoImagem').each(function(){ 652 var id_loja_tema_conteudo = $(this).attr('attr-id-loja-tema-conteudo'); 653 var stringFuncao = 'playerSlide'+id_loja_tema_conteudo+'()'; 654 eval(stringFuncao); 655 }); 656 657 verificaVideoElemAlturaFixa(); 658} 659*/ 660 661//Função responsável por verificar os banners com altura manual e com vÃdeo para ajustar a exibição do vÃdeo 662//para que não sobre espaços "em branco" 663function verificaVideoElemAlturaFixa() 664{ 665 $('.boxElementoImagemBanner').each(function(i, obj) { 666 if( $(this).hasClass('alturaManual') ) 667 { 668 var alturaItem = $(this).height(); 669 var larguraItem = $(this).width(); 670 var larguraTela = $(window).width(); 671 var elemVideo = $(this).find('.itemVideoBanner').children('iframe'); 672 673 if( larguraTela < 1450 ) 674 { 675 //var valorParcial = larguraTela / 100 * 90; 676 var valorLargura = 1000 + larguraTela; 677 elemVideo.width(valorLargura); 678 679 /* alert(valorParcial); 680 alert(valorLargura);*/ 681 } 682 else 683 { 684 elemVideo.width(larguraTela); 685 } 686 } 687 }); 688} 689$(function(){ 690 //Desliza para a esquerda 691 $('.boxElementoImagemBanner').on('swiperight', function(){ 692 var prim_nav = $(this).siblings('.boxBarraNavegacao').children('.itemBarraNavegacao:last-child'); 693 var nav_atual = $(this).siblings('.boxBarraNavegacao').children('.itemBarraNavegacao.itemBarraNavegacaoAtivo'); 694 var prox_nav = nav_atual.prev('.itemBarraNavegacao'); 695 696 if( prox_nav.length == 0 ) 697 { 698 prim_nav.trigger('click'); 699 } 700 else 701 { 702 prox_nav.trigger('click'); 703 } 704 }); 705 706 $('.boxElementoImagemBanner').on('swipeleft', function(){ 707 var prim_nav = $(this).siblings('.boxBarraNavegacao').children('.itemBarraNavegacao:first-child'); 708 var nav_atual = $(this).siblings('.boxBarraNavegacao').children('.itemBarraNavegacao.itemBarraNavegacaoAtivo'); 709 var prox_nav = nav_atual.next('.itemBarraNavegacao'); 710 711 if( prox_nav.length == 0 ) 712 { 713 prim_nav.trigger('click'); 714 } 715 else 716 { 717 prox_nav.trigger('click'); 718 } 719 }); 720 721 722 723 imagemPersonalizadaContain(); 724 setTimeout(function(){ 725 imagemPersonalizadaContain(); 726 }, 300); 727 // Chama a função que ajusta a altura do elemento de Imagem Texto quando só houverem imagens personalizadas 728 /*limiteAltura();*/ 729 730 $(window).scroll(function(){ 731 // Chama a função do parallax 732 parallaxImagemFundo(); 733 }); 734 // Chama a função do parallax 735 parallaxImagemFundo(); 736 737 738 // Chama a função que retira o brilho do slide caso não haja nenhum texto 739 retiraBrilho(); 740 setTimeout(function(){ 741 retiraBrilho(); 742 }, 1000); 743 744 // Chama a função que retira o brilho do slide caso não haja nenhum texto no redimensionamento da tela 745 $(window).resize(function(){ 746 retiraBrilho(); 747 verificaVideoElemAlturaFixa(); 748 }); 749 750 // Chama a função que verifica a quantidade de imagens em cada elemento especÃfico 751 verificaQtdImagens(); 752 753 // Chama a função de slides dentro de uma variável afim de facilitar sua chamada 754 //var slide = setInterval(rodaSlides, tempo_transicao * 1000); 755 756 // Define um tempo de 1 segundo para iniciar a função de transição dos slides 757 /*setTimeout(function(){ 758 return slide; 759 }, 1000);*/ 760 761 //Exibe o primeiro slide/imagem ao carregar a página e o primeiro botão da barra de navegação 762 $('.itemImagemBanner:first-child').addClass('itemImagemBannerVisivel'); 763 $('.itemBarraNavegacao:first-child').addClass('itemBarraNavegacaoAtivo'); 764 765 766 //MUDANÃA DE SLIDES ORIENTADOS PELA BARRA DE NAVEGAÃÃO 767 // Ao clicar no item da navegação, o slide/imagem que corresponde a mesma ordem é exibido 768 // A contagem do slide também é reiniciada 769 /*$(document).on('click', '.itemBarraNavegacao', function(){ 770 var posicaoNavegacao = $(this).index(); 771 var posicaoNavegacaoReal = posicaoNavegacao ; 772 773 $(this).parent('.boxBarraNavegacao').siblings('.boxElementoImagemBanner').children('.itemImagemBanner').removeClass('itemImagemBannerVisivel'); 774 $(this).parent('.boxBarraNavegacao').siblings('.boxElementoImagemBanner').children('.itemImagemBanner').eq(posicaoNavegacaoReal).addClass('itemImagemBannerVisivel'); 775 776 $(this).siblings().removeClass('itemBarraNavegacaoAtivo'); 777 $(this).addClass('itemBarraNavegacaoAtivo'); 778 779 clearInterval(slide); 780 slide = setInterval(rodaSlides, tempo_transicao * 1000); 781 });*/ 782 783 $('.itemImagemBannerHref').on('click', function() { 784 if($(this).hasClass('itemImagemBannerVisivel')) { 785 var href = $(this).attr('data-href'); 786 787 if(href.length) { 788 if(href.search(BASE_URL) >= 0) { 789 window.location.href = href; 790 } else { 791 if(!(href.search('http://') >= 0 || href.search('https://') >= 0)) { 792 href = 'http://' + href; 793 } 794 795 window.open(href, '_blank'); 796 } 797 798 } 799 } 800 }); 801 802 /*setTimeout(function(){ 803 $('.boxElementoImagemBanner').addClass('altura'); 804 }, 1000);*/ 805 806}); 807 808$(window).load(function(){ 809 setTimeout(function(){ 810 imagemPersonalizadaContain(); 811 812 //Chama a funçao dos players 813 //onYouTubeIframeAPIReady(); 814 }, 100); 815 816 817}); 818(function(){ 819 820 821 822 823 var iniciaInstagramGaleria = function() { 824 //Mapeia a largura da tela e ajusta a quantidade de exibição de slides 825 var larguraTela = $(window).width(); 826 jQuery('.elementoInstagramGaleria').each(function() 827 { 828 //Registra os script e salva o id do conteúdo passado no parâmetro 829 var id_loja_tema_conteudo = jQuery(this).attr('attr-id-loja-tema-conteudo'); 830 // Cria a variável com o elemento 831 832 var qtd_slides = jQuery(this).children('.boxCarrosselInstagramGaleria').attr('attr-qtd_slides'); 833 //console.log("QTD", qtd_slides); 834 835 var arrows = jQuery(this).children('.boxCarrosselInstagramGaleria').attr('attr-arrows'); 836 var dots = jQuery(this).children('.boxCarrosselInstagramGaleria').attr('attr-
836dots'); 837 var autoplay = jQuery(this).children('.boxCarrosselInstagramGaleria').attr('attr-autoplay'); 838 var autoplaySpeed = jQuery(this).children('.boxCarrosselInstagramGaleria').attr('attr-autoplaySpeed'); 839 840 841 var slidesToShow = qtd_slides; 842 843 //Pega as imagens de fundo que estão como atributo e as insere como css 844 //O tempo de 4000 ms foi definido por conta do Google Pagespeed. Valores abaixo de 4000 dá erro no pagespeed 845 setTimeout(function() 846 { 847 jQuery('.boxCarrosselInstagramGaleria[attr-id-loja-tema-conteudo="'+id_loja_tema_conteudo+'"] [attr-style-instagram]').each(function() 848 { 849 jQuery(this).attr('style', jQuery(this).attr('attr-style-instagram')).removeAttr('attr-style-instagram'); 850 }); 851 },4000); 852 853 if( larguraTela < 500 ) 854 { 855 if( $('.elementoInstagramGaleria[attr-id-loja-tema-conteudo="'+id_loja_tema_conteudo+'"]').hasClass('alturaGaleriaGrande') ) 856 { 857 slidesToShow = 1; 858 } 859 else if( $('.elementoInstagramGaleria[attr-id-loja-tema-conteudo="'+id_loja_tema_conteudo+'"]').hasClass('alturaGaleriaMedia') ) 860 { 861 slidesToShow = 2; 862 } 863 else if( $('.elementoInstagramGaleria[attr-id-loja-tema-conteudo="'+id_loja_tema_conteudo+'"]').hasClass('alturaGaleriaPequena') ) 864 { 865 slidesToShow = 2; 866 } 867 868 } 869 else if( larguraTela < 700 ) 870 { 871 if( $('.elementoInstagramGaleria[attr-id-loja-tema-conteudo="'+id_loja_tema_conteudo+'"]').hasClass('alturaGaleriaGrande') ) 872 { 873 slidesToShow = 2; 874 } 875 else if( $('.elementoInstagramGaleria[attr-id-loja-tema-conteudo="'+id_loja_tema_conteudo+'"]').hasClass('alturaGaleriaMedia') ) 876 { 877 slidesToShow = 2; 878 } 879 else if( $('.elementoInstagramGaleria[attr-id-loja-tema-conteudo="'+id_loja_tema_conteudo+'"]').hasClass('alturaGaleriaPequena') ) 880 { 881 slidesToShow = 3; 882 } 883 } 884 else if( larguraTela < 1000 ) 885 { 886 if( $('.elementoInstagramGaleria[attr-id-loja-tema-conteudo="'+id_loja_tema_conteudo+'"]').hasClass('alturaGaleriaGrande') ) 887 { 888 slidesToShow = 3; 889 } 890 else if( $('.elementoInstagramGaleria[attr-id-loja-tema-conteudo="'+id_loja_tema_conteudo+'"]').hasClass('alturaGaleriaMedia') ) 891 { 892 slidesToShow = 4; 893 } 894 else if( $('.elementoInstagramGaleria[attr-id-loja-tema-conteudo="'+id_loja_tema_conteudo+'"]').hasClass('alturaGaleriaPequena') ) 895 { 896 slidesToShow = 5; 897 } 898 } 899 900 //Faz a verificação de qual o tipo do divisor e largura da coluna para definir o limite de slides exibidos 901 //Verifica se é divisor extendido/fluÃdo (if) ou divisor centralizado (else) 902 if( $('.boxCarrosselInstagramGaleria[attr-id_conteudo="'+id_loja_tema_conteudo+'"]').closest('.conteudoInternoDivisor').hasClass('conteudoDivisorFluido') ) 903 { 904 //Verifica se a coluna é de Largura 1 905 if( $('.boxCarrosselInstagramGaleria[attr-id_conteudo="'+id_loja_tema_conteudo+'"]').closest('.colunaDivisor').hasClass('larguraColunaDivisor1') ) 906 { 907 slidesToShow = 2; 908 } 909 //Verifica se a coluna é de Largura 2 910 else if( $('.boxCarrosselInstagramGaleria[attr-id_conteudo="'+id_loja_tema_conteudo+'"]').closest('.colunaDivisor').hasClass('larguraColunaDivisor2') ) 911 { 912 slidesToShow = 3; 913 } 914 //Verifica se a coluna é de Largura 3 915 else if( $('.boxCarrosselInstagramGaleria[attr-id_conteudo="'+id_loja_tema_conteudo+'"]').closest('.colunaDivisor').hasClass('larguraColunaDivisor3') ) 916 { 917 slidesToShow = 4; 918 } 919 } 920 else 921 { 922 //Verifica se a coluna é de Largura 1 923 if( $('.boxCarrosselInstagramGaleria[attr-id_conteudo="'+id_loja_tema_conteudo+'"]').closest('.colunaDivisor').hasClass('larguraColunaDivisor1') ) 924 { 925 slidesToShow = 2; 926 } 927 //Verifica se a coluna é de Largura 2 928 else if( $('.boxCarrosselInstagramGaleria[attr-id_conteudo="'+id_loja_tema_conteudo+'"]').closest('.colunaDivisor').hasClass('larguraColunaDivisor2') ) 929 { 930 slidesToShow = 2; 931 } 932 //Verifica se a coluna é de Largura 3 933 else if( $('.boxCarrosselInstagramGaleria[attr-id_conteudo="'+id_loja_tema_conteudo+'"]').closest('.colunaDivisor').hasClass('larguraColunaDivisor3') ) 934 { 935 slidesToShow = 3; 936 } 937 //Verifica se a coluna é de Largura 4 938 else if( $('.boxCarrosselInstagramGaleria[attr-id_conteudo="'+id_loja_tema_conteudo+'"]').closest('.colunaDivisor').hasClass('larguraColunaDivisor3') ) 939 { 940 slidesToShow = 4; 941 } 942 } 943
944 //Limita o máximo de slides dependendo da altura setada 945 if( $('.elementoInstagramGaleria[attr-id-loja-tema-conteudo="'+id_loja_tema_conteudo+'"]').hasClass('alturaGaleriaGrande') ) 946 { 947 if( slidesToShow > 4 ) 948 { 949 slidesToShow = 4; 950 } 951 } 952 else if( $('.elementoInstagramGaleria[attr-id-loja-tema-conteudo="'+id_loja_tema_conteudo+'"]').hasClass('alturaGaleriaMedia') ) 953 { 954 if( slidesToShow > 5 ) 955 { 956 slidesToShow = 5; 957 } 958 } 959 else if( $('.elementoInstagramGaleria[attr-id-loja-tema-conteudo="'+id_loja_tema_conteudo+'"]').hasClass('alturaGaleriaPequena') ) 960 { 961 if( slidesToShow > 6 ) 962 { 963 slidesToShow = 6; 964 } 965 } 966 967 // Cria a variável com o elemento 968 var $slide = $('.boxCarrosselInstagramGaleria[attr-id_conteudo="'+id_loja_tema_conteudo+'"]'); 969 970 // Na inicialização do slider, verifica se não existem setas 971 // Caso positivo: Esconde também a barra de navegação 972 $($slide).on('init', function (event, slick, direction) { 973 if( $('.boxCarrosselInstagramGaleria[attr-id_conteudo="'+id_loja_tema_conteudo+'"] .slick-arrow').length == 0 ) 974 { 975 $('.boxCarrosselInstagramGaleria[attr-id_conteudo="'+id_loja_tema_conteudo+'"] .slick-dots').hide(); 976 } 977 else 978 { 979 $('.boxCarrosselInstagramGaleria[attr-id_conteudo="'+id_loja_tema_conteudo+'"] .slick-dots').css('display','table'); 980 } 981 }); 982 983 //Carrega o plugin do carrossel no elemento 984 console.log($slide); 985 setTimeout(function() 986 { 987 if ($slide.html().trim().length) { 988 $slide.slick({ 989 infinite: true, 990 slidesToShow: slidesToShow, 991 slidesToScroll: 1, 992 arrows: arrows, 993 dots: dots, 994 adaptiveHeight: false, 995 autoplay: autoplay, 996 autoplaySpeed: autoplaySpeed, 997 pauseOnDotsHover: false, 998 pauseOnFocus: false, 999 pauseOnHover: false, 1000 swipeToSlide: true 1001 }); 1002 } 1003 },4100); // Definido esse timeout para garantir o carregamento das imagens ao rodar a função do slick carrossel 1004 }); 1005 1006 1007}; 1008 1009$(window).on('load', function(){ 1010 iniciaInstagramGaleria(); 1011}); 1012})(); 1013 1014 1015
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.