$(document).ready(function() {
    $('.js-buy_button').click(function (event) {
        event.preventDefault();
        buy(this);
    });
});

function buy(sender)
{
    var amount = $(sender).siblings('input[name="amount"]').val();
    var productId = $(sender).attr('id');
    $.ajax({
        type: "POST",
        url: BASE_URL+"ajax/buy.php",
        data: "product_id="+productId+"&amount="+amount,
        success: function(msg){
            if(msg == "SUCCESS") {
                buySuccess(sender);
            } else {
                buyError(sender, msg);
            }
        }
   });
}

function buySuccess(sender)
{
    $.get(
        BASE_URL+'ajax/cart.php', 
        function(data) {
            $('#cart').html(data);
            var parent = $(sender).parent().parent();
       	    $(parent).effect(
                'transfer',
                { to: "#cart", className: 'ui-effects-transfer' },500,
                function() {
                    flash("#cart", "#dbfdd9", function (){});
       	        }
            );
        }
    );
}

function buyError(sender, msg)
{
    var parent = $(sender).parent().parent();
   	flash(parent,"#fef1ec", function () {
   	    //alert("");
   	});
    

}

function flash(element, color, callback)
{
    var originalImage = $(element).css('background-image');
    var originalPosition = $(element).css('background-position');
    $(element).css('background', "transparent");
    $(element).animate({ backgroundColor: color }, 150, function() {
        $(element).animate({ backgroundColor: "transparent" }, 150, function() {
            $(element).animate({ backgroundColor: color }, 150, function() {
                $(element).animate({ backgroundColor: "transparent" }, 150, function() {
                    $(element).css('background-image', originalImage);
                    $(element).css('background-position', originalPosition);
                    if (callback != 'undefined') {
                        return callback();
                    }
                });
            });
        });
    });
}

