var timerID = null;

function tzone(tz, os, ds) {
	this.ct = new Date(0) ;                // datetime
	this.tz = tz ;                // code
	this.os = os ;                // GMT offset
	this.ds = ds ;                // has daylight savings	
}

function UpdateClocks() {

	var ct = new Array(
		new tzone('divWC1', +9, 0),
		new tzone('divWC2', +8, 1),
		new tzone('divWC3',  -5, 1),
		new tzone('divWC4',  -2, 1),
		new tzone('divWC5',  +3, 1)
	) ;
	
	var dt = new Date() ;        // [GMT] time according to machine clock
	var startDST = new Date(dt.getFullYear(), 3, 1) ;

	while (startDST.getDay() != 0)
		startDST.setDate(startDST.getDate() + 1) ;
	
	var endDST = new Date(dt.getFullYear(), 9, 31) ;

	while (endDST.getDay() != 0)
		endDST.setDate(endDST.getDate() - 1) ;

	var ds_active ;                // DS currently active
	if (startDST < dt && dt < endDST)
		ds_active = 1 ;
	else
		ds_active = 0 ;

	// Adjust each clock offset if that clock has DS and in DS.
	for(n=0 ; n<ct.length ; n++)
		if (ct[n].ds == 1 && ds_active == 1) ct[n].os++ ;

	// compensate time zones
	gmdt = new Date() ;
	
	for (var n=0 ; n<ct.length ; n++) {
		ct[n].ct = new Date(gmdt.getTime() + (ct[n].os * 3600 * 1000)) ;
		document.all[ct[n].tz].value = ClockString(ct[n].ct);
	}
	
	timerID = window.setTimeout("UpdateClocks()", 1000) ;
	
}

function ClockString(dt) {
	var ret, ampm ;
	var dt_year = dt.getUTCFullYear() ;
	var dt_month = dt.getUTCMonth() + 1 ;
	var dt_day = dt.getUTCDate() ;
	var dt_hour = dt.getUTCHours() ;
	var dt_minute = dt.getUTCMinutes() ;
	var dt_second = dt.getUTCSeconds() ;
	dt_year = dt_year.toString() ;

	if (0 <= dt_hour && dt_hour < 12) {
		ampm = 'AM' ;
		if (dt_hour == 0) dt_hour = 12 ;                
	}
	else {
		ampm = 'PM' ;

		dt_hour = dt_hour - 12 ;
		if (dt_hour == 0) dt_hour = 12 ;
	}

	if (dt_hour < 10) dt_hour = '0' + dt_hour ;
	if (dt_minute < 10) dt_minute = '0' + dt_minute ;
	if (dt_second < 10) dt_second = '0' + dt_second ;
	//stemp = dt_month + '/' + dt_day + '/' + dt_year.substr(2,2) ;
	ret = dt_hour + ":" + dt_minute + ":" + dt_second + ' ' + ampm ;
	return ret ;
}