﻿

//window.onload = function(){ initSnow(num)}


var SNOWDIFF = 2;
var SNOWALL = 20;
var DELIM = 1000;
function initSnow(num) {
    num = num || SNOWALL;
    for (var i = 0; i < num; i++) {
        var _obj = {};
        _obj.el = document.createElement("img");
        _obj.go = go;
        _obj.el.style.position = "absolute";
        _obj.el.style.zindex = "2000";
        _obj.name = Math.floor(rand(1, SNOWDIFF));
        _obj.el.src = "NewYearSnow/" + _obj.name + ".gif";
        _obj.el.style.left = rand(50, ww-100) + "px";
        _obj.el.style.top = "-30px";
        _obj.el.setAttribute("id", ("s" + i));
        _obj.id = ("s" + i);
        _obj.num = i;
        document.body.appendChild(_obj.el);
        _obj.go(); 
    }
}
function go() {
    if (this.name == 1) setTimeout("setInterval('move(\"" + this.id + "\")', 20)", this.num * DELIM);
    else setTimeout("setInterval('move(\"" + this.id + "\")', 50)", this.num * DELIM);
}
function rand(min, max) {
    return min + Math.floor(max - min + 1) * Math.random();
}
var wh = getWindowHeight() + getScrollOffsetY();
var ww = getWindowWidth();
function move(LayerN) {
    var obj;
    obj = document.getElementById(LayerN).style;
    var xpos = parseInt(obj.left);
    var ypos = parseInt(obj.top);
    xpos += rand(-2, 2);
    ypos += Math.random() * 3;
    if (!xpos || xpos < 0) xpos = 0;
    if (xpos >= ww-50) xpos = ww-50;
    if (!ypos || ypos > wh) ypos = 0;    
    obj.top = ypos +"px";
    obj.left = xpos +"px";
}

function getWindowHeight() {
    var _out; if (self.innerHeight) {
        _out = self.innerHeight;
    }
    else if (document.documentElement && document.documentElement.clientHeight) {
        _out = document.documentElement.clientHeight;
    }
    else if (document.body) { _out = document.body.clientHeight; }
    return _out;
}
function getWindowWidth() {
    var _out;
    if (self.innerHeight) {
        _out = self.innerWidth;
    }
    else if (document.documentElement && document.documentElement.clientHeight) {
        _out = document.documentElement.clientWidth;
    }
    else if (document.body) {
        _out = document.body.clientWidth;
    }
    return _out;
}
function getScrollOffsetY() {
    var x, y;
    if (self.pageYOffset) // all except Explorer
    {
        x = self.pageXOffset;
        y = self.pageYOffset;
    }
    else if (document.documentElement && document.documentElement.scrollTop)
    // Explorer 6 Strict
    {
        x = document.documentElement.scrollLeft;
        y = document.documentElement.scrollTop;
    }
    else if (document.body) // all other Explorers
    {
        x = document.body.scrollLeft;
        y = document.body.scrollTop;
    }
    return y;
}

