Вас всех тут на говнокод можно отправить смело. Если таймер, так и работать надо со временем!
var timer = new Object();
timer.get = function (year,month,day,hour,minute,second,msecond){
var finish_time = new Date(year,month-1,day,hour,minute,second,msecond);
var start_time = new Date();
var diff = Math.round((finish_time.getTime() - start_time.getTime())/1000);
timer.seconds = diff % 60;
timer.minutes = Math.floor((diff/60) % 60);
timer.hours = Math.floor((diff/3600) % 24);
timer.days = Math.floor(diff/3600/24);
console.log('Дней: '+timer.days+' - Часов: '+timer.hours+' - Минут:'+timer.minutes+' - Секунд:'+timer.seconds);
setTimeout(function ()
{
timer.get(year,month,day,hour,minute,second,msecond);
},1000);
}
// До конца света осталось
timer.get(2012,1,1,0,0,0,0);