var StretchyMenu = new Class(
{
	options:
	{
		height: 360,
		itemHeights: [],
		maxItemHeight: 0.75, // relative to menu height
		dividerStyle: "none"
		fxOptions: {wait: false, duration: 500, transition: Fx.Transitions.quadOut}
	},
	initialize: function(element, options)
	{
		element=$(element);
		this.setOptions(options);
		var menuItems=element.getElements("div");
		if(menuItems.length<2) return;
		var itemMaxHeight=this.options.height*this.options.maxItemHeight;
		var itemMinHeight=(this.options.height-itemMaxHeight)/(menuItems.length-1);
		var itemDefaultHeight=this.options.height/menuItems.length;
		var menuFx=new Fx.Elements(menuItems, this.options.fxOptions);
		var fillFxList=(function(type)
		{
			var result={};
			if(type=='default' && this.options.itemHeights.length==menuItems.length)
			{
				for(var i=0; i<menuItems.length; ++i) result[i] = {'height': this.options.itemHeights[i]};
				return result;
			}
			var iHeight=(type=='min')? itemMinHeight : itemDefaultHeight;
			for(var i=0; i<menuItems.length; ++i) result[i] = {'height': iHeight};
			return result;
		}).bind(this);		
		menuFx.set(fillFxList('default'));
		menuItems.each(function(menuItem, index)
		{
			menuItem.set(
			{
			styles:{'border-right': (index != menuItems.length-1) ? this.options.dividerStyle : 'none'},
			events:{'mouseenter': function()
			{
				var fxList = fillFxList('min');
				fxList[index] = {'height': itemMaxHeight};
				menuFx.start(fxList);
			}
		}
	}
);}, this);
element.addEvent('mouseleave', function(){ menuFx.start(fillFxList('default')); });
}
}
);
	StretchyMenu.implement(new Options);
	StretchyMenu.implement(new Options);
	window.addEvent('domready', function()
	{
		new StretchyMenu('slidercontent', {maxItemHeight:0.75, itemHeights:[270,45,45]});			
	});
	