// JavaScript Document
var submenu_event_count = 0;
var submenu_fading = false;
var submenu_index = -1;
var $submenu_container;
var submenu_lastitem_number = -1;
var submenu_lastitem_type = -1; // 0 = button, 1 = panel

function initsubmenu(id)
{
	$submenu_container = jQuery("#" + id);

	$submenu_container.find(".subm_btn").each(function(index, domElement) {
		$panel = $submenu_container.find(".submenu").filter("[title=" + this.title + "]");
		
		$panel.bind("mouseleave.submenu", index, submenuLeaveBtnPan);
		$panel.bind("mouseenter.submenu", index, submenuEnterBtn);
		jQuery(this).bind("mouseleave.submenu", index, submenuLeaveBtnPan);
		jQuery(this).bind("mouseenter.submenu", index, submenuEnterPan);

		$panel.fadeTo(0, 0);
		$panel.hide();
	});
}

function submenuEnterBtn(ev)
{
	submenu_lastitem_number = ev.data;
	submenu_lastitem_type = 0;

	submenu_event_count++;
	setTimeout("submenuCheckStatus()", 100);
}

function submenuEnterPan(ev)
{
	submenu_lastitem_number = ev.data;
	submenu_lastitem_type = 1;

	submenu_event_count++;
	setTimeout("submenuCheckStatus()", 100);
}

function submenuLeaveBtnPan(ev)
{
	if (submenu_lastitem_number == ev.data)
	{
		submenu_lastitem_number = -1;
		submenu_lastitem_type = -1;
	}
	
	submenu_event_count++;
	setTimeout("submenuCheckStatus()", 100);
}

function submenuCheckStatus()
{
	submenu_event_count--;
	if (submenu_event_count > 0)
		return;

	if (submenu_fading)
	{
		setTimeout("submenuCheckStatus()", 100);
		return;
	}
	
	//console.log(submenu_lastitem_number, submenu_index);
	if (submenu_lastitem_number == -1)
	{
		if (submenu_index >= 0)
			submenuHidePan(submenu_index, true);
	}
	else
	{
		if (submenu_index != submenu_lastitem_number)
		{
			if (submenu_index >= 0)
				submenuHidePan(submenu_index, false);
			submenuShowPan(submenu_lastitem_number);
		}
	}
}

function submenuHidePan(index, with_fading)
{
	var $btn = $submenu_container.find(".subm_btn:eq(" + index + ")");
	var $pan = $submenu_container.find(".submenu").filter("[title=" + $btn.get(0).title + "]");

	$btn.removeClass("selected");

	if (with_fading)
	{
		submenu_fading = true;

		$pan.fadeTo("slow", 0, function() {
			jQuery(this).hide();
			submenu_fading = false;
			submenu_index = -1;
		});
	}
	else
	{
		$pan.fadeTo(0, 0);
		$pan.hide();
		submenu_index = -1;
	}
}

function submenuShowPan(index)
{
	var $newbtn = $submenu_container.find(".subm_btn:eq(" + index + ")");
	var $newpan = $submenu_container.find(".submenu").filter("[title=" + $newbtn.get(0).title + "]");
	
	$newbtn.toggleClass("selected");

	submenu_index = index;

	$newpan.show();

	submenu_fading = true;

	$newpan.fadeTo("fast", 1 , function(){
		submenu_fading = false;
	});
}
