
var gClks;	
var gAmPm;	
var gShowSeconds;	
var gTickSecs;		



function leadingZeroStr( n )
{
	if (n < 10)
		return '0' + n;
	else
		return '' + n;
}



function formatTime( timeSecs )
{
	var ampm;
	var s;


	if (gAmPm) {
		if (timeSecs >= 12*3600) {
			ampm = 'PM';
			var t = timeSecs - 12 * 3600;	
		}
		else {
			ampm = 'AM';
			t = timeSecs;
		}

		
		var secs = t % 60;
		t -= secs;

		
		var mins = t % 3600;
		t -= mins;
		mins /= 60;

		
		var hour = t / 3600;
		if (hour == 0) {
			hour = 12;
		}

		s = '' + hour + ':' + leadingZeroStr(mins); 
		if (gShowSeconds) {
			s += ':' + leadingZeroStr(secs)
		}
		s += ' <small><small>' + ampm + '</small></small>';	
	}
	else {

		var t = timeSecs;
		
		
		var secs = t % 60;
		t -= secs;

		
		var mins = t % 3600;
		t -= mins;
		mins /= 60;

		
		var hour = t / 3600;

		var s = "" + leadingZeroStr(hour) + ":" + leadingZeroStr(mins);
		if (gShowSeconds) {
			s += ":" + leadingZeroStr(secs);
		}
	}

	return s;
}



function setHtmlTime( timeField, timeHtml )
{
	var elem = document.getElementById( 'time' + timeField );
	elem.innerHTML = timeHtml;
}


function updateTimes()
{
	var i;

	for (i = 0; i < gClks.length; i++) {
		var tme = gClks[i] + gTickSecs;			
		if (tme >= 86400) {
			tme -= 86400 ;				
		}
		gClks[i] = tme;
		var timeHtml = formatTime( tme );		
		setHtmlTime( i, timeHtml );			
	}
}


function pageInit( clocks, ampm, showSecs ) 
{
	
	gClks = clocks;
	gAmPm = ampm;
	gShowSeconds = showSecs;
	if (showSecs) {
		gTickSecs = 1;	
	}
	else {
		gTickSecs = 10;	
		
	}

	
	setInterval( 'updateTimes()', gTickSecs*1000 );
}

