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

///////////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 - 20; doc_height = self.innerHeight; } else if (ie4up) { doc_width = iecompattest.clientWidth - 20; 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 }

function initiate_snow { try { if (noSnow == 1) { noSnow = 1; } } catch (e) { // if noSnow is undefined or not 1, start snow for (i = 0; i < no; ++ i) { if (ie4up||ns6up) { document.write("<\/div>"); }	}	snowtimer=setInterval("snowIE_NS6", 10); } }

function snowIE_NS6 { // IE and NS6 main animation function try { if (noSnow == 1) { noSnow = 1; } } catch (e) { // if noSnow is undefined or not 1, start snow 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); } // end catch(e) } // end function snowIE_NS6

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