hippie/source/code/app.js

161 lines
4.3 KiB
JavaScript
Raw Normal View History

2024-08-15 22:41:12 +02:00
//NEW
function Clock(id) {
'use strict';
2024-08-15 22:41:12 +02:00
this.id = id;
const that = this;
setInterval(function () {
that.updateClock();
}, 1000);
2024-08-15 22:41:12 +02:00
this.updateClock();
}
Clock.prototype.updateClock = function () {
'use strict';
const date = new Date();
const clock = document.getElementById(this.id);
2024-08-15 22:41:12 +02:00
//console.log(this);
clock.innerHTML = this.formatDigits(date.getHours()) + ':' + this.formatDigits(date.getMinutes()) + ":" + this.formatDigits(date.getSeconds());
2024-08-15 22:41:12 +02:00
};
Clock.prototype.formatDigits = function (val) {
'use strict';
if (val < 10) val = '0' + val;
2024-08-15 22:41:12 +02:00
return val;
};
2024-08-15 22:41:12 +02:00
//OLD
var floor = Math.floor;
function ongoing() {
var now = new Date();
2024-08-15 22:41:12 +02:00
var w = Math.floor(now.getDay());
var D = new Array("Sonntag", "Montag", "Dienstag", "Mittwoch", "Donnerstag", "Freitag", "Samstag");
var DNumb = Math.floor(now.getDate());
var MNumb = Math.floor(now.getMonth());
var M = new Array("Januar", "Februar", "M&auml;rz", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember");
var y = Math.floor(now.getYear());
if (y < 999) y += 1900;
2024-08-15 22:41:12 +02:00
var ms = Math.floor(now.getMilliseconds());
var s = Math.floor(now.getSeconds());
var m = Math.floor(now.getMinutes() + s / 60);
var h = Math.floor(now.getHours() + m / 60);
var j2000 = new Date(); // Bezugspunkt ist der 1.1.2000 0:00 UT (entspricht JD 2451544,5)
j2000.setUTCFullYear(2000, 0, 1);
j2000.setUTCHours(0, 0, 0, 0);
2024-08-15 22:41:12 +02:00
var utc = new Date();
utc.setUTCFullYear(y, MNumb, DNumb); // Monate müssen im Wertebereich 0...11 übergeben werden
utc.setUTCHours(h, m, s, ms);
2024-08-15 22:41:12 +02:00
var utc0 = new Date();
utc0.setUTCFullYear(y, MNumb, DNumb);
utc0.setUTCHours(0, 0, 0, 0);
var jd = 2451544.5 + (utc - j2000) / 86400000; // Zählung erfolgt in Millisekunden, 1 Tag = 86.400.000 ms
var jdUTC0 = 2451544.5 + (utc0 - j2000) / 86400000;
2024-08-15 22:41:12 +02:00
var N = jd - 2451545.0;
var L = 280.460 + 0.9856474 * N; // mittlere ekliptikale Länge der Sonne
var g = 357.528 + 0.9856003 * N; // mittlere Anomalie
var el = L + 1.915 * Math.sin(g) + 0.020 * Math.sin(2 * g);
2024-08-15 22:41:12 +02:00
var e = 23.439 - 0.0000004 * N;
var rektaszension = Math.atan((Math.cos(e) * Math.sin(el)) / Math.cos(el));
2024-08-15 22:41:12 +02:00
var T = (jdUTC0 - 2451545.0) / 36525;
var stGMT = (((6 * 3600) + (41 * 60) + 50.54841) + (8640184.812866 * T) + (0.093104 * Math.pow(T, 2)) - (0.0000062 * Math.pow(T, 3))) / 3600;
2024-08-15 22:41:12 +02:00
var stGMT2 = 6.697376 + 2400.05134 * T + 1.002738 * T;
var hWGMT = stGMT2 * 15;
var hW = hWGMT + 11.9566185772;
var st = (stGMT + (now.getUTCHours() * 1.00273790935)) + (11.9566185772 / 15); // Sommerzeit muss noch berücksichtigt werden
2024-08-15 22:41:12 +02:00
var st24 = Math.abs(st - (Math.round(st / 24) * 24));
var stH = Math.floor(st24);
var stM = Math.floor((st24 % 1) * 60);
var stS = zeroFill(Math.floor((((st24 % 1) * 60) % 1) * 60), 2);
2024-08-15 22:41:12 +02:00
var travelWidth = document.body.clientWidth;
var travelHeight = document.body.clientHeight;
var sunPosX = 0;
var sunPosY = 0;
var moonPosX = 0;
var moonPosY = 0;
2024-08-15 22:41:12 +02:00
var sun = $("#sun").css({
"left": (s / 60) * travelWidth,
"top": (m / 60) * travelHeight
});
2024-08-15 22:41:12 +02:00
$("#day").text(D[w]);
$("#dayNumb").text(DNumb);
$("#month").text(M[MNumb]);
$("#year").text(y);
$("#time").text('' + zeroFill(h, 2) + ':' + zeroFill(m, 2) + ':' + zeroFill(s, 2));
2024-08-15 22:41:12 +02:00
$("#julian").text(jd.toFixed(6));
//$("#star").text(stH + ':' + stM + ':' + stS);
$("#star").text(stH + ':' + stM);
$("#star1").text(stGMT);
$("#star2").text(stGMT2);
2024-08-15 22:41:12 +02:00
}
function zeroFill(number, width) {
2024-08-15 22:41:12 +02:00
width -= number.toString().length;
if (width > 0) {
return new Array(width + (/\./.test(number) ? 2 : 1)).join('0') + number;
2024-08-15 22:41:12 +02:00
}
return number + ""; // always return a string
}
//Länge der Balken im Diagram berechnen
function barwidth(size, G, W) {
var s = size;
var g = G;
var w = W;
var p = (w / g) * 100;
var newW = s * (p / 100);
2024-08-15 22:41:12 +02:00
return newW;
}
2024-08-15 22:41:12 +02:00
//String Element erweitern
String.prototype.transform = function () {
return parseFloat(this.replace(',', '.'));
2024-08-15 22:41:12 +02:00
}
//Array Element erweitern
Array.prototype.arrayAdd = function () {
2024-08-15 22:41:12 +02:00
return eval(this.join("+"));
}
2024-08-15 22:41:12 +02:00
//Speicherplatz in Prozent berechnen
function percentage(total, gigs, round) {
var totalSpace = total;
var singleSpace = gigs;
var z = round;
var p = singleSpace / (totalSpace / 100);
return p;
2024-08-15 22:41:12 +02:00
}
2024-08-15 22:41:12 +02:00
//Speicherplatz in GB berechnen
function gigabytes(percent, total, round) {
var occupiedPercent = percent;
var singleSpace = total;
var z = round;
var g = (singleSpace / 100) * occupiedPercent;
return g;
2024-08-15 22:41:12 +02:00
}