var TabboxDetector=new Class({
	initialize: function() {
	this.tabboxes=$$('.tabbox');
	this.tabboxes.each(function (tabbox)
		{
		new TabboxManager(tabbox);
		}, this);
	}
});

var TabboxManager=new Class({
	initialize: function(tabbox) {
		this.root=$(tabbox);
		this.tabs = this.root.getElements('.tabmenu a');
		this.panels = this.root.getElements('.tabpanel');
		this.tabs.each(function (tab)
			{
			$(tab).addEvent('click', this.selectPanel.bind(this));
			},this);
	},
	selectPanel: function(event) {
		var clickedTab=event.target;
		this.tabs.each(function (tab)
			{
			if(tab==clickedTab)
				{
				$(tab.parentNode).addClass('selected');
				}
			else
				{
				$(tab.parentNode).removeClass('selected');
				}
			},this);
		this.panels.each(function (panel)
			{
			if($(panel).get('id')==clickedTab.href.substring(clickedTab.href.indexOf('#')+1))
				{
				$(panel).addClass('selected');
				}
			else
				{
				$(panel).removeClass('selected');
				}
			},this);
		event.stop();
		clickedTab.parentNode.focus();
	}
});

window.addEvent('domready', function() {
    new TabboxDetector();
});
