0byt3m1n1
Path:
/
var
/
www
/
clients
/
client38
/
web37
/
web
/
wp-content
/
themes
/
Impreza
/
common
/
js
/
elements
/
[
Home
]
File: menu.min.js
!function($){$us.Nav=function(container,options){this.init(container,options)};$us.mobileNavOpened=0;$us.Nav.prototype={init:function(container,options){this.$nav=$(container);if(this.$nav.length==0){return} this.$control=this.$nav.find('.w-nav-control');this.$close=this.$nav.find('.w-nav-close');this.$items=this.$nav.find('.menu-item');this.$list=this.$nav.find('.w-nav-list.level_1');this.$subItems=this.$list.find('.menu-item-has-children');this.$subAnchors=this.$list.find('.menu-item-has-children > .w-nav-anchor');this.$subLists=this.$list.find('.menu-item-has-children > .w-nav-list');this.$anchors=this.$nav.find('.w-nav-anchor');this.$arrows=$('.w-nav-arrow');this.options=this.$nav.find('.w-nav-options:first')[0].onclick()||{};if(this.$nav.length==0){return} this.type=this.$nav.usMod('type');this.layout=this.$nav.usMod('layout');this.mobileOpened=!1;if($.isMobile&&this.type=='desktop'){this.$list.on('click','.w-nav-anchor[class*="level_"]',function(e){var $target=$(e.currentTarget),$item=$target.closest('.menu-item');if($target.usMod('level')>1&&!$item.hasClass('menu-item-has-children')){$target.parents('.menu-item.opened').removeClass('opened')}})} this.$control.on('click',function(){this.mobileOpened=!this.mobileOpened;this.setTabIndex(!0);this.$anchors.each(function(){if($(this).attr('href')==undefined){$(this).attr('href','javascript:void(0)')}});if(this.layout!='dropdown'){this.$anchors.removeAttr('tabindex')} if(this.mobileOpened){$('.l-header .w-nav').not(container).each(function(){$(this).trigger('USNavClose')});this.$control.addClass('active');this.$items.filter('.opened').removeClass('opened');this.$subLists.resetInlineCSS('display','height');if(this.layout=='dropdown'){this.$list.slideDownCSS(250,this._events.contentChanged)} $us.mobileNavOpened ++}else{this.$control.removeClass('active');if(this.layout=='dropdown'){this.$list.slideUpCSS(250,this._events.contentChanged)} this.setTabIndex();if(this.layout!='dropdown'){this.$anchors.attr('tabindex',-1)} $us.mobileNavOpened --} $us.$canvas.trigger('contentChange')}.bind(this));this.$control.on('focusin',function(e){if(this.type!='mobile'||this.layout=='dropdown'){return} this.$anchors.attr('tabindex',-1)}.bind(this));this.$close.on('click',function(){this.mobileOpened=!1;this.$control.removeClass('active');$us.mobileNavOpened --;$us.$canvas.trigger('contentChange')}.bind(this));$us.$document.keyup(function(e){if(e.keyCode==27){if(this.mobileOpened){if(this.layout=='dropdown'){this.$list.slideUpCSS(250,this._events.contentChanged)} this.mobileOpened=!1;this.$control.removeClass('active');this.setTabIndex();if(this.layout!='dropdown'){this.$anchors.attr('tabindex',-1)} $us.mobileNavOpened --;$us.$canvas.trigger('contentChange')}}}.bind(this));this._events={menuToggler:function($item,show){if(this.type!='mobile'){return} var $sublist=$item.children('.w-nav-list');if(show){$item.addClass('opened');$sublist.slideDownCSS(250,this._events.contentChanged)}else{$item.removeClass('opened');$sublist.slideUpCSS(250,this._events.contentChanged)}}.bind(this),focusHandler:function(e){if(this.type=='mobile'){return} var $item=$(e.target).closest('.menu-item'),$target=$(e.target);$item.parents('.menu-item').addClass('opened');$item.on('mouseleave',function(){$target.blur()})}.bind(this),blurHandler:function(e){if(this.type=='mobile'){return} var $item=$(e.target).closest('.menu-item');$item.parents('.menu-item').removeClass('opened')}.bind(this),clickHandler:function(e){if(this.type!='mobile'){return} e.stopPropagation();e.preventDefault();var $item=$(e.currentTarget).closest('.menu-item'),isOpened=$item.hasClass('opened');this._events.menuToggler($item,!isOpened)}.bind(this),keyDownHandler:function(e){if(this.type!='mobile'){return} var keyCode=e.keyCode||e.which;if(keyCode==13){var $target=$(e.target),$item=$target.closest('.menu-item'),isOpened=$item.hasClass('opened');if(!$target.is(this.$arrows)){return} e.stopPropagation();e.preventDefault();this._events.menuToggler($item,!isOpened)} if(keyCode==9){var $target=$(e.target)?$(e.target):{},i=this.$anchors.index($target),isDropdownLayout=this.layout=='dropdown'?!0:!1,closeMenu=function(){if(this.mobileOpened){if(isDropdownLayout){this.$list.slideUpCSS(250,this._events.contentChanged)} this.mobileOpened=!1;this.$control.removeClass('active');$us.mobileNavOpened --;$us.$canvas.trigger('contentChange');this.setTabIndex();if(this.layout!='dropdown'){this.$anchors.attr('tabindex',-1)}}}.bind(this);if(e.shiftKey){if((i===this.$anchors.length-1)&&this.layout!='dropdown'){this.$anchors.attr('tabindex',-1)} if(i===0){closeMenu()}}else{if(i===this.$anchors.length-1){closeMenu()}}}}.bind(this),resize:this.resize.bind(this),contentChanged:function(){if(this.type=='mobile'&&$us.header.isHorizontal()&&$us.canvas.headerPos=='fixed'&&this.layout=='fixed'){this.setFixedMobileMaxHeight()} $us.header.$container.trigger('contentChange')}.bind(this),close:function(){if(this.$list!=undefined&&jQuery.fn.slideUpCSS!=undefined&&this.mobileOpened&&this.type=='mobile'){this.mobileOpened=!1;if(this.layout=='dropdown'&&this.headerOrientation=='hor'){this.$list.slideUpCSS(250)} $us.mobileNavOpened --;$us.$canvas.trigger('contentChange')}}.bind(this),detachAnimation:function(){this.$nav.removeClass('us_animate_this')}.bind(this),};this.$subItems.each(function(index){var $item=$(this.$subItems[index]),$arrow=$item.find('.w-nav-arrow').first(),$subAnchor=$item.find('.w-nav-anchor').first(),dropByLabel=$item.hasClass('mobile-drop-by_label')||$item.parents('.menu-item').hasClass('mobile-drop-by_label'),dropByArrow=$item.hasClass('mobile-drop-by_arrow')||$item.parents('.menu-item').hasClass('mobile-drop-by_arrow');if(dropByLabel||(this.options.mobileBehavior&&!dropByArrow)){$subAnchor.on('click',this._events.clickHandler)}else if(dropByArrow||(!this.options.mobileBehavior&&!dropByLabel)){$arrow.on('click',this._events.clickHandler);$arrow.on('click',this._events.keyDownHandler)}}.bind(this));this.$subItems.each(function(){var $this=$(this),$parentItem=$this.parent().closest('.menu-item');if($parentItem.length==0||$parentItem.usMod('columns')===!1){$this.addClass('togglable')}});if(!$us.$html.hasClass('no-touch')){this.$list.find('.menu-item-has-children.togglable > .w-nav-anchor').on('click',function(e){if(this.type=='mobile'){return} e.preventDefault();var $this=$(e.currentTarget),$item=$this.parent();if($item.hasClass('opened')){return location.assign($this.attr('href'))} $item.addClass('opened');var outsideClickEvent=function(e){if($.contains($item[0],e.target)){return} $item.removeClass('opened');$us.$body.off('touchstart',outsideClickEvent)};$us.$body.on('touchstart',outsideClickEvent)}.bind(this))} $($us.$document).on('mouseup touchend',function(e){if(this.mobileOpened&&this.type=='mobile'){if(!this.$control.is(e.target)&&this.$control.has(e.target).length===0&&!this.$list.is(e.target)&&this.$list.has(e.target).length===0){this.mobileOpened=!1;this.$control.removeClass('active');this.$items.filter('.opened').removeClass('opened');this.$subLists.slideUpCSS(250);if(this.layout=='dropdown'&&this.headerOrientation=='hor'){this.$list.slideUpCSS(250)} $us.mobileNavOpened --;$us.$canvas.trigger('contentChange')}}}.bind(this));this.$anchors.on('focus.upsolution',this._events.focusHandler);this.$anchors.on('blur.upsolution',this._events.blurHandler);this.$nav.on('keydown.upsolution',this._events.keyDownHandler);this.$nav.on('transitionend',this._events.detachAnimation);this.$anchors.on('click',function(e){var $item=$(e.currentTarget).closest('.menu-item'),dropByLabel=$item.hasClass('mobile-drop-by_label')||$item.parents('.menu-item').hasClass('mobile-drop-by_label'),dropByArrow=$item.hasClass('mobile-drop-by_arrow')||$item.parents('.menu-item').hasClass('mobile-drop-by_arrow');if(this.type!='mobile'||$us.header.isVertical()){return} if(dropByLabel||(this.options.mobileBehavior&&$item.hasClass('menu-item-has-children')&&!dropByArrow)){return} this.mobileOpened=!1;this.$control.removeClass('active');if(this.layout=='dropdown'){this.$list.slideUpCSS(250)} $us.mobileNavOpened --;$us.$canvas.trigger('contentChange')}.bind(this));$us.$window.on('resize',$us.debounce(this._events.resize,5));$us.timeout(function(){this.resize();$us.header.$container.trigger('contentChange')}.bind(this),50);this.$nav.on('USNavClose',this._events.close)},setTabIndex:function(add){this.$subItems.each(function(index){var $item=$(this.$subItems[index]);if($item.hasClass('mobile-drop-by_arrow')||$item.parents('.menu-item').hasClass('mobile-drop-by_arrow')||(!$item.hasClass('mobile-drop-by_label')&&!this.options.mobileBehavior)){if(add){$item.find('.w-nav-arrow').attr('tabindex',0)}else{$item.find('.w-nav-arrow').removeAttr('tabindex')}}}.bind(this))},setFixedMobileMaxHeight:function(){this.$list.css('max-height',$us.canvas.winHeight-$us.header.getCurrentHeight()+'px')},resize:function(){if(this.$nav.length==0){return} var nextType=(window.innerWidth<this.options.mobileWidth)?'mobile':'desktop';if($us.header.orientation!=this.headerOrientation||nextType!=this.type){this.$subLists.resetInlineCSS('display','height');if(this.headerOrientation=='hor'&&this.type=='mobile'){this.$list.resetInlineCSS('display','height','max-height','opacity')} this.$items.removeClass('opened');this.headerOrientation=$us.header.orientation;this.type=nextType;this.$nav.usMod('type',nextType);this.setTabIndex();if(this.layout!='dropdown'){this.$anchors.removeAttr('tabindex')}} if($us.header.isHorizontal()&&this.type=='mobile'&&this.layout=='dropdown'&&$us.header.isFixed()){this.setFixedMobileMaxHeight()} this.$list.removeClass('hide_for_mobiles')}};$.fn.usNav=function(options){return this.each(function(){$(this).data('usNav',new $us.Nav(this,options))})};$('.l-header .w-nav').usNav()}(jQuery)