summaryrefslogtreecommitdiff
path: root/www
diff options
context:
space:
mode:
Diffstat (limited to 'www')
-rw-r--r--www/index.html3
-rw-r--r--www/js/utils.js78
2 files changed, 80 insertions, 1 deletions
diff --git a/www/index.html b/www/index.html
index 7a55666..9042849 100644
--- a/www/index.html
+++ b/www/index.html
@@ -7,10 +7,11 @@
<link rel="shortcut icon" href="/img/favicon.ico" />
<link href="/styles/main.css" rel="stylesheet">
+ <script src="/javascript/jquery/jquery.min.js"></script>
+ <script src="/js/utils.js"></script>
<script src="/js/clock.js"></script>
</head>
<body>
- <h1>Radio Helsinki - Automation Status</h1>
<div id="container">
<img src="/img/helsinki.png" alt="Radio Helsinki Logo" />
<h1>Radio Helsinki - Automation Status</h1>
diff --git a/www/js/utils.js b/www/js/utils.js
new file mode 100644
index 0000000..1c5727a
--- /dev/null
+++ b/www/js/utils.js
@@ -0,0 +1,78 @@
+/*
+ * rhrdweb
+ *
+ * Copyright (C) 2016 Christian Pointner <equinox@helsinki.at>
+ *
+ * This file is part of rhrdweb.
+ *
+ * rhrdweb is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * any later version.
+ *
+ * rhrdweb is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with rhrdweb. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+'use strict';
+
+Number.prototype.pad = function(size) {
+ var s = String(this);
+ while (s.length < (size || 2)) {s = "0" + s;}
+ return s;
+}
+
+var weekday = new Array(7);
+weekday[0] = 'Sonntag';
+weekday[1] = 'Montag';
+weekday[2] = 'Dienstag';
+weekday[3] = 'Mittwoch';
+weekday[4] = 'Donnerstag';
+weekday[5] = 'Freitag';
+weekday[6] = 'Samstag';
+
+var weekday_short = new Array('So', 'Mo', 'Di', 'Mi', 'Do', 'Fr', 'Sa');
+
+function format_datetime(d) {
+ if(Object.prototype.toString.call(d) !== '[object Date]') {
+ return '-';
+ }
+ if (d.toString() === 'Invalid Date') {
+ return '-';
+ }
+ var datetimestr = weekday_short[d.getDay()];
+ datetimestr += ' ' + Number(d.getDate()).pad(2);
+ datetimestr += '.' + Number(d.getMonth() + 1).pad(2);
+ datetimestr += '.' + d.getFullYear();
+ datetimestr += ' ' + Number(d.getHours()).pad(2);
+ datetimestr += ':' + Number(d.getMinutes()).pad(2);
+ datetimestr += ':' + Number(d.getSeconds()).pad(2);
+ return datetimestr;
+}
+
+function get_rd_week(msEpoch) {
+ //
+ // 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.
+ // This needs to be adjusted by the timezone offset for Europe/Vienna
+ // which is of course not constant (damn you daylight savings time)
+ // Divide this by (7*24*60*60) and you get the number of
+ // weeks since the Monday in the week of epoch adjusted for timezone offsets.
+ // 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 = msEpoch / 1000 ;
+ var week = Math.floor((((sEpoch + 259200)/604800) + 2) % 4) + 1;
+ return week;
+}