'+ $(this).attr('data-city') + ' - ' + $(this).attr('data-address') + ' - ' + $(this).attr('data-phone') +'
'+ 'require(['jquery', 'Magento_Customer/js/customer-data', 'jquery/validate', 'jquery/ui', 'elevateZoomPlugin', 'rangeSlider'], function ($, customerData) { var readCookie = function (name) { var result = document.cookie.match(new RegExp(name + '=([^;]+)')); if (result) { if (result instanceof Array) result = result[0]; result = result.split('='); result = result[1]; } return result; }; function createCookie (name, value, days) { if (days) { var date = new Date(); date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000)); var expires = "; expires=" + date.toGMTString(); } else { var expires = ""; } document.cookie = name + "=" + value + expires + "; path=/"; } $(document).ready(function () { /* Tabs descripcion/regalos en la ficha de producto */ if($('.tab-selector.default').length > 0) { $('body').on('click', '.tab-selector', function() { let productId = $(this).attr('data-product-id'); $('.product-view-tabs[data-product-id='+productId+'] .tab-selector').removeClass('default'); $('.product-view-tabs[data-product-id='+productId+'] .tab-content').removeClass('default'); $('.product-view-tabs[data-product-id='+productId+'] .tab-selector').removeClass('active'); $(this).addClass('active'); let tabId = $(this).attr('data-tab-id'); $('.product-view-tabs[data-product-id='+productId+'] .tab-content').removeClass('active'); $('.tab-content[data-tab-id='+tabId+']').addClass('active'); }); $('.tab-selector.default').click(); } /*$('#checkoutSaveOrderForm').submit(function(e) { if($('.puntoderecogida_select.active').length > 0){ if($('.puntoderecogida_select.active').val() != 0){ $.ajax({ url: $('.puntoderecogida_select.active').data('url'), type: 'post', data: { puntorecogida: $('.puntoderecogida_select.active').val(), puntorecogidaAddress: $('.puntoderecogida_select.active :selected').data('address') }, success: function (response) { return true } }); }else{ alert('Selecciona un punto de recogida.'); return false; } } return true; });*/ var cookieNotice = readCookie('ow_cookie_notice'); if ((cookieNotice != 'closed') && (cookieNotice != 'hidden')) $('#cookienotice-container').removeClass('hide'); $('#cookienotice-close-button').on('click', function(event) { event.preventDefault(); $('#cookienotice-container').remove(); createCookie('ow_cookie_notice', 'closed', 1); }); if ($('.iconos div.user').length > 0) { $('.iconos div.user').click(function (ev) { ev.preventDefault(); window.location.href = $('.iconos div.user a').attr('href'); }); } if ($('div.submenu-mobile').length > 0) { $('div.submenu-mobile select').change(function (ev) { ev.preventDefault(); let option = $('div.submenu-mobile select option:selected'); window.location.href = option.attr('data-link'); }); } if ($('.filtro__check_input').length > 0) { $('.filtro__check_input').change(function (ev) { ev.preventDefault(); if ($(this).is(':checked')) { let parent = $(this).parent(); if (parent.hasClass('category_filter_link')) { window.location.href = parent.attr('href'); } else if (parent.hasClass('label--filtro')) { window.location.href = $(this).attr('data-url'); } } }); } if ($('#product_list_sort_select').length > 0 || $('#product_list_sort_select_mobile').length > 0) { $('#product_list_sort_select, #product_list_sort_select_mobile').change(function (ev) { var $option = $(this).find(':selected'); window.location.href = $option.data('url'); }); } if ($('div.filtros').length > 0 && $('main.main__grid').length > 0) { var filtrosHeight = $('div.filtros').outerHeight(); var mainHeight = $('main.main__grid').outerHeight(); if (mainHeight <= filtrosHeight && !$('main.main__grid').hasClass('no-resize')) { $('main.main__grid').css('min-height', (filtrosHeight + 40) + 'px'); } } if ($('#search_mini_form').length > 0) { $('#search_mini_form').submit(function (ev) { ev.preventDefault(); return false; }); /*$('#search_mini_form .search-box__btn').click(function (ev) { ev.preventDefault(); $('#search_mini_form').submit(); });*/ } if ($('.trigger__addtocart').length > 0) { //$('.trigger__addtocart').click(function (ev) { $('body').on('click', '.trigger__addtocart', function (ev) { ev.preventDefault(); var $trigger = $(this); $trigger.prop('disabled', true); var product = $trigger.attr('data-product'); var action = $trigger.attr('data-action'); var qty = $('#qty__addtocart_' + product).val(); let valueText = $trigger.val(); $trigger.val($trigger.data('loading-text')); $.ajax({ url: action, type: 'post', data: { qty: qty }, success: function (response) { $trigger.prop('disabled', false); if (response.result) { $('header .iconos .cesta .badge').html(response.count); showAddedProductAdvice(); //$('header .cesta__ban').html(response.html); //$('header .cesta__ban').addClass('cesta__ban--vsb'); } else if (response.result == 0 && response.html && (response.html.includes('Cantidad no disponible') || response.html.includes('requested qty is not available'))) { showNoStockProduct(); } else { //TODO: Mostrar mensaje de error en el html } $trigger.val(valueText); } }); }); } if ($('.trigger__qty--dec').length > 0) { $('.trigger__qty--dec').click(function (ev) { var $qtyInput = $(this).parent().find('.input__txt-quant'); var currentQty = $qtyInput.val(); if (currentQty > 1) { currentQty--; $qtyInput.val(currentQty); } }); } if ($('.trigger__qty--inc').length > 0) { $('.trigger__qty--inc').click(function (ev) { var $qtyInput = $(this).parent().find('.input__txt-quant'); var currentQty = $qtyInput.val(); currentQty++; $qtyInput.val(currentQty); }); } if ($('.store-detail').length > 0) { drawMap(); } function checkReloadCheckoutPage() { var currentPath = window.location.pathname; if (currentPath.indexOf('/checkout') != -1) { location.reload(); } } $('body').on('click', '.trigger__removefromcart', function (ev) { var $trigger = $(this); var action = $trigger.data('action'); $.ajax({ url: action, type: 'post', success: function (response) { if (response.result) { $('header .iconos .cesta .badge').html(response.count); $('header .cesta__ban').html(response.html); $('header .cesta__ban').addClass('cesta__ban--vsb'); checkReloadCheckoutPage(); } else { $('header .cesta__ban').removeClass('cesta__ban--vsb'); //TODO: Mostrar mensaje de error en el html } } }); }); function updateFreeShippingNotice() { console.log("Hola") var cart = customerData.get('cart')(); var subtotal = cart.subtotalAmount || 0; var threshold = 20.00; var remaining = Math.max(0, threshold - subtotal).toFixed(2); if (subtotal >= threshold) { $('.free-shipping-message').html('
¡Envío gratis disponible!
'); } else { $('.free-shipping-message').html('Te quedan ' + remaining + ' € para el envío gratis.
'); } } if ($('.trigger__updatecartqty').length > 0) { $('.trigger__updatecartqty').click(function (ev) { ev.preventDefault(); var $trigger = $(this); var triggerAction = $trigger.data('action'); var $qtyInput = $trigger.parent().find('.input__txt-quant'); var qty = $qtyInput.val(); if (triggerAction == 'dec' && qty > 1) { qty--; } else if (triggerAction == 'inc') { qty++; } $qtyInput.val(qty); var action = $trigger.parent().data('action'); $.ajax({ url: action, type: 'post', data: { qty: qty }, success: function (response) { if (response.result) { $('.cart__summ').replaceWith(response.cartTotalsHtml); $('header .iconos .cesta .badge').html(response.count); $('header .cesta__ban').html(response.headerCartHtml); var itemId = response.itemId; var rowTotalHtml = response.rowTotalHtml; $('#row_total_' + itemId).html(rowTotalHtml); customerData.reload(['cart'], true); setTimeout(function () { updateFreeShippingNotice(); }, 500); } else { //TODO: Mostrar mensaje de error en el html } } }); }); } if ($('.cart__art-remove').length > 0) { $('.cart__art-remove').click(function (ev) { window.location.href = $(this).data('action'); }); } $('body').on('click', '.search-box__ppal', function () { if ($(this).val() != '') { $('.search-box__resultados').addClass('search-box__resultados--vsb'); } }); $('body').on('input', '.search-box__ppal', function () { if ($(this).val() == '') { $('.search-box__resultados').removeClass('search-box__resultados--vsb'); } }); $(document).mouseup(function (e) { var container = $('.search-box__resultados'); if (!container.is(e.target) && container.has(e.target).length === 0) { container.removeClass('search-box__resultados--vsb'); } }); $('.button--consultar').click(function (ev) { ev.preventDefault(); var formId = $(this).data('form'); $('.modal__content > *').remove(); $(formId).clone().appendTo('.modal__content').show(); $('.modal').not("#cookiesAlertModal").addClass('modal--in'); }); $('body').on('submit', '.producto__backorder-container-form', function (ev) { ev.preventDefault(); var $form = $(this); var $button = $form.find('.trigger__backorder-add'); $button.prop('disabled', true); $.ajax({ type: $form.attr('method'), url: $form.attr('action'), data: $form.serialize(), success: function (response) { if (response.result) { if (response.redirect) { window.location.href = response.redirectUrl; } else { $('.modal').removeClass('modal--in'); } } else { if (response.message != '') { console.log(response.message); } if (response.redirect) { window.location.href = response.redirectUrl; } } } }); }); $('body').on('click', 'div.direc a.delete', function (e) { e.preventDefault(); document.getElementById("delete-address-form").submit(); }); if ($(window).width() >= 900) { if ($('.producto__img-reg--curr').length > 0) { var zoomData = { zoomWindowWidth: 500, zoomWindowHeight: 500, borderSize: 1 }; $('.producto__img-reg--curr').elevateZoom(zoomData); $('body').on('click', '.producto__img-thumb', function () { var ordThumb = $(this).index(); $.removeData('.producto__img-reg', 'elevateZoom'); $(this).siblings().removeClass('producto__img-thumb--curr'); $(this).addClass('producto__img-thumb--curr'); $(this).closest('.producto__img').find('.producto__img-reg--curr').removeClass('producto__img-reg--curr'); $(this).closest('.producto__img').find('.producto__img-reg').eq(ordThumb).addClass('producto__img-reg--curr'); $('.producto__img-reg--curr').elevateZoom(zoomData); }); } } $(document).on('click', '#request-invoice', function (e) { $('#alert-modal-request-invoice').show(); }); $(document).on('click', '#cancel-request-invoice', function (e) { $('#alert-modal-request-invoice').hide(); }); $(document).on('click', '#accept-request-invoice', function (e) { var url = $('#accept-request-invoice').attr('data-url'); var incrementalId = $('#accept-request-invoice').attr('data-incrementalId'); var input = $('#request-invoice-input').val(); $.ajax({ url: url, type: 'post', data: {input: input,incrementalId: incrementalId}, success: function (response) {}, error: function (event, jqxhr, settings, thrownError) { console.log(event); }, complete: function () {} }); $('#alert-modal-request-invoice').hide(); }); // Cuando se selecciona una provincia, se muestran las tiendas de esa provincia y se muestran esos marcadores. // Si se selecciona 'Todas', se muestra el mapa inicial con todos los marcadores y sin direcciones. $('summary').on('click', function(e) { if (e.target !== this) return; let province; if (!$(this).parent().attr('open')) { province = $(this).attr('data-province'); $('details[open]').removeAttr('open'); } else { province = null; } if (province){ province = province.replace(/\s+/g, ''); var locationsByProvince = $('.store-loc__list div.'+province); createMapAndMarkers(locationsByProvince.first().attr('data-lat'), locationsByProvince.first().attr('data-long'), 9, locationsByProvince); } else { createMapAllLocations(); } }); if ($('.store-loc__map').length > 0) { createMapAllLocations(); } if ($('.store-loc__map-container .store-loc__map').length > 0) { $(window).scroll(function () { let stickyElement = $('.store-loc__map-container'), scroll = $(window).scrollTop(); if (scroll >= 300) { let parentwidth = stickyElement.parent().width(); //stickyElement.addClass('store-loc--fixed').width(parentwidth); let footerHeigth = $('footer').height(); let viewPortHeigth = $(window).height(); let padding = 40; let mapHeight = viewPortHeigth - footerHeigth - padding; // stickyElement.children().height(mapHeight > 500 ? 500 : mapHeight); } else { stickyElement.removeClass('store-loc--fixed'); } }); } $('#store-loc__search').keyup(function () { var input, filter, ul, li, a, i; input = document.getElementById("store-loc__search"); filter = input.value.toUpperCase(); div = document.getElementById("store-loc__search-dropdown"); a = div.getElementsByTagName("a"); var notFound = true; for (i = 0; i < a.length; i++) { txtValue = a[i].textContent || a[i].innerText; if (txtValue.toUpperCase().indexOf(filter) > -1) { notFound = false; a[i].classList.add("show"); } else { a[i].classList.remove("show"); } } if (notFound){ div.getElementsByTagName("span")[0].classList.add("show"); }else{ div.getElementsByTagName("span")[0].classList.remove("show"); } }); $('.store-loc__search-item').on('click', function(e) { if (e.target !== this) return; let province; province = $(this).attr('data-province'); var provinceDetail = $('#'+province); provinceDetail.click(); if (province){ province = province.replace(/\s+/g, ''); var locationsByProvince = $('.store-loc__list div.'+province); createMapAndMarkers(locationsByProvince.first().attr('data-lat'), locationsByProvince.first().attr('data-long'), 9, locationsByProvince); } else { createMapAllLocations(); } div = document.getElementById("store-loc__search-dropdown"); a = div.getElementsByTagName("a"); for (i = 0; i < a.length; i++) { a[i].classList.remove("show"); } var anchor = $(this).attr('data-anchor'); $('html,body').animate({scrollTop: $(anchor).offset().top}, 500); }); if ($('.cart__giftwrap').length > 0) { $('.cart__giftwrap .button--form').click(function (ev) { ev.preventDefault(); var for_gift = $('.cart__giftwrap input:checkbox:checked').length > 0; var gift_comments = $('.cart__giftwrap textarea').val(); var url = $('.cart__giftwrap').attr('data-url'); showLoader('.giftwrap__opts', 500, 500); $.ajax({ url: url, type: 'post', data: { for_gift: for_gift, gift_comments : gift_comments }, success: function (response) { setLoaderTextResponse(response.message, 1); }, error: function (event, jqxhr, settings, thrownError) { setLoaderTextResponse(event.responseJSON.message, 0); }, complete: function () { hideLoader('.giftwrap__opts', 1000, 1000, 2000); } }); }); } $(document).on('click', '#contact-form-submit-button', function (e) { e.preventDefault(); if ($("#contact-form").valid()) { $('#contact-form').submit(); } }); if ($('.inputfile').length > 0) { var inputs = document.querySelectorAll( '.inputfile' ); Array.prototype.forEach.call( inputs, function( input ) { var label = input.nextElementSibling, labelVal = label.innerHTML; input.addEventListener( 'change', function( e ) { var fileName = ''; if( this.files && this.files.length > 1 ) fileName = ( this.getAttribute( 'data-multiple-caption' ) || '' ).replace( '{count}', this.files.length ); else fileName = e.target.value.split( '\\' ).pop(); if( fileName ) label.querySelector( 'span' ).innerHTML = fileName; else label.innerHTML = labelVal; }); }); } let colorHexChildSelector = '.producto__gr_color_hex_child'; let productoGrContainerSelector = '.producto__gr_container'; let productoImgDefaultContainer = '.producto__img'; let productoDescDefaultContainer = '.producto__glob-full-desc'; let productoImgContainer = '.asoc_img'; let productoDescContainer = '.asoc_desc'; if($(colorHexChildSelector).length > 0) { $('body').on('click', colorHexChildSelector, function (ev) { ev.preventDefault(); let parentId = $(this).attr('data-parent-id'); let childId = $(this).attr('data-child-id'); let colorSeleccionado = $(".producto__gr_color_hex_child[data-parent-id='" + parentId + "']"); if (colorSeleccionado.length) { $(colorSeleccionado).find('.color_selector').removeClass('selected_color_border'); let imagenClass = $(".grid__prod-link[data-parent-id='" + parentId + "']"); $(imagenClass).find('img').attr('src', $(this).attr('data-image-url')); } else { $(colorHexChildSelector).find('.color_selector').removeClass('selected_color_border'); $(productoGrContainerSelector).hide(); $(productoDescDefaultContainer).hide(); $(productoDescContainer).hide(); $(productoImgDefaultContainer).hide(); hideZoom(productoImgDefaultContainer); $(productoImgContainer).hide(); hideZoom(productoImgContainer); } $(productoGrContainerSelector + '[data-child-id=' + childId + ']').show(); $(productoDescContainer + '[data-child-id=' + childId + ']').show(); $(productoImgContainer + '[data-child-id=' + childId + ']').show(); showZoom(productoImgContainer + '[data-child-id=' + childId + ']'); $(this).find('.color_selector').addClass('selected_color_border'); // Cada vez que se pulse actualizamos el ADDTOCART url del boton COMMPRAR let botonNewComprar = $(".newComprar[data-parent-id='" + parentId + "']"); botonNewComprar.attr('data-action', $(this).attr('data-action')); botonNewComprar.attr('data-product', $(this).attr('data-child-id')); // Cada vez que se pulse, actualizamos precios en 'final_price.html' let precioFinal = $(".actualizar_final_price[data-parent-id='" + parentId + "']"); let precioRegular = $(".actualizar_regular_price[data-parent-id='" + parentId + "']"); let circleText = $(".circle_text[data-parent-id='" + parentId + "']"); let circleDiscount = $(".circle_discount[data-parent-id='" + parentId + "']"); if ($(this).attr('data-final-price') == $(this).attr('data-regular-price')) { $(precioRegular).hide(); $(circleText).hide(); $(circleDiscount).hide(); $(precioRegular).text(''); $(precioFinal).text($(this).attr('data-final-price')); } else { let finalPrice = $(this).attr('data-final-price'); let regularPrice = $(this).attr('data-regular-price'); let descuento = 100 - ( Math.ceil((100 * finalPrice.replace(/\D/g,'')) / regularPrice.replace(/\D/g,'')).toFixed(0)); $(precioRegular).text($(this).attr('data-regular-price')); $(circleText).text('-' + descuento + '%'); $(circleText).show(); $(circleDiscount).show(); $(precioRegular).show(); $(precioFinal).text($(this).attr('data-final-price')); } }); //$(productoGrContainerSelector).hide(); //$(productoDescContainer).hide(); //$(productoImgContainer).hide(); //hideZoom(productoImgContainer); } let botonMasColores = '.boton_mas_colores'; if($(botonMasColores).length > 0) { //$(botonMasColores).click(function (ev) { $('body').on('click', botonMasColores, function (ev) { ev.preventDefault(); let hiddenCosmetic = $(".hide_cosmetic[data-parent-id='" + $(this).attr('data-parent-id') + "']"); if ( $(hiddenCosmetic).css('display') == 'none' || $(hiddenCosmetic).css("visibility") == "hidden"){ $(hiddenCosmetic).css('display', 'inline-block'); $(hiddenCosmetic).show(); } else { $(hiddenCosmetic).hide(); } if ($(this).text() == '+') { $(this).text('-'); } else { $(this).text('+'); } }); } let perfumeSelector = '.producto__gr_perfumes_cantidad'; if($(perfumeSelector).length > 0) { //$(perfumeSelector).click(function (ev) { $('body').on('click', perfumeSelector, function (ev) { ev.preventDefault(); let parentId = $(this).attr('data-parent-id'); let cantidadSeleccionada = $(".producto__gr_perfumes_cantidad[data-parent-id='" + parentId + "']"); $(cantidadSeleccionada).find('.perfume_selector').removeClass('perfume_checked'); $(this).find('.perfume_selector').addClass('perfume_checked'); let imagenClass = $(".grid__prod-link[data-parent-id='" + parentId + "']"); $(imagenClass).find('img').attr('src', $(this).attr('data-image-url')); // Cada vez que se pulse actualizamos el ADDTOCART url del boton COMMPRAR let botonNewComprar = $(".newComprar[data-parent-id='" + parentId + "']"); botonNewComprar.attr('data-action', $(this).attr('data-action')); botonNewComprar.attr('data-product', $(this).attr('data-child-id')); // Cada vez que se pulse, actualizamos precios en 'final_price.html' let precioFinal = $(".actualizar_final_price[data-parent-id='" + parentId + "']"); let precioRegular = $(".actualizar_regular_price[data-parent-id='" + parentId + "']"); let circleText = $(".circle_text[data-parent-id='" + parentId + "']"); let circleDiscount = $(".circle_discount[data-parent-id='" + parentId + "']"); if ($(this).attr('data-final-price') == $(this).attr('data-regular-price')) { $(precioRegular).hide(); $(precioRegular).text(''); $(circleText).hide(); $(circleDiscount).hide(); $(precioFinal).text($(this).attr('data-final-price')); } else { let finalPrice = $(this).attr('data-final-price'); let regularPrice = $(this).attr('data-regular-price'); let descuento = 100 - (Math.ceil((100 * finalPrice.replace(/\D/g,'')) / regularPrice.replace(/\D/g,'')).toFixed(0)); $(precioRegular).text($(this).attr('data-regular-price')); $(circleText).text('-' + descuento + '%'); $(circleText).show(); $(circleDiscount).show(); $(precioRegular).show(); $(precioFinal).text($(this).attr('data-final-price')); } }); // Auto click on default selected cantidad. $('.producto__gr_perfumes_cantidad[data-default-selected="1"]').click(); } if($(productoGrContainerSelector).length > 0) { $(productoGrContainerSelector).click(function (ev) { $(productoImgDefaultContainer).hide(); hideZoom(productoImgDefaultContainer); $(productoImgContainer).hide(); $(productoDescDefaultContainer).hide(); $(productoDescContainer).hide(); hideZoom(productoImgContainer); let childId = $(this).attr('data-child-id'); $(productoImgContainer + '[data-child-id=' + childId + ']').show(); $(productoDescContainer + '[data-child-id=' + childId + ']').show(); showZoom(productoImgContainer + '[data-child-id=' + childId + ']'); }); //$(productoImgContainer).hide(); //$(productoDescContainer).hide(); //hideZoom(productoImgContainer); } if($(colorHexChildSelector).length > 0) { //$(document).find(colorHexChildSelector).eq(0).trigger('click'); } if($('.product-view-color-selector').length > 0) { if($('.product-view-color-selector.promo-active').length > 0) { $(document).find('.product-view-color-selector.promo-active').eq(0).trigger('click'); } else { $(document).find('.product-view-color-selector').eq(0).trigger('click'); } } if($('.product-view-description-block').length > 0) { if($('.product-view-description-block.promo-active').length > 0) { $(document).find('.product-view-description-block.promo-active').eq(0).trigger('click'); } else { $(document).find('.product-view-description-block').eq(0).trigger('click'); } } let hash = location.hash; if (hash !== '' && hash.startsWith('#backorder_')) openHashModal(hash); }); function openHashModal(hash) { $('.modal__content > *').remove(); $(hash).clone().appendTo('.modal__content').show(); $('.modal').not("#cookiesAlertModal").addClass('modal--in'); } function hideZoom(element){ $.removeData('.producto__img-reg', 'elevateZoom'); $(element).find('.producto__img-reg--curr').removeClass('producto__img-reg--curr'); } function showZoom(element){ var zoomData = { zoomWindowWidth: 500, zoomWindowHeight: 500, borderSize: 1 }; $(element).find('.producto__img-reg').eq(0).addClass('producto__img-reg--curr'); if ($(window).width() < 900) { return; } $('.producto__img-reg--curr').elevateZoom(zoomData); } function createMapAllLocations() { var storeLocatorMap = $('.store-loc__map'); createMapAndMarkers(storeLocatorMap.attr('data-default_lat'), storeLocatorMap.attr('data-default_long'), 5, $('.store-loc__list div')); } function createMapAndMarkers(lat, long, zoom, element) { var map = initMap(lat, long, zoom); $.each(element, function () { var contentString = ''+ $(this).attr('data-city') + ' - ' + $(this).attr('data-address') + ' - ' + $(this).attr('data-phone') +'
'+ '