Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function addZero(i) {
- if (i < 10) {
- i = "0" + i;
- }
- return i;
- }
- function curTime() {
- var d = new Date();
- var x = document.getElementById("time");
- var h = addZero(d.getHours());
- var m = addZero(d.getMinutes());
- var s = addZero(d.getSeconds());
- x.innerHTML = h + "." + m;
- }
- var closest = function(a, x) {
- var lo, hi;
- for (var i = a.length; i--;) {
- if (a[i] <= x && (lo === undefined || lo < a[i])) lo = a[i];
- if (a[i] >= x && (hi === undefined || hi > a[i])) hi = a[i];
- };
- return [lo, hi];
- }
- var toHHMM = (secs) => {
- var sec_num = parseInt(secs, 10)
- var hours = Math.floor(sec_num / 3600) % 24
- var minutes = Math.floor(sec_num / 60) % 60
- return [hours,minutes]
- .map(v => v < 10 ? "0" + v : v)
- .filter((v,i) => v !== "00" || i > 0)
- .join(":")
- }
- function includes(k) {
- for(var i=0; i < this.length; i++){
- if( this[i] === k || ( this[i] !== this[i] && k !== k ) ){
- return true;
- }
- }
- return false;
- }
- var timeTable = Array();
- window.onload = function () {
- curTime();
- var days = ['Søndag', 'Mandag', 'Tirsdag', 'Onsdag', 'Torsdag', 'Fredag', 'Lørdag'];
- var months = ['Januar', 'Februar', 'Marts', 'April', 'Juni', 'Juli', 'August', 'September', 'Oktober', 'November', 'December'];
- var curDates = new Date();
- var dayName = days[curDates.getDay()];
- var dayDate = curDates.getDate();
- var dayMonth = months[curDates.getMonth()];
- $("#date").html(dayName + " d. " + dayDate + " " + dayMonth);
- $("table tr").each(function(i){
- var currentSelector = $(this);
- var timeFrom = currentSelector.attr("timeFrom");
- var timeTo = currentSelector.attr("timeTo");
- var timeFromVal = timeFrom.split(':');
- var timeToVal = timeTo.split(':');
- var timeFromSec = (+timeFromVal[0]) * 60 * 60 + (+timeFromVal[1]) * 60;
- var timeToSec = (+timeToVal[0]) * 60 * 60 + (+timeToVal[1]) * 60;
- timeTable.includes = includes;
- if (timeTable.includes(timeFromSec)) {
- // Already Exists
- } else {
- timeTable.push(timeFromSec);
- }
- if (timeTable.includes(timeToSec)) {
- // Already Exists
- } else {
- timeTable.push(timeToSec);
- }
- })
- lastTime = timeTable.slice(-1)[0];
- var curDate = new Date();
- var hours = curDate.getHours();
- var mins = curDate.getMinutes();
- currentTime = (hours * 60 * 60) + (mins * 60);
- minMax = closest(timeTable, currentTime);
- curFrom = minMax[0];
- curTo = minMax[1];
- $("table tr").each(function(i){
- if ($(this).attr("timeFrom") == toHHMM(curFrom) && $(this).attr("timeTo") == toHHMM(curTo) || $(this).attr("timeFrom") == toHHMM(currentTime) && curTo) {
- $(this).addClass("active");
- } else {
- $(this).removeClass("active");
- }
- });
- if (!curFrom) {
- status2 = "Første time begynger kl. " + toHHMM(curTo);
- $(".split > div:first-child").removeClass("hide");
- } else if (!curTo || currentTime == lastTime) {
- status2 = "Skolen er slut for i dag";
- $(".split > div:first-child").addClass("hide");
- } else if (!$("*").hasClass("active")) {
- status2 = "Der er frikvarter - Næste lektion starter kl. " + toHHMM(curTo);
- $(".split > div:first-child").removeClass("hide");
- } else {
- status2 = "I Skole";
- $(".split > div:first-child").removeClass("hide");
- }
- if (status2 == "I Skole") {
- percentage = (currentTime - curFrom) / (curTo - curFrom) * 100;
- if (currentTime == curFrom) {
- percentage = 0;
- }
- $("#progress").css("width", percentage + "%");
- $("#progress").html(status2).removeClass("progressInactive");
- } else {
- $("#progress").html(status2).addClass("progressInactive");
- }
- }
- window.setInterval(function(){
- curTime();
- var curDate = new Date();
- var hours = curDate.getHours();
- var mins = curDate.getMinutes();
- currentTime = (hours * 60 * 60) + (mins * 60);
- minMax = closest(timeTable, currentTime);
- curFrom = minMax[0];
- curTo = minMax[1];
- $("table tr").each(function(i){
- if ($(this).attr("timeFrom") == toHHMM(curFrom) && $(this).attr("timeTo") == toHHMM(curTo) || $(this).attr("timeFrom") == toHHMM(currentTime) && curTo) {
- $(this).addClass("active");
- } else {
- $(this).removeClass("active");
- }
- });
- if (!curFrom) {
- status2 = "Første time begynger kl. " + toHHMM(curTo);
- $(".split > div:first-child").removeClass("hide");
- } else if (!curTo || currentTime == lastTime) {
- status2 = "Skolen er slut for i dag";
- $(".split > div:first-child").addClass("hide");
- } else if (!$("*").hasClass("active")) {
- status2 = "Der er frikvarter - Næste lektion starter kl. " + toHHMM(curTo);
- $(".split > div:first-child").removeClass("hide");
- } else {
- status2 = "I Skole";
- $(".split > div:first-child").removeClass("hide");
- }
- if (status2 == "I Skole") {
- percentage = (currentTime - curFrom) / (curTo - curFrom) * 100;
- if (currentTime == curFrom) {
- percentage = 0;
- }
- $("#progress").css("width", percentage + "%");
- $("#progress").html(status2).removeClass("progressInactive");
- } else {
- $("#progress").html(status2).addClass("progressInactive");
- }
- }, 1000);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement