var snowmax=15  // Set the number of snowflakes (more than 30 - 40 not recommended)
var snowcolor=["#c4bbcc","#ccddFF","#ccd6DD"]
    // Set the colors for the snow. Add as many colors as you like
var snowtype=["Arial Black","Arial Narrow","Times","Comic Sans MS"]
    // Set the fonts, that create the snowflakes. Add as many fonts as you like
var snowletter=["<img src=/img/images/sneg.png>", "<img src=/img/images/sneg2.png>"];
    // Set the letter that creates your snowflake (recommended:*)
var sinkspeed=0.6   // Set the speed of sinking (recommended values range from 0.3 to 2)
var snowmaxsize=30  // Set the maximal-size of your snowflaxes
var snowminsize=12  // Set the minimal-size of your snowflaxes
    var snowsizerange=snowmaxsize-snowminsize
    // Set the snowing-zone
    // Set 1 for all-over-snowing, set 2 for left-side-snowing 
    // Set 3 for center-snowing, set 4 for right-side-snowing
var snowingleft=0.5 //левая граница присутствия снега
var snowingwidth=0.9    //ширина присутствия снега в окне
var opac=0.35       //непрозрачность снега (0.0-1.0), при 1.0 в 2 раза быстрее работает.
var stepTime=120    //шаг покадровой анимации (мсек). При менее 100 сильно нагружает процессор
var snow=new Array()
var marginbottom
var marginright
var timer2
var x_mv=new Array();   var crds=new Array();   var lftrght=new Array();
var browserinfos=navigator.userAgent 
d=document
var isOpera=self.opera  
var ie5=d.all&&d.getElementById&&!isOpera
var ns6=d.getElementById&&!d.all
var browserok=ie5||ns6||isOpera

var ii = 0;

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

function botRight()
{
    if(ie5||isOpera)
    {
      marginbottom=d.body.clientHeight;  
      marginright=d.body.clientWidth;
    }
    else
      if(ns6)
      {
        marginbottom=innerHeight; marginright=innerWidth;
      }
}

function checkPgDn()
{
 scrltop=ns6?pageYOffset:document.body.scrollTop;
}

function initsnow() 
{
  checkPgDn();if(ns6)setInterval("checkPgDn()",999);
  botRight();
  for (ii=0;ii<=snowmax;ii++)
  {
    crds[ii] = 0;                      
    lftrght[ii] = Math.random()*20;         
    x_mv[ii] = 0.03 + Math.random()/10;
    snow[ii]=d.getElementById("s"+ii)
    snow[ii].style.fontFamily=snowtype[randommaker(snowtype.length)]
    snow[ii].style.fontSize=snow[ii].size=randommaker(snowsizerange)+snowminsize
    snow[ii].style.color=snowcolor[randommaker(snowcolor.length)]
    snow[ii].sink=sinkspeed*snow[ii].size/5
    newPosSnow(randommaker(marginbottom-3*snow[ii].size));
  }
  movesnow();
}

function newPosSnow(y)
{
  var o;
  snow[ii].posx=randommaker(marginright*snowingwidth-2*snow[ii].size)+marginright*snowingleft
  snow[ii].posy=y+(ns6?pageYOffset:d.body.scrollTop);
  snow[ii].size=randommaker(snowsizerange)+snowminsize;
  if(snow[ii].hasChildNodes()&&(o=snow[ii].childNodes[0]).tagName=='IMG') o.width=o.height=randommaker(snowsizerange/1.6)+snowminsize;
}

function movesnow() 
{
  for (ii=0;ii<=snowmax;ii++) 
  {
    snow[ii].style.top=Math.round(snow[ii].posy+=snow[ii].sink+lftrght[ii]*Math.sin(crds[ii])/3) + 'px';
    crds[ii] += x_mv[ii];
    snow[ii].style.left=Math.round(snow[ii].posx+lftrght[ii]*Math.sin(crds[ii])) + 'px';
    if(snow[ii].posy>=marginbottom-3*snow[ii].size+scrltop || parseInt(snow[ii].style.left)>(marginright-3*lftrght[ii]))newPosSnow(0);
  }
  timer2=setTimeout("movesnow()",stepTime)
}


for (ii=0;ii<=snowmax;ii++)
{
  d.write("<span id='s"+ii+"' style='position:absolute;"+(opac<1?"-moz-opacity:"+opac+";filter:alpha(opacity="+(opac*100)+")":"")+";top:-"+snowmaxsize+"'>"
    +snowletter[Math.floor(snowletter.length*Math.random())]+"</span>")
}


window.onload=function(){  if(browserok)setTimeout("initsnow()",1000);}
window.onmousewheel = onscroll = function(){checkPgDn()}
window.onresize = function(){botRight();}


