diff options
Diffstat (limited to 'www/js/utils.js')
-rw-r--r-- | www/js/utils.js | 73 |
1 files changed, 73 insertions, 0 deletions
diff --git a/www/js/utils.js b/www/js/utils.js new file mode 100644 index 0000000..0237594 --- /dev/null +++ b/www/js/utils.js @@ -0,0 +1,73 @@ +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"; + +function format_datetime(d) { + if(Object.prototype.toString.call(d) === "[object Date]") { + var daynames = new Array('So', 'Mo', 'Di', 'Mi', 'Do', 'Fr', 'Sa'); + var datetimestr = daynames[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() { + // + // 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; +} |