var snow = new function(){
	this.count = mod_snow_count;
	this.left = -1;
	this.right = 1;
	this.flakes = [];
	this.init = function(){
		var i;
		for( i = 0; i < snow.count; i ++ ){
			setTimeout( snow.make, 500 * i );
		}
		setInterval( snow.iterate, 60 );
	}
	this.make = function(){
		var n = arguments.length > 1 ? arguments[1] : snow.flakes.length;
		var flake = document.createElement( "IMG" );
		flake.className = "snow";
		flake.src = "snow.gif";
		flake.style.left = parseInt( Math.random() * 100, 10 ) + "%";
		document.body.appendChild( flake );
		snow.flakes[ n ] = {
			object	: flake,
			align	: Math.random() > 0.5 ? snow.left : snow.right,
			angle	: 0
		}
	}
	this.iterate = function(){
		var i, flake;
		for( i = 0; i < snow.flakes.length; i ++ ){
			flake = snow.flakes[ i ];
			var pos = {
				y : flake.object.offsetTop,
				x : flake.object.offsetLeft,
				w : flake.object.offsetWidth,
				h : flake.object.offsetHeight
			};
			if( pos.x + pos.h < 0 || pos.x > screen.availWidth || pos.y > screen.availHeight ){
				document.body.removeChild( flake.object );
				snow.make( null, i );
				continue;
			}
			if( Math.random() < 0.01 ){
				flake.align = -flake.align;
				flake.angle = -flake.angle;
			}
			flake.object.style.left = pos.x + ( flake.angle / 90 ) * flake.align + "px";
			flake.object.style.top = pos.y + 6 + "px";
			flake.angle += 4;
		}
	}
};
if( '\v' != 'v' ){
	snow.init( );
}
else{
	attachEvent( 'onload', snow.init );
}
