(function($) { 'use strict'; $(document).ready(function() { var $body = $('body'); var $win = $(window); var $loader = $('.ansiaLoader'); var $mainNav = $('.main-navigation'); var $hamburger = $('.hamburger'); var $opacityBox = $('.opacityBox'); var $spinClass = $('.hamburger--spin'); var $subbar = $('.ansia-subbar'); var $searchButton = $('.ansia-search-button'); var $searchField = $('.ansia-search-button .search-container .search-field'); var $sideMenu = $('aside ul.menu, aside ul.product-categories'); var $toTop = $('#toTop'); var $ansiaLogo = $('.ansiaLogo'); /*-----------------------------------------------------------------------------------*/ /* Detect Mobile Browser /*-----------------------------------------------------------------------------------*/ var mobileDetect = /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent); /*-----------------------------------------------------------------------------------*/ /* Page Loader /*-----------------------------------------------------------------------------------*/ if ($loader.length) { $loader.delay(600).fadeOut(1000); } /*-----------------------------------------------------------------------------------*/ /* Home icon in main menu /*-----------------------------------------------------------------------------------*/ $mainNav.find('.menu-item-home:first-child > a').prepend(''); /*-----------------------------------------------------------------------------------*/ /* Sidebar Push Button /*-----------------------------------------------------------------------------------*/ function toggleSidebar() { $body.toggleClass('yesOpen'); $('.ansia-sidebar-button, .ansia-bar, .ansia-subbar').toggleClass('yesOpen'); $spinClass.toggleClass('is-active'); if (mobileDetect) { $opacityBox.toggleClass('yesOpen'); } } $hamburger.on('click', toggleSidebar); $opacityBox.on('click', toggleSidebar); /*-----------------------------------------------------------------------------------*/ /* Search Button /*-----------------------------------------------------------------------------------*/ $('.ansia-search-button .asbutton').on('click', function() { $searchButton.add($subbar).toggleClass('searchOpen'); if ($searchButton.hasClass('searchOpen') && !mobileDetect) { $searchField.focus(); } }); /*-----------------------------------------------------------------------------------*/ /* Menu Widget /*-----------------------------------------------------------------------------------*/ $sideMenu.find('li').each(function() { if ($(this).children('ul').length) { $(this).append(''); } }); $sideMenu.find('li > .indicatorBar').on('click', function() { var $li = $(this).parent(); var $sub = $li.children('ul.sub-menu, ul.children'); $sub.toggleClass('yesOpenBar'); $(this).toggleClass('yesOpenBar'); if ($sub.hasClass('yesOpenBar')) { $sub.stop(true, true).slideDown(300); } else { $sub.stop(true, true).slideUp(200); } }); /*-----------------------------------------------------------------------------------*/ /* Mobile Menu /*-----------------------------------------------------------------------------------*/ function setupMobileMenu() { $mainNav.find('li').each(function() { if ($(this).children('ul').length) { $(this).append(''); } }); $mainNav.find('li > .indicator').on('click', function() { var $li = $(this).parent(); var $sub = $li.children('ul.sub-menu, ul.children'); $sub.toggleClass('yesOpen'); $(this).toggleClass('yesOpen'); if ($sub.hasClass('yesOpen')) { $sub.stop(true, true).slideDown(300); } else { $sub.stop(true, true).slideUp(200); } }); } if ($win.width() <= 1025) { setupMobileMenu(); } $win.on('resize', function() { if ($win.width() > 1025) { $mainNav .find('li.menu-item-has-children, li.page_item_has_children') .children('ul.sub-menu, ul.children') .stop(true, true) .slideDown(300); } }); /*-----------------------------------------------------------------------------------*/ /* Scroll To Top /*-----------------------------------------------------------------------------------*/ if (!mobileDetect || $toTop.hasClass('scrolltop_on')) { $win.on('scroll', function() { if ($(this).scrollTop() > 700) { $toTop.addClass('visible'); } else { $toTop.removeClass('visible'); } }); $toTop.on('click', function(e) { e.preventDefault(); $('html, body').stop(true, true).animate({ scrollTop: 0 }, 1000); }); } /*-----------------------------------------------------------------------------------*/ /* Detect Mobile Browser /*-----------------------------------------------------------------------------------*/ if (!mobileDetect) { $ansiaLogo.data('height', $ansiaLogo.outerHeight()); $win.on('scroll', function() { var position = this.scrollY; var height = $ansiaLogo.data('height'); var contentTop = $('#content').offset().top; var footerTop = $('#colophon').offset().top - position; var bottomArea = window.innerHeight - document.getElementById('colophon').offsetHeight; if (position > 0 && contentTop > position && footerTop > bottomArea) { if (position < height) { $ansiaLogo.css('opacity', (1 - position / height / 1.5)); } } else if (position <= 0) { $ansiaLogo.css('opacity', 1); } }); } }); })(jQuery);