//========================Farben===========================================================================================
var
//Haupt:
ftgrau = "#808080" ;
lkorange = "#ff7000";
bghellblau = "#e8e8eb";
bgweissblau = "#f8f8f8";

//LinkeLinks:
lkgrau = "#808080" ;
lkweiss ="#ff7000";
bgmittelblau = "#f8f8f8";



//========================frame: linkeLinks=================================================================================
var aktli=null ;
var wp,wm,w0,gp,gm,g0;

function initLinks()  //von linkeLinks.html in onload aufgerufen.
{ var i;
  var urul,li,ul;
  var frb;

  //loadgifs();
  urul = document.getElementById("UL");
  for(i = 0; i < urul.childNodes.length; ++i)
  { frb = (i == 0) ? lkweiss : lkgrau ;
    li = urul.childNodes[i];
    if(li.nodeName == "LI")
    { ul = li.lastChild;
      if(ul.nodeName == "UL")
      { ul.style.display = "none";
        //setgif(li,"+",frb);
      }
      //else setgif(li,"0",frb);
    }
  }
}


function dynListe(e)    //Sorgt dafür, daß der Link "A" auch dann ausgeführt wird, wenn man das zugehörige "LI" oder (in Netscape) den "#text" anklickt.
{ var src = null;

  if(document.all)     // Internet Explorer
  { src = event.srcElement;
  }
  else if(document.getElementById)  // Netscape 6
  { src = e.target;
  }
  //DOM hoch bzw. runter bis "A" und Seite in "haupt" laden:
  if(src.nodeName == "#text") //Netscape
    src = src.parentNode;  //A.
  if(src.nodeName == "LI")
  { src = src.firstChild;
    if(src.nodeName == "A")
    {  parent.haupt.location.href = src.href;
    }
  }
  //Jetzt src.nodeName == "A", da aktli in jedem Fall von haupt aus bestimmt wird. Wenn das Laden des Bildes lange dauert, wird die Liste erst sehr spät aktualisiert.
}


function openListe() //bestimmt das Aussehen der Linkliste (auch) vom Hauptframe aus
{ var doc, vorfahr, aktul,kindul,kinda;
  doc = parent.linkeLinks.document;
  kindul = aktli.lastChild;     //UL oder leerer #text
  kinda = aktli.firstChild;

  //Alle "Geschwister", "Tanten" von aktli schließen und grau färben; für den Fall *,s.u.
  closeallTanten(aktli);

  //Farbe, Zeichen der Vorfahren von aktli
  vorfahr = aktli;
  while(vorfahr != doc.getElementById("UL"))
  { vorfahr = vorfahr.parentNode;
    if(vorfahr.nodeName == "LI")
    { setgif(vorfahr,"-",lkgrau);
    }
    if(vorfahr.nodeName == "UL")
    { vorfahr.style.display = "";   //Für den Fall *, s.u.
    }
  }
  //Nachkommen
  if (kindul.nodeName == "UL")
  { if (kindul.style.display == "none")
    { openUL(kindul);
      setgif(aktli,"-",lkweiss);
    }
    else
    { kindul.style.display = "none";
      setgif(aktli,"+",lkweiss);//oder lkweiss
    }
  }
  else
  { setgif(aktli,"0",lkweiss);//wenn kein kind-UL
  }
}

//Hilfsfunktionen

function openUL(ul)   //öffnet nur diese Liste und schließt alle darunterliegenden
{
  var i;
  var kindli, enkelul, vorfahr;

  //Farbe, Zeichen und Öffnen/Schließen der Nachkommen von ul
  if(ul.nodeName == "UL")
  { if(ul.style.display == "none")
    { ul.style.display = ""; //öffnet alles unterhalb ul
       for(i = 0; i < ul.childNodes.length; ++i)
      { kindli = ul.childNodes[i];
        enkelul = kindli.lastChild; //auch leerer #text möglich
        if(enkelul.nodeName == "UL")
        { enkelul.style.display = "none";     //schließt alles bis zum ersten Nachkommen.
          setgif(kindli,"+",lkgrau);
        }
        else
        { setgif(kindli,"0",lkgrau);
        }
      }
    }
  }
}

function closeallTanten(li)
{ var i;
  var neffeul,tantli,a,doc;
  doc = parent.linkeLinks.document;
  for(i = 0; i < doc.links.length;++i)
  { a = doc.links[i];
    tantli = a.parentNode;
    if(li != tantli)
    { neffeul = tantli.lastChild; //UL oder leer-#text
      if(neffeul.nodeName == "UL")
      { neffeul.style.display = "none";
        if(tantli.firstChild.style.color != lkgrau)
          setgif(tantli,"+",lkgrau)  ;
      }
      else
      { if(tantli.firstChild.style.color != lkgrau)
          setgif(tantli,"0",lkgrau);
      }
    }
  }
}

function setgif(li,zeichen,farbe)
{ var kinda;
  kinda = li.firstChild;
  if(kinda.nodeName == "A")
  { kinda.style.color = farbe;
  }
  if(farbe == lkgrau)
  { switch(zeichen)
    { case "+": li.style.listStyleImage = gp; break;
      case "-": li.style.listStyleImage = gm; break;
      default: li.style.listStyleImage = g0;
    }
  }
  if(farbe == lkweiss)
  { switch(zeichen)
    { case "+": li.style.listStyleImage = wp; break;
      case "-": li.style.listStyleImage = wm; break;
      default: li.style.listStyleImage = w0;
    }
  }
}

function loadgifs()
{ g0 = "url('../Grafikdateien/Gif/Grleer2.gif')";
  gm = "url('../Grafikdateien/Gif/Grminus2.gif')";
  gp = "url('../Grafikdateien/Gif/Grplus2.gif')";
  w0 = "url('../Grafikdateien/Gif/Wsleer2.gif')";
  wm = "url('../Grafikdateien/Gif/Wsminus2.gif')";
  wp = "url('../Grafikdateien/Gif/Wsplus2.gif')" ;
}

//================================================haupt======================================================================
function showLink()
//für "Zurück-Button oder Links in Haupt: Welcher Link aus linkeLinks.html ruft diese Seite auf?'
{ var i;
  var doc;
  var a ;

  loadgifs();
  //aktli in linkeLinks von Haupt aus feststellen:
  doc = parent.linkeLinks.document;
  a = doc.links[0];
  i =0;
  while((i < doc.links.length)&&(doc.links[i].href != document.location.href))
  { ++i;
  }
  if(doc.links[i].href == document.location.href)
  { a = doc.links[i];
  }
  aktli = a.parentNode;
  openListe();

  if(document.getElementsByName("streifen").length > 0)
    streifTab();
}


//* Das ist der Fall, dass man die Seite auch durch Anklicken eines Links in haupt laden kann. Falls dieser Link auf einen
//Unterlink einer in linkeLinks geschlossenen UL-Liste zeigt, dann öffnet sich diese jetzt endlich auch.

//=========================================gestreifte Tabellen===========================================================
function streifTab()
{ var anker,tbody, tr, td,txt;
  var i,j,k;
  var altfrb, neufrb;

  anker = document.getElementsByName("streifen");
  for(i = 0; i < anker.length; ++i)      //i durchläuft ganze Tabellen
  { tbody = anker[i].nextSibling.lastChild;
    altfrb = bghellblau;
    for(j = 0; j < tbody.childNodes.length; ++j)    //j alle Tabellenzeilen
    { tr = tbody.childNodes[j];
      if(tr.nodeName == "TR")
      { td = tr.firstChild;
        txt = td.firstChild;
        if(txt.length > 3) //Neues Datum.
        { neufrb =  (altfrb == bghellblau) ? bgweissblau  : bghellblau;
          altfrb = neufrb;
        }
        for(k = 0; k < tr.childNodes.length; ++k) //k alle td-Zellen einer Zeile
        { td = tr.childNodes[k];
          if(td.nodeName == "TD") td.style.backgroundColor = neufrb;
        }
      }
    }
  }
}

