<?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 		= "Friends of Europa";
	$pageKeywords	= "europa marketing, friends of europa";
	$pageAuthor		= "Nathan Gervais";
	
	# 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
<link rel="stylesheet" type="text/css" href="layout.css" media="screen" />
<div id="midcolumn">
	<div>
        <h1>$pageTitle</h1>
		<p>Want to join the Friends of Europa?  Put one of these images up on your website.</p>
		<div>
			<h2>Flash Animation (160 x 140 px)</h2>
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="160" height="140" id="europa" align="middle">
<param name="allowScriptAccess" value="sameDomain" />
<param name="movie" value="images/europa.swf" /><param name="quality" value="high" /><param name="scale" value="noscale" /><param name="bgcolor" value="#ffffff" /><embed src="/europa/images/europa.swf" quality="high" scale="noscale" bgcolor="#ffffff" width="160" height="140" name="europa" align="middle" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />
</object>

<br/><br/>
			<textarea class="smallType" cols=60 rows=4 readonly>
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="160" height="140" id="europa" align="middle">
<param name="allowScriptAccess" value="sameDomain" />
<param name="movie" value="http://www.eclipse.org/europa/images/europa.swf" /><param name="quality" value="high" /><param name="scale" value="noscale" /><param name="bgcolor" value="#ffffff" /><embed src="http://www.eclipse.org/europa/images/europa.swf" quality="high" scale="noscale" bgcolor="#ffffff" width="160" height="140" name="europa" align="middle" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />
</object>
			</textarea>
		</div>
		<div>
			<h2>Square Button (160 x 140 px)</h2>
			<img border=0 alt="Europa is Coming" title="Eclipse Europa" src="images/europa.jpg"><br /><br />
			<textarea class="smallType" cols=60 rows=4 readonly>&lt;a href="http://www.eclipse.org/europa/"&gt;&lt;img src="http://www.eclipse.org/europa/images/europa.jpg" border=0 alt="The Next Total Eclipse" title="Europa" &gt;&lt;/a&gt;</textarea>
		</div><br/><br/>
		<div>
			<h2>Europa Wallpapers</h2>
				<img border=0 alt="Europa Wallpaper" src="images/europaThumb.jpg"><br/><br/>
				Decorate your Desktop with one of these Europa Wallpapers.<br/>
				<a href="images/europa1024.png">1024x768</a> - <a href="images/europa1280.png">1280x960</a> - <a href="images/europa1600.png">1600x1200</a> - <a href="images/europa1680.png">1680x1050</a><br/><br/>
			</div>
	    </div>
</div>


EOHTML;

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