ts-website/js/christmas.js

75 lines
2.5 KiB
JavaScript

// Remember: This file is loaded before jQuery!
// Check if the current month on user device is December...
if (new Date().getMonth() === 11) {
// Enable the christmas functions! Happy holidays from Wruczek! :D
// Load and enable the christmas theme
var stylesheet = document.createElement('link');
stylesheet.href = 'css/christmas-theme.css';
stylesheet.rel = 'stylesheet';
document.head.appendChild(stylesheet);
// Load and enable the snow
var script = document.createElement('script');
script.src = 'https://cdnjs.cloudflare.com/ajax/libs/JQuery-Snowfall/1.7.4/snowfall.min.js';
document.head.appendChild(script);
window.addEventListener('load', function () {
// Change background artist in the footer
document.getElementById('background-artist').innerHTML = '<a href="http://www.publicdomainpictures.net/view-image.php?image=28562&picture=christmas-bulbs-red-background">Debi Geroux - Public Domain</a>';
if(getCookie('snoweffect') === 'false') {
document.getElementById('website-copyright').innerHTML += ' &mdash; <a class="disableSnowLink" href="#" onclick="enableSnowEffect()">Enable snow effect</a>';
return;
}
// Add a link to disable the effect
document.getElementById('website-copyright').innerHTML += ' &mdash; <a class="disableSnowLink" href="#" onclick="disableSnowEffect()">Disable snow effect</a>';
// Add the snow effect
snowFall.snow(document.body, {
flakeCount: (document.body.clientWidth > 992 ? 500 : 100),
flakeIndex: -1,
minSize: 4,
maxSize: 5,
minSpeed: 1,
maxSpeed: 2,
round: true,
shadow: true
});
});
}
function disableSnowEffect() {
setCookie('snoweffect', 'false', 30);
location.reload();
}
function enableSnowEffect() {
setCookie('snoweffect', 'true', 30);
location.reload();
}
function setCookie(cname,cvalue,exdays) {
var d = new Date();
d.setTime(d.getTime() + (exdays*24*60*60*1000));
var expires = "expires=" + d.toGMTString();
document.cookie = cname + "=" + cvalue + ";" + expires + ";path=/";
}
function getCookie(cname) {
var name = cname + "=";
var ca = document.cookie.split(';');
for(var i = 0; i < ca.length; i++) {
var c = ca[i];
while (c.charAt(0) == ' ') {
c = c.substring(1);
}
if (c.indexOf(name) == 0) {
return c.substring(name.length, c.length);
}
}
return "";
}