var bV=parseInt(navigator.appVersion);
var timerID;
var vmin = 2;
var vmax = 5;
var vr = 2;
var kolvo;
var flakes = new Array(25);

function createLayer(name, left, top, width, height, visible, content) {
	var layer;
	document.writeln('<div id="' + name + '" style="position:absolute; left:' + left + 'px; top:' + top + 'px; width:' + width + 'px; height:' + height + 'px;' + ' visibility:' + (visible ? 'visible;' : 'hidden;') + '">');
	document.writeln(content);
	document.writeln('</div>');
}

function Flake(chipname, width, height) {
	this.name = chipname;
	this.w = width;
	this.h = height;
	this.vx = vmin + vmax * Math.random();
	this.x = 0;
	this.y = 0;
}

function startFlakes() {
	var i;
	getWindowSize();
	for (i = 0; i < kolvo; i++) {
		flakes[i].x = pageW * Math.random() + pageX;
		flakes[i].y = pageH * Math.random() + pageY;
		moveLayer(flakes[i].name, flakes[i].x, flakes[i].y);
		showLayer(flakes[i].name);
  	}
	buzz();
}

function buzz() {
	var i;
	for (i = 0; i < kolvo; i++) { moveFlake(i); }
	timerID = setTimeout("buzz()", 100);
}

function moveLayer(name, x, y) {
	var layer = getLayer(name);
	layer.left = x; layer.top  = y;
}

function showLayer(name) {
	var layer = getLayer(name);
	layer.visibility = "visible";
}

function getLayer(name) {
	layer = eval('document.all.' + name + '.style');
	return(layer);
}

function getWindowSize() {
	pageX=window.document.body.scrollLeft;
	pageW=window.document.body.offsetWidth - 25;
	pageY=window.document.body.scrollTop;
	pageH=window.document.body.offsetHeight - 20;
}
function moveFlake(i) {
	getWindowSize();
	flakes[i].x = flakes[i].x + flakes[i].vx;
	flakes[i].y = flakes[i].y + 5;
	flakes[i].vx += vr * (Math.random() - 0.5);
	if(flakes[i].vx > (vmax + vmin))  flakes[i].vx = (vmax + vmin) * 2 - flakes[i].vx;
	if(flakes[i].vx < (-vmax - vmin)) flakes[i].vx = (-vmax - vmin) * 2 - flakes[i].vx;
	if(flakes[i].x <= pageX) {
		flakes[i].x = pageX + pageW - flakes[i].w;
	}
	if(flakes[i].x >= pageX + pageW - flakes[i].w) {
		flakes[i].x = pageX;
	}
	if(flakes[i].y >= pageY + pageH - flakes[i].h) {
		flakes[i].y = pageY;
		flakes[i].x = pageW * Math.random() + pageX;
	}
	moveLayer(flakes[i].name, flakes[i].x, flakes[i].y);
}

function Show_Snow(num)
{
content = '';
kolvo=num;
createLayer('cnt', 0, 0, 24, 24, true, content);
for (var i = 0; i < kolvo; i++)
{
	n = i % 4;
	flakes[i] = new Flake('flake' + i, 24, 24);
	content = '<img src="/snow/flake' + n + '.gif">';
	createLayer(flakes[i].name, 0, 0, 24, 24, false, content);
}
startFlakes();
}

d = new Date();
if (d.getMonth() == 11 && d.getDate() > 15 || d.getMonth() == 0 && d.getDate() < 15) {
	Show_Snow(10);
}
