$(document).ready(function() {
	if (typeof backend == 'undefined') {
		Cufon.replace('h1, h2, ul.Navigation > li > a');
		Cufon.replace('#Languages > li > a', {hover: true});
	}
	
	var navTimeout = false;
	var navLock = false;
	
	var hideSubNav = function() {
		navLock = false;
		$('ul.Navigation ul:visible').css('display', 'none');
		$('ul.Navigation > li a.Hover').removeClass('Hover');
	};
	var clearNavTimeout = function(lock) {
		if (lock) navLock = true;
		window.clearTimeout(navTimeout);
	};
	var setNavTimeout = function(lock) {
		if (navLock) return;
		clearNavTimeout();
		navTimeout = window.setTimeout(hideSubNav, 200);
	};
	
	$('ul.Navigation > li > a').hover(function() {
		clearNavTimeout();
		hideSubNav();
		var subNav = $(this).addClass('Hover').parent().find('> ul');
		var height = subNav.css({opacity: 0, display: 'block'}).height();
		subNav.css({marginTop: '-'+height+'px', opacity: 1});
	}, setNavTimeout);
	
	$('ul.Navigation ul').hover(function() {
		clearNavTimeout();
	}, setNavTimeout);
	
	
	$('ul.Navigation ul a').hover(function() {
		$(this).addClass('Hover');
	}, function() {
		$(this).removeClass('Hover');
	});
	
});
