-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathscript-old.js
More file actions
91 lines (75 loc) · 3 KB
/
script-old.js
File metadata and controls
91 lines (75 loc) · 3 KB
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
"use strict";
(function() {
var days = ['Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday'];
var months = ['January','February','March','April','May','June','July','August','September','October','November','December'];
Date.prototype.getMonthName = function() {
return months[ this.getMonth() ];
};
Date.prototype.getDayName = function() {
return days[ this.getDay() ];
};
})();
let date = new Date();
let today = new Date();
let currentYear = date.getFullYear();
let currentMonth = date.getMonth();
let currentDate = date.getDate();
let currentMonthName = date.getMonthName();
let currentDayName = date.getDayName();
function getMonthFirstDayName(year, month) {
return new Date(year, month, 1).getDayName();
}
function getMonthLastDay(year, month) {
return new Date(year, month + 1, 0).getDate();
}
let months = ['January','February','March','April','May','June','July','August','September','October','November','December'];
let days = ['Monday','Tuesday','Wednesday','Thursday','Friday','Saturday','Sunday'];
document.getElementById("date-header").innerHTML = months[currentMonth] + " " + currentYear;
function createCalender() {
let dayPos;
days.forEach( (item, index) => {
if(item === getMonthFirstDayName(currentYear, currentMonth)) {
dayPos = index + 1;
}
});
document.getElementById("days-container").innerHTML = ""; // Remove old Calender ...
// ... then create a new calender
for (let i = 1; i <= 42; i++) {
let element = document.createElement('div');
if (i >= dayPos && i-dayPos < getMonthLastDay(currentYear, currentMonth)) {
element.innerHTML = i-dayPos+1;
if (currentYear === today.getFullYear() && currentMonth === today.getMonth() && i-dayPos+1 === today.getDate()) {
element.style.backgroundColor = "#d00000";
}
} else {
if (i < dayPos) {
element.innerHTML = getMonthLastDay(currentYear, currentMonth - 1) - dayPos + 1 + i;
} else {
element.innerHTML = i/i;
}
element.style.backgroundColor = "#32292f";
}
document.getElementById("days-container").appendChild(element); // Construct Calender
}
}
createCalender();
function changeMonthForward() {
if (currentMonth == 11) {
currentMonth = 0;
date.setDate(currentYear++, currentMonth, currentDate);
} else {
date.setDate(currentYear, currentMonth++, currentDate);
}
createCalender();
document.getElementById("date-header").innerHTML = months[currentMonth] + " " + currentYear;
}
function changeMonthBackwards() {
if (currentMonth == 0) {
currentMonth = 11;
date.setDate(currentYear--, currentMonth, currentDate);
} else {
date.setDate(currentYear, currentMonth--, currentDate);
}
createCalender();
document.getElementById("date-header").innerHTML = months[currentMonth] + " " + currentYear;
}