﻿/////////////////////////////////////////////////////////////////////////// GLOBALS
var	g_aTabContentDivs			= new Array();
var	g_oTabSelected				= null;
var	g_nTabsHeight				= 27;
var	g_sTabSelectedLeftImgURL	= "images/ContentTabSelectedLeft.png";
var	g_sTabSelectedRightImgURL	= "images/ContentTabSelectedRight.png";
var	g_sTabSelectedBgnImgURL		= "images/ContentTabSelectedBgn.png";
var	g_sTabLeftImgURL			= "images/ContentTabLeft.png";
var	g_sTabRightImgURL			= "images/ContentTabRight.png";
var	g_sTabBgnImgURL				= "images/ContentTabBgn.png";



/////////////////////////////////////////////////////////////////////////// CTAB
function CTab(sLabel, sDescription, pOnFocus)
{
	//////////////////////////////////// FIELDS
	this.m_sLabel			= sLabel;
	this.m_sDescription		= (sDescription) ? sDescription : "";
	this.m_pOnFocus			= pOnFocus;
	this.m_bSelected		= false;
	this.m_nIndex;
	
	// HTML Elements
	this.m_eImgLeft			= null;
	this.m_eCellCenterImg	= null;
	this.m_eSpanLabel		= null;
	this.m_eImgRight		= null;
	this.m_eDivContent		= null;		// Container where the contents selected with the tabs is displayed
	
	
	
	//////////////////////////////////// METHODS
	this.Create = function()
	{
		var eCellContainer							= CreateElement(window.document.getElementById(g_sTabsContainerId), "td", "CellTab");
		
		var eTableContainer							= CreateElement(eCellContainer, "table")
		eTableContainer.cellPadding					= 0;
		eTableContainer.cellSpacing					= 0;
		
		var eTBodyContainer							= CreateElement(eTableContainer, "tbody");
		var eRowContainer							= CreateElement(eTBodyContainer, "tr");
		
		var eCellLeftImg							= CreateElement(eRowContainer, "td", "CellTabLeft");
		eCellLeftImg.style.width					= "0px";
		
		this.m_eImgLeft								= CreateElement(eCellLeftImg, "img");
		this.m_eImgLeft.src							= g_sTabLeftImgURL;
		this.m_eImgLeft.onmousedown					= this.OnMouseDown;
		this.m_eImgLeft["CTab"]						= this;
		
		this.m_eCellCenterImg						= CreateElement(eRowContainer, "td");
		this.m_eCellCenterImg.style.backgroundImage	= "url('" + g_sTabBgnImgURL + "')";
		this.m_eCellCenterImg.onmousedown			= this.OnMouseDown;
		this.m_eCellCenterImg["CTab"]				= this;
		
		this.m_eSpanLabel							= CreateElement(this.m_eCellCenterImg, "div", "SpanTabTextUnSelected");
		this.m_eSpanLabel.style.height				= "100%";
		this.m_eSpanLabel.style.paddingTop			= "3px";
		this.m_eSpanLabel.style.width				= "100%";
		this.m_eSpanLabel.onmousedown				= this.OnMouseDown;
		this.m_eSpanLabel["CTab"]					= this;
		
		var eBRLabel								= CreateElement(this.m_eSpanLabel, "nobr", null, this.m_sLabel);
		eBRLabel.style.height						= "100%";
		eBRLabel.onmousedown						= this.OnMouseDown;
		eBRLabel["CTab"]							= this;
		
		var eCellRightImg							= CreateElement(eRowContainer, "td");
		eCellRightImg.style.width					= "0px";
		
		this.m_eImgRight							= CreateElement(eCellRightImg, "img");
		this.m_eImgRight.src						= g_sTabRightImgURL;
		this.m_eImgRight.onmousedown				= this.OnMouseDown;
		this.m_eImgRight["CTab"]					= this;
		
		this.m_nIndex								= eCellContainer.cellIndex;
		this.m_eDivContent							= g_aTabContentDivs[this.m_nIndex];
	}
	
	this.OnMouseDown = function(oEvent)
	{
		if (!oEvent)				oEvent		= window.event;
		if (oEvent.srcElement)		eSrcElement	= oEvent.srcElement;
		if (oEvent.originalTarget)	eSrcElement	= oEvent.originalTarget;
		
		var oInstance	= eSrcElement["CTab"];
		oInstance.Select();
	}
	
	this.Select = function()
	{
		if (g_oTabSelected == this)	return;
		if (g_oTabSelected)			g_oTabSelected.UnSelect();
		
		this.m_eImgLeft.src							= g_sTabSelectedLeftImgURL;
		this.m_eCellCenterImg.style.backgroundImage	= "url('" + g_sTabSelectedBgnImgURL + "')";
		this.m_eSpanLabel.className					= "SpanTabTextSelected";
		this.m_eImgRight.src						= g_sTabSelectedRightImgURL;
		this.m_bSelected							= true;
		this.m_eDivContent.style.display			= "";
		
		document.getElementById(g_sTabsContentTitleId).innerHTML = this.m_sDescription;
		
		g_oTabSelected								= this;
		
		if (this.m_pOnFocus) this.m_pOnFocus.call();
	}
	
	this.UnSelect = function()
	{
		this.m_eImgLeft.src							= g_sTabLeftImgURL;
		this.m_eCellCenterImg.style.backgroundImage	= "url('" + g_sTabBgnImgURL + "')";
		this.m_eSpanLabel.className					= "SpanTabTextUnSelected";
		this.m_eImgRight.src						= g_sTabRightImgURL;
		this.m_bSelected							= false;
		this.m_eDivContent.style.display			= "none";
	}
	
	
	
	//////////////////////////////////// CONSTRUCTOR
	this.Create();
}