/*extern document, window, rand, navigator, setTimeout*/



var snowmax     = 75;
var snowcolor   = ["#AAAACC", "#DDDDFF", "#CCCCDD", "#F3F3F3", "#F0FFFF"];
var snowtype    = ["Arial Black", "Arial Narrow", "Times", "Comic Sans MS"];
var snowletter  = "*";
var sinkspeed   = 0.25;
var snowmaxsize = 22;
var snowminsize = 8;

var snow = [];
var marginbottom = 252;
var marginright;
var spaceleftright;
var i;
var x_mv = [];
var crds = [];
var lftrght = [];
var browserinfos = navigator.userAgent;
var ie5 = document.all && document.getElementById && !browserinfos.match(/Opera/);
var ns6 = document.getElementById && !document.all;
var opera = browserinfos.match(/Opera/);
var browserok = ie5 || ns6 || opera;



function randommaker(range)
{
    rand = Math.floor(range * Math.random());
    return rand;
}



function movesnow()
{
    if (ie5 || opera)
    {
        spaceleftright = (document.body.clientWidth - 900) / 2;
    }
    else if (ns6)
    {
        spaceleftright = (window.innerWidth - 900) / 2;
    }
    snowsizerange = snowmaxsize - snowminsize;

    marginright = 940 + spaceleftright;

    for (i = 0; i <= snowmax; i++)
    {
        crds[i] += x_mv[i];
        snow[i].posy += snow[i].sink;
        snow[i].style.left = snow[i].posx + lftrght[i] * Math.sin(crds[i]) + "px";
        snow[i].style.top = snow[i].posy + "px";

        if (snow[i].posy >= marginbottom - 2 * snow[i].size || parseInt(snow[i].style.left, 10) > (marginright - 3 * lftrght[i] - 2 * snow[i].size))
        {
            snow[i].posx = spaceleftright + randommaker(marginright - snow[i].size);
            snow[i].posy = 85;
        }
    }
    
    var timer = setTimeout((function ()
    {
        movesnow();
    }), 50);
}




function initsnow()
{
    if (ie5 || opera)
    {
        spaceleftright = (document.body.clientWidth - 900) / 2;
    }
    else if (ns6)
    {
        spaceleftright = (window.innerWidth - 900) / 2;
    }
    var snowsizerange = snowmaxsize - snowminsize;
    
    marginright = 940 + spaceleftright;
    
    for (i = 0; i <= snowmax; i++)
    {
        crds[i] = 0;
        lftrght[i] = Math.random() * 15;
        x_mv[i] = 0.03 + Math.random() / 10;
        snow[i] = document.getElementById("s" + i);
        snow[i].style.fontFamily = snowtype[randommaker(snowtype.length)];
        snow[i].size = randommaker(snowsizerange) + snowminsize;
        snow[i].style.fontSize = snow[i].size;
        snow[i].style.color = snowcolor[randommaker(snowcolor.length)];
        snow[i].sink = sinkspeed * snow[i].size / 5;

        snow[i].posx = randommaker(marginright - snow[i].size);
        snow[i].posy = 85 + randommaker(2 * marginbottom - marginbottom - 2 * snow[i].size);
        snow[i].style.left = spaceleftright + snow[i].posx + "px";
        snow[i].style.top = snow[i].posy + "px";
    }
    
    movesnow();
}



for (i = 0; i <= snowmax; i++)
{
    document.write("<span class='snow' id='s" + i + "'style='position:absolute;top:-" + snowmaxsize + "'>" + snowletter + "</span>");
}



if (browserok)
{
    window.onload = initsnow;
}

