var TabsheetsConfig = {
	
	tabsClassName   : 'tabs',	
	sheetsClassName : 'sheets',
	sheetClassName  : 'sheet',
	activeClassName : 'active',
	aClassName      : 'this'
	
}


var TabsheetsHandler = {

	all : [],

	setActive : function(tabsSheetId, tabNumber) {
	
		if(this.all[tabsSheetId]) {
			this.all[tabsSheetId].setActive(tabNumber);
		}		
		
		return false;
	
	}
	
}

function Tabsheets(
	tabsheetsId,
	activeIndex
	) {
	
	this.container = document.getElementById(tabsheetsId);
	this.tabs = [];	
	this.sheets = [];
	
	if(this.container) {
	
		var children = this.container.childNodes;
						
		for(var i = 0; i < children.length; i++) {
		
			if(children[i].nodeType == 1) {
													
				if(Common.Class.match(children[i], TabsheetsConfig.tabsClassName)) {				
						
					var tabsChildren = children[i].getElementsByTagName('div');
					
					for(var j = 0; j < tabsChildren.length; j++) {
					
						var oHref = tabsChildren[j].getElementsByTagName('a')[0];
					
						this.tabs[this.tabs.length] = {
							caption : oHref.innerHTML,
							href    : oHref.href,
							node    : tabsChildren[j]
						};
						
					}
				
				}
				else if(Common.Class.match(children[i], TabsheetsConfig.sheetsClassName)) {
					
					var sheetsChildren = children[i].getElementsByTagName('div');
				
					for(var j = 0; j < sheetsChildren.length; j++) {	
						
						if(Common.Class.match(sheetsChildren[j], TabsheetsConfig.sheetClassName)) {
							this.sheets[this.sheets.length] = sheetsChildren[j];						
						}
							
					}
				
				}										
			
			}					
		
		}		
				
		this.id = TabsheetsHandler.all.length;						
		
		TabsheetsHandler.all[TabsheetsHandler.all.length] = this;
		
		this.setActive(activeIndex? activeIndex : 0);
		
	}		
	
}

Tabsheets.prototype.setActive = function(tabNumber) {	
	
	for(var i = 0; i < this.tabs.length; i++) {
		
		if(this.sheets[i]) {
					
			if(i == tabNumber) {
				
				this.tabs[i].node.innerHTML = '<b>' + this.tabs[i].caption + '</b>';
				
				Common.Class.add(this.tabs[i].node, TabsheetsConfig.activeClassName);
				Common.Class.add(this.sheets[i], TabsheetsConfig.activeClassName);
				
			}
			else {
				
				this.tabs[i].node.innerHTML = '<a href="' + this.tabs[i].href + '" class="' + TabsheetsConfig.aClassName + '" onclick="return TabsheetsHandler.setActive(' + this.id + ', ' + i + ')">' + this.tabs[i].caption + '</a>';
			
				Common.Class.remove(this.tabs[i].node, TabsheetsConfig.activeClassName);
				Common.Class.remove(this.sheets[i], TabsheetsConfig.activeClassName);
				
			}
			
		}
		
	}

}