var codestr = '';
var code_ok = 1;

function reloadCodeFrame () {
  code_frame.location = 'module/set_code.php';
}

function reloadCodeFrame2 (relpath) {
  code_frame.location = relpath+'module/set_code.php';
}

function checkForm (theForm) {
	var allvalid = true;
	var alertstr = "Bitte füllen Sie alle mit * gekennzeichneten Felder aus.\n";
	var num_of_elements = theForm.length;
	var radios = "";
	var checkboxes = "";
  var nextField = "";
  //alert (codestr);
  
	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 (":PF") > 0 || element_name == 'CODE') ? true : false;

// Muss dieses element geprueft werden?
		if (element_required) {

// Textfelder pruefen...
			if (element_type == "text") {
				if (element_value.length == 0) {
					//alertstr += "\nDas Feld '" + element_name.replace(/ :PF/, '').replace(/:PF/, '') + "' erfordert eine Eingabe.\n\n";
					allvalid = false;
          if (nextField == "") nextField = theElement;
				}
			}

// Mehrzeilige Textfelder pruefen...
			if (element_type == "textarea") {
				if (element_value.length == 0) {
					//alertstr += "Das Feld '" + element_name.replace(/ :PF/, '').replace(/:PF/, '') + "' 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(/ :PF/, '').replace(/:PF/, '') + "' 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;
				}
			}

		}
	}

// 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 (":PF") > 0) ? true : false;
		if (element_type == "radio" && element_required && radios.indexOf (element_name) == -1) {
			//alertstr += "Die Radio-Buttons '" + element_name.replace(/ :PF/, '').replace(/:PF/, '') + "' 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(/ :PF/, '').replace(/:PF/, '') + "'  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) {
  	// Jetzt noch den Code ueberpruefen
    for (var i=0; i<num_of_elements; i++) {
  		var theElement = theForm.elements[i];
  		var element_name = theElement.name;
  		var element_value = theElement.value;
  		if (element_name == 'CODE') {
        if (codestr != element_value) {
          code_ok = 0;
          nextField = theElement;
          alert('Der eingegebene Sicherheitscode stimmt nicht mit der Grafik überein.\nBitte tragen Sie erneut den Code in das Eingabefeld ein.');
          nextField.focus();
        }
        else code_ok = 1;
      }
    }
    if (code_ok) return true; //theForm.submit();
    else return false;
	} 
  else {
		alert (alertstr);
		return false;
    nextField.focus();
	}
}
