// Dette program er copyright (c) 1999 Niels Emmersen og må ikke kopieres, helt eller delvist, til andre domæner uden min tilladelse
// Skriv til mig på niels@emmersen.dk hvis du vil bruge programmet
// 
// This program is copyright (c) 1999 Niels Emmersen and may not be copied, whole or in part, to other domains without my permission
// Write me on niels@emmersen.dk if you want to use the program
//
// version 1.0 (first release) 19990909
//
//

   var pic=new Array(14);var entry=new Array();var i=0                               //variable til traedata.js
   document.write("<script language='javascript' src='"+traedata_fil+"'><\/script>") //hent traedata.js (data til træet)

   var trae_str=''                      //returvariablen, skal være global
   var struktur=new Array(entry.length) //kan ikke gøres lokal... jeg sværger!

   function billede(billedno,entryno) {if (billedno>8) {return "<img src='"+pic[billedno]+"' align=texttop border=0 alt='"+find_egenskab_str(2,entryno)+"'>"} else {return "<img src='"+pic[billedno]+"' align=texttop border=0>"}}
   function find_tekst (entryno) {if (entry[entryno].indexOf('%')!=-1) {return entry[entryno].substring(find_niveau(entryno),entry[entryno].indexOf('%'))} else {return entry[entryno].substring(find_niveau(entryno),entry[entryno].length)}}
   function indsaet(streng,tegn,indeks) {return streng.substring(0,indeks)+tegn+streng.substring(indeks+1,streng.length)}
   function find_niveau (entryno) {var i=0;while (entry[entryno].charAt(i)==' ') {i++};return i}
   function find_strukturlaengde(entryno) {var i=struktur[entryno].length-1; while (struktur[entryno].charAt(i)=='0') {i--};return i+1}
   function find_naeste_paa_niveau(entryno) {
    var i=entryno+1;var niveau=find_niveau(entryno);var fundet=-1;var temp=0
    while (i<=entry.length-1) {temp=find_niveau(i);if (temp<niveau) {fundet=-1;break};if (temp==niveau) {fundet=i;break};i+=1}
    return fundet
   }
   function find_naeste_under_niveau(entryno) {
    var i=entryno+1;var niveau=find_niveau(entryno);var fundet=-1;var temp=0
    while (i<=entry.length-1) {temp=find_niveau(i);if (temp<niveau) {fundet=i;break};i+=1}
    return fundet
   }
   function find_egenskab_str(egenskabno, entryno) {
    var temp=''
    if (entry[entryno].indexOf('%'+egenskabno)!=-1) {
     temp=entry[entryno].substring(entry[entryno].indexOf('%'+egenskabno)+2,entry[entryno].length)
     if (temp.indexOf('%')!=-1) {temp=temp.substring(0,temp.indexOf('%'))}
    }
    return temp
   }
   function dan_status_str(entryno) {return ' onMouseOver="javascript:status='+"'"+find_egenskab_str(2,entryno)+"'"+';return true" onMouseOut="javascript:status='+"'"+"'"+';return true">'}
   function dan_ikon_str(entryno) {
    var temp_str=billede(11,entryno)
    var test_str=find_egenskab_str(1,entryno)
    if (test_str.indexOf('@')!=-1) {temp_str=billede(13,entryno)}
    else {if (test_str.indexOf('http://')!=-1) {temp_str=billede(12,entryno)}}
    return temp_str
   }
   function dan_link_str(entryno) {
    var test_str=find_egenskab_str(1,entryno)//
    var temp_str='<a href="'+test_str+'"'+' target="sideramme" '+dan_status_str(entryno)
    if (test_str.indexOf('@')!=-1) {temp_str='<a href="mailto:'+test_str+'"'+dan_status_str(entryno)}
    if (test_str.indexOf('(')!=-1) {temp_str='<a href="javascript:top.'+test_str+'"'+dan_status_str(entryno)}
    return temp_str
   }

   function har_underniveau(entryno) {
    if (entryno==entry.length-1) {return false}
    if (entryno<=entry.length-2) {if (find_niveau(entryno)==find_niveau(entryno+1)-1) {return true} else {return false}}
   }

   function toggle_entry(entryno) {
    var i=0; while ((struktur[entryno].charAt(i)!='1')&&(struktur[entryno].charAt(i)!='2')&&(struktur[entryno].charAt(i)!='6')&&(struktur[entryno].charAt(i)!='7')) {i++}
    struktur[entryno]=indsaet(struktur[entryno],eval(eval(struktur[entryno].charAt(i))+5)%10,i)
    dan_trae_str()
    skriv_trae_str()
   }

   function dan_entry_str(entryno) {
    var entry_str=''
    for (j=0;j<=find_strukturlaengde(entryno)-1;j++) {
     if (struktur[entryno].charAt(j)=='0') {entry_str+=billede(0,entryno)}
     if (struktur[entryno].charAt(j)=='1') {entry_str+="<a href='javascript:top.toggle_entry("+entryno+")'"+dan_status_str(entryno)+billede(1,entryno)+billede(9,entryno)+" "}
     if (struktur[entryno].charAt(j)=='2') {entry_str+="<a href='javascript:top.toggle_entry("+entryno+")'"+dan_status_str(entryno)+billede(2,entryno)+billede(9,entryno)+" "}
     if (struktur[entryno].charAt(j)=='3') {entry_str+=billede(3,entryno)+dan_link_str(entryno)+dan_ikon_str(entryno)+' '}
     if (struktur[entryno].charAt(j)=='4') {entry_str+=billede(4,entryno)+dan_link_str(entryno)+dan_ikon_str(entryno)+' '}
     if (struktur[entryno].charAt(j)=='5') {entry_str+=billede(5,entryno)}
     if (struktur[entryno].charAt(j)=='6') {entry_str+="<a href='javascript:top.toggle_entry("+entryno+")'"+dan_status_str(entryno)+billede(6,entryno)+billede(8,entryno)+" "}
     if (struktur[entryno].charAt(j)=='7') {entry_str+="<a href='javascript:top.toggle_entry("+entryno+")'"+dan_status_str(entryno)+billede(7,entryno)+billede(8,entryno)+" "}
    }
    return entry_str
   }
   function dan_trae_str() {
    trae_str='<p><nobr>'
    var j=0;var naeste=0
    trae_str+=dan_link_str(0)+billede(10,0)+find_tekst(0)+'</a><br>'
    var entryno=1
    while (entryno<=entry.length-1) {
     naeste=entryno+1
     for (j=0;j<=find_strukturlaengde(entryno)-1;j++) {
      if (struktur[entryno].charAt(j)=='1') {naeste=find_naeste_paa_niveau(entryno)}
      if (struktur[entryno].charAt(j)=='2') {naeste=find_naeste_under_niveau(entryno)}
     }
     trae_str+=dan_entry_str(entryno)+find_tekst(entryno)+'</a><br>'
     if (naeste==-1) {break} else {entryno=naeste}
    }
    trae_str+='</nobr></p>'
   }

   function initialiser_trae() {
    var max_niveau=0
    for (var entryno=1;entryno<=entry.length-1;entryno++) {if (find_niveau(entryno)>max_niveau) {max_niveau=find_niveau(entryno)}}
    struktur[0]=''
    for (i=1;i<=max_niveau;i++) {struktur[0]+='0'}
    for (i=0;i<=entry.length-1;i++) {struktur[i]=struktur[0]}
    var til=0;var temp=0
    for (var entryno=1;entryno<=entry.length-1;entryno++) {
     til=find_naeste_paa_niveau(entryno)
     if (til==-1) {til=entryno}
     if (entryno!=-1) {
      temp=find_niveau(entryno)
      if (har_underniveau(entryno)) {struktur[entryno]=indsaet(struktur[entryno],'1',temp-1)} else {struktur[entryno]=indsaet(struktur[entryno],'3',temp-1)}
      for (var i=entryno+1;i<=til-1;i++) {struktur[i]=indsaet(struktur[i],'5',temp-1)}
     }     
     if (har_underniveau(til)) {struktur[til]=indsaet(struktur[til],'2',temp-1)} else {struktur[til]=indsaet(struktur[til],'4',temp-1)}
    }
    dan_trae_str(struktur)
   }
