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) { //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_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_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_openBrWindow(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}

<!-- Generische Navigation -->
	function changeStyleGenericOver(ID)
	{
		document.getElementById(ID).style.color = '#4B6D53';
	}

	function changeStyleGenericOut(ID)
	{
		document.getElementById(ID).style.color = '#7D9A83';
	}

<!-- Produkt Navigation -->
	function changeImgProdukteOver(ID)
	{
		document.getElementById(ID).src = 'images/nav/navi_main_' + ID + '_over.gif';
	}

	function changeImgProdukteOut(ID)
	{
		document.getElementById(ID).src = 'images/nav/navi_main_' + ID + '_off.gif';
	}

<!-- Main Navigation -->
	var lastMenu = null;

	function changeStyleNaviUntermenueOver(ID)
	{
	
		document.getElementById(ID).className = 'navi_untermenue-over';
	}

	function changeStyleNaviUntermenueOut(ID)
	{
		document.getElementById(ID).className = 'navi_untermenue-off';
	}

	function changeImgMainOnLayerOn(ID, aktID)
	{
		if(lastMenu != null)
		{
			document.getElementById(lastMenu).src = 'images/nav/navi_main_' + lastMenu + '_off.gif';
			document.getElementById('Layer_' + lastMenu).style.display = 'none';
		}
		document.getElementById(ID).src = 'images/nav/navi_main_' + ID + '_over.gif';
		document.getElementById('Layer_' + ID).style.display = 'inline';
		lastMenu = ID;
	}

	function changeImgMainOver(ID)
	{
		document.getElementById(ID).src = 'images/nav/navi_main_' + ID + '_over.gif';
	}

	function changeImgMainOut(ID)
	{
		document.getElementById(ID).src = 'images/nav/navi_main_' + ID + '_off.gif';
	}

<!-- HCI Team -->
function changeLayerBereich(layerID, ID)
{
	<!-- Layer -->
		for(c = 0; c < 22; c++)
		{
			for(i = 0; i < 22; i++)
			{
				if(obj = document.getElementById('bereich_' + c))
				{
					obj.style.display = 'none';
				}
			}
		}

		for(c  = 0; c < 22; c++)
		{
			for(i = 0; i < 22; i++)
			{
				if(obj = document.getElementById('person_' + c +'_' + i))
				{
					obj.style.display = 'none';
				}
			}
		}

		document.getElementById(layerID).style.display = '';
		document.getElementById("person_" + ID + "_0").style.display = '';
		lastTeamBerichLayer = layerID
}
	
function changeLayerPerson(layerID)
{
	<!-- Layer -->
		for(c  = 0; c < 22; c++)
		{
			for(i = 0; i < 22; i++)
			{
				if(obj = document.getElementById('person_' + c +'_' + i))
				{
					obj.style.display = 'none';
				}
			}
		}

		document.getElementById(layerID).style.display = '';
}

function changeLayerPersonVertrirb(layerID)
{
	<!-- Layer -->
		for(c  = 0; c < 11; c++)
		{
			if(obj = document.getElementById('person_' + c))
			{
				obj.style.display = 'none';
			}
		}

		document.getElementById(layerID).style.display = '';
}


<!-- HCI Team -->

<!-- Karte Regionen / Banken Sparkassen -->
if (document.images) 
{
	nichts = new Image();

	nichts.src = "images/bundesuebersicht.gif";

	mecklenburg = new Image();

	mecklenburg.src = "images/mecklenburg.gif";

	niedersachs = new Image();

	niedersachs.src = "images/niedersachs.gif";

	baden = new Image();

	baden.src = "images/baden.gif";

	thueringen = new Image();

	thueringen.src = "images/thueringen.gif";

	sachsen = new Image();

	sachsen.src = "images/sachsen.gif";

	sachsenanhalt = new Image();

	sachsenanhalt.src = "images/anhalt.gif";

	schleswighol = new Image();

	schleswighol.src = "images/schleswig.gif"; 

	saarland = new Image();

	saarland.src = "images/saarland.gif"; 

	westfalen = new Image();

	westfalen.src = "images/westfalen.gif";

	brandenburg = new Image();

	brandenburg.src = "images/brandenburg.gif";

	rheinlandpfalz = new Image();

	rheinlandpfalz.src = "images/rheinland.gif";

	bayern = new Image();

	bayern.src = "images/bayern.gif";

	hessen = new Image();

	hessen.src = "images/hessen.gif";

	bremen = new Image();

	bremen.src = "images/bremen.gif";

	berlin = new Image();

	berlin.src = "images/berlin.gif";

	hamburg = new Image();

	hamburg.src = "images/hamburg.gif";

	badenwuert = new Image();

	badenwuert.src = "images/hessen.gif";

}

function changeImages(objId, iSrc)
{
	document.getElementById(objId).src = iSrc;
}
<!-- Karte Regionen / Banken Sparkassen -->


	/****************************************************************************/
	/*																			*/
	/*								Form Checker								*/
	/*																			*/
	/*	Autor: Carsten Kaestner													*/
	/*	Datum: 18.02.2005														*/
	/*																			*/
	/*	Beschreibung:															*/
	/*																			*/
	/*	Jedes Form Feld welches Pflicht sein soll muss mit dem Attribut			*/
	/*	"duty" versehen werden.													*/
	/*																			*/
	/*	Bsp:																	*/
	/*	<input type="text" name="testfeld" duty="1" />							*/
	/*																			*/
	/*	Vor dem Absenden muss die Funktion "checkFields()" aufgerufen werden.	*/
	/*																			*/
	/****************************************************************************/
	
	var formClasses = new Array();			// speichert die stylenamen der form Felder ab
	var highlight_errors = 1;				// sollen die fehler felder markiert werden 0 oder 1
	var error_class = 'form_error';			// diese style wird verwendet um nicht ausgefuellte felder zu markieren
	
	function checkFields()
	{
		var formError = 0;
		
		formError += checkInputs();
		formError += checkRadios();
		formError += checkTexts();
		formError += checkSelects();
		formError += checkCheckbox();

		if(formError != 0)
		{

			alert('Es wurden nicht alle Felder korrekt ausgefüllt.\n\nBite überprüfen Sie Ihre Eingaben.');
			
			return false;
		}
		else
		{
			return true;
		}
	}
	
	function checkFieldsEng()
	{
		var formError = 0;
		
		formError += checkInputs();
		formError += checkRadios();
		formError += checkTexts();
		formError += checkSelects();
		formError += checkCheckbox();
		
		if(formError != 0)
		{
			alert('Not all areas have been filled-out correctly.\n\nPlease check your information to see whether you have made any mistakes.');
			
			return false;
		}
		else
		{
			return true;
		}
	}

	function saveFormStyle(formName, formStyle)
	{
		if(formClasses[formName] == null)
		{
			formClasses[formName] = formStyle;
		}
		
		return true;
	}
	
	function highlightError(formObj)
	{
		if(highlight_errors == 1)
		{
			saveFormStyle(formObj.name, formObj.className);
			formObj.className = error_class;
		}
	}
	
	function unhighlightError(formObj)
	{
		if(highlight_errors == 1)
		{
			formObj.className = formClasses[formObj.name];
		}
	}
	
	function checkInputs()
	{
		var fError = 0;
		
		allInputs = document.getElementsByTagName('input');
		
		for(i = 0; i < allInputs.length; i++)
		{
			if(isDuty(allInputs[i]) && allInputs[i].type == 'text')
			{
				if(allInputs[i].value == '')
				{
					highlightError(allInputs[i]);
					fError = 1;
				}
				else
				{
					unhighlightError(allInputs[i]);
				}
			}
		}
		
		return fError;
	}
	
	function checkCheckbox()
	{
		var fError = 0;
		
		if(document.getElementById("teilnahmebedingungen"))
		{
			obj = document.getElementById("teilnahmebedingungen");

			if(obj.checked == false)
			{
				fError = 2;
			}		
		}
		return fError;
	}
	
	function checkRadios()
	{
		var fError = 0;
		var radioFields = new Array();
		var groupError = new Array();
		
		allRadios = document.getElementsByTagName('input');
		
		// zuerst die gruppennamen der radio felder holen
		for(i = 0; i < allRadios.length; i++)
		{
			if(allRadios[i].type == 'radio')
			{
				if(isDuty(allRadios[i]))
				{
					radioFields[allRadios[i].name] = 1;
				}
			}
		}
		
		// jetzt checken wir ob nicht irgendein radio feld der gruppe angewaehlt ist
		for(var index in radioFields)
		{
			radioGroup = document.getElementsByName(index);
			// einen neuen array aufbauen bei dem wir standardmaessig von einem fehler pro gruppe ausgehen
			groupError[index] = 1;
			
			for(i = 0; i < radioGroup.length; i++)
			{
				if(radioGroup[i].checked)
				{
					i = radioGroup.length;
					// ok in dieser gruppe wurde ein feld gewaehlt also fehler wert auf null setzen
					groupError[index] = 0;
				}
			}
		}
		
		// jetzt im fehler array schauen ob in irgendeiner gruppe ein fehler war
		for(var index in groupError)
		{
			if(groupError[index] == 1)
			{
				// yep hier ist etwas nicht ausgefuellt worden als fError auf 1 setzen
				fError = 1;
			}
		}
		
		return fError;
	}
	
	function checkTexts()
	{
		var fError = 0;
		
		allTexts = document.getElementsByTagName('textarea');
		
		for(i = 0; i < allTexts.length; i++)
		{
			if(isDuty(allTexts[i]))
			{
				if(allTexts[i].value == '')
				{
					highlightError(allTexts[i]);
					fError = 1;
				}
				else
				{
					unhighlightError(allTexts[i]);
				}
			}
		}
		
		return fError;
	}
	
	function checkSelects()
	{
		var fError = 0;
		
		allSelects = document.getElementsByTagName('select');
		
		for(i = 0; i < allSelects.length; i++)
		{
			if(isDuty(allSelects[i]))
			{
				if(allSelects[i].value == '')
				{
					highlightError(allSelects[i]);
					fError = 1;
				}
				else
				{
					unhighlightError(allSelects[i]);
				}
			}
		}
		
		return fError;
	}
	
	function isDuty(fObj)
	{
		if(fObj.getAttribute('duty') == 1)
		{
			// wir speichern hier noch den className damit abhaengige felder 
			saveFormStyle(allInputs[i].name, allInputs[i].className);
			
			// es ist pfliche nun checken ob pflich nur besteht wenn eine abhaengigkeit zu einem anderen feld besteht
			if(fObj.getAttribute('dep') != null)
			{
				// nun die value des feldes von dem dieses abhaengig ist holen
				depObj = document.getElementsByName(fObj.getAttribute('dep'));
				depObj = depObj[0];
				depValue = getFieldValue(depObj);

				if(depValue == fObj.getAttribute('depvalue'))
				{
					return true;
				}
				else
				{
					unhighlightError(fObj);
					return false;
				}
				
			}
			else
			{
				return true;	
			}
		}
		else
		{
			return false;
		}
	}
	
	function getFieldValue(fObj)
	{
		switch(fObj.type)
		{
			case 'text'		:	return fObj.value; break;
			case 'radio'	:	return getRadioValue(fObj.name); break;
		}
	}
	
	function getRadioValue(radioGroupName)
	{
		radioGroup = document.getElementsByName(radioGroupName);
		
		for(depi = 0; depi < radioGroup.length; depi++)
		{
			if(radioGroup[depi].checked == 1)
			{
				return radioGroup[depi].value;
			}
		}
	}
function changeClassname()
{
	argsCC = changeClassname.arguments;
	// argsCC[0] = objekt
	// argsCC[1] = stylename
	
	argsCC[0].className = argsCC[1];
}

function changeSite()
{
	args = changeSite.arguments;
	newLocation = String(window.location).split("/");

	if(document.getElementById("nav_layer_distribution"))
	{	
		obj = document.getElementById("nav_layer_distribution");

		l = parseInt(obj.style.left);
		t = parseInt(obj.style.top);
		newLocation = args[0] + "&layerLeft=" + l + "&layerTop=" + t;
		window.setTimeout('window.location = "' + newLocation + '"', 500);
	}
	else
	{
		newLocation = args[0];
		window.setTimeout('window.location = "' + newLocation + '"', 500);
	}
}

function show_hide_div(id)
{
	obj = document.getElementById(id).style.display;

	if(obj != 'none')
	{
		document.getElementById(id).style.display = 'none';
	}
	else
	{
		document.getElementById(id).style.display = 'inline';
	}
}

function show_productteaser(id)
{
	document.getElementById(id).style.display = 'inline';
}

function hide_productteaser(id)
{
	document.getElementById(id).style.display = 'none';
}

function hide_productteaser_array(id)
{
	if(id == 'produktteaser_1')
	{
		document.getElementById('produktteaser_2').style.display = 'none';
		document.getElementById('produktteaser_3').style.display = 'none';
		document.getElementById('produktteaser_4').style.display = 'none';
		document.getElementById('produktteaser_5').style.display = 'none';
	}
	if(id == 'produktteaser_2')
	{
		document.getElementById('produktteaser_1').style.display = 'none';
		document.getElementById('produktteaser_3').style.display = 'none';
		document.getElementById('produktteaser_4').style.display = 'none';
		document.getElementById('produktteaser_5').style.display = 'none';
	}
	if(id == 'produktteaser_3')
	{
		document.getElementById('produktteaser_1').style.display = 'none';
		document.getElementById('produktteaser_2').style.display = 'none';
		document.getElementById('produktteaser_4').style.display = 'none';
		document.getElementById('produktteaser_5').style.display = 'none';
	}
	if(id == 'produktteaser_4')
	{
		document.getElementById('produktteaser_1').style.display = 'none';
		document.getElementById('produktteaser_2').style.display = 'none';
		document.getElementById('produktteaser_3').style.display = 'none';
		document.getElementById('produktteaser_5').style.display = 'none';
	}
	if(id == 'produktteaser_5')
	{
		document.getElementById('produktteaser_1').style.display = 'none';
		document.getElementById('produktteaser_2').style.display = 'none';
		document.getElementById('produktteaser_3').style.display = 'none';
		document.getElementById('produktteaser_4').style.display = 'none';
	}
}
