// 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;

menu1 = new Menu('', '#');

menu1.addLink('Home','#');
menu1.addLink('O firmě','#');

menu2 = new Menu('Informace','#');
menu2.addLink('Tabulky a značení',dojo.uri.dojoUri('tabulky-a-znaceni.html'));
menu2.addLink('Materiály oděvů',dojo.uri.dojoUri('materialy-odevu.html'));
menu2.addLink('Barvy, dezény',dojo.uri.dojoUri('barvy-dezeny.html'));
menu2.addLink('Vysvětlivky',dojo.uri.dojoUri('vysvetlivky.html'));
menu2.addLink('Ke stažení',dojo.uri.dojoUri('ke-stazeni.html'));
menu1.addMenu(menu2);

menu3 = new Menu('Obchodní podmínky','#');
menu3.addLink('Váš první nákup',dojo.uri.dojoUri('vas-prvni-nakup.html'));
menu3.addLink('Nákupní řád',dojo.uri.dojoUri('nakupni-rad.html'));
menu3.addLink('Cenové podmínky',dojo.uri.dojoUri('cenove-podminky.html'));
menu3.addLink('Reklamační řád',dojo.uri.dojoUri('reklamacni-rad.html'));
menu1.addMenu(menu3);

menu4 = new Menu('Náhradní plnění','#');
menu4.addLink('Zákonné podmínky NP',dojo.uri.dojoUri('zakonne-podminky-np.html'));
menu4.addLink('Objednávání zboží s NP',dojo.uri.dojoUri('objednavani-zbozi-s-np.html'));
menu1.addMenu(menu4);

menu1.addLink('Velkoobchod','#');
menu1.addLink('Aktuální nabídka','#');

menu5 = new Menu('Kontakty','#');
menu5.addLink('Kontaktní údaje',dojo.uri.dojoUri('kontakt.html'));
menu5.addLink('Poslat poptávku',dojo.uri.dojoUri('poslat-poptavku.html'));
menu5.addLink('Prodejní místa',dojo.uri.dojoUri('kontakty-prodejni-mista.html'));
menu5.addLink('Spolupracující firmy',dojo.uri.dojoUri('kontakty-spolupracujici-firmy.html'));
menu1.addMenu(menu5);

