(()=>{(function(){function B(){if(window.__liveProgrammingScheduleInitialized)return;window.__liveProgrammingScheduleInitialized=!0;let R="https://conventions.leapevent.tech/api/schedules?key=29aedf86-48bf-45a0-87c8-fba0e35485f8",q="https://cdn.prod.website-files.com/674e1edc8e81e5f4edcba276/674e1edc8e81e5f4edcba295_fanatics-intro-logo.webp",G=[{label:"Reset",value:"all"},{label:"Thursday, July 16",value:"2026-07-16"},{label:"Friday, July 17",value:"2026-07-17"},{label:"Saturday, July 18",value:"2026-07-18"},{label:"Sunday, July 19",value:"2026-07-19"}],_=document.getElementById("schedule-tabs"),S=document.getElementById("category-wrapper"),A=document.getElementById("global-category-wrapper"),T=document.getElementById("venue-wrapper"),c=document.getElementById("content-all");if(!_||!S||!A||!c){console.warn("Schedule script: one or more required containers are missing."),window.__liveProgrammingScheduleInitialized=!1;return}let u=document.getElementById("pagination-controls");u?u.parentElement===c&&c.insertAdjacentElement("afterend",u):(u=document.createElement("div"),u.id="pagination-controls",u.className="pagination-controls",c.insertAdjacentElement("afterend",u));let P=[],$=!1,p=1,M=10,f={date:"all",affinity:"all",appearance:"all",venue:"all"};function d(e){return String(e??"").replace(/[’‘']/g,"").trim().toLowerCase()}function b(e){return String(e??"").replace(/[&<>"']/g,t=>({"&":"&","<":"<",">":">",'"':""","'":"'"})[t])}function x(e,t){let a=e?.querySelector(".filter-heading, .filter-title, .w-form-label, h1, h2, h3, h4, h5, h6");a&&(a.textContent=t)}function F(e){if(!e)return"";let t=document.createElement("textarea");return t.innerHTML=e,t.value.trim()}function I(e){let t=e?.venue_location?.name?.trim()||"";return d(F(t))}function w(e){if(e==null||e==="")return!1;let t=String(e).trim().toLowerCase();return t===""||t==="null"||t==="undefined"||t==="tba"||t==="tbd"?!1:!Number.isNaN(new Date(e).getTime())}function D(e){if(!w(e))return!1;let t=String(e).trim();return!(t.includes("00:00:00")||t.includes("T00:00:00"))}function O(e){if(!w(e?.start_time))return"";let t=String(e.start_time).match(/^\d{4}-\d{2}-\d{2}/);return t?t[0]:""}function W(e){return w(e)?new Date(e).toLocaleDateString("en-US",{weekday:"long",month:"long",day:"numeric"}):"TBA"}function j(e){return D(e)?new Date(e).toLocaleTimeString("en-US",{hour:"numeric",minute:"2-digit",hour12:!0}):""}function U(e){if(!w(e?.start_time))return"TBA";let t=W(e.start_time);return D(e.start_time)?`${t} ${j(e.start_time)}`:t}function J(e,t){e.querySelectorAll(t).forEach(a=>{a.parentElement?.classList.toggle("fs-cmsfilter_active",a.checked)})}function V(e){document.querySelectorAll(".date-radio, .category-radio, .schedule-category-radio, .venue-radio").forEach(t=>{t.disabled=e})}function H(e,t,a,n,i){let r=e?.querySelector(`.${t}`);if(!r)return;r.innerHTML="",["all",...n].forEach((l,m)=>{let g=l==="all",E=g?"all":d(l),y=g?"Reset":l,s=`${a}-${g?"all":m-1}`,v=f[i==="category-radio"?"affinity":i==="schedule-category-radio"?"appearance":"venue"]===E,C=document.createElement("label");C.className="filter-radio-button-label",C.classList.toggle("fs-cmsfilter_active",v),C.innerHTML=` ${b(y)} `,r.appendChild(C)})}function Y(){_.querySelectorAll("input.date-radio").forEach(e=>{e.closest("label")?.remove()}),G.forEach((e,t)=>{let a=f.date===e.value,n=document.createElement("label");n.className="filter-radio-button-label",n.classList.toggle("fs-cmsfilter_active",a),n.innerHTML=` ${e.label} `,_.appendChild(n)})}function Z(e=3){c.innerHTML="",u.innerHTML="";for(let t=0;t
`,c.appendChild(a)}}function K(e){c.innerHTML="",e.forEach(t=>{let a=F(t?.venue_location?.name?.trim()||""),i=(t?.schedule_categories||[]).map(m=>d(m?.name)).filter(Boolean).join(","),r=t?.image?.big||q,o=t?.title||"Untitled Event",l=document.createElement("div");l.className="row_to_copy",l.setAttribute("data-venue",I(t)),l.setAttribute("data-date",O(t)),l.setAttribute("data-schedule-category",i),l.innerHTML=`
${b(o)}
${U(t)}

${b(o)}

${b(a)}
${t?.description||""}
`,c.appendChild(l)})}function N(){let e=c.getBoundingClientRect().top+window.scrollY-200;window.scrollTo({top:e,behavior:"smooth"})}function Q(e){let t=Math.ceil(e/M);if(u.innerHTML="",t<=1)return;let a=5,n=Math.max(1,p-Math.floor(a/2));n+a-1>t&&(n=Math.max(1,t-a+1));let i=Math.min(t,n+a-1);if(p>1){let r=document.createElement("button");r.type="button",r.className="pagination-arrow",r.textContent="<",r.setAttribute("aria-label","Previous page"),r.addEventListener("click",()=>{p=Math.max(1,p-1),L(),N()}),u.appendChild(r)}for(let r=n;r<=i;r+=1){let o=document.createElement("button");o.type="button",o.textContent=r,o.className=`pagination-btn ${r===p?"active":""}`,o.setAttribute("aria-label",`Go to page ${r}`),r===p&&o.setAttribute("aria-current","page"),o.addEventListener("click",()=>{p=r,L(),N()}),u.appendChild(o)}if(p",r.setAttribute("aria-label","Next page"),r.addEventListener("click",()=>{p=Math.min(t,p+1),L(),N()}),u.appendChild(r)}}function X(e){let t=["Panels","Podcasts","Photo Ops","Autographs"].map(d);return e.sort((a,n)=>{let i=w(a?.start_time)?new Date(a.start_time):null,r=w(n?.start_time)?new Date(n.start_time):null;if(i&&r&&i.getTime()!==r.getTime())return i-r;if(i&&!r)return-1;if(!i&&r)return 1;function o(y){let h=(y?.schedule_categories||[]).map(v=>d(v?.name)).map(v=>t.indexOf(v)).filter(v=>v!==-1);return h.length?Math.min(...h):t.length}let l=o(a),m=o(n);if(l!==m)return l-m;let g=a?.title?.toLowerCase()||"",E=n?.title?.toLowerCase()||"";return g.localeCompare(E)})}function ee(){let e=P.filter(t=>{if(f.date!=="all"&&O(t)!==f.date)return!1;let a=(t?.schedule_categories||[]).map(n=>d(n?.name));return!(f.affinity!=="all"&&!a.includes(f.affinity)||f.appearance!=="all"&&!a.includes(f.appearance)||f.venue!=="all"&&I(t)!==f.venue)});return X(e)}function L(){if(!$)return;let e=ee(),t=Math.max(1,Math.ceil(e.length/M));if(p>t&&(p=t),e.length===0){c.classList.remove("skeleton-active"),c.innerHTML='
No results found. Try adjusting your filter settings.
',u.innerHTML="",c.style.minHeight="",c.style.paddingBottom="";return}let a=(p-1)*M,n=e.slice(a,a+M);c.classList.remove("skeleton-active"),K(n),Q(e.length)}function z(e,t){let a=new Map;return e.forEach(n=>{let i=d(n);i&&!a.has(i)&&a.set(i,n)}),t.map(d).filter(n=>a.has(n)).map(n=>a.get(n))}function te(){let e=new Set,t=new Set;P.forEach(o=>{let l=F(o?.venue_location?.name?.trim()||"");l&&t.add(l),(o?.schedule_categories||[]).forEach(m=>{let g=m?.name?.trim();g&&e.add(g)})});let a=["College Football","Men's Soccer","MLB","NBA","NFL","NHL","WNBA","WWE"],n=["Panels","Podcasts","Live Programming","Free Photo Ops","Paid Photo Op","Paid Autograph","Paid Photo Ops","Paid Autographs","In Her Spotlight","Topps Stage","Topps","Fanatics Games"],i=z(e,a),r=z(e,n);if(H(S,"category-checkbox-filter","category-radio",i,"category-radio"),H(A,"global-category-filter","schedule-category-radio",r,"schedule-category-radio"),T){let o=["Photo Op Zone","Autograph Zone","Home Team Village Meet & Greet"],l=["River Pavilion"],m=new Map;t.forEach(s=>{m.set(d(s),s)});let g=new Set(o.map(d)),E=new Set(l.map(d)),y=o.map(d).filter(s=>m.has(s)).map(s=>m.get(s));Array.from(t).filter(s=>{let h=d(s);return!g.has(h)&&!E.has(h)}).sort((s,h)=>s.localeCompare(h)).forEach(s=>y.push(s)),l.map(d).filter(s=>m.has(s)).forEach(s=>y.push(m.get(s))),H(T,"venue-filter","venue-radio",y,"venue-radio")}}function k(e,t,a){e&&e.addEventListener("change",n=>{let i=n.target.closest(t);!i||!e.contains(i)||(f[a]=d(i.value)||"all",p=1,J(e,t),L())})}async function ae(){Z(),c.classList.add("skeleton-active"),V(!0);let e=new AbortController,t=window.setTimeout(()=>e.abort(),2e4);try{let a=await fetch(R,{cache:"no-store",signal:e.signal});if(!a.ok)throw new Error(`Schedule API returned ${a.status} ${a.statusText}`);let n=await a.json();P=Array.isArray(n?.schedules)?n.schedules:[],te(),$=!0,V(!1),L()}catch(a){console.error("Schedule fetch error:",a),$=!1,c.classList.remove("skeleton-active"),c.innerHTML='
Schedule is currently unavailable. Please try again later.
',u.innerHTML=""}finally{window.clearTimeout(t)}}x(S,"Filter by Team Affinity"),x(A,"Filter by Appearance"),x(T,"Filter by Venue"),Y(),k(_,".date-radio","date"),k(S,".category-radio","affinity"),k(A,".schedule-category-radio","appearance"),k(T,".venue-radio","venue"),ae()}document.readyState==="loading"?document.addEventListener("DOMContentLoaded",B,{once:!0}):B()})();})();