startOfYear = new Date();
startOfYear.setYear(2012);
startOfYear.setMonth(02);
startOfYear.setDate(02);
startOfYear.setHours(0, 0, 0, 0);
D = new Date();
time_diff = (startOfYear.getTime() - D.getTime()) / 1000;
  
        function countDown() {      
           work_number = time_diff--;
           days = Math.floor(work_number / 86400);      
           work_number -= days * 86400;
           hours = Math.floor(work_number / 3600);
           work_number -= hours * 3600;
           minutes = Math.floor(work_number / 60);
           work_number -= minutes * 60;
           seconds = Math.floor(work_number % 60);
           days = (days < 10) ? "0"+days : days;
           hours = (hours < 10) ? "0"+hours : hours;
           minutes = (minutes < 10) ? "0"+minutes : minutes;
           seconds = (seconds < 10) ? "0"+seconds : seconds;
           values = [
              declOfNum(days, ["день", "дня", "дней"]), 
              declOfNum(hours, ["час", "часа", "часов"]), 
              declOfNum(minutes, ["минута", "минуты", "минут"])
           ];
           document.getElementById('counter').innerHTML =  values.join(" ");      
        }

        function declOfNum(number, titles) {
           cases = [2, 0, 1, 1, 1, 2];
           return "<b>" + number + "</b> " + titles[ (number%100>4 && number%100<20)? 2 : cases[Math.min(number%10, 5)] ];
        }
 
