
var Tabs = new Class({
	ClassName: 'Tabs',
	initialize: function(container) {
		this.container = container;
		this.tabs      = this.container.getChildren('h2');
		this.panels    = this.container.getChildren('div');

		this.tabsCt = new Element('div', {'class':'tabs-ct'});
		this.tabsCt.inject(this.container);
		this.tabsCt.adopt(this.tabs);

		this.tabs.addEvents({
			click: function(event) {
				this.activateTab($(event.target).getParent('h2').getAllPrevious('h2').length);
			}.bind(this)
		});

		this.container.show();
	},

	activateTab: function(i) {
		this.tabs.getElement('a').removeClass('selected');
		this.tabs[i].getElement('a').addClass('selected');
		this.panels.each(function(panel) { panel.hide() });
		this.panels[i].show();

		Register.broadcastMessage({ msg:'tabChanged', data:this.tabs[i] });
	}
});
