   $(function () {

  $('.bubbleInfo').each(function () {

    var distance = 10;
    var time = 500;
    var hideDelay = 500;
    var hideDelayTimer = null;

    var beingShown = false;
    var shown = false;
    var trigger = $('.trigger', this);
    var popup = $('.popup', this).css('opacity', 0);


    $([trigger.get(0), popup.get(0)]).mouseover(function () {
      if (hideDelayTimer) clearTimeout(hideDelayTimer);
		if (beingShown || shown) {
    	    return;
	    } else {
	        beingShown = true;
	        popup.css({
	        top: -10,
	        left: +140,
	        display: 'block' // brings the popup back in to view
	    })
        .animate({
          	top: '-=' + distance + 'px',
         	opacity: 1
        }, time, 'swing', function() {
	        	beingShown = false;
    	    	shown = true;
        	});
        }

    }).mouseout(function () {
      if (hideDelayTimer) clearTimeout(hideDelayTimer);
      hideDelayTimer = setTimeout(function () {
        hideDelayTimer = null;
        popup.animate({
          top: '-=' + distance + 'px',
          opacity: 0
        }, time, 'swing', function () {
          shown = false;
          popup.css('display', 'none');

        });
      }, hideDelay);
    });
  });
});

