<?php

	# Set the theme for your project's web pages.
	# See the Committer Tools "How Do I" for list of themes
	# https://dev.eclipse.org/committers/
	# Optional: defaults to system theme
	$theme = "Nova";

	# Define your project-wide Nav bars here.
	# Format is Link text, link URL (can be http://www.someothersite.com/), target (_self, _blank), level (1, 2 or 3)
	# these are optional
	$Nav->addNavSeparator("About this project", "http://www.eclipse.org/projects/project_summary.php?projectid=technology.stem");
	$Nav->addNavSeparator("Project Home", 	"index.php");
	$Nav->addCustomNav("Download STEM", 		"downloads.php", 	"_self", 2);
    $Nav->addCustomNav("Tutorials", 		"http://wiki.eclipse.org/Tutorials_for_Developers", 		"_self", 2);
	$Nav->addCustomNav("FAQ", 				"http://wiki.eclipse.org/STEM_FAQ", 			"_blank", 2);
	#
	$Nav->addNavSeparator("Downloads",	 	"downloads.php");
	$Nav->addCustomNav("Downloads", 		"downloads.php", 	"_self", 2);
	$Nav->addCustomNav("Developers Setup", 	"http://wiki.eclipse.org/STEM_Eclipse_Setup", 		"_self", 2);
	$Nav->addCustomNav("Installation", 		"http://wiki.eclipse.org/index.php/Installation_Guide", 		"_self", 2);
	#
	$Nav->addNavSeparator("Documentation", 	"http://wiki.eclipse.org/STEM");
	$Nav->addCustomNav("FAQ", 				"http://wiki.eclipse.org/STEM_FAQ", 			"_blank", 2);
	$Nav->addCustomNav("Getting Started", 	"http://wiki.eclipse.org/Welcome_STEM_Developers", 			"_blank", 2);
	$Nav->addCustomNav("Plan", 				"http://www.eclipse.org/projects/project-plan.php?projectid=technology.stem", 			"_blank", 2);
	$Nav->addCustomNav("IP Log", "http://www.eclipse.org/projects/ip_log.php?projectid=technology.stem", "_blank", 2);
	$Nav->addCustomNav("Tutorials", 		"http://wiki.eclipse.org/Tutorials_for_Developers", 		"_self", 2);
	$Nav->addCustomNav("Search SVN", 		"http://dev.eclipse.org/svnroot/technology/org.eclipse.stem/", 			"_blank", 2);
	$Nav->addCustomNav("STEM on Wikipedia", "http://en.wikipedia.org/wiki/Spatiotemporal_Epidemiological_Modeler", 		"_self", 2);

	#
	$Nav->addNavSeparator("Community", 		"http://wiki.eclipse.org/STEM#More_About_STEM");
	$Nav->addCustomNav("Wiki", 				"http://wiki.eclipse.org/STEM", 		"_self", 2); 
	#$Nav->addCustomNav("Wiki", 				"http://wiki.eclipse.org/index.php/STEM", 		"_self", 2); 
	$Nav->addCustomNav("Newsgroup", 		"http://www.eclipse.org/forums/index.php?t=thread&frm_id=72", 		"_self", 2);
	$Nav->addCustomNav("Developers Forum", 		"http://dev.eclipse.org/mhonarc/lists/stem-dev/threads.html#00022", 		"_self", 2);
	$Nav->addCustomNav("Ebola Forum", 		"http://dev.eclipse.org/mhonarc/lists/stem-ebola/threads.html#00022", 		"_self", 2);
	$Nav->addCustomNav("Create Feature Requests", 	"feature_request.php", 			"_blank", 2);
	$Nav->addCustomNav("List of requested features", "https://bugs.eclipse.org/bugs/buglist.cgi?query_format=advanced;bug_severity=enhancement;product=STEM", "_blank", 2);
	$Nav->addCustomNav("Open Bugs", 		"https://bugs.eclipse.org/bugs/buglist.cgi?query_format=advanced;bug_status=UNCONFIRMED;bug_status=NEW;bug_status=ASSIGNED;bug_status=REOPENED;product=STEM", 			"_blank", 2);
	$Nav->addCustomNav("Submit Bugs",		"https://bugs.eclipse.org/bugs/enter_bug.cgi?product=STEM", 			"_blank", 2);
	$Nav->addCustomNav("Contributors",		"http://wiki.eclipse.org/The_STEM_Development_Team", 			"_blank", 2);
	$Nav->addCustomNav("Weekly Conf. Call",	"http://wiki.eclipse.org/Join_the_STEM_Community", 			"_blank", 2);
?>
