/////////////////////////////////////////////////////////////////////////////
// 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('9101','Home',ssUrlPrefix + 'home.html',null);
g_navNode_0=g_navNode_Root.addNode('27199','Prospective Students',ssUrlPrefix + 'prospective/home.html','ShowRelatedLinks==true','ShowWhatsInside==true');
g_navNode_0_0=g_navNode_0.addNode('83112','About the Program',ssUrlPrefix + 'prospective/abouttheprogram/home.html');
g_navNode_0_1=g_navNode_0.addNode('83116','Message from the Director',ssUrlPrefix + 'prospective/message/home.html');
g_navNode_0_2=g_navNode_0.addNode('83353','Application Requirements, Deadlines and Procedures',ssUrlPrefix + 'prospective/applicationinfo/home.html','ShowRelatedLinks==true');
g_navNode_0_3=g_navNode_0.addNode('83383','Diverse Research Opportunities',ssUrlPrefix + 'prospective/researchopp/home.html','ShowRelatedLinks==true','ShowRightNavImage==true');
g_navNode_0_4=g_navNode_0.addNode('83412','Funding and Financial Aid',ssUrlPrefix + 'prospective/funding/home.html');
g_navNode_0_5=g_navNode_0.addNode('83583','Life in the Twin Cities',ssUrlPrefix + 'prospective/mplslife/home.html');
g_navNode_0_6=g_navNode_0.addNode('83592','Twin Cities Information and Resources',ssUrlPrefix + 'prospective/twincitiesinfo/home.html');
g_navNode_1=g_navNode_Root.addNode('56640','Current Students',ssUrlPrefix + 'current/home.html','ShowRelatedLinks==true','ShowRightNavImage==true','ShowWhatsInside==true');
g_navNode_1_0=g_navNode_1.addNode('77322','Student Biographies',ssUrlPrefix + 'current/Currentstudents/home.html');
g_navNode_1_1=g_navNode_1.addNode('96783','Calendar of Events',ssUrlPrefix + 'current/calendar/home.html');
g_navNode_1_2=g_navNode_1.addNode('82822','MD/PhD Program Forms and Instructions',ssUrlPrefix + 'current/forms/home.html');
g_navNode_1_3=g_navNode_1.addNode('140094','Grant Opportunities',ssUrlPrefix + 'current/grantops/home.html');
g_navNode_1_4=g_navNode_1.addNode('157421','Physician Scientist Training Programs',ssUrlPrefix + 'current/PSTPprograms/home.html');
g_navNode_1_5=g_navNode_1.addNode('82833','Recent Events',ssUrlPrefix + 'current/pictures/home.html');
g_navNode_1_6=g_navNode_1.addNode('183340','Program News Archive',ssUrlPrefix + 'current/Newsarchive/home.html');
g_navNode_2=g_navNode_Root.addNode('217135','Alumni and Graduates',ssUrlPrefix + 'alumni/home.html','ShowWhatsInside==true');
g_navNode_2_0=g_navNode_2.addNode('70050','Meet Our Graduates',ssUrlPrefix + 'alumni/graduates/home.html','ShowRelatedLinks==true');
g_navNode_2_0_1=g_navNode_2_0.addNode('137812','2007 Graduates',ssUrlPrefix + 'alumni/graduates/2007grads/home.html');
g_navNode_2_0_2=g_navNode_2_0.addNode('71415','2003 Graduates',ssUrlPrefix + 'alumni/graduates/2003grads/home.html');
g_navNode_2_0_3=g_navNode_2_0.addNode('71440','2005 Graduates',ssUrlPrefix + 'alumni/graduates/2005grads/home.html');
g_navNode_2_0_6=g_navNode_2_0.addNode('96751','2006 Graduates',ssUrlPrefix + 'alumni/graduates/2006grads/home.html');
g_navNode_2_0_7=g_navNode_2_0.addNode('184813','2008 Graduates',ssUrlPrefix + 'alumni/graduates/2008grads/home.html');
g_navNode_2_0_10=g_navNode_2_0.addNode('71437','2004 Graduates',ssUrlPrefix + 'alumni/graduates/2004grads/home.html');
g_navNode_3=g_navNode_Root.addNode('57512','For Faculty',ssUrlPrefix + 'faculty/home.html','ShowWhatsInside==true');
g_navNode_3_0=g_navNode_3.addNode('95036','How to Become a Preceptor',ssUrlPrefix + 'faculty/howtoapply/home.html');
g_navNode_3_1=g_navNode_3.addNode('97147','MD/PhD Steering Committee',ssUrlPrefix + 'faculty/steeringcommittee/home.html');
if (SSContributor)
{
g_navNode_13=g_navNode_Root.addNode('9165','SSManager',ssUrlPrefix + 'ssmanager/index.htm','contributorOnly==TRUE');
}
