var __TAB_SHOW	= 1;
var __TAB_HIDE	= 0;

function TTabControl(value){
	this.objName		= value;
	this.count			= 0;
	this.selectedIndex	= -1;
	this.tabs			= new Array();
	this.callbackName	= "";
}

TTabControl.prototype.callback = function(fName){
	this.callbackName = fName;
}

TTabControl.prototype.Add = function(imgObjName, selImgSrc, panelObjName){
	if(imgObjName != ""){
		var imgObj = MM_findObj(imgObjName);
		imgObj.style.cursor = 'hand';
		eval("imgObj.onclick = function(){clickTab('" + this.objName + "');};");
	}
	var item = new TTab(imgObj, selImgSrc, MM_findObj(panelObjName));
	this.tabs.push(item)
	this.count++;
}

TTabControl.prototype.selectTab = function(id){
	for(var i=0; i<this.tabs.length; i++){
		if(this.tabs[i].imgObj && this.tabs[i].imgObj.id == id){
			this.selectedIndex = i;
			this.display(this.tabs[i], __TAB_SHOW);
		} else {
			this.display(this.tabs[i], __TAB_HIDE);
		}
	}
}

TTabControl.prototype.selectTabIndex = function(index){
	if(index >= this.count) return;

	this.selectedIndex = index;
	this.display(this.tabs[index], __TAB_SHOW);
	for(var i=0; i<this.tabs.length; i++){
		if(i != index){
			this.display(this.tabs[i], __TAB_HIDE);
		}
	}
}

TTabControl.prototype.display = function(tab, bool){
	if(bool == __TAB_HIDE){
		if(tab.imgObj)
			tab.imgObj.src = tab.hideSrc;
		tab.panelObj.style.display = 'none';
	} else {
		if(tab.imgObj)
			tab.imgObj.src = tab.showSrc;
		tab.panelObj.style.display = 'block';
	}
}

function clickTab(objName){
	if(objName != ""){
		var obj = eval(objName);
		obj.selectTab(event.srcElement.id);
		if(obj.callbackName != ""){
			eval(obj.callbackName + "();");
		}
	}
}

function TTab(obj, selImgSrc, panel){
	this.imgObj		= obj;
	if(obj)
		this.hideSrc	= obj.src;
	this.showSrc	= selImgSrc;
	this.panelObj	= panel;
}