MediaWiki:Common.js: Unterschied zwischen den Versionen

Aus DarkfleetWiki
Wechseln zu: Navigation, Suche
(test)
 
(70 dazwischenliegende Versionen von 4 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
/* Hinweis: Die Wiki-Überschriften sind JavaScript-technisch auskommentiert
+
/*********************************************************************/
== Multiple onload functions ==
+
/* Common.js enthält gemeinsamen JavaScript-Code für alle Benutzer. */
  // setup onload functions this way:
+
/* Jedes JavaScript, dass sich in dieser Seite befindet, wird für */
// aOnloadFunctions[aOnloadFunctions.length] = function_name; // without brackets! */
+
/* alle Benutzer geladen. Daher bitte mit Vorsicht bearbeiten!   */
+
/*****************************************************************/
if (!window.aOnloadFunctions) {
 
  var aOnloadFunctions = new Array();
 
}
 
 
window.onload = function() {
 
  if (window.aOnloadFunctions) {
 
    for (var _i=0; _i<aOnloadFunctions.length; _i++) {
 
      aOnloadFunctions[_i]();
 
    }
 
  }
 
}
 
 
/* END Enable multiple onload functions
 
// ============================================================
 
  
== Dynamic Navigation Bars ==
+
//=============================================================
// NEEDS Enable multiple onload functions */
 
 
// set up the words in your language
 
var NavigationBarHide = 'Einklappen';
 
var NavigationBarShow = 'Ausklappen';
 
 
// set up max count of Navigation Bars on page,
 
// if there are more, all will be hidden
 
// NavigationBarShowDefault = 0; // all bars will be hidden
 
// NavigationBarShowDefault = 1; // on pages with more than 1 bar all bars will be hidden
 
var NavigationBarShowDefault = 1;
 
 
 
// shows and hides content and picture (if available) of navigation bars
 
// Parameters:
 
//    indexNavigationBar: the index of navigation bar to be toggled
 
function toggleNavigationBar(indexNavigationBar)
 
{
 
    var NavToggle = document.getElementById("NavToggle" + indexNavigationBar);
 
    var NavFrame = document.getElementById("NavFrame" + indexNavigationBar);
 
 
    if (!NavFrame || !NavToggle) {
 
        return false;
 
    }
 
 
    // if shown now
 
    if (NavToggle.firstChild.data == NavigationBarHide) {
 
        for (
 
                var NavChild = NavFrame.firstChild;
 
                NavChild != null;
 
                NavChild = NavChild.nextSibling
 
            ) {
 
            if (NavChild.className == 'NavPic') {
 
                NavChild.style.display = 'none';
 
            }
 
            if (NavChild.className == 'NavContent') {
 
                NavChild.style.display = 'none';
 
            }
 
            if (NavChild.className == 'NavToggle') {
 
                NavChild.firstChild.data = NavigationBarShow;
 
            }
 
        }
 
 
    // if hidden now
 
    } else if (NavToggle.firstChild.data == NavigationBarShow) {
 
        for (
 
                var NavChild = NavFrame.firstChild;
 
                NavChild != null;
 
                NavChild = NavChild.nextSibling
 
            ) {
 
            if (NavChild.className == 'NavPic') {
 
                NavChild.style.display = 'block';
 
            }
 
            if (NavChild.className == 'NavContent') {
 
                NavChild.style.display = 'block';
 
            }
 
            if (NavChild.className == 'NavToggle') {
 
                NavChild.firstChild.data = NavigationBarHide;
 
            }
 
        }
 
    }
 
}
 
 
// adds show/hide-button to navigation bars
 
function createNavigationBarToggleButton()
 
{
 
    var indexNavigationBar = 0;
 
    // iterate over all < div >-elements
 
    for(
 
            var i=0;
 
            NavFrame = document.getElementsByTagName("div")[i];
 
            i++
 
        ) {
 
        // if found a navigation bar
 
        if (NavFrame.className == "NavFrame") {
 
 
            indexNavigationBar++;
 
            var NavToggle = document.createElement("a");
 
            NavToggle.className = 'NavToggle';
 
            NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar);
 
            NavToggle.setAttribute('href', 'javascript:toggleNavigationBar(' + indexNavigationBar + ');');
 
 
            var NavToggleText = document.createTextNode(NavigationBarHide);
 
            NavToggle.appendChild(NavToggleText);
 
 
            // add NavToggle-Button as first div-element
 
            // in < div class="NavFrame" >
 
            NavFrame.insertBefore(
 
                NavToggle,
 
                NavFrame.firstChild
 
            );
 
            NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar);
 
        }
 
    }
 
    // if more Navigation Bars found than Default: hide all
 
    if (NavigationBarShowDefault < indexNavigationBar) {
 
        for(
 
                var i=1;
 
                i<=indexNavigationBar;
 
                i++
 
        ) {
 
            toggleNavigationBar(i);
 
        }
 
    }
 
 
}
 
 
aOnloadFunctions[aOnloadFunctions.length] = createNavigationBarToggleButton;
 
 
/* END Dynamic Navigation Bars
 
// ============================================================
 
  
== Besucherecke ==
+
/*** 1. Anpassung für die Navigationsleisten ***/
// NEEDS multiple onload functions */
 
 
function init_gamesdyn()
 
{
 
  div = document.getElementById('p-Besucherecke');
 
  /* li = document.createElement('li');
 
    * ifr = document.createElement('iframe');
 
    * ifr.setAttribute('src', 'http://voting.gdynamite.de/45/');
 
    * ifr.setAttribute('width', '88');
 
    * ifr.setAttribute('height', '31');
 
    * ifr.setAttribute('frameborder', '0');
 
    * ifr.setAttribute('marginwidth', '0');
 
    * ifr.setAttribute('marginheight', '0');
 
    * ifr.setAttribute('scrolling', 'no');
 
    * ifr.setAttribute('hspace', '0');
 
    * ifr.setAttribute('vspace', '0');
 
    * li.appendChild(document.createTextNode('Vote für Freewar:'));
 
    * li.appendChild(ifr);
 
    * div.getElementsByTagName('ul')[0].appendChild(li); */
 
  toolbar = document.getElementById('p-tb')
 
  toolbar.parentNode.insertBefore(div, toolbar);
 
}
 
aOnloadFunctions[aOnloadFunctions.length] = init_gamesdyn;
 
 
/* END Besucherecke
 
// ============================================================
 
  
== NPC-Bilder ein/aus ==
+
// Sprachdefinition
// NEEDS multiple onload functions */
+
var NavigationBarHide = 'Einklappen';
+
var NavigationBarShow = 'Ausklappen';
function showNI(bool)
 
{
 
  if (bool)
 
  {
 
    document.cookie="tiramon_deShowNI=1";
 
  }
 
  else
 
  {
 
    document.cookie="tiramon_deShowNI=0";
 
  }
 
  location.reload();
 
}
 
  
function work_on_npcimages()
+
/**
  {
+
  * Maximale Anzahl an Navigationsleisten pro Seite.
  // add show/hide links to all maps
+
* Gibt es auf einer Seite mehr, werden diese automatisch versteckt!
  findmenu = document.getElementById("NIinout");
+
* var NavigationBarShowDefault = 0; // Alle Navigationsleisten werden versteckt
  if (findmenu)
+
* var NavigationBarShowDefault = 1; // Alle außer die erste Navigationsleiste werden versteckt
  {
+
**/
    showlink=document.createElement("a");
+
var NavigationBarShowDefault = 0;
    showlink.setAttribute("href","Javascript:showNI(true)");
 
    showlink.appendChild(document.createTextNode('anzeigen'));
 
    hidelink=document.createElement("a");
 
    hidelink.setAttribute("href","Javascript:showNI(false)");
 
    hidelink.appendChild(document.createTextNode('verbergen'));
 
    findmenu.appendChild(showlink);
 
    findmenu.appendChild(document.createTextNode('/'));
 
    findmenu.appendChild(hidelink);
 
  }
 
  
  // enable display of NIs if wished
+
/**
  for(var i=0; foundspan = document.getElementsByTagName("span")[i]; i++)
+
* Zeigt und versteckt den Inhalt und das Bild der Navigationsleiste
  {
+
* Parameter:
    var tiramon_deShowNI=document.cookie;
+
* indexNavigationBar: Index der Navigationsleiste
    if (tiramon_deShowNI.indexOf("tiramon_deShowNI=")=="-1") return(-1);
+
**/
    if (tiramon_deShowNI.charAt(tiramon_deShowNI.indexOf("tiramon_deShowNI=")+17)!="1") return(-1);
+
function toggleNavigationBar(indexNavigationBar) {
    if (foundspan.className == "NI")
+
var NavToggle = document.getElementById("NavToggle" + indexNavigationBar);
    {
+
var NavFrame = document.getElementById("NavFrame" + indexNavigationBar);
      foundspan.setAttribute("style", "display:inline;");
 
    }
 
  }
 
  
}
+
if (!NavFrame || !NavToggle) {
aOnloadFunctions[aOnloadFunctions.length] = work_on_npcimages;
+
return false;
+
}
/* END NPC-Images
 
// ============================================================
 
  
 +
// Verstecken, wenn die Leiste derzeit gezeigt wird
 +
if (NavToggle.firstChild.data == NavigationBarHide) {
 +
for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) {
 +
if (NavChild.className == 'NavPic') {
 +
NavChild.style.display = 'none';
 +
}
 +
if (NavChild.className == 'NavContent') {
 +
NavChild.style.display = 'none';
 +
}
 +
if (NavChild.className == 'NavToggle') {
 +
NavChild.firstChild.data = NavigationBarShow;
 +
}
 +
}
  
== Forschungsrechner ==
+
// Anzeigen, wenn die Leiste derzeit versteckt ist
// BEGIN import code used by user skill pages
+
} else if (NavToggle.firstChild.data == NavigationBarShow) {
// SEE ALSO [[:Kategorie:Forschung]] */
+
for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) {
+
if (NavChild.className == 'NavPic') {
  document.write('<script type="text/javascript" src="/index.php?title=MediaWiki:CFoptions.js&action=raw&ctype=text/javascript&dontcountme=s"></script>');
+
NavChild.style.display = 'block';
+
}
/* END import code used by user skill pages
+
if (NavChild.className == 'NavContent') {
// ============================================================
+
NavChild.style.display = 'block';
 +
}
 +
if (NavChild.className == 'NavToggle') {
 +
NavChild.firstChild.data = NavigationBarHide;
 +
}
 +
}
 +
}
 +
}
  
function hackTableSort() {
 
  window.ts_getInnerText = function(el) {
 
    sortkeys = getElementsByClassName(el, 'span', 'sortkey'); // getElementsByClassName is defined in wikibits.js
 
    if (sortkeys.length) return getInnerText(sortkeys[0]);
 
    return getInnerText(el);
 
  }
 
}
 
  
  addOnloadHook(hackTableSort);
+
/**
 +
  * Fügt Anzeigen/Verstecken-Link zur Navigationsleiste hinzu
 +
*/
 +
function createNavigationBarToggleButton() {
 +
var indexNavigationBar = 0;
 +
// Auf alle div-Elemente anwenden
 +
for (var i = 0; NavFrame = document.getElementsByTagName("div")[i]; i++) {
 +
// Wenn eine Navigationsleiste gefunden wurde
 +
if (NavFrame.className == "NavFrame") {
 +
indexNavigationBar++;
 +
var NavToggle = document.createElement("a");
 +
NavToggle.className = 'NavToggle';
 +
NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar);
 +
NavToggle.setAttribute('href', 'javascript:toggleNavigationBar(' + indexNavigationBar + ');');
  
== Schnee im Wiki ==
+
var NavToggleText = document.createTextNode(NavigationBarHide);
 +
NavToggle.appendChild(NavToggleText);
 +
 +
// Füge die Links als erstes div-Element hinzu
 +
NavFrame.insertBefore(NavToggle, NavFrame.firstChild);
 +
NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar);
 +
}
 +
}
 +
// Wenn mehrere Navigationsleisten gefunden wurden, dann wird versteckt
 +
if (NavigationBarShowDefault < indexNavigationBar) {
 +
for (var i = 1; i <= indexNavigationBar; i++) {
 +
toggleNavigationBar(i);
 +
}
 +
}
 +
}
  
// Set the number of snowflakes (more than 30 - 40 not recommended)
+
// Lade createNavigationBarToggleButton() nach Laden der Seite
var snowmax = 35;
+
jQuery( document ).ready( function( $ ) {
 +
createNavigationBarToggleButton();
 +
} );
 +
//addOnloadHook(createNavigationBarToggleButton);
 +
 +
/*** ENDE: Anpassung für die Navigationsleisten ***/
  
// Set the colors for the snow. Add as many colors as you like
+
//=============================================================
var snowcolor = new Array('#eeeeff', '#ffffdd', '#eeeedd', '#ffffff');
 
  
// Set the fonts, that create the snowflakes. Add as many fonts as you like
+
/*** 2. Kampfrechner ***/
var snowtype = new Array('Arial Black', 'Arial Narrow', 'Times', 'Comic Sans MS');
+
/*
 +
// Ist in [[MediaWiki:Kampfrechner.js]] ausgelagert
 +
// Wird nur auf der Seite [[Kampfrechner]] aufgerufen
 +
if (mw.config.get('wgTitle') === 'Kampfrechner') {
 +
        mw.loader.load( '/index.php?title=MediaWiki:Kampfrechner.js&action=raw&ctype=text/javascript' );
 +
//importScript("MediaWiki:Kampfrechner.js");
 +
}
 +
*/
 +
/*** ENDE: Kampfrechner ***/
  
// Set the letter that creates your snowflake (recommended: *)
+
//=============================================================
var snowletter = '*';
 
  
// Set the speed of sinking (recommended values range from 0.3 to 2)
+
/*** 3. Forschungen ***/
var sinkspeed = 0.6;
+
// Ist in [[MediaWiki:CFoptions.js]] ausgelagert
 +
// Siehe auch: [[:Kategorie:Forschung]]
 +
mw.loader.load( '/index.php?title=MediaWiki:CFoptions.js&action=raw&ctype=text/javascript' );
 +
//importScript("MediaWiki:CFoptions.js");
  
// Set the maximal-size of your snowflaxes
+
/*** ENDE: Forschungen ***/
var snowmaxsize = 48;
 
  
// Set the minimal-size of your snowflaxes
+
//=============================================================
var snowminsize = 10;
 
  
// Set the snowing-zone
+
/*** 4. NPC-Bilder ***/
// Set 1 for all-over-snowing
+
// Set 2 for left-side-snowing
+
/**
// Set 3 for center-snowing
+
* Zeigt/Versteckt NPC-Bilder
// Set 4 for right-side-snowing
+
* Parameter:
var snowingzone = 1;
+
* bool: Wenn wahr, NPC-Bilder anzeigen, wenn falsch, dann nicht
 +
*/
 +
function showNI(bool)
 +
{
 +
var DaysToExpire = 300; // Cookie wird nach so vielen Tagen gelöscht
 +
var ExpireDate = new Date();
  
///////////////////////////////////////////////////////////////////////////
+
ExpireDate.setTime((ExpireDate.getTime() + DaysToExpire * 24 * 60 * 60 * 1000));
// CONFIGURATION ENDS HERE
 
///////////////////////////////////////////////////////////////////////////
 
  
// Do not edit below this line
+
if (bool) {
var snow = new Array();
+
document.cookie="tiramon_deShowNI=1; expires=" + ExpireDate.toGMTString();
var marginbottom;
+
} else {
var marginright;
+
document.cookie="tiramon_deShowNI=0; expires=" + ExpireDate.toGMTString();
var timer;
+
}
var i_snow = 0;
+
location.reload();
var x_mv = new Array();
+
}
var crds = new Array();
 
var lftrght = new Array();
 
var browserinfos = navigator.userAgent;
 
var ie5 = document.all && document.getElementById && !browserinfos.match(/Opera/);
 
var ns6 = document.getElementById && !document.all;
 
var opera = browserinfos.match(/Opera/);
 
var browserok = ie5 || ns6 || opera;
 
  
function randommaker(range)
+
/**
 +
* Generalfunktion, arbeitet an allen NPC-Bildern
 +
*/
 +
function work_on_npcimages()
 
{
 
{
return Math.floor(range * Math.random());
+
// Füge Anzeigen/Verstecken-Link hinzu
}
+
findmenu = document.getElementById("NIinout");
 +
if (findmenu) {
 +
showlink=document.createElement("a");
 +
showlink.setAttribute("href","Javascript:showNI(true)");
 +
showlink.appendChild(document.createTextNode('anzeigen'));
 +
 +
hidelink=document.createElement("a");
 +
hidelink.setAttribute("href","Javascript:showNI(false)");
 +
hidelink.appendChild(document.createTextNode('verbergen'));
 +
 +
findmenu.appendChild(showlink);
 +
findmenu.appendChild(document.createTextNode('/'));
 +
findmenu.appendChild(hidelink);
 +
}
 +
 
 +
// Standardwert des Anzeigemodus
 +
var NIDisplaymode = "inline";
  
function initsnow()
+
// Frage gespeicherten Anzeigemodus ab
{
+
var tiramon_deShowNI=document.cookie;
if (ie5 || opera)
+
if (tiramon_deShowNI.indexOf("tiramon_deShowNI=") != "-1") {
{
+
if (tiramon_deShowNI.charAt(tiramon_deShowNI.indexOf("tiramon_deShowNI=")+17)!="1") NIDisplaymode = "none";
marginbottom = document.body.clientHeight;
 
marginright  = document.body.clientWidth;
 
 
}
 
}
else if (ns6)
+
 
{
+
for (var i = 0; foundspan = document.getElementsByTagName("span")[i]; i++) {
marginbottom = window.innerHeight;
+
if (foundspan.className == "NI") {
marginright  = window.innerWidth;
+
foundspan.setAttribute("style", "display:" + NIDisplaymode +";");
 +
}
 
}
 
}
  
var snowsizerange = snowmaxsize - snowminsize;
+
}
 +
 
 +
// Starte work_on_npcimages() nach Laden der Seite
 +
jQuery( document ).ready( function( $ ) {
 +
work_on_npcimages();
 +
} );
 +
//addOnloadHook(work_on_npcimages);
 +
 
 +
/*** ENDE: NPC-Bilder ***/
 +
 
 +
 
 +
//=============================================================
 +
 
 +
/*** 5. Schnee/Feuerwerk ***/
 +
 
 +
/** ==Schnee== **/
 +
// Ist in [[MediaWiki:Schnee.js]] ausgelagert
 +
//if (mw.config.get('wgTitle') === 'Hauptseite') {
 +
//mw.loader.load('/index.php?title=MediaWiki:Schnee.js&action=raw&ctype=text/javascript');
 +
//}
  
for (var i = 0; i <= snowmax; i++)
+
/** ==Feuerwerk== **/
{
+
// Ist in [[MediaWiki:Feuerwerk.js]] ausgelagert
crds[i] = 0;
+
//if (mw.config.get('wgTitle') === 'Hauptseite') {
lftrght[i] = Math.random() * 15;
+
//mw.loader.load('/index.php?title=MediaWiki:Feuerwerk.js&action=raw&ctype=text/javascript');
x_mv[i] = 0.03 + Math.random() / 10;
+
//}
snow[i] = document.getElementById('s' + i);
 
snow[i].style.fontFamily = snowtype[randommaker(snowtype.length)];
 
snow[i].size = randommaker(snowsizerange) + snowminsize;
 
snow[i].style.fontSize = snow[i].size;
 
snow[i].style.color = snowcolor[randommaker(snowcolor.length)];
 
snow[i].sink = sinkspeed * snow[i].size / 5;
 
  
if (snowingzone == 1)
+
/*** ENDE: Schnee/Feuerwerk ***/
snow[i].posx = randommaker(marginright - snow[i].size);
 
  
if (snowingzone == 2)
+
//=============================================================
snow[i].posx = randommaker(marginright / 2 - snow[i].size);
 
  
if (snowingzone == 3)
 
snow[i].posx = randommaker(marginright / 2 - snow[i].size) + marginright / 4;
 
  
if (snowingzone == 4)
+
/*** 6. Vertikale Tabs ***/
snow[i].posx = randommaker(marginright / 2 - snow[i].size) + marginright / 2;
 
  
snow[i].posy = randommaker(2 * marginbottom - marginbottom - 2 * snow[i].size);
+
// Variablendefinition
snow[i].style.left = snow[i].posx;
+
var shownTab = Array();
snow[i].style.top = snow[i].posy;
+
var disabledLink = Array();
 +
 
 +
/**
 +
* Änderung des aktuell ausgewählten Tabs
 +
*/
 +
function showVTab(area, tab) {
 +
var div = document.getElementById('VTabContent_' + String(area) + '_' + String(tab));
 +
var a = document.getElementById('VTabLink_' + String(area) + '_' + String(tab));
 +
if (!div || !a) return;
 +
 
 +
div.style.height = 'auto';
 +
if (shownTab[area]) shownTab[area].style.height = '0';
 +
shownTab[area] = div;
 +
 
 +
var strong = document.getElementById('VTabStrong_' + String(area));
 +
if (!strong) {
 +
strong = document.createElement('strong');
 +
strong.id = 'VTabStrong_' + String(area);
 +
strong.className = 'selflink';
 +
}
 +
 
 +
if (disabledLink[area]) {
 +
disabledLink[area].appendChild(strong.firstChild);
 +
strong.parentNode.appendChild(disabledLink[area]);
 
}
 
}
  
movesnow();
+
strong.appendChild(a.firstChild);
 +
a.parentNode.appendChild(strong);
 +
a.parentNode.removeChild(a);
 +
disabledLink[area] = a;
 
}
 
}
  
function movesnow()
+
/**
{
+
* Initialisiert vertikale Tabs
for (var i = 0; i <= snowmax; i++)
+
*/
{
+
function initVTabs() {
crds[i] += x_mv[i];
+
var indexVTabs = 0;
snow[i].posy += snow[i].sink;
+
for (var i = 0; table = document.getElementsByTagName('table')[i]; i++) {
snow[i].style.left = snow[i].posx + lftrght[i] * Math.sin(crds[i]);
+
if (table.className != 'VTabs') continue;
snow[i].style.top = snow[i].posy;
 
  
if ((snow[i].posy >= (marginbottom - 2 * snow[i].size)) || (parseInt(snow[i].style.left) > (marginright - 3 * lftrght[i])))
+
table.id = 'VTabs_' + String(++indexVTabs);
{
+
shownTab[indexVTabs] = disabledLink[indexVTabs] = 0;
if (snowingzone == 1)
 
snow[i].posx = randommaker(marginright - snow[i].size);
 
  
if (snowingzone == 2)
+
var numTabs = 0;
snow[i].posx = randommaker(marginright / 2 - snow[i].size);
+
var contents;
 +
for (var j = 0; tr = table.getElementsByTagName('tr')[j]; j++) {
 +
var caption = tr.getElementsByTagName('td')[0];
 +
caption.className = 'VTabCaption';
 +
caption.id = 'VTabCaption_' + String(indexVTabs) + '_' + String(++numTabs);
  
if (snowingzone == 3)
+
var a = document.createElement('a');
snow[i].posx = randommaker(marginright / 2 - snow[i].size) + marginright / 4;
+
a.id = 'VTabLink_' + String(indexVTabs) + '_' + String(++numTabs);
 +
a.href = 'javascript:showVTab(' + String(indexVTabs) + ', ' + String(numTabs) + ');';
 +
a.appendChild(caption.firstChild);
 +
caption.appendChild(a);
  
if (snowingzone == 4)
+
var content = tr.getElementsByTagName('td')[1];
snow[i].posx = randommaker(marginright / 2 - snow[i].size) + marginright / 2;
+
var div = document.createElement('div');
 +
div.className = 'VTabContent';
 +
div.id = 'VTabContent_' + String(indexVTabs) + '_' + String(numTabs);
  
snow[i].posy = 0;
+
while (content.childNodes.length) {
 +
div.appendChild(content.childNodes[0]);
 +
}
 +
if (contents) {
 +
tr.removeChild(content);
 +
} else {
 +
contents = content
 +
}
 +
contents.rowSpan = numTabs;
 +
contents.appendChild(div);
 
}
 
}
 
}
 
}
 
var timer = setTimeout('movesnow();', 20); //Wert von 10 bis 100
 
 
}
 
}
  
for (var i = 0; i <= snowmax; i++)
+
// Starte initVTabs() nach Laden der Seite
document.write('<span id="s' + i +'" style="position: absolute; top: -' + snowmaxsize + '">' + snowletter + '</span>');
+
jQuery( document ).ready( function( $ ) {
 
+
initVTabs();
if (browserok)
+
} );
window.onload = initsnow;
+
//addOnloadHook(initVTabs);
//-->
 
  
// END OF FILE */
+
/*** ENDE: Vertikale Tabs ***/

Aktuelle Version vom 8. Januar 2023, 01:57 Uhr

/*********************************************************************/
/* Common.js enthält gemeinsamen JavaScript-Code für alle Benutzer. */
/* Jedes JavaScript, dass sich in dieser Seite befindet, wird für  */
/* alle Benutzer geladen. Daher bitte mit Vorsicht bearbeiten!    */
/*****************************************************************/

//=============================================================

/*** 1. Anpassung für die Navigationsleisten ***/

// Sprachdefinition
var NavigationBarHide = 'Einklappen';
var NavigationBarShow = 'Ausklappen';

/**
 * Maximale Anzahl an Navigationsleisten pro Seite.
 * Gibt es auf einer Seite mehr, werden diese automatisch versteckt!
 * 	var NavigationBarShowDefault = 0; // Alle Navigationsleisten werden versteckt
 * 	var NavigationBarShowDefault = 1; // Alle außer die erste Navigationsleiste werden versteckt
 **/
var NavigationBarShowDefault = 0;

/**
 * Zeigt und versteckt den Inhalt und das Bild der Navigationsleiste
 * Parameter:
 *	indexNavigationBar: Index der Navigationsleiste
 **/
function toggleNavigationBar(indexNavigationBar) {
	var NavToggle = document.getElementById("NavToggle" + indexNavigationBar);
	var NavFrame = document.getElementById("NavFrame" + indexNavigationBar);

	if (!NavFrame || !NavToggle) {
		return false;
	}

	// Verstecken, wenn die Leiste derzeit gezeigt wird
	if (NavToggle.firstChild.data == NavigationBarHide) {
		for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) {
			if (NavChild.className == 'NavPic') {
				NavChild.style.display = 'none';
			}
			if (NavChild.className == 'NavContent') {
				NavChild.style.display = 'none';
			}
			if (NavChild.className == 'NavToggle') {
				NavChild.firstChild.data = NavigationBarShow;
			}
		}

	// Anzeigen, wenn die Leiste derzeit versteckt ist
	} else if (NavToggle.firstChild.data == NavigationBarShow) {
		for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) {
			if (NavChild.className == 'NavPic') {
				NavChild.style.display = 'block';
			}
			if (NavChild.className == 'NavContent') {
					NavChild.style.display = 'block';
			}
			if (NavChild.className == 'NavToggle') {
				NavChild.firstChild.data = NavigationBarHide;
			}
		}
	}
}


/**
 * Fügt Anzeigen/Verstecken-Link zur Navigationsleiste hinzu
 */
function createNavigationBarToggleButton() {
	var indexNavigationBar = 0;
	// Auf alle div-Elemente anwenden
	for (var i = 0; NavFrame = document.getElementsByTagName("div")[i]; i++) {
		// Wenn eine Navigationsleiste gefunden wurde
		if (NavFrame.className == "NavFrame") {
			indexNavigationBar++;
			var NavToggle = document.createElement("a");
			NavToggle.className = 'NavToggle';
			NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar);
			NavToggle.setAttribute('href', 'javascript:toggleNavigationBar(' + indexNavigationBar + ');');

			var NavToggleText = document.createTextNode(NavigationBarHide);
			NavToggle.appendChild(NavToggleText);
			
			// Füge die Links als erstes div-Element hinzu
			NavFrame.insertBefore(NavToggle, NavFrame.firstChild);
			NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar);
		}
	}
	// Wenn mehrere Navigationsleisten gefunden wurden, dann wird versteckt
	if (NavigationBarShowDefault < indexNavigationBar) {
		for (var i = 1; i <= indexNavigationBar; i++) {
			toggleNavigationBar(i);
		}
	}
}

// Lade createNavigationBarToggleButton() nach Laden der Seite
jQuery( document ).ready( function( $ ) {
	createNavigationBarToggleButton();
} );
//addOnloadHook(createNavigationBarToggleButton);
 
/*** ENDE: Anpassung für die Navigationsleisten ***/

//=============================================================

/*** 2. Kampfrechner ***/
/*
// Ist in [[MediaWiki:Kampfrechner.js]] ausgelagert
// Wird nur auf der Seite [[Kampfrechner]] aufgerufen
if (mw.config.get('wgTitle') === 'Kampfrechner') {
        mw.loader.load( '/index.php?title=MediaWiki:Kampfrechner.js&action=raw&ctype=text/javascript' );
	//importScript("MediaWiki:Kampfrechner.js");
}
*/
/*** ENDE: Kampfrechner ***/

//=============================================================

/*** 3. Forschungen ***/
// Ist in [[MediaWiki:CFoptions.js]] ausgelagert
// Siehe auch: [[:Kategorie:Forschung]]
mw.loader.load( '/index.php?title=MediaWiki:CFoptions.js&action=raw&ctype=text/javascript' );
//importScript("MediaWiki:CFoptions.js");	

/*** ENDE: Forschungen ***/

//=============================================================

/*** 4. NPC-Bilder ***/
 
/**
 * Zeigt/Versteckt NPC-Bilder
 * Parameter:
 * 	bool: Wenn wahr, NPC-Bilder anzeigen, wenn falsch, dann nicht
 */
function showNI(bool)
{
	var DaysToExpire = 300; // Cookie wird nach so vielen Tagen gelöscht
	var ExpireDate = new Date();

	ExpireDate.setTime((ExpireDate.getTime() + DaysToExpire * 24 * 60 * 60 * 1000));

	if (bool) {
		document.cookie="tiramon_deShowNI=1; expires=" + ExpireDate.toGMTString();
	} else {
		document.cookie="tiramon_deShowNI=0; expires=" + ExpireDate.toGMTString();
	}
	location.reload();
}

/**
 * Generalfunktion, arbeitet an allen NPC-Bildern
 */
function work_on_npcimages()
{
	// Füge Anzeigen/Verstecken-Link hinzu
	findmenu = document.getElementById("NIinout");
	if (findmenu) {
		showlink=document.createElement("a");
		showlink.setAttribute("href","Javascript:showNI(true)");
		showlink.appendChild(document.createTextNode('anzeigen'));
		
		hidelink=document.createElement("a");
		hidelink.setAttribute("href","Javascript:showNI(false)");
		hidelink.appendChild(document.createTextNode('verbergen'));
		
		findmenu.appendChild(showlink);
		findmenu.appendChild(document.createTextNode('/'));
		findmenu.appendChild(hidelink);
	}

	// Standardwert des Anzeigemodus
	var NIDisplaymode = "inline";

	// Frage gespeicherten Anzeigemodus ab
	var tiramon_deShowNI=document.cookie;
	if (tiramon_deShowNI.indexOf("tiramon_deShowNI=") != "-1") {
		if (tiramon_deShowNI.charAt(tiramon_deShowNI.indexOf("tiramon_deShowNI=")+17)!="1") NIDisplaymode = "none";
	}

	for (var i = 0; foundspan = document.getElementsByTagName("span")[i]; i++) {
		if (foundspan.className == "NI") { 
			foundspan.setAttribute("style", "display:" + NIDisplaymode +";");
		}
	}

}

// Starte work_on_npcimages() nach Laden der Seite
jQuery( document ).ready( function( $ ) {
	work_on_npcimages();
} );
//addOnloadHook(work_on_npcimages);

/*** ENDE: NPC-Bilder ***/


//=============================================================

/*** 5. Schnee/Feuerwerk ***/

/** ==Schnee== **/
// Ist in [[MediaWiki:Schnee.js]] ausgelagert
//if (mw.config.get('wgTitle') === 'Hauptseite') {
//mw.loader.load('/index.php?title=MediaWiki:Schnee.js&action=raw&ctype=text/javascript');
//}

/** ==Feuerwerk== **/
// Ist in [[MediaWiki:Feuerwerk.js]] ausgelagert
//if (mw.config.get('wgTitle') === 'Hauptseite') {
//mw.loader.load('/index.php?title=MediaWiki:Feuerwerk.js&action=raw&ctype=text/javascript');
//}

/*** ENDE: Schnee/Feuerwerk ***/

//=============================================================


/*** 6. Vertikale Tabs ***/

// Variablendefinition
var shownTab = Array();
var disabledLink = Array();

/**
 * Änderung des aktuell ausgewählten Tabs
 */
function showVTab(area, tab) {
	var div = document.getElementById('VTabContent_' + String(area) + '_' + String(tab));
	var a = document.getElementById('VTabLink_' + String(area) + '_' + String(tab));
	if (!div || !a) return;

	div.style.height = 'auto';
	if (shownTab[area]) shownTab[area].style.height = '0';
	shownTab[area] = div;

	var strong = document.getElementById('VTabStrong_' + String(area));
	if (!strong) {
		strong = document.createElement('strong');
		strong.id = 'VTabStrong_' + String(area);
		strong.className = 'selflink';
	}

	if (disabledLink[area]) {
		disabledLink[area].appendChild(strong.firstChild);
		strong.parentNode.appendChild(disabledLink[area]);
	}

	strong.appendChild(a.firstChild);
	a.parentNode.appendChild(strong);
	a.parentNode.removeChild(a);
	disabledLink[area] = a;
}

/**
 * Initialisiert vertikale Tabs
 */
function initVTabs() {
	var indexVTabs = 0;
	for (var i = 0; table = document.getElementsByTagName('table')[i]; i++) {
		if (table.className != 'VTabs') continue;

		table.id = 'VTabs_' + String(++indexVTabs);
		shownTab[indexVTabs] = disabledLink[indexVTabs] = 0;

		var numTabs = 0;
		var contents;
		for (var j = 0; tr = table.getElementsByTagName('tr')[j]; j++) {
			var caption = tr.getElementsByTagName('td')[0];
			caption.className = 'VTabCaption';
			caption.id = 'VTabCaption_' + String(indexVTabs) + '_' + String(++numTabs);

			var a = document.createElement('a');
			a.id = 'VTabLink_' + String(indexVTabs) + '_' + String(++numTabs);
			a.href = 'javascript:showVTab(' + String(indexVTabs) + ', ' + String(numTabs) + ');';
			a.appendChild(caption.firstChild);
			caption.appendChild(a);

			var content = tr.getElementsByTagName('td')[1];
			var div = document.createElement('div');
			div.className = 'VTabContent';
			div.id = 'VTabContent_' + String(indexVTabs) + '_' + String(numTabs);

			while (content.childNodes.length) {
				div.appendChild(content.childNodes[0]);
			}
			if (contents) {
				tr.removeChild(content);
			} else {
				contents = content
			}
			contents.rowSpan = numTabs;
			contents.appendChild(div);
		}
	}
}

// Starte initVTabs() nach Laden der Seite
jQuery( document ).ready( function( $ ) {
	initVTabs();
} );
//addOnloadHook(initVTabs);

/*** ENDE: Vertikale Tabs ***/