function tab( tabID, boxID ){
	var tabID = tabID;
	var boxID = boxID;
	
	this.getTabID = function(){
		return tabID;
	}
	
	this.getBoxID = function(){
		return boxID;
	}
}

function tabSet( tabsArray, defaultTab, tabOnClassName, tabOffClassName ){
	var tabsArray = tabsArray;
	var defaultTab = 0;
	
	/** METHODS **/
	this.selectTab = function( tabIndex ){
		return tabsArray[tabIndex];
	}
	
	this.addTab = function( newTab ){
		tabsArray[tabsArray.length] = newTab;
		return;
	}
	
	this.setDefaultTab = function( defaultTabIndex ){
		defaultTab = defaultTabIndex;
	}
	
	this.selectTab = function( defaultTabIndex ){
		this.setDefaultTab( defaultTabIndex );

		// turn the right tab on
		for(var i=0;i<tabsArray.length;i++){
			if(i==defaultTabIndex){
				// turn the tab on
				turnTabOn(i);
			}
			else{
				// turn the tab off
				turnTabOff(i);
			}
		}
	}

	function turnTabOn(tabIndex){
		var currentTab = document.getElementById(tabsArray[tabIndex].getTabID());
		var currentBox = document.getElementById(tabsArray[tabIndex].getBoxID());
		
		currentTab.className = tabOnClassName;
		currentBox.style.display = 'block';
	}

	function turnTabOff(tabIndex){
		var currentTab = document.getElementById(tabsArray[tabIndex].getTabID());
		var currentBox = document.getElementById(tabsArray[tabIndex].getBoxID());
		
		currentTab.className = tabOffClassName;
		currentBox.style.display = 'none';
	}

	function appendListener(obj,evnt,func){	
		if (obj.addEventListener){
			obj.addEventListener(evnt,func,false);
		}
		else if(obj.attachEvent){
			obj.attachEvent("on" + evnt,func);
		}
	}

	this.setUpClickEvents = function( tabSetObj ){
		// add on click events
		for(var i=0;i<tabsArray.length;i++){
			//document.getElementById(tabsArray[i].getTabID()).onclick = function(){alert(i);selectTab(i);};
			eval('document.getElementById(tabsArray[i].getTabID()).onclick = function(){'+'tabSetObj'+'.selectTab('+i+');};');
			//var clickFunction = function(){tabSetObj.selectTab(i);};
			//appendListener( document.getElementById(tabsArray[i].getTabID()), "click", clickFunction );
		}
	}



	// select the default tab
	this.selectTab( defaultTab );
}