/******************************************
* Snow Effect Script- By Altan d.o.o. (http://www.altan.hr/snow/index.html)
* Visit Dynamic Drive DHTML code library (http://www.dynamicdrive.com/) for full source code
* Last updated Nov 9th, 05' by DD. This notice must stay intact for use
******************************************/

var ie4up=document.all?1:0;
var ns6up=document.getElementById&&!document.all?1:0;

var imgdir="../images/";
var snowsrc=["snow.gif","snow1.gif","snow2.gif"]; // Вид снежинки 
var no=10; // Количество снежинок
var hidesnowtime=0; // Сколько секунд снежинкам быть на экране? (0=все время)
var snowdistance="pageheight"; // Как долго снежинка падает перед таянием ("windowheight"/"pageheight")

function iecompattest() { return document.compatMode&&document.compatMode!="BackCompat"?document.documentElement:document.body; }

var dx, xp, yp;    // координаты и позиция 
var am, stx, sty;  // амплитуда и шаг
var i, doc_width=800, doc_height=600; 
var zindex;
  
function snowIE_NS6() {  // IE and NS6 main animation function
  doc_width = ns6up?window.innerWidth-10:iecompattest().clientWidth-10;
  doc_height = window.innerHeight&&snowdistance=="windowheight"?window.innerHeight:(ie4up&&snowdistance=="windowheight"?iecompattest().clientHeight:(ie4up&&!window.opera&&snowdistance=="pageheight"?iecompattest().scrollHeight:iecompattest().offsetHeight));

  for (i = 0; i < no; ++ i) {
    yp[i] += sty[i];
    if (yp[i] > doc_height-50) {
      xp[i] = Math.random()*(doc_width-am[i]-30);
      yp[i] = 0;
      stx[i] = 0.02+Math.random()/10;
      sty[i] = 0.7+Math.random();
    }
    dx[i] += stx[i];
    document.getElementById("dot"+i).style.top = yp[i]+"px";
    document.getElementById("dot"+i).style.left = xp[i]+am[i]*Math.sin(dx[i])+"px";  
  }
  snowtimer = setTimeout("snowIE_NS6()", 50);
}

function hidesnow() {
  if (window.snowtimer) clearTimeout(snowtimer);
  for (i=0; i<no; i++) document.getElementById("dot"+i).style.visibility = "hidden";
}

function snowfall() {
  var today = new Date();
  var thisyear = today.getFullYear()
  var dec25 = new Date("dec,25,"+thisyear+",00:00:00");
  var jan14 = new Date("jan,14,"+thisyear+",00:00:00");
  
  if (ns6up) { doc_width = self.innerWidth; doc_height = self.innerHeight; } 
  else if (ie4up) {
    doc_width = iecompattest().clientWidth;
    doc_height = iecompattest().clientHeight;
  }
  
  dx = new Array(); xp = new Array(); yp = new Array();
  am = new Array(); stx = new Array(); sty = new Array();
  
  if (today >= dec25 || today < jan14) {
    if (ie4up || ns6up){
      for (i = 0; i < no; ++i) {  
        dx[i] = 0;
        xp[i] = Math.random()*(doc_width-50); yp[i] = Math.random()*doc_height;
        am[i] = Math.random()*20;
        stx[i] = 0.02+Math.random()/10; sty[i] = 0.7+Math.random();
  
        zindex = i+5;
        snow_src = imgdir+snowsrc[Math.floor(Math.random()*3)];
        document.write("<div class=\"snowdot\" style=\"z-index: "+zindex+"\" id=\"dot"+i+"\"><img src='"+snow_src+"' border=\"0\"><\/div>");
      }
      snowIE_NS6();
      if (hidesnowtime > 0) setTimeout("hidesnow()",hidesnowtime*1000);
    }
  }
}

