<?php

	# set default theme
	$_theme = "Lazarus";
	$theme = "";
	if(isset($_POST['theme'])) {
		$_theme = $_POST['theme'];
	}
	if($_theme != "" && $App->isValidTheme($_theme)) {
		setcookie("theme", $_theme);
		$theme = $_theme;
	}
	else {
		# Get theme from browser, or none default
		$theme = $App->getUserPreferedTheme();
	}

	$Nav->setLinkList(array());
	$branding = <<<EOBRANDING
	<STYLE TYPE="text/css">
	  .sideitem { border-width: 1px 1px; }
	  body { font-size: small; }
	  #midcolumn { margin-top: 5px; }
	</STYLE>

EOBRANDING;
	$Menu->setProjectBranding($branding);

	# 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("GMT", "/gmt/");
	$Nav->addCustomNav("Download", "/gmt/download/", "_self", 1);
	$Nav->addCustomNav("Documentation", "/gmt/doc/", "_self", 1);
	$Nav->addCustomNav("Wiki", "http://wiki.eclipse.org/index.php/GMT", "_self", 1);
	$Nav->addCustomNav("AMW", "/gmt/amw/", "_self", 1);
	$Nav->addCustomNav("Download", "/gmt/amw/download/", "_self", 2);
	$Nav->addCustomNav("Use cases", "/gmt/amw/usecases/", "_self", 2);
	$Nav->addCustomNav("Wiki", "http://wiki.eclipse.org/index.php/AMW", "_self", 2);
	$Nav->addCustomNav("Matching library", "/gmt/amw/examples/#Matching transformation library", "_self", 2);
	$Nav->addCustomNav("Examples", "/gmt/amw/examples/", "_self", 2);
	$Nav->addCustomNav("Newsgroup", "news://news.eclipse.org/eclipse.modeling.gmt.amw", "_self", 2);
?>
