/* * jQuery mmenu 1.3.1 * * Copyright (c) 2013 Fred Heusschen * www.frebsite.nl * * Dual licensed under the MIT and GPL licenses. * http://en.wikipedia.org/wiki/MIT_License * http://en.wikipedia.org/wiki/GNU_General_Public_License */ (function(a){function i(b){return"string"==typeof b?("left"==b||"right"==b)&&(b={position:b}):"object"!=typeof b&&(b={}),b.addCounters!==void 0&&(a.fn.mmenu.deprecated("addCounters-option","counters.add-option"),b.counters={add:b.addCounters}),b.closeOnClick!==void 0&&(a.fn.mmenu.deprecated("closeOnClick-option","onClick.close-option"),b.onClick={close:b.closeOnClick}),"boolean"==typeof b.counters?b.counters={add:b.counters,count:b.counters}:"object"!=typeof b.counters&&(b.counters={}),"boolean"==typeof b.onClick?b.onClick={close:b.onClick}:"object"!=typeof b.onClick&&(b.onClick={}),"boolean"==typeof b.searchfield?b.searchfield={add:b.searchfield,search:b.searchfield}:"string"==typeof b.searchfield?b.searchfield={add:!0,search:!0,placeholder:b.searchfield}:"object"!=typeof b.searchfield&&(b.searchfield={}),b}function j(a){return"boolean"==typeof a.onClick.delayPageload&&(a.onClick.delayPageload=a.onClick.delayPageload?a.configuration.slideDuration:0),a}function k(b,c){return b||(b=a("> "+c.pageNodetype,d),b.length>1&&(b=b.wrapAll("<"+c.pageNodetype+" />").parent()),b.addClass(y("page"))),b}function l(b,c){return b.is(c.menuNodetype)||(b=a("<"+c.menuNodetype+" />").append(b)),b.addClass(y("").slice(0,-1)).prependTo("body"),a("li."+c.selectedClass,b).removeClass(c.selectedClass).addClass(y("selected")),a("li."+c.labelClass,b).removeClass(c.labelClass).addClass(y("label")),b}function m(b,c,d){b.addClass(y(c)),a("ul ul",b).addClass(y("submenu")).each(function(b){var e=a(this);$a=e.parent().find("> a, > span"),h=e.attr("id")||y("s"+d+"-"+b),e.attr("id",h);var f=a('').insertBefore($a);if($a.is("a")||f.addClass(y("fullsubopen")),"horizontal"==c){var g=e.parent().parent(),h=g.attr("id")||y("p"+d+"-"+b);g.attr("id",h),e.prepend('
  • '+$a.text()+"
  • ")}}),"horizontal"==c?(a("li."+y("selected"),b).parents("li."+y("selected")).removeClass(y("selected")).end().each(function(){var b=a(this),c=b.find("> ul");c.length&&(b.parent().addClass(y("subopened")),c.addClass(y("opened")))}).parent().addClass(y("opened")).parents("ul").addClass(y("subopened")),a("ul."+y("opened"),b).length||a("ul",b).not("."+y("submenu")).addClass(y("opened")),a("ul ul",b).appendTo(b)):a("li."+y("selected"),b).addClass(y("opened")).parents("."+y("selected")).removeClass(y("selected"))}function n(b,c){return b||(b=a('
    ').appendTo(d)),x(b,function(){c.trigger(A("close"))}),b}function o(b,d){if(d.close){var f=a("a",b).not("."+y("subopen")).not("."+y("subclose"));x(f,function(){var e=a(this),g=e.attr("href");b.trigger(A("close")),f.parent().removeClass(y("selected")),e.parent().addClass(y("selected")),d.blockUI&&"#"!=g.slice(0,1)&&c.addClass(y("blocking")),"#"!=g&&setTimeout(function(){window.location.href=g},d.delayPageload)})}}function p(b,c,d){a("em."+d.counterClass,b).removeClass(d.counterClass).addClass(y("counter")),c.add&&a("."+y("submenu"),b).each(function(){var c=a(this),d=c.attr("id");if(d&&d.length){var e=a(''),f=a("a."+y("subopen"),b).filter('[href="#'+d+'"]');f.parent().find("em."+y("counter")).length||f.before(e)}}),c.count&&a("em."+y("counter"),b).each(function(){var c=a(this),d=a("ul"+c.next().attr("href"),b);c.bind(A("count"),function(a){a.preventDefault(),a.stopPropagation();var b=d.children().not("."+y("label")).not("."+y("subtitle")).not("."+y("noresult")).not("."+y("noresults"));c.html(b.length)})}).trigger(A("count"))}function q(b,c){if(c.add){var d=a('
    ').prependTo(b);d.append(''),c.noResults&&a("ul",b).not("."+y("submenu")).append('
  • '+c.noResults+"
  • ")}if(c.search){var d=a("div."+y("search"),b),e=a("input",d),f=a("li."+y("label"),b),g=a("em."+y("counter"),b),h=a("li",b).not("."+y("subtitle")).not("."+y("label")).not("."+y("noresults")),i="> a";c.showLinksOnly||(i+=", > span"),e.bind(A("keyup"),function(){var c=e.val().toLowerCase();h.add(f).addClass(y("noresult")),h.each(function(){var b=a(this);a(i,b).text().toLowerCase().indexOf(c)>-1&&b.add(b.prevAll("."+y("label")).first()).removeClass(y("noresult"))}),a(a("ul."+y("submenu"),b).get().reverse()).each(function(){var c=a(this),d=null,e=c.attr("id"),f=c.find("li").not("."+y("subtitle")).not("."+y("label")).not("."+y("noresult"));if(e&&e.length)var d=a("a."+y("subopen"),b).filter('[href="#'+e+'"]').parent();f.length?d&&(d.removeClass(y("noresult")),d.removeClass(y("nosubresult"))):(c.trigger(A("close")),d&&d.addClass(y("nosubresult")))}),b[h.not("."+y("noresult")).length?"removeClass":"addClass"](y("noresults")),g.trigger(A("count"))})}}function r(b,c){var d=b.attr("id");d&&d.length&&x('a[href="#'+d+'"]',function(){b.trigger(A("toggle"))});var d=c.attr("id");d&&d.length&&x('a[href="#'+d+'"]',function(){b.trigger(A("close"))}),x(a("a."+y("subopen")+", "+"a."+y("subclose"),b),function(){a(a(this).attr("href")).trigger(A("toggle"))})}function s(a,d){var f=w(),g=0;return b.bind(A("resize"),function(){var c=b.width();c!=g&&(g=c,e.attr("style",e.data(z("style"))).width(c))}),e.data(z("style"),e.attr("style")||"").data(z("scrollTop"),f).width(e.outerWidth()).css("top",-f),a.addClass(y("opened")),c.addClass(y("opened")).addClass(y(d)),setTimeout(function(){c.addClass(y("opening"))},25),"open"}function t(a,d){return c.removeClass(y("opening")),setTimeout(function(){c.removeClass(y("opened")).removeClass(y(d.position)),a.removeClass(y("opened")),e.attr("style",e.data(z("style"))),b.unbind(A("resize")),g&&g.scrollTop(e.data(z("scrollTop")))},d.configuration.slideDuration+25),"close"}function u(a,b){return a.prevAll("ul").addClass(y("subopened")),a.nextAll("ul").removeClass(y("subopened")),a.removeClass(y("subopened")).addClass(y("opened")),setTimeout(function(){a.nextAll("ul").removeClass(y("opened"))},b.configuration.slideDuration+25),"open"}function v(a){return a.prevAll("ul."+y("opened")).first().trigger(A("open")),"close"}function w(){return g||(0!=a("html").scrollTop()?g=a("html"):0!=a("body").scrollTop()&&(g=a("body"))),g?g.scrollTop()-1:0}function x(b,c){"string"==typeof b&&(b=a(b)),b.bind(A("click"),function(a){a.preventDefault(),a.stopPropagation(),c.call(this,a)})}function y(a){return"mmenu-"+a}function z(a){return"mmenu-"+a}function A(a){return a+".mmenu"}var b=null,c=null,d=null,e=null,f=null,g=null,h=0;a.fn.mmenu=function(g){return b||(b=a(window),c=a("html"),d=a("body")),g=i(g),g=a.extend(!0,{},a.fn.mmenu.defaultOptions,g),g=j(g),c[g.configuration.hardwareAcceleration?"addClass":"removeClass"](y("accelerated")),this.each(function(){var b=a(this),c=!1,d=g.slidingSubmenus?"horizontal":"vertical";h++,e=k(e,g.configuration),f=n(f,b,g.configuration),b=l(b,g.configuration),m(b,d,h),o(b,g.onClick,g.configuration),p(b,g.counters,g.configuration),q(b,g.searchfield),r(b,e);var i=b.find("ul");b.add(i).bind(A("toggle")+" "+A("open")+" "+A("close"),function(a){a.preventDefault(),a.stopPropagation()}),b.bind(A("toggle"),function(){return b.triggerHandler(A(c?"close":"open"))}).bind(A("open"),function(){return c?!1:(c=!0,s(b,g.position))}).bind(A("close"),function(){return c?(c=!1,t(b,g)):!1}),"horizontal"==d?i.bind(A("toggle"),function(){return a(this).triggerHandler(A("open"))}).bind(A("open"),function(){return u(a(this),g)}).bind(A("close"),function(){return v(a(this),g)}):i.bind(A("toggle"),function(){var c=a(this);return c.triggerHandler(A(c.parent().hasClass(y("opened"))?"close":"open"))}).bind(A("open"),function(){return a(this).parent().addClass(y("opened")),"open"}).bind(A("close"),function(){return a(this).parent().removeClass(y("opened")),"close"})})},a.fn.mmenu.defaultOptions={position:"left",slidingSubmenus:!0,counters:{add:!1,count:!0},searchfield:{add:!1,search:!0,showLinksOnly:!0,placeholder:"Search",noResults:"No results found."},onClick:{close:!0,delayPageload:!0,blockUI:!1},configuration:{hardwareAcceleration:!0,selectedClass:"Selected",labelClass:"Label",counterClass:"Counter",pageNodetype:"div",menuNodetype:"nav",slideDuration:500}},a.fn.mmenu.debug=function(a){"undefined"!=typeof console&&console.log!==void 0&&console.log("MMENU: "+a)},a.fn.mmenu.deprecated=function(a,b){"undefined"!=typeof console&&console.warn!==void 0&&console.warn("MMENU: "+a+" is deprecated, use "+b+" instead.")}})(jQuery);