var currentTab = 0;
var canChangeTab = true;
function selectTab(tabNum, alwaysChange)
{
	if (canChangeTab || alwaysChange)
	{
		currentTab=tabNum;
		var arrtabT = createIdsArray("tabTxt","td");
		var arrcharts = createIdsArray("charts","iframe");
		var arrsepImg = createIdsArray("sepImg","img");
		for(var a=0; a<arrtabT.length; a++)
		{
			arrtabT[a].style.backgroundColor= _var2;
			arrtabT[a].style.borderTopColor= _var3;
			arrtabT[a].style.borderBottomColor= _var4;
			if (a<2) arrsepImg[a].src= _var5;
			if (a==tabNum) arrcharts[a].style.display='inline';
			else arrcharts[a].style.display='none';
		}
		arrsepImg[2].src= _var6;
		
		arrtabT[tabNum].style.backgroundColor= _var7;
		arrtabT[tabNum].style.borderTopColor= _var8;//gray
		arrtabT[tabNum].style.borderBottomColor= _var9;//green
		if (tabNum>0) arrsepImg[tabNum-1].src= _var10;
		if (tabNum<2) arrsepImg[tabNum].src= _var11;
		else arrsepImg[tabNum].src= _var12;
		setPinAndView();
	}
}

function createIdsArray(id,tagname)
{ 
    var idsArray = new Array();
    var tArr = document.getElementsByTagName(tagname);
    for(var i=0; i<tArr.length;i++)
    {
        if(tArr[i].id == id)
        {
            idsArray.push(tArr[i]);
        }
    }
    return idsArray; 
}


var arrPinAvailability = new Array(false,false,false);
function setPinAvailability(tabId, showPin)
{
	if (1*tabId >= 0 && arrPinAvailability[tabId] != showPin)
	{
		arrPinAvailability[tabId] = showPin;
		setPinAndView(true);
	}
}

function setPinAndView(setPinOnly)
{	var arrcharts = createIdsArray("charts","iframe");
	if (arrPinAvailability[currentTab])
	{	
		if (chartWins[currentTab] == null) gebi("tdF").innerHTML=detachHTML;
		else if (gebi("tdF")) gebi("tdF").innerHTML=attachHTML;	
	}
	else if (gebi("tdF")) gebi("tdF").innerHTML='&nbsp;';
	if (!setPinOnly && chartWins[currentTab] != null && arrcharts[currentTab].src!='Forex.bgGray.htm')
		arrcharts[currentTab].src='Forex.bgGray.htm';
}

function onLogin()
{
    var arrcharts = createIdsArray("charts","iframe");
	arrcharts[1].src=arrcharts[1].src;
	arrcharts[2].src=arrcharts[2].src;
}

var attachHTML = '<img src="Images/Forex.Pin.Hor.gif" onclick="attachChart(false, true);" border=0 style="CURSOR: pointer" title="Click to attach chart">';
var detachHTML = '<img src="Images/Forex.Pin.Vert.gif" onclick="detachChart();" border=0 style="CURSOR: pointer" title="Click to detach chart">';
function detachChart(chartIndex)
{
    var arrcharts = createIdsArray("charts","iframe");
	if (!chartIndex) chartIndex=currentTab + 1; 
	gebi("tdF").innerHTML=attachHTML;
	if (chartWins[chartIndex-1]!=null) chartWins[chartIndex-1].close();
	chartWins[chartIndex-1]=window.open('Forex.Charts.Content.aspx?mode=' + chartIndex + '&tabId=' + currentTab,'chw' + chartIndex,"width=765,height=492,left=5,top=5,status=no,toolbar=no,menubar=no,resizable=yes,scrollbars=no");
	arrcharts[chartIndex-1].src='Forex.bgGray.htm';
}

function attachChart(chartIndex, closeWindow)
{
    var arrcharts = createIdsArray("charts","iframe");
	var autoExec = null;
	if (!canChangeTab) autoExec = _onSessionTimeoutWindowShow;
	if (!chartIndex) chartIndex=currentTab + 1;
	selectTab(chartIndex - 1, true);
	if (arrPinAvailability[chartIndex - 1]) gebi("tdF").innerHTML=detachHTML;
	else gebi("tdF").innerHTML='&nbsp;';
	gebi("tdF").innerHTML=detachHTML;
	if (chartWins[chartIndex-1]!=null)
	{
		if (closeWindow) 
		{	
			chartWins[chartIndex-1].doUnload=false;
			chartWins[chartIndex-1].close();
		}
		chartWins[chartIndex-1]=null;
	}
	arrcharts[chartIndex-1].src='Forex.Charts.Content.aspx?mode=' + chartIndex + '&tabId=' + currentTab;
	if (autoExec != null) autoExec();
}

function _onSessionTimeoutWindowShow()
{
    var arrcharts = createIdsArray("charts","iframe");
	canChangeTab = false;
	arrcharts[currentTab].style.visibility = 'hidden';
}
function _onSessionTimeoutWindowHide()
{
    var arrcharts = createIdsArray("charts","iframe");
	canChangeTab = true;
	arrcharts[currentTab].style.visibility = 'visible';
}

var chartWins=new Array(null, null, null);

function setDetachWin(numChart, winRef)
{
	var flag = (chartWins[numChart]==null);
	chartWins[numChart] = winRef;	
	if (flag) setPinAndView();
}
