MediaWiki:Common.js: Unterschied zwischen den Versionen

Aus DarkfleetWiki
Wechseln zu: Navigation, Suche
K
K (weihnachten is um, schnee raus.)
Zeile 211: Zeile 211:
  
 
== schnee ==
 
== schnee ==
*/
+
 
 
   
 
   
 
////////////////////////////////////////////////////////////////////////
 
////////////////////////////////////////////////////////////////////////
Zeile 374: Zeile 374:
 
}
 
}
 
   
 
   
 +
*/
 
  /* END snow
 
  /* END snow
 
  // ============================================================
 
  // ============================================================

Version vom 26. Dezember 2011, 21:32 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 ==

 
////////////////////////////////////////////////////////////////////////
// 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
 // ============================================================


== 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 */