// Tabs code
if (typeof HeaderTabs == "undefined") {
    var HeaderTabs = { };
}
HeaderTabs.init = function(useHistory) {
	var tabView;
	var tabids = [];

	if (useHistory)
	{
		var bookmarkedtab = YAHOO.util.History.getBookmarkedState('tab') || '--no-tab--';

		YAHOO.util.History.register('tab', bookmarkedtab, function(tabid)
		{
			for (var i = 0; i<tabids.length; i++)
			{
				if (tabids[i] == tabid)
				{
					tabView.set('activeIndex', i);
					return;
				}
			}
		});

		try {
			YAHOO.util.History.initialize();
		}
		catch (e)
		{
			useHistory = false;
		}
	}

	if (useHistory)
	{
		YAHOO.util.History.onLoadEvent.subscribe(function()
		{
			var tabid = YAHOO.util.History.getCurrentState("tab");
			for (var i = 0; i<tabids.length; i++)
			{
				if (tabids[i] == tabid)
				{
					tabView.set('activeIndex', i);
					return;
				}
			}
		});

		YAHOO.util.History.onLoadEvent.subscribe(function () {
			var myModuleCurrentState = YAHOO.util.History.getCurrentState("tabs");
		});
	}

	YAHOO.util.Event.onContentReady('headertabs', function()
	{
		tabView = new YAHOO.widget.TabView('headertabs');

		var tabs = new YAHOO.util.Element('headertabs').getElementsByClassName('yui-content')[0].childNodes;

		YAHOO.util.Dom.batch(tabs, function(tab) {
			tabids.push(tab.id);
		});

		tabView.set('activeIndex', 0);

		if (useHistory)
		{
			tabView.addListener('activeTabChange', function(e)
			{
				if (e.prevValue != e.newValue)
				{
					YAHOO.util.History.navigate('tab', tabids[tabView.get('activeIndex')]);
				}
			});
		}
	});

	YAHOO.util.Event.onContentReady('bodyContent', function()
	{
		// don't try adding tabs if there is no tabview
		if (typeof tabView == "undefined")
		{
			return;
		}

		// Adding Factbox tab
		var factboxdiv = new YAHOO.util.Element('bodyContent').getElementsByClassName('smwfact')[0];
		if (factboxdiv)
		{
			tabView.addTab(new YAHOO.widget.Tab({
				label: 'Factbox',
				contentEl: factboxdiv
			}));

			tabids.push('Factbox');
		}
	});
};
