jQuery().ready(function()
{
	var slide = 500; //The time it takes to slide in or out.
	var delay = 200; //The delay before sliding back in.
	$("#menuitems li a").each(function()
	{
		if($(this).attr("rel").length > 0)
		{
			var element = $(this).attr("rel");
			var parent = $(this).parent().attr("id");
			var height = parseInt($("#"+element).height());
			var top = parseInt($("#"+element).css("top"));
			var menuOver = false;
			var subMenuOver = false;
			var sliding = false;

			$("#"+element).css("top", top-height);

			$("ul #"+parent).mouseover(function()
			{
				menuOver = true;
				if(sliding)
				{
					$("#"+element).stop();
				}
				sliding = true;
				$("#"+element).animate({top: top}, slide, null, function()
				{
					sliding = false;
				});
			});

			$("#"+element).mouseover(function()
			{
				subMenuOver = true;
			});

			$("ul #"+parent).mouseleave(function()
			{
				menuOver = false;
				expand();
			});

			$("#"+element).mouseleave(function()
			{
				subMenuOver = false;
				expand();
			});

			function expand()
			{
				setTimeout(function()
				{
					if(!menuOver && !subMenuOver)
					{
						if(sliding)
						{
							$("#"+element).stop();
						}
						sliding = true;
						$("#"+element).animate({top: top-height}, slide, null, function()
						{
							sliding = false;
						});
					}
				}, delay);
			}
		}
	}).click(function()
	{
		if($(this).attr('href') == '#')
		{
			return false;
		}
	});
});