<?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();		include($App->getProjectCommon());    # All on the same line to unclutter the user's desktop'

	#*****************************************************************************
	#
	# template.php
	#
	# Author: 		Denis Roy
	# Date:			2005-06-16
	#
	# Description: Type your page comments here - these are not sent to the browser
	#
	#
	#****************************************************************************
	
	#
	# Begin: page-specific settings.  Change these. 
	$pageTitle 		= "Top Reviews for Helios in 2010";
	$pageKeywords	= "eclipse, helios, release, review, contest";
	$pageAuthor		= "Lynn Gayowski";
	
	# Add page-specific Nav bars here
	# Format is Link text, link URL (can be http://www.someothersite.com/), target (_self, _blank), level (1, 2 or 3)
	# $Nav->addNavSeparator("My Page Links", 	"downloads.php");
	# $Nav->addCustomNav("My Link", "mypage.php", "_self", 1);
	# $Nav->addCustomNav("Google", "http://www.google.com/", "_blank", 1);

	# End: page-specific settings
	#
	// This file is linked to from lots of different places.
	// Use absolute paths to make sure that we can actually test
	// that the file renders properly (i.e. testing using) "/index.php",
	// and "/home/index.php" both work.

	# Paste your HTML content between the EOHTML markers!	
	$html = <<<EOHTML
<div id="maincontent">
	<div id="midcolumn">
		<h1>$pageTitle</h1>

		<p>
		Here are the 2010 award-winning reviews of
		Helios:
		</p>
		
		<ul>
			<li><a href="http://tux2323.blogspot.com/2010/06/review-eclipse-helios-rc4.html" target="blank">Review Eclipse Helios RC4</a> - Christian Baranowski</li>
			<li><a href="http://www.dzone.com/links/r/enter_the_new_eclipse_helios.html" target="blank">Enter the New Eclipse - Helios</a> - Ian Elliot</li>	
			<li><a href="http://www.techsagar.com/2010/07/10-new-features-which-i-liked-the-most-in-eclipse-helios-3-6-2/" target="blank">10 New Features which I Liked the Most in Eclipse Helios</a> - Prasanna LM</li>
			<li><a href="http://delaltctrl.blogspot.com/2010/06/awesomeness-in-helios.html" target="blank">Awesomeness in Helios</a> - Del Myers</li>
		</ul>
		<br><br>
				
	</div>

	<!-- remove the entire <div> tag to omit the right column!  -->
	<div id="rightcolumn">
		<div class="sideitem">
			<h6>Related Links</h6>
			<ul>
				<li><a href="guidelines.php">Blogathon Guidelines</a></li>			
				<li><a href="reviews.php">Submitted Reviews</a></li>
			</ul>
		</div>
	</div>	
	
</div>

	
EOHTML;


	# Generate the web page
	$App->generatePage("Nova", $Menu, $Nav, $pageAuthor, $pageKeywords, $pageTitle, $html);
?>