/**
 * Global Navigation
 *
 * @author Forzieri
 **/

var menuigation = {
	
	tween: null,
	currentOver: null,
	
	init: function()
	{
		
		if (!$('menu')) { return; }
		
		menuigation.nav = $('menu');
		menuigation.currentItem = $$('#menu li.current a');
		menuigation.slider = $$('#menu .slider');
		menuigation.slider.setProperty('id', 'menuSlider');
		menuigation.slider = $('menuSlider');
		
		var lists = $$('#menu li');
		
		lists.forEach( function (list)
		{
			list.onmouseover = function() {
				menuigation.moveOn(this);
				menuigation.showMenu(this);
			}
			list.onmouseout = function() {
				menuigation.restore();
				menuigation.hideMenu(this);
			}
		});
		
		menuigation.restore();
		
	},
	
	moveOn: function( elm )
	{
		menuigation.tween.cancel();
		
		menuigation.tween = new Fx.Morph(menuigation.slider, {duration: 'short', transition: Fx.Transitions.Sine.easeOut});
		menuigation.tween.start({
			'width': parseInt(elm.getChildren().getStyle('width')),
			'left': elm.getStyle('left').toInt(),
			'background-color': '#a01e26'
		});
	},
	
	restore: function()
	{
		
		if (menuigation.tween != null) { menuigation.tween.cancel(); }
		
		if (menuigation.currentOver != null) { menuigation.currentOver.removeClass('over'); }
		
		menuigation.tween = new Fx.Morph(menuigation.slider, {duration: 'short', transition: Fx.Transitions.Sine.easeOut});
		menuigation.tween.start({
			'width': parseInt(menuigation.currentItem.getStyle('width')),
			'left': parseInt(menuigation.currentItem.getParent().getStyle('left')),
			'background-color': '#c4c4c4'
		});
	},
	
	showMenu: function( elm )
	{
		elm.addClass('over');
	},
	
	hideMenu: function( elm )
	{
		elm.removeClass('over');
	}
	
}
window.addEvent('domready', menuigation.init);