var heures;
var minutes;
var secondes;
var centiemes;
var sec_soustracteur;
var min_soustracteur;
var elapsed;
var total_pauses;
var debut_pause = 0;
var fin_pause;
var delay = 200;
var chaine;
var t;
var init_date;

function affiche_chrono()
{
		if ( secondes < 10 ) { secondes = "0" + secondes; }
		if ( minutes < 10 ) { minutes = "0" + minutes; }

		//chaine = elapsed + "<br />";
		//chaine += total_pauses + "<br />";
		chaine = heures + ":" + minutes + ":" + secondes + "," + centiemes;
		document.getElementById('chrono_output').innerHTML = chaine;
}

function reset_chrono()
{
		heures = 0; minutes = 0; secondes = 0; centiemes = 0;
		sec_soustracteur = 0; min_soustracteur = 0;
		elapsed = 0;
		total_pauses = 0;
		debut_pause = 0;
		init_date = 0;
		elapsed = 0;

		affiche_chrono();

		document.getElementById('chrono_stop').disabled = "true";
		document.getElementById('chrono_start').disabled = "";
		document.getElementById('chrono_reset').disabled = "true";
}

function chrono()
{
		var my_date_now = new Date;
		elapsed = ( my_date_now.getTime() - total_pauses ) - init_date;

		centiemes = Math.floor( ( elapsed % 1000 ) / 100 );
		//elapsed = elapsed / 1000;
		minutes = Math.floor( elapsed / 1000 / 60 ) - min_soustracteur;
		heures = Math.floor( elapsed / 1000 / 60 / 60 );
		secondes = Math.floor( elapsed / 1000 ) - sec_soustracteur;

		if ( secondes == 60 ) { sec_soustracteur += 60; secondes = 0; }

		if ( minutes == 60 ) { min_soustracteur += 60; minutes = 0; }

		affiche_chrono();

		t = setTimeout( "chrono()" , delay );
}

function start_chrono()
{
		if ( debut_pause == 0 )
		{
			var my_date_init = new Date;
			init_date = my_date_init.getTime();
		}
		else
		{
			var my_date_start = new Date;
			var pause = my_date_start.getTime() - debut_pause;
			total_pauses += pause;
		}	

		document.getElementById('chrono_stop').disabled = "";
		document.getElementById('chrono_start').disabled = "true";
		document.getElementById('chrono_reset').disabled = "true";

		t = setTimeout( "chrono()" , delay );
}

function stop_chrono()
{
	var my_date_stop = new Date;
	debut_pause = my_date_stop.getTime();

	document.getElementById('chrono_stop').disabled = "true";
	document.getElementById('chrono_start').disabled = "";
	document.getElementById('chrono_reset').disabled = "";

	clearTimeout(t);
}

