// jQuery().dropdown_menu() by Daniel Upshaw 2012-2013 // http://danielupshaw.com/jquery-css-dropdown-plugin/readme.html (function(a,b){a.fn.extend({dropdown_menu:function(c){var e={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(){}},f=a.browser.msie&&8>a.browser.version;return this.each(function(){var g=a(this),h=g.data("options"),i=a.extend({},e,c,h),j=a('»');i.vertical&&g.addClass(i.vertical_class),a(">li",g).css({"font-size":g.css("font-size")}),g.css({"font-size":"0"}),g.find("li:has(ul)").each(function(){a(this).addClass(i.sub_indicator_class),i.sub_indicators&&a(">a:first-child",this).append(j.clone());var c=a(">ul",this).css({visibility:"hidden",display:"block"});i.drop_shadows&&c.addClass(i.shadow_class),f&&setTimeout(function(){c.css({width:c.width()})},0),a(this).on({mouseenter:function(){clearTimeout(a(this).data("close_timer")),clearTimeout(a(this).data("open_timer")),a(this).hasClass(i.hover_class)||a(this).data("open_timer",setTimeout(a.proxy(function(){if(a(this).addClass(i.hover_class),i.vertical?c.css({top:0,left:a(this).width()}):c.css({top:"",left:""}),c.css({visibility:"hidden",display:"block"}),overflow_x=c.offset().left+c.width()>a(b).scrollLeft()+a(b).width(),overflow_y=c.offset().top+c.height()>a(b).scrollTop()+a(b).height(),overflow=overflow_x||overflow_y,overflow&&i.viewport_overflow){var d=10;switch("auto"===i.viewport_overflow&&(i.viewport_overflow=f?"scroll":"move"),i.viewport_overflow){case"move":var e=overflow_x?a(b).scrollLeft()+a(b).width()-c.width()-d:c.offset().left,g=overflow_y?a(b).scrollTop()+a(b).height()-c.height()-d:c.offset().top;c.offset({left:e,top:g});break;case"scroll":if(overflow_x){var h=c.offset().left-a(b).width()+c.width()+d;a("html").animate({scrollLeft:h},"fast")}if(overflow_y){var j=c.offset().top-a(b).height()+c.height()+d;a("html").animate({scrollTop:j},"fast")}}}c.hide().css({visibility:"visible"}),i.animation_open?c.animate(i.animation_open,i.speed_open):c.show()},this),i.open_delay))},mouseleave:function(){clearTimeout(a(this).data("close_timer")),clearTimeout(a(this).data("open_timer")),a(this).data("close_timer",setTimeout(a.proxy(function(){a(this).removeClass(i.hover_class),i.animation_close?c.animate(i.animation_close,i.speed_close,function(){c.css({visibility:"hidden"})}):c.hide().css({visibility:"hidden"})},this),i.close_delay))},touchstart:function(){a(">a:first-child",this).one("click",a.proxy(function(b){return a(this).hasClass(i.hover_class)?!0:(b.preventDefault(),d)},this))}})}),setTimeout(function(){a("ul",g).hide(1).promise().done(function(){i.init.call(g[0])})},0)})}})})(jQuery,window,document);