Difference between revisions of "MediaWiki:Common.js"

From MunichBeerGardens.com
Jump to: navigation, search
m
m
 
(39 intermediate revisions by the same user not shown)
Line 10: Line 10:
  
  
/* emulate sticky CSS */
+
/* GDPR */
if (document.getElementById('p-Matched_content') !=null) {
+
 
window.onscroll = function() { 
+
if (window.addEventListener)
var header_height = document.getElementById("p-Matched_content").scrollHeight;
+
{
if (window.scrollY + 330 > header_height){
+
window.addEventListener('load', run_onload, false);
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";
 
 
}
 
}
 +
 +
function accept_cookies(){
 +
 +
/* if GDPR_table_rejected exists, remove it */
 +
var 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 */
 +
var GDPR_table_undecided = document.getElementById("GDPR_table_undecided");
 +
if (typeof(GDPR_table_undecided) !== 'undefined' && GDPR_table_undecided!== null){
 +
GDPR_table_undecided.remove();
 
}
 
}
  
if (document.getElementById('p-advertisement') !=null) {
+
var GDPR_cookie = "GDPR=accepted";
window.onscroll = function() { 
+
 
var header_height = document.getElementById("p-advertisement").scrollHeight;
+
var GDPR_year = new Date(); // create date
if (window.scrollY + 330 > header_height){
+
GDPR_year.setFullYear(GDPR_year.getFullYear() +1) // add 1 year from now
document.getElementById("p-advertisement").style.position="fixed";
+
var GDPR_end = "expires=" + GDPR_year.toGMTString() + ";path=/; samesite=strict";  // make endcookie and path variable
document.getElementById("p-advertisement").style.top="0px";
+
// var GDPR_end = "expires=0;path=/; samesite=strict"; // make endcookie and path variable
}
+
 
else{
+
document.cookie = GDPR_cookie + ";" + GDPR_end;
document.getElementById("p-advertisement").style.position="static";
+
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
  
/* GDPR */
+
document.cookie = GDPR_cookie + ";" + GDPR_end;
 +
console.log("Added cookie: " + document.cookie);
  
if (window.addEventListener)
+
GDPR_table_undecided.remove();
{
+
rejected();
window.addEventListener('load', run_onload, false);
 
 
}
 
}
  
 +
// read cookie and set action here
 
function run_onload(){
 
function run_onload(){
  
Line 60: Line 74:
 
}
 
}
  
/*
 
 
if (GDPR_state_value == "accepted"){
 
if (GDPR_state_value == "accepted"){
 
accepted();
 
accepted();
Line 68: Line 81:
 
rejected();
 
rejected();
 
}
 
}
 +
  
 
if (GDPR_state_value == "undecided"){
 
if (GDPR_state_value == "undecided"){
Line 73: Line 87:
 
}
 
}
  
*/
+
 
 +
}
 +
 
  
 
function undecided(){
 
function undecided(){
  
/*
 
 
var GDPR_table_undecided = document.createElement("table");
 
var GDPR_table_undecided = document.createElement("table");
 
GDPR_table_undecided.setAttribute("id","GDPR_table_undecided");
 
GDPR_table_undecided.setAttribute("id","GDPR_table_undecided");
Line 92: Line 107:
 
GDPR_accept_button.style.cursor="pointer";
 
GDPR_accept_button.style.cursor="pointer";
 
GDPR_accept_button.appendChild(document.createTextNode("ACCEPT COOKIES"));
 
GDPR_accept_button.appendChild(document.createTextNode("ACCEPT COOKIES"));
 
 
  
 
GDPR_reject_button.onclick=reject_cookies;
 
GDPR_reject_button.onclick=reject_cookies;
Line 100: Line 113:
 
GDPR_table_undecided.appendChild(GDPR_row);
 
GDPR_table_undecided.appendChild(GDPR_row);
 
GDPR_row.appendChild(GDPR_cell);
 
GDPR_row.appendChild(GDPR_cell);
 +
 +
GDPR_cell.appendChild(document.createElement("br"));
 +
 +
 +
GDPR_cell.appendChild(document.createTextNode("This site requires the use of cookies to comply with the "));
 +
 +
var a = document.createElement('a');
 +
var GDPR_link = document.createTextNode("GDPR ");
 +
a.appendChild(GDPR_link);
 +
a.href = "https://en.wikipedia.org/wiki/General_Data_Protection_Regulation";
 +
a.title = a.href;
 +
GDPR_cell.appendChild(a);
 +
 +
GDPR_cell.appendChild(document.createTextNode(" and "));
 +
 +
var a = document.createElement('a');
 +
var GOOGLE_link = document.createTextNode("Google's privacy policy");
 +
a.appendChild(GOOGLE_link);
 +
a.href = "https://policies.google.com/privacy";
 +
a.title = a.href;
 +
GDPR_cell.appendChild(a);
 +
GDPR_cell.appendChild(document.createTextNode(". Cookies are used for "));
 +
 +
var a = document.createElement('a');
 +
var GOOGLE_ADS_link = document.createTextNode("ads personaliation");
 +
a.appendChild(GOOGLE_ADS_link);
 +
a.href = "https://policies.google.com/technologies/partner-sites";
 +
a.title = a.href;
 +
GDPR_cell.appendChild(a);
 +
GDPR_cell.appendChild(document.createTextNode("."));
 +
 +
GDPR_cell.appendChild(document.createElement("br"));
 +
  
 
GDPR_cell.appendChild(GDPR_reject_button);
 
GDPR_cell.appendChild(GDPR_reject_button);
 
GDPR_cell.appendChild(GDPR_accept_button);
 
GDPR_cell.appendChild(GDPR_accept_button);
 +
 +
  
 
document.body.appendChild(GDPR_table_undecided);
 
document.body.appendChild(GDPR_table_undecided);
  
 
GDPR_table_undecided.style.width="100%";
 
GDPR_table_undecided.style.width="100%";
GDPR_table_undecided.style.border="1px dashed blue";
+
GDPR_table_undecided.style.backgroundColor="#f4d500"; /* yellow */
 +
GDPR_table_undecided.style.backgroundColor="#f9f9f9";
 +
GDPR_table_undecided.style.borderTop="dashed 1px #3f8a50";
 +
GDPR_table_undecided.style.opacity="95%";
 
GDPR_table_undecided.style.textAlign="center";
 
GDPR_table_undecided.style.textAlign="center";
 
GDPR_table_undecided.style.position="fixed";
 
GDPR_table_undecided.style.position="fixed";
 
GDPR_table_undecided.style.bottom="0";
 
GDPR_table_undecided.style.bottom="0";
GDPR_reject_button.style.border="1px solid green";
+
GDPR_table_undecided.style.verticalAlign="middle"; /* some old IE convention */
GDPR_accept_button.style.border="1px solid green";
+
/* reject button styles */
GDPR_table_undecided.style.verticalAlign="middle";
+
GDPR_reject_button.style.backgroundColor="#d34603";
 +
GDPR_reject_button.style.color="#fffcf3";
 +
GDPR_reject_button.style.padding="12px 20px";
 +
GDPR_reject_button.style.border="none";
 +
GDPR_reject_button.style.textAlign="center";
 +
GDPR_reject_button.style.borderRadius=" 20px";
 +
GDPR_reject_button.style.cursor="pointer";
 +
GDPR_reject_button.style.fontSize="105%";
 +
GDPR_reject_button.style.fontWeight="bold";
 +
GDPR_reject_button.style.minWidth="160px";
 +
GDPR_reject_button.style.display="inline-block";
 +
GDPR_reject_button.style.margin="10px";
 +
/* accept button styles */
 +
GDPR_accept_button.style.backgroundColor="#3f8a50";
 +
GDPR_accept_button.style.color="#fffcf3";
 +
GDPR_accept_button.style.padding="12px 20px";
 +
GDPR_accept_button.style.border="none";
 +
GDPR_accept_button.style.textAlign="center";
 +
GDPR_accept_button.style.borderRadius=" 20px";
 +
GDPR_accept_button.style.cursor="pointer";
 +
GDPR_accept_button.style.fontSize="105%";
 +
GDPR_accept_button.style.fontWeight="bold";
 +
GDPR_accept_button.style.minWidth="160px";
 +
GDPR_accept_button.style.display="inline-block";
 +
GDPR_accept_button.style.margin="10px";
 +
}
 +
 
 +
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);
 +
 +
 +
GDPR_cell.appendChild(document.createElement("br"));
 +
 +
GDPR_cell.appendChild(document.createTextNode("This site requires the use of cookies to comply with the "));
 +
 +
var a = document.createElement('a');
 +
var GDPR_link = document.createTextNode("GDPR ");
 +
a.appendChild(GDPR_link);
 +
a.href = "https://en.wikipedia.org/wiki/General_Data_Protection_Regulation";
 +
a.title = a.href;
 +
GDPR_cell.appendChild(a);
 +
 +
GDPR_cell.appendChild(document.createTextNode(" and "));
 +
 +
var a = document.createElement('a');
 +
var GOOGLE_link = document.createTextNode("Google's privacy policy");
 +
a.appendChild(GOOGLE_link);
 +
a.href = "https://policies.google.com/privacy";
 +
a.title = a.href;
 +
GDPR_cell.appendChild(a);
 +
GDPR_cell.appendChild(document.createTextNode(". Cookies are used for "));
 +
 +
var a = document.createElement('a');
 +
var GOOGLE_ADS_link = document.createTextNode("ads personaliation");
 +
a.appendChild(GOOGLE_ADS_link);
 +
a.href = "https://policies.google.com/technologies/partner-sites";
 +
a.title = a.href;
 +
GDPR_cell.appendChild(a);
 +
GDPR_cell.appendChild(document.createTextNode("."));
 +
 +
GDPR_cell.appendChild(document.createElement("br"));
 +
 +
document.body.appendChild(GDPR_table_rejected);
 +
 +
GDPR_table_rejected.style.width="100%";
 +
GDPR_table_rejected.style.height="100%";
 +
GDPR_table_rejected.style.backgroundColor="#f9f9f9";
 +
GDPR_table_rejected.style.opacity="95%";
 +
GDPR_table_rejected.style.textAlign="center";
 +
GDPR_table_rejected.style.position="fixed";
 +
GDPR_table_rejected.style.bottom="0";
 +
GDPR_table_rejected.style.verticalAlign="middle"; /* some old IE convention */
 +
/* accept button styles */
 +
GDPR_accept_button.style.backgroundColor="#3f8a50";
 +
GDPR_accept_button.style.color="#fffcf3";
 +
GDPR_accept_button.style.padding="12px 20px";
 +
GDPR_accept_button.style.border="none";
 +
GDPR_accept_button.style.textAlign="center";
 +
GDPR_accept_button.style.borderRadius=" 20px";
 +
GDPR_accept_button.style.cursor="pointer";
 +
GDPR_accept_button.style.fontSize="105%";
 +
GDPR_accept_button.style.fontWeight="bold";
 +
GDPR_accept_button.style.minWidth="160px";
 +
GDPR_accept_button.style.display="inline-block";
 +
GDPR_accept_button.style.margin="10px";
 
}
 
}

Latest revision as of 16:49, 27 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'
 };


/* GDPR */

if (window.addEventListener)
{
window.addEventListener('load', run_onload, false);
}

function accept_cookies(){

/* if GDPR_table_rejected exists, remove it */
var 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 */
var GDPR_table_undecided = document.getElementById("GDPR_table_undecided");
if (typeof(GDPR_table_undecided) !== 'undefined' && GDPR_table_undecided!== null){
GDPR_table_undecided.remove();
}

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(document.createElement("br"));


GDPR_cell.appendChild(document.createTextNode("This site requires the use of cookies to comply with the "));

var a = document.createElement('a');
var GDPR_link = document.createTextNode("GDPR ");
a.appendChild(GDPR_link);
a.href = "https://en.wikipedia.org/wiki/General_Data_Protection_Regulation";
a.title = a.href;
GDPR_cell.appendChild(a);

GDPR_cell.appendChild(document.createTextNode(" and "));

var a = document.createElement('a');
var GOOGLE_link = document.createTextNode("Google's privacy policy");
a.appendChild(GOOGLE_link);
a.href = "https://policies.google.com/privacy";
a.title = a.href;
GDPR_cell.appendChild(a);
GDPR_cell.appendChild(document.createTextNode(". Cookies are used for "));

var a = document.createElement('a');
var GOOGLE_ADS_link = document.createTextNode("ads personaliation");
a.appendChild(GOOGLE_ADS_link);
a.href = "https://policies.google.com/technologies/partner-sites";
a.title = a.href;
GDPR_cell.appendChild(a);
GDPR_cell.appendChild(document.createTextNode("."));

GDPR_cell.appendChild(document.createElement("br"));


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.backgroundColor="#f4d500"; /* yellow */
GDPR_table_undecided.style.backgroundColor="#f9f9f9";
GDPR_table_undecided.style.borderTop="dashed 1px #3f8a50";
GDPR_table_undecided.style.opacity="95%";
GDPR_table_undecided.style.textAlign="center";
GDPR_table_undecided.style.position="fixed";
GDPR_table_undecided.style.bottom="0";
GDPR_table_undecided.style.verticalAlign="middle"; /* some old IE convention */
/* reject button styles */
GDPR_reject_button.style.backgroundColor="#d34603";
GDPR_reject_button.style.color="#fffcf3";
GDPR_reject_button.style.padding="12px 20px";
GDPR_reject_button.style.border="none";
GDPR_reject_button.style.textAlign="center";
GDPR_reject_button.style.borderRadius=" 20px";
GDPR_reject_button.style.cursor="pointer";
GDPR_reject_button.style.fontSize="105%";
GDPR_reject_button.style.fontWeight="bold";
GDPR_reject_button.style.minWidth="160px";
GDPR_reject_button.style.display="inline-block";
GDPR_reject_button.style.margin="10px";
/* accept button styles */
GDPR_accept_button.style.backgroundColor="#3f8a50";
GDPR_accept_button.style.color="#fffcf3";
GDPR_accept_button.style.padding="12px 20px";
GDPR_accept_button.style.border="none";
GDPR_accept_button.style.textAlign="center";
GDPR_accept_button.style.borderRadius=" 20px";
GDPR_accept_button.style.cursor="pointer";
GDPR_accept_button.style.fontSize="105%";
GDPR_accept_button.style.fontWeight="bold";
GDPR_accept_button.style.minWidth="160px";
GDPR_accept_button.style.display="inline-block";
GDPR_accept_button.style.margin="10px";
}

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);


GDPR_cell.appendChild(document.createElement("br"));

GDPR_cell.appendChild(document.createTextNode("This site requires the use of cookies to comply with the "));

var a = document.createElement('a');
var GDPR_link = document.createTextNode("GDPR ");
a.appendChild(GDPR_link);
a.href = "https://en.wikipedia.org/wiki/General_Data_Protection_Regulation";
a.title = a.href;
GDPR_cell.appendChild(a);

GDPR_cell.appendChild(document.createTextNode(" and "));

var a = document.createElement('a');
var GOOGLE_link = document.createTextNode("Google's privacy policy");
a.appendChild(GOOGLE_link);
a.href = "https://policies.google.com/privacy";
a.title = a.href;
GDPR_cell.appendChild(a);
GDPR_cell.appendChild(document.createTextNode(". Cookies are used for "));

var a = document.createElement('a');
var GOOGLE_ADS_link = document.createTextNode("ads personaliation");
a.appendChild(GOOGLE_ADS_link);
a.href = "https://policies.google.com/technologies/partner-sites";
a.title = a.href;
GDPR_cell.appendChild(a);
GDPR_cell.appendChild(document.createTextNode("."));

GDPR_cell.appendChild(document.createElement("br"));

document.body.appendChild(GDPR_table_rejected);

GDPR_table_rejected.style.width="100%";
GDPR_table_rejected.style.height="100%";
GDPR_table_rejected.style.backgroundColor="#f9f9f9";
GDPR_table_rejected.style.opacity="95%";
GDPR_table_rejected.style.textAlign="center";
GDPR_table_rejected.style.position="fixed";
GDPR_table_rejected.style.bottom="0";
GDPR_table_rejected.style.verticalAlign="middle"; /* some old IE convention */
/* accept button styles */
GDPR_accept_button.style.backgroundColor="#3f8a50";
GDPR_accept_button.style.color="#fffcf3";
GDPR_accept_button.style.padding="12px 20px";
GDPR_accept_button.style.border="none";
GDPR_accept_button.style.textAlign="center";
GDPR_accept_button.style.borderRadius=" 20px";
GDPR_accept_button.style.cursor="pointer";
GDPR_accept_button.style.fontSize="105%";
GDPR_accept_button.style.fontWeight="bold";
GDPR_accept_button.style.minWidth="160px";
GDPR_accept_button.style.display="inline-block";
GDPR_accept_button.style.margin="10px";
}