 //-----------------------------------------------------------------------------------------
 // Описание переменных
 //-----------------------------------------------------------------------------------------
 var dx, xp, yp;
 var am, stx, sty;
 var i, imh;
 var doc_width, doc_height;
 var xScroll, yScroll, windowWidth, windowHeight, pageHeight, pageWidth;
 var CountGetWindowsSize = 0;

 var dx = new Array();
 var xp = new Array();
 var yp = new Array();
 var am = new Array();
 var stx = new Array();
 var sty = new Array();

 var myDate= new Date;
 var curMonth= myDate.getMonth ();

 var SnowFlake = new Array();
 var Gift = new Array();
 var SnowFlakeTotal = 0;
 var GiftTotal = 0;
 //-----------------------------------------------------------------------------------------
 // Настройки сприпта
 //-----------------------------------------------------------------------------------------
 var no = 50; // количество снежинок
 var speed = 50; // скорость движения
 SnowFlake[SnowFlakeTotal] = "http://kendokhv.ru/JS/FallOfSnow/SnowFlake/Snow_1.png"; SnowFlakeTotal++ ; //адрес рисунка снежинки
 SnowFlake[SnowFlakeTotal] = "http://kendokhv.ru/JS/FallOfSnow/SnowFlake/Snow_2.png"; SnowFlakeTotal++; //адрес рисунка снежинки
 SnowFlake[SnowFlakeTotal] = "http://kendokhv.ru/JS/FallOfSnow/SnowFlake/Snow_3.png"; SnowFlakeTotal++; //адрес рисунка снежинки
 SnowFlake[SnowFlakeTotal] = "http://kendokhv.ru/JS/FallOfSnow/SnowFlake/Snow_4.png"; SnowFlakeTotal++; //адрес рисунка снежинки
 SnowFlake[SnowFlakeTotal] = "http://kendokhv.ru/JS/FallOfSnow/SnowFlake/Snow_5.gif"; SnowFlakeTotal++; //адрес рисунка снежинки
 SnowFlake[SnowFlakeTotal] = "http://kendokhv.ru/JS/FallOfSnow/SnowFlake/Snow_6.gif"; SnowFlakeTotal++; //адрес рисунка снежинки

 Gift[GiftTotal] = "http://kendokhv.ru/JS/FallOfSnow/Gift/Gift_1.png"; GiftTotal++; //адрес рисунка подарка
 Gift[GiftTotal] = "http://kendokhv.ru/JS/FallOfSnow/Gift/Gift_2.png"; GiftTotal++; //адрес рисунка подарка
 Gift[GiftTotal] = "http://kendokhv.ru/JS/FallOfSnow/Gift/Gift_3.png"; GiftTotal++; //адрес рисунка подарка
 Gift[GiftTotal] = "http://kendokhv.ru/JS/FallOfSnow/Gift/Gift_4.png"; GiftTotal++; //адрес рисунка подарка
 Gift[GiftTotal] = "http://kendokhv.ru/JS/FallOfSnow/Gift/Gift_5.png"; GiftTotal++; //адрес рисунка подарка
 Gift[GiftTotal] = "http://kendokhv.ru/JS/FallOfSnow/Gift/Gift_6.png"; GiftTotal++; //адрес рисунка подарка
 Gift[GiftTotal] = "http://kendokhv.ru/JS/FallOfSnow/Gift/Gift_7.png"; GiftTotal++; //адрес рисунка подарка
 Gift[GiftTotal] = "http://kendokhv.ru/JS/FallOfSnow/Gift/Gift_8.png"; GiftTotal++; //адрес рисунка подарка
 Gift[GiftTotal] = "http://kendokhv.ru/JS/FallOfSnow/Gift/Gift_9.png"; GiftTotal++; //адрес рисунка подарка
 Gift[GiftTotal] = "http://kendokhv.ru/JS/FallOfSnow/Gift/Gift_10.png"; GiftTotal++; //адрес рисунка подарка
 Gift[GiftTotal] = "http://kendokhv.ru/JS/FallOfSnow/Gift/Gift_11.png"; GiftTotal++; //адрес рисунка подарка
 Gift[GiftTotal] = "http://kendokhv.ru/JS/FallOfSnow/Gift/Gift_12.png"; GiftTotal++; //адрес рисунка подарка
 Gift[GiftTotal] = "http://kendokhv.ru/JS/FallOfSnow/Gift/Gift_13.png"; GiftTotal++; //адрес рисунка подарка
 Gift[GiftTotal] = "http://kendokhv.ru/JS/FallOfSnow/Gift/Gift_14.png"; GiftTotal++; //адрес рисунка подарка
 Gift[GiftTotal] = "http://kendokhv.ru/JS/FallOfSnow/Gift/Gift_15.png"; GiftTotal++; //адрес рисунка подарка
 Gift[GiftTotal] = "http://kendokhv.ru/JS/FallOfSnow/Gift/Gift_16.png"; GiftTotal++; //адрес рисунка подарка
 Gift[GiftTotal] = "http://kendokhv.ru/JS/FallOfSnow/Gift/Gift_17.png"; GiftTotal++; //адрес рисунка подарка
 Gift[GiftTotal] = "http://kendokhv.ru/JS/FallOfSnow/Gift/Gift_18.png"; GiftTotal++; //адрес рисунка подарка
 Gift[GiftTotal] = "http://kendokhv.ru/JS/FallOfSnow/Gift/Gift_19.png"; GiftTotal++; //адрес рисунка подарка
 Gift[GiftTotal] = "http://kendokhv.ru/JS/FallOfSnow/Gift/Gift_20.png"; GiftTotal++; //адрес рисунка подарка
 Gift[GiftTotal] = "http://kendokhv.ru/JS/FallOfSnow/Gift/Gift_21.png"; GiftTotal++; //адрес рисунка подарка
 Gift[GiftTotal] = "http://kendokhv.ru/JS/FallOfSnow/Gift/Gift_22.png"; GiftTotal++; //адрес рисунка подарка
 Gift[GiftTotal] = "http://kendokhv.ru/JS/FallOfSnow/Gift/Gift_23.png"; GiftTotal++; //адрес рисунка подарка
 Gift[GiftTotal] = "http://kendokhv.ru/JS/FallOfSnow/Gift/Gift_24.png"; GiftTotal++; //адрес рисунка подарка
 Gift[GiftTotal] = "http://kendokhv.ru/JS/FallOfSnow/Gift/Gift_25.png"; GiftTotal++; //адрес рисунка подарка

 //-----------------------------------------------------------------------------------------

 if (curMonth=="0" || curMonth=="11")
 {
	 // Добавление снежинок
	 for (i = 0; i < no; ++ i)
     {
		 document.write("<div id='dot" + i + "' style='position:absolute; z-index:999'></div>");
     };
	 setTimeout("SnowInit()", 1000);
 };

 //-----------------------------------------------------------------------------------------

 function SnowInit()
 {
	 //Получаем размеры окна
     GetWindowSize();
	 
	 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();
         PrintSnowFlake(i);

     };
	 SnowMove();
 };

 //-----------------------------------------------------------------------------------------

 function ChoiceSnowFlake()
 {
	 return SnowFlake[Math.round( Math.random() * (SnowFlakeTotal-1) )];
 };

 //-----------------------------------------------------------------------------------------

 function ChoiceGift()
 {
	 return Gift[Math.round( Math.random() * (GiftTotal-1) )];
 };

 //-----------------------------------------------------------------------------------------

 function SnowMove()
 {
	 //Перечитываем размеры страницы
	 CountGetWindowsSize++;
	 if (CountGetWindowsSize > 100)
	 {
		 GetWindowSize();
		 CountGetWindowsSize = 0;
     };
	
     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();
			 PrintSnowFlake(i);
         };
         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";
     };
     setTimeout("SnowMove()", speed);
 };

 //-----------------------------------------------------------------------------------------
 
 function PrintSnowFlake(dotN)
 {
	 imh = 10 + Math.random()*5;
	 if (dotN < 5)
	 {
		 document.getElementById("dot"+i).innerHTML = "<img height="+ imh +" width="+ imh +" src='" + ChoiceSnowFlake() + "' border=0 onClick=ShowGift(\"dot" + i + "\")>";
	 }
	 else
	 {
		 document.getElementById("dot"+i).innerHTML = "<img height="+ imh +" width="+ imh +" src='" + ChoiceSnowFlake() + "' border=0>";
	 };
 };

 //-----------------------------------------------------------------------------------------
 
 function  ShowGift(DotN)
 {
	 document.getElementById(DotN).innerHTML = "<img src='" + ChoiceGift() + "' border=0>";
 };

 //-----------------------------------------------------------------------------------------
 
 function GetWindowSize()
 {
	 if (window.innerHeight && window.scrollMaxY) {
		 xScroll = document.body.scrollWidth;
		 yScroll = window.innerHeight + window.scrollMaxY;
     } else if (document.body.scrollHeight > document.body.offsetHeight){ // all but Explorer Mac
	     xScroll = document.body.scrollWidth;
         yScroll = document.body.scrollHeight;
     } else if (document.documentElement && document.documentElement.scrollHeight > document.documentElement.offsetHeight){ // Explorer 6 strict mode
         xScroll = document.documentElement.scrollWidth;
         yScroll = document.documentElement.scrollHeight;
     } else { // Explorer Mac...would also work in Mozilla and Safari
         xScroll = document.body.offsetWidth;
         yScroll = document.body.offsetHeight;
     }

     if (self.innerHeight) { // all except Explorer
	     windowWidth = self.innerWidth;
         windowHeight = self.innerHeight;
     } else if (document.documentElement && document.documentElement.clientHeight) { // Explorer 6 Strict Mode
         windowWidth = document.documentElement.clientWidth;
         windowHeight = document.documentElement.clientHeight;
     } else if (document.body) { // other Explorers
         windowWidth = document.body.clientWidth;
         windowHeight = document.body.clientHeight;
     }

     // for small pages with total height less then height of the viewport
     if(yScroll < windowHeight){
         pageHeight = windowHeight;
     } else {
         pageHeight = yScroll;
     }

     // for small pages with total width less then width of the viewport
     if(xScroll < windowWidth){
         pageWidth = windowWidth;
     } else {
         pageWidth = xScroll;
     }

     doc_width = pageWidth;
     doc_height = pageHeight;
 };

 //-----------------------------------------------------------------------------------------







