Event.observe(window, 'load', function() {

  Event.observe(document, 'click', function() {
    $$('dl.select dd').each(Element.hide);
  });

  $$('dl.select dd').each(function(element) {
    element.hide();
    element.setStyle({ visibility: "visible" });

    Event.observe(element.previous(), 'click', function(event) {
      $$('dl.select dd').each(Element.hide);
      element.show();
      element.setStyle({
        top : Position.cumulativeOffset(element.previous())[1] + element.previous().getHeight() + 'px',
        left: Position.cumulativeOffset(element.previous())[0] + 'px'
      });
      Event.stop(event);
    });
  });

});

/*
Event.observe(window, "load", function() {

  $$("dl.select dd").each(function(element) {

    element.hide();
    element.setStyle({ visibility: "visible" });

    Event.observe(element.previous(), "mouseover", function() {
      $$("dl.select dd").each(Element.hide);
      element.show();
      element.setStyle({
        left: Position.cumulativeOffset(element.previous())[0] + "px",
        top : Position.cumulativeOffset(element.previous())[1] + element.previous().getHeight() + "px"
      });
      clearTimeout(element.timer);
    }, false);

    Event.observe(element, "mouseover", function() {
      element.show();
      clearTimeout(element.timer);
    }, false);

    Event.observe(element.previous(), "mouseout", function() {
      element.timer = setTimeout(function() {
        element.hide();
      }, 1000);
    }, false);

    Event.observe(element, "mouseout", function() {
      element.timer = setTimeout(function() {
        element.hide();
      }, 1000);
    }, false);

  });

}, false);
*/