Category
| You're no bot and a page you've created got automatically deleted? Add your name to FreewarWiki:NoSpamUser |
Difference between revisions of "MediaWiki:Common.js"
From FreewarWiki
(deactivated snow) |
|||
| Line 541: | Line 541: | ||
== Snow == | == Snow == | ||
*/ | */ | ||
| + | /* | ||
//////////////////////////////////////////////////////////////////////// | //////////////////////////////////////////////////////////////////////// | ||
| Line 702: | Line 703: | ||
snow_window_size(); | snow_window_size(); | ||
} | } | ||
| + | |||
| + | */ | ||
| − | /* END snow | + | /* END snow */ |
// ============================================================ | // ============================================================ | ||
Revision as of 22:38, 26 December 2011
/* Any JavaScript here will be loaded for all users on every page load. */
/* Hinweis: Die Wiki-Überschriften sind JavaScript-technisch auskommentiert
== Dynamic Navigation Bars ==
*/
// set up the words in your language
var NavigationBarHide = 'Hide';
var NavigationBarShow = 'Show';
// 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);
}
}
}
addOnloadHook(createNavigationBarToggleButton);
/* END Dynamic Navigation Bars
// ============================================================
== Vertical Tabbing ==
*/
var shownTab = Array();
var disabledLink = Array();
// switches between 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;
}
// initiates vertically tabbed areas
function initVTabs() {
var indexVTabs = 0;
// iterate over all tables
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);
}
}
}
addOnloadHook(initVTabs);
/* END Vertical Tabbing
// ============================================================
== Kampfrechner ==
*/
var global_lp_a, global_a_a, global_v_a, global_lp_v, global_a_v, global_v_v;
var global_fightresult_1, global_fightresult_2, global_fightresult_3;
function calc_fight()
{
dif_a = global_a_a.value - global_v_v.value;
dif_v = global_a_v.value - global_v_a.value;
if (dif_a < 1) dif_a = 1;
if (dif_v < 1) dif_v = 1;
fac_a = global_lp_v.value / dif_a;
fac_v = global_lp_a.value / dif_v;
if (fac_a > fac_v) {
if ((global_a_a.value - global_v_v.value) > 0) lp_v = global_a_a.value - global_v_v.value;
else lp_v = 1;
end_v_lp = Math.floor(global_lp_v.value - fac_v * lp_v);
global_fightresult_1.nodeValue = 'Verteidiger gewinnt mit ' + end_v_lp + ' LP'
if (((global_lp_a.value / dif_v) < 1) && ((global_lp_a.value / dif_v) < (global_lp_v.value / dif_a))) {
global_fightresult_2.nodeValue = 'Der Angreifer stirbt schon nach einem Schlag';
global_fightresult_3.nodeValue = ' '
}
else {
global_fightresult_2.nodeValue = 'Der Angreifer benötigt ' + Math.ceil(global_lp_v.value / dif_a) + ' Schläge für Sieg';
global_fightresult_3.nodeValue = 'Der Angreifer verliert ' + String(dif_v) + ' LP pro Schlag';
}
}
else {
if ((global_a_v.value - global_v_a.value) > 0) lp_a = global_a_v.value - global_v_a.value;
else lp_a = 1;
end_a_lp = Math.floor(global_lp_a.value - fac_a * lp_a);
global_fightresult_1.nodeValue = 'Angreifer gewinnt mit ' + end_a_lp + ' LP'
global_fightresult_2.nodeValue = 'Minimale LP für Sieg: ' + String(global_lp_a.value - end_a_lp);
global_fightresult_3.nodeValue = ' '
}
return false;
}
function init_fightcalc()
{
fc = document.getElementById('Kampfrechner');
if (fc) {
table = document.createElement('TABLE');
tr = document.createElement('TR');
td = document.createElement('TD');
tr.appendChild(td);
td = document.createElement('TH');
td.appendChild(document.createTextNode('Angreifer'));
tr.appendChild(td);
td = document.createElement('TH');
td.appendChild(document.createTextNode('Verteidiger'));
tr.appendChild(td);
table.appendChild(tr);
// LP-Werte
tr = document.createElement('TR');
td = document.createElement('TD');
td.appendChild(document.createTextNode('LP'));
tr.appendChild(td);
td = document.createElement('TD');
global_lp_a = document.createElement('INPUT');
global_lp_a.setAttribute('type', 'text');
td.appendChild(global_lp_a);
tr.appendChild(td);
td = document.createElement('TD');
global_lp_v = document.createElement('INPUT');
global_lp_v.setAttribute('type', 'text');
td.appendChild(global_lp_v);
tr.appendChild(td);
table.appendChild(tr);
// A-Werte
tr = document.createElement('TR');
td = document.createElement('TD');
td.appendChild(document.createTextNode('A'));
tr.appendChild(td);
td = document.createElement('TD');
global_a_a = document.createElement('INPUT');
global_a_a.setAttribute('type', 'text');
td.appendChild(global_a_a);
tr.appendChild(td);
td = document.createElement('TD');
global_a_v = document.createElement('INPUT');
global_a_v.setAttribute('type', 'text');
td.appendChild(global_a_v);
tr.appendChild(td);
table.appendChild(tr);
// V-Werte
tr = document.createElement('TR');
td = document.createElement('TD');
td.appendChild(document.createTextNode('V'));
tr.appendChild(td);
td = document.createElement('TD');
global_v_a = document.createElement('INPUT');
global_v_a.setAttribute('type', 'text');
td.appendChild(global_v_a);
tr.appendChild(td);
td = document.createElement('TD');
global_v_v = document.createElement('INPUT');
global_v_v.setAttribute('type', 'text');
td.appendChild(global_v_v);
tr.appendChild(td);
table.appendChild(tr);
tr = document.createElement('TR');
td = document.createElement('TD');
td.setAttribute('colspan', '3')
td.style.textAlign = 'center';
inp = document.createElement('INPUT');
inp.setAttribute('type', 'submit');
inp.setAttribute('name', 'calc');
inp.setAttribute('value', 'Berechnen');
td.appendChild(inp);
tr.appendChild(td);
table.appendChild(tr);
tr = document.createElement('TR');
td = document.createElement('TD');
td.setAttribute('colspan', '3')
td.style.textAlign = 'center';
global_fightresult_1 = document.createTextNode('Werte eingeben und auf Berechnen klicken');
global_fightresult_2 = document.createTextNode(' ');
global_fightresult_3 = document.createTextNode(' ');
td.appendChild(global_fightresult_1);
td.appendChild(document.createElement('BR'));
td.appendChild(global_fightresult_2);
td.appendChild(document.createElement('BR'));
td.appendChild(global_fightresult_3);
tr.appendChild(td);
table.appendChild(tr);
form = document.createElement('FORM');
form.setAttribute('action', '#')
form.setAttribute('method', 'POST')
form.setAttribute('name', 'fightcalc')
form.onsubmit = calc_fight;
form.appendChild(table);
fc.appendChild(form);
}
}
addOnloadHook(init_fightcalc);
/* END Kampfrechner
// ============================================================
== Questpassagen für Karten==
*/
function showQP(bool)
{
if (bool)
{
document.cookie="tiramon_deShowQP=1";
}
else
{
document.cookie="tiramon_deShowQP=0";
}
location.reload();
}
function work_on_questpassages()
{
// add show/hide links to all maps
findmenu = document.getElementById("QPinout");
if (findmenu)
{
showlink=document.createElement("a");
showlink.setAttribute("href","Javascript:showQP(true)");
showlink.appendChild(document.createTextNode('anzeigen'));
hidelink=document.createElement("a");
hidelink.setAttribute("href","Javascript:showQP(false)");
hidelink.appendChild(document.createTextNode('verbergen'));
findmenu.appendChild(showlink);
findmenu.appendChild(document.createTextNode('/'));
findmenu.appendChild(hidelink);
}
// enable display of QPs if wished
for(var i=0; foundspan = document.getElementsByTagName("span")[i]; i++)
{
var tiramon_deShowQP=document.cookie;
if (tiramon_deShowQP.indexOf("tiramon_deShowQP=")=="-1") return(-1);
if (tiramon_deShowQP.charAt(tiramon_deShowQP.indexOf("tiramon_deShowQP=")+17)!="1") return(-1);
if (foundspan.className == "QP")
{
foundspan.setAttribute("style", "display:inline;");
}
}
}
addOnloadHook(work_on_questpassages);
/* END QuestPassages
// ============================================================
== NPC-Bilder ein/aus ==
*/
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('show'));
hidelink=document.createElement("a");
hidelink.setAttribute("href","Javascript:showNI(false)");
hidelink.appendChild(document.createTextNode('hide'));
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;");
}
}
}
addOnloadHook(work_on_npcimages);
/* END NPC-Images
// ============================================================
== FreewarWiki Chat ==
*/
function addChat()
{
findchat = document.getElementById("fwwchat");
if (!findchat) return (0);
chat = document.createElement("applet");
chat.setAttribute("archive","http://www.freejavachat.com/java/cr.zip");
chat.setAttribute("codebase","http://www.freejavachat.com/java/");
chat.setAttribute("name","cr");
chat.setAttribute("code","ConferenceRoom.class");
chat.setAttribute("width","640");
chat.setAttribute("height","480");
param = document.createElement("param"); param.setAttribute("name","channel"); param.setAttribute("value","#freewarwiki"); chat.appendChild(param);
param = document.createElement("param"); param.setAttribute("name","user"); param.setAttribute("value","einer"); chat.appendChild(param);
param = document.createElement("param"); param.setAttribute("name", "showbuttonpanel"); param.setAttribute("value","false"); chat.appendChild(param);
param = document.createElement("param"); param.setAttribute("name","bg"); param.setAttribute("value","ffffff"); chat.appendChild(param);
param = document.createElement("param"); param.setAttribute("name","fg"); param.setAttribute("value","000000"); chat.appendChild(param);
param = document.createElement("param"); param.setAttribute("name","roomswidth"); param.setAttribute("value","0"); chat.appendChild(param);
param = document.createElement("param"); param.setAttribute("name","lurk"); param.setAttribute("value","true"); chat.appendChild(param);
param = document.createElement("param"); param.setAttribute("name","userprompt"); param.setAttribute("value",""); chat.appendChild(param);
param = document.createElement("param"); param.setAttribute("name","nameprompt"); param.setAttribute("value",""); chat.appendChild(param);
param = document.createElement("param"); param.setAttribute("name","simple"); param.setAttribute("value","false"); chat.appendChild(param);
param = document.createElement("param"); param.setAttribute("name","restricted"); param.setAttribute("value","false"); chat.appendChild(param);
param = document.createElement("param"); param.setAttribute("name","showjoins"); param.setAttribute("value","true"); chat.appendChild(param);
param = document.createElement("param"); param.setAttribute("name","showserverwindow"); param.setAttribute("value","true"); chat.appendChild(param);
param = document.createElement("param"); param.setAttribute("name","nicklock"); param.setAttribute("value","false"); chat.appendChild(param);
param = document.createElement("param"); param.setAttribute("name","playsounds"); param.setAttribute("value","true"); chat.appendChild(param);
param = document.createElement("param"); param.setAttribute("name","onlyshowchat"); param.setAttribute("value","false"); chat.appendChild(param);
param = document.createElement("param"); param.setAttribute("name","showcolorpanel"); param.setAttribute("value","true"); chat.appendChild(param);
param = document.createElement("param"); param.setAttribute("name","floatnewwindows"); param.setAttribute("value","false"); chat.appendChild(param);
param = document.createElement("param"); param.setAttribute("name","buttonsize"); param.setAttribute("value","14"); chat.appendChild(param);
param = document.createElement("param"); param.setAttribute("name","buttonstyle"); param.setAttribute("value","BOLD"); chat.appendChild(param);
param = document.createElement("param"); param.setAttribute("name","nosettings"); param.setAttribute("value","false"); chat.appendChild(param);
param = document.createElement("param"); param.setAttribute("name","loadmodules"); param.setAttribute("value","NickServPanel hide"); chat.appendChild(param);
param = document.createElement("param"); param.setAttribute("name","loadmodules1"); param.setAttribute("value","ImagePanel hide"); chat.appendChild(param);
param = document.createElement("param"); param.setAttribute("name","loadmodules2"); param.setAttribute("value","OpPanel hide"); chat.appendChild(param);
param = document.createElement("param"); param.setAttribute("name","commands"); param.setAttribute("value","Image Panel;/showmodule ImagePanel;NickServ Panel;/showmodule NickServPanel;Operators Panel;/showmodule OpPanel"); chat.appendChild(param);
param = document.createElement("param"); param.setAttribute("name","userwidth"); param.setAttribute("value","16"); chat.appendChild(param);
param = document.createElement("param"); param.setAttribute("name","joinsound"); param.setAttribute("value","bell.au"); chat.appendChild(param);
param = document.createElement("param"); param.setAttribute("name","sounds"); param.setAttribute("value","Alarm;Alarm.au Are we awake?;Applause;applause.au ENCORE!!!;Awwwwwww;aww.au Awwwwwwwww;BabyCry;babycry.au Wahhhh;CashRegister;cash_register.au Woohoo!;CowMoo;moo.au moos like a cow;Crash;crash.au *** CRASHES ***;Cymbal;CrashCymbal.au Tada!;Cuckoo;Cuckoo.au Where's Dr Fraud?;DoesNotCompute;does_not_compute.au That does NOT compute!;DOH!;doh.au Homer says DOH!;Door;door.au hears a door;Drip;drip.au Drip;Explosion;explosion.au explodes;Flush;flush.au courtesy flush;Geek;computer.au computer geek detected;Giggle;giggle.au haha;Glass1;Glass.au Breaks it;Glass2;breaking_glass.au Oh No!;Goofed;goofed.au OOPS!;Hallelujah!;hallelujah.au It's a miracle!;Knock;knock.au Knocks patiently;Gong;gong.au has gonged you;Laugh 1;laugh.au Laughs hysterically;Laugh 2;laughter.au You're KIDDING!;OHYEA!;ohyeah.au Woohoo!;Rasberry;Rasberry.au Excuse me;SciFi;sci_fi.au scifi;Snore;snore.au Snores;SubDive;sub_dive_horn.au Watch out!;SubPing;scoping.au Ping!;Swish;swish.au thinks that went over someone's head!;This just in;music.au NEWSFLASH! THIS JUST IN....;Ting;join.au dropped something;Train;train.au hears a train coming...;Whee;whistle.au Whee!"); chat.appendChild(param);
param = document.createElement("param"); param.setAttribute("name","timestamp"); param.setAttribute("value","true"); chat.appendChild(param);
param = document.createElement("param"); param.setAttribute("name","playsounds"); param.setAttribute("value","true"); chat.appendChild(param);
param = document.createElement("param"); param.setAttribute("name","showsendbutton"); param.setAttribute("value","true"); chat.appendChild(param);
param = document.createElement("param"); param.setAttribute("name","listtime"); param.setAttribute("value","0"); chat.appendChild(param);
param = document.createElement("param"); param.setAttribute("name","guicolors1"); param.setAttribute("value","youColor=880000;operColor=004488;voicecolor=000000;userscolor=000000"); chat.appendChild(param);
param = document.createElement("param"); param.setAttribute("name","guicolors2"); param.setAttribute("value","inputcolor=dddddd;inputtextColor=000000;sessioncolor=ffffff;systemcolor=aaaaaa"); chat.appendChild(param);
param = document.createElement("param"); param.setAttribute("name","guicolors3"); param.setAttribute("value","titleColor=888888;titletextColor=ffffff;sessiontextColor=000000"); chat.appendChild(param);
param = document.createElement("param"); param.setAttribute("name","guicolors4"); param.setAttribute("value","joinColor=228b22;partColor=228b22;talkcolor=000000"); chat.appendChild(param);
param = document.createElement("param"); param.setAttribute("name","nick"); param.setAttribute("value",""); chat.appendChild(param);
param = document.createElement("param"); param.setAttribute("name","passprompt"); param.setAttribute("value","Passwort (registrierte Nicknames)"); chat.appendChild(param);
findchat.appendChild(chat);
}
addOnloadHook(addChat);
/* END QuestPassages
// ============================================================
== [[CompleteMap]] ==
// BEGIN import code used by [[CompleteMap]]
// SEE ALSO [[MediaWiki:CompleteMap.js]] */
document.write('<script type="text/javascript" src="/index.php?title=MediaWiki:CompleteMap.js&action=raw&ctype=text/javascript&dontcountme=s"></script>');
document.write('<script type="text/javascript" src="/index.php?title=MediaWiki:Autorouter.js&action=raw&ctype=text/javascript&dontcountme=s"></script>');
/* END import code used by [[CompleteMap]]
// ============================================================
== Google Analytics ==
// BEING Tracking Code für [[wikipedia:de:Google Analytics|Google Analytics]] /*
// document.write('<script src="http://www.google-analytics.com/urchin.js" type="text/javascript"></script>');
// document.write('<script type="text/javascript">_uacct = "UA-466631-1"; urchinTracker();</script>');
/* END Google Analytics
// ============================================================
== Charakterfähigkeitsrechner ==
// BEGIN import code used by user skill pages
// SEE ALSO [[:Kategorie:Charakterfähigkeiten]] */
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
// ============================================================
== Snow ==
*/
/*
////////////////////////////////////////////////////////////////////////
// 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 */
// ============================================================
== Sitenotice ==
/* Hides the "please log in to edit..." message for users wich are logged in */
addOnloadHook(function () {if (wgUserName!="") document.getElementById("sitenotice-login").style.display = "none";});
// END OF FILE */