function __CheckValid   (cValue, cValid)
    {
    var fRet   = true;
    var cTemp;
    var i;

    for (i = 0; i < cValue.length; i++)
        {
        cTemp = "" + cValue.substring(i, i+1);
        if ( cValid.indexOf(cTemp) == "-1" )
            {
            fRet = false;
            break;
            }
        }

    return fRet;
    }

function __CheckEmail   (cValue)
    {
    if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(cValue))
        {
        return true;
        }

    alert("Falsche E-Mail-Adresse!")

    return false;
    }


function __CheckNotEmpty (cValue, nSize)
    {
    var     fRet;

    if (cValue.length < nSize)
        {
        fRet = false;
        }
    else
        {
        fRet = true;
        }

    return fRet;
    }



function __CheckZip (cValue)
    {
    var     fRet;
    var     cValid5  = "0123456789"
    var     cValid10 = "0123456789-"

    if (cValue.length == 5)
        {
        fRet = __CheckValid(cValue, cValid5);

        if (!fRet)
            {
            alert("Ungültige Zeichen in der Postleitzahl!");
            }
        }
    else if (cValue.length == 10)
        {
        fRet = __CheckValid(cValue, cValid10);

        if (fRet)
            {
            if ( cValue.indexOf("-") != "5" )
                {
                alert("Ungültige Bindestrich-Position in der Postleitzahl!");
                fRet = false;
                }
            }
        else
            {
            alert("Invalid characters in ZIP!");
            }
        }
    else
        {
        alert("Bitte 5 Ziffern oder 5 Ziffern und '-' sowie weitere 4 Ziffern für US-Postleitzahlen eingeben.");
        fRet = false;
        }

    return fRet;
    }


function __CheckNum (cValue)
    {
    var     fRet;
    var     cValid10 = " 0123456789-()+"

    fRet = __CheckValid(cValue, cValid10);

    return fRet;
    }


function CheckForm  (oForm)
    {
    var fRet = true;
    var oTemp;
    var cTemp;
    var cOrig;

    for (i=0; i < oForm.length; i++)
        {
        oTemp = oForm.elements[i];
        cOrig = oTemp.name;
        cTemp = oTemp.name.toLowerCase();
        if (cTemp == "plz")
            {
            if (!__CheckZip(oTemp.value))
                {
                fRet = false;
                }
            }

        if (cTemp == "e-mail")
            {
            if (!__CheckEmail(oTemp.value))
                {
                fRet = false;
                }
            }

        if (cTemp == "ort")
            {
            if (!__CheckNotEmpty(oTemp.value, 3))
                {
                alert("Feld '" + cOrig + "' ist leer oder zu kurz!");
                fRet = false;
                }
            }

        if (cTemp == "strasse")
            {
            if (!__CheckNotEmpty(oTemp.value, 5))
                {
                alert("Feld '" + cOrig + "' ist leer oder zu kurz!");
                fRet = false;
                }
            }

        if (cTemp == "name")
            {
            if (!__CheckNotEmpty(oTemp.value, 3))
                {
                alert("Feld '" + cOrig + "' ist leer oder zu kurz!");
                fRet = false;
                }
            }

        if (cTemp == "telefon")
            {
            if (__CheckNotEmpty(oTemp.value, 3))
                {
                if ( !__CheckNum(oTemp.value) )
                    {
                    alert("Feld '" + cOrig + "' ist ungültig!");
                    fRet = false;
                    }
                }
            else
                {
                alert("Feld '" + cOrig + "' ist leer oder zu kurz!");
                fRet = false;
                }
            }

        if (cTemp == "xfax")
            {
            if (__CheckNotEmpty(oTemp.value, 3))
                {
                if ( !__CheckNum(oTemp.value) )
                    {
                    alert("Feld '" + cOrig + "' ist ungültig!");
                    fRet = false;
                    }
                }
            else
                {
                alert("Feld '" + cOrig + "' ist leer oder zu kurz!");
                fRet = false;
                }
            }
        }

    return fRet;
    }

