var accordionInProgress = false;
document.observe('dom:loaded', function() {
    var accordionDivs = $$('#accordion div h3');
    accordionDivs.each(function(accordion) {
        $(accordion).observe('click', function(event) {
            Event.stop(event);            
            if (accordionInProgress) return;
            var effectOptions = { afterFinish: function() {accordionInProgress = false;} };
            if (this.hasClassName('on')) {
                this.removeClassName('on');
                this.addClassName('off');
                accordionInProgress = true;
                Effect.BlindUp(this.parentNode.getElementsByTagName('div')[0], effectOptions);
            }
            else {
                accordionDivs.each(function(accordion) {
                    if (accordion.hasClassName('on')) {
                        accordion.removeClassName('on');
                        accordion.addClassName('off');
                        Effect.BlindUp(accordion.parentNode.getElementsByTagName('div')[0]);
                    }
                });
                this.removeClassName('off');
                this.addClassName('on');
                accordionInProgress = true;
                Effect.BlindDown(this.parentNode.getElementsByTagName('div')[0], effectOptions);
            }
        });
    });
});
