(function(a){function d(b){if(b.type=="click"){b.preventDefault()}var d=b.data.options;var e=a(b.data.target);if(!d.customTooltipCache&&e.data("$tooltip")){e.data("$tooltip").remove();e.data("$tooltip",false)}if(!e.data("$tooltip")){e.data("$tooltip",a(d.customTooltip(e.get(0))))}var f=e.data("$tooltip");if(!f.data("init")){c(f)}var g=a(window).width();var h=a(window).height();var i=a(window).scrollTop();var j=a(window).scrollLeft();f.unbind("show").unbind("hide");if(d.showEffect&&d.showEffect.match(/^fadeIn|slideDown|show$/)){f.bind("show",function(){f[d.showEffect](200);d.showCallback(e[0],this)})}else{f.bind("show",function(){f.show();d.showCallback(e[0],this)})}if(d.hideEffect&&d.hideEffect.match(/^fadeOut|slideUp|hide$/)){f.bind("hide",function(){d.hideCallback(e[0],this);f[d.hideEffect](200)})}else{f.bind("hide",function(){d.hideCallback(e[0],this);f.hide()})}var k=b.pageX-f.data("width")/2;var l=b.pageY-f.data("height")/2;if(k<j+d.margin){k=j+d.margin}else if(k+f.data("width")>j+g-d.margin){k=j+g-f.data("width")-d.margin}if(l<i+d.margin){l=i+d.margin}else if(l+f.data("height")>i+h-d.margin){l=i+h-f.data("height")-d.margin}if(d.hideDelay>0&&d.hideOnLeave){var m;f.hover(function(){window.clearTimeout(m)},function(){m=window.setTimeout(function(){f.trigger("hide").unbind("mouseenter, mouseleave")},d.hideDelay*1e3)})}else if(d.hideOnLeave){f.bind("mouseleave",function(){f.trigger("hide").unbind("mouseleave")})}f.css({left:k+"px",top:l+"px"}).trigger("show")}function c(a){a.appendTo(document.body).data("width",a.outerWidth()).data("height",a.outerHeight()).css({position:"absolute",zIndex:"9998",display:"none"}).find("a[rel=close]").click(function(b){b.preventDefault();a.trigger("hide")}).end().data("init",true)}function b(b){var c=a(b).attr("href").match(/#.+/);if(!!c){var d=a(c[0])}return d}a.fn.simpletooltip=function(c){var e=a.extend({hideOnLeave:true,margin:5,showEffect:false,hideEffect:false,click:false,hideDelay:0,showDelay:.1,showCallback:function(){},hideCallback:function(){},customTooltip:false,customTooltipCache:true},c);this.each(function(){if(!a.isFunction(e.customTooltip)){a(this).data("$tooltip",b(this).hide())}if(e.click){a(this).bind("click",{options:e,target:this},d)}else{var c;a(this).bind("mouseenter",{options:e,target:this},function(a){var b=a;c=window.setTimeout(function(){d(b)},e.showDelay*1e3)}).bind("mouseleave",function(){window.clearTimeout(c)})}});return this};})(jQuery)
