<?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("_projectCommon.php");    # All on the same line to unclutter the user's desktop'


	#*****************************************************************************
	#
	# index.php
	#
	# Author: 		Nathan Gervais
	# Date:			2008-12-17
	#
	# Description: Page to promote friends of Eclipse after the user has downloaded something.
	#
	#****************************************************************************

	#
	# Begin: page-specific settings.  Change these.
	$pageTitle 		= "Thanks for downloading";
	?>
	<html>
		<head>
			<title><?=$pageTitle;?></title>
			<link rel="stylesheet" type="text/css" href="friends_promo.css"/>
		</head>	
		<body>
			<div id="container">
				<div id="content">
					<h1>Thanks for downloading from Eclipse</h1>
					<div id="friendsBlock">
						<img src="/downloads/images/friends_promo.png" />
						<div id="friendsBlurb">
							<p><b>Become a Friend of Eclipse and get access to the Friends of Eclipse Mirror Site!</b></p>
							<ul>
								<li>Dedicated Bandwith for faster downloads</li>
								<li>Early Access to new builds when the new release train ships</li>
							</ul>
							<p><b>Friends of Eclipse also help the Eclipse Foundation provide services for the Eclipse community, such as:</b></p>
							<ul>
								<li>Providing more bandwidth for users and committers</li>
								<li>Purchasing additional servers to host Eclipse projects</li>
								<li>Sending students to EclipseCon</li>
								<li>Sponsoring Eclipse community events</li>
							</ul>
						</div>
						<div id="navigate">
							<a id="back" href="/">Back to Eclipse.org</a> - <a id="donate" href="/donate">Donate Now!</a>
						</div>
					</div>
					<br/>
					
				</div>
			</div>
		</body>
	</html>	
