var ServerTime =
{
	init: function()
	{
		AjaxHelper.request
		(
			'server-time', null, function(pTransport) 
			{
				var pJson = pTransport.responseText.evalJSON(true);
				
				$('szServerTime').innerHTML = pJson.currentTime;
				$('szServerTime').style.color = '#555555';
				
				var aParts = pJson.currentTime.split(/:/i);
				
				ServerTime.Hours = parseInt(aParts[0]);
				ServerTime.Minutes = parseInt(aParts[1]);
				ServerTime.Seconds = parseInt(aParts[2]);
				
				ServerTime.Interval = setInterval
				(
					function()
					{
						ServerTime.updateTime();
					},
					1000
				);
			},
			function()
			{
				$('szServerTime').innerHTML = 'N/A';
				$('szServerTime').style.color = '#bbbbbb';
			}
		);
	},
	
	parseInt: function(iInteger)
	{
		iInteger = parseInt(iInteger);
		
		if (iInteger < 10)
		{
			return '0' + iInteger;
		}
		
		return iInteger;
	},
	
	updateTime: function()
	{
		ServerTime.Seconds++;
		
		if (ServerTime.Seconds == 60)
		{
			ServerTime.Seconds = 0;
			ServerTime.Minutes++;
		}
		
		if (ServerTime.Minutes == 60)
		{
			ServerTime.Minutes = 0;
			ServerTime.Hours++;
		}
		
		if (ServerTime.Hours == 24)
		{
			ServerTime.Hours = 0;
			ServerTime.Minutes = 0;
			ServerTime.Seconds = 0;
		}
		
		$('szServerTime').innerHTML = ServerTime.parseInt(ServerTime.Hours) + ':'
																			+ ServerTime.parseInt(ServerTime.Minutes)
																			+ ':' + ServerTime.parseInt(ServerTime.Seconds);
	}
}

Event.observe(window, 'load', ServerTime.init, false);