﻿
var cartResult = "<div class=\"cart-added-name\">${VintageName}</div>";
cartResult += "<div class=\"cart-added-quantity\">Quantity: ${Quantity}</div>";
cartResult += "<div class=\"cart-added-price\">";
cartResult += "{{if IsMember}}";
cartResult += "{{if Product.FormattedPrice != DiscountedPrice}}";
cartResult += "<span class=\"non-member-price\">$${Product.FormattedPrice}</span>";
cartResult += "<span class=\"member-price\">$${DiscountedPrice}</span>";
cartResult += "{{else}}";
cartResult += "<span>$${Product.FormattedPrice}</span>";
cartResult += "{{/if}}";
cartResult += "{{else}}";
cartResult += "<span>$${Product.FormattedPrice}</span>";
cartResult += "{{/if}}";

cartResult += "</div>";
cartResult += "{{if HasLimitations}}";
cartResult += "<div id=\"cart-added-limitations\">";
cartResult += "{{if IsMember}}";
cartResult += "<div class=\"showing-member-price\">Member Price</div>";
cartResult += "{{/if}}";
cartResult += "{{if Product.BottlesLimit}}";
cartResult += "Limit ${Product.BottlesLimit} bottles<br />";
cartResult += "{{/if}}";
cartResult += "{{if Product.CaseLimit}}";
cartResult += "Limit ${Product.CaseLimit} bottles<br />";
cartResult += "{{/if}}";
cartResult += "{{if Product.IsWineryExclusive}}";
cartResult += "Winery exclusive<br />";
cartResult += "{{/if}}";
cartResult += "{{if IsFuture}}";
cartResult += "To be shipped at a future date<br />";
cartResult += "{{/if}}";
cartResult += "</div>";
cartResult += "{{/if}}";

$(document).ready(function () {

    // Update Cart count on every page
    showCartCount();

    // Associate link behaviors
    $('span.close-x').click(function () {
        $('#cart-module-link').removeClass('show');
    });

    // Intercept Purchase links - if nothing in the cart, allow link to follow through to
    // the store cart page for zip code verification
    $('a.purchase-link').live('click', function () {
        var cartCount = parseInt($('span.cart-value').text());
        if (cartCount == 0) {
            var thelink = $(this);
            var itemid = $('span.pid', this).text();
            var qty = 1;
            if ($('#ecommerce-quantity-' + itemid).size() > 0)
                qty = $('#ecommerce-quantity-' + itemid).val();
            var href = thelink.attr('href');
            href = href + "&quantity_int=" + qty
            thelink.attr('href', href);
            
        } else {
            var itemid = $('span.pid', this).text();
            var qty = 1;

            if ($('#ecommerce-quantity-' + itemid).size() > 0)
                qty = $('#ecommerce-quantity-' + itemid).val();

            // Add to cart
            var proxy = new ServiceProxy("/CmsProxy.aspx/");
            proxy.invoke("AddToCart", { wsnid: itemid, quantity: qty }, function (results) {
                // Force refresh of CART module
                var data = JSON.parse(results);

                showCartCount();

                $('#cart-added').empty();
                $.tmpl(cartResult, data, {}).appendTo('#cart-added');

                // Show add module
                $('#cart-module-link').addClass('show');
            });

            return false;
        }

    });

});


function showCartCount() {
    var proxy = new ServiceProxy("/Fort.aspx/");

    proxy.invoke("GetCartState", {}, function (results) {
        var data = JSON.parse(results);

        var count = parseInt(data.CartCount);
        if (isNaN(count))
            count = 0;

        $('span.cart-value').text(count);
        $('span#cart-item-counter').text(count);

        if (count > 0)
            $('span#cart-counter').show();
        else
            $('span#cart-counter').hide();

        $('#cart-item-subtotal-amount').text(data.CartTotal);
    });
}

//function showCartCount() {
//    var proxy = new ServiceProxy("/Fort.aspx/");
//    proxy.invoke(
//        "CartCount",
//        {},
//        function (data) {
//            var count = parseInt(data);
//            if (isNaN(count))
//                count = 0;

//            $('span.cart-value').text(count);
//            $('span#cart-item-counter').text(count);

//            if (count > 0)
//                $('span#cart-counter').show();
//            else
//                $('span#cart-counter').hide();
//        }
//    );

//    proxy.invoke(
//        "CartSubtotal",
//        {},
//        function (data) {
//            $('#cart-item-subtotal-amount').text(data);
//        }
//    );
//}
