var list_animating = false;
var list_target;

function animate_list(target)
{
	list_target = target;

	if ( !list_animating && target.hasClass('closed') )
	{
		list_animating = true;

		$('.list ul:not(.closed)').animate({height:'hide'}, {queue: false, duration: 250, complete:function(){
			$(this).addClass('closed');
		}});

		list_target.animate({height:'show'}, {queue: false, duration: 500, complete:function(){
			$(this).removeClass('closed');

			list_animating = false;

			if ( typeof(list_target) != 'undefined' && target != list_target ) 
			{
				animate_list(list_target);
			}

			list_target = undefined;
		}});
	}
};

$(function() {
	$('.list dt').mouseenter(function(){
		animate_list($(this).next('dd').find('ul'));
	});

	// Image stack: No focus / Focus

	$('div.stack:has(a)').mouseenter(function(){
		$(this).find('div.focus').animate({opacity: 1}, {queue: false, duration: 250});
	});

	$('div.stack:has(a)').mouseleave(function(){
		$(this).find('div.focus').animate({opacity: 0}, {queue: false, duration: 250});
	});

	// Image stack: Bottom / Top

	$('div.stack:has(div.top)').mouseenter(function(){
		$(this).find('div.top').animate({top: -2, left: 2}, {queue: false, duration: 250});
		$(this).find('div.bottom').animate({top: 4, left: -4}, {queue: false, duration: 250});
	});

	$('div.stack:has(div.top)').mouseleave(function(){
		$(this).find('div.top').animate({top: 0, left: 0}, {queue: false, duration: 250});
		$(this).find('div.bottom').animate({top: 0, left: 0}, {queue: false, duration: 250});
	});

});