function tzone(tz, os, ds, cl)
{
	this.ct = new Date(0) ; // datetime
	this.tz = tz ; // code
	this.os = os ; // GMT offset
	this.ds = ds ; // has daylight savings
	this.cl = cl ; // font color

}

function UpdateClocks()
{
	// www.timeanddate.com/worldclock
	var ct = new Array(
		new tzone('INDE', +5.50, 0, ''),
		new tzone('FRANCE', +2, 0, ''),
		new tzone('LA', -7, 0, '')
	) ;

	var dt = new Date() ; // [GMT] time according to machine
	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 (n=0 ; n<ct.length ; n++) ct[n].ct = new Date(gmdt.getTime() + ct[n].os * 3600 * 1000);

	$("#heure_inde").html(ClockString(ct[0].ct)) ;
	$("#heure_france").html(ClockString(ct[1].ct)) ;
	$("#heure_la").html(ClockString(ct[2].ct)) ;	
	
	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 = stemp + ' ' + dt_hour + ":" + dt_minute + ":" +
	//stemp = dt_hour + ":" + dt_minute + ":" +
	//dt_second + ' ' + ampm ;
	stemp = dt_hour + ":" + dt_minute+ ' ' + ampm;
	return stemp ;
}
