
function Happy_New_Year()
{
  var ins = document.getElementById('insert');

  var now = new Date();
  var futyear = now.getYear() + 1900 + 1;

  if(navigator.appName == "Microsoft Internet Explorer")
  {
    futyear = now.getYear() + 1;
  }

    // узнаем кол-во миллисекунд с 01.01.1970 г. до сегодняшнего момента
  var cng = now.getTime();

    // задаем дату ( по типу (год, месяц(по порядку минус 1), число месяца, час,
    // минута, секунда, миллисекунда),  до которой требуется определить интервал времени
  var future = new Date(futyear,00,01,00,00,00,001);

    // узнаем кол-во миллисекунд с 01.01.1970 г. по заданную дату
  var inv = future.getTime();

    // узнаем сколько миллесекунд осталось с текущего момента до заданной даты
  var interval = inv - cng;

    // узнаем сколько дней в интервале с сегодняшней по заданную дату
    // и округляем в меньшую сторону до целого
  var qd = Math.floor(interval/86400000);

    // узнаем сколько часов в интервале, за исключением сосчитанных
    // дней, и округляем в меньшую сторону до целого
  var qh = Math.floor(interval/3600000-(qd*24));

    // узнаем сколько минут в интервале, за исключением сосчитанных
    // дней и часов, и округляем в меньшую сторону до целого
  var qm = Math.floor(interval/60000-((qh*60)+(qd*1440)));

    // узнаем сколько секунд в интервале, за исключением дней, часов и минут,
    // и округляем в меньшую сторону до целого
  var qs = Math.floor(interval/1000-((qm*60)+(qh*3600)+(qd*86400)));

    // переводим кол-во дней, часов, минут и секунд в строковые значения
  var ss = String(qs);
  var mm = String(qm);
  var hh = String(qh);
  var dd = String(qd);

  if ( (dd == 0) && (hh == 0) && (mm == 0) && (ss == 0))
  {
    insert.innerHTML = "<font color='red' size='14pt'>С Новым "+futyear+
    " годом!</font>" ; setTimeout( "Happy_New_Year()",60000);
  }

  else
  {

    if (ss.length == 1)
    {
      ss = "0"+ss;
    }

      // узнаем последнюю цифру в кол-ве секунд
    var last_sec = ss.charAt(1);

      // узнаем предпоследнюю цифру в кол-ве секунд
    var lbo_sec = ss.charAt(0);


    if ( lbo_sec == "1" )
    {
      wrSec = " секунд &nbsp;&nbsp;";
    }

    else
    {
      switch (last_sec)
      {
        case "1" : wrSec = " секунда";  break;
        case "2" : wrSec = " секунды";  break;
        case "3" : wrSec = " секунды";  break;
        case "4" : wrSec = " секунды";  break;
        default  : wrSec = " секунд";
      }
    }

    if (mm.length == 1)
    {
      mm = "0"+mm;
    }

    var last_min = mm.charAt(1);
    var lbo_min = mm.charAt(0);

    if ( lbo_min == "1" )
    {
      wrMin = " минут";
    }
    else
    {
      switch (last_min)
      {
        case "1" : wrMin = " минута";   break;
        case "2" : wrMin = " минуты";   break;
        case "3" : wrMin = " минуты";   break;
        case "4" : wrMin = " минуты";   break;
        default  : wrMin = " минут";
      }
    }

    if (hh.length == 1)
    {
      hh = "0"+hh;
    }

    var last_hour = hh.charAt(hh.length - 1);
    var lbo_hour = hh.charAt(hh.length - 2);
    if ( lbo_hour == "1" )
    {
      wrHour = " часов";
    }
    else
    {
      switch (last_hour)
      {
        case "1" : wrHour = " час";   break;
        case "2" : wrHour = " часа";  break;
        case "3" : wrHour = " часа";  break;
        case "4" : wrHour = " часа";  break;
        default  : wrHour = " часов";
      }
    }

    if (dd.length == 1)
    {
      dd = "&nbsp;&nbsp;&nbsp;&nbsp;"+dd ;
    }

      // с днями - все то-же самое, что и с секундами,
      // только цифр может быть на разряд больше
    if (dd.length == 2)
    {
      dd = "&nbsp;&nbsp;"+dd;
    }

    var last_day = dd.charAt(dd.length - 1);
    var lbo_day = dd.charAt(dd.length - 2);
    if ( lbo_day == "1" )
    {
      wrDay = " дней";
    }
    else
    {
      switch (last_day)
      {
        case "1" : wrDay = " день";   break;
        case "2" : wrDay = " дня";    break;
        case "3" : wrDay = " дня";    break;
        case "4" : wrDay = " дня";    break;
        default  : wrDay = " дней";
      }
    }

    /* insert.innerHTML ="<h3>До <br /> Нового года <br /> осталось:</h3>" +
       "<table border=0; class='HNY' ><tr><td width=90> " + dd + " " + wrDay +
       "</td><td width=85> " + hh + " " + wrHour + "</td><br /><td width=95> " + mm +
       " " + wrMin + "</td><td width=110> " + ss + " " + wrSec + "</td></tr></table>";
    */

     ins.innerHTML =
     "До Нового года <br /> осталось: <br />"
                + dd + " " + wrDay + 
      "<br />"  + hh + " " + wrHour +
      "<br />"  + mm + " " + wrMin + 
      "<br />"  + ss + " " + wrSec ;
     
     /*
     ins.innerHTML = "До <br /> Нового года <br /> осталось: <br />"
      + dd +" " + wrDay + 
      "</td><br /><td width=80>" + hh + " " + wrHour +
      "</td><td width=85>" + mm + " " + wrMin + "</td></tr></table>";
    */
    
    /*
      ins.innerHTML = "До <br /> Нового года <br /> осталось:<br /><td width=85px> "
      + hh + " " + wrHour + "</td><td width=95px> " + mm + " " + wrMin + 
      "</td><td width=110> "+ss+" "+wrSec+"</td></tr></table>";
    */
    setTimeout("Happy_New_Year()", 1000);
    
  }
}
