///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
///								Pflicht Variablen																										///
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
var xwidth = 153;																	// breite einer Zelle											///
var yheight = 24; 																// höhe einer Zelle												///
																																								///
var xoffset = 0; 																// relativer x Wert zur Positionierung der Fenster		///
var yoffset = 0; 																	// relativer y Wert zur Positionierung der Fenster		///
																																								///
var firstlevelbgcolor = '#EAF5FB';											// hintergrund-mouseover farbe des ersten levels		///
var otherlevelbgcolor = '#FFCCCC';											// hintergrund-mouseover farbe der anderen levels		///
																																								///
var tableborderwidth = 0;														// breite der tabelle											///
var setImageSrc = 'lick_on.gif';												// quelle des hoverimages										///
var resetImageSrc = 'lick_off.gif';											// quelle des hoverimages										///
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

openlayers = new Array();
markedelements = new Array();
markedelemtcolors = new Array();
markedelemtbgcolors = new Array();
markedimages = new Array();

var obj; 
var px; 
var py; 
var pw; 
var ph;
var overlayer = false;
var closin;

function showLayer(LayerName,level,element,ylevel,imagename) {
	overlayer = true;
	window.clearTimeout(closin);

	while(openlayers.length >= level) {
		openlayer = openlayers.pop();
		MM_showHideLayers(openlayer,'','hide'); 							// Wenn ein Layer noch sichtbar ist, diesen unsichtbar setzen!
	}
	while(markedelements.length >= level) {
		markedelement = markedelements.pop();								// Elemente zurücksetzen 
		markedelemtbgcolor = markedelemtbgcolors.pop();
		markedelement.style.backgroundColor = markedelemtbgcolor; 	// Elementfarbe zurücksetzen
		markedelemtcolor = markedelemtcolors.pop();
		markedelement.style.color = markedelemtcolor; 					// Elementfarbe zurücksetzen
		markedimage = markedimages.pop();
		resetImage(markedimage);												// Bild zurücksetzen
	}
	markedelements.push(element);												// Element merken
	markedelemtbgcolors.push(element.style.backgroundColor);			// ElementBGfarbe merken
	markedelemtcolors.push(element.style.color);							// Elementfarbe merken
	element.style.backgroundColor = (level == 1) ? firstlevelbgcolor : otherlevelbgcolor;						//Element farbig markieren
	element.style.color = (level == 1) ? '#09345F' : '#003366';		// Element farbig markieren
	markedimages.push(imagename);												// Bild merken
	setImage(imagename);														// Bild markieren
	
	
	if(LayerName != "0") {
		layerName = LayerName;
		if ((openlayers.length))
			{
			currentleft = parseInt(MM_findObj(openlayers[openlayers.length - 1]).style.left)
			currenttop = parseInt(MM_findObj(openlayers[openlayers.length - 1]).style.top)
			}
		else
			{ 
			currentleft = parseInt(MM_findObj("h0").style.left)
			currenttop = parseInt(MM_findObj("h0").style.top)
			}
		cellwidth = parseInt(element.style.width);
		cellheight = parseInt(element.style.height);


		newleft = ((currentleft + xoffset + 2 * cellwidth) >= SE_getPageWidth()) ? currentleft - xoffset - cellwidth : currentleft + xoffset + cellwidth;
		if ((newleft <= 0)) newleft = 0;

		MM_findObj(layerName).style.left  = newleft;
		MM_findObj(layerName).style.top = currenttop + yoffset + (ylevel * (cellheight + tableborderwidth));
		
		openlayers.push(layerName);											// Layer merken 
		MM_showHideLayers(layerName,'','show'); 							// Layer sichtbar setzen
	}
}

function showLayer1(LayerName,level,element,ylevel,imagename) {
	overlayer = true;
	window.clearTimeout(closin);

	while(openlayers.length >= level) {
		openlayer = openlayers.pop();
		MM_showHideLayers(openlayer,'','hide'); 							// Wenn ein Layer noch sichtbar ist, diesen unsichtbar setzen!
	}
	while(markedelements.length >= level) {
		markedelement = markedelements.pop();								// Elemente zurücksetzen 
		markedelemtbgcolor = markedelemtbgcolors.pop();
		markedelement.style.backgroundColor = markedelemtbgcolor; 	// Elementfarbe zurücksetzen
		markedelemtcolor = markedelemtcolors.pop();
		markedelement.style.color = markedelemtcolor; 					// Elementfarbe zurücksetzen
		markedimage = markedimages.pop();
		resetImage(markedimage);												// Bild zurücksetzen
	}
	markedelements.push(element);												// Element merken
	markedelemtbgcolors.push(element.style.backgroundColor);			// ElementBGfarbe merken
	markedelemtcolors.push(element.style.color);							// Elementfarbe merken
	element.style.backgroundColor = (level == 1) ? firstlevelbgcolor : otherlevelbgcolor;						//Element farbig markieren
	element.style.color = (level == 1) ? '#09345F' : '#003366';		// Element farbig markieren
	markedimages.push(imagename);												// Bild merken
	setImage(imagename);														// Bild markieren
	
	
	if(LayerName != "0") {
		layerName = LayerName;
		if ((openlayers.length))
			{
			currentleft = parseInt(MM_findObj(openlayers[openlayers.length - 1]).style.left)
			currenttop = parseInt(MM_findObj(openlayers[openlayers.length - 1]).style.top)
			}
		else
			{ 
			currentleft = parseInt(MM_findObj("h1").style.left)
			currenttop = parseInt(MM_findObj("h1").style.top)
			}
		cellwidth = parseInt(element.style.width);
		cellheight = parseInt(element.style.height);


		newleft = ((currentleft + xoffset + 2 * cellwidth) >= SE_getPageWidth()) ? currentleft - xoffset - cellwidth : currentleft + xoffset + cellwidth;
		if ((newleft <= 0)) newleft = 0;

		MM_findObj(layerName).style.left  = newleft;
		MM_findObj(layerName).style.top = currenttop + yoffset + (ylevel * (cellheight + tableborderwidth));
		
		openlayers.push(layerName);											// Layer merken 
		MM_showHideLayers(layerName,'','show'); 							// Layer sichtbar setzen
	}
}

function resetImage(imagename)
{
	if (imagename != '')
		window.document.images[imagename].src = resetImageSrc;
}

function setImage(imagename)
{
	if (imagename != '')
		window.document.images[imagename].src = setImageSrc;
}

function hideLayer() {
 	while(openlayers.length != 0) {
		MM_showHideLayers(openlayers.pop(),'','hide'); 					// Wenn ein Layer noch sichtbar ist, diesen unsichtbar setzen!
		}
 }

function waitForClose()
	{
	overlayer = false;
	closin = window.setTimeout("closeLayers()",1000);
	}
	
function closeLayers() 
	{
	while(markedelements.length >= 1) 
		{
		markedelement = markedelements.pop();									// Elemente zurücksetzen 
		markedelemtbgcolor = markedelemtbgcolors.pop();						// ElementBGfarbe zurücksetzen
		markedelement.style.backgroundColor = markedelemtbgcolor; 		// ElementBGfarbe zurücksetzen
		markedelemtcolor = markedelemtcolors.pop();							// Elementfarbe zurücksetzen
		markedelement.style.color = markedelemtcolor; 						// Elementfarbe zurücksetzen
		}
	if (overlayer == false)
		{
		while(openlayers.length >= 1) 
			{
			openlayer = openlayers.pop();
			MM_showHideLayers(openlayer,'','hide'); 							// Wenn ein Layer noch sichtbar ist, diesen unsichtbar setzen!
			}
		}
	}
 
function MM_findObj(n, d) { //v4.0
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && document.getElementById) x=document.getElementById(n); return x;
}

function MM_showHideLayers() { //v3.0
  var i,p,v,obj,args=MM_showHideLayers.arguments;
  for (i=0; i<(args.length-2); i+=3) if ((obj=MM_findObj(args[i]))!=null) { 
  	 v=args[i+2];
    if (obj.style) { obj=obj.style; v=(v=='show')?'visible':(v='hide')?'hidden':v; }
    obj.visibility=v; }
}

function SE_findObjStyle(n, d) { //v1.0 modified MM_findObj 
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=SE_findObjStyle(n,d.layers[i].document);
  if(!x && document.getElementById) x=document.getElementById(n); 
  return (d.all || d.getElementById) ?  x.style : x;
}

function SE_getPageWidth()
{
	if (window.innerWidth)
		x = screen.width;
	if (document.body.offsetWidth)
		x = document.body.offsetWidth;

	return x;
}