//Project:Panorama Mesdag
Start = function() {
    w.mesdag = new function() {
        var 
			t = this,
        //scrollquant = 4336 - screen.width,
			startEventsKoppelen = function(elArray, func, eventType, extraArg) { elArray.verwerk(function(id) { var e = d.E('_' + id); startEventKoppelen(e, eventType, func, extraArg); }) },
			startEventKoppelen = function(element, eventType, func, extraAr) {
			    var r = new Reactie(element, eventType, func);
			    r.extraArg = extraAr;
			    r.Start();
			},
			toggleFormulier = function() { t.openGeklapt = ((this.Object.id == '_223_1') || (this.Object.id == '_2111_1')); toggleVelden(); },
			toggleVelden = function() {
			    ['Veld_224', 'Veld_2113'].verwerk(function(id) {
			        d.E(id) ? toggleVeld(d.E(id)) : '';
			    })
			},
			toggleVeld = function(el) {
			    var toon = t.openGeklapt ? 'block' : 'none';
			    el.style.display = toon;
			    toggleClass(el, 'Verplicht');
			},
			toongroteAfbeelding = function(src) {
			    var kader = d.E('groteAfbeeldingkader');
			    var afbeelding = d.E('groteAfbeelding');
			    if (afbeelding && kader) {
			        afbeelding.src = src;
			        kader.style.display = 'block';
			    }
			}
		;

        laadScript('http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js', function() { if (!window.jQuery) { return false; } else { window.jQuery.noConflict(); } })

        t.maakMarkeringHandler = function() {
            var items = jQuery('.thema_contentTekst .marker_0');
            var aantalitems = items.length;
            items.click(function() { jQuery(this).find('a').length > 0 ? toongroteAfbeelding(jQuery(this).find('a')[0].href) : ''; });
            /*niet nodig; de a-tag binnen marker_0 wordt nu verborgen via stylesheet. Deze oplossing toont de link nog even.
            var regexp = /(\[(\s|\S)*\])/;
            var replacetext;
            var match;
            for (var i = 0; i < items.length; i++) {
                replacetext = items[i].innerHTML
                alert(replacetext);
                match = regexp.exec(replacetext);
                alert(match);
                if (match) {
                    items[i].innerHTML = replacetext.replace(regexp, '<span class="verberglink">' + match[0] + '</span>');
                }
            }
            */
        }

        t.sluitgroteAfbeelding = function() {
            if (d.E('groteAfbeeldingkader')) {
                d.E('groteAfbeeldingkader').style.display = 'none';
            }
        }

        t.markers = function() {
            var items = $('.marker_0');
            if (items.length > 0) {
                items.toggle(function() { $(this).children('.infokader').show('normal'); }, function() { $(this).children('.infokader').hide('normal'); });
                for (i = 0; i < items.length; i++) {
                    var t = items[i].innerHTML;
                    items[i].innerHTML = '&nbsp;';
                    items[i].style.display = 'inline';
                    tg('.infokader#infokader_' + i).schrijf(t).maakKindVan(items[i]);
                }
            }
        }


        t.openGeklapt = false;

        t.startFORM1005 = function() {
            startEventsKoppelen(['223_0', '223_1'], toggleFormulier, 'click');
            toggleVelden(false);
        }

        t.startFORM1270 = function() {
            startEventsKoppelen(['2111_0', '2111_1'], toggleFormulier, 'click');
            toggleVelden(false);
        }

        t.centreer = function() {
            if (d.E("Venster").clientHeight > 672) {
                var marge = Math.round((d.E("Venster").clientHeight - 672) / 2)
                d.E("centreer").style.marginTop = marge + 'px';
                d.E("Body").style.backgroundPosition = '-1500px ' + (95 + marge) + 'px';
            }
        }

        /*
        t.beweegCanvas = function(interval, positie, naarLinks) {
        var verschuiving;

            naarLinks ? ((-positie >= scrollquant) ? naarLinks = false : '') : (positie >= 0 ? naarLinks = true : '');
        naarLinks ? verschuiving = -1 : verschuiving = 1;

            d.E("Body").style.backgroundPosition = positie + 'px 106px';
        setTimeout(function() { t.beweegCanvas(interval, (positie + verschuiving), naarLinks) }, interval)
        }
        t.beginpos = function() { return -Math.round((scrollquant / 2)); }
        */
        t.veranderDropdownSelectie = function(select) {
            var selectID = select.id.na("_"),
				selectedValue = select[select.selectedIndex].value;
            t.veranderStatus(selectedValue, selectID);
        }

        t.veranderStatus = function(selectieId, keuzedrager) {
            var vrz = new HTTPVerzoek();
            vrz.URL.Args = { 'pagina': Lokatie.Args.pagina, 'Verzoek': 'Koppeling', 'ouderid': selectieId, 'keuzedrager': keuzedrager };
            vrz.Reactie = function() {
                var antw = this.Respons;
                if (antw > 0) {

                }
                else alert('Het opslaan is mislukt. Probeer het later nog een keer.\n' + this.Respons);
            }
            vrz.Start();
        }

        t.toonForm = function() { zetClassAan(d.E('actiecontent'), 'toonform') }
        t.veranderPrijs = function(select) {
            var 
        selectedValue = select[select.selectedIndex].value,
        initValue = select.className.na('_');

            if (selectedValue == 1099 || initValue == 1099) {
                var soorthotspot;
                selectedValue == 1099 ? soorthotspot = 'donateur' : soorthotspot = 'sponsor';
                var vrz = new HTTPVerzoek();
                vrz.URL.Args = { 'pagina': Lokatie.Args.pagina, 'Verzoek': 'prijslijst', 'soorthotspot': soorthotspot };
                vrz.Reactie = function() {
                    var antw = this.Respons;
                    // if (antw > 0) {
                    //alert(antw);
                    var prijsd = d.E("prijsdropdown");
                    prijsd.removeChild(prijsd.firstChild);
                    prijsd.innerHTML = antw;
                    //}
                    //else alert('Het opslaan is mislukt. Probeer het later nog een keer.\n' + this.Respons);
                }
                vrz.Start();
            }
            select.className = 'init_' + selectedValue;
        };
    };
    initPMI();
}

function initPMI(){
  seadragonConfig();
	mesdag.pmiMarquee=CimpleProxy.bewaarTag(bouw('marquee#pmimarquee',{scrollAmount:1,scrollDelay:100,trueSpeed:true},[['div']]));//Chrome ondersteunt geen scrollDelay, staat in CSS
  PMIHotspot.Status = pmiData[1];
  PMIHotspot.Category = pmiData[2];
}

PaginaStart = function() {
    //alert(Deval(pmiData));
    //alert(Deval(themaID));
    //alert(Deval(hotspotdragerID));
    //d.E('pmi').parentElement.removeChild(d.E('pmi'));

    d.E('_2131') ? d.E('_2131')[0].text = '-- please choose --' : '';
    d.E("Formulier_1005") ? mesdag.startFORM1005() : '';
    d.E("Formulier_1270") ? mesdag.startFORM1270() : '';
    //pmi:
    if ((1148 in Route) || 2368 in Route || 2394 in Route) {//2368 is pagina ThemadragerNL 2394 is pagina ThemadragerEN
        //alert(hotspotdragerid);
				var themaPMI=mesdag['pmi' + themaID];
        if (!themaPMI) themaPMI=mesdag['pmi' + themaID] = new PMI('pmi', 'PMi5 70/dzc_output.xml', pmiData[0], hotspotdragerID);
        themaPMI.handleNavigation(Lokatie.Args.pagina, hotspotdragerID);
        var eRechts = d.E('filtermarker');
        if (eRechts) eRechts.appendChild(themaPMI.controls);
        //if (!mesdag.pmi) mesdag.pmi = new PMI('pmi', 'PMi5 70/dzc_output.xml', pmiData[0]); //pmiData komt uit default.asp
        //mesdag.pmi.handleNavigation(Lokatie.Args.pagina);
        //var eRechts = d.E('filtermarker');
        //if (eRechts) eRechts.appendChild(mesdag.pmi.controls);

    }
    
    else {
			//if(false){
        var placeholder = d.E('tmppmi');
        //onderstaand is vervangen door een marquee omdat scrollen in seadragon te traag is als ie zo breed moet zijn
        //mesdag.pmi.autoScroll(Lokatie.Args.pagina == 849 || Lokatie.Args.pagina == 920 || Lokatie.Args.pagina == 921 || Lokatie.Args.pagina == 922 || Lokatie.Args.pagina == 983);
        placeholder.parentElement.replaceChild(mesdag.pmiMarquee, placeholder);
        //FF start dynamisch ingevoegde marquees niet automatisch en verliest settings
        mesdag.pmiMarquee._scrollDelay = mesdag.pmiMarquee.scrollDelay;
        mesdag.pmiMarquee._scrollAmount = mesdag.pmiMarquee.scrollAmount;
        //mesdag.pmiMarquee.startAt=mesdag.pmiMarquee.newPosition;//is dus ook altijd 0
        
        //geeft foutmelding in nieuwste FF. waarom aan?
        //mesdag.pmiMarquee.start();
			//}
    }
    mesdag.centreer();
    !w.CimpleEditModus ? setTimeout(function() { mesdag.maakMarkeringHandler(); }, 100) : '';

    var eenElm = d.E("select_1093");
    eenElm ? eenElm.className = "init_" + eenElm[eenElm.selectedIndex].value : '';

    /*
    acties tbv betaling/icepay donatie formulier: twee post acties
    1) data
    2) betalingsverzoek, mits data opgeslagen
    */

    if (w.Verstuur) {

        //alert(Lokatie.Args.pagina);

        var veldBetaalMethode = d.E('_375');
        var orderid;
        var VerstuurReactieFunctieBackup = Verstuur.ReactieFunctie; //tbv icepay reactie

        Verstuur.ReactieFunctie = veldBetaalMethode ? function() {
            var betaalMethode = veldBetaalMethode.options[veldBetaalMethode.selectedIndex].text.split(' ');
            //alert("ReactieFunctie:" + Lokatie.Args.pagina + " veldBetaalMethode is aanwezig=" + !!veldBetaalMethode);
            orderid = this.Respons;
            if (isNaN(orderid)) {
                //uitgezet: reden undefined kan niet op live worden geproduceerd en gereproduceerd (test?)
                //alert("Het verzenden is vertraagd. Het order nummer kon niet direct worden bepaald. (" + orderid + ") ");
            }
            else {
                new IcepayOrder(orderid, parseInt(d.E('_402').value, 10), betaalMethode[0], betaalMethode[1]).maakHTTPVerzoek(function() {
                    VerstuurReactieFunctieBackup(); //vertelt wat er gaat gebeuren
                    location.href = this.Respons.vervang('&amp;', '&');   //ga naar icepay voor verdere afhandeling. respons retourneert url: REPLACE MOET NOG WEG WANT MOET CORRECT WORDEN AANGELEVERD!
                }).Start();
            }
        } : VerstuurReactieFunctieBackup;
    }
}
