var timeout    = 500;
var closetimer = 0;
var ddmenuitem = 0;

function menu_list_open()
{  menu_list_canceltimer();
   menu_list_close();
   ddmenuitem = $(this).find('ul').css('visibility', 'visible');}

function menu_list_close()
{  if(ddmenuitem) ddmenuitem.css('visibility', 'hidden');}

function menu_list_timer()
{  closetimer = window.setTimeout(menu_list_close, timeout);}

function menu_list_canceltimer()
{  if(closetimer)
   {  window.clearTimeout(closetimer);
      closetimer = null;}}

$(document).ready(function()
{  $('#menu_list > li').bind('mouseover', menu_list_open)
   $('#menu_list > li').bind('mouseout',  menu_list_timer)});

document.onclick = menu_list_close;
