// Fall v1.4  By Maxx Blade - http://www.maxxblade.co.uk

var no=10, speed=30, slider=30, fallmax=5, gfx="snow.gif", picwid=25, pichei=28, d3on=1;

//////////////////////////////////////////////////////////////////
// Don't Edit Under Here Unless You Know What You're Doing ?;o) //
//////////////////////////////////////////////////////////////////
var pWidth = (document.layers) ? self.innerWidth : document.body.clientWidth;
var pHeight = (document.layers) ? self.innerHeight : document.body.clientHeight;
var divx = new Array();
var object=new Array();
object[0]=new Array();
function newobj(q){
	spin = parseInt(Math.random()*slider);
	if (Math.random()>0.5){
	spin = 0-spin;
	}
	object[q] = new Array(parseInt(Math.random()*(pWidth-slider)),-30,spin,0.02+Math.random()/10,parseInt(1+Math.random()*fallmax));

}
for (i = 0; i < no; i++) {  
	divx[i] = 0;
	newobj(i);
	if(document.layers){
		document.write('<layer name="gf'+i+'" left="0" top="0" visibility="show"><img src="'+gfx+'" border="0"></layer>');
	}else{
		document.write('<img src="'+gfx+'" border="0" id="gf'+i+'" style="POSITION: absolute; Z-INDEX: -'+i+'; VISIBILITY: visible; TOP: 0px; LEFT: 0px;">');
	}
}

function fall(){
 var cCos;	
	pWidth = (document.layers) ? self.innerWidth : document.body.clientWidth;
	//pHeight = (document.layers) ? self.innerHeight : document.body.clientHeight;
	pHeight = 320;
	for (i = 0; i < no; i++) {
		object[i][1] += object[i][4];
		if ((object[i][1] > pHeight-pichei)||(object[i][0] > pWidth-slider-picwid)) {
			newobj(i);
		}
		divx[i] += object[i][3];
		if(document.layers){
			document.layers["gf"+i].top = object[i][1];
			cCos = Math.cos(divx[i]);
			if (isNaN(cCos) || isNaN(object[i][2]))
			 cCos = 0
			else
			 cCos = object[i][2]*Math.cos(divx[i])
			document.layers["gf"+i].left = object[i][0]+cCos;
		}else{
			sizexy = (d3on==1) ? Math.sin(divx[i]) : 1;
			with(document.all["gf"+i].style){
				//pixelTop = object[i][1]+document.body.scrollTop;
				//pixelLeft = object[i][0]+object[i][2]*Math.cos(divx[i]);
				pixelTop = object[i][1];
				pixelLeft = object[i][0];
				zIndex = sizexy;
				width = parseInt(((picwid/3)*2)+((picwid/3)*sizexy));
				height = parseInt(((pichei/3)*2)+((pichei/3)*sizexy));
			}
		}
		object[i][0]+=0;  //prevailing wind
	}
	dofall = setTimeout("fall()", speed);
}


dofall = setTimeout("fall()", 65);
