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('Tokyo: ', +9, 0, '666666'),
new tzone('Auckland: ', +13, 0, '666666'),
new tzone('Sidney: ', +11, 0, '666666'),
new tzone('Perth: ', +8, 0, '666666'),
new tzone('Bangkok: ', +7, 0, '666666'),
new tzone('New Delhi: ', +5.5, 0, '666666'),
new tzone('Moscow: ', +3, 0, '666666'),
new tzone('Amsterdam: ', +1, 0, '666666')
) ;


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.getElementById('Clock0').innerHTML =
'<font color="' + ct[0].cl + '">' + ct[0].tz + ClockString(ct[0].ct) + '</font>' ;

document.getElementById('Clock1').innerHTML =
'<font color="' + ct[1].cl + '">' + ct[1].tz + ClockString(ct[1].ct) + '</font>' ;

document.getElementById('Clock2').innerHTML =
'<font color="' + ct[2].cl + '">' + ct[2].tz + ClockString(ct[2].ct) + '</font>' ;

document.getElementById('Clock3').innerHTML =
'<font color="' + ct[3].cl + '">' + ct[3].tz + ClockString(ct[3].ct) + '</font>' ;

document.getElementById('Clock4').innerHTML =
'<font color="' + ct[4].cl + '">' + ct[4].tz + ClockString(ct[4].ct) + '</font>' ;

document.getElementById('Clock5').innerHTML =
'<font color="' + ct[5].cl + '">' + ct[5].tz + ClockString(ct[5].ct) + '</font>' ;

document.getElementById('Clock6').innerHTML =
'<font color="' + ct[6].cl + '">' + ct[6].tz + ClockString(ct[6].ct) + '</font>' ;

document.getElementById('Clock7').innerHTML =
'<font color="' + ct[7].cl + '">' + ct[7].tz + ClockString(ct[7].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_hourm = 12 ;
} else {
ampm = 'PM' ;
dt_hourm = 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 ;

if (dt_month = '01')
dt_monthname = 'January';
if (dt_month = '02')
dt_monthname = 'February';
if (dt_month = '03')
dt_monthname = 'March';
if (dt_month = '04')
dt_monthname = 'April';
if (dt_month = '05')
dt_monthname = 'May';
if (dt_month = '06')
dt_monthname = 'June';
if (dt_month = '07')
dt_monthname = 'July';
if (dt_month = '08')
dt_monthname = 'August';
if (dt_month = '09')
dt_monthname = 'September';
if (dt_month = '10')
dt_monthname = 'October';
if (dt_month = '11')
dt_monthname = 'November';
if (dt_month = '12')
dt_monthname = 'December';

stemp = dt_day + ' ' +dt_monthname + ' '  + dt_year.substr(0,4) ;
stemp = dt_hour + ":" + dt_minute + ":" + dt_second ;
return stemp ;
}


