var onAnim = false;
var currentId = 0;
var subHidden = true;
var hideSubMenuTimer = null;
var defaultMenuShow = false;
var defaultMenuId = 0;

YAHOO.util.Event.addListener('submenu', 'mouseover', cancelHideSubmenu);
YAHOO.util.Event.addListener('submenu', 'mouseout', hideSubmenu);

function cancelHideSubmenu(e, obj)
{
	if (hideSubMenuTimer)
	{
		clearTimeout(hideSubMenuTimer);
		hideSubMenuTimer = null;
	}
}

function hideSubmenu(e, obj)
{
	hideSubMenuTimer = setTimeout(hideSubmenuNow, 1000);
}

function hideSubmenuNow()
{
	/*if (!onAnim && currentId > 0 && !subHidden)
	{
		onAnim = true;

		var sub = document.getElementById('submenu');
		var eff = new YAHOO.widget.Effects.BlindUp(sub, { delay : true, seconds: 0.4 });
		eff.onEffectComplete.subscribe(function(){
			onAnim = false;
		});
		eff.animate();

		document.getElementById('menu_' + currentId).className = '';
		document.getElementById('submenu_' + currentId).style.display = 'none';

		currentId = 0;
		subHidden = true;
	}*/
	showSubmenu(null, { show: defaultMenuShow, id: defaultMenuId });
}

function showSubmenu(e, obj)
{
	if (onAnim)
		return;

	var sub = document.getElementById('submenu');

	if (obj.show == false)
	{
		if (currentId != obj.id)
		{
			if (!subHidden)
			{
				onAnim = true;
				var eff = new YAHOO.widget.Effects.BlindUp(sub, { delay: true, seconds: 0.4 });
				eff.onEffectComplete.subscribe(function(){
					onAnim = false;
				});
				eff.animate();
				subHidden = true;
			}

			if (currentId > 0)
			{
				document.getElementById('menu_' + currentId).className = '';
				document.getElementById('submenu_' + currentId).style.display = 'none';
			}

			if (obj.id > 0)
				document.getElementById('menu_' + obj.id).className = 'hover';

			currentId = obj.id;
		}
	}
	else
	{
		var submenu = document.getElementById('submenu_' + obj.id);

		if (currentId != obj.id)
		{
			if (subHidden)
			{
				onAnim = true;
				var eff = new YAHOO.widget.Effects.BlindDown(sub, { delay: true, seconds: 0.4 });
				eff.onEffectComplete.subscribe(function(){
					onAnim = false;
				});
				eff.animate();
				subHidden = false;
			}

			if (currentId > 0)
				document.getElementById('menu_' + currentId).className = '';

			document.getElementById('menu_' + obj.id).className = 'hover';

			if (currentId > 0)
			{
				document.getElementById('submenu_' + currentId).style.display = 'none';
				currentId = obj.id;
				new YAHOO.widget.Effects.Appear('submenu_' + currentId, { seconds: 2 });
			}
			else
			{
				currentId = obj.id;
				new YAHOO.widget.Effects.Appear('submenu_' + currentId, { seconds: 1.5 });
			}
		}
	}
}
