<?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 in 2008; this year it includes 33 projects.  Download Galileo Now!<br/>
				<br/>Click <a style="color:#FFF;" href="http://wiki.eclipse.org/Simultaneous_Release">here</a> to find out about the newest Eclipse Simultaneous Release</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);
?>