(function(b){function a(c){if(c.attr("title")||typeof(c.attr("original-title"))!="string"){c.attr("original-title",c.attr("title")||"").removeAttr("title")}}b.fn.tipsy=function(c){c=b.extend({},b.fn.tipsy.defaults,c);return this.each(function(){a(b(this));var d=b.fn.tipsy.elementOptions(this,c);var e=null;b(this).hover(function(){var f=this;e=setTimeout(function(){b.data(f,"cancel.tipsy",true);var g=b.data(f,"active.tipsy");if(!g){g=b('<div class="tipsy"><div class="tipsy-inner"/></div>');g.css({position:"absolute",zIndex:100000});b.data(f,"active.tipsy",g)}a(b(f));var i;if(typeof d.title=="string"){i=b(f).attr(d.title=="title"?"original-title":d.title)}else{if(typeof d.title=="function"){i=d.title.call(f)}}g.find(".tipsy-inner")[d.html?"html":"text"](i||d.fallback);var l=b.extend({},b(f).offset(),{width:f.offsetWidth,height:f.offsetHeight});g.get(0).className="tipsy";g.remove().css({top:0,left:0,visibility:"hidden",display:"block"}).appendTo(document.body);var h=g[0].offsetWidth,k=g[0].offsetHeight;var j=(typeof d.gravity=="function")?d.gravity.call(f):d.gravity;switch(j.charAt(0)){case"n":g.css({top:l.top+l.height,left:l.left+l.width/2-h/2}).addClass("tipsy-north");break;case"s":g.css({top:l.top-k,left:l.left+l.width/2-h/2}).addClass("tipsy-south");break;case"e":g.css({top:l.top+l.height/2-k/2,left:l.left-h}).addClass("tipsy-east");break;case"w":g.css({top:l.top+l.height/2-k/2,left:l.left+l.width}).addClass("tipsy-west");break}if(d.fade){g.stop().css({opacity:0,display:"block",visibility:"visible"}).animate({opacity:d.opacity})}else{g.css({visibility:"visible",opacity:d.opacity})}},d.delayIn)},function(){b.data(this,"cancel.tipsy",false);var f=this;clearTimeout(e);setTimeout(function(){if(b.data(this,"cancel.tipsy")){return}var g=b.data(f,"active.tipsy");if(d.fade){g.stop().fadeOut(function(){b(this).remove()})}else{if(g){g.remove()}}},d.delayOut)})})};b.fn.tipsy.elementOptions=function(d,c){return b.metadata?b.extend({},c,b(d).metadata()):c};b.fn.tipsy.defaults={delayIn:0,delayOut:100,fade:false,fallback:"",gravity:"n",html:false,opacity:0.8,title:"title"};b.fn.tipsy.autoNS=function(){return b(this).offset().top>(b(document).scrollTop()+b(window).height()/2)?"s":"n"};b.fn.tipsy.autoWE=function(){return b(this).offset().left>(b(document).scrollLeft()+b(window).width()/2)?"e":"w"}})(jQuery);