
function initMenu() {
	button = document.getElementById('cms_menuaction');
	button.disabled = 1;
	menubox = document.getElementById('cms_menubox');
	entrys = menubox.firstChild.childNodes;
	for(i=0;i<entrys.length;i++) {
		value = entrys[i].firstChild.innerHTML;
		p = extractfromurl(entrys[i].firstChild.href,'page');
		entrys[i].id = p;
		entrys[i].innerHTML = "<input type='text' value='"+value+"'>";
		entrys[i].innerHTML+= "<input type='hidden' value='"+p+"'>";
		entrys[i].innerHTML+= '<img src="gfx/apps/plus.jpg" width="9" height="9" onclick="insertEntry(\'' + p + '\')">';
		entrys[i].innerHTML+= '<img src="gfx/apps/minus.jpg" width="9" height="9" onclick="removeEntry(\'' + p + '\')">';
	}
	button.innerHTML = "&Auml;nderungen sichern";
	button.onclick=saveMenu;
	button.disabled = 0;
}

function saveMenu() {
	button = document.getElementById('cms_menuaction');
	button.disabled = 1;
	menubox = document.getElementById('cms_menubox');
	entrys = menubox.firstChild.childNodes;
	for(i=0;i<entrys.length;i++) {
		name = entrys[i].firstChild.value;
		page = entrys[i].firstChild.nextSibling.value;
		entrys[i].innerHTML = "<a href='index.php?page="+encodeURI(page)+"'>"+name+"</a>";
	}
	__ydfsaveMenu(document.getElementById('cms_menubox').innerHTML);
	button.innerHTML = "Menu bearbeiten";
	button.onclick=initMenu;
	button.disabled = 0;
}

function insertEntry(id) {
	entry = document.getElementById(id);
	var newentry = document.createElement("li");
	newid = prompt("Geben Sie einen eindeutigen Dateinamen ein (keine Leerzeichen oder Umlaute und ohne Extension wie \".html\" o.&auml;.)", "");
	if(newid != "") {
		newentry.id = newid;
		newentry.innerHTML = "<input type=text value='Neuer Eintrag'>";
		newentry.innerHTML+= "<input type=hidden value='"+newid+"'>";
		newentry.innerHTML+= "<img src='gfx/apps/plus.jpg' width='9' height='9' onclick='insertEntry(\"" + newid + "\")'>";
		newentry.innerHTML+= "<img src='gfx/apps/minus.jpg' width='9' height='9' onclick='removeEntry(\"" + newid + "\")'>";
		entry.parentNode.insertBefore(newentry, entry.nextSibling);
	}
}

function removeEntry(id) {
	entry = document.getElementById(id);
	entry.parentNode.removeChild(entry);
}

function addOptionBox(id) {
    var newOption = document.createElement("div");
    newOption.id = id; 
    document.getElementById('optionsCell').insertBefore(newOption,document.getElementById('addOptionButton'));
}

function addEvent(obj, ev, fn, useCaption)
{
    if (obj.addEventListener) {
        obj.addEventListener(ev, fn, useCaption);
        return true;
    } else if (obj.attachEvent) {
        var retVal = obj.attachEvent("on"+ev, fn);
        return retVal;
    } else {
        return false;
    }
}

function extractfromurl(url,param) {
    p = url.split("?");
    if(p[1]) {
        pairs = p[1].split("&");
        for(b=0; b<pairs.length; b++) {
            tokens = pairs[b].split("=");
            if(tokens[0] == param) return tokens[1]; 
        }
    }
}

// debug function: show object/variable
function GetValues(obj)
{
    var res = '<pre>';
    res += 'Objekt: '+obj+'\n\n';
    for(temp in obj) {
        res += temp +': '+obj[temp]+'\n';
    }
    res += '</pre>'
    document.getElementById('debug').innerHTML = res;
}
