/* UItoTop jQuery Plugin | Matt Varone | http://www.mattvarone.com/web-design/uitotop-jquery-plugin */ ! function(n) { n.fn.UItoTop = function(o) { var e = { text: "To Top", min: 200, inDelay: 600, outDelay: 400, containerID: "toTop", containerHoverID: "toTopHover", scrollSpeed: 1200, easingType: "linear" }, t = n.extend(e, o), i = "#" + t.containerID, a = "#" + t.containerHoverID; n("body").append('' + t.text + ""), n(i).hide().on("click.UItoTop", function() { return n("html, body").animate({ scrollTop: 0 }, t.scrollSpeed, t.easingType), n("#" + t.containerHoverID, this).stop().animate({ opacity: 0 }, t.inDelay, t.easingType), !1 }).hover(function() { n(a, this).stop().animate({ opacity: 1 }, 600, "linear") }, function() { n(a, this).stop().animate({ opacity: 0 }, 700, "linear") }), n(window).scroll(function() { var o = n(window).scrollTop(); "undefined" == typeof document.body.style.maxHeight && n(i).css({ position: "absolute", top: o + n(window).height() - 50 }), o > t.min ? n(i).fadeIn(t.inDelay) : n(i).fadeOut(t.Outdelay) }) } }(jQuery); /* jquery.stickup.min.js */ ! function(t) { t.fn.stickUp = function(e) { function o() { a = parseInt(n.offset().top), d = parseInt(n.css("margin-top")), u = parseInt(n.outerHeight(!0)), c.pseudo && (t('
').insertAfter(n), i = t(".pseudoStickyBlock"), i.css({ position: "relative", display: "block" })), c.active && s(), n.addClass("stuckMenu") } function s() { p.on("scroll.stickUp", function() { r = t(this).scrollTop(), S = r > k ? "down" : "up", k = r, 0 != h.length ? correctionValue = h.outerHeight(!0) : correctionValue = 0, f = parseInt(l.scrollTop()), a - correctionValue < f ? (n.addClass("isStuck"), v.addClass("isStuck"), c.pseudo ? (n.css({ position: "fixed", top: correctionValue }), i.css({ height: u })) : n.css({ position: "fixed", top: correctionValue })) : (n.removeClass("isStuck"), v.removeClass("isStuck"), c.pseudo ? (n.css({ position: "relative", top: 0 }), i.css({ height: 0 })) : n.css({ position: "absolute", top: 0 })) }).trigger("scroll.stickUp"), p.on("resize", function() { n.hasClass("isStuck") ? a != parseInt(i.offset().top) && (a = parseInt(i.offset().top)) : a != parseInt(n.offset().top) && (a = parseInt(n.offset().top)) }) } var c = { correctionSelector: ".correctionSelector", listenSelector: ".listenSelector", active: !1, pseudo: !0 }; t.extend(c, e); var i, r, n = t(this), l = t(window), p = t(document), a = 0, u = 0, d = 0, f = 0, k = 0, S = "", h = t(c.correctionSelector), v = t(c.listenSelector); 0 != n.length && o() } }(jQuery); /* super-guacamole.min.js */ ! function(e, t) { function n(t) { var n, i, r = this; n = { id: "", href: "", title: "···", children: {}, templates: {}, container: null }, i = e.extend(n, t), r.id = i.id, r.href = i.href, r.title = i.title, r.children = i.children, r.templates = i.templates, r.$container = i.container, r.node = null, r.attachedNode = null, r.options = {}, r.visible = !0 } var i = { menu: '
  • %3$s%4$s
  • ', child_wrap: "", child: '
  • %3$s
  • ' }; n.prototype.set = function(e) { if (!1 == e instanceof n) throw new Error("Invalid argument type"); return this.children[e.id] = e, this }, n.prototype.push = function(e) { return this.set(e) }, n.prototype.get = function(e) { var t = null; return this.map(e, function(e, n) { return t = n, n }), t }, n.prototype.map = function(e, t, n) { var i = { id: e }, r = this; return "string" != typeof e && (i = e), n = n || this.children, 0 >= n.length ? i : (Object.keys(n).forEach(function(e) { child = n[e], i.id === child.id ? n[i.id] = t(child) : child.children && 0 < Object.keys(child.children).length && (i = r.map(i, t, child.children)) }), i) }, n.prototype.has = function(e) { return t !== this.children[e] }, n.prototype.isVisible = function() { return this.visible }, n.prototype.forEach = function(e) { return this.children.forEach(e) }, n.prototype.countVisibleAttachedNodes = function() { var t = this, n = -1; return Object.keys(t.children).forEach(function(i) { e(t.children[i].getAttachedNode()).attr("hidden") || n++ }), n }, n.prototype.countVisibleNodes = function() { var t, n = this, i = 0; return Object.keys(n.children).forEach(function(r) { t = n.children[r], e(t.getNode()).attr("hidden") || i++ }), i }, n.prototype.countVisible = function() { var e = this, t = 0; return Object.keys(e.children).forEach(function(n) { e.children[n].isVisible() && t++ }), t }, n.prototype.getNode = function() { return this.node }, n.prototype.getAttachedNode = function() { return this.attachedNode }, n.prototype.setNode = function(e) { this.node = e }, n.prototype.attachNode = function(e) { this.attachedNode = e }, n.prototype.setOptions = function(e) { return this.options = e, this }, n.prototype.getOptions = function() { return this.options }, n.prototype.render = function() { function t(e, n, i) { var r = e.replace(new RegExp("\\%" + n + "\\$s", "g"), i); return pipes = { replace: function(e, n) { return t(r, e, n), pipes }, get: function() { return r } }, pipes } function n(e, i, r) { var o = "", a = Object.keys(i.children); return r = r || !1, a.forEach(function(e) { o += n("super-guacamole__menu__child", i.children[e]) }), t(r ? d : c, 1, e + " menu-item" + (0 < a.length ? " menu-item-has-children" : "")).replace(2, i.href).replace(3, i.title).replace(4, 0 < a.length ? o : "").replace(5, i.id).get().replace('', "") } function i(e) { var t = ""; return Object.keys(e).forEach(function(i) { t += n("super-guacamole__menu", e[i]) }), t } var r, o = this, c = o.templates.menu, d = o.templates.child, a = o.$container; o.options.$menu; return 0 < a.length && (a.append(i([o])), a.find(".super-guacamole__menu__child").each(function() { $current_el = e(this), id = e(this).attr("id"), r = a.find("#" + id.replace("sg-", "")), 0 === r.length && (r = a.find("." + id.replace("sg-", ""))), 0 < r.length && o.map(id, function(e) { return e.attachNode(r), e.setNode($current_el), e }) })), this }, n.extract = function(t) { function i(e) { var t = "", n = null, i = /menu\-item\-[0-9]+/i; return e.attr("class").split(" ").forEach(function(e) { n = i.exec(e), null !== n && (t = n[0]) }), t } var r, o, c, d, a = {}; return t.each(function(t, u) { r = e(u), o = r.find("a:first"), menuId = r.attr("id"), "undefined" == typeof menuId && (menuId = i(r)), c = new n({ id: "sg-" + menuId, href: o.attr("href"), title: o.get(0).childNodes[0].data }), c.attachNode(r), -1 < r.children(".sub-menu").length && (subMenu = n.extract(r.children(".sub-menu").children(".menu-item")), Object.keys(subMenu).forEach(function(e) { d = subMenu[e], c.set(d) })), a[c.id] = c }), a }, n.prototype.attachedNodesFit = function() { var t, n, i = this, r = 0, o = 0, c = e(e(".header-container > .container").length > 0 ? ".header-container > .container" : ".header-container > div"), d = i.$container.outerWidth(!0) - i.$container.find(".super-guacamole__menu").outerWidth(!0) - (parseInt(c.css("padding-left"), 10) + parseInt(c.css("padding-right"), 10)) / 2; return Object.keys(i.children).forEach(function(r) { n = i.children[r], $attachedNode = e(n.getAttachedNode()), t = e(n.getNode()), $attachedNode.removeAttr("hidden"), t.attr("hidden", !0) }), Object.keys(i.children).forEach(function(c) { n = n = i.children[c], $attachedNode = e(n.getAttachedNode()), t = e(n.getNode()), o = $attachedNode.outerWidth(!0), o > 0 && $attachedNode.data("width", o), r += $attachedNode.data("width"), r > d && ($attachedNode.attr("hidden", !0), t.removeAttr("hidden")) }), !0 }, n.prototype.menuFit = function(t) { var n, i = this, r = { removeAttr: function(e, t) { return e.removeAttr(t) }, attr: function(e, t) { return e.attr(t, !0) } }, o = "removeAttr", c = i.options.threshold || 768; return t = t || !1, 0 === i.countVisibleNodes() && (o = "attr"), e(window).width() <= c - 1 && (o = "attr", Object.keys(i.children).forEach(function(t) { n = i.children[t], $attachedNode = e(n.getAttachedNode()), $node = e(n.getNode()), $attachedNode.removeAttr("hidden"), $node.attr("hidden", !0) })), t || r[o](i.$container.find(".super-guacamole__menu"), "hidden"), "removeAttr" === o }, n.prototype.watch = function(t) { function n() { r.attachedNodesFit(), r.menuFit() } function i(e) { var t; return function(i) { function r() { n(), timeout = null } t && clearTimeout(t), t = setTimeout(r, e) } } var r = this; return (t = t || !1) ? (n(), r) : (e(window).on("resize", i(10)), e(window).on("orientationchange", i(10)), r) }, e.fn.superGuacamole = function(t) { var r, o, c, d, a = e(this), u = a.find("#main-menu"); r = { threshold: 544, minChildren: 3, childrenFilter: "li", menuTitle: "···", menuUrl: "#", templates: i }, o = e.extend(r, t), c = u.children(o.childrenFilter + ":not(.super-guacamole__menu):not(.super-guacamole__menu__child)"), d = new n({ title: o.menuTitle, href: o.menuUrl, templates: o.templates, children: n.extract(c), container: u }), o.$menu = u, d.setOptions(o).render().watch(!0).watch() } }(jQuery); (function($) { "use strict"; CherryJsCore.utilites.namespace('theme_script'); CherryJsCore.theme_script = { init: function() { // Document ready event check if (CherryJsCore.status.is_ready) { this.document_ready_render(); } else { CherryJsCore.variable.$document.on('ready', this.document_ready_render.bind(this)); } // Windows load event check if (CherryJsCore.status.on_load) { this.window_load_render(); } else { CherryJsCore.variable.$window.on('load', this.window_load_render.bind(this)); } }, document_ready_render: function() { this.smart_slider_init(this); this.swiper_carousel_init(this); this.post_formats_custom_init(this); this.navbar_init(this); this.main_menu(this, $('.main-navigation')); this.mega_menu(this); this.to_top_init(this); this.playlist_slider_widget_init(this); this.news_smart_box_init(this); this.header_search(this); this.mobile_menu(this); this.vertical_menu_init(this); this.add_project_inline_style(this); this.anchor_navigation(this); this.anchor_scrolling_navigation(this); this.ofi_init(this); this.replyLinkScroll(this); }, window_load_render: function() { this.page_preloader_init(this); }, anchor_navigation: function(self) { $('.page-template-landing div:not(.woocommerce-tabs) a[href*=#]:not([href=#])').on('click', function() { var $window = CherryJsCore.variable.$window, width = $window.outerWidth(true), $menuToggle = $('.main-menu-toggle[aria-controls="main-menu"]'); if (768 > width) { $menuToggle.trigger('click.mobileMenuToggle'); } if (location.pathname.replace(/^\//, '') === this.pathname.replace(/^\//, '') || location.hostname === this.hostname) { var target = $(this.hash), targetLink = this.hash, $correctionSelector = (768 <= width) ? $('#main-menu') : $('.mobile-panel'), menuHeight = $correctionSelector.outerHeight(true); target = target.length ? target : $('[name=' + this.hash.slice(1) + ']'); if (target.length) { $('html, body').animate({ scrollTop: target.offset().top - menuHeight }, 1000); return false; } } }); }, anchor_scrolling_navigation: function(self) { var $document = $(document), top = null, changed = false, currentHash = null, sections = null, timeout = null, interval = null, menuHeight = $('#main-menu').outerHeight(true), $sections = $('.tm_pb_anchor'); sections = getSections(); $(window).on('scroll.cherry_anchor_navigation', function() { var newTop = $document.scrollTop(); changed = newTop != top; if (changed) { top = newTop; } }); $(window).on('resize.cherry_anchor_navigation', function() { sections = getSections(); }); function getSections() { sections = $.map($sections, function(event) { var $event = $(event), position = $event.position(); return { top: position.top - menuHeight, bottom: position.top + $event.outerHeight(true) - menuHeight, hash: $event.attr('id') }; }); return sections; } function iteration() { var sectionsLength = sections.length, section, scrollTop; while (section = sections[--sectionsLength]) { if (section.top >= top || section.bottom <= top) { continue; } if (currentHash == section.hash) { break; } currentHash = section.hash; history.pushState(null, null, '#' + section.hash); } } timeout = setTimeout(function() { interval = setInterval(iteration, 250); }, 250); }, smart_slider_init: function(self) { $('.prioris-smartslider').each(function() { var slider = $(this), sliderId = slider.data('id'), sliderWidth = slider.data('width'), sliderHeight = slider.data('height'), sliderOrientation = slider.data('orientation'), slideDistance = slider.data('slide-distance'), slideDuration = slider.data('slide-duration'), sliderFade = slider.data('slide-fade'), sliderNavigation = slider.data('navigation'), sliderFadeNavigation = slider.data('fade-navigation'), sliderPagination = slider.data('pagination'), sliderAutoplay = slider.data('autoplay'), sliderFullScreen = slider.data('fullscreen'), sliderShuffle = slider.data('shuffle'), sliderLoop = slider.data('loop'), sliderThumbnailsArrows = slider.data('thumbnails-arrows'), sliderThumbnailsPosition = slider.data('thumbnails-position'), sliderThumbnailsWidth = slider.data('thumbnails-width'), sliderThumbnailsHeight = slider.data('thumbnails-height'); if ($('.smart-slider__items', '#' + sliderId).length > 0) { $('#' + sliderId).sliderPro({ width: sliderWidth, height: sliderHeight, orientation: sliderOrientation, slideDistance: slideDistance, slideAnimationDuration: slideDuration, fade: sliderFade, arrows: sliderNavigation, fadeArrows: sliderFadeNavigation, buttons: sliderPagination, autoplay: sliderAutoplay, fullScreen: sliderFullScreen, shuffle: sliderShuffle, loop: sliderLoop, waitForLayers: false, thumbnailArrows: sliderThumbnailsArrows, thumbnailsPosition: sliderThumbnailsPosition, thumbnailWidth: sliderThumbnailsWidth, thumbnailHeight: sliderThumbnailsHeight, init: function() { $(this).resize(); }, sliderResize: function(event) { var thisSlider = $('#' + sliderId), slides = $('.sp-slide', thisSlider); slides.each(function() { if ($('.sp-title a', this).width() > $(this).width()) { $(this).addClass('text-wrapped'); } else { $(this).removeClass('text-wrapped'); } }); }, breakpoints: { 991: { height: parseFloat(sliderHeight) * 0.75 }, 767: { height: parseFloat(sliderHeight) * 0.5, thumbnailsPosition: ('top' === this.thumbnailsPosition) ? 'top' : 'bottom', thumbnailHeight: parseFloat(sliderThumbnailsHeight) * 0.75, thumbnailWidth: parseFloat(sliderThumbnailsWidth) * 0.75 } } }); } }); //each end }, swiper_carousel_init: function(self) { // Enable swiper carousels jQuery('.prioris-carousel').each(function() { var swiper = null, uniqId = jQuery(this).data('uniq-id'), slidesPerView = parseFloat(jQuery(this).data('slides-per-view')), slidesPerGroup = parseFloat(jQuery(this).data('slides-per-group')), slidesPerColumn = parseFloat(jQuery(this).data('slides-per-column')), spaceBetweenSlides = parseFloat(jQuery(this).data('space-between-slides')), durationSpeed = parseFloat(jQuery(this).data('duration-speed')), swiperLoop = jQuery(this).data('swiper-loop'), freeMode = jQuery(this).data('free-mode'), grabCursor = jQuery(this).data('grab-cursor'), mouseWheel = jQuery(this).data('mouse-wheel'), breakpointsSettings = { 1199: { slidesPerView: Math.floor(slidesPerView * 0.75), spaceBetween: Math.floor(spaceBetweenSlides * 0.75) }, 991: { slidesPerView: Math.floor(slidesPerView * 0.5), spaceBetween: Math.floor(spaceBetweenSlides * 0.5) }, 767: { slidesPerView: (0 !== Math.floor(slidesPerView * 0.25)) ? Math.floor(slidesPerView * 0.25) : 1 } }; if (1 == slidesPerView) { breakpointsSettings = {} } var swiper = new Swiper('#' + uniqId, { slidesPerView: slidesPerView, slidesPerGroup: slidesPerGroup, slidesPerColumn: slidesPerColumn, spaceBetween: spaceBetweenSlides, speed: durationSpeed, loop: swiperLoop, freeMode: freeMode, grabCursor: grabCursor, mousewheelControl: mouseWheel, paginationClickable: true, nextButton: '#' + uniqId + '-next', prevButton: '#' + uniqId + '-prev', pagination: '#' + uniqId + '-pagination', onInit: function() { $('#' + uniqId + '-next').css({ 'display': 'block' }); $('#' + uniqId + '-prev').css({ 'display': 'block' }); }, breakpoints: breakpointsSettings }); }); }, post_formats_custom_init: function(self) { CherryJsCore.variable.$document.on('cherry-post-formats-custom-init', function(event) { if ('slider' !== event.object) { return; } var uniqId = '#' + event.item.attr('id'), swiper = new Swiper(uniqId, { pagination: uniqId + ' .swiper-pagination', paginationClickable: true, nextButton: uniqId + ' .swiper-button-next', prevButton: uniqId + ' .swiper-button-prev', spaceBetween: 0, onInit: function() { $(uniqId + ' .swiper-button-next').css({ 'display': 'block' }); $(uniqId + ' .swiper-button-prev').css({ 'display': 'block' }); } }); event.item.data('initalized', true); }); var items = []; $('.mini-gallery .post-thumbnail__link').on('click', function(event) { event.preventDefault(); $(this).parents('.mini-gallery').find('.post-gallery__slides > a[href]').each(function() { items.push({ src: $(this).attr('href'), type: 'image' }); }); $.magnificPopup.open({ items: items, gallery: { enabled: true } }); }); }, navbar_init: function(self) { $(window).load(function() { var $layout = window.prioris.labels.header_layout, $navbar = ('style-3' === $layout || 'style-7' === $layout) ? $('.vertical-menu-toggle-holder') : $('#main-menu'); if (!$.isFunction(jQuery.fn.stickUp) || undefined === window.prioris.stickUp || !$navbar.length) { return !1; } $navbar.stickUp({ correctionSelector: '#wpadminbar', listenSelector: '.listenSelector', pseudo: true, active: true }); CherryJsCore.variable.$document.trigger('scroll.stickUp'); }); }, isMegaMenuEnabled: function() { if (undefined === window.prioris.megaMenu) { return false; } if (true === window.prioris.megaMenu.isActive && 'main' == window.prioris.megaMenu.location) { return true; } return false; }, main_menu: function(self, $mainNavigation) { if (self.isMegaMenuEnabled()) { //return; } var transitionend = 'transitionend oTransitionEnd webkitTransitionEnd', moreMenuContent = '···', imgurl = '', srcset = '', hasimg = false, hasicon = false, hasprop = Object.prototype.hasOwnProperty, $menuToggle = $('.main-menu-toggle[aria-controls="main-menu"]', $mainNavigation), liWithChildren = 'li.menu-item-has-children, li.page_item_has_children', $body = $('body'), $parentNode, menuItem, subMenu, index = -1, $layout = window.prioris.labels.header_layout; if (hasprop.call(window, 'prioris') && hasprop.call(window.prioris, 'more_button_options') && hasprop.call(window.prioris.more_button_options, 'more_button_type')) { switch (window.prioris.more_button_options.more_button_type) { case 'image': imgurl = window.prioris.more_button_options.more_button_image_url; if (window.prioris.more_button_options.retina_more_button_image_url) { srcset = ' srcset="' + window.prioris.more_button_options.retina_more_button_image_url + ' 2x"'; } moreMenuContent = '' + moreMenuContent + ''; hasimg = true; break; case 'icon': moreMenuContent = ''; hasicon = true; break; case 'text': default: moreMenuContent = window.prioris.more_button_options.more_button_text || moreMenuContent; hasimg = false; hasicon = false; break; } } if ('style-3' !== $layout && 'style-7' !== $layout) { $mainNavigation.superGuacamole({ threshold: 768, // Minimal menu width, when this plugin activates minChildren: 3, // Minimal visible children count childrenFilter: '.menu-item:not(.wpml-ls-item):not([class*="pll-"]):not(.lang-item)', // Child elements selector menuTitle: moreMenuContent, // Menu title menuUrl: '#', templates: { menu: '
  • %3$s
  • ', child_wrap: '', child: '
  • %3$s
  • ' } }); } function hideSubMenu(menuItem, $event) { var subMenus = menuItem.find('.sub-menu'), subMenu = menuItem.children('.sub-menu').first(); menuItem .removeData('index') .removeClass('menu-hover'); subMenus.addClass('in-transition'); subMenus .one(transitionend, function() { subMenus.removeClass('in-transition'); }); } function handleMenuItemHover($event) { if ($('html').hasClass('mobile-menu-active')) { return; } menuItem = $($event.target).parents('.menu-item'); subMenu = menuItem.children('.sub-menu').first(); var subMenus = menuItem.find('.sub-menu'); if (!menuItem.hasClass('menu-item-has-children')) { menuItem = $event.target.tagName === 'LI' ? $($event.target) : $($event.target).parents().filter('.menu-item'); } switch ($event.type) { case 'mouseenter': case 'mouseover': if (0 < subMenu.length) { var maxWidth = $body.outerWidth(true), subMenuOffset = subMenu.offset().left + subMenu.outerWidth(true); menuItem.addClass('menu-hover'); subMenus.addClass('in-transition'); if ($('body').hasClass('rtl')) { if (0 > subMenu.offset().left) { subMenu.addClass('inverse-side'); subMenu.find('.sub-menu').addClass('inverse-side'); } else if (maxWidth <= subMenuOffset) { subMenu.removeClass('inverse-side'); subMenu.find('.sub-menu').removeClass('inverse-side'); } } else { if (maxWidth <= subMenuOffset) { subMenu.addClass('inverse-side'); subMenu.find('.sub-menu').addClass('inverse-side'); } else if (0 > subMenu.offset().left) { subMenu.removeClass('inverse-side'); subMenu.find('.sub-menu').removeClass('inverse-side'); } } subMenus .one(transitionend, function() { subMenus.removeClass('in-transition'); }); } break; case 'mouseleave': case 'mouseout': hideSubMenu(menuItem, $event); break; } } CherryJsCore.variable.$window.on('orientationchange resize', function() { if ($('html').hasClass('mobile-menu-active')) { return; } $mainNavigation.find('.menu-item').removeClass('menu-hover'); $mainNavigation.find('.sub-menu.inverse-side').removeClass('inverse-side'); }); $(liWithChildren).hoverIntent({ over: function() {}, out: function() {}, timeout: 300, selector: '.menu-item' }); $mainNavigation.on('mouseenter mouseover mouseleave mouseout', '.menu-item', handleMenuItemHover); function doubleClickMenu($jqEvent) { $parentNode = $(this); if ($('html').hasClass('mobile-menu-active')) { return true; } var menuIndex = $parentNode.index(); if (menuIndex !== parseInt($parentNode.data('index'), 10)) { $jqEvent.preventDefault(); } $parentNode.data('index', menuIndex); } // Check if touch events supported if ('ontouchend' in window) { // Attach event listener for double click $(liWithChildren, $mainNavigation) .on('click', doubleClickMenu); // Reset index on touchend event CherryJsCore.variable.$document.on('touchend', function($jqEvent) { if (!$('html').hasClass('mobile-menu-active')) { $parentNode = $($jqEvent.target).parents().filter('.menu-item:first'); if ($parentNode.hasClass('menu-hover') === false) { hideSubMenu($parentNode, $jqEvent); index = $parentNode.data('index'); if (index) { $parentNode.data('index', parseInt(index, 10) - 1); } } } }); } $menuToggle.on('click', function($event) { $event.preventDefault(); $mainNavigation.toggleClass('toggled'); }); }, mega_menu: function(self) { /** * Mega-menu mobile SubMenu Toggled. */ function megaMenuSubMenuToggled() { $(this).toggleClass('active'); } // ADD to Mega-menu sub-menu toggle active class. $('.mega-menu-mobile-arrow').on('click', megaMenuSubMenuToggled); }, mobile_menu: function(self) { var $mainNavigation = $('.main-navigation'), $menuToggle = $('.main-menu-toggle[aria-controls="main-menu"]'); $mainNavigation .find('li.menu-item-has-children > a') .append(''); /** * Debounce the function call * * @param {number} threshold The delay. * @param {Function} callback The function. */ function debounce(threshold, callback) { var timeout; return function debounced($event) { function delayed() { callback.call(this, $event); timeout = null; } if (timeout) { clearTimeout(timeout); } timeout = setTimeout(delayed, threshold); }; } /** * Resize event handler. * * @param {jqEvent} jQuery event. */ function resizeHandler($event) { var $window = CherryJsCore.variable.$window, width = $window.outerWidth(true); if (600 <= width) { $mainNavigation.removeClass('mobile-menu'); } else { $mainNavigation.addClass('mobile-menu'); } } /** * Toggle sub-menus. * * @param {jqEvent} $event jQuery event. */ function toggleSubMenuHandler($event) { alert('toggleSubMenuHandler'); $event.preventDefault(); $(this).toggleClass('active'); $(this).parents().filter('li:first').toggleClass('sub-menu-open'); } /** * Toggle menu. * * @param {jqEvent} $event jQuery event. */ function toggleMenuHandler($event) { var $toggle = $('.sub-menu-toggle'); if (!$event.isDefaultPrevented()) { $event.preventDefault(); } setTimeout(function() { if (!$mainNavigation.hasClass('animate')) { $mainNavigation.addClass('animate'); } $mainNavigation.toggleClass('show'); $('html').toggleClass('mobile-menu-active'); }, 10); $menuToggle.toggleClass('toggled'); $menuToggle.attr('aria-expanded', !$menuToggle.hasClass('toggled')); if ($toggle.hasClass('active')) { $toggle.removeClass('active'); $mainNavigation.find('.sub-menu-open').removeClass('sub-menu-open'); } } resizeHandler(); CherryJsCore.variable.$window.on('resize orientationchange', debounce(500, resizeHandler)); $('.sub-menu-toggle', $mainNavigation).on('click', toggleSubMenuHandler); $menuToggle.on('click.mobileMenuToggle', toggleMenuHandler); }, page_preloader_init: function(self) { if ($('.page-preloader-cover')[0]) { $('.page-preloader-cover').delay(500).fadeTo(500, 0, function() { $(this).remove(); }); } }, to_top_init: function(self) { if ($.isFunction(jQuery.fn.UItoTop) && undefined !== window.prioris.toTop) { $().UItoTop({ text: prioris.labels.totop_button, scrollSpeed: 600 }); } }, ofi_init: function(self) { if ($('body').hasClass('ie') && 'undefined' !== typeof objectFitImages) { objectFitImages(); } }, playlist_slider_widget_init: function(self) { $('.widget-playlist-slider .playlist-slider').each(function() { var $this = $(this), settings = $this.data('settings'), breakpoints = JSON.parse(settings.breakpoints); $this.sliderPro({ autoplay: false, width: settings['width'], height: parseInt(settings['height']), orientation: 'vertical', waitForLayers: false, touchSwipe: false, updateHash: false, arrows: settings['arrows'], buttons: settings['buttons'], thumbnailArrows: settings['thumbnailArrows'], thumbnailsPosition: settings['thumbnailsPosition'], thumbnailPointer: true, thumbnailWidth: settings['thumbnailWidth'], thumbnailHeight: settings['thumbnailHeight'], breakpoints: breakpoints, init: function() { $this.resize().fadeTo(0, 1); }, gotoSlideComplete: function(event) { var prevSlide = $('.sp-slide', $this).eq(event.previousIndex), iframe = prevSlide.find('iframe'), html5Video = prevSlide.find('video'); if (iframe[0]) { var iframeSrc = iframe.attr('src'); iframe.attr('src', iframeSrc); } else if (html5Video[0]) { html5Video[0].stop(); } } }); }); }, news_smart_box_init: function(self) { jQuery('.news-smart-box__instance').each(function() { var uniqId = $(this).data('uniq-id'), instanceSettings = $(this).data('instance-settings'), instance = $('#' + uniqId), $termItem = $('.news-smart-box__navigation-terms-list-item', instance), $currentTerm = $('.news-smart-box__navigation-title', instance), $listContainer = $('.news-smart-box__wrapper', instance), $ajaxPreloader = $('.nsb-spinner', instance), $termsList = $('.news-smart-box__navigation-terms-list', instance), $menuToggle = $('.menu-toggle', instance), ajaxGetNewInstance = null, ajaxGetNewInstanceSuccess = true, showNewItems = null; $termItem.each(function() { var slug = $(this).data('slug'); if ('category' === instanceSettings.terms_type) { if (slug === instanceSettings.current_category) { $(this).addClass('is-active'); } } else { if (slug === instanceSettings.current_tag) { $(this).addClass('is-active'); } } }); $menuToggle.on('click', function($jqEvent) { $jqEvent.preventDefault(); $menuToggle.toggleClass('news-smart-box__navigation-toggle--open'); $termsList.toggleClass('news-smart-box__navigation-terms-list--open'); }); $termItem.on('click', function() { var slug = $(this).data('slug'), data = { action: 'new_smart_box_instance', nonce: prioris.new_smart_box_nonce, value_slug: slug, instance_settings: instanceSettings }, currentTermName = $(this).text(), counter = 0; if (!$(this).hasClass('is-active')) { $termItem.removeClass('is-active'); $(this).addClass('is-active'); } $currentTerm.html(currentTermName); if (ajaxGetNewInstance !== null) { ajaxGetNewInstance.abort(); } ajaxGetNewInstance = $.ajax({ type: 'GET', url: prioris.ajaxurl, data: data, cache: false, beforeSend: function() { ajaxGetNewInstanceSuccess = false; $ajaxPreloader.css({ 'display': 'block' }).fadeTo(300, 1); }, success: function(response) { ajaxGetNewInstanceSuccess = true; $ajaxPreloader.fadeTo(300, 0, function() { $(this).css({ 'display': 'none' }); }); $('.news-smart-box__listing', $listContainer).html(response); counter = 0; $('.news-smart-box__item-inner', $listContainer).addClass('animate-cycle-show'); $('.news-smart-box__item', $listContainer).each(function() { showItem($(this), 100 * parseInt(counter) + 200); counter++; }) } }); }); var showItem = function(itemList, delay) { var timeOutInterval = setTimeout(function() { $('.news-smart-box__item-inner', itemList).removeClass('animate-cycle-show'); }, delay); } }); }, header_search: function(self) { var $header = $('.site-header'), $searchToggle = $('.search-form__toggle, .search-form__close', $header), $headerSearch = $('.header-search', $header), $searchInput = $('.search-form__field', $headerSearch), searchHandler = function(event) { $header.toggleClass('search-active'); if ($header.hasClass('search-active')) { $searchInput.focus(); } }, removeActiveClass = function(event) { if ($(event.target).closest($searchToggle).length || $(event.target).closest($headerSearch).length) { return; } if ($header.hasClass('search-active')) { $header.removeClass('search-active'); } event.stopPropagation(); }; $searchToggle.on('click', searchHandler); CherryJsCore.variable.$document.on('click', removeActiveClass); }, vertical_menu_init: function(self) { var $mainNavigation = $('.main-navigation.vertical-menu'), $mainMenu = $('.menu', $mainNavigation), $back = $('.back', $mainNavigation), $close = $('.close', $mainNavigation), currentTranslate = parseInt($mainMenu.css('transform')), isAnimate = false, offset = 300; resizeHandler(); CherryJsCore.variable.$window.on('resize', resizeHandler); function resizeHandler(event) { var $window = CherryJsCore.variable.$window, width = $window.outerWidth(true); if (768 > width) { $mainNavigation.removeClass('vertical-menu'); $('.vertical-menu-toggle').off('click.open', openHandler); $('.menu-item-has-children > a', $mainNavigation).off('click.active', clickHandler); $back.off('click.back', backHandler); $close.off('click.close', closeHandler); $mainMenu.removeClass('scroll'); $('.main-navigation .menu').css('transform', 'translateX(0)'); } else { $mainNavigation.addClass('vertical-menu'); $('.vertical-menu-toggle').off('click.open', openHandler).on('click.open', openHandler); $('.menu-item-has-children > a', $mainNavigation).off('click.active', clickHandler).on('click.active', clickHandler); $back.on('click.back', backHandler); $close.on('click.close', closeHandler); $mainMenu.addClass('scroll'); } } $('.menu-item-has-children', $mainNavigation).each(function() { var $li = $(this), $link = $('>a', $li), linkText = $link.html(), linkHref = $link[0].cloneNode(true), $subMenu = $('> .sub-menu', $li); $subMenu.prepend('
  • ' + linkText + '
  • '); }); function openHandler(event) { $(this).toggleClass('toggled'); if ($mainNavigation.hasClass('menu-open')) { closeHandler(); return false; } $mainNavigation.toggleClass('menu-open'); } function backHandler(event) { var currentTranslate = parseInt(($mainMenu.css('transform').replace(/,/g, "")).split(" ")[4]), translate = currentTranslate + offset, $active = $('.active', $mainMenu), $lastActive = $($active[$active.length - 1]); if (isAnimate) { return false; } if (currentTranslate < 0) { isAnimate = true; $mainMenu.css('transform', 'translateX(' + translate + 'px)'); if (translate >= 0) { translate = 0; $(this).addClass('hide'); $close.removeClass('hide'); } setTimeout(function() { $lastActive.removeClass('active'); $lastActive.siblings().toggleClass('hide'); $('>a', $lastActive).removeClass('hide'); $lastActive.parent().addClass('scroll'); isAnimate = false; }, 250); } return false; } function closeHandler(event) { if (!isAnimate) { $('.active', $mainMenu).removeClass('active'); $('.hide', $mainMenu).removeClass('hide'); $('.close.hide', $mainNavigation).removeClass('hide'); $back.addClass('hide'); $mainNavigation.removeClass('menu-open'); $mainMenu.css('transform', 'translateX(0)'); } $('.vertical-menu-toggle').removeClass('toggled'); return false; } function clickHandler(event) { var $_target = $(event.currentTarget), $mainMenu = $_target.closest('.menu'), deep = $_target.parents('ul').length, translate = deep * offset; $mainMenu.css('transform', 'translateX(' + -translate + 'px)'); setTimeout(function() { $_target.parent().addClass('active'); $_target.parent().siblings().toggleClass('hide'); $_target.parents('.active').find('> a').addClass('hide'); $_target.siblings('ul').addClass('scroll'); $_target.parents('ul').removeClass('scroll'); }, 250); $back.removeClass('hide'); $close.addClass('hide'); return false; } }, add_project_inline_style: function(self) { var $projectGridContainer = $('.projects-container.grid-layout'), $projectJustifiedContainer = $('.projects-container.justified-layout'), $projectGridTermsContainer = $('.projects-terms-container.grid-layout'), $projectContainer = $('.projects-container'), addInlineStyle = function() { var $this = $(this), $projectsSettings = $this.data('settings'), $projectItemIndent = Math.ceil(+$projectsSettings['item-margin']); $this.css({ 'margin-left': -$projectItemIndent / 2 + 'px', 'margin-right': -$projectItemIndent / 2 + 'px' }); }, addTemplateClass = function() { var $this = $(this), $projectsSettings = $this.data('settings'), $projectsTemplate = $projectsSettings['template']; if ($projectsTemplate) { $this.addClass($projectsTemplate.replace('.', '-')); } }; $projectGridContainer.each(addInlineStyle); $projectJustifiedContainer.each(addInlineStyle); $projectGridTermsContainer.each(addInlineStyle); $projectContainer.each(addTemplateClass); }, replyLinkScroll: function() { var $replyLink = $('.comment-reply-link'), $respondForm = $('#respond'); if ($replyLink[0] && $respondForm[0]) { $replyLink.each(function() { $(this).on('click', function(event) { $('html, body').animate({ scrollTop: $respondForm.offset().top }, 500) }); }) } } }; CherryJsCore.theme_script.init(); }(jQuery));