Ладно, я тоже ничего не понял ни в кодах, ни в заявке. Наверно ему надо чтобы все таймеры смотались и исчезли, поскольку попыток восстановить их не замечено. Можно все загнать в объект и чакать по нормальным переменным.
<!DOCTYPE html><html lang="ru" dir="ltr"><head><meta charset="utf-8"></head><body>
<div class="results full-height">
<div id="id1044" class="gray-line" data-sec="06">( Осталось <span>01:00:00</span>)</div>
<div id="id12369" class="gray-line" data-sec="3607">( Осталось <span>01:00:00</span>)</div>
</div>
<script>
var elems=document.querySelectorAll('.gray-line'),
countDown=function(timestamp,id){
timestamp=timestamp||0;
var hour = Math.floor(timestamp/60/60),
mins = Math.floor((timestamp - hour*60*60)/60),
secs = Math.floor(timestamp - hour*60*60 - mins*60),
day = Math.floor((timestamp/60/60) / 24),
left_hour = Math.floor( (timestamp - day*24*60*60) / 60 / 60 );
if((''+mins).length <= 1)
mins = "0" + mins;
if((''+secs).length <= 1)
secs = "0" + secs;
document.querySelector('#'+id+' span').innerHTML='0'+left_hour+':'+mins+':'+secs;
},
start = function() {
elems[0].setAttribute('data-sec',20);
elems[1].setAttribute('data-sec',600);
var update=function(){
for(var i=0, elem; elem=elems[i]; i++) {
if(elem.style.display=='none') continue;
var sec = elem.getAttribute('data-sec')-1;
if(sec <= 0) {
elem.style.display='none';
++cnt;
}
else {
elem.setAttribute('data-sec',sec);
countDown(sec, elem.id);
}
}
if(cnt==elems.length)
clearInterval(timer);
},
cnt=0,
timer = setInterval(update, 1000);
};
start();
</script>
</body>
</html>