<?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:			2010-04-16
	#
	# Description: Ganymede Landing Page
	#
	#****************************************************************************
	
	#
	# Begin: page-specific settings.  Change these. 
	$pageTitle 		= "Eclipse.org - Helios Simultaneous Release!";
	$pageKeywords	= "eclipse helios, helios, helios 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="helios">
		<div id="midcolumn">
			<div>
				<p class="description">Eclipse Helios is the annual release of Eclipse projects in 2010; this year 39 project teams are part of the release. <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>
				<ul class="links">
					<li class="download sun"><a title="Download" href="/downloads/index-helios.php">Helios RC4 Milestone Downloads</a></li>
					<li class="projects sun"><a title="Projects" href="/helios/projects.php">Projects</a></li>
					<li class="projects sun"><a title="Blogathon" href="/helios/blogathon/reviews.php">Helios Blogathon</a></li>
					<li class="projects sun"><a title="Helios Virtual Conference" href="/helios/heliosinaction.php">Helios Virtual Conference</a></li>
<!--					<li class="blog"><a title="Helios on Twitter" target="_blank" href="http://galileo.chinposin.com/">&nbsp;</a></li>-->
					<li class="friends"><a title="Friends of Eclipse" href="friends.php">Wanted: 360 Friends of Helios</a></li>
				</ul>
			</div>
		</div>
	</div>
	<?
	$html = ob_get_clean();
	# Generate the web page
	$App->Promotion = TRUE;
	$App->AddExtraHtmlHeader('<link type="text/css" href="/helios/style.css" rel="stylesheet"/>');
	$App->generatePage("Nova", $Menu, NULL, $pageAuthor, $pageKeywords, $pageTitle, $html);
?>