XylotrechusZ
(function(a,b){'use strict';var c=a("body");a.DLMenu=function(b,c){this.$el=a(c),this._init(b)},a.DLMenu.defaults={animationClasses:{classin:"dl-animate-in-1",classout:"dl-animate-out-1"},onLevelClick:function(){return!1},onLinkClick:function(){return!1},backLabel:"Back",useActiveItemAsBackLabel:!1,useActiveItemAsLink:!0,resetOnClose:!0},a.DLMenu.prototype={_init:function(b){this.options=a.extend(!0,{},a.DLMenu.defaults,b),this._config();this.animEndEventName={WebkitAnimation:"webkitAnimationEnd",OAnimation:"oAnimationEnd",msAnimation:"MSAnimationEnd",animation:"animationend"}.animation+".dlmenu",this.transEndEventName={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd",msTransition:"MSTransitionEnd",transition:"transitionend"}.transition+".dlmenu",this.supportAnimations=!0,this.supportTransitions=!0,this._initEvents()},_config:function(){this.open=!1,this.$trigger=this.$el.children(".dl-trigger"),this.$menu=this.$el.children("ul.dl-menu"),this.$menuitems=this.$menu.find("li:not(.dl-back)"),this.$el.find("ul.dl-submenu").prepend("<li class=\"dl-back\"><a href=\"#\"><span>"+this.options.backLabel+"</span></a></li>"),this.$el.find("ul.dl-submenu").each(function(){0==a("ul.dl-submenu",a(this)).length&&a(this).addClass("no-dl-submenu")}),this.$back=this.$menu.find("li.dl-back"),this.options.useActiveItemAsBackLabel&&this.$back.each(function(){var b=a(this),c=b.parents("li:first").find("a:first").text();b.find("a").html("<span>"+c+"</span>")}),this.options.useActiveItemAsLink&&this.$el.find("ul.dl-submenu").prepend(function(){var b=a(this).parents("li:not(.dl-back):first").find("a:first"),c=b.closest("li").attr("class").match(/mm-lv-(\d)+/);return"<li class=\"dl-parent mm-menu-item active current"+(c[0]?c[0]:"")+"\"><a href=\""+b.attr("href")+"\" class=\""+b.attr("class")+"\">"+b.text()+"</a></li>"})},_initEvents:function(){var b=this;this.$trigger.on("click.dlmenu",function(){return b.open?b._closeMenu():(b._openMenu(),c.off("click").children().on("click.dlmenu",function(){b._closeMenu()})),!1}),this.$menuitems.on("click.dlmenu",function(c){c.stopPropagation();var d=a(this),e=d.children("ul.dl-submenu");if(0<e.length&&!a(c.currentTarget).hasClass("dl-subviewopen")){if(a(c.target).hasClass("trigger-dlmenu")){var f=e.clone().css("opacity",0).insertAfter(b.$menu),g=function(){b.$menu.off(b.animEndEventName).removeClass(b.options.animationClasses.classout).addClass("dl-subview"),d.addClass("dl-subviewopen").parents(".dl-subviewopen:first").removeClass("dl-subviewopen").addClass("dl-subview"),f.remove()};setTimeout(function(){f.addClass(b.options.animationClasses.classin),b.$menu.addClass(b.options.animationClasses.classout),b.supportAnimations?b.$menu.on(b.animEndEventName,g):g.call(),b.options.onLevelClick(d,d.children("a:first").text())})}else return!0;return!1}b.options.onLinkClick(d,c)}),this.$back.on("click.dlmenu",function(){var c=a(this),d=c.parents("ul.dl-submenu:first"),e=d.parent(),f=d.clone().insertAfter(b.$menu),g=function(){b.$menu.off(b.animEndEventName).removeClass(b.options.animationClasses.classin),f.remove()};return setTimeout(function(){f.addClass(b.options.animationClasses.classout),b.$menu.addClass(b.options.animationClasses.classin),b.supportAnimations?b.$menu.on(b.animEndEventName,g):g.call(),e.removeClass("dl-subviewopen");var a=c.parents(".dl-subview:first");a.is("li")&&a.addClass("dl-subviewopen"),a.removeClass("dl-subview")}),!1})},closeMenu:function(){this.open&&this._closeMenu()},_closeMenu:function(){var a=this,b=function(){a.$menu.off(a.transEndEventName),a.options.resetOnClose&&a._resetMenu()};this.$menu.removeClass("dl-menuopen"),this.$menu.addClass("dl-menu-toggle"),this.$trigger.removeClass("dl-active"),this.supportTransitions?this.$menu.on(this.transEndEventName,b):b.call(),this.open=!1},openMenu:function(){this.open||this._openMenu()},_openMenu:function(){var b=this;c.off("click").on("click.dlmenu",function(){b._closeMenu()}),this.$menu.addClass("dl-menuopen dl-menu-toggle").on(this.transEndEventName,function(){a(this).removeClass("dl-menu-toggle")}),this.$trigger.addClass("dl-active"),this.open=!0},_resetMenu:function(){this.$menu.removeClass("dl-subview"),this.$menuitems.removeClass("dl-subview dl-subviewopen")}};var d=function(a){b.console&&b.console.error(a)};a.fn.dlmenu=function(b){if("string"==typeof b){var c=Array.prototype.slice.call(arguments,1);this.each(function(){var e=a.data(this,"dlmenu");return e?a.isFunction(e[b])&&"_"!==b.charAt(0)?void e[b].apply(e,c):void d("no such method '"+b+"' for dlmenu instance"):void d("cannot call methods on dlmenu prior to initialization; attempted to call method '"+b+"'")})}else this.each(function(){var c=a.data(this,"dlmenu");c?c._init():c=a.data(this,"dlmenu",new a.DLMenu(b,this))});return this}})(jQuery,window);