function checkAdminFileForm(updateMode) {
    var f;
    var errorText = "";
    var hasUploadFile = false;
    
    if (document.forms[0]) {
        f = document.forms[0];
    }
    else {
        return false;
    }
    
    // Prüfungen
    // Beim hinzufügen gründlich prüfen
    if (f.filedesc.value.length==0) {
      errorText += "\n- keine Dateibezeichnung angegeben";
    }
    if (f.filename.value.length==0) {
      errorText += "\n- kein Dateiname angegeben";
    }
    if (f.uploadername.value.length==0) {
      errorText += "\n- kein Uploader-Name angegeben";
    }
    if (f.filepw.value.length==0) {
      errorText += "\n- kein Datei-Passwort angegeben";
    }
    if (updateMode != "update") {
      if (f.uploadfile.value.length == 0) {
          errorText += "\n- keine Upload-Datei angegeben";
      }
      else {
        hasUploadFile = true;
        result = hasAllowedExtension(f.uploadfile.value, false);
        if (result==1) errorText += "\n- die Upload-Datei besitzt keine Dateiendung";
        if (result==2) errorText += "\n- die Upload-Datei besitzt eine unzulässige Dateiendung";
      }
    }
    // Beim Update geht's laxer
    else {
      if (f.uploadfile.value.length > 0) {
        hasUploadFile = true;
        result = hasAllowedExtension(f.uploadfile.value, false);
        if (result==1) errorText += "\n- die Upload-Datei besitzt keine Dateiendung";
        if (result==2) errorText += "\n- die Upload-Datei besitzt eine unzulässige Dateiendung";
      }
    }
    if (!isAlphaNumSpecial(f.filedesc.value) || f.filedesc.value.length > 128) {
      errorText += "\n- die Dateibezeichnung enthält ungültige Zeichen (max. 128)";
    }
    if (f.filename.value.length > 255) {
      errorText += "\n- der Dateiname enthält ungültige Zeichen (max. 255)";
    }
    if (!isAlphaNumSpecial(f.uploadername.value) || f.uploadername.value.length > 64) {
      errorText += "\n- der Uploader-Name enthält ungültige Zeichen (max. 64)";
    }
    if (!isAlphaNumSpecial(f.filepw.value) || f.filepw.value.length > 32) {
      errorText += "\n- das Datei-Passwort enthält ungültige Zeichen (max. 32)";
    }

    // Fehler anzeigen oder weiterleiten
    if (errorText != "") {
        alert('Bitte korrigieren Sie folgende Fehleingabe(n):\n\n'+errorText+"\n\n");
        return false;
    }
    if (hasUploadFile) {
      popupUL();
    }
    f.submit();
    return true;
}



function select(element) {
  var f;
  
  if (document.forms[0]) {
    f = document.forms[0];
  }
  else {
    return;
  }
  // Device ausgewählt? Die beiden anderen Felder löschen
  if (element == 'device') {
    if (f.device[f.device.selectedIndex].value == "0") {
      f.device.selectedIndex = 0;
      return;
    }
    f.accessory.selectedIndex = 0;
    f.form.selectedIndex = 0;
  }
  // Dito für Accessory
  else if (element == 'accessory') {
    if (f.accessory[f.accessory.selectedIndex].value == "0") {
      f.accessory.selectedIndex = 0;
      return;
    }
    f.device.selectedIndex = 0;
    f.form.selectedIndex = 0;
  }
  // ... und Form
  else if (element == 'form') {
    if (f.form[f.form.selectedIndex].value == "0") {
      f.form.selectedIndex = 0;
      return;
    }
    f.device.selectedIndex = 0;
    f.accessory.selectedIndex = 0;
  }
}


function checkAddFile(updateMode) {
  var f;
    var errorText = "";
    var hasUploadFile = false;
    
    if (document.forms[0]) {
        f = document.forms[0];
    }
    else {
        return false;
    }
    
    // Prüfungen
    if (f.device[f.device.selectedIndex].value == "0" && f.accessory[f.accessory.selectedIndex].value == "0" && f.form[f.form.selectedIndex].value == "0") {
      errorText += "\n- kein Gerät/Zubehörartikel/Formular angegeben";
    }
    if (f.filedesc.value.length==0) {
      errorText += "\n- keine Dateibezeichnung angegeben";
    }
    if (f.freigabe[f.freigabe.selectedIndex].value=="0") {
      errorText += "\n- keine Freigabe angegeben";
    }
    // Beim hinzufügen muss eine datei angegeben werden
    if (updateMode != "update") {
      if (f.uploadfile.value.length == 0) {
          errorText += "\n- keine Upload-Datei angegeben";
      }
      else {
        hasUploadFile = true;
        result = hasAllowedExtension(f.uploadfile.value, false);
        if (result==1) errorText += "\n- die Upload-Datei besitzt keine Dateiendung";
        if (result==2) errorText += "\n- die Upload-Datei besitzt eine unzulässige Dateiendung";
      }
    }
    // Beim Update geht's auch ohne datei
    else {
      if (f.uploadfile.value.length > 0) {
        hasUploadFile = true;
        result = hasAllowedExtension(f.uploadfile.value, false);
        if (result==1) errorText += "\n- die Upload-Datei besitzt keine Dateiendung";
        if (result==2) errorText += "\n- die Upload-Datei besitzt eine unzulässige Dateiendung";
      }
      if (f.filename.value.length==0) {
        errorText += "\n- kein Dateiname angegeben";
      }
      if (f.filename.value.length > 255) {
        errorText += "\n- der Dateiname enthält ungültige Zeichen (max. 255)";
      }
    }
   
    if (!isAlphaNumSpecial(f.filedesc.value) || f.filedesc.value.length > 128) {
      errorText += "\n- die Dateibezeichnung enthält ungültige Zeichen (max. 128)";
    }
    if (!isAlphaNumSpecial(f.sonstiges.value) || f.sonstiges.value.length > 64) {
      errorText += "\n- das \"Sonstiges\"-Feld enthält ungültige Zeichen (max. 64)";
    }

    // Fehler anzeigen oder weiterleiten
    if (errorText != "") {
        alert('Bitte korrigieren Sie folgende Fehleingabe(n):\n\n'+errorText+"\n\n");
        return false;
    }
    if (hasUploadFile) {
      popupUL();
    }
    f.submit();
    return true;
}

