/////////////////////////////////////////////////////////////////////////////
// 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 eqPos = argValues[i].indexOf("==");
		var attrName = argValues[i].substring(0,eqPos);
		var attrValue = argValues[i].substring(eqPos+2);

		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 eqPos = argValues[i].indexOf("==");
		var attrName = argValues[i].substring(0,eqPos);
		var attrValue = argValues[i].substring(eqPos+2);

		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('1590','Home',ssUrlPrefix + 'index.html',null);
if (SSContributor)
{
g_navNode_0=g_navNode_Root.addNode('1605','ssmanager',ssUrlPrefix + 'ssmanager/index.htm','contributorOnly==TRUE');
}
g_navNode_1=g_navNode_Root.addNode('1879','Using the Network',ssUrlPrefix + 'using/index.html');
g_navNode_1_0=g_navNode_1.addNode('1880','Setup Guides',ssUrlPrefix + 'using/setup/index.html');
g_navNode_1_0_0=g_navNode_1_0.addNode('1892','Windows Vista Using DHCP',ssUrlPrefix + 'using/setup/winvistadhcp/index.html');
g_navNode_1_0_1=g_navNode_1_0.addNode('1893','Windows XP Using DHCP',ssUrlPrefix + 'using/setup/winxpdhcp/index.html');
g_navNode_1_0_2=g_navNode_1_0.addNode('1895','Mac OS X Using DHCP',ssUrlPrefix + 'using/setup/macosx103dhcp/index.html','contributorOnly==false');
g_navNode_1_0_3=g_navNode_1_0.addNode('1897','Linux',ssUrlPrefix + 'using/setup/linux/index.html','contributorOnly==false');
g_navNode_1_0_4=g_navNode_1_0.addNode('1898','Windows XP Using a Fixed Address',ssUrlPrefix + 'using/setup/winxpfixed/index.html');
g_navNode_1_0_5=g_navNode_1_0.addNode('1900','Mac OS X Using a Fixed Address',ssUrlPrefix + 'using/setup/macosxfixed/index.html','contributorOnly==false');
g_navNode_1_1=g_navNode_1.addNode('1881','Disabling Internet Sharing',ssUrlPrefix + 'using/sharing/index.html');
g_navNode_1_1_0=g_navNode_1_1.addNode('2012','Windows Vista',ssUrlPrefix + 'using/sharing/winvista/index.html');
g_navNode_1_1_1=g_navNode_1_1.addNode('1901','Windows XP',ssUrlPrefix + 'using/sharing/winxp/index.html');
g_navNode_1_1_2=g_navNode_1_1.addNode('1903','Mac OS X ',ssUrlPrefix + 'using/sharing/macosx102/index.html');
g_navNode_1_2=g_navNode_1.addNode('1917','Speed and Duplex Settings',ssUrlPrefix + 'using/speedduplex/index.html');
g_navNode_1_2_0=g_navNode_1_2.addNode('2011','Vista Speed Duplex Setting',ssUrlPrefix + 'using/speedduplex/winvista/index.html');
g_navNode_1_2_1=g_navNode_1_2.addNode('1928','XP Speed Duplex Setting',ssUrlPrefix + 'using/speedduplex/winxp/index.html');
g_navNode_1_2_2=g_navNode_1_2.addNode('2314','Mac OS X Speed and Duplex Setting',ssUrlPrefix + 'using/speedduplex/MacOSXSpeedandDuplexSetting/index.htm');
g_navNode_1_3=g_navNode_1.addNode('1882','Guest Access',ssUrlPrefix + 'using/access/index.html');
g_navNode_1_3_0=g_navNode_1_3.addNode('1904',' Request Fee-Based Internet Account',ssUrlPrefix + 'using/access/sponsored/index.html');
g_navNode_1_4=g_navNode_1.addNode('13024','Securing Your Data',ssUrlPrefix + 'using/security/index.htm');
g_navNode_1_5=g_navNode_1.addNode('1916','Subnet Calculator',ssUrlPrefix + 'using/subnetcalculator/index.html');
g_navNode_2=g_navNode_Root.addNode('1883','Services \x26 Support',ssUrlPrefix + 'services/index.html');
g_navNode_2_0=g_navNode_2.addNode('1884','Technical Support',ssUrlPrefix + 'services/support/index.html');
g_navNode_2_1=g_navNode_2.addNode('1885','Request \x26 Manage Services',ssUrlPrefix + 'services/request-manage/index.html');
g_navNode_3=g_navNode_Root.addNode('1886','About the Network',ssUrlPrefix + 'about/index.html');
g_navNode_3_0=g_navNode_3.addNode('1887','Campus Network Map',ssUrlPrefix + 'about/map/index.html');
g_navNode_3_1=g_navNode_3.addNode('1888','Campus Implementation',ssUrlPrefix + 'about/implementation/index.html');
g_navNode_3_1_0=g_navNode_3_1.addNode('1890','Network Cleanup and Reallocation Project Plan',ssUrlPrefix + 'about/implementation/cleanupplan/index.html');
g_navNode_3_1_2=g_navNode_3_1.addNode('10011','IPV6 Network Addressing',ssUrlPrefix + 'about/implementation/IPV6/index.htm','contributorOnly==false');
g_navNode_3_1_3=g_navNode_3_1.addNode('13068','Firewall',ssUrlPrefix + 'about/implementation/firewall/index.htm');
g_navNode_3_2=g_navNode_3.addNode('2351','Peering',ssUrlPrefix + 'about/Peering/index.htm');
g_navNode_3_2_0=g_navNode_3_2.addNode('2352','BOREAS Net',ssUrlPrefix + 'about/Peering/BOREASNet/index.htm');
g_navNode_3_2_1=g_navNode_3_2.addNode('2353','Internet2',ssUrlPrefix + 'about/Peering/Internet2/index.htm');
g_navNode_3_3=g_navNode_3.addNode('1889','Policies',ssUrlPrefix + 'about/policies/index.html');
g_navNode_3_3_0=g_navNode_3_3.addNode('1905','Wiring Standards',ssUrlPrefix + 'about/policies/wiringstandards/index.html');
g_navNode_3_3_1=g_navNode_3_3.addNode('1908','Building Rating',ssUrlPrefix + 'about/policies/buildingrating/index.html');
g_navNode_3_3_2=g_navNode_3_3.addNode('1909','Campus Building Network Readiness Map',ssUrlPrefix + 'about/policies/readinessmap/index.html');
g_navNode_3_3_3=g_navNode_3_3.addNode('1913','Building Network Readiness',ssUrlPrefix + 'about/policies/buildingnetworkreadiness/index.html');
g_navNode_3_5=g_navNode_3.addNode('10009','Network Addressing',ssUrlPrefix + 'about/network-addressing/index.htm','contributorOnly==false');
g_navNode_3_6=g_navNode_3.addNode('12759','Firewall Service',ssUrlPrefix + 'about/firewall-service/index.htm');
