function TabCtrl(id) {
	this._element = document.getElementById(id);
	
	this._tabs = new Array();
	this._panes = new Array();
	
	this.init = function () {
		for (var i = 0; i < this._element.childNodes.length; i++) {
			var eTbody = this._element.childNodes[i];
			if (eTbody.nodeType != 1 || eTbody.tagName != "TBODY") { continue; }
			
			var row = 0;
			
			for (var u = 0; u < eTbody.childNodes.length; u++) {
				var eTr = eTbody.childNodes[u];
				if (eTr.nodeType != 1 || eTr.tagName != "TR") { continue; }
				
				var cell = 0;
				
				for (var y = 0; y < eTr.childNodes.length; y++) {
					var eTd = eTr.childNodes[y];
					if (eTd.nodeType != 1 || eTd.tagName != "TD") { continue; }
					
					var div = 0;
					
					for (var t = 0; t < eTd.childNodes.length; t++) {
						var eDiv = eTd.childNodes[t];
						if (eDiv.nodeType != 1 || eDiv.tagName != "DIV") { continue; }
						
						if (row == 0) {
							this._tabs[div] = eDiv;
						} else if (row == 1) {
							this._panes[div] = eDiv;
						}
						
						div++;
					}
				}
				
				row++;
			}
		}
		
		this.addHandlers();
		this.switchTab(0);
	}
	
	this.addHandlers = function () {
		for (var i = 0; i < this._tabs.length; i++) {
			this.addHandler(this._tabs[i], i);
		}
	}
	
	this.addHandler = function(tab, num) {
		var handler = this;
		
		tab.onclick = function () {
			handler.switchTab(num);
		}
	}
	
	this.switchTab = function(num) {
		for (var i = 0; i < this._tabs.length; i++) {
			if (i == num) {
				this._tabs[i].className = "tab tab-selected layout";
			} else {
				this._tabs[i].className = "tab layout";
			}
		}
		
		for (var y = 0; y < this._panes.length; y++) {
			if (y == num) {
				this._panes[y].className = "pane pane-selected";
			} else {
				this._panes[y].className = "pane";
			}
		}
	}
}