Слегка поправить скрипт обратного отсчета

Тема в разделе "JavaScript", создана пользователем winerror, 21 ноя 2012.

Модераторы: ZiX
  1. winerror

    winerror

    Регистр.:
    9 май 2007
    Сообщения:
    155
    Симпатии:
    30
    Приветствую.
    Есть вот такой вот скрипт обратного отсчета:
    <script type="text/javascript">
    D = new Date();
    time_diff = (Date.UTC(2012, 11, 12, 0, 0) - D.getTime()) / 1000;

    function countDown[[+id]]() {
    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;

    values = [
    declOfNum(days, ["д", "д", "д"]),
    declOfNum(hours, ["ч", "ч", "ч"]),
    declOfNum(minutes, ["м", "м", "м"])
    ];
    document.getElementById('counter[[+id]]').innerHTML = values.join(" ") + ".";
    document.getElementById('bcounter[[+id]]').innerHTML = values.join(" ") + ".";
    }

    function declOfNum(number, titles) {
    cases = [2, 0, 1, 1, 1, 2];
    return "" + number + "· " + titles[ (number%100>4 && number%100<20)? 2 : cases[Math.min(number%10, 5)] ];
    }
    </script>
    Как известно, в ява скрипт перечень месяцев идет с 0 до 11, собственно вопрос, каким макаром можно данную беду поправить на 1-12.. Интересует решения для данного скрипта.
    Заранее спасибо
     
  2. Leony

    Leony

    Регистр.:
    18 мар 2008
    Сообщения:
    153
    Симпатии:
    25
    Громоздко, конечно, но имхо, через switch case.
    А зачем двойные скобки? я такой приём не встречал.