Difference between revisions of "MediaWiki:Common.js"

From MunichBeerGardens.com
Jump to: navigation, search
m
m
Line 165: Line 165:
 
}
 
}
 
}
 
}
}
 
 
 
/* GDPR */
 
 
if (window.addEventListener)
 
{
 
window.addEventListener('load', run_onload, false);
 
}
 
 
function accept_cookies(){
 
 
/* if GDPR_table_rejected exists, remove it */
 
let GDPR_table_rejected = document.getElementById("GDPR_table_rejected");
 
if (typeof(GDPR_table_rejected) !== 'undefined' && GDPR_table_rejected!== null){
 
GDPR_table_rejected.remove();
 
}
 
 
/* if GDPR_table_undecided exists, remove it */
 
let GDPR_table_undecided = document.getElementById("GDPR_table_undecided");
 
if (typeof(GDPR_table_undecided) !== 'undefined' && GDPR_table_undecided!== null){
 
GDPR_table_undecided.remove();
 
}
 
// display the cookie
 
 
var GDPR_cookie = "GDPR=accepted"
 
 
var GDPR_year = new Date(); // create date
 
GDPR_year.setFullYear(GDPR_year.getFullYear() +1) // add 1 year from now
 
var GDPR_end = "expires=" + GDPR_year.toGMTString() + ";path=/; samesite=strict";  // make endcookie and path variable
 
// var GDPR_end = "expires=0;path=/; samesite=strict";  // make endcookie and path variable
 
 
document.cookie = GDPR_cookie + ";" + GDPR_end;
 
console.log("Added cookie: " + document.cookie);
 
 
accepted();
 
}
 
 
function reject_cookies(){
 
var GDPR_cookie = "GDPR=rejected"
 
 
var GDPR_year = new Date(); // create date
 
GDPR_year.setFullYear(GDPR_year.getFullYear() +1) // add 1 year from now
 
var GDPR_end = "expires=" + GDPR_year.toGMTString() + ";path=/; samesite=strict";  // make endcookie and path variable
 
// var GDPR_end = "expires=0;path=/; samesite=strict";  // make endcookie and path variable
 
 
document.cookie = GDPR_cookie + ";" + GDPR_end;
 
console.log("Added cookie: " + document.cookie);
 
 
GDPR_table_undecided.remove();
 
rejected();
 
}
 
 
// read cookie and set action here
 
function run_onload(){
 
 
GDPR_state_value = "undecided";
 
 
if(document.cookie.indexOf("GDPR") != -1){
 
 
var state_pos = document.cookie.indexOf("GDPR=");
 
var state_start = state_pos + 5;
 
var state_end =  state_start + 8;
 
GDPR_state_value = document.cookie.substring(state_start,state_end);
 
console.log(GDPR_state_value);
 
console.log(document.cookie);
 
}
 
 
if (GDPR_state_value == "accepted"){
 
accepted();
 
}
 
 
if (GDPR_state_value == "rejected"){
 
rejected();
 
}
 
 
 
if (GDPR_state_value == "undecided"){
 
undecided();
 
}
 
 
 
}
 
 
 
function undecided(){
 
 
var GDPR_table_undecided = document.createElement("table");
 
GDPR_table_undecided.setAttribute("id","GDPR_table_undecided");
 
var GDPR_row = document.createElement("tr");
 
var GDPR_cell = document.createElement("td");
 
 
var GDPR_reject_button = document.createElement("span");
 
GDPR_reject_button.setAttribute("id","GDPR_reject_button");
 
GDPR_reject_button.style.cursor="pointer";
 
GDPR_reject_button.appendChild(document.createTextNode("REJECT COOKIES"));
 
 
var GDPR_accept_button = document.createElement("span");
 
GDPR_accept_button.setAttribute("id","GDPR_accept_button");
 
GDPR_accept_button.style.cursor="pointer";
 
GDPR_accept_button.appendChild(document.createTextNode("ACCEPT COOKIES"));
 
 
GDPR_reject_button.onclick=reject_cookies;
 
GDPR_accept_button.onclick=accept_cookies;
 
 
GDPR_table_undecided.appendChild(GDPR_row);
 
GDPR_row.appendChild(GDPR_cell);
 
 
GDPR_cell.appendChild(GDPR_reject_button);
 
GDPR_cell.appendChild(GDPR_accept_button);
 
 
document.body.appendChild(GDPR_table_undecided);
 
 
GDPR_table_undecided.style.width="100%";
 
GDPR_table_undecided.style.border="1px dashed blue";
 
GDPR_table_undecided.style.textAlign="center";
 
GDPR_table_undecided.style.position="fixed";
 
GDPR_table_undecided.style.bottom="0";
 
GDPR_reject_button.style.border="1px solid green";
 
GDPR_accept_button.style.border="1px solid green";
 
GDPR_table_undecided.style.verticalAlign="middle"; /* some old IE convention */
 
 
}
 
 
function remove_GDPR_cookie(){
 
console.log("Removed cookie: " + document.cookie);
 
document.cookie = "GDPR=; expires=Thu, 18 Dec 2013 12:00:00 UTC; path=/; samesite=strict";
 
 
}
 
 
 
function accepted(){
 
var cookie_img = document.createElement("img");
 
 
cookie_img.setAttribute("id","cookie_img"); /* used for link */
 
cookie_img.onclick=undecided; /* create click event */
 
cookie_img.addEventListener('click', cookie_img.remove); /* add second click event, removing cookie image */
 
cookie_img.addEventListener('click', remove_GDPR_cookie); /* add third click event, removing cookie */
 
 
cookie_img.style.cursor="pointer";
 
cookie_img.src = "https://www.munichbeergardens.com/images/beer/Cookie.png";
 
document.body.appendChild(cookie_img);
 
 
cookie_img.style.position="fixed";
 
cookie_img.style.bottom="5px";
 
cookie_img.style.right="5px";
 
 
}
 
 
function rejected(){
 
 
var GDPR_table_rejected = document.createElement("table");
 
GDPR_table_rejected.setAttribute("id","GDPR_table_rejected");
 
var GDPR_row = document.createElement("tr");
 
var GDPR_cell = document.createElement("td");
 
 
var GDPR_accept_button = document.createElement("span");
 
GDPR_accept_button.setAttribute("id","GDPR_accept_button");
 
GDPR_accept_button.style.cursor="pointer";
 
GDPR_accept_button.appendChild(document.createTextNode("ACCEPT COOKIES"));
 
 
GDPR_accept_button.onclick=accept_cookies;
 
 
GDPR_table_rejected.appendChild(GDPR_row);
 
GDPR_row.appendChild(GDPR_cell);
 
 
GDPR_cell.appendChild(GDPR_accept_button);
 
 
document.body.appendChild(GDPR_table_rejected);
 
 
GDPR_table_rejected.style.width="100%";
 
GDPR_table_rejected.style.height="100%";
 
GDPR_table_rejected.style.border="1px dashed blue";
 
GDPR_table_rejected.style.textAlign="center";
 
GDPR_table_rejected.style.position="fixed";
 
GDPR_table_rejected.style.bottom="0";
 
GDPR_accept_button.style.border="1px solid green";
 
GDPR_table_rejected.style.verticalAlign="middle"; /* some old IE convention */
 
 
 
}
 
}

Revision as of 07:58, 23 June 2023

/* Any JavaScript here will be loaded for all users on every page load. */

//setTimeout("alert('test')",10000);

//document.getElementsByTagName('body')[0].style.margin = '110px';

var RecaptchaOptions = {
    theme : 'white'
 };

/* start rotating banner */
/* Banner 160x600 */
/* Add image and URL in array and upload/protect image and preload
   (first letter or image name must be capitalised) */

/* define the images directory including trailing slash */
var beergarden_banner_dir = '/images/beer/';

var beergarden_banners = new Array("Muhlenpark_01.jpg",
                                   "Aujaeger_03.jpg",
                                   "Aujaeger_04_en.jpg",
                                   "Alter_Wirt_Etterschlag_01.jpg",
                                   "Kneissl_04.jpg",
                                   "Hofbrauhaus_Keller_Freising_03.jpg",
                                   "Zur_Einkehr_03.jpg");

/*

Quick workaround without UTF8 aware redirect: Set up page with ASCII and create
a js-link and wiki redirect page, e.g.: Biergarten_Muehlenpark REDIRECT [[Biergarten_Mühlenpark]]
alternatively and easier, by-pass the redirect page and don't log clicks

*/

 
var beergarden_links = new Array("/admin/munichbeergardens.com/redirect.cgi?url=/Biergarten_Muehlenpark",
                                 "/Aujäger",
                                 "/Aujäger",
                                 "/Alter_Wirt_Etterschlag",
                                 "/Räuber-Kneißl-Garten",
                                 "/admin/munichbeergardens.com/redirect.cgi?url=/Hofbrauhaus-Keller_Freising",
                                 "/admin/munichbeergardens.com/redirect.cgi?url=/Rothmeyer%27s_Zur_Einkehr");

function start_animation(){
setTimeout('beergarden_blender()',15000); /* 15 second */
}

beergarden_banner1 = new Image(160,600);
beergarden_banner1.src = beergarden_banner_dir + "Muhlenpark_01.jpg";

beergarden_banner2 = new Image(160,600);
beergarden_banner2.src = beergarden_banner_dir + "Aujaeger_03.jpg";

beergarden_banner3 = new Image(160,600);
beergarden_banner3.src = beergarden_banner_dir + "Aujaeger_04_en.jpg";

beergarden_banner4 = new Image(160,600);
beergarden_banner4.src = beergarden_banner_dir + "Alter_Wirt_Etterschlag_01.jpg";

beergarden_banner5 = new Image(160,600);
beergarden_banner5.src = beergarden_banner_dir + "Kneissl_04.jpg";

beergarden_banner6 = new Image(160,600);
beergarden_banner6.src = beergarden_banner_dir + "Zur_Einkehr_03.jpg";

beergarden_banner7 = new Image(160,600);
beergarden_banner7.src = beergarden_banner_dir + "Hofbrauhaus_Keller_Freising_03.jpg";


function beergarden_swap(){
opacity = 0;
IE_opacity = 0;

if (navigator.appVersion.indexOf("MSIE") != -1){
document.getElementById("blendinger").style.filter = "alpha(opacity=0)";
interval = setInterval("blendinger_IE()",50)

}
else {
document.getElementById("blendinger").style.opacity=0;
interval = setInterval("blendinger_opacity()",50)
}
}

function blendinger_IE(){
if (IE_opacity < 100){
IE_opacity = IE_opacity +4;
document.getElementById("blendinger").style.filter = "alpha(opacity="+IE_opacity+")";

}

else{
clearInterval(interval);
IE_count = 0;
}
}

function blendinger_opacity(){
 
if (opacity < 1){
opacity = (Math.floor(opacity * 100) +4) / 100;
document.getElementById("blendinger").style.opacity=opacity;

}
else{
clearInterval(interval);

}
}

var beergarden_array_index = beergarden_links.length -1;
var first_beergarden_index = Math.round(beergarden_array_index * Math.random())

var beergarden_cycle = first_beergarden_index;
var beergarden_total = beergarden_banners.length -1;
var beergarden_link = beergarden_links[beergarden_cycle]; /* initially the first */

function beergarden_blender(){

/* first set current image as background */

document.getElementById('background_image').style.backgroundImage='url('+beergarden_banner_dir+beergarden_banners[beergarden_cycle]+')';

beergarden_cycle++;

if (beergarden_cycle == beergarden_banners.length){
beergarden_cycle = 0;
}
 
beergarden_swap();

setTimeout("document.images.beergarden_animation.src=beergarden_banner_dir + beergarden_banners[beergarden_cycle];",10)
               
beergarden_link = beergarden_links[beergarden_cycle] /* update link values */
 
}

/* end rotaing banner */



/* emulate sticky CSS */
if (document.getElementById('p-Matched_content') !=null) {
window.onscroll = function() {  
var header_height = document.getElementById("p-Matched_content").scrollHeight;
if (window.scrollY + 330 > header_height){
document.getElementById("p-Matched_content").style.position="fixed";
document.getElementById("p-Matched_content").style.top="0px";
}
else{
document.getElementById("p-Matched_content").style.position="static";
}
}
}

if (document.getElementById('p-advertisement') !=null) {
window.onscroll = function() {  
var header_height = document.getElementById("p-advertisement").scrollHeight;
if (window.scrollY + 330 > header_height){
document.getElementById("p-advertisement").style.position="fixed";
document.getElementById("p-advertisement").style.top="0px";
}
else{
document.getElementById("p-advertisement").style.position="static";
}
}
}