//Snow - http://www.btinternet.com/~kurt.grigg/javascript

if  ((document.getElementById) && 
window.addEventListener || window.attachEvent){

(function(){

//Configure here.

var num = 50;   //Number of flakes
var timer = 30; //setTimeout speed. Varies on different comps
var enableinNS6 = 1 //Enable script in NS6/Mozilla? Snow animation could be slow in those browsers. (1=yes, 0=no).

//End.

var y = [];
var x = [];
var fall = [];
var theFlakes = [];
var sfs = [];
var step = [];
var currStep = [];
var h,w,r;
var d = document;
var pix = "px";
var w = 952;
var h = 85;
var idx = d.getElementsByTagName('div').length;

if (d.documentElement.style && 
typeof d.documentElement.style.MozOpacity == "string")
num = 20;

document.write('<div id="snow" style="position:absolute;top:35px;left:0px;width:952;height:85;">');
for (i = 0; i < num; i++) {
	sfs[i] = Math.round(1 + Math.random() * 4);

	document.write('<div id="flake'+(idx+i)+'" style="position:absolute; top:0px;left:0px;width:'+sfs[i]+'px;height:'+sfs[i]+'px;background-color:#ffffff;font-size:'+sfs[i]+'px"><\/div>');

	currStep[i] = 0;
	fall[i] = (sfs[i] == 1)?
	Math.round(2 + Math.random() * 2): Math.round(3 + Math.random() * 2);
	step[i] = (sfs[i] == 1)?0.05 + Math.random() * 0.1 : 0.05 + Math.random() * 0.05;
}
document.write('</div>');


function snow(){
	var dy,dx;

	for (i = 0; i < num; i++) {
		dy = fall[i];
		dx = fall[i] * Math.cos(currStep[i]);

		y[i]+=dy;
		x[i]+=dx; 

		if (x[i] >= w || y[i] >= h) {
			y[i] = -10;
			x[i] = Math.round(Math.random() * w);
			fall[i] = (sfs[i] == 1)?
			Math.round(2 + Math.random() * 2): Math.round(3 + Math.random() * 2);
			step[i] = (sfs[i] == 1)?0.05 + Math.random() * 0.1 : 0.05 + Math.random() * 0.05 ;
		}
		theFlakes[i].top = y[i] + pix;
		theFlakes[i].left = x[i] + pix;

		currStep[i]+=step[i];
	}
	setTimeout(snow,timer);
}


function init(){
	for (i = 0; i < num; i++) {
		theFlakes[i] = document.getElementById("flake"+(idx+i)).style;
		y[i] = Math.round(Math.random()*h);
		x[i] = Math.round(Math.random()*w);
	}
	snow();
}


if (window.addEventListener){
	window.addEventListener("load",init,false);
}  else if (window.attachEvent){
	window.attachEvent("onload",init);
} 

})();
}//End.

