<!--
	function CMenuTree (treeID) {
		this.treeID = treeID;
		this.contextMenu = false;
		this.editMode = false;
		this.treeUlCounter = 0;
		this.debugLevel = 0;
	}	

	CMenuTree.prototype = 
	{
		addEvent : function(whichObject,eventType,functionName)
		{ 
		  	if(whichObject.attachEvent){ 
		  		if(functionName){
		    		whichObject['e'+eventType+functionName] = functionName; 
		    		whichObject[eventType+functionName] = function(){whichObject['e'+eventType+functionName]( window.event );} 
		    		whichObject.attachEvent( 'on'+eventType, whichObject[eventType+functionName] ); 
		    	}	
		  	} else 
		    	whichObject.addEventListener(eventType,functionName,false); 	    
		} 
		,
		__getID : function(id) {
			if(id.indexOf("nodeATag_") == 0)
				id = id.substring(9);
			if(id.indexOf("s_") == 0)
				id = id.substring(2);
			return id;		
		}
		,
		removeMenuEntry : function(obj1,obj2) {
			var id = this.__getID(obj2.id);
			var menuName = obj2.innerHTML.replace(/<span(.*?)>(.+?)<\/span>/i, '');
			
			var message = "Wollen Sie den Menüpunkt '"+menuName+"'";
			if(this.debugLevel > 0)		
				message += " ("+id+")";
			
			if(this.hasSubNodes(obj2.parentNode)) 
				message = message + " und seine Unterpunkte";
			message += " wirklich löschen ?";	
			if(confirm(message)){
				ajax_removeMenuEntry("dummy", id);
			}
		}
		,
		renameMenuEntry : function(obj1,obj2) {
			ajax_renameMenuEntry(obj2.id, this.__getID(obj2.id));
		}
		,
		editMenuEntry : function(obj1,obj2) {
			menuEditMenu(obj2.id, this.__getID(obj2.id));
		}
		,
		editMenuAccess : function(obj1,obj2) {
			ajax_editMenuAccess("access", this.__getID(obj2.id));
		}
		,
		editMenuMeta : function(obj1,obj2) {
			ajax_editMenuMeta("meta", this.__getID(obj2.id));
		}
		,
		editMenuCaching : function(obj1,obj2) {
			ajax_editMenuCaching("caching", this.__getID(obj2.id));
		}
		,
		newMenuEntry : function(obj1,obj2) {
			//neuen MenüEintrag
			ajax_newMenuEntry("newMenuEntry", this.__getID(obj2.id), "");
		}
		,
		setRenameAllowed : function(renameAllowed) {
			this.renameAllowed = renameAllowed;			
		}
		,
		setDeleteAllowed : function(deleteAllowed) {
			this.deleteAllowed = deleteAllowed;	
		}
		,highlightMenuEntry : function(inputObj,e) {
			if(menuTreeObj.curMenuEntry)
				menuTreeObj.curMenuEntry.className = '';
			this.className = 'highlighted';
			menuTreeObj.curMenuEntry = this;
		}
		,
		hasSubNodes : function(obj)	{
			var subs = obj.getElementsByTagName('LI');
			return (subs.length>0)?true:false;
		}
		,
		initTree : function (bEditMode) {
			this.editMode = bEditMode;
		
			if(this.editMode){
				this.deleteAllowed = true;
				this.renameAllowed = true;
				
				try{
					/* Creating menu model for the context menu, i.e. the datasource */
					var menuModel = new DHTMLGoodies_menuModel();
					
					menuModel.addItem(1,loeschen,'','',false,'menuTreeObj.removeMenuEntry');
					menuModel.addItem(2,umbenennen,'','',false,'menuTreeObj.renameMenuEntry');
					menuModel.addItem(3,bearbeiten,'','',false,'menuTreeObj.editMenuEntry');
					menuModel.addItem(4,zugriff,'','',false,'menuTreeObj.editMenuAccess');
					menuModel.addItem(5,keyword,'','',false,'menuTreeObj.editMenuMeta');
				//	menuModel.addItem(6,'Caching','','',false,'menuTreeObj.editMenuCaching');
					
				//	menuModel.addSeparator(0, false);
					
					menuModel.addItem(7,neu,'','',false,'menuTreeObj.newMenuEntry');
						
					menuModel.init();	
					
					window.refToDragDropTree = this;
					
					this.contextMenu = new DHTMLGoodies_contextMenu();
					
					this.contextMenu.setWidth(150);
					referenceToDHTMLSuiteContextMenu = this.contextMenu;
				} catch(e){
					alert("Fehler aufgetreten");
				}
			}
			
			var tree = document.getElementById(this.treeID);
			if(! tree) {
		//		alert("Fehler aufgetreten\nkein Menü gefunden");
				return ;
			}
			var menuItems = tree.getElementsByTagName('LI');	// Get an array of all menu items
			for(var no=0;no<menuItems.length;no++){
				var emptyURL = menuItems[no].getAttribute('emptyURL');
				
				/*			
				var noChildren = false;
				var tmpVar = menuItems[no].getAttribute('noChildren');
				if(!tmpVar)
					tmpVar = menuItems[no].noChildren;
				if(tmpVar=='true')
					noChildren=true;
				// No drag var set ?
				var noDrag = false;
				var tmpVar = menuItems[no].getAttribute('noDrag');
				
				if(!tmpVar)
					tmpVar = menuItems[no].noDrag;
				if(tmpVar=='true')
					noDrag=true;
				*/	
				
				var aTag = menuItems[no].getElementsByTagName('A')[0];
				if(aTag) {
					// optional ein Contextmenu einbauen
					if(this.contextMenu && this.editMode){
						this.contextMenu.attachToElement(aTag,false,menuModel);
					}
					this.addEvent(aTag,'contextmenu',this.highlightMenuEntry);
				}	
			}	
		}
	}	// prototype

	// @todo verbessern
	function displayMenu (on) {
		if(document.getElementById("Frame1")) {
			document.getElementById("Frame1").style.display = on?"none":"block";
		}	
	}
	
	
	function removeMenuEntry(strMID, name){
		if(confirm("Wollen Sie diesen Menüeintrag "+name+" wirklich löschen?")) {
			ajax_removeMenuEntry("dummy", strMID);
		}
	}
	function editUser() {
		ajax_IFramePopup("editUser", './editUser.php', true, 370, 40, 300, 450, "Benutzer anlegen");
	}
	function editBilder() {
		ajax_IFramePopup("editBilder", './editBilder.php', true, 170, 40, 780, 580, "Bilder hochladen");
	}
	function editDB(editURL) {
		if(! editURL){
			// Auswahl der Datenbanken anbieten
			ajax_dbSelect("editDB");
		} else 
			ajax_IFramePopup("editDB", './dbEditorFrame.php?x'+editURL, true, 40, 40, 920, 590, "Datenbank bearbeiten");
	}
	function _reactivate() {
		if(menuObj.elem) {
			menuObj.elem.disabled = false;
		}	
	}	
	function Check4Enter(obj, strMID, ev) {
		var key = GetKeyCode(ev);
		
		switch(key) {
			case 13:
				ajax_changeMenuName(obj.id, strMID, obj.value);
				CancelBubble(ev);
				break;
		}		
	}
	function menuLongClick() {
		if(menuObj && menuObj.id && menuObj.elemID) {
			var left = menuObj.mouseX;
			var top = menuObj.mouseY;
			
			if(menuObj.elem) {
				menuObj.elem.disabled = true;
			}	
			if(self.ajax_renameMenuEntry) {
				self.ajax_renameMenuEntry(menuObj.elemID, menuObj.id, left, top);
			}	
		}
	}
	function menuStartClick(strID, elem, ev) {
		menuObj.id = strID;
		menuObj.elem = elem;
		menuObj.elemID = elem.id;
		menuObj.mouseScrX = GetMouseScrX(ev);
		menuObj.mouseScrY = GetMouseScrY(ev);
		menuObj.mouseX = GetMouseX(ev);
		menuObj.mouseY = GetMouseY(ev);
		
		menuObj.timer = setTimeout("menuLongClick()", 750);
	}
	function menuStopClick (ev) {
		if(menuObj.timer)
			clearTimeout(menuObj.timer);
		if(menuObj.elem && menuObj.elem.disabled) {
			setTimeout("_reactivate()", 100);
		}	
		menuObj.timer = 0;	
	}
	function menuEditMenu(strID, strMID) {
		menuObj.id = strMID;
		menuObj.elem = null;
		if(menuObj.timer)
			clearTimeout(menuObj.timer);
		menuObj.timer = 0;	
		if(self.ajax_editMenuEntry)
			self.ajax_editMenuEntry("editMenu", strMID, strID);
	}
	// --- Drag&Drop ---
	function menuDragStart (strMID, elem, ev) {
		menuStopClick(ev);	// keinen Long Click auslösen
		menuObj.dragStart = true;
		menuObj.dragSrcMID = strMID;
	}
 	function cancelEvent(e) {
 		if(window.event)
    		window.event.returnValue = false;
    	else {
    		if(e.preventDefault)
      			e.preventDefault();
    		else
				e.returnValue=false
			if(e.stopPropagation)	
				e.stopPropagation();
    	}		
    }
	function DropIntoMenu(strMID, elem, ev) {
		if(menuObj.dragStart && menuObj.dragSrcMID) {
			ajax_menuDragDropMask("drag", menuObj.dragSrcMID, strMID);
			menuObj.dragStart = false;
			menuObj.dragSrcMID = 0;
		}	
	}	
	
	
-->