var appUrl="https://0sa1.elglobo.com.mx",appUrlSuc="https://0sa1.elglobo.com.mx",appUrlDeliv="https://0sa1.elglobo.com.mx",sucursales_hardcodeadas=[],currentTime=new Date,allowHideProductos=!1,p_sortered=!1,p_filtered=!1,allFetchedProducts=[],allFetchedFilteredProducts=[],sucursal,mbProductos=localStorage.getItem("mbProductos"),dirsuc=localStorage.getItem("suc_dir"),cartSubmit=0,discount_param="";const sucursales_lealtad=["S3014","S3131","S3155","S3099","S3140","S3470","S3143","S3426","S3008","S3063","S3008","S3065","S3040","S3071","S3043","S3424","S3080","S3003","S3066","S3144","S3323","S3267","S3052","S3002","S3027","S3012","S3054","S3085","S3428","S3131","S3155","S3099","S3140","S3470","S3143","S3426","S3063","S3008","S3065","S3040","S3071","S3043","S3424","S3080","S3003","S3144","S3323","S3267","S3052","S3002","S3027","S3012","S3054","S3085","S3428","S3005","S3444","S3091","S3018","S3095","S3011","S3475","S3007","S3137","S3025","S3029","S3057","S3126","S3251","S3088","S3431","S3084","S3262","S3288","S3036","S3439","S3041","S3010","S3202","S3114","S3035","S3121","S3039","S3024","S3016","S3147","S3067","S3188","S3066","S3265","S3449","S3038","S3047","S3446","S3458","S3019","S3435","S3009","S3056","S3204","S3182","S3357","S3061","S3372","S3092","S3175","S3148","S3072","S3073","S3142","S3280","S3133","S3463","S3285","S3432","S3045","S3430","S3139","S3109","S3206","S3094","S3077","S3118","S3108","S3127","S3189","S3102","S3116","S3462","S3293","S3192","S3086","S3473","S3059","S3413","S3076","S3436","S3396","S3117","S3461","S3452","S3089","S3377","S3120","S3441","S3198","S3467","S3474","S3466","S3310","S3081","S3478","S3050","S3145","S3454","S3103","S3058","S3129","S3442","S3486","S3391","S3425","S3465","S3199","S3472","S3055","S3181","S3321","S3105","S3021","S3272","S3476","S3172","S3456","S3445","S3477","S3355","S3480","S3468","S3460","S3374","S3030","S3469","S3020","S3104","S3115","S3464","S3331","S3332","S3082","S3277","S3275","S3453","S3457","S3434","S3479"],sucursales_delivery=["S3085","S3027","S3077","S3426","S3025","S3008"],queryString=window.location.search,urlParams=new URLSearchParams(queryString),test_param=urlParams.get("test");if(test_param=="true"?(localStorage.setItem("released","true"),console.log(test_param)):localStorage.getItem("released")!="true"&&localStorage.removeItem("released"),dirsuc==null?sucursal=null:sucursal=localStorage.getItem("sucursal"),console.log(sucursal),sucursal==null)console.log("Sucursal no ha sido seleccionada");else{var cartAttributes={attributes:{sucursal:localStorage.getItem("sucursal"),direccionSucursal:localStorage.getItem("suc_dir"),horarioSucursal:localStorage.getItem("suc_horario"),telefonoSucursal:localStorage.getItem("suc_tel"),latSucursal:localStorage.getItem("suc_lat"),lonSucursal:localStorage.getItem("suc_lon"),lonCliente:localStorage.getItem("dir_lon"),latCliente:localStorage.getItem("dir_lat"),uberQuoteId:localStorage.getItem("quote_id"),uberQuoteExpiration:localStorage.getItem("quote_expiration"),direccionCliente:localStorage.getItem("dir_street")+" "+localStorage.getItem("dir_city")+" "+localStorage.getItem("dir_postal_code")+" "+localStorage.getItem("dir_country")}};$.post("/cart/update.js",cartAttributes),sucursal=sucursal.replace("S",""),console.log("La sucursal elegida es: "+sucursal),getProductos(),showBebidas()}function getProductos(){console.log("obtener los productos de la sucursal: "+sucursal);var params="?";params+="suc="+sucursal;var requestOptions={method:"GET",redirect:"follow"};console.log(appUrl+"/shopify/getproductos"+params),fetch(appUrl+"/shopify/getproductos"+params,requestOptions).then(response=>response.json()).then(function(data){localStorage.setItem("mbProductosJSN",JSON.stringify(data)),mbProductos=data,localStorage.setItem("mbProductos",mbProductos)}).catch(error=>console.log("error",error))}function buscarProductoInfoPorSku(sku){if(typeof mbProductos<"u"){for(var k in mbProductos)if(mbProductos[k].sku==sku)return mbProductos[k]}}function removeCliDirection(){localStorage.removeItem("dir_firstname"),localStorage.removeItem("dir_lastname"),localStorage.removeItem("dir_telephone"),localStorage.removeItem("dir_street"),localStorage.removeItem("dir_apartment"),localStorage.removeItem("dir_postal_code"),localStorage.removeItem("dir_city"),localStorage.removeItem("dir_state"),localStorage.removeItem("dir_country"),localStorage.removeItem("dir_reference"),localStorage.removeItem("dir_indications"),localStorage.removeItem("dir_lat"),localStorage.removeItem("dir_lon"),localStorage.removeItem("address1"),localStorage.removeItem("address2"),localStorage.removeItem("zip"),localStorage.removeItem("city"),localStorage.removeItem("suggestion_lat"),localStorage.removeItem("suggestion_lon")}function removeSucData(){localStorage.removeItem("suc_dir"),localStorage.removeItem("suc_name"),localStorage.removeItem("suc_lat"),localStorage.removeItem("suc_lon"),localStorage.removeItem("sucursal")}function removeUberQuote(){localStorage.removeItem("quote_fee"),localStorage.removeItem("quote_id"),localStorage.removeItem("quote_duration")}var isFiltering=!1,initialLoadCompleted=!1;function hideProductos(){console.log("Ejecutando hideProductos durante el filtrado..."),mbProductos&&Array.isArray(mbProductos)?$("[data-sga-prd-sku]").each(function(){var element=$(this),sku=element.attr("data-sga-prd-sku"),button_id=element.attr("data-addtc-button"),prod_type=$(element).attr("data-type-prod"),productoData=buscarProductoInfoPorSku(sku);productoData&&productoData.qty>0?(element.find(".quantity-selector").show(),$("#"+button_id).show(),element.find(".no-stock-message").hide()):prod_type!=="BEBIDAS"&&(element.find(".quantity-selector").hide(),$("#"+button_id).hide(),element.find(".no-stock-message").show())}):console.error("Error: Los datos de inventario no est\xE1n disponibles.")}function showBebidas(){$.each($("[data-sga-prd-sku]"),function(index,element){var tags=$(element).attr("data-sga-tags");tags.indexOf("visibleallways")>=0&&$(element).show()})}function validateMaxQty(element){var qty=parseInt($(element).val()),frm=$(element).closest("form"),sku=$(frm).find("input[data-sku]").attr("data-sku");if(sku==""||typeof sku>"u")var sku=$(frm).find('input[name="sku"]').val();var productoData=buscarProductoInfoPorSku(sku);typeof productoData<"u"&&(current_collection=="BEBIDAS"||qty>parseInt(productoData.qty)&&(parseInt(productoData.qty)==0||$(element).val(productoData.qty)))}function validateCartMaxQty(element,type){var qty=parseInt($(element).val()),parent=$(element).closest("tr"),sku=$(parent).attr("data-sku");type=="btn-mas"&&(qty=qty+1),type=="btn-menos"&&(qty=qty-1),console.log("carrito val"),console.log(sku+":"+qty);var productoData=buscarProductoInfoPorSku(sku);console.log(productoData),typeof productoData<"u"&&qty>parseInt(productoData.qty)&&(type=="btn-mas"&&$(parent).find('[data-action="increase-quantity"]').attr("data-quantity",productoData.qty),type=="btn-menos"&&$(parent).find('[data-action="decrease-quantity"]').attr("data-quantity",productoData.qty-1),type=="input"&&$(element).val(productoData.qty))}function validarHorarioSucursal(element){console.log("validarHorarioSucursal: ");var params="?";params+="suc="+sucursal;var requestOptions={method:"GET",redirect:"follow"};fetch(appUrl+"/shopify/validarhorariosucursal"+params,requestOptions).then(response=>response.json()).then(function(data){data.en_horario=!0,console.log("En horario: "),console.log(data.en_horario),data.en_horario?(localStorage.setItem("en_horario","true"),cartSubmit=1,$('#frm-cart-recap button[name="checkout"]').click()):(localStorage.setItem("en_horario","false"),$("modal-horario-horarios").text(data.horario_apertura+" hrs"),$("#modal-horario-nbrsuc").text(localStorage.getItem("suc_name")),$("#modal-horario").fadeIn("fast").focus(),$(".backdrop").fadeIn("fast"))}).catch(error=>console.log("error",error))}const config={attributes:!0,childList:!0,subtree:!0},targetNode=document.getElementById("collection__dynamic-part");let collectionObserver;function attachCollectionObserver(){}function detachCollectionObserver(){collectionObserver&&collectionObserver.disconnect()}function hideBuscadorProductos(){if(!Array.isArray(mbProductos)||mbProductos.length===0){const stored=localStorage.getItem("mbProductosJSN");if(stored)try{mbProductos=JSON.parse(stored)}catch{mbProductos=[]}if(!Array.isArray(mbProductos)||mbProductos.length===0)return getProductos().then(hideBuscadorProductos)}$(".collection__dynamic-part [data-sga-prd-sku]").each(function(){const $el=$(this),sku=$el.data("sga-prd-sku")+"",tags=$el.data("sga-tags")||"",tipoProd=$el.data("type-prod")||"",productoData=buscarProductoInfoPorSku(sku),visibleAlways=tags.includes("visibleallways"),hayStock=productoData&&productoData.qty>0,$form=$el.find(".product-item__action-list"),$btn=$el.find(".product-link"),$qty=$el.find(".quantity-selector"),$opciones=$el.find(".bold_options");let $msg=$el.find(".no-stock-message");$msg.length||($msg=$('
DISPONIBLE SOLO EN SUCURSAL
').css({marginTop:"0.5em",fontWeight:"bold"}).appendTo($el.find(".item-details-col").last())),tipoProd.toUpperCase()==="BEBIDAS"&&($opciones.hide(),$form.css("display","block"),$btn.removeClass().addClass("icon-addtocart-button product-item__action-button product-item__action-button--list-view-only button button--small button--primary").css({display:"block"})),hayStock||visibleAlways?($form.show(),$btn.show(),$qty.show(),$msg.hide()):($form.hide(),$btn.hide(),$qty.hide(),$msg.show())})}$(document).ready(function(){sucursales_lealtad.includes(localStorage.getItem("sucursal"))&&$(".lealtad").show(),$(document).on("input change",'input[name="quantity"]',function(){validateMaxQty(this)}),$(document).on("click",'[data-action="decrease-picker-quantity"]',function(){var frm=$(this).closest("form"),input=$(frm).find('input[name="quantity"]');validateMaxQty(input)}),$(document).on("click",'[data-action="increase-picker-quantity"]',function(){var frm=$(this).closest("form"),input=$(frm).find('input[name="quantity"]');validateMaxQty(input)}),$(document).on("input change","input.quantity-selector__value",function(){validateCartMaxQty(this,"input")}),$(document).on("click",'[data-action="custom-increase-quantity"]',function(){var parent=jQuery(this).closest("div[data-sga-prd-sku]"),qty=jQuery(parent).find('input[name="quantity"]').val();qty=parseInt(qty)+1,jQuery(parent).find('input[name="quantity"]').val(qty);var input=$(parent).find('input[name="quantity"]');validateMaxQty(input)}),$(document).on("click",'[data-action="custom-decrease-quantity"]',function(){var parent=jQuery(this).closest("div[data-sga-prd-sku]"),qty=jQuery(parent).find('input[name="quantity"]').val();qty=parseInt(qty)-1,qty<1&&(qty=1),jQuery(parent).find('input[name="quantity"]').val(qty);var input=$(parent).find('input[name="quantity"]');validateMaxQty(input)}),$(document).on("submit","#frm-cart-recap",function(e){cartSubmit==0&&(e.preventDefault(),validarHorarioSucursal(this))}),setTimeout(function(){$(".eg-megamenu-item span:contains('FAVORITOS DEL MES')").parent().parent().parent().remove()},500)});var misPuntos=0;async function PLConsultaPuntos(){const $msg=$("#programaLealtadMsg"),$loader=$("#PLLoadingImg"),$container=$("#PLContainer"),clientId=$("#PLClientId").val();$msg.text(""),$container.hide(),$loader.show();try{const data=await(await fetch(`${appUrl}/shopify/plconsultapuntos?cliId=${clientId}`)).json();$loader.hide(),$container.show(),data.status?(misPuntos=data.puntos,$("#misPuntosInfo, #misPuntosInfo2").text(data.puntos),$(".sin-redimir").hide()):($("#txtPuntos, #btnUsarPuntos, .aplica-puntos").remove(),$msg.html(data.message||"No est\xE1s dado de alta en el programa de lealtad."))}catch(error){console.error("Error al consultar puntos:",error),$loader.hide(),$msg.html("No pudimos obtener tus puntos. Intenta m\xE1s tarde.")}}async function PLUsarPuntos(){const $msg=$("#programaLealtadMsg"),$btn=$("#btnUsarPuntos"),amt=parseInt($("#txtPuntos").val(),10),data={cliId:$("#PLClientId").val(),monto:amt,sucNum:sucursal,sucNom:localStorage.getItem("suc_name")};$btn.prop("disabled",!0).text("Procesando..."),$msg.text("");try{const result=await(await fetch(appUrl+"/shopify/plusarpuntos",{method:"POST",body:JSON.stringify(data),redirect:"follow"})).json();if(!result.status){$msg.html("Error al aplicar los puntos. Intenta de nuevo."),$btn.prop("disabled",!1).text("Usar puntos");return}if(!result.descuento.saldoSuficiente){$msg.html("Saldo insuficiente para aplicar el descuento."),$btn.prop("disabled",!1).text("Usar puntos");return}$.post("/cart/update.js","attributes[folioRedencion]="+result.descuento.folio),$("#btnCancelarPuntos").attr("data-folio",result.descuento.folio),$('#frm-cart-recap [name="discount"]').val(result.descuento.code),$("#puntosAplicados").text(amt),$("#frmPuntos").hide(),$(".podria-acumular").hide(),$("#dsctoPuntosInfo").show(),$("#dsctoPuntosInfo1").show(),$("#prevPuntosContainer").hide(),discount_param=result.descuento.code,await PLConsultaPuntos(),$msg.html('\xA1Listo! ser\xE1n aplicados previo a tu pago')}catch(error){console.error("Error de red:",error),$msg.html("No se pudo conectar con el servidor. Intenta m\xE1s tarde.")}finally{$btn.prop("disabled",!1).text("Usar puntos")}}async function PLCancelarPuntos(folio){const $msg=$("#programaLealtadMsg"),$loader=$("#PLLoadingImg"),$container=$("#PLContainer"),clientId=$("#PLClientId").val();$msg.text("Cancelando puntos..."),$loader.show(),$container.hide();try{const data=await(await fetch(`${appUrl}/shopify/plcancelarpuntos?cliId=${clientId}&folio=${folio}&sucNum=${sucursal}&sucNom=${localStorage.getItem("suc_name")}`)).json();if($loader.hide(),$container.show(),!data.status){$msg.html("No pudimos devolver tus puntos. Intenta de nuevo.");return}await PLConsultaPuntos(),$.post("/cart/update.js","attributes[folioRedencion]="),$('#frm-cart-recap [name="discount"]').val(""),$("#frmPuntos").show(),$(".podria-acumular").show(),$("#dsctoPuntosInfo, #dsctoPuntosInfo1").hide(),$("#puntosAplicados").text(0),$("#prevPuntosContainer").show(),$msg.html('Recuerda que 1 punto es igual a 1 peso')}catch(error){console.error("Error al cancelar puntos:",error),$msg.html("Hubo un error al cancelar los puntos. Intenta m\xE1s tarde.")}finally{$loader.hide(),$container.show()}}async function PLPrevioPuntos(){try{const cartJson=await(await fetch("/cart.js")).json(),data={cliId:$("#PLClientId").val(),sucNum:sucursal,sucNom:localStorage.getItem("suc_name"),cart:cartJson},result=await(await fetch(appUrl+"/shopify/plpreviopuntos",{method:"POST",body:JSON.stringify(data),redirect:"follow"})).json();result.status&&$("#prevPuntosInfo").text(result.puntos)}catch(error){console.error("Error en PLPrevioPuntos:",error)}}async function PLGetDescuentoActivo(){try{const cliId=$("#PLClientId").val(),data=await(await fetch(appUrl+"/shopify/plgetdescuentoactivo",{method:"POST",body:JSON.stringify({cliId}),redirect:"follow"})).json();data.status&&($.post("/cart/update.js","attributes[folioRedencion]="+data.descuento.folio),$("#btnCancelarPuntos").attr("data-folio",data.descuento.folio),discount_param=data.descuento.code,$("#frm-cart-recap").attr("action",$("#frm-cart-recap").attr("action")+"&discount="+discount_param),$("#puntosAplicados").text(data.descuento.monto),$(".podria-acumular").hide(),$("#prevPuntosContainer").hide(),$("#frmPuntos").hide(),$("#dsctoPuntosInfo").show(),$("#dsctoPuntosInfo1").show(),setTimeout(()=>{$('#frm-cart-recap [name="discount"]').val(data.descuento.code)},2500))}catch(error){console.error("Error en PLGetDescuentoActivo:",error)}}$(document).on("click","#btnUsarPuntos",function(){var raw=$("#txtPuntos").val(),amt=parseInt(raw,10);if($("#txtPuntos").val(amt),raw===""||isNaN(amt)||!/^\d+$/.test(raw)){$("#programaLealtadMsg").html("Debes ingresar un n\xFAmero entero de puntos");return}amt>parseFloat(misPuntos)?($("#PLLoadingImg").hide(),$("#programaLealtadMsg").html("Solo puedes canjear "+misPuntos+" puntos como m\xE1ximo")):PLUsarPuntos()}),$(document).on("click","#btnCancelarPuntos",function(){var folio=$("#btnCancelarPuntos").attr("data-folio");folio!=null?PLCancelarPuntos(folio):($("#frmPuntos").show(),$("#dsctoPuntosInfo").hide(),$("#dsctoPuntosInfo1").hide())});function fillDeliveryInfo(){console.log("Ejecutando fillDeliveryInfo");let sucName=localStorage.getItem("suc_name"),sucDir=localStorage.getItem("suc_dir"),sucHorario=localStorage.getItem("suc_horario"),sucTel=localStorage.getItem("suc_tel");if(!sucName||!sucDir||!sucHorario||!sucTel){const cookies=document.cookie.split(";").reduce((acc,cookie)=>{const[key,value]=cookie.trim().split("=");return acc[key]=decodeURIComponent(value),acc},{});if(cookies.sucursalBackup)try{const sucursal2=JSON.parse(cookies.sucursalBackup);sucName=sucursal2.name,sucDir=sucursal2.dir,sucHorario=sucursal2.horario,sucTel=sucursal2.tel,console.log("Sucursal recuperada de cookie",sucursal2)}catch(e){console.warn("No se pudo leer la cookie de respaldo",e)}}$("#cart-suc-name").html(sucName||"Sucursal no disponible"),$("#cart-suc-dir").html(sucDir||""),$("#cart-suc-horario").html(sucHorario||""),$("#cart-suc-tel").html(sucTel||""),localStorage.getItem("delivery_type")==="domicilio"?($("#cart-dom-name").html("RECIBE: "+localStorage.getItem("dir_firstname")),$("#cart-dom-tel").html("Tel. "+localStorage.getItem("dir_telephone")),$("#cart-dom-dir").html(localStorage.getItem("dir_street")+" "+localStorage.getItem("dir_city")+" "+localStorage.getItem("dir_state")),$("#cart-dom-indic").html(localStorage.getItem("dir_indications"))):$(".cart-domicilio").hide()}var timer_id;is_mobile?timer_id="countdown-mobile":timer_id="countdown";var timer;function startTimer(){var total_seconds;timer=new Timer;var timer_cookie=getCookie("timerstarted");if($("#"+timer_id).fadeIn(),console.log("start timer "+timer_id),timer_cookie){var current_time=new Date,elapsed_time=current_time/1e3-timer_cookie;total_seconds=300-elapsed_time,console.log("elapsed_time "+elapsed_time+" total_seconds "+total_seconds+" timer_cookie "+timer_cookie),timer.start({countdown:!0,startValues:{seconds:Math.trunc(parseFloat(total_seconds))}})}else{var start_time=new Date;setCookie("timerstarted",start_time/1e3,1),timer.start({countdown:!0,startValues:{seconds:300}})}$("#"+timer_id+" .values").html(timer.getTimeValues().toString(["minutes","seconds"])),timer.addEventListener("secondsUpdated",function(e){$("#"+timer_id+" .values").html(timer.getTimeValues().toString(["minutes","seconds"]))}),timer.addEventListener("targetAchieved",function(e){$(".backdrop").fadeIn(),$("#timeout").fadeIn(),eraseCookie("timerstarted"),setCookie("timercomplete","true",1)})}function stopTimer(){timer.stop(),$("#"+timer_id).fadeOut(),eraseCookie("timercomplete"),eraseCookie("timerstarted")}$(document).ready(function(){getCookie("timerstarted")&&localStorage.getItem("delivery_type")=="domicilio"&&startTimer(),getCookie("timercomplete")&&($("#"+timer_id+" .values").css("font-size","20px").css("line-height","20px").html("SE ACABO TU TIEMPO"),eraseCookie("timercomplete"),eraseCookie("timerstarted"))});function getLocation2(){navigator.geolocation?navigator.geolocation.getCurrentPosition(position=>{document.getElementById("lat1").value=position.coords.latitude,document.getElementById("lon1").value=position.coords.longitude,getSucursales1(),console.log("buscando sucursales por ubicacion "+position.coords.latitude+" "+position.coords.longitude)},error=>alert(error.message),{enableHighAccuracy:!1,timeout:5e3}):alert("Tu navegador no soporta la geolocalizaci\xF3n.")}$(document).on("click","#mi-ubicacion",function(){notInSucList1=!0,getLocation2()});var cartEndpoint="/cart.js";function fetchMTCart(){return new Promise(function(resolve,reject){var xhr=new XMLHttpRequest;xhr.open("GET","https://www.elglobo.com.mx"+cartEndpoint),xhr.setRequestHeader("Content-Type","application/json"),xhr.onload=function(){if(xhr.status===200){var cart=JSON.parse(xhr.responseText);resolve(cart)}else reject(xhr.statusText)},xhr.onerror=function(){reject(xhr.statusText)},xhr.send()})}function fetchMTDCart(callback){var xhr=new XMLHttpRequest;xhr.open("GET","https://www.elglobo.com.mx"+cartEndpoint),xhr.setRequestHeader("Content-Type","application/json"),xhr.onload=function(){if(xhr.status===200){var cart=JSON.parse(xhr.responseText);callback(null,cart)}else callback(xhr.statusText)},xhr.onerror=function(){callback(xhr.statusText)},xhr.send()}$(document).on("click","#btnComprarAhora",function(e){e.preventDefault();var productoData=buscarProductoInfoPorSku($('input[name="id"]').data("sku"));fetchMTDCart(function(error,cart){if(error)console.error(error);else{var productId=$('input[name="id"]').val(),productExists=!1,productQuantity=0,prod;cart.items.forEach(function(item){console.log("item.id: ",item.id),item.id===parseInt(productId)&&(productExists=!0,productQuantity=item.quantity,prod=item)}),productExists?(console.log("item ",cart),parseInt(productQuantity)'),$(".pagination").after('
'));const mbProductosJSN=JSON.parse(localStorage.getItem("mbProductosJSN"))||[],boton=document.querySelector(".button-filtro");let texto;boton&&(texto=Array.from(boton.childNodes).find(n=>n.nodeType===Node.TEXT_NODE));let url_products,searchProducts=!1,searchQuery;current_collection==="Productos"?(filter&&(p_filtered=!0),url_products="/collections/all/products.json"):current_collection==="HELADOS"?url_products="/collections/postres/products.json":current_collection==="ESPECIAL DEL MES"?url_products="/collections/temporada-1/products.json":filter?(p_filtered=!0,url_products=`/collections/${current_collection}/products.json`):!current_collection&&window.location.pathname.startsWith("/search")?(searchQuery=new URLSearchParams(window.location.search).get("q")?.toLowerCase()||"",searchProducts=!0,url_products="/collections/all/products.json"):url_products=`/collections/${current_collection.toLowerCase()}/products.json`,$(".pagination").html("");let fullUrl=searchProducts?`/search?q=${searchQuery}&type=product&view=json&page=${pageNumber}`:filter?`/collections/${current_collection==="ESPECIAL DEL MES"?"temporada-1":current_collection==="HELADOS"?"postres":current_collection==="Productos"?"all":current_collection}/?view=json&page=${pageNumber}`:`${url_products}?page=${pageNumber}`;fetch(fullUrl).then(response=>response.json()).then(response=>{let respObj;if(searchProducts)products=products.concat(response.results),respObj=response.results.length;else if(filter){const selectedTags=tags.split("+"),filteredProducts=response.results.filter(product=>Array.isArray(product.tags)?selectedTags.some(tag=>product.tags.some(prodTag=>prodTag.toLowerCase()===tag.toLowerCase())):!1);products=tags.trim()?products.concat(filteredProducts):products.concat(response.results),texto&&(texto.textContent=tags.trim()?`Filtrar (${selectedTags.length})`:"Filtrar"),allFetchedFilteredProducts=products,respObj=response.results.length}else products=products.concat(response.products),respObj=response.products.length;respObj>0?(filter?getAllProducts(pageNumber+1,products,!0,tags):sorting!=="false"?getAllProducts(pageNumber+1,products,!1,"",sorting):getAllProducts(pageNumber+1,products),pageNumberCount=pageNumber+1):renderProducts(products,sorting,mbProductosJSN)}).catch(error=>{console.error("Error al cargar productos:",error),$(".collection_backdrop").hide(),$(".custom_pagination_container").html("

Error cargando productos. Intenta de nuevo.

")})}function renderProducts(products,sorting,mbProductosJSN){if($(".collection_backdrop").hide(),products=products.filter(product=>product.product_type!=="EXTRAS"&&product.product_type!=="OPTIONS_HIDDEN_PRODUCT"&&product.product_type!=="CAMBIO DE LECHE"),sorting!=="false"){let sortedResults=p_filtered?[...allFetchedFilteredProducts]:[...products];sortedResults.sort((a,b)=>sortLogic(a,b,sorting)),products=sortedResults,products.forEach(product=>assignStock(product,mbProductosJSN)),allFetchedProducts=products}else products.forEach(product=>assignStock(product,mbProductosJSN)),products.sort((a,b)=>b.mbqty-a.mbqty);let product_items="",batchSize=24,currentPage=1,totalPages=Math.ceil(products.length/batchSize);function renderBatch(startIndex){const batch=products.slice(startIndex,startIndex+batchSize),totalItems=products.length;if(batch.forEach((product,index)=>{const globalIndex=startIndex+index;if(globalIndex%batchSize===0){const batchStart=globalIndex+1,batchEnd=Math.min(globalIndex+batchSize,totalItems),batchRange=`${batchStart}-${batchEnd}`;$(".custom_pagination_container").append(`${currentPage}`),currentPage++}const pageClass=`page_${Math.ceil((globalIndex+1)/batchSize)}`;product_items+=buildProductItem(product,pageClass)}),startIndex+batchSizerenderBatch(startIndex+batchSize));else{$("#gf-products").html(product_items),$(".page_1").show();const total_found=$(".js-pagination").length<24?$(".js-pagination").length:"24";$(".elg-results-text").html('Mostrando 1 - '+total_found+' de '+$(".js-pagination").length+" resultados"),$("#sorted_by").html(""),initialLoadCompleted=!0,console.log("Total de productos visibles en el DOM:",$(".js-pagination").length)}}renderBatch(0)}function assignStock(product,mbProductosJSN){const mbProduct=mbProductosJSN.find(item=>item.sku===product.variants[0]?.sku);product.mbqty=mbProduct?product.product_type!=="BEBIDAS"?mbProduct.qty:1e4:0}function sortLogic(a,b,sorting){const priceA=parseFloat(a.variants?.[0]?.price)||0,priceB=parseFloat(b.variants?.[0]?.price)||0,titleA=(a.title||"").trim(),titleB=(b.title||"").trim(),idA=a.id||0,idB=b.id||0;switch(sorting){case"price-ascending":return priceA!==priceB?priceA-priceB:titleA.localeCompare(titleB,void 0,{sensitivity:"base",ignorePunctuation:!0})||idA-idB;case"price-descending":return priceA!==priceB?priceB-priceA:titleB.localeCompare(titleA,void 0,{sensitivity:"base",ignorePunctuation:!0})||idB-idA;case"title-ascending":return titleA.localeCompare(titleB,void 0,{sensitivity:"base",ignorePunctuation:!0})||priceA-priceB;case"title-descending":return titleB.localeCompare(titleA,void 0,{sensitivity:"base",ignorePunctuation:!0})||priceB-priceA;default:return 0}}function buildProductItem(product,pageClass){const sku=product.variants[0]?.sku||"",id=product.id||"",variantId=product.variants[0]?.id||"",price=Math.round(parseFloat(product.variants[0]?.price)||0),title=product.title||"",normalizedStr=(product.product_type||"").normalize("NFD").replace(/[\u0300-\u036f]/g,"").replace(/\s+/g,"-").toLowerCase(),tags=(Array.isArray(product.tags)?product.tags:[]).map(tag=>tag.normalize("NFD").replace(/[\u0300-\u036f]/g,"").replace(/\s+/g,"-").toLowerCase()).join(" "),imageSrc=product.images[0]?.src||"",onlineAvailable=parseInt(product.mbqty)>0?"display:block":"display:none",onlineAvailableFlex=parseInt(product.mbqty)>0?"display:flex":"display:none";var sucursalOnly=parseInt(product.mbqty)===0&&product.product_type!=="BEBIDAS"?"display:block":"display:none";return`
${title}
${title}
Precio de venta$${price}
${product.product_type==="BEBIDAS"?`Agregar`:``}
SOLO DISPONIBLE EN SUCURSAL
`}function sortByQty(a,b){return b.qty-a.qty}$(document).on("click",".custom_page_link",function(event){event.preventDefault(),$(".custom_page_link_active").removeClass("custom_page_link_active");var current_custom_page=$(this).data("custompage");$(this).addClass("custom_page_link_active"),$(".js-pagination").hide(),$(".page_"+current_custom_page).show(),$("html, body").animate({scrollTop:$(".page__sub-header").offset().top},600)}),function(){function bloquearOrdenamientoNativo(){const sortContainer=document.getElementById("sort-by-selector");sortContainer&&sortContainer.querySelectorAll("[data-action='select-value']").forEach(btn=>{btn.addEventListener("click",function(e){e.preventDefault(),e.stopPropagation(),sortContainer.querySelectorAll(".is-selected").forEach(selectedBtn=>{selectedBtn.classList.remove("is-selected")}),btn.classList.add("is-selected");const sortValue=btn.getAttribute("data-value"),newURL=window.location.origin+window.location.pathname;window.history.replaceState({},"",newURL),sortValue=="title-ascending"?$("#sorted_by").html("Alfab\xE9ticamente, A-Z"):sortValue=="title-descending"?$("#sorted_by").html("Alfab\xE9ticamente, Z-A"):sortValue=="price-ascending"?$("#sorted_by").html("Precio, menor a mayor"):sortValue=="price-descending"?$("#sorted_by").html("Precio, mayor a menor"):$("#sorted_by").html(""),paginateItemsCollection(24,sortValue),console.log("Hola tu")})})}function mostrarLoadingIcon(){const container=document.getElementById("gf-products");if(!container)return;const existente=document.getElementById("prd-loading-icon");existente&&existente.remove();const loadingIcon=document.createElement("div");loadingIcon.id="prd-loading-icon",loadingIcon.style.textAlign="center",loadingIcon.style.width="100%",loadingIcon.innerHTML='cargando',container.prepend(loadingIcon)}function ordenarProductosInyectados(sortBy){const container=document.getElementById("gf-products");if(!container)return;let productos=Array.from(container.querySelectorAll(".product-item"));productos=productos.filter(el=>!el.id||el.id!=="prd-loading-icon"),(sortBy==="price-ascending"||sortBy==="price-descending")&&productos.sort((a,b)=>{const aPrecio=parseFloat((a.querySelector(".price")?.textContent||"0").replace(/[^0-9.]/g,"")),bPrecio=parseFloat((b.querySelector(".price")?.textContent||"0").replace(/[^0-9.]/g,""));return sortBy==="price-ascending"?aPrecio-bPrecio:bPrecio-aPrecio}),(sortBy==="title-ascending"||sortBy==="title-descending")&&productos.sort((a,b)=>{const aTitulo=a.querySelector(".product-item__title")?.textContent?.trim()?.toLowerCase()||"",bTitulo=b.querySelector(".product-item__title")?.textContent?.trim()?.toLowerCase()||"";return sortBy==="title-ascending"?aTitulo.localeCompare(bTitulo):bTitulo.localeCompare(aTitulo)}),setTimeout(()=>{container.innerHTML="",productos.forEach(p=>container.appendChild(p));const loadingIcon=document.getElementById("prd-loading-icon");loadingIcon&&loadingIcon.remove()},1e3)}document.addEventListener("DOMContentLoaded",bloquearOrdenamientoNativo)}(),function(){window.fullProductsHTML="";async function fetchAllPages(){const cont=document.getElementById("gf-products");if(!cont)return;const totalPages=parseInt(document.querySelector(".pagination li:last-child")?.innerText||"1");let fullHTML=cont.innerHTML;mostrarLoadingIcon();for(let i=2;i<=totalPages;i++)try{const text=await(await fetch(window.location.pathname+`?page=${i}`)).text(),html=document.createElement("div");html.innerHTML=text;const products=html.querySelector("#gf-products");products&&(fullHTML+=products.innerHTML)}catch(err){console.error(`Error cargando p\xE1gina ${i}:`,err)}window.fullProductsHTML=fullHTML,window.filtrarProductosInyectados()}function obtenerCriteriosSeleccionados(){const tags=new Set;return document.querySelectorAll(".collection__filter-checkbox-list input:checked").forEach(i=>i.dataset.tag&&tags.add(i.dataset.tag.toLowerCase())),document.querySelectorAll('.collection__filter-link.is-selected, [data-action="toggle-tag"].is-selected').forEach(el=>el.dataset.tag&&tags.add(el.dataset.tag.toLowerCase())),Array.from(tags).map(t=>t.normalize("NFD").replace(/[\u0300-\u036f]/g,"").replace(/_/g,"-").replace(/\s+/g,"-").toLowerCase())}function renderFilteredAll(filteredItems){const cont=document.getElementById("gf-products");if(!cont)return;cont.innerHTML="",console.log("filteredItems",filteredItems),filteredItems.forEach(item=>{item.classList.remove("hidden"),item.style.display="",cont.appendChild(item)});const pagination=document.querySelector(".pagination, .paginate");pagination&&(pagination.style.display="none")}window.filtrarProductosInyectados=function(){const cont=document.getElementById("gf-products");if(!cont||!window.fullProductsHTML)return;const selectedTags=obtenerCriteriosSeleccionados();if(selectedTags.length===0){cont.innerHTML=window.fullProductsHTML;const pagination=document.querySelector(".pagination, .paginate");pagination&&(pagination.style.display="");return}const temp=document.createElement("div");if(temp.innerHTML=window.fullProductsHTML,Array.from(temp.querySelectorAll(".product-item")).filter(item=>{const tags=(item.dataset.sgaTags||"").split(/\s+/).map(t=>t.normalize("NFD").replace(/[\u0300-\u036f]/g,"").replace(/_/g,"-").replace(/\s+/g,"-").toLowerCase());return selectedTags.some(tag=>tags.includes(tag))}).length===0){cont.innerHTML="

No se encontraron productos con el filtro seleccionado.

";return}};function mostrarLoadingIcon(){const container=document.getElementById("gf-products");if(!container)return;const existente=document.getElementById("prd-loading-icon");existente&&existente.remove();const loadingIcon=document.createElement("div");loadingIcon.id="prd-loading-icon",loadingIcon.style.textAlign="center",loadingIcon.style.width="100%",loadingIcon.innerHTML='cargando',container.prepend(loadingIcon)}document.addEventListener("change",async e=>{if(!e.target.matches(".collection__filter-checkbox-list input"))return;e.preventDefault(),e.stopImmediatePropagation();const tag=e.target.dataset.tag;console.log("Valor de data-tag:",tag)},!0)}(),document.addEventListener("DOMContentLoaded",function(){const filtroBtns=document.querySelectorAll(".filtros-listos");filtroBtns.length>0&&filtroBtns.forEach(function(filtroBtn){filtroBtn.addEventListener("click",function(){const target=document.querySelector(".container--flush");if(target&&target.click(),window.innerWidth<=768){const mobileFilters=document.querySelector(".collection-drawer__close");mobileFilters&&mobileFilters.click()}})})});function paginateItems(perPage){const container=document.getElementById("gf-products"),items=Array.from(container.children),totalItems=items.length,totalPages=Math.ceil(totalItems/perPage);items.forEach(item=>{item.className=item.className.replace(/\bpage_\d+\b/g,""),item.style.display="none"}),items.forEach((item,index)=>{const page=Math.floor(index/perPage)+1;item.classList.add(`page_${page}`)}),container.querySelectorAll(".page_1").forEach(item=>{item.style.display="block"});const paginationContainer=document.querySelector(".custom_pagination_container");paginationContainer.innerHTML="";for(let i=1;i<=totalPages;i++){const start=(i-1)*perPage+1,end=Math.min(i*perPage,totalItems),span=document.createElement("span");span.setAttribute("data-custompage",i),span.setAttribute("data-start",start),span.setAttribute("data-end",end),span.className="custom_page_link",span.textContent=i,paginationContainer.appendChild(span)}document.getElementById("elg-start").textContent=1,document.getElementById("elg-end").textContent=Math.min(perPage,totalItems),document.getElementById("elg-total").textContent=totalItems,console.log(`Paginado en ${totalPages} p\xE1ginas con ${perPage} \xEDtems por p\xE1gina.`)}function paginateItemsCollection(perPage,sortOrder){const container=document.getElementById("gf-products");let items=Array.from(container.children);const totalItems=items.length;items.sort((a,b)=>{if(sortOrder==="price-ascending"||sortOrder==="price-descending"){const priceA=parseFloat(a.querySelector(".price")?.dataset.price||0),priceB=parseFloat(b.querySelector(".price")?.dataset.price||0);return sortOrder==="price-ascending"?priceA-priceB:priceB-priceA}if(sortOrder==="title-ascending"||sortOrder==="title-descending"){const titleA=a.querySelector(".product-item__title")?.textContent.trim().toLowerCase()||"",titleB=b.querySelector(".product-item__title")?.textContent.trim().toLowerCase()||"";return titleAtitleB?sortOrder==="title-ascending"?1:-1:0}return 0}),container.innerHTML="",items.forEach(item=>{item.style.display="none",container.appendChild(item)});const totalPages=Math.ceil(totalItems/perPage);items.forEach((item,index)=>{item.className=item.className.replace(/\bpage_\d+\b/g,"");const page=Math.floor(index/perPage)+1;item.classList.add(`page_${page}`)}),container.querySelectorAll(".page_1").forEach(item=>{item.style.display="block"});const paginationContainer=document.querySelector(".custom_pagination_container");if(paginationContainer){paginationContainer.innerHTML="";for(let i=1;i<=totalPages;i++){const start=(i-1)*perPage+1,end=Math.min(i*perPage,totalItems),span=document.createElement("span");span.setAttribute("data-custompage",i),span.setAttribute("data-start",start),span.setAttribute("data-end",end),span.className="custom_page_link",span.textContent=i,paginationContainer.appendChild(span)}}console.log(`Ordenado por ${sortOrder} y paginado en ${totalPages} p\xE1ginas.`)} //# sourceMappingURL=/cdn/shop/t/106/assets/shpglbapp_new.js.map?v=37237252072715824251755314243