(function($){if(!$(document.body).is('[role]')){$(document.body).attr('role','application')}var increments=0;$.widget("ui.tooltip",{options:{tooltipClass:"ui-widget-content",content:function(){return $(this).attr("title")},position:{my:"left center",at:"right center",offset:"15 0"}},_init:function(){var self=this;this.tooltip=$("<div></div>").attr("id","ui-tooltip-"+increments++).attr("role","tooltip").attr("aria-hidden","true").addClass("ui-tooltip ui-widget ui-corner-all").addClass(this.options.tooltipClass).appendTo(document.body).hide();this.tooltipContent=$("<div></div>").addClass("ui-tooltip-content").appendTo(this.tooltip);this.opacity=this.tooltip.css("opacity");this.element.bind("focus.tooltip mouseenter.tooltip",function(event){self.open(event)}).bind("blur.tooltip mouseleave.tooltip",function(event){self.close(event)})},enable:function(){this.options.disabled=false},disable:function(){this.options.disabled=true},destroy:function(){this.tooltip.remove();$.Widget.prototype.destroy.apply(this,arguments)},widget:function(){return this.element.pushStack(this.tooltip.get())},open:function(event){var target=this.element;if(this.current&&this.current[0]==target[0])return;var self=this;this.current=target;this.currentTitle=target.attr("title");var content=this.options.content.call(target[0],function(response){setTimeout(function(){if(self.current==target)self._show(event,target,response)},13)});if(content){self._show(event,target,content)}},_show:function(event,target,content){if(!content)return;target.attr("title","");if(this.options.disabled)return;this.tooltipContent.html(content);this.tooltip.css({top:0,left:0}).show().position($.extend({of:target},this.options.position)).hide();this.tooltip.attr("aria-hidden","false");target.attr("aria-describedby",this.tooltip.attr("id"));this.tooltip.stop(false,true).fadeIn();this._trigger("open",event)},close:function(event){if(!this.current)return;var current=this.current.attr("title",this.currentTitle);this.current=null;if(this.options.disabled)return;current.removeAttr("aria-describedby");this.tooltip.attr("aria-hidden","true");this.tooltip.stop(false,true).fadeOut();this._trigger("close",event)}})})(jQuery);
