class Web { static initProducto() { $(document).ready(function () { if ($("#carousel-fotos").length) { $("#carousel-fotos").owlCarousel({ loop: false, margin: 6, items: 1, dots: false, nav: true, stagePadding: 1, navText: [ '', '', ], responsive: { 0: { items: 1, mouseDrag: true, loop: true }, 768: { loop: ($("#carousel-fotos .item").length > 4) ? true: false, mouseDrag: ($("#carousel-fotos .item").length > 4) ? true: false, items:4, }, 1200: { loop: ($("#carousel-fotos .item").length > 5) ? true: false, mouseDrag: ($("#carousel-fotos .item").length > 5) ? true: false, items:5, }, }, onInitialized: function () { Utils.applyAspectRatio(); }, onResized: function () { Utils.applyAspectRatio(); }, }); } Web.crearCarouselProductos(); $('#img-principal').click(function() { $('#carousel-fotos .owl-item.active:eq(0) img').trigger("click") }) let viewContainer = $('#carousel-fotos .owl-item.active:eq(0) img').length == 0 ? $('#img-principal') : $('#carousel-fotos'); viewContainer.viewer({ url: function(image) { return image.src.replace('M.webp', 'SG.webp'); }}); //Web.gallery = $(".enlace-foto").simpleLightbox(); // //Web.gallery.on('changed.simplelightbox', function (e) { // Web.gallery.controlCoordinates.zoomed = false; // $(".sl-image, .sl-image img").css({"transition": "none", "opacity": 1}); // // if ($(this).attr("data-h")*1 > 1000) // { // var event = new MouseEvent('dblclick', { // 'view': window, // 'bubbles': true, // 'cancelable': true // }); // // $(".sl-image img")[0].dispatchEvent(event); // } //}); // //Web.gallery.on('shown.simplelightbox', function (e) { // Web.gallery.controlCoordinates.zoomed = false; // // $(".sl-image, .sl-image img").css({"transition": "none", "opacity": 1}); // // if ($(this).attr("data-h")*1 > 1000) // { // var event = new MouseEvent('dblclick', { // 'view': window, // 'bubbles': true, // 'cancelable': true // }); // // $(".sl-image img")[0].dispatchEvent(event); // } //}); $(document).on("dragstart", function(e) { if (e.target.nodeName.toUpperCase() == "IMG") { return false; } }); $("body").on("click", "#img-principal", function () { Web.gallery.open(Web.gallery.elements[$(this).attr("data-pos")]); }); $("body").on("click", ".item-foto", function () { $(".item-foto img.seleccionada").removeClass("seleccionada"); $("#img-principal").attr("src", $(this).find("img").attr("src").replace("M", "G")).attr("data-pos", $(this).attr("data-pos")); $(this).find("img").addClass("seleccionada"); const w = $(window).innerWidth(); if (w >= 567 && w <=767) { Web.gallery.open(Web.gallery.elements[$(this).attr("data-pos")]); } }); }); $("body").on("click", ".goTo", function(event) { event.preventDefault(); window.scroll(0,findPos(document.getElementById($(this).attr("data-id")))-80); }); } static initInicio() { $(document).ready(function() { Web.crearCarouselProductos(); }); } static crearCarouselProductos() { if ($(".carousel-productos").length) { $.each($(".carousel-productos"), function(i, e) { const items = $(e).find(".cajaProducto").length; $(e).owlCarousel({ loop: false, margin: 30, items: 1, dots: false, nav: true, lazyLoad: true, navText: [ ' ', '', ], responsive: { 0: { items: 1, mouseDrag: true, loop: true }, 576: { loop: items > 2, mouseDrag: items > 2, items:2, }, 992: { loop: items > 3, mouseDrag: items > 3, items:3, }, 1200: { loop: items > 4, mouseDrag: items > 4, items:4, }, }, onInitialized: function () { Utils.applyAspectRatio(); }, onResized: function () { Utils.applyAspectRatio(); }, }); }); } } } function findPos(obj) { var curtop = 0; if (obj.offsetParent) { do { curtop += obj.offsetTop; } while (obj = obj.offsetParent); return [curtop]; } } $(document).ready(function() { if ($.fn.dataTable != undefined) { $.fn.dataTable.ext.errMode = function ( settings, helpPage, message ) { $.notify( { title: "Error: ", message: "Se ha producido un error inesperado", }, { type: 'danger', placement: { from: "top", align: "center" }, delay: 10000 }); }; $.extend($.fn.dataTable.defaults, { "language": { "sProcessing": "Procesando...", "sLengthMenu": "Mostrar _MENU_", "sZeroRecords": "No se han encontrado resultados", "sEmptyTable": "Sin datos todavía", "sInfo": "Mostrando de la entrada _START_ a la _END_ de un total de _TOTAL_ entradas", "sInfoEmpty": "Todavía no hay datos", "sInfoFiltered": "()", "sSearchPlaceholder": "Buscar", "sInfoPostFix": "", "sSearch": "", "sUrl": "", "oPaginate": { "sFirst": " ", "sPrevious": " ", "sNext": " ", "sLast": " " } } }); } }); function preparaLugar(pais, provincia, poblacion, idInputPais,idInputProvincia, idInputLocalidad) { if(pais > 0) { actualizaProvincias(idInputLocalidad,idInputProvincia, idInputPais, provincia, pais, provincia, poblacion, undefined); } $('#'+idInputPais).on('changed.bs.select', function (e, clickedIndex, isSelected, previousValue) { //console.log(e, clickedIndex, isSelected, previousValue, $(this).val(), $('#frmServicioProvincia').val(), $('#frmServicioProvincia').selectpicker("val")); actualizaProvincias(idInputLocalidad,idInputProvincia, idInputPais, provincia, undefined, undefined, undefined, undefined, undefined, undefined, true); }); /*$("body").on("change", "#"+idInputPais, function() { actualizaProvincias(idInputLocalidad,idInputProvincia, idInputPais, provincia); });*/ if(provincia > 0) { actualizaCiudades(idInputLocalidad, idInputProvincia, idInputPais,poblacion, pais, provincia, poblacion, $("#"+idInputProvincia).val()*1); } $('#'+idInputProvincia).on('changed.bs.select', function (e, clickedIndex, isSelected, previousValue) { //console.log(e, clickedIndex, isSelected, previousValue, $(this).val(), $('#frmServicioProvincia').val(), $('#frmServicioProvincia').selectpicker("val")); if (isSelected === null) return; actualizaCiudades(idInputLocalidad, idInputProvincia, idInputPais, undefined, $("#"+idInputPais).val()*1, $("#"+idInputProvincia).val()*1); }); /* $("body").on("change", "#"+idInputProvincia, function() { actualizaCiudades(idInputLocalidad, idInputProvincia, idInputPais, undefined, $("#"+idInputPais).val()*1, $("#"+idInputProvincia).val()*1); });*/ } function actualizaProvincias(idCampoLocalidad, idCampoRegion, idCampoPais, idRegionPreEstablecida, forceIdPais, forceIdRegion,forceIdLocalidad, onFinish, textoSelect, textoLoading, actualizarLocalidad) { if(forceIdPais == undefined) { forceIdPais = $("#"+idCampoPais).val(); } if(forceIdRegion == undefined) { forceIdRegion = $("#"+idCampoRegion).val(); } if(forceIdLocalidad == undefined) { forceIdLocalidad = $("#"+idCampoLocalidad).val(); } if(textoSelect == undefined) { //textoSelect = ""; textoSelect = ""; } //var textoSelectLoc = ""; var textoSelectLoc = ""; if(textoLoading == undefined) { textoLoading = "Cargando..."; } var data = {idPais: forceIdPais}; $("#"+idCampoRegion).empty(); $("#"+idCampoRegion).append( ""); $("#"+idCampoRegion).selectpicker("refresh"); $("#"+idCampoRegion).selectpicker('val', 0); if (actualizarLocalidad) { $("#" + idCampoLocalidad).empty(); $("#" + idCampoLocalidad).append(""); $("#" + idCampoLocalidad).selectpicker("refresh"); $("#" + idCampoLocalidad).selectpicker('val', 0); } var returned = $.ajax( { url: "ajax/Ubicacion.listadoRegiones.php?CSRF="+CSRF, type: "POST", dataType : "json", data : data, error: function(XMLHttpRequest, textStatus, errorThrown) { //ClassBlockUI.abrirBlockUIEstandarMensaje(XMLHttpRequest.responseText, true); }, success: function(data) { $("#"+idCampoRegion).empty(); $("#"+idCampoRegion).append( ""); for(var index in data) { $("#"+idCampoRegion).append( "" ); } $("#" + idCampoRegion).selectpicker("refresh"); if(idRegionPreEstablecida!=undefined && idRegionPreEstablecida !="") { $("#"+idCampoRegion).val(idRegionPreEstablecida); } else { $("#"+idCampoRegion).val(0); } $("#"+idCampoRegion).selectpicker("refresh"); if (actualizarLocalidad) { $("#" + idCampoLocalidad).empty(); $("#" + idCampoLocalidad).append(""); $("#" + idCampoLocalidad).val(0); $("#" + idCampoLocalidad).selectpicker("refresh"); } if(onFinish != undefined && typeof(onFinish) == "function") { onFinish(); } } }); } function actualizaCiudades(idCampoLocalidad, idCampoRegion, idCampoPais, idLocalidadPreEstablecida, forceIdPais, forceIdRegion,forceIdLocalidad, onFinish, textoSelect, textoLoading) { if(forceIdPais == undefined) { forceIdPais = $("#"+idCampoPais).val(); } if(forceIdRegion == undefined) { forceIdRegion = $("#"+idCampoRegion).val(); } if(forceIdLocalidad == undefined) { forceIdLocalidad = $("#"+idCampoLocalidad).val(); } if(textoSelect == undefined) { //textoSelect = ""; textoSelect = ""; } if(textoLoading == undefined) { textoLoading = "Cargando..."; } var data = { idPais: forceIdPais, idRegion: forceIdRegion }; $("#"+idCampoLocalidad).empty(); $("#"+idCampoLocalidad).append( ""); $("#"+idCampoLocalidad).selectpicker("refresh"); $("#"+idCampoLocalidad).selectpicker('val', 0); var returned = $.ajax( { url: "ajax/Ubicacion.listadoCiudades.php?CSRF="+CSRF, type: "POST", dataType : "json", data : data, error: function(XMLHttpRequest, textStatus, errorThrown) { //ClassBlockUI.abrirBlockUIEstandarMensaje(XMLHttpRequest.responseText, true); }, success: function(data) { $("#"+idCampoLocalidad).empty(); $("#"+idCampoLocalidad).append( ""); for(var index in data) { $("#"+idCampoLocalidad).append( "" ); } $("#"+idCampoLocalidad).selectpicker("refresh"); if(idLocalidadPreEstablecida!=undefined) { $("#"+idCampoLocalidad).val(idLocalidadPreEstablecida); } else { $("#"+idCampoLocalidad).val(0); } $("#"+idCampoLocalidad).selectpicker("refresh"); if(onFinish != undefined && typeof(onFinish) == "function") { onFinish(); } } }); } /* ClassBlockUI.abrirBlockUIEstandar(contenedorIDAMostrar[, accionCerrar, headerText, extraClass, restaurarElemento]); ClassBlockUI.abrirBlockUIEstandarMensaje(mensaje[, isAlertOrButtons, onClose]); ClassBlockUI.abrirBlockUIConfirm(mensaje, textoBotonAceptar, accionBotonAceptar, textoBotonCancelar[, accionBotonCancelar]); //accionBotonCancelar="close" ClassBlockUI.abrirBlockUIEsperePorFavor:([mensaje]); */ var ClassBlockUI = { restaurarElemento: function() { var data = $("body").data('blockUIEstandar.history'); if (data) { data.el.style.display = data.display; data.el.style.position = data.position; if (data.parent) data.parent.appendChild(data.el); $("body").removeData('blockUIEstandar.history'); $("#"+data.generatedId).remove(); } }, abrirBlockUIEstandar: function(contenedorIDAMostrar, accionCerrar, headerText, extraClass, restaurarElemento) { if(restaurarElemento || restaurarElemento == undefined) { ClassBlockUI.restaurarElemento(); } $(".modalAutoHide").modal("hide"); if($(".modal").length>0){$("body").addClass("modal-open")} if(contenedorIDAMostrar == undefined || $("#"+contenedorIDAMostrar).length == 0){return;} //var blockUIId="blockUI_"+new Date().getTime(); var blockUIId="blockUI_"+contenedorIDAMostrar; extraClass = extraClass == undefined ? "" : extraClass; //modal-lg var object = $("#"+contenedorIDAMostrar); var node = object[0]; var data = {}; $("body").data('blockUIEstandar.history', data); data.el = node; data.parent = node.parentNode; data.display = node.style.display; data.position = node.style.position; data.generatedId = blockUIId; data.object = object; if (data.parent) data.parent.removeChild(node); var header = headerText != undefined ? headerText : ""; var message = ''+ ''; $("body").append(message); var modal = $("#"+blockUIId); modal.find(".modal-body").append(node); modal.find(".modal-dialog").addClass("jackInTheBox"); modal.on('hidden.bs.modal', function () { ClassBlockUI.restaurarElemento(); }) var myModal = new bootstrap.Modal($(modal)[0], { keyboard: false }) myModal.show(); if(accionCerrar==undefined) //boton cerrar tiene accion por defecto { $("#"+blockUIId+" .btnCerrarModalEquis").click(function(){ myModal.hide(); if($(".modal").length>0){$("body").addClass("modal-open")} }); } else if(accionCerrar==false) //oculta el boton cerrar { $("#"+blockUIId+" .btnCerrarModalEquis").hide(); } else //boton cerrar con accion especial { $("#"+blockUIId+" .btnCerrarModalEquis").click(accionCerrar); } return modal; }, abrirBlockUIEstandarMensaje: function(mensaje, isAlertOrButtons, onClose, extraClass, title) { $(".modalAutoHide").modal("hide"); if($(".modal").length>0){$("body").addClass("modal-open")} var blockUIId="blockUI_"+new Date().getTime(); extraClass = extraClass == null || extraClass == undefined ? "" : extraClass; //modal-lg title = title == null || title == undefined ? "Aviso" : title; if(isAlertOrButtons==undefined) isAlertOrButtons=false; if(onClose==undefined) onClose=false; var botonera = ""; var botoneraEspecial = false; if(isAlertOrButtons === false) { botonera = ""; } else if (isAlertOrButtons === true) { botonera = "
Aceptar
"; } else { botoneraEspecial = true; botonera = "
"; for(var index in isAlertOrButtons) { botonera += " "+isAlertOrButtons[index]["text"]+" "; } botonera += "
"; } var message = ''; message += ''; $("body").append(message); var modal = $("#"+blockUIId); //modal.find(".modal-dialog").addClass("zoomInDown"); modal.on('hidden.bs.modal', function () { modal.remove(); }) var myModal = new bootstrap.Modal($(modal)[0], { keyboard: false }); myModal.show(); //Acciones de los botones especiales if(botoneraEspecial) { for(var index in isAlertOrButtons) { if(isAlertOrButtons[index]["action"] == "close") { isAlertOrButtons[index]["action"] = function(){ myModal.hide(); if($(".modal").length>0){$("body").addClass("modal-open")} }; } $("#"+blockUIId+" ."+index).unbind("click").click(isAlertOrButtons[index]["action"]); } } var fnOnClose; if(onClose==false) { fnOnClose = function(){ myModal.hide(); if($(".modal").length>0){$("body").addClass("modal-open")} }; } else if (typeof onClose === "function") { fnOnClose = function(){onClose()}; } else if (onClose == "location") { fnOnClose = function(){window.location.reload()}; } else if (onClose == "back") { fnOnClose = function(){history.go(-1);}; } else { fnOnClose = function(){window.location = onClose}; } $("#"+blockUIId+" .btnCerrarBlockUIAlert, #"+blockUIId+" .btnCerrarModalEquis").unbind("click").click(fnOnClose); return modal; }, abrirBlockUIConfirm: function(mensaje, textoAceptar, accionAceptar, textoCancelar, accionCancelar, extraClass, title) { accionCancelar = accionCancelar == undefined ? "close" : accionCancelar; extraClass = extraClass == null || extraClass == undefined ? "" : extraClass; var buttons = { "btnAceptarBUI_CONFIRM": { "text": textoAceptar, "action": accionAceptar }, "btnCancelarBUI_CONFIRM": { "text": textoCancelar, "action": accionCancelar } }; return ClassBlockUI.abrirBlockUIEstandarMensaje(mensaje, buttons, false, extraClass, title); }, abrirBlockUIEsperePorFavor: function(mensaje) { if(mensaje == undefined){ mensaje = "
Loading ... Espera por favor...
"; }; return ClassBlockUI.abrirBlockUIEstandarMensaje(mensaje, undefined, false, "modalEspere"); } }; var ClassDirecciones = { initModificarDirecciones: function(opciones_validacion) { ClassUsuarios.validacionModificarDatos = $("#formModificarDatos").validate(opciones_validacion); $("#guardarDatos").unbind("click").makeTagLink(ClassDirecciones.guardarDirecciones); $("#form_compra_copiar_direccion").change(function() { if($("#form_compra_copiar_direccion").val()*1 == 1) { $("#datosFacturacion").addClass("d-none"); $("#textoFacturacion").removeClass("d-none"); /*var bloqueID = "datosEntrega"; var nombre = $("#"+bloqueID+" .nombreDireccion").html(); var nif = $("#"+bloqueID+" .nifDireccion").html(); var telefono = $("#"+bloqueID+" .telefonoDireccion").html(); var direccion = $("#"+bloqueID+" .direccionDireccion").html(); var cp = $("#"+bloqueID+" .codigoPostalDireccion").html(); var poblacionID = $("#"+bloqueID+" .poblacionDireccion").attr("data-id"); var provinciaID = $("#"+bloqueID+" .provinciaDireccion").attr("data-id"); var poblacion = $("#"+bloqueID+" .poblacionDireccion").html(); var provincia = $("#"+bloqueID+" .provinciaDireccion").html(); bloqueID = "datosFacturacion"; $("#"+bloqueID+" .nombreDireccion").html(nombre); $("#"+bloqueID+" .nifDireccion").html(nif); $("#"+bloqueID+" .telefonoDireccion").html(telefono); $("#"+bloqueID+" .direccionDireccion").html(direccion); $("#"+bloqueID+" .codigoPostalDireccion").html(cp); $("#"+bloqueID+" .poblacionDireccion").attr("data-id",poblacionID); $("#"+bloqueID+" .provinciaDireccion").attr("data-id",provinciaID); $("#"+bloqueID+" .poblacionDireccion").html(poblacion); $("#"+bloqueID+" .provinciaDireccion").html(provincia);*/ } else { $("#textoFacturacion").addClass("d-none"); $("#datosFacturacion").removeClass("d-none"); } }); $(".modificarDatos").unbind("click").makeTagLink(function(){ var bloqueID = $(this).parents(".padreDatos").attr("id"); var tipo = $(this).attr("data-id"); var nombre = $("#"+bloqueID+" .nombreDireccion").html(); var nif = $("#"+bloqueID+" .nifDireccion").html(); var telefono = $("#"+bloqueID+" .telefonoDireccion").html(); var direccion = $("#"+bloqueID+" .direccionDireccion").html(); var cp = $("#"+bloqueID+" .codigoPostalDireccion").html(); var poblacion = $("#"+bloqueID+" .poblacionDireccion").attr("data-id"); var provincia = $("#"+bloqueID+" .provinciaDireccion").attr("data-id"); var pais = $("#"+bloqueID+" .paisDireccion").attr("data-id"); ClassDirecciones.setDatosForm(tipo,nombre,nif,telefono,direccion,cp,poblacion,provincia,pais); ClassBlockUI.abrirBlockUIEstandar("modificarDatos", undefined, tipo == 1 ? "Modificar datos de entrega" : "Modificar datos de facturación", "modal-md") }); }, guardarDirecciones: function() { if(!$("#formModificarDatos").valid()) { ClassBlockUI.abrirBlockUIEstandarMensaje("Por favor, revisa los campos porque se han detectado los siguientes errores

"+ClassUsuarios.validacionModificarDatos.invalidMessages("
"), true, false); return; } var opcionesDatos = { url: "ajax/Direcciones.modificarDatos.php?CSRF="+CSRF, type: "POST", dataType : "json", data : $("#formModificarDatos").serialize(), success: function(data) { if(data["error_number"]*1 >= 0) { window.location = window.location; } else { ClassBlockUI.abrirBlockUIEstandarMensaje(data["error_message"], true, false); } } } ClassBlockUI.abrirBlockUIEsperePorFavor(); $.ajax(opcionesDatos); }, setDatosForm: function(tipo,nombre,nif,telefono,direccion,cp,poblacion,provincia,pais) { $("#formModificarDatos #form_tipo").val(tipo); $("#formModificarDatos #form_nombre").val(nombre); $("#formModificarDatos #form_dni").val(nif); $("#formModificarDatos #form_telefono").val(telefono); $("#formModificarDatos #form_direccion").val(direccion); $("#formModificarDatos #form_codigo_postal").val(cp); preparaLugar(pais, provincia, poblacion, "form_pais", "form_provincia", "form_poblacion"); /*$("#formModificarDatos #form_poblacion").val(poblacion); $("#formModificarDatos #form_provincia").val(provincia);*/ } }; var ClassTiendaVirtualCarrito= { initReactivaClicks:function() { ClassTiendaVirtualCarrito.refrescarTabla(); $("body").on("click", ".alert-info", function() { $(".btnAbreCarrito").trigger("click"); }); $("body").on("click", ".btnAbreCarrito", function() { $(".overlay, #previewCarrito").addClass("active"); $("html, body").addClass("no-scroll"); }); $("#previewCarrito").on("click", "#previewCarritoCerrar", function() { $(".overlay, #previewCarrito").removeClass("active"); $("html, body").removeClass("no-scroll"); }); $("body").on("click", ".itemCarritoMas", function () { var input = $(this).parent().find("input"); var form = $(this).parents("form").attr("id"); var cantidad = $(input).val(); var nuevaCantidad = 1; if (!isNaN(cantidad)) { nuevaCantidad = cantidad*1+1; } $(input).val(nuevaCantidad); if (cantidad != nuevaCantidad && form) ClassTiendaVirtualCarrito.actualizar("#"+form); }); $("body").on("click", ".itemCarritoMenos", function () { var input = $(this).parent().find("input"); var form = $(this).parents("form").attr("id"); var cantidad = $(input).val(); var nuevaCantidad = 1; if (!isNaN(cantidad) && cantidad > 1) { nuevaCantidad = cantidad*1-1; } $(input).val(nuevaCantidad); if (cantidad != nuevaCantidad && form) ClassTiendaVirtualCarrito.actualizar("#"+form); }); $("body").on("click", ".itemPreviewCarritoEliminar, .itemCarritoEliminar", function (event) {event.preventDefault(); ClassTiendaVirtualCarrito.eliminarLineaProducto($(this).attr("data-id"))}); $("body").on("click", "#btnValidarCupon", ClassTiendaVirtualCarrito.validarCupon); }, refrescarTabla: function () { $(".tooltipStandardHTML").not(".tooltipstered").tooltipster({animation: 'grow',interactive:true, position:'bottom', contentAsHTML: true}); $(".tooltipStandard").not(".tooltipstered").tooltipster({animation: 'grow',interactive:true, position:'bottom', contentAsHTML: true}); var numProductosCarrito = 0; if (typeof tablatablaCarrito != "undefined") { numProductosCarrito = tablatablaCarrito.page.info().recordsDisplay; var width = $(window).width(); if (width <= 575) { $(".dataTableCenter > .itemCarritoBloqueCantidad").remove(); $(".carritoMovil").removeClass("d-none"); tablatablaCarrito.column(2).visible(false); tablatablaCarrito.column(3).visible(false); tablatablaCarrito.column(4).visible(false); tablatablaCarrito.column(5).visible(false); } else if (width >= 972 && width <= 1199) { $(".carritoMovil").remove(); tablatablaCarrito.column(4).visible(false); tablatablaCarrito.column(5).visible(false); } else { $(".carritoMovil").remove(); } } if (numProductosCarrito > 10) { $("#tablaCarrito_wrapper .paginationFooter").removeClass("d-none"); } }, mostrarMensajeBorrarCarrito: function(e, tipo) { ClassBlockUI.abrirBlockUIConfirm("¿Estás seguro de que deseas borrar este producto de tu compra?", "Confirmar", function(){ if(tipo==1) { ClassTiendaVirtualCarrito.eliminarProductoCarrito(e); } else { ClassTiendaVirtualCarrito.eliminarProductoCarritoBloque(e); } }, "Cancelar"); }, eliminarProductoCarrito:function(e) { var idProducto = e.attr("data-idCarrito"); if(isNaN(idProducto)) return; $("#actualizar_cantidad_"+idProducto).val(0); ClassTiendaVirtualCarrito.actualizar(); }, eliminarProductoCarritoBloque:function(e) { var idProducto = e.attr("data-idCarrito"); if(isNaN(idProducto)) return; ClassTiendaVirtualCarrito.eliminarLineaProducto(idProducto); }, cantidadModificada:function(e) { var idProducto = e.attr("data-idCarrito"); if(isNaN(idProducto)) return; $("input[name='actualizar_cantidad_"+idProducto+"']").each(function(){$(this).val(e.val())}); //$("#actualizar_cantidad_"+idProducto).val(e.val()); ClassTiendaVirtualCarrito.cantidadModificadaActualizarInfo(idProducto); }, cantidadModificadaActualizarInfo:function(idProducto) { if(!$("#cantidades").valid()) return; $(".pvpMostrarTotal[data-id="+idProducto+"]").each(function(){$(this).html("-");}); $(".total_compra_numero").html(" - "); $(".btnActualizarCantidades[data-idCarrito="+idProducto+"]").each(function(){$(this).removeClass("ocultarActualizarCantidades")}); $(".btnActualizarCantidades").unbind("click").makeTagLink(function(){ClassTiendaVirtualCarrito.actualizar()}); $("#btn_comprar").addClass("hidden"); }, actualizar: function(idFormulario, desdePais) { idFormulario = idFormulario == undefined ? "#cantidades" : idFormulario; if(!$(idFormulario).valid()) { ClassBlockUI.abrirBlockUIEstandarMensaje("Revisa las cantidades", true); return; } ClassBlockUI.abrirBlockUIEsperePorFavor(); $.ajax( { url: "ajax/TiendaVirtualCarrito.actualizarCantidades.php", type: "POST", dataType : "json", data : $(idFormulario).serialize()+"&idPais="+$("#formEnvioPais").val(), success: function(data) { if(data["error_number"] < 0) { ClassBlockUI.abrirBlockUIEstandarMensaje(data["error_message"], true); } else { ClassTiendaVirtualCarrito.actualizarPreviewCarrito(data); $(".modal").modal("hide"); if (desdePais && !data["envioValido"]) { ClassBlockUI.abrirBlockUIEstandarMensaje("", true, "https://www.almacenosmosis.com/contacto.html"); } if (data["errorStock"]) { ClassBlockUI.abrirBlockUIEstandarMensaje(data["errorStock"], true, undefined); } //window.location = window.location; } } }); //cargar de nuevo el carrito si esta abierto }, eliminarLineaProducto:function(idProducto) { $.ajax( { url: "ajax/TiendaVirtualCarrito.eliminarProducto.php?idProducto="+idProducto, type: "POST", dataType : "json", success: function(data) { if(data["error_number"] < 0) { ClassBlockUI.abrirBlockUIEstandarMensaje(data["error_message"], true); } else { ClassTiendaVirtualCarrito.actualizarPreviewCarrito(data); $(".modal").modal("hide"); //window.location = window.location; } } }); ClassBlockUI.abrirBlockUIEsperePorFavor(); //cargar de nuevo el carrito si esta abierto }, renderTablaCarrito: function(data, type, row, meta){ if(type === 'display'){ var api = new $.fn.dataTable.Api(meta.settings); var $el = $('input, select, textarea', api.cell({ row: meta.row, column: meta.col }).node()); //var $html = $(data).wrap('
').parent(); var $html = $("
").html(data); if($el.prop('tagName') === 'INPUT'){ $('input', $html).attr('value', $el.val()); if($el.prop('checked')){ $('input', $html).attr('checked', 'checked'); } } else if ($el.prop('tagName') === 'TEXTAREA'){ $('textarea', $html).html($el.val()); } else if ($el.prop('tagName') === 'SELECT'){ $('option:selected', $html).removeAttr('selected'); $('option', $html).filter(function(){ return ($(this).attr('value') === $el.val()); }).attr('selected', 'selected'); } data = $html.html(); //console.log("Antes habia: "+data); //console.log("Ahroa quiere poner: "+$html.html()); } return data; }, actualizarPreviewCarrito: function (data) { $("#previewCarritoProductos").html(data["productos"]); $("#btns-menu .btnAbreCarrito .contadorNumItems").html(data["numProductos"]); $("#previewCarritoAhorras span, #teAhorrasCarrito span").html_formated(data["teAhorras"]); $("#previewCarritoAhorras, #teAhorrasCarrito").removeClass("opacity-0"); if (data["teAhorras"] == 0) { $("#previewCarritoAhorras, #teAhorrasCarrito").addClass("opacity-0"); } $("#previewCarritoSubtotal span").html_formated(data["subtotal"], {thousandSeparator: "."}); $(".previewCarritoTotal span").html_formated(data["totalPedido"]); $(".previewCarritoEnvioTitulo").html(data["textoEnvio"]); $(".previewCarritoEnvioProgreso span").css("width", data["progreso"]+"%"); if(data["gastosEnvio"][1]*1==0) { $("#precioEntrega_1").html("¡Gratis!"); $(".previewCarritoEnvio").addClass("gratis"); } else { $("#precioEntrega_1").html(""+data["gastosEnvio"][3]+"€ ("+data["gastosEnvio"][0]+"% IVA incluido)"); $(".previewCarritoEnvio").removeClass("gratis"); } if (typeof tablatablaCarrito !== 'undefined' && tablatablaCarrito != null && tablatablaCarrito != undefined) { tablatablaCarrito.ajax.reload(null, false); ClassTiendaVirtualCarrito.actualizaTotales(); } }, validarCupon: function () { $.ajax( { url: "ajax/TiendaVirtualCupon.enviar.php", type: "POST", dataType : "json", data : { "cuponDescuento": $("#cuponDescuento").val(), "CSRF": CSRF }, success: function(data) { if(data["error_number"]<0) { ClassBlockUI.abrirBlockUIEstandarMensaje(data["error_message"], true); } else { $(".modal").modal("hide"); $("#cuponDescuento").val(""); ClassTiendaVirtualCarrito.actualizaTotales(); } } }); ClassBlockUI.abrirBlockUIEsperePorFavor(); }, actualizaTotales: function () { var transporte = $("input[name=formTransporte]:checked").val(); var pais = $("#formEnvioPais").val(); var provincia = $("#formEnvioProvincia").val(); var vat = $("#frmCofirmarPedidoVat").val(); if (typeof tablatablaTotales != "undefined") { tablatablaTotales.ajax.url('ajax/TiendaVirtualCarrito.getTotales.php?CSRF=' + CSRF + '&pais=' + pais + '&provincia=' + provincia + "&idTransporte=" + transporte+"&vat="+vat).load(); } }, is_numeric_char: function (c) { return /\d/.test(c); }, cierraModalAutoHide: function () { $(".modalAutoHide").modal("hide"); } }; var ClassTiendaVirtualPedidos = { initReactivaClicks: function(){ $(".iconoDetallePedido, .iconoImprimirFactura").tooltipster({animation: 'grow',interactive:true, position:'bottom'}); $(".tooltipStandardHTML").not(".tooltipstered").tooltipster({animation: 'grow',interactive:true, position:'bottom', contentAsHTML: true}); var numItems = 0; if (typeof tablatablaHistoricoPedidos != "undefined") { numItems = tablatablaHistoricoPedidos.page.info().recordsDisplay; } if (numItems > 10) { $("#tablaHistoricoPedidos_wrapper .paginationFooter").removeClass("d-none"); } }, initConfirmarPedido: function(opciones_validacion, paisEnvio, provinciaEnvio, poblacionEnvio, paisFacturacion, provinciaFacturacion, poblacionFacturacion) { ClassTiendaVirtualPedidos.validacion_pedido=$("#frmCofirmarPedido").validate(opciones_validacion); $("body").on("click", "#btn_confirmar_compra, #btn_confirmar_compra2", ClassTiendaVirtualPedidos.confirmarPedido); preparaLugar(paisEnvio, provinciaEnvio, poblacionEnvio, "formEnvioPais", "formEnvioProvincia", "formEnvioLocalidad"); preparaLugar(paisFacturacion, provinciaFacturacion, poblacionFacturacion, "formFacturacionPais", "formFacturacionProvincia", "formFacturacionLocalidad"); $(".paso").not(".paso-1").addClass("d-none"); $("#frmCofirmarPedido").on("change", "#eresProfesionalCarrito", function() { if ($(this).is(":checked")) { $(".form-group-rs").removeClass("d-none"); } else { $(".form-group-rs").addClass("d-none"); } }); $("#formaPago").on("change", "input[name='forma_pago']", function() { if ($(this).val()*1 == 6) { $(".aplazame-content").removeClass("d-none"); } else { $(".aplazame-content").addClass("d-none"); } }); $("#frmCofirmarPedido").on("change", "#copiarDireccionesCarrito", function() { if (!$(this).is(":checked")) { $("#formDireccionFacturacion").css("display", "flex"); $(".formFacturacionTitulo").css("display", "block"); } else { $.each($("input[name^='formEnvio'], select[name^='formEnvio']"), function (i, element) { var value = $(element).val(); var inputFact = $("#"+$(element).attr("id").replace("Envio", "Facturacion")); $(inputFact).val(value); }); $("#formDireccionFacturacion").css("display", "none"); $(".formFacturacionTitulo").css("display", "none"); } }); $("#frmCofirmarPedido").on("change", "#generarFacturaCarrito", function() { if ($(this).is(":checked")) { $("#formDireccionFacturacion").css("display", "flex"); $(".formFacturacionTitulo").css("display", "block"); } else { $("#formDireccionFacturacion").css("display", "none"); $(".formFacturacionTitulo").css("display", "none"); } }); $("#copiarDireccionesCarrito").trigger("change"); $("#generarFacturaCarrito").trigger("change"); $("body").on("click", ".btnSiguientePaso", function() { const paso = $("#paso").val(); const siguientePaso = Math.max(1, paso*1+1); const valid = ClassTiendaVirtualPedidos.validaPasosCarrito(); if (!valid) return; $(".paso").addClass("d-none"); $(".paso-"+siguientePaso).removeClass("d-none"); $("#paso").val(siguientePaso); $(".item-paso[data-paso='"+siguientePaso+"']").addClass("activo"); }); $("body").on("click", ".btnPasoAnterior", function() { const paso = $("#paso").val(); const pasoAnterior = Math.max(1, paso*1-1); $(".paso").addClass("d-none"); $(".paso-"+pasoAnterior).removeClass("d-none"); $("#paso").val(pasoAnterior); }); $("body").on("click", ".item-paso.activo", function() { const paso = $(this).attr("data-paso"); const valid = ClassTiendaVirtualPedidos.validaPasosCarrito(); if (!valid) return; $(".paso").addClass("d-none"); $(".paso-"+paso).removeClass("d-none"); $("#paso").val(paso); }); }, validaPasosCarrito: function() { let extraMsg = ""; if (!$("#frmCofirmarPedido").valid() || extraMsg != "") { ClassBlockUI.abrirBlockUIEstandarMensaje("Por favor, revisa los campos porque se han detectado los siguientes errores

"+ClassTiendaVirtualPedidos.validacion_pedido.invalidMessages("
")+extraMsg, true, false); return false; } return true; }, envioValido: function(esValido) { if(esValido) { $(".finalizarPedido").show(); } else { $(".finalizarPedido").hide(); ClassBlockUI.abrirBlockUIEstandarMensaje("Gastos de envío incorrectos, no hemos podido calcular los gastos de envío, disculpe las molestias.", true, false); } }, initDetallePedido:function () { $("body").on("click", ".itemPedidoProdValorar", function() { const datos = JSON.parse($(this).attr("data-datos")); $("#frmValorarValoracion").val(datos.comentario); marcarEstrellas(datos.puntuacion); $("#frmValorarPuntos").val(datos.puntuacion); $("#frmValorarID").val($(this).attr("data-id")); $("#frmValorar .textoSeccion").removeClass("d-none"); let titulo = "Valorar Artículo"; if (datos.puntuacion > 0) { $("#frmValorar .textoSeccion").addClass("d-none"); titulo = "Modificar valoración"; } ClassBlockUI.abrirBlockUIEstandar("bloqueValorar", undefined, titulo, "modal681"); }); $("body").on("click", "#devolverProductos", function(e) { e.preventDefault(); ClassBlockUI.abrirBlockUIEstandar("bloqueDevolver", undefined, "Devolver productos", "modal750") }); $("body").on("click", "#btnDevolver", function(e) { e.preventDefault(); let errores = ""; let algunProductoDevolver = false; $.each($(".inp-cantidad-devolucion"), function(i, e) { let maxCantidad = parseInt($(e).attr("max")) || 0; let cantidad = parseInt($(e).val()) || 0; if (cantidad > maxCantidad) { errores += errores ? "
" : ""; errores += $(e).attr("title"); } if (cantidad > 0) { algunProductoDevolver = true; } }); if (!algunProductoDevolver) { errores = "Seleccione el producto a devolver"; } if (errores != "") { ClassBlockUI.abrirBlockUIEstandarMensaje(errores, true, undefined); return; } Utils.sendStandardAjax("frmDevolver", "ajax/TiendaVirtualPedidos.devolver.php", {successCallback: "location"}); }); $("body").on("keyup", ".inp-cantidad-devolucion", function() { const maximo = $(this).attr("max")*1; let cantidad = parseInt($(this).val()) || 0; if (cantidad > maximo) { $(this).val(maximo); } }); }, confirmarPedido: function() { $(".modal").modal("hide"); var extraMsg = ""; if(!$("#politicaCarrito").is(":checked") && !usuarioIdentificado) { extraMsg += $("#politicaCarrito").attr("title")+"
"; } if(!$("#condicionesUso").is(":checked")) { extraMsg += $("#condicionesUso").attr("title"); } if (!$("#frmCofirmarPedido").valid() || extraMsg != "") { ClassBlockUI.abrirBlockUIEstandarMensaje("Por favor, revisa los campos porque se han detectado los siguientes errores

"+ClassTiendaVirtualPedidos.validacion_pedido.invalidMessages("
")+extraMsg, true, false); return; } var opcionesDatos = { url: "ajax/TiendaVirtualPedidos.procesarPedido.php?CSRF="+CSRF, type: "POST", dataType : "json", data : $("#frmCofirmarPedido").serialize()+"&frmCofirmarPedidoVat="+$("#frmCofirmarPedidoVat").val()+"&observaciones="+$("#observaciones").val()+"&informacion="+$("#informacion").val(), success: function(data) { if(data["error_number"] < 0 ) { ClassBlockUI.abrirBlockUIEstandarMensaje(data["error_message"], true, false); if (data["error_number"] == -155) { if (typeof tablatablaTotales != "undefined") { tablatablaTotales.ajax.reload(); } if (typeof tablatablaCarrito != "undefined") { tablatablaCarrito.ajax.reload(); } $(".item-paso[data-paso='2']").trigger("click"); } } else { $("#procesaPagoExterno").html(data["formularioFormaPago"]); switch(data["forma_pago"]*1) { case 5: case 1: { ClassTiendaVirtualPedidos.pagoBanco(); break; } case 2: { ClassTiendaVirtualPedidos.pagoPaypal(); break; } case 6: { $(".modalAutoHide").hide(); aplazame.checkout(data["checkoutId"]); break; } default: { window.location = ("/tienda/pedido-realizado.html?idPedido=%idPedido%").replace("%idPedido%", data["idPedido"]); break; } } } } }; ClassBlockUI.abrirBlockUIEsperePorFavor(); $.ajax(opcionesDatos); }, pagoPaypal:function() { ClassBlockUI.abrirBlockUIEsperePorFavor(""); $("#pagoPaypal").submit(); }, pagoBanco:function() { ClassBlockUI.abrirBlockUIEsperePorFavor(); $("#pagoBanco").submit(); } }; var opciones = {}; var modalAtributos=false; var modalMensaje = false; /*var opcionesPeso = false; var opcionesPaquetes = false;*/ var ClassTiendaVirtualProductos = { initAgregarProductoCarrito:function() { $(".cantidad").unbind("keyup").keyup(function() { ClassTiendaVirtualProductos.actualizarTotal($("#atributos_1").attr("id"), $("#atributos_1").find("option:selected").attr("data-suplemento")*1); }); $(".cantidad").pressEnter(function(){ return; }); $(".ficha_producto_atributos select").change(function() { ClassTiendaVirtualProductos.actualizarTotal($(this).attr("id"), $(this).find("option:selected").attr("data-suplemento")*1); }); $(".btnAgregarCarrito").unbind("click").makeTagLink(function() { ClassTiendaVirtualProductos.agregarAlCarrito(true, $(this)); }); $(".btnAnadeCarrito").unbind("click").makeTagLink(function() { ClassTiendaVirtualProductos.agregarAlCarrito(false, $(this)); }); $(".btnAgregarCarritoListado").unbind("click").makeTagLink(function() { ClassTiendaVirtualProductos.agregarAlCarritoCompruebaAtributos(false, $(this)); }); $("body").on("click", ".inputCantidadMas", function () { var input = $(this).parent().find("input"); var cantidad = $(input).val(); var nuevaCantidad = 1; if (!isNaN(cantidad)) { nuevaCantidad = cantidad*1+1; } $(input).val(nuevaCantidad) ClassTiendaVirtualProductos.actualizarTotal($("#atributos_1").attr("id"), $("#atributos_1").find("option:selected").attr("data-suplemento")*1); }); $("body").on("click", ".inputCantidadMenos", function () { var input = $(this).parent().find("input"); var cantidad = $(input).val(); var nuevaCantidad = 1; if (!isNaN(cantidad) && cantidad > 1) { nuevaCantidad = cantidad*1-1; } $(input).val(nuevaCantidad) ClassTiendaVirtualProductos.actualizarTotal($("#atributos_1").attr("id"), $("#atributos_1").find("option:selected").attr("data-suplemento")*1); }); $("body").on("click", "#itemPreviewFotos span", function () { $("#itemPreviewFotos span").removeClass("seleccionada"); $(this).addClass("seleccionada"); var src = $(this).find("img").attr("src"); $("#itemPreviewFotoPrincipal").attr("src", src); }); $(".ficha_producto_atributos select").trigger("change"); }, actualizarTotal:function(idAtributo, valorAtributo) { if(idAtributo!=undefined) { opciones[idAtributo] = valorAtributo; } //le anadido dividir entre 100 para que lo haga bien, sino suma decimales var subtotal = ($("#ficha_producto_precio").val()*1); var subtotal_sin_iva = ($("#ficha_producto_precio_sin_iva").val()*1); var subtotal_original = ($("#ficha_producto_precio_original").val()*1); var subtotal_original_sin_iva = ($("#ficha_producto_precio_original_sin_iva").val()*1); for(var index in opciones) { if(index.match(/atributo_*/i) == null) continue; subtotal += opciones[index]; subtotal_original += opciones[index]; subtotal_sin_iva += opciones[index]; subtotal_original_sin_iva += opciones[index]; } var cantidad = $(".cantidad").val()*1; if(!isNaN(cantidad)) { $("#productos_detalles_subtotal").html_formated((cantidad*subtotal), {numberOfDecimals: 2, decimalSeparator: ',', thousandSeparator: '.', symbol: ' €'}); $("#productos_detalles_subtotal_original").html_formated((cantidad*subtotal_original), {numberOfDecimals: 2,decimalSeparator: ',',thousandSeparator: '.',symbol: ' €'}); $(".fichaProductoAplazame").attr("data-amount", (cantidad*subtotal)*100); } else { $("#productos_detalles_subtotal").html_formated(subtotal, {symbol: ' €'}); $("#productos_detalles_subtotal_original").html_formated(subtotal_original, {symbol: ' €'}); $(".fichaProductoAplazame").attr("data-amount", subtotal*100); } }, agregarAlCarritoCompruebaAtributos: function(mostrandoAtributos, este){ if(!usuarioIdentificado && !1) { ClassBlockUI.abrirBlockUIEstandarMensaje("Tienes que identificarse para poder añadir el producto al carrito", true, false); return; } /*var tieneAtributos = este.attr("data-atributos"); if(mostrandoAtributos || !tieneAtributos) { ClassTiendaVirtualProductos.agregarAlCarrito(mostrandoAtributos, este); } else*/ { ClassTiendaVirtualProductos.mostrarAtributosParaAgregarAlCarrito(este); } }, mostrarAtributosParaAgregarAlCarrito: function(este){ idProducto = este.attr("data-id"); var opcionesDatos = { type:"POST", dataType:"json", url:"ajax/TiendaVirtualCarrito.seleccionaAtributos.php?CSRF="+CSRF, data: { id: idProducto }, success: function(data, textStatus, XMLHttpRequest) { if(data["error_number"]<0) { ClassBlockUI.abrirBlockUIEstandarMensaje(data["error_message"], true); } else { /*if(Object.keys(data["atributos"]).length == 0) { ClassTiendaVirtualProductos.agregarAlCarrito(false, este); } else */ $("#itemPreviewDatos .itemPreviewContieneAtributos").html(""); if(Object.keys(data["atributos"]).length > 0) { var seleccionaAtributos = "
"; for(var idAtributo in data["atributos"]) { seleccionaAtributos += ''; seleccionaAtributos += ''; } seleccionaAtributos += ''; seleccionaAtributos += '
'; $("#itemPreviewDatos .itemPreviewContieneAtributos").html(seleccionaAtributos); } $("#itemPreviewDatos .itemPreviewMarca").html(data["producto"]["marca"]); $("#itemPreviewDatos .itemPreviewProducto").html(data["producto"]["producto"]); if (!data["producto"]["esOferta"]) { $("#itemPreviewDatos .itemPreviewPrecio").addClass("d-none"); } else { $("#itemPreviewDatos .itemPreviewPrecio").removeClass("d-none"); } $("#itemPreviewDatos .itemPreviewPrecio").html(data["producto"]["precio"]); $("#itemPreviewDatos .itemPreviewPrecioOferta").html(data["producto"]["precioOferta"]); $("#itemPreviewFotoPrincipal").attr("src", data["producto"]["fotoPrincipal"]); $("#itemPreviewFotos").html(""); $.each(data["producto"]["fotos"], function (i, e) { var claseSeleccionada = e == data["producto"]["fotoPrincipal"] ? "seleccionada" : ""; $("#itemPreviewFotos").append('Producto'); }); if (data["producto"]["porcentajeDescuento"] > 0) { $("#itemPreviewDatos .itemPreviewPorcDescuento").css({opacity: 1, visibility: "visible"}); } else { $("#itemPreviewDatos .itemPreviewPorcDescuento").css({opacity: 0, visibility: "hidden"}); } $("#itemPreviewDatos .itemPreviewPorcDescuento").html(data["producto"]["porcentajeDescuento"]+"%"); $("#itemPreviewDatos .itemPreviewCantidad").val(1); $("#selectAtributos #itemPreviewProductoFotos .btnAnadirEliminarLista").tooltipster("destroy"); $("#selectAtributos #itemPreviewProductoFotos .btnAnadirEliminarLista").attr("data-id", idProducto); $("#selectAtributos #itemPreviewProductoFotos .btnAnadirEliminarLista").removeClass("deseo").addClass(data["producto"]["claseDeseo"]); $("#selectAtributos #itemPreviewProductoFotos .btnAnadirEliminarLista").attr("title", data["producto"]["tooltipDeseo"]); $(".tooltipStandard").not(".tooltipstered").tooltipster({animation: 'grow',interactive:true, position:'bottom', contentAsHTML: true}); $("#itemPreviewDatos #btnCatalogoComprarAgregarAhoraAtributos").attr("data-id", idProducto); $("#itemPreviewDatos .itemPreviewAvisame").attr("data-id", idProducto); $("#itemPreviewDatos #btnCatalogoComprarAgregarAhoraAtributos").attr("data-atributos", 1); $(".inputCantidad .cantidad").val(1); modalAtributos = ClassBlockUI.abrirBlockUIEstandar("selectAtributos", undefined, "", "modal-lg"); } } }; $.ajax(opcionesDatos); ClassBlockUI.abrirBlockUIEsperePorFavor(); }, agregarAlCarrito: function(mostrandoAtributos, este) { if(!usuarioIdentificado && !1) { ClassBlockUI.abrirBlockUIEstandarMensaje("Tienes que identificarse para poder añadir el producto al carrito", true, false); } else { var idProducto = este.attr("data-id"); var tieneAtributos = este.attr("data-atributos"); var atributos = {}; var atributosOk = true; if(tieneAtributos == 1) { $(".ficha_producto_atributos select").each(function() { atributos[$(this).attr("id")] = $(this).val(); if($(this).val() == "") { atributosOk=false; } }); } if(!atributosOk) { ClassBlockUI.abrirBlockUIEstandarMensaje("", true, false); return; } var data = atributos;//atributos; data["idProducto"] = idProducto; if(!mostrandoAtributos) { data["cantidad"] = $("#cantidad_"+idProducto).val(); //porque estamos agregando desde el listado del producto } else { data["cantidad"] = $(".cantidad").val(); } var opcionesDatos = { type:"POST", dataType:"json", url:"ajax/TiendaVirtualCarrito.agregar.php?CSRF="+CSRF, data: data, success: function(data, textStatus, XMLHttpRequest) { if(data["error_number"]<0) { ClassBlockUI.abrirBlockUIEstandarMensaje(data["error_message"], true, false); } else { ClassTiendaVirtualCarrito.actualizarPreviewCarrito(data); $(".modalAutoHide").modal("hide"); $.notify( { title: "Aviso: ", message: data["error_message"], allow_dismiss: false }, { placement: { from: "top", align: "center" }, delay: 2000, //timer: 100000 }); } } }; $.ajax(opcionesDatos); modalMensaje = ClassBlockUI.abrirBlockUIEsperePorFavor(); } }, }; var ClassUsuarios = { initModificarDatosPerfil: function(opciones_validacion, opciones_validacion_modificar_password, paisEnvio, provinciaEnvio, poblacionEnvio, paisFacturacion, provinciaFacturacion, poblacionFacturacion) { ClassUsuarios.opcValidacionModificarPassword = opciones_validacion_modificar_password; ClassUsuarios.opcValidacionModificarDatosPerfil = opciones_validacion; ClassUsuarios.validacionModificarDatosPerfil=$("#frmModificarDatosPerfil").validate(opciones_validacion); $(document).ready(function() { $(".btnGuardarCambios").unbind("click").makeTagLink(ClassUsuarios.modificarDatosPerfil); $("#btnBaja").unbind("click").makeTagLink(ClassUsuarios.confirmacionBaja); preparaLugar(paisEnvio, provinciaEnvio, poblacionEnvio, "formEnvioPais", "formEnvioProvincia", "formEnvioLocalidad"); preparaLugar(paisFacturacion, provinciaFacturacion, poblacionFacturacion, "formFacturacionPais", "formFacturacionProvincia", "formFacturacionLocalidad"); ClassUsuarios.actualizarDatos(true); $("#copiarDirecciones").click(function() { ClassUsuarios.actualizarDatos(true); }); $("#generarFactura").click(function() { ClassUsuarios.actualizarDatos(true); }); }); }, initModificarDatosContrasena: function(opciones_validacion_modificar_password) { ClassUsuarios.opcValidacionModificarPassword = opciones_validacion_modificar_password; $(document).ready(function() { $(".btnGuardarContrasena").unbind("click").makeTagLink(ClassUsuarios.modificarDatosPassword); }); }, actualizarDatos:function(actualizarSelects) { if($("#generarFactura").val() == 0 || $("#copiarDirecciones").is(":checked") == 1) { $("#formDireccionFacturacion, #formFacturacionGuardarCambios, .formFacturacionTitulo").addClass("d-none"); $("#formEnvioGuardarCambios").removeClass("d-none"); if (actualizarSelects) { $("#formDireccionFacturacion").removeClass("d-flex"); $("#formFacturacionProvincia").html($("#formEnvioProvincia").html()); $("#formFacturacionLocalidad").html($("#formEnvioLocalidad").html()); $("#formFacturacionProvincia .bs-title-option").remove(); $("#formFacturacionLocalidad .bs-title-option").remove(); $("#formFacturacionProvincia").selectpicker('refresh'); $("#formFacturacionLocalidad").selectpicker('refresh'); $("#formFacturacionProvincia").selectpicker('val', $("#formEnvioProvincia").val()); $("#formFacturacionLocalidad").selectpicker('val', $("#formEnvioLocalidad").val()); } $.each($("input[name^='formEnvio']"), function (i, element) { var value = $(element).val(); var inputFact = $("#"+$(element).attr("id").replace("Envio", "Facturacion")); $(inputFact).val(value); }); } else { $("#formDireccionFacturacion").addClass("d-flex"); $("#formFacturacionGuardarCambios, .formFacturacionTitulo, #formDireccionFacturacion").removeClass("d-none"); $("#formEnvioGuardarCambios").addClass("d-none"); } }, modificarDatosPerfil:function() { ClassUsuarios.validacionModificarDatosPerfil.resetForm(); $(".bootstrap-select").removeClass("error"); Utils.sendStandardAjax("frmModificarDatosPerfil", "ajax/Usuarios.modificarDatos.php?CSRF="+CSRF, {opcionesValidacion: ClassUsuarios.opcValidacionModificarDatosPerfil, successCallback: null}); }, modificarDatosPassword: function() { Utils.sendStandardAjax("frmModificarContrasena", "ajax/Usuarios.modificarPassword.php?CSRF="+CSRF, {opcionesValidacion: ClassUsuarios.opcValidacionModificarPassword, successCallback: null, resetFormOnSuccess: true}); }, guardaClaveOlvidoPass: function () { var opciones_validacion= { showLabels: false, rules: { passwordOlvido: { required: true, minlength: 6 }, password2: { equalTo: "#passwordOlvido" } } }; Utils.sendStandardAjax("form_olvido", "ajax/Usuarios.guardaClave.php?CSRF="+CSRF, {opcionesValidacion: opciones_validacion, successCallback: "https://www.almacenosmosis.com/inicio.html"}); }, enviarOlvido: function() { Utils.sendStandardAjax("frmEnviarOlvido", "ajax/Usuarios.olvidarContrasena.php", {successCallback: null, resetFormOnSuccess: true}); }, confirmacionBaja: function() { ClassBlockUI.abrirBlockUIConfirm("Si te das de baja perderás tu acceso, el historial de los pedidos realizados con las facturas correspondientes, ¿estas seguro de que quieres darte de baja?", "SÍ, DARME DE BAJA", ClassUsuarios.enviarBaja, "NO, CONTINUAR", undefined, "modal681 modalDarBaja", "VAS A DARTE BAJA"); }, enviarBaja: function() { $(".modal").modal("hide"); var opcionesDatos = { type:"POST", dataType:"json", url:"ajax/Usuarios.baja.php?CSRF="+CSRF, success: function(data, textStatus, XMLHttpRequest) { if(data["error_number"] >= 0) { ClassBlockUI.abrirBlockUIEstandarMensaje("Te vamos a echar mucho de menos. Puedes volver a registrarte cuando quieras, nos vemos pronto", true, "logout.php", "modal681 modalDarBaja", "TE HAS DADO DE BAJA"); } else { ClassBlockUI.abrirBlockUIEstandarMensaje(data["error_message"], true, false); } } }; $.ajax(opcionesDatos); ClassBlockUI.abrirBlockUIEsperePorFavor(); }, actualizaDni: function () { //$("#formEnvioDNI").removeClass("required").removeClass("valid").removeClass("error"); //$("#formFacturacionDNI").removeClass("required").removeClass("valid").removeClass("error"); } };