var isIE6 = false;
var isIE7 = false;
var artCount = 0;
var currentWkPos = 0;
var lieferdauer = 40;
var artArr = new Array();
var anzArr = new Array();
var preisArr = new Array();
var zusArr = new Array();
var bemArr = new Array();
var pfZusArr = new Array();
var pfArr = new Array();
var mnuArtArr = new Array();
var mnuArr = new Array();
var mnuZusArr = new Array();
var mnuZusClArr = new Array();
var mnuBemArr = new Array();
var mnuPfZusArr = new Array();
var mnuPfArr = new Array();
var openTimeArr = new Array();

function __DoSubmit(GroupID, Page) {
    var wk_art = document.forms['theForm'].WK_Artikel;
    wk_art.value = '';

    for (var i = 0; i < artArr.length; i++) {
        if (artArr[i] != '') {
            if (wk_art.value != '') {
                wk_art.value += '|';
            }
            wk_art.value += artArr[i] + ';' + anzArr[i] + ';' + preisArr[i] + ';';

            // Zutaten
            if (zusArr[i]) {
                for (var j = 0; j < zusArr[i].length; j++) {
                    if (zusArr[i][j] != '') {
                        if (j > 0 && zusArr[i][j - 1] != '') {
                            wk_art.value += ',';
                        }
                        wk_art.value += zusArr[i][j];
                    }
                }
            }

            // Bemerkung
            wk_art.value += ';';
            if (bemArr[i])
                wk_art.value += bemArr[i];

            // Pflicht Zutaten
            wk_art.value += ';';
            if (pfZusArr[i]) {
                for (var j = 0; j < 6; j++) {
                    if (j > 0) {
                        wk_art.value += ',';
                    }
                    if (pfZusArr[i][j]) {
                        wk_art.value += pfZusArr[i][j];
                    }
                }
            }

            wk_art.value += ';';
            if (pfArr[i])
                wk_art.value += pfArr[i];

            // Menue Artikel
            wk_art.value += ';';
            if (mnuArtArr[i]) {
                for (var j = 0; j < 8; j++) {
                    if (j > 0) {
                        wk_art.value += ',';
                    }
                    if (mnuArtArr[i][j]) {
                        wk_art.value += mnuArtArr[i][j];
                    }

                    // Zutaten
                    wk_art.value += '/';
                    if (mnuZusArr[i]) {
                        if (mnuZusArr[i][j]) {
                            for (var k = 0; k < mnuZusArr[i][j].length; k++) {
                                if (mnuZusArr[i][j][k] != '') {
                                    if (k > 0 && mnuZusArr[i][j][k - 1] != '') {
                                        wk_art.value += '!';
                                    }
                                    if (mnuZusArr[i][j][k]) {
                                        wk_art.value += mnuZusArr[i][j][k];
                                    }
                                }
                            }
                        }
                    }

                    // Zusatz Window Closed
                    wk_art.value += '/';
                    if (mnuZusClArr[i]) {
                        if (mnuZusClArr[i][j]) {
                            wk_art.value += mnuZusClArr[i][j];
                        }
                    }

                    // Bemerkung
                    wk_art.value += '/';
                    if (mnuBemArr[i]) {
                        if (mnuBemArr[i][j]) {
                            wk_art.value += mnuBemArr[i][j];
                        }
                    }

                    // Pflicht Zutaten
                    wk_art.value += '/';
                    if (mnuPfZusArr[i]) {
                        if (mnuPfZusArr[i][j]) {
                            for (var k = 0; k < 6; k++) {
                                if (k > 0) {
                                    wk_art.value += '!';
                                }
                                if (mnuPfZusArr[i][j][k]) {
                                    wk_art.value += mnuPfZusArr[i][j][k];
                                }
                            }
                        }
                    }

                    wk_art.value += '/';
                    if (mnuPfArr[i]) {
                        if (mnuPfArr[i][j]) {
                            wk_art.value += mnuPfArr[i][j];
                        }
                    }
                }
            }

            wk_art.value += ';';
            if (mnuArr[i])
                wk_art.value += mnuArr[i];
        }
    }

    document.forms['theForm'].GroupID.value = GroupID;
    document.forms['theForm'].ArtCount.value = artCount;
    document.forms['theForm'].CurrentWkPos.value = currentWkPos;

    var currPage = location.href.substring(location.href.lastIndexOf('/') + 1);

    if (Page == '04') { // Bestellseite aufrufen
        document.forms['theForm'].action = '04_bestellung-1.php';
        if (currPage == '04_bestellung-1.php') { // nur submit ohne Page-Wechsel
            setScrollDist();
        }
    }
    else if (Page == '05') { // Adresseingabe aufrufen
        if (currPage == '04_bestellung-1.php' && wk_art.value == '') {
            document.forms['theForm'].action = '04_bestellung-1.php';
            alert('Bitte wählen Sie zuerst eine Speise aus.');
        }
        else if (currPage == '05_bestellung-adresse.php' && wk_art.value == '') {
            document.forms['theForm'].action = '04_bestellung-1.php';
        }
        else {
            document.forms['theForm'].action = '05_bestellung-adresse.php';
        }
    }
    else if (Page == '06') { // Bestätigungsseite aufrufen
        if (currPage == '05_bestellung-adresse.php' && wk_art.value == '') {
            document.forms['theForm'].action = '04_bestellung-1.php';
        }
        else if (document.forms['theForm'].name.value == '') {
            alert('Das Feld \'Nachname\' darf nicht leer sein.');
            document.forms['theForm'].name.focus();
            return;
        }
        else if (document.forms['theForm'].strasse.value == '') {
            alert('Das Feld \'Strasse\' darf nicht leer sein.');
            document.forms['theForm'].strasse.focus();
            return;
        }
        else if (document.forms['theForm'].nr.value == '') {
            alert('Das Feld \'Nr.\' darf nicht leer sein.');
            document.forms['theForm'].nr.focus();
            return;
        }
        else if (document.forms['theForm'].plz.value == '') {
            alert('Das Feld \'PLZ\' darf nicht leer sein.');
            document.forms['theForm'].plz.focus();
            return;
        }
        else if (document.forms['theForm'].ort.value == '') {
            alert('Das Feld \'Ort\' darf nicht leer sein.');
            document.forms['theForm'].ort.focus();
            return;
        }
        else if (document.forms['theForm'].telefon.value == '') {
            alert('Bitte geben Sie für Rückfragen Ihre Telefonnummer an.');
            document.forms['theForm'].telefon.focus();
            return;
        }
        else if (document.forms['theForm'].email.value != '' && !emailValidator(document.forms['theForm'].email.value)) {
            alert('Die angegebene E-Mail Adresse ist ungültig.');
            document.forms['theForm'].email.focus();
            return;
        }
        else {
            document.forms['theForm'].action = 'createOrder.php';
        }
    }
    else {
        document.forms['theForm'].action = Page;
    }

    document.forms['theForm'].submit();
    return false;
}

function __AddArt(ArtID, ArtPreis, GroupID, Page) {
    artArr[artCount] = ArtID;
    anzArr[artCount] = 1;
    preisArr[artCount] = ArtPreis;

    currentWkPos = artCount;
    artCount++;

    document.forms['theForm'].OpenArt.value = ArtID;
    document.forms['theForm'].OpenPreis.value = 'Preis_' + ArtPreis;

    __DoSubmit(GroupID, Page);
}

function __AddMnuArt(ArtID, GroupID, Page, Counter) {
    if (!mnuArtArr[currentWkPos])
        mnuArtArr[currentWkPos] = new Array();

    if (Counter != 0) {
        mnuArtArr[currentWkPos][Math.log(Counter) / Math.log(2)] = ArtID;
//        if (Counter == 1)
//            mnuArtArr[currentWkPos][0] = ArtID;
//        else if (Counter == 2)
//            mnuArtArr[currentWkPos][1] = ArtID;
//        else if (Counter == 4)
//            mnuArtArr[currentWkPos][2] = ArtID;
//        else if (Counter == 8)
//            mnuArtArr[currentWkPos][3] = ArtID;
//        else if (Counter == 16)
//            mnuArtArr[currentWkPos][4] = ArtID;
//        else if (Counter == 32)
//            mnuArtArr[currentWkPos][5] = ArtID;
//        else if (Counter == 64)
//            mnuArtArr[currentWkPos][6] = ArtID;
//        else if (Counter == 128)
//            mnuArtArr[currentWkPos][7] = ArtID;
        mnuArr[currentWkPos] |= Counter;
    }

    __DoSubmit(GroupID, Page);
}

function __AddZus(ZusID, GroupID, Page) {
    if (!zusArr[currentWkPos])
        zusArr[currentWkPos] = new Array();

    zusArr[currentWkPos][zusArr[currentWkPos].length] = ZusID;

    __DoSubmit(GroupID, Page);
}

function __AddMnuZus(MnuArtCount, ZusID, GroupID, Page) {
    if (!mnuZusArr[currentWkPos])
        mnuZusArr[currentWkPos] = new Array();

    if (!mnuZusArr[currentWkPos][MnuArtCount])
        mnuZusArr[currentWkPos][MnuArtCount] = new Array();

    mnuZusArr[currentWkPos][MnuArtCount][mnuZusArr[currentWkPos][MnuArtCount].length] = ZusID;

    __DoSubmit(GroupID, Page);
}

function __AddPfZus(ZusID, GroupID, Page, pflicht) {
    if (!pfZusArr[currentWkPos])
        pfZusArr[currentWkPos] = new Array();

    if (pflicht != 0) {
        pfZusArr[currentWkPos][Math.log(pflicht) / Math.log(2)] = ZusID;
//        if (pflicht == 1)
//            pfZusArr[currentWkPos][0] = ZusID;
//        else if (pflicht == 2)
//            pfZusArr[currentWkPos][1] = ZusID;
//        else if (pflicht == 4)
//            pfZusArr[currentWkPos][2] = ZusID;
//        else if (pflicht == 8)
//            pfZusArr[currentWkPos][3] = ZusID;
//        else if (pflicht == 16)
//            pfZusArr[currentWkPos][4] = ZusID;
//        else if (pflicht == 32)
//            pfZusArr[currentWkPos][5] = ZusID;
        pfArr[currentWkPos] |= pflicht;
    }

    __DoSubmit(GroupID, Page);
}

function __AddMnuPfZus(MnuArtCount, ZusID, GroupID, Page, pflicht) {
    if (!mnuPfZusArr[currentWkPos])
        mnuPfZusArr[currentWkPos] = new Array();

    if (!mnuPfZusArr[currentWkPos][MnuArtCount])
        mnuPfZusArr[currentWkPos][MnuArtCount] = new Array();

    if (!mnuPfArr[currentWkPos])
        mnuPfArr[currentWkPos] = new Array();

    if (pflicht != 0) {
        mnuPfZusArr[currentWkPos][MnuArtCount][Math.log(pflicht) / Math.log(2)] = ZusID;
//        if (pflicht == 1)
//            mnuPfZusArr[currentWkPos][MnuArtCount][0] = ZusID;
//        else if (pflicht == 2)
//            mnuPfZusArr[currentWkPos][MnuArtCount][1] = ZusID;
//        else if (pflicht == 4)
//            mnuPfZusArr[currentWkPos][MnuArtCount][2] = ZusID;
//        else if (pflicht == 8)
//            mnuPfZusArr[currentWkPos][MnuArtCount][3] = ZusID;
//        else if (pflicht == 16)
//            mnuPfZusArr[currentWkPos][MnuArtCount][4] = ZusID;
//        else if (pflicht == 32)
//            mnuPfZusArr[currentWkPos][MnuArtCount][5] = ZusID;
        mnuPfArr[currentWkPos][MnuArtCount] |= pflicht;
    }

    __DoSubmit(GroupID, Page);
}

function __AddBem(GroupID, Page) {
    var value = document.forms['theForm'].ArtBemerkung.value;
    bemArr[currentWkPos] = value;

    __DoSubmit(GroupID, Page);
}

function __RemArt(ArtCount, GroupID, Page) {
    artArr[ArtCount] = '';

    document.forms['theForm'].OpenArt.value = '';
    document.forms['theForm'].OpenPreis.value = '';
    artCount--;
    currentWkPos = 0;

    __DoSubmit(GroupID, Page);
}

function __RemMnuArt(ArtCount, MnuArtCount, GroupID, Page, Counter) {
    mnuArtArr[ArtCount][MnuArtCount] = '';
    mnuArr[ArtCount] &= ~Counter;
    if (mnuPfZusArr[ArtCount]) {
        mnuPfZusArr[ArtCount][MnuArtCount] = '';
    }
    if (mnuPfArr[ArtCount]) {
        mnuPfArr[ArtCount][MnuArtCount] = '';
    }
    if (mnuZusArr[ArtCount]) {
        mnuZusArr[ArtCount][MnuArtCount] = '';
    }
    if (mnuZusClArr[ArtCount]) {
        mnuZusClArr[ArtCount][MnuArtCount] = '';
    }
    if (mnuBemArr[ArtCount]) {
        mnuBemArr[ArtCount][MnuArtCount] = '';
    }

    Page = '04';

    document.forms['theForm'].OpenArt.value = artArr[ArtCount];
    document.forms['theForm'].OpenPreis.value = 'Preis_' + preisArr[ArtCount];
    currentWkPos = ArtCount;

    __DoSubmit(GroupID, Page);
}

function __ChngZus(ArtCount, GroupID, Page) {
    var value = eval('document.forms[\'theForm\'].WKartAnz_' + ArtCount + '.value');
    var pattern = /^[0-9]{1}$/;
    if (!value.match(pattern)) {
        return;
    }
    if (value == 0) {
        __RemArt(ArtCount, GroupID, Page);
        return;
    }
    anzArr[ArtCount] = value;
    
    document.forms['theForm'].OpenArt.value = artArr[ArtCount];
    document.forms['theForm'].OpenPreis.value = 'Preis_' + preisArr[ArtCount];
    currentWkPos = ArtCount;

    __DoSubmit(GroupID, Page);
}

function __ChngGrp(GroupID, Page) {
    document.forms['theForm'].OpenArt.value = '';
    document.forms['theForm'].OpenPreis.value = '';
    
    __DoSubmit(GroupID, Page);
}

function __UpdOrder(GroupID, Page) {
    for (var i = 0; i < anzArr.length; i++) {
        var value = eval('document.forms[\'theForm\'].WKartAnz_' + i + '.value');
        anzArr[i] = value;
    }

    __DoSubmit(GroupID, Page);
}

function __RemZus(ArtCount, ZusCount, GroupID, Page) {
    var tmpZusArr = new Array();
    tmpZusArr = zusArr[ArtCount];
    zusArr[ArtCount] = new Array();

    var j = 0;
    for (var i = 0; i < tmpZusArr.length; i++) {
        if (i != ZusCount) {
            zusArr[ArtCount][j++] = tmpZusArr[i];
        }
    }

    Page = '04';
        
    document.forms['theForm'].OpenArt.value = artArr[ArtCount];
    document.forms['theForm'].OpenPreis.value = 'Preis_' + preisArr[ArtCount];
    currentWkPos = ArtCount;

    __DoSubmit(GroupID, Page);
}

function __RemMnuZus(ArtCount, MnuArtCount, ZusCount, GroupID, Page) {
    var tmpMnuZusArr = new Array();
    tmpMnuZusArr = mnuZusArr[ArtCount][MnuArtCount];
    mnuZusArr[ArtCount][MnuArtCount] = new Array();

    var j = 0;
    for (var i = 0; i < tmpMnuZusArr.length; i++) {
        if (i != ZusCount) {
            mnuZusArr[ArtCount][MnuArtCount][j++] = tmpMnuZusArr[i];
        }
    }
    mnuZusClArr[ArtCount][MnuArtCount] = '';

    Page = '04';

    document.forms['theForm'].OpenArt.value = artArr[ArtCount];
    document.forms['theForm'].OpenPreis.value = 'Preis_' + preisArr[ArtCount];
    currentWkPos = ArtCount;

    __DoSubmit(GroupID, Page);
}

function __CloseMnuZus(MnuArtCount, GroupID, Page) {
    if (!mnuZusClArr[currentWkPos])
        mnuZusClArr[currentWkPos] = new Array();
    mnuZusClArr[currentWkPos][MnuArtCount] = '1';

    __DoSubmit(GroupID, Page);
}

function __RemPfZus(ArtCount, ZusCount, GroupID, Page, pflicht) {
    if (pflicht > 0) {
        pfZusArr[ArtCount][Math.log(pflicht) / Math.log(2)] = '';
//        if (pflicht == 1)
//            pfZusArr[ArtCount][0] = '';
//        if (pflicht == 2)
//            pfZusArr[ArtCount][1] = '';
//        if (pflicht == 4)
//            pfZusArr[ArtCount][2] = '';
//        if (pflicht == 8)
//            pfZusArr[ArtCount][3] = '';
//        if (pflicht == 16)
//            pfZusArr[ArtCount][4] = '';
//        if (pflicht == 32)
//            pfZusArr[ArtCount][5] = '';
        pfArr[ArtCount] &= ~pflicht;
    }

    Page = '04';

    document.forms['theForm'].OpenArt.value = artArr[ArtCount];
    document.forms['theForm'].OpenPreis.value = 'Preis_' + preisArr[ArtCount];
    currentWkPos = ArtCount;

    __DoSubmit(GroupID, Page);
}

function __RemMnuPfZus(ArtCount, MnuArtCount, GroupID, Page, pflicht) {
    if (pflicht > 0) {
        mnuPfZusArr[ArtCount][MnuArtCount][Math.log(pflicht) / Math.log(2)] = '';
//        if (pflicht == 1)
//            mnuPfZusArr[ArtCount][MnuArtCount][0] = '';
//        if (pflicht == 2)
//            mnuPfZusArr[ArtCount][MnuArtCount][1] = '';
//        if (pflicht == 4)
//            mnuPfZusArr[ArtCount][MnuArtCount][2] = '';
//        if (pflicht == 8)
//            mnuPfZusArr[ArtCount][MnuArtCount][3] = '';
//        if (pflicht == 16)
//            mnuPfZusArr[ArtCount][MnuArtCount][4] = '';
//        if (pflicht == 32)
//            mnuPfZusArr[ArtCount][MnuArtCount][5] = '';
        mnuPfArr[ArtCount][MnuArtCount] &= ~pflicht;
    }

    Page = '04';

    document.forms['theForm'].OpenArt.value = artArr[ArtCount];
    document.forms['theForm'].OpenPreis.value = 'Preis_' + preisArr[ArtCount];
    currentWkPos = ArtCount;

    __DoSubmit(GroupID, Page);
}

function __RemBem(ArtCount, GroupID, Page) {
    bemArr[ArtCount] = '';

    __DoSubmit(GroupID, Page);
}

function __SetVisible(ID) {
    div = document.getElementById(ID);
    div.style.display = 'block';
}

function __InitVars(ArtCount, CurrentWkPos) {
    // init WK
    var wkArt = document.forms['theForm'].WK_Artikel.value;

    if (wkArt != '') {
        var wkContent = wkArt.split('|');
        for (var i = 0; i < wkContent.length; i++) {
            contArr = wkContent[i].split(';');
            artArr[i] = contArr[0];
            anzArr[i] = contArr[1];
            preisArr[i] = contArr[2];

            // Zutaten
            if (contArr[3]) {
                var contZus = contArr[3].split(',');
                for (var j = 0; j < contZus.length; j++) {
                    if (!zusArr[i])
                        zusArr[i] = new Array();
                    zusArr[i][j] = contZus[j];
                }
            }

            // Bemerkung
            if (contArr[4])
                bemArr[i] = contArr[4];

            // Pflicht Zutaten
            if (contArr[5]) {
                var contPfZus = contArr[5].split(',');
                for (var j = 0; j < contPfZus.length; j++) {
                    if (!pfZusArr[i])
                        pfZusArr[i] = new Array();
                    pfZusArr[i][j] = contPfZus[j];
                }
            }

            if (contArr[6])
                pfArr[i] = contArr[6];


            // Menue Artikel
            if (contArr[7]) {
                var contMnuArt = contArr[7].split(',');
                for (var j = 0; j < contMnuArt.length; j++) {
                    // Artikel
                    if (!mnuArtArr[i]) {
                        mnuArtArr[i] = new Array();
                    }
                    
                    var contMnuCont = contMnuArt[j].split('/');
                    mnuArtArr[i][j] = contMnuCont[0];

                    // Zutaten
                    var contMnuZus = contMnuCont[1].split('!');
                    for (var k = 0; k < contMnuZus.length; k++) {
                        if (!mnuZusArr[i]) {
                            mnuZusArr[i] = new Array();
                        }
                        if (!mnuZusArr[i][j]) {
                            mnuZusArr[i][j] = new Array();
                        }
                        mnuZusArr[i][j][k] = contMnuZus[k];
                    }

                    // Zusatz Window closed
                    if (contMnuCont[2]) {
                        if (!mnuZusClArr[i]) {
                            mnuZusClArr[i] = new Array();
                        }
                        mnuZusClArr[i][j] = contMnuCont[2];
                    }

                    // Bemerkung
                    if (contMnuCont[3]) {
                        if (!mnuBemArr[i]) {
                            mnuBemArr[i] = new Array();
                        }
                        mnuBemArr[i][j] = contMnuCont[3];
                    }

                    // Plicht Zutaten
                    var contMnuPfZus = contMnuCont[4].split('!');
                    for (var k = 0; k < contMnuPfZus.length; k++) {
                        if (!mnuPfZusArr[i]) {
                            mnuPfZusArr[i] = new Array();
                        }
                        if (!mnuPfZusArr[i][j]) {
                            mnuPfZusArr[i][j] = new Array();
                        }
                        mnuPfZusArr[i][j][k] = contMnuPfZus[k];
                    }

                    // Pflicht
                    if (contMnuCont[5]) {
                        if (!mnuPfArr[i]) {
                            mnuPfArr[i] = new Array();
                        }
                        mnuPfArr[i][j] = contMnuCont[5];
                    }
                }
            }

            if (contArr[8])
                mnuArr[i] = contArr[8];
        }
        artCount = ArtCount;
        currentWkPos = CurrentWkPos;
    }
}

function yOffset() {
    var yOffs;

    if (document.all && document.documentElement) //Microsoft IE 6+
    {
        yOffs = document.documentElement.scrollTop;
    }
    else if (document.all) //Microsoft IE 4
    {
        yOffs = document.body.scrollTop;
    }
    else // Netscape
    {
        yOffs = window.pageYOffset;
    }
    return yOffs;
}

function setScrollDist() {
    document.forms['theForm'].ScrollDistance.value = yOffset();
}

function NoDeliveryPLZ(PLZ) {
    if (PLZ) {
        alert('Die Postleitzahl ' + PLZ + ' wird von uns bisher leider nicht beliefert.');
    }
}

function __GoTo(Page) {
    document.forms['theForm'].action = Page;
    document.theForm.submit();
}

function __switch(Ort) {
    if (Ort != "") {
        document.theForm.Ort.value = Ort;
    }
    document.theForm.submit();
}

function __OrderErr(Msg) {
    alert('Es ist ein Fehler aufgetreten:\n' + Msg);
}

function setIEVers(Version) {
    if (Version == 6)
        isIE6 = true;
    if (Version == 7)
        isIE7 = true;
}

// faq-switcher

function switchDisplay(id) {
    doc=document.getElementById(id);
    if (doc.style.display == 'none') {
        DivCount = document.forms['theForm'].DivCount.value;
        for (i = 1; i <= DivCount; i++){
            CloseID = 'Zusatz' + i + '_XS';
            CloseDoc = document.getElementById(CloseID);
            CloseDoc.style.display = 'none';
            CloseID = 'Zusatz' + i + '_S';
            CloseDoc=document.getElementById(CloseID);
            CloseDoc.style.display = 'none';
            CloseID = 'Zusatz' + i + '_N';
            CloseDoc=document.getElementById(CloseID);
            CloseDoc.style.display = 'none';
            CloseID = 'Zusatz' + i + '_L';
            CloseDoc=document.getElementById(CloseID);
            CloseDoc.style.display = 'none';
            CloseID = 'Zusatz' + i + '_XL';
            CloseDoc=document.getElementById(CloseID);
            CloseDoc.style.display = 'none';
        }
        doc.style.display = 'block';
        if (doc.scrollIntoView)
            doc.scrollIntoView(false);
        //scrollBy(0, 200);
    } else {
        doc.style.display = 'none';
    }
}

function setOpenTime(OpenTime) {
    var otDay = OpenTime.split(';');
    for (var i = 0; i < otDay.length; i++) {
        var otItem = otDay[i].split(',');
        for (var j = 1; j < otItem.length; j++) {
            if (j == 1)
                openTimeArr[otItem[0]] = new Array();
            openTimeArr[otItem[0]][j-1] = otItem[j];
        }
    }
    setHourOption();

    if (!isShopOpen()) {
        switchCB_liefertermin(true, true);
    }
}

function switchCB_sofort_liefern() {
    if (document.forms['theForm'].CB_sofort_liefern.checked) {
        document.forms['theForm'].CB_liefertermin.checked = false;
    } else {
        document.forms['theForm'].CB_liefertermin.checked = true;
    }
}

function switchCB_liefertermin(check, disable) {
    if (check) {
        document.forms['theForm'].CB_liefertermin.checked = true;
        document.forms['theForm'].CB_sofort_liefern.checked = false;
        if (disable) {
            document.forms['theForm'].CB_sofort_liefern.disabled = true;
        }
    } else {
        if (!document.forms['theForm'].CB_sofort_liefern.disabled) {
            if (document.forms['theForm'].CB_liefertermin.checked) {
                document.forms['theForm'].CB_sofort_liefern.checked = false;
            } else {
                document.forms['theForm'].CB_sofort_liefern.checked = true;
            }
        } else {
            document.forms['theForm'].CB_liefertermin.checked = true;
        }
    }
}

function __SwitchSelbstabholer(GroupID) {
    document.forms['theForm'].action = '05_bestellung-adresse.php';
    document.forms['theForm'].GroupID.value = GroupID;
    document.forms['theForm'].ArtCount.value = artCount;
    document.forms['theForm'].CurrentWkPos.value = currentWkPos;
    setScrollDist();
    document.forms['theForm'].submit();
    return false;
}

function isShopOpen() {
    var now = new Date();
    var dayOfWeek = now.getDay();
    var nowMin = now.getHours() * 60 + now.getMinutes();

    var von = openTimeArr[dayOfWeek][0];
    var bis = openTimeArr[dayOfWeek][1];
    var openVon = von.substr(0, 2) * 60 + von.substr(3, 2) * 1;
    var openBis = bis.substr(0, 2) * 60 + bis.substr(3, 2) * 1;

    if (openVon <= nowMin && nowMin <= openBis) {
        return true;
    }

    var von2 = openTimeArr[dayOfWeek][2];
    var bis2 = openTimeArr[dayOfWeek][3];
    if (von2 != '' && bis2 != '') {
        var openVon2 = von2.substr(0, 2) * 60 + von2.substr(3, 2) * 1;
        var openBis2 = bis2.substr(0, 2) * 60 + bis2.substr(3, 2) * 1;

        if (openVon2 <= nowMin && nowMin <= openBis2) {
            return true;
        }
    }

    return false;
}

function deleteHourOption() {
    for (var i = 0; i < 24; i++) {
        if (document.forms['theForm'].LieferterminHour[0])
            document.forms['theForm'].LieferterminHour[0] = null;
    }
}

function deleteMinOption() {
    for (var i = 0; i < 4; i++) {
        if (document.forms['theForm'].LieferTerminMinute[0])
            document.forms['theForm'].LieferTerminMinute[0] = null;
    }
}

function setHourOption() {

    deleteHourOption();
    
    var selIdx = document.forms['theForm'].SelectLiefertermin.selectedIndex;
    var currDate = document.forms['theForm'].SelectLiefertermin[selIdx].text;
    var date = new Date(currDate.substr(6, 4), currDate.substr(3, 2) - 1, currDate.substr(0, 2));

    var now = new Date();
    now.setTime(now.getTime() + (lieferdauer * 60 * 1000));

    var hours = 0;
    if (now.getDate() == date.getDate()) {
        hours = now.getHours();
        if (now.getMinutes() > 45)
            hours++;
    }

    for (var i = hours; i < 25; i++) {
        if ((openTimeArr[date.getDay()][0].substr(0, 2) <= i && openTimeArr[date.getDay()][1].substr(0, 2) >= i)
                || (openTimeArr[date.getDay()][2].substr(0, 2) != '' && openTimeArr[date.getDay()][3].substr(0, 2) != '' && openTimeArr[date.getDay()][2].substr(0, 2) <= i && openTimeArr[date.getDay()][3].substr(0, 2) >= i)) {
            var s;
            if (i < 10)
                s = '0' + i;
            else
                s = '' + i;
            addOption(document.forms['theForm'].LieferterminHour, s, s);
        }
    }

    setMinuteOption();
}

function setMinuteOption() {

    deleteMinOption();

    var selIdx = document.forms['theForm'].LieferterminHour.selectedIndex;
    var currHour = document.forms['theForm'].LieferterminHour[selIdx].text;

    var selIdx = document.forms['theForm'].SelectLiefertermin.selectedIndex;
    var currDate = document.forms['theForm'].SelectLiefertermin[selIdx].text;
    var date = new Date(currDate.substr(6, 4), currDate.substr(3, 2) - 1, currDate.substr(0, 2));

    var now = new Date();
    isToday = false;
    if (now.toDateString() == date.toDateString()) {
        isToday = true;
    }
    now.setTime(now.getTime() + (lieferdauer * 60 * 1000));

    for (var i = 0; i < 4; i++) {
        var min = i * 15;
        // bis
        if (currHour == openTimeArr[date.getDay()][0].substr(0, 2)) {
            if (min < openTimeArr[date.getDay()][0].substr(3, 2)) {
                continue;
            }
        }
        // bis2
        if (openTimeArr[date.getDay()][2] != '' && currHour == openTimeArr[date.getDay()][2].substr(0, 2)) {
            if (min < openTimeArr[date.getDay()][2].substr(3, 2)) {
                continue;
            }
        }
        // von
        if (currHour == openTimeArr[date.getDay()][1].substr(0, 2)) {
            if (min > openTimeArr[date.getDay()][1].substr(3, 2)) {
                continue;
            }
        }
        // von2
        if (openTimeArr[date.getDay()][3] != '' && currHour == openTimeArr[date.getDay()][3].substr(0, 2)) {
            if (min > openTimeArr[date.getDay()][3].substr(3, 2)) {
                continue;
            }
        }
        // now
        if (isToday && currHour == now.getHours()) {
            if (min < now.getMinutes()) {
                continue;
            }
        }
        var s;
        if (min < 10)
            s = '0' + min;
        else
            s = '' + min;
        addOption(document.forms['theForm'].LieferTerminMinute, s, s);
    }
}

function addOption(selectObject, optionText, optionValue) {
    var optionObject = new Option(optionText, optionValue);
    var optionRank = selectObject.options.length;
    selectObject.options[optionRank] = optionObject;
}

function emailValidator(email) {
    var emailExp = /^[\w\-\.\+]+\@[a-zA-Z0-9\.\-]+\.[a-zA-z0-9]{2,4}$/;
    if (email.match(emailExp)) {
        return true;
    } else {
        return false;
    }
}
