function aumentar_cantidad_cesta (referencia, proveedor, linea) { var cantidad = parseFloat($("#cantidad-" + linea).val()); uds_envase = parseFloat($("#uds-envase-" + linea).val()); if (uds_envase == 0) { uds_envase = 1; } var nueva_cantidad = cantidad + uds_envase; $("#cantidad-" + linea).val(nueva_cantidad); recalcular_cantidad_producto(referencia, proveedor, linea); } function disminuir_cantidad_cesta (referencia, proveedor, linea) { var cantidad = parseFloat($("#cantidad-" + linea).val()); uds_envase = parseFloat($("#uds-envase-" + linea).val()); if (uds_envase == 0) { uds_envase = 1; } var nueva_cantidad; if (cantidad > uds_envase) { nueva_cantidad = cantidad - uds_envase; } else { nueva_cantidad = uds_envase; } $("#cantidad-" + linea).val(nueva_cantidad); recalcular_cantidad_producto(referencia, proveedor, linea); } function cantidad_uds_envase_cesta (referencia, proveedor, linea) { var cantidad = $("#cantidad-" + linea).val(); var nueva_cantidad; uds_envase = parseFloat($("#uds-envase-" + linea).val()); if (uds_envase == 0) { uds_envase = 1; } if (cantidad > uds_envase) { nueva_cantidad = cantidad / uds_envase; nueva_cantidad = Math.ceil(nueva_cantidad); nueva_cantidad = nueva_cantidad * uds_envase; } else { nueva_cantidad = uds_envase; } $("#cantidad-" + linea).val(nueva_cantidad); recalcular_cantidad_producto(referencia, proveedor, linea); } function recalcular_cantidad_producto (referencia, proveedor, linea) { var cantidad = $("#cantidad-" + linea).val(); $.ajax({ dataType: "json", type: "POST", url: "ControlB2C", data: { json: 1, id_referencia: referencia, old_id_linea: linea, id_ref_proveedor: proveedor, cantidad: cantidad, ces_conectado: 0, ces_contado: 0, estado: 2, tabla: 3}, success: function (response){ if (response == 0) { location.reload(); } else if (response == -1) { $("#modal-sesion-caducada" + response).modal("show"); $("#modal-sesion-caducada" + response).on('hide.bs.modal', function (e) { window.location.href = "login.jsp?inicio_aplicacion=4&origen=5"; }); } else if (response == -2) { $("#modal-sesion-caducada" + response).modal("show"); $("#modal-sesion-caducada" + response).on('hide.bs.modal', function (e) { location.reload(); }); } }, error: function (response){ console.log("error"); } }); } // ================== Eliminar lineas ================= function eliminar_linea (linea) { $.ajax({ dataType: "json", type: "POST", url: "ControlB2C", data: { json: 1, id_linea: linea, estado: 3, tabla: 3}, success: function (response){ if (response == 0 ) { location.reload(); }; }, error: function (response){ console.log("error"); } }); } function vaciar_cesta () { $.ajax({ dataType: "json", type: "POST", url: "ControlB2C", data: { json: 1, estado: 4, tabla: 3}, success: function (response){ location.reload(); }, error: function (response){ console.log("error"); } }); } // =================== Añadir regalo a la cesta ============== function anadir_regalo (referencia) { $.ajax({ dataType: "json", type: "POST", url: "ControlB2C", data: { json: 1, estado: 5, tabla: 3, id_referencia: referencia, ces_conectado: 0, ces_contado: 0}, success: function (response){ switch (response){ case 0: location.reload(); break; case -1: $("#modal-sesion-caducada" + response).modal("show"); $("#modal-sesion-caducada" + response).on('hide.bs.modal', function (e) { window.location.href = "login.jsp?inicio_aplicacion=4&origen=5"; }); break; case -2: $("#modal-sesion-caducada" + response).modal("show"); $("#modal-sesion-caducada" + response).on('hide.bs.modal', function (e) { location.reload(); }); break; default: $(".validation-msj:not(#anadir-regalo-" + response + ")").hide(); $("#anadir-regalo-" + response).show(); break; } }, error: function (response){ console.log("error"); console.log(response); } }); } // ==================== Calcular gastos de envío ================= function calcular_envio_cesta() { var pais = $("#cod-pais").val(); var provincia = $("#dropdown-provincia").val(); var data = { json: 1, cod_pais: pais, provincia: provincia, estado: 8, tabla: 3 }; consultar_gastos_envio(data); } // ==================== Dirección de envío ================== function cargar_direccion_cesta () { $.ajax({ dataType: "json", type: "POST", url: "ControlB2C", data: { json: 1, id_usu_dir_envio: $("#direccion").val(), estado: 14, tabla: 1}, success: function (response){ $("#calle, #cp-ciudad, #pais").empty(); $("#calle").append(response["via"] + " " + response["direccion1"]); $("#cp-ciudad").append(response["cod_postal"] + " " + response["poblacion"] + " " + response["provincia"]); $("#pais").append(response["pais"]); recalcular_precios_cesta(1); }, error: function (response){ console.log("error"); console.log(response); } }); } // ====================== Recalcular precios en funcion de las opciones seleccionadas ====================== function recalcular_precios_cesta (inicial) { $.ajax({ dataType: "json", type: "POST", url: "ControlB2C", data: { json: 1, for_envio: $('input[name=1]:checked').val(), for_pago: $('input[name=2]:checked').val(), id_usu_dir_envio: $("#direccion").val(), inicial: inicial, estado: 7, tabla: 3 }, success: function (response){ if (response["resultado"] == "-1") { online_offline(); } else { var envio = parseInt(replace( response["for_envio"], ",", "." )); var pago = parseInt(replace( response["for_pago"], ",", "." )); var portes = parseInt(replace( response["imp_portes"], ",", "." )); // Envio for (var i = 0; i < 5; i++) { if ( response["for_envio_" + i] == "0" ) { $("#for_envio_" + i).hide(); } else if ( response["for_envio_" + i] == "1" ) { $("#for_envio_" + i).show(); } } // Pago for (var i = 1; i < 7; i++) { if ( response["for_pago_" + i] == "0" ) { $("#for_pago_" + i).hide(); } else if ( response["for_pago_" + i] == "1" ) { $("#for_pago_" + i).show(); } } // Activar radios $("input[name=1]:checked").prop("checked", false); $("#for_envio_" + envio + " input").prop("checked", true); $("input[name=2]:checked").prop("checked", false); $("#for_pago_" + pago + " input").prop("checked", true); // Importes $("#imp-ces-neto, #imp-ces-neto-xs").empty().append(response["imp_ces_neto"]); $("#imp-ces-iva, #imp-ces-iva-xs").empty().append(response["imp_ces_iva"]); $("#imp-cesta, #imp-cesta-xs").empty().append(response["imp_cesta"]); if (envio == 4 && portes == 0) { $("#imp-portes, #imp-portes-xs").empty(); $("#precio-envio, #precio-envio-xs").hide(); } else { $("#precio-envio, #precio-envio-xs").show(); $("#imp-portes, #imp-portes-xs").empty().append(response["imp_portes"]); } $("#imp-gastos, #imp-gastos-xs").empty(); if ( response["imp_gastos"] == "0,00" ) { $("#precio-gestion, #precio-gestion-xs").hide(); } else { $("#precio-gestion, #precio-gestion-xs").show(); $("#imp-gastos, #imp-gastos-xs").append(response["imp_gastos"]); } $("#imp-total, #imp-total-xs").empty().append(response["imp_total"]); } }, error: function (response){ console.log("error"); console.log(response); } }); } // ==================== Actualizar el botón principal dependiendo del tipo de envío seleccionado ========== function actualizar_boton_cesta (){ if ( ($("#contrareembolso").is(":checked")) || ($("#pagar-tienda").is(":checked")) || ($("#tb").is(":checked")) || ($("#confirmar").is(":checked")) ) { $("#on-pagar").html(" Enviar pedido"); }else { $("#on-pagar").html(" Pagar"); } } // ===================== Cuando le des al boton de pagar o enviar pedido ====================== function validar_cesta (){ var importe_cesta = parseFloat($("#imp-cesta").text().slice(0,-1).replace(/,/g, '.')); var maximo_importe_contrareembolso = $("#max-cr").val(); if ($("#pagar-tienda").is(":checked") && !$("#recoger").is(":checked")) { $("#msj-contrareembolso, #accept-terms-error, #msj-max-cr").hide(); $("#msj-tienda").show(); } else if ( $("#contrareembolso").is(":checked") && $("#recoger").is(":checked") ) { $("#msj-tienda, #accept-terms-error, #msj-max-cr").hide(); $("#msj-contrareembolso").show(); } else if ( maximo_importe_contrareembolso != 0 && $("#contrareembolso").is(":checked") && importe_cesta > maximo_importe_contrareembolso ) { $("#msj-contrareembolso, #accept-terms-error, #msj-tienda").hide(); $("#msj-max-cr").show(); } else { $("#msj-contrareembolso, #msj-tienda, #msj-max-cr").hide(); if ($("#chk-privacidad").is(":checked")) { $("#accept-terms-error").hide(); if (importe_cesta > 0) { var texto_anterior = $("button.btn-pagar").html(); $("button.btn-pagar").html("Conectando, espere por favor...").prop('disabled', true); $.ajax({ dataType: "json", type: "POST", url: "ControlB2C", data: { json: 1, estado: 3, tabla: 2}, success: function (response){ if (response == "0") { pagar(); } else if (response == "-1") { window.location.href = "login.jsp?origen=5"; } }, error: function (response){ console.log("error"); return false; } }); } else { $("#cesta-empty-error").show(); } } else { $("#accept-terms-error").show(); $("#chk-privacidad").focus(); } } } function pagar(){ var pago = $('input[name=2]:checked', '#metodo-pago').val(); var envio = $('input[name=1]:checked', '#forma-envio').val(); var url = "ControlTiendaVirtual"; if (pago == 1) { url = url + "?estado=10"; } else if (pago == 2 || pago == 3 || pago == 4 || pago == 6) { url = url + "?estado=8"; } else if (pago == 5) { url = url + "?estado=11"; }; url = url + "&id_usu_dir_envio=" + $("#direccion").val(); url = url + "&for_envio=" + envio; url = url + "&for_pago=" + pago; url = url + "&portes_especiales=" + $("#portes-especiales").val(); window.location.href = url; }