var Navi = {
	onload: function()
	{
		this.init('mainNavi');
	},
	init: function(id)
	{
		var body = document.getElementsByTagName('body')[0];
		var menu = document.getElementById(id).getElementsByTagName('ul')[0];
		var items = menu.getElementsByTagName('li');

		for (var i = 0, ii = items.length; i < ii; i++)
		{
			var item = items[i];

			if (!item) break;

			item.menu = menu;

			if (item.className.indexOf('hasSub') == -1)
			{
				item.getElementsByTagName('a')[0].style.backgroundImage = 'none';
			}

			item.onmouseover = function()
			{
				addClass(this, 'over');
				
				/*
				if (this.subMenu)
				{
					addClass(this.subMenu, 'over');

					if (this.subMenu.className.indexOf('to') < 0)
					{
						var subMenuRight = this.offsetLeft + this.subMenu.offsetWidth;
						var maxRight = (this.subMenu.subMenu) ? 850 : 1000;

						if (subMenuRight > maxRight)
						{
							this.subMenu.style.left = (this.offsetLeft + this.offsetWidth - this.subMenu.offsetWidth) + 'px';
							addClass(this.subMenu, 'toLeft');
						}
						else
						{
							addClass(this.subMenu, 'toRight');
						}
					}
				}*/
			};

			item.onmouseout = function()
			{
				removeClass(this, /over/);

				if (this.subMenu)
				{
					removeClass(this.subMenu, /over/);
				}
			};

			var subMenu = item.getElementsByTagName('ul')[0];

			if (subMenu)
			{
				item.subMenu = subMenu.cloneNode(subMenu);
				item.subMenu.className = 'subMenu';

				item.removeChild(subMenu);

				item.subMenu.style.left = (item.offsetLeft) + 'px';
				item.subMenu.style.top = (item.offsetTop + item.offsetHeight) + 'px';

				item.subMenu.subMenu = item.subMenu.getElementsByTagName('ul')[0];
				var subItems = item.subMenu.getElementsByTagName('li');

				for (var k = 0, kk = subItems.length; k < kk; k++)
				{
					var subItem = subItems[k];
					subItem.mainItem = item;

					if (subItem.className.indexOf('hasSub') == -1)
					{
						subItem.style.backgroundImage = 'none';
					}

					subItem.onmouseover = function()
					{
						addClass(this, 'over');
						addClass(this.parentNode, 'over');
						addClass(this.mainItem, 'over');

						/*if (this.parentNode == this.mainItem.subMenu)
						{
							var orientation = ((this.parentNode.offsetLeft + this.parentNode.offsetWidth + this.offsetWidth) > 1000) ? 'toLeft' : 'toRight';
							addClass(this.parentNode, orientation);
						}*/
					};

					subItem.onmouseout = function()
					{
						removeClass(this, /over/);
						removeClass(this.parentNode, /over/);
						/*removeClass(this.parentNode, /toLeft/);
						removeClass(this.parentNode, /toRight/);*/
						removeClass(this.mainItem, /over/);
					};
				}

				body.appendChild(item.subMenu);
			}
		}
	}
};

window.addListener(Navi);
