/** * Required vars: * - estado_mayorista * - uri * - categorias_flatten * - pago_online * - products_feed * - product_common */ var navbar = $('.header-menu'); var sticky = navbar.offset().top; var header_announcement = $('.header-announcement'); var sitekey = '6LfXRycUAAAAAFQF69mKvgHerNR9oDrDYw1BM_Kw'; var csrf_token = $('meta[name="csrf-token"]').attr('content'); var cdn = get_cloudfront_url('productos'); var login_captcha = null; var register_captcha = null; var recover_captcha = null; var wholesaler_captcha = null; var contact_captcha = null; var newsletter_captcha = null; var regret_captcha = null; window.onscroll = function() { stickyNavbar(); } function stickyNavbar() { if(window.pageYOffset > sticky) { if($('.nav.first > li').length<=10 || $('body').width()<=960) { if(navbar.attr('class') !== 'header-menu background--primary header-menu--sticky') { navbar.attr('class', 'header-menu background--primary header-menu--sticky'); } } else { if(navbar.attr('class') !== 'header-menu') { navbar.attr('class', 'header-menu background--primary'); } } } else { if(navbar.attr('class') !== 'header-menu') { navbar.attr('class', 'header-menu background--primary'); } } } function product_item(producto, product_css_prefix) { var p_producto = product_get_params(producto, estado_mayorista, categorias_flatten, uri); var html = ''; html += '
'; html += '
'; html += ''; if(p_producto.sale_off) { html += ''; html += p_producto.sale_off+'% OFF'; html += ''; } if(!p_producto.stock) { html += ''; html += product_common.out_of_stock; html += ''; } html += 'Producto - '+producto.p_nombre+''; html += ''; html += '
'; html += '

'; html += ''; html += producto.p_nombre; html += ''; html += '

'; if(p_producto.precio) { html += '

'; if(p_producto.precio_anterior) { html += ''+number_format(p_producto.precio_anterior)+''; } html += number_format(p_producto.precio); html += '

'; } if(pago_online) { if(products_feed.product_subtext_type===0) { html += '

'; html += products_feed.product_subtext; html + '

'; } else if(products_feed.product_subtext_type==1 && p_producto.precio) { html += '

'; html += get_parameterized_lang_string(product_common.list_installments, { installments: products_feed.product_subtext_cuotas, amount: number_format(p_producto.precio / products_feed.product_subtext_cuotas) }); html += '

'; } } if(estado_mayorista) { html += '

'; html += get_parameterized_lang_string(product_common.wholesale_min_qty, { qty: producto.p_cantidad_minima }); html += '

'; } html += '
'; return html; } function input(id,type,label,regex,error_message,placeholder,value,required,extra_css) { var newHtml = '
'; if(label) { newHtml += ''; } if(value) { newHtml += ''; } else { newHtml += ''; } newHtml += '

'; newHtml += '
'; return newHtml; } function button(id,label,size,type,disabled,loading,show,width,extra,extra_css) { var ratio; switch(size) { case 'small': ratio = "0.5"; break; case 'normal': ratio = "0.75"; break; case 'input': ratio = "0.75"; break; case 'large': ratio = "1"; break; } extra_css = extra_css === '' ? '' : ' '+extra_css; extra_css += (loading || disabled) ? ' button--inactive' : ''; extra_css += show ? '' : ' button--hidden'; extra_css += width ? ' button--'+width : ''; var newHtml = ''; return newHtml; } //cart var ca_carrito; var ca_carrito_enable_cp_edit = false; function get_cart() { $('.cart-sidenav__loader').show(); $.ajax({ headers: { 'X-CSRF-TOKEN': csrf_token }, url: "/v4/cart", dataType: "JSON", method: "GET", cache: false }).done(function(resp) { var ca_carrito_new = resp.data; build_cart(ca_carrito_new, open_cart, []); }).fail(function(err) { var resp = err.responseJSON; $('.cart-sidenav__loader').hide(); if(resp && resp.message) { error($('.cart-sidenav__msg'), resp.message.description); } }); } function build_single_shipping_cart_option(option, envio_seleccionado) { var price_obj = format_shipment_price(option); var days_obj = format_shipment_days(option); var image = 'https://dk0k1i3js6c49.cloudfront.net/iconos-envio/costo-envio/'+option.icono; var newHtml = '
  • '; newHtml += '
    '; newHtml += '
    '; newHtml += ''; newHtml += '
    '; newHtml += '
    '; newHtml += '
    '; newHtml += '
    '; newHtml += ''; newHtml += '
    '; newHtml += '
    '; newHtml += '

    '; newHtml += ''; newHtml += '

    '; if(price_obj.label) { newHtml += '

    '; newHtml += ''; newHtml += '

    '; } if(option.descripcion.length) { newHtml += '

    '; newHtml += ''; newHtml += '

    '; } newHtml += '
    '; newHtml += '
    '; newHtml += '
    '; newHtml += '
    '; newHtml += '
  • '; return newHtml; } function build_shipping_cart_options(key, envios_format, envio_seleccionado, in_other_office) { var newHtml = ''; if(envios_format[key].featured.length) { newHtml += '
    '; newHtml += '

    '; newHtml += product_common['shipment_'+key]; newHtml += '

    '; newHtml += ''; if(envios_format[key].others.length && !in_other_office) { newHtml += '

    '+product_common.shipment_office_show_more+'

    '; } newHtml += '
    '; } return newHtml; } function build_cart(ca_carrito_new, open_side, errors) { ca_carrito = ca_carrito_new; var productos = ca_carrito.productos; var subtotal = 0; var total = 0; var cantidad = 0; var html = ''; $('.cart-sidenav__loader').show(); $('.cart-sidenav__msg').html(''); if(open_side) UIkit.offcanvas('#cart-sidenav').show(); for(idStock in productos) { var producto = productos[idStock]; var precio_item = producto.precio_unitario * producto.cantidad; subtotal += precio_item; cantidad += 1; if(cantidad===1) { html += '
  • '; } html += '
  • '; html += '
    '; html += ''; html += '
    '; html += '

    '+producto.nombre+'

    '; html += '

    '; for(var i in producto.info_atributos) { var atributos_keys = Object.keys(producto.info_atributos); var atributo = producto.info_atributos[i]; if(parseInt(i)===parseInt(atributos_keys[atributos_keys.length-1])) { html += atributo.at_nombre+': '+atributo.vat_valor; } else { html += atributo.at_nombre+': '+atributo.vat_valor+' - '; } } html += '

    '; html += '
    '; html += ''; html += ''+producto.cantidad+''; html += ''; html += '
    '; html += '
    '; html += '
    '; html += '
    '; html += '

    '+number_format(precio_item)+'

    '; html += ''; html += '
    '; html += '
  • '; } if(cantidad===0) { html += '
  • '; html += '
  • '; html += '

    '+cart_labels.sidenav_empty_cart+'

    '; html += ''+cart_labels.sidenav_back_shop+''; html += '
  • '; } //subtotal if(cantidad>0) { html += '
  • '; html += '
  • '; html += '
    '; html += '

    '+cart_labels.sidenav_subtotal+'

    '; html += '
    '; html += '
    '; html += '

    '+number_format(subtotal)+'

    '; html += '
    '; html += '
  • '; total = subtotal; //envios var envio = ca_carrito.envio; if(envio.requerido) { if(envio.codigo_postal && !ca_carrito_enable_cp_edit) { html += '
  • '; html += '
  • '; html += '
    '; html += '
    '; html += '

    '+cart_labels.sidenav_shipment_list_title+'

    '; html += '

    CP '+envio.codigo_postal+'

    '; html += '
    '; html += '
    '; html += '
    '; html += '

    '+cart_labels.sidenav_shipment_list_change_zip_code+'

    '; html += '
    '; html += '
  • '; //cargo los metodos de envio var envios = envio.envios_disponibles; var envios_format_obj = sort_shipping_cart_options(envio.envios_disponibles, envio.envio_seleccionado); var in_other_office = envios_format_obj.in_other_office; var envios_format = envios_format_obj.options; if(envios.length>0) { html += '
  • '; html += '
    '; html += build_shipping_cart_options('domicile', envios_format, envio.envio_seleccionado, in_other_office); html += build_shipping_cart_options('office', envios_format, envio.envio_seleccionado, in_other_office); html += build_shipping_cart_options('other', envios_format, envio.envio_seleccionado, in_other_office); html += build_shipping_cart_options('point', envios_format, envio.envio_seleccionado, in_other_office); html += '
    '; html += '
  • '; var envio_seleccionado = format_shipment_price(envios[envio.envio_seleccionado]); total = total + envio_seleccionado.price; if(envios[envio.envio_seleccionado].tipo !== 3) { html += '
  • '; html += '
    '; html += '

    '+cart_labels.sidenav_shipment+'

    '; html += '
    '; html += '
    '; html += '

    '+envio_seleccionado.label_detail+'

    '; html += '
    '; html += '
  • '; } } } else { html += '
  • '; html += '
  • '; html += '
    '; html += '

    '+cart_labels.sidenav_shipment_title+'

    '; html += ''; html += '
    '; html += '
  • '; } } ca_carrito_enable_cp_edit = false; //cupon if(parseInt(cupones_descuento)) { var cupon = ca_carrito.cupon; if(cupon.id) { total = total - cupon.monto_descuento; html += '
  • '; html += '
  • '; html += '
    '; html += '
    '; html += '

    '+cart_labels.sidenav_coupon+'

    '; html += '

    '+cart_labels.sidenav_coupon_remove_button+'

    '; html += '
    '; html += '
    '; html += '
    '; html += '

    -'+number_format(cupon.monto_descuento)+'

    '; html += '
    '; html += '
  • '; } else { html += '
  • '; html += '
  • '; html += '
    '; html += '

    '+cart_labels.sidenav_coupon_add_title+'

    '; html += ''; html += '
    '; html += '
  • '; } } //total html += '
  • '; html += '
  • '; html += '
    '; html += '

    '+cart_labels.sidenav_total+'

    '; html += '
    '; html += '
    '; html += '

    '+number_format(total)+'

    '; html += '
    '; html += '
  • '; html += '
  • '; html += '
  • '; html += button('start_checkout-btn', cart_labels.sidenav_checkout_start_button, 'large', 'button', false, false, true, 'full', '', 'border-radius--full'); html += ''+cart_labels.sidenav_keep_buying_button+''; html += '
  • '; } //actualizo cantidades $('.cart-qty').html(cantidad); $('.cart-price').html(number_format(total)); //saco el loader $('.cart-sidenav__loader').hide(); //cargo el contenido $('.cart-sidenav__content').html(html); //muestro errores si hay if(errors.length) { error_multiple($('.cart-sidenav__msg'), errors); goToSpecific($('.cart-sidenav__offcanvas-bar'), 300); } } //end cart $(function(){ //input validation $(document).on('blur', '.field__input:not(.header-search__input), .field__textarea', function(){ var field = $(this); setTimeout(function(){ validate_field(field); },20); }); //end input validation //cart get_cart(); $('.cart-sidenav__content').on('click', '.cart-sidenav__product-qty-button', function(e){ e.preventDefault(); $('.cart-sidenav__loader').show(); var action = $(this).attr('data-action'); var stock = $(this).attr('data-stk'); var product = $(this).attr('data-product'); $.ajax({ headers: { 'X-CSRF-TOKEN': csrf_token }, url: "/v4/cart/qty", dataType: "JSON", method: "POST", data: { action: action, stock: stock, product: product } }).done(function(resp){ var errors = resp.message.description; var ca_carrito_new = resp.data; build_cart(ca_carrito_new, false, errors); }).fail(function(err){ var resp = err.responseJSON; if(resp && resp.message) { var code = resp.message.code; if(code) { var errors = resp.message.description; var ca_carrito_new = resp.data; build_cart(ca_carrito_new, false, errors); } else { build_cart(ca_carrito, false, [resp.message.description]); } } else { build_cart(ca_carrito, false, []); } }); }); $('.cart-sidenav__content').on('click', '.cart-sidenav__product-delete-button', function(e){ e.preventDefault(); $('.cart-sidenav__loader').show(); var stock = $(this).attr('data-stk'); var product = $(this).attr('data-product'); $.ajax({ headers: { 'X-CSRF-TOKEN': csrf_token }, url: "/v4/cart/delete", dataType: "JSON", method: "POST", data: { stock: stock, product: product } }).done(function(resp){ var errors = resp.message.description; var ca_carrito_new = resp.data; build_cart(ca_carrito_new, false, errors); }).fail(function(err){ var resp = err.responseJSON; if(resp && resp.message) { var code = resp.message.code; if(code) { var errors = resp.message.description; var ca_carrito_new = resp.data; build_cart(ca_carrito_new, false, errors); } else { build_cart(ca_carrito, false, [resp.message.description]); } } else { build_cart(ca_carrito, false, []); } }); }); $('.cart-sidenav__content').on('click', '.add_coupon-toggle', function(e){ e.preventDefault(); $('.add_coupon-grid').toggle(); var chevron = $('.add_coupon-icon').attr('uk-icon'); $('.add_coupon-icon').attr('uk-icon', chevron==='chevron-down' ? 'chevron-up' : 'chevron-down'); }); $('.cart-sidenav__content').on('submit', '#add_coupon-form', function(e){ e.preventDefault(); $('.cart-sidenav__loader').show(); if(validate_field($('#add_coupon-coupon'))) { var discount_code = $('#add_coupon-coupon').val(); $.ajax({ headers: { 'X-CSRF-TOKEN': csrf_token }, url: "/v4/cart/add-discount", dataType: "JSON", method: "POST", data: { discount_code: discount_code } }).done(function(resp){ var errors = resp.message.description; var ca_carrito_new = resp.data; build_cart(ca_carrito_new, false, errors); }).fail(function(err){ var resp = err.responseJSON; if(resp && resp.message) { var code = resp.message.code; if(code) { var errors = resp.message.description; var ca_carrito_new = resp.data; build_cart(ca_carrito_new, false, errors); } else { build_cart(ca_carrito, false, [resp.message.description]); } } else { build_cart(ca_carrito, false, []); } }); } else { $('.cart-sidenav__loader').hide(); } }); $('.cart-sidenav__content').on('click', '.remove_coupon-btn', function(e){ e.preventDefault(); $('.cart-sidenav__loader').show(); $.ajax({ headers: { 'X-CSRF-TOKEN': csrf_token }, url: "/v4/cart/remove-discount", dataType: "JSON", method: "POST" }).done(function(resp){ var errors = resp.message.description; var ca_carrito_new = resp.data; build_cart(ca_carrito_new, false, errors); }).fail(function(err){ var resp = err.responseJSON; if(resp && resp.message) { var code = resp.message.code; if(code) { var errors = resp.message.description; var ca_carrito_new = resp.data; build_cart(ca_carrito_new, false, errors); } else { build_cart(ca_carrito, false, [resp.message.description]); } } else { build_cart(ca_carrito, false, []); } }); }); $('.cart-sidenav__content').on('click', '.search_shipments-toggle', function(e){ e.preventDefault(); $('.search_shipments-grid').toggle(); var chevron = $('.search_shipments-icon').attr('uk-icon'); $('.search_shipments-icon').attr('uk-icon', chevron==='chevron-down' ? 'chevron-up' : 'chevron-down'); }); $('.cart-sidenav__content').on('submit', '#search_shipments-form', function(e){ e.preventDefault(); $('.cart-sidenav__loader').show(); var zip_code = parseInt($('#search_shipments-zip_code').val()); if(zip_code>=1000 && zip_code<=9421) { $.ajax({ headers: { 'X-CSRF-TOKEN': csrf_token }, url: "/v4/cart/shipment-methods", dataType: "JSON", method: "GET", data: { zip_code: zip_code } }).done(function(resp){ var errors = resp.message.description; var ca_carrito_new = resp.data; build_cart(ca_carrito_new, false, errors); }).fail(function(err){ var resp = err.responseJSON; if(resp && resp.message) { var code = resp.message.code; if(code) { var errors = resp.message.description; var ca_carrito_new = resp.data; build_cart(ca_carrito_new, false, errors); } else { build_cart(ca_carrito, false, [resp.message.description]); } } else { build_cart(ca_carrito, false, []); } }); } else { $('.cart-sidenav__loader').hide(); invalidate_field($('#search_shipments-zip_code'), fields.zip_code.error_message); } }); $('.cart-sidenav__content').on('click', '.change_shipment-btn', function(e){ e.preventDefault(); ca_carrito_enable_cp_edit = true; build_cart(ca_carrito, false, []); $('.search_shipments-grid').show(); $('.search_shipments-icon').attr('uk-icon', 'chevron-up'); }); $('.cart-sidenav__content').on('click', '.shipment_option_radio', function(){ var envio_seleccionado = parseInt($('input[name=shipment_option_radio]:checked').val()); ca_carrito.envio.envio_seleccionado = envio_seleccionado; build_cart(ca_carrito, false, []); $.ajax({ headers: { 'X-CSRF-TOKEN': csrf_token }, url: "/v4/cart/change-shipment-option", dataType: "JSON", method: "POST", data: { shipment_option: envio_seleccionado } }).done(function(resp){}).fail(function(err){}); }); $('.cart-sidenav__content').on('click', '.cart-sidenav__shipment-result-item-show-more-link', function(e){ e.preventDefault(); var key = $(this).attr('data-key'); var envio = ca_carrito.envio; var envio_seleccionado = envio.envio_seleccionado; var envios_format_obj = sort_shipping_cart_options(envio.envios_disponibles, envio.envio_seleccionado); var envios_format = envios_format_obj.options; $('.cart-sidenav__shipment-result-item-show-more').hide(); var newHtml = ''; envios_format[key].others.forEach(function(option){ newHtml += build_single_shipping_cart_option(option, envio_seleccionado); }); $('.cart-sidenav__shipment-result-list--'+key).append(newHtml); }); $('.cart-sidenav__content').on('click', '#start_checkout-btn', function(){ set_loading_button($('#start_checkout-btn')); $.ajax({ headers: { 'X-CSRF-TOKEN': csrf_token }, url: "/v4/cart/start-checkout", dataType: "JSON", method: "POST" }).done(function(resp){ if(facebook_pixel_tracking) { if(fbq!==undefined) { fbq('track', 'InitiateCheckout', { currency: currency.country_code, value: get_cart_parameters(ca_carrito, cupones_descuento).total_without_shipment, content_ids: get_facebook_pixel_content_ids(ca_carrito.productos), content_type: 'product' }); } } redirect('/checkout'); unset_loading_button($('#start_checkout-btn'), false); }).fail(function(err){ var resp = err.responseJSON; if(resp && resp.message) { var code = resp.message.code; if(code) { var errors = resp.message.description; var ca_carrito_new = resp.data; build_cart(ca_carrito_new, false, errors); } else { build_cart(ca_carrito, false, [resp.message.description]); } } else { build_cart(ca_carrito, false, []); } unset_loading_button($('#start_checkout-btn'), false); }); }); //end cart //login $('#login-modal').on({ 'show.uk.modal': function(){ if(login_captcha===null) { login_captcha = grecaptcha.render('login-btn', { 'sitekey': sitekey, 'callback': function() { $('#login-form').submit(); }, 'error-callback': function(){ grecaptcha.reset(login_captcha); } }); } else { grecaptcha.reset(login_captcha); } } }); $('#login-form').on('submit', function(e){ e.preventDefault(); set_loading_button($('#login-btn')); $('#login-alert').html(''); if(validate_form($('#login-form'))) { $.ajax({ headers: { 'X-CSRF-TOKEN': csrf_token }, url: "/v4/login", dataType: "JSON", method: "POST", data: new FormData($(this)[0]), cache: false, contentType: false, processData: false }).done(function(resp){ redirect(window.location.href); }).fail(function(err){ var resp = err.responseJSON; grecaptcha.reset(login_captcha); if(resp && resp.message) { error($('#login-alert'), resp.message.description); } unset_loading_button($('#login-btn'), true); }); } else { grecaptcha.reset(login_captcha); unset_loading_button($('#login-btn'), true); } }); //end login //register $('#register-modal').on({ 'show.uk.modal': function(){ if(register_captcha===null) { register_captcha = grecaptcha.render('register-btn', { 'sitekey': sitekey, 'callback': function() { $('#register-form').submit(); }, 'error-callback': function(){ grecaptcha.reset(register_captcha); } }); } else { grecaptcha.reset(register_captcha); } } }); $('#register-form').on('submit', function(e){ e.preventDefault(); set_loading_button($('#register-btn')); $('#register-alert').html(''); if(validate_form($('#register-form'))) { if(compare_fields($('#register_password'), $('#register_repeat_password'))) { $.ajax({ headers: { 'X-CSRF-TOKEN': csrf_token }, url: "/v4/register", dataType: "JSON", method: "POST", data: new FormData($(this)[0]), cache: false, contentType: false, processData: false }).done(function(resp){ redirect(window.location.href); }).fail(function(err){ var resp = err.responseJSON; grecaptcha.reset(register_captcha); if(resp && resp.message) { error($('#register-alert'), resp.message.description); } unset_loading_button($('#register-btn'), true); }); } else { grecaptcha.reset(register_captcha); unset_loading_button($('#register-btn'), true); invalidate_field($('#register_repeat_password'), fields.repeat_password.error_message_repeat); } } else { grecaptcha.reset(register_captcha); unset_loading_button($('#register-btn'), true); } }); //end register //wholesaler $('#wholesaler-modal').on({ 'show.uk.modal': function(){ if(wholesaler_captcha===null) { wholesaler_captcha = grecaptcha.render('wholesaler-btn', { 'sitekey': sitekey, 'callback': function() { $('#wholesaler-form').submit(); }, 'error-callback': function(){ grecaptcha.reset(wholesaler_captcha); } }); } else { grecaptcha.reset(wholesaler_captcha); } } }); $('#wholesaler-form').on('submit', function(e){ e.preventDefault(); set_loading_button($('#wholesaler-btn')); $('#wholesaler-alert').html(''); if(validate_form($('#wholesaler-form'))) { if(compare_fields($('#wholesaler_password'), $('#wholesaler_repeat_password'))) { $.ajax({ headers: { 'X-CSRF-TOKEN': csrf_token }, url: "/v4/wholesaler", dataType: "JSON", method: "POST", data: new FormData($(this)[0]), cache: false, contentType: false, processData: false }).done(function(resp){ $('#wholesaler-modal-content').remove(); $('#wholesaler-modal-footer').remove(); success($('#wholesaler-alert'), resp.message.description); }).fail(function(err){ var resp = err.responseJSON; grecaptcha.reset(wholesaler_captcha); if(resp && resp.message) { error($('#wholesaler-alert'), resp.message.description); } unset_loading_button($('#wholesaler-btn'), true); }); } else { grecaptcha.reset(wholesaler_captcha); unset_loading_button($('#wholesaler-btn'), true); invalidate_field($('#wholesaler_repeat_password'), fields.repeat_password.error_message_repeat); } } else { grecaptcha.reset(wholesaler_captcha); unset_loading_button($('#wholesaler-btn'), true); } }); //end wholesaler //recover $('#recover-modal').on({ 'show.uk.modal': function(){ if(recover_captcha===null) { recover_captcha = grecaptcha.render('recover-btn', { 'sitekey': sitekey, 'callback': function() { $('#recover-form').submit(); }, 'error-callback': function(){ grecaptcha.reset(recover_captcha); } }); } else { grecaptcha.reset(recover_captcha); } } }); $('#recover-form').on('submit', function(e){ e.preventDefault(); set_loading_button($('#recover-btn')); $('#recover-alert').html(''); if(validate_form($('#recover-form'))) { $.ajax({ headers: { 'X-CSRF-TOKEN': csrf_token }, url: "/v4/recover", dataType: "JSON", method: "POST", data: new FormData($(this)[0]), cache: false, contentType: false, processData: false }).done(function(resp){ $('#recover-modal-content').remove(); $('#recover-modal-footer').remove(); success($('#recover-alert'), resp.message.description); }).fail(function(err){ var resp = err.responseJSON; grecaptcha.reset(recover_captcha); if(resp && resp.message) { error($('#recover-alert'), resp.message.description); } unset_loading_button($('#recover-btn'), true); }); } else { grecaptcha.reset(recover_captcha); unset_loading_button($('#recover-btn'), true); } }); //end recover //newsletter $('#newsletter_email').on('focus', function(){ if(newsletter_captcha===null) { newsletter_captcha = grecaptcha.render('newsletter-btn', { 'sitekey': sitekey, 'callback': function() { $('#newsletter-form').submit(); }, 'error-callback': function(){ grecaptcha.reset(newsletter_captcha); } }); } else { grecaptcha.reset(newsletter_captcha); } }); $('#newsletter-form').on('submit', function(e){ e.preventDefault(); set_loading_button($('#newsletter-btn')); if(validate_form($('#newsletter-form'))) { $.ajax({ headers: { 'X-CSRF-TOKEN': csrf_token }, url: "/v4/newsletter", dataType: "JSON", method: "POST", data: new FormData($(this)[0]), cache: false, contentType: false, processData: false }).done(function(resp){ success($('#newsletter-form'), resp.message.description); }).fail(function(err){ var resp = err.responseJSON; grecaptcha.reset(newsletter_captcha); if(resp && resp.message) { invalidate_field($('#newsletter_email'), resp.message.description); } unset_loading_button($('#newsletter-btn'), true); }); } else { grecaptcha.reset(newsletter_captcha); unset_loading_button($('#newsletter-btn'), true); } }); //end newsletter //contact $('#contact-modal').on({ 'show.uk.modal': function(){ if(contact_captcha===null) { contact_captcha = grecaptcha.render('contact-btn', { 'sitekey': sitekey, 'callback': function() { $('#contact-form').submit(); }, 'error-callback': function(){ grecaptcha.reset(contact_captcha); } }); } else { grecaptcha.reset(contact_captcha); } }, 'hidden.uk.modal': function(){ $('#contact_product_id').val(0); $('#contact_stk_id').val(0); $('#contact__show-product').html(''); } }); $('#contact-form').on('submit', function(e){ e.preventDefault(); set_loading_button($('#contact-btn')); $('#contact-alert').html(''); if(validate_form($('#contact-form'))) { $.ajax({ headers: { 'X-CSRF-TOKEN': csrf_token }, url: "/v4/contact", dataType: "JSON", method: "POST", data: new FormData($(this)[0]), cache: false, contentType: false, processData: false }).done(function(resp){ success($('#contact-modal-content'), resp.message.description); $('#contact-modal-footer').remove(); if(facebook_pixel_tracking) { if(fbq!==undefined) { fbq('track', 'Contact'); } } }).fail(function(err){ var resp = err.responseJSON; grecaptcha.reset(contact_captcha); if(resp && resp.message) { error($('#contact-alert'), resp.message.description); } unset_loading_button($('#contact-btn'), true); }); } else { grecaptcha.reset(contact_captcha); unset_loading_button($('#contact-btn'), true); } }); //end contact //regret $('#regret-modal').on({ 'show.uk.modal': function(){ if(regret_captcha===null) { regret_captcha = grecaptcha.render('regret-btn', { 'sitekey': sitekey, 'callback': function() { $('#regret-form').submit(); }, 'error-callback': function(){ grecaptcha.reset(regret_captcha); } }); } else { grecaptcha.reset(regret_captcha); } } }); $('#regret-form').on('submit', function(e){ e.preventDefault(); set_loading_button($('#regret-btn')); $('#regret-alert').html(''); if(validate_form($('#regret-form'))) { $.ajax({ headers: { 'X-CSRF-TOKEN': csrf_token }, url: "/v4/regret", dataType: "JSON", method: "POST", data: new FormData($(this)[0]), cache: false, contentType: false, processData: false }).done(function(resp){ success($('#regret-modal-content'), resp.message.description); $('#regret-modal-footer').remove(); }).fail(function(err){ var resp = err.responseJSON; grecaptcha.reset(regret_captcha); if(resp && resp.message) { error($('#regret-alert'), resp.message.description); } unset_loading_button($('#regret-btn'), true); }); } else { grecaptcha.reset(regret_captcha); unset_loading_button($('#regret-btn'), true); } }); //end regret //search bar $('.header-search__input').devbridgeAutocomplete({ serviceUrl: "/v4/search-product", type: "GET", deferRequestBy: 300, triggerSelectOnValidInput: false, formatResult: function(suggestion) { var producto = suggestion.data; var searchHtml = '
    '; searchHtml += '
    '; searchHtml += 'producto'; searchHtml += '
    '; searchHtml += '
    '; searchHtml += '

    '+producto.p_nombre+'

    '; if(estado_mayorista) { searchHtml += '

    '+number_format(producto.p_precio_mayorista)+' - Min. '+producto.p_cantidad_minima+'

    '; } else { if(producto.p_mostrar_precio) { if(producto.p_oferta) { switch(producto.p_oferta) { case 1: searchHtml += '

    '+number_format(producto.p_precio)+' '+number_format(producto.p_precio_oferta)+'

    '; break; case 2: if(compare_dates('now', producto.p_oferta_fecha)) { searchHtml += '

    '+number_format(producto.p_precio)+' '+number_format(producto.p_precio_oferta)+'

    '; } else { searchHtml += '

    '+number_format(producto.p_precio)+'

    '; } break; case 3: if(compare_dates_between('now', producto.p_oferta_fecha_inicio, producto.p_oferta_fecha)) { searchHtml += '

    '+number_format(producto.p_precio)+' '+number_format(producto.p_precio_oferta)+'

    '; } else { searchHtml += '

    '+number_format(producto.p_precio)+'

    '; } break; } } else { searchHtml += '

    '+number_format(producto.p_precio)+'

    '; } } } searchHtml += '
    '; searchHtml += '
    '; return searchHtml; }, onSelect: function(suggestion) { var producto = suggestion.data; var c_link_full = get_category_link(producto.Categorias_idCategorias, categorias_flatten); var link_producto = uri+c_link_full+'/'+producto.p_link; redirect(link_producto); }, beforeRender: function(container, suggestions) { if(facebook_pixel_tracking) { if(fbq!==undefined) { var search_string = $('.header-search__input').val(); var content_ids = suggestions.map(function(item){ return item.data.idProductos.toString(); }); fbq('track', 'Search', { search_string: search_string, content_ids: content_ids }); } } }, showNoSuggestionNotice: true, noSuggestionNotice: '

    '+search_autocomplete_not_found+'

    ' }); //end search bar //chat bubble $('.chat__bubble--dispatcher').on('click', function(e) { $('.chat-bubbles__list').toggleClass('chat-bubbles__list--active'); $('.chat-bubbles__list-item').toggleClass('chat-bubbles__list-item--active'); }); //end chat bubble });