class Web { static initBanner() { $(document).ready(function () { if ($('#carousel-banner').length) { $('#carousel-banner').owlCarousel({ animateOut: 'fadeOut', animateIn: 'fadeIn', loop:true, margin:0, nav:false, dots:true, mouseDrag: false, smartSpeed: 900, autoplay: true, autoplayTimeout: 7000, items:1, }); } }); } static initInicio() { $(document).ready(function() { let formulario = $("#form-newsletter"); let validacion = formulario.validate({showLabels: false}); $("#form-newsletter").submit(function (e) { if (!formulario.valid()) { e.preventDefault(); ClassBlockUI.abrirBlockUIEstandarMensaje("Por favor, revisa los campos porque se han detectado los siguientes errores

"+validacion.invalidMessages("
"), true, undefined, ""); } }); }); } static initGaleria() { $(document).ready(function () { $(".item-galeria").simpleLightbox({maxZoom: 2}); let itemCarousel = $('.carousel-galeria'); if (itemCarousel.length > 0) { const numItems = itemCarousel.find(".item-galeria").length; itemCarousel.owlCarousel({ loop: 0, margin: 0, nav: false, dots: true, smartSpeed: 500, responsive: { 0: { items: 1, mouseDrag: numItems > 1 ? true : false, loop: numItems > 1 ? true : false, stagePadding: 0 }, 576: { items: 2, }, 768: { items: 3, }, }, onInitialized: Utils.applyAspectRatio, onResized: Utils.applyAspectRatio }); } }); } static initProducto() { $(document).ready(function () { if ($("#carousel-fotos").length) { $("#carousel-fotos").owlCarousel({ loop: false, margin: 30, items: 1, dots: false, nav: true, stagePadding: 1, navText: [ '', '', ], responsive: { 0: { items: 1, mouseDrag: true, loop: true }, 576: { loop: ($("#carousel-fotos .item").length > 3) ? true: false, mouseDrag: ($("#carousel-fotos .item").length > 3) ? true: false, items:3, }, }, onInitialized: function () { Utils.applyAspectRatio(); }, onResized: function () { Utils.applyAspectRatio(); }, }); } if ($("#carousel-relacionados").length) { $("#carousel-relacionados").owlCarousel({ loop: false, margin: 30, items: 1, dots: false, nav: true, navText: [ ' ', '', ], responsive: { 0: { items: 1, mouseDrag: true, loop: true }, 576: { loop: ($("#carousel-relacionados .cajaProducto").length > 2) ? true: false, mouseDrag: ($("#carousel-relacionados .cajaProducto").length > 2) ? true: false, items:2, }, 992: { loop: ($("#carousel-relacionados .cajaProducto").length > 3) ? true: false, mouseDrag: ($("#carousel-relacionados .cajaProducto").length > 3) ? true: false, items:3, }, 1200: { loop: ($("#carousel-relacionados .cajaProducto").length > 4) ? true: false, mouseDrag: ($("#carousel-relacionados .cajaProducto").length > 4) ? true: false, items:4, }, }, onInitialized: function () { Utils.applyAspectRatio(); }, onResized: function () { Utils.applyAspectRatio(); }, }); } Web.gallery = $(".enlace-foto").simpleLightbox(); $("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 initContacto() { $(document).ready(function(e) { $("#btnEnviarContacto").click(enviarFormulario); }); function enviarFormulario(event) { event.preventDefault(); var extraMsg = ""; if (!$("#politica").is(":checked")) { extraMsg = $("#politica").attr("title"); } Utils.sendStandardAjax("formContacto", "ajax/Contacto.enviar.php", { extraErroresForm: extraMsg, successCallback: null, resetFormOnSuccess: true, }); } } } 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 = "Provincia"; textoSelect = ""; } //var textoSelectLoc = "Localidad"; 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").css("animation-duration", "500ms").addClass("zoomIn"); 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 { if(onClose.indexOf("/") !=0 && onClose.indexOf("http") !=0) { onClose = "/"+onClose; } 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 = "
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("No es posible realizar el envío a su país. Disculpe las molestias.", true, "https://www.entrevins.es/es/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"]); $(".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=tipo_entrega]:checked").val(); var pais = $("#formEnvioPais").val(); var provincia = $("#formEnvioProvincia").val(); var localidad = $('#formEnvioLocalidad').val(); var vat = $("#frmCofirmarPedidoVat").val(); if (typeof tablatablaTotales != "undefined") { tablatablaTotales.ajax.url('ajax/TiendaVirtualCarrito.getTotales.php?CSRF=' + CSRF + '&pais=' + pais + '&provincia=' + provincia + '&localidad=' + localidad + "&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(paisEnvio, provinciaEnvio, poblacionEnvio, paisFacturacion, provinciaFacturacion, poblacionFacturacion) { ClassTiendaVirtualPedidos.validacion_pedido = $("#frmCofirmarPedido").validate({showLabels: false}); $("body").on("click", "#btn_confirmar_compra, #btn_confirmar_compra2", function() { if (!$(this).hasClass("disabled")) ClassTiendaVirtualPedidos.confirmarPedido(); }); preparaLugar(paisEnvio, provinciaEnvio, poblacionEnvio, "formEnvioPais", "formEnvioProvincia", "formEnvioLocalidad"); preparaLugar(paisFacturacion, provinciaFacturacion, poblacionFacturacion, "formFacturacionPais", "formFacturacionProvincia", "formFacturacionLocalidad"); $('#formEnvioLocalidad').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; ClassTiendaVirtualCarrito.actualizaTotales(); }); $("#btnGuardarDireccion").click(guardarDirecciones); ClassTiendaVirtualPedidos.opciones_validacion_direccion = { showLabels: false, rules: { formEnvioProvincia: {min:1}, formEnvioLocalidad: {min:1}, formFacturacionProvincia: {min:1}, formFacturacionLocalidad: {min:1} } }; $("#btnLoginCarrito").click(loginCarrito); $("#frmCarritoLoginEmail").pressEnter(loginCarrito); $("#frmCarritoLoginContrasena").pressEnter(loginCarrito); ClassTiendaVirtualPedidos.validacionLogin = $("#frmCarritoLogin").validate({showLabels: false}); $("#btnRegistroCarrito").click(registroCarrito); ClassTiendaVirtualPedidos.opciones_validacion_registro = { showLabels: false, rules: {frmCarritoRegistroPassword: {minlength: 6, required: true}, frmCarritoRegistroPassword2: {minlength: 6, required: true, equalTo: "#frmCarritoRegistroPassword"}, frmCarritoRegistroEmail2: {required: true, equalTo: "#frmCarritoRegistroEmail", email: true},} }; ClassTiendaVirtualPedidos.validacionRegistro = $("#frmCarritoRegistro").validate(ClassTiendaVirtualPedidos.opciones_validacion_registro); $("#resumen-direccion").on("click", ".cambiar-datos", function() { $("#inputs-direccion").removeClass("d-none"); $("#resumen-direccion").html(""); $("#resumen-direccion").addClass("d-none"); //#bloque-carrito-forma-pago .datos-bloque-carrito }); $("#frmDireccionCarrito").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"); } }); $("#copiarDireccionesCarrito").trigger("change"); function guardarDirecciones() { const successCallback = function (data, textStatus, XMLHttpRequest) { $(".modal").modal("hide"); if (data["error_number"] >= 0) { $("#inputs-direccion").addClass("d-none"); $("#resumen-direccion").html(""); $("#resumen-direccion, #bloque-carrito-forma-pago .datos-bloque-carrito").removeClass("d-none"); $("#btn_confirmar_compra").removeClass("disabled"); if (data["envio"]) resumenDireccion("Envio"); if (!$("#copiarDireccionesCarrito").is(":checked") || $("#copiarDireccionesCarrito").length == 0) resumenDireccion("Facturacion"); } else { ClassBlockUI.abrirBlockUIEstandarMensaje(data["error_message"], true, undefined); } }; Utils.sendStandardAjax("frmDireccionCarrito", "ajax/Usuarios.modificarDatos.php?carrito=1", { successCallback: successCallback, opcionesValidacion: ClassTiendaVirtualPedidos.opciones_validacion_direccion }); } function resumenDireccion(tipo) { let nombre = $("#form"+tipo+"Nombre").val(); let dni = $("#form"+tipo+"DNI").val(); let telefono = $("#form"+tipo+"Telefono").val(); let pais = $("#form"+tipo+"Pais option:selected").text(); let provincia = $("#form"+tipo+"Provincia option:selected").text(); let localidad = $("#form"+tipo+"Localidad option:selected").text(); let codPostal = $("#form"+tipo+"CodPostal").val(); let direccion = $("#form"+tipo+"Direccion").val(); let datos = "
"+nombre+"
Teléfono: "+telefono+"
CIF/DNI: "+dni+"
"+direccion+"
"+codPostal+" "+localidad+"
"+provincia+"
"+pais+"Cambiar datos
"; if (tipo == "Facturacion") { datos = 'Datos de Facturación'+datos; } $("#resumen-direccion").append(datos); } function registroCarrito() { var errores = ""; if(!$("#politicaCarrito").is(":checked")) { errores += "Debe aceptar la Política de Privacidad de Datos y la Política de Cookies."; } const successCallback = function (data, textStatus, XMLHttpRequest) { $(".modal").modal("hide"); if (data["error_number"] >= 0) { window.location.reload(); } else { ClassBlockUI.abrirBlockUIEstandarMensaje(data["error_message"], true, undefined); } }; Utils.sendStandardAjax("frmCarritoRegistro", "ajax/Usuarios.altaUsuario.php?carrito=1", { extraErroresForm: errores, successCallback: successCallback, opcionesValidacion: ClassTiendaVirtualPedidos.opciones_validacion_registro }); } function loginCarrito() { const successCallback = function (data, textStatus, XMLHttpRequest) { $(".modal").modal("hide"); if (data["error_number"] >= 0) { window.location.reload(); } else { ClassBlockUI.abrirBlockUIEstandarMensaje(data["error_message"], true, undefined); } }; Utils.sendStandardAjax("frmCarritoLogin", "ajax/Usuarios.login.php?carrito=1", { successCallback: successCallback }); } }, 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 = ""; if (datos.puntuacion > 0) { $("#frmValorar .textoSeccion").addClass("d-none"); titulo = ""; } ClassBlockUI.abrirBlockUIEstandar("bloqueValorar", undefined, titulo, "modal681"); }); $("body").on("click", "#devolverProductos", function(e) { e.preventDefault(); ClassBlockUI.abrirBlockUIEstandar("bloqueDevolver", undefined, "", "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 = ""; } 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() { if ($("#btn_confirmar_compra").hasClass("disabled")) return; $(".modal").modal("hide"); var extraMsg = ""; if(!$("#condicionesUso").is(":checked")) { extraMsg += $("#condicionesUso").attr("title"); } /*if ($("input[name='forma_pago']:checked").length == 0) { extraMsg += extraMsg ? "
" : ""; extraMsg += "Seleccione la forma de pago"; }*/ if (extraMsg != "") { ClassBlockUI.abrirBlockUIEstandarMensaje(extraMsg, true, false); return; } var opcionesDatos = { url: "ajax/TiendaVirtualPedidos.procesarPedido.php?CSRF="+CSRF, type: "POST", dataType : "json", data : $("#frmDireccionCarrito").serialize()+"&observaciones="+$("#observaciones").val(), success: function(data) { if(data["error_number"] < 0 ) { ClassBlockUI.abrirBlockUIEstandarMensaje(data["error_message"], true, false); } else { $("#procesaPagoExterno").html(data["formularioFormaPago"]); switch(data["forma_pago"]*1) { case 5: case 1: { ClassTiendaVirtualPedidos.pagoBanco(); break; } default: { window.location = ("/es/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: ' €'}); } else { $("#productos_detalles_subtotal").html_formated(subtotal, {symbol: ' €'}); $("#productos_detalles_subtotal_original").html_formated(subtotal_original, {symbol: ' €'}); } }, 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"); $(".btnAbreCarrito").trigger("click"); $.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() { $(".btnGuardarContrasena").unbind("click").makeTagLink(ClassUsuarios.modificarDatosPassword); $(".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); }); }); }, 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.entrevins.es/es/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"); } };