function initializeTabs()
{
	var containers = document.getElementsByTagName("div");
	for (var i = 0; i < containers.length; i++)
	{
		if (handleCSS("check", containers[i], "tabcontainer")) {
			Tabs.initialize(containers[i]);
		}
	}
}

var Tabs = {
	initialize: function(elem){
		var container = elem;
		var tabs = Tabs.getTabs(container);
		var console = Tabs.createConsole(container);
		// highlight first tab
		console.innerHTML = tabs[0].getElementsByTagName("div")[0].innerHTML;
		handleCSS("add", tabs[0].getElementsByTagName("h2")[0], "selected");
		// add events
		for (var i=0; i < tabs.length; i++)
		{
			var tab = tabs[i].getElementsByTagName("h2")[0];
			addEvent(tab, "click", function(e){Tabs.toggle(e, tabs, console);}, false);
		}
	},
	toggle: function(e, tabs, console)
	{
		var elem = getTarget(e);
		Tabs.clearTabs(tabs);
		handleCSS("add", elem, "selected");
		var current_content = ascendDOM(elem, "div").getElementsByTagName("div")[0].cloneNode(true);
		console.innerHTML = current_content.innerHTML;
	},
	clearTabs: function(tabs)
	{
		for (var i=0; i < tabs.length; i++)
		{
			handleCSS("remove", tabs[i].getElementsByTagName("h2")[0], "selected");
		}
	},
	createConsole: function(elem) {
		var console = document.createElement("div");
		handleCSS("add", console, "console");
		elem.appendChild(console);
		return console;
	},
	getTabs: function(elem) {
		var _tabs 	 = elem.getElementsByTagName("div");
		var _alltabs = new Array();
		for (var i = 0; i < _tabs.length; i++)
		{
			if (handleCSS("check", _tabs[i], "tab")) {
				_alltabs.push(_tabs[i]);
			}
		}
		return _alltabs;
	}
}

addEvent(window, "load", initializeTabs, false);


