// JavaScript Document
$('.firma').each(function () {
	// options
	var distance = 10;
	var time = 250;
	var hideDelay = 300;
	
	var hideDelayTimer = null;
	
	// tracker
	var beingShown = false;
	var shown = false;
	
	var trigger = $('.firmenlogo', this);
	var popup = $('.firmeninfo', this).css('opacity', 0);
	
	// set mouseOver and mouseOut
	$([trigger.get(0), popup.get(0)]).mouseover(function() {
		if (hideDelayTimer) clearTimeout(hideDelayTimer);
		
		if (beingShown || shown) {
			return;
		} else {
			beingShown = true;
			
			popup.css({
				top:-50,
				left:-30,
				display: 'block'
			})
			
			.animate({
				top: '-=' + distance + 'px',
				opacity: 1
			}, time, 'swing', function() {
				beingShown=false;
				shown=false;
			});
		}
	}).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);
	});
});