

function buy(variety,quantity, selector)
{
    var url = "/ajax/buy/"+variety+"/"+quantity;
    $.getJSON(url, function(data) {
            var error = decodeURIComponent(data.error);
            if (error=='0') {
                var count = decodeURIComponent(data.count);
                var cart_url = decodeURIComponent(data.cart_url);

                $(selector+" form .purchase-summary a.cartlink").attr('href', cart_url);
                $("#shop-cart a").attr('href', cart_url);
                if (count == 1){
                    $("#shop-cart a p#summary").html("Hay 1 producto en tu carrito");
                } else {
                    $("#shop-cart a p#summary").html("Hay "+count+" productos en tu carrito");
                }

                $(selector+" form .purchase-summary select").val(quantity);
                $(selector+" p.product-price").fadeOut('slow');
                $(selector+" form a.product-buybutton").fadeOut('slow', function() {
                $(selector+" form .purchase-summary").fadeIn('slow', function() {});
                    });

            } else {
                var error_msg = decodeURIComponent(data.error_msg);
                alert(error_msg);
            }

        });

    return true;
}

function buy_again(variety,quantity, selector)
{
    var url = "/ajax/buy/"+variety+"/"+quantity;
    $.getJSON(url, function(data) {
            var error = decodeURIComponent(data.error);
            if (error=='0') {
                var count = decodeURIComponent(data.count);
                var cart_url = decodeURIComponent(data.cart_url);

                $(selector+" form .purchase-summary a.cartlink").attr('href', cart_url);
                $("#shop-cart a").attr('href', cart_url);
                if (count == 1){
                    $("#shop-cart a p#summary").html("Hay 1 producto en tu carrito");
                } else {
                    $("#shop-cart a p#summary").html("Hay "+count+" productos en tu carrito");
                }

                $(selector+" form .purchase-summary select").val(quantity);
                $(selector+" form .purchase-summary a.cartlink").attr('href', cart_url);
                $(selector+" form .purchase-summary").fadeOut('slow', function() {
                $(selector+" form .purchase-summary").fadeIn('slow', function() {});
                    });

            } else if (error=='1'){
                var count = decodeURIComponent(data.count);
                var cart_url = decodeURIComponent(data.cart_url);

                $(selector+" form .purchase-summary a.cartlink").attr('href', cart_url);
                $("#shop-cart a").attr('href', cart_url);
                if (count == 1){
                    $("#shop-cart a p#summary").html("Hay 1 producto en tu carrito");
                } else {
                    $("#shop-cart a p#summary").html("Hay "+count+" productos en tu carrito");
                }

                $(selector+" form .purchase-summary select").val(quantity);
                $(selector+" form .purchase-summary").fadeOut('slow', function() {
                  $(selector+" p.product-price").fadeIn('slow');
                  $(selector+" form a.product-buybutton").fadeIn('slow');
                });
            } else {
                var error_msg = decodeURIComponent(data.error_msg);
                alert(error_msg);
            }

        });

    return true;
}

// ------------------------------------------------------------------------------------------------------------

function buy_from_product(variety,quantity, selector)
{
    var url = "/ajax/buy/"+variety+"/"+quantity;
    $.getJSON(url, function(data) {
            var error = decodeURIComponent(data.error);
            if (error=='0') {
                var count = decodeURIComponent(data.count);
                var cart_url = decodeURIComponent(data.cart_url);

                $("#shop-cart a").attr('href', cart_url);
                if (count == 1){
                    $("#shop-cart a p#summary").html("Hay 1 producto en tu carrito");
                } else {
                    $("#shop-cart a p#summary").html("Hay "+count+" productos en tu carrito");
                }

                $("form#shop-product-form #purchase-summary a.cartlink").attr('href', cart_url);
                $("form#shop-product-form #purchase-summary select").val(quantity);
                $("form#shop-product-form #purchase-controls").fadeOut('slow', function() {
                        $("form#shop-product-form #purchase-summary").fadeIn('slow', function() {});
                    });
            } else {
                var error_msg = decodeURIComponent(data.error_msg);
                alert(error_msg);
            }

        });

    return true;
}

function buy_from_product_again(variety,quantity, selector)
{
    var url = "/ajax/buy/"+variety+"/"+quantity;
    $.getJSON(url, function(data) {
            var error = decodeURIComponent(data.error);
            if (error=='0') {
                var count = decodeURIComponent(data.count);
                var cart_url = decodeURIComponent(data.cart_url);

                $("#shop-cart a").attr('href', cart_url);
                if (count == 1){
                    $("#shop-cart a p#summary").html("Hay 1 producto en tu carrito");
                } else {
                    $("#shop-cart a p#summary").html("Hay "+count+" productos en tu carrito");
                }

                $("form#shop-product-form #purchase-summary a.cartlink").attr('href', cart_url);
                $("form#shop-product-form #purchase-summary select").val(quantity);
                $("form#shop-product-form #purchase-summary").fadeOut('slow', function() {
                        $("form#shop-product-form #purchase-summary").fadeIn('slow', function() {});
                    });
            } else if (error=='1'){
                var count = decodeURIComponent(data.count);
                var cart_url = decodeURIComponent(data.cart_url);

                $("#shop-cart a").attr('href', cart_url);
                if (count == 1){
                    $("#shop-cart a p#summary").html("Hay 1 producto en tu carrito");
                } else {
                    $("#shop-cart a p#summary").html("Hay "+count+" productos en tu carrito");
                }

                $("form#shop-product-form #purchase-controls select").val('1');
                $("form#shop-product-form #purchase-summary a.cartlink").attr('href', cart_url);
                $("form#shop-product-form #purchase-summary select").val(quantity);
                $("form#shop-product-form #purchase-summary").fadeOut('slow', function() {
                        $("form#shop-product-form #purchase-controls").fadeIn('slow', function() {});
                    });

            } else {
                var error_msg = decodeURIComponent(data.error_msg);
                alert(error_msg);
            }

        });

    return true;
}

// ------------------------------------------------------------------------------------------------------------

function buy_from_cart_confirm(variety,quantity, selector)
{

    if (quantity==0) {
        if (confirm("Vas a sacar este producto de tu carrito de la compra ¿estás seguro?")){
            return buy_from_cart_again(variety,quantity, selector);
        } else {
            return buy_from_cart_again(variety,'-1', selector);
        }
    } else {
        return buy_from_cart_again(variety,quantity, selector);
    }
}

function buy_from_cart_again(variety,quantity, selector)
{

    var url = "/ajax/buy/"+variety+"/"+quantity;
    $.getJSON(url, function(data) {
            var error = decodeURIComponent(data.error);
            if (error=='0') {
                var count = decodeURIComponent(data.count);
                var cart_url = decodeURIComponent(data.cart_url);
                var product_quantity = decodeURIComponent(data.product_quantity);
                var product_price = decodeURIComponent(data.product_price);
                var product_subtotal = decodeURIComponent(data.product_subtotal);
                var order_price = decodeURIComponent(data.price);

                if (count == 1){
                    $("#shop-shoppingcart-title strong").html("Estás comprando este producto:");
                } else if (count == 0) {
                    $("#shop-shoppingcart-title strong").html("No queda nada en tu carrito :-(");
                } else {
                    $("#shop-shoppingcart-title strong").html("Estás comprando estos "+count+" productos:");
                }

                $(selector+" form .purchase-summary select").val(quantity);
                $(selector+" form .purchase-summary").fadeOut('slow', function() {
                  $(selector+" form .purchase-summary .product-price").html(" x "+product_price+" euros = <strong>"+product_subtotal+" euros</strong>");
                  $(selector+" form .purchase-summary").fadeIn('slow', function() {});
                });
                $(".continue .subtotal").fadeOut('slow', function() {
                  $(".continue .subtotal").html("Subtotal: <strong>"+order_price+" euros</strong>");
                  $(".continue .subtotal").fadeIn('slow', function() {});
                });
            } else if (error=='1'){
                var count = decodeURIComponent(data.count);
                var cart_url = decodeURIComponent(data.cart_url);
                var product_quantity = decodeURIComponent(data.product_quantity);
                var product_price = decodeURIComponent(data.product_price);
                var order_price = decodeURIComponent(data.price);

                if (count == 1){
                    $("#shop-shoppingcart-title strong").html("Estás comprando este producto:");
                } else if (count == 0) {
                    $("#shop-shoppingcart-title strong").html("No queda nada en tu carrito :-(");
                } else {
                    $("#shop-shoppingcart-title strong").html("Estás comprando estos "+count+" productos:");
                }

                $(".continue .subtotal").fadeOut('slow', function() {
                  $(".continue .subtotal").html("Subtotal: <strong>"+order_price+" euros</strong>");
                  $(".continue .subtotal").fadeIn('slow', function() {});
                });

                $(selector+" form .purchase-summary select").val(product_quantity);
                $(selector).slideUp('slow');

            } else {
                var error_msg = decodeURIComponent(data.error_msg);
                alert(error_msg);
            }

        });

    return true;
}

function set_discount(discount_code, cart)
{
    var url = "/ajax/discount/"+discount_code+"/cart/"+cart;
    $.getJSON(url, function(data) {
            var error = decodeURIComponent(data.error);
            if (error=='0') {
              order_update(cart);
            } else {
                var error_msg = decodeURIComponent(data.error_msg);
                alert(error_msg);
            }

        });

    return true;
}

function set_shipping_method(shipping_order_method,cart)
{
    var url = "/ajax/shipping_method/"+shipping_order_method+"/cart/"+cart;
    $.getJSON(url, function(data) {
            var error = decodeURIComponent(data.error);
            if (error=='0') {
              order_update(cart);
            } else {
                var error_msg = decodeURIComponent(data.error_msg);
                alert(error_msg);
            }

        });

    return true;
}

function set_payment_method(payment_order_method,cart)
{
    var url = "/ajax/payment_method/"+payment_order_method+"/cart/"+cart;
    $.getJSON(url, function(data) {
            var error = decodeURIComponent(data.error);
            if (error=='0') {
              order_update(cart);
            } else {
                var error_msg = decodeURIComponent(data.error_msg);
                alert(error_msg);
            }

        });

    return true;
}

function order_update(cart)
{
    var url = "/ajax/order_update/cart/"+cart;
    $.getJSON(url, function(data) {
        var order_base_price = decodeURIComponent(data.order_base_price);
        var order_shipping_price = decodeURIComponent(data.order_shipping_price);
        var order_shipped_price = decodeURIComponent(data.order_shipped_price);
        var order_discount_price = decodeURIComponent(data.order_discount_price);
        var order_discount_rate = decodeURIComponent(data.order_discount_rate);
        var order_discounted_price = decodeURIComponent(data.order_discounted_price);
        var order_price = decodeURIComponent(data.order_price);
        var order_discount_msg = decodeURIComponent(data.order_discount_msg);

        if (order_discount_msg != '') {
          $("#discount").fadeOut('slow', function() {
            $("#discount").html(order_discount_msg);
            $("#discount").fadeIn('slow');
          });
        }
        $(".subtotal").fadeOut('slow', function() {
          $(".subtotal strong").html(order_price);
          $(".subtotal").fadeIn('slow');
        });
    });

    return true;
}


