var AutoAccordion = new Class({
  Extends: Accordion,
  Implements: Events,
  
  initialize: function(handles, drawers, options) {
    this.addEvent('active', function(handle) { handle.addClass('selected'); });
    this.addEvent('background', function(handle) { handle.removeClass('selected'); });
    Accordion.prototype.initialize.apply(this, arguments);
    var binding = this;
    this.togglers.each(function(handle, index, array) {
      var timer;
      handle.addEvents({
        'mouseenter': function() {
          mooclear(timer);
          timer = binding.display.delay(300, binding, index);
        },
        'mouseleave': function() {
          mooclear(timer);
        },
        'focus': binding.display.pass(index, binding), 
        'click': function(event) {
          event.stop();
          binding.display(index);
        }
      });
    });
  }
});
window.addEvent('load', function() {
      window.accordion = new AutoAccordion($moo('div#accordion .toggler'), $moo('div#accordion > *::not([class="toggler"])'));
      accordion.addEvent('active', function(toggler) { if (toggler.id.toString() != '') location.hash = toggler.id; });
 });
