

// Browser safe opacity handling function

function setOpacity( value ) {
 document.getElementById("styled_popup").style.opacity = value / 10;
 document.getElementById("styled_popup").style.filter = 'alpha(opacity=' + value * 10 + ')';
}

function fadeInMyPopup() {
 for( var i = 0 ; i <= 100 ; i++ )
   setTimeout( 'setOpacity(' + (i / 10) + ')' , 8 * i );
}

function fadeOutMyPopup() {
 for( var i = 0 ; i <= 100 ; i++ ) {
   setTimeout( 'setOpacity(' + (10 - i / 10) + ')' , 8 * i );
 }

 setTimeout('closeMyPopup()', 800 );
}

function closeMyPopup() {
 document.getElementById("styled_popup").style.display = "none"
}

function fireMyPopup() {
 setOpacity( 0 );
 document.getElementById("styled_popup").style.display = "block";
 fadeInMyPopup();
}

<!--
function MM_findObj(n, d) { //v4.01
  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 && d.getElementById) x=d.getElementById(n); return x;
}

function MM_showHideLayers() { //v6.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; }
}
//-->

<!--

//**************
// Common
//**************
function getNode(aNodeAdress) 
{ 
    var i       = -1; 
    for (i = 0; i < myTree.length; i++) 
    { 
        if (myTree[i].nodeAdress == aNodeAdress) 
        { 
            return  myTree[i];
        } 
    } 
    return null;    
} 

// rweiss 2001-12-14 : Level aus Übergabeparameter myLevel ermitteln
function getLevel(){
    var a = window.location.search;
    if (a.indexOf("?myLevel=") > -1 )
    {
        a = a.substring(a.indexOf("?myLevel=") + 9, a.length );
        if( a.length > 0)
        {
            Level = a;
            return;
        }
        else
        {
            Level = "";
            return;
        }
    }
}
getLevel();



//**************
// Top Level
//**************

var TopLevel = "";

function getNavigationTop()
{
    // Pr&uuml;fen, ob die notwendigen Javascript-Navigationsdaten vorhanden sind
    if (typeof  myTree != "undefined")
    {

        // jetzt die gew&uuml;nschten Knoten ermitteln
        var topchilds = Node_getChilds(TopLevel);
        var i = 0;

        // und jetzt alle Knoten ausgeben
        for (i = 0; i < topchilds.length; i++)
        {

            // Link ausgeben
            document.writeln( '<a href=\"' + topchilds[i].target + '\" class=\"navigation-oben\">'  + topchilds[i].label +  '</a> ');

            // Trennzeichen ausgeben
            if(i < topchilds.length -1)
            {
				document.writeln(" | ");
			}
        }

    }
}




//**************
// Left Nav Bar
//**************

function getNavigationLeft()
{
    // Pr&uuml;fen, ob die notwendigen Javascript-Navigationsdaten vorhanden sind
    if (typeof  myTree != "undefined")
    {

		// Rootknoten des aktuellen Knotens ermitteln und dr&uuml;ber schreiben
		// Bsp.: Level = _3.1.2.1  -> RootKnoten ist _3 -> zum Vergleichen in Schleife reicht 3
		var myRootNode  = "";
		var strEnd      = -1;
		if (Level != "")
		{
			strEnd = (Level.indexOf(".") != -1) ? Level.indexOf(".") : Level.length;
			myRootNode = Level.substring(1, strEnd);
		}


        var rootchilds = Node_getChilds("");
        var j = 0;
        var rootadress = "";

        // und jetzt alle Knoten ausgeben
    	for (j = 0; j < rootchilds.length; j++)
        {
            // Schreiben, wenn getroffen
			if (myRootNode == ("" + j))
			{
				document.writeln('<table width="160" border="0" cellspacing="0" cellpadding="0" height="25">    <tr valign="top"><td class="navigation" width="8"></td><td class="navigation-head" width="152">' + rootchilds[j].label + '</td></tr></table>');
				rootadress = rootchilds[j].nodeAdress;
			}

        }


		// Sub-Baum in Tabelle ausgeben
    	document.writeln("<table width=\"160\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">");

		// SubBaum auswerten
		getChilds( rootadress );

		// Ende Tabelle
    	document.writeln("</table>");
    }
}


// rekursiv durch die B&auml;ume durch bis Ebene 3
// @param adress ist die Adresse des Knotens, der ausgewertet wird
function getChilds( adress )
{
    if (typeof  myTree != "undefined")
    {
		var childs = Node_getChilds(adress);
		var l = 0;			 // Allgemeiner Schleifenzaehler fuer Abarbeitung des Baumes

		var m = new Array(); // Array mit den Positionen des Punktes in der Adresse
							 // Die Laenge dieses Arrays wird als Ausstiegskriterium genommen.
							 // Die Laenge des Arrays wird als Kriterium fuer das Einruecken und Markieren der Zellen genommen

		var n = "";			// String mit der Adresse, der durchsucht wird fuer feststellen der Ebene

		var curLevel = Level.substring(0,6); // String mit der aktuellen Ebene auf 3 Ebenen gekuerzt
		
		for (l = 0; l < childs.length; l++)
	    {
			// Ausstieg, wenn Kriterium ereicht
			// Ausstiegskriterium: Adresse mit mehr als zwei Punkten!
			n = childs[l].nodeAdress;
			m = n.match(/\./g);

			if(m)
			{
				if( m.length > 2)
				{
					return;
				}
			}

			// Wenn Ebene 1: Leerzeile vorschalten
			if(m)
			{
				if(m.length == 1)
				{
					document.writeln("<tr><td colspan=3>&nbsp;</td></tr>");
				}
			}
			// Nur ausgeben, wenn keine Dummy-Ebene
			var dummy = childs[l].label;
			
			if(dummy.substring(0,5) != 'dummy')
			{

				// Neue Zeile
				document.writeln("<tr>");
				// einruecken, pro Ebene um 1 Zelle
				if(m)
				{
					for(k=0; k< m.length; k++)
					{
						// ueberpruefen ob unterhalb eine dummyebene folgt
						var childChilds = Node_getChilds(childs[l].nodeAdress); 
						var dummyChild = "";
						var activeDummy = false;
						if(childChilds.length > 0) 
						{
							dummyChild = childChilds[0].label;
							if(dummyChild.substring(0,5) == 'dummy') 
							{
								// dummy ebene gefunden pruefen ob sich Seite unterhalb
								// dieser Ebene befinden
								if(Level.substring(0,6) == childChilds[0].nodeAdress)
									activeDummy = true;
							}
						}
						
						// Pfeil setzen, wenn Treffer oder wenn letzte Zelle, d.h. wenn ein nicht angezeigte Kind getroffen wird
						if( (k == m.length-1) && (curLevel == childs[l].nodeAdress || activeDummy))
						{
							document.write("<td class=\"navigation-aktiv\" valign=\"top\"><img src=\"/images/pfeil_an.gif\" alt=\"Pfeil\" width=\"8\" height=\"10\"> </td>");
						}
						else
						{
							document.write("<td class=\"navigation\"><img src=\"/images/pfeil_aus.gif\" alt=\"Pfeil\" width=\"8\" height=\"10\"> </td>");
						}
	
					}
				}

				// AKTIV !!!   Marke setzen, wenn aktuelle Ebene oder wenn Eltern-Ebene, Link ausgeben
				if(	curLevel == childs[l].nodeAdress || activeDummy)
				{
					// Wenn Ebene 1: Colspan setzen
					if(m)
					{
						if( m.length == 1)
						{
							document.write("<td class=\"navigation-aktiv\" colspan=2>");
						}
						else
						{
							document.write("<td class=\"navigation-aktiv\" >");
						}
					}
					document.write('<a href=\"' + childs[l].target + '\" class=\"navigation-aktiv\">'  + childs[l].label +  '</a>');
					document.write("</td>");
				}
				else
				{
					// Wenn Ebene 1: Colspan setzen
					if(m)
					{
						if( m.length == 1)
						{
							document.write( '<td class=\"navigation\" colspan=2><a href=\"' + childs[l].target + '\" class=\"navigation\">'  + childs[l].label +  '</a></td> ');
						}
						else
						{
							document.write( '<td class=\"navigation\"><a href=\"' + childs[l].target + '\" class=\"navigation\">'  + childs[l].label +  '</a></td> ');
						}
					}
				}


				// Neue Zeile abschliessen
				document.writeln(" </tr> ");

			} // Ende Pruefung auf Dummy-Ebene

			// rekursiver Aufruf f&uuml;r SubTrees
			getChilds(childs[l].nodeAdress );
		}
	}
}

  
 
function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v3.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); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function MM_findObj(n, d) { //v4.01
  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 && d.getElementById) x=d.getElementById(n); return x;
}

function MM_showHideLayers() { //v6.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 getSitemap( adress )
{
    if (typeof  myTree != "undefined")
    {
		var sitemap = Node_getChilds(adress);

		var w = "";			// String mit der Adresse, der durchsucht wird fuer feststellen der Ebene

		var x = 0;			 // Allgemeiner Schleifenzaehler fuer Abarbeitung des Baumes

		var y = new Array(); // Array mit den Positionen des Punktes in der Adresse
							 // Die Laenge des Arrays wird als Kriterium fuer das Einrueckender Zellen genommen

		var z = 0;			 // Allgemeiner Schleifenz&auml;hler, innere Schleife



		for (x = 0; x < sitemap.length; x++)
	    {

			w = sitemap[x].nodeAdress;
			y = w.match(/\./g);



			// Wenn Ebene 1: Leerzeile vorschalten
			if( !y )
			{
					document.writeln("<tr><td colspan=10>&nbsp;</td></tr>");
			}

			// Nur ausgeben, wenn keine Dummy-Ebene
			var dummy = sitemap[x].label;

			if(dummy.substring(0,5) != 'dummy')
			{



				// Neue Zeile
				document.writeln("<tr>");

				if(y)
				{
					// einruecken, pro Ebene um 1 Zelle
					for(z=0; z< y.length; z++)
					{

							document.write("<td width='15'>&nbsp;</td>");

					}
				}



				// Wenn Ebene 1: Colspan setzen
				if(y)
				{
					if( y.length == 1)
					{
						document.write( '<td colspan=8><img src=\"../images/pfeil_grau.gif\" alt=\"Pfeil\"> <a href=\"' + sitemap[x].target + '\" class=\"sitemap\">'  + sitemap[x].label +  '</a></td> ');
					}
					else
					{
						// colspan = 10-y.length
						document.write( '<td colspan=');
						document.write( 10-y.length-1);
						document.write('><img src=\"../images/pfeil_schwarz.gif\" alt=\"Pfeil\"> <a href=\"' + sitemap[x].target + '\" class=\"sitemap\">'  + sitemap[x].label +  '</a></td> ');
					}
				}
				else
				{
					document.write( '<td colspan=10><img src=\"../images/pfeil_orange.gif\"> <a href=\"' + sitemap[x].target + '\" class=\"sitemap-head\">'  + sitemap[x].label +  '</a></td> ');
				}

				// Neue Zeile abschliessen
				document.writeln(" </tr> ");

			} // Ende Pruefung auf Dummy-Ebene

			// rekursiver Aufruf f&uuml;r SubTrees
			getSitemap(sitemap[x].nodeAdress );
		}
	}
}

