(function(n,t,i){n.fn.extend({dropdown_menu:function(r){var f={sub_indicator_class:"dropdown-menu-sub-indicator",vertical_class:"dropdown-menu-vertical",shadow_class:"dropdown-menu-shadow",hover_class:"dropdown-menu-hover",open_delay:150,close_delay:300,animation_open:{opacity:"show"},speed_open:"fast",animation_close:{opacity:"hide"},speed_close:"fast",sub_indicators:!1,drop_shadows:!1,vertical:!1,viewport_overflow:"auto",init:function(){}},u;return version=parseFloat(navigator.appVersion.split("MSIE")[1]),u=version<8&&i.body.filters,this.each(function(){var e=n(this),o=e.data("options"),i=n.extend({},f,r,o),s=n('<span class="'+i.sub_indicator_class+'">&#187;<\/span>');i.vertical&&e.addClass(i.vertical_class);n(">li",e).css({"font-size":e.css("font-size")});e.css({"font-size":"0"});e.find("li:has(ul)").each(function(){n(this).addClass(i.sub_indicator_class);i.sub_indicators&&n(">a:first-child",this).append(s.clone());var r=n(">ul",this).css({visibility:"hidden",display:"block"});i.drop_shadows&&r.addClass(i.shadow_class);u&&setTimeout(function(){r.css({width:r.width()})},0);n(this).on({mouseenter:function(){(clearTimeout(n(this).data("close_timer")),clearTimeout(n(this).data("open_timer")),n(this).hasClass(i.hover_class))||n(this).data("open_timer",setTimeout(n.proxy(function(){var f,e,o,s,h;if(n(this).addClass(i.hover_class),i.vertical?r.css({top:0,left:n(this).width()}):r.css({top:"",left:""}),r.css({visibility:"hidden",display:"block"}),overflow_x=r.offset().left+r.width()>n(t).scrollLeft()+n(t).width(),overflow_y=r.offset().top+r.height()>n(t).scrollTop()+n(t).height(),overflow=overflow_x||overflow_y,overflow&&i.viewport_overflow){f=10;i.viewport_overflow==="auto"&&(i.viewport_overflow=u?"scroll":"move");switch(i.viewport_overflow){case"move":e=overflow_x?n(t).scrollLeft()+n(t).width()-r.width()-f:r.offset().left;o=overflow_y?n(t).scrollTop()+n(t).height()-r.height()-f:r.offset().top;r.offset({left:e,top:o});break;case"scroll":overflow_x&&(s=r.offset().left-n(t).width()+r.width()+f,n("html").animate({scrollLeft:s},"fast"));overflow_y&&(h=r.offset().top-n(t).height()+r.height()+f,n("html").animate({scrollTop:h},"fast"))}}r.hide().css({visibility:"visible"});i.animation_open?r.animate(i.animation_open,i.speed_open):r.show()},this),i.open_delay))},mouseleave:function(){clearTimeout(n(this).data("close_timer"));clearTimeout(n(this).data("open_timer"));n(this).data("close_timer",setTimeout(n.proxy(function(){n(this).removeClass(i.hover_class);i.animation_close?r.animate(i.animation_close,i.speed_close,function(){r.css({visibility:"hidden"})}):r.hide().css({visibility:"hidden"})},this),i.close_delay))},touchstart:function(){n(">a:first-child",this).one("click",n.proxy(function(t){if(n(this).hasClass(i.hover_class))return!0;t.preventDefault()},this))}})});setTimeout(function(){n("ul",e).hide(1).promise().done(function(){i.init.call(e[0])})},0)})}})})(jQuery,window,document)