jQuery(document).ready(function() {

	var beingShown = false;
	var shown = false;
	var hideDelay = 100;
	var hideDelayTimer = null;
	
	jQuery(".subtitle").mouseover(function() {
		if (hideDelayTimer) clearTimeout(hideDelayTimer);
		if(beingShown || shown) {
			return;
		} else {
			beingShown = true;
			jQuery(this).children("p").slideDown();
			beingShown = false;
			shown = true;
		}
		
	}).mouseout(function() {
		if (hideDelayTimer) clearTimeout(hideDelayTimer);
		hideDelayTimer = setTimeout(function () {
			hideDelayTimer = null;
			jQuery(".subtitle p").slideUp();
			shown = false;
		}, hideDelay);
		
	});
});