
var map;

vline = "vline.gif"; // vertikale Linie
tline = "tline.gif"; // T-Linie = vertikale Linie mit horizontalem Abzweig nach rechts
tline_auf = "tline_auf.gif"; // T-Linie geöffnet = mit Minus-Symbol
tline_zu = "tline_zu.gif"; // T-Linie geöffnet = mit Plus-Symbol
aline = "aline.gif"; // Eck-Linie = Linie die von oben kommt und sich nach rechts fortsetzt
aline_auf = "aline_auf.gif"; // Eck-Linie geöffnet = mit Minus-Symbol
aline_zu = "aline_zu.gif"; // Eck-Linie geöffnet = mit Plus-Symbol

sitemap_outerframe= "inhalt";
sitemap_innerframe= "sitemap";

function Sitemap(icon, child) {
  this.icon=icon;
  this.child=child;
  this.host=self.name;
  this.tiefe = (child==null) ? 1 : (1+getTiefe(child));
}
function getTiefe(node) {
  return max((node.child==null ? 1 : 1+getTiefe(node.child)), 
             (node.next==null  ? 0 : getTiefe(node.next)));
}
function max(m,n) {
  return (m>n) ? m : n;
}

function Node(text, icon, url, ziel, child, next) {
  this.text=text;
  this.icon=icon;
  this.url=url;
  this.ziel=ziel;
  this.child=child;
  this.next=next;
  this.open=false;
}

function show() {

  site=frames["sitemap"].window.document;
//  site.open("text/html");

  //BODY (Textfarbe/Hintergrundfarbe/Hintergrundbild)
//   site.write("<HTML>\n");
//   site.write("<BODY");
//   if (hgfarbe!=null) site.write(" bgcolor=#"+hgfarbe);
//   if (textfarbe!=null) site.write(" text=#"+textfarbe);
//   if (hgbild!=null) site.write(" background=\""+hgbild+"\"");
//   site.write(">");
   site.write("<CENTER><BR>\n");
  //STYLE (Linkfarbe/Hoverfarbe)
   site.write("<STYLE><!-- A{text-decoration:none");
   if (linkfarbe!=null) site.write(";color:#"+linkfarbe);
   site.write("}");
   if (hoverfarbe!=null) site.write(" A:hover{color:#"+hoverfarbe+"}");
   site.write(" //--></STYLE>\n");
  //HR-Linie
   site.write("<HR width=\"75%\"><BR>\n");
  //TABLE
   site.write("<TABLE border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n");
  //Root-Icon
   iconparam=" width=\""+iconbreite+"\" height=\""+iconhoehe+"\" align=\"top\"";
   site.write("<TR><TD><IMG src=\""+map.icon+"\""+iconparam+"></TD></TR>\n");

  strukt = new Array();
  code = 1;
  showNode(map.child,1,strukt,map.tiefe,code);

  //Ende der Tabelle
   site.write("</TABLE>\n");
  //HR-Linie
   site.write("<BR><HR width=\"75%\">\n");
  //Ende der Seite
//   site.write("</BODY>\n");
//   site.write("</HTML>");
//  site.close();

}

function showNode(node,ebene,strukt,tiefe,code) {
  // Zeile
  site.write("<TR><TD align=\"left\" valign=\"middle\"><NOBR>"); 

    // Linien vertikal
    for (i=1; i<ebene; i++) 
      if (strukt[i]==1) site.write("<IMG src=\"" + vline + "\""+iconparam+">");
       else site.write("<IMG src=\"../sitemap/dummy.gif\""+iconparam+">");

    //T-Stück (+ oder -) oder Winkel
    if (node.next!=null) {
      if (node.child==null) site.write("<IMG src=\"" + tline + "\""+iconparam+">");
        else if (node.open) site.write("<A href=\"javascript:parent.klappeZweig("+code+")\"><IMG src=\"" + tline_auf + "\""+iconparam+" border=\"0\"></A>");
          else site.write("<A href=\"javascript:parent.klappeZweig("+code+")\"><IMG src=\"" + tline_zu + "\""+iconparam+" border=\"0\"></A>");
    } else {
      if (node.child==null) site.write("<IMG src=\"" + aline + "\""+iconparam+">");
        else if (node.open) site.write("<A href=\"javascript:parent.klappeZweig("+code+")\"><IMG src=\"" + aline_auf + "\""+iconparam+" border=\"0\"></A>");
          else site.write("<A href=\"javascript:parent.klappeZweig("+code+")\"><IMG src=\"" + aline_zu + "\""+iconparam+" border=\"0\"></A>");
    }

    //Link-Anfang
    if (node.url!=null) site.write("<A href=\""+node.url+"\" target=\""+node.ziel+"\">");

    //Icon
    site.write("<IMG src=\""+node.icon+"\""+iconparam+" border=\"0\">");

    //Text
    if (schrift!=null||schriftgr!=null) {
      site.write("<FONT");
      if (schrift!=null) site.write(" face=\""+schrift+"\"");
      if (schriftgr!=null) site.write(" size=\""+schriftgr+"\"");
      site.write(">"); 
    }
    if (schriftart%2==1) site.write("<I>");
    if (schriftart>=2) site.write("<B>");
    site.write("&nbsp;"+node.text);
    if (schriftart>=2) site.write("</B>");
    if (schriftart%2==1) site.write("</I>");
    if (schrift!=null||schriftgr!=null) site.write("</FONT>");

    //Link-Ende
    if (node.url!=null) site.write("</A>");

  // Ende Zeile
  site.write("</NOBR></TD></TR>\n");
  
  if (node.child!=null && node.open) {
    strukt[ebene] = (node.next==null) ? 0 : 1;
    showNode(node.child,ebene+1,strukt,tiefe,25*code+1);
  } 
  if (node.next!=null) showNode(node.next,ebene,strukt,tiefe,code+1);
}

function klappeZweig(code) {
  stelle = new Array();
  i = 0;
  while (code>=1) {
    stelle[i]=code%25;
    code/=25;
    i++;
  }
  i--;

  //alert(stelle+"\n\n"+i);

  node=map.child;
  for (c=0;c<=stelle[i]-2;c++) node=node.next;
  i--;
  while (i>=0) {
    node=node.child;
    for (c=0;c<=stelle[i]-2;c++) node=node.next;
    i--;
  }

  node.open=!(node.open);

  //show();
  window.open( "sitemap_start.htm", "sitemap" );
}













