(()=>{document.addEventListener("DOMContentLoaded",function(){function A(e,t,n,u,d){let r=e.querySelector(`.${t}`);if(!r)return;r.innerHTML="";let s=document.createElement("label");s.className="filter-radio-button-label",s.innerHTML=` Reset `,r.appendChild(s),Array.from(u).forEach((T,S)=>{let g=document.createElement("label");g.className="filter-radio-button-label",g.innerHTML=` ${T} `,r.appendChild(g)});let f=r.querySelector('input[value="all"]');f&&f.parentElement&&f.parentElement.classList.add("fs-cmsfilter_active")}let R=[{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"}],B=document.getElementById("schedule-tabs"),b=document.getElementById("category-wrapper"),_=document.getElementById("global-category-wrapper"),C=document.getElementById("venue-wrapper"),l=document.getElementById("content-all");if(!B||!b||!_||!l){console.warn("Schedule script: one or more required containers are missing.");return}function M(e,t){let n=e?.querySelector(".filter-heading, .filter-title, .w-form-label, h1, h2, h3, h4, h5, h6");n&&(n.textContent=t)}M(b,"Filter by Team Affinity"),M(_,"Filter by Appearance"),M(C,"Filter by Venue");let m=document.getElementById("pagination-controls");m||(m=document.createElement("div"),m.id="pagination-controls",m.className="pagination-controls",l.appendChild(m));let c=1,$=10,i={date:"all",affinity:"all",appearance:"all",venue:"all"};function p(e){return String(e).replace(/[’‘']/g,"").trim().toLowerCase()}function k(e){if(!e)return"";let t=document.createElement("textarea");return t.innerHTML=e,t.value.trim()}function H(e){let t=e.venue_location?.name?.trim()||"";return p(k(t))}function y(e){if(e==null||e==="")return!1;let t=String(e).trim().toLowerCase();if(t===""||t==="null"||t==="undefined"||t==="tba"||t==="tbd")return!1;let n=new Date(e);return!isNaN(n.getTime())}function q(e){if(!y(e))return!1;let t=String(e).trim();return!(t.includes("00:00:00")||t.includes("T00:00:00"))}function z(e){return y(e.start_time)?e.start_time.split(" ")[0]:""}function O(e){return y(e)?new Date(e).toLocaleDateString("en-US",{weekday:"long",month:"long",day:"numeric"}):"TBA"}function I(e){return q(e)?new Date(e).toLocaleTimeString("en-US",{hour:"numeric",minute:"2-digit",hour12:!0}):""}function W(e){let t=y(e.start_time),n=q(e.start_time);if(!t)return"TBA";let u=O(e.start_time);if(!n)return`${u}`;let d=I(e.start_time);return`${u} ${d}`}function Y(e=3){if(l){l.innerHTML="";for(let t=0;t
`,l.appendChild(n)}}}function J(e){l.innerHTML="",e.forEach(t=>{let n=k(t.venue_location?.name?.trim()||""),d=(t.schedule_categories||[]).map(s=>s.name?.trim()).join(","),r=document.createElement("div");r.className="row_to_copy",r.setAttribute("data-venue",H(t)),r.setAttribute("data-date",z(t)),r.setAttribute("data-schedule-category",d.replace(/[’‘']/g,"").toLowerCase()),r.innerHTML=`
${t.title||
${W(t)}

${t.title||"Untitled Event"}

${n}
${t.description||""}
`,l.appendChild(r)})}function Z(e){let t=Math.ceil(e/$);if(m.innerHTML="",t<=1)return;let n=5,u=Math.max(1,c-Math.floor(n/2));u+n-1>t&&(u=Math.max(1,t-n+1));let d=Math.min(t,u+n-1);if(c>1){let r=document.createElement("button");r.className="pagination-arrow",r.textContent="<",r.addEventListener("click",()=>{c=Math.max(1,c-1);let s=l.getBoundingClientRect().top+window.scrollY-200;window.scrollTo({top:s,behavior:"smooth"}),v()}),m.appendChild(r)}for(let r=u;r<=d;r++){let s=document.createElement("button");s.textContent=r,s.className=`pagination-btn ${r===c?"active":""}`,s.addEventListener("click",()=>{let f=l.getBoundingClientRect().top+window.scrollY-200;window.scrollTo({top:f,behavior:"smooth"}),c=r,v()}),m.appendChild(s)}if(d",r.addEventListener("click",()=>{c=Math.min(t,c+1);let s=l.getBoundingClientRect().top+window.scrollY-200;window.scrollTo({top:s,behavior:"smooth"}),v()}),m.appendChild(r)}}function j(){document.querySelectorAll(".date-radio").forEach(e=>{e.onchange=()=>{i.date=e.value,c=1,document.querySelectorAll(".date-radio").forEach(t=>t.parentElement?.classList.remove("fs-cmsfilter_active")),e.parentElement?.classList.add("fs-cmsfilter_active"),v()}}),document.querySelectorAll(".category-radio").forEach(e=>{e.onchange=()=>{i.affinity=e.value,c=1,document.querySelectorAll(".category-radio").forEach(t=>t.parentElement?.classList.remove("fs-cmsfilter_active")),e.parentElement?.classList.add("fs-cmsfilter_active"),v()}}),document.querySelectorAll(".schedule-category-radio").forEach(e=>{e.onchange=()=>{i.appearance=e.value,c=1,document.querySelectorAll(".schedule-category-radio").forEach(t=>t.parentElement?.classList.remove("fs-cmsfilter_active")),e.parentElement?.classList.add("fs-cmsfilter_active"),v()}}),document.querySelectorAll(".venue-radio").forEach(e=>{e.onchange=()=>{i.venue=e.value,c=1,document.querySelectorAll(".venue-radio").forEach(t=>t.parentElement?.classList.remove("fs-cmsfilter_active")),e.parentElement?.classList.add("fs-cmsfilter_active"),v()}})}function v(){Y(),l.classList.add("skeleton-active"),fetch("https://conventions.leapevent.tech/api/schedules?key=29aedf86-48bf-45a0-87c8-fba0e35485f8").then(e=>e.json()).then(e=>{let t=e.schedules||[];i.date!=="all"&&(t=t.filter(a=>a.start_time&&a.start_time.startsWith(i.date))),i.affinity!=="all"&&(t=t.filter(a=>(a.schedule_categories||[]).some(o=>o.name?.trim().toLowerCase().replace(/[’‘]/g,"'")===i.affinity.trim().toLowerCase().replace(/[’‘]/g,"'")))),i.appearance!=="all"&&(t=t.filter(a=>(a.schedule_categories||[]).some(o=>o.name?.trim().toLowerCase().replace(/[’‘]/g,"'")===i.appearance.trim().toLowerCase().replace(/[’‘]/g,"'")))),i.venue!=="all"&&(t=t.filter(a=>H(a)===p(i.venue)));let n=["Panels","Podcasts","Photo Ops","Autographs"];t.sort((a,o)=>{let h=y(a.start_time)?new Date(a.start_time):null,w=y(o.start_time)?new Date(o.start_time):null;if(h&&w&&h.getTime()!==w.getTime())return h-w;if(h&&!w)return-1;if(!h&&w)return 1;function D(te){let ae=(te.schedule_categories||[]).map(L=>L.name?.trim());for(let L=0;L{let o=k(a.venue_location?.name?.trim()||"");o&&r.add(o),(a.schedule_categories||[]).forEach(h=>{h.name&&d.add(h.name.trim())})});let s=["College Football","Men's Soccer","MLB","NBA","NFL","NHL","WNBA","WWE"],f=new Map;d.forEach(a=>{let o=a.replace(/[’‘']/g,"").trim().toLowerCase();f.set(o,a)});let T=s.map(a=>a.replace(/[’‘']/g,"").trim().toLowerCase()).filter(a=>f.has(a)).map(a=>f.get(a));b.querySelector(".category-checkbox-filter input")||A(b,"category-checkbox-filter","category-radio",T,"category-radio");let S=["Panels","Podcasts","Live Programming","Photo Op Zone","Autograph Zone","Home Team Village Meet & Greet"],g=new Map;d.forEach(a=>{let o=a.replace(/[’‘']/g,"").trim().toLowerCase();g.set(o,a)});let U=S.map(a=>a.replace(/[’‘']/g,"").trim().toLowerCase()).filter(a=>g.has(a)).map(a=>g.get(a));_.querySelector(".global-category-filter input")||A(_,"global-category-filter","schedule-category-radio",U,"schedule-category-radio");let P=["Photo Op Zone","Autograph Zone","Home Team Village Meet & Greet"],N=["River Pavilion"],E=new Map;r.forEach(a=>{E.set(p(a),a)});let G=new Set(P.map(p)),K=new Set(N.map(p)),x=P.map(a=>p(a)).filter(a=>E.has(a)).map(a=>E.get(a));if(Array.from(r).filter(a=>{let o=p(a);return!G.has(o)&&!K.has(o)}).sort((a,o)=>a.localeCompare(o)).forEach(a=>x.push(a)),N.map(a=>p(a)).filter(a=>E.has(a)).forEach(a=>x.push(E.get(a))),C&&!C.querySelector(".venue-filter input")&&A(C,"venue-filter","venue-radio",x,"venue-radio"),i.affinity){let a=i.affinity.replace(/[’‘']/g,"").trim().toLowerCase();document.querySelector(`input[name='category-radio'][value='${a}']`)?.parentElement?.classList.add("fs-cmsfilter_active")}if(i.appearance){let a=i.appearance.replace(/[’‘']/g,"").trim().toLowerCase();document.querySelector(`input[name='schedule-category-radio'][value='${a}']`)?.parentElement?.classList.add("fs-cmsfilter_active")}if(i.venue!=="all"){let a=p(i.venue);document.querySelector(`input[name='venue-radio'][value='${a}']`)?.parentElement?.classList.add("fs-cmsfilter_active")}let Q=t.slice((c-1)*$,c*$);t.length===0?(l.innerHTML='
No results found. Try adjusting your filter settings.
',m.innerHTML="",l.classList.remove("skeleton-active"),l.style.minHeight="",l.style.paddingBottom=""):(l.classList.remove("skeleton-active"),J(Q),Z(u)),j()}).catch(e=>{console.error("Schedule fetch error:",e),l.classList.remove("skeleton-active"),l.innerHTML='
Schedule is currently unavailable. Please try again later.
',m.innerHTML=""})}R.forEach((e,t)=>{let n=document.createElement("label");n.className="filter-radio-button-label",e.value==="all"&&n.classList.add("fs-cmsfilter_active"),n.innerHTML=` ${e.label} `,B.appendChild(n)}),v()});})();