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('Perth: ', +8, 0, '#FFFFFF'),
		new tzone('London: ',  0, 1, '#990099'),
		new tzone('New York: ', -5, 1, '#000000'),
		new tzone('San Francisco: ', -8, 1, '#DDDD00'),
		new tzone('Hong Kong: ', +8, 0, '#FF0000'),
		new tzone('Bangkok: ', +7, 0, '#990000'),
		new tzone('Tokyo: ', +9, 0, '#444444'),
		new tzone('Kathmandu: ', +5.75, 0, '#990099'),
		new tzone('Delhi: ', +5.5, 0, '#000000'),          //9
		new tzone('Noumea: ', +11, 0, '#FFFF00'),
		new tzone('Tonga: ',  +13, 0, '#004400'),
		new tzone('Cook Is.: ', -10, 0, '#553355'),
		new tzone('Solomon Is.: ', +11, 0, '#FFFFFF'),
		new tzone('Fiji: ', +12, 1, '#000000'),
		new tzone('Bali: ', +8, 0, '#FF0000'),
		new tzone('Phuket: ',  +7, 0, '#444444'),
		new tzone('New Zealand: ', +12, 1, '#880088'),
		new tzone('Singapore: ', +8, 0, '#444400'),        //18
		new tzone('Kuala Lumpur: ', +8, 0, '#003300'),
		new tzone('Rome: ', +1, 1, '#FFFF00'),
		new tzone('Athens: ', +2, 1, '#333333'),
		new tzone('Madrid: ', +1, 1, '#DD6600'),
		new tzone('Frankfurt: ', +1, 1, '#000000'),
            new tzone('Istanbul: ', +2, 1, '#FF0000')	    ) ;
	var dt = new Date() ;	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 ;		
	if (startDST < dt && dt < endDST)
		ds_active = 1 ;
	else
		ds_active = 0 ;
	for(n=0 ; n<ct.length ; n++)
		if (ct[n].ds == 1 && ds_active == 1) ct[n].os++ ;
	gmdt = new Date() ;
	for (n=0 ; n<ct.length ; n++)
		ct[n].ct = new Date(gmdt.getTime() + ct[n].os * 3600 * 1000) ;
document.all.Clock0.innerHTML = '<font color="' + ct[0].cl + '">' + ct[0].tz + ClockString(ct[0].ct) + '</font>' ;
document.all.Clock1.innerHTML = '<font color="' + ct[1].cl + '">' + ct[1].tz + ClockString(ct[1].ct) + '</font>' ;
document.all.Clock2.innerHTML = '<font color="' + ct[2].cl + '">' + ct[2].tz + ClockString(ct[2].ct) + '</font>' ;
document.all.Clock3.innerHTML = '<font color="' + ct[3].cl + '">' + ct[3].tz + ClockString(ct[3].ct) + '</font>' ;
document.all.Clock4.innerHTML = '<font color="' + ct[4].cl + '">' + ct[4].tz + ClockString(ct[4].ct) + '</font>' ;
document.all.Clock5.innerHTML = '<font color="' + ct[5].cl + '">' + ct[5].tz + ClockString(ct[5].ct) + '</font>' ;
document.all.Clock6.innerHTML = '<font color="' + ct[6].cl + '">' + ct[6].tz + ClockString(ct[6].ct) + '</font>' ;
document.all.Clock7.innerHTML = '<font color="' + ct[7].cl + '">' + ct[7].tz + ClockString(ct[7].ct) + '</font>' ;	
document.all.Clock8.innerHTML = '<font color="' + ct[8].cl + '">' + ct[8].tz + ClockString(ct[8].ct) + '</font>' ; 	
document.all.Clock9.innerHTML = '<font color="' + ct[9].cl + '">' + ct[9].tz + ClockString(ct[9].ct) + '</font>' ;
document.all.Clock10.innerHTML = '<font color="' + ct[10].cl + '">' + ct[10].tz + ClockString(ct[10].ct) + '</font>' ;
document.all.Clock11.innerHTML = '<font color="' + ct[11].cl + '">' + ct[11].tz + ClockString(ct[11].ct) + '</font>' ;
document.all.Clock12.innerHTML = '<font color="' + ct[12].cl + '">' + ct[12].tz + ClockString(ct[12].ct) + '</font>' ;
document.all.Clock13.innerHTML = '<font color="' + ct[13].cl + '">' + ct[13].tz + ClockString(ct[13].ct) + '</font>' ;
document.all.Clock14.innerHTML = '<font color="' + ct[14].cl + '">' + ct[14].tz + ClockString(ct[14].ct) + '</font>' ;
document.all.Clock15.innerHTML = '<font color="' + ct[15].cl + '">' + ct[15].tz + ClockString(ct[15].ct) + '</font>' ;
document.all.Clock16.innerHTML = '<font color="' + ct[16].cl + '">' + ct[16].tz + ClockString(ct[16].ct) + '</font>' ;
document.all.Clock17.innerHTML = '<font color="' + ct[17].cl + '">' + ct[17].tz + ClockString(ct[17].ct) + '</font>' ;
document.all.Clock18.innerHTML = '<font color="' + ct[18].cl + '">' + ct[18].tz + ClockString(ct[18].ct) + '</font>' ;
document.all.Clock19.innerHTML = '<font color="' + ct[19].cl + '">' + ct[19].tz + ClockString(ct[19].ct) + '</font>' ;
document.all.Clock20.innerHTML = '<font color="' + ct[20].cl + '">' + ct[20].tz + ClockString(ct[20].ct) + '</font>' ;
document.all.Clock21.innerHTML = '<font color="' + ct[21].cl + '">' + ct[21].tz + ClockString(ct[21].ct) + '</font>' ;
document.all.Clock22.innerHTML = '<font color="' + ct[22].cl + '">' + ct[22].tz + ClockString(ct[22].ct) + '</font>' ; 	
document.all.Clock23.innerHTML = '<font color="' + ct[23].cl + '">' + ct[23].tz + ClockString(ct[23].ct) + '</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_day + '/' + dt_month + '/' + dt_year.substr(2,2) ;
	stemp = stemp + ' ' + dt_hour + ":" + dt_minute + ":" + dt_second + ' ' + ampm ;
	return stemp ;}
