function initPage()
{
	initNav({
		menuId: "nav",
		cleverMode: true,
		dropExistenceClass: "has-drop-down",
		hoverClass: "hover",
		menuHardCodeClass: "menu-hard-code",
		sideClasses: true,
		menuPaddings: 37,
		minWidth: 100
	});
}
function initNav(o)
{
	if (!o.menuId) o.menuId = "main-nav";
	if (!o.cleverMode) o.cleverMode = false;
	if (!o.dropExistenceClass) o.dropExistenceClass = false;
	if (!o.hoverClass) o.hoverClass = "hover";
	if (!o.menuHardCodeClass) o.menuHardCodeClass = "menu-hard-code";
	if (!o.sideClasses) o.sideClasses = false;
	if (!o.menuPaddings) o.menuPaddings = 0;
	if (!o.minWidth) o.minWidth = 0;
	var nav = document.getElementById(o.menuId);
	if(nav)
	{
		nav.className = nav.className.replace(o.menuHardCodeClass, "");
		var lfl = [];
		var lis = nav.getElementsByTagName("li");
		for (var i=0; i<lis.length; i++)
		{
			lis[i].className += (" " + o.hoverClass);
			var div = lis[i].getElementsByTagName("div").item(0);
			if(div)
			{
				var links = div.getElementsByTagName("a");
				for (var j=0; j<links.length; j++)
				{
					var width = links[j].parentNode.parentNode.offsetWidth;
					if(width > 0)
					{
						if(width < o.minWidth) width = o.minWidth;
						links[j].style.width = width - o.menuPaddings + "px";
					}
				}
				div.style.width = lis[i].getElementsByTagName("div").item(1).clientWidth + "px";
				var t = document.documentElement.clientWidth/1.7;
				if(lis[i].parentNode != nav && (!o.cleverMode || findPosX(lis[i]) < t))
				{
					div.style.right = "auto";
					div.style.left = lis[i].parentNode.offsetWidth + "px";
				}	
				else if(lis[i].parentNode != nav && (o.cleverMode || findPosX(lis[i]) >= t))
				{
					div.style.left = "auto";
					div.style.right = lis[i].parentNode.offsetWidth + "px";
				}
				else if(lis[i].parentNode == nav && o.cleverMode && findPosX(lis[i]) >= t)
				{
					lis[i].className += " right-side";
				}
			}
			if(o.dropExistenceClass && lis[i].getElementsByTagName("ul").length > 0)
			{
				lis[i].className += (" " + o.dropExistenceClass);
				lis[i].innerHTML += "<em class='pointer'></em>";
			}
			if(lis[i].parentNode == nav) lfl.push(lis[i]);
		}
		if(o.sideClasses)
		{
			lfl[0].className += " first-child";
			lfl[0].getElementsByTagName("a").item(0).className += " first-child-a";
			lfl[lfl.length-1].className += " last-child";
			lfl[lfl.length-1].getElementsByTagName("a").item(0).className += " last-child-a";
		}
		for (var i=0; i<lis.length; i++)
		{
			lis[i].className = lis[i].className.replace(o.hoverClass, "");
			lis[i].onmouseover = function()
			{
				this.className += (" " + o.hoverClass);
			}
			lis[i].onmouseout = function()
			{
				this.className = this.className.replace(o.hoverClass, "");
			}
		}
	}
	function findPosX(a)
	{
		var b = 0;
		while (a.offsetParent) {b += a.offsetLeft; a = a.offsetParent;}
		return b;
	}
}
if (window.addEventListener)
	window.addEventListener("load", initPage, false);
else if (window.attachEvent)
	window.attachEvent("onload", initPage);
