function nurErlaubteZeichen(erlaubt, aString) {
    for (i=0; i<aString.length; i++) {
        ch=aString.charAt(i);
        for(j=0; j<erlaubt.length; j++)
            if(ch==erlaubt.charAt(j))
                break;
        if(j==erlaubt.length)
            return(false);
    }
    return(true);
}

function trim(aString){
    while(aString.substring(aString.length-1,aString.length)==" ")
        aString=aString.substring(0,aString.length-1);
    while(aString.substring(0,1)==" ")
        aString=aString.substring(1,aString.length);
    return(aString);
}

function etwasEingegeben(einFeld, bezeichnung, pflichtfeld) {
    einFeld.value=trim(einFeld.value);
    if(pflichtfeld && einFeld.value.length==0) {
        alert("Bitte gib in das Feld \""+bezeichnung+"\" etwas ein.");
        einFeld.focus();
        return(false);
    }
    return(true);
}

function pruefePositiveGanzzahl(einFeld, bezeichnung, pflichtfeld) {
    if(!etwasEingegeben(einFeld,bezeichnung, pflichtfeld)) return(false);
    if(!nurErlaubteZeichen("0123456789",einFeld.value)) {
        alert("Bitte gib in das Feld \""+bezeichnung+"\" nur eine positive Ganzzahl ein!");
        einFeld.focus();
        return(false)
    }
    return(true);
}

function pruefePositiveGanzzahlVonBis(einFeld, bezeichnung, pflichtfeld, von, bis) {
    einFeld.value=trim(einFeld.value);
    if(pflichtfeld || einFeld.value.length!=0) {
        if(!pruefePositiveGanzzahl(einFeld, bezeichnung, pflichtfeld)) return(false);
        wert=parseInt(einFeld.value,10);
        if(wert<von||wert>bis) {
            alert("Bitte gib in das Feld \""+bezeichnung+"\" nur Werte von "+von+" bis "+bis+" ein!");
            einFeld.focus();
            return(false)
        }
    }
    return(true);
}

function pruefeTextfeld(einFeld, bezeichnung, pflichtfeld, minLaenge) {
    if(!etwasEingegeben(einFeld,bezeichnung, pflichtfeld)) return(false);
    if((pflichtfeld>0 || einFeld.value.length>0) && einFeld.value.length<minLaenge) {
        alert("Bitte gib in das Feld \""+bezeichnung+"\" mindestens "+minLaenge+" Zeichen ein.");
        einFeld.focus();
        return(false);
    }
    return(true);
}

function pruefeEMailAdresse(einFeld, bezeichnung, pflichtfeld) {
    var ok=true;
    einFeld.value=trim(einFeld.value);
    if(pflichtfeld || einFeld.value.length!=0) {
        if(!etwasEingegeben(einFeld,bezeichnung, pflichtfeld)) return(false);
        if(!nurErlaubteZeichen("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-._@",einFeld.value)) ok=false;
        // ich bin mir nicht 100%ig sicher das die oben angegebenen Zeichen ausreichen!
        pos=einFeld.value.indexOf("@");
        if((pos<1)||(pos>einFeld.value.length-4)) ok=false;
        pos=einFeld.value.indexOf(".",pos+2);
        if((pos<3)||(pos>einFeld.value.length-2)) ok=false;
        if(!ok) {
            alert("Bitte gib in das Feld \""+bezeichnung+"\" eine gültige E-Mail-Adresse ein!");
            einFeld.focus();
        }
    }
    return ok;
}

function pruefeURL(einFeld, bezeichnung, pflichtfeld) {
    einFeld.value=trim(einFeld.value);
    if(pflichtfeld || (einFeld.value.length!=0 && einFeld.value!="http://")) {
        if(einFeld.value=="http://"){
            alert("Bitte gib in das Feld \""+bezeichnung+"\" eine gültige URL ein.");
            einFeld.focus();
            return(false);
        }
        if(!etwasEingegeben(einFeld,bezeichnung, pflichtfeld)) return(false);
        s=einFeld.value;
        chars=":=?&"+"\\";
        for(i=0;i<chars.length;i++) {
            pos=s.indexOf(chars.charAt(i));
            while(pos>=0) {
                s=s.substring(0,pos)+s.substring(pos+1,s.length);
                pos=s.indexOf(chars.charAt(i));
            };
        };
        if(s!=escape(unescape(s))) {
            alert("Die in das Feld \""+bezeichnung+"\" eingegebene URL enthält ungültige Leer- oder Sonderzeichen.");
            einFeld.focus();
            return(false);
        }
    }
    return(true);
}

function pruefeListe(eineListe, bezeichnung) {
    if(eineListe.selectedIndex==0) {
        alert("Bitte wähle in der Liste \""+bezeichnung+"\" etwas aus.");
        eineListe.focus();
        return(false);
    }
    return(true);
}