// JavaScript Document
var SlideMenu = new Class({
	Implements : [Options, Events],
	options : {
		contentDivId : 'content',
		menuDivId : 'menu',
		menus : [],					//	ids containing menus to toggle
		togglers : [],				//	ids for links to toggle menus
		showInitial : false			//	Initial menu to show
	},
	elements : {},
	menus : [],
	initialize : function( options )
	{
		this.setOptions(options);
		this.elements.content = document.id(this.options.contentDivId);
		var contentHeight = this.elements.content.getComputedSize().totalHeight;
		this.elements.menu = document.id(this.options.menuDivId);
		var menuHeight = this.elements.menu.getStyle('height').toInt();
		if(contentHeight > menuHeight)
		{
			this.elements.menu.setStyle('height',contentHeight);
		}
		
		this.setupFx();
		return this;
	},
	setupFx : function()
	{
		if(this.options.showInitial)
		{
			// where did this code go???
		}
		this.elements.togglers = [];
		Array.each(this.options.menus, function(item, index) {
			this.menus[index] = new Fx.Slide(item);
			if(item != this.options.showInitial) this.menus[index].hide();
			this.elements.togglers[index] = document.id(this.options.togglers[index]);
			this.elements.togglers[index].store('index',index);
			this.elements.togglers[index].addEvent('click', this.event_click.bind(this));
		}, this);
	},
	event_click : function(e)
	{
		var e = new Event(e);
		var currIndex = e.target.retrieve('index');
		Array.each(this.menus, function(menu, index){
			if(index != currIndex)
			{
				menu.slideOut();
			}
			else
			{
				menu.toggle();
			}
		});
		e.stop();
	}

});
window.addEvent('domready', function(){
		var pageClass = document.id('Page').getProperty('class');
		var initial = typeOf(pageClass == "string") ? pageClass : false;
		var SlideMenuInstance = new SlideMenu({
			menus : ['AboutMenu','EventsMenu','MediaMenu'],
			togglers : ['AboutMenuToggle','EventsMenuToggle','MediaMenuToggle'],
			showInitial : initial
		});
		
		
});
