// Das Kontextmenue zur verwaltung der Hauptmenüpunkte

function ContextMenu() {
	var elem = new Div();
		elem.className = "context_menu";
		elem.button = elem.appendChild(new Img(window.imagepath + "context_menu.png"));
		elem.button.style.cursor = "pointer";
		elem.button.onclick = function() {
			elem.openContextMenu();
		}
		elem.menubox = elem.appendChild(new Div());
		elem.menubox.className = "menubox";
		
		
		// Options
		elem.menubox.changeLabelButton = elem.menubox.appendChild(new ContextMenuOption("Beschriftung &auml;ndern"));
		elem.menubox.changeLabelButton.onclick = function() {
			elem.parentNode.changeLabel(window.prompt("Neue Beschriftung:"));
		}
		
		elem.menubox.changeActionButton = elem.menubox.appendChild(new ContextMenuOption("Aktion &auml;ndern"));
		elem.menubox.changeActionButton.onclick = function() {
			elem.parentNode.changeAction(window.prompt("Neue Aktion:"));
		}
		
			elem.menubox.appendChild(document.createElement("hr"));
			elem.menubox.addSubmenuButton = elem.menubox.appendChild(new ContextMenuOption("Untermen&uuml; einf&uuml;gen"));
			elem.menubox.addSubmenuButton.onclick = function() {
				var submenu = elem.parentNode.addSubmenu();
				submenu.addItem("Neu", "");
			}
			elem.menubox.removeSubmenuButton = elem.menubox.appendChild(new ContextMenuOption("Untermen&uuml; entfernen"));
			elem.menubox.removeSubmenuButton.onclick = function() {
				elem.parentNode.removeSubmenu();
			}
		
		elem.menubox.appendChild(document.createElement("hr"));
		elem.menubox.insertButton = elem.menubox.appendChild(new ContextMenuOption("Men&uuml;eintrag einf&uuml;gen"));
		elem.menubox.insertButton.onclick = function() {
			elem.parentNode.parentNode.parentNode.addItem(window.prompt("Beschriftung:"), window.prompt("Aktion:"));
		}
		
		elem.menubox.appendChild(document.createElement("hr"));
		elem.menubox.closeButton = elem.menubox.appendChild(new ContextMenuOption("Schlie&szlig;en"));
		elem.menubox.closeButton.style.textAlign = "center";
		elem.menubox.closeButton.style.fontWeight = "bold";
		elem.menubox.closeButton.style.fontSize = "10pt";
		elem.menubox.closeButton.onclick = function() {
			elem.closeContextMenu();
		}
		
		// Methods
		elem.openContextMenu = function() {
			elem.menubox.style.display = "block";	
		}
		
		elem.closeContextMenu = function() {
			elem.menubox.style.display = "none";
		}
		
		
	return elem;
}

function ContextMenuOption(label) {
	var elem = new Div();
		elem.className = "option";
		elem.innerHTML = label;
		elem.onmouseover = function() {
			this.style.background = "gray";
			this.style.color = "white";
		}
		elem.onmouseout = function() {
			this.style.background = "transparent";
			this.style.color = "inherit";
		}
	return elem;
}