

 var activeButton  = null;
 var activeSub     = null;
 var activeBar     = null;
 var overMenu      = null;

 var mainMenuLeft;
 var mainMenuTop;

 var isIEBr        = 0;
 var activeToolTip = '';


 function Browser()
 {
	var ua, s, i;

	this.isIE    = false;  // Internet Explorer
	this.isNS    = false;  // Netscape
	this.version = null;

	ua = navigator.userAgent;

	s = "MSIE";
	if ((i = ua.indexOf(s)) >= 0)
	{
		this.isIE = true;
		this.version = parseFloat(ua.substr(i + s.length));
		return;
	}

	s = "Netscape6/";
	if ((i = ua.indexOf(s)) >= 0)
	{
		this.isNS = true;
		this.version = parseFloat(ua.substr(i + s.length));
		return;
	}

	s = "Gecko";
	if ((i = ua.indexOf(s)) >= 0)
	{
		this.isNS = true;
		this.version = 6.1;
		return;
	}
 }

 var browser = new Browser();

 if(browser.isIE)
 {
	document.onmousedown = pageMousedown;
	document.onmousemove = pageMouseMove;
 }
 if(browser.isNS)
 {
	document.addEventListener("mousedown", pageMousedown, true);
	document.addEventListener("mousemove", pageMouseMove, true);
 }


 // Hauptmenü Glossar-Baum
 function helpClick(id)
 {
	var img = 'helpImg_' + id;
	if( document.getElementById(id).style.display == 'none' )
	{
		document.getElementById(id).style.display = 'block';
		document.getElementById(img).src          = 'images/hilfe_buchauf.gif';
	} else
	  {
		document.getElementById(id).style.display = 'none';
		document.getElementById(img).src          = 'images/hilfe_buchzu.gif';
	  }
 }
 var buchauf = new Image;
 buchauf.src = 'images/hilfe_buchauf.gif';

 function helpSwitch(mode)
 {
	if( helpArray )
	{
		for( i = 0; i < helpArray.length; i++ )
		{
			var img = 'helpImg_' + helpArray[i];
			if( mode == 1 )
			{
				document.getElementById(helpArray[i]).style.display = 'block';
				document.getElementById(img).src                    = 'images/hilfe_buchauf.gif';
			} else
			  {
				document.getElementById(helpArray[i]).style.display = 'none';
				document.getElementById(img).src                    = 'images/hilfe_buchzu.gif';
			  }
		}
	}
 }


 // Hauptmenü Klappfunktion
 var contentDivStartWidth;
 var activeMenueNumber;
 var menueFelder     = 3;
 var menueSizeBig    = 1;
 var menueSizePuffer = '';

 function setMenue(number)
 {
	if( number != 0 )
	{
		activeMenueNumber = number;
		myNumber          = number;
	} else
	  {
		myNumber = activeMenueNumber;
	  }

	var ccW = document.getElementById('contentCell').offsetWidth;
	var ccH = document.getElementById('contentCell').offsetHeight;

	document.getElementById('contentMain').style.width  = ccW + 'px';
	document.getElementById('contentMain').style.height = ccH + 'px';

	if( document.getElementById('mainMenue') )
	{
		var itL = document.getElementById('menueTable').offsetLeft;
		var itT = document.getElementById('menueTable').offsetTop;
		var itW = document.getElementById('menueTable').offsetWidth;
		var itH = document.getElementById('menueTable').offsetHeight;

		if( document.getElementById('block1') )
		{
			var mbH = document.getElementById('block1').offsetHeight;
		} else
		  {
			var mbH = document.getElementById('mainMenue').offsetHeight;
		  }

		var contentHeight = itH - ( menueFelder * mbH );

		document.getElementById('mainMenue').style.width    = itW + 'px';
		document.getElementById('mainMenue').style.height   = itH + 'px';

		if( document.getElementById('block1') )
		{
			for( sb = 1; sb < ( menueFelder + 1 ); sb++ )
			{
				blockSet   = 'block'+sb;
				contentSet = 'content'+sb;
				arrowSet   = 'menuePfeil'+sb;

				document.getElementById(blockSet).style.width = ( browser.isIE ) ? itW + 'px' : ( itW - 8 ) + 'px';
				if( sb > myNumber )
				{
					document.getElementById(blockSet).style.top = ( ( ( sb - 1 ) * mbH ) + contentHeight ) + 'px';
				} else
				  {
					document.getElementById(blockSet).style.top = ( ( sb - 1 ) * mbH ) + 'px';
				  }

				if( sb == myNumber )
				{
					document.getElementById(contentSet).style.top        = ( sb * mbH )  + 'px';
					document.getElementById(contentSet).style.height     = ( browser.isIE ) ? contentHeight + 'px' : ( contentHeight - 6 ) + 'px';
					document.getElementById(contentSet).style.width      = ( browser.isIE ) ? itW + 'px' : ( itW - 8 ) + 'px';
					document.getElementById(contentSet).style.visibility = "visible";
					document.getElementById(contentSet).style.display    = "block";
					document.getElementById(arrowSet).src                = "images/pfeil_unten.gif";
				} else
				  {
					document.getElementById(contentSet).style.height     = '0px';
					document.getElementById(contentSet).style.visibility = "hidden";
					document.getElementById(contentSet).style.display    = "none";
					document.getElementById(arrowSet).src                = "images/pfeil_rechts.gif";
				  }
			}
		}

		document.getElementById('menueSmallBlock').style.height = itH + 'px';
		contentDivStartWidth = document.getElementById('contentCell').offsetWidth;
	}
 }

 // Hauptmenü Größenänderung
 function resizeMenue(mode)
 {
	if( mode == 0 && menueSizeBig == 1 )
	{
		menueSizeBig    = 0;
		menueSizePuffer = document.getElementById('mainMenue').innerHTML;

		document.getElementById('mainMenue').innerHTML     = '';
		document.getElementById('mainMenue').style.width   = '30px';
		document.getElementById('menueTable').style.width  = '30px';
		document.getElementById('mainMenue').innerHTML     = document.getElementById('menuePuffer').innerHTML;
		document.getElementById('contentMain').style.width = contentDivStartWidth + 220;
		document.getElementById('sizeSwitch1').innerHTML   = '<a href="javascript:// Menü vergrößern" onclick="resizeMenue(1);" title="Menü vergrößern"><font color="white"><b>vergrößern</b></font></a>';
		document.getElementById('sizeSwitch2').innerHTML   = '&nbsp;<img src="images/pfeil_rechts.gif" border="0" width="12" height="12" hspace="0">';
	}

	if( mode == 1 && menueSizeBig == 0 )
	{
		document.getElementById('mainMenue').innerHTML     = '';
		document.getElementById('mainMenue').style.width   = '250px';
		document.getElementById('menueTable').style.width  = '250px';
		document.getElementById('mainMenue').innerHTML     = menueSizePuffer;
		document.getElementById('contentMain').style.width = contentDivStartWidth;
		document.getElementById('sizeSwitch1').innerHTML   = '<a href="javascript:// Menü verkleinern" onclick="resizeMenue(0);" title="Menü verkleinern"><font color="white"><b>verkleinern</b></font></a>';
		document.getElementById('sizeSwitch2').innerHTML   = '&nbsp;<img src="images/pfeil_links.gif" border="0" width="12" height="12" hspace="0">';

		menueSizeBig    = 1;
		menueSizePuffer = '';
	}
 }


 // ColorFade im Menü
 var naviFeldAktiv   = '';
 var naviFeldMode    = 'up';
 var naviFeldCounter = 0;

 function naviJump()
 {
	if( naviFeldAktiv != '' )
	{
		colorFade(naviFeldAktiv, naviFeldMode);
	}
 }

 function colorFade(field, mode)
 {
	naviFeldAktiv = field;

	if( mode == 'up' )
	{
		if( naviFeldCounter < 11 )
		{
			var newColor1 = dezToHex( 149 - Math.round( 1.4 * naviFeldCounter));
			var newColor2 = dezToHex( 178 + Math.round( 2.8 * naviFeldCounter));
			var newColor3 = dezToHex( 194 + Math.round( 5.6 * naviFeldCounter));

			document.getElementById(field).style.backgroundColor = '#'+newColor1+newColor2+newColor3;
			naviFeldCounter++;
			window.setTimeout('naviJump()', 70);
		}
	} else
	  {
		document.getElementById(field).style.backgroundColor = '#95B2C2';
		naviFeldAktiv   = '';
		naviFeldCounter = 0;

	  }
 }

 function dezToHex(dezimalwert)
 {
	if( dezimalwert.toString(16).length == 1 )
	{
		return "0" + dezimalwert.toString(16).toUpperCase();
	} else
	  {
		return dezimalwert.toString(16).toUpperCase();
	  }
 }


 // Mausklick auf der Seite
 function pageMousedown(event)
 {
	if( !event )
	{
		event = window.event;
	}

	var el;

	// angeklicktes Element finden
	if( browser.isIE )
	{
		el = window.event.srcElement;
	}
	if( browser.isNS )
	{
		el = (event.target.className ? event.target : event.target.parentNode);
	}

	// Suggestion-Suchfeld
	if( el.id != 'suggestLine' )
	{
		suggestion_aus();
	}

	// Ab hier fürs Menü
 	// Abbrechen wenn kein Menü aktiv ist
	if( !activeButton )
	{
		return;
	}
	if( overMenu )
	{
		return;
	}

	if( el == activeButton )
	{
		return;
	}

	// Aktives Hauptmenü schliessen
	if( el.className != "mainMenu" )
	{
		if( activeBar )
		{
			var deSetName    = "main_" + activeBar;
			var changeObject = document.getElementById(deSetName);

			changeObject.style.borderColor = "#ECE9D8 #C0C0C0 #C0C0C0 #ECE9D8";

			activeBar = null;
		}
	}

	if( activeButton )
	{
		document.getElementById(activeButton).style.visibility = "hidden";
	}

	if( activeSub )
	{
		document.getElementById(activeSub).style.visibility = "hidden";
	}

	if( activeBar )
	{
		var deSetName    = "main_" + activeBar;
		var changeObject = document.getElementById(deSetName);

		changeObject.style.borderColor = "#ECE9D8 #C0C0C0 #C0C0C0 #ECE9D8";
	}
 }


 // Mausbewegung auf der Seite
 function pageMouseMove(event)
 {
	if( browser.isIE )
	{
		x = window.event.clientX + document.body.scrollLeft;
		y = window.event.clientY + document.body.scrollTop;
	}
	if( browser.isNS )
	{
		x = event.clientX + document.body.scrollLeft;
		y = event.clientY + document.body.scrollTop;
	}

	if( activeToolTip )
	{
		if( activeToolTip != '' )
		{
			document.getElementById(activeToolTip).style.left = ( x + 10 - 250 ) + "px";
			document.getElementById(activeToolTip).style.top  = ( y + 20 - 140 ) + "px";
		}
	}
 }


 function tooltip_show(tooltip, event)
 {
	if( browser.isIE )
	{
		x = window.event.clientX + document.body.scrollLeft;
		y = window.event.clientY + document.body.scrollTop;
	}
	if( browser.isNS )
	{
		x = event.clientX + document.body.scrollLeft;
		y = event.clientY + document.body.scrollTop;
	}

	document.getElementById(tooltip).style.left       = ( x + 10 - 250 ) + "px";
	document.getElementById(tooltip).style.top        = ( y + 20 - 140 ) + "px";

	document.getElementById(tooltip).style.display    = 'block';
	document.getElementById(tooltip).style.visibility = 'visible';

	activeToolTip = tooltip;
 }


 function tooltip_hide(tooltip)
 {
	document.getElementById(tooltip).style.display    = 'none';
	document.getElementById(tooltip).style.visibility = 'hidden';

	activeToolTip = '';
 }


 function sicher(ziel)
 {
	var Checkdelete = confirm("Sicher?");
	if( Checkdelete != false )
	{
		self.location.href = ziel;
	}
 }


 // ===========================================================================================================================


 function suggestion()
 {
	if( !xhttp )
	{
		return;
	}

	wort = document.getElementById('suchwort').value;
	wort = encodeURIComponent(wort);

	if( wort.length < 2 )
	{
		suggestion_aus();
		return;
	}

	xhttp.open('GET', 'ajaxSuggestion.php?wort='+wort, true);

	if( browser.isIE )
	{
		xhttp.onreadystatechange = suggestion_callback;	
	} else
	  {
		xhttp.onload = suggestion_callback;
	  }

	xhttp.send(null);
 }


 function suggestion_callback()
 {
	if( xhttp.readyState != 4 || xhttp.status != 200 )
	{
		return;
	}

	var neuerInhalt = xhttp.responseText;

	document.getElementById('suggestBlock').innerHTML = neuerInhalt;

	suggestion_an();
 }


 function suggestion_an()
 {
	if( document.getElementById('suggestBlock') )
	{
		document.getElementById('suggestBlock').style.visibility = "visible";
	}
 }


 function suggestion_aus()
 {
	if( document.getElementById('suggestBlock') )
	{
		document.getElementById('suggestBlock').style.visibility = "hidden";
	}
 }


 function referenz(name)
 {
	if( !xhttp )
	{
		return;
	}

	nameRef = encodeURIComponent(name);

	xhttp.open('GET', 'ajaxReferenz.php?name='+nameRef, true);

	if( browser.isIE )
	{
		xhttp.onreadystatechange = referenz_callback;	
	} else
	  {
		xhttp.onload = referenz_callback;
	  }

	xhttp.send(null);
 }


 function referenz_callback()
 {
	if( xhttp.readyState != 4 || xhttp.status != 200 )
	{
		return;
	}

	var neuerInhalt = xhttp.responseText;

	document.getElementById('contentMain').innerHTML = neuerInhalt;
 }


 function glossar(id)
 {
	if( !xhttp )
	{
		return;
	}

	xhttp.open('GET', 'ajaxGlossar.php?id='+id, true);

	if( isIEBr == 1 )
	{
		xhttp.onreadystatechange = glossar_callback;	
	} else
	  {
		xhttp.onload = glossar_callback;
	  }

	xhttp.send(null);
 }


 function glossar_callback()
 {
	if( xhttp.readyState != 4 || xhttp.status != 200 )
	{
		return;
	}

	var neuerInhalt = xhttp.responseText;

	document.getElementById('contentMain').innerHTML = neuerInhalt;
 }


 // ===========================================================================================================================


 var oc              = 100;
 var homeImgArrCount = 1;
 var homeImages      = new Array('1.gif', '2.gif', '3.gif', '4.gif');


 function homeImgSlide()
 {
	if( document.getElementById('homeImg') )
	{
		if( oc > 0 )
		{
			oc = oc - 10;
			if(browser.isIE)
			{
				document.getElementById('homeImg').style.filter     = 'Alpha(style=0,opacity='+oc+')';
			} else
			  {
				document.getElementById('homeImg').style.MozOpacity = ( oc / 100 );
			  }
			window.setTimeout('homeImgSlide()', 100);
		} else
		  {
			document.getElementById('homeImg').src = 'images/fh/'+homeImages[homeImgArrCount];
			if( homeImgArrCount >= ( homeImages.length - 1 ) )
			{
				 homeImgArrCount = 0;
			} else
			  {
				 homeImgArrCount+= 1;
			  }
			homeImgSlide2();
		  }
	}
 }


 function homeImgSlide2()
 {
	if( document.getElementById('homeImg') )
	{
		if( oc < 100 )
		{
			oc = oc + 10;
			if(browser.isIE)
			{
				document.getElementById('homeImg').style.filter     = 'Alpha(style=0,opacity='+oc+')';
			} else
			  {
				document.getElementById('homeImg').style.MozOpacity = ( oc / 100 );
			  }
			window.setTimeout('homeImgSlide2()', 100);
		} else
		  {
			window.setTimeout('homeImgSlide()', 3000);
		  }
	}
 }


 // ===========================================================================================================================


 function initAjax()
 {
	// Ajax
	if( window.ActiveXObject )
	{
		try
		{
			// IE 6.0
			xhttp = new ActiveXObject("Msxml2.XMLHTTP");
			isIEBr = 1;
		} catch(e)
		  {
			// IE 5.x
			try
			{
				xhttp = new ActiveXObject("Microsoft.XMLHTTP");
				isIEBr = 1;
			} catch(e)
			  {
				xhttp = false;
			  }
		  }
	} else
		if( window.XMLHttpRequest )
		{
			// Mozilla, Opera, Safari
			try
			{
				xhttp = new XMLHttpRequest();
			} catch(e)
			  {
				xhttp = false;
			  }
		}
 }


 function init()
 {
	initAjax();

	// Menü
	if( document.getElementById('menu') )
	{
		mainMenuLeft = document.getElementById('menu').offsetLeft;
		mainMenuTop  = document.getElementById('menu').offsetTop;

		var initContainer   = new Array('menu_1', 'menu_2', 'menu_3', 'menu_5', 'sub_2_2', 'sub_2_3', 'sub_2_4');

		for( iC = 0; iC < initContainer.length; iC++ )
		{
			var subObject = document.getElementById(initContainer[iC]);
			if( subObject )
			{
				subObject.style.position = "absolute";
				subObject.style.left = 0 + "px";
				subObject.style.top  = 0 + "px";

				subObject.style.visibility = "hidden";
			}
		}
	}
 }
