$(function()
{
    function moveSnowflake(id, pos_x, pos_y, display)
    {
        $('#' + id).css({
            'left':     pos_x,
            'top':      pos_y,
            'display':  display
        });
    }

    function getMousePosX(event_pos_x)
    {
        return ($(document).width() < (event_pos_x + offset + $('#SF' + (arr_images.length - 1)).width())
                ? ($(document).width() - $('#SF' + (arr_images.length - 1)).width())
                : (event_pos_x + offset));
    }

    function getMousePosY(event_pos_y)
    {
        return ($(document).height() < (event_pos_y + offset * 2 + $('#SF' + (arr_images.length - 1)).height())
                ? ($(document).height() - $('#SF' + (arr_images.length - 1)).height() - offset)
                : (event_pos_y + offset));
    }

    var interval    = 0;
    var display     = 'none';
    var offset      = 5;
    var arr_images  = [
        ["/html/images/snowflakes/1.png", 13, 15],
        ["/html/images/snowflakes/2.png", 16, 19],
        ["/html/images/snowflakes/3.png", 19, 22],
        ["/html/images/snowflakes/4.png", 22, 26],
        ["/html/images/snowflakes/5.png", 25, 29],
        ["/html/images/snowflakes/6.png", 28, 33]
    ];

    $(document).mousemove(function(event)
    {
        moveSnowflake('SF' + (arr_images.length - 1), getMousePosX(event.pageX), getMousePosY(event.pageY), display);
    });

    $(document).hover(
        function(event)
        {
           display = 'block';

            for (var i = 0; i < arr_images.length; i++) {
                moveSnowflake('SF' + i, getMousePosX(event.pageX), getMousePosY(event.pageY), 'none');
            }

            interval = setInterval(function()
            {
                for (var i = 0; i < arr_images.length; i++) {
                    moveSnowflake('SF' + i, $('#SF' + (i + 1)).css('left'), $('#SF' + (i + 1)).css('top'), display);
                }

                if (display == 'none') {
                    clearInterval(interval);
                }
            },
            50);
        },
        function()
        {
            display = 'none';
        }
    );

    for (var i = 0; i < arr_images.length; i++) {
        $('body').append('<div id="SF' + i + '" style="display: none; position: absolute; left: 0px; top: 0px; width: ' + arr_images[i][1] + 'px; height:' + arr_images[i][2] + 'px; z-index: 100">'
                        + '<img src="' + arr_images[i][0] + '" width="' + arr_images[i][1] + '" height="' + arr_images[i][2] + '" border="0" alt="" />'
                        + '</div>');
    }

});
