function gotoChapter(val){
  var spanList = document.getElementsByTagName('SPAN');
  var docDiv   = document.getElementById('documentContent');
  var top = docDiv.getAttribute("top");
  var tmp=docDiv;
  var  recursive=0;
  while (tmp != document.getElementsByTagName("BODY")[0]) {
  	recursive += tmp.offsetTop;
  	tmp = tmp.parentNode;
  }
  
  for ( i=0 ; i<spanList.length;i++){
   if (spanList[i].innerHTML == val ){    
   	    window.location="#documentContent";
        window.scrollBy(0,spanList[i].offsetTop-docDiv.offsetTop);
        return;
   }
 } 
}

function createWekaTOCTree(div) {

	var tree = new DynamicTree(div);
		
    tree.itemClick=function(a){
		var href = a.getAttribute("href",2);
		if (href && href != "" && href.substr(href.length-1,1) != "#") {
		  if ((href.indexOf("Inhaltsverzeichnis") >0) && (a.innerHTML != "Inhaltsverzeichnis")) {
		    gotoChapter(a.innerHTML);
		  }
		  else{
			document.location = href;
		  }
		} else {
			var img = this.findIMG(a.parentNode);
			this.internalImgClick(img);		
		}
		return false;
	}
	
	tree.imgClick=function(img,config){
		var children = img.getAttribute("children");
		var result = !children || children != "false";

		if (result) {
			var openIcon = img.getAttribute("openIcon");
			var closeIcon = img.getAttribute("closeIcon");
			if (config.opening) {
				if (openIcon) {
					var docPath = img.getAttribute("docPath");
					var temp = new Array();
					temp = docPath.split('/');
					if ( temp.length >= 3 )
					{
						var treeCont = document.getElementById(div);
						treeCont.style.height = "400px";
					}
					img.setAttribute("closeIcon", img.src);
					img.src = openIcon;
				}
			} else {
				if (closeIcon) {
					img.setAttribute("openIcon", img.src);
					img.src = closeIcon;
				}		
			}
		} else {
			var a = this.findA(img.parentNode);
			this.internalItemClick(a);
		}
		return result;
	}
		
		
	tree.resizeTreeContainer=function(){
		var d = document;
		var treeDiv = d.getElementById(div);
		if(treeDiv){
			var divs = d.getElementsByTagName("DIV");
			for(var i = 0; i < divs.length; i++) {
				if(divs[i].className == "secondColumn2"){
					var leftDiv = divs[i];
					if(treeDiv.offsetHeight <= leftDiv.offsetHeight){
						treeDiv.style.height = leftDiv.offsetHeight + "px";
					}
				}
			}
		}
	}

	tree.registerResizeEvent = function(e) {
		var w=window;
		if (w.attachEvent){
			w.attachEvent("onload",e);
		} else {
			w.addEventListener("load",e,false);
		}
	}
 	
 	return tree;
}