(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);