Здравствуйте, делаю таймер обратного отсчета времени до какого-либо события, но минуты и секунды показываются неправильно. Подскажите пжл где я накосячил.
function TimeBeforeEvent()
{
var today = new Date();
var NextEvent = new Date(y,mon,d,h,mnt,s,ms);
msPerHours = 60*60*1000;
hoursBefore = Math.round((NextEvent.getTime() - today.getTime())/msPerHours);
msPerMinutes = 60*1000;
minutesBefore = Math.round((NextEvent.getTime() - today.getTime())/msPerMinutes/60);
secondsBefore = Math.round((NextEvent.getTime() - today.getTime())/1000/3600);
secondsBefore=secondsBefore-1;
if(secondsBefore<0){
secondsBefore=59;
minutesBefore=minutesBefore-1;
}
if (minutesBefore<0) {
minutesBefore=59;
hoursBefore=hoursBefore-1;
}
var clock = document.getElementById('next_event');
clock.innerHTML = hoursBefore+':'+minutesBefore+':'+secondsBefore;
}
setTimeout("TimeBeforeEvent()", 1000);