/*
 * jQuery UI Menu 1.9m5
 * 
 * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
 * Dual licensed under the MIT or GPL Version 2 licenses.
 * http://jquery.org/license
 *
 * http://docs.jquery.com/UI/Menu
 *
 * Depends:
 *	jquery.ui.core.js
 *	jquery.ui.widget.js
 */
(function(e){var i=0;e.widget("ui.menu",{defaultElement:"<ul>",delay:150,options:{position:{my:"left top",at:"right top"}},_create:function(){var b=this;this.activeMenu=this.element;this.menuId=this.element.attr("id")||"ui-menu-"+i++;this.element.find(".ui-icon").length&&this.element.addClass("ui-menu-icons");this.element.addClass("ui-menu ui-widget ui-widget-content ui-corner-all").attr({id:this.menuId,role:"menu"}).bind("click.menu",function(a){var c=e(a.target).closest(".ui-menu-item:has(a)");
if(b.options.disabled)return false;if(c.length){if(!b.active||b.active[0]!==c[0])b.focus(a,c);b.select(a)}}).bind("mouseover.menu",function(a){if(!b.options.disabled){var c=e(a.target).closest(".ui-menu-item");c.length&&b.focus(a,c)}}).bind("mouseout.menu",function(a){b.options.disabled||e(a.target).closest(".ui-menu-item").length&&b.blur(a)});this.refresh();this.element.attr("tabIndex",0).bind("keydown.menu",function(a){if(!b.options.disabled)switch(a.keyCode){case e.ui.keyCode.PAGE_UP:b.previousPage(a);
a.preventDefault();a.stopImmediatePropagation();break;case e.ui.keyCode.PAGE_DOWN:b.nextPage(a);a.preventDefault();a.stopImmediatePropagation();break;case e.ui.keyCode.UP:b.previous(a);a.preventDefault();a.stopImmediatePropagation();break;case e.ui.keyCode.DOWN:b.next(a);a.preventDefault();a.stopImmediatePropagation();break;case e.ui.keyCode.LEFT:b.left(a)&&a.stopImmediatePropagation();a.preventDefault();break;case e.ui.keyCode.RIGHT:b.right(a)&&a.stopImmediatePropagation();a.preventDefault();break;
case e.ui.keyCode.ENTER:if(b.active.children("a[aria-haspopup='true']").length)b.right(a)&&a.stopImmediatePropagation();else{b.select(a);a.stopImmediatePropagation()}a.preventDefault();break;case e.ui.keyCode.ESCAPE:b.left(a)&&a.stopImmediatePropagation();a.preventDefault();break;default:a.stopPropagation();clearTimeout(b.filterTimer);var c=b.previousFilter||"",d=String.fromCharCode(a.keyCode),f=false;if(d==c)f=true;else d=c+d;var g=function(h){return h.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&")};
c=b.activeMenu.children(".ui-menu-item").filter(function(){return RegExp("^"+g(d),"i").test(e(this).children("a").text())});c=f&&c.index(b.active.next())!=-1?b.active.nextAll(".ui-menu-item"):c;if(!c.length){d=String.fromCharCode(a.keyCode);c=b.activeMenu.children(".ui-menu-item").filter(function(){return RegExp("^"+g(d),"i").test(e(this).children("a").text())})}if(c.length){b.focus(a,c);if(c.length>1){b.previousFilter=d;b.filterTimer=setTimeout(function(){delete b.previousFilter},1E3)}else delete b.previousFilter}else delete b.previousFilter}})},
_destroy:function(){this.element.removeAttr("aria-activedescendant").find("ul").andSelf().removeClass("ui-menu ui-widget ui-widget-content ui-corner-all").removeAttr("role").removeAttr("tabIndex").removeAttr("aria-labelledby").removeAttr("aria-expanded").removeAttr("aria-hidden").show();this.element.find(".ui-menu-item").unbind(".menu").removeClass("ui-menu-item").removeAttr("role").children("a").removeClass("ui-corner-all ui-state-hover").removeAttr("tabIndex").removeAttr("role").removeAttr("aria-haspopup").removeAttr("id").children(".ui-icon").remove()},
refresh:function(){var b=this,a=this.element.find("ul:not(.ui-menu)").addClass("ui-menu ui-widget ui-widget-content ui-corner-all").attr("role","menu").hide().attr("aria-hidden","true").attr("aria-expanded","false");a.add(this.element).children("li:not(.ui-menu-item):has(a)").addClass("ui-menu-item").attr("role","presentation").children("a").addClass("ui-corner-all").attr("tabIndex",-1).attr("role","menuitem").attr("id",function(c){return b.element.attr("id")+"-"+c});a.each(function(){var c=e(this),
d=c.prev("a");d.attr("aria-haspopup","true").prepend('<span class="ui-menu-icon ui-icon ui-icon-carat-1-e"></span>');c.attr("aria-labelledby",d.attr("id"))})},focus:function(b,a){var c=this;this.blur();if(this._hasScroll()){var d=parseFloat(e.curCSS(this.element[0],"borderTopWidth",true))||0,f=parseFloat(e.curCSS(this.element[0],"paddingTop",true))||0;d=a.offset().top-this.element.offset().top-d-f;f=this.element.scrollTop();var g=this.element.height(),h=a.height();if(d<0)this.element.scrollTop(f+
d);else d+h>g&&this.element.scrollTop(f+d-g+h)}this.active=a.first().children("a").addClass("ui-state-focus").end();c.element.attr("aria-activedescendant",c.active.children("a").attr("id"));this.active.parent().closest(".ui-menu-item").children("a:first").addClass("ui-state-active");c.timer=setTimeout(function(){c._close()},c.delay);d=e(">ul",a);d.length&&/^mouse/.test(b.type)&&c._startOpening(d);this.activeMenu=a.parent();this._trigger("focus",b,{item:a})},blur:function(){if(this.active){clearTimeout(this.timer);
this.active.children("a").removeClass("ui-state-focus");this.active=null}},_startOpening:function(b){clearTimeout(this.timer);var a=this;a.timer=setTimeout(function(){a._close();a._open(b)},a.delay)},_open:function(b){clearTimeout(this.timer);this.element.find(".ui-menu").not(b.parents()).hide().attr("aria-hidden","true");var a=e.extend({},{of:this.active},e.type(this.options.position)=="function"?this.options.position(this.active):this.options.position);b.show().removeAttr("aria-hidden").attr("aria-expanded",
"true").position(a)},closeAll:function(){this.element.find("ul").hide().attr("aria-hidden","true").attr("aria-expanded","false").end().find("a.ui-state-active").removeClass("ui-state-active");this.blur();this.activeMenu=this.element},_close:function(){this.active.parent().find("ul").hide().attr("aria-hidden","true").attr("aria-expanded","false").end().find("a.ui-state-active").removeClass("ui-state-active")},left:function(b){var a=this.active&&this.active.parents("li:not(.ui-menubar-item)").first();
if(a&&a.length){this.active.parent().attr("aria-hidden","true").attr("aria-expanded","false").hide();this.focus(b,a);return true}},right:function(b){var a=this,c=this.active&&this.active.children("ul").children("li").first();if(c&&c.length){this._open(c.parent());setTimeout(function(){a.focus(b,c)},20);return true}},next:function(b){this._move("next",".ui-menu-item","first",b)},previous:function(b){this._move("prev",".ui-menu-item","last",b)},first:function(){return this.active&&!this.active.prevAll(".ui-menu-item").length},
last:function(){return this.active&&!this.active.nextAll(".ui-menu-item").length},_move:function(b,a,c,d){if(this.active){b=this.active[b+"All"](".ui-menu-item").eq(0);b.length?this.focus(d,b):this.focus(d,this.activeMenu.children(a)[c]())}else this.focus(d,this.activeMenu.children(a)[c]())},nextPage:function(b){if(this._hasScroll())if(!this.active||this.last())this.focus(b,this.activeMenu.children(".ui-menu-item").first());else{var a=this.active.offset().top,c=this.element.height(),d;this.active.nextAll(".ui-menu-item").each(function(){d=
e(this);return e(this).offset().top-a-c<0});this.focus(b,d)}else this.focus(b,this.activeMenu.children(".ui-menu-item")[!this.active||this.last()?"first":"last"]())},previousPage:function(b){if(this._hasScroll())if(!this.active||this.first())this.focus(b,this.activeMenu.children(".ui-menu-item").last());else{var a=this.active.offset().top,c=this.element.height(),d;this.active.prevAll(".ui-menu-item").each(function(){d=e(this);return e(this).offset().top-a+c>0});this.focus(b,d)}else this.focus(b,this.activeMenu.children(".ui-menu-item")[!this.active||
this.first()?":last":":first"]())},_hasScroll:function(){return this.element.height()<this.element[e.fn.prop?"prop":"attr"]("scrollHeight")},select:function(b){var a={item:this.active};this.closeAll();this._trigger("select",b,a)}});e.ui.menu.version="1.9m5"})(jQuery);

