var TabHandler = new function(){

	this.Init = function(){
		TabHandler.InitTabs();
	}
	
	this.TabClick = function(id){
		if (id != null){
			//document.location.hash = id;
			TabHandler.SetSelectedTab(id);
		}
	}
	
	this.SetSelectedTab = function(id){
		m_CurrentTab = id;
		var tab = document.getElementById(id + "tab");
		var item = document.getElementById(id + "item");
		var tabs = tab.parentNode.getElementsByTagName("li");
		var items = item.parentNode.getElementsByTagName("div");
		for (var i = 0; i < tabs.length; i++){
			if (tabs[i] == tab){
				tabs[i].className = "selected";
			} else {
				tabs[i].className = "";
			}
		}
		
		for (var i = 0; i < items.length; i++){
			if (items[i] == item){
				if (items[i].className.indexOf(" selected") == -1)
					items[i].className += " selected";
			} else {
				items[i].className = items[i].className.replace(/ selected/, "")
			}
		}
		return true;
	}
	
	this.InitTabs = function(){
		if (document.location.href.indexOf("#") == -1){
			id = selectedTab;
			if (id == null || id.length == 0 || !TabHandler.TabExists(id)) {
				id = TabHandler.GetFirstTabId();
			}
			TabHandler.TabClick(id);
		} else {
			var hash = document.location.hash;
			if (hash.length > 0){
				if (hash.indexOf("#") == 0){
					hash = hash.substr(1);
				}
				TabHandler.TabClick(hash);
			}
		}
	}
	
	this.TabExists = function(id){
		return document.getElementById(id + "tab") != null;
	}
	
	this.GetFirstTabId = function(){
		var tabnavigationholder = document.getElementById("tabnavigation");
		var tabs = null;
		if(tabnavigationholder != null){
			tabs = tabnavigationholder.getElementsByTagName("li");
		}
		if (tabs != null && tabs.length > 0){
			var tab = tabs[0];
			return tab.id.substr(0, tab.id.length - 3);
		} else {
			return null;
		}
	}
}

if(document.addEventListener)
	document.addEventListener("load", TabHandler.Init, false);
if(window.addEventListener)
	window.addEventListener("load", TabHandler.Init, false);
else if(window.attachEvent)
	window.attachEvent("onload", TabHandler.Init);
