/////////////////////////////////////////////////////////////////////////////
// Function : NavNode (constructor)
// Comments :
/////////////////////////////////////////////////////////////////////////////
function NavNode(id, label, href, parent)
{
	this.m_parent = null;
	this.m_level = 0;

	if (parent)
	{
		this.m_parent = parent;
		this.m_level = parent.m_level+1;
	}

	this.m_id = id;

	// assume that m_label will most often be used directly as HTML
	this.m_rawlabel = label;

	label = label.replace(/&/g, '&amp;');
	label = label.replace(/</g, '&lt;');
	label = label.replace(/>/g, '&gt;');
	label = label.replace(/"/g, '&quot;');

	this.m_label = label;

	this.m_href = href;
	this.m_subNodes = new Array();

	var argValues = NavNode.arguments;
	var argCount = NavNode.arguments.length;

	for (i = 4 ; i < argCount ; i++)
	{
		var attrName = argValues[i].split("==")[0];
		var attrValue = argValues[i].split("==")[1];

		eval("this.cp_" + attrName + " = '" + attrValue + "';");
	}

	NavNode.prototype.addNode = addNode;
	NavNode.prototype.isSelected = isSelected;
}

/////////////////////////////////////////////////////////////////////////////
// Function : addNode
// Comments :
/////////////////////////////////////////////////////////////////////////////
function addNode(id, label, href)
{
	var newIndex = this.m_subNodes.length;
	var newNode = new NavNode(id, label, href, this);

	var argValues = addNode.arguments;
	var argCount = addNode.arguments.length;

	for (i = 3 ; i < argCount ; i++)
	{
		var attrName = argValues[i].split("==")[0];
		var attrValue = argValues[i].split("==")[1];

		eval("newNode.cp_" + attrName + " = '" + attrValue + "';");
	}

	this.m_subNodes[newIndex] = newNode;
	return newNode;
}

/////////////////////////////////////////////////////////////////////////////
// Function : isSelected
// Comments :
/////////////////////////////////////////////////////////////////////////////
function isSelected()
{
    var pos = window.location.href.lastIndexOf("/");
    var docname = window.location.href.substring(pos+1, window.location.href.length);

    pos = this.m_href.lastIndexOf("/");
    var myname = this.m_href.substring(pos+1, this.m_href.length);

    if (docname == myname)
		return true;
	else
		return false;
}

/////////////////////////////////////////////////////////////////////////////
// Function : customSectionPropertyExists
// Comments :
/////////////////////////////////////////////////////////////////////////////
function customSectionPropertyExists(csp)
{
	return (typeof csp != _U && csp != null);
}

/////////////////////////////////////////////////////////////////////////////
// Function : getCustomSectionProperty
// Comments :
/////////////////////////////////////////////////////////////////////////////
function getCustomSectionProperty(csp)
{
	if (customSectionPropertyExists(csp))
	{
		return csp;
	}
	else
	{
		return "";
	}
}

/////////////////////////////////////////////////////////////////////////////

var g_navNode_Root = new NavNode('76','Home',ssUrlPrefix + 'index.htm',null,'secondaryUrlVariableField==region1');
g_navNode_0=g_navNode_Root.addNode('77','Asset Allocation',ssUrlPrefix + 'AssetAllocation/index.htm');
g_navNode_0_0=g_navNode_0.addNode('84','Overview',ssUrlPrefix + 'AssetAllocation/Overview/index.htm');
g_navNode_0_1=g_navNode_0.addNode('85','Indicators',ssUrlPrefix + 'AssetAllocation/Indicators/index.htm');
g_navNode_0_2=g_navNode_0.addNode('86','Tools',ssUrlPrefix + 'AssetAllocation/Tools/index.htm');
g_navNode_0_3=g_navNode_0.addNode('87','Publications',ssUrlPrefix + 'AssetAllocation/Publications/index.htm');
g_navNode_1=g_navNode_Root.addNode('79','Equities',ssUrlPrefix + 'Equities/index.htm');
g_navNode_1_0=g_navNode_1.addNode('88','Overview',ssUrlPrefix + 'Equities/Overview/index.htm');
g_navNode_1_1=g_navNode_1.addNode('89','Indicators',ssUrlPrefix + 'Equities/Indicators/index.htm');
g_navNode_1_2=g_navNode_1.addNode('90','Tools',ssUrlPrefix + 'Equities/Tools/index.htm');
g_navNode_1_3=g_navNode_1.addNode('91','Publications',ssUrlPrefix + 'Equities/Publication/index.htm');
g_navNode_2=g_navNode_Root.addNode('80','Fixed Income',ssUrlPrefix + 'FixedIncome/index.htm');
g_navNode_2_0=g_navNode_2.addNode('92','Overview',ssUrlPrefix + 'FixedIncome/Overview/index.htm');
g_navNode_2_1=g_navNode_2.addNode('93','Indicators',ssUrlPrefix + 'FixedIncome/Indicators/index.htm');
g_navNode_2_2=g_navNode_2.addNode('94','Tools',ssUrlPrefix + 'FixedIncome/Tools/index.htm');
g_navNode_2_3=g_navNode_2.addNode('95','Publications',ssUrlPrefix + 'FixedIncome/Publications/index.htm');
g_navNode_3=g_navNode_Root.addNode('81','Foreign Exchange',ssUrlPrefix + 'ForeignExchange/index.htm');
g_navNode_3_0=g_navNode_3.addNode('96','Overview',ssUrlPrefix + 'ForeignExchange/Overview/index.htm');
g_navNode_3_1=g_navNode_3.addNode('97','Indicators',ssUrlPrefix + 'ForeignExchange/Indicators/index.htm');
g_navNode_3_2=g_navNode_3.addNode('98','Tools',ssUrlPrefix + 'ForeignExchange/Tools/index.htm');
g_navNode_3_3=g_navNode_3.addNode('99','Publications',ssUrlPrefix + 'ForeignExchange/Publications/index.htm');
g_navNode_4=g_navNode_Root.addNode('82','State Street Associates',ssUrlPrefix + 'StateStreetAssociates/index.htm','ArticleCategory==Weekly World Flows');
g_navNode_4_0=g_navNode_4.addNode('100','Overview',ssUrlPrefix + 'StateStreetAssociates/Overview/index.htm');
g_navNode_4_1=g_navNode_4.addNode('45','Indicators',ssUrlPrefix + 'StateStreetAssociates/Indicators/index.htm');
g_navNode_4_2=g_navNode_4.addNode('49','Tools',ssUrlPrefix + 'StateStreetAssociates/Tools/index.htm');
g_navNode_4_3=g_navNode_4.addNode('50','Publications',ssUrlPrefix + 'StateStreetAssociates/Publications/index.htm');
g_navNode_5=g_navNode_Root.addNode('83','Trade Execution',ssUrlPrefix + 'TradeExecution/index.htm');
g_navNode_5_0=g_navNode_5.addNode('105','Trade',ssUrlPrefix + 'TradeExecution/Trade/index.htm');
g_navNode_5_0_0=g_navNode_5_0.addNode('108','FX Connect',ssUrlPrefix + 'TradeExecution/Trade/FXConnect/index.htm');
g_navNode_5_0_1=g_navNode_5_0.addNode('109','Equity Connect',ssUrlPrefix + 'TradeExecution/Trade/EquityConnect/index.htm');
g_navNode_5_0_2=g_navNode_5_0.addNode('110','Futures Connect',ssUrlPrefix + 'TradeExecution/Trade/FuturesConnect/index.htm');
g_navNode_5_0_3=g_navNode_5_0.addNode('111','MM Connect',ssUrlPrefix + 'TradeExecution/Trade/MMConnect/index.htm');
g_navNode_5_0_4=g_navNode_5_0.addNode('115','Fund Connect',ssUrlPrefix + 'TradeExecution/Trade/FundConnect/index.htm');
g_navNode_5_0_5=g_navNode_5_0.addNode('13','FICross',ssUrlPrefix + 'TradeExecution/Trade/FICross/index.htm');
g_navNode_5_1=g_navNode_5.addNode('106','Post-Trade',ssUrlPrefix + 'TradeExecution/PostTrade/index.htm');
g_navNode_5_1_0=g_navNode_5_1.addNode('113','GTSS',ssUrlPrefix + 'TradeExecution/PostTrade/GTSS/index.htm');
g_navNode_5_1_1=g_navNode_5_1.addNode('114','History Viewer',ssUrlPrefix + 'TradeExecution/PostTrade/HistoryViewer/index.htm');
g_navNode_5_2=g_navNode_5.addNode('107','Participants',ssUrlPrefix + 'TradeExecution/Participants/index.htm');
g_navNode_6=g_navNode_Root.addNode('390','About Global Link',ssUrlPrefix + 'About/index.htm','isHiddenInTopNav==TRUE','secondaryUrlVariableField==region1');
g_navNode_6_0=g_navNode_6.addNode('391','Press Releases',ssUrlPrefix + 'About/PressReleases/index.htm','ArticleCategory==GL Press Releases','secondaryUrlVariableField==region1');
g_navNode_6_1=g_navNode_6.addNode('392','Research Notes',ssUrlPrefix + 'About/ResearchNotes/index.htm','ArticleCategory==Research Notes','secondaryUrlVariableField==region1');
g_navNode_6_2=g_navNode_6.addNode('504','Investor Confidence Index',ssUrlPrefix + 'About/InvestorConfidenceIndex/index.htm','ArticleCategory==ICI Press Releases','secondaryUrlVariableField==region1');
g_navNode_6_3=g_navNode_6.addNode('393','What Others Say',ssUrlPrefix + 'About/WhatOthersSay/index.htm');
g_navNode_6_4=g_navNode_6.addNode('394','Brochures',ssUrlPrefix + 'About/Brochures/index.htm');
g_navNode_6_5=g_navNode_6.addNode('395','Contact Us',ssUrlPrefix + 'About/ContactUS/index.htm');
g_navNode_6_6=g_navNode_6.addNode('396','Legal Information',ssUrlPrefix + 'About/LegalInformation/index.htm');
