﻿var innerCartTemplate = "<div class=\"inner-cart\">";
innerCartTemplate += "<div class=\"cart-title\">";
innerCartTemplate += "{{if HasErrors}}";
innerCartTemplate += "<em>Item Not Added</em>";
innerCartTemplate += "{{else}}";
innerCartTemplate += "<em>You've Added</em>";
innerCartTemplate += "{{/if}}";
innerCartTemplate += "<span id=\"cart-close\" title=\"Close\">X</span>";
innerCartTemplate += "</div>";
innerCartTemplate += "<div class=\"last-added\">";
innerCartTemplate += "{{if HasErrors}}";
innerCartTemplate += "<p class=\"add-to-cart-error\">${ErrorMessages}</p>";
innerCartTemplate += "{{else}}";
innerCartTemplate += "<a href=\"${ItemLink}\">${ItemName}</a>";
innerCartTemplate += "<span class=\"quantity\">Quantity: ${ItemQuantity}</span>";
innerCartTemplate += "<span id=\"price\">${ItemPrice}</span>";
innerCartTemplate += "{{/if}}";
innerCartTemplate += "</div>";
innerCartTemplate += "<div class=\"items-summary\">";
innerCartTemplate += "<span class=\"items\"><span id=\"items\">${TotalItems}</span> Items in cart</span>";
innerCartTemplate += "<span class=\"subtotal\">Subtotal: <span id=\"subtotal\">${SubTotal}</span></span>";
innerCartTemplate += "</div>";
innerCartTemplate += "<div class=\"cart-buttons\">";
innerCartTemplate += "<a href=\"https://cart.bloyal.com/duckhorn/cart/onlinestore/ViewCart.aspx?brand=duckhorn{{if ReturnedCartID}}&CartID=${ReturnedCartID}{{/if}}{{if ReturnedUsageID}}&UsageID=${ReturnedUsageID}{{/if}}\" class=\"go-to-cart needs-cuid\">View Cart</a>";
innerCartTemplate += "<a href=\"https://cart.bloyal.com/Duckhorn/Cart/onlinestore/Cart/SignIn/Default.aspx?brand=duckhorn{{if ReturnedCartID}}&CartID=${ReturnedCartID}{{/if}}{{if ReturnedUsageID}}&UsageID=${ReturnedUsageID}{{/if}}\" class=\"checkout e-button needs-cuid\">Checkout</a>";
innerCartTemplate += "</div>";
innerCartTemplate += "</div>";

function AddToCart(productCode, quantity, detailsUrl) {

    var usageId = $('#query-data-usageid').val();
    var cartId = $('#query-data-cartid').val();
    var cartLink = $('#root-cart-link').attr('href');
    var detailDomain = $('#bloyal-data-sitedomain').val() + '/wines';

    var requestUrl = $('#query-data-returnurl').val();

    var proxy = new ServiceProxy("/BLoyalService.aspx/");

    proxy.invoke("AddToCart", { productCode: productCode, quantity: quantity, detailsUrl: detailDomain + detailsUrl }, function (results) {
        var data = JSON.parse(results);

        $('#query-data-usageid').val(data.ReturnedUsageID);
        $('#query-data-cartid').val(data.ReturnedCartID);

        $('#cart.cart-wrapper').empty();
        $.tmpl(innerCartTemplate, data, { UsageID: usageId, CartID: cartId, CartLink: cartLink, ReturnUrl: requestUrl }).appendTo('#cart.cart-wrapper');

        updateCUIDs();

        $('html, body').animate({ scrollTop: 0 }, 'fast');
        $('#cart').slideDown('2000');
    });


}

// Cart management
$(document).ready(function () {
    $('#cart-close').live('click', function () {
        $('#cart').slideUp('2000');
    });

    // Bind to all current and generated wine purchase link click events
    // Allows click-through if JS not active in client's browser (since a href is the addtocart link)
    $('a.wine-purchase-link').live('click', function () {
        AddToCart($(this).attr('purchasecode'), $('#quantity-' + $(this).attr('purchasecode')).val(), $(this).attr('detailsurl'));
        return false;
    });

    $('a.wine-case-purchase-link').live('click', function () {
        AddToCart($(this).attr('purchasecode'), 12, $(this).attr('detailsurl'));
        return false;
    });
});
