﻿(function(a){var c=[];a.tools=a.tools||{};a.tools.tooltip={version:"1.1.2",conf:{effect:"toggle",fadeOutSpeed:"fast",tip:null,predelay:0,delay:30,opacity:1,lazy:undefined,position:["top","center"],offset:[0,0],cancelDefault:true,relative:false,oneInstance:true,events:{def:"mouseover,mouseout",input:"focus,blur",widget:"focus mouseover,blur mouseout",tooltip:"mouseover,mouseout"},api:false},addEffect:function(a,d,c){b[a]=[d,c]}};var b={toggle:[function(c){var d=this.getConf(),a=this.getTip(),b=d.opacity;if(b<1)a.css({opacity:b});a.show();c.call()},function(a){this.getTip().hide();a.call()}],fade:[function(a){this.getTip().fadeIn(this.getConf().fadeInSpeed,a)},function(a){this.getTip().fadeOut(this.getConf().fadeOutSpeed,a)}]};function d(e,d){var g=this,i=a(this);e.data("tooltip",g);var f=e.next();if(d.tip){f=a(d.tip);if(f.length>1){f=e.nextAll(d.tip).eq(0);if(!f.length)f=e.parent().nextAll(d.tip).eq(0)}}function n(){var c=d.relative?e.position().top:e.offset().top,b=d.relative?e.position().left:e.offset().left,a=d.position[0];c-=f.outerHeight()-d.offset[0];b+=e.outerWidth()+d.offset[1];var g=f.outerHeight()+e.outerHeight();if(a=="center")c+=g/2;if(a=="bottom")c+=g;a=d.position[1];var h=f.outerWidth()+e.outerWidth();if(a=="center")b-=h/2;if(a=="left")b-=h;return {top:c,left:b}}var j=e.is(":input"),o=j&&e.is(":checkbox, :radio, select, :button"),m=e.attr("type"),h=d.events[m]||d.events[j?o?"widget":"input":"def"];h=h.split(/,\s*/);if(h.length!=2)throw"Tooltip: bad events configuration for "+m;e.bind(h[0],function(b){if(d.oneInstance)a.each(c,function(){this.hide()});var e=f.data("trigger");if(e&&e[0]!=this)f.hide().stop(true,true);b.target=this;g.show(b);h=d.events.tooltip.split(/,\s*/);f.bind(h[0],function(){g.show(b)});if(h[1])f.bind(h[1],function(){g.hide(b)})});e.bind(h[1],function(a){g.hide(a)});if(!a.browser.msie&&!j&&!d.predelay)e.mousemove(function(){if(!g.isShown())e.triggerHandler("mouseover")});if(d.opacity<1)f.css("opacity",d.opacity);var l=0,k=e.attr("title");if(k&&d.cancelDefault){e.removeAttr("title");e.data("title",k)}a.extend(g,{show:function(c){if(c)e=a(c.target);clearTimeout(f.data("timer"));if(f.is(":animated")||f.is(":visible"))return g;function h(){f.data("trigger",e);var h=n(c);if(d.tip&&k)f.html(e.data("title"));c=c||a.Event();c.type="onBeforeShow";i.trigger(c,[h]);if(c.isDefaultPrevented())return g;h=n(c);f.css({position:"absolute",top:h.top,left:h.left});var j=b[d.effect];if(!j)throw'Nonexistent effect "'+d.effect+'"';j[0].call(g,function(){c.type="onShow";i.trigger(c)})}if(d.predelay){clearTimeout(l);l=setTimeout(h,d.predelay)}else h();return g},hide:function(c){clearTimeout(f.data("timer"));clearTimeout(l);if(!f.is(":visible"))return;function e(){c=c||a.Event();c.type="onBeforeHide";i.trigger(c);if(c.isDefaultPrevented())return;b[d.effect][1].call(g,function(){c.type="onHide";i.trigger(c)})}if(d.delay&&c)f.data("timer",setTimeout(e,d.delay));else e();return g},isShown:function(){return f.is(":visible, :animated")},getConf:function(){return d},getTip:function(){return f},getTrigger:function(){return e},bind:function(a,b){i.bind(a,b);return g},onHide:function(a){return this.bind("onHide",a)},onBeforeShow:function(a){return this.bind("onBeforeShow",a)},onShow:function(a){return this.bind("onShow",a)},onBeforeHide:function(a){return this.bind("onBeforeHide",a)},unbind:function(a){i.unbind(a);return g}});a.each(d,function(c,b){if(a.isFunction(b))g.bind(c,b)})}a.prototype.tooltip=function(b){var e=this.eq(typeof b=="number"?b:0).data("tooltip");if(e)return e;var f=a.extend(true,{},a.tools.tooltip.conf);if(a.isFunction(b))b={onBeforeShow:b};else if(typeof b=="string")b={tip:b};b=a.extend(true,f,b);if(typeof b.position=="string")b.position=b.position.split(/,?\s/);if(b.lazy!==false&&(b.lazy===true||this.length>20))this.one("mouseover",function(f){e=new d(a(this),b);e.show(f);c.push(e)});else this.each(function(){e=new d(a(this),b);c.push(e)});return b.api?e:this}})(jQuery);(function(a){var b=a.tools.tooltip;b.effects=b.effects||{};b.effects.slide={version:"1.0.0"};a.extend(b.conf,{direction:"up",bounce:false,slideOffset:10,slideInSpeed:200,slideOutSpeed:200,slideFade:!a.browser.msie});var c={up:["-","top"],down:["+","top"],left:["-","left"],right:["+","left"]};a.tools.tooltip.addEffect("slide",function(f){var a=this.getConf(),d=this.getTip(),e=a.slideFade?{opacity:a.opacity}:{},b=c[a.direction]||c.up;e[b[1]]=b[0]+"="+a.slideOffset;if(a.slideFade)d.css({opacity:0});d.show().animate(e,a.slideInSpeed,f)},function(g){var b=this.getConf(),h=b.slideOffset,f=b.slideFade?{opacity:0}:{},e=c[b.direction]||c.up,d=""+e[0];if(b.bounce)d=d=="+"?"-":"+";f[e[1]]=d+"="+h;this.getTip().animate(f,b.slideOutSpeed,function(){a(this).hide();g.call()})})})(jQuery);(function(a){var b=a.tools.tooltip;b.plugins=b.plugins||{};b.plugins.dynamic={version:"1.0.1",conf:{api:false,classNames:"top right bottom left"}};function d(c){var b=a(window),e=b.width()+b.scrollLeft(),d=b.height()+b.scrollTop();return [c.offset().top<=b.scrollTop(),e<=c.offset().left+c.width(),d<=c.offset().top+c.height(),b.scrollLeft()>=c.offset().left]}function c(b){var a=b.length;while(a--)if(b[a])return false;return true}a.fn.dynamic=function(e){var i=a.extend({},b.plugins.dynamic.conf),h;if(typeof e=="number")e={speed:e};e=a.extend(i,e);var g=e.classNames.split(/\s/),f;this.each(function(){if(a(this).tooltip().jquery)throw"Lazy feature not supported by dynamic plugin. set lazy: false for tooltip";var b=a(this).tooltip().onBeforeShow(function(k,j){var i=this.getTip(),b=this.getConf();if(!f)f=[b.position[0],b.position[1],b.offset[0],b.offset[1],a.extend({},b)];a.extend(b,f[4]);b.position=[f[0],f[1]];b.offset=[f[2],f[3]];i.css({visibility:"hidden",position:"absolute",top:j.top,left:j.left}).show();var h=d(i);if(!c(h)){if(h[2]){a.extend(b,e.top);b.position[0]="top";i.addClass(g[0])}if(h[3]){a.extend(b,e.right);b.position[1]="right";i.addClass(g[1])}if(h[0]){a.extend(b,e.bottom);b.position[0]="bottom";i.addClass(g[2])}if(h[1]){a.extend(b,e.left);b.position[1]="left";i.addClass(g[3])}if(h[0]||h[2])b.offset[0]*=-1;if(h[1]||h[3])b.offset[1]*=-1}i.css({visibility:"visible"}).hide()});b.onShow(function(){var a=this.getConf(),b=this.getTip();a.position=[f[0],f[1]];a.offset=[f[2],f[3]]});b.onHide(function(){var a=this.getTip();a.removeClass(e.classNames)});h=b});return e.api?h:this}})(jQuery)
