var formular; var expPattern = /(.+nsf)./; var validationOK = true; function refresh() { var cmd = "window._doClick('$Refresh', this, '_self');" window.setTimeout(cmd, 150); } var oldValue = ""; /* Merkt sich den Wert eines Feldes, Benutzung am besten im onFocus */ function rememberValue(feld) { oldValue = feld.value; } /* Prüft den aktuellen Wert eines Feldes gegen den gemerkten Wert, Benutzung am besten im onBlur */ function checkValue_alt(feld) { if (oldValue != feld.value) { validationOK = false; var cmd = "window._doClick('$Refresh', this, '_self', '#_Refresh" + feld.name + "');" window.setTimeout(cmd, 150); } } /* Prüft den aktuellen Wert eines Feldes gegen den gemerkten Wert, Benutzung am besten im onBlur */ function checkValue(feld) { var cmd = "window._doClick('$Refresh', this, '_self', '#_Refresh" + feld.name + "');" window.setTimeout(cmd, 150); } /* Meldung für noch nicht implementierte Funktionalität */ function notImplemented() { alert ("Diese Funktion ist leider nocht nicht verfügbar."); } /* setzt beim Laden die Variable 'formular', damit nicht immer document.forms[0] benutzt werden muss */ function laden() { formular = document.forms[0]; } /* überprüft mit Hilfe eines regulären Ausdrucks ob der Wert des übergebenen Feldes dem Typ, Zahl oder Datum, entspricht */ function ueberpruefe(feld, typ) { validationOK = false; var trennZeichen = trennZahl.match(/\D/); var meldung1 = 'Achtung dies ist keine korrekte Zahl! Sie müssen Ziffern zwischen 0 und 9 und ein "' + trennZeichen + '" als Dezimaltrennzeichen verwenden.'; var meldung2 = 'Achtung dies ist keine korrekte Uhrzeit! Geben Sie Daten bitten in diesem Format ein: 08:30 oder 8:30 oder 8.'; var meldung3 = 'Achtung dies ist kein korrektes Datum! Geben Sie Daten bitten in diesem Format ein: 01.01.2005 oder 20.12.2005 und achten Sie auf Schaltjahre.'; if (typ == 'Zahl') { var ausdr = new RegExp ("(^-?\\d+\\" + trennZeichen + "\\d+$)|(^-?\\d+$)"); if (!feld.value.match (ausdr)) { feld.value = oldValue; feld.select(); alert (meldung1); return false; } else { validationOK = true; return true; } } else if (typ == 'Zeit') { var ausdr = /^((([0-1]?[0-9])|([2][0-3]))\:[0-5][0-9])$|^(([0-1]?[0-9])|([2][0-3]))$/; if (!feld.value.match (ausdr)) { feld.value = oldValue; feld.select(); alert (meldung2); return false; } else { validationOK = true; return true; } } else if (typ == 'Datum') { var ausdr = /^(((0?[1-9]|[1-2][0-9])|(3[0-1]))\.((0?[1-9])|(1[0-2]))\.(\d{4}))$/; if (!feld.value.match (ausdr)) { feld.value = oldValue; feld.select(); alert (meldung3); return false; } else { var dat = feld.value.split("."); if (dat[1].match(/^((1[0,2])|(0?[1,3,5,7,8]))$/)) { validationOK = true; return true; } if (dat[1].match(/^(11|(0?[4,6,9]))$/)) { if (dat[0] < 31) { validationOK = true; return true; } } if (dat[1].match(/^0?[2]$/)) { if (dat[0] < 29) { validationOK = true; return true; } if ((dat[2] % 400 == 0) && (dat[0] < 30)) { validationOK = true; return true; } if ((dat[2] % 4 == 0) && (dat[0] < 30) && (dat[2] % 100 != 0)) { validationOK = true; return true; } if ((dat[2] % 100 == 0) && (dat[0] < 29)) { validationOK = true; return true; } } feld.value = oldValue; feld.select(); alert (meldung3); return false; } } else { feld.value = oldValue; feld.select(); alert ("Den Typ '" + typ + "' kenne ich nicht, was soll ich nun tun? Hilfe! Bitte benachrichtigen Sie den Entwickler."); validationOK = true; return true; } } //Funktion zum Zentrieren des Fensters function centerWin(typ, size) { if(typ == "height") return (screen.height / 2) - (size / 2); if(typ == "width") return (screen.width / 2) - (size / 2); alert("Error - Parameter 'typ' must be 'width' or 'height'"); return 0; } function showToolTip (ctrl, text) { ctrl.title = text; setWindowStatus(text); } function setWindowStatus (text) { window.status = text; }