// variável global que armazena o nome atual do arquivo (utilizado ao gerar o log de erros javascript no servidor) var index = 'index.js?origem=site'; // carrega o módulo a cada mudança de hash do tipo #! $(window).on('hashchange', function() { // mata a execução do slider da página inicial $('.tp-banner-full, .tp-banner1, .tp-banner').revkill(); carregaModulo(); // rola a página até o seu topo $('html, body').animate({scrollTop: 0}, 800); }); // gera o 'sticky menu' do site var scrolled = false; $(window).on('scroll', function() { ($('.navbar').offset().top > 50) ? $('.navbar-fixed-top').addClass('sticky-nav') : $('.navbar-fixed-top').removeClass('sticky-nav'); if (110 < $(window).scrollTop() && !scrolled) { $('.navbar').addClass('sticky animated fadeInDown').animate({ 'margin-top': '0px' }); scrolled = true; } if (110 > $(window).scrollTop() && scrolled) { $('.navbar').removeClass('sticky animated fadeInDown').css('margin-top', '0px'); scrolled = false; } }); // ao clicar no botão de pesquisa, mostra a div $('.header-x').on('click', '.ss-trigger', function() { $('.ss-content').addClass('ss-content-act'); $('#textBuscaSite').focus(); }); // ao clicar no botão (x) da div de pesquisa, fecha ela $('.ss-content').on('click', '.ss-close', function() { $('.ss-content').removeClass('ss-content-act'); }); // ao passar o mouse sobre um dos itens do menu $('#navbar-collapse-1').on('mouseover', '.dropdown', function() { mostraSubmenu($(this)); }); // ao clicar ou sair de um dos itens do menu $(document).on('click mouseleave', '#navbar-collapse-1, .dropdown-submenu', function() { escondeSubmenu(); }); // ao clicar no botão de pesquisa do site $(document).on('click', '#buttonRealizaBusca', function() { if ($('#textBuscaSite').val().trim()) { $('.ss-content').removeClass('ss-content-act'); location.hash = '#!html/resultados_busca.html?q=' + $('#textBuscaSite').val().trim(); } }); // ao clicar no menu mobile $(document).on('click', '#divMenuMobile li', function() { escondeMenuMobile(); }); // tenta cadastrar o email no newsletter $('#formNewsletter').on('click', '#buttonAssinar', function() { cadastraAssinanteNewsletter(); }); // após o carregamento da página $(function() { iniciar(); }); /** * Função executada ao carregar a página atual * @returns {undefined} */ function iniciar() { try { carregaModulo(); carregaDispatcher('menu/listar/flVisivel=true').done(function(retorno) { for (i = 0; i < retorno.dados.dadosMenu.length; i++) { if (retorno.dados.dadosMenu[i].submenu) { retorno.dados.dadosMenu[i]['existe_submenu'] = true; } if (retorno.dados.dadosMenu[i].tipo_pagina === 'URL_EXT') { retorno.dados.dadosMenu[i]['target_blank'] = true; } for (j = 0; j < retorno.dados.dadosMenu[i].submenu.length; j++) { if (retorno.dados.dadosMenu[i].submenu[j].tipo_pagina === 'URL_EXT') { retorno.dados.dadosMenu[i].submenu[j]['target_blank'] = true; } } } var templateMenu = renderizaTemplate($('#templateMenu'), retorno.dados.dadosMenu); var templateMenuMobile = renderizaTemplate($('#templateMenuMobile'), retorno.dados.dadosMenu); $('#navbar-collapse-1').html(templateMenu); $('#divMenuMobile').html(templateMenuMobile); }); $('button.navbar-toggle').HippoOffCanvasMenu({ documentWrapper: '#main-wrapper', contentWrapper: '.content-wrapper', position: 'hippo-offcanvas-left', effect: 'slide-in-on-top', closeButton: '#off-canvas-close-btn', menuWrapper: '.offcanvas-menu', documentPusher: '.offcanvas-pusher' }); $('#main-wrapper').css('height', ''); // carrega a folha de estilos do site carregaDispatcher('pagina/listaEstilo/').done(function(retorno) { if (retorno.dados.caminho_arq_css) { $('head').append(''); } }); // remove o preloader da página $('#status').fadeOut(); $('#preloader').delay(200).fadeOut('slow'); // inicia a análise do Google analytics initGoogleAnalytics(); } catch (erro) { geraLog(index, 'iniciar()', erro.message); } } // iniciar() /** * Realiza a assinatura do solicitante no newsletter * @returns {Boolean} */ function cadastraAssinanteNewsletter() { try { if (!$('#textNewsletter').val().trim()) { return false; } carregaDispatcher('boletim/inserir/' + $('#formNewsletter').serialize()).done(function(retorno) { switch (retorno.tpMsg) { case 'sucesso': geraMensagem($('#divMsgNewsletter'), retorno.mensagem, 'sucesso'); $('#textNewsletter').val(''); break; case 'alertaValidacao': geraMensagem($('#divMsgNewsletter'), retorno.dados.mensagem, 'alerta'); break; default: geraMensagem($('#divMsgNewsletter'), retorno.mensagem, 'erro'); break; } }); } catch (erro) { geraLog(index, 'cadastraAssinanteNewsletter()', erro.message); } } // cadastraAssinanteNewsletter() /** * Mostra um submenu do site (caso ele exista) * @param {object} $elemento Objeto jQuery que representa o elemento do menu selecionado * @returns {undefined} */ function mostraSubmenu($elemento) { try { $('.dropdown').not($elemento).removeClass('open'); $('#navbar-collapse-1 .dropdown-toggle').not($elemento).attr('aria-expanded', 'false'); $elemento.addClass('open'); $elemento.find('a .dropdown-toggle').attr('aria-expanded', 'true'); } catch (erro) { geraLog(index, 'mostraSubmenu()', erro.message); } } // mostraSubmenu() /** * Esconde um submenu * @returns {undefined} */ function escondeSubmenu() { try { $('.dropdown').removeClass('open'); $('#navbar-collapse-1 .dropdown-toggle').attr('aria-expanded', 'false'); } catch (erro) { geraLog(index, 'escondeSubmenu()', erro.message); } } // escondeSubmenu() /** * Esconde o menu versão mobile * @returns {undefined} */ function escondeMenuMobile() { try { $('#main-wrapper').removeClass('hippo-offcanvas-open'); } catch (erro) { geraLog(index, 'escondeMenuMobile()', erro.message); } } // escondeMenuMobile() /** * Carrega o plugin social do Fcebook no rodapé do site * @returns {undefined} */ function carregaPLuginSocialFacebook() { try { (function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0]; if (d.getElementById(id)) return; js = d.createElement(s); js.id = id; js.src = "//connect.facebook.net/pt_BR/sdk.js#xfbml=1&version=v2.9"; fjs.parentNode.insertBefore(js, fjs); }(document, 'script', 'facebook-jssdk')); } catch (erro) { geraLog(index, 'carregaPLuginSocialFacebook()', erro.message); } } // carregaPLuginSocialFacebook()