<?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 indent1"><a title="Download Helios" href="/downloads/">Download Helios</a></li>
					<li class="projects sun indent2"><a title="Projects" href="/helios/projects.php">Projects</a></li>
					<li class="projects sun indent3"><a title="Blogathon" href="/helios/blogathon/reviews.php">Blogathon</a></li>
					<li class="projects sun indent4"><a title="Demos" href="/helios/demos.php">Demos</a></li>
					<li class="projects sun indent5"><a title="Helios Virtual Conference" href="/helios/heliosinaction.php">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 indent6"><a title="Friends of Eclipse" href="friends.php">Wanted: 360 Friends of Helios</a></li>
				</ul>
			</div>
			<a id="continue" href="/home/">Continue to Eclipse.org</a>
		</div>
	</div>
	<?
	$html = ob_get_clean();
	# Generate the web page
	$App->Promotion = TRUE;
	$App->AddExtraHtmlHeader('<link type="text/css" href="/helios/styleNow.css" rel="stylesheet"/>');
	$App->generatePage("Nova", $Menu, NULL, $pageAuthor, $pageKeywords, $pageTitle, $html);
?>