summaryrefslogtreecommitdiff
path: root/js
diff options
context:
space:
mode:
Diffstat (limited to 'js')
-rw-r--r--js/shows.js22
-rw-r--r--js/utils.js20
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;
+}