javascript setInterval

HTML

<ul>
                     <li>Moves Made: <span id="moveCount">0</span></li>
                     <li>Time: <span id="timer">0</span></li>
                     <li>Puzzles Solved: <span id="puzzlesSolved">0</span></li>
 <ul>

JavaScript

var beginTime;

function setBeginTime(beginTime){
    this.beginTime = beginTime;
}

function updateText(elementID,text) {
        document.getElementById(elementID).innerHTML = text;
}

function diffBetweenTimes(beginTime, endTime){
    var timeTaken = endTime.getTime() - beginTime.getTime(),
     daysTaken,
     hoursTaken, 
     minutesTaken, 
     secondsTaken = Math.round(timeTaken / (1000)),
     timeTakenString = "";
    
    if (secondsTaken > 60){
            minutesTaken = Math.floor(secondsTaken / 60);
            secondsTaken = Math.floor(secondsTaken % 60);
        
        if(minutesTaken > 60){
        
            hoursTaken = minutesTaken / 60;
            minutesTaken = minutesTaken % 60;

            if(hoursTaken > 24){
            
                daysTaken = hoursTaken / 24;
                hoursTaken = hoursTaken % 24;
            }
        }
    }

    if (daysTaken > 0)
         timeTakenString += daysTaken + " day(s), ";
     
     if (hoursTaken > 0)
         timeTakenString += hoursTaken + " hour(s), ";
     
     if (minutesTaken > 0)
         timeTakenString += minutesTaken + " minute(s), ";
     
     if (secondsTaken > 0)
         timeTakenString += secondsTaken + " second(s)";

    
     return timeTakenString;
}

function timer() {

    curTime = new Date();

    updateText('timer', diffBetweenTimes(this.beginTime, curTime));
}


setBeginTime(new Date());

setInterval(timer, 1000);