/////////////////////////////////////////////////////////////////////////////////---Project:   //---Date:              03/99//---Author:		    Stefan Tan, Walter Stulzer, Alexandra Papadopoulos//---(c):               1998-1999, Nose GmbH Interactive Media//---(c):               1999-2000, Perspectix-Nose AG, Digital Business Intelligence
//--- 13. April 1999
//--- 15. April 1999	WS: Korrektur Programmlogik, Oeffnen und schliessen der Menues
//--- 16. April 1999	WS: Korrektur Ausabe HTML fuer Kompatibilitaet mit HTML 3.0
//--- 16. April 1999	WS: Reaktion des Menues auf Links im Hauptfenster
//--- 20. Dezember 1999	WS: Update
//--- 4. Januar 2000	WS: Ordnungsnummer automatisch generiert ebenso wie Ordnungsnummer des Elternobjekts
//--- 20 Januar 2000	WS/MH/NS: Keine expanded Parameter mehr noetig (Yes!!!!)
//--- 22 Februar 2000	WS: Neuer Menueintrag
//--- 19 Juli 2000		ST: Korrektur fŸr Mac-Explorer 5.0 (border='0')
//--- 7. August 2000	ST: Version 2.0, Formatierung der Zellen ueber CSS
//--- ///////////////////////////////////////////////////////////////////////////////
//--- 	Customised
//--	Author:	David Kurmann, Perspectix AG
//--	august 2000		enable hierarchy

//--- Definition der Schrift- und Hintergrunddarstellungen
var style_txt_noact = "txtnoact"        	   // nicht aktive MenŸschrift Level x
var style_txt_act = "txtact"                   // aktive MenŸschrift
var style_txt_sel = "txtsel"                   // selektierte, aktive MenŸschrift


var style_hg_noact = "hgnoact"                 // nicht aktiver Hintergrund  
var style_hg_L = "hgL"						   // aktiver Hintergrund aufgrund der Hierarchie
var style_hg_act = "hgactiv"                   // ????
var style_hg_Zzact = "zzactiv"					// style fŸr zwischenzeilen bei rollover
var style_hg_Zznoact = "zzinactiv"				// style fŸr zwischenzeilen bei rollout


//--- Definition der Arrows
var style_arr_node_0 = "node0"      		   // kein MenŸpunkt (eingefŸhrt fŸr Level -1)
var style_arr_node_ = "node"      			   // kein MenŸpunkt
var style_arr_clos_ = "clos"       			   // geschlossener MenŸpfeil
var style_arr_open_ = "open"       			   // offener MenŸpfeil


//--- weitere globale Variablen
var spaceGif = "src='images/transparent.gif'";
var arrowClose0_1 = "src='images/arrows/navi_arrow_right_1.gif'";
var arrowOpen0_1 = "src='images/arrows/navi_arrow_down_1.gif'";
var arrowNode0_1 = "src='images/arrows/navi_arrow_none_1.gif'";
var arrowClose0_2 = "src='images/arrows/navi_arrow_right_2.gif'";
var arrowOpen0_2 = "src='images/arrows/navi_arrow_down_2.gif'";
var arrowNode0_2 = "src='images/arrows/navi_arrow_none_2.gif'";
var arrowClose0_3 = "src='images/arrows/navi_arrow_right_3.gif'";
var arrowOpen0_3 = "src='images/arrows/navi_arrow_down_3.gif'";
var arrowNode0_3 = "src='images/arrows/navi_arrow_none_3.gif'";
var arrowClose0_4= "src='images/arrows/navi_arrow_right_4.gif'";
var arrowOpen0_4 = "src='images/arrows/navi_arrow_down_4.gif'";
var arrowNode0_4 = "src='images/arrows/navi_arrow_none_4.gif'";
var arrowClose0_5 = "src='images/arrows/navi_arrow_right_5.gif'";
var arrowOpen0_5 = "src='images/arrows/navi_arrow_down_5.gif'";
var arrowNode0_5 = "src='images/arrows/navi_arrow_none_5.gif'";
var arrowClose0_6 = "src='images/arrows/navi_arrow_right_6.gif'";
var arrowOpen0_6 = "src='images/arrows/navi_arrow_down_6.gif'";
var arrowNode0_6 = "src='images/arrows/navi_arrow_none_6.gif'";
var arrowClose0_7 = "src='images/arrows/navi_arrow_right_7.gif'";
var arrowOpen0_7 = "src='images/arrows/navi_arrow_down_7.gif'";
var arrowNode0_7 = "src='images/arrows/navi_arrow_none_7.gif'";
var arrowClose0_8 = "src='images/arrows/navi_arrow_right_8.gif'";
var arrowOpen0_8 = "src='images/arrows/navi_arrow_down_8.gif'";
var arrowNode0_8 = "src='images/arrows/navi_arrow_none_8.gif'";
var arrowClose0_9 = "src='images/arrows/navi_arrow_right_9.gif'";
var arrowOpen0_9 = "src='images/arrows/navi_arrow_down_9.gif'";
var arrowNode0_9 = "src='images/arrows/navi_arrow_none_9.gif'";

var arrowNode1_1 = "src='images/arrows/navi_arrow_none_1.gif'";
var arrowNode1_2 = "src='images/arrows/navi_arrow_none_2.gif'";
var arrowNode1_3 = "src='images/arrows/navi_arrow_none_3.gif'";
var arrowNode1_4 = "src='images/arrows/navi_arrow_none_4.gif'";
var arrowNode1_5 = "src='images/arrows/navi_arrow_none_5.gif'";
var arrowNode1_6 = "src='images/arrows/navi_arrow_none_6.gif'";
var arrowNode1_7 = "src='images/arrows/navi_arrow_none_7.gif'";
var arrowNode1_8 = "src='images/arrows/navi_arrow_none_8.gif'";
var arrowNode1_9 = "src='images/arrows/navi_arrow_none_9.gif'";


var arrowGifHeight = 23;							// hoehe der arrow-gifs eingeben
var arrowGifWidth = 21;							// breite des arrow-gifs eingeben
var actLink = "pages/x.html";				// default-website. entry-point


var aMain = new Array();
var bMain = new Array();
var actLength = 0;
var actTimeout = 0;
var actLevel = new Array(10);


//  schematische Darstellung der Zellen:
//	--------------------------------------------------------
//	|     |   | |                                          |
//	|  1  | 2 |3|   4                                      | 5
//	|     |   | |                                          |
//	--------------------------------------------------------
//      |  6                                                   | 7
//	--------------------------------------------------------
//                             8
//  legende:
//  1: einrŸcken; wird fŸr die EinrŸckung verwendet, falls gewŸnscht (erst ab level1)
//  2: Arrow-gif; falls keines gewŸnscht ist, bitte ein leeres gif einsetzen
//  3: text-Abstands; abstand zwischen Text und arrow = TextSpace
//  4: textfield
//  5: zellenhöhe = trHeightBig
//  6: gif fŸr schmale zeile
//  7: zellenhöhe = trHeightSmall
//  8: gesamtbreite = widthTotal; nuss mit frameset Ÿbereinstimmen...


//--- weiter definitionen der Ausgabe:
var trHeightBig = 23;								// Zellenhoehe fuer TextZeilen
var trHeightSmall = 1;								// Zellenhoehe fuer Zwischenzeilen
var widthTotal = 170;								// gesamtbreite des Navigators
var textSpace = 3;								// abstand zwischen arrow und Text
var einruecken1 = 24;								// einrŸckung bei level1
var einruecken2 = 8;								// einrŸckung bei level2
var einruecken3 = 16;								// einrŸckung bei level3
var einruecken4 = 32;								// einrŸckung bei level4 --> bei weiteren Levels bitte function space erweitern...
var spaceLeft = 0;								// genereller Abstand zum linken rand
var picleft = false;								// pics am linken bildrand true/false
var picwidth = 0;								// Breite des pics am linken bildrand
var arrow = true;								// pfeile ja/nein
var MouseOverEffect = false;							// MouseoverEffect on / off
var txtColorLevel = true;							// text-farbgebung: true = nach Levels

													// 					false = nach funktion (menues mit untermenues haben eine andere farbe wie solche ohne)

var spaceString = "<img " + spaceGif + " width=\"" + textSpace + "\" height=\"" + arrowGifHeight + "\">";


//--- pfad auf dem server --> seites können auch in ordner abgelegt werden
var ordner = "pages/";								// name des ordners in welchem die pages abgelegt sind			
var navigatorHTMLFile = "navigation.html";			// file, in welches das *.js-File geschrieben wird
var basisURL = top.window.location.href;
var i = basisURL.lastIndexOf("\\")+2;

if (i < basisURL.lastIndexOf("/")+1)

{

 i = basisURL.lastIndexOf("/")+1;

}

basisURL = basisURL.substr(0,i);					// basisUrl der Site
var intURL = basisURL.length;						// in int-wert gewandelt fŸr path-Vergleich	


var newBasePic = "";
var actualPic = "";
var tableCounter = 1;
var arrowClose = "";
var arrowOpen = "";
var arrowNode = "";

if (!arrow)

{

arrowClose0 = spaceGif;
arrowOpen0 = spaceGif;
arrowClose1 = spaceGif;
arrowOpen1 = spaceGif;
arrowClose2 = spaceGif;
arrowOpen2 = spaceGif;
arrowClose3 = spaceGif;
arrowOpen3 = spaceGif;
arrowClose4 = spaceGif;
arrowOpen4 = spaceGif;

}


//-----------------------------------------------------------------------------
//---   Untermenus koennen verschachtelt werden.
//--- 
//---   level           Verschachtelungswert
//---				    -1 kein Javascript sondern Frame ersetzen durch Link
//---   descr           Label
//---   link            zugehoerige Seite im Target Frame
//			            "none" zeigt nur das Label ohne Link
//---   expand		    Darstellung
//---           		0 sichtbar zu mit pfeil 
//---           		1 sichtbar offen mit pfeil
//---           		2 sichtbar ohne pfeil
//---           		3 unsichtbar mit pfeil
//---           		4 unsichtbar ohne pfeil
//-----------------------------------------------------------------------------
// makeTree() Name des Items, Seite (inkl. Pfad), linker Bildverlauf, start(basis-)bild, type

function makeTree()

{

makeLevel(0,"Ueber uns",ordner+"01.html","",1);
makeLevel(1,"Kontakt",ordner+"01_1.html","",1);
makeLevel(1,"Plan",ordner+"01_2.html","",1);  
makeLevel(0,"WEY fuers Wohnen",ordner+"02_2.html","",2);
makeLevel(0,"Malereibetrieb",ordner+"03.html","",3); 
makeLevel(1,"Fassaden",ordner+"03_1.html","",3);
makeLevel(1,"Renovationen",ordner+"03_2.html","",3);
makeLevel(1,"Dekorative Techniken",ordner+"03_4.html","",3);
makeLevel(0,"Farbgestaltung",ordner+"04.html","",4);
makeLevel(1,"EDV Farbkonzepte",ordner+"04_1.html","",4);           
makeLevel(1,"Feng Shui",ordner+"04_2.html","",4); 
makeLevel(1,"WEY ART",ordner+"04_3.html","",4); 
makeLevel(1,"Gastronomie",ordner+"04_5.html","",4);  
makeLevel(1,"Schriftenmalerei",ordner+"04_6.html","",4);  
makeLevel(0,"Tapeten",ordner+"05.html","",5);
makeLevel(1,"Atmosphaere",ordner+"05_1.html","",5);
makeLevel(0,"Stukk-Profile",ordner+"06.html","",6);  
makeLevel(0,"casa colore",ordner+"07.html","",7);  
makeLevel(0,"Umweltschutz",ordner+"08.html","",8);  
makeLevel(0,"Bilder",ordner+"09.html","",9); 
//makeLevel(1,"News",ordner+"09_1.php","",9); 
makeLevel(1,"Bilder",ordner+"09_2.html","",9); 
makeLevel(0,"Links",ordner+"10.html","",1); 
}
//-----------------------------------------------------------------------------
//---   neuen Menuepunkt in den Menuebaum einfuegen
//-----------------------------------------------------------------------------
function makeLevel(level,descr,link,pic,type)
{  
	bMain[actLength] = new makeVals(actLength,level,descr,link,pic,type);
	actLength++;
}
//-----------------------------------------------------------------------------
//---   neuen Menuepunkt initialisieren
//-----------------------------------------------------------------------------
function makeVals(order,level,descr,link,pic,type)
{
	actLevel[level] = order;
	this.order = order;
	this.level = level;
	this.descr = descr;
	this.type = type;
	this.orig_link = link;  // DK Perspectix AG
	this.menuPic = spaceGif;
	if (pic != "") 
	{
		this.menuPic = pic;
		actualPic = pic;
	} else{
		this.menuPic = actualPic;
	}
	if(link == "none")
	{
	  this.link = link;
	} else 
	{ 
	  this.link = makeLink(descr, link, level, order);
	}  
	
	if (order > 0)
	{
	    if (bMain[order-1].level < 0)
		{
			bMain[order-1].expand = 2;
			if (txtColorLevel){
				bMain[order-1].styletxt = style_txt_noact + bMain[order-1].level;
			}else{
				bMain[order-1].styletxt = style_txt_noact + "-1";
			}
			bMain[order-1].stylehg = style_hg_noact;
			bMain[order-1].stylearrow = style_arr_node_0;
		} else
		{
			if (bMain[order-1].level < level)
			{
				if (bMain[order-1].level <= 0)
				{
					bMain[order-1].expand = 0;
					if (txtColorLevel){
						bMain[order-1].styletxt = style_txt_noact + bMain[order-1].level;
					}else{
						bMain[order-1].styletxt = style_txt_noact + "0";
					}
					bMain[order-1].stylehg = style_hg_noact;
					bMain[order-1].stylearrow = style_arr_clos_ + bMain[order-1].level;
				} else
				{
					bMain[order-1].expand = 3;
					if (txtColorLevel){
						bMain[order-1].styletxt = style_txt_act + bMain[order-1].level;
					}else{
						bMain[order-1].styletxt = style_txt_act + "1";
					}
					bMain[order-1].stylehg = style_hg_L + bMain[order-1].level;
					bMain[order-1].stylearrow = style_arr_clos_ + bMain[order-1].level;
				}
			} else
			{
				if (bMain[order-1].level <= 0)
				{
					bMain[order-1].expand = 2;
					if (txtColorLevel){
						bMain[order-1].styletxt = style_txt_noact + bMain[order-1].level;
					}else{
						bMain[order-1].styletxt = style_txt_noact + "0";
					}
					bMain[order-1].stylehg = style_hg_noact;
					bMain[order-1].stylearrow = style_arr_node_ + bMain[order-1].level;
				} else
				{
					bMain[order-1].expand = 4;
					if (txtColorLevel){
						bMain[order-1].styletxt = style_txt_act + bMain[order-1].level;
					}else{
						bMain[order-1].styletxt = style_txt_act + "2";
					}
					bMain[order-1].stylehg = style_hg_L + bMain[order-1].level;
					bMain[order-1].stylearrow = style_arr_node_ + bMain[order-1].level;
				}
			}
		}
		bMain[order-1].exparrow = makeArrow(bMain[order-1].level, bMain[order-1].order, bMain[order-1].expand, bMain[order-1].type);
	}
	if (level <= 0)
	{
		this.expand = 2;
		this.oparent = null;
		if (txtColorLevel){
			this.styletxt = style_txt_noact + level;
		}else{
			this.styletxt = style_txt_noact + "0";
		}
		this.stylehg = style_hg_noact;
		this.stylearrow = style_arr_node_0;
	} else
	{
		this.expand = 4;
		this.oparent = actLevel[level-1];
		if (txtColorLevel){
			this.styletxt = style_txt_act + level;
		}else{
			this.styletxt = style_txt_act + "2";
		}
		
		this.stylehg = style_hg_L + level;
		this.stylearrow = style_arr_node_ + level;
	}
	this.exparrow = makeArrow(level, order, this.expand, type);
	return this;
}
function space(mylevel,type)
{
	if (mylevel == 1)
	{
	 arrowOpen = eval("arrowOpen0_"+type);
	 arrowClose = eval("arrowClose0_"+type);
	 arrowNode = eval("arrowNode1_"+type);
	 einruecken = einruecken1;
	} else
	if (mylevel == 2)
	{
 	 arrowOpen = arrowOpen2;
	 arrowClose = arrowClose2;
	 einruecken = einruecken1+einruecken2;
	} else
	if (mylevel == 3)
	{
	 arrowOpen = arrowOpen3;
	 arrowClose = arrowClose3;
	 einruecken = einruecken1+einruecken2+einruecken3;
	} else
	if (mylevel == 4)
	{
	 arrowOpen = arrowOpen4;
	 arrowClose = arrowClose4;
	 einruecken = einruecken1+einruecken2+einruecken3+einruecken4;
	} else
	{
	 arrowOpen = eval("arrowOpen0_"+type);
	 arrowClose = eval("arrowClose0_"+type);
	 arrowNode = eval ("arrowNode0_"+type);
	 einruecken = 0;
	}
return einruecken;
}
//-----------------------------------------------------------------------------
//---   Put either the closed or open arrow in the aExpArrow array
//-----------------------------------------------------------------------------
function makeArrow(level, order, expand, type)
{
	var retArrow = "";
	//var spaceString = "<img " + spaceGif + " width=\"" + textSpace + "\" height=\"" + arrowGifHeight + "\">";
	var einrcken = space(level, type);
	var spaceImageString = "";
	if (einrcken > 0)
	{
		spaceImageString = "<img " + spaceGif + " width=\"" + einrcken + "\" height=\"" + arrowGifHeight + "\" border=\"0\" >";
	}
	
	if (level < 0) 
	{
	   retArrow = retArrow + "<img " + spaceGif + " width=\"" + arrowGifWidth + "\" height=\"" + arrowGifHeight + "\" >";
	   retArrow = retArrow //+ spaceString;
	}  else
	{ 
	   if (expand > 1)
	   {
	   	  retArrow = retArrow + spaceImageString + "<img " + arrowNode + " width=\"" + arrowGifWidth + "\" height=\"" + arrowGifHeight + "\" border=\"0\" border=noborder>";
	   	  retArrow = retArrow //+ spaceString;
	   }  else
	   {
	   	  if (expand ==1)
		  {
		     retArrow = retArrow + spaceImageString + "<A HREF=javascript:top.contractLevel(" + level + "," + order + ")><img " + arrowOpen + "\" width=\"" + arrowGifWidth + "\" height=\"" + arrowGifHeight + "\"border=\"0\" border=noborder></a>";
			 retArrow = retArrow //+ spaceString;
	  	  } else
		  {
		     retArrow = retArrow + spaceImageString + "<A HREF=javascript:top.expandLevel(" + level + "," + order + ")><img " + arrowClose + "\" width=\"" + arrowGifWidth + "\" height=\"" + arrowGifHeight + "\" border=\"0\" border=noborder></a>"
			 retArrow = retArrow //+ spaceString;
		  }
		}	   
	}
	return retArrow;
}

//-----------------------------------------------------------------------------
//---   Indent items so that the hierarchy is clear
//-----------------------------------------------------------------------------
function makeIndent(level)
{
	var retIndent ="<img " + spaceGif + " width=\"2\" border='0'>";
        
	for(m = 1; m <= level; m++)
	{
		retIndent = retIndent + "<img " + spaceGif + " width=\"5\" border='0'>";
	}                       
	return retIndent;
}

//-----------------------------------------------------------------------------
//---   Make links where needed
//-----------------------------------------------------------------------------
function makeLink(descr, link, level, order)
{  		
	var retLink = "";
	
	if (link.lastIndexOf(actLink) >= 0)  // better
	
	{
		retLink = "";
		
	} else
	{
		if (level < 0)		
		{ 
		  retLink = link + " target=_top";
		  //retLink = link;
		} else
		{
		  retLink = "\"javascript:top.goLink(\'" + descr + "\',\'" + link + "\'," + level + "," + order + ")\"";
		}
	}  
	return retLink;
}

//-----------------------------------------------------------------------------
//---   Oeffnen
//-----------------------------------------------------------------------------
function expandLevel(level, order)
{
	actLength = 0;
	makeTree();
	expandDown(level, order);
}

//-----------------------------------------------------------------------------
//---   rekursiv Oeffnen
//-----------------------------------------------------------------------------
function expandDown(level, order)
{	
	var oparent = 0;
	for (i = 0 ; i < bMain.length ; i++)
	{
		if (bMain[i].level == level)
		{
			if (bMain[i].order == order)
			{
				if (bMain[i].expand == 0) bMain[i].expand = 1;
				if (bMain[i].expand == 2) bMain[i].expand = 2;
				if (bMain[i].expand == 3) bMain[i].expand = 1;
				if (bMain[i].expand == 4) bMain[i].expand = 2;
				oparent = bMain[i].oparent;
			}
		} else
		{			
			if (bMain[i].oparent == order)
			{       
				if (bMain[i].expand == 3) bMain[i].expand = 0;
				if (bMain[i].expand == 4) bMain[i].expand = 2;
			}
		}
		bMain[i].exparrow = makeArrow(bMain[i].level, bMain[i].order, bMain[i].expand, bMain[i].type);
	}
	if (level == 0) 
	{
		aMain = bMain;
		aMain[order].stylehg = style_hg_L + level;
		if (bMain[order].expand == 2)
		{
		 aMain[order].stylearrow = style_arr_node_0;
		} else
		{
		 aMain[order].stylearrow = style_arr_open_ + level;
		}
		aMain[order].styletxt = style_txt_act + "0"; // style fŸr basislevel
		top.botl.window.location = navigatorHTMLFile;
		self.clearTimeout(actTimeout);
		actTimeout = top.setTimeout("refreshTree()", 1000);
	} else
	{
		expandDown(level - 1, oparent);
	}
}

//-----------------------------------------------------------------------------
//---   schliessen
//-----------------------------------------------------------------------------
function contractLevel(level, order)
{
	for (i = 0 ; i < bMain.length ; i++)
	{
		var testVal = bMain[i].level - level
		if (i == order) bMain[i].expand = 0;
		if ((i > order) && (((bMain[i].oparent == order) && (testVal == 1)) || ((testVal > 1) && (testVal < 5))))
		{
			if (bMain[i].expand == 0) bMain[i].expand = 3;
 			if (bMain[i].expand == 1) bMain[i].expand = 3;
			if (bMain[i].expand == 2) bMain[i].expand = 4;
		}
		bMain[i].exparrow = makeArrow(bMain[i].level, bMain[i].order, bMain[i].expand, bMain[i].type);
	}
	aMain = bMain;
	if (level ==0)
	{
	 aMain[order].stylehg = style_hg_noact;
	 aMain[order].styletxt = style_txt_noact + "0";
	} 
	top.botl.window.location = navigatorHTMLFile;
	self.clearTimeout(actTimeout);
	actTimeout = top.setTimeout("refreshTree()", 1000);
}

//-----------------------------------------------------------------------------
//---   nichts tun
//-----------------------------------------------------------------------------
function blankLevel(level, order)
{
}

//-----------------------------------------------------------------------------
//---   linken
//-----------------------------------------------------------------------------
function goLink(descr, link, level, order)
{
	actLink = link;
	top.botr.window.location = link;
	expandLevel(level, order);
}

//-----------------------------------------------------------------------------
//---   gibt aktuelle 2-stellige Bildnummer zurŸck
//-----------------------------------------------------------------------------
function getPicNumber(i)
{
	var strRet = "";
	if ( i <= 9 )
	{
		strRet = "0"+i;
	}else
	{
		strRet = i;
	}
	return strRet;
}
function makePic(picCounter, newPic, i)
{
	aMain[i].stylePic = "<img src='" + newPic + getPicNumber(picCounter) + ".gif' height='" + trHeightBig + "' border='0' border=noborder>";
}
function writeBeginTableBig(windoc, mylink, myclass)
{
	
	if ((mylink.indexOf("javascript")<0)&&(mylink.length>5))
	{
		mylink = mylink.substr(0, mylink.indexOf(".html")+5);
		mylink = "\"top.window.location.href='"+mylink+"'\"";
	}
	windoc.write("<tr width=\"" + widthTotal + "\" height=\"" + trHeightBig + "\">");
	windoc.write("<td width=\"" + widthTotal + "\">");
	if (MouseOverEffect)
	{
		windoc.write("<table onMouseover=\"switchColor('"+tableCounter+"','"+myclass+"Rollover','zzactiv')\" onMouseout=\"switchColor('"+tableCounter+"','"+myclass+"','zzinactiv')\" onClick="+mylink+" height=\"" + trHeightBig + "\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" align=\"top\" width=\"" + widthTotal + "\">");
	}else
	{
		windoc.write("<table onClick="+mylink+" height=\"" + trHeightBig + "\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" align=\"top\" width=\"" + widthTotal + "\">");
	}
	windoc.write("<tr align=\"top\" height=\"" + trHeightBig + "\">");
}
function writeEndTableBig(windoc){
	windoc.write("</tr>");
	windoc.write("</table>");
	windoc.write("</td>");
	windoc.write("</tr>");
}
function writeBeginTableSmall(windoc){
	windoc.write("<tr width=\"" + widthTotal + "\" height=\"" + trHeightSmall + "\">");
	windoc.write("<td width=\"" + widthTotal + "\">");
	windoc.write("<table height=\"" + trHeightSmall + "\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" align=\"top\" width=\"" + widthTotal + "\">");
	windoc.write("<tr align=\"top\" height=\"" + trHeightSmall + "\">");
}
function writeEndTableSmall(windoc){
	windoc.write("</tr>");
	windoc.write("</table>");
	windoc.write("</td>");
	windoc.write("</tr>");
}
//-----------------------------------------------------------------------------
//---   Ausgabe in HTML
//-----------------------------------------------------------------------------
function writeDoc(link)
{
	var windoc = top.botl.window.document; 
	var altPic = "";
	var newPic = "";
	var picCounter = 1;
	tableCounter = 1;
	
	windoc.write("<table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"" + widthTotal + "\" align=\"top\">"); 
	writeBeginTableSmall(windoc);
	windoc.write("<td id=\"table"+tableCounter+"\" class=\"zzinactiv\" width=\"" + widthTotal + "\" height=\"" + trHeightSmall + "\"><img " + spaceGif + " width=\"" + widthTotal + "\" height=\"1\"></td>");
	tableCounter++;
	writeEndTableSmall(windoc);
	for (i=0; i<aMain.length; i++)
	{
		if (aMain[i].expand < 3) // es werden nur Menupunkte geschrieben, deren expand-Variable kleiner 3 ist (und damit sichtbar)
		{ 	
			newPic = aMain[i].menuPic;
			if (altPic == newPic){
				makePic(picCounter, newPic, i);
			}else{
				picCounter = 1;
				makePic(picCounter, newPic, i);
			}
			
			if (aMain[i].link == "") // nachfolgende Schleife gilt nur fuer aktiven Link
			{
				writeBeginTableBig(windoc, aMain[i].link, style_hg_act);
				restbreite = widthTotal - spaceLeft - arrowGifWidth - textSpace - space(aMain[i].level,aMain[i].type);
				if (picleft)
				{
				windoc.write("<td height=\"" + trHeightBig + "\" width=\"" + picwidth + "\" align=\"left\" class=\"" + aMain[i].stylehg + "\">" + aMain[i].stylePic + "</td>");
				restbreite = restbreite - picwidth;
				}
				windoc.write("<td id=\"table"+tableCounter+"\" width=\"" + (widthTotal-restbreite) + "\" height=\"" + trHeightBig + "\" align=\"left\" class=\"hgnoact\">" + aMain[i].exparrow + "</td>");
				tableCounter++;
				windoc.write("<td id=\"table"+tableCounter+"\" width=\"" + spaceLeft + "\" height=\"" + trHeightBig + "\"  align=\"left\" class=\"hgactiv\">" + spaceString + "</td>");
				tableCounter++;
				windoc.write("<td id=\"table"+tableCounter+"\" width=\"" + restbreite + "\" height=\"" + trHeightBig + "\" align=\"left\" class=\"hgactiv\" >" + "<span class=\"" + style_txt_sel + "\">" + aMain[i].descr + "</span></td>" );
				tableCounter++;
				writeEndTableBig(windoc);
				writeBeginTableSmall(windoc);
				if (i+1 < aMain.length)
				{
					if (aMain[i].level == 0 || aMain[i+1].level == 0)
					{
			   			windoc.write("<td id=\"table"+tableCounter+"\" class=\"zzinactiv\" width=\"" + widthTotal + "\" height=\"" + trHeightSmall + "\"><img " + spaceGif + " width=\"" + widthTotal + "\" height=\"1\"></td>");
						tableCounter++;
			   		} else
			   		{
			   			windoc.write("<td id=\"table"+tableCounter+"\" class=\"dark\" width=\"" + (arrowGifWidth-2) + "\" height=\"" + trHeightSmall + "\"><img " + spaceGif + " width=\"" + (arrowGifWidth-2) + "\" height=\"1\"></td>");
						tableCounter++;
						windoc.write("<td id=\"table"+tableCounter+"\" class=\"zzinactiv\" width=\"" + (widthTotal-arrowGifWidth+2) + "\" height=\"" + trHeightSmall + "\"><img " + spaceGif + " width=\"" + (widthTotal-arrowGifWidth+2) + "\" height=\"1\"></td>");
						tableCounter++;
			   		}
			   	} else
			   	{
			   		if (aMain[i].level == 0)
					{
			   			windoc.write("<td id=\"table"+tableCounter+"\" class=\"zzinactiv\" width=\"" + widthTotal + "\" height=\"" + trHeightSmall + "\"><img " + spaceGif + " width=\"" + widthTotal + "\" height=\"1\"></td>");
						tableCounter++;
			   		} else
			   		{
			   			windoc.write("<td id=\"table"+tableCounter+"\" class=\"dark\" width=\"" + (arrowGifWidth-2) + "\" height=\"" + trHeightSmall + "\"><img " + spaceGif + " width=\"" + (arrowGifWidth-2) + "\" height=\"1\"></td>");
						tableCounter++;
						windoc.write("<td id=\"table"+tableCounter+"\" class=\"zzinactiv\" width=\"" + (widthTotal-arrowGifWidth+2) + "\" height=\"" + trHeightSmall + "\"><img " + spaceGif + " width=\"" + (widthTotal-arrowGifWidth+2) + "\" height=\"1\"></td>");
						tableCounter++;
			   		}
			   	}
				writeEndTableSmall(windoc);
			}
			else // nachfolgende Schleife gilt fuer alle uebrigen Textmenueintraege
			{
			   if (aMain[i].link == "none") // Textmenueintraege ohne Link
			   {
			   	writeBeginTableBig(windoc, aMain[i].link, aMain[i].stylehg);
				restbreite = widthTotal - spaceLeft - arrowGifWidth - textSpace - space(aMain[i].level,aMain[i].type);
				if (picleft)
				{
				windoc.write("<td height=\"" + trHeightBig + "\" width=\"" + picwidth + "\" align=\"left\" class=\"" + aMain[i].stylehg + "\">" + aMain[i].stylePic + "</td>");
				restbreite = restbreite - picwidth;
				}
			   	windoc.write("<td id=\"table"+tableCounter+"\" width=\"" + (widthTotal-restbreite) + "\" height=\"" + trHeightBig + "\" align=\"left\" class=\"" + aMain[i].stylehg + "\">" + aMain[i].exparrow + "</td>");
				tableCounter++;
			   	windoc.write("<td id=\"table"+tableCounter+"\" width=\"" + spaceLeft + "\" height=\"" + trHeightBig + "\"  align=\"left\" class=\"" + aMain[i].stylehg + "\">" + spaceString + "</td>");
				tableCounter++;
				windoc.write("<td id=\"table"+tableCounter+"\" width=\"" + restbreite + "\" height=\"" + trHeightBig + "\" align=\"left\" class=\"" + aMain[i].stylehg + "\" height=\"6\" >" + "<span class=\"" + aMain[i].styletxt + "\">"  + aMain[i].descr + "</span></a></td>");
				tableCounter++;
			   	writeEndTableBig(windoc);
			   	writeBeginTableSmall(windoc);
			    if (i+1 < aMain.length)
				{
					if (aMain[i].level == 0 || aMain[i+1].level == 0)
					{
			   			windoc.write("<td id=\"table"+tableCounter+"\" class=\"zzinactiv\" width=\"" + widthTotal + "\" height=\"" + trHeightSmall + "\"><img " + spaceGif + " width=\"" + widthTotal + "\" height=\"1\"></td>");
						tableCounter++;
			   		} else
			   		{
			   			windoc.write("<td id=\"table"+tableCounter+"\" class=\"dark\" width=\"" + (arrowGifWidth-2) + "\" height=\"" + trHeightSmall + "\"><img " + spaceGif + " width=\"" + (arrowGifWidth-2) + "\" height=\"1\"></td>");
						tableCounter++;
						windoc.write("<td id=\"table"+tableCounter+"\" class=\"zzinactiv\" width=\"" + (widthTotal-arrowGifWidth+2) + "\" height=\"" + trHeightSmall + "\"><img " + spaceGif + " width=\"" + (widthTotal-arrowGifWidth+2) + "\" height=\"1\"></td>");
						tableCounter++;
			   		}
			   	} else
			   	{
			   		if (aMain[i].level == 0)
					{
			   			windoc.write("<td id=\"table"+tableCounter+"\" class=\"zzinactiv\" width=\"" + widthTotal + "\" height=\"" + trHeightSmall + "\"><img " + spaceGif + " width=\"" + widthTotal + "\" height=\"1\"></td>");
						tableCounter++;
			   		} else
			   		{
			   			windoc.write("<td id=\"table"+tableCounter+"\" class=\"dark\" width=\"" + (arrowGifWidth-2) + "\" height=\"" + trHeightSmall + "\"><img " + spaceGif + " width=\"" + (arrowGifWidth-2) + "\" height=\"1\"></td>");
						tableCounter++;
						windoc.write("<td id=\"table"+tableCounter+"\" class=\"zzinactiv\" width=\"" + (widthTotal-arrowGifWidth+2) + "\" height=\"" + trHeightSmall + "\"><img " + spaceGif + " width=\"" + (widthTotal-arrowGifWidth+2) + "\" height=\"1\"></td>");
						tableCounter++;
			   		}
			   	}
			   	writeEndTableSmall(windoc);
			   } 
			   else // Textmenueintraege mit Link
			   {
			   	writeBeginTableBig(windoc, aMain[i].link, aMain[i].stylehg);
				restbreite = widthTotal - spaceLeft - arrowGifWidth - textSpace - space(aMain[i].level,aMain[i].type);
				if (picleft)
				{
				windoc.write("<td height=\"" + trHeightBig + "\" width=\"" + picwidth + "\" align=\"left\" class=\"" + aMain[i].stylehg + "\">" + aMain[i].stylePic + "</td>");
				restbreite = restbreite - picwidth;
				}
			   	windoc.write("<td id=\"table"+tableCounter+"\" width=\"" + (widthTotal-restbreite) + "\" height=\"" + trHeightBig + "\"  align=\"left\" class=\"" + aMain[i].stylehg + "\">" + aMain[i].exparrow + "</td>");
				tableCounter++;
				windoc.write("<td id=\"table"+tableCounter+"\" width=\"" + spaceLeft + "\" height=\"" + trHeightBig + "\"  align=\"left\" class=\"" + aMain[i].stylehg + "\">" + spaceString + "</td>");
				tableCounter++;
				windoc.write("<td id=\"table"+tableCounter+"\" width=\"" + restbreite + "\" height=\"" + trHeightBig + "\" align=\"left\" class=\"" + aMain[i].stylehg  + "\"> " + "<a href=" + aMain[i].link + "><span class=\""  +aMain[i].styletxt + "\">" + aMain[i].descr + "</span></a></td>");
				tableCounter++;
			   	writeEndTableBig(windoc);
				writeBeginTableSmall(windoc);
				if (i+1 < aMain.length)
				{
					if (aMain[i].level == 0 || aMain[i+1].level == 0)
					{
			   			windoc.write("<td id=\"table"+tableCounter+"\" class=\"zzinactiv\" width=\"" + widthTotal + "\" height=\"" + trHeightSmall + "\"><img " + spaceGif + " width=\"" + widthTotal + "\" height=\"1\"></td>");
						tableCounter++;
			   		} else
			   		{
			   			windoc.write("<td id=\"table"+tableCounter+"\" class=\"dark\" width=\"" + (arrowGifWidth-2) + "\" height=\"" + trHeightSmall + "\"><img " + spaceGif + " width=\"" + (arrowGifWidth-2) + "\" height=\"1\"></td>");
						tableCounter++;
						windoc.write("<td id=\"table"+tableCounter+"\" class=\"zzinactiv\" width=\"" + (widthTotal-arrowGifWidth+2) + "\" height=\"" + trHeightSmall + "\"><img " + spaceGif + " width=\"" + (widthTotal-arrowGifWidth+2) + "\" height=\"1\"></td>");
						tableCounter++;
			   		}
			   	} else
			   	{
			   		if (aMain[i].level == 0)
					{
			   			windoc.write("<td id=\"table"+tableCounter+"\" class=\"zzinactiv\" width=\"" + widthTotal + "\" height=\"" + trHeightSmall + "\"><img " + spaceGif + " width=\"" + widthTotal + "\" height=\"1\"></td>");
						tableCounter++;
			   		} else
			   		{
			   			windoc.write("<td id=\"table"+tableCounter+"\" class=\"dark\" width=\"" + (arrowGifWidth-2) + "\" height=\"" + trHeightSmall + "\"><img " + spaceGif + " width=\"" + (arrowGifWidth-2) + "\" height=\"1\"></td>");
						tableCounter++;
						windoc.write("<td id=\"table"+tableCounter+"\" class=\"zzinactiv\" width=\"" + (widthTotal-arrowGifWidth+2) + "\" height=\"" + trHeightSmall + "\"><img " + spaceGif + " width=\"" + (widthTotal-arrowGifWidth+2) + "\" height=\"1\"></td>");
						tableCounter++;
			   		}
			   	}
			   	writeEndTableSmall(windoc);
			   }
			}
			picCounter++;
			altPic = newPic;  
		}      
	}
	windoc.write("</table>");
}

//-----------------------------------------------------------------------------
//---   Menue periodisch testen
//-----------------------------------------------------------------------------
function refreshTree()
{
	var newLink = actLink;
	var newPathname = top.botr.window.location.href;
	newLink = newPathname.substring(intURL, newPathname.length);
	if (actLink != newLink)
	{
		newLink = newPathname.substring(intURL, newPathname.length);
		for ( i = 0 ; i < aMain.length; i++ )
		{
			if (aMain[i].link.lastIndexOf(newLink) >= 0)
			{
				actLink = newLink;
				expandLevel(aMain[i].level, aMain[i].order);
				break;
			}
		}
	}
	actTimeout = top.setTimeout("refreshTree()", 2000);
}

makeTree();
aMain = bMain;
actTimeout = top.setTimeout("refreshTree()", 2000);
