RegisterNamespace("Arland");

var CP= null;

Arland.ControlPanel = Class.create ({
	initialize: function(id) {
		this.isOpened = false;
		this.id = id;
		this.container = $(id);
		this.handle = $('toggle');
		
		if(this.handle!=null)
		{
			this.icon= this.handle.down('img');
			Event.observe(this.handle, 'click', function() {
				this.toggle();
			}.bind(this));
			this.handle.style.display= 'block';
		}
	},
	
	toggle: function()
	{
		if(!this.isOpened)
			this.Open();
		else
			this.Close();
	},
	
	Open: function()
	{
		this.backgroundElement = $(document.body.appendChild(document.createElement("div")));
		this.backgroundElement.addClassName("controlPanelBg");
		this.backgroundElement.observe("click", (function() {
			this.Close();
		}).bind(this));

		new Effect.Move(this.container, {x: 0, y: 410, duration: 0.5});
		this.isOpened= true;
		this.icon.src= 'img/icons/arrow_double_up.png';
				new Ajax.Request("user.aspx?cmd=get_saldo", {
					method: "post",
					onSuccess: function(tr)
					{	
						var komma =",";
						var saldo = parseFloat(tr.responseText.replace(",", ".")).toFixed(2);
						updateSaldo(saldo);
					},
					onFailure: function(tr)
					{
						signal("error refreshing");
					}
				});
	},
	
	Close: function()
	{
		if(this.backgroundElement)
		{
			this.backgroundElement.hide();
			this.backgroundElement.parentNode.removeChild(this.backgroundElement);
			this.backgroundElement = null;
		}

		new Effect.Move(this.container, {x: 0, y: -410,duration: 0.5});
		this.isOpened= false;
		this.icon.src= 'img/icons/arrow_double_down.png';
	}
});


Arland.ServerTime = Class.create ({
	initialize: function(id)
	{
		this.id = id;
		this.container = $(id);
		if(this.container!=null)
		{ 
		  this.display = this.container.down(".time");
		  var timeString = this.display.innerHTML;
		  var utcYear = parseInt(timeString.substring(0, 4),10);
		  var utcMonth = parseInt(timeString.substring(5, 7),10);
		  var utcDay = parseInt(timeString.substring(8, 10),10);
		  var utcHours = parseInt(timeString.substring(11, 13),10);
		  var utcMinutes = parseInt(timeString.substring(14, 16),10);
		  var utcSeconds = parseInt(timeString.substring(17, 19),10);

		  this.serverTime= Date.UTC(utcYear, utcMonth, utcDay, utcHours, utcMinutes, utcSeconds);
		  this.refreshTime();
		  this.container.removeClassName('hidden');
		  window.setInterval(this.refreshTime.bind(this), 1000);
		}
	},

	refreshTime: function()
	{
		var tmp= new Date(this.serverTime).toLocaleTimeString();
		this.display.innerHTML= tmp;
		this.serverTime += 1000;
	}
});

Event.observe(window, "load", function() {
	CP= new Arland.ControlPanel("controlPanel");
	new Arland.ServerTime("serverTime");

	hs.Expander.prototype.onAfterClose = function(expander) {
		var refresh = expander.a.hasClassName("hsRefresh");
		if(refresh)
		{
			new Ajax.Request("remotegateway.aspx?cmd=refresh", {
				method: "get",
				onSuccess: function(tr)
				{
					var saldo = parseInt(tr.responseText).toFixed(2);
					updateSaldo(saldo);
				},
				onFailure: function(tr)
				{
					signal("error refreshing");
				}
			});
		}
	}

});
