var didInit;

function initStatGraphs ()
{
	if (didInit)
	{
		return;
	}
	
	var graphs = document.getElementById("graphs");
	
	if (graphs != null)
	{
		didInit = true;
	}
	
	var mTabs = document.createElement("ul");
	mTabs.id = "tabs";
	
	var defaulttab;
	
	defaulttab = "visitors";
	
	document.getElementById("graph-list").className = "tabbed";
	
	var l = document.getElementById("graph-list").getElementsByTagName("div");
	for (var i=0; i < l.length; i++)
	{
		var mDiv = l.item(i);
		mDiv.className = (mDiv.id == "graphs-"+defaulttab) ? "graph tab on" : "graph tab off";
		
		var mTab = document.createElement("li");
		mTab.id = mDiv.id.split("-")[1]+"-tab";
		mTab.className = (mDiv.id == "graphs-"+defaulttab) ? "on" : "off";
		addEvent(mTab, "click", tabSelect);
		
		var tabTitle;
		
		switch (mDiv.id.split("-")[1])
		{
		case "visitors":
			tabTitle = "Visitors";
			break;
		case "hits":
			tabTitle = "Hits";
			break;
		case "visitors_filtered":
			tabTitle = "Visitors (filtered)";
			break;
		case "hits_filtered":
			tabTitle = "Hits (filtered)";
			break;
		case "transfer":
			tabTitle = "Transfer";
			break;
		case "browsers":
			tabTitle = "Browser share";
			break;
		case "oss":
			tabTitle = "OS share";
			break;
		}
		
		mTab.appendChild(document.createTextNode(tabTitle));
		mTabs.appendChild(mTab);
	}
	
	graphs.insertBefore(mTabs, document.getElementById("graph-list"));
}

function tabSelect (e)
{
	var obj = e.target !== undefined ? e.target : e.srcElement !== undefined ? e.srcElement : this;
	if (obj.nodeType == 3)
	{
		obj = obj.parentNode;
	}
	
	var l = document.getElementById("tabs").getElementsByTagName("li");
	for (var i=0; i < l.length; i++)
	{
		l.item(i).className = "off";
	}
	obj.className = "on";
	
	l = document.getElementById("graph-list").getElementsByTagName("div");
	for (var i=0; i < l.length; i++)
	{
		l.item(i).className = "graph tab off";
	}
	document.getElementById("graphs-"+obj.id.split("-")[0]).className = "graph tab on";
}

function addEvent (obj, e, f)
{
	if (obj.addEventListener) // Standard method
	{
		obj.addEventListener(e, f, false);
	}
	else if (obj.attachEvent) // Trident
	{
		obj.attachEvent("on"+e, f);
	}
}

