<?php  																														require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/app.class.php");	require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/nav.class.php"); 	require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/menu.class.php"); 	$App 	= new App();	$Nav	= new Nav();	$Menu 	= new Menu();	$theme = "Phoenix"; include($App->getProjectCommon());   # All on the same line to unclutter the user's desktop'

	#*****************************************************************************
	#
	# index.php
	#
	# Author: 	 	Nathan Gervais
	# Date:			2008-04-21
	#
	# Description: Ganymede Landing Page
	#
	#****************************************************************************
	
	#
	# Begin: page-specific settings.  Change these. 
	$pageTitle 		= "Eclipse.org - Galileo Is Here!";
	$pageKeywords	= "eclipse Galileo, Galileo, Galileo release train";
	$pageAuthor		= "Eclipse Foundation, Inc.";
	
	# Add page-specific Nav bars here
	# Format is Link text, link URL (can be http://www.someothersite.com/), target (_self, _blank)
	# $Nav->addCustomNav("My Link", "mypage.php", "_self");
	# $Nav->addCustomNav("Google", "http://www.google.com/", "_blank");

	# End: page-specific settings
	#
	
	# Place your html content in a file called content/en_pagename.php
	ob_start();
	?>	
	<div id="fullcolumn" class="galileo">
		<div id="midcolumn">

			<div id="linkBlock">
				<ul>
					<li class="download"><a title="Download" href="/downloads/">&nbsp;</a></li>
					<li class="projects"><a title="Projects" href="/galileo/projects.php">&nbsp;</a></li>
					<li class="nest"><a title="Galileo Blog-A-Thon Contest" href="/galileo/blogathon/reviews.php">&nbsp;</a></li>
					<li class="friends"><a title="Galileo in Action" href="/galileo/galileoinaction.php">&nbsp;</a></li>
					<li class="blog"><a title="Galileo on Twitter" target="_blank" href="http://galileo.chinposin.com/">&nbsp;</a></li>
					<li class="action"><a title="Friends of Eclipse" href="/galileo/friends.php">&nbsp;</a></li>
				</ul>
			</div>
			<div>
				<p class="description">Eclipse Galileo is the annual release of Eclipse projects; this year it includes 33 projects.  Download Galileo Now!</p>
			</div>
			<div class="homepage">
				<a href="/home/">Continue to Eclipse.org</a>
			</div>						
		</div>	
	</div>
	<?
	$html = ob_get_clean();
	# Generate the web page
	$App->Promotion = TRUE;
	$App->AddExtraHtmlHeader('<link type="text/css" href="/galileo/style.css" rel="stylesheet"/>');
	$App->generatePage("Nova", $Menu, NULL, $pageAuthor, $pageKeywords, $pageTitle, $html);
?>