var MOUSEOUT_TIMEOUT = 500;

$(document).ready(function() {
	var select = function(link) {
			$('#menu .spacer')
				.attr('class', 'spacer')
				.unbind('click');
			
			$('#menu .link_top').not(link).removeClass('active');
			link.addClass('active')
				.add(link.prev('.spacer').addClass('active_left'))
				.add(link.next('.spacer').addClass('active_right'))
				.click(function() {
					location.href = $('a', link).attr('href');
				});
			
			active_submenu && submenu_float.children().appendTo(active_submenu);
			active_submenu = $('.submenu', link);
			active_submenu && active_submenu.children().appendTo(submenu_float);
		},
		first_active = $('#menu .link_top.active'),
		in_menu = false, active_submenu,
		submenu = $('#submenu'),
		submenu_float = submenu.find('.float'),
		select_first = function() {
			if( !in_menu ) {
				$('.link_top', this).not(first_active).removeClass('active');
				select(first_active.addClass('active'));
			}
		};
	
	$('#menu .link_top').mouseenter(function() {
		!$(this).hasClass('active') && select($(this));
		in_menu = true;
	});
	
	submenu.mouseenter(function() {
		in_menu = true;
	}).mouseleave(function() {
		in_menu = false;
		setTimeout(select_first, MOUSEOUT_TIMEOUT);
	});
	
	$('#menu').mouseleave(function() {
		in_menu = false;
		setTimeout(select_first, MOUSEOUT_TIMEOUT);
	});
	
	select(first_active);
});
