-
Notifications
You must be signed in to change notification settings - Fork 0
/
script.js
157 lines (116 loc) · 6.93 KB
/
script.js
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
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
// menu opening and closing
function openNav() {
document.getElementById("sideNav").style.width = "20vw";
document.getElementById("main").style.marginLeft = "20vw";
}
function closeNav() {
document.getElementById("sideNav").style.width = "0";
document.getElementById("main").style.marginLeft = "0";
}
// Set default for changed ( if dark/light comparison has changed ) to false
changed = false;
// Change dark/light comparison
function darkLightChange() {
switch (changed) {
case false:
document.getElementById("clouds_light").src = "clouds_dark.png";
document.getElementById("clouds_dark").src = "clouds_light.png";
changed = true;
break;
case true:
document.getElementById("clouds_light").src = "clouds_light.png";
document.getElementById("clouds_dark").src = "clouds_dark.png";
changed = false;
break;
}
}
function scroll(where) {
switch (where) {
case "about":
document.getElementById("about").scrollIntoView({ behavior: "smooth" });
break;
case "projects":
document.getElementById("projects").scrollIntoView({ behavior: "smooth" });
break;
};
}
// Function to format the time
function formatTime(number) {
// If the number is not 2 digits, add a 0 in front
if (number.toString().length <= 1) {
// Add a 0 in front
number = "0" + number;
}
// return the formatted number
return number;
}
// Birthday with the current year (25.01)
var birth = new Date(2008, 0, 25, 08, 18, 00);
// Create the var "birthDate" with the values from "birth" but the current year
var year = new Date();
var birthDate = new Date(year.getFullYear(), birth.getMonth(), birth.getDate(), birth.getHours(), birth.getMinutes(), birth.getSeconds());
// Function to check for dates
function getDates() {
// Get the current date
var today = new Date();
// Check if the birthday has'nt already passed this year
if (today.getTime() > birthDate.getTime()) {} else {
// Check if the birthday is within the next 24 hours to 2 hours
if (birthDate.getTime() - today.getTime() < 86400000 && birthDate.getTime() - today.getTime() > 7200000) {
// Get a countdown in the format hh:mm:ss
var difference = new Date(birthDate.getTime() - today.getTime());
// Get the hours, minutes and seconds from the countdown
var hours = formatTime(difference.getUTCHours());
var minutes = formatTime(difference.getUTCMinutes());
var seconds = formatTime(difference.getUTCSeconds());
// Create the countdown
var countdown = "" + hours + ":" + minutes + ":" + seconds;
// Insert it into the page
document.getElementById("occassion").innerHTML = countdown;
document.getElementById("occassion").style.display = "block";
// Self rerun
window.setTimeout("getDates();", 1000);
// Insert the Age into the page
document.getElementById("age").innerHTML = age + " Jahre alt,";
// If not, check if the birthday is within the next 2 hours
} else if (birthDate.getTime() - today.getTime() < 7200000 && birthDate.getTime()) {
// Get a countdown in the format hh:mm:ss
var difference = new Date(birthDate.getTime() - today.getTime());
// Get the hours, minutes and seconds from the countdown
var hours = formatTime(difference.getUTCHours());
var minutes = formatTime(difference.getUTCMinutes());
var seconds = formatTime(difference.getUTCSeconds());
// Create the countdown
var countdown = "" + hours + ":" + minutes + ":" + seconds;
// Replace the full page with the countdown
document.body.innerHTML = "<h1>" + countdown + "</h1>";
document.body.classList.add('occassion');
// Self rerun
window.setTimeout("getDates();", 1000);
}
}
// This is what happens if no event is happening
// Calculate the difference between the two dates
var diff = today.getTime() - birth.getTime();
// Calculate the age
var age = Math.floor(diff / (1000 * 60 * 60 * 24 * 365.25));
// Insert the Age into the page
document.getElementById("age").innerHTML = age + " Jahre alt,";
}
getDates();
// The function to check if the user screen is too small
function checkMobile() {
// Initialize a variable
let check = false;
// Run the check
(function(a) { if (/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(a) || /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(a.substr(0, 4))) check = true; })(navigator.userAgent || navigator.vendor || window.opera);
// Return the check result
return check;
};
// If checkmobile returns true OR the pagewith is lower than 900px wide
if (checkMobile() || window.innerWidth < 900) {
// goto ./mobile/
window.location.href = "./mobile/";
}
// Right copyright year
document.getElementById("copyright").innerHTML = "© " + new Date().getFullYear() + " CuzImBisonratte";