/* (c) Michiel van der Blonk 2007
 * modified 2010 - setInterval instead of setTimer
*/
{
    var running;
    var runningTime;
    var startTime;
    var endTime;
    vat timerHandle;
    
    if (!window.$)
    	function $ = function(s) {return document.getElementById(s); };
    	
    function startTimer()
    {
        running = true;
        endTime = 0;
        startTime = new Date().getTime();
        document.forms[0].stop.focus();
        timerHandle = window.setInterval(runTimer, 10);
    }

    function stopTimer()
    {
        running = false;
        window.clearInterval(timerHandle);
        document.forms[0].reset.focus();
        endTime = runningTime;
        var lastSessionTime = parseInt(endTime/10) / 100;
		displayTime(endTime);
		document.forms[1].sessionTimes.value += lastSessionTime + ' ';
    }

    function resetTimer()
    {
        $("timer").innerHTML = "00:00:00";
        document.forms[0].start.focus();
    }

    function runTimer()
    {
        runningTime = new Date().getTime() - startTime -3000;
        displayTime(runningTime);
    }

    function displayTime(t)
    {
        var hundreds;
        var seconds;
        var minutes;

        if (endTime!=0)
            t = endTime;
        hundreds = parseInt(t / 10);
        seconds = parseInt(hundreds / 100);
        minutes = parseInt(seconds / 60);

        hundreds = hundreds % 100;
        seconds = Math.floor(seconds % 60);
        minutes = Math.floor(minutes % 60);

        if (runningTime<0)
        	$("timer").innerHTML= seconds - 1;
		else
		{
			if (hundreds < 10)
				hundreds = "0" + hundreds;
			if (seconds < 10)
				seconds = "0" + seconds;

			$("timer").innerHTML = minutes + ":" + seconds + "." + hundreds;
		}
    }

}
