193 lines
5.3 KiB
JavaScript
193 lines
5.3 KiB
JavaScript
|
|
//NEW
|
||
|
|
|
||
|
|
function Clock(id){
|
||
|
|
this.id = id;
|
||
|
|
|
||
|
|
var that = this;
|
||
|
|
setInterval(function(){that.updateClock();}, 1000);
|
||
|
|
this.updateClock();
|
||
|
|
}
|
||
|
|
|
||
|
|
Clock.prototype.updateClock = function(){
|
||
|
|
var date = new Date();
|
||
|
|
var clock = document.getElementById(this.id);
|
||
|
|
//console.log(this);
|
||
|
|
clock.innerHTML = this.formatDigits(date.getHours()) + ":" + this.formatDigits(date.getMinutes()) + ":" + this.formatDigits(date.getSeconds());
|
||
|
|
};
|
||
|
|
|
||
|
|
Clock.prototype.formatDigits = function(val){
|
||
|
|
if(val<10) val = "0" + val;
|
||
|
|
|
||
|
|
return val;
|
||
|
|
}
|
||
|
|
|
||
|
|
//OLD
|
||
|
|
|
||
|
|
var floor = Math.floor;
|
||
|
|
|
||
|
|
function ongoing() {
|
||
|
|
|
||
|
|
var now = new Date();
|
||
|
|
|
||
|
|
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ärz", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember");
|
||
|
|
var y = Math.floor(now.getYear());
|
||
|
|
if (y < 999) y += 1900;
|
||
|
|
|
||
|
|
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);
|
||
|
|
|
||
|
|
var utc = new Date();
|
||
|
|
utc.setUTCFullYear(y,MNumb,DNumb); // Monate müssen im Wertebereich 0...11 übergeben werden
|
||
|
|
utc.setUTCHours(h,m,s,ms);
|
||
|
|
|
||
|
|
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;
|
||
|
|
|
||
|
|
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);
|
||
|
|
var e = 23.439 - 0.0000004 * N;
|
||
|
|
var rektaszension = Math.atan((Math.cos(e)*Math.sin(el)) / Math.cos(el));
|
||
|
|
|
||
|
|
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;
|
||
|
|
|
||
|
|
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
|
||
|
|
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);
|
||
|
|
|
||
|
|
var travelWidth = document.body.clientWidth;
|
||
|
|
var travelHeight = document.body.clientHeight;
|
||
|
|
var sunPosX = 0;
|
||
|
|
var sunPosY = 0;
|
||
|
|
var moonPosX = 0;
|
||
|
|
var moonPosY = 0;
|
||
|
|
|
||
|
|
var sun = $("#sun").css({
|
||
|
|
"left": (s / 60) * travelWidth,
|
||
|
|
"top": (m / 60) * travelHeight
|
||
|
|
});
|
||
|
|
|
||
|
|
$("#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));
|
||
|
|
|
||
|
|
$("#julian").text(jd.toFixed(6));
|
||
|
|
//$("#star").text(stH + ':' + stM + ':' + stS);
|
||
|
|
$("#star").text(stH + ':' + stM);
|
||
|
|
$("#star1").text(stGMT);
|
||
|
|
$("#star2").text(stGMT2);
|
||
|
|
|
||
|
|
}
|
||
|
|
|
||
|
|
function zeroFill( number, width ){
|
||
|
|
width -= number.toString().length;
|
||
|
|
if ( width > 0 ){
|
||
|
|
return new Array( width + (/\./.test( number ) ? 2 : 1) ).join( '0' ) + number;
|
||
|
|
}
|
||
|
|
return number + ""; // always return a string
|
||
|
|
}
|
||
|
|
|
||
|
|
// create emails
|
||
|
|
function composeMail(tag, name, prov, suffix, text, topic) {
|
||
|
|
var trigger = tag.indexOf(".");
|
||
|
|
var mailString = name + '@' + prov + '.' + suffix;
|
||
|
|
var textString = mailString.replace(/@/g, "(at)");
|
||
|
|
var descString = "Nachricht an " + mailString;
|
||
|
|
if (trigger == -1) {
|
||
|
|
if (!text) {
|
||
|
|
text = mailString;
|
||
|
|
} else if (text == "at") {
|
||
|
|
text = textString;
|
||
|
|
} else if (text == "to") {
|
||
|
|
text = descString;
|
||
|
|
}
|
||
|
|
if (!topic) {
|
||
|
|
topic = "";
|
||
|
|
} else {
|
||
|
|
topic = "?subject=" + topic;
|
||
|
|
}
|
||
|
|
var old = $('#'+tag).html();
|
||
|
|
$('#'+tag).html(old + text);
|
||
|
|
$('#'+tag).attr("href", "mailto:" + mailString + topic);
|
||
|
|
} else {
|
||
|
|
$(tag).each(function() {
|
||
|
|
if (!text) {
|
||
|
|
text = mailString;
|
||
|
|
} else if (text == "at") {
|
||
|
|
text = textString;
|
||
|
|
} else if (text == "to") {
|
||
|
|
text = descString;
|
||
|
|
}
|
||
|
|
if (!topic) {
|
||
|
|
topic = "";
|
||
|
|
} else {
|
||
|
|
topic = "?subject=" + topic;
|
||
|
|
}
|
||
|
|
var old = $(this).html();
|
||
|
|
$(this).html(old + text);
|
||
|
|
$(this).attr("href", "mailto:" + mailString + topic);
|
||
|
|
});
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
//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 );
|
||
|
|
|
||
|
|
return newW;
|
||
|
|
}
|
||
|
|
//String Element erweitern
|
||
|
|
String.prototype.transform = function() {
|
||
|
|
return parseFloat(this.replace(',', '.'));
|
||
|
|
}
|
||
|
|
//Array Element erweitern
|
||
|
|
Array.prototype.arrayAdd = function() {
|
||
|
|
return eval(this.join("+"));
|
||
|
|
}
|
||
|
|
//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;
|
||
|
|
}
|
||
|
|
//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;
|
||
|
|
}
|