﻿var aantalKopen = 1;

function Initialiseer(nummer, taalId) {
    Selecteer(nummer, 0, taalId, '', '', '');
   
}

function busyblock(selectie, taalid) {
    var txt = ""
    switch (taalid) {
        case 1:
        case 3:
            txt = "Artikel wordt aan winkelwagen toegevoegd...";
            break;
        case 2:
            txt = "Article added to cart..."
            break;
        case 4:
        case 5:
            txt = "L'article ajouté au panier ...";
            break;
        default:
    }
    $(selectie).block({
        message: '<table><tr><td><img src="' + $("#apppath").html() + '/images/loading.gif"/></td><td><h1>' + txt + '</h1></td></tr></table>',
        css: { width: '100%', height: '100%', backgroundColor: '#FFF', opacity: 0.7, border: '3px none #aaa' },
        overlayCSS: { backgroundColor: '#FFF', opacity: 0.6 }

    });
}

function Winkelwagen_WinkelwagenToevoegen(profileID, artnr, taalid, aantal, cb) {
    
    var url = $("#apppath").html() + "webservice/winkelwagen.asmx/WinkelwagenToevoegen";
    $.ajax({
        type: "POST",
        contentType: "application/x-www-form-urlencoded",
        data: "profileGuid=" + profileID + "&artikelNummer=" + artnr + "&taalid=" + taalid + "&aantal=" + aantal,
        url: url,
        dataType: "xml",
        success: cb
    }); 

    
}

function InWinkelwagenMetAantal(profileID, taalID, artikelnummer, aantal) {
    Winkelwagen_WinkelwagenToevoegen(profileID, artikelnummer, taalId, aantal, CallBackMijnWinkelWagen);
}

function InWinkelwagen(profileID, taalId) {
    //Artikel toevoegen en MijnWinkelwagenControl bijwerken
    var aantal = 1;
    busyblock(".productdetailpanel", taalId);
    Winkelwagen_WinkelwagenToevoegen(profileID, document.getElementById("artikelnummer").innerHTML, taalId, aantal, CallBackMijnWinkelWagen);
    if (aantalKopen > 1) {

        $("#actieToepassen").fancybox({ 'modal': true, 'scrolling': 'no' });

        $("#divActieToepassen img.ja").click(function() {
            Winkelwagen_WinkelwagenToevoegen(profileID, document.getElementById("artikelnummer").innerHTML, taalId, aantalKopen, CallBackMijnWinkelWagen);        
            $.fancybox.close();
        });
        $("#actieToepassen").trigger('click');

        //if (confirm(aantalKopen)) {
        //    aantal = aantalKopen;
        //}

    }
    
}

function InWinkelwagenByArtikelnummer(profileID, taalId, Artikelnummer) {
    //Artikel toevoegen en MijnWinkelwagenControl bijwerken
    busyblock(".productdetailpanel", taalId);
    Winkelwagen_WinkelwagenToevoegen(profileID, Artikelnummer, taalId, 1, CallBackMijnWinkelWagen);
}

function SnelBestellen(profileID, taalId) {
    //Artikel toevoegen en naar winkelwagen pagina
    Winkelwagen_WinkelwagenToevoegen(profileID, document.getElementById("artikelnummer").innerHTML, taalId, 1, CallBackInWinkelWagen);
}

function InWinkelwagenGroep(profileID, taalId, artikelnummer) {
    busyblock(".busy" + artikelnummer, taalId);
    Winkelwagen_WinkelwagenToevoegen(profileID, artikelnummer, taalId, $(".iba" + artikelnummer + " :selected").text(), CallBackMijnWinkelWagen);
}

function WijzigWinkelwagen(profileID, taalId) {


    var ga_id = 'winkelwagen_add/' + document.getElementById("artikelnummer").innerHTML + '/' + $(this).find("titel").text();
    TrackPageViewAction(ga_id);

    var url = $('#apppath').html() + '/webservice/winkelwagenhandler.ashx?profile=' + profileID + '&oud=' + $('#orgineelartikelnummer').html() + '&artikelnummer=' + document.getElementById("artikelnummer").innerHTML + '&taalid=' + taalId + '&aantal=1&cultureid=' + $("#cultureid").html();
    $.get(url, CallBackGaNaarWinkelWagen);
    //, CallBackGaNaarWinkelWagen);
    //originele artikel verwijderen, nieuw artikel toevoegen, overlay sluiten en winkelwagen herladen
    //Winkelwagen.WinkelwagenVerwijderen(profileID, $('#orgineelartikelnummer').html(), taalId)
    //Winkelwagen.WinkelwagenWijzigen(profileID, $('#orgineelartikelnummer').html(), document.getElementById("artikelnummer").innerHTML, taalId, 1, CallBackGaNaarWinkelWagen);
}

var blocking;
function InWagenOnderdeel(profileID, taalId, nummer, label) {

    blocking = "." + label + nummer;
    try {
        busyblock(blocking, taalId);
    }
    catch (e) { }

    Winkelwagen_WinkelwagenToevoegen(profileID, nummer, taalId, $("." + label + "a" + nummer + " :selected").text(), CallBackInWagenOnderdeel);
}

function CallBackInWagenOnderdeel(result) {

    GetContentMijnWinkelwagen();
    ShowDetailsMijnWinkelwagen();

    try {
        if (blocking != null) {
            $(blocking).unblock();
        }
    }
    catch (e) {
        // aanroep vanuit productinformatie scherm. Even alles herladen.
        window.location = result;
    }


    /* if (last_nummer != null) {
    Selecteer(last_nummer, last_gerelateerdArtNummer, last_taalId, last_kleur, last_afmeting, last_materiaal);
    }*/

}

function CallBackMijnWinkelWagen(result) {
    GetContentMijnWinkelwagen();
    ShowDetailsMijnWinkelwagen();
    $(".productpanelshop").unblock();
    $(".productdetailpanel").unblock();

    if (last_nummer != null) {
        Selecteer(last_nummer, last_gerelateerdArtNummer, last_taalId, last_kleur, last_afmeting, last_materiaal);
    }
}

function CallBackInWinkelWagen(result) {
    window.location = result;

}

function CallBackGaNaarWinkelWagen(result) {
    //TODO overlay sluiten?

    window.location = result;
}

function SelectOnGerelateerdArtikelNummer(gerelateerdArtikelNummer, taalId) {
    var kleur = $('.ddlKleur').val();
    var afmeting = $('.ddlAfmeting').val();
    var materiaal = $('.ddlMateriaal').val();

    if (kleur == null) {
        kleur = $('.lblKleur').html();
    }
    if (afmeting == null) {
        afmeting = $('.lblAfmetingen').html();
    }
    if (materiaal == null) {
        materiaal = $('.lblMateriaal').html();
    }
    Selecteer(0, gerelateerdArtikelNummer, taalId, kleur, afmeting, materiaal);
}


var last_nummer;
var last_gerelateerdArtNummer;
var last_taalId;
var last_kleur;
var last_afmeting;
var last_materiaal;

// De eerste keer dat de data geladen wordt, hoeft er niet getracked.
var firstload = true;

function Selecteer(nummer, gerelateerdArtNummer, taalId, kleur, afmeting, materiaal) {
    //variabele laten staan om interface webservice in tact te laten
    var inWebShop = false;

    last_nummer = nummer;
    last_gerelateerdArtNummer = gerelateerdArtNummer;
    last_taalId = taalId;
    last_kleur = kleur;
    last_afmeting = afmeting;
    last_materiaal = materiaal;

    var wsUrl = '';  //"http://localhost/LeenBakker/Website2009/webservice/Producten.asmx/GetProduct";
    try {
        wsUrl = document.getElementById("spanWsUrl").innerHTML;
    }
    catch (Error) {
        alert(Error);
        alert("Webservice url not found. Can't continue");
    }

    $.post(
        wsUrl,
        { artikelNummer: nummer, taalId: taalId, gerelateerdArtikelNummer: gerelateerdArtNummer, selectieAfmetingen: afmeting, selectieKleur: kleur, selectieMateriaal: materiaal, webShop: inWebShop },
        function (xml) {

            var protocol = document.location.protocol;

            if (nummer == 0) {
                nummer = $(xml).find('nummer:first').text();
            }

            //titel
            var titel;
            titel = $(xml).find("titel:first").text();
            document.getElementsByTagName("h1").item(0).innerHTML = titel;

            //productidentifyer tbv GA tracking
            document.getElementById("producttracking").innerHTML = nummer + '/' + titel;

            //pijlen niet tonen/verbergen indien kenmerkselectoren of pijl niet zichtbaar (geen gerelateerde producten)
            if ($('.ddlKleur').css("display") == "none" && $('.ddlAfmeting').css("display") == "none" && $('.ddlMateriaal').css("display") == "none" && $('#pnlFotoPijl' + nummer).length >= 1) {

                //pijl uitzetten bij vorige product
                if (document.getElementById("artikelnummer").innerHTML != 0) {
                    document.getElementById("pnlFotoPijl" + document.getElementById("artikelnummer").innerHTML).className = "productdetail_fotopijl";
                }

                //pijl bij geselecteerd product aanzetten
                document.getElementById("pnlFotoPijl" + nummer).className = "productdetail_fotopijl_actief";
            }

            //artikelnummer vullen met huidig artikelnummer
            document.getElementById("artikelnummer").innerHTML = nummer;
            $("#artikelnummer").data("navigatieUrl", $(xml).find("navigatieUrl:first").text());
            // Even deze virtuele pageview in google tracken.

            if (!firstload) {
                TrackPageViewAction($(xml).find("navigatieUrl:first").text());
            }
            else {
                //verlanglijstje
                try {
                    $(".lbInverlanglijstje").click(
                    function () {
                        TrackPageViewAction('verlanglijstje/' + $("#producttracking").text());
                        var url = $('#apppath').text() + '/webservice/verlanglijstjehandler.ashx?action=add&artikelnummer=' + $('#artikelnummer').text() + '&taalid=' + taalId;

                        $.get(url, function (data) {
                            // Laad het artikel opnieuw in.
                            document.location = $("#artikelnummer").data("navigatieUrl");
                        });

                        return true;
                    }
                );
                }
                catch (Error) { }
            }
            // firstload = false;

            //afbeelding
            document.getElementById("imgFotoproduct").src = $(xml).find("fotoM:first").text().replace("http:", protocol);

            //$("#imgFotoproduct").load(function () { alert($(this).height()); });

            $("#imgFotoproduct") //Hide it
                                        .bind('load', function () { //Set something to run when it finishes loading
                                            $(".jqzoom").parent().css('width', $(".jqzoom img").css('width'));
                                        }).each(function () {
                                            //Cache fix for browsers that don't trigger .load()
                                            if (this.complete) $(this).trigger('load');
                                        });

            //                                var i = -44 + 180 - $(this).height();
            //                                var options = {
            //                                    zoomWidth: 300, //477,
            //                                    zoomHeight: 300, //314,
            //                                    xOffset: 60,
            //                                    yOffset: i,
            //                                    title: false,
            //                                    position: "right" //and MORE OPTIONS
            //                                };
            //                                $(".jqzoom").jqzoom(options);
            //                               // alert('x');
            //                            })
            //                            .attr('src', $(xml).find("fotoM:first").text().replace("http:", protocol)) //Set the source so it begins fetching
            //                            

            //$("#imgFotoproduct").attr('src', $(xml).find("fotoM:first").text().replace("http:", protocol));

            if ($(xml).find("fotoL:first").text() != "") {
                try {
                    if ($(xml).find("fotoXL:first").text() != '')
                        document.getElementById("lnkFotoGroot").href = $(xml).find("fotoXL:first").text();
                    else
                        document.getElementById("lnkFotoGroot").href = $(xml).find("fotoL:first").text(); // +"?KeepThis=true&TB_iframe=true&height=600&width=800";
                    $("a#lnkFotoGroot").fancybox({ 'scrolling': 'no', 'titleShow': false, 'onComplete': function () { TrackPageViewAction('grotefoto/' + $("#producttracking").text()); } });
                    document.getElementById("panVergroten").style.display = "block";


                    $(".jqzoom").unbind();
                    if ($(xml).find("fotoXL:first").text() != '') {


                        $(".jqzoom").attr('href', $(xml).find("fotoXL:first").text());

                        var i = $('#lbmaster_wrapper').attr('offsetLeft');
                        //if (firstload) {
                        var options = {
                            zoomWidth: 477,
                            zoomHeight: 314,
                            xOffset: 279,
                            yOffset: i + 490,
                            title: false,
                            position: "absolute" //and MORE OPTIONS
                        };
                        $(".jqzoom").jqzoom(options);

                        // ihg dat er een resize plaats vindt, opnieuw de jqzoom instellen.
                        $(window).resize(debouncer(function () {
                            $(".jqzoom").unbind();
                            var i2 = $('#lbmaster_wrapper').attr('offsetLeft');
//                            $(".jqzoom").attr('href', src);
                            var options = {
                                zoomWidth: 477,
                                zoomHeight: 314,
                                xOffset: 279,
                                yOffset: i2 + 490,
                                title: false,
                                position: "absolute" //and MORE OPTIONS
                            };
                            $(".jqzoom").jqzoom(options);
                        }));


                    }
                    else {
                        $(".jqzoom").attr('href', $(xml).find("fotoL:first").text())
                        $(".jqzoom").fancybox({ 'scrolling': 'no', 'titleShow': false, 'onComplete': function () { TrackPageViewAction('grotefoto/' + $("#producttracking").text()); } });
                    }

                }
                catch (Error) { }


            }
            else {
                //geen grote foto, dan geen vergrootglas
                $("#panVergroten").hide();
            }
            //            if (firstload) {
            //                $(".jqzoom").unbind();
            //                var options = {
            //                    zoomWidth: 477,
            //                    zoomHeight: 314,
            //                    xOffset: 60,
            //                    yOffset: -44,
            //                    title: false,
            //                    position: "right" //and MORE OPTIONS
            //                };
            //                $(".jqzoom").jqzoom(options);
            //            }


            firstload = false;


            //actielogo
            if ($(xml).find("actielogo:first").text() != "") {
                document.getElementById("imgActieLogo").src = $(xml).find("actielogo:first").text().replace("http:", protocol); ;
                document.getElementById("imgActieLogo").alt = $(xml).find("actielogotitel:first").text();
                document.getElementById("imgActieLogo").style.display = "block";
            }
            else {
                document.getElementById("imgActieLogo").style.display = "none";
            }
            aantalKopen = $(xml).find("actielogoAantal:first").text();
            if (aantalKopen > 1) {
                //actielogo
                //$("#divActieToepassen img.imgActieLogo").attr('src', $(xml).find("actielogo:first").text().replace("http:", protocol));
                $("#divActieToepassen img.imgProduct").attr('src', $(xml).find("fotoS:first").text().replace("http:", protocol));
                $("#divActieToepassen h3").html($(xml).find("actielogotitel:first").text())
                $("#divActieToepassen .actie").html($(xml).find("actielogotitel:first").text())
            }



            //kenmerken tonen
            if ($(xml).find("kleur:first").text() != "" && $('.ddlKleur').css("display") == "none") {
                $('.lblKleur').html($(xml).find("kleur:first").text());
                $('.lblKleur').show();
            }
            else {
                $('.lblKleur').hide();
            }
            if ($(xml).find("materiaal:first").text() != "" && $('.ddlMateriaal').css("display") == "none") {
                $('.lblMateriaal').html($(xml).find("materiaal:first").text());
                $('.lblMateriaal').show();
            }
            else {
                $('.lblMateriaal').hide();
            }
            if ($(xml).find("afmetingen:first").text() != "" && $('.ddlAfmeting').css("display") == "none") {
                $('.lblAfmetingen').html($(xml).find("afmetingen:first").text());
                $('.lblAfmetingen').show();
            }
            else {
                $('.lblAfmetingen').hide();
            }
            //debugger;

            //prijs tonen
            //prijs alleen tonen indien gevuld
            if ($(xml).find("prijs:first").text() != "0,00") {

                $("#lblPrijs").html(b2euro + ' ' + $(xml).find("prijs:first").text().replace(/,00/, ",-"));
                $("#lblPrijs").css("display", "inline");

            }
            else {
                $("#lblPrijs").css("display", "none");
            }

            //aanbiedingsprijs tonen indien gevuld en afwijkend van prijs
            if ($(xml).find("streepprijs:first").text() != "0,00") {

                $("#lblStreepprijs").html(b2euro + ' ' + $(xml).find("streepprijs:first").text().replace(/,00/, ",-") + "<br>");
                $("#lblStreepprijs").css("display", "inline");
            }
            else {
                $("#lblStreepprijs").css("display", "none");

            }



            //Online verkrijgbaar? (wordt gebruikt in productdetail en productinformatie paginas)
            if ($("#pnlMijnWinkelwagen").length > 0 || $("#ctl00_cph1_panProduct").length > 0) {
                if ($(xml).find("niet:first").text() == "true" && $(xml).find("online:first").text().toLowerCase() == "true") {
                    $("#divInWinkelwagen").hide();
                    $("#divTijdelijkNiet").show();
                    $("#divZoekFiliaal").hide();
                }
                else if ($(xml).find("online:first").text().toLowerCase() == "true") {
                    $("#divInWinkelwagen").show();
                    // GA log
                    $("#divInWinkelwagen").click(
                        function () {
                            TrackPageViewAction('winkelwagen_add/' + $("#producttracking").text());
                            return true;
                        });
                    $("#divTijdelijkNiet").hide();
                    $("#divZoekFiliaal").hide();
                    //    debugger;
                    // Online verkrijgbaar en dat willen we tracken!
                    if (_gaq != undefined) {
                        _gaq.push(['_setCustomVar', 1, 'Online te koop', '1', 2]);
                    }
                }
                else {
                    $("#divInWinkelwagen").hide();
                    $("#divTijdelijkNiet").hide();
                    $("#divZoekFiliaal").show();
                }
            }
            else {
                $("#divInWinkelwagen").hide();
                $("#divTijdelijkNiet").hide();
                $("#divZoekFiliaal").hide();
            }

            //Tabje Info openen bij wijzigen artikel
            SelecteerTab('Info');

            //Extra omschrijving tonen op tabje info
            document.getElementById("lblTekst").innerHTML = $(xml).find("tekst:first").text();

            //Onderhoudsvoorschriften
            if ($(xml).find("voorschrift:first").text() == "") {
                $("#divOnderhoud").hide();
            }
            else {
                $("#divOnderhoud").show();
                $("#lblOnderhoud").html($(xml).find("voorschrift:first").text());
            }

            var logos = $(xml).find("logos:first").text().split("|");
            var logoimages = "";
            for (i = 0; i < logos.length; i++) {
                if (logos[i] != "") {
                    logoimages = logoimages + "<img src='" + logos[i] + "' />&nbsp;";
                }
            }
            if (logoimages != "") {
                document.getElementById("lblLogos").innerHTML = "<br/><br/>" + logoimages;
            }
            else {
                document.getElementById("lblLogos").innerHTML = "";
            }

            if ($(xml).find("Bijpassend").text() == "") {
                //tabje Bijpassend verbergen indien er geen bijpassende producten zijn
                $(".panTabBijpassend").hide();
            }
            else {
                $(".panTabBijpassend").show();

                //alle vervolgpanels met Woonprogrammas verwijderen voor inlezen artikel
                $(".bijpassendvervolg").remove();

                //doorloop alle Woonprogrammas in xml
                $(xml).find("Bijpassend > XmlProduct").each(function () {

                    var htmlId = "bb" + $(this).find("nummer").text();
                    var nummer = $(this).find("nummer").text();

                    //alert(htmlId);

                    $("#panBijpassendItem").clone().insertBefore("#panBijpassendItem").attr("id", htmlId);

                    $("#" + htmlId).addClass(htmlId);
                    $("#" + htmlId).addClass("bijpassendvervolg");
                    $("#" + htmlId).css("display", "block");
                    //alert($(".xx .xxx").attr("id"));

                    $("." + htmlId + " .imgBijpassend").attr("src", $(this).find("fotoS").text());
                    $("." + htmlId + " .lblBijpassendMateriaal").html($(this).find("materiaal").text());
                    $("." + htmlId + " .lblBijpassendMateriaal").css("display", "block");
                    $("." + htmlId + " .lblBijpassendKleur").html($(this).find("kleur").text());
                    $("." + htmlId + " .lblBijpassendKleur").css("display", "block");
                    $("." + htmlId + " .lblBijpassendAfmetingen").html($(this).find("afmetingen").text());
                    $("." + htmlId + " .lblBijpassendAfmetingen").css("display", "block");
                    $("." + htmlId + " .hlProductTitelBijpassend").html($(this).find("titel").text());
                    $("." + htmlId + " .hlProductTitelBijpassend").attr("href", $(this).find("navigatieUrl:first").text());
                    $("." + htmlId + " .lnkBijpassendMeer").attr("href", $(this).find("navigatieUrl:first").text());
                    $("." + htmlId + " .lnkProductFotoBijpassend").attr("href", $(this).find("navigatieUrl:first").text());

                    //TODO Prijzen tonen + functionaliteit knoppen koppelen, zie code onderdelen hieronder
                    //prijs tonen
                    //aanbiedingsprijs alleen tonen indien gevuld

                    //prijs tonen
                    //prijs alleen tonen indien gevuld
                    if ($(this).find("prijs:first").text() != "0,00") {

                        $("." + htmlId + " .lblBijpassendPrijs").html(b2euro + ' ' + $(this).find("prijs").text().replace(/,00/, ",-"));
                        $("." + htmlId + " .lblBijpassendPrijs").css("display", "inline");

                    }
                    else {
                        $("." + htmlId + " .lblBijpassendPrijs").css("display", "none");
                    }

                    //aanbiedingsprijs tonen indien gevuld en afwijkend van prijs
                    if ($(this).find("streepprijs:first").text() != "0,00") {

                        $("." + htmlId + " .lblBijpassendStreepprijs").html(b2euro + ' ' + $(this).find("streepprijs").text().replace(/,00/, ",-"));
                        $("." + htmlId + " .lblBijpassendStreepprijs").css("display", "inline");
                    }
                    else {
                        $("." + htmlId + " .lblBijpassendStreepprijs").css("display", "none");

                    }


                    //geef select voor aantal een class, zodat aantal uitgelezen kan worden
                    $("." + htmlId + " .selAantalBijpassend").addClass("bba" + nummer);

                    if ($(this).find("online").text().toLowerCase() == "false") {
                        //artikel niet online verkrijgbaar
                        $("." + htmlId + " .panBijpassendAantal").css("display", "none");
                        $("." + htmlId + " .panBijpassendInShop").css("display", "none");
                    }
                    else {
                        if ($(this).find("niet").text().toLowerCase() == "true") {
                            //tijdelijk niet verkrijgbaar
                            $("." + htmlId + " .panNietleverbaarknopBijpassend").css("display", "block");
                            $("." + htmlId + " .panBijpassendAantal").css("display", "none");
                            $("." + htmlId + " .panBijpassendInShop").css("display", "none");
                        }
                        else {
                            $("." + htmlId + " .panBijpassendAantal").css("display", "block");
                            $("." + htmlId + " .panWinkelknopBijpassend").css("display", "block");
                            $("." + htmlId + " .panBijpassendInShop").css("display", "none");

                            //dit werkt niet $("." + htmlId).attr("onclick", InWagenOnderdeelWithOutParam);
                            //De functie InWagenOnderdeelWithOutParam wordt vooraf al toegekend.
                            //Dit werkt voor geen meter in FireFox!

                            $("." + htmlId + " .imgWinkelknopBijpassend").data("nummer", nummer);
                            $("." + htmlId + " .imgWinkelknopBijpassend").data("answer", document.getElementById("answer").innerHTML);

                        }
                    }

                    $("#panBijpassendItem").css("display", "none");

                    $(".imgWinkelknopBijpassend").each(function () {
                        //alert('x');
                        this.onclick = InWagenBijpassendWithOutParam;
                    });

                })
            }



            //Tabje Sets bijwerken
            if ($(xml).find("Sets").text() == "") {
                //tabje Sets verbergen
                $('.panTabSets').hide();
            }
            else {
                $('.panTabSets').show();
                var vervolgSet = false;
                //alle vervolgpanels met sets verwijderen voor inlezen artikel
                $(".setproductdetailpanelborder").remove();

                //doorloop alle sets in xml
                $(xml).find("Sets > XmlProduct").each(function () {
                    if (vervolgSet) {
                        //bij meer dan 1 set een clone maken en voorzien van bovenrand
                        $("#panSet").clone().insertAfter("#panSet");
                        document.getElementById("panSet").className = "setproductdetailpanelborder";
                    }
                    document.getElementById("lblSetTitel").innerHTML = "<h3>" + $(this).find("titel").text() + "</h3>";
                    document.getElementById("lblSetMateriaal").innerHTML = $(this).find("materiaal").text();
                    document.getElementById("lblSetMateriaal").style.display = "block";
                    document.getElementById("lblSetKleur").innerHTML = $(this).find("kleur").text();
                    document.getElementById("lblSetKleur").style.display = "block";
                    document.getElementById("lblSetAfmetingen").innerHTML = $(this).find("afmetingen").text();
                    document.getElementById("lblSetAfmetingen").style.display = "block";
                    document.getElementById("imgSetFotoproduct").src = $(this).find("fotoM").text().replace("http:", protocol);
                    document.getElementById("lnkMeer").href = $(this).find("navigatieUrl:first").text();
                    document.getElementById("lnkMeer2").href = $(this).find("navigatieUrl:first").text();

                    //debugger;

                    //prijs tonen
                    //prijs alleen tonen indien gevuld
                    if ($(this).find("prijs:first").text() != "0,00") {

                        $("#lblSetPrijs").html(b2euro + ' ' + $(this).find("prijs").text().replace(/,00/, ",-"));
                        $("#lblSetPrijs").css("display", "inline");

                    }
                    else {
                        $("#lblSetPrijs").css("display", "none");
                    }

                    //aanbiedingsprijs tonen indien gevuld en afwijkend van prijs
                    if ($(this).find("streepprijs:first").text() != "0,00") {

                        $("#lblSetStreepprijs").html(b2euro + ' ' + $(this).find("streepprijs").text().replace(/,00/, ",-"));
                        $("#lblSetStreepprijs").css("display", "inline");
                    }
                    else {
                        $("#lblSetStreepprijs").css("display", "none");

                    }

                    //actielogo
                    if ($(this).find("actielogo").text() != "") {
                        document.getElementById("imgSetActieLogo").src = $(this).find("actielogo").text().replace("http:", protocol); ;
                        document.getElementById("imgSetActieLogo").alt = $(this).find("actielogotitel").text();
                        document.getElementById("imgSetActieLogo").style.display = "block";
                    }
                    else {
                        document.getElementById("imgSetActieLogo").style.display = "none";
                    }

                    vervolgSet = true;
                })
            }

            //Onderdelen combi
            if ($(xml).find("Onderdelen").text() == "") {
                //overzicht onderdelen verbergen
                document.getElementById("panSetOverzicht").style.display = "none";
            }
            else {

                var vervolgSet = false;
                //alle vervolgpanels met onderdelen verwijderen voor inlezen artikel
                $(".vervolgonderdeel").remove();


                $(xml).find("Onderdelen > XmlProduct").each(function () {


                    var htmlId = "ib" + $(this).find("nummer").text();
                    var nummer = $(this).find("nummer").text();


                    //alert(htmlId);

                    $("#panOnderdelen").clone().insertBefore("#panOnderdelen").attr("id", htmlId);

                    $("#" + htmlId).addClass(htmlId);
                    $("#" + htmlId).addClass("vervolgonderdeel");
                    $("#" + htmlId).css("display", "block");
                    //alert($(".xx .xxx").attr("id"));

                    $("." + htmlId + " .imgOnderdeel").attr("src", $(this).find("fotoS").text());
                    $("." + htmlId + " .lblOnderdeelMateriaal").html($(this).find("materiaal").text());
                    $("." + htmlId + " .lblOnderdeelMateriaal").css("display", "block");
                    $("." + htmlId + " .lblOnderdeelKleur").html($(this).find("kleur").text());
                    $("." + htmlId + " .lblOnderdeelKleur").css("display", "block");
                    $("." + htmlId + " .lblOnderdeelAfmetingen").html($(this).find("afmetingen").text());
                    $("." + htmlId + " .lblOnderdeelAfmetingen").css("display", "block");
                    $("." + htmlId + " .hlProductTitel").html($(this).find("titel").text());
                    $("." + htmlId + " .hlProductTitel").attr("href", $(this).find("navigatieUrl:first").text());
                    $("." + htmlId + " .lnkOnderdeelMeer").attr("href", $(this).find("navigatieUrl:first").text());
                    $("." + htmlId + " .lnkProductFoto").attr("href", $(this).find("navigatieUrl:first").text());

                    //prijs tonen
                    //prijs alleen tonen indien gevuld

                    if ($(this).find("prijs").text() != "0,00") {

                        $("." + htmlId + " .lblprijs").html(b2euro + ' ' + $(this).find("prijs").text().replace(/,00/, ",-"));
                        $("." + htmlId + " .lblprijs").css("display", "inline");

                    }
                    else {
                        $("." + htmlId + " .lblprijs").css("display", "none");
                    }



                    //aanbiedingsprijs tonen indien gevuld en afwijkend van prijs
                    if ($(this).find("streepprijs").text() != "0,00") {

                        $("." + htmlId + " .lblstreepprijs").html(b2euro + ' ' + $(this).find("streepprijs").text().replace(/,00/, ",-"));
                        $("." + htmlId + " .lblstreepprijs").css("display", "inline");
                    }
                    else {
                        $("." + htmlId + " .lblstreepprijs").css("display", "none");

                    }


                    //geef select voor aantal een class, zodat aantal uitgelezen kan worden
                    $("." + htmlId + " .selAantal").addClass("iba" + nummer);

                    if ($(this).find("online").text().toLowerCase() == "false") {
                        //artikel niet online verkrijgbaar
                        $("." + htmlId + " .panOnderdeelAantal").css("display", "none");
                        $("." + htmlId + " .panOnderdeelInShop").css("display", "none");
                    }
                    else {
                        if ($(this).find("niet").text().toLowerCase() == "true") {
                            //tijdelijk niet verkrijgbaar
                            $("." + htmlId + " .panNietleverbaarknop").css("display", "block");
                            $("." + htmlId + " .panOnderdeelAantal").css("display", "none");
                            $("." + htmlId + " .panOnderdeelInShop").css("display", "none");
                        }
                        else {
                            $("." + htmlId + " .panOnderdeelAantal").css("display", "block");
                            $("." + htmlId + " .panWinkelknop").css("display", "block");
                            $("." + htmlId + " .panOnderdeelInShop").css("display", "none");



                            //dit werkt niet $("." + htmlId).attr("onclick", InWagenOnderdeelWithOutParam);
                            //De functie InWagenOnderdeelWithOutParam wordt vooraf al toegekend.
                            //Dit werkt voor geen meter in FireFox!

                            $("." + htmlId + " .imgWinkelknop").data("nummer", nummer);
                            $("." + htmlId + " .imgWinkelknop").data("answer", document.getElementById("answer").innerHTML);

                        }
                    }

                    document.getElementById("panSetOverzicht").style.display = "block";

                    vervolgSet = true;
                });

                $("#panOnderdelen").css("display", "none");

                $(".imgWinkelknop").each(function () {
                    //alert('x');
                    this.onclick = InWagenOnderdeelWithOutParam;
                });


            }



        }, 'xml'
    );

}

function InWagenBijpassendWithOutParam() {
    InWagenOnderdeel($(this).data("answer"), parseInt($("#taalid").html()), $(this).data("nummer"), "bb");
}

function InWagenOnderdeelWithOutParam() {
    InWagenOnderdeel($(this).data("answer"), parseInt($("#taalid").html()), $(this).data("nummer"), "ib");
}

function SelecteerTab(naam) {
    if (naam != "Info" && $('.panTabInfo').length) {
        //Info tabje uitzetten
        document.getElementById("divInfo").style.display = "none";
        document.getElementById("tablinksInfo").className = "tab_inactief_links";
        document.getElementById("tabInfo").className = "tab_inactief";
        document.getElementById("lbTabInfo").className = "tabtitel_inactief";
        document.getElementById("tabrechtsInfo").className = "tab_inactief_rechts";
    }
    if (naam != "Bijpassend" && $('.panTabBijpassend').length) {
        //Bijpassend tabje uitzetten
        document.getElementById("divBijpassend").style.display = "none";
        document.getElementById("tablinksBijpassend").className = "tab_inactief_links";
        document.getElementById("tabBijpassend").className = "tab_inactief";
        document.getElementById("lbTabBijpassend").className = "tabtitel_inactief";
        document.getElementById("tabrechtsBijpassend").className = "tab_inactief_rechts";
    }
    if (naam != "Sets" && $('.panTabSets').length) {
        //Sets tabje uitzetten
        document.getElementById("divSets").style.display = "none";
        document.getElementById("tablinksSets").className = "tab_inactief_links";
        document.getElementById("tabSets").className = "tab_inactief";
        document.getElementById("lbTabSets").className = "tabtitel_inactief";
        document.getElementById("tabrechtsSets").className = "tab_inactief_rechts";
    }

    //Gekozen tabje aanzetten
    document.getElementById("div" + naam).style.display = "block";

    // Hack ivm IE6 issue. 
    // Zonder hack is layout slecht...
    if (naam == "Bijpassend" && $.browser.msie && $.browser.version <= 6) {

        if ($(".bijpassendpanel").length == 2) {

            $(".pnSubcategorie_empty").css('height', '1px');

        }
        else {
            $(".pnSubcategorie_empty").css('display', 'none');
        }
    }
    else {
        $(".pnSubcategorie_empty").css('display', 'none');
    }
    // Einde hack

    document.getElementById("tablinks" + naam).className = "tab_actief_links";
    document.getElementById("tab" + naam).className = "tab_actief";
    document.getElementById("lbTab" + naam).className = "tabtitel_actief";
    document.getElementById("tabrechts" + naam).className = "tab_actief_rechts";
}

function GetContentMijnWinkelwagen() {
    var url = $("#apppath").text() + "/webservice/datahandler.ashx";
    $.getJSON(url + "?actie=winkelwagen", "dummy", ShowContentMijnWinkelwagen);
}

function ShowContentMijnWinkelwagen(result) {

    var aantal = result.VerschillendeArtikelen;
    $('#lbMijnWinkelwagenAantal').text(' (' + result.AantalArtikelen + ')');
    $('#lbMijnWinkelwagenBedrag').text(result.BedragArtikelen);

    $('.winkelwagenaantal').text(result.AantalArtikelen);
    $(".WWvervolg").remove();
    if (aantal == 0) {
        HideDetailsMijnWinkelwagen();
        $('#MijnWinkelwagenToonDetailsLink').hide();
        $('.MijnWinkelwagenBestellen').hide();
    }
    if (aantal > 0) {
        var vervolg = false;

        //$(".WWvervolg").remove();

        $('.MijnWinkelwagenBestellen').show();

        for (i = 0; i <= aantal - 1; i++) {

            var htmlId = "mwib" + result.Artikelen[i].ArtikelData.Artikelnummer;

            //if (vervolg) {
            //bij meer dan 1 Artikel een clone maken
            $("#pnlWWArtikel").clone().insertBefore("#pnlWWArtikel").attr("id", htmlId);
            //document.getElementById("pnlWWArtikel").className = "";
            //}

            $("#" + htmlId).addClass(htmlId);
            $("#" + htmlId).addClass("WWvervolg");
            $("#" + htmlId).css("display", "block");

            $('.' + htmlId + ' .imgWWArtikelFoto').attr("src", result.Artikelen[i].ArtikelData.Afbeelding);
            var patt = new RegExp("Landscape");
            if (patt.test(result.Artikelen[i].ArtikelData.Afbeelding)) {
                $('.' + htmlId + ' .imgWWArtikelFoto').attr("style", "width:50px;");
            }
            else {
                $('.' + htmlId + ' .imgWWArtikelFoto').attr("style", "height:40px;");
            }
            $('.' + htmlId + ' .lbWWArtikelInfo').html(result.Artikelen[i].ArtikelData.Aantal + "x " + result.Artikelen[i].ArtikelData.Naam + "<br/>" + result.Artikelen[i].TotaalPrijs);

            $('.' + htmlId + ' .btnWWArtikelVerwijderen').data("nummer", result.Artikelen[i].ArtikelData.Artikelnummer);

            vervolg = true;
        }

        $(".btnWWArtikelVerwijderen").each(function () {
            //alert('x');
            this.onclick = VerwijderMijnWinkelwagen;
        });
    }
}

function VerwijderMijnWinkelwagen() {
    //debugger;
    var url = $("#apppath").text() + "/webservice/datahandler.ashx";
    var nummer = $(this).data("nummer");

    // De string "dummy" dient als dummy data... op de een of andere manier wordt de callback anders als data gezien....
    $.getJSON(url + "?actie=verwijder&artikel=" + nummer, "dummy", ShowContentMijnWinkelwagen);
}

function ShowDetailsMijnWinkelwagen() {

    //$('.MijnWinkelwagenArtikelenPanel').show();
    $('.dropdown').show();
    $('#MijnWinkelwagenToonDetailsLink').hide();
    $('#MijnWinkelwagenVerbergDetailsLink').show();
}

function HideDetailsMijnWinkelwagen() {
    //$('.MijnWinkelwagenArtikelenPanel').hide();
    $('.dropdown').hide();
    $('#MijnWinkelwagenToonDetailsLink').show();
    $('#MijnWinkelwagenVerbergDetailsLink').hide();
}
            

//$(document).ready(function(){
// 
//                        var options = {
//                            zoomWidth: 477,
//                            zoomHeight: 314,
//                            xOffset: 60,
//                            yOffset: -44,
//                            title: false,
//                            position: "right" //and MORE OPTIONS
//                        };
//                        if( $(".jqzoom").jqzoom) $(".jqzoom").jqzoom(options);
//});


function debouncer(func, timeout) {
    var timeoutID, timeout = timeout || 200;
    return function () {
        var scope = this, args = arguments;
        clearTimeout(timeoutID);
        timeoutID = setTimeout(function () {
            func.apply(scope, Array.prototype.slice.call(args));
        }, timeout);
    }
}
