(function(b){b.fn.ddMenu=function(c){a(this,c)};function a(q,m){m=e(m);function z(A){function B(){}B.prototype=A;return new B()}function e(C){var B=z(b.fn.ddMenu.defaults);for(var A in C){B[A]=C[A]}return B}function s(){var B=b(q).wrap('
');var E=B.parents("."+m.scrollPaneClass);var A=B.parents("."+m.menuPanelClass);var D=B.parents("."+m.menuClass);C(B);r(A,D.height(),true);v(A,D.width(),true);B.find("."+m.itemClass+" > *:first-child").wrap('
').addClass(m.textClass);B.find("."+m.itemClass+":has(."+m.subMenuClass+") > div."+m.labelClass).each(function(){var H=b(this);var F=H.height();H.prepend('
 
');H.height(F);var G=H.children("."+m.iconClass);r(G,F,true);v(H.children("."+m.textClass),H.outerWidth()-G.outerWidth(true))});B.find("."+m.labelClass).each(function(){c(b(this))});B.find("."+m.subMenuClass).hide();x(A,m.rootTitle,true);p(A);j(E);o(D);g(D);function C(F){F.addClass(m.subMenuClass).css("position","relative");F.children().addClass(m.itemClass).each(function(){if(b(this).children().size()>1){C(b(this).children(":last"))}})}}function t(C){var A=n(C);var E=C.children(":first").children(":last").text();var B=m.inDirection?m.inDirection:m.direction;var D=C.parents("."+m.menuClass).append(A);r(A,D.height(),true);v(A,D.width(),true);var F=i(D,A,B);A.css({position:"relative",left:F.outside.left,top:F.outside.top});A.show();x(A,E,false);p(A);j(A.children("."+m.scrollPaneClass));g(C.parents("."+m.menuClass));A.animate({left:F.inside.left,top:F.inside.top},m.inDuration?m.inDuration:m.duration,m.inEasing?m.inEasing:m.easing)}function f(A){var C=A.parent();var B=m.outDirection?m.outDirection:m.direction;var D=i(C,A,B);A.animate({left:D.outside.left,top:D.outside.top},m.outDuration?m.outDuration:m.duration,m.outEasing?m.outEasing:m.easing,function(){A.remove()})}function o(C){if(m.initial!=null){var E=m.initial.split(m.separator);var G=C.children(":first");for(var F in E){if(FB?C:B}function g(F){if(m.initial!=null&&F.find("."+m.labelInitialClass).size()==0){var E=m.initial.split(m.separator);var D=F.children("."+m.menuPanelClass+":first");for(var A=0,C=E.length;A
');var C=B.children("."+m.subMenuClass+":last").clone(true).show();A.children("."+m.scrollPaneClass).append(C);return A}function x(B,G,A){var C='
';if(!A){C+='
 
'}C+='
'+G+"
";B.prepend(C);var F=B.find("."+m.titleClass);if(A){w(F,m.titleClass,m.titleRootClass);F.hover(function(){w(b(this),m.titleRootClass,m.titleRootHoverClass)},function(){w(b(this),m.titleRootHoverClass,m.titleRootClass)})}else{var D=F.find("."+m.titleLabelClass);var E=F.find("."+m.titleIconClass);F.hover(function(){w(b(this),m.titleClass,m.titleHoverClass)},function(){w(b(this),m.titleHoverClass,m.titleClass)}).click(function(){f(B)});r(E,D.outerHeight(),true);v(D,F.outerWidth()-(E.size()==0?0:E.outerWidth(true)));D.css("margin-right",E.outerWidth({margin:true}))}}function c(A){if(A.children().size()==1){A.hover(function(){w(b(this),m.labelClass,m.labelHoverClass)},function(){w(b(this),m.labelHoverClass,m.labelClass)})}else{var B=A.find("a[href]."+m.textClass);if(B.size()==1){B.hover(function(){w(b(this),m.textClass,m.textHoverClass)},function(){w(b(this),m.textHoverClass,m.textClass)});A.find("div."+m.iconClass).hover(function(){w(b(this),m.iconClass,m.iconHoverClass)},function(){w(b(this),m.iconHoverClass,m.iconClass)}).click(function(){t(A.parent())})}else{A.hover(function(){w(b(this),m.labelClass,m.labelHoverClass)},function(){w(b(this),m.labelHoverClass,m.labelClass)}).click(function(){t(A.parent())})}}}function j(E){var C=E.children("."+m.subMenuClass);if(C.height()>E.height()){var B=b('
 
');var D=b('
 
');E.prepend(D).prepend(B);var A=u(E,C);B.hover(function(){w(b(this),m.scrollUpClass,m.scrollUpHoverClass)},function(){w(b(this),m.scrollUpHoverClass,m.scrollUpClass);w(b(this),m.scrollUpClickClass,m.scrollUpClass);B.scroll=false}).mousedown(function(){w(b(this),m.scrollUpHoverClass,m.scrollUpClickClass);B.scroll=true;l(C,B,D,A)}).mouseup(function(){w(b(this),m.scrollUpClickClass,m.scrollUpHoverClass);B.scroll=false});D.hover(function(){w(b(this),m.scrollDownClass,m.scrollDownHoverClass)},function(){w(b(this),m.scrollDownHoverClass,m.scrollDownClass);w(b(this),m.scrollDownClickClass,m.scrollDownClass);D.scroll=false}).mousedown(function(){w(b(this),m.scrollDownHoverClass,m.scrollDownClickClass);D.scroll=true;y(C,B,D,A)}).mouseup(function(){w(b(this),m.scrollDownClickClass,m.scrollDownHoverClass);D.scroll=false});B.hide()}}function l(D,B,E,A){if(B.scroll){var C=d(D,"top")+2;D.css("top",C);E.show();if(C>=A.start){D.css("top",A.start);B.hide();B.scroll=false}else{setTimeout(function(){l(D,B,E,A)},m.scrollSpeed)}}}function y(D,B,E,A){if(E.scroll){var C=d(D,"top")-2;D.css("top",C);B.show();if(C<=A.end){D.css("top",A.end);E.hide();E.scroll=false}else{setTimeout(function(){y(D,B,E,A)},m.scrollSpeed)}}}function u(E,B){var D=d(B,"top");var C=B.outerHeight(true);var A=E.height();if(C<=A){return{start:D,end:D}}return{start:D,end:D-(C-A)}}function r(B,A,C){B.each(function(){var E=b(this);var G=0;var F=["border-top-width","border-bottom-width","padding-top","padding-bottom"];if(C){F.push("margin-top");F.push("margin-bottom")}for(var D in F){G+=d(E,F[D])}E.height(A-G)})}function v(B,A,C){B.each(function(){var E=b(this);var G=0;var F=["border-left-width","border-right-width","padding-left","padding-right"];if(C){F.push("margin-left");F.push("margin-right")}for(var D in F){G+=d(E,F[D])}E.width(A-G)})}function p(A){var B=A.children("."+m.scrollPaneClass);r(B,A.height()-A.children("."+m.titleClass+", ."+m.titleRootClass).outerHeight(true),true);v(B,A.width(),true)}function h(D){var C=0;var B=D.childNodes;var A;while((A=B[C++])){switch(A.nodeType){case 1:h(A);break;case 8:D.removeChild(A);C--;break}}}function w(B,A,C){if(B.hasClass(A)){B.removeClass(A);B.addClass(C)}}function d(B,D){var C=B.css(D).replace(/\D\-/g,"");var A=parseInt(C,10);if(isNaN(A)==false&&A!=""){return A}return 0}s();return this}b.fn.ddMenu.defaults={rootTitle:"Menu",initial:null,separator:"|",scrollSpeed:10,duration:500,inDuration:null,outDuration:null,easing:"swing",inEasing:null,outEasing:null,direction:"east",inDirection:null,outDirection:null,menuClass:"bdc-dd-menu",menuPanelClass:"bdc-dd-menu-panel",scrollPaneClass:"bdc-dd-scroll-pane",scrollUpClass:"bdc-dd-scroll-up",scrollUpHoverClass:"bdc-dd-scroll-up-hover",scrollUpClickClass:"bdc-dd-scroll-up-click",scrollDownClass:"bdc-dd-scroll-down",scrollDownHoverClass:"bdc-dd-scroll-down-hover",scrollDownClickClass:"bdc-dd-scroll-down-click",subMenuClass:"bdc-dd-sub-menu",titleClass:"bdc-dd-title",titleRootClass:"bdc-dd-title-root",titleHoverClass:"bdc-dd-title-hover",titleRootHoverClass:"bdc-dd-title-root-hover",titleLabelClass:"bdc-dd-title-label",titleIconClass:"bdc-dd-title-icon",itemClass:"bdc-dd-item",labelClass:"bdc-dd-label",labelHoverClass:"bdc-dd-label-hover",labelInitialClass:"bdc-dd-label-initial",labelInitialHoverClass:"bdc-dd-label-initial-hover",textClass:"bdc-dd-text",textHoverClass:"bdc-dd-text-hover",iconClass:"bdc-dd-icon",iconHoverClass:"bdc-dd-icon-hover"}})(jQuery);