/*
 *
 */

/*
 *
 */
function counter_setup(id)
{
	document.getElementById(id).innerHTML = counter_setupTable(id);
}

/*
 *
 */
function counter_setupTable(id)
{
	return '\n<table class="counter">' +
		counter_setupRow(id + '_d', 'days') +
		counter_setupRow(id + '_h', 'hours') +
		counter_setupRow(id + '_m', 'minutes') +
		counter_setupRow(id + '_s', 'seconds') +
		'\n</table>';
}

/*
 *
 */
function counter_setupRow(id, units)
{
	return '\n<tr>' + 
		counter_setupDigit(id + '3') + 
		counter_setupDigit(id + '2') + 
		counter_setupDigit(id + '1') +
		'\n<td>&nbsp;' + units + '&nbsp;</td>' +
		'\n</tr>';
}

/*
 *
 */
function counter_setupDigit(id)
{
	return '\n<td><div class="digit" id="' + id + '">&nbsp;</div></td>';
}

/*
 *
 */
function counter_tick(fn, id, dest)
{
	var count = dest - new Date().getTime();
	
	counter_display(id, count);
	
	setTimeout(fn, 1000);
}

/*
 *
 */
function counter_display(id, count)
{
	var seconds = Math.floor((count) / 1000);
	
	var minutes = Math.floor(seconds / 60);
	seconds = seconds - minutes * 60;

	counter_displayRow(id + '_s', seconds);

	var hours = Math.floor(minutes / 60);
	minutes = minutes - hours * 60;
	
	counter_displayRow(id + '_m', minutes);

	var days = Math.floor(hours / 24);
	hours = hours - days * 24;
	
	counter_displayRow(id + '_h', hours);

	counter_displayRow(id + '_d', days);
}

/*
 *
 */
function counter_displayRow(id, counter)
{
	var c1 = counter;
	
	var c2 = Math.floor(c1 / 10);
	c1 = c1 - c2 * 10;
	
	var c3 = Math.floor(c2 / 10);
	c2 = c2 - c3 * 10;
	
	if (c3 == 0)
	{
		c3 = '&nbsp;';
	}
	
	document.getElementById(id + '1').innerHTML = c1;
	document.getElementById(id + '2').innerHTML = c2;
	document.getElementById(id + '3').innerHTML = c3;
}


