//project:KlimaatAgenda
PaginaStart = function() {
    updateLegacyArgs();
    //alert(BekijkObject(Lokatie.Args));
    //alert(BekijkObject(Lokatie.ClientArgs));
    //alert(BekijkObject(Lokatie.ServerArgs));
    try {
        if (d.E('uploadKnop')) { KA.maakUploaderKnop('uploadKnop', 'documentUploadFormulier', 'documentnaam', function() { KA.Opslaan(w.documentUploadFormulier); }); }
        if (Lokatie.ServerArgs.doc) { d.E(Lokatie.ServerArgs.doc) ? KA.toggleTab(d.E(Lokatie.ServerArgs.doc)) : ''; }
        d.E('Veld_251') && personenJSON ? KA.maakCheckboxen() : '';
    }
    catch (e) {
        alert('PaginaStart foutmelding: ' + e.description);
        alert(personenJSON);
    }
}

var isingelogd;

Start = function() {
    w.KA = new function() {
        var t = this,
        //personenJSON = [['maarten', 'maarten@cipix.nl'], ['meijk', 'meijk@cipix.nl'], ['hans', 'hans@cipix.nl'], ['mark', 'mark@cipix.nl']],
        maakCheckbox = function(naam, email, volgnr) {
            var optie = tg('.Optie')
            optie.schrijf(tg('input#_251_' + volgnr).attrObj({ name: '_251', 'type': 'checkbox', 'value': email }));
            optie.schrijf(' '); //zeer belangrijk voor het correct werken; backend levert ook een textnode met een spatie... Voor je zoiets vindt:grijze  haren.
            optie.schrijf(tg('label').attr('for', '_251_' + volgnr).schrijf(tg('').schrijf(naam)));
            optie.maakKindVan(d.E('Veld_251').childNodes[1]);
        };

        t.maakCheckboxen = function() {
            for (var i = 0; i < personenJSON.length; i++) {
                maakCheckbox(personenJSON[i][0], personenJSON[i][1], i);
            }
        }

        t.maakUploaderKnop = function(knopid, formuliernaam, formulierveld, functieNaUploaden) {
            if (d.E(knopid)) {
                var Uploader = new Bestandskeuze(d.E(knopid));
                Uploader.KeuzeEvent = function() {
                    var pattern = /^\d{2,4}-\d{2}-\d{2}\s\w+/;
                    //alert(pattern.test('2009-04-02 NIEUWDOC'));
                    if (pattern.test(Uploader.Keuze.Document)) {
                        var UploadOverdracht = new Uploader.Overdracht('/?Verzoek=UploadThread', function() {
                            alert(Uploader.Keuze.Document + ' is geupload');
                            document[formuliernaam][formulierveld].value = Uploader.Keuze.Document;
                            functieNaUploaden();
                            Uploader.Reset();
                        });
                        UploadOverdracht.Start();
                    }
                    else {
                        alert('Het document heeft niet de goede naamgeving. Voer graag een document in met als format:"jjjj-mm-dd[spatie]uwdocumentnaam" ');
                    }
                }
            }
        } //einde maakUploaderKnop

        t.downloadDocument = function(docnaam) {
            var win = window.open("../../Helperdocumentdownload/binair.aspx?e=1&bestandsnaam=" + docnaam, 'newwindow');
        }

        t.toggleMailkader = function() {
            toggleClass(d.E('mailkader'), 'aan');
            toggleClass(d.E('overlay'), 'aan');
        }

        t.verwijderDocument = function(documentnaam) {
            if (confirm('Weet u zeker dat u dit document wilt verwijderen?')) {
                var vrz = new HTTPVerzoek();
                vrz.URL.Args = { 'pagina': Lokatie.Args.pagina, 'Verzoek': 'verwijderdocument', 'documentnaam': documentnaam };
                vrz.Reactie = function() {
                    //alert(this.Respons);
                    Lokatie.ServerArgs.doc ? laadArgs({ 'doc': Lokatie.ServerArgs.doc }, true) : laadArgs({ 'd': 'd' }, true);
                }
                vrz.Start();
                //  alert(documentnaam);
            }
        }

        t.toggleTab = function(tab) {
            d.E('soortdocument') ? documentUploadFormulier.soortdocument.value = tab.id : '';
            var tabs = d.E('tabs');
            for (var i = 0; i < tabs.childNodes.length; i++) {
                zetClassUit(tabs.childNodes[i], 'actief');
            }
            zetClassAan(tab, 'actief');
            laadArgs({ 'doc': tab.id });
        }

        t.Opslaan = function(formulier) {
            var vrz = new HTTPVerzoek();
            vrz.POST = formulier; //post formulier
            vrz.URL.Args = { 'pagina': Lokatie.Args.pagina, 'Verzoek': 'itemopslaan' };
            switch (Lokatie.Args.pagina) {
                case 1038:
                    formulier.name == "Formuliermerk" ? vrz.URL.Args.merkoftypenaam = "merk" : vrz.URL.Args.merkid = d.E('merklijst')[d.E('merklijst').selectedIndex].value;
                    break;
                case 1040:
                    vrz.URL.Args.merkid = d.E('merklijst')[d.E('merklijst').selectedIndex].value;
                    break;
            }
            vrz.Reactie = function() {
                //alert(this.Respons);
                Lokatie.ServerArgs.doc ? laadArgs({ 'doc': Lokatie.ServerArgs.doc }, true) : laadArgs({ 'd': 'd' }, true);
            }
            vrz.Start();
            return false; //voorkom submit, routine wordt gebruikt bij onsubmit?? TODO
        }
    } //Einde Function KA
} //Einde Function Start
