var Menu = {};

document.observe("dom:loaded", function()
{
	Menu.height = (100 / $('nav').scrollHeight * 32);
	$('navigation').removeClassName('noJsMenu');
	document.observe('mousemove', function(event)
	{
		if ((event.element() == $('navigation') || event.element().descendantOf($('navigation'))) && Menu.open == 'close') {
			Menu.open = 'opening'
			new Effect.Scale('nav', 100, {
				'scaleContent': false,
				'scaleX': false,
				'scaleMode': {
					'originalHeight': $('nav').scrollHeight,
					'originalWidth': $('nav').scrollWidth
				},
				'scaleFrom': Menu.height,
				'duration': 0.4,
				'transition': Effect.Transitions.sinoidal,
				'afterFinish': function() {Menu.open = 'open';}.bind(Menu)
			});
		} else if (Menu.open == 'open' && !event.element().descendantOf($('nav'))) {
			Menu.open = 'closing';
			new Effect.Scale('nav', Menu.height, {
				'scaleContent': false,
				'scaleX': false,
				'scaleMode': {
					'originalHeight': $('nav').scrollHeight,
					'originalWidth': $('nav').scrollWidth
				},
				'scaleFrom': 100,
				'duration': 0.5,
				'transition': Effect.Transitions.sinoidal,
				'afterFinish': function() {Menu.open = 'close';}.bind(Menu)
			});
		}
	});

	Menu.open = 'closing';
	new Effect.Scale('nav', Menu.height, {
		'scaleContent': false,
		'scaleX': false,
		'scaleMode': {
			'originalHeight': $('nav').scrollHeight,
			'originalWidth': $('nav').scrollWidth
		},
		'scaleFrom': 100,
		'duration': 0.5,
		'transition': Effect.Transitions.sinoidal,
		'afterFinish': function() {Menu.open = 'close';}.bind(Menu)
	});
	
	/* Back to top links */
	if ($('backToTopLink')) {

		$('backToTopLink').observe('click', function(e) {
			backToTop();
			Event.stop(e);
		});
		Event.observe(window, "resize", function(e) {
			hideTopLink();
		});

		function backToTop() {
			new Effect.ScrollTo('container', {
				offset: 0,
				duration: 0.7
			});
		}
	}
});
