/////////////////////////////////////////////////////////////////////////////
// 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('4688','Home',ssUrlPrefix + 'home.html',null);
g_navNode_0=g_navNode_Root.addNode('184086','Lab Members',ssUrlPrefix + 'members/home.html','ShowWhatsInside==true');
g_navNode_0_0=g_navNode_0.addNode('189874','Alumni',ssUrlPrefix + 'members/alumni/home.html');
g_navNode_0_1=g_navNode_0.addNode('189875','Graduate Students',ssUrlPrefix + 'members/gradstudents/home.html','ShowWhatsInside==true');
g_navNode_0_1_0=g_navNode_0_1.addNode('193518','Beau R. Webber',ssUrlPrefix + 'members/gradstudents/webber/home.html');
g_navNode_0_1_1=g_navNode_0_1.addNode('193520','Lisa K. Jasperson',ssUrlPrefix + 'members/gradstudents/jasperson/home.html');
g_navNode_0_1_2=g_navNode_0_1.addNode('193524','Mark J. Osborn',ssUrlPrefix + 'members/gradstudents/osborn/home.html');
g_navNode_0_1_3=g_navNode_0_1.addNode('193525','Michael \x28Mick\x29 D. Nyquist',ssUrlPrefix + 'members/gradstudents/nyquist/home.html');
g_navNode_0_1_4=g_navNode_0_1.addNode('193526','Rachelle G. Veenstra',ssUrlPrefix + 'members/gradstudents/veenstra/home.html');
g_navNode_0_1_5=g_navNode_0_1.addNode('193527','Ryan M. Kelly',ssUrlPrefix + 'members/gradstudents/kelly/home.html');
g_navNode_0_1_6=g_navNode_0_1.addNode('193528','Steven L. Highfill',ssUrlPrefix + 'members/gradstudents/highfill/home.html');
g_navNode_0_1_7=g_navNode_0_1.addNode('193529','Tiffany J. Glass',ssUrlPrefix + 'members/gradstudents/glass/home.html');
g_navNode_0_2=g_navNode_0.addNode('189876','Postdoctoral and Medical Fellows',ssUrlPrefix + 'members/postdocs/home.html','ShowWhatsInside==true');
g_navNode_0_2_0=g_navNode_0_2.addNode('184982','Christine Vogtenhuber, PhD',ssUrlPrefix + 'members/postdocs/vogtenhuber/home.html');
g_navNode_0_2_1=g_navNode_0_2.addNode('190322','Christoph M. Bucher, M.D.',ssUrlPrefix + 'members/postdocs/bucher/home.html');
g_navNode_0_2_2=g_navNode_0_2.addNode('201501','Guruprasad Tiptur Mahadevaiah, MD ',ssUrlPrefix + 'members/postdocs/mahadevaiah/home.html');
g_navNode_0_2_3=g_navNode_0_2.addNode('201502','Heather Stefanski, PhD, MD',ssUrlPrefix + 'members/postdocs/stefanski/home.html');
g_navNode_0_2_4=g_navNode_0_2.addNode('201503','Mathangi Srinivasan, PhD',ssUrlPrefix + 'members/postdocs/srinivasan/home.html');
g_navNode_0_2_5=g_navNode_0_2.addNode('185380','Qing \"Joanna\" Zhou, PhD',ssUrlPrefix + 'members/postdocs/zhou/home.html');
g_navNode_0_2_6=g_navNode_0_2.addNode('190323','Troy Lund, MD, PhD',ssUrlPrefix + 'members/postdocs/lund/home.html');
g_navNode_0_3=g_navNode_0.addNode('189878','Research Staff',ssUrlPrefix + 'members/staff/home.html');
g_navNode_0_5=g_navNode_0.addNode('189879','Undergraduates',ssUrlPrefix + 'members/undergrads/home.html');
g_navNode_1=g_navNode_Root.addNode('184100','Current Projects',ssUrlPrefix + 'projects/home.html');
g_navNode_2=g_navNode_Root.addNode('184102','Selected Recent Publications',ssUrlPrefix + 'publications/home.html');
g_navNode_3=g_navNode_Root.addNode('184103','Protocols',ssUrlPrefix + 'protocols/home.html','ShowWhatsInside==true');
g_navNode_3_0=g_navNode_3.addNode('189614','ACK Lysis Buffer',ssUrlPrefix + 'protocols/ack/home.html');
g_navNode_3_1=g_navNode_3.addNode('189617','Annexin V Staining for FACS',ssUrlPrefix + 'protocols/annexin/home.html');
g_navNode_3_2=g_navNode_3.addNode('189618','CFSE Staining',ssUrlPrefix + 'protocols/cfse/home.html');
g_navNode_3_3=g_navNode_3.addNode('189619','In Vitro Suppression Assay',ssUrlPrefix + 'protocols/invitro/home.html');
g_navNode_3_4=g_navNode_3.addNode('189871','Mouse Tail DNA Prep',ssUrlPrefix + 'protocols/mousedna/home.html');
g_navNode_3_5=g_navNode_3.addNode('189872','Spleen Stimulator Prep',ssUrlPrefix + 'protocols/spleen/home.html');
g_navNode_3_6=g_navNode_3.addNode('189873','TRIzol RNA Isolation',ssUrlPrefix + 'protocols/trizol/home.html');
g_navNode_4=g_navNode_Root.addNode('184104','Training and Other Resources',ssUrlPrefix + 'resources/home.html');
g_navNode_5=g_navNode_Root.addNode('184105','Related Links',ssUrlPrefix + 'links/home.html');
g_navNode_6=g_navNode_Root.addNode('205739','Available Open Positions',ssUrlPrefix + 'jobs/home.html');
if (SSContributor)
{
g_navNode_7=g_navNode_Root.addNode('4876','SSManager',ssUrlPrefix + 'ssmanager/home.html','contributorOnly==TRUE');
}
