function checkEmail(emailAddr) {
    // this function checks for a well-formed e-mail address
    // in the format:
    // user@domain.com

    var i;

    // check for @
    i = emailAddr.indexOf("@");
    if (i == -1) {
        return false;
    }

    // separate the user name and domain
    var username = emailAddr.substring(0, i);
    var domain = emailAddr.substring(i + 1, emailAddr.length)

    // look for spaces at the beginning of the username
    i = 0;
    while ((username.substring(i, i + 1) == " ") && (i < username.length)) {
        i++;
    }
    // remove any found
    if (i > 0) {
        username = username.substring(i, username.length);
    }

    // look for spaces at the end of the domain
    i = domain.length - 1;
    while ((domain.substring(i, i + 1) == " ") && (i >= 0)) {
        i--;
    }
    // remove any found
    if (i < (domain.length - 1)) {
        domain = domain.substring(0, i + 1);
    }

    // make sure neither the username nor domain is blank
    if ((username == "") || (domain == "")) {
        return false;
    }

    // check for bad characters in the username
    var ch;
    for (i = 0; i < username.length; i++) {
        ch = (username.substring(i, i + 1)).toLowerCase();
        if (!(((ch >= "a") && (ch <= "z")) ||
            ((ch >= "0") && (ch <= "9")) ||
            (ch == "_") || (ch == "-") || (ch == "."))) {
                return false;
        }
    }

    // check for bad characters in the domain
    for (i = 0; i < domain.length; i++) {
        ch = (domain.substring(i, i + 1)).toLowerCase();
        if (!(((ch >= "a") && (ch <= "z")) ||
            ((ch >= "0") && (ch <= "9")) ||
            (ch == "_") || (ch == "-") || (ch == "."))) {
                return false;
        }
    }

    // check for . in domain (AVS)
    p = domain.indexOf(".");
    if (p == -1) {
        return false;
    }

    return true;
}

function klar(obj, defText)
{
    if(obj.value == defText)
    {
        obj.value = '';
    }
    return true;
}

function kopie(obj, ziel)
{
    if(checkEmail(obj.value))
    {
        document.getElementById(ziel).checked = true;
        document.getElementById(ziel).disabled = false;
    } else
    {
        document.getElementById(ziel).checked = false;
        document.getElementById(ziel).disabled = true;
    }
}

function disableOnStart(ziel)
{
    document.getElementById(ziel).disabled = true;
}

function vorschlag(objekt)
{
    if(DOM && getElem("id", "Kurzname", null).value == "" )
    {
        // String aus dem Input-Feld holen
        var original = objekt.value.toString();

        // String aufteilen
        var str_arr = original.split(" ");

        // letztes Element-Index
        var last_idx = str_arr.length - 1;
        var vor_roh = str_arr[last_idx];

        // alles klein schreiben
        vor_roh = vor_roh.toLowerCase();

        // Umlaute ersetzen
        var vorschl = vor_roh.replace(/ä/g, "ae");
        var vorschl = vorschl.replace(/ö/g, "oe");
        var vorschl = vorschl.replace(/ü/g, "ue");
        var vorschl = vorschl.replace(/ß/g, "ss");

        var vorschl = vorschl.replace(/[^0-9A-Za-z_-]/, "_");

        // auf 24 Zeichen begrenzen
        vorschl = vorschl.substr(0, 24);

        var feld = getElem("id", "Kurzname", null).value = vorschl;
    }
}