/**
 * @author Juha Suni
 */
var TabControl = function(id){
	
	this.id = id;
	this._tabElm = null;
	this._tabs = new Array();
	this._selectors = new Array();
	this._active = null;
	
	this.init = function(){
		var a, ctrl = this, display = null;
		
		this._tabElm = document.getElementById(this.id);
		this._selectors = DomHtml.getElementsByClassName(this._tabElm,'tabSelector')[0].getElementsByTagName('li');
		this._tabs = DomHtml.getElementsByClassName(this._tabElm,'tabContent');
		
		for(var i=0;i<this._selectors.length;i++){
			a = this._selectors[i].getElementsByTagName('a')[0];
			if(a.parentNode.className == 'active') display = i;
			
			Events.attachEvent(a,'click',function(e){
				ctrl.handleSelectorMC(e);
			});
		}
		
		if(display != null) this.displayTab(display);
	}
	
	this.handleSelectorMC = function(e){
		var t = e.getTarget();
		var selector = t.parentNode;
		
		if(selector.className == 'active'){
			return false;
		}
		else{
			for (var i = 0; i < this._selectors.length; i++) {
				if(selector == this._selectors[i]){
					this.displayTab(i);
					break;
				}
			}
			return true;
		}
	}
	
	this.displayTab = function(tabNum){
		if (this._active != null) {
			this.hideTab(this._active);
		}
		
		this._tabs[tabNum].style.display = 'block';
		this._tabs[tabNum].style.visibility = 'visible';
		this._selectors[tabNum].className = 'active';
		this._active = tabNum;
	}
	
	this.hideTab = function(tabNum){
		this._tabs[tabNum].style.display = 'none';
		this._tabs[tabNum].style.visibility = 'hidden';
		this._selectors[tabNum].className = 'deactive';
	}
}
