Menu = {
	container : null,
	list : new Array(),
	classes : new Array(),
	owner : null,
	selected : -1,
	root : null,
	owner : null,
	init : function(params) {
		Menu.container = params.container;
		Menu.list = new Array();
		Menu.owner = params.owner;
		Menu.root = params.root;
	},
	initialized : function() {
		if (Menu.container) {
			return true;
		}
		return false;
	},
	show : function() {
		Menu.remove();
		Menu.change();
	},
	change : function() {
		Menu.draw();
		/* więcej akcji */
	},
	add : function(menuItem, menuClass) {
		Menu.list[Menu.list.length] = menuItem;
		Menu.classes[Menu.classes.length] = menuClass;
	},
	remove : function() {
		//Menu.list = new Array();
		while(Menu.container.childNodes.length > 0) {
			Menu.container.removeChild(Menu.container.childNodes[0]);
		}
	},
	draw : function() {
		for (var i=0;i<Menu.list.length;i++) {
			var div = document.createElement("div");
			div.id = "menuItem_" + i;
			div.className = "menuItem";
			div.onclick = Menu.select;
			div.innerHTML = Menu.list[i];
			Menu.container.appendChild(div);
		}
	},
	select : function(selected) {
		var current = document.getElementById("menuItem_" + Menu.selected);
		if (current) {
			current.className = "menuItem";
			Menu.classes[Menu.selected].hide();
		}
		if (isNaN(selected)) {
			var regex = /menuItem_(\d+)/;
			if (!this.id || !this.id.match(regex)) return;
			var match = regex.exec(this.id);
			Menu.selected = match[1];
		} else {
			Menu.selected = selected;
		}
		current = document.getElementById("menuItem_" + Menu.selected);
		if (current) {
			current.className = "menuItemSelected";
		}
		var menuClass = Menu.classes[Menu.selected]; 
		menuClass.init({owner : Menu.owner});
		if (backgroundAudio && !menuClass.canPlayBackgroundSound()) {
			backgroundAudio.pause();
		} else if (backgroundAudio && menuClass.canPlayBackgroundSound()) {
			backgroundAudio.resume();
		}
		menuClass.show(Menu.root);
	}
}
