var snow = new Array();
var captions = new Array();
var halt = 0;

captions[ 0]	= "happy 100000th post!";

var snowfnam	= new Array();
snowfnam[ 0]	= "/images/confetti/confetti_blue.png";
snowfnam[ 1]	= "/images/confetti/confetti_yellow.png";
snowfnam[ 2]    = "/images/confetti/confetti_green.png";
snowfnam[ 3]    = "/images/confetti/confetti_red.png";

var MaxFPS = 60;

function update_snow() {
	if (halt == 1) { return null; }
	var innerHeight = window.innerHeight;
	var innerWidth  = window.innerWidth;
	for (var i = 0; i < snow.length; i++) {
		var thisflake      = snow[i]; // local referencing.
		var _posy = thisflake.posy;
		var _posx = thisflake.posx;
		if ((_posy + 8) > innerHeight || (_posx + 8) > innerWidth || (_posx - 8) < 0) {
			_posy = 0;
			left = Math.random()*innerWidth;
			thisflake.style.left = left;
			_posx = left;
			thisflake.scrollfactor_x = Math.random()*-5;
			thisflake.scrollfactor_y = (Math.random()*15) + .5;
			if (Math.round(Math.random()*10) % 5 == 0) {
				thisflake.scrollfactor_x *= -1;
			}
		}
		_posy += thisflake.scrollfactor_y;
		_posx += thisflake.scrollfactor_x;
		thisflake.style.top = _posy;
		thisflake.style.left = _posx;
		thisflake.posy = _posy;
		thisflake.posx = _posx;
	}
}

function snow_halt() {
	halt = 1;
}

function snow_unhalt() {
	halt = 0;
}
function drawsnow() {
	var flakes = 25;
	
	var element = document.createElement("div");
	element.id = "snow_canvas";
	document.body.appendChild(element);
	for (var i = 0; i < flakes; i++) {
		var flakeimg = document.createElement("img");
		flakeimg.style.display = "block";
		flakeimg.style.position = "fixed";
		flakeimg.style.zIndex   = 1;
		pleft = Math.random()*window.innerWidth;
		ptop  = Math.random()*window.innerHeight;
		flakeimg.style.left = pleft + "px";
		flakeimg.style.top = ptop + "px";
		flakeimg.scrollfactor_x = (Math.random() * 2 - 1);
		flakeimg.scrollfactor_y = (Math.random()*10) + 1;
//		if (Math.round(Math.random()*10) % 5 == 0) {
//			flakeimg.scrollfactor_x *= -1;
//		}
		flakeimg.posx = pleft;
		flakeimg.posy = ptop;
		flakeimg.src = snowfnam[Math.round(Math.random()*3)];
		flakeimg.title	= captions[0];
		temp	= Math.round(Math.random() * 4 + 3);
		flakeimg.width	= temp;
		flakeimg.height	= temp;
		snow.push(flakeimg);
		element.appendChild(flakeimg);
	}
	setInterval(update_snow, 66);
}
window.addEventListener("load", function() {drawsnow();}, false);
window.addEventListener("blur", function() {snow_halt()}, false);
window.addEventListener("focus", function() {snow_unhalt()}, false);