/*
 * @author http://jqueryfordesigners.com/coda-popup-bubbles/
 */
$(function () {
	$('.cle_avec_bulle').each(function () {
		var distance = 10;
		var time = 250;
		var hideDelay = 500;
		
		var hideDelayTimer = null;
		
		var beingShown = false;
		var shown = false;
		var trigger = $('.cle', this);
		var info = $('.bulle', this).css('opacity', 0);

		$([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: -60,
						left: -10,
						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;
		});
	});
});
