diff options
Diffstat (limited to 'js')
-rw-r--r-- | js/shows.js | 22 | ||||
-rw-r--r-- | js/utils.js | 20 |
2 files changed, 42 insertions, 0 deletions
diff --git a/js/shows.js b/js/shows.js index 6b272bf..d12563c 100644 --- a/js/shows.js +++ b/js/shows.js @@ -154,11 +154,33 @@ function shows_updateList(data, status, req) { shows_showSelected(); } +function draw_current_week() +{ + var weekspan = $('#current-week').removeClass().addClass('label'); + switch(get_rd_week()) { + case 1: + weekspan.addClass('label-info').text('Woche 1'); + break; + case 2: + weekspan.addClass('label-warning').text('Woche 2'); + break; + case 3: + weekspan.addClass('label-success').text('Woche 3'); + break; + case 4: + weekspan.addClass('label-important').text('Woche 4'); + break; + default: + weekspan.addClass('label-inverse').text('Fehler'); + } +} + function shows_init() { shows_currentid = sessionStorage.getItem("shows_currentid"); shows_list = []; data = { LOGIN_NAME: auth_username, PASSWORD: auth_token }; $.post("/rh-bin/listdropboxes.cgi", data, shows_updateList, "xml") + draw_current_week(); } function shows_cleanup() { diff --git a/js/utils.js b/js/utils.js index 0e76068..cdc06dd 100644 --- a/js/utils.js +++ b/js/utils.js @@ -32,3 +32,23 @@ function format_datetime(d) { } return d; } + +function get_rd_week() { + // + // This computes the current Rivendell Week based on the number + // of weeks since epoch. + // + // Explanation: + // epoch was at 01.01.1970 which was a Thursday. + // Monday in that week is (s-from-epoch + 3*24*60*60) seconds ago. + // Divide this by (7*24*60*60) and you get the number of + // weeks since the Monday in the week of epoch. + // This week had week number 3 so add an offset of 2 and + // get the modulo of 4. This rounded down gives you the current week + // with 0 meaning Week 1. So add 1 to that number and you will get + // the current RD week. + // + var sEpoch = (+new Date()) / 1000; + var week = Math.floor((((sEpoch + 259200)/604800) + 2) % 4) + 1 + return week; +} |