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

function jsddm_open()
{
  jsddm_canceltimer();
  jsddm_close();
  ddmenuitem = $('#the_list').css('display', 'block');
}

function jsddm_openmenu()
{
 jsddm_canceltimer();
 jsddm_close();
 ddmenuitem = $(this).find('ul').css('display', 'block');
}

function jsddm_close()
{  if(ddmenuitem) ddmenuitem.css('display', 'none');}

function jsddm_timer()
{  closetimer = window.setTimeout(jsddm_close, timeout);}

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

$(document).ready(function()
{
   $('#test').bind('mouseover', jsddm_open)
   $('#the_list').bind('mouseover', jsddm_open)
   $('#test').bind('mouseout',  jsddm_timer)
   $('#the_list').bind('mouseout',  jsddm_timer)
   $('.top_expand').bind('mouseover', jsddm_openmenu)
   $('.top_expand').bind('mouseout',  jsddm_timer)
   document.onclick = jsddm_close;
   });