This repository has been archived on 2023-05-08. You can view files and clone it, but cannot push or open issues or pull requests.
mlp-episodes/js/ponycd.js

44 lines
2.9 KiB
JavaScript

var airDate = Date.UTC(2017, 8-1, 12, 15, 30, 0); // Year, month-1, day, hour, minute, second (UTC)
var week = 7*24*60*60*1000;
var counttimes = 12; // How many weeks to count down
var count_finish = "Countdown is currently out of service."; // Message displayed when countdown ends
var count_redir = null; // Website to redirect to when countdown finished, null if no redirect
function zf(v) {
return ""+v;
}
function readableTime(timems, ignoreMs) {
var time = timems|0;
var ms = ignoreMs?'':"."+zf((timems*100)%100|0);
if (time < 60) return "<span class='countdown_section'><span class='countdown_section_number'>"+zf(time)+ms+"</span> Second"+(zf(time)+ms==1?"":"s")+"</span>";
else if (time < 3600) return "<span class='countdown_section'><span class='countdown_section_number'>"+zf(time / 60|0)+"</span> Minute"+(zf(time / 60|0) == 1?"":"s")+"</span> <span class='countdown_section'><span class='countdown_section_number'>"+zf(time % 60)+ms+"</span> Second"+(zf(time % 60)+ms==1?"":"s")+"</span>";
else if (time < 86400) return "<span class='countdown_section'><span class='countdown_section_number'>"+zf(time / 3600|0)+"</span> Hour"+(zf(time / 3600|0)==1 ? "" : "s")+"</span> <span class='countdown_section'><span class='countdown_section_number'>"+zf((time % 3600)/60|0)+"</span> Minute"+(zf((time % 3600)/60|0)==1 ? "" : "s")+"</span> <span class='countdown_section'><span class='countdown_section_number'>"+zf((time % 3600)%60)+ms+"</span> Second"+(zf((time % 3600)%60)+ms==1?"":"s")+"</span>";
else return "<span class='countdown_section'><span class='countdown_section_number'>"+(time / 86400|0)+"</span> Day"+((time / 86400|0)==1?"":"s")+"</span> <span class='countdown_section'><span class='countdown_section_number'>"+zf((time % 86400)/3600|0)+"</span> Hour"+(zf((time % 86400)/3600|0) == 1 ? "" : "s")+"</span> <span class='countdown_section'><span class='countdown_section_number'>"+zf((time % 3600)/60|0)+"</span> Minute"+(zf((time % 3600)/60|0)==1?"":"s")+"</span> <span class='countdown_section'><span class='countdown_section_number'>"+zf((time % 3600)%60)+"</span> Second"+(zf((time % 3600)%60)==1?"":"s")+"</span>";
}
function get() {
var counter = 0;
var now = Date.now();
var cdclock = document.getElementById("cdcontainer");
//return cdclock.innerHTML = "<span class='countdown_textsection'>Hiatus! Check back in a month or two!</span>";
do {
var timeLeft = Math.max(((airDate+week*(counter++)) - now)/1000, 0);
} while (timeLeft === 0 && counter < counttimes);
if (timeLeft === 0) {
if(count_redir != null) {
location.href = count_redir;
}
cdclock.innerHTML = "<span class='countdown_textsection'>"+count_finish+"</span>";
} else {
if (airDate/1000 < now/1000 && (now - (airDate + week*(counter-2)))/1000 < 1800) {
cdclock.innerHTML = "LIVE NOW";
} else {
cdclock.innerHTML = readableTime(timeLeft, true);
}
}
}
setInterval((function() {get(); }), 1000);