function cart_AddItem(itemId) {
    cart_SetLoading();
    $.post('/supra/_cart_ajax', {action: "addItem", itemId: itemId, type: 'cart'},
        function (data) {
            cart_SetProducts(data);
        }, "html"
    );
}

function cart_SetProducts(data) {
    if (data.length > 0) {
        $('#ajax-products').html(data);
        $('#cart').removeClass('hidden');
    }
    else {
        $('#cart').addClass('hidden');
    }
    cart_registerEvents();
}
function cart_SetLoading() {
    $('#ajax-products').append("loading...");
}

$(window).bind('load', cart_loadJs);

function cart_loadJs() {
    function cart_action (e) {
        if (this.name == 'deleteItems') {
            var data = $('#cartForm').formSerialize();
            if (data != '')
                data += '&'

            data += 'type=cart&action='+this.name

            cart_SetLoading();

            $.post('/supra/_cart_ajax', data, function (ret) { cart_SetProducts(ret); }, 'html');
        }

    }
    $('#cartForm :button').click(cart_action);
    cart_registerEvents();
}

function cart_registerEvents() {
    $('#cartForm :text').change(function (e) {
        var data = $('#cartForm').formSerialize();

        cart_SetLoading();
        if (data != '')
            data += '&'
        data += 'type=cart&action=updateQty';

        $.post('/supra/_cart_ajax', data, function (ret) { cart_SetProducts(ret); }, 'html');
    });
}

function cart_removeProduct(productId) {
    cart_SetLoading();

    $.post('/supra/_cart_ajax', {action: "removeProduct", productId: productId, type: 'cart'},
        function (data) {
            cart_SetProducts(data);
        }, "html"
    );
}
