<?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'

	#*****************************************************************************
	#
	# friends.php
	#
	# Author: 		Nathan Gervais
	# Date:			2009-05-21
	#
	# Description:  Galileo Friends Landing Page
	#
	#
	#****************************************************************************
	
	#
	# Begin: page-specific settings.  Change these. 
	$pageTitle 		= "Friends of Eclipse";
	$pageKeywords	= "Friends of Eclipse, Helios";
	$pageAuthor		= "Nathan Gervais";
	include('scripts/wantedFunctions.php');
	# Paste your HTML content between the EOHTML markers!	
	ob_start();
	?>
	<style> 
	.monolith {	width:700px; 	margin: 0px auto; 	text-align:justify; }
	</style>
	<div id="fullcolumn"  class="clearfix">
		<div style="width:700px; margin:0px auto;">
		<h1>Thank you Friends of Helios!</h1>
		<img style="float:left" src="/donate/images/mirrorImage.png"/>
		<p>A big thank you to all <b>487</b> of our Friends of Helios. The funds raised will be used to
		support the Eclipse community through services such as providing more bandwidth for users and
		committers, sponsoring Eclipse events around the world and purchasing additional hardware
		to host Eclipse projects. Your generousity is very much appreciated.  Helios wouldn't be the
		same without you!</p>
		</div>
		<div class="monolith">
			<?=sideDonorList(500, FALSE);?>
		</div>
	</div>
	<?
	$html = ob_get_clean();
	$html = mb_convert_encoding($html, "HTML-ENTITIES", 'auto');
	# Generate the web page
	$App->generatePage($theme, $Menu, NULL, $pageAuthor, $pageKeywords, $pageTitle, $html);
?>