diff --git a/components/hours-widget.html b/components/hours-widget.html
index 57f924c..372a970 100644
--- a/components/hours-widget.html
+++ b/components/hours-widget.html
@@ -7,6 +7,12 @@
$(document).ready(function(){
+// a function to add the offset
+Date.prototype.addHours= function(h){
+ this.setHours(this.getHours()+h);
+ return this;
+}
+
$.ajax({
url: "https://kbcc-cuny.libcal.com/widget/hours/grid?iid=5570&format=json&weeks=1&systemTime=0",
type: 'GET',
@@ -14,39 +20,30 @@ $.ajax({
dataType: 'jsonp'
})
.done( function (data) {
- for (i = 0; i < data.locations.length; i++) {
+ for (let i = 0; i < data.locations.length; i++) {
if (data.locations[i].lid === 16733) {
- for (let key in data.locations[i].weeks[0]) {
- hours = data.locations[i].weeks[0][key]["rendered"];
+ weekdays = ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"];
+ for (let j = 0; j < weekdays.length; j++) {
+ let x = weekdays[j];
+ hours = data.locations[i].weeks[0][x]["rendered"];
+ currently = data.locations[i].weeks[0][x]["times"]["currently_open"];
let start_and_end = hours.split(" - ");
- let date = new Date(data.locations[i].weeks[0][key]["date"]);
+ let target_date = new Date(data.locations[i].weeks[0][x]["date"]);
+ offset = target_date.getTimezoneOffset() / 60;
+ target_date.addHours(offset);
let today = new Date()
- const isToday = (today.toDateString() == date.toDateString());
+ let isToday = (today.toDateString() == target_date.toDateString());
if (isToday) {
if (start_and_end.length === 1) {
document.getElementById("hours-content").innerHTML += "The library is CLOSED today.
"
+ } else if (currently) {
+ document.getElementById("hours-content").innerHTML += "The library is currently OPEN.
Today's hours are " + hours + ".
";
} else {
- let start = start_and_end[0];
- let end = start_and_end[1];
- let start_time = parseInt(start.replace(/\D/g, ""));
- let start_ampm = start.slice(-2);
- let end_time = parseInt(end.replace(/\D/g, ""));
- let end_ampm = end.slice(-2);
- let start_24 = start_time;
- let end_24 = end_time;
- if (start_ampm === "pm") { start_24 += 12};
- if (end_ampm === "pm") { end_24 += 12};
- console.log("system: " + today.getHours(), "start_24: " + start_24, "end_24: " + end_24);
- let parsed_date = date.toLocaleDateString("en-US", { weekday: 'long', month: 'long', day: 'numeric' });
- if (start_24 <= today.getHours() && today.getHours() < end_24) {
- document.getElementById("hours-content").innerHTML += "The library is currently OPEN.
Today's hours are " + hours + ".
"
- } else {
- document.getElementById("hours-content").innerHTML += "The library is currently CLOSED.
Today's hours are " + hours + ".
"
- }
+ document.getElementById("hours-content").innerHTML += "The library is currently CLOSED.
Today's hours are " + hours + ".
";
}
- }
- }
- }
+ }
+ }
+ }
}
})
});
@@ -56,7 +53,7 @@ $.ajax({