1
!function(e){"function"==typeof define&&define.amd?define(["jquery"],e):e(jQuery)}
2
(function(e){function i(){e(window).width()===o&&e(window).height()===t||(e(f).each(function(){e(this).flexMenu({undo:!0}
3
).flexMenu(this.options)}
4
),o=e(window).width(),t=e(window).height())}
5
function n(i){var n,l;n=e("li.flexMenu-viewMore.active"),l=n.not(i),l.removeClass("active").find("> ul").hide()}
6
var l,o=e(window).width(),t=e(window).height(),f=[];e(window).resize(function(){clearTimeout(l),l=setTimeout(function(){i()}
7
,200)}
8
),e.fn.flexMenu=function(i){var l,o=e.extend({threshold:2,cutoff:2,linkText:"More",linkTitle:"View More",linkTextAll:"Menu",linkTitleAll:"Open/Close Menu",showOnHover:!0,popupAbsolute:!0,popupClass:"",undo:!1}
9
,i);return this.options=o,l=e.inArray(this,f),l>=0?f.splice(l,1):f.push(this),this.each(function(){function i(e){var i=Math.ceil(e.offset().top)>=v+w;return i}
10
var l,t,f,u,s,d,r,a=e(this),p=a.find("> li"),h=p.first(),c=p.last(),M=a.find("li").length,v=Math.floor(h.offset().top),w=Math.floor(h.outerHeight(!0)),x=!1;if(i(c)&&M>o.threshold&&!o.undo&&a.is(":visible")){var T=e('<ul class="flexMenu-popup" style="display:none;'+(o.popupAbsolute?" position: absolute;":"")+'"></ul>');for(T.addClass(o.popupClass),r=M;r>1;r--){if(l=a.find("> li:last-child"),t=i(l),r-1<=o.cutoff){e(a.children().get().reverse()).appendTo(T),x=!0;break}
11
if(!t)break;l.appendTo(T)}
12
x?a.append('<li class="flexMenu-viewMore flexMenu-allInPopup"><a href="#" title="'+o.linkTitleAll+'">'+o.linkTextAll+"</a></li>"):a.append('<li class="flexMenu-viewMore"><a href="#" title="'+o.linkTitle+'">'+o.linkText+"</a></li>"),f=a.find("> li.flexMenu-viewMore"),i(f)&&a.find("> li:nth-last-child(2)").appendTo(T),T.children().each(function(e,i){T.prepend(i)}
13
),f.append(T),u=a.find("> li.flexMenu-viewMore > a"),u.click(function(e){n(f),T.toggle(),f.toggleClass("active"),e.preventDefault()}
14
),o.showOnHover&&"undefined"!=typeof Modernizr&&!Modernizr.touch&&f.hover(function(){T.show(),e(this).addClass("active")}
15
,function(){T.hide(),e(this).removeClass("active")}
16
)}
17
else if(o.undo&&a.find("ul.flexMenu-popup")){for(d=a.find("ul.flexMenu-popup"),s=d.find("li").length,r=1;s>=r;r++)d.find("> li:first-child").appendTo(a);d.remove(),a.find("> li.flexMenu-viewMore").remove()}
18
}
19
)}
20
}
21
);