(function ($) {
	$(function () {
		function hideChildren(subnav) {
			subnav.find('li').each(function () {
				var t = $(this);
				if (t.data('children')) {
					$.each(t.data('children'), function () {
						hideChildren($(this));
					});
				}
			});
			subnav.hide();
		}

		$('.subnav').each(function () {
			var subnav = $(this);
			var trigger = subnav.parent();

			if (typeof(trigger.data('children')) == 'undefined' || trigger.data('children') == null) {
				trigger.data('children', []);
			}
			trigger.data('children', $.merge(trigger.data('children'), [subnav]));
			subnav.data('trigger', trigger);

			subnav.appendTo('#navigation');

			trigger.mouseenter(function () {
				subnav.fadeIn();
			});

			trigger.siblings().mouseenter(function () {
				hideChildren(subnav);
			});
		});

		$('.selected').parents('.subnav').each(function () {
			var t = $($(this).data('trigger'));
			if (t.data('children')) {
				$.each(t.data('children'), function () {
					$(this).show();
				});
			}
		});

		
	});
})(jQuery);
