dojo.extend(dojo.NodeList, {
  improve: function(){
    dojo.require("dojo.fx");
    var menuHolder = this[0];
    dojo.ready(function(){
      var hiddenUls = dojo.query('ul', menuHolder);
      
      hiddenUls.forEach(function(item, i){
        var toggler = new dojo.fx.Toggler({
          node: item
        });
              
        dojo.style(item, 'left', 'auto');
        dojo.style(item, 'opacity', '0');
        
        toggler.hide();
        
        var timer;
        
        dojo.connect(item.parentNode, "onmouseover", function(){
          clearTimeout(timer);
          toggler.show();
        });
        
        dojo.connect(item.parentNode, "onmouseout", function(){
          timer = setTimeout(function(){ toggler.hide(); }, 500);
        });
      });
    });
  }
});
