var timeout    = 500;
var closetimer = 200;
var ddmenuitem = 0;

function topmenu_open()
{  topmenu_canceltimer();
   topmenu_close();
   ddmenuitem = $(this).find('ul').css('visibility', 'visible');}

function topmenu_close()
{  if(ddmenuitem) ddmenuitem.css('visibility', 'hidden');}

function topmenu_timer()
{  closetimer = window.setTimeout(topmenu_close, timeout);}

function topmenu_canceltimer()
{  if(closetimer)
   {  window.clearTimeout(closetimer);
      closetimer = null;}}

$(document).ready(function()
{  $('#topmenu > li').bind('mouseover', topmenu_open)
   $('#topmenu > li').bind('mouseout',  topmenu_timer)});



