/**
 * A simple and customizable "slide menu".
 * @author Massimiliano Cingolani
 */
var slideMenu = new Class({

	Implements: Options,
	options: {
		html: 'show',
		turn: 'hide',
		slide: {
			duration: 'normal',
			transition: 'sine:in:out'
		}
	},
	
	initialize: function(elements, options) {
		this.setOptions(options);
		
		var elements = $$(elements);
		
		for (i = 0; i < elements.length; i++) {;
			elements[i].getElement('ul').set('slide', {
				duration: this.options.slide.duration,
				transition: this.options.slide.transition
			});
			elements[i].getElement('ul').slide('hide');
			
			var a = new Element('a', {
				href: '#',
				html: this.options.html,
				'class': 'sm-toggle',
				events: {
					click: function(element) {
						element.getElement('ul').slide('toggle');
						
						var a = element.getElement('a');
						if (a.get('html').contains(this.options.html)) {
							a.set('html', this.options.turn);
						} else {
							a.set('html', this.options.html);
						}
					}.bind(this, elements[i])
				}
			});
			a.inject(elements[i].getElement('h3'), 'after');
		}
	}
	
});


