(function(){ "use strict"; function chi(d){try{return new Intl.DateTimeFormat('en-CA',{timeZone:'America/Chicago',year:'numeric',month:'2-digit',day:'2-digit'}).format(d);}catch(e){return d.toISOString().slice(0,10);}} var today=chi(new Date()); var track=document.getElementById('xslTrack'); if(!track)return; var i,li,s,kids=track.children; for(i=kids.length-1;i>=0;i--){li=kids[i];s=li.getAttribute('data-start'); if(s&&(s>today||today>li.getAttribute('data-end'))){track.removeChild(li);}} kids=track.children; var n=kids.length; var root=document.querySelector('.xsl'); var dots=document.getElementById('xslDots'); var db=dots.querySelectorAll('button'); for(i=0;i=0){root.classList.add('xsl--light-dots');} else{root.classList.remove('xsl--light-dots');} } function go(k){idx=((k%n)+n)%n;paint();} function step(d){go(idx+d);} function stop(){if(timer){clearInterval(timer);timer=null;}} function restart(){stop();if(!reduced&&n>1){timer=setInterval(function(){step(1);},5000);}} dots.addEventListener('click',function(ev){ var t=ev.target; if(!t||t.tagName!=='BUTTON')return; go(parseInt(t.getAttribute('data-n'),10));restart(); }); document.getElementById('xslPrev').addEventListener('click',function(){step(-1);restart();}); document.getElementById('xslNext').addEventListener('click',function(){step(1);restart();}); root.addEventListener('mouseenter',stop); root.addEventListener('mouseleave',restart); root.addEventListener('focusin',stop); root.addEventListener('focusout',restart); var tx=null; root.addEventListener('touchstart',function(ev){tx=ev.touches[0].clientX;stop();},{passive:true}); root.addEventListener('touchend',function(ev){ if(tx===null)return;var dx=ev.changedTouches[0].clientX-tx;tx=null; if(Math.abs(dx)>40){step(dx<0?1:-1);}restart(); },{passive:true}); document.addEventListener('visibilitychange',function(){if(document.hidden){stop();}else{restart();}}); if(n<2){ document.getElementById('xslPrev').style.display='none'; document.getElementById('xslNext').style.display='none'; dots.style.display='none'; } function tick(){ var now=Date.now(),els=document.querySelectorAll('[data-cd]'),k,el,t; for(k=0;k0?d+'d ':'')+p(h)+'h '+p(m)+'m '+p(sec)+'s'; } } setInterval(tick,1000);tick(); paint();restart(); })();