okay ;-)
Her kommer itaijsmenu:
document.getElementById('itaijsmenudiv').innerHTML ='<table id="itaijsmenutab" cellspacing="0" class="itaimenutab"></table>';
var menuObj = new MenuObject("itaijsmenutab","menuObj");
/************************************************************************************************
© CopyRight Itai 2002
File : itaijsmenu.js
Content : Setup for menu.
HowToUse :
menuObj.nodestart("Insert nodetitel here") : starts a node
menuObj.addleaf("<Insert leaftitel here>","Insert url here","<Insert mouseover text here>","<Insert alternative target here>") creates a menuleaf (Link).
menuObj.nodeend() : ends a node
Remark for menuObj.nodestart parameter :
parameter 1:
The titel that will be visible on screen for the node.
Remarks for menuObj.addleaf parameters :
parameter 1:
The titel that will be visible on screen for the leaf.
parameter 2:
The url that the leaf will link to when clicked.
parameter 3:
The text that will appear when the mouse is hovering over the leaf.
(HTML <TITEL> TAG)
parameter 4:
Alternative target used if the linked page should open in a different location that default target.
Ex: "_blank" for new window.
To use default target : ""
Nesting example:
It is possible to nest nodes within each other:
menuObj.nodestart("Node 1");
menuObj.nodestart("Node 1.1");
menuObj.nodestart("Node 1.1.1");
menuObj.nodeend();
menuObj.nodeend();
menuObj.nodestart("Node 1.2");
menuObj.nodeend();
menuObj.nodeend();
************************************************************************************************/
menuObj.nodestart("Uddannelsen","uddannelsen.htm","Uddannelsen","");
menuObj.addleaf("Formål","uddannelsen.htm#formaal","Formål","");
menuObj.addleaf("Forløb","uddannelsen.htm#uddoversigt","Forløb","");
menuObj.addleaf("Indhold","uddannelsen.htm#indhold","Indhold","");
menuObj.addleaf("Præsentation","uddannelsen.htm#uddpraesog1saml","Præsentation","");
menuObj.addleaf("1. samlingsdag","uddannelsen.htm#udd1saml","1. samlingsdag","");
menuObj.addleaf("Intro-opgaver","uddannelsen.htm#uddindgangsopgaver","Intro-opgaver","");
menuObj.addleaf("Opgaveløsning","uddannelsen.htm#uddopgavelloesning","Opgaveløsning","");
menuObj.addleaf("Krav og tips","uddannelsen.htm#kravogtips","Krav og tips","");
menuObj.nodeend();
menuObj.addleaf("Landkort","landkort.htm","Landkort","");
menuObj.nodestart("Helhed - overblik","helhedoverblik/index.htm","Helhed - overblik","");
menuObj.addleaf("Oversigt over arbejdsmiljøområdet","helhedoverblik/arbejdsmiljoomradet.htm","Oversigt over arbejdsmiljøområdet","");
menuObj.addleaf("Aktører i arbejdsmiljøet","helhedoverblik/aktoreriarbejdsmiljoet.htm","Aktører i arbejdsmiljøet","");
menuObj.addleaf("Aktører i arbejdsmiljøet, bygge & anlæg","helhedoverblik/byggeanlagsmiljoaktorer.htm","Aktører i arbejdsmiljøet, bygge & anlæg","");
menuObj.addleaf("Love, aftaler og vejledninger","helhedoverblik/loveaftalervejledninger.htm","Love, aftaler og vejledninger","");
menuObj.addleaf("Arbejdsmiljølovene - historisk oversigt","helhedoverblik/arbejdsmiljolovenehistoriskset.htm","Arbejdsmiljølovene - historisk oversigt","");
menuObj.addleaf("Virksomhedens egen indsats","helhedoverblik/virksomhedensegenindsats.htm","Virksomhedens egen indsats","");
menuObj.addleaf("Systematisk arbejdsmiljøarbejde","helhedoverblik/systematiskarbejdsmiljo.htm","Systematisk arbejdsmiljøarbejde","");
menuObj.addleaf("Ordforklaringer","helhedoverblik/ordforklaring.htm","Ordforklaringer","");
menuObj.addleaf("Forkortelser","helhedoverblik/forkortelser.htm","Forkortelser","");
menuObj.nodeend();
menuObj.nodestart("Opgaver","opgaver/index.htm","Opgaver","");
menuObj.addleaf("Præsentations-<br />opgaven","opgaver/presentationsopgaven.htm","Præsentationsopgaven","");
menuObj.addleaf("Intro-opgaver","opgaver/introopgaver.htm","Intro-opgaver","");
menuObj.addleaf("* Sikkerheds-<br />gruppen","opgaver/sikkerhedsgruppen.htm","Sikkerhedsgruppen","");
menuObj.addleaf("* Sikkerheds-<br />organisationen","opgaver/sikkerhedsorganisationen.htm","Sikkerhedsorganisationen","");
menuObj.addleaf("Sikkerheds-<br />udvalget","opgaver/sikkerhedsudvalget.htm","Sikkerhedsudvalget","");
menuObj.addleaf("Holdninger til-<br />arbejdsmiljøet","opgaver/holdningertilarbejdsmiljoet.htm","Holdninger til arbejdsmiljøet","");
menuObj.addleaf("Kriterier for et<br />godt arbejdsmiljø","opgaver/kriterierforgodtarbejdsmiljoe.htm","Kriterier for et godt arbejdsmiljø","");
menuObj.addleaf("Pligter efter<br />arbejdsmiljøloven","opgaver/pligterefterarbejdmiljoeloven.htm","Pligter efter arbejdsmiljøloven","");
menuObj.addleaf("Rettigheder efter<br />arbejdsmiljøloven","opgaver/rettighederefterarbejdsmiljoeloven.htm","Rettigheder efter arbejdsmiljøloven","");
menuObj.addleaf("Samarbejdet i sikkerheds-<br />gruppen","opgaver/samarbejdetiSIG.htm","Samarbejdet i sikkerhedsgruppen","");
menuObj.addleaf("Samspillet med samarbejds-<br />udvalget m.fl.","opgaver/samspilmedSU.htm","Samspillet med samarbejdsudvalget m.fl.","");
menuObj.addleaf("Virksomhedens-<br />mål, rammer<br />og politikker —<br />og sikkerheds-<br /> gruppens arbejde","opgaver/viksomhedensmalrammerogpolitikker.htm","Virksomhedens mål, rammer og politikker – og sikkerhedsgruppens arbejde","");
menuObj.addleaf("Arbejdsplads-<br />vurdering (APV)","opgaver/arbejdspladsvurdering.htm","Arbejdspladsvurdering (APV)","");
menuObj.addleaf("Samarbejdet med eksterne aktører<br />om arbejdsmiljø","opgaver/samarbejdemedeksterne.htm","Samarbejdet med eksterne aktører om arbejdsmiljø","");
menuObj.addleaf("Opgaveløsning i<br />sikkerheds-<br />gruppen","opgaver/opgavelosningiSIG.htm","Opgaveløsning i sikkerhedsgruppen","");
menuObj.addleaf("Påvirkning til et<br />bedre arbejds-<br />miljø!","opgaver/pavirkningtilbedrearbmiljo.htm","Påvirkning til et bedre arbejdsmiljø!","");
menuObj.addleaf("Formidling","opgaver/formidling.htm","Formidling","");
menuObj.addleaf("Risikoanalyse og analyse af ulykker","opgaver/risikoulykker.htm","Risikoanalyse og analyse af ulykker","");
menuObj.addleaf("Kontrol og<br />instruktion","opgaver/kontrolinstruktion.htm","Kontrol og instruktion","");
menuObj.addleaf("Systematisk udvikling af arbejdsmiljøet","opgaver/systematiskudvikling.htm","Systematisk udvikling af arbejdsmiljøet","");
menuObj.nodeend();
menuObj.nodestart("Udviklingsmetoder","udviklingsmetoder/index.htm","Udviklingsmetoder","");
menuObj.addleaf("Informations-<br>søgning","udviklingsmetoder/informationssogning.htm","Informations-<br>søgning","");
menuObj.addleaf("Problemløsning","udviklingsmetoder/problemlosning.htm","Problemløsning","");
menuObj.addleaf("Metoder til at<br> udvikle arbejdsmiljøet","udviklingsmetoder/metodertilarbejdsmoljoet.htm","Metoder til at<br> udvikle arbejdsmiljøet","");
menuObj.addleaf("Virksomhedens<br> mål,rammer og<br> politikker","udviklingsmetoder/virksomhedensmalrammerpolitikker.htm","Virksomhedens<br> mål,rammer og<br> politikker","");
menuObj.addleaf("Påvirkning","udviklingsmetoder/pavirkningmetoder.htm","Påvirkning","");
menuObj.addleaf("Formidling","udviklingsmetoder/formidlingmetoder.htm","Formidling","");
menuObj.addleaf("Overvågning og kontrol<br> af arbejds-<br>forholdene","udviklingsmetoder/overvagningkontrolarbejdsforhold.htm","Overvågning og kontrol<br> af arbejdsforholdene","");
menuObj.addleaf("Instruktion","udviklingsmetoder/instruktion.htm","Instruktion","");
menuObj.addleaf("Risiko og ulykkesanalyse","udviklingsmetoder/risikoulykkeanalyse.htm","Risiko og ulykkesanalyse","");
menuObj.addleaf("Arbejdsmiljø-<br>projekter","udviklingsmetoder/arbejdsmiljoprojekter.htm","Arbejdsmiljø-<br>projekter","");
menuObj.addleaf("Hvordan etableres en sikkerheds- organisation?","udviklingsmetoder/siohvordan.htm","Hvordan etableres en sikkerhedsorganisation?","");
menuObj.addleaf("Samarbejdet i sikkerheds<br>gruppen","udviklingsmetoder/samarbsikgruppen.htm","Samarbejdet i sikkerhedsgruppen","");
menuObj.nodeend();
menuObj.nodestart("Arbejdsmiljøemner","arbejdsmiljoemner/index.htm","Arbejdsmiljøemner","");
menuObj.addleaf("Forebyggelses-<br>principper","arbejdsmiljoemner/forebyggelsesprincipper.htm","Forebyggelsesprincipper","");
menuObj.addleaf("Arbejdsplads-<br>vurdering","arbejdsmiljoemner/arbejdspladsvurdering.htm","Arbejdspladsvurdering","");
menuObj.addleaf("Retsregler og vejledninger","arbejdsmiljoemner/retsreglervejledninger.htm","Retsregler og vejledninger","");
menuObj.addleaf("Ergonomi","arbejdsmiljoemner/ergonomi.htm","Ergonomi","");
menuObj.addleaf("Kemi","arbejdsmiljoemner/kemi.htm","Kemi","");
menuObj.addleaf("Biologiske forhold","arbejdsmiljoemner/biologiskeforhold.htm","Biologiske forhold","");
menuObj.addleaf("Indeklima","arbejdsmiljoemner/indeklima.htm","Indeklima","");
menuObj.addleaf("Støj","arbejdsmiljoemner/stoj.htm","Støj","");
menuObj.addleaf("Ensidigt gentaget arbejde","arbejdsmiljoemner/ensidigtgentagetarbejde.htm","Ensidigt gentaget arbejde","");
menuObj.addleaf("Psykisk arbejds-<br>miljø","arbejdsmiljoemner/psykiskarbejdsmiljo.htm","Psykisk arbejdsmiljø","");
menuObj.addleaf("Psykisk første-<br>hjælp","arbejdsmiljoemner/psykiskforstehjalp.htm","Psykisk førstehjælp","");
menuObj.addleaf("Førstehjælp","arbejdsmiljoemner/forstehjalp.htm","Førstehjælp","");
menuObj.addleaf("Certificering","arbejdsmiljoemner/certificering.htm","Certificering","");
menuObj.addleaf("Sikkerheds-<br>gruppens opgaver","arbejdsmiljoemner/sikkerhedsgruppensopgaver.htm","Sikkerhedsgruppens opgaver","");
menuObj.addleaf("Holdninger til arbejdsmiljø","arbejdsmiljoemner/holdningerarbejdsmiljo.htm","Holdninger til arbejdsmiljø","");
menuObj.addleaf("Kriterier for godt arbejdsmiljø","arbejdsmiljoemner/kriteriergodtarbejdsmiljo.htm","Kriterier for godt arbejdsmiljø","");
menuObj.addleaf("Ansvar og straf","arbejdsmiljoemner/ansvarstraf.htm","Ansvar og straf","");
menuObj.addleaf("Pligter og rettig-<br>heder ","arbejdsmiljoemner/pligterrettighederarbejdsmiljoloven.htm","Pligter og rettigheder efter arbejdsmiljøloven","");
menuObj.addleaf("Hvornår skal man have en<br />sikkerheds-<br />organisation?","arbejdsmiljoemner/SIOhvornar.htm","Hvornår skal man have en sikkerhedsorganisation?","");
menuObj.addleaf("Den almindelige sikkerheds- organisation","arbejdsmiljoemner/almideligSIO.htm","Den almindelige sikkerhedsorganisation","");
menuObj.addleaf("Sikkerhedsud-<br>valgets opgaver","arbejdsmiljoemner/sikkerhedsudvalgetsopgaver.htm","Sikkerhedsud-<br>valgets opgaver","");
menuObj.addleaf("Sikkerheds- organisationen - virksomhedsaftale","arbejdsmiljoemner/SIOvirksomhedsaftale.htm","Sikkerhedsorganisationen - virksomhedsaftale","");
menuObj.addleaf("Arbejdsmiljø<br>certifikat","arbejdsmiljoemner/arbejdsmiljocertifikat.htm","Arbejdscertifikat","");
menuObj.addleaf("Arbejdsmiljø<br>ledelse","arbejdsmiljoemner/arbejdsmiljoledelsen.htm","Arbejdsmiljøledelse","");
menuObj.addleaf("Gravide og<br>ammende","arbejdsmiljoemner/gravideammende.htm","Gravide og ammende","");
menuObj.addleaf("Rådgivningspåbud","arbejdsmiljoemner/radgivningspabud.htm","Rådgivningspåbud","");
menuObj.addleaf("Screening","arbejdsmiljoemner/screening.htm","Screening","");
menuObj.addleaf("Smileys","arbejdsmiljoemner/smileys.htm","Smileys","");
menuObj.addleaf("Sygefravær","arbejdsmiljoemner/sygefravar.htm","Sygefravær","");
menuObj.addleaf("Unge under 18","arbejdsmiljoemner/under18.htm","Unge under 18","");
menuObj.nodeend();
/**********************************************************************************************
© Copyright Itai 2002
Initial setup of menu parameters:
menuObj.setClosedNodeMarker() : sets visual marker for closed node.
menuObj.setOpenNodeMarker() : sets visual marker for open node.
menuObj.setLeafMarker() : sets visual marker for leaf.
menuObj.setLeafTarget() : sets the default target for leaf links(this can be
overridden in the individual leaf setup).
menuObj.setAutoCollapse() : sets if nodes shall collapse when another (not sub) node is clicked.
values are:
true - nodes will collapse.
false - nodes will stay open.
menuObj.setDivSize() : resizes menu background div to fit host frame.
window.onresize = menuObj.setDivSize : pointer to resize menu background div
when host frame is resized.
Additional styling:
see tu_menu_left.css
************************************************************************************************/
menuObj.setClosedNodeMarker(" ");
menuObj.setOpenNodeMarker(" ");
menuObj.setLeafMarker(" ");
menuObj.setLeafTarget("main");
menuObj.setAutoCollapse(true);
menuObj.setDivSize();
menuObj.paintmenu();
window.onresize = menuObj.setDivSize;
--------------------------------------------------
og her kommer itaimenuobject
/**********************************************************************************************
© Copyright Itai 2002
File: menu.html
Content: Javascript js file Imports.
HTML elements to contain and support the menu.
Styling:
see itaijsmenu.js
Additional styling:
see tu_menu_left.css
**********************************************************************************************/
/**********************************************************************************************
© Copyright Itai 2002
Security functions :
document.oncontextmenu = lock : pointer for event handler.
Prevents users from viewing code.
window.onload = checkframeset : Prevents users from executing 'deep' links.
**********************************************************************************************/
document.oncontextmenu = lock;
window.onload = checkframeset;
function lock() {
event.cancelBubble = true;
event.returnValue = false;
}
function checkframeset() {
if (window.parent.frames.length < 3) {
window.location = "default.htm";
}
}
// security functions end.
/**********************************************************************************************
© Copyright Itai 2002
Do Not Alter This File.
File: itaimenuobject.js
Content: Javascript objects for creating and displaying the menu
**********************************************************************************************/
// Node objekt
function MenuNode(id,titel,url){
var nodeid;
var nodetitel = "";
var pos = -1;
var nodeurl = "";
// array med menupunkter
var innerarray = new Array();
// set the parameters
setId(id);
setTitel(titel);
setUrl(url);
// Public Method Pointers
this.getId = getId;
this.getTitel = getTitel;
this.isNode = isNode;
this.addItem = addItem;
this.next = next;
this.reset = reset;
this.getItem = getItem;
this.getUrl = getUrl;
// Public methods
function getId(){return nodeid;}
function getTitel(){return nodetitel;}
function setId(paramid){nodeid = paramid;}
function setTitel(paramtitel){nodetitel = paramtitel;}
function setUrl(paramurl){nodeurl = paramurl;}
function getUrl(){return nodeurl;}
function isNode(){return true;}
function addItem(item){
innerarray[innerarray.length] = item;
}
function next(){
pos++;
if(pos < innerarray.length){
return true;
}else{
return false;
}
}
function getItem(){
return innerarray[pos];
}
function reset(){
pos = -1;
}
}
// Leaf objekt
function MenuLeaf(id,titel,url,motext,target){
var leaftitel;
var leafurl;
var leaftarget;
var leafmotext;
var leafid;
// set the parameters
setLeafId(id);
setTitel(titel);
setUrl(url);
setMoText(motext);
setTarget(target);
// Public Method Pointers
this.getId = getId;
this.getTitel = getTitel;
this.getUrl = getUrl;
this.getMoText = getMoText;
this.getTarget = getTarget;
this.isNode = isNode;
// private methods
function setLeafId(paramid){leafid = paramid;}
function setTitel(paramtitel){leaftitel = paramtitel;}
function setUrl(paramurl){leafurl = formaturl(paramurl);}
function setMoText(parammotext){leafmotext = parammotext;}
function setTarget(paramtarget){leaftarget = paramtarget;}
function formaturl(paramurl){
if(paramurl.substr(0,3) == "www"){
paramurl = "
http://" + paramurl;
}
return paramurl;
}
// Public methods
function getId(){return leafid;}
function getTitel(){return leaftitel;}
function getUrl(){return leafurl;}
function getMoText(){return leafmotext;}
function getTarget(){return leaftarget;}
function isNode(){return false;}
}
// Itai Menu Objekt
function MenuObject(basetabnavn,instansnavn){
var nodeid = 1000;
var leafid = 100;
var baseNode = new MenuNode(1000,"top");
var steparray = new Array();
var curNode = baseNode;
var instnavn = instansnavn;
var basetab = document.getElementById(basetabnavn);
var leaftarget = "";
var lastclicked = null;
var lastclickednode;
var opennodemarker = "-";
var closednodemarker = "+";
var leafmarker = " ";
var level = 0;
var autocollapse = true;
// Public Method Pointer
this.nodestart = nodestart;
this.nodeend = nodeend;
this.addleaf = addleaf;
this.setDivSize = setDivSize;
this.paintOpen = paintOpen;
this.paintmenu = paintmenu;
this.opennode = opennode;
this.closenode = closenode;
this.mousenode = mousenode;
this.mouseleaf = mouseleaf;
this.linkto = linkto;
this.nodelinkto = nodelinkto;
this.setLeafTarget = setLeafTarget;
this.getLeafTarget = getLeafTarget;
this.getOpenNodeMarker = getOpenNodeMarker;
this.getClosedNodeMarker = getClosedNodeMarker;
this.setOpenNodeMarker = setOpenNodeMarker;
this.setClosedNodeMarker = setClosedNodeMarker;
this.setLeafMarker = setLeafMarker;
this.getLeafMarker = getLeafMarker;
this.getMenu = getMenu;
this.getBaseNode = getBaseNode;
this.setAutoCollapse = setAutoCollapse;
this.isAutoCollapse = isAutoCollapse;
// Start på en node
function nodestart(nodename,nodeurl){
nodeid++;
newnode = new MenuNode(nodeid,nodename,nodeurl);
curNode.addItem(newnode);
steparray[steparray.length] = curNode;
curNode = newnode;
}
function addleaf(leafname,leafurl,leafmotext,leaftarget){
leafid++;
newleaf = new MenuLeaf(leafid,leafname,leafurl,leafmotext,leaftarget);
curNode.addItem(newleaf);
}
// slut på en node
function nodeend(){
curNode = steparray[steparray.length -1];
tmparray = new Array();
for(i=0;i<steparray.length-1;i++){
tmparray[i] = steparray[i];
}
steparray = tmparray;
}
// åbn menu på spec leaf
function paintOpen(nodearr,lid){
// tøm menu
level = 0;
while(basetab.rows.length != 0){
basetab.deleteRow(0);
}
paintOpenNode(baseNode,basetab,nodearr,lid)
}
function paintOpenNode(nodeitem,tab,keyarr,leid){
nodeitem.reset();
while(nodeitem.next()){
tmpitem = nodeitem.getItem();
r = tab.insertRow(-1);
cdummy = r.insertCell(-1);
c = r.insertCell(-1);
if(tmpitem.isNode()){
if(keyarr[level] == tmpitem.getId()){
if(keyarr.length == level+1){
c.innerHTML = "<table id='"+tmpitem.getId()+"'><tr><td><span class='itainodespacer' onclick='"+instnavn+".closenode(event);'>"+menuObj.getOpenNodeMarker()+"</span></td><td><span class='itainodeclicked' onclick='"+instnavn+".closenode(event);' onmouseover='"+instnavn+".mousenode(event);' onmouseout='"+instnavn+".mousenode(event);'>"+tmpitem.getTitel()+"</span></td></tr></table>";
try{lastclickednode.className = "itainode";}catch(e){}
//alert(c.firstChild.rows[1]);
//lastclickednode = c.firstChild.rows[1].firstChild;
//alert(c.firstChild.tagName);
}else{
c.innerHTML = "<table id='"+tmpitem.getId()+"'><tr><td><span class='itainodespacer' onclick='"+instnavn+".closenode(event);'>"+menuObj.getOpenNodeMarker()+"</span></td><td><span class='itainode' onclick='"+instnavn+".closenode(event);' onmouseover='"+instnavn+".mousenode(event);' onmouseout='"+instnavn+".mousenode(event);'>"+tmpitem.getTitel()+"</span></td></tr></table>";
}
level++;
paintOpenNode(tmpitem,c.firstChild,keyarr,leid);
}else{
c.innerHTML = "<table id='"+tmpitem.getId()+"'><tr><td><span class='itainodespacer' onclick='"+instnavn+".opennode(event);' onmouseover='"+instnavn+".mousenode(event);' onmouseout='"+instnavn+".mousenode(event);'>"+menuObj.getClosedNodeMarker()+"</span></td><td><span class='itainode' onclick='"+instnavn+".opennode(event);' onmouseover='"+instnavn+".mousenode(event);' onmouseout='"+instnavn+".mousenode(event);'>"+tmpitem.getTitel()+"</span></td></tr></table>";
}
}else{
if(tmpitem.getId() == leid){
c.innerHTML = "<table><tr><td class='itaileafspacer'>"+menuObj.getLeafMarker()+"</td><td><span id='"+tmpitem.getId()+"' class='itaileafclicked' title='"+tmpitem.getMoText()+"' onclick='"+instnavn+".linkto(event,\""+tmpitem.getUrl()+"\",\""+tmpitem.getTarget()+"\");'>"+tmpitem.getTitel()+"</span></td></tr></table>";
try{lastclicked = c.firstChild.rows(0).cells(1).firstChild;}catch(e){}
}else{
c.innerHTML = "<table><tr><td class='itaileafspacer'>"+menuObj.getLeafMarker()+"</td><td><span id='"+tmpitem.getId()+"' class='itaileaf' title='"+tmpitem.getMoText()+"' onmouseover='"+instnavn+".mouseleaf(event);' onmouseout='"+instnavn+".mouseleaf(event);' onclick='"+instnavn+".linkto(event,\""+tmpitem.getUrl()+"\",\""+tmpitem.getTarget()+"\");'>"+tmpitem.getTitel()+"</span></td></tr></table>";
}
}
}
}
//
//tegn menuen
function paintNode(nodeitem,tab){
nodeitem.reset();
while(nodeitem.next()){
tmpitem = nodeitem.getItem();
r = tab.insertRow(-1);
cdummy = r.insertCell(-1);
c = r.insertCell(-1);
if(tmpitem.isNode()){
c.innerHTML = "<table id='"+tmpitem.getId()+"'><tr><td><span class='itainodespacer' onclick='"+instnavn+".opennode(event);'>"+menuObj.getClosedNodeMarker()+"</span></td><td><span class='itainode' onmouseover='"+instnavn+".mousenode(event);' onmouseout='"+instnavn+".mousenode(event);' onclick='"+instnavn+".opennode(event);'>"+tmpitem.getTitel()+"</span></td></tr></table>";
}else{
c.innerHTML = "<table><tr><td class='itaileafspacer'>"+menuObj.getLeafMarker()+"</td><td><span id='"+tmpitem.getId()+"' class='itaileaf' title='"+tmpitem.getMoText()+"' onmouseover='"+instnavn+".mouseleaf(event);' onmouseout='"+instnavn+".mouseleaf(event);' onclick='"+instnavn+".linkto(event,\""+tmpitem.getUrl()+"\",\""+tmpitem.getTarget()+"\");'>"+tmpitem.getTitel()+"</span></td></tr></table>";
}
}
}
function setDivSize(){
d = basetab.parentNode;
//d.style.width = d.parentNode.offsetWidth-2;
//d.style.height = d.parentNode.offsetHeight-2;
}
function paintmenu(){
paintNode(baseNode,basetab);
}
function loadNodeUrl(id,node){
node.reset()
while(node.next()){
tmpnode = node.getItem();
if(tmpnode.isNode()){
if(tmpnode.getId() == id){
nodelinkto(tmpnode);
}else{
loadNodeUrl(id,tmpnode);
}
}
}
}
function findnode(id,node,tab){
node.reset()
while(node.next()){
tmpnode = node.getItem();
if(tmpnode.isNode()){
if(tmpnode.getId() == id){
paintNode(tmpnode,tab);
}else{
findnode(id,tmpnode,tab);
}
}
}
}
function opennode(e){
clickedelem = e.target || e.srcElement;
tabelem = clickedelem;
while(tabelem.tagName != "TABLE"){
tabelem = tabelem.parentNode;
}
findnode(tabelem.id,baseNode,tabelem);
tabelem.rows[0].cells[0].innerHTML = "<span class='itainodespacer' onclick='"+instnavn+".closenode(event);'>"+menuObj.getOpenNodeMarker()+"</span>";
tabelem.rows[1].cells[0].innerHTML = "<span class='itainode' onclick='"+instnavn+".closenode(event);' onmouseover='"+instnavn+".mousenode(event);' onmouseout='"+instnavn+".mousenode(event);'>"+tabelem.rows[1].firstChild.innerHTML+"</span>";
if(menuObj.isAutoCollapse()){
arr = getPathArray(tabelem);
paintOpen(arr,"");
}
loadNodeUrl(tabelem.id,baseNode);
}
function getPathArray(tabelem){
arr = new Array();
found = false;
pos = -1;
loopelem = tabelem;
while(!found){
try{
loopelem = loopelem.parentNode;
if(loopelem.tagName == "TABLE"){
if((loopelem.id!="")&&(loopelem.id!="undefined")&&(loopelem.id!=null)){
if(loopelem.id != basetab.id){
arr[arr.length] = loopelem.id;
}else{
found = true;
}
}
}
}catch(e){alert(e);found = true;}
}
arr.reverse();
if((tabelem.id != "")&&(tabelem.id != "null")&&(tabelem.id != "undefined")){
arr[arr.length] = tabelem.id;
}
return arr;
}
function closenode(e){
elem = e.target || e.srcElement;
while(elem.tagName != "TABLE"){
elem = elem.parentNode;
}
while(elem.rows.length > 1){
elem.deleteRow(elem.rows.length-1);
}
elem.rows[0].cells[1].firstChild.innerHTML = "<span class='itainode' onclick='"+instnavn+".opennode(event);' onmouseover='"+instnavn+".mousenode(event);' onmouseout='"+instnavn+".mousenode(event);'>"+elem.rows[0].cells[1].firstChild.innerHTML+"</span>";
elem.rows[0].cells[0].firstChild.innerHTML = "<span class='itainodespacer' onclick='"+instnavn+".opennode(event);'>"+menuObj.getClosedNodeMarker()+"</span>";
}
function mousenode(e){
elem = e.target || e.srcElement;
if((elem.className != "itainodespacer") && (elem.className != "itainodeclicked")){
if(e.type=="mouseover"){
elem.className = "itainodemover";
}else if(e.type == "mouseout"){
elem.className = "itainode";
}
}
}
function mouseleaf(e){
elem = e.target || e.srcElement;
if(e.type=="mouseover"){
elem.className = "itaileafmover";
}else if(e.type == "mouseout"){
elem.className = "itaileaf";
}
}
function nodelinkto(node){
if(node.getUrl() != ""){
var target = ""; //TODO tag nodetarget fra node
if((target == "") || (target == "undefined")){
target = menuObj.getLeafTarget();
}
//eval("parent."+target+".location.href = '"+url+"'");
document.getElementById('submitter').target = target;
document.getElementById('submitter').action = node.getUrl();
document.getElementById('submitter').submit();
}
}
function linkto(e,url,target){
elem = e.target || e.srcElement;
elem.className = "itaileafclicked";
try{
if(lastclicked != elem){
lastclicked.className = "itaileaf";
}
}catch(e){}
tabelem = elem;
if(menuObj.isAutoCollapse()){
while(tabelem.tagName != "TABLE"){
tabelem = tabelem.parentNode;
}
arr = getPathArray(tabelem);
paintOpen(arr,elem.id);
}
lastclicked = elem;
if((target == "") || (target == "undefined")){
target = menuObj.getLeafTarget();
}
//eval("parent."+target+".location.href = '"+url+"'");
document.getElementById('submitter').target = target;
document.getElementById('submitter').action = url;
document.getElementById('submitter').submit();
}
// Styring af default target start
function setLeafTarget(targetstring){
this.leaftarget = targetstring;
}
function getLeafTarget(){
return this.leaftarget;
}
// Styring af default target slut
// Styring af åben og luk markører
function setOpenNodeMarker(mrkstr){
this.opennodemarker = mrkstr;
}
function getOpenNodeMarker(){return this.opennodemarker;}
function setClosedNodeMarker(mrkstr){
this.closednodemarker = mrkstr;
}
function getClosedNodeMarker(){return this.closednodemarker;}
function setLeafMarker(mrkstr){
this.leafmarker = mrkstr;
}
function getLeafMarker(){return this.leafmarker;}
function getMenu(){return this;}
function getBaseNode(){return baseNode;}
function setAutoCollapse(flag){this.autocollapse = flag;}
function isAutoCollapse(){return this.autocollapse;}
//
}// Slut Itai menu Object