diff options
-rw-r--r-- | index.html | 2 | ||||
-rw-r--r-- | js/shows.js | 22 | ||||
-rw-r--r-- | js/utils.js | 20 | ||||
-rw-r--r-- | styles/shows.css | 5 |
4 files changed, 48 insertions, 1 deletions
@@ -89,7 +89,7 @@ <div class="span2"> <center> <h4>Aktuelle Woche</h4> - <span id="current-week" class="label label-success">Woche 1</span> + <span id="current-week"></span> </center> </div> </div> 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; +} diff --git a/styles/shows.css b/styles/shows.css index 0191f6b..f241f40 100644 --- a/styles/shows.css +++ b/styles/shows.css @@ -9,3 +9,8 @@ height: 2.5em; width: 100%; } +#current-week { + display: block; + margin: 0.5em; + padding: 0.5em 1em; +} |