MediaWiki:Common.js/SnowEffect

/*

/******************************************
 * Snow Effect Script- By Altan d.o.o. (http://www.altan.hr/snow/index.html)
 * Visit Dynamic Drive DHTML code library (http://www.dynamicdrive.com/) for full source code
 * Last updated Nov 9th, 05' by DD. This notice must stay intact for use

//Configure below to change URL path to the snow image var snowsrc=new Array(8) snowsrc[0]="http://images2.wikia.nocookie.net/gw/images/b/bb/Snowflake1.png"; snowsrc[1]="http://images3.wikia.nocookie.net/gw/images/f/f1/Snowflake2.png"; snowsrc[2]="http://images4.wikia.nocookie.net/gw/images/b/b2/Snowflake3.png"; snowsrc[3]="http://images4.wikia.nocookie.net/gw/images/d/dd/Snowflake4.png"; snowsrc[4]="http://images3.wikia.nocookie.net/gw/images/7/7f/Snowflake5.png"; snowsrc[5]="http://images3.wikia.nocookie.net/gw/images/a/a7/Snowflake6.png"; snowsrc[6]="http://images1.wikia.nocookie.net/gw/images/9/92/Snowflake7.png"; snowsrc[7]="http://images1.wikia.nocookie.net/gw/images/3/3f/Snowflake8.png"; // Configure below to change number of snow to render var no = 10; // Configure whether snow should disappear after x seconds (0=never): var hidesnowtime = 0; // Configure how much snow should drop down before fading ("windowheight" or "pageheight") var snowdistance = (wgPageName == "Main_Page/editcopy")?"windowheight":"pageheight";

// Ensures variables are declared but undefined, unless user sets them in their .js var noSnow; var userSnowNum;

///////////Stop Config//////////////////////////////////

var ie4up = (document.all) ? 1 : 0; var ns6up = (document.getElementById&&!document.all) ? 1 : 0;

function iecompattest{ return (document.compatMode && document.compatMode!="BackCompat")? document.documentElement : document.body }

var dx, xp, yp; // coordinate and position variables var am, stx, sty; // amplitude and step variables var i, doc_width = 800, doc_height = 600;

if (ns6up) { doc_width = self.innerWidth - 40; doc_height = self.innerHeight; } else if (ie4up) { doc_width = iecompattest.clientWidth - 40; doc_height = iecompattest.clientHeight; }

dx = new Array; xp = new Array; yp = new Array; am = new Array; stx = new Array; sty = new Array; id = new Array; for (i = 0; i < no; ++ i) { dx[i] = 0; // set coordinate variables xp[i] = Math.random*(doc_width-50); // set position variables yp[i] = Math.random*doc_height; am[i] = Math.random*20; // set amplitude variables stx[i] = 0.02 + Math.random/10; // set step variables sty[i] = 0.7 + Math.random; // set step variables id[i] = Math.floor(Math.random*8); // set image id	if (ie4up||ns6up) { document.write("<\/div>"); } }

function snowIE_NS6 { // IE and NS6 main animation function if (typeof(noSnow) != "undefined" && noSnow > 0) { for (i=0; i<no; i++) document.getElementById("dot"+i).style.visibility="hidden" } else { if (typeof(userSnowNum) != "undefined" && userSnowNum < no) { for (i=userSnowNum; i<no; i++) document.getElementById("dot"+i).style.visibility="hidden"; no = userSnowNum; }	doc_width = ns6up?window.innerWidth-10 : iecompattest.clientWidth-10; doc_height=(window.innerHeight && snowdistance=="windowheight")? window.innerHeight : (ie4up && snowdistance=="windowheight")? iecompattest.clientHeight : (ie4up && !window.opera && snowdistance=="pageheight")? iecompattest.scrollHeight : iecompattest.offsetHeight; for (i = 0; i < no; ++ i) { // iterate for every dot yp[i] += sty[i]; if (yp[i] > doc_height-50) { xp[i] = Math.random*(doc_width-am[i]-30); yp[i] = 0; stx[i] = 0.02 + Math.random/10; sty[i] = 0.7 + Math.random; id[i] = Math.floor(Math.random*8); }		dx[i] += stx[i]; document.getElementById("dot"+i).style.top=yp[i]+"px"; document.getElementById("dot"+i).style.left=xp[i] + am[i]*Math.sin(dx[i])+"px"; }	snowtimer=setTimeout("snowIE_NS6", 10); } }

function hidesnow{ if (window.snowtimer) clearTimeout(snowtimer) for (i=0; i0) setTimeout("hidesnow", hidesnowtime*1000) } /****************************************** /*
 * End Snow Effect Script