]> iEval git - plack-app-gruntmaster.git/blobdiff - js/90-timers.js
Add timers for contest start/stop and problem value
[plack-app-gruntmaster.git] / js / 90-timers.js
diff --git a/js/90-timers.js b/js/90-timers.js
new file mode 100644 (file)
index 0000000..2d6cbfb
--- /dev/null
@@ -0,0 +1,32 @@
+(function(){
+       'use strict';
+
+       function update_timer(timer){
+               var start = parseInt(timer.dataset.start);
+               var stop  = parseInt(timer.dataset.stop);
+               var value = parseInt(timer.dataset.value);
+               var now   = Math.floor(Date.now() / 1000);
+
+               var left = stop - now;
+               var total = stop - start;
+               if(left < 0)
+                       left = 0;
+
+               if(value) {
+                       value = Math.max(value * 3 / 10, value * left / total);
+                       timer.innerHTML = Math.floor(value);
+               } else {
+                       var hours = left / 60 / 60;
+                       var minutes = left / 60 % 60;
+                       var seconds = left % 60;
+                       timer.innerHTML = sprintf('%02d:%02d:%02d', hours, minutes, seconds);
+               }
+       }
+
+       $( document ).ready(function() {
+               $('.timer').each(function(index, item){
+                       update_timer(item);
+                       setInterval(function(){update_timer(item)}, 1000);
+               });
+       });
+})();
This page took 0.019342 seconds and 4 git commands to generate.