function CLASS_SIDEBAR_ELEMENT(p_root,p_index)
{
  //Öffentliche Variablen
  this.className = "sidebar_element";
  this.root = p_root;
  this.label="";
  this.active = false;
  this.index = p_index;
  this.box = 2;
  this.content = "";
  this.height = 170;
  this.onshow = "";
  this.action = new Array();
  this.Zeilen = 0;
  this.arrow_img;
  this.fenster_div;
  this.bg_div;
  this.content_div;
  this.label_span;

  //Private Variablen

 
  //Öffentliche Methoden
  this.init_from_xml = function(xml){
  var xml = xml.childNodes;
  var i=0;
  for(var counter=0;counter<xml.length;counter++) {
    if (xml[counter].firstChild){
    switch(xml[counter].nodeName.toLowerCase()){
      case "action":
        this.action.push(xml[counter].firstChild.nodeValue);
        break; 
      case "label":
        this.label = xml[counter].firstChild.nodeValue;
        break;
      case "box":
        this.box = xml[counter].firstChild.nodeValue;
        break;
      case "content":
        this.content = xml[counter].firstChild.nodeValue;
        break;
      case "height":
        this.height = xml[counter].firstChild.nodeValue;
        break;
      case "onshow":
        this.onshow = xml[counter].firstChild.nodeValue;
        break;
	  case "zeilen":
        this.Zeilen = xml[counter].firstChild.nodeValue;
      break;
    }  
	}
  }
  }
  this.draw = function(){
      
    this.fenster_div = document.createElement("div");
    this.fenster_div.className = this.className;
	this.fenster_div.style.height = 25+10*this.Zeilen;
    this.fenster_div.obj = this;

    this.bg_div = document.createElement("div");
    this.bg_div.className = "bg";
    this.bg_div.style.backgroundColor = this.root.color;
    this.bg_div.style.filter="alpha(opacity:" + (this.root.element_alpha*100) + ")";
    this.bg_div.style.KHTMLOpacity = this.root.element_alpha;
    this.bg_div.style.MozOpacity = this.root.element_alpha;
    this.bg_div.style.opacity = this.root.element_alpha;
    
    this.hl_div = document.createElement("div");
    this.hl_div.className = "hl";
    
	
        this.label_span = document.createElement("span");
        this.label_span.innerHTML = this.label;
        this.hl_div.appendChild(this.label_span);
        
        this.arrow_img = document.createElement("img");
        this.arrow_img.className = "arrow_image";
        this.arrow_img.src = sidebar_arrow_down;
  
        
        this.hl_div.appendChild(this.arrow_img);
        
        this.content_div = document.createElement("div");
        this.content_div.className = "content";
		this.content_div.style.marginTop = 10*this.Zeilen;
        this.content_div.innerHTML = this.content;
        initLinks(this.content_div);
        
        this.label_span.onselectstart = "return false";
        
    this.fenster_div.appendChild(this.bg_div);
    this.fenster_div.appendChild(this.hl_div);
    this.fenster_div.appendChild(this.content_div);

    //this.fenster_div.appendChild(this.bg_div);
    this.hl_div.onclick = this.click_event;
    this.hl_div.onmouseout = this.hover_event_out;
    this.hl_div.onmouseover = this.hover_event_over;
    
    if (this.box == 1){
      this.root.box1_div.appendChild(this.fenster_div);
    }else{
      this.root.box2_div.appendChild(this.fenster_div);
    }
    if(this.onshow != ""){
      eval(this.onshow);
    }
  }
  this.click_event = function(e){
    var trigger = '';
    if(!e && event.srcElement) trigger= event.srcElement;
    else if(e.target) trigger = e.target;
  
    var target = trigger;
    for( var i = 0; i < 10; i++ ) {
      target = target.parentNode;
      if (target.className == "sidebar_element"){
        target = target.obj;
        break;
      }
    }
    target.click();
  }
  this.change_alpha = function(alpha){
      var bg = this.bg_div;
           
      if (document.all) {
              bg.style.opacity = alpha;
	            bg.style.filter = 'alpha(opacity='+(alpha*100)+')';
      } else if (document.getElementById) {
             bg.style.MozOpacity = alpha;
      }
  }
  this.click = function(){
    var bg = this.bg_div;
    
    if (this.active == true){
      set_oppacity_element(bg,this.root.element_alpha);
      this.active = false;
      this.fenster_div.style.height = 25+10*this.Zeilen;
      this.arrow_img.src = sidebar_arrow_down;
      this.root.active_element = null;
    }else{
      if (this.action.length != 0){
        for( var i = 0; i < this.action.length; i++ ) {
          show(this.action[i]);
        }
      }else{
          set_oppacity_element(bg,this.root.element_alpha_active);
          this.active = true;
          this.fenster_div.style.height = parseFloat(this.height)+10*parseFloat(this.Zeilen);
          this.arrow_img.src = sidebar_arrow_up;
          if (this.root.active_element != null){
            this.root.active_element.click();
          }
          this.root.active_element = this;        
      }
    }
  }
  this.hover_event_out = function(e){
      var trigger = '';
      if(!e && event.srcElement) trigger= event.srcElement;
      else if(e.target) trigger = e.target;
    
    var target = trigger;
    for( var i = 0; i < 10; i++ ) {
      target = target.parentNode;
      if (target.className == "sidebar_element"){
        target = target.obj;
        break;
      }
    }
    
      if (!target.active){
        var alpha = target.root.element_alpha;
        target.change_alpha(alpha);
      }
  }
  this.hover_event_over = function(e){
    var trigger = '';
    if(!e && event.srcElement) trigger= event.srcElement;
    else if(e.target) trigger = e.target;

    var target = trigger;
    for( var i = 0; i < 10; i++ ) {
      target = target.parentNode;
      if (target.className == "sidebar_element"){
        target = target.obj;
        break;
      }
    }
    if (!target.active){
      var alpha = target.root.element_alpha_active;
      target.change_alpha(alpha);
    }
  }
  //Private Methoden
}
