MediaWiki:Common.js: Unterschied zwischen den Versionen

Aus DarkfleetWiki
Wechseln zu: Navigation, Suche
K (weihnachten is um, schnee raus.)
Zeile 208: Zeile 208:
 
  aOnloadFunctions[aOnloadFunctions.length] = work_on_npcimages;
 
  aOnloadFunctions[aOnloadFunctions.length] = work_on_npcimages;
 
   
 
   
  /* END NPC-Images
+
  /* END NPC-Images */
  
== schnee ==
+
/*** Schnee ***/
 
+
// Ist in [[MediaWiki:Schnee.js]] ausgelagert
   
+
if (mw.config.get('wgTitle') === 'Benutzer:Galak') {
////////////////////////////////////////////////////////////////////////
+
importScript("MediaWiki:Schnee.js");
// SnowFlakes-Script (c) 2009, Dominik Scholz / go4u.de Webdesign
 
////////////////////////////////////////////////////////////////////////
 
 
 
// amount of snow flakes
 
var snow_amount = 50;
 
// colors of snowflakes
 
var snow_color = new Array('#AAAACC', '#DDDDFF', '#CCCCDD', '#F3F3F3', '#F0FFFF');
 
// fonts to be used for snowflakes
 
var snow_type = new Array('Arial Black', 'Arial Narrow', 'Times', 'Comic Sans MS');
 
// char used for snowflakes
 
var snow_char = '*';
 
// vertical snowflakes speed
 
var snow_speed = 2.4;
 
// timeout for animation
 
var snow_timeout = 50;
 
// maximum size of snowflakes
 
var snow_maxsize = 22;
 
// minimum size of snowflakes
 
var snow_minsize = 8;
 
// maximal drift in each direction (left/right)
 
var snow_drift = 15;
 
 
 
////////////////////// don't edit below this line //////////////////////
 
var snow_flakes = new Array();
 
var snow_body_width = 0;
 
var snow_body_height = 0;
 
var snow_resizing = false;
 
var snow_range = snow_maxsize - snow_minsize;
 
var snow_eventHandlerResize = window.onresize;
 
var snow_eventHandlerLoad = window.onload;
 
 
 
// register window resize event
 
window.onresize = snow_resize;
 
window.onload = snow_start;
 
 
 
// start snow
 
function snow_start()
 
{
 
if (snow_eventHandlerLoad != null) snow_eventHandlerLoad();
 
 
 
// init window size
 
snow_window_size();
 
 
 
// add new flakes
 
while (snow_amount > snow_flakes.length)
 
snow_flake_create(snow_flakes.length);
 
 
 
// start to move snow
 
snow_move();
 
}
 
 
 
 
 
////////////////////////////// functions ///////////////////////////////
 
 
 
// creates a new snowflake
 
function snow_flake_create(i)
 
{
 
// select body tag
 
var insertBody = document.getElementsByTagName('body')[0];
 
 
 
// create span child for flake
 
var insertFlake = document.createElement('div');
 
insertFlake.id            = 'flake'+i;
 
insertFlake.style.position = 'absolute';
 
insertFlake.style.left    = '0px';
 
insertFlake.style.top      = '-'+snow_maxsize+'px';
 
insertFlake.style.zIndex  = 20000;
 
insertFlake.innerHTML      = snow_char;
 
insertBody.appendChild(insertFlake);
 
 
 
// create array element
 
snow_flakes[i]      = new Array();
 
snow_flakes[i].x    = snow_random(snow_body_width-2*snow_drift-snow_maxsize-3) + snow_drift+1;
 
snow_flakes[i].y    = -snow_maxsize-snow_random(snow_body_height);
 
snow_flakes[i].size  = snow_random(snow_range) + snow_minsize;
 
snow_flakes[i].count = snow_random(10000);
 
insertFlake.style.color = snow_color[snow_random(snow_color.length-1)];
 
insertFlake.style.family = snow_type[snow_random(snow_type.length-1)];
 
insertFlake.style.fontSize = (snow_random(snow_range)+snow_minsize)+"px";
 
}
 
 
 
// restarts an existing snow flake
 
function snow_flake_restart(i)
 
{
 
snow_flakes[i]      = new Array();
 
snow_flakes[i].x    = snow_random(snow_body_width-2*snow_drift-snow_maxsize-3) + snow_drift+1;
 
snow_flakes[i].y    = -snow_maxsize;
 
snow_flakes[i].size  = snow_random(snow_range) + snow_minsize;
 
snow_flakes[i].count = 0;
 
}
 
 
 
// move existing flakes
 
function snow_move()
 
{
 
 
 
for (i=0; i<snow_flakes.length; i++)
 
{
 
var flake = document.getElementById('flake'+i);
 
 
 
// restart existing flake
 
if ((snow_flakes[i].y + snow_flakes[i].size + 20) >= snow_body_height)
 
snow_flake_restart(i);
 
 
 
snow_flakes[i].count++;
 
snow_flakes[i].y += snow_speed;
 
 
 
x = snow_flakes[i].x + Math.sin(snow_flakes[i].count / snow_flakes[i].size) * 15;
 
y = snow_flakes[i].y;
 
 
 
 
flake.style.left = x + 'px';
 
flake.style.top  = y + 'px';
 
}
 
 
 
// do it again
 
window.setTimeout('snow_move();', snow_timeout);
 
}
 
 
 
function snow_random(range)
 
{
 
    return Math.floor(Math.random() * range);
 
}
 
 
 
function snow_window_size()
 
{
 
// save old width
 
var old_width = snow_body_width;
 
 
 
// get new width
 
    snow_body_width = document.body.clientWidth - snow_maxsize - 20;
 
    snow_body_height = document.body.clientHeight;
 
if ((window.innerHeight) && (window.innerHeight > snow_body_height))
 
snow_body_height = window.innerHeight;
 
else if ((document.body && document.body.offsetHeight) && (document.body.offsetHeight > snow_body_height))
 
    snow_body_height = document.body.offsetHeight;
 
 
 
// calculate correction ratio
 
var ratio = snow_body_width / old_width;
 
 
// for all flakes
 
for (i=0; i<snow_flakes.length; i++)
 
{
 
var flake = document.getElementById('flake'+i);
 
 
 
// do width correction
 
snow_flakes[i].x *= ratio;
 
 
// restart existing flake
 
if ((snow_flakes[i].y + snow_flakes[i].size + 20) >= snow_body_height)
 
snow_flake_restart(i);
 
}
 
 
}
 
}
  
// handle resize event
 
function snow_resize()
 
{
 
if (snow_eventHandlerResize != null) snow_eventHandlerResize();
 
snow_window_size();
 
}
 
 
*/
 
/* END snow
 
// ============================================================
 
  
  

Version vom 5. März 2012, 02:24 Uhr

/* Hinweis: Die Wiki-Überschriften sind JavaScript-technisch auskommentiert
== Multiple onload functions ==
 // setup onload functions this way:
 // aOnloadFunctions[aOnloadFunctions.length] = function_name; // without brackets! */
 
 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 = 0;
 
 
 // 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 ==
 // 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 ==
 // NEEDS multiple onload functions */
 
 function showNI(bool)
 {
   if (bool) 
   {
     document.cookie="tiramon_deShowNI=1";
   }
   else
   {
     document.cookie="tiramon_deShowNI=0";
   }
   location.reload();
 }

 function work_on_npcimages()
 {
   // add show/hide links to all maps
   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);
   }

   // enable display of NIs if wished
   for(var i=0; foundspan = document.getElementsByTagName("span")[i]; i++)
   {
     var tiramon_deShowNI=document.cookie;
     if (tiramon_deShowNI.indexOf("tiramon_deShowNI=")=="-1") return(-1);
     if (tiramon_deShowNI.charAt(tiramon_deShowNI.indexOf("tiramon_deShowNI=")+17)!="1") return(-1);
     if (foundspan.className == "NI")
     {
       foundspan.setAttribute("style", "display:inline;");
     }
   }

 }
 aOnloadFunctions[aOnloadFunctions.length] = work_on_npcimages;
 
 /* END NPC-Images */

/***  Schnee ***/
// Ist in [[MediaWiki:Schnee.js]] ausgelagert
if (mw.config.get('wgTitle') === 'Benutzer:Galak') {
	importScript("MediaWiki:Schnee.js");
}



== Forschungsrechner ==
 // BEGIN import code used by user skill pages
 // SEE ALSO [[:Kategorie:Forschung]] */
 
  document.write('<script type="text/javascript" src="/index.php?title=MediaWiki:CFoptions.js&action=raw&ctype=text/javascript&dontcountme=s"></script>');
 
 /* END import code used by user skill pages
 // ============================================================

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

 // END OF FILE */