/*
 * jQuery easy-tooltip plugin
 * Examples and documentation at: http://www.easy-tuts.com/downloads/jquery-plugins/
 * version 1.2 (29-MAR-2011)
 * Requires jQuery v1.4.3 or later
 * Dual licensed under the MIT and GPL licenses:
 * http://www.opensource.org/licenses/mit-license.php
 * http://www.gnu.org/licenses/gpl.html
 * Author: alexander@easy-tuts.com
 */

(function($){$.fn.tooltip=function(o){if(this.length==0){if(!$.isReady&&this.selector){var s=this.selector,c=this.context;$(function(){$(s,c).tooltip(o);});}return this;}$(document).ready(function(){$('[data-tooltipfor]').each(function(){var $h,$w,$t,$e;if($(this).html()==''){$(this).remove();return ;}$t=$(this).wrap('<div />').parent();$t.hide();$h=$t.outerHeight();$w=$t.outerWidth();$e=$('#'+$(this).data('tooltipfor'));$(this).removeAttr('data-tooltipfor');$t.appendTo('body').css('position','absolute').css({'left':'-9000px'}).hide();$e.mousemove(function(e){sP($t,e.pageX+12,e.pageY+12);}).hover(function(e){sP($t,e.pageX+12,e.pageY+12);$t.clearQueue().stop().css('opacity',1.0).hide().fadeIn(o.durationIn);},function(e){$t.clearQueue().stop().css('opacity',1.0).show().fadeOut(o.durationOut,function(){$(this).css({'left':'-9000px'}).hide();});});});});return this.each(function(){var $this=$(this),$tt,$c=$('<span />'),$ti=$(this).attr('title'),$w,$h,$tp,$a,rI,rO;if($ti!==undefined&&$ti!==''){$this.attr('title','');if(o===undefined){o={};}if(o.delay===undefined){o.delay=0;}if(o.animation!==undefined){o.animationIn=o.animation;o.animationOut=o.animation;}if(o.duration!==undefined){o.durationIn=o.duration;o.durationOut=o.duration;}if(o.animationIn===undefined){o.animationIn='fade';}if(o.durationIn===undefined){o.durationIn='medium';}if(o.animationOut===undefined){o.animationOut='none';}if(o.durationOut===undefined){o.durationOut='fast';}if(o.animationIn=='random'){rI=true;}else{rI=false;}if(o.animationOut=='random'){rO=true;}else{rO=false;}if(o.className===undefined){o.className='easy-tooltip-default';}$c.appendTo('body').addClass(o.className).css(o).css({'position':'relative','display':'block'}).hide();if(o.separator!==undefined){var $tp=$ti.indexOf(o.separator);if($tp!=-1&&$tp!=0&&$tp!=$ti.length-$tp.length){$c.html($ti.substring($tp+o.separator.length));if(o.titleClass===undefined){o.titleClass='easy-tooltip-title';}$('<span />').addClass(o.titleClass).html($ti.substring(0,$tp)).prependTo($c);}else{$c.html($ti);}}else{$c.html($ti);}$w=$c.outerWidth();$h=$c.outerHeight();$tt=$c.wrap('<div />').parent().width($w).height($h).css({'position':'absolute','overflow':'hidden','left':'-9000px'}).hide();$a={names:new Array('none','fade','slide','racer','bounce'),cssNormal:{left:0,top:0},noneIn:{},noneOut:{},fadeIn:{css:{opacity:'0.0'},animate:new Array({css:{opacity:'1.0'},duration:o.durationIn})},fadeOut:{animate:new Array({css:{opacity:'0.0'},duration:o.durationOut})},slideIn:{css:{top:$h},animate:new Array({css:{top:0},duration:o.durationIn})},slideOut:{animate:new Array({css:{top:$h},duration:o.durationOut})},racerIn:{css:{left:0-$w},animate:new Array({css:{left:0},duration:o.durationIn})},racerOut:{animate:new Array({css:{left:$w},duration:o.durationOut})},bounceIn:{css:{top:$h},animate:new Array({css:{top:0},duration:o.durationIn},{css:{top:'+=8'},duration:200},{css:{top:'-=8'},duration:200})},bounceOut:{animate:new Array({css:{top:$h},duration:o.durationOut},{css:{top:'-=8'},duration:200},{css:{top:'+=8'},duration:200})}};$this.mousemove(function(e){sP($tt,e.pageX+12,e.pageY+12);}).hover(function(e){sP($tt,e.pageX+12,e.pageY+12);if(rI===true){o.animationIn=$a.names[Math.round(Math.random()*($a.names.length-1))];}effect('in',o,$c,$a);},function(e){if(rO===true){o.animationOut=$a.names[Math.round(Math.random()*($a.names.length-1))];}effect('out',o,$c,$a);});}});function sP($tt,$x,$y){var $w=$tt.width(),$h=$tt.height(),$mW=$(window).width()+$(window).scrollLeft(),$mH=$(window).height()+$(window).scrollTop();if($y+$h>$mH&&$y-12-$h>=0){$y=$y-12-$h;}if($x+$w>$mW&&$x-12-$w>=0){$x=$x-12-$w;}$tt.css({top:$y,left:$x});}function effect(inOut,o,$c,$a){var css,animate;if(inOut=='in'){if(o.animationIn=='fade'){$c.clearQueue().stop().show().parent().hide().fadeIn(o.durationIn,function(){$c.parent().show();});}else{css=$a[o.animationIn+'In'].css;animate=$a[o.animationIn+'In'].animate;$c.parent().show();$c.clearQueue().stop().css($a.cssNormal).queue(function(){if(css!==undefined)$(this).css(css);$(this).dequeue();}).show().queue(function(){if(animate!==undefined)animation($c,animate);$(this).dequeue();}).queue(function(){$(this).css($a.cssNormal);$(this).dequeue();});}}else{if(o.animationOut=='fade'){$c.clearQueue().stop().show().parent().show().fadeOut(o.durationOut,function(){$c.parent().hide().css({'left':'-9000px'});$c.hide();});}else{animate=$a[o.animationOut+'Out'].animate;$c.parent().show();$c.clearQueue().stop().css($a.cssNormal).show().delay(o.delay).queue(function(){if(animate!==undefined)animation($c,animate);$(this).dequeue();}).queue(function(){$(this).queue(function(){$(this).hide().parent().css({'left':'-9000px'}).hide();}).css($a.cssNormal);$(this).dequeue();});}}}function animation($c,animate){for(var i=0;i<animate.length;i++){$c.animate(animate[i].css,animate[i].duration);}}}})(jQuery);
