var Sidenav = Class.create();
Sidenav.prototype = {
	parents: null,
	initialize: function() {
		this.parents = $$('#sidenav li.parent');
		if (this.parents.length > 0) {
			for ( var x = 0 ; x < this.parents.length; x++ ) {
				var parent = this.parents[x];
				if (parent != null) {
					var link = parent.down();
					if (link != null) {
						this.registerEvents(link, 'click', this.toggleElement.bind(this));
					}
				}
			}
		}
	},

	toggleElement: function(e) {
		var element = Event.element(e);
		var ul = element.up();

		for ( var x = 0 ; x < this.parents.length; x++ ) {
			if (this.parents[x] != ul) {
				this.parents[x].removeClassName('expanded');
			}
		}

		if (ul.hasClassName('expanded')) {
			ul.removeClassName('expanded');
		}
		else {
			ul.addClassName('expanded');
		}
	},

	registerEvents: function(object, type, callback) {
		Event.observe(object, type, callback);
	}
}

Event.observe(window, 'load', function() { 
	var sidenav = new Sidenav(); 
});
