<?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'
//ini_set("display_errors", "true");
//error_reporting (E_ALL);

#
# Begin: page-specific settings.
$pageTitle 		= "Eclipse Planning Council";
//$pageKeywords	= "Eclipse Planning Council Simultaneous Release Helios must-dos";
$pageAuthor		= "David Williams";
$theme = "Nova";


# Paste your HTML content between the markers!
ob_start();
?>

	
<div id="maincontent" style="padding: 5em; width: 90%; margins: 5%;">



<?php 
    $xhtmlFile = 'EclipseSimultaneousRelease.html';
	// Load the source. Will treat as "raw" XHMTL for now
	//$doc = new DOMDocument;
	//$doc->loadHTMLFile($xhtmlFile);
	//echo $doc->saveHTML();
	echo file_get_contents($xhtmlFile);
?>


</div>

<?php
$html = ob_get_contents();
ob_end_clean();

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

?>