<?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 = "Lazarus";

	# 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)
	
	$Nav->setLinkList(array());
	
	# these are optional
	
	$homeurl = '/dltk';
	
	$Nav->addCustomNav("About This Project", "/projects/project_summary.php?projectid=technology.dltk", "", 1  );
	$Nav->addNavSeparator("DLTK", 	"$homeurl");
	$Nav->addCustomNav("Team", "$homeurl/team.php", 	"_self", 2);
	$Nav->addCustomNav("Plan", "$homeurl/plan.php", 	"_self", 2);
	
	$Nav->addNavSeparator("Users", 	"$homeurl/users.php", "_self", 1);
	$Nav->addCustomNav("Getting Started", 		"http://wiki.eclipse.org/index.php/DLTK_Installation", 		"_self", 2);
	$Nav->addCustomNav("Downloads", 		"http://download.eclipse.org/technology/dltk/downloads", 	"_self", 2);
	$Nav->addCustomNav("Newsgroups", 		"http://dev.eclipse.org/newslists/news.eclipse.technology.dltk/maillist.html", 	"_self", 2);
	$Nav->addCustomNav("Mailing Lists", 		"https://dev.eclipse.org/mailman/listinfo/dltk-dev", 	"_self", 2);
	$Nav->addCustomNav("Bugs", 		"https://bugs.eclipse.org/bugs/buglist.cgi?query_format=advanced&product=DLTK&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED", 	"_self", 2);

#require_once($_SERVER['DOCUMENT_ROOT'] . "/projects/common/project-info.class.php");
#$projectInfo = new ProjectInfo("technology.dltk");
#$projectInfo->generate_common_nav( $Nav );
?>
