function changeTab(activeTabI, TAB_PREFIX, TAB_SELECT_PREFIX){
	var tabI = 1;
	var curTab = document.getElementById(TAB_PREFIX+tabI);
	var curSelectTab = document.getElementById(TAB_SELECT_PREFIX+tabI);
	while(curTab && curSelectTab){
		makeInactiveTab(curTab);
		makeInactiveSelectTab(curSelectTab);
		tabI++;
		curTab = document.getElementById(TAB_PREFIX+tabI);
		curSelectTab = document.getElementById(TAB_SELECT_PREFIX+tabI);
	}
	
	var activeTabObj = document.getElementById(TAB_PREFIX+activeTabI);
	makeActiveTab(activeTabObj);
	var activeSelectTabObj = document.getElementById(TAB_SELECT_PREFIX+activeTabI);
	makeActiveSelectTab(activeSelectTabObj)
	loadIntoObject(activeTabObj, URL_INFO[TAB_PREFIX]+activeSelectTabObj.name);
}

function makeActiveTab(thisTabObj){
	thisTabObj.style.display="block";
}
function makeInactiveTab(thisTabObj){
	thisTabObj.style.display="none";
}

function toggleInline(id){
	var obj = document.getElementById(id);
	if(obj.style.display=="inline"){
		obj.style.display="none";
	}else{
		obj.style.display="inline";
	}
}

function toggleMakeActive(id, characterChangeId){
	isOpen = document.getElementById(id).style.display=="block";
	if(isOpen)
		document.getElementById(id).style.display="none";
	else
		document.getElementById(id).style.display="block";
	
	if(characterChangeId)
		document.getElementById(characterChangeId).innerHTML = (isOpen ? "+" : "-");
}
function makeActive(id){
	document.getElementById(id).style.display="block";
}
function makeInactive(thisTabObj){
	document.getElementById(id).thisTabObj.style.display="none";
}

function makeActiveSelectTab(thisSelectTabObj){
	thisSelectTabObj.className="selected";
}
function makeInactiveSelectTab(thisSelectTabObj){
	thisSelectTabObj.className="";
}

var URL_INFO = new Object();
function makeIntoTabs(selectTabContainerId, tabContainerId, TAB_PREFIX, TAB_SELECT_PREFIX, url){
	if(canXMLHTTP()){
		if(URL_INFO[TAB_PREFIX] || URL_INFO[TAB_SELECT_PREFIX]){
			alert("This Prefix Already Exists");
		}else{
			URL_INFO[TAB_PREFIX] = url;
			URL_INFO[TAB_SELECT_PREFIX] = url;
			var tc = document.getElementById(selectTabContainerId);
			var links = tc.getElementsByTagName("a");
			for(i=0;i<links.length;i++){
				links[i].href = "JAVASCRIPT:changeTab("+(i+1)+",'"+TAB_PREFIX+"','"+TAB_SELECT_PREFIX+"');";
			}
		}
	}else{
		//use Link Navigation	
	}
}

var TAB_LOADING = "Loading..."
var tabObj = null;
function loadIntoId(tabId, url){
	loadTabIntoObject(document.getElementById(tabId), url)
}
function loadIntoObject(obj, url){
	tabObj = obj;
	if(tabObj.innerHTML == "" || tabObj.innerHTML == TAB_LOADING){
		tabObj.innerHTML=TAB_LOADING;
		 loadXMLTabHTML(url);
	}
}

function canXMLHTTP(){
	return false;//window.XMLHttpRequest || window.ActiveXObject;
}
function loadXMLTabHTML(url){
	xmlhttpTabLoad=null;
	
	if (window.XMLHttpRequest){
		//MOZILLA, ...
		xmlhttpTabLoad=new XMLHttpRequest();
	}
	else if (window.ActiveXObject){
		//IE
		xmlhttpTabLoad=new ActiveXObject("Microsoft.XMLHTTP");
	}
	if (xmlhttpTabLoad!=null){
		xmlhttpTabLoad.onreadystatechange=tabLoadStateChange;
		xmlhttpTabLoad.open("GET",url,true);
		xmlhttpTabLoad.send(null);
	}else{
		alert("Your browser does not support remote loading of data.")
	}
}



function tabLoadStateChange(){
	if (xmlhttpTabLoad.readyState==4){
		// LOADED
		if (xmlhttpTabLoad.status==200){
			// OK
			var responseText = xmlhttpTabLoad.responseText;
			tabObj.innerHTML = responseText;
			
		}else{
			alert("Unable to Load Data");
		}
	}
}
