function add_bottom(elements) {
  for (x in elements) {
      var el = elements[x];
    if (el.className) {
      bottom = el.getElementsBySelector(".bottom-end").length;
       if (bottom == 0) {
            el.insert({
                    bottom: new Element('div', {'class': 'bottom-end'})
            });
       }
    }
  } 
}

var t;
var visible_legend = 0;

function hide_legend() {
    clearTimeout(t);
    if (visible_legend == 0) {
        $("legend").hide();
    }
}

function show_legend() {
    $('at-your-service').observe("mouseover", function(event){ visible_legend = 1; $("legend").show(); })
                        .observe("mouseout", function(event){ visible_legend = 0; t = setTimeout("hide_legend()",500); });        
    $("legend").observe("mouseover", function(event) { visible_legend = 1; })
               .observe("mouseout", function(event){ visible_legend = 0; t = setTimeout("hide_legend()",500); });
}

document.observe("dom:loaded", function() {
    add_bottom($$(".box"));
});