function countdown(client_time, time_diff, race_desc)
{
	if(document.getElementById('countdown'))
	{
		if(!client_time)
		{
			client_time = Date.parse(new Date());
		}
		var rawtime = time_diff + (client_time - Date.parse(new Date()))/1000;
		if(rawtime >= 0)
		{
			var absrawtime = Math.abs(rawtime);
			var tss = absrawtime%60;
			var tmm = Math.floor((absrawtime/60)%60);
			var thh = Math.floor((absrawtime/(60*60))%24);
			var tdd = Math.floor(absrawtime/(60*60*24));
			document.getElementById('countdown').innerHTML = race_desc + ': ' + ((tdd) ? '<b>' + leadingzero(tdd) + '<\/b><i>d<\/i> ' : '') + '<b>' + leadingzero(thh) + '<\/b><i>h<\/i> <b>' + leadingzero(tmm) + '<\/b><i>m<\/i> <b>' + leadingzero(tss) + '<\/b><i>s<\/i>';
		}
		setTimeout('countdown(' + client_time + ', ' + time_diff + ', "' + race_desc + '");', 1001 - new Date().getMilliseconds());
	}
}

function leadingzero(n)
{
	return (n < 10) ? '0' + n : n;
}
