var a;
var brr = document.createElement('br');
var ude;
var dddiv;
var browser = navigator.userAgent.toLowerCase();
var erIE = ((browser.indexOf('msie') != -1) && (browser.indexOf('opera')));
var erMoz = (browser.indexOf('gecko') != -1);
var editmode = false;
var a0 = Array();
var dditems;
var editte;
var aktuelsti;
var rodsti = "";
var edd;
var d01;
var kanvas;
var genlad = false

function i2tbld() {
if (http.readyState == 4) {
    itbld = document.getElementById('mdiv0');
    itbld.innerHTML = http.responseText;
}
}
function go2mp(abc) {xhreq(abc.replace(/ /g,'+'),i2tbld);}
function gothar() {
xhreq('http://w3.tormartin.dk/'+encodeURI(window.event.srcElement.id.replace(/'$/,'').replace(/^'/,'')),i2tbld);
}
function getmenuerne() {
xhreq("http://w3.tormartin.dk/l/getmenuLevel2.php",setupmenuarray);
}
function setmenuen() {
	a1 ='';
	dditems = dd.getElementsByTagName('item');
	for (i=0;i<dditems.length;i++) {
	a1 += '<a href="" onclick="javascript:{gosee('+i+',this);return false;}">'+dditems[i].getAttribute('name')+'</a><br/>';
	}
	document.getElementById('menudiv').innerHTML = a1;
	ude = null;//tjek
}
function setmenuen_div() {
	a1 ='';
	dditems = dd.getElementsByTagName('item');
	for (i=0;i<dditems.length;i++) {
	a1 += '<div style="cursor:pointer;background:#a0a0a0;" onmouseover="this.style.background=\'#d0d0d0\';" onmouseout="this.style.background=\'#a0a0a0\';" onclick="javascript:{gosee('+i+',this);return false;}">'+dditems[i].getAttribute('name')+'</div>';
	}
	document.getElementById('menudiv').innerHTML = a1;
// husk at ændre gosee()'s aa !
}
function setupmenuarray (){
if (http.readyState == 4) {
	//http.responseText el http.responseXML
	a1 ='';
	dd = http.responseXML;
	dditems = dd.getElementsByTagName('item');
setmenuen();
}
}

function gosee(o,dette) {
editte = (editmode) ? 'edit/' : 'mdiv.php';
if (dditems[o].hasChildNodes()) {
	ddlink = dditems[o].getElementsByTagName('link');
	aktuelsti = 'http://w3.tormartin.dk/'+encodeURI(dditems[o].getAttribute('src').replace(/ /g,'+'))+'/'+editte;
	xhreq(aktuelsti,i2tbld);
if (ude != null) {
brr1 = brr.cloneNode(false);
dddiv.parentNode.insertBefore(brr1,dddiv.nextSibling);
dddiv.parentNode.removeChild(dddiv);
if (ude == dette) {ude=null;ddiv=null;return;} else {ude=null;ddiv=null;}
}
ude = dette;
nsib = dette.nextSibling;
ddiv = document.createElement('div');
ddiv.style.marginLeft = '10px';
dddiv = ddiv;
ddiv.setAttribute('class','menudiv');
for (i=0;i<ddlink.length;i++) {
aa = document.createElement('a');
aa.setAttribute('href','#');
aa.setAttribute('id','\''+dditems[o].getAttribute('src').replace(/ /g,'+')+'/'+ddlink[i].getAttribute('src').replace(/ /g,'+')+'/mdiv.php\'');
if (erMoz) aa.onclick=eval("function (){aktuelsti = \""+dditems[o].getAttribute('src').replace(/ /g,'+')+"/"+ddlink[i].getAttribute('src').replace(/ /g,'+')+"/"+editte+"\";xhreq(\"http://w3.tormartin.dk/"+dditems[o].getAttribute('src').replace(/ /g,'+')+"/"+ddlink[i].getAttribute('src').replace(/ /g,'+')+"/"+editte+"\",i2tbld);}");
if (erIE) {
aa.attachEvent('onclick',gothar);
}
aa.style.textDecoration = 'none';
txt = document.createTextNode(ddlink[i].getAttribute('name'));
aa.appendChild(txt);
brr1 = brr.cloneNode(false);
(i != ddlink.length) ? aa.appendChild(brr1) : i++;
ddiv.appendChild(aa);
}

dette.parentNode.replaceChild(ddiv,nsib);
	
} else {
aktuelsti = 'http://w3.tormartin.dk/'+encodeURI(dditems[o].getAttribute('src').replace(/ /g,'+'))+'/'+editte;
xhreq(aktuelsti,i2tbld);
if (ude != null) {
brr1 = brr.cloneNode(false);
dddiv.parentNode.insertBefore(brr1,dddiv.nextSibling);
dddiv.parentNode.removeChild(dddiv);
if (ude == dette) {ude=null;ddiv=null;return;} else {ude=null;ddiv=null;}
}

}
}
function go2editmode(e) {
if (erIE) return;
if (e.ctrlKey == true) {
editmode = (editmode) ? false : true ;
if (editmode) {
document.body.focus();
notits('Vent ...');
document.getElementById('l1.html').style.cursor = "wait";
md5o = document.createElement('script');
md5o.type = 'text/javascript';
md5o.src = 'http://w3.tormartin.dk/l/md5.js';
md5o.setAttribute('id','md5script');
document.getElementsByTagName('head')[0].appendChild(md5o);

ed = document.createElement('input');
ed.setAttribute('type','password');
ed.setAttribute('id','pwpw');
ed.style.width = '100%';
ed.style.background = '#d0d0d0';
ed.style.color = '#fff';
ed.setAttribute('onchange','javascript:{getridofpwinput(this);return false;}');
document.getElementById('l1.html').appendChild(ed);
ed.focus();
nonotits();
document.getElementById('l1.html').style.cursor = "default";
return;
} else {
if (document.getElementById('pwpw')) document.getElementById('pwpw').parentNode.removeChild(document.getElementById('pwpw'));
if (document.getElementById('inedit')) document.getElementById('l1.html').removeChild(document.getElementById('inedit'));
if (document.getElementById('picbrowsescript')) document.getElementsByTagName('head')[0].removeChild(document.getElementById('picbrowsescript'));
if (document.getElementById('editfuncsscript')) document.getElementsByTagName('head')[0].removeChild(document.getElementById('editfuncsscript'));
document.getElementsByTagName('head')[0].removeChild(document.getElementById('md5script'));
if (document.getElementById('edi0')) document.body.removeChild(document.getElementById('edi0'));
}
document.body.focus();
}
}
function getridofpwinput(o) {
o.parentNode.removeChild(o);
notits('Tjekker Password ..',3000);
edi0 = document.createElement('script');
edi0.type = 'text/javascript';
edi0.src = 'http://w3.tormartin.dk/edit/loadeditor.php?p='+hex_hmac_md5(o.value,o.value);
edi0.setAttribute('id','edi0');
document.body.appendChild(edi0);
}
function tjekpw() {

}
function notits(bes,t) {
if (document.getElementById('notits')) {
document.getElementById('notits').innerHTML = bes
if (t != null) setTimeout("nonotits()",t);
return;
}
edd = document.createElement('div');
edd.style.background = "rgb(200,150,170)";
edd.style.border = "1px solid grey";
eddt = document.createTextNode(bes);
edd.appendChild(eddt);
edd.setAttribute('id','notits');
edd.style.position = "absolute";
edd.style.top = "4px";
edd.style.left = "4px";
document.body.appendChild(edd);
if (t != null) setTimeout("nonotits()",t);
}
function nonotits() {
if (document.getElementById('notits')) document.body.removeChild(document.getElementById('notits'));
}
function absposition(whwh) {
cleft = ctop = 0;
if (whwh.offsetParent) {
    cleft = whwh.offsetLeft;
    ctop = whwh.offsetTop;
    while (whwh.offsetParent && (whwh = whwh.offsetParent)) {
	cleft += whwh.offsetLeft;// |body_left -> element_left|
	ctop += whwh.offsetTop;// |body_top -> element_bund|
    }
}
if (arguments && (arguments.length > 0)) {
return [cleft,ctop];
} else {
return "w: " + cleft + "h: " + ctop;
}
}
function addlevel1menu (a,b) {
//b bruges ikke (= -1)
nymenname = prompt('Skriv navn paa Ny Undermenu :')
if (nymenname == '') return;
nymen = document.createElement('link');
nymen.setAttribute('name',nymenname);
nymen.setAttribute('src',nymenname.replace(/ /g,'+'));
if (dditems[a].hasChildNodes()) {
dditems[a].insertBefore(nymen,dditems[a].firstChild)
} else {
dditems[a].appendChild(nymen);
}
kanvas.parentNode.replaceChild(d01,kanvas)
setmenuen();// den rigtige orden !
//menueditering()
dialogbox('vismenu')
}
function addmenu (a,b) {
nymenname = prompt('Skriv navn paa Ny Menu :')
if (nymenname == '') return;
if (b == -1) {
nymen = document.createElement('item')
nymen.setAttribute('name',nymenname);
nymen.setAttribute('src',nymenname.replace(/ /g,'+'));
(dditems.length == (a+1)) ?  dditems[a].parentNode.appendChild(nymen) : dditems[a].parentNode.insertBefore(nymen,dditems[a+1]);
} else {
nymen = document.createElement('link')
nymen.setAttribute('name',nymenname);
nymen.setAttribute('src',nymenname.replace(/ /g,'+'));
ddli = dditems[a].getElementsByTagName('link');
//alert('b : ' + b +','+ddli.length);
(ddli.length == (b+1)) ? ddli[b].parentNode.appendChild(nymen) : ddli[b].parentNode.insertBefore(nymen,ddli[b+1]);
}
kanvas.parentNode.replaceChild(d01,kanvas)
//menueditering()
dialogbox('vismenu')
setmenuen()
}
function menurem (a,b) {
//alert('fjern : '+a + ' : ' + b);
if (a == 0 && b == -1) {alert('Dette menupunkt kan ikke fjernes !');return;}
if (!confirm('du vil fjerne menupunktet ? \nsikker ?\n(alle data under menupunktet, vil blive slettet)\n')) return;
remsti = "";
if (b == -1) {
remsti = dditems[a].getAttribute('src').replace(/ /,'+');
dditems[a].parentNode.removeChild(dditems[a])
} else {
ln = dditems[a].getElementsByTagName('link')[b];
remsti = dditems[a].getAttribute('src').replace(/ /,'+')+'/'+ln.getAttribute('src').replace(/ /,'+');
dditems[a].removeChild(ln)
} 
xhreqpost('http://w3.tormartin.dk/edit/sletmenu.php',gmstatus,remsti,'')
kanvas.parentNode.replaceChild(d01,kanvas)
//menueditering()
dialogbox('vismenu')
setmenuen()
}
function omdoeb(o,a,b) {
ib2 = document.createElement('input')
ib2.setAttribute('type','text')
ib2.setAttribute('size','16')
ib2.style.background = "#000080";
ib2.style.color = "#fff"
ib2.style.marginLeft = "3px"
if (b == -1) {
ib2.setAttribute('value',dditems[a].getAttribute('name'))
o.parentNode.replaceChild(ib2,o)
ib2.focus();
ib2.onkeypress = eval("function (e) {if (e.keyCode == 13) {ib2.parentNode.replaceChild(o,ib2);if (ib2.value != '' ) {o.innerHTML = ib2.value; dditems[a].setAttribute('name',ib2.value);setmenuen();}}}")
//husk opdater menudiv !
} else {
ib2.setAttribute('value',dditems[a].getElementsByTagName('link')[b].getAttribute('name'))
o.parentNode.replaceChild(ib2,o)
ib2.focus();
ib2.onkeypress = eval("function (e) {if (e.keyCode == 13) {ib2.parentNode.replaceChild(o,ib2);if (ib2.value != '') {o.innerHTML = ib2.value;dditems[a].getElementsByTagName('link')[b].setAttribute('name',ib2.value);setmenuen();}}}")
}
}
function gemmenu() {
s = '<?xml version="1.0"?>'+"\n<menu>\n"
for (i=0;i<dditems.length;i++) {
s += '<item name="'+dditems[i].getAttribute('name')+'" src="'+dditems[i].getAttribute('src').replace(/ /g,"+")+'"'
if (dditems[i].hasChildNodes()) {
    s += '>'
    ddl = dditems[i].getElementsByTagName('link')
    for (j=0;j<ddl.length;j++) s += "\n<link name=\""+ddl[j].getAttribute('name')+'" src="'+ddl[j].getAttribute('src').replace(/ /g,"+")+'"/>'
    s += "\n</item>\n"
    } else s += "/>\n"
}
s += "</menu>\n"
return s
}
function opdatermenu(x) {
//xhreqpost(serverstr,func,str,fil)
xhreqpost('http://w3.tormartin.dk/edit/gemmenu.php',gmstatus,x,'')
}
function gmstatus() {
if (http.readyState == 4) {
    notits(http.responseText,3000)
if (genlad) {location.reload(true);genlad=false;}
}
}
var htmlnottext = true;
function togglehtml(iframeid) {
if (htmlnottext) {
ifcontent = document.getElementById('der').contentWindow.document.body.innerHTML
document.getElementById('der').contentWindow.document.body.textContent = ifcontent
} else {
ifcontent = document.getElementById('der').contentWindow.document.body.textContent
document.getElementById('der').contentDocument.execCommand('selectall',false,null)
document.getElementById('der').contentDocument.execCommand('delete',false,null)
document.getElementById('der').contentDocument.execCommand('inserthtml',false,ifcontent)
}
htmlnottext = (htmlnottext) ? false : true ;
}
function dialogbox (dbfkt) {
d0 = document.getElementById('mdiv0');
hd0 = document.defaultView.getComputedStyle(d0,null).getPropertyValue('height');
bd0 = document.defaultView.getComputedStyle(d0,null).getPropertyValue('width');
absp = absposition(d0);
ld0 = absp[0];
td0 = absp[1];
kanvas = document.createElement('div');
kanvas.style.top = td0;
kanvas.style.left = ld0
kanvas.style.width = bd0
//kanvas.style.height = hd0
kanvas.style.background = '#ffeecc';//#08c
kanvas.style.paddingBottom = "10px"
eval('kanvas.innerHTML = '+dbfkt+'()')
d01 = d0.parentNode.replaceChild(kanvas,d0)
}
function testing() {
okcanc = "<center><h2>hello</h2></center><center><input style=\"cursor:pointer;\" type=\"button\" value=\"OK\" onclick=\"kanvas.parentNode.replaceChild(d01,kanvas);\"/><input style=\"margin-left: 4px;cursor:pointer;\" type=\"button\" value=\"Fortryd\" onclick=\"kanvas.parentNode.replaceChild(d01,kanvas);\"/></center>";
return okcanc
}
/*function viscss() {
ttt2 = csshttpresp.getElementsByTagName('sel');
cssvari = ''
for (i=0;i<ttt2.length;i++) {
cssvari += ttt2[i].getAttribute('name')
}
return (cssvari + testing())
}*/
function vismenu() {
	document.getElementById('l1.html').style.visibility = 'hidden'
	a1 = ''
	a1 += '<span onclick="omdoeb(this,0,-1);" style="margin-left: 100px;margin-top:3px;width: 150px;color: #996699;font-weight:bold;">'+dditems[0].getAttribute('name')+'</span><span onclick="addmenu(0,-1);" style="cursor:pointer;margin-left:10px;color:#996699;font-weight:bold;"><img style="vertical-align:middle;" src="ikoner/add.png"/><br/>';
	for (i=1;i<dditems.length;i++) {
	if (dditems[i].hasChildNodes()) {
	ddlink = dditems[i].getElementsByTagName('link');
	a1 += '<span onclick="omdoeb(this,'+i+',-1);" style="margin-left: 100px;margin-top:3px;width: 150px;color: #996699;font-weight:bold;">'+dditems[i].getAttribute('name')+'</span><span onclick="addlevel1menu('+i+',-1);" style="cursor:pointer;margin-left:10px;"><img style="vertical-align:middle;" src="ikoner/text_indent.png"/></span><span onclick="addmenu('+i+',-1);" style="cursor:pointer;margin-left:10px;color:#996699;font-weight:bold;"><img style="vertical-align:middle;" src="ikoner/add.png"/></span><span onclick="menurem('+i+',-1);" style="cursor:pointer;margin-left:10px;color:white;font-weight:bold;"><img style="vertical-align:middle;" src="ikoner/delete.png"/></span><br/>';
	for (j=0;j<ddlink.length;j++) {
	a1 += '<span onclick="omdoeb(this,'+i+','+j+');" style="margin-left: 110px;margin-top:3px;width: 150px;color: #996699;font-weight:bold;">'+ddlink[j].getAttribute('name')+'</span><span onclick="addmenu('+i+','+j+');" style="cursor:pointer;margin-left:10px;color:white;font-weight:bold;"><img style="vertical-align:middle;" src="ikoner/add.png"/></span><span onclick="menurem('+i+','+j+');" style="cursor:pointer;margin-left:10px;color:#996699;font-weight:bold;"><img style="vertical-align:middle;" src="ikoner/delete.png"/></span><br/>';
	}
	} else {
	a1 += '<span onclick="omdoeb(this,'+i+',-1);" style="margin-left: 100px;margin-top:3px;width: 150px;color: #996699;font-weight:bold;">'+dditems[i].getAttribute('name')+'</span><span onclick="addlevel1menu('+i+',-1);" style="cursor:pointer;margin-left:10px;"><img style="vertical-align:middle;" src="ikoner/text_indent.png"/></span><span onclick="addmenu('+i+',-1);" style="cursor:pointer;margin-left:10px;color:white;font-weight:bold;"><img style="vertical-align:middle;" src="ikoner/add.png"/></span><span onclick="menurem('+i+',-1);" style="cursor:pointer;margin-left:10px;color:#996699;font-weight:bold;"><img style="vertical-align:middle;" src="ikoner/delete.png"/></span><br/>';
	}
	}

	a1 += '<center><input style="cursor:pointer;" type="button" value="OK" onclick="kanvas.parentNode.replaceChild(d01,kanvas);document.getElementById(\'l1.html\').style.visibility = \'visible\';opdatermenu(gemmenu());"/><input style="margin-left: 4px;cursor:pointer;" type="button" value="Fortryd" onclick="kanvas.parentNode.replaceChild(d01,kanvas);document.getElementById(\'l1.html\').style.visibility = \'visible\';"/></center>'
return '<center><span style="width:100%;color:#996699;font-size: 22pt;">Menu Editor</span></center>' + a1
}
