/* Copyright (C) 2007 - 2009 YOOtheme GmbH */ var YOOAccordionMenu = new Class({ initialize: function(togglers, elements, options) { this.setOptions({ accordion: 'default' }, options); this.togs = togglers; this.elms = elements; switch(this.options.accordion) { case 'slide': this.createSlide(); break; default: this.createDefault(); } }, createDefault: function() { var options = {}; if (!$defined(this.options.display) && !$defined(this.options.show)) { options = { show: -1 }; } $ES(this.togs).each(function(tog, i) { if (tog.hasClass('active')) options = { show: i }; }.bind(this)); var accordionMenu = new Fx.Accordion(this.togs, this.elms, $extend(this.options, options)); }, createSlide: function() { $ES(this.togs).each(function(tog, i) { var span = tog.getElement('span'); var ul = tog.getElement(this.elms); var fx = new Fx.Slide(ul, { transition: Fx.Transitions.linear, duration: 250 }); if (!(tog.hasClass('active') || this.options.display == 'all' || this.options.display == i)) { fx.hide(); } span.addEvent('click', function(){ fx.toggle(); }); }.bind(this)); } }); YOOAccordionMenu.implement(new Options);