(function($) { "use strict"; /* doubleTapToGo mobile menu fix*/ ;(function(e,t,n,r){e.fn.doubleTapToGo=function(r){if(!("ontouchstart"in t)&&!navigator.msMaxTouchPoints&&!navigator.userAgent.toLowerCase().match(/windows phone os 7/i))return false;this.each(function(){var t=false;e(this).on("click",function(n){var r=e(this);if(r[0]!=t[0]){n.preventDefault();t=r}});e(n).on("click touchstart MSPointerDown",function(n){var r=true,i=e(n.target).parents();for(var s=0;s' ); this.$back = this.$menu.find( 'li.dl-back' ); }, _initEvents : function() { var self = this; this.$trigger.on( 'click.dlmenu', function() { if( self.open ) { self._closeMenu(); } else { self._openMenu(); } return false; } ); this.$menuitems.on( 'click.dlmenu', function( event ) { event.stopPropagation(); var $item = $(this), $submenu = $item.children( 'ul.dl-submenu' ); if( $submenu.length > 0 ) { var $flyin = $submenu.clone().css( 'opacity', 0 ).insertAfter( self.$menu ), onAnimationEndFn = function() { self.$menu.off( self.animEndEventName ).removeClass( self.options.animationClasses.classout ).addClass( 'dl-subview' ); $item.addClass( 'dl-subviewopen' ).parents( '.dl-subviewopen:first' ).removeClass( 'dl-subviewopen' ).addClass( 'dl-subview' ); $flyin.remove(); }; setTimeout( function() { $flyin.addClass( self.options.animationClasses.classin ); self.$menu.addClass( self.options.animationClasses.classout ); if( self.supportAnimations ) { self.$menu.on( self.animEndEventName, onAnimationEndFn ); } else { onAnimationEndFn.call(); } self.options.onLevelClick( $item, $item.children( 'a:first' ).text() ); } ); return false; } else { self.options.onLinkClick( $item, event ); } } ); this.$back.on( 'click.dlmenu', function( event ) { var $this = $( this ), $submenu = $this.parents( 'ul.dl-submenu:first' ), $item = $submenu.parent(), $flyin = $submenu.clone().insertAfter( self.$menu ); var onAnimationEndFn = function() { self.$menu.off( self.animEndEventName ).removeClass( self.options.animationClasses.classin ); $flyin.remove(); }; setTimeout( function() { $flyin.addClass( self.options.animationClasses.classout ); self.$menu.addClass( self.options.animationClasses.classin ); if( self.supportAnimations ) { self.$menu.on( self.animEndEventName, onAnimationEndFn ); } else { onAnimationEndFn.call(); } $item.removeClass( 'dl-subviewopen' ); var $subview = $this.parents( '.dl-subview:first' ); if( $subview.is( 'li' ) ) { $subview.addClass( 'dl-subviewopen' ); } $subview.removeClass( 'dl-subview' ); } ); return false; } ); }, closeMenu : function() { if( this.open ) { this._closeMenu(); } }, _closeMenu : function() { var self = this, onTransitionEndFn = function() { self.$menu.off( self.transEndEventName ); self._resetMenu(); }; this.$menu.removeClass( 'dl-menuopen' ); this.$menu.addClass( 'dl-menu-toggle' ); this.$trigger.removeClass( 'dl-active' ); if( this.supportTransitions ) { this.$menu.on( this.transEndEventName, onTransitionEndFn ); } else { onTransitionEndFn.call(); } this.open = false; }, openMenu : function() { if( !this.open ) { this._openMenu(); } }, _openMenu : function() { var self = this; // clicking somewhere else makes the menu close $body.off( 'click' ).on( 'click.dlmenu', function() { self._closeMenu() ; } ); this.$menu.addClass( 'dl-menuopen dl-menu-toggle' ).on( this.transEndEventName, function() { $( this ).removeClass( 'dl-menu-toggle' ); } ); this.$trigger.addClass( 'dl-active' ); this.open = true; }, // resets the menu to its original state (first level of options) _resetMenu : function() { this.$menu.removeClass( 'dl-subview' ); this.$menuitems.removeClass( 'dl-subview dl-subviewopen' ); } }; var logError = function( message ) { if ( window.console ) { window.console.error( message ); } }; $.fn.dlmenu = function( options ) { if ( typeof options === 'string' ) { var args = Array.prototype.slice.call( arguments, 1 ); this.each(function() { var instance = $.data( this, 'dlmenu' ); if ( !instance ) { logError( "cannot call methods on dlmenu prior to initialization; " + "attempted to call method '" + options + "'" ); return; } if ( !$.isFunction( instance[options] ) || options.charAt(0) === "_" ) { logError( "no such method '" + options + "' for dlmenu instance" ); return; } instance[ options ].apply( instance, args ); }); } else { this.each(function() { var instance = $.data( this, 'dlmenu' ); if ( instance ) { instance._init(); } else { instance = $.data( this, 'dlmenu', new $.DLMenu( options, this ) ); } }); } return this; }; } )( jQuery, window ); var Core = { initialized: false, initialize: function() { if (this.initialized) return; this.initialized = true; this.build(); }, build: function() { this.fixedHeader(); // Init toggle menu this.initToggleMenu(); // Search this.initSearchModal(); // Dropdown menu this.dropdownhover(); // Submenu this.submenuControll(); }, // Searc Modal initSearchModal: function(options) { $(".btn_header_search").click(function() { $(".header-search").addClass("open"); }); $(document).on("click", ".search-form_close", function(event) { $(".header-search").removeClass("open"); }); $(document).on("click", ".btn_header_subscribe", function(event) { $(".header-subscribe").addClass("open"); }); $(document).on("click", ".search-form_close", function(event) { $(".header-subscribe").removeClass("open"); }); }, // Toggle Menu initToggleMenu: function() { $('#toggle-theme-menu.toggle-menu-button').each(function(i) { var trigger = $(this); var isClosed = true; function showMenu() { $('#nav').addClass('navbar-scrolling-fixing'); if (trigger.hasClass("js-toggle-screen")) { $('#fixedMenu').delay(0).fadeIn(300); } trigger.addClass('is-open'); isClosed = false; } function hideMenu() { $('#fixedMenu').fadeOut(100); $('#nav').removeClass('navbar-scrolling-fixing'); trigger.removeClass('is-open'); isClosed = true; } $('.fullmenu-close').on('click', function(e) { e.preventDefault(); if (isClosed === true) { hideMenu(); } else { hideMenu(); } }); trigger.on('click', function(e) { e.preventDefault(); if (isClosed === true) { showMenu(); } else { hideMenu(); } }); }); }, // Dropdown dropdownhover: function(options) { // исправления мобильного двойного клика var windowWidth = $(window).width(); if (windowWidth > 768) { $(".dropdown").on({ mouseenter: function() { $(this).toggleClass('open'); }, mouseleave: function() { $(this).toggleClass('open'); } }); $(".full-width").on({ mouseenter: function() { //$(".yamm").removeClass('hover-relative'); }, mouseleave: function() { //$(".yamm").removeClass('hover-relative'); } }); $("li.menu-width").on("mouseenter", function() { $(".full-width .dropdown-menu").hide(); //$(".yamm").addClass('hover-relative'); }).on('mouseleave', function() { $(".full-width .dropdown-menu").show(); function relFunction(){ //$(".yamm").removeClass('hover-relative'); } setTimeout(relFunction, 300); }); $( '.mobile-slidebar-menu li.menu-item-has-children' ).doubleTapToGo(); } }, //Fixed header fixedHeader: function(options) { if ($(window).width() > 767) { // Fixed Header var topOffset = $(window).scrollTop(); if (topOffset > 90) { if ($(".header").is(".navbar-fixed-js")) { $('.header').addClass('navbar-scrolling'); } } $(window).on('scroll', function() { var fromTop = $(this).scrollTop(); if (fromTop > 90) { if ($(".header").is(".navbar-fixed-js")) { $('body').addClass('fixed-header'); $('.header').addClass('navbar-scrolling'); } } else { $('body').removeClass('fixed-header'); $('.header').removeClass('navbar-scrolling'); } }); } }, // Submenu submenuControll: function(options) { $('li.menu-item-has-children .menu-parent-link').prepend('') $(".submenu-controll").click(function() { $(this).parent().toggleClass('dropdown-open'); }); $('li.menu-item-has-children li.menu-item-has-children').prepend(''); $('[data-off-canvas] li.menu-item-has-children').prepend(''); }, }; Core.initialize(); // Fixed promo $(window).on('scroll', function() { var fromTopPromo = $(this).scrollTop(); if (fromTopPromo > 190) { $('.promo-set').addClass('promo-set-view'); } else { $('.promo-set').removeClass('promo-set-view'); } }); $( '#dl-menu' ).dlmenu(); })(jQuery);