Написал вот такую функцию. Работает нормально, но хотелось бы уменьшить её объём
function updateTimer(warTime){
var nowTime = Math.round(new Date().getTime() / 1000);
if(warTime < nowTime){
element.innerHTML = 'Голосование закончено.';
}else{
var day = Math.ceil((warTime - nowTime) / 86400);
var dayRes = (warTime - nowTime) % 86400;
if(day < 10) day = '0' + day;
var hour = Math.ceil(dayRes / 3600);
var hourRes = dayRes % 3600;
if(hour < 10) hour = '0' + hour;
var minute = Math.ceil(hourRes / 60);
var minuteRes = hourRes % 60;
if(minute < 10) minute = '0' + minute;
var second = minuteRes;
if(second < 10) second = '0' + second;
element.innerHTML = 'Осталось: ' + day + declOfNum(day, [' День ', ' Дня ', ' Дней ']);
element.innerHTML += hour + declOfNum(hour, [' Час ', ' Часа ', ' Часов ']);
element.innerHTML += minute + declOfNum(minute, [' Минута ', ' Минуты ', ' Минут ']);
element.innerHTML += second + declOfNum(second, [' Секунда ', ' Секунды ', ' Секунд ']);
}
warTime--;
setTimeout(updateTimer, 1000);
}
function declOfNum(number, titles){
cases = [2, 0, 1, 1, 1, 2];
return titles[(number % 100 > 4 && number % 100 < 20) ? 2 : cases[(number % 10 < 5) ? number % 10 : 5]];
}