function showSubNavigation(){
	var navi = $('navi');
	var initial_height = navi.get('initial_height') * 1;
	var list_element = this;
	var subnavi = list_element.getElement('ul');
	var subnavi_size = subnavi.getSize();
	list_element.addClass('over');
	list_element.get('morph').start( { 'height': initial_height + subnavi_size.y } );
}

function hideSubNavigation(){
	var navi = $('navi');
	var initial_height = navi.get('initial_height') * 1;
	var list_element = this;
	list_element.get('morph').start( { 'height': initial_height } ).chain(
		function(){
			list_element.removeClass('over');
		}
	);
}

function initNavigation(){
	var navi = $('navi');
	if(navi){
		var subnavis = navi.getElements('.level_2');
		subnavis.each(
			function(subnavi){
				subnavi.setStyle('display', 'block');
				var list_element = subnavi.getParent('li');
				var anchor = list_element.getElement('a');
				var anchor_size = anchor.getSize();
				navi.set('initial_height', anchor_size.y);
				list_element.setStyles(
					{
						'height': anchor_size.y,
						'overflow': 'hidden'
					}
				);
				list_element.addEvents(
					{
						'mouseenter': showSubNavigation,
						'mouseleave': hideSubNavigation
					}
				);
			}
		);
	}
}

function initAll(){
	initNavigation();
}

window.addEvent('domready', initAll);
