var navigation_c = function()
{
	this.display_timeout_i = 0;
	this.menu_a = new Array();
	this.timeout_a = new Array();

	/**/

	this.setSubNavigationState = function(index_i, state_s)
	{
		clearTimeout(this.display_timeout_i);

		var ul_o = document.getElementById('sub_navigation_' + index_i);

		if (ul_o)
			ul_o.style.visibility = state_s;
	};

	this.setSubNavigationOff = function(index_i)
	{
		var this_o = this;

		var setOff = function()
		{
			this_o.setSubNavigationState(index_i, 'hidden');
		};

		this.timeout_a[index_i] = setTimeout(setOff, 300);
	};

	/**/

	this.getSubNavigationLiArray = function(index_i)
	{
		var ul_o = document.getElementById('sub_navigation_' + index_i);

		return ul_o ? ul_o.getElementsByTagName('li') : new Array();
	};

	this.setLiEvent = function(li_a, index_i)
	{
		var this_o = this;

		for (var i_i = 0; i_i < li_a.length; i_i++)
		{
			li_a[i_i].onmouseover = function()
			{
				clearTimeout(this_o.timeout_a[index_i]);
			};

			li_a[i_i].onmouseout = function()
			{
				this_o.setSubNavigationOff(index_i);
			};
		}

		return li_a.length;
	};

	this.setAEvent = function(index_i)
	{
		var a_o = document.getElementById('navigation_' + index_i);

		if (a_o)
		{
			var this_o = this;

			a_o.onmouseover = function()
			{
				this_o.setSubNavigationState(index_i, 'visible');
			};

			a_o.onmouseout = function()
			{
				this_o.setSubNavigationOff(index_i);
			};
		}
	};

	/**/

	this.setMenu = function(index_i)
	{
		this.menu_a[this.menu_a.length] = index_i;
	};

	this.setNavigation = function()
	{
		for (var i_i = 0; i_i < this.menu_a.length; i_i++)
		{
			var li_a = this.getSubNavigationLiArray(this.menu_a[i_i]);

			this.setLiEvent(li_a, this.menu_a[i_i]);
			this.setAEvent(this.menu_a[i_i]);
		}
	};

};