var iDauer3Nav = 1500; //solange wird die 3. navigationsebene angezeigt
var MerkeTimeout=null; //initialisieren des timeout-Merkers für 3. Navigationsebene
var MerkeTimeoutSub_1=null; //initialisieren des timeout-Merkers für 4. Navigationsebene
var iMaxCount4Level = 8;

//hier merke ich mir alle sichtbaren ebenen
var lookAtDiv = new Array();

//hier merke ich mir alle standardmäßig eingeblendeten ebenen
var alwaysOnTop = new Array();

//hier merke ich mir alle standardmäßig auszublendenden ebenen
var lookAtStandard = new Array();

/*--------------------------------------------------------------------------------------------*/

function MM_reloadPage(init) {  //reloads the window if Nav4 resized
  if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
	document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
  else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
}
MM_reloadPage(true);


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;
}



//Ausblenden der 3 Navigationsebene nach iDauer3Nav Sekunden.
function hideLayer(ebenenname) {
  MerkeTimeout = setTimeout("MM_showHideLayers('"+ebenenname+"','','hide');showAlwaysOnTop();",iDauer3Nav);
}

//dient dazu die durchgängig sichtbaren ebenen wieder einzublenden.
function showAlwaysOnTop() {

   for (pi = 0; pi<alwaysOnTop.length; pi++) {
	  MM_showHideLayers(alwaysOnTop[pi],'','show');
   }

}


//leicht verändert die Macromedia funktion zum ein- ausblenden der ebenen
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;
	}
  }
  if (MerkeTimeout!=null) {
	clearTimeout(MerkeTimeout);
	MerkeTimeout=null;
  }
  if (MerkeTimeoutSub_1!=null) {
	 clearTimeout(MerkeTimeoutSub_1);
	 MerkeTimeoutSub_1=null;
  }

}

//soll alle ebenen (ab der &uuml;bergebenen) ausblenden und eine sichtbar machen
//1. parameter: oberebene, ab der alles verschwinden soll
//2. parameter: diese ebene soll sichtbar werden.
function HideAllShowOne(HauptNav,UnterNav) {
	//hier werden die ebenen ausgeblendet, die nicht sichtbar sein sollen
	for (pi = 0; pi<lookAtDiv.length;pi++) {
		MM_showHideLayers(lookAtDiv[pi],'','hide');
	}

   for (pi = 0; pi<lookAtStandard.length;pi++) {
		MM_showHideLayers(lookAtStandard[pi],'','hide');
	}

	//da jetzt alle ebenen unsichtbar sind,
	//wird der array mit allen sichtbaren ebenen geleert
	lookAtDiv = new Array();

	//gewünschte ebene einblenden
	MM_showHideLayers(UnterNav,'','show');

	//'merken', daß die ebene eingeblendet ist
	addVisibleLayer(UnterNav);
}

//jede ebene, die sichtbar gemacht wird,
//wird in diesem array gespeichert.
//damit man diese später unsichtbar machen kann.
function addVisibleLayer(myDiv) {
	//hängt an den array noch einen wert ran...
	lookAtDiv[lookAtDiv.length] = myDiv;
}

//immer wenn ebenen standardmäßig eingeblendet sein sollen,
//dann wird diese funktion aufgerufen
//die ebenen werden standardmäßig wieder eingeblendet!
function addAlwaysShow(myDiv) {
	//ebenen die ausblenden array
   lookAtStandard[lookAtStandard.length] = myDiv;
   //ebenen einblenden array
   alwaysOnTop[alwaysOnTop.length] = myDiv;
}


//hier ebeneober auch unsichtbar machen, wenn ebeneunter
//mouseout
function hideLayerSub(ebeneober, ebeneunter) {
   //erst ebenen ausblenden, dann dauerebenen wieder einblenden...
	MerkeTimeoutSub_1 = setTimeout("MM_showHideLayers('"+ebeneober+"','','hide','"+ebeneunter+"','','hide');showAlwaysOnTop()",iDauer3Nav);
}

//SnH = Show And Hide
//sHaupt ist die übergeordnete ebene
//sThis ist die, die letzendlich sichtbar werden soll
function SnHfourthLevel(sHaupt, sThis) {
   //ebenen ausblenden, die evtll. sichtbar sind
   //variable ist oben definiert
   for (i=0; i<iMaxCount4Level; i++) {
	  MM_showHideLayers(sHaupt + '-' + i,'','hide');
   }

   //wenn hier nichts übergeben wird, dann gibt es keine vierte naviebene
   if (sThis != "") {
		//eben einblenden
		MM_showHideLayers(sThis,'','show');
		addVisibleLayer(sThis);
   }
}


function showLayer(LayerName) {
	MM_showHideLayers(LayerName,'','show');
	addVisibleLayer(LayerName);
}


function openPopup(theURL,winName,features) {
  var position = ''; // features kompatibel, die positionierung des fensters.
  w = 480;
  h = 600;
  LeftPosition = (screen.width) ? (screen.width-w)/2 : 0;
  TopPosition = (screen.height) ? (screen.height-h)/2 : 0;
  
  position=',toolbar=yes,menubar=yes,width='+w+',height='+h+',top='+TopPosition + ',left='+LeftPosition;
  
  features += position;
  fenster = window.open(theURL,winName,features);
  fenster.focus();
}

