var menuContainer;
var submenuContainer;
var submenuContainer1;
var lastMenu;
var menuTimeout;

window.onresize = function() {
	recalibrateMenuPosition();
}

function recalibrateMenuPosition() {
	var windowWidth;
	if (navigator.appName.indexOf("Microsoft") != -1) {   //gets the size of the window
		windowWidth = document.body.clientWidth + document.body.scrollLeft;
	} else {
		windowWidth = window.innerWidth + window.pageXOffset;
	}
	var posX = Math.round(windowWidth / 2) - 249;
	menuContainer.style.left = "400px";
}

function initMenu(container) {
	menuContainer = container;
	menuContainer.style.position = "absolute";
	recalibrateMenuPosition();
	var profilMenu = new Array( { label: "Hlavní stránka", link: "index.php" },
    { label: "O společnosti", link: "o_firme.php" },
		{ label: "Certifikáty a dokumenty ", link: "certifikaty.php" },
		{ label: "Partneři", link: "partneri.php" },
		{ label: "Kariéra", link: "kariera.php" },
		{ label: "Fotogalerie", link: "fotogalerie.php" },
		{ label: "Katalog", link: "katalog.php" });
	var produktyMenu = new Array({ label: "Lesklá ocel", link: 
			[{ label: "Oceli pro všeobecné technické použití ", link: "oceli-pro-vseobecne-pouziti.php" },
			{ label: "Automatové oceli", link: "automatove-oceli.php" },
			{ label: "Oceli k cementování", link: "oceli-k-cementovani.php" },
			{ label: "Oceli k zušlechtění", link: "oceli-k-zuslechteni.php" },
			{ label: "Tažená plochá ocel", link: "tazena-plocha-ocel.php" },
			{ label: "<em>Povrch, tolerance, mezní uchylky</em>", link: "povrch-tolerance-mezni-uchylky-leskla.php" }] },
		{ label: "Válcovaná a kovaná ocel", link:
			[{ label: "Ocel nelegovaná konstrukční", link: "ocel-valcovana-nelegovana-konstrukcni.php" },
			{ label: "Ocel nelegovaná pro zušlechtění", link: "ocel-valcovana-nelegovana-pro-zuslechteni.php" },
			{ label: "Ocel legovaná pro zušlechtění", link: "ocel-valcovana-legovana-pro-zuslechteni.php" },
			{ label: "Ocel k cementovaní", link: "ocel-valcovana-k-cementovani.php" },
			{ label: "<em>Povrch, tolerance, mezní uchylky</em>", link: "povrch-tolerance-mezni-uchylky-valcovana.php" }]},
		{ label: "Nerezová ocel", link: "nerezova-ocel.php" },
		{ label: "Mosaz", link:
			[{ label: "Mosazné tyče kruhové - tažené", link: "mosazne-tyce-kruhove.php" },
			{ label: "Mosazné tyče šestihranné – tažené", link: "mosazne-tyce-sestihranne.php" },
			{ label: "Mosazné tyče čtyřhranné – tažené", link: "mosazne-tyce-ctyrhranne.php" },
			{ label: "Mosazné tyče lisované", link: "mosazne-tyce-lisovane.php" },
			{ label: "Mosazné tyče duté", link: "mosazne-tyce-dute.php" }]},
		
		{ label: '<em>Přepočet hmotností</em>', link: "prepocet.php" },
		{ label: '<em>Porovnání jakostí</em>', link: "vyhledavani.php" });
	var sluzbyMenu = new Array({ label: "Skladování", link: "sluzby-skladovani.php" },
		{ label: "Dělení materiálu", link: "sluzby-deleni.php" },
		{ label: "Logistika", link: "sluzby-logistika.php" });
	addMenuButton(145, 130, 192, 74, 144, true, profilMenu); //profil
	addMenuButton(258, 66, 128, 72, 146, false, produktyMenu); //produkty
	addMenuButton(258, 129, 192, 146, 72, true, produktyMenu);
	addMenuButton(370, 130, 192, 74, 146, true, sluzbyMenu); //služby
	addMenuButton(482, 66, 128, 72, 146, false, "aktuality.php"); //aktuality
	addMenuButton(482, 129, 192, 146, 72, true, "aktuality.php");
	addMenuButton(593, 131, 192, 74, 144, true, "kontakty.php"); //kontakty
	submenuContainer = document.createElement("div");
	submenuContainer.style.position = "absolute";
	submenuContainer.style.top = "193px";
	submenuContainer.style.backgroundColor = "#1e3bc3";
	submenuContainer.style.overflow = "hidden";
	menuContainer.appendChild(submenuContainer);
	submenuContainer1 = document.createElement("div");
	submenuContainer1.style.position = "absolute";
	submenuContainer.appendChild(submenuContainer1);
	submenuContainer.onmouseover = function() {
		showMenu(this.menuObj, this.menuPos);
	}
	submenuContainer.onmouseout = function() {
		menuTimeout = setTimeout("showMenu(null, 0);", 1000);
	}
}

function addMenuButton(centerX, startY, stopY, startWidth, stopWidth, upDown, menuObj) {
	centerX -= 46;
	var width;
	var navType = navigator.appName.indexOf("Microsoft") > -1;
	for (var i = startY; i <= stopY; i++) {
		width = Math.round(((stopWidth - startWidth) / (stopY - startY)) * (i - startY)) + startWidth;
		var buttonLine = document.createElement("div");
		buttonLine.style.position = "absolute";
		buttonLine.style.left = (centerX - Math.round(width / 2)) + "px";
		buttonLine.style.width = width + "px";
		buttonLine.style.top = i + "px";
		buttonLine.style.height = "1px";
		buttonLine.style.overflow = "hidden";
		buttonLine.style.cursor = "pointer";
		//buttonLine.style.backgroundColor = "#ffffff";
		buttonLine.style.backgroundImage = "url('neexistujiciobrazek.jpg')";
		if (navType) {
			buttonLine.style.filter = "alpha(opacity=0);";
		} else {
			buttonLine.style.opacity = 0;
		}
		buttonLine.menuObj = menuObj;
		if (typeof menuObj == "string") {
			buttonLine.onclick = function() {
				location = this.menuObj;
			}
		} else {
			buttonLine.onmouseover = function() {
				showMenu(this.menuObj, this.menuPos);
			}
			buttonLine.onmouseout = function() {
				menuTimeout = setTimeout("showMenu(null, 0);", 1000);
			}
		}
		if (upDown) {
			buttonLine.menuPos = centerX - Math.round(stopWidth / 2);
		} else {
			buttonLine.menuPos = centerX - Math.round(startWidth / 2);
		}
		menuContainer.appendChild(buttonLine);
	}
}
function showMenu(menu, pos) {
	clearTimeout(menuTimeout);
	if (menu == lastMenu) return;
	
	submenuContainer.innerHTML = "";
	submenuContainer1.innerHTML = "";
	submenuContainer.menuObj = menu;
	submenuContainer.menuPos = pos;
	
	var ul = document.createElement("ul");
	ul.setAttribute("class", "menu");
	ul.className = "menu";
	if (menu == null) menu = new Array();
	for (var i = 0; i < menu.length; i++) {
		var menuElm = document.createElement("li");
		var menuLink = document.createElement("a");
		if (typeof menu[i].link == "string") {
			menuLink.href = menu[i].link;
			menuLink.onmouseover = function() {
				submenuContainer1.innerHTML = "";
			}
		} else {
			menuLink.onmouseover = function() {
				showSubMenu(this.subMenu, this.offsetLeft + this.offsetWidth ,this.offsetTop);
			}
			menuLink.subMenu = menu[i].link;
		}
		menuLink.title = menu[i].label;
		menuLink.innerHTML = menu[i].label;
		menuElm.appendChild(menuLink);
		if (i == menu.length - 1) menuElm.setAttribute("class", "last");
		ul.appendChild(menuElm);
	}
	
	submenuContainer.style.left = pos + "px";
	submenuContainer.visibility = menu.length > 0 ? "visible" : "hidden";
	submenuContainer.style.overflow = "visible";
	submenuContainer.appendChild(submenuContainer1);
	if (menu.length == 0) {
		submenuContainer.style.height = "0px";
		submenuContainer.style.width = "0px";
		submenuContainer.style.left = "-999999px";
		submenuContainer.innerHTML = "";
	}
	submenuContainer.appendChild(ul);
	lastMenu = menu;
}

function packElement(element, marginX, marginY) {
	element.style.width = "0px";
	element.style.height = "0px";
	while (element.scrollWidth == 0) ; //IE
	var width = element.scrollWidth + marginX;
	var height = element.scrollHeight + marginY;
	element.style.width = width + "px";
	element.style.height = height + "px";
}

function showSubMenu(menu, left, top) {
	submenuContainer1.innerHTML = "";
	submenuContainer1.style.left = (left + 2) + "px";
	submenuContainer1.style.top = top + "px";
	var ul = document.createElement("ul");
	ul.setAttribute("class", "submenu");
	ul.className = "submenu";
	
	for (var i = 0; i < menu.length; i++) {
		var menuElm = document.createElement("li");
		if (i == menu.length - 1) menuElm.setAttribute("class", "last");
		var menuLink = document.createElement("a");
		menuLink.innerHTML = menu[i].label;
		menuLink.href = menu[i].link;
		menuElm.appendChild(menuLink);
		ul.appendChild(menuElm);
	}
	
	submenuContainer1.appendChild(ul);
}
