var Site = {
	start: function() {
		Site.body = $(document.body);

		// Tabs items
		Site.body.getElements(".tabs-items").each(function(element) {
			new TabbedPanel(element);
		});
	} 
};

var TabbedPanel = new Class({
	initialize: function(panel) {
		this.panel = $(panel);

		var activeTab = null;

		this.tabs = this.panel.getElements('.tabs a');
		this.tabs.each(function(tab) {
			var uri = tab.get("href").toURI();

			if(uri.get("fragment") == new URI().get("fragment")) {
				activeTab = tab;
			} else if(tab.hasClass("active")) {
				activeTab = tab;
			}

			var contentElement = $(uri.get("fragment"));
			if(contentElement) {
				contentElement.erase("id");

				tab.store("content", contentElement);
				tab.addEvent("click", this.activate.bind(this, tab));
			}
		}.bind(this));

		if(activeTab) {
			this.activate(activeTab);
		} else {
			this.activate(this.tabs[0]);
		}
	},

	deactivate: function() {
		this.tabs.each(function(tab) {
			tab.removeClass("active").retrieve("content").hide();
		});
	},

	activate: function(tab) {
		this.deactivate();

		if(tab) {
			tab.addClass("active").retrieve("content").show();
		}
	}
});

window.addEvent("domready", function() {
	Site.start();
});
