highlighting upcoming holiday
This commit is contained in:
		
							parent
							
								
									1494a7cd24
								
							
						
					
					
						commit
						bd8a17b2cc
					
				
							
								
								
									
										51
									
								
								index.html
								
								
								
								
							
							
						
						
									
										51
									
								
								index.html
								
								
								
								
							| 
						 | 
				
			
			@ -174,6 +174,8 @@ const utcs = { "UTC-11" : "-11", "UTC-10" : "-10", "UTC-9" : "-9",
 | 
			
		|||
  "UTC+10" : "10", "UTC+11" : "11" };
 | 
			
		||||
var buttons = "";
 | 
			
		||||
var counter = 0;
 | 
			
		||||
var nextholiday = false;
 | 
			
		||||
var currentholiday = false;
 | 
			
		||||
for (var u in utcs) {
 | 
			
		||||
  counter += 1;
 | 
			
		||||
  buttons += '<input type="button" onclick="document.getElementById(' + "'soltable'" + ').innerHTML = makeTable(';
 | 
			
		||||
| 
						 | 
				
			
			@ -226,18 +228,38 @@ function tableRow(cy, timeoutput, UTC, oneyearinp = false) {
 | 
			
		|||
      else stringout += cy;
 | 
			
		||||
  }
 | 
			
		||||
    var Imbolc = new Date(ss[cy-1].getTime() + ((ve[cy].getTime() - ss[cy-1].getTime()) / 2));
 | 
			
		||||
  stringout += '<td  class = "even">' + formatedDate(Imbolc, timeoutput, UTC) + "</td>";
 | 
			
		||||
  stringout += '<td>' + formatedDate(ve[cy], timeoutput, UTC) + "</td>";
 | 
			
		||||
  stringout += '<td class="even im">' + formatedDate(Imbolc, timeoutput, UTC) + "</td>";
 | 
			
		||||
  stringout += '<td class="os">' + formatedDate(ve[cy], timeoutput, UTC) + "</td>";
 | 
			
		||||
    var Beltane = new Date(ve[cy].getTime() + ((ns[cy].getTime() - ve[cy].getTime()) / 2));
 | 
			
		||||
  stringout += '<td  class = "even">' + formatedDate(Beltane, timeoutput, UTC) + "</td>";
 | 
			
		||||
  stringout += '<td>' + formatedDate(ns[cy], timeoutput, UTC) + "</td>";
 | 
			
		||||
  stringout += '<td class="even be">' + formatedDate(Beltane, timeoutput, UTC) + "</td>";
 | 
			
		||||
  stringout += '<td class="ku">' + formatedDate(ns[cy], timeoutput, UTC) + "</td>";
 | 
			
		||||
    var Lughnasadh = new Date(ns[cy].getTime() + ((ae[cy].getTime() - ns[cy].getTime()) / 2));
 | 
			
		||||
  stringout += '<td  class = "even">' + formatedDate(Lughnasadh, timeoutput, UTC) + "</td>";
 | 
			
		||||
  stringout += '<td>' + formatedDate(ae[cy], timeoutput, UTC) + "</td>";
 | 
			
		||||
  stringout += '<td class="even lu">' + formatedDate(Lughnasadh, timeoutput, UTC) + "</td>";
 | 
			
		||||
  stringout += '<td class="ma">' + formatedDate(ae[cy], timeoutput, UTC) + "</td>";
 | 
			
		||||
    var Samhain = new Date(ae[cy].getTime() + ((ss[cy].getTime() - ae[cy].getTime()) / 2));
 | 
			
		||||
  stringout += '<td  class = "even">' + formatedDate(Samhain, timeoutput, UTC) + "</td>";
 | 
			
		||||
  stringout += '<td>' + formatedDate(ss[cy], timeoutput, UTC) + "</td>";
 | 
			
		||||
  return stringout;
 | 
			
		||||
  stringout += '<td class="even sa">' + formatedDate(Samhain, timeoutput, UTC) + "</td>";
 | 
			
		||||
  stringout += '<td class="yu">' + formatedDate(ss[cy], timeoutput, UTC) + "</td>";
 | 
			
		||||
 | 
			
		||||
  if (cy == now.getFullYear()) {
 | 
			
		||||
    var wheeldaystime = [ ss[cy-1].getTime(), Imbolc.getTime(), ve[cy].getTime(), Beltane.getTime(),
 | 
			
		||||
                    ns[cy].getTime(), Lughnasadh.getTime(), ae[cy].getTime(), Samhain.getTime(),
 | 
			
		||||
                    ss[cy].getTime(), ve[cy+1].getTime()]
 | 
			
		||||
    var wheeldays = [ "prev", "im", "os", "be", "ku", "lu", "ma", "sa", "yu", "next" ]
 | 
			
		||||
    Number.prototype.isBetween = function (a, b) {
 | 
			
		||||
      return a <= this && this <= b;
 | 
			
		||||
    };
 | 
			
		||||
    for (let i = 1; i < 10; i++) {
 | 
			
		||||
      if ((Date.now()).isBetween(wheeldaystime[i-1], wheeldaystime[i]))
 | 
			
		||||
        nextholiday = i;
 | 
			
		||||
    }
 | 
			
		||||
    if ((wheeldaystime[nextholiday] - (Date.now())) < 86400000)
 | 
			
		||||
      currentholiday = wheeldays[nextholiday];
 | 
			
		||||
    if (((Date.now()) - wheeldaystime[nextholiday-1]) < 43200000)
 | 
			
		||||
      currentholiday = wheeldays[nextholiday-1];
 | 
			
		||||
    nextholiday = wheeldays[nextholiday];    
 | 
			
		||||
  }
 | 
			
		||||
  
 | 
			
		||||
  return stringout;  
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function makeTable(UTC, timeoutput) {
 | 
			
		||||
| 
						 | 
				
			
			@ -275,8 +297,9 @@ function makeTable(UTC, timeoutput) {
 | 
			
		|||
  for (var i = 1; i <= 15; i++) {
 | 
			
		||||
    var currentyear = (now.getFullYear() - 8 + i);
 | 
			
		||||
    if (currentyear == now.getFullYear()) fulltable += '<tr class = "currentyear">';
 | 
			
		||||
      else if (i % 2 == 0 ) fulltable += '<tr class = "even">';
 | 
			
		||||
        else fulltable += '<tr class = "odd">'
 | 
			
		||||
    else if (currentyear == (now.getFullYear() + 1)) fulltable += '<tr class = "odd nextyear">';
 | 
			
		||||
    else if (i % 2 == 0 ) fulltable += '<tr class = "even">';
 | 
			
		||||
    else fulltable += '<tr class = "odd">'
 | 
			
		||||
    fulltable += tableRow(currentyear, timeoutput, UTC) + "</tr>";
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -308,6 +331,12 @@ function makeTable(UTC, timeoutput) {
 | 
			
		|||
 | 
			
		||||
<script type="text/javascript">
 | 
			
		||||
 | 
			
		||||
  if (nextholiday == "next") var nextselector = ".nextyear>." + nextholiday;
 | 
			
		||||
  else var nextselector = ".currentyear>." + nextholiday;
 | 
			
		||||
  if (currentholiday) var curselector = ".currentyear>." + currentholiday;
 | 
			
		||||
  document.querySelector(nextselector).style.color = "yellow";
 | 
			
		||||
  document.querySelector(curselector).style.color = "red";
 | 
			
		||||
 | 
			
		||||
  const dayOfYear = date => Math.floor((date - new Date(date.getFullYear(),
 | 
			
		||||
                    0, 0)) / (1000 * 60 * 60 * 24));
 | 
			
		||||
  var daynumber = dayOfYear(new Date());
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue