﻿$(function() {
	$('#prod-menu .menu-item').mouseenter(
		function() {
			var id = $(this).attr('id').replace(/^prod\-menu\-item\-/, '');
			prodMenu.show(id);
			$(this).addClass('selected');
		});

	$('#prod-menu').mouseleave(function() {
		prodMenu.hide();
	});

	$('#gd-menu-current').mouseenter(function() {
		prodMenu.show();
	});

	$('#gd-menu-current').mouseleave(function() {
		prodMenu.hide();
	});

	$('.gd-menu-content a').click(function() {
		prodMenu.hide();
	});
});

var prodMenu = {
	selectedItem: null,
	timer: null,
	gracePeriod: 500,
	show: function(id) {
		clearTimeout(this.timer);
		if (id == null)
			return;
		var menu = $('#product-menu-' + id).find('.gd-menu-content').clone(true);
		$('#gd-menu-current')
			.show()
			.html('')
			.append(menu);

		if (prodMenu.selectedItem == null)
			prodMenu.selectedItem = $('#prod-menu .menu-item.selected');
		$('#prod-menu .menu-item').removeClass('selected');
	},
	hide: function() {
		this.timer = setTimeout(function() {
			$('#prod-menu .menu-item').removeClass('selected');
			$('#gd-menu-current').fadeOut(function() {
				$(this).hide();
				if (prodMenu.selectedItem != null)
					return;
				$('#prod-menu .menu-item').removeClass('selected');
				prodMenu.selectedItem.addClass('selected');
			});
		}, this.gracePeriod);
	}
};