﻿// JScript File

var timerID ;
function tzone(tz, os, ds, cl)
{
	this.ct = new Date(0) ;		
	this.tz = tz ;		
	this.os = os ;		
	this.ds = ds ;		
	this.cl = cl ;	
}

function UpdateClocks()
{
	
	var ct = new Array(
		new tzone('', +1, 1, 'lime'), 
		new tzone('', +9, 0, 'violet'), 
		new tzone('', +8, 0, 'cyan'), 
		new tzone('', +7, 0, 'yellow'), 
		new tzone('', -5, 1, '#FFAA00'), 
		new tzone('',  0, 1, 'silver'), 
		new tzone('', +11, 0, 'pink'), 
		new tzone('', +5.48, 0, 'red') 
	) ;

	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() ;
	var weekdaystxt=["Sun.", "Mon.", "Tue.", "Wed.", "Thu.", "Fri.", "Sat."]
	var dayofweek=weekdaystxt[gmdt.getDay()]
	
	for (n=0 ; n<ct.length ; n++)
		ct[n].ct = new Date(gmdt.getTime() + ct[n].os * 3600 * 1000) ;

	//document.all.Clock0.innerHTML = document.getElementById("").innerText
	document.getElementById("Clock0").innerHTML =
		'<font color="Black">' + ct[0].tz +  ClockString(ct[0].ct)+ ', '  + dayofweek + '</font>' ;

	document.getElementById("Clock1").innerHTML =
		'<font color="Black">' + ct[1].tz + ClockString(ct[1].ct) + ', ' + dayofweek + '</font>' ;

	document.getElementById("Clock2").innerHTML =
		'<font color="Black">' + ct[2].tz + ClockString(ct[2].ct) + ', ' + dayofweek+ '</font>' ;

	document.getElementById("Clock3").innerHTML =
		'<font color="Black">' + ct[3].tz + ClockString(ct[3].ct) + ', ' + dayofweek+ '</font>' ;

	document.getElementById("Clock4").innerHTML =
		'<font color="Black">' + ct[4].tz + ClockString(ct[4].ct) + ', ' + dayofweek+ '</font>' ;

	document.getElementById("Clock5").innerHTML =
		'<font color="Black">' + ct[5].tz + ClockString(ct[5].ct) + ', ' + dayofweek+ '</font>' ;

	document.getElementById("Clock6").innerHTML =
		'<font color="Black">' + ct[6].tz + ClockString(ct[6].ct) + ', ' + dayofweek+ '</font>' ;

	document.getElementById("Clock7").innerHTML =
		'<font color="Black">' + ct[7].tz + ClockString(ct[7].ct) + ', ' + dayofweek+ '</font>' ;

	
	timerID = window.setTimeout("UpdateClocks()", 1001) ;
}

function ClockString(dt)
{
	var stemp, 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_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) ;
	stemp =  dt_hour + ":" + dt_minute + ":" + dt_second + ' ' + ampm + ' ' + stemp ;
	return stemp ;
}

