SwitchTab = Class.create();
SwitchTab.prototype =
{
  initialize: function(options)
  {
		var options = Object.extend(
		{
			tabSel : 'sel'
		}, options || {});
		this.options = options;
    this.callback = $A([]);

    this.tabs = $A();
  },

	addTab: function(idTab,funct)
	{
		var tab = $(idTab);
		this.tabs.push(idTab);
		Event.observe(tab, "click", this.click.bindAsEventListener(this,tab));
		if (funct)
			this.callback[idTab] = funct;
	},

	click: function(e,tabClick)
	{
		var classe = this;
		$(this.tabs).each(function (tab)
		{
			var t = $(tab);
			var idTab = t.readAttribute('idTab');
			if (t != tabClick)
			{
				t.removeClassName(classe.options.tabSel);
				if ($(idTab))
					$(idTab).hide();
				else
					console.log('Tab: '+idTab+' non esiste');
			}
			else
			{
				t.addClassName(classe.options.tabSel);
				if ($(idTab))
				{
					if (classe.callback[tab])
						classe.callback[tab](idTab);

					$(idTab).show();
				}
				else
					console.log('Tab: '+idTab+' non esiste');
			}
		});
	},

	addCallBack: function(funct,metodo)
  {
    this.callback[metodo] = funct;
  }
}
