
// auf und zu bild laden
plus			= new Image();
plus.src	= "images/plus.png";

minus			= new Image();
minus.src	= "images/minus.png";

/*
function setDivs()
{
	var plattform = navigator.appVersion.toUpperCase();
	var navName = navigator.appName.toUpperCase();

	if(plattform.indexOf('WINDOWS') >= 0)	// its windows
	{
		if(navName.indexOf('EXPLORER') >= 0) // ie
		{
			document.getElementById("content").style.width = 578;
			document.getElementById("content").style.height = 440;
			
			document.getElementById("header").style.width = 650;
		}
	}
}//endfunction setDivs
*/

var altDiv, altLev = 1;
var divArray = new Array();

function aufZu(whaaaat, level)
{
	var i, temp = new Array();

	// die divs evaluieren
	var myActDiv = eval(document.getElementById(whaaaat));
	var myOldDiv = eval(document.getElementById(altDiv));
	
	// das aufzubild evaluieren
	var myImg = eval("document.img" + whaaaat.substring(3));
	myImg.src = myImg.src == plus.src ? minus.src : plus.src;
	
	// geklickten div auf- oder zuklappen
	if(myActDiv.style.visibility == 'hidden')
	{
		// aufklappen
		myActDiv.style.visibility	= 'visible';
		myActDiv.style.display		= 'block';
		
		// nur hinzufügen wenn das 1. mal geklickt
		if(myOldDiv != myActDiv)
			divArray.push({div: whaaaat, lev: level});

		// den geöffneten div merken
		altDiv = whaaaat;
		altLev = level;
	}
	else
	{
		// zuklappen
		myActDiv.style.visibility	= 'hidden';
		myActDiv.style.display		= 'none';
	}//endif


	// nun den anderen div schliessen
	if(myOldDiv != myActDiv)
	{
		// alle untergeordneten divs schliessen
		for(i = 0; i < divArray.length; i++)
		{
			if((divArray[i].lev >= level) && (divArray[i].div != whaaaat))
			{
				var myCloseDiv = eval(document.getElementById(divArray[i].div));
				myCloseDiv.style.visibility	= 'hidden';
				myCloseDiv.style.display		= 'none';
				
				// das bild zum div setzen
				myImg = eval("document.img" + divArray[i].div.substring(3));
				myImg.src = plus.src;
			}
			else
			{
				temp.push({div: divArray[i].div, lev: divArray[i].lev});
			}//endif

		}//endfor

		divArray = temp;
	}//endif

}//endfunction aufZu

function formchecker(theForm) {
	var allvalid = true;
	var alertstr = "";
	var num_of_elements = theForm.length;
	var radios = "";
	var checkboxes = "";

	for (var i=0; i<num_of_elements; i++) {
		var theElement = theForm.elements[i];
		var element_type = theElement.type;
		var element_name = theElement.name;
		var element_value = theElement.value;
		var element_required = (element_name.indexOf ("_obligatorisch") > 0) ? true : false;

// Muss dieses element geprueft werden?
		if (element_required) {

// Textfelder pruefen...
			if (element_type == "text") {
				if (element_value.length == 0) {
					alertstr += "Das Feld '" + element_name.replace(/ _obligatorisch/, '').replace(/_obligatorisch/, '') + "' erfordert eine Eingabe.\n\n";
					allvalid = false;
				}
			}

// Mehrzeilige Textfelder pruefen...
			if (element_type == "textarea") {
				if (element_value.length == 0) {
					alertstr += "Das Feld '" + element_name.replace(/ _obligatorisch/, '').replace(/_obligatorisch/, '') + "' erfordert eine Eingabe.\n\n";
					allvalid = false;
				}
			}

// Dropdown-Menues pruefen...
			if (element_type.indexOf("select") > -1) {
				var index = theElement.selectedIndex;
				if (index <= 0) {
					alertstr += "Das Dropdownmenü '" + element_name.replace(/ _obligatorisch/, '').replace(/_obligatorisch/, '') + "' erfordert eine Auswahl.\n\n";
					allvalid = false;
				}
			}

// Radio-buttons pruefen...
			if (element_type == "radio" ) {
				if (theElement.checked == true) {
					radios += element_name;
				}
			}

// Checkboxen pruefen...
			if (element_type == "checkbox") {
				if (theElement.checked == true) {
					checkboxes += element_name;
				}
			}

// Buttons pruefen...
			if (element_type == "button") {
				// Buttons nicht pruefen - onClick event verwenden, um Functionen aufzurufen.
			}

// Ende des zu pruefenden Bereichs?
		}

 	// .... Ende der Schleife durch die einzelnen Form-Elemente ....
	}

// Erneute Schleife durch Radio-Buttons und Checkboxen fuer die erneute Pruefung
	for (var i=0; i<num_of_elements; i++) {
		var theElement = theForm.elements[i];
		var element_type = theElement.type;
		var element_name = theElement.name;
		var element_required = (element_name.indexOf ("_obligatorisch") > 0) ? true : false;
		if (element_type == "radio" && element_required && radios.indexOf (element_name) == -1) {
			alertstr += "Die Radio-Buttons '" + element_name.replace(/ _obligatorisch/, '').replace(/_obligatorisch/, '') + "' erfordern eine Auswahl.\n\n";
			radios += element_name;
			allvalid = false;
		}
		if (element_type == "checkbox" && element_required && checkboxes.indexOf (element_name) == -1) {
			alertstr += "Die Checkbox '" + element_name.replace(/ _obligatorisch/, '').replace(/_obligatorisch/, '') + "'  erfordert eine Auswahl.\n\n";
			checkboxes += element_name;
			allvalid = false;
		}
	}


// Alle Elemente wurden geprueft - jetzt wird ermittelt, ob das Formular korrekt ausgefuellt wurde oder nicht...
	if (allvalid) {
		return true; 
	} else {
		alert (alertstr);
		return false;
	}
}