(function($){
$.fn.bubble=function(options){
var defaults={
'trigger' : '.trigger',
'popup' : '.popup',
'distance' : 10,
'hideDelay' : 50,
'effectTime' : 250}
var settings=$.extend({},defaults,options)
return this.each(function(){
var hideDelayTimer=null
var trigger=$(settings.trigger,this)
var popup=$(settings.popup,this)
$([trigger.get(0),popup.get(0)]).mouseover(function(evt){
if(hideDelayTimer)clearTimeout(hideDelayTimer)
if(popup.is(':animated, :visible')){
return
}else{
popup.css({
display: 'block',
top: evt.clientY-80,
left: evt.clientX-50
}).animate({
opacity: 0.95,
top: '-='+settings.distance+'px'
},settings.effectTime)}
}).mouseout(function(){
if(hideDelayTimer)clearTimeout(hideDelayTimer)
hideDelayTimer=setTimeout(function(){
hideDelayTimer=null
popup.animate({
top: '-='+settings.distance+'px',
opacity: 0
},settings.effectTime,'swing',function(){
popup.css('display','none')
})
},settings.hideDelay)
})
})}
})(jQuery)
