quarantimer-1.20200323: static/js.js
var things;
window.onload=function(){
var loaddate = Date.now();
things = document.getElementsByClassName('thing');
for (var i = 0; i < things.length; i++) {
var elt = things[i];
var img = elt.getElementsByTagName("img")[0];
things[i].img = img;
var timer = elt.getElementsByClassName("timer")[0];
things[i].timer = timer;
var n = parseInt(timer.attributes.title.value);
var d = loaddate + (n * 1000);
things[i].enddate = d;
}
animate();
}
function displayUnit(v,u) {
var s;
if (v == 1) { s = "" } else { s = "s" }
return (v + " " + u + s);
}
function animate() {
now = Date.now();
for (var i = 0; i < things.length; i++) {
var img = things[i].img;
var timer = things[i].timer;
var diff = (things[i].enddate - now) / 1e3;
var h=(diff/60/60)>>0;
var m=(diff/60 - h*60)>>0;
if (diff > 0) {
img.className = "infected";
timer.innerHTML = "quarantine ends in " +
displayUnit(h,"hour") + " " +
displayUnit(m,"minute")
} else {
img.className = "safe";
timer.innerHTML = "quarantine completed";
}
}
setTimeout(animate,10000); // keep updating every 10s
}
function validateform() {
var surfaces=document.getElementsByClassName("surface");
var sok=false;
for (var i=0,l=surfaces.length;i<l;i++) {
if (surfaces[i].checked) {
sok=true;
}
}
photo=document.getElementsByName("photo")[0];
if (photo.value.length == 0) {
alert("Please take a photo of the thing you want to quarantine.");
event.preventDefault();
}
else {
if (! sok) {
alert("Please indicate what the surface of the item is made of.");
event.preventDefault();
}
}
}