		function checkBrowser()
		//##########################################################//
		//########## Check Browser - START
		{	
			var ua		= navigator.userAgent.toLowerCase();
			var av 		= navigator.appVersion;
			var ver1 	= av.substring(0, av.indexOf(" ")) *1;
			var ver2	= av.substring(0, av.indexOf(".")) *1;
			
			mozilla	= (ua.indexOf("gecko/") != -1);
			ie		= (ua.indexOf("msie") 	 > -1 && ua.indexOf("opera") == -1);
			opera	= (ua.indexOf("opera")	 > -1);
			
			if 		(mozilla || opera) ver = ver2;
			else if (ie)
			{
					if (ver2 == 4 && ua.indexOf("msie 5") == -1 && ua.indexOf("msie 6") == -1 && ua.indexOf("msie 7") == -1){ver = 4;}
			   else if (ver2 == 4 && ua.indexOf("msie 5") > -1)	{ver = 5;}
			   else if (ver2 == 4 && ua.indexOf("msie 6") > -1)	{ver = 6;}
			   else if (ver2 == 4 && ua.indexOf("msie 7") > -1)	{ver = 7;}
			}
		}
		//########## Check Browser - END
		//##########################################################//

		function countNcDrops()
		{
		ncClassAttributeIE = document.getElementById('nc').getAttribute('className');
		ncClassAttributeMO = document.getElementById('nc').getAttribute('class');
		
		
		ncClassAttribute   = (ncClassAttributeIE) ? ncClassAttributeIE : ncClassAttributeMO;
		ncClassAttribute   = ncClassAttribute.split('drops');
		numberNcDrops	   = ncClassAttribute[0].substr(ncClassAttribute[0].length-1,1);
		}
		
		function adjust(numberNcDrops)		
		//##########################################################//
		//########## Adjust Boxes - START	
		{
			document.getElementById('bc').style.height = 'auto';
			document.getElementById('rc').style.height = 'auto';
			var noMcHeight 	   =  document.getElementById('tc').offsetHeight + document.getElementById('nc').offsetHeight + document.getElementById('fc').offsetHeight;
			var documentHeight = (document.documentElement.clientHeight) ? document.documentElement.clientHeight : document.body.clientHeight;
			var documentWidth  = (document.body && document.body.offsetWidth) ? document.body.offsetWidth : 0 ;
			var bcHeight	   =  document.getElementById('bc').offsetHeight;
			if(documentHeight)
			{	
		
				if( (noMcHeight + bcHeight) < documentHeight)
					
					{
						document.getElementById('bc').style.height = (documentHeight - noMcHeight - 40)+'px';
					}
				
					if(document.getElementById('bc').offsetHeight >= document.getElementById('rc').offsetHeight)
					document.getElementById('rc').style.height = parseInt(document.getElementById('bc').offsetHeight)-50+'px';
					else
					document.getElementById('bc').style.height = parseInt(document.getElementById('rc').offsetHeight)-10+'px';		
	
			}
			
				for(i=2;i<=numberNcDrops;i++)
				{	
					if(document.getElementById('nc'+i))
					{
					newOffsetLeft = (document.getElementById('nc'+i+'u').offsetLeft > 0 ) ? (document.getElementById('nc'+i+'u').offsetLeft - 20) : (document.getElementById('nc'+i+'a').offsetLeft - 20);
					if(i>(numberNcDrops+1))i=(ncDrops+1); // unknown anmomalie Bugfix
					document.getElementById('nc'+i).style.marginLeft	= -(Math.round((documentWidth/2) - newOffsetLeft))+'px';
					}
				}
			
			
		//setTimeout('adjust('+numberNcDrops+')',1000);
		}
		//########## Adjust Boxes - END
		//##########################################################//
	
		
		function getElementsByClassName(class_name)
		//##########################################################//
		//########## Ghost-Functions  - START 
		  {	
			var all_obj,ret_obj=new Array(),j=0,teststr;
	
				 if(document.all)									all_obj=document.all;
			else if(document.getElementsByTagName && !document.all) all_obj=document.getElementsByTagName("*");
	
			for(i=0;i<all_obj.length;i++)
			{
			  if(all_obj[i].className.indexOf(class_name)!=-1)
			  {
				teststr=","+all_obj[i].className.split(" ").join(",")+",";
				if(teststr.indexOf(","+class_name+",")!=-1)
				{
				  ret_obj[j]=all_obj[i];
				  j++;
				}
			  }
			}
			return ret_obj;
		  }
		//########## Ghost-Functions  - END
		//##########################################################//
				
		// setStyle(className, attr, value)
		function setStyle(name, attr, value)
		{
			var rule = getStyleSheet(name);
			if(!rule) return null;
			if(typeof value != 'undefined') rule.style[attr] = value;
			return rule.style[attr];
		}
		
		
		///////////////////////////////////////////////////////////
		// getAllStyles()
		function getAllStyles()
		{
			if(!document.styleSheets) return null;
			var ret = new Array();
		
			for(var i = 0; i < document.styleSheets.length; i++)
			{
				 var rules = (typeof document.styleSheets[i].rules != 'undefined') ?
				 document.styleSheets[i].rules : // IE
				 document.styleSheets[i].cssRules; // MZ
		
				for(var j = 0; j < rules.length; j++) ret[ret.length] = rules[j].selectorText;
			}
			return ret;
		}
		
		
		///////////////////////////////////////////////////////////
		// getStyleSheet(name)
		function getStyleSheet(name)
		{
		 if(!name || !document.styleSheets) return null;
	
		 var i = document.styleSheets.length;
		 while(i--)
		 {
			 var rules = (typeof document.styleSheets[i].rules != 'undefined') ?
			 document.styleSheets[i].rules : // IE
			 document.styleSheets[i].cssRules; // MZ
			 var j = rules.length;
			 while(j--)
			 {
				 if(rules[j].selectorText == name) return rules[j];
			 }
		 }
		 return null;
		}


		function fadeInElement(id)
		//##########################################################//
		//########## Fade Elements - START 	
		{   
			element 	 = document.getElementById(id);
			startOcArray = element.className.split('oc');
			startOc  	 = parseInt(startOcArray[1]);
			oc			 = element.style.opacity ? (parseFloat(element.style.opacity)*100) : startOc;

			if(oc % 10 == 0 && oc < 100)
			{ 
				element.style.filter	 = 'Alpha(opacity='+(oc+10)+')';
				element.style.MozOpacity = ((oc+10) / 100);
				element.style.opacity 	 = ((oc+10) / 100);
				setTimeout('fadeInElement(\''+id+'\')',20);
			}
			if(oc == 100)return true;
			else return false;
		}
		//########## Fade Elements - END
		//##########################################################//	


		function fadeOutElement(id)
		//##########################################################//
		//########## Fade Elements - START 	
		{
				
			try{
				if( document.getElementById(id) != null && document.getElementById(id).className != ''){ throw 'true';}
				else{throw 'false';}
				}
			catch(e){if(e == 'false') return;}
				
			element	  	 = document.getElementById(id);					// create reference 
			if(element.className ){
			startOcArray = element.className.split('oc');				// explode oc
			startOc 	 = parseInt(startOcArray[1]);}					// convert class string to integer value
			else
			startOc 	 = 100;
			oc 		 	 = element.style.opacity ? (parseFloat(element.style.opacity)*100) : startOc; 
																		// save current oc-level
			if(oc % 10 == 0){oc++;}										// if oc-level is divisible by 10, we create an uneven
																		// oc-level in order to mark the fadeing direction
																		// as descending
																		//
			if(oc % 10 == 1 && oc >= (startOc+11))						// if oc has an uneven value an is gerater than startOc + 11
			{															// 
				if(oc == startOc+11){oc=(startOc+10);}					// create an even oc-level in order to mark the fadeing direction as NOT descending

				element.style.filter	 = 'Alpha(opacity='+(oc-10)+')';
				element.style.MozOpacity = ((oc-10) / 100);
				element.style.opacity 	 = ((oc-10) / 100);
				
				setTimeout('fadeOutElement(\''+id+'\')',40);
			}
			if((oc - 10) == 0 && element.className.indexOf('ocsz') != -1) // 'ocsz' stands for 'oc sub zero'
			element.style.display = 'none';								  // mark an element with ocsz in order hide it after the fading przess
		}
		//########## Fade Elements - END
		//##########################################################//


		function logoShine(n,c,e)
		//##########################################################//
		//########## Logo Shine - START 
		{	
			image 	  = document.getElementById('uweBraunShine');
			image.src = 'img/nav/uweBraunShine'+c+'.png';
			
			if(c == ( e - 1 ))
			{
				setTimeout('image.src = \'img/nav/uweBraunShine'+(c+1)+'.png\';',60);
				return true;
			}
			if(c == n) c = 1;
			else c++;
			setTimeout('logoShine('+n+','+c+','+e+')',50);
		}
		//########## Logo Shine - END
		//##########################################################//
		
		function ncBehavior(numberNcDrops)
		//##########################################################//
		//########## Navigation Behavior - START
				{

		var i;
		for(i=2;i<=numberNcDrops;i++)
		{
			if(document.getElementById('nc'+i))continue;
			
			var documentWidth			= document.body.offsetWidth;
			document.getElementById('nc'+i+'u').style.display = 'block';
			var newOffsetTop			= document.getElementById('nc').offsetTop - 20 + 53;
			var newOffsetLeft			= document.getElementById('nc'+i+'u').offsetLeft - 20;
			var newOffsetWidth			= document.getElementById('nc'+i+'u').offsetWidth + 60;
			var newOffsetHeight			= document.getElementById('nc'+i+'u').offsetHeight + 60;
			document.getElementById('nc'+i+'u').style.display = 'none';
			
			newDiv					= document.createElement('div');
			newDiv.style.position	= 'absolute';
			newDiv.style.top 		= newOffsetTop+'px';
			newDiv.style.left 		= '50%';
			newDiv.style.marginLeft	= (-(documentWidth/2) + newOffsetLeft)+'px';
			newDiv.style.width 		= newOffsetWidth+'px';
			newDiv.style.height 	= newOffsetHeight+'px';
			newDiv.style.display 	= 'none';
			//newDiv.style.border 	= '1px solid #ff0000';
			newId			 		= document.createAttribute('id');
			newId.nodeValue 		 = 'nc'+i;
			newDiv.setAttributeNode(newId);
			document.getElementById('nc').appendChild(newDiv);
			
			newImg					= document.createElement('img');
			newSrc					= document.createAttribute('src');
			newSrc.nodeValue  		= 'img/nav/glass_pix.gif';
			newImg.setAttributeNode(newSrc);
			newImg.style.width		= '100%';
			newImg.style.height		= '100%';
			newId			 		= document.createAttribute('id');
			newId.nodeValue 		= 'nc'+i+'Img';
			newImg.setAttributeNode(newId);
			newDiv.appendChild(newImg);
			
			document.getElementById('nc'+i+'a').style.cursor = 'default';
			document.getElementById('nc'+i+'a').onmouseover = function()
			{
				//setTimeout('adjust()',50);;
				var id = this.id.substr(2, 1);
				//fadeInElement(this.id);
				document.getElementById('nc'+id+'u').style.display = 'block';
				document.getElementById('nc'+id).style.display 	   = 'block';
				//fadeInElement(this.nextSibling.id);
				fadeOutNcUls(id,numberNcDrops);
			}

			document.getElementById('nc'+i+'Img').onmouseover		= function()
			{
				var id = this.id.substr(2, 1);
				document.getElementById('nc'+id).style.display = 'none';
				document.getElementById('nc'+id+'u').style.display = 'none';
				//fadeOutElement('nc'+id+'a');
				//fadeOutElement('nc'+id+'u');
			}
		}
		}
		//########## Navigation Behavior - END
		//##########################################################//	
		
		function fadeOutNcUls(id,numberNcDrops)
		{
		//########## Fade Out Extendet ul-Elements - START
				var i;
				for(i=3;i<=numberNcDrops;i++)
				{
					if((id == null) || (id != null && i != id))
					{	
						fadeOutElement('nc'+i+'a');
						//fadeOutElement('nc'+i+'u');
						document.getElementById('nc'+i+'u').style.display = 'none';
						document.getElementById('nc'+i).style.display = 'none';
					}
				}
		}
		//########## Fade Out Extendet ul-Elements - END

		
		function setSessionVar(phpParam)
		{	
			if(phpParam.length!=0)
			{	
				phpParam = 'inc/setSessionVars.php?'+phpParam;
				xmlHttp  =  GetXmlHttpObject();
				if(xmlHttp==null){alert("Ihr Browser unterstütz die gewählte Übertragungsart nicht. Bitte führen Sie ein Update durch.");return;} 
				//xmlHttp.onreadystatechange = setSessionVarStateChanged;
				xmlHttp.open("GET",phpParam,true);
				xmlHttp.setRequestHeader("Content-Type", "text/xml");
				xmlHttp.send(null);
				
			}
		} 
		
		function GetXmlHttpObject()
		{
			var xmlHttp=null;
			try{xmlHttp=new XMLHttpRequest();}
				catch (e){try{xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");}
					catch(e){xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");}
			 }
			return xmlHttp;
		}
		
		
		function scaleFont(pt)
		{	
		
			document.getElementById('bc').style.height = 'auto';
			document.getElementById('rc').style.height = 'auto';
			var ptValue = parseInt(getStyleSheet('.body').style.fontSize.substr(0, 2));
			if(ptValue < 10 || pt == 0) ptValue = 10;
			if(ptValue > 20) ptValue = 20;
			setStyle('.body', 'fontSize', (ptValue+pt)+'pt');
			adjust();
			setSessionVar('fontSize='+(ptValue+pt));
			return false;	
		}
		
		// hide nextSibling
		function hNs(element)
		{	
			for(i=1;i<10;i++)
			{
				if((typeof element) == 'string')
				{element = document.getElementById(element)}
				else
				{element = element.nextSibling;}
				
				if(element.nodeType == 1)
				{
					height  = element.offsetHeight; 
					if(element.style.display == 'block' || height > 0){
					element.style.display = 'none'; setTimeout('adjust()',900);}
					else
					{element.style.display = 'block'; setTimeout('adjust()',900);}
					break;
				}
			}
		}
		
		// disable / enable element
		function dEe(element)
		{
			if((typeof element) == 'string')
			{element = document.getElementById(element)}
			if(element.disabled == true || element.disabled == 'disabled')element.removeAttribute('disabled');
			else {element.disabled = 'true';}
		}
