!function(t){"function"==typeof define&&define.amd?define(["jquery"],t):"object"==typeof module&&"object"==typeof module.exports?module.exports=t(require("jquery")):t(jQuery)}(function($){var menuTrees=[],mouse=!1,touchEvents="ontouchstart"in window,mouseDetectionEnabled=!1,requestAnimationFrame=window.requestAnimationFrame||function(t){return setTimeout(t,1e3/60)},cancelAnimationFrame=window.cancelAnimationFrame||function(t){clearTimeout(t)},canAnimate=!!$.fn.animate;function initMouseDetection(t){var n,a,e,s=".smartmenus_mouse";mouseDetectionEnabled||t?mouseDetectionEnabled&&t&&($(document).off(s),mouseDetectionEnabled=!1):(n=!0,a=null,(e={mousemove:function(t){var e,s,i,o={x:t.pageX,y:t.pageY,timeStamp:(new Date).getTime()};a&&(e=Math.abs(a.x-o.x),s=Math.abs(a.y-o.y),(0").addClass("sub-arrow"),this.opts.subIndicatorsText&&this.$subArrow.html(this.opts.subIndicatorsText)),initMouseDetection()),this.$firstSub=this.$root.find("ul.submenu, ul.sub-menu").each(function(){n.menuInit($(this))}).eq(0),this.$firstLink=this.$root.find("a").eq(0),this.opts.markCurrentItem&&(s=/(index|default)\.[^#\?\/]*/i,i=window.location.href.replace(s,""),o=i.replace(/#.*/,""),this.$root.find("a").each(function(){var t=this.href.replace(s,""),e=$(this);t!=i&&t!=o||(e.addClass("current"),n.opts.markCurrentTree&&e.parentsUntil("[data-smartmenus-id]","ul").each(function(){$(this).dataSM("parent-a").addClass("current")}))})),this.wasCollapsible=this.isCollapsible()},destroy:function(t){var e;t||(e=".smartmenus",this.$root.removeData("smartmenus").removeAttr("data-smartmenus-id").removeDataSM("level").off(e),e+=this.rootId,$(document).off(e),$(window).off(e),this.opts.subIndicators&&(this.$subArrow=null)),this.menuHideAll();var s=this;this.$root.find("ul").each(function(){var t=$(this);t.dataSM("scroll-arrows")&&t.dataSM("scroll-arrows").remove(),t.dataSM("shown-before")&&((s.opts.subMenusMinWidth||s.opts.subMenusMaxWidth)&&t.css({width:"",minWidth:"",maxWidth:""}).removeClass("sm-nowrap"),t.dataSM("scroll-arrows")&&t.dataSM("scroll-arrows").remove(),t.css({zIndex:"",top:"",left:"",marginLeft:"",marginTop:"",display:""})),0==(t.attr("id")||"").indexOf(s.accessIdPrefix)&&t.removeAttr("id")}).removeDataSM("in-mega").removeDataSM("shown-before").removeDataSM("scroll-arrows").removeDataSM("parent-a").removeDataSM("level").removeDataSM("beforefirstshowfired").removeAttr("role").removeAttr("aria-hidden").removeAttr("aria-labelledby").removeAttr("aria-expanded"),this.$root.find("a.has-submenu").each(function(){var t=$(this);0==t.attr("id").indexOf(s.accessIdPrefix)&&t.removeAttr("id")}).removeClass("has-submenu").removeDataSM("sub").removeAttr("aria-haspopup").removeAttr("aria-controls").removeAttr("aria-expanded").closest("li").removeDataSM("sub"),this.opts.subIndicators&&this.$root.find("span.sub-arrow").remove(),this.opts.markCurrentItem&&this.$root.find("a.current").removeClass("current"),t||(this.$root=null,this.$firstLink=null,this.$firstSub=null,this.$disableOverlay&&(this.$disableOverlay.remove(),this.$disableOverlay=null),menuTrees.splice($.inArray(this,menuTrees),1))},disable:function(t){var e;this.disabled||(this.menuHideAll(),t||this.opts.isPopup||!this.$root.is(":visible")||(e=this.$root.offset(),this.$disableOverlay=$('
').css({position:"absolute",top:e.top,left:e.left,width:this.$root.outerWidth(),height:this.$root.outerHeight(),zIndex:this.getStartZIndex(!0),opacity:0}).appendTo(document.body)),this.disabled=!0)},docClick:function(t){this.$touchScrollingSub?this.$touchScrollingSub=null:(this.visibleSubMenus.length&&!$.contains(this.$root[0],t.target)||$(t.target).closest("a").length)&&this.menuHideAll()},docTouchEnd:function(t){var e;this.lastTouch&&(!this.visibleSubMenus.length||void 0!==this.lastTouch.x2&&this.lastTouch.x1!=this.lastTouch.x2||void 0!==this.lastTouch.y2&&this.lastTouch.y1!=this.lastTouch.y2||this.lastTouch.target&&$.contains(this.$root[0],this.lastTouch.target)||(this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=0),(e=this).hideTimeout=setTimeout(function(){e.menuHideAll()},350)),this.lastTouch=null)},docTouchMove:function(t){var e;this.lastTouch&&(e=t.originalEvent.touches[0],this.lastTouch.x2=e.pageX,this.lastTouch.y2=e.pageY)},docTouchStart:function(t){var e=t.originalEvent.touches[0];this.lastTouch={x1:e.pageX,y1:e.pageY,target:e.target}},enable:function(){this.disabled&&(this.$disableOverlay&&(this.$disableOverlay.remove(),this.$disableOverlay=null),this.disabled=!1)},getClosestMenu:function(t){for(var e=$(t).closest("ul");e.dataSM("in-mega");)e=e.parent().closest("ul");return e[0]||null},getHeight:function(t){return this.getOffset(t,!0)},getOffset:function(t,e){var s;"none"==t.css("display")&&(s={position:t[0].style.position,visibility:t[0].style.visibility},t.css({position:"absolute",visibility:"hidden"}).show());var i=t[0].getBoundingClientRect&&t[0].getBoundingClientRect(),o=i&&(e?i.height||i.bottom-i.top:i.width||i.right-i.left);return o||0===o||(o=e?t[0].offsetHeight:t[0].offsetWidth),s&&t.hide().css(s),o},getStartZIndex:function(t){var e=parseInt(this[t?"$root":"$firstSub"].css("z-index"));return!t&&isNaN(e)&&(e=parseInt(this.$root.css("z-index"))),isNaN(e)?1:e},getTouchPoint:function(t){return t.touches&&t.touches[0]||t.changedTouches&&t.changedTouches[0]||t},getViewport:function(t){var e=t?"Height":"Width",s=document.documentElement["client"+e],i=window["inner"+e];return i&&(s=Math.min(s,i)),s},getViewportHeight:function(){return this.getViewport(!0)},getViewportWidth:function(){return this.getViewport()},getWidth:function(t){return this.getOffset(t)},handleEvents:function(){return!this.disabled&&this.isCSSOn()},handleItemEvents:function(t){return this.handleEvents()&&!this.isLinkInMegaMenu(t)},isCollapsible:function(){return"static"==this.$firstSub.css("position")},isCSSOn:function(){return"inline"!=this.$firstLink.css("display")},isFixed:function(){var t="fixed"==this.$root.css("position");return t||this.$root.parentsUntil("body").each(function(){if("fixed"==$(this).css("position"))return!(t=!0)}),t},isLinkInMegaMenu:function(t){return $(this.getClosestMenu(t[0])).hasClass("mega-menu")},isTouchMode:function(){return!mouse||this.opts.noMouseOver||this.isCollapsible()},itemActivate:function(t,e){var s,i,o=t.closest("ul"),n=o.dataSM("level");1')[0],$('')[0]]).on({mouseenter:function(){e.dataSM("scroll").up=$(this).hasClass("scroll-up"),o.menuScroll(e)},mouseleave:function(t){o.menuScrollStop(e),o.menuScrollOut(e,t)},"mousewheel DOMMouseScroll":function(t){t.preventDefault()}}).insertAfter(e)),n=".smartmenus_scroll",e.dataSM("scroll",{y:this.cssTransforms3d?0:C-b,step:1,itemH:b,subH:d,arrowDownH:this.getHeight(e.dataSM("scroll-arrows").eq(1))}).on(getEventsNS({mouseover:function(t){o.menuScrollOver(e,t)},mouseout:function(t){o.menuScrollOut(e,t)},"mousewheel DOMMouseScroll":function(t){o.menuScrollMousewheel(e,t)}},n)).dataSM("scroll-arrows").css({top:"auto",left:"0",marginLeft:t+(parseInt(e.css("border-left-width"))||0),width:c-(parseInt(e.css("border-left-width"))||0)-(parseInt(e.css("border-right-width"))||0),zIndex:e.css("z-index")}).eq(y&&this.opts.bottomToTopSubMenus?0:1).show(),this.isFixed()&&((a={})[touchEvents?"touchstart touchmove touchend":"pointerdown pointermove pointerup MSPointerDown MSPointerMove MSPointerUp"]=function(t){o.menuScrollTouch(e,t)},e.css({"touch-action":"none","-ms-touch-action":"none"}).on(getEventsNS(a,n))))),e.css({top:"auto",left:"0",marginLeft:t,marginTop:C-b})},menuScroll:function(t,e,s){var i,o=t.dataSM("scroll"),n=t.dataSM("scroll-arrows"),a=o.up?o.upEnd:o.downEnd;if(!e&&o.momentum){if(o.momentum*=.92,(i=o.momentum)<.5)return void this.menuScrollStop(t)}else i=s||(e||!this.opts.scrollAccelerate?this.opts.scrollStep:Math.floor(o.step));var r,h=t.dataSM("level");this.activatedItems[h-1]&&this.activatedItems[h-1].dataSM("sub")&&this.activatedItems[h-1].dataSM("sub").is(":visible")&&this.menuHideSubMenus(h-1),o.y=o.up&&a<=o.y||!o.up&&a>=o.y?o.y:Math.abs(a-o.y)>i?o.y+(o.up?i:-i):a,t.css(this.cssTransforms3d?{"-webkit-transform":"translate3d(0, "+o.y+"px, 0)",transform:"translate3d(0, "+o.y+"px, 0)"}:{marginTop:o.y}),mouse&&(o.up&&o.y>o.downEnd||!o.up&&o.ythis.getWidth(t)&&t.removeClass("sm-nowrap").css("width",this.opts.subMenusMaxWidth))),this.menuPosition(t)),o=function(){t.css("overflow","")},s?canAnimate&&this.opts.collapsibleShowFunction?this.opts.collapsibleShowFunction.call(this,t,o):t.show(this.opts.collapsibleShowDuration,o):canAnimate&&this.opts.showFunction?this.opts.showFunction.call(this,t,o):t.show(this.opts.showDuration,o),e.attr("aria-expanded","true"),t.attr({"aria-expanded":"true","aria-hidden":"false"}),this.visibleSubMenus.push(t),this.$root.triggerHandler("show.smapi",t[0])))},popupHide:function(t){this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=0);var e=this;this.hideTimeout=setTimeout(function(){e.menuHideAll()},t?1:this.opts.hideTimeout)},popupShow:function(t,e){var s,i;this.opts.isPopup?(this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=0),this.$root.dataSM("shown-before",!0),canAnimate&&this.$root.stop(!0,!0),this.$root.is(":visible")||(this.$root.css({left:t,top:e}),s=this,i=function(){s.$root.css("overflow","")},canAnimate&&this.opts.showFunction?this.opts.showFunction.call(this,this.$root,i):this.$root.show(this.opts.showDuration,i),this.visibleSubMenus[0]=this.$root)):alert('SmartMenus jQuery Error:\n\nIf you want to show this menu via the "popupShow" method, set the isPopup:true option.')},refresh:function(){this.destroy(!0),this.init(!0)},rootKeyDown:function(t){if(this.handleEvents())switch(t.keyCode){case 27:var e=this.activatedItems[0];e&&(this.menuHideAll(),e[0].focus(),(s=e.dataSM("sub"))&&this.menuHide(s));break;case 32:var s,i=$(t.target);i.is("a")&&this.handleItemEvents(i)&&(s=i.dataSM("sub"))&&!s.is(":visible")&&(this.itemClick({currentTarget:t.target}),t.preventDefault())}},rootOut:function(t){var e;this.handleEvents()&&!this.isTouchMode()&&t.target!=this.$root[0]&&(this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=0),this.opts.showOnClick&&this.opts.hideOnClick||((e=this).hideTimeout=setTimeout(function(){e.menuHideAll()},this.opts.hideTimeout)))},rootOver:function(t){this.handleEvents()&&!this.isTouchMode()&&t.target!=this.$root[0]&&this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=0)},winResize:function(t){var e,s;this.handleEvents()?"onorientationchange"in window&&"orientationchange"!=t.type||(e=this.isCollapsible(),this.wasCollapsible&&e||(this.activatedItems.length&&this.activatedItems[this.activatedItems.length-1][0].blur(),this.menuHideAll()),this.wasCollapsible=e):this.$disableOverlay&&(s=this.$root.offset(),this.$disableOverlay.css({top:s.top,left:s.left,width:this.$root.outerWidth(),height:this.$root.outerHeight()}))}}}),$.fn.dataSM=function(t,e){return e?this.data(t+"_smartmenus",e):this.data(t+"_smartmenus")},$.fn.removeDataSM=function(t){return this.removeData(t+"_smartmenus")},$.fn.smartmenus=function(options){if("string"!=typeof options)return this.each(function(){var dataOpts=$(this).data("sm-options")||null;if(dataOpts)try{dataOpts=eval("("+dataOpts+")")}catch(t){dataOpts=null,alert('ERROR\n\nSmartMenus jQuery init:\nInvalid "data-sm-options" attribute value syntax.')}new $.SmartMenus(this,$.extend({},$.fn.smartmenus.defaults,options,dataOpts))});var args=arguments,method=options;return Array.prototype.shift.call(args),this.each(function(){var t=$(this).data("smartmenus");t&&t[method]&&t[method].apply(t,args)})},$.fn.smartmenus.defaults={isPopup:!1,mainMenuSubOffsetX:0,mainMenuSubOffsetY:0,subMenusSubOffsetX:0,subMenusSubOffsetY:0,subMenusMinWidth:"10em",subMenusMaxWidth:"20em",subIndicators:!0,subIndicatorsPos:"append",subIndicatorsText:"",scrollStep:30,scrollAccelerate:!0,showTimeout:250,hideTimeout:500,showDuration:0,showFunction:null,hideDuration:0,hideFunction:function(t,e){t.fadeOut(200,e)},collapsibleShowDuration:0,collapsibleShowFunction:function(t,e){t.slideDown(200,e)},collapsibleHideDuration:0,collapsibleHideFunction:function(t,e){t.slideUp(200,e)},showOnClick:!1,hideOnClick:!0,noMouseOver:!1,keepInViewport:!0,keepHighlighted:!0,markCurrentItem:!1,markCurrentTree:!0,rightToLeftSubMenus:!1,bottomToTopSubMenus:!1,collapsibleBehavior:"default"},$});