СУТЬ ТАКОВА)!
есть обьект 
timer  в него передается 2 аргумента
1) время которое нужно отсчитывать
2) функция которая будет выполняться каждую секунду
timer(время, функция);
время передается массивом, часы минуты секунды
[1,15, 42] 1 час 15 минут 42 секунды.
[0,0,10] 0 часов 0 минут 10 секунд.
timer([0,0,10], функция) 
в нашу функцию будут передаваться 3 параметра, часы минуты и секунды обратного отсчета. и их можно естественно использовать внутри её.
то есть нужно писать так
timer([0,0,10]  ,  function(часы, минуты, секунды) { alert(часы) }  )
обьект 
timer имеет методы 
pause() и 
start()
просто нужно написать 
timer.pause() // приостановка
timer.start() // запуск с приостановленного места
function timer(_time, _call){
			timer.lastCall = _call
			timer.lastTime = _time
			timer.timerInterval = setInterval(function(){
						_call(_time[0],_time[1],_time[2]);
						_time[2]--
						if(_time[0]==0 && _time[1]==0 && _time[2]==0){
									timer.pause()
									_call(0,0,0);
						}
						if(_time[2]==0){
									_time[2] = 59
									_time[1]--
									if(_time[1]==0){
												_time[1] = 59
												_time[0]--
									}
						}
						timer.lastTime = _time
			}, 1000)
}
timer.pause = function(){
			clearInterval(timer.timerInterval)
}
timer.start = function(){
			timer(timer.lastTime, timer.lastCall)
}
//сверху мое, а тут уже ваше)
//тут мы начинаем таймер. передаем массив с временем и функцию которая будет вызываться каждую секунду
timer([0,0,7], function(h,m,s){
			alert(h + ':' +m + ':' +s) // алертнуть часы минуты и секунды
})
timer.pause()
timer.start()