var items = createItems();
var sel1 = 0;
var sel2 = 0;
var sel3 = 0;
var sel4 = 0;

function Entry(name, children, data, content, composite) {
	this.name=name;
	this.children=children;
	this.data=data;
	this.content=content;
	this.composite=composite;
}

function Content(content, type, description) {
	this.content=content;
	this.type=type;
	this.description=description;
}

function createItems() {
	var item = new Entry("bergbuero", createItem2(), null, null, true);
	return item;
}

function createItem2() {
	var item2 = new Array(new Entry("ding", createItem3(0), null, null, true),
	                      new Entry("feld", createItem3(1), null, null, true),
	                      new Entry("person", createItem3(2), null, null, true));
	return item2;
}

function createItem3(pos) {
	var item3 = null;
	if(pos==0) {
		item3 = new Array(new Entry("planwagen", createItem4(0,17), null, null, true),
						  new Entry("weiss", createItem4(0,14), null, null, true),
						  new Entry("jos studio", createItem4(0,12), null, null, true),
						  new Entry("jacobs box", createItem4(0,13), null, null, true),
						  new Entry("kollege", createItem4(0,11), null, null, true),
						  new Entry("kinder", createItem4(0,15), null, null, true),
						  new Entry("tepee", createItem4(0,16), null, null, true),
		                  new Entry("illustration", createItem4(0,10), null, null, true),
						  new Entry("june", createItem4(0,0), null, null, true),
		                  //new Entry("bing", createItem4(0,1), null, null, true),
		                  //new Entry("gruppe mit hunden", createItem4(0,2), null, null, true),
		                  //new Entry("mode fuer moebel", createItem4(0,4), null, null, true),
		                  //new Entry("blume", createItem4(0,6), null, null, true),
		                  //new Entry("torsolino", createItem4(0,5), null, null, true),
		                  //new Entry("paravent", createItem4(0,7), null, null, true),
		                  //new Entry("paperplanelamp", createItem4(0,8), null, null, true),
		                  new Entry("schwan", createItem4(0,3), null, null, true));
		                  //new Entry("luzi", createItem4(0,9), null, null, true));
	} else if(pos==1) {
		item3 = new Array(//new Entry("gestaltungskonzepte", null, null, false),
						  //new Entry("raum + produkt", null, null, false),
						  //new Entry("", null, null, false),
						  //new Entry("corporate design", null, null, false),
						  //new Entry("text + illustration", null, null, false),
						  //new Entry("freie kunst", null, null, false));
						  new Entry("ordnende moebel", createItem4(1,0), null, false),
						  new Entry("", null, null, false),
						  new Entry("illustration", createItem4(1,0), null, false));
	} else if(pos==2) {
		item3 = new Array(new Entry("christoph beyer", createItem4(2,0), null, false),
						  new Entry("diplomdesigner (fh)", null, null, false),
						  new Entry("bergbuero", null, null, false),
						  new Entry("schreibergasse 26", null, null, false),
						  new Entry("08289 schneeberg", null, null, false),
						  new Entry("germany", null, null, false),
						  new Entry("+49(0)1743222032", null, null, false),
						  new Entry("post@bergbuero.de", null, null, false));
	}
	return item3;
}

function createItem4(pos0, pos1) {
	var item4 = null;
	if(pos0==0) {
		switch(pos1) {
		case 0:
			item4 = new Array(new Entry("1",null,new Array("installation"), new Content("bilder/june/june1.gif",1,null), true),
						      new Entry("2",null,new Array("installation"), new Content("bilder/june/june3.gif",1,null), true),
						      new Entry("3",null,new Array("installation"), new Content("bilder/june/june2.gif",1,null), true),
						      new Entry("4",null,new Array("installation"), new Content("bilder/june/june4.gif",1,null), true)
//						      new Entry("clip",null,new Array("installation"), new Content("mov/june-clip.mov",2,null), true)
						      );
			break;			      
		case 1:
			item4 = new Array(new Entry("1",null,new Array("installation"), new Content("bilder/bing/bing1.gif",1,null), true),
						      new Entry("2",null,new Array("installation"), new Content("bilder/bing/bing2.gif",1,null), true),
						      new Entry("3",null,new Array("installation"), new Content("bilder/bing/bing3.gif",1,null), true)
						      );
			break;			      
		case 2:
			item4 = new Array(new Entry("1",null,new Array("installation"), new Content("bilder/gruppemithunden/hund4.jpg",1,null), true),
						      new Entry("2",null,new Array("installation"), new Content("bilder/gruppemithunden/hunde3.jpg",1,null), true)
//						      new Entry("clip",null,new Array("installation"), new Content("mov/hundeweb.mov",2,null), true)
						      );
			break;			      
		case 3:
			item4 = new Array(new Entry("1",null,new Array("ode an den schwan","  ","in wundersamer weise","ziehst du","oh wunderweisse pracht","deine kreise"), new Content("bilder/schwan/schwan1.gif",1,null), true),
						      new Entry("2",null,null, new Content("bilder/schwan/schwan2.gif",1,null), true),
						      new Entry("3",null,null, new Content("bilder/schwan/schwan3.gif",1,null), true),
						      new Entry("4",null,null, new Content("bilder/schwan/schwan4.gif",1,null), true));
			break;			      
		case 4:
			item4 = new Array(new Entry("1",null,new Array("mdf melaminharzbeschichtet cnc-gefraest + kabelbinder"), new Content("bilder/modefuermoebel/white-table.jpg",1,null), true),
						      new Entry("2",null,new Array("mdf cnc-gefraest + silikonkautschuk + kabelbinder"), new Content("bilder/modefuermoebel/red-table.jpg",1,null), true),
						      new Entry("3",null,new Array("mdf melaminharzbeschichtet cnc-gefraest + kabelbinder"), new Content("bilder/modefuermoebel/gray-table.jpg",1,null), true),
						      new Entry("4",null,new Array("mdf melaminharzbeschichtet cnc-gefraest + kabelbinder"), new Content("bilder/modefuermoebel/stool.jpg",1,null), true));
			break;			      
		case 5:
			item4 = new Array(new Entry("1",null,new Array("spielzeugteile + kunststoffschnur"), new Content("bilder/torsolino/torsolino1.gif",1,null), true),
						      new Entry("2",null,new Array("spielzeugteile + kunststoffschnur"), new Content("bilder/torsolino/torsolino2.gif",1,null), true));
			break;			      
		case 6:
			item4 = new Array(new Entry("1",null,new Array("silikonkautschuk + edelstahldraht"), new Content("bilder/blume/flower-necklace.jpg",1,null), true),
						      new Entry("2",null,new Array("silikonkautschuk + edelstahldraht"), new Content("bilder/blume/flower-earring.jpg",1,null), true),
						      new Entry("3",null,new Array("silikonkautschuk + edelstahldraht"), new Content("bilder/blume/flower-set.jpg",1,null), true));
			break;			      
		case 7:
			item4 = new Array(new Entry("1",null,new Array("kanthoelzer + packband"), new Content("bilder/paravent/screen.jpg",1,null), true),
						      new Entry("2",null,new Array("kanthoelzer + packband"), new Content("bilder/paravent/screen2.jpg",1,null), true));
			break;			      
		case 8:
			item4 = new Array(new Entry("1",null,null, new Content("bilder/paperplane/lamp7.jpg",1,null), true),
						      new Entry("2",null,null, new Content("bilder/paperplane/lamp6.jpg",1,null), true),
						      new Entry("3",null,null, new Content("bilder/paperplane/lamp5.jpg",1,null), true));
			break;			      
		case 9:
			item4 = new Array(new Entry("1",null,new Array("ueberarbeitung corporate design","buchhandlung universitas"), new Content("bilder/luzi/universitas1.gif",1,null), true));
			break;			      
		case 10:
			item4 = new Array(new Entry("1",null,null, new Content("bilder/illustration/bear.jpg",1,null), true),
							  new Entry("2",null,null, new Content("bilder/illustration/loewe.jpg",1,null), true),
							  new Entry("3",null,null, new Content("bilder/illustration/rabbit+indi.jpg",1,null), true),
							  new Entry("4",null,null, new Content("bilder/illustration/fox.jpg",1,null), true));
			break;			      
		case 11:
			item4 = new Array(new Entry("1",null,new Array("esche / lackiertes mdf"), new Content("bilder/kollege/kollege-1.jpg",1,null), true),
						      new Entry("2",null,new Array("esche / lackiertes mdf"), new Content("bilder/kollege/kollege-2.jpg",1,null), true),
						      new Entry("3",null,new Array("esche / lackiertes mdf"), new Content("bilder/kollege/kollege-3.jpg",1,null), true)
						      );
			break;			      
		case 12:
			item4 = new Array(new Entry("1",null,new Array("kiefer sperrholz / film-sieb sperrholz"), new Content("bilder/jos studio/1.jpg",1,null), true),
						      new Entry("2",null,new Array("kiefer sperrholz / film-sieb sperrholz"), new Content("bilder/jos studio/2.jpg",1,null), true),
						      new Entry("3",null,new Array("kiefer sperrholz / film-sieb sperrholz"), new Content("bilder/jos studio/3.jpg",1,null), true),
						      new Entry("4",null,new Array("film-sieb sperrholz"), new Content("bilder/jos studio/4.jpg",1,null), true),
						      new Entry("5",null,new Array("film-sieb sperrholz"), new Content("bilder/jos studio/5.jpg",1,null), true),
						      new Entry("6",null,new Array("kiefer sperrholz / film-sieb sperrholz"), new Content("bilder/jos studio/6.jpg",1,null), true),
						      new Entry("7",null,new Array("film-sieb sperrholz"), new Content("bilder/jos studio/7.jpg",1,null), true),
						      new Entry("8",null,new Array("film-sieb sperrholz"), new Content("bilder/jos studio/8.jpg",1,null), true),
						      new Entry("9",null,new Array("film-sieb sperrholz"), new Content("bilder/jos studio/9.jpg",1,null), true),
						      new Entry("10",null,new Array("film-sieb sperrholz"), new Content("bilder/jos studio/10.jpg",1,null), true),
						      new Entry("11",null,new Array("kiefer sperrholz / film-sieb sperrholz"), new Content("bilder/jos studio/11.jpg",1,null), true)
						      );
			break;
		case 13:
			item4 = new Array(new Entry("1",null,new Array("kiefer sperrholz"), new Content("bilder/jakobs box/1.jpg",1,null), true),
						      new Entry("2",null,new Array("kiefer sperrholz"), new Content("bilder/jakobs box/2.jpg",1,null), true)
						      );
			break;			      
		case 14:
			item4 = new Array(new Entry("1",null,new Array("birke sperrholz / hpl"), new Content("bilder/weiss/weiss-1.jpg",1,null), true),
						      new Entry("2",null,new Array("birke sperrholz / hpl"), new Content("bilder/weiss/weiss-2.jpg",1,null), true),
							  new Entry("3",null,new Array("birke sperrholz / hpl"), new Content("bilder/weiss/weiss-3.jpg",1,null), true),
		      				  new Entry("4",null,new Array("birke sperrholz / hpl"), new Content("bilder/weiss/weiss-4.jpg",1,null), true)
						      );
			break;			      
		case 15:
			item4 = new Array(new Entry("1",null,new Array("film-sieb sperrholz"), new Content("bilder/kinder/kinder-1.jpg",1,null), true),
						      new Entry("2",null,new Array("film-sieb sperrholz"), new Content("bilder/kinder/kinder-2.jpg",1,null), true),
							  new Entry("3",null,new Array("film-sieb sperrholz"), new Content("bilder/kinder/kinder-3.jpg",1,null), true)
						      );
			break;			      
		case 16:
			item4 = new Array(new Entry("1",null,new Array("12 mē . x"), new Content("bilder/tepee/tepee-1.jpg",1,null), true),
						      new Entry("2",null,new Array("12 mē . x"), new Content("bilder/tepee/tepee-2.jpg",1,null), true),
							  new Entry("3",null,new Array("12 mē . x"), new Content("bilder/tepee/tepee-3.jpg",1,null), true),
		      				  new Entry("4",null,new Array("12 mē . x"), new Content("bilder/tepee/tepee-4.jpg",1,null), true),
			  				  new Entry("5",null,new Array("12 mē . x"), new Content("bilder/tepee/tepee-5.jpg",1,null), true)
						      );
			break;			      
		case 17:
			item4 = new Array(new Entry("1",null,new Array("was muss rein, damit alles rein geht?","vielleicht werden wir in 30 jahren","von 300,- euro im monat leben.","bestimmt wollen wir freude haben.","planwagen"), new Content("bilder/planwagen/1.jpg",1,null), true),
							  new Entry("2",null,new Array("was muss rein, damit alles rein geht?","vielleicht werden wir in 30 jahren","von 300,- euro im monat leben.","bestimmt wollen wir freude haben.","planwagen"), new Content("bilder/planwagen/2.jpg",1,null), true),
							  new Entry("3",null,new Array("was muss rein, damit alles rein geht?","vielleicht werden wir in 30 jahren","von 300,- euro im monat leben.","bestimmt wollen wir freude haben.","planwagen"), new Content("bilder/planwagen/3.jpg",1,null), true),
							  new Entry("4",null,new Array("was muss rein, damit alles rein geht?","vielleicht werden wir in 30 jahren","von 300,- euro im monat leben.","bestimmt wollen wir freude haben.","planwagen"), new Content("bilder/planwagen/4.jpg",1,null), true),
							  new Entry("5",null,new Array("was muss rein, damit alles rein geht?","vielleicht werden wir in 30 jahren","von 300,- euro im monat leben.","bestimmt wollen wir freude haben.","planwagen"), new Content("bilder/planwagen/5.jpg",1,null), true),
							  new Entry("6",null,new Array("was muss rein, damit alles rein geht?","vielleicht werden wir in 30 jahren","von 300,- euro im monat leben.","bestimmt wollen wir freude haben.","planwagen"), new Content("bilder/planwagen/6.jpg",1,null), true),
							  new Entry("7",null,new Array("was muss rein, damit alles rein geht?","vielleicht werden wir in 30 jahren","von 300,- euro im monat leben.","bestimmt wollen wir freude haben.","planwagen"), new Content("bilder/planwagen/7.jpg",1,null), true),
							  new Entry("8",null,new Array("was muss rein, damit alles rein geht?","vielleicht werden wir in 30 jahren","von 300,- euro im monat leben.","bestimmt wollen wir freude haben.","planwagen"), new Content("bilder/planwagen/8.jpg",1,null), true)
						      );
			break;			      
		}
	} if(pos0==1) {
		item4 = new Array(new Entry(" ",null,new Array("chaos zu ordnung","  ","wahlfreiheit statt doktrin","der bedarf an ordnung ist individuell","und situativ verschieden.","andere sind anders."), new Content(null,0,null), true));
	} if(pos0==2) {
		item4 = new Array(new Entry(null,null,null, new Content("bilder/person/i-9.jpg",1,null), true));
	}
	return item4;
}

function init() {
	setcol1();
	setcol2(0);
	setcol3(0, 0);
	setcol4(0,0,0);
}

function setcol1() {
	var col1 = document.getElementById("column1");

	if(typeof(col1) != "undefined" && col1 != null) {
		var entry1 = document.createElement("div");
		var styleClass = document.createAttribute("class");
		styleClass.nodeValue = "entries ocr_a";
		entry1.setAttributeNode(styleClass);
		var ahref = document.createElement("a");
		var text = document.createTextNode(items.name);
		ahref.appendChild(text);
		ahref.setAttribute("href", "javascript:mouseclick1(" + 0 + ")");
		entry1.appendChild(ahref);
		col1.appendChild(entry1);
		sel1 = 0;
	}
}

function setcol2(num1) {
	var col2 = document.getElementById("column2");
	
	if(typeof(col2) != "undefined" && col2 != null) {
		for(var i=0; i<items.children.length; i++) {
			var entry2 = document.createElement("div");
			var styleClass = document.createAttribute("class");
			styleClass.nodeValue = "entries ocr_a";
			entry2.setAttributeNode(styleClass);
			if(items.children[i].composite==true)
			{
				var ahref = document.createElement("a");
				var text = document.createTextNode(items.children[i].name);
				ahref.appendChild(text);
				ahref.setAttribute("href", "javascript:mouseclick2(1," + i + ",0)");
				entry2.appendChild(ahref);
				col2.appendChild(entry2);
				if(i==num1)
				{
					var hmark = document.createElement("div");
					var styleId = document.createAttribute("class");
					styleId.nodeValue = "hmark";
					hmark.setAttributeNode(styleId);
					var nbsp = document.createTextNode(" ");
					hmark.appendChild(nbsp);
					entry2.appendChild(hmark);
					sel2 = i;
				}
			} else {
				var text = document.createTextNode(items.children[i].name);
				entry2.appendChild(text);
				col2.appendChild(entry2);
			}
		}
	}
}

function setcol3(num1, num2) {
	var col3 = document.getElementById("column3");

	if(typeof(col3) != "undefined" && col3 != null) {
		var entry = items.children[num1];
		for(var i=0; i<items.children[num1].children.length; i++) {
			var entry3 = document.createElement("div");
			var styleClass = document.createAttribute("class");
			styleClass.nodeValue = "entries ocr_a";
			entry3.setAttributeNode(styleClass);
			if(items.children[num1].children[i].composite==true)
			{
				var ahref = document.createElement("a");
				var text = document.createTextNode(items.children[num1].children[i].name);
				ahref.appendChild(text);
				ahref.setAttribute("href", "javascript:mouseclick3(2,0," + i + ")");
				entry3.appendChild(ahref);
				col3.appendChild(entry3);
				if(i==num2)
				{
					var hmark = document.createElement("div");
					var styleId = document.createAttribute("class");
					styleId.nodeValue = "hmark";
					hmark.setAttributeNode(styleId);
					var nbsp = document.createTextNode(" ");
					hmark.appendChild(nbsp);
					entry3.appendChild(hmark);
					sel3 = num2;
				}
			} else {
				var entry_text = items.children[num1].children[i].name;
				if(entry_text == "") {
					entry_text = "|";
					styleClass.nodeValue += " hiddentext";
				}
				var text = document.createTextNode(entry_text);
				entry3.appendChild(text);
				col3.appendChild(entry3);
			}
		}
	}
}

function setcol4(num1, num2, num3) {
	var data = document.getElementById("horbar");

	if(typeof(data) != "undefined" && data != null) {
		var entry = items.children[num1].children[num2];
		if(items.children[num1].children[num2].children != null)
		{
			for(var i=0; i<items.children[num1].children[num2].children.length; i++) {
				var entry4 = document.createElement("div");
				var styleClass = document.createAttribute("class");
				styleClass.nodeValue = "hentries ocr_a";
				entry4.setAttributeNode(styleClass);
				if(items.children[num1].children[num2].children[i].composite==true)
				{
					var itemname = items.children[num1].children[num2].children[i].name
					if(itemname != null) {
						var text = document.createTextNode(itemname);
						if(itemname != " ") {
							var ahref = document.createElement("a");
							ahref.appendChild(text);
							ahref.setAttribute("href", "javascript:mouseclick4(3,0," + num2 + ","+ i + ")");
							entry4.appendChild(ahref);
						}
						data.appendChild(entry4);
					}
					if(i==num3)
					{
						if(itemname != " ") {
							var hmark = document.createElement("div");
							var styleId = document.createAttribute("class");
							styleId.nodeValue = "vmark";
							hmark.setAttributeNode(styleId);
							var nbsp = document.createTextNode(" ");
							hmark.appendChild(nbsp);
							entry4.appendChild(hmark);
						}
						sel4 = num3;
						
						var content = document.getElementById("content");
						if(typeof(content) != "undefined" && content != null) {
							switch(items.children[num1].children[num2].children[i].content.type) {
							case 1:
							    var img = document.createElement("IMG")
							    img.src = items.children[num1].children[num2].children[i].content.content
							    img.setAttribute("alt", "")
							    img.setAttribute("id", "contentdata")
							    content.appendChild(img);
							    break;
							case 2:
							    var objelem = document.createElement("OBJECT")
							    objelem.data = items.children[num1].children[num2].children[i].content.content
							    objelem.setAttribute("type", "video/quicktime")
							    objelem.setAttribute("id", "contentdata")
							    objelem.setAttribute("standBy", "movie is loading")
							    content.appendChild(objelem);
							    break;
							}
						}
						var dataelem = document.getElementById("data");
						if(typeof(dataelem) != "undefined" && dataelem != null) {
							if(items.children[num1].children[num2].children[i].data != null) {
								for(var j=0;
									j<items.children[num1].children[num2].children[i].data.length;
									j++) {
									var datadiv = document.createElement("div");
									var styleclass = document.createAttribute("class");
									styleclass.nodeValue = "dataentries ocr_a";
									datadiv.setAttributeNode(styleclass);
									var datatext = document.createTextNode(items.children[num1].children[num2].children[i].data[j]);
									datadiv.appendChild(datatext);
									dataelem.appendChild(datadiv);
								}
							}
						}
					}
				} else {
					var text = document.createTextNode(items.children[num1].children[num2].children[i].name);
					entry4.appendChild(text);
					data.appendChild(entry4);
				}
			}
		}
	}
}

function delcolentries(col) {
	var colstr;
	switch(col) {
	case 0: colstr="column1"; break;
	case 1: colstr="column2"; break;
	case 2: colstr="column3"; break;
	case 3: colstr="horbar"; break;
	case 4: colstr="content"; break;
	case 5: colstr="data"; break;
	}
	var colelem = document.getElementById(colstr);
	if(typeof(colelem) != "undefined" && colelem != null) {
		while(colelem.childNodes.length>0) {
			colelem.removeChild(colelem.lastChild);
		}
	}
}

function mouseclick1(num1){
	delcolentries(0);
	setcol1();
	delcolentries(1);
	setcol2(0);
	delcolentries(2);
	setcol3(0,0);
	delcolentries(3);
	delcolentries(4);
	delcolentries(5);
	setcol4(0,0,0);
}

function mouseclick2(num1, num2){
	delcolentries(1);
	setcol2(num2);
	delcolentries(2);
	setcol3(num2, 0);
	delcolentries(3);
	delcolentries(4);
	delcolentries(5);
	setcol4(num2,0,0);
}

function mouseclick3(num1, num2, num3){
	delcolentries(2);
	setcol3(num2, num3);
	delcolentries(3);
	delcolentries(4);
	delcolentries(5);
	setcol4(num2, num3, 0);
}

function mouseclick4(num1, num2, num3, num4){
	delcolentries(3);
	delcolentries(4);
	delcolentries(5);
	setcol4(num2, num3, num4);
}

function imgLoading(){
	var content = document.getElementById("content");
	var searchingdiv = document.createElement("div");
    searchingdiv.setAttribute("id", "searchingdata")
    var searching = new Image();
    searching.src = "bilder/allgemein/searching.gif";
    searching.setAttribute("id", "searchingimg")
    searchingdiv.appendChild(searching);
    content.appendChild(searchingdiv);
}

function imageLoaded() {
	var searching = document.getElementById("searchingdata");
	var content = document.getElementById("content");
	content.removeChild(searching);
}
