$(document).ready(function() {
	
	// lets do the tooltip
	$('.bubble-info').each(function () {
		
		var distance = 10;
		var time = 200;
		var hideDelay = 400;
		var hideDelayTimer = null;
		var beingShown = false;
		var shown = false;
		var trigger = $('.trigger', this);
		var info = $('.popup', this).css('opacity', 0);
		var popup_height = $(info).height();
		var popup_width = $(info).width();

		$([trigger.get(0), info.get(0)]).mouseover(function () {
			
			if (hideDelayTimer) clearTimeout(hideDelayTimer);

			if (beingShown || shown) {
				// don't trigger the animation again
				return;
			} else {
				// reset position of info box
				beingShown = true;
				info.css({
					top: ($(trigger).offset().top - popup_height + distance),
					left: ($(trigger).offset().left),
					display: 'block'
				}).animate({
					top: '-=' + distance + 'px',
					opacity: 1
				}, time, 'swing', function() {
					beingShown = false;
					shown = true;
				});
				
			}
			return false;
			
		}).mouseout(function () {
			
			if (hideDelayTimer) clearTimeout(hideDelayTimer);
			
			hideDelayTimer = setTimeout(function () {
				hideDelayTimer = null;
				info.animate({
					top: '-=' + distance + 'px',
					opacity: 0
				}, time, 'swing', function () {
					shown = false;
					info.css('display', 'none');
				});
			}, hideDelay);
			
			return false;
		
		});
		
	});
	
});