var kavaResponsiveMenu=function kavaResponsiveMenu(){
var options=arguments.length > 0&&arguments[0]!==undefined ? arguments[0]:{};
var defaults={
wrapper: '.main-navigation',
menu: '.menu',
threshold: 640,
mobileMenuClass: 'mobile-menu',
mobileMenuOpenClass: 'mobile-menu-open',
mobileMenuToggleButtonClass: 'mobile-menu-toggle-button',
toggleButtonTemplate: '<i class="mobile-menu-close fa fa-bars" aria-hidden="true"></i><i class="mobile-menu-open fa fa-times" aria-hidden="true"></i>'
};
if(typeof Object.assign!=='function'){
options=jQuery.extend({}, defaults, options);
}else{
options=Object.assign(defaults, options);
}
var wrapper=options.wrapper.nodeType ?
options.wrapper :
document.querySelector(options.wrapper);
var menu=options.menu.nodeType ?
options.menu :
document.querySelector(options.menu);
var toggleButton,
toggleButtonOpenBlock,
toggleButtonCloseBlock,
isMobileMenu,
isMobileMenuOpen;
var init=[
addToggleButton,
checkScreenWidth,
addResizeHandler
];
if(wrapper&&menu){
runSeries(init);
}
function addToggleButton(){
toggleButton=document.createElement('button');
toggleButton.innerHTML=options.toggleButtonTemplate.trim();
toggleButton.className=options.mobileMenuToggleButtonClass;
wrapper.insertBefore(toggleButton, wrapper.children[0]);
toggleButtonOpenBlock=toggleButton.querySelector('.mobile-menu-open');
toggleButtonCloseBlock=toggleButton.querySelector('.mobile-menu-close');
toggleButton.addEventListener('click', mobileMenuToggle);
}
function switchToMobileMenu(){
wrapper.classList.add(options.mobileMenuClass);
toggleButton.style.display="block";
isMobileMenuOpen=false;
hideMenu();
}
function switchToDesktopMenu(){
wrapper.classList.remove(options.mobileMenuClass);
toggleButton.style.display="none";
showMenu();
}
function mobileMenuToggle(){
if(isMobileMenuOpen){
hideMenu();
}else{
showMenu();
}
isMobileMenuOpen = !isMobileMenuOpen;
}
function hideMenu(){
wrapper.classList.remove(options.mobileMenuOpenClass);
menu.style.display="none";
toggleButtonOpenBlock.style.display="none";
toggleButtonCloseBlock.style.display="block";
}
function showMenu(){
wrapper.classList.add(options.mobileMenuOpenClass);
menu.style.display="block";
toggleButtonOpenBlock.style.display="block";
toggleButtonCloseBlock.style.display="none";
}
function checkScreenWidth(){
var currentMobileMenuStatus=window.innerWidth < options.threshold ? true:false;
if(isMobileMenu!==currentMobileMenuStatus){
isMobileMenu=currentMobileMenuStatus;
isMobileMenu ? switchToMobileMenu():switchToDesktopMenu();
}}
function addResizeHandler(){
window.addEventListener('resize', resizeHandler);
}
function resizeHandler(){
window.requestAnimationFrame(checkScreenWidth)
}
function runSeries(functions){
functions.forEach(function(func){
return func();
});
}};
var Kava_Theme_JS;
(function($){
'use strict';
Kava_Theme_JS={
init: function(){
this.page_preloader_init();
this.toTopInit();
this.responsiveMenuInit();
this.magnificPopupInit();
this.swiperInit();
},
page_preloader_init: function(){
var $pleloader=$('.page-preloader-cover');
if($pleloader[0]){
$pleloader.delay(500).fadeTo(500, 0, function(){
$(this).remove();
});
}},
toTopInit: function(){
if(undefined===window.kavaConfig.toTop||! window.kavaConfig.toTop){
return;
}
this.toTop();
},
toTop: function(options){
var defaults={
buttonID:    'toTop',
min:         200,
inDelay:     600,
outDelay:    400,
scrollSpeed: 600,
easingType:  'linear'
},
settings=$.extend(defaults, options),
buttonSelector='#' + settings.buttonID;
$('body').append('<div id="' + settings.buttonID + '" role="button"></div>');
$(buttonSelector).hide().on('click.KavaThemeToTop', function(){
$('html, body').animate({ scrollTop: 0 }, settings.scrollSpeed, settings.easingType);
return false;
});
$(window).on('scroll', function(){
var scrollTop=$(window).scrollTop();
if(scrollTop > settings.min)
$(buttonSelector).fadeIn(settings.inDelay);
else
$(buttonSelector).fadeOut(settings.outDelay);
});
},
responsiveMenuInit: function(){
if(typeof kavaResponsiveMenu!=='undefined'){
kavaResponsiveMenu();
}},
magnificPopupInit: function(){
if(typeof $.magnificPopup!=='undefined'){
$('[data-popup="magnificPopup"]').magnificPopup({
type: 'image'
});
}},
swiperInit: function(){
if(typeof Swiper!=='undefined'){
var mySwiper=new Swiper('.swiper-container', {
loop: true,
spaceBetween: 10,
autoHeight: true,
navigation: {
nextEl: '.swiper-button-next',
prevEl: '.swiper-button-prev'
}})
}}
};
Kava_Theme_JS.init();
}(jQuery));