// JavaScript Document
// Mostra orario variabile a seconda del fuso orario e nome della cittā

var t=0;

function mostra(corrente,e,nome,f)
{
 if(document.getElementById,document.getElementById)
   {
     elm=document.getElementById("city");
     elml=corrente;
     elm.innerHTML=nome;
     elm.style.height=elml.style.height;
     elm.style.top=parseInt(elml.offsetTop+elml.offsetHeight);
     elm.style.left=parseInt(elml.offsetLeft+elml.offsetWidth+10);
     elm.style.visibility = "visible";
	 //PEZZA PER FUSO
		f=f-1;
	 //FINE PEZZA PER FUSO
	 GetTime(f);
	 el=document.getElementById("orario_fuso");
     el.style.visibility = "visible";
     }	  
}
// Nascondi orario quando non č selezionata una cittā
function nascondi()
{
  clearTimeout(t);
  if(document.getElementById,document.getElementById)
     elm.style.visibility="hidden" 
	 el.style.visibility="hidden" 
}

function GetLocalTime() 
{
	var ldata = new Date();
	//Calcola l'ora locale GMT
	var ldata_offset = ldata.getTimezoneOffset()/60;
	var lgmt = (ldata.getHours() + ldata_offset);
	document.quadrante.ora.value = (IfZero(ldata.getHours()) + ":" + IfZero(ldata.getMinutes()) + ":" + IfZero(ldata.getSeconds()));
	setTimeout("GetLocalTime()", 1000);
}

function GetTime(f) 
{
	var data = new Date();
	//Calcola l'ora locale GMT
	var data_offset = data.getTimezoneOffset()/60;
	var gmt = (data.getHours() + data_offset);
	var orario = ":" + IfZero(data.getMinutes()) + ":" +  IfZero(data.getSeconds());
	//Calcola i fusi orari
	if(f>=0)
		{
			var fuso=check24(((gmt + f) > 24) ? ((gmt + f) - 24) : (gmt + f));
			document.quadrante2.ora.value = (IfZero(fuso) + orario);
	 		t=setTimeout("GetTime("+f+")", 1000);
		}
	else 
		{
			var fuso =check24(((gmt + (24+f)) > 24) ? ((gmt + (24+f)) - 24) : (gmt + (24+f)));
			document.quadrante2.ora.value = (IfZero(fuso) + orario);
			t=setTimeout("GetTime("+f+")", 1000);
		}
}

function IfZero(num) {
	return ((num <= 9) ? ("0" + num) : num);
}

function check24(hour) {
	return (hour >= 24) ? hour - 24 : hour;
}

