var current;
var touchEnabled = false;

function setupNavigation(touch) {
	touchEnabled = touch ? true : false;

	$$('#navigation ul.root-navigation li').each(function(element) {
		if (touchEnabled) {
			element.observe('click', navEnter);
		}
		else {
			element.observe('mouseenter', navEnter);
		}
	});
}

function navEnter(ev) {
	ev.preventDefault();

	var nav = ev.findElement('li');
	var identity = nav.identify().split('-');
	var id = identity[identity.length-1];
	var hover = $('navigation_hover_'+id);
	
	if ( touchEnabled && (nav.hasClassName('hover') || !hover) ) {
		var href = nav.select('a').first().readAttribute('href');
		window.location.href = href;
	}
	
	if (current && current != hover) {
		current.hide();
	}
	if (hover) {
		hover.show();
		current = hover;
	}
	
	$$('#navigation ul.root-navigation li').each(function(element) {
		element.removeClassName('hover');
	});
	nav.addClassName('hover');
	
	$('navigation').observe('mouseleave', function(ev) {
		navHideAll();
	});
}

function navHideAll() {
	$('navigation').stopObserving('mouseleave');

	$$('div.navigation-hover').each(function(e) {
			e.hide();
	});
	$$('#navigation ul.root-navigation li').each(function(element) {
		element.removeClassName('hover');
	});
}
