﻿var totaal = 0;
var subtotaal = 0;
var AantalArtikelen = 0;
var verwijderingsbijdrage = 0;
var Bezorgkosten = 0;
function renderBasket(Result) {
    totaal = 0;
    subtotaal = 0;
    AantalArtikelen = 0;
    verwijderingsbijdrage = 0;
    var BasketData = JSON.parse(Result);
    var BasketHTML = '';
    BasketHTML += '<div class="DojoTop" style="display: block;">'
    BasketHTML += '<div class="DojoShade">';
    BasketHTML += '<center>';     
    BasketHTML += '<div class="Basket">';
    BasketHTML += '<div class="DojoTitle">';
    BasketHTML += '<div class="DojoTitle2">Winkelwagen overzicht</div>';
    BasketHTML += '<div class="DojoClose">';
    BasketHTML += '<a id="ctl00_Basket1_Close1" href="javascript:ClearBasket();"><img class="CloseImage" src="/images/close.gif" alt="" Border="0" align="middle" /></a></div>';
    BasketHTML += '</div>';
    BasketHTML += '<div class="BasketContent">';
    if (BasketData.length == 0) {
        BasketHTML += EmptyBasket();
        $get('ctl00_shoppingbasket1_lnkBekijkWinkelwagen').className = "emptybasket";
    }
    else {
        Bezorgkosten = BasketData[0].BezorgKosten;
        BasketHTML += BuildBasket(BasketData);
        $get('ctl00_shoppingbasket1_lnkBekijkWinkelwagen').className = "fullbasket";
    }
    BasketHTML += '<div class="BasketButtons"><span class="OuterVerderWinkelen"><a class="ButtonVerderWinkelen" href="javascript:ClearBasket();"><img src="/images/blueSquare.gif" border="0" alt=""  />&nbsp;&nbsp;Verder winkelen</a></span>';
    if (BasketData.length > 0) {
        BasketHTML += '<a href="/checkout/leverwijze/" id="btnBestellen" class="ButtonAddToCart">Naar bestellen&nbsp;&nbsp;<img src="/images/buttons/white-arrow.png" border="0" alt=""  /></a>';
    }
    BasketHTML += '</div></div>';
    BasketHTML += '</div>';
    BasketHTML += '<div style="clear: both; height: 0px; line-height:0px"></div>';
    BasketHTML += '</div>';
    BasketHTML += '</center>';
    BasketHTML += '</div>';
    BasketHTML += '</div>';

    $get('ctl00_shoppingbasket1_lblTotaalPrijs').innerHTML = FormatPrijs(totaal);
    $get('ctl00_shoppingbasket1_lblItems').innerHTML = AantalArtikelen;
    $get('Basket').innerHTML = BasketHTML;
    scrollToTop();
    var Korting = '';
    if (BasketData.length > 0) {
        Korting = BasketData[0].Korting;
    }
}

function ClearBasket() {
    $get('Basket').innerHTML = '';
}

function showbasket() {
    $get('BestelDiv').style.display = 'block';
}

function EmptyBasket() {
    var BasketHTML = '';
    BasketHTML += '<div class="BasketTitle">Er bevinden zich geen artikelen in je winkelwagen</div>';
    BasketHTML += '<div class="">';
    
    return BasketHTML;
}

function getBasket() {
    ret = IMpactProtoType.WebUI.svcBasket.GetBasket(renderBasket,onError,onError)
}

function InCrease(Item) {
    var value = $get(Item).value;
    value = parseInt(value) + 1;
    if (value < 100 && value > 0) {
        $get(Item).value = value;
        setTimeout('__doPostBack(\'' + $get(Item).name + '\',\'\')', 0);
    }
}

function DeCrease(Item) {
    var value = $get(Item).value;
    value = parseInt(value) - 1;
    if (value < 100 && value > 0) {
        $get(Item).value = value;
        setTimeout('__doPostBack(\'' + $get(Item).name + '\',\'\')', 0);
    }
}

function UpdateAantal(Id, Aantal) {
    if (Aantal > 0 && Aantal < 100) {
        ret = IMpactProtoType.WebUI.svcBasket.UpdateAantal(Id, Aantal, renderBasket, onError, onError);
    }
}

function BuildBasket(BasketData) {
    var BasketHTML = '';
    BasketHTML += '<div class="BasketTitle">Je hebt de volgende artikelen in je winkelwagen</div>';
    BasketHTML += '<div class="">';
    BasketHTML += BasketHeader();
    for (i = 0; i < BasketData.length; i++) {
        AantalArtikelen += BasketData[i].Aantal;
        subtotaal += BasketData[i].Aantal * BasketData[i].Prijs;
        verwijderingsbijdrage += BasketData[i].Verwijderingsbijdrage * BasketData[i].Aantal;
        if (BasketData[i].MainArtikel.length == 0) {
        BasketHTML += '<div class="BasketRow">'
        BasketHTML += '<div class="ProdImage"><img src="' + BasketData[i].ImageURL + '" style="border-width: 0px; height: 36px; width: 36px;"></div>';
        BasketHTML += '<div class="Artikel">';
        BasketHTML += '<span >' + BasketData[i].Merk + '</span><span> '+ BasketData[i].Typenummer + '</span><span> ' + BasketData[i].Omschrijving + '</span>';
        BasketHTML += '<br><span class="Levertijd">Levertijd:&nbsp;</span>' + BasketData[i].Beschikbaarheid;
        BasketHTML += '</div>';
        BasketHTML += '<div class="Prijs">&euro;&nbsp;<span>' + FormatPrijs(BasketData[i].Prijs) + '</span></div>';
        BasketHTML += '<div class="Aantal">';
        BasketHTML += '<div class="RadInput RadInput_Default" style="display: -moz-inline-stack; width: 40px; height: 20px;">';
        BasketHTML += '<table class="riTable" style="border-width: 0pt; border-collapse: collapse; width: 40px;" cellpadding="0" cellspacing="0">';
		BasketHTML += '<tbody><tr>';
		BasketHTML += '<td class="riSpin"><a class="riUp" href="javascript:void(0)" onClick="InCrease(\'Item' + BasketData[i].Id + '\',' + BasketData[i].Id + ');"><span>Spin Up</span></a><a class="riDown" href="javascript:void(0)" onClick="DeCrease(\'Item' + BasketData[i].Id + '\',' + BasketData[i].Id + ');"><span>Spin Down</span></a></td><td class="riCell" style="width: 100%; white-space: nowrap;"><input onChange="UpdateAantal(' + BasketData[i].Id + ',this.value);" value="' + BasketData[i].Aantal + '" id="Item' + BasketData[i].Id + '" class="riTextBox riEnabled" style="width: 100%;" type="text"></td>';
        BasketHTML += '</tr>';
	    BasketHTML += '</tbody></table>';
        BasketHTML += '</div>';
        BasketHTML += '</div>';
        BasketHTML += '<div class="SubTotaal">&euro;&nbsp;<span>' + FormatPrijs((BasketData[i].Prijs * BasketData[i].Aantal)) + '</span></div>';
        BasketHTML += '<div class="Korting"><span></span></div>';
        BasketHTML += '<div class="TotaalPrijs">&euro;&nbsp;<span>' + FormatPrijs((BasketData[i].Prijs * BasketData[i].Aantal)) + '</span></div>';
        BasketHTML += '<div class="Delete"><a href="#" onClick="DeleteFromBasket(' + BasketData[i].Id + ');" onmouseover="Tip(\'Klik hier om de ' + BasketData[i].Merk + ' ' + BasketData[i].Typenummer + ' ' + BasketData[i].Omschrijving + ' uit uw bestelling te verwijderen\',  FADEIN, 400, FADEOUT, 600,BALLOONIMGPATH, \'/images/balloon-blue\')" onmouseout="UnTip();"><img src="/images/Basket/bucket.jpg" style="border-width: 0px;"></a></div>';
        BasketHTML += '<div style="clear: both; height: 0px; line-height: 0px;"></div>';
        /* ######## Hier worden subregels toegevoegd aan de basket   */
        for (j = 0; j < BasketData.length; j++) {
            if (BasketData[j].MainArtikel == BasketData[i].Artikelnummer) {
            BasketHTML += '<div class="BasketSubRow">';
            BasketHTML += '<div class="ProdImage"><img src="/images/Basket/bijverkoopartikel.jpg" style="border-width: 0px;"></div>';
            BasketHTML += '<div class="Artikel">';
            BasketHTML += BasketData[j].Merk + ' ' + BasketData[j].Typenummer + ' ' + BasketData[j].Omschrijving;
            BasketHTML += '</div>';
            BasketHTML += '<div class="Prijs">&euro;&nbsp;' + FormatPrijs(BasketData[j].Prijs) + '</div>';
            BasketHTML += '<div class="Aantal"><div class="RadInput RadInput_Default" style="display: -moz-inline-stack; width: 40px; height: 20px;">';
	        BasketHTML += '<table class="riTable" style="border-width: 0pt; border-collapse: collapse; width: 40px;" cellpadding="0" cellspacing="0">';
		    BasketHTML += '<tbody><tr>';
		    BasketHTML += '<td class="riSpin"><a class="riUp" href="javascript:void(0)" onClick="InCrease(\'Item' + BasketData[j].Id + '\',' + BasketData[j].Id + ');"><span>Spin Up</span></a><a class="riDown" href="javascript:void(0)" onClick="DeCrease(\'Item' + BasketData[j].Id + '\',' + BasketData[j].Id + ');"><span>Spin Down</span></a></td><td class="riCell" style="width: 100%; white-space: nowrap;"><input onChange="UpdateAantal(' + BasketData[j].Id + ',this.value);" value="' + BasketData[j].Aantal + '" id="Item' + BasketData[j].Id + '" class="riTextBox riEnabled" style="width: 100%;" type="text"></td>';
		    BasketHTML += '</tr>';
	        BasketHTML += '</tbody></table><input autocomplete="off" value="{&quot;enabled&quot;:true,&quot;emptyMessage&quot;:&quot;&quot;,&quot;minValue&quot;:1,&quot;maxValue&quot;:999}" id="ctl00_Basket1_rptBasket_ctl01_rptSubArtikelen_ctl00_rntAantal_ClientState" name="ctl00_Basket1_rptBasket_ctl01_rptSubArtikelen_ctl00_rntAantal_ClientState" type="hidden">';
            BasketHTML += '</div></div>';
            BasketHTML += '<div class="SubTotaal">&euro;&nbsp;' + FormatPrijs((BasketData[j].Aantal * BasketData[j].Prijs)) + '</div>';
            BasketHTML += '<div class="Korting"></div>';
            BasketHTML += '<div class="TotaalPrijs">&euro;&nbsp;' + FormatPrijs((BasketData[j].Aantal * BasketData[j].Prijs)) + '</div>';
            BasketHTML += '<div class="Delete"><a href="#" onClick="DeleteFromBasket(' + BasketData[j].Id + ');" onmouseover="Tip(\'Klik hier om de ' + BasketData[j].Merk + ' ' + BasketData[j].Typenummer + ' ' + BasketData[j].Omschrijving + ' uit uw bestelling te verwijderen\',  FADEIN, 400, FADEOUT, 600,BALLOONIMGPATH, \'/images/balloon-blue\')" onmouseout="UnTip();"><img src="/images/Basket/bucket.jpg" style="border-width: 0px;"></a></div>';
            BasketHTML += '<div style="clear: both; height: 0px; line-height: 0px;"></div>';
            BasketHTML += '</div>';
            }
        }                                 
        BasketHTML += '</div>';
        }
    }
    BasketHTML += BasketFooter();
    return BasketHTML;
}

function DeleteFromBasket(Id) {
    if (confirm('Weet u zeker dat uw dit product wilt verwijderen?')) {
        ret = IMpactProtoType.WebUI.svcBasket.Delete(Id, renderBasket, onError, onError);
    }
}

function BasketFooter() {
    totaal = parseFloat(subtotaal) + parseFloat(verwijderingsbijdrage) + parseFloat(Bezorgkosten.replace(",","."));
    var BasketHTML = '';
    BasketHTML += '<div class="BasketFooter">';
    BasketHTML += '<div class="SubTotalen">';
    BasketHTML += '<div class="LeftColumn">';
    BasketHTML += '<div class="KortingsDiv">Kortingscode invoeren<br>';
    BasketHTML += '<input name="TextBoxKorting" id="TextBoxKorting" class="Input" type="text">';
    BasketHTML += '<a class="KortingBut" href="javascript:setKorting()">Ok</a>';
    BasketHTML += '</div>';
    BasketHTML += '</div>';
    BasketHTML += '<div class="RightColumn">';
    BasketHTML += '<div id="ctl00_Basket1_rptBasket_ctl02_divSubTotaal">';
    BasketHTML += '<div class="Omschrijving" style="font-weight: bold;">Subtotaal artikelen [' + AantalArtikelen + ']</div><div class="Prijs" style="font-weight: bold;">&euro;&nbsp;' + FormatPrijs(subtotaal) + '</div>';
    BasketHTML += '</div>';                              
    BasketHTML += '<div id="ctl00_Basket1_rptBasket_ctl02_divVerwijderingsbijdrage">';
    BasketHTML += '<div class="Omschrijving">Verwijderingsbijdrage</div><div class="Prijs">&euro;&nbsp;' + FormatPrijs(verwijderingsbijdrage) + '</span></div>';
    BasketHTML += '</div>';
    BasketHTML += '<div id="ctl00_Basket1_rptBasket_ctl02_divBezorgkosten">';
    BasketHTML += '<div class="Omschrijving">Bezorgkosten<br><span class="Bezorgkosten">Bezorgkosten vervallen bij ophalen in de winkel.</span></div><div class="Prijs">&euro;&nbsp;' + FormatPrijs(Bezorgkosten.replace(",",".")) + '</div>';
    BasketHTML += '</div>';
    BasketHTML += '<div class="Regel"></div>';
    BasketHTML += '<div style="width: 366px; position: relative; height: 22px;">';
    BasketHTML += '<div class="TotaalPrijsOmschrijving">Totaal</div><div class="TotaalPrijs">&euro;&nbsp;' + FormatPrijs(totaal) + '</div>';
    BasketHTML += '</div>';
    BasketHTML += '<div style="width: 366px; position: relative; height: 22px;">';
    BasketHTML += '<div class="BTWOmschrijving">Het totaalbedrag is inclusief</div><div class="BTWPrijs">&euro;&nbsp;' + FormatPrijs(((totaal/119) * 19)) + '&nbsp;BTW</div>';
    BasketHTML += '</div>';
    BasketHTML += '</div>';
    BasketHTML += '<div style="height: 0px; line-height: 0px; clear: both;"></div>';
    BasketHTML += '</div>';
    BasketHTML += '</div>';

    return BasketHTML;
}

function FormatPrijs(Prijs) {
    return parseFloat(Prijs).toFixed(2).replace(".",",")
}

function BasketHeader() {
    var BasketHTML = '';
    BasketHTML += '<div class="BasketHeader">';
    BasketHTML += '<div class="Artikel">Artikelen</div>';
    BasketHTML += '<div class="Prijs">Prijs</div>';
    BasketHTML += '<div class="Aantal">Aantal</div>';
    BasketHTML += '<div class="SubTotaal">Subtotaal</div>';
    BasketHTML += '<div class="Korting">Korting</div>';
    BasketHTML += '<div class="TotaalPrijs">Totaalprijs</div>';
    BasketHTML += '</div>';

    return BasketHTML;
}

function AddToBasket(Artikelnummer, MainArtikel) {
    ret = Basket.AddToBasket(Artikelnummer, menuId, redirect, onError, onError)
}

function redirect(URL) {
    document.location = URL;
}

function setKorting() {
    ret = IMpactProtoType.WebUI.svcBasket.SetKorting($get('TextBoxKorting').value, renderBasket, onError, onError)
}
