/*
/ file: form-anmeldung.js
/ dsc:  Funktionen für die Validierung des Anmelde-Formulars
*/

/**
  * URL in neuem Fenster (Popup) laden
  */
function popup(sUrl, sName, iWidth, iHeight) {
        //alert(sUrl);
        popupWindow = window.open(sUrl, sName, 'width=' + iWidth + ',height=' + iHeight + ',status=yes,resizable=yes,menubar=no,locationbar=no,scrollbars=yes,dependent=yes');
        if (window.focus) {
                popupWindow.focus();
        }
        //return false;
}

/* Trim-Funktion */
function trim(sString) {
        sString.replace(/^\s*/, '').replace(/\s*$/, '');
        return sString;
}

/* Syntax-Checker für E-Mails */
function checkEmail(sEmail) {
        if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(sEmail)){
                return true;
        }
        return false;
}

function getTeamFromList(form) {
        if( form.teams.selectedIndex > 0 ) form.team.value = form.teams[form.teams.selectedIndex].value;
         return true;
}

/* Form-Checker für die Anmeldung zum Genusslauf */
function validateEnrolForm(form) {
        var bReturn = true;
        var sErrorMsg = 'Bitte füllen Sie die folgenden Felder aus:\n\n';
        var sField = null;

    var bRunTypeChecked = false;
    var bNoRun = false;
    var oRadioRunType = form.run_type;
    for ( var i = 0; i < oRadioRunType.length; i++ ) {
        if (oRadioRunType[i].checked) bRunTypeChecked = true;
    }
    if (oRadioRunType[3].checked) bNoRun = true;

    if (!bRunTypeChecked) {
                sErrorMsg += ' - Lauf\n';
                if (!sField)
                        sField = form.run_type[0];
                bReturn = false;
    }

        if (trim(form.salutation.value) == '-') {
                sErrorMsg += ' - Anrede\n';
                if (!sField)
                        sField = form.salutation;
                bReturn = false;
        }

        if (!trim(form.fname.value)) {
                sErrorMsg += ' - Vorname\n';
                if (!sField)
                        sField = form.fname;
                bReturn = false;
        }

        if (!trim(form.sname.value)) {
                sErrorMsg += ' - Nachname\n';
                if (!sField)
                        sField = form.sname;
                bReturn = false;
        }

        if (!trim(form.street.value)) {
                sErrorMsg += ' - Straße\n';
                if (!sField)
                        sField = form.street;
                bReturn = false;
        }

        if (!trim(form.zip.value)) {
                sErrorMsg += ' - Postleitzahl\n';
                if (!sField)
                        sField = form.zip;
                bReturn = false;
        }

        if (!trim(form.city.value)) {
                sErrorMsg += ' - Ort\n';
                if (!sField)
                        sField = form.city;
                bReturn = false;
        }

        if (!trim(form.email.value)) {
                sErrorMsg += ' - E-Mail\n';
                if (!sField)
                        sField = form.email;
                bReturn = false;
        }

        if (trim(form.email.value) != '') {
                if (!checkEmail(form.email.value)) {
                        sErrorMsg += ' - E-Mail (Syntax überprüfen!)\n';
                        if (!sField)
                                sField = form.email;
                        bReturn = false;
                }
        }

        if (!trim(form.year_of_birth.value)) {
                sErrorMsg += ' - Jahrgang\n';
                if (!sField)
                        sField = form.year_of_birth;
                bReturn = false;
        }

    var bSouvenirChecked = false;
    var oRadioSouvenir = form.souvenir;
    for ( var i = 0; i < oRadioSouvenir.length; i++ ) {
        if (oRadioSouvenir[i].checked) bSouvenirChecked = true;
    }
    if (!bSouvenirChecked && !bNoRun) {
                sErrorMsg += ' - Erinnerungsstück\n';
                if (!sField)
                        sField = form.souvenir[0];
                bReturn = false;
    }

    var bOptionChecked = false;
    var oRadioOption = form.option;
    for ( var i = 0; i < oRadioOption.length; i++ ) {
        if (oRadioOption[i].checked) bOptionChecked = true;
    }
    if (!bOptionChecked) {
                sErrorMsg += ' - Rahmenveranstaltung\n';
                if (!sField)
                        sField = form.option[0];
                bReturn = false;
    }

        if (!bReturn) {
                alert(sErrorMsg);
                if (sField)
                        sField.focus();
        }

        return bReturn;
}