var jMenu_timeout = 400;
var jMenu_effectTime = 150;
var jMenu_closetimer = 0;
var jMenu_ddmenuitem = 0;
var jMenu_openid = 0;
var jMenu_action = false;

function jMenu_init(id, options)
{
	var options = (options) ? options : {};
	
	jMenu_timeout = (options.timeout) ? options.timeout : jMenu_timeout;
	jMenu_effectTime = (options.effectTime) ? options.effectTime : jMenu_effectTime;
	
	$('#'+id+' > li').bind('mouseover', jMenu_open)
	$('#'+id+' > li').bind('mouseout',  jMenu_timer)
	$('#'+id+' > li > ul').bind('mouseover',  jMenu_canceltimer)
	$('#'+id+' > li > ul > li').bind('mouseover',  jMenu_canceltimer)

	document.onclick = jMenu_close;
}

function jMenu_open()
{
	jMenu_canceltimer();
	
	if($("a", this).html() == jMenu_openid)
		return;
		
	if(jMenu_action)
		return;
		
	jMenu_close();

	if($("ul", this).size() == 0)
		return;
	
	jMenu_action = true;
	jMenu_ddmenuitem = $(this).find('ul').slideDown(jMenu_effectTime, function() {jMenu_action = false;});
	jMenu_openid = $("a", this).html();
}

function jMenu_close()
{
	if(jMenu_action)
		return;
			
	if(jMenu_ddmenuitem)
	{
		jMenu_action = true;
		jMenu_ddmenuitem.fadeOut(jMenu_effectTime, function() {jMenu_action = false;});
		jMenu_ddmenuitem = null;
		jMenu_openid = null;
	}
}

function jMenu_timer()
{
	jMenu_closetimer = window.setTimeout(jMenu_close, jMenu_timeout);
}

function jMenu_canceltimer()
{
	if(jMenu_closetimer)
	{
		window.clearTimeout(jMenu_closetimer);
		jMenu_closetimer = null;
	}
}

