var oAnimate    = null;

var nWidth      = 0;
var nHeight     = 0;
var nFSize      = 0;
var nCount      = 0;
var nMaxSpeed   = 0;
var strFlakeURL = "";

// --

var aoFlakes    = new Array(nCount);

// --

function UpdateFlakePos(nNum)
{
    var oImg = aoFlakes[nNum];
    oImg.style.top = oImg.m_nY.toString(10) + "px";
    oImg.style.left = oImg.m_nX.toString(10) + "px";
}

function ResetFlake(nNum, bRandY)
{
    var oImg = aoFlakes[nNum];

    oImg.m_nX           = Math.ceil(Math.random() * nWidth);
    oImg.m_nY           = bRandY ? Math.ceil(Math.random() * nHeight) : -nFSize;
    oImg.m_nSpeed       = Math.ceil(Math.random() * nMaxSpeed) + 1;
}

function OnTimer()
{
    for(var i = 0; i < nCount; i++)
    {
        var oImg = aoFlakes[i];

        oImg.m_nX += Math.ceil(Math.random() * 3 - 2);
        oImg.m_nY += oImg.m_nSpeed;

        if(oImg.m_nY > nHeight)
            ResetFlake(i, false);

        UpdateFlakePos(i);
    }
}

// --

function startSnowing() {

	oAnimate    = document.getElementById("ID_ANIMATE");
	nWidth      = oAnimate.offsetWidth;
	nHeight     = oAnimate.offsetHeight;
	nFSize      = 9;
	nCount      = 30;
	nMaxSpeed   = 4;
	strFlakeURL = "/images/snow/snowflake.gif";
	
	for(var i = 0; i < nCount; i++)
	{
		var oImg = document.createElement("IMG");

		oImg.src = strFlakeURL;
		oAnimate.appendChild(oImg);

		aoFlakes[i] = oImg;

		ResetFlake(i, true);
		UpdateFlakePos(i);
	}

	window.setInterval(OnTimer, 50);
}