function pad2digits (i) {
if (i < 10) {
return "0" + i;
} else {
return "" + i;
}
}
function seconds2interval (s) {
var h, m;
s = Math.floor(s);
m = Math.floor(s / 60);
s = s % 60;
h = Math.floor(m / 60);
m = m % 60;
return h + ":" + pad2digits(m) + ":" + pad2digits(s);
}
$(function () {
$('.pubtkt-progress').each(function () {
var item = $(this);
var progress_bar = item.find('.progress-bar');
var progress_label = item.find('.pubtkt-progress-label');
var progress_start = item.attr('data-start');
var progress_refresh = item.attr('data-refresh');
var progress_end = item.attr('data-end');
var start_time = Date.now();
var reload = false;
function update_progress () {
var duration = (Date.now() - start_time) / 1000;
var progress = progress_start - duration;
if (reload) {
// delayed reload
window.location.reload(true);
}
if (progress <= 0 || (progress_refresh && progress < progress_refresh)) {
// done
reload = true;
} else {
// update
progress_bar.css('width', (progress * 100 / progress_end) + '%');
progress_label.html(seconds2interval(progress));
}
}
window.setInterval(update_progress, 1000);
});
});