var fuseau_gmt = new Array();
var ecart_fuseau_gmt = new Array();

fuseau_gmt[0]=12
fuseau_gmt[1]=11
fuseau_gmt[2]=10
fuseau_gmt[3]=9
fuseau_gmt[4]=8
fuseau_gmt[5]=7
fuseau_gmt[6]=7
fuseau_gmt[7]=6
fuseau_gmt[8]=6
fuseau_gmt[9]=6
fuseau_gmt[10]=5
fuseau_gmt[11]=5
fuseau_gmt[12]=5
fuseau_gmt[13]=4
fuseau_gmt[14]=4
fuseau_gmt[15]=4
fuseau_gmt[16]=25
fuseau_gmt[17]=3
fuseau_gmt[18]=2
fuseau_gmt[19]=1
fuseau_gmt[20]=0
fuseau_gmt[21]=0
fuseau_gmt[22]=13
fuseau_gmt[23]=13
fuseau_gmt[24]=13
fuseau_gmt[25]=14
fuseau_gmt[26]=14
fuseau_gmt[27]=14
fuseau_gmt[28]=14
fuseau_gmt[29]=14
fuseau_gmt[30]=15
fuseau_gmt[31]=15
fuseau_gmt[32]=15
fuseau_gmt[33]=26
fuseau_gmt[34]=16
fuseau_gmt[35]=16
fuseau_gmt[36]=27
fuseau_gmt[37]=17
fuseau_gmt[38]=28
fuseau_gmt[39]=18
fuseau_gmt[40]=18
fuseau_gmt[41]=19
fuseau_gmt[42]=20
fuseau_gmt[43]=20
fuseau_gmt[44]=20
fuseau_gmt[45]=20
fuseau_gmt[46]=20
fuseau_gmt[47]=20
fuseau_gmt[48]=29
fuseau_gmt[49]=22
fuseau_gmt[50]=22
fuseau_gmt[51]=22
fuseau_gmt[52]=22
fuseau_gmt[53]=22
fuseau_gmt[54]=23
fuseau_gmt[55]=24
fuseau_gmt[56]=24

ecart_fuseau_gmt[0]=0
ecart_fuseau_gmt[1]=-1
ecart_fuseau_gmt[2]=-2
ecart_fuseau_gmt[3]=-3
ecart_fuseau_gmt[4]=-4
ecart_fuseau_gmt[5]=-5
ecart_fuseau_gmt[6]=-6
ecart_fuseau_gmt[7]=-7
ecart_fuseau_gmt[8]=-8
ecart_fuseau_gmt[9]=-9
ecart_fuseau_gmt[10]=-10
ecart_fuseau_gmt[11]=-11
ecart_fuseau_gmt[12]=-12
ecart_fuseau_gmt[13]=1
ecart_fuseau_gmt[14]=2
ecart_fuseau_gmt[15]=3
ecart_fuseau_gmt[16]=4
ecart_fuseau_gmt[17]=5
ecart_fuseau_gmt[18]=6
ecart_fuseau_gmt[19]=7
ecart_fuseau_gmt[20]=8
ecart_fuseau_gmt[21]=9
ecart_fuseau_gmt[22]=10
ecart_fuseau_gmt[23]=11
ecart_fuseau_gmt[24]=12
ecart_fuseau_gmt[25]=-3.5
ecart_fuseau_gmt[26]=+3.5
ecart_fuseau_gmt[27]=+4.5
ecart_fuseau_gmt[28]=+5.5
ecart_fuseau_gmt[29]=+9.5


function ChargerListeGMT(l, id_a_selectionner)
{
	selected=0;
	l[0]=new Option(" --- ", 0);
	for(var nb_ligne=0; nb_ligne < ville_gmt.length; nb_ligne++)
	{
		Libelle= ville_gmt[nb_ligne]+' (GMT '
		if (ecart_fuseau_gmt[fuseau_gmt[nb_ligne]]>0) Libelle=Libelle+'+'
		Libelle=Libelle+ecart_fuseau_gmt[fuseau_gmt[nb_ligne]]+')'
		if (id_a_selectionner==nb_ligne)
		{
			selected=nb_ligne+1;
		}
		opt = new Option(unescapeEntities(Libelle), nb_ligne);
		l[nb_ligne+1]=opt;
	}
	l.selectedIndex = selected;
}

function LocalTime(fuseau) 
{
	if (fuseau == null) return("");
	
	// on rcupere l'heure du systeme
	var x = new Date();
	
	// on intercepte l'heure GMT
	var heure_gmt_temp = x.getUTCHours();
	
	if (fuseau>fuseau_gmt.length) fuseau=20; // 0 h
	
	// on la transforme pour obtenir l'heure du fuseau horaire demandé
	var heure_gmt = heure_gmt_temp + ecart_fuseau_gmt[fuseau_gmt[fuseau]];
	
	// quelques corrections pour rtablir des heures infrieures a 0H et suprieures a 23H
	if ( heure_gmt < 0 ) 
	{
		heure_gmt = 24 + heure_gmt;
	}
	if (heure_gmt > 23) 
	{
		heure_gmt = heure_gmt - 24;
	}
	
	// on ajoute un zro (0) devant si les heures sont infrieures a 10 (plus joli)
	if (heure_gmt <= 9) heure_gmt = "0" + heure_gmt;
	
	// on intercepte les minutes
	var minutes = x.getMinutes();
	
	// on ajoute un zro (0) devant si les minutes sont infrieures a 10 (plus joli)
	if (minutes <= 9) minutes = "0" + minutes;
	
	// on intercepte les secondes
	var secondes = x.getSeconds();
	
	// on ajoute un zro (0) devant si les secondes sont infrieures a 10 (plus joli)
	if (secondes <= 9) secondes = "0" + secondes;
	
	// la chaine de l'heure GMT, qui ne bougera pas
	var gmt_base = heure_gmt_temp + ":" + minutes + ":" + secondes;
	
	// la chaine qui affichera l'heure sur le fuseau demand
	var gmt = LibLocalTime + ' ' + heure_gmt + ":" + minutes + ":" + secondes;
	
	return(gmt);
}

