/* * jQuery mmenu v5.6.3 * @requires jQuery 1.7.0 or later * * mmenu.frebsite.nl * * Copyright (c) Fred Heusschen * www.frebsite.nl * * License: CC-BY-NC-4.0 * http://creativecommons.org/licenses/by-nc/4.0/ */ ! function(e) { function t() { e[n].glbl || (r = { $wndw: e(window), $docu: e(document), $html: e("html"), $body: e("body") }, i = {}, a = {}, o = {}, e.each([i, a, o], function(e, t) { t.add = function(e) { e = e.split(" "); for(var n = 0, s = e.length; s > n; n++) t[e[n]] = t.mm(e[n]) } }), i.mm = function(e) { return "mm-" + e }, i.add("wrapper menu panels panel nopanel current highest opened subopened navbar hasnavbar title btn prev next listview nolistview inset vertical selected divider spacer hidden fullsubopen"), i.umm = function(e) { return "mm-" == e.slice(0, 3) && (e = e.slice(3)), e }, a.mm = function(e) { return "mm-" + e }, a.add("parent sub"), o.mm = function(e) { return e + ".mm" }, o.add("transitionend webkitTransitionEnd click scroll keydown mousedown mouseup touchstart touchmove touchend orientationchange"), e[n]._c = i, e[n]._d = a, e[n]._e = o, e[n].glbl = r) } var n = "mmenu", s = "5.6.3"; if(!(e[n] && e[n].version > s)) { e[n] = function(e, t, n) { this.$menu = e, this._api = ["bind", "init", "update", "setSelected", "getInstance", "openPanel", "closePanel", "closeAllPanels"], this.opts = t, this.conf = n, this.vars = {}, this.cbck = {}, "function" == typeof this.___deprecated && this.___deprecated(), this._initMenu(), this._initAnchors(); var s = this.$pnls.children(); return this._initAddons(), this.init(s), "function" == typeof this.___debug && this.___debug(), this }, e[n].version = s, e[n].addons = {}, e[n].uniqueId = 0, e[n].defaults = { extensions: [], navbar: { add: !0, title: "bob体肓官方网站", titleLink: "panel" }, onClick: { setSelected: !0 }, slidingSubmenus: !0 }, e[n].configuration = { classNames: { divider: "Divider", inset: "Inset", panel: "Panel", selected: "Selected", spacer: "Spacer", vertical: "Vertical" }, clone: !1, openingInterval: 25, panelNodetype: "ul, ol, div", transitionDuration: 400 }, e[n].prototype = { init: function(e) { e = e.not("." + i.nopanel), e = this._initPanels(e), this.trigger("init", e), this.trigger("update") }, update: function() { this.trigger("update") }, setSelected: function(e) { this.$menu.find("." + i.listview).children().removeClass(i.selected), e.addClass(i.selected), this.trigger("setSelected", e) }, openPanel: function(t) { var s = t.parent(), a = this; if(s.hasClass(i.vertical)) { var o = s.parents("." + i.subopened); if(o.length) return void this.openPanel(o.first()); s.addClass(i.opened), this.trigger("openPanel", t), this.trigger("openingPanel", t), this.trigger("openedPanel", t) } else { if(t.hasClass(i.current)) return; var r = this.$pnls.children("." + i.panel), l = r.filter("." + i.current); r.removeClass(i.highest).removeClass(i.current).not(t).not(l).not("." + i.vertical).addClass(i.hidden), e[n].support.csstransitions || l.addClass(i.hidden), t.hasClass(i.opened) ? t.nextAll("." + i.opened).addClass(i.highest).removeClass(i.opened).removeClass(i.subopened) : (t.addClass(i.highest), l.addClass(i.subopened)), t.removeClass(i.hidden).addClass(i.current), a.trigger("openPanel", t), setTimeout(function() { t.removeClass(i.subopened).addClass(i.opened), a.trigger("openingPanel", t), a.__transitionend(t, function() { a.trigger("openedPanel", t) }, a.conf.transitionDuration) }, this.conf.openingInterval) } }, closePanel: function(e) { var t = e.parent(); t.hasClass(i.vertical) && (t.removeClass(i.opened), this.trigger("closePanel", e), this.trigger("closingPanel", e), this.trigger("closedPanel", e)) }, closeAllPanels: function() { this.$menu.find("." + i.listview).children().removeClass(i.selected).filter("." + i.vertical).removeClass(i.opened); var e = this.$pnls.children("." + i.panel), t = e.first(); this.$pnls.children("." + i.panel).not(t).removeClass(i.subopened).removeClass(i.opened).removeClass(i.current).removeClass(i.highest).addClass(i.hidden), this.openPanel(t) }, togglePanel: function(e) { var t = e.parent(); t.hasClass(i.vertical) && this[t.hasClass(i.opened) ? "closePanel" : "openPanel"](e) }, getInstance: function() { return this }, bind: function(e, t) { this.cbck[e] = this.cbck[e] || [], this.cbck[e].push(t) }, trigger: function() { var e = this, t = Array.prototype.slice.call(arguments), n = t.shift(); if(this.cbck[n]) for(var s = 0, i = this.cbck[n].length; i > s; s++) this.cbck[n][s].apply(e, t) }, _initMenu: function() { this.$menu.attr("id", this.$menu.attr("id") || this.__getUniqueId()), this.conf.clone && (this.$menu = this.$menu.clone(!0), this.$menu.add(this.$menu.find("[id]")).filter("[id]").each(function() { e(this).attr("id", i.mm(e(this).attr("id"))) })), this.$menu.contents().each(function() { 3 == e(this)[0].nodeType && e(this).remove() }), this.$pnls = e('
').append(this.$menu.children(this.conf.panelNodetype)).prependTo(this.$menu), this.$menu.parent().addClass(i.wrapper); var t = [i.menu]; this.opts.slidingSubmenus || t.push(i.vertical), this.opts.extensions = this.opts.extensions.length ? "mm-" + this.opts.extensions.join(" mm-") : "", this.opts.extensions && t.push(this.opts.extensions), this.$menu.addClass(t.join(" ")) }, _initPanels: function(t) { var n = this, s = this.__findAddBack(t, "ul, ol"); this.__refactorClass(s, this.conf.classNames.inset, "inset").addClass(i.nolistview + " " + i.nopanel), s.not("." + i.nolistview).addClass(i.listview); var o = this.__findAddBack(t, "." + i.listview).children(); this.__refactorClass(o, this.conf.classNames.selected, "selected"), this.__refactorClass(o, this.conf.classNames.divider, "divider"), this.__refactorClass(o, this.conf.classNames.spacer, "spacer"), this.__refactorClass(this.__findAddBack(t, "." + this.conf.classNames.panel), this.conf.classNames.panel, "panel"); var r = e(), l = t.add(t.find("." + i.panel)).add(this.__findAddBack(t, "." + i.listview).children().children(this.conf.panelNodetype)).not("." + i.nopanel); this.__refactorClass(l, this.conf.classNames.vertical, "vertical"), this.opts.slidingSubmenus || l.addClass(i.vertical), l.each(function() { var t = e(this), s = t; t.is("ul, ol") ? (t.wrap('
'), s = t.parent()) : s.addClass(i.panel); var a = t.attr("id"); t.removeAttr("id"), s.attr("id", a || n.__getUniqueId()), t.hasClass(i.vertical) && (t.removeClass(n.conf.classNames.vertical), s.add(s.parent()).addClass(i.vertical)), r = r.add(s) }); var d = e("." + i.panel, this.$menu); r.each(function(t) { var s, o, r = e(this), l = r.parent(), d = l.children("a, span").first(); if(l.is("." + i.panels) || (l.data(a.sub, r), r.data(a.parent, l)), l.children("." + i.next).length || l.parent().is("." + i.listview) && (s = r.attr("id"), o = e('').insertBefore(d), d.is("span") && o.addClass(i.fullsubopen)), !r.children("." + i.navbar).length && !l.hasClass(i.vertical)) { l.parent().is("." + i.listview) ? l = l.closest("." + i.panel) : (d = l.closest("." + i.panel).find('a[href="#' + r.attr("id") + '"]').first(), l = d.closest("." + i.panel)); var c = e('
'); if(l.length) { switch(s = l.attr("id"), n.opts.navbar.titleLink) { case "anchor": _url = d.attr("href"); break; case "panel": case "parent": _url = "#" + s; break; default: _url = !1 } c.append('').append(e('").text(d.text())).prependTo(r), n.opts.navbar.add && r.addClass(i.hasnavbar) } else n.opts.navbar.title && (c.append('' + n.opts.navbar.title + "").prependTo(r), n.opts.navbar.add && r.addClass(i.hasnavbar)) } }); var c = this.__findAddBack(t, "." + i.listview).children("." + i.selected).removeClass(i.selected).last().addClass(i.selected); c.add(c.parentsUntil("." + i.menu, "li")).filter("." + i.vertical).addClass(i.opened).end().each(function() { e(this).parentsUntil("." + i.menu, "." + i.panel).not("." + i.vertical).first().addClass(i.opened).parentsUntil("." + i.menu, "." + i.panel).not("." + i.vertical).first().addClass(i.opened).addClass(i.subopened) }), c.children("." + i.panel).not("." + i.vertical).addClass(i.opened).parentsUntil("." + i.menu, "." + i.panel).not("." + i.vertical).first().addClass(i.opened).addClass(i.subopened); var h = d.filter("." + i.opened); return h.length || (h = r.first()), h.addClass(i.opened).last().addClass(i.current), r.not("." + i.vertical).not(h.last()).addClass(i.hidden).end().filter(function() { return !e(this).parent().hasClass(i.panels) }).appendTo(this.$pnls), r }, _initAnchors: function() { var t = this; r.$body.on(o.click + "-oncanvas", "a[href]", function(s) { var a = e(this), o = !1, r = t.$menu.find(a).length; for(var l in e[n].addons) if(e[n].addons[l].clickAnchor.call(t, a, r)) { o = !0; break } var d = a.attr("href"); if(!o && r && d.length > 1 && "#" == d.slice(0, 1)) try { var c = e(d, t.$menu); c.is("." + i.panel) && (o = !0, t[a.parent().hasClass(i.vertical) ? "togglePanel" : "openPanel"](c)) } catch(h) {} if(o && s.preventDefault(), !o && r && a.is("." + i.listview + " > li > a") && !a.is('[rel="external"]') && !a.is('[target="_blank"]')) { t.__valueOrFn(t.opts.onClick.setSelected, a) && t.setSelected(e(s.target).parent()); var u = t.__valueOrFn(t.opts.onClick.preventDefault, a, "#" == d.slice(0, 1)); u && s.preventDefault(), t.__valueOrFn(t.opts.onClick.close, a, u) && t.close() } }) }, _initAddons: function() { var t; for(t in e[n].addons) e[n].addons[t].add.call(this), e[n].addons[t].add = function() {}; for(t in e[n].addons) e[n].addons[t].setup.call(this) }, _getOriginalMenuId: function() { var e = this.$menu.attr("id"); return e && e.length && this.conf.clone && (e = i.umm(e)), e }, __api: function() { var t = this, n = {}; return e.each(this._api, function(e) { var s = this; n[s] = function() { var e = t[s].apply(t, arguments); return "undefined" == typeof e ? n : e } }), n }, __valueOrFn: function(e, t, n) { return "function" == typeof e ? e.call(t[0]) : "undefined" == typeof e && "undefined" != typeof n ? n : e }, __refactorClass: function(e, t, n) { return e.filter("." + t).removeClass(t).addClass(i[n]) }, __findAddBack: function(e, t) { return e.find(t).add(e.filter(t)) }, __filterListItems: function(e) { return e.not("." + i.divider).not("." + i.hidden) }, __transitionend: function(e, t, n) { var s = !1, i = function() { s || t.call(e[0]), s = !0 }; e.one(o.transitionend, i), e.one(o.webkitTransitionEnd, i), setTimeout(i, 1.1 * n) }, __getUniqueId: function() { return i.mm(e[n].uniqueId++) } }, e.fn[n] = function(s, i) { return t(), s = e.extend(!0, {}, e[n].defaults, s), i = e.extend(!0, {}, e[n].configuration, i), this.each(function() { var t = e(this); if(!t.data(n)) { var a = new e[n](t, s, i); a.$menu.data(n, a.__api()) } }) }, e[n].support = { touch: "ontouchstart" in window || navigator.msMaxTouchPoints || !1, csstransitions: function() { if("undefined" != typeof Modernizr && "undefined" != typeof Modernizr.csstransitions) return Modernizr.csstransitions; var e = document.body || document.documentElement, t = e.style, n = "transition"; if("string" == typeof t[n]) return !0; var s = ["Moz", "webkit", "Webkit", "Khtml", "O", "ms"]; n = n.charAt(0).toUpperCase() + n.substr(1); for(var i = 0; i < s.length; i++) if("string" == typeof t[s[i] + n]) return !0; return !1 }() }; var i, a, o, r } }(jQuery), /* * jQuery mmenu offCanvas addon * mmenu.frebsite.nl * * Copyright (c) Fred Heusschen */ function(e) { var t = "mmenu", n = "offCanvas"; e[t].addons[n] = { setup: function() { if(this.opts[n]) { var i = this.opts[n], a = this.conf[n]; o = e[t].glbl, this._api = e.merge(this._api, ["open", "close", "setPage"]), ("top" == i.position || "bottom" == i.position) && (i.zposition = "front"), "string" != typeof a.pageSelector && (a.pageSelector = "> " + a.pageNodetype), o.$allMenus = (o.$allMenus || e()).add(this.$menu), this.vars.opened = !1; var r = [s.offcanvas]; "left" != i.position && r.push(s.mm(i.position)), "back" != i.zposition && r.push(s.mm(i.zposition)), this.$menu.addClass(r.join(" ")).parent().removeClass(s.wrapper), this.setPage(o.$page), this._initBlocker(), this["_initWindow_" + n](), this.$menu[a.menuInjectMethod + "To"](a.menuWrapperSelector); var l = window.location.hash; if(l) { var d = this._getOriginalMenuId(); d && d == l.slice(1) && this.open() } } }, add: function() { s = e[t]._c, i = e[t]._d, a = e[t]._e, s.add("offcanvas slideout blocking modal background opening blocker page"), i.add("style"), a.add("resize") }, clickAnchor: function(e, t) { if(!this.opts[n]) return !1; var s = this._getOriginalMenuId(); if(s && e.is('[href="#' + s + '"]')) return this.open(), !0; if(o.$page) return s = o.$page.first().attr("id"), s && e.is('[href="#' + s + '"]') ? (this.close(), !0) : !1 } }, e[t].defaults[n] = { position: "left", zposition: "back", blockUI: !0, moveBackground: !0 }, e[t].configuration[n] = { pageNodetype: "div", pageSelector: null, noPageSelector: [], wrapPageIfNeeded: !0, menuWrapperSelector: "body", menuInjectMethod: "prepend" }, e[t].prototype.open = function() { if(!this.vars.opened) { var e = this; this._openSetup(), setTimeout(function() { e._openFinish() }, this.conf.openingInterval), this.trigger("open") } }, e[t].prototype._openSetup = function() { var t = this, r = this.opts[n]; this.closeAllOthers(), o.$page.each(function() { e(this).data(i.style, e(this).attr("style") || "") }), o.$wndw.trigger(a.resize + "-" + n, [!0]); var l = [s.opened]; r.blockUI && l.push(s.blocking), "modal" == r.blockUI && l.push(s.modal), r.moveBackground && l.push(s.background), "left" != r.position && l.push(s.mm(this.opts[n].position)), "back" != r.zposition && l.push(s.mm(this.opts[n].zposition)), this.opts.extensions && l.push(this.opts.extensions), o.$html.addClass(l.join(" ")), setTimeout(function() { t.vars.opened = !0 }, this.conf.openingInterval), this.$menu.addClass(s.current + " " + s.opened) }, e[t].prototype._openFinish = function() { var e = this; this.__transitionend(o.$page.first(), function() { e.trigger("opened") }, this.conf.transitionDuration), o.$html.addClass(s.opening), this.trigger("opening") }, e[t].prototype.close = function() { if(this.vars.opened) { var t = this; this.__transitionend(o.$page.first(), function() { t.$menu.removeClass(s.current).removeClass(s.opened), o.$html.removeClass(s.opened).removeClass(s.blocking).removeClass(s.modal).removeClass(s.background).removeClass(s.mm(t.opts[n].position)).removeClass(s.mm(t.opts[n].zposition)), t.opts.extensions && o.$html.removeClass(t.opts.extensions), o.$page.each(function() { e(this).attr("style", e(this).data(i.style)) }), t.vars.opened = !1, t.trigger("closed") }, this.conf.transitionDuration), o.$html.removeClass(s.opening), this.trigger("close"), this.trigger("closing") } }, e[t].prototype.closeAllOthers = function() { o.$allMenus.not(this.$menu).each(function() { var n = e(this).data(t); n && n.close && n.close() }) }, e[t].prototype.setPage = function(t) { var i = this, a = this.conf[n]; t && t.length || (t = o.$body.find(a.pageSelector), a.noPageSelector.length && (t = t.not(a.noPageSelector.join(", "))), t.length > 1 && a.wrapPageIfNeeded && (t = t.wrapAll("<" + this.conf[n].pageNodetype + " />").parent())), t.each(function() { e(this).attr("id", e(this).attr("id") || i.__getUniqueId()) }), t.addClass(s.page + " " + s.slideout), o.$page = t, this.trigger("setPage", t) }, e[t].prototype["_initWindow_" + n] = function() { o.$wndw.off(a.keydown + "-" + n).on(a.keydown + "-" + n, function(e) { return o.$html.hasClass(s.opened) && 9 == e.keyCode ? (e.preventDefault(), !1) : void 0 }); var e = 0; o.$wndw.off(a.resize + "-" + n).on(a.resize + "-" + n, function(t, n) { if(1 == o.$page.length && (n || o.$html.hasClass(s.opened))) { var i = o.$wndw.height(); (n || i != e) && (e = i, o.$page.css("minHeight", i)) } }) }, e[t].prototype._initBlocker = function() { var t = this; this.opts[n].blockUI && (o.$blck || (o.$blck = e('
')), o.$blck.appendTo(o.$body).off(a.touchstart + "-" + n + " " + a.touchmove + "-" + n).on(a.touchstart + "-" + n + " " + a.touchmove + "-" + n, function(e) { e.preventDefault(), e.stopPropagation(), o.$blck.trigger(a.mousedown + "-" + n) }).off(a.mousedown + "-" + n).on(a.mousedown + "-" + n, function(e) { e.preventDefault(), o.$html.hasClass(s.modal) || (t.closeAllOthers(), t.close()) })) }; var s, i, a, o }(jQuery), /* * jQuery mmenu scrollBugFix addon * mmenu.frebsite.nl * * Copyright (c) Fred Heusschen */ function(e) { var t = "mmenu", n = "scrollBugFix"; e[t].addons[n] = { setup: function() { var i = this, r = this.opts[n]; this.conf[n]; if(o = e[t].glbl, e[t].support.touch && this.opts.offCanvas && this.opts.offCanvas.blockUI && ("boolean" == typeof r && (r = { fix: r }), "object" != typeof r && (r = {}), r = this.opts[n] = e.extend(!0, {}, e[t].defaults[n], r), r.fix)) { var l = this.$menu.attr("id"), d = !1; this.bind("opening", function() { this.$pnls.children("." + s.current).scrollTop(0) }), o.$docu.on(a.touchmove, function(e) { i.vars.opened && e.preventDefault() }), o.$body.on(a.touchstart, "#" + l + "> ." + s.panels + "> ." + s.current, function(e) { i.vars.opened && (d || (d = !0, 0 === e.currentTarget.scrollTop ? e.currentTarget.scrollTop = 1 : e.currentTarget.scrollHeight === e.currentTarget.scrollTop + e.currentTarget.offsetHeight && (e.currentTarget.scrollTop -= 1), d = !1)) }).on(a.touchmove, "#" + l + "> ." + s.panels + "> ." + s.current, function(t) { i.vars.opened && e(this)[0].scrollHeight > e(this).innerHeight() && t.stopPropagation() }), o.$wndw.on(a.orientationchange, function() { i.$pnls.children("." + s.current).scrollTop(0).css({ "-webkit-overflow-scrolling": "auto" }).css({ "-webkit-overflow-scrolling": "touch" }) }) } }, add: function() { s = e[t]._c, i = e[t]._d, a = e[t]._e }, clickAnchor: function(e, t) {} }, e[t].defaults[n] = { fix: !0 }; var s, i, a, o }(jQuery), /* * jQuery mmenu autoHeight addon * mmenu.frebsite.nl * * Copyright (c) Fred Heusschen */ function(e) { var t = "mmenu", n = "autoHeight"; e[t].addons[n] = { setup: function() { if(this.opts.offCanvas) { var i = this.opts[n]; this.conf[n]; if(o = e[t].glbl, "boolean" == typeof i && i && (i = { height: "auto" }), "string" == typeof i && (i = { height: i }), "object" != typeof i && (i = {}), i = this.opts[n] = e.extend(!0, {}, e[t].defaults[n], i), "auto" == i.height || "highest" == i.height) { this.$menu.addClass(s.autoheight); var a = function(t) { if(this.vars.opened) { var n = parseInt(this.$pnls.css("top"), 10) || 0, a = parseInt(this.$pnls.css("bottom"), 10) || 0, o = 0; this.$menu.addClass(s.measureheight), "auto" == i.height ? (t = t || this.$pnls.children("." + s.current), t.is("." + s.vertical) && (t = t.parents("." + s.panel).not("." + s.vertical).first()), o = t.outerHeight()) : "highest" == i.height && this.$pnls.children().each(function() { var t = e(this); t.is("." + s.vertical) && (t = t.parents("." + s.panel).not("." + s.vertical).first()), o = Math.max(o, t.outerHeight()) }), this.$menu.height(o + n + a).removeClass(s.measureheight) } }; this.bind("opening", a), "highest" == i.height && this.bind("init", a), "auto" == i.height && (this.bind("update", a), this.bind("openPanel", a), this.bind("closePanel", a)) } } }, add: function() { s = e[t]._c, i = e[t]._d, a = e[t]._e, s.add("autoheight measureheight"), a.add("resize") }, clickAnchor: function(e, t) {} }, e[t].defaults[n] = { height: "default" }; var s, i, a, o }(jQuery), /* * jQuery mmenu backButton addon * mmenu.frebsite.nl * * Copyright (c) Fred Heusschen */ function(e) { var t = "mmenu", n = "backButton"; e[t].addons[n] = { setup: function() { if(this.opts.offCanvas) { var i = this, a = this.opts[n]; this.conf[n]; if(o = e[t].glbl, "boolean" == typeof a && (a = { close: a }), "object" != typeof a && (a = {}), a = e.extend(!0, {}, e[t].defaults[n], a), a.close) { var r = "#" + i.$menu.attr("id"); this.bind("opened", function(e) { location.hash != r && history.pushState(null, document.title, r) }), e(window).on("popstate", function(e) { o.$html.hasClass(s.opened) ? (e.stopPropagation(), i.close()) : location.hash == r && (e.stopPropagation(), i.open()) }) } } }, add: function() { return window.history && window.history.pushState ? (s = e[t]._c, i = e[t]._d, void(a = e[t]._e)) : void(e[t].addons[n].setup = function() {}) }, clickAnchor: function(e, t) {} }, e[t].defaults[n] = { close: !1 }; var s, i, a, o }(jQuery), /* * jQuery mmenu columns addon * mmenu.frebsite.nl * * Copyright (c) Fred Heusschen */ function(e) { var t = "mmenu", n = "columns"; e[t].addons[n] = { setup: function() { var i = this.opts[n]; this.conf[n]; if(o = e[t].glbl, "boolean" == typeof i && (i = { add: i }), "number" == typeof i && (i = { add: !0, visible: i }), "object" != typeof i && (i = {}), "number" == typeof i.visible && (i.visible = { min: i.visible, max: i.visible }), i = this.opts[n] = e.extend(!0, {}, e[t].defaults[n], i), i.add) { i.visible.min = Math.max(1, Math.min(6, i.visible.min)), i.visible.max = Math.max(i.visible.min, Math.min(6, i.visible.max)), this.$menu.addClass(s.columns); for(var a = this.opts.offCanvas ? this.$menu.add(o.$html) : this.$menu, r = [], l = 0; l <= i.visible.max; l++) r.push(s.columns + "-" + l); r = r.join(" "); var d = function(e) { u.call(this, this.$pnls.children("." + s.current)), i.hideNavbars && e.removeClass(s.hasnavbar) }, c = function() { var e = this.$pnls.children("." + s.panel).filter("." + s.opened).length; e = Math.min(i.visible.max, Math.max(i.visible.min, e)), a.removeClass(r).addClass(s.columns + "-" + e) }, h = function() { this.opts.offCanvas && o.$html.removeClass(r) }, u = function(t) { this.$pnls.children("." + s.panel).removeClass(r).filter("." + s.subopened).removeClass(s.hidden).add(t).slice(-i.visible.max).each(function(t) { e(this).addClass(s.columns + "-" + t) }) }; this.bind("open", c), this.bind("close", h), this.bind("init", d), this.bind("openPanel", u), this.bind("openingPanel", c), this.bind("openedPanel", c), this.opts.offCanvas || c.call(this) } }, add: function() { s = e[t]._c, i = e[t]._d, a = e[t]._e, s.add("columns") }, clickAnchor: function(t, i) { if(!this.opts[n].add) return !1; if(i) { var a = t.attr("href"); if(a.length > 1 && "#" == a.slice(0, 1)) try { var o = e(a, this.$menu); if(o.is("." + s.panel)) for(var r = parseInt(t.closest("." + s.panel).attr("class").split(s.columns + "-")[1].split(" ")[0], 10) + 1; r !== !1;) { var l = this.$pnls.children("." + s.columns + "-" + r); if(!l.length) { r = !1; break } r++, l.removeClass(s.subopened).removeClass(s.opened).removeClass(s.current).removeClass(s.highest).addClass(s.hidden) } } catch(d) {} } } }, e[t].defaults[n] = { add: !1, visible: { min: 1, max: 3 }, hideNavbars: !1 }; var s, i, a, o }(jQuery), /* * jQuery mmenu counters addon * mmenu.frebsite.nl * * Copyright (c) Fred Heusschen */ function(e) { var t = "mmenu", n = "counters"; e[t].addons[n] = { setup: function() { var a = this, r = this.opts[n]; this.conf[n]; o = e[t].glbl, "boolean" == typeof r && (r = { add: r, update: r }), "object" != typeof r && (r = {}), r = this.opts[n] = e.extend(!0, {}, e[t].defaults[n], r), this.bind("init", function(t) { this.__refactorClass(e("em", t), this.conf.classNames[n].counter, "counter") }), r.add && this.bind("init", function(t) { var n; switch(r.addTo) { case "panels": n = t; break; default: n = t.filter(r.addTo) } n.each(function() { var t = e(this).data(i.parent); t && (t.children("em." + s.counter).length || t.prepend(e(''))) }) }), r.update && this.bind("update", function() { this.$pnls.children("." + s.panel).each(function() { var t = e(this), n = t.data(i.parent); if(n) { var o = n.children("em." + s.counter); o.length && (t = t.children("." + s.listview), t.length && o.html(a.__filterListItems(t.children()).length)) } }) }) }, add: function() { s = e[t]._c, i = e[t]._d, a = e[t]._e, s.add("counter search noresultsmsg") }, clickAnchor: function(e, t) {} }, e[t].defaults[n] = { add: !1, addTo: "panels", update: !1 }, e[t].configuration.classNames[n] = { counter: "Counter" }; var s, i, a, o }(jQuery), /* * jQuery mmenu dividers addon * mmenu.frebsite.nl * * Copyright (c) Fred Heusschen */ function(e) { var t = "mmenu", n = "dividers"; e[t].addons[n] = { setup: function() { var i = this, r = this.opts[n]; this.conf[n]; if(o = e[t].glbl, "boolean" == typeof r && (r = { add: r, fixed: r }), "object" != typeof r && (r = {}), r = this.opts[n] = e.extend(!0, {}, e[t].defaults[n], r), this.bind("init", function(t) { this.__refactorClass(e("li", this.$menu), this.conf.classNames[n].collapsed, "collapsed") }), r.add && this.bind("init", function(t) { var n; switch(r.addTo) { case "panels": n = t; break; default: n = t.filter(r.addTo) } e("." + s.divider, n).remove(), n.find("." + s.listview).not("." + s.vertical).each(function() { var t = ""; i.__filterListItems(e(this).children()).each(function() { var n = e.trim(e(this).children("a, span").text()).slice(0, 1).toLowerCase(); n != t && n.length && (t = n, e('
  • ' + n + "
  • ").insertBefore(this)) }) }) }), r.collapse && this.bind("init", function(t) { e("." + s.divider, t).each(function() { var t = e(this), n = t.nextUntil("." + s.divider, "." + s.collapsed); n.length && (t.children("." + s.subopen).length || (t.wrapInner(""), t.prepend(''))) }) }), r.fixed) { var l = function(t) { t = t || this.$pnls.children("." + s.current); var n = t.find("." + s.divider).not("." + s.hidden); if(n.length) { this.$menu.addClass(s.hasdividers); var i = t.scrollTop() || 0, a = ""; t.is(":visible") && t.find("." + s.divider).not("." + s.hidden).each(function() { e(this).position().top + i < i + 1 && (a = e(this).text()) }), this.$fixeddivider.text(a) } else this.$menu.removeClass(s.hasdividers) }; this.$fixeddivider = e('
    ').prependTo(this.$pnls).children(), this.bind("openPanel", l), this.bind("update", l), this.bind("init", function(t) { t.off(a.scroll + "-dividers " + a.touchmove + "-dividers").on(a.scroll + "-dividers " + a.touchmove + "-dividers", function(t) { l.call(i, e(this)) }) }) } }, add: function() { s = e[t]._c, i = e[t]._d, a = e[t]._e, s.add("collapsed uncollapsed fixeddivider hasdividers"), a.add("scroll") }, clickAnchor: function(e, t) { if(this.opts[n].collapse && t) { var i = e.parent(); if(i.is("." + s.divider)) { var a = i.nextUntil("." + s.divider, "." + s.collapsed); return i.toggleClass(s.opened), a[i.hasClass(s.opened) ? "addClass" : "removeClass"](s.uncollapsed), !0 } } return !1 } }, e[t].defaults[n] = { add: !1, addTo: "panels", fixed: !1, collapse: !1 }, e[t].configuration.classNames[n] = { collapsed: "Collapsed" }; var s, i, a, o }(jQuery), /* * jQuery mmenu dragOpen addon * mmenu.frebsite.nl * * Copyright (c) Fred Heusschen */ function(e) { function t(e, t, n) { return t > e && (e = t), e > n && (e = n), e } var n = "mmenu", s = "dragOpen"; e[n].addons[s] = { setup: function() { if(this.opts.offCanvas) { var a = this, o = this.opts[s], l = this.conf[s]; if(r = e[n].glbl, "boolean" == typeof o && (o = { open: o }), "object" != typeof o && (o = {}), o = this.opts[s] = e.extend(!0, {}, e[n].defaults[s], o), o.open) { var d, c, h, u, p, f = {}, v = 0, m = !1, g = !1, b = 0, _ = 0; switch(this.opts.offCanvas.position) { case "left": case "right": f.events = "panleft panright", f.typeLower = "x", f.typeUpper = "X", g = "width"; break; case "top": case "bottom": f.events = "panup pandown", f.typeLower = "y", f.typeUpper = "Y", g = "height" } switch(this.opts.offCanvas.position) { case "right": case "bottom": f.negative = !0, u = function(e) { e >= r.$wndw[g]() - o.maxStartPos && (v = 1) }; break; default: f.negative = !1, u = function(e) { e <= o.maxStartPos && (v = 1) } } switch(this.opts.offCanvas.position) { case "left": f.open_dir = "right", f.close_dir = "left"; break; case "right": f.open_dir = "left", f.close_dir = "right"; break; case "top": f.open_dir = "down", f.close_dir = "up"; break; case "bottom": f.open_dir = "up", f.close_dir = "down" } switch(this.opts.offCanvas.zposition) { case "front": p = function() { return this.$menu }; break; default: p = function() { return e("." + i.slideout) } } var C = this.__valueOrFn(o.pageNode, this.$menu, r.$page); "string" == typeof C && (C = e(C)); var $ = new Hammer(C[0], o.vendors.hammer); $.on("panstart", function(e) { u(e.center[f.typeLower]), r.$slideOutNodes = p(), m = f.open_dir }).on(f.events + " panend", function(e) { v > 0 && e.preventDefault() }).on(f.events, function(e) { if(d = e["delta" + f.typeUpper], f.negative && (d = -d), d != b && (m = d >= b ? f.open_dir : f.close_dir), b = d, b > o.threshold && 1 == v) { if(r.$html.hasClass(i.opened)) return; v = 2, a._openSetup(), a.trigger("opening"), r.$html.addClass(i.dragging), _ = t(r.$wndw[g]() * l[g].perc, l[g].min, l[g].max) } 2 == v && (c = t(b, 10, _) - ("front" == a.opts.offCanvas.zposition ? _ : 0), f.negative && (c = -c), h = "translate" + f.typeUpper + "(" + c + "px )", r.$slideOutNodes.css({ "-webkit-transform": "-webkit-" + h, transform: h })) }).on("panend", function(e) { 2 == v && (r.$html.removeClass(i.dragging), r.$slideOutNodes.css("transform", ""), a[m == f.open_dir ? "_openFinish" : "close"]()), v = 0 }) } } }, add: function() { return "function" != typeof Hammer || Hammer.VERSION < 2 ? void(e[n].addons[s].setup = function() {}) : (i = e[n]._c, a = e[n]._d, o = e[n]._e, void i.add("dragging")) }, clickAnchor: function(e, t) {} }, e[n].defaults[s] = { open: !1, maxStartPos: 100, threshold: 50, vendors: { hammer: {} } }, e[n].configuration[s] = { width: { perc: .8, min: 140, max: 440 }, height: { perc: .8, min: 140, max: 880 } }; var i, a, o, r }(jQuery), /* * jQuery mmenu dropdown addon * mmenu.frebsite.nl * * Copyright (c) Fred Heusschen */ function(e) { var t = "mmenu", n = "dropdown"; e[t].addons[n] = { setup: function() { if(this.opts.offCanvas) { var r = this, l = this.opts[n], d = this.conf[n]; if(o = e[t].glbl, "boolean" == typeof l && l && (l = { drop: l }), "object" != typeof l && (l = {}), "string" == typeof l.position && (l.position = { of: l.position }), l = this.opts[n] = e.extend(!0, {}, e[t].defaults[n], l), l.drop) { if("string" != typeof l.position.of) { var c = this.$menu.attr("id"); c && c.length && (this.conf.clone && (c = s.umm(c)), l.position.of = '[href="#' + c + '"]') } if("string" == typeof l.position.of) { var h = e(l.position.of); if(h.length) { this.$menu.addClass(s.dropdown), l.tip && this.$menu.addClass(s.tip), l.event = l.event.split(" "), 1 == l.event.length && (l.event[1] = l.event[0]), "hover" == l.event[0] && h.on(a.mouseenter + "-dropdown", function() { r.open() }), "hover" == l.event[1] && this.$menu.on(a.mouseleave + "-dropdown", function() { r.close() }), this.bind("opening", function() { this.$menu.data(i.style, this.$menu.attr("style") || ""), o.$html.addClass(s.dropdown) }), this.bind("closed", function() { this.$menu.attr("style", this.$menu.data(i.style)), o.$html.removeClass(s.dropdown) }); var u = function(i, a) { var r = a[0], c = a[1], u = "x" == i ? "scrollLeft" : "scrollTop", p = "x" == i ? "outerWidth" : "outerHeight", f = "x" == i ? "left" : "top", v = "x" == i ? "right" : "bottom", m = "x" == i ? "width" : "height", g = "x" == i ? "maxWidth" : "maxHeight", b = null, _ = o.$wndw[u](), C = h.offset()[f] -= _, $ = C + h[p](), y = o.$wndw[m](), x = d.offset.button[i] + d.offset.viewport[i]; if(l.position[i]) switch(l.position[i]) { case "left": case "bottom": b = "after"; break; case "right": case "top": b = "before" } null === b && (b = y / 2 > C + ($ - C) / 2 ? "after" : "before"); var w, k; return "after" == b ? (w = "x" == i ? C : $, k = y - (w + x), r[f] = w + d.offset.button[i], r[v] = "auto", c.push(s["x" == i ? "tipleft" : "tiptop"])) : (w = "x" == i ? $ : C, k = w - x, r[v] = "calc( 100% - " + (w - d.offset.button[i]) + "px )", r[f] = "auto", c.push(s["x" == i ? "tipright" : "tipbottom"])), r[g] = Math.min(e[t].configuration[n][m].max, k), [r, c] }, p = function(e) { if(this.vars.opened) { this.$menu.attr("style", this.$menu.data(i.style)); var t = [{}, [] ]; t = u.call(this, "y", t), t = u.call(this, "x", t), this.$menu.css(t[0]), l.tip && this.$menu.removeClass(s.tipleft + " " + s.tipright + " " + s.tiptop + " " + s.tipbottom).addClass(t[1].join(" ")) } }; this.bind("opening", p), o.$wndw.on(a.resize + "-dropdown", function(e) { p.call(r) }), this.opts.offCanvas.blockUI || o.$wndw.on(a.scroll + "-dropdown", function(e) { p.call(r) }) } } } } }, add: function() { s = e[t]._c, i = e[t]._d, a = e[t]._e, s.add("dropdown tip tipleft tipright tiptop tipbottom"), a.add("mouseenter mouseleave resize scroll") }, clickAnchor: function(e, t) {} }, e[t].defaults[n] = { drop: !1, event: "click", position: {}, tip: !0 }, e[t].configuration[n] = { offset: { button: { x: -10, y: 10 }, viewport: { x: 20, y: 20 } }, height: { max: 880 }, width: { max: 440 } }; var s, i, a, o }(jQuery), /* * jQuery mmenu fixedElements addon * mmenu.frebsite.nl * * Copyright (c) Fred Heusschen */ function(e) { var t = "mmenu", n = "fixedElements"; e[t].addons[n] = { setup: function() { if(this.opts.offCanvas) { var s = this.opts[n]; this.conf[n]; o = e[t].glbl, s = this.opts[n] = e.extend(!0, {}, e[t].defaults[n], s); var i = function(e) { var t = this.conf.classNames[n].fixed; this.__refactorClass(e.find("." + t), t, "slideout").appendTo(o.$body) }; i.call(this, o.$page), this.bind("setPage", i) } }, add: function() { s = e[t]._c, i = e[t]._d, a = e[t]._e, s.add("fixed") }, clickAnchor: function(e, t) {} }, e[t].configuration.classNames[n] = { fixed: "Fixed" }; var s, i, a, o }(jQuery), /* * jQuery mmenu iconPanels addon * mmenu.frebsite.nl * * Copyright (c) Fred Heusschen */ function(e) { var t = "mmenu", n = "iconPanels"; e[t].addons[n] = { setup: function() { var i = this, a = this.opts[n]; this.conf[n]; if(o = e[t].glbl, "boolean" == typeof a && (a = { add: a }), "number" == typeof a && (a = { add: !0, visible: a }), "object" != typeof a && (a = {}), a = this.opts[n] = e.extend(!0, {}, e[t].defaults[n], a), a.visible++, a.add) { this.$menu.addClass(s.iconpanel); for(var r = [], l = 0; l <= a.visible; l++) r.push(s.iconpanel + "-" + l); r = r.join(" "); var d = function(t) { t.hasClass(s.vertical) || i.$pnls.children("." + s.panel).removeClass(r).filter("." + s.subopened).removeClass(s.hidden).add(t).not("." + s.vertical).slice(-a.visible).each(function(t) { e(this).addClass(s.iconpanel + "-" + t) }) }; this.bind("openPanel", d), this.bind("init", function(t) { d.call(i, i.$pnls.children("." + s.current)), a.hideNavbars && t.removeClass(s.hasnavbar), t.not("." + s.vertical).each(function() { e(this).children("." + s.subblocker).length || e(this).prepend('
    ') }) }) } }, add: function() { s = e[t]._c, i = e[t]._d, a = e[t]._e, s.add("iconpanel subblocker") }, clickAnchor: function(e, t) {} }, e[t].defaults[n] = { add: !1, visible: 3, hideNavbars: !1 }; var s, i, a, o }(jQuery), /* * jQuery mmenu navbar addon * mmenu.frebsite.nl * * Copyright (c) Fred Heusschen */ function(e) { var t = "mmenu", n = "navbars"; e[t].addons[n] = { setup: function() { var i = this, a = this.opts[n], r = this.conf[n]; if(o = e[t].glbl, "undefined" != typeof a) { a instanceof Array || (a = [a]); var l = {}; e.each(a, function(o) { var d = a[o]; "boolean" == typeof d && d && (d = {}), "object" != typeof d && (d = {}), "undefined" == typeof d.content && (d.content = ["prev", "title"]), d.content instanceof Array || (d.content = [d.content]), d = e.extend(!0, {}, i.opts.navbar, d); var c = d.position, h = d.height; "number" != typeof h && (h = 1), h = Math.min(4, Math.max(1, h)), "bottom" != c && (c = "top"), l[c] || (l[c] = 0), l[c]++; var u = e("
    ").addClass(s.navbar + " " + s.navbar + "-" + c + " " + s.navbar + "-" + c + "-" + l[c] + " " + s.navbar + "-size-" + h); l[c] += h - 1; for(var p = 0, f = 0, v = d.content.length; v > f; f++) { var m = e[t].addons[n][d.content[f]] || !1; m ? p += m.call(i, u, d, r) : (m = d.content[f], m instanceof e || (m = e(d.content[f])), u.append(m)) } p += Math.ceil(u.children().not("." + s.btn).not("." + s.title + "-prev").length / h), p > 1 && u.addClass(s.navbar + "-content-" + p), u.children("." + s.btn).length && u.addClass(s.hasbtns), u.prependTo(i.$menu) }); for(var d in l) i.$menu.addClass(s.hasnavbar + "-" + d + "-" + l[d]) } }, add: function() { s = e[t]._c, i = e[t]._d, a = e[t]._e, s.add("close hasbtns") }, clickAnchor: function(e, t) {} }, e[t].configuration[n] = { breadcrumbSeparator: "/" }, e[t].configuration.classNames[n] = {}; var s, i, a, o }(jQuery), /* * jQuery mmenu navbar addon breadcrumbs content * mmenu.frebsite.nl * * Copyright (c) Fred Heusschen */ function(e) { var t = "mmenu", n = "navbars", s = "breadcrumbs"; e[t].addons[n][s] = function(n, s, i) { var a = e[t]._c, o = e[t]._d; a.add("breadcrumbs separator"); var r = e('').appendTo(n); this.bind("init", function(t) { t.removeClass(a.hasnavbar).each(function() { for(var t = [], n = e(this), s = e(''), r = e(this).children().first(), l = !0; r && r.length;) { r.is("." + a.panel) || (r = r.closest("." + a.panel)); var d = r.children("." + a.navbar).children("." + a.title).text(); t.unshift(l ? "" + d + "" : '' + d + ""), l = !1, r = r.data(o.parent) } s.append(t.join('' + i.breadcrumbSeparator + "")).appendTo(n.children("." + a.navbar)) }) }); var l = function() { r.html(this.$pnls.children("." + a.current).children("." + a.navbar).children("." + a.breadcrumbs).html()) }; return this.bind("openPanel", l), this.bind("init", l), 0 } }(jQuery), /* * jQuery mmenu navbar addon close content * mmenu.frebsite.nl * * Copyright (c) Fred Heusschen */ function(e) { var t = "mmenu", n = "navbars", s = "close"; e[t].addons[n][s] = function(n, s) { var i = e[t]._c, a = e[t].glbl, o = e('').appendTo(n), r = function(e) { o.attr("href", "#" + e.attr("id")) }; return r.call(this, a.$page), this.bind("setPage", r), -1 } }(jQuery), /* * jQuery mmenu navbar addon next content * mmenu.frebsite.nl * * Copyright (c) Fred Heusschen */ function(e) { var t = "mmenu", n = "navbars", s = "next"; e[t].addons[n][s] = function(s, i) { var a, o, r = e[t]._c, l = e('').appendTo(s), d = function(e) { e = e || this.$pnls.children("." + r.current); var t = e.find("." + this.conf.classNames[n].panelNext); a = t.attr("href"), o = t.html(), l[a ? "attr" : "removeAttr"]("href", a), l[a || o ? "removeClass" : "addClass"](r.hidden), l.html(o) }; return this.bind("openPanel", d), this.bind("init", function() { d.call(this) }), -1 }, e[t].configuration.classNames[n].panelNext = "Next" }(jQuery), /* * jQuery mmenu navbar addon prev content * mmenu.frebsite.nl * * Copyright (c) Fred Heusschen */ function(e) { var t = "mmenu", n = "navbars", s = "prev"; e[t].addons[n][s] = function(s, i) { var a = e[t]._c, o = e('').appendTo(s); this.bind("init", function(e) { e.removeClass(a.hasnavbar).children("." + a.navbar).addClass(a.hidden) }); var r, l, d = function(e) { if(e = e || this.$pnls.children("." + a.current), !e.hasClass(a.vertical)) { var t = e.find("." + this.conf.classNames[n].panelPrev); t.length || (t = e.children("." + a.navbar).children("." + a.prev)), r = t.attr("href"), l = t.html(), o[r ? "attr" : "removeAttr"]("href", r), o[r || l ? "removeClass" : "addClass"](a.hidden), o.html(l) } }; return this.bind("openPanel", d), this.bind("init", function() { d.call(this) }), -1 }, e[t].configuration.classNames[n].panelPrev = "Prev" }(jQuery), /* * jQuery mmenu navbar addon searchfield content * mmenu.frebsite.nl * * Copyright (c) Fred Heusschen */ function(e) { var t = "mmenu", n = "navbars", s = "searchfield"; e[t].addons[n][s] = function(n, s) { var i = e[t]._c, a = e('
    ').appendTo(n); return "object" != typeof this.opts.searchfield && (this.opts.searchfield = {}), this.opts.searchfield.add = !0, this.opts.searchfield.addTo = a, 0 } }(jQuery), /* * jQuery mmenu navbar addon title content * mmenu.frebsite.nl * * Copyright (c) Fred Heusschen */ function(e) { var t = "mmenu", n = "navbars", s = "title"; e[t].addons[n][s] = function(s, i) { var a, o, r = e[t]._c, l = e('').appendTo(s), d = function(e) { if(e = e || this.$pnls.children("." + r.current), !e.hasClass(r.vertical)) { var t = e.find("." + this.conf.classNames[n].panelTitle); t.length || (t = e.children("." + r.navbar).children("." + r.title)), a = t.attr("href"), o = t.html() || i.title, l[a ? "attr" : "removeAttr"]("href", a), l[a || o ? "removeClass" : "addClass"](r.hidden), l.html(o) } }; return this.bind("openPanel", d), this.bind("init", function(e) { d.call(this) }), 0 }, e[t].configuration.classNames[n].panelTitle = "Title" }(jQuery), /* * jQuery mmenu screenReader addon * mmenu.frebsite.nl * * Copyright (c) Fred Heusschen */ function(e) { function t(e, t, n) { e.prop("aria-" + t, n)[n ? "attr" : "removeAttr"]("aria-" + t, "true") } function n(e) { return '' + e + "" } var s = "mmenu", i = "screenReader"; e[s].addons[i] = { setup: function() { var o = this.opts[i], r = this.conf[i]; if(l = e[s].glbl, "boolean" == typeof o && (o = { aria: o, text: o }), "object" != typeof o && (o = {}), o = this.opts[i] = e.extend(!0, {}, e[s].defaults[i], o), o.aria) { if(this.opts.offCanvas) { var d = function() { t(this.$menu, "hidden", !1) }, c = function() { t(this.$menu, "hidden", !0) }; this.bind("open", d), this.bind("close", c), c.call(this) } var h = function() { t(this.$menu.find("." + a.hidden), "hidden", !0), t(this.$menu.find('[aria-hidden="true"]').not("." + a.hidden), "hidden", !1) }, u = function(e) { t(this.$pnls.children("." + a.panel).not(e).not("." + a.hidden), "hidden", !0), t(e, "hidden", !1) }; this.bind("update", h), this.bind("openPanel", h), this.bind("openPanel", u); var p = function(e) { t(e.find("." + a.prev + ", ." + a.next), "haspopup", !0) }; this.bind("init", p), p.call(this, this.$menu.children("." + a.navbar)) } if(o.text) { var f = function(t) { t.children("." + a.navbar).children("." + a.prev).html(n(r.text.closeSubmenu)).end().children("." + a.next).html(n(r.text.openSubmenu)).end().children("." + a.close).html(n(r.text.closeMenu)), t.is("." + a.panel) && t.find("." + a.listview).find("." + a.next).each(function() { e(this).html(n(r.text[e(this).parent().is("." + a.vertical) ? "toggleSubmenu" : "openSubmenu"])) }) }; this.bind("init", f), f.call(this, this.$menu) } }, add: function() { a = e[s]._c, o = e[s]._d, r = e[s]._e, a.add("sronly") }, clickAnchor: function(e, t) {} }, e[s].defaults[i] = { aria: !1, text: !1 }, e[s].configuration[i] = { text: { closeMenu: "Close menu", closeSubmenu: "Close submenu", openSubmenu: "Open submenu", toggleSubmenu: "Toggle submenu" } }; var a, o, r, l }(jQuery), /* * jQuery mmenu searchfield addon * mmenu.frebsite.nl * * Copyright (c) Fred Heusschen */ function(e) { function t(e) { switch(e) { case 9: case 16: case 17: case 18: case 37: case 38: case 39: case 40: return !0 } return !1 } var n = "mmenu", s = "searchfield"; e[n].addons[s] = { setup: function() { var l = this, d = this.opts[s], c = this.conf[s]; r = e[n].glbl, "boolean" == typeof d && (d = { add: d }), "object" != typeof d && (d = {}), "boolean" == typeof d.resultsPanel && (d.resultsPanel = { add: d.resultsPanel }), d = this.opts[s] = e.extend(!0, {}, e[n].defaults[s], d), c = this.conf[s] = e.extend(!0, {}, e[n].configuration[s], c), this.bind("close", function() { this.$menu.find("." + i.search).find("input").blur() }), this.bind("init", function(n) { if(d.add) { var r; switch(d.addTo) { case "panels": r = n; break; default: r = this.$menu.find(d.addTo) } if(r.each(function() { var t = e(this); if(!t.is("." + i.panel) || !t.is("." + i.vertical)) { if(!t.children("." + i.search).length) { var n = l.__valueOrFn(c.clear, t), s = l.__valueOrFn(c.form, t), a = l.__valueOrFn(c.input, t), r = l.__valueOrFn(c.submit, t), h = e("<" + (s ? "form" : "div") + ' class="' + i.search + '" />'), u = e(''); h.append(u); var p; if(a) for(p in a) u.attr(p, a[p]); if(n && e('').appendTo(h).on(o.click + "-searchfield", function(e) { e.preventDefault(), u.val("").trigger(o.keyup + "-searchfield") }), s) { for(p in s) h.attr(p, s[p]); r && !n && e('').appendTo(h).on(o.click + "-searchfield", function(e) { e.preventDefault(), h.submit() }) } t.hasClass(i.search) ? t.replaceWith(h) : t.prepend(h).addClass(i.hassearch) } if(d.noResults) { var f = t.closest("." + i.panel).length; if(f || (t = l.$pnls.children("." + i.panel).first()), !t.children("." + i.noresultsmsg).length) { var v = t.children("." + i.listview).first(); e('
    ').append(d.noResults)[v.length ? "insertAfter" : "prependTo"](v.length ? v : t) } } } }), d.search) { if(d.resultsPanel.add) { d.showSubPanels = !1; var h = this.$pnls.children("." + i.resultspanel); h.length || (h = e('
    ').appendTo(this.$pnls).append('").append('
      ').append(this.$pnls.find("." + i.noresultsmsg).first().clone()), this.init(h)) } this.$menu.find("." + i.search).each(function() { var n, r, c = e(this), u = c.closest("." + i.panel).length; u ? (n = c.closest("." + i.panel), r = n) : (n = e("." + i.panel, l.$menu), r = l.$menu), d.resultsPanel.add && (n = n.not(h)); var p = c.children("input"), f = l.__findAddBack(n, "." + i.listview).children("li"), v = f.filter("." + i.divider), m = l.__filterListItems(f), g = "a", b = g + ", span", _ = "", C = function() { var t = p.val().toLowerCase(); if(t != _) { if(_ = t, d.resultsPanel.add && h.children("." + i.listview).empty(), n.scrollTop(0), m.add(v).addClass(i.hidden).find("." + i.fullsubopensearch).removeClass(i.fullsubopen + " " + i.fullsubopensearch), m.each(function() { var t = e(this), n = g; (d.showTextItems || d.showSubPanels && t.find("." + i.next)) && (n = b); var s = t.data(a.searchtext) || t.children(n).text(); s.toLowerCase().indexOf(_) > -1 && t.add(t.prevAll("." + i.divider).first()).removeClass(i.hidden) }), d.showSubPanels && n.each(function(t) { var n = e(this); l.__filterListItems(n.find("." + i.listview).children()).each(function() { var t = e(this), n = t.data(a.sub); t.removeClass(i.nosubresults), n && n.find("." + i.listview).children().removeClass(i.hidden) }) }), d.resultsPanel.add) if("" === _) this.closeAllPanels(), this.openPanel(this.$pnls.children("." + i.subopened).last()); else { var s = e(); n.each(function() { var t = l.__filterListItems(e(this).find("." + i.listview).children()).not("." + i.hidden).clone(!0); t.length && (d.resultsPanel.dividers && (s = s.add('
    • ' + e(this).children("." + i.navbar).text() + "
    • ")), s = s.add(t)) }), s.find("." + i.next).remove(), h.children("." + i.listview).append(s), this.openPanel(h) } else e(n.get().reverse()).each(function(t) { var n = e(this), s = n.data(a.parent); s && (l.__filterListItems(n.find("." + i.listview).children()).length ? (s.hasClass(i.hidden) && s.children("." + i.next).not("." + i.fullsubopen).addClass(i.fullsubopen).addClass(i.fullsubopensearch), s.removeClass(i.hidden).removeClass(i.nosubresults).prevAll("." + i.divider).first().removeClass(i.hidden)) : u || (n.hasClass(i.opened) && setTimeout(function() { l.openPanel(s.closest("." + i.panel)) }, (t + 1) * (1.5 * l.conf.openingInterval)), s.addClass(i.nosubresults))) }); r.find("." + i.noresultsmsg)[m.not("." + i.hidden).length ? "addClass" : "removeClass"](i.hidden), this.update() } }; p.off(o.keyup + "-" + s + " " + o.change + "-" + s).on(o.keyup + "-" + s, function(e) { t(e.keyCode) || C.call(l) }).on(o.change + "-" + s, function(e) { C.call(l) }); var $ = c.children("." + i.btn); $.length && p.on(o.keyup + "-" + s, function(e) { $[p.val().length ? "removeClass" : "addClass"](i.hidden) }), p.trigger(o.keyup + "-" + s) }) } } }) }, add: function() { i = e[n]._c, a = e[n]._d, o = e[n]._e, i.add("clear search hassearch resultspanel noresultsmsg noresults nosubresults fullsubopensearch"), a.add("searchtext"), o.add("change keyup") }, clickAnchor: function(e, t) {} }, e[n].defaults[s] = { add: !1, addTo: "panels", placeholder: "Search", noResults: "No results found.", resultsPanel: { add: !1, dividers: !0, title: "Search results" }, search: !0, showTextItems: !1, showSubPanels: !0 }, e[n].configuration[s] = { clear: !1, form: !1, input: !1, submit: !1 }; var i, a, o, r }(jQuery), /* * jQuery mmenu sectionIndexer addon * mmenu.frebsite.nl * * Copyright (c) Fred Heusschen */ function(e) { var t = "mmenu", n = "sectionIndexer"; e[t].addons[n] = { setup: function() { var i = this, r = this.opts[n]; this.conf[n]; o = e[t].glbl, "boolean" == typeof r && (r = { add: r }), "object" != typeof r && (r = {}), r = this.opts[n] = e.extend(!0, {}, e[t].defaults[n], r), this.bind("init", function(t) { if(r.add) { var n; switch(r.addTo) { case "panels": n = t; break; default: n = e(r.addTo, this.$menu).filter("." + s.panel) } n.find("." + s.divider).closest("." + s.panel).addClass(s.hasindexer) } if(!this.$indexer && this.$pnls.children("." + s.hasindexer).length) { this.$indexer = e('
      ').prependTo(this.$pnls).append('abcdefghijklmnopqrstuvwxyz'), this.$indexer.children().on(a.mouseover + "-sectionindexer " + s.touchstart + "-sectionindexer", function(t) { var n = e(this).attr("href").slice(1), a = i.$pnls.children("." + s.current), o = a.find("." + s.listview), r = !1, l = a.scrollTop(); a.scrollTop(0), o.children("." + s.divider).not("." + s.hidden).each(function() { r === !1 && n == e(this).text().slice(0, 1).toLowerCase() && (r = e(this).position().top) }), a.scrollTop(r !== !1 ? r : l) }); var o = function(e) { i.$menu[(e.hasClass(s.hasindexer) ? "add" : "remove") + "Class"](s.hasindexer) }; this.bind("openPanel", o), o.call(this, this.$pnls.children("." + s.current)) } }) }, add: function() { s = e[t]._c, i = e[t]._d, a = e[t]._e, s.add("indexer hasindexer"), a.add("mouseover touchstart") }, clickAnchor: function(e, t) { return e.parent().is("." + s.indexer) ? !0 : void 0 } }, e[t].defaults[n] = { add: !1, addTo: "panels" }; var s, i, a, o }(jQuery), /* * jQuery mmenu setSelected addon * mmenu.frebsite.nl * * Copyright (c) Fred Heusschen */ function(e) { var t = "mmenu", n = "setSelected"; e[t].addons[n] = { setup: function() { var a = this.opts[n]; this.conf[n]; if(o = e[t].glbl, "boolean" == typeof a && (a = { hover: a, parent: a }), "object" != typeof a && (a = {}), a = this.opts[n] = e.extend(!0, {}, e[t].defaults[n], a), a.current || this.bind("init", function(e) { e.find("." + s.listview).children("." + s.selected).removeClass(s.selected) }), a.hover && this.$menu.addClass(s.hoverselected), a.parent) { this.$menu.addClass(s.parentselected); var r = function(e) { this.$pnls.find("." + s.listview).find("." + s.next).removeClass(s.selected); for(var t = e.data(i.parent); t && t.length;) t = t.children("." + s.next).addClass(s.selected).closest("." + s.panel).data(i.parent) }; this.bind("openedPanel", r), this.bind("init", function(e) { r.call(this, this.$pnls.children("." + s.current)) }) } }, add: function() { s = e[t]._c, i = e[t]._d, a = e[t]._e, s.add("hoverselected parentselected") }, clickAnchor: function(e, t) {} }, e[t].defaults[n] = { current: !0, hover: !1, parent: !1 }; var s, i, a, o }(jQuery), /* * jQuery mmenu toggles addon * mmenu.frebsite.nl * * Copyright (c) Fred Heusschen */ function(e) { var t = "mmenu", n = "toggles"; e[t].addons[n] = { setup: function() { var i = this; this.opts[n], this.conf[n]; o = e[t].glbl, this.bind("init", function(t) { this.__refactorClass(e("input", t), this.conf.classNames[n].toggle, "toggle"), this.__refactorClass(e("input", t), this.conf.classNames[n].check, "check"), e("input." + s.toggle + ", input." + s.check, t).each(function() { var t = e(this), n = t.closest("li"), a = t.hasClass(s.toggle) ? "toggle" : "check", o = t.attr("id") || i.__getUniqueId(); n.children('label[for="' + o + '"]').length || (t.attr("id", o), n.prepend(t), e('').insertBefore(n.children("a, span").last())) }) }) }, add: function() { s = e[t]._c, i = e[t]._d, a = e[t]._e, s.add("toggle check") }, clickAnchor: function(e, t) {} }, e[t].configuration.classNames[n] = { toggle: "Toggle", check: "Check" }; var s, i, a, o }(jQuery);