/********************************************
*** SCRIPT COMUNES PARA TODAS LAS PAGINAS ***
* CON LAS FUNCIONES DEL CARRITO DE COMPRAS  *
********************************************/

/**
 * WebServices
 * Local: https:||localhost:44311
 * Remote: https:||ws.smartproject.ar
 * Generic Handler
 * Local: https:||localhost:44309
 * Remoto: https:||whs.smartproject.ar
 */

function showShoppingCartIcon(sessionId) {
    var prodId = getUrlVars()["pid"];

    var count = 0;
    var objData = new Object();
    objData.sessionId = sessionId;
    objData.userId = 'aa8ad87c-d7b1-4394-b188-0444c7acb34a';
    $.ajax({
        type: 'POST',
        url: 'https://ws.smartproject.ar/ProductWS.asmx/ShoppingCartProductBySessionId',
        cache: false,
        contentType: "application/json; charset=utf-8",
        data: "{'sessionId':'" + objData.sessionId + "','userId':'" + objData.userId + "'}",
        dataType: "json",
        success: function (data) {
            var jdata = JSON.parse(data.d);
            $.map(jdata, function (n, i) {
                console.log("Id de productos en el carrito de compras:  " + n.ProductId + ", ")
                if (prodId == n.ProductId) {
                    $("#btnBuy")
                        .html('<i role="status" aria-hidden="true" class="fas fa-check text-white mr-2"></i> Agregado')
                        .removeClass("bg-dark")
                        .addClass("bg-success")
                        .addClass("disabled")
                        .attr("tabindex", "-1")
                        .attr("aria-disabled", "true");
                }
                else {
                    $("#btnBuy")
                        .html('<i role="status" aria-hidden="true" class="fas fa-shopping-bag text-white mr-2"></i> Agregar al carrito')
                        .attr("class", "btn d-inline bg-dark text-white w-100 p-2 text-center")
                        //.addClass("bg-success")
                        //.addClass("disabled")
                        .attr("tabindex", "1")
                        .attr("aria-disabled", "false");
                }
                count++;
            })
            //Cookies.set("ItemsInCart", jdata.length, { domain: '.solucionestextiles.com.ar', expires: 7 });
            Cookies.set("ItemsInCart", jdata.length, { expires: 5 });
            $("#shopCount").text(jdata.length);
            $("#lnkShopping").removeClass("invisible");
            $("#lnkShopping").removeClass("d-none");
        },
        error: function (e) {
            //$("li.markCart").remove();
        }
    });
}
function ShowCartItems(sessionId) {
    console.log("Viendo que parametro recibe ShowCartItems() " + sessionId)
    var objData = new Object();
    objData.sessionId = sessionId;
    objData.userId = 'aa8ad87c-d7b1-4394-b188-0444c7acb34a';
    $.ajax({
        type: 'POST',
        url: 'https://ws.smartproject.ar/ProductWS.asmx/ShoppingCartProductWithImageBySessionId',
        cache: false,
        contentType: "application/json; charset=utf-8",
        data: "{'sessionId':'" + objData.sessionId + "','userId':'" + objData.userId + "'}",
        dataType: "json",
        success: function (data) {
            var jdata = JSON.parse(data.d);
            var contenido;
            if (jdata.length > 0) {
                contenido = "<table class='table table-condensed'>";
                var id, codigo, producto, talla, precio;
                //var cantidad;
                var total = 0;
                var image;
                $.map(jdata, function (n, i) {
                    id = n.Id;
                    codigo = n.Code;
                    producto = n.ProductName;
                    talla = n.Size;
                    //cantidad = n.Quantity;
                    precio = n.Price;
                    image = "https://resources.smartproject.ar/" + n.Image.replace('/SiteResources/', '');

                    total = parseFloat(total) + parseFloat(precio);
                    contenido = contenido + "\n\t<tr>";
                    contenido = contenido + "\n\t\t<td><img src='" + image + "' alt='" + producto + "' width='100' /></td>"
                    contenido = contenido + "\n\t\t<td>" + producto + "<br /><small>Talle: " + talla + " - C&oacute;digo: " + codigo + "</small></td>"
                    contenido = contenido + "\n\t\t<td class='text-right'> $ " + parseFloat(precio).toFixed(2) + "</td>"
                    contenido = contenido + "\n\t\t<td class='bord-0 text-center'><a href='#' data-id='" + id + "' onclick='borrarItem(this)'><i class='fas fa-trash-alt'></i></a></td>"
                    contenido = contenido + "\n\t</tr>";
                })
                contenido = contenido + "\n\t<tr>";
                contenido = contenido + "\n\t\t<td colspan='2' class='text-right'><strong>Total</strong></td>"
                contenido = contenido + "\n\t\t<td class='text-right'><strong>$ " + parseFloat(total).toFixed(2) + "</strong></td>"
                contenido = contenido + "\n\t\t<td class='bord-0'></td>"
                contenido = contenido + "\n\t</tr>";
                contenido = contenido + "\n</table>";
                $("#btnPay").removeAttr("disabled");
                $("#nPrecio").text(parseFloat(total).toFixed(2));

                //Cookies.set("ItemsInCart", jdata.length, { domain: ".solucionestextiles.com.ar", expires: 7 });
                Cookies.set("ItemsInCart", jdata.length, { expires: 5 });
                console.log("Establezco la cookie ItemsInCart a: " + Cookies.get("ItemsInCart"));
                $("#iic").text("(" + Cookies.get("ItemsInCart") + ")");
            }
            else {
                contenido = "<div class='m-4 text-center'><h4>El carrito est&aacute; vacio</h4><i class='far fa-sad-tear fa-3x brown mt-2'></i></div>";
                $("#nPrecio").text("");
                $("#btnPay").attr("disabled", "disabled");
                //Cookies.set("ItemsInCart", jdata.length, { domain: '.solucionestextiles.com.ar', expires: 7 });
                Cookies.set("ItemsInCart", jdata.length, { expires: 5 });
                $("#iic").text("(" + Cookies.get("ItemsInCart") + ")");
                console.log("Establezco la cookie ItemsInCart a: " + Cookies.get("ItemsInCart"));
            }
            $("#cartItems").html(contenido);
        },
        error: function (e) {
            $("#divResult").html("WebSerivce unreachable");
        }
    });
}
// Puedo eliminar un articulo ingresado en el carrito de compras
function borrarItem(e) {
    var elementId = $(e).data("id");
    var sessionId = Cookies.get('ckSessionId');
    $.ajax({
        type: 'POST',
        url: 'https://ws.smartproject.ar/ProductWS.asmx/ShoppingCartProductDeleteById',
        contentType: "application/json; charset=utf-8",
        data: "{'id':" + elementId + ",'userId':'aa8ad87c-d7b1-4394-b188-0444c7acb34a'}",
        dataType: "json",
        success: function () {
            ShowCartItems(sessionId)
        },
        error: function (e) {
            $("#divResult").html("WebSerivce unreachable");
        }
    });
}
function showClientForm() {
    $("#shoppingModal").modal("hide");
    //$("#productList").addClass("invisible");
    $("#clientFormModal").modal("show");
}
function processPayment() {
    console.log("Validado: " + $("#formContactData").valid())
    if ($("#formContactData").valid()) {
        $("#btnPay")
            .html('<span class="spinner-border spinner-border-sm align-middle mr-2" role="status" aria-hidden="true"></span> Enviando ...')
            .addClass("disabled")
            .attr("tabindex", "-1")
            .attr("aria-disabled", "true");
        var userId = "aa8ad87c-d7b1-4394-b188-0444c7acb34a";
        var hddSessionId = Cookies.get("ckSessionId");
        $.ajax({
            type: "POST",
            url: "https://whs.smartproject.ar/ProcessMPOrderV2.ashx",
            cache: false,
            data: {
                "clientName": $("#inputName").val(),
                "clientSurname": $("#inputSurname").val(),
                "clientEmail": $("#inputEmail").val(),
                "hddUserId": userId,
                //"hddClientId": 'NoAplica',
                "hddSite": 'La Pinieria',
                "hddSessionId": hddSessionId,
                "Observaciones": Cookies.get('ckFeatures'),
                //"hddShippingCode": $("#arglocation").val(),
                //"CodigoPostal": $("#inputPostalCode").val(),
                "Comentarios": $("#taComentario").val(),
                //"Calle": $("#inputStreet").val(),
                //"PuertaNumero": $("#inputSNumber").val(),
                //"Piso": $("#inputFloor").val(),
                //"Depto": $("#inputApartment").val(),
                //"Estado": $("#arglocation :selected").text(),
                //"Pais": "Argentina",
                "CodigoArea": $("#inputCodArea").val(),
                "Telefono": $("#inputPhone").val(),
                //"hddDeliveryMethod": 800,
                //"CuponDescuento": $("#inputCupon").val(),
                //"Formato": formato,
                "MetodoPago": "Mercadopago",
                "hddTabla": 'Pedido Online',
                //"hddDeliveryType": "DHL express",
                "hddReference": "Venta online"
            },
            success: function (response) {
                console.log(response)
                console.log("id de la compra: " + response);
                $("#checkout").addClass("hide");
                $("#result").removeClass("hide");
                if (response != "Err") {
                    console.log("Respuesta del servidor: " + response);
                    Cookies.remove('ckSessionId', { expires: 5 });
                    Cookies.remove("ItemsInCart", { expires: 5 });
                    var partLink = response.split("&demandId=");
                    console.log("Response: " + response);
                    console.log("partLink[0]: " + partLink[0]);
                    console.log("partLink[1]: " + partLink[1]);
                    $("#payLnk").attr("href", partLink[0]);
                    Cookies.set("ckBuyId", partLink[1], { expires: 5 });
                    $("#clientFormModal").modal("hide");
                    $("#clientReturnModal").modal("show");
                }
                else {
                    console.log("Respuesta de Error: " + response);
                    $("#clientFormModal").modal("hide");
                    $("#clientReturnErrorModal").modal("show");
                }
                $("#btnPay")
                    .html('<i class="fas fa-money-check-alt text-success"></i> Pagar con mercadopago')
                    .removeClass("disabled")
                    .attr("tabindex", "1")
                    .attr("aria-disabled", "false");
            },
            error: function (e) {
                console.log("Error fatal: " + e.response);
                $("#clientFormModal").modal("hide");
                $("#clientReturnErrorModal").modal("show");
                $("#btnPay")
                    .html('<i class="fas fa-money-check-alt text-success"></i> Pagar con mercadopago')
                    .removeClass("disabled")
                    .attr("tabindex", "1")
                    .attr("aria-disabled", "false");
            }
        });
    }
}


