var TreeView = new Class({ 
	options: {
		id					: this.id,
		collapsable			: false,
		autoexpand			: true,
		onExpand			: Class.empty
	},	 
	initialize: function(options) {
		this.setOptions(options);
		this.addEvents();
	},
	addEvents: function() {
		var me = this;
		if (this.options.autoexpand) {
			$(this.options.id).getChildren().each(function(li){
				li.getFirst().addEvent('click', function(event) {
						me.expand(li);			
				});
			});
		}
	},
	expand: function (folder) {
		if (!folder.hasClass('open')){
			this.fireEvent('onExpand', folder);
			if (this.options.collapsable) {
				this.collapseAll();
			}
			folder.addClass('open');
		} else {
			folder.removeClass('open');
		}					
			
	},
	collapseAll: function() {
		$(this.options.id).getChildren().each(function(li){
			li.removeClass('open');
		});
	}
});
TreeView.implement(new Events, new Options);