const navText = [ '', '', ]; class Web { static init() { $(document).ready(function(e) { $(".tooltipster-left, .tooltipStandardLeft").not(".tooltipstered").tooltipster({animation: 'grow',interactive:true, position:'left'}); $(".whatsapp .tooltipster-left, .btn-apuntame-ws").click(function(){$("#bloque-whatsapp").addClass("open")}); $("#bloque-whatsapp-cerrar").click(function(){$("#bloque-whatsapp").removeClass("open")}); ClassTiendaVirtualProductos.initAgregarProductoCarrito(); $(".btnMenuUsuario").not(".tooltipstered").tooltipster({theme: ['tooltipster-grow', 'tooltip-menu-usuario'], animation: 'grow', interactive:true, position:'bottom', contentAsHTML: true, trigger: "click"}); }); } static initInicio() { $(document).ready(function(e) { $.each($(".carousel-productos"), function (i, e) { Web.createCarouselProducts($(e)); }); }); } static initCategorias() { $(document).ready(function () { $("#categorias-nav button").click(function(){ const currentPosition = $('#categorias').scrollLeft(); const newPosition = $(this).hasClass("next") ? currentPosition + 340 : currentPosition - 340; $('#categorias').animate({scrollLeft: newPosition}, 300); }); }); } static initMarcas() { $(document).ready(function () { const element = $("#carousel-marcas"); const items = element.find(".item-marca").length; element.owlCarousel({ loop: false, margin: 30, items: 1, dots: false, nav: true, navText: navText, lazyLoad: true, autoplay: true, autoplayTimeout: 7000, responsive: { 0: { items: 2, loop: items > 2, mouseDrag: items > 2, }, 576: { loop: items > 3, mouseDrag: items > 3, items: 3 }, 992: { loop: items > 5, mouseDrag: items > 5, items: items > 5 ? 3.5 : 4, }, 1200: { loop: items > 5, mouseDrag: items > 5, items: 5, }, 1600: { loop: items > 6, mouseDrag: items > 6, items: 6, }, }, }); }); } static initResenas() { $(document).ready(function () { const elementCarousel = $("#valoraciones"); if (elementCarousel.length > 0) { let numItems = elementCarousel.find(".item-resena").length; elementCarousel.owlCarousel({ margin: 30, nav: true, navText: navText, dots: false, lazyLoad: true, stagePadding: 3, responsive: { 0: { items: 1, loop: numItems > 1, }, 768: { items: numItems > 1, loop: numItems > 1, stagePadding: numItems > 1 ? 60 : 0 }, 992: { items: numItems > 3 ? 1.5 : 2, loop: numItems > 3, }, 1200: { items: numItems > 4 ? 2.5 : 3, loop: numItems > 6, }, 1600: { items: 3, loop: numItems > 3, } } }); $("body").on("click", ".btn-mas-valoracion", function () { var padre = $(this).parents(".item-resena"); //$(padre).find(".valoracion-texto").addClass("d-none"); //$(padre).find(".valoracion-texto-completo").removeClass("d-none"); $("#bloque-resena .textoSeccion").html(padre.find(".valoracion-texto-completo").html()); ClassBlockUI.abrirBlockUIEstandar("bloque-resena", undefined, "Reseña de " + padre.find(".item-resena-usuario").text(), "modal622"); }); $("body").on("click", "#btn-cerrar-resena", function (e) { $(".modal").modal("hide"); }); } }); } static createCarouselProducts(element, { items1200 = 4, items992 = 3, items768 = 2, itemsMobile = 2 } = {}) { if (element.length === 0) return; const items = element.find(".itemProducto").length; element.owlCarousel({ loop: false, margin: 30, items: 1, dots: false, nav: true, navText: navText, responsive: { 0: { items: itemsMobile, loop: items > itemsMobile, mouseDrag: items > itemsMobile, }, 768: { loop: items > items768+1, mouseDrag: items > items768+1, items: items768, stagePadding: items > items768 ? 50 : 0 }, 992: { loop: items > items992, mouseDrag: items > items992, items: items992, }, 1200: { loop: items > items1200, mouseDrag: items > items1200, items: items1200, }, }, }); } static initTexto() { $("document").ready(function() { //$(".textoSeccion a").attr("target", "_blank"); $(".textoSeccion a[href^='tel']").removeAttr("target"); $(".textoSeccion img[style^='float: left'], .textoSeccion img[style^='float:left']").addClass("margin-right-20 margin-bottom-20 img-float"); $(".textoSeccion img[style^='float: right'], .textoSeccion img[style^='float:right']").addClass("margin-left-20 margin-bottom-20 img-float"); $(".textoSeccion img:not(.imagenDerecha)").addClass("img-fluid").css("max-width", "100%").css("height", "auto").css("object-fit", "cover"); }); } static initBanner() { $(document).ready(function () { if ($('#carousel-banner').length) { $('#carousel-banner').owlCarousel({ animateOut: 'fadeOut', animateIn: 'fadeIn', loop:true, lazyLoad:true, margin:0, nav:true, navText: [ '', '', ], dots:false, mouseDrag: false, smartSpeed: 900, autoplay: true, autoplayTimeout: 7000, items:1, }); } }); } static initProducto() { $(document).ready(function () { let carouselFotos = $("#carousel-fotos-producto"); if (carouselFotos.length) { const numItems = carouselFotos.find(".item-foto").length; carouselFotos.owlCarousel({ loop: false, margin: 30, items: 1, dots: false, nav: true, navText: navText, responsive: { 0: { items: numItems > 1, mouseDrag: true, loop: numItems > 1 }, 576: { loop: numItems > 3, mouseDrag: numItems > 3, items: 3, margin: 20 }, 992: { loop: numItems > 4, mouseDrag: numItems > 4, items: 4, margin: 30 } } }); } $.each($(".carousel-productos"), function (i, e) { Web.createCarouselProducts($(e)); }); initMagnifier(); $('#images').viewer({ title: false, toolbar: { oneToOne: true, zoomIn: true, zoomOut: true, prev: true, play: true, next: true } }); const viewer = $('#images').data('viewer'); $('#img-principal').click(function() { viewer.view($("#img-principal").attr("data-pos")); }) $("body").on("click", ".item-foto", function () { $(".item-foto img.seleccionada").removeClass("seleccionada"); $("#img-principal").attr("src", $(this).find("img").attr("data-big")).attr("data-pos", $(this).attr("data-pos")); $(this).find("img").addClass("seleccionada"); const w = $(window).innerWidth(); if (w >= 567 && w <=767) { viewer.view($(this).attr("data-pos")); } }); $(".opcs-producto button").click(function(){ buttonSelected(this); }); ClassTiendaVirtualProductos.actualizarTotal(); }); function buttonSelected(btn) { $(btn).parents(".opcs-producto").find("button").removeClass("selected"); $(btn).addClass("selected"); $(".ficha-producto-ref span").text($(btn).attr("data-ref")); ClassTiendaVirtualProductos.actualizarTotal(); } function initMagnifier() { const img = $("#img-principal"); img.parent().on("mousemove", function(e){ var zoomer = $(e.currentTarget)[0]; const offsetX = e.offsetX ? e.offsetX : (e.touches && e.touches[0] ? e.touches[0].pageX : 0); const offsetY = e.offsetY ? e.offsetY : (e.touches && e.touches[0] ? e.touches[0].pageX : 0); const x = offsetX/zoomer.offsetWidth*100; const y = offsetY/zoomer.offsetHeight*100; zoomer.style.backgroundPosition = x + '% ' + y + '%'; img.parent().css("background-image", "url(" + img.attr("src") +")"); }); } } 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", "https://www.elositodeclaudia.com/ajax/Contacto.enviar.php", { extraErroresForm: extraMsg, successCallback: null, resetFormOnSuccess: true, }); } } static initListadoProductos(datosPaginador) { $(document).ready(function () { let LOADING_ELEMENTS = false; let numPages = datosPaginador["numPages"]; let page = datosPaginador["page"]; let scrollPosition = 0; const productosElement = $("#productos"); $(window).scroll(function () { scrollPosition = $(window).scrollTop() + $(window).height(); if (scrollPosition > productosElement.height() - 100 && !LOADING_ELEMENTS) { if (page < numPages) { page++; cargarItems(); } } }); function cargarItems() { if (LOADING_ELEMENTS) return; LOADING_ELEMENTS = true; var successCallback = function (data, textStatus, XMLHttpRequest) { $(".modal").modal("hide"); if (data["error_number"] >= 0) { //Lo vuelvo asignar por si esta bajando a saco if (page != 1) { scrollPosition = $(window).scrollTop() + $(window).height(); if (scrollPosition > productosElement.height() + 400) { $(window).scrollTop(productosElement.offset().top + productosElement.height() - 350); } } numPages = data["numPages"]; $("#btn-subir").removeClass("d-none"); $(".sinResultados").addClass("d-none"); if (page == 1) productosElement.html(""); productosElement.append(data["productos"]); if (productosElement.html() === "") $(".sinResultados").removeClass("d-none"); setTimeout(function () { LOADING_ELEMENTS = false; }, 1000); } }; Utils.sendStandardAjax(null, "https://www.elositodeclaudia.com/ajax/Productos.cargar.php", { successCallback: successCallback, esperePorFavor: false, prepareFormData: function () { let formData = new FormData($("#filtros-producto-container")[0]); formData.append("page", page); formData.append("filtros", datosPaginador["filtros"]); return formData; }, }); } }); } } 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: "https://www.elositodeclaudia.com/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: "https://www.elositodeclaudia.com/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("zoomIn"); 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 { 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: "https://www.elositodeclaudia.com/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"); }); $("body").on("click", "#previewCarritoCerrar, .overlay", 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(true); 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: "https://www.elositodeclaudia.com/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("Por el momento no hacemos envíos a su país, contacte con nosotros para continuar con el pedido.", true, "https://www.elositodeclaudia.com/contacto/"); } 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: "https://www.elositodeclaudia.com/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"]); $(".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["textoEnvio"] == "") $(".previewCarritoEnvio").addClass("d-none"); else $(".previewCarritoEnvio").removeClass("d-none"); 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: "https://www.elositodeclaudia.com/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 localidad = $('#formEnvioLocalidad').val(); var vat = $("#frmCofirmarPedidoVat").val(); var paisFacturacion = !$("#copiarDireccionesCarrito").is(":checked") || $("input[name='formTransporte']:checked").val() == 2 ? $("#formFacturacionPais").val() : $("#formEnvioPais").val(); var provinciaFacturacion = !$("#copiarDireccionesCarrito").is(":checked") || $("input[name='formTransporte']:checked").val() == 2 ? $("#formFacturacionProvincia").val() : $("#formEnvioProvincia").val(); if (typeof tablatablaTotales != "undefined") { tablatablaTotales.ajax.url('https://www.elositodeclaudia.com/ajax/TiendaVirtualCarrito.getTotales.php?CSRF=' + CSRF + '&pais=' + pais + '&provincia=' + provincia + '&localidad=' + localidad + "&idTransporte=" + transporte+"&vat="+vat+"&paisFacturacion="+paisFacturacion+"&provinciaFacturacion="+provinciaFacturacion).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); $("#btnGuardarFormaPago").click(function(){ $(".checks-forma-pago > div").addClass("d-none"); $(".checks-forma-pago input:checked").parents(".form-check").removeClass("d-none"); $("#bloque-carrito-forma-pago .cambiar-datos, #bloque-carrito-observaciones .datos-bloque-carrito").removeClass("d-none"); $("#btn_confirmar_compra").removeClass("disabled"); }); 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").on("click", ".cambiar-datos", function() { $(".checks-forma-pago > div").removeClass("d-none"); $("#bloque-carrito-forma-pago .cambiar-datos").addClass("d-none"); }); $("#frmDireccionCarrito").on("change", "#copiarDireccionesCarrito", function() { if (!$(this).is(":checked")) { $("#formDireccionFacturacion, .formFacturacionTitulo").removeClass("d-none"); } 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, .formFacturacionTitulo").addClass("d-none"); } ClassTiendaVirtualCarrito.actualizaTotales(); }); $("#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"); if (data["envio"]) resumenDireccion("Envio"); if ($("#formTransporte2").is(":checked") || !$("#copiarDireccionesCarrito").is(":checked") || $("#copiarDireccionesCarrito").length == 0) resumenDireccion("Facturacion"); } else { ClassBlockUI.abrirBlockUIEstandarMensaje(data["error_message"], true, undefined); } }; Utils.sendStandardAjax("frmDireccionCarrito", "https://www.elositodeclaudia.com/ajax/Usuarios.modificarDatos.php?carrito=1&transporte="+$("input[name='formTransporte']:checked").val(), { 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", "https://www.elositodeclaudia.com/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", "https://www.elositodeclaudia.com/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")); $("#frmValorarTitulo").val(datos.titulo); $("#frmValorarValoracion").val(datos.comentario); marcarEstrellas(datos.puntuacion); $("#frmValorarPuntos").val(datos.puntuacion); $("#frmValorarID").val($(this).attr("data-id")); $(".img-producto-valorar").attr("src", datos.img); $(".titulo-producto-valorar").text(datos.titulo) let titulo = "Valorar Producto"; if (datos.puntuacion > 0) { titulo = "Ver Valoración"; $("#btnValorar").addClass("d-none"); $("#frmValorarValoracion, #frmValorarTitulo").prop("readonly", true); $("#realizarValoracion .estrella").removeClass("activa"); } else { $("#btnValorar").removeClass("d-none"); $("#frmValorarValoracion, #frmValorarTitulo").prop("readonly", false); $("#realizarValoracion .estrella").addClass("activa"); } 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", "https://www.elositodeclaudia.com/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: "https://www.elositodeclaudia.com/ajax/TiendaVirtualPedidos.procesarPedido.php?CSRF="+CSRF, type: "POST", dataType : "json", data : $("#frmDireccionCarrito").serialize()+"&observaciones="+$("#observaciones").val()+"&forma_pago="+$("input[name='forma_pago']:checked").val()+"&formTransporte="+$("input[name='formTransporte']:checked").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(); } } } else { $("#procesaPagoExterno").html(data["formularioFormaPago"]); switch(data["forma_pago"]*1) { case 5: case 1: { ClassTiendaVirtualPedidos.pagoBanco(); break; } case 3: default: { window.location = "https://www.elositodeclaudia.com/tienda/mis-pedidos/?id="+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; } var subtotal = ($("#ficha_producto_precio").val()*1); for(var index in opciones) { if(index.match(/atributo_*/i) == null) continue; subtotal += opciones[index]; } $(".opcs-producto:not(.d-none) button.selected").each(function (i, e){ subtotal += $(e).attr("data-suplemento")*1 || 0; }); const cantidad = $(".cantidad").val()*1 || 1; $("#productos_detalles_subtotal").html_formated((cantidad*subtotal), {numberOfDecimals: 2, decimalSeparator: ',', thousandSeparator: '.', 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:"https://www.elositodeclaudia.com/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; let hayError = false; if(tieneAtributos == 1) { $(".caja-atr:not(.d-none)").each(function (i, e) { const title = $(e).attr("data-title"); const name = "atributos_" + $(e).attr("data-id"); if ($(e).find("button:not(.dropdown-toggle)").length > 0) { const selected = $(e).find("button.selected"); if (selected.length == 0) { hayError = true; ClassBlockUI.abrirBlockUIEstandarMensaje(title, true, false); return false; } atributos[name] = selected.attr("data-id"); } }); } if (hayError) return; /*if(!atributosOk) { if ($("#bloque-atributos").length > 0 && $("#blockUI_bloque-atributos").length == 0) { $("#blockUI_bloque-atributos").modal("hide"); ClassBlockUI.abrirBlockUIEstandar("bloque-atributos", undefined, "", "modal356"); return; } else { 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:"https://www.elositodeclaudia.com/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 { ClassTiendaVirtualProductos.animateImageCart($("#foto-principal img")); ClassTiendaVirtualCarrito.actualizarPreviewCarrito(data); const stocks = data["stocks"]; $(".opcs-producto button.selected").removeClass("selected"); $.each(stocks, function (index, stock) { if (stock <= 0) $(".opcs-producto button[data-id='"+index+"']").prop("disabled", "disabled"); }); $(".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(); } }, animateImageCart: function (element) { if (element.length == 0) return; var productImage = element.clone(); var cart = $(".btnAbreCarrito:visible"); var animation = $(".cart-animation"); let elementStart = $("#frm-datos-producto .btnAgregarCarrito"); if ($("#datos-mv-producto").length > 0) elementStart = $("#datos-mv-producto .btnAgregarCarrito"); const elementPosition = elementStart.offset(); var maxLeft = $(window).width() - animation.width(); animation.html(productImage); animation.css({ top: elementPosition.top, left: elementPosition.left + elementStart.width() - animation.width() }); animation.show(); var cartPosition = cart.offset(); animation.animate({ top: cartPosition.top + cart.height() / 2, left: Math.min(cartPosition.left + cart.width() / 2, maxLeft), opacity: 1 }, 1200, function() { animation.hide(); productImage.remove(); }); } }; 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); }); }); }, 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", "https://www.elositodeclaudia.com/ajax/Usuarios.modificarDatos.php?CSRF="+CSRF, {opcionesValidacion: ClassUsuarios.opcValidacionModificarDatosPerfil, successCallback: null}); }, modificarDatosPassword: function() { Utils.sendStandardAjax("frmModificarContrasena", "https://www.elositodeclaudia.com/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", "https://www.elositodeclaudia.com/ajax/Usuarios.guardaClave.php?CSRF="+CSRF, {opcionesValidacion: opciones_validacion, successCallback: "https://www.elositodeclaudia.com/"}); }, enviarOlvido: function() { Utils.sendStandardAjax("frmEnviarOlvido", "https://www.elositodeclaudia.com/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:"https://www.elositodeclaudia.com/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, "https://www.elositodeclaudia.com/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"); } };