1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
|
/*
* rhwebimport
*
* Copyright (C) 2014-2015 Christian Pointner <equinox@helsinki.at>
*
* This file is part of rhwebimport.
*
* rhwebimport 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.
*
* rhwebimport 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 rhwebimport. If not, see <http://www.gnu.org/licenses/>.
*/
alertbox = function() {}
alertbox.warning = function (dest, heading, message) {
$('#' + dest + ' .alertbox').html('<div class="alert"><a class="close" data-dismiss="alert" href="#">×</a><h4 class="alert-heading">' + heading + '</h4>' + message + '</div>');
}
alertbox.error = function (dest, heading, message) {
$('#' + dest + ' .alertbox').html('<div class="alert alert-error"><a class="close" data-dismiss="alert" href="#">×</a><h4 class="alert-heading">' + heading + '</h4>' + message + '</div>');
}
alertbox.info = function (dest, heading, message) {
$('#' + dest + ' .alertbox').html('<div class="alert alert-info"><a class="close" data-dismiss="alert" href="#">×</a><h4 class="alert-heading">' + heading + '</h4>' + message + '</div>');
}
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]') {
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;
}
return d;
}
function msToTimeString(time) {
if(time == '-') return time;
var h = Number(Math.floor(time / 3600000));
time %= 3600000;
var m = Number(Math.floor(time / 60000));
time %= 60000;
var s = Number(Math.floor(time / 1000));
var hs = Number(Math.floor((time % 1000)/100));
return h + ':' + m.pad(2) + ':' + s.pad(2) + '.' + hs;
}
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;
}
function locationHashValue() {
var hash = window.location.hash.match(/#([a-z]+)\/?.*/);
return hash ? hash[1] : '';
}
|