<?php
/*******************************************************************************
 * Copyright (c) 2005-2013 Eclipse Foundation and others.
 * All rights reserved. This program and the accompanying materials
 * are made available under the terms of the Eclipse Public License v1.0
 * which accompanies this distribution, and is available at
 * http://www.eclipse.org/legal/epl-v10.html
 *
 * Contributors:
 *    Denis Roy (Eclipse Foundation)- initial API and implementation
 *******************************************************************************/

	if(isset($Nav)) {
		$Nav->addCustomNav("Friends of Eclipse", "http://www.eclipse.org/donate/", "_self", 0);
		$Nav->addCustomNav("Bugzilla", "https://bugs.eclipse.org/bugs/", "_self", 0);
		$Nav->addCustomNav("Forums", "http://www.eclipse.org/forums/", "_self", 0);
	}

	$theme = "solstice";
?>
