var timeout    = 500;
var closetimer = 0;
var ddmenuitem = 0;
var ddsubmenuitem = 0;

function jsddm_open(){
	jsddm_canceltimer();
	jsddm_close();
	ddmenuitem = $(this).find('ul:first').css('visibility', 'visible');
}

function jsddm_close(){
	if(ddmenuitem)
		ddmenuitem.css('visibility', 'hidden');
	if(ddsubmenuitem)
		ddsubmenuitem.css('visibility', 'hidden');
}

function jsddm_timer(){
	if(!closetimer)
		closetimer = window.setTimeout(jsddm_close, timeout);
}

function jsddm_canceltimer(){
	if(closetimer){
		window.clearTimeout(closetimer);
		closetimer = null;
	}
}

function jsddm_submenu_open(){
	jsddm_canceltimer();
	ddsubmenuitem = $(this).find('ul:first').css('visibility', 'visible');
}

$(document).ready(function() {
	$('.jsddm > li').bind('mouseover', jsddm_open);
	$('.jsddm > li').bind('mouseout',  jsddm_timer);
	
	$('.jsddm-submenu').live('mouseover', jsddm_submenu_open);
	$('.jsddm-submenu').live('mouseout',  jsddm_timer);
	
	$('.jsddm-submenu > ul > li').live('mouseover', jsddm_submenu_open);
	$('.jsddm-submenu > ul > li').live('mouseout',  jsddm_timer);
	
	$('.jsddm-submenu ul').each(function(index) {
		var num = $(this).parent().nextAll().length;
		$(this).css('bottom', '-' + (($(this).children().length - num - 1) * 26) + 'px');
	});
});

document.onclick = jsddm_close;
