// obecne funkce
function appendChild(tag, attributes, parent) {
	newnode = document.createElement(tag);
	for(i in attributes) {
		newnode[i] = attributes[i];
	}

	parent.appendChild(newnode);


	return newnode;
}

// object MenuLink
function MenuLink(name, url) {
	this.name = name;
	this.url = url;
}

MenuLink.prototype.writeMenu = function () {
	var out = '';
	out += '<li><a href="'+this.url+'">'+this.name+'</a>';
	document.write(out);
}

// link nemuze byt menu -> vzdycky vraci null
MenuLink.prototype.findMenu = function (name) {
	return null;
}

// object Menu
function Menu(name, url) {
	this.name = name;
	this.url = url;
	this.links = new Array();
	this.id = menu_id++;
}

// prida podmenu
Menu.prototype.addMenu = function(menu) {
	this.links[this.links.length] = menu;
}

// prida odkaz
Menu.prototype.addLink = function(name, url) {
	this.links[this.links.length] = new MenuLink(name, url);
}

// najde objekt menu podle id
Menu.prototype.findMenu = function(id) {
	if(this.id == id)
		return this;

	var i;
	var ret = null;
	for(i=0;i<this.links.length;i++) {
		if((ret = this.links[i].findMenu(id)) != null)
			return ret;
	}

	return null;
}

Menu.prototype.show = function(link) {
	menu1.hide();

	var i,newdiv,newul,newli,newlink;
	var id = parseInt(link.id.substring(4));
	var submenu = this.findMenu(id);
	current_menu = submenu.id;

	link.parentNode.className = 'rozb';

	if(link.parentNode.lastChild.tagName == 'UL')
		return;

	newul = appendChild('ul', {onmouseover : function(event) { menu1.remain(submenu.id); return false }, onmouseout : function(event) { menu1.hideAll(); return false }}, link.parentNode);

	for(i=0;i<submenu.links.length;i++) {
		if(submenu.links[i].id) {
			newli = appendChild('li', {onmouseover : function(event) { menu1.show(this); return false }, onmouseout : function(event) { menu1.hideAll(); return false }}, newul);
			newlink = appendChild('a', {href : submenu.links[i].url, innerHTML : submenu.links[i].name, id : "menu" + submenu.links[i].id, className : "rozb", onclick : function(event) { return false; }}, newli);
		} else {
			newli = appendChild('li', {}, newul);
			newlink = appendChild('a', {href : submenu.links[i].url, innerHTML : submenu.links[i].name}, newli);
		}
	}
}

Menu.prototype.hideAll = function() {
	setTimeout("menu1.hide()", 20);
	current_menu = null;
}

Menu.prototype.hide = function() {
	var i;
	var ret = false;

	if(this.links.length > 0) {
		for(i=0;i<this.links.length;i++) {
			if(this.links[i].id) {
				ret = this.links[i].hide() ? true : ret;
			}
		}
	}
	if(this.id == current_menu)
		ret = true;

	if(this.id && ret == false) {
		var menu = document.getElementById('menu' + this.id);
		if(menu && this.id > 1) {
			var parent = menu.parentNode;
			parent.className = '';
			var oldul = parent.lastChild;
			while(oldul.tagName == 'UL') {
				parent.removeChild(oldul);
				oldul = parent.lastChild;
			}
		}
	}

	return ret;
}

Menu.prototype.remain = function(id) {
	current_menu = id;
}

var menu_id = 1;
var current_menu = null;

var root = '/'

menu1 = new Menu('', '#');
menu1.addLink('Úvod', '#');
menu1.addLink('Reference', '#');
menu2 = new Menu('Naše řešení','#');
menu2.addLink('Analýzy a konzultace', root + 'analyzy-konzultace.html');
menu2.addLink('WWW prezentace a aplikace', root + 'www-prezentace-aplikace.html');
menu2.addLink('Internetový marketing a správa', root + 'internetovy-marketing-sprava.html');
menu2.addLink('Slovník internetových výrazů', root + 'slovnik.html');
menu1.addMenu(menu2);
menu1.addLink('Články','#');
menu3 = new Menu('Zpravodaj','#');
menu3.addLink('Proč zpravodaj?', root + 'zpravodaj.html');
menu3.addLink('Objednat zpravodaj', root + 'objednat-oranzovy-zpravodaj.html');
menu3.addLink('Aktuální číslo',"javascript:void open_popup('" +  root + 'zpravodaj-aktualni.html' + "',615,440,1,10,10)");
menu3.addLink('Archiv minulých čísel', root + 'zpravodaj-archiv.html');
menu1.addMenu(menu3);
menu1.addLink('Novinky','#');
menu4 = new Menu('Pro novináře','#');
menu4.addLink('Poslední TZ', root + 'pro-novinare.html');
menu4.addLink('Tiskové zprávy', root + 'tiskove-zpravy.html');
menu4.addLink('Přihlášení k odběru TZ', root + 'odber-tiskovych-zprav.html');
menu4.addLink('Fotografie a loga', root + 'tisk.html');
menu1.addMenu(menu4);
menu5 = new Menu('Kariéra','#');
menu5.addLink('Volná místa', root + 'kariera.html');
menu5.addLink('Proč pracovat v Symbiu?', root + 'proc-pracovat-v-symbiu.html');
menu5.addLink('Nenašli jste vhodnou pozici?', root + 'nenasli-jste-pozici.html');
menu1.addMenu(menu5);
menu6 = new Menu('O nás','#');
menu6.addLink('Profil', root + 'o-nas.html');
menu6.addLink('Proč Symbio', root + 'proc-zvolit-symbio.html');
menu6.addLink('Management', root + 'management-firmy.html');
menu6.addLink('Firemní hodnoty', root + 'firemni-hodnoty.html');
menu6.addLink('Získaná ocenění', root + 'o-firme-oceneni.html');
menu6.addLink('10 let SYMBIA', root + 'o-firme-10-let.html');
//menu6.addLink('Historie firmy', root + 'o-firme-historie.html');
menu1.addMenu(menu6);
menu7 = new Menu('Kontakt','#');
menu7.addLink('Kontaktujte nás', root + 'kontakt.html');
menu7.addLink('Jak nás najdete? [mapa]', root + 'jak-nas-najdete.html');
menu1.addMenu(menu7);


