// =================================================================================================
// ============================================ снежинге ==============================================
// =================================================================================================

function wWidth() {
	return parseInt(d.documentElement.clientWidth||document.body.clientWidth);
}
function randW() { // случайная позиция по ширине браузера
	return (wWidth() - 50)*Math.random();
}
function posObj(obj, left, top) {
	topObj(obj, top);
	leftObj(obj, left);
}
function topObj(obj, top) {
	to[s] = top;
	obj.style.top = top + pix; 
	obj.style.posTop = top; // fix for IE.old
}
function leftObj(obj, left) {
	le[s] = left;
	obj.style.left = left + pix; 
	obj.style.posLeft = left; // fix for IE.old
}
function addTop(obj, add) {
	to[s] = getTop(obj) + add;
	obj.style.top = to[s] + pix; 
	obj.style.posTop = to[s]; // fix for IE.old
}
function addLeft(obj, add) {
	le[s] = getLeft(obj);
	if (le[s] < wW) {
		le[s] += add;
		obj.style.left = le[s] + pix; 
		obj.style.posLeft = le[s]; // fix for IE.old
	}
}
function getLeft(obj) {
	if (obj.style.left) return parseInt(obj.style.left);
	else return obj.style.posLeft;
}
function getTop(obj) {
	if (obj.style.top) return parseInt(obj.style.top);
	else return obj.style.posTop;
}
function sfall(obj) { // падение снежинге, vel — скорость в пикселях
	vel = Math.floor(ve[s]);
	if (to[s] < 600) {
		addTop(obj, vel);
		addLeft(obj, 10*Math.random() - 5 + wind);
		}
	else {
		posObj(obj, randW(), 0);
		op[s] = 1;
		sfilt(obj, 1);
	}
	if (to[s] > 400)	smelt(obj);
}
function smelt(obj) {
	op[s] -= 0.1;
	sfilt(obj, op[s]);
}
function sfilt(obj, opa) { // opa - нормализованная к 1 прозрачность (т.е. значения от 0 до 1)
	if (opa < 0) opa = 0;
	obj.innerHTML = '<img src="/dizajn/snejlo.gif" width="'+wi[s]+'" height="'+he[s]+'" style=" filter:progid:DXImageTransform.Microsoft.Alpha(opacity=' + 100*opa +'); opacity: '+opa+'; -khtml-opacity: '+opa+'; -moz-opacity: '+opa+';" />';
}

var d = document;
var s=0;
var snow = [];
var op = [];
var ve = [];
var to = [];
var le = [];
var wi = [];
var he = [];
var wind = 0;
var wtime = 0;
var wW = wWidth();
var pix = "px";

d.write('<div id="snow"><div>');
for (s = 0; s<15; s++) {
	ssize = Math.floor(15*Math.random() + 8);
	to[s] = 0; le[s] = randW();
	wi[s] = he[s] = ssize;
	d.write('<div id="flake'+s+'" style="top:0px; left:'+le[s]+'px; width:'+ssize+'px; height:'+ssize+'px;"><img src="/dizajn/snejlo.gif" width="'+ssize+'" height="'+ssize+'"></div>');
	snow[s] = d.getElementById("flake" + s);
	op[s] = 1; // прозрачность
	ve[s] = 5*Math.random() + 5;
}
d.write('</div></div>');
slay = d.getElementById("snow");
slayst = slay.style;
slayst.visibility = 'visible';

function snowfall() {
	
	for (s = 0; s<15; s++) {
		sfall(snow[s]);
		//smelt(snow[s]);		
	}
	if (wtime++ == 10) {
		wind = Math.floor(wind + 4*Math.random() - 2);
		if (wind > 15 || wind < -15) wind = -5*(wind/Math.abs(wind));
		wtime = 0;
	}
	topObj(slay, d.documentElement.scrollTop);
	setTimeout(snowfall,100);
}
snowfall();
