$(function () {
    $('.bubbleInfo').each(function () {
        var distance = -35;
        var time = 250;
        var hideDelay = 150;
		var trHeight = 29;
        var hideDelayTimer = null;

        var beingShown = false;
        var shown = false;
        var trigger = $('.trigger', this);
        var info = $('.popup', this).css('opacity', 0);
		
		var cntId = Number( $('.cntId', this).html() );
		//alert("cntId:"+cntId);
		
        $([trigger.get(0)]).mouseover(function () {
			//console.log("mouseover");
            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: -3*trHeight + (cntId)*trHeight,
                    left: +510,
                    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;
			//*/
        });
    });
});
