$(document).ready(function () {
    refreshCart();
    $('.pcAddOne').live('click', function () {
        var addTo = this.id.substring(8);
        $('#pcItem' + addTo).val(parseFloat($('#pcItem' + addTo).val()) + 1);
        submitUpdate();
        return false;
    });
    $('.pcSubtractOne').live('click', function () {
        var addTo = this.id.substring(13);
        $('#pcItem' + addTo).val(parseFloat($('#pcItem' + addTo).val()) - 1);
        submitUpdate();
        return false;
    });
    $('.pcRemove').live('click', function () {
        var addTo = this.id.substring(8);
        $('#pcItem' + addTo).val(0);
        submitUpdate();
        return false;
    });
    $('.quantity').live('change', function () {
        submitUpdate();
        return false;
    });
    $("#buyNow").submit(function () {
        var cartUrl = "/cart/ajax/manage_cart.php";
        var data = $("#buyNow").serialize();
        $.ajax({
            type: "POST",
            url: cartUrl,
            data: data,
            success: function (moredata) {
                var obj = jQuery.parseJSON(moredata);
                if (obj == 'good') {
                    refreshCart();
                } else {
                    var obj = jQuery.parseJSON(moredata);
                    alert(obj);
                }
            }
        });
        return false;
    });
});

function submitUpdate() {
    var cartUrl = "/cart/ajax/manage_cart.php";
    var data = $("#pageCart").serialize();
    $.ajax({
        type: "POST",
        url: cartUrl,
        data: data,
        success: function () {
            refreshCart();
        }
    });
}

function refreshCart() {
    $('#pageCartContainer').empty();
    $('#pageCartContainer').append('<form id="pageCart"><input type="hidden" name="action" value="update" /></form');
    var contentsUrl = "/cart/ajax/cart_contents.php";
    var cartTotal = 0;
    $.ajax({
        type: "POST",
        dataType: "json",
        url: contentsUrl,
        success: function (data) {
            var x = 0;
            if (data != '') {
                $('#pageCartContainer').prepend('<form action="https://www.paddlerzone.co.nz/cart/checkout.php" method="post"><input type="image" class="add" src="/cart/image/checkout_cart.gif" alt="Checkout" title="Proceed to checkout"  style="display: block; margin: 7px auto" /></form>');
                $.each(data, function (i, l) {
                    var itemName = '';
                    var htmlIdString = '';
                    $.each(l.options, function (qi, qv) {
                        if (qv.id) {
                            htmlIdString = htmlIdString + '<input type="hidden" name="options[' + l.cart_item_id + '][' + qv.id + ']" value="" />';
                            itemName = itemName + ' ' + qv.value
                        }
                    });
                    var htmlString = '<div class="pcItem"><a href="' + l.url + '"><img src="' + l.small_image + '" /></a>' + '<div class="pcItemText"><a id="pcItemName" href="' + l.url + '">' + itemName + ' ' + l.item_name + '</a>' + '<div class="pcDetail"><span class="pcTitle">Quantity:</span>' + '<a href="#" class="pcSubtractOne" id="pcSubtractOne' + x + '">-</a>' + '<input type="text" class="pcQuantity" id="pcItem' + x + '" name="quantity[' + l.cart_item_id + ']" value="' + l.quantity + '" size="3" />' + htmlIdString + '<a href="#" class="pcAddOne" id="pcAddOne' + x + '">+</a>' + '<br /><span class="pcTitle">Unit price: </span><span class="pcPrice">$' + parseFloat(l.price).toFixed(2) + '</span>' + '<br /><span class="pcTitle">Subtotal: </span><span class="pcPrice">$' + parseFloat(l.total).toFixed(2) + '</span>' + '<br /><a href="#" class="pcRemove" id="pcRemove' + x + '">Remove item</a>' + '</div>';
                    cartTotal = cartTotal + l.total;
                    htmlString = htmlString + '</div><br clear="all"></div>';
                    $('#pageCart').append(htmlString);
                    x++;
                });
                $('#pageCart').append('<h3>Cart total:</h3><h4>$' + parseFloat(cartTotal).toFixed(2)) + '</h4>';
                $('#pageCartContainer').append('<form action="https://www.paddlerzone.co.nz/cart/checkout.php" method="post"><input type="image" class="add" src="/cart/image/checkout_cart.gif" alt="Checkout" title="Proceed to checkout"  style="display: block; margin: 7px auto" /></form>');
                 $(".pcItem").animate({
				    	opacity: 0.4,
				  	}, 400 );
                	$(".pcItem").animate({
					    opacity: 1,
				  	}, 400 );
            } else {
                $('#pageCart').append('<p class="pcEmptyText"><img src="/cart/image/empty_cart.png" style="width: 96px; height: 96px" />Your cart is currently empty</p>');
            }
        }
    });
}
