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

	#*****************************************************************************
	#
	# index.php
	#
	# Author: 		Denis Roy
	# Date:			2006-08-03
	#
	# Description: 
	#
	#
	#****************************************************************************
	
	#
	# Begin: page-specific settings.  Change these. 
	$pageTitle 		= "Eclipse documentation";
	$pageKeywords	= "Eclipse, documentation, help, api, programmer, javadoc, sdk";
	$pageAuthor		= "Denis Roy";
	
	# 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", 3);
	# $Nav->addCustomNav("Google", "http://www.google.com/", "_blank", 3);

	# End: page-specific settings
	#
		
	# Paste your HTML content between the EOHTML markers!	
	$html = <<<EOHTML

<div id="maincontent">
	<div id="midcolumn">
		<h1>$pageTitle</h1>
		<h2>Current releases</h2>	
		<div class="homeitem3col">
			<h3>Eclipse Galileo Documentation</h3>
			<ul>
				<li><a href="http://help.eclipse.org/galileo/index.jsp"><b><img src="/newsgroups/images/discovery.gif" /> Eclipse Galileo Documentation</b></a><b> (HTML Help Center) </b></li>
			</ul>
		</div>
		<h2>Archived releases</h2> 
		<div class="homeitem3col">
			<h3>Eclipse Ganymede Documentation</h3>
			<ul>
				<li><a href="http://help.eclipse.org/ganymede/index.jsp"><b><img src="/newsgroups/images/discovery.gif" /> Eclipse Ganymede Documentation</b></a><b> (HTML Help Center) </b></li>
			</ul>
		</div>
		<div class="homeitem3col">
			<h3>Eclipse Europa Documentation</h3>
			<ul>
				<li><a href="http://help.eclipse.org/help33/index.jsp"><b><img src="/newsgroups/images/discovery.gif" /> Eclipse Europa Documentation</b></a><b> (HTML Help Center) </b></li>
			</ul>
		</div>
		<div class="homeitem3col">
			<h3>Eclipse Callisto Documentation</h3>
			<ul>
				<li><a href="http://help.eclipse.org/help32/index.jsp"><b><img src="/newsgroups/images/discovery.gif" /> Eclipse Callisto Documentation</b></a><b> (HTML Help Center) </b></li>
			</ul>
		</div>
		<div class="homeitem3col">
			<h3>Latest stable/release candidate docs</h3>
			<p>This documentation is based on the latest stable development build of Eclipse.</p>  
			<ul>
				<li><a href="http://help.eclipse.org/stable/index.jsp"><b><img src="/newsgroups/images/discovery.gif" /> Eclipse STABLE Documentation</b></a><b> (HTML Help Center) </b></li>
			</ul>
		</div>
		<div class="homeitem3col">
			<h3>Eclipse 3.1 Documentation</h3>
			<ul>
   				<li><a href="http://archive.eclipse.org/eclipse/downloads/drops/R-3.1-200506271435/org.eclipse.platform.doc.user.3.1.pdf.zip"><img src="/evangelism/images/zip.png" /> Workbench User Guide</a></li>
				<li><a href="http://archive.eclipse.org/eclipse/downloads/drops/R-3.1-200506271435/org.eclipse.jdt.doc.user.3.1.pdf.zip"><img src="/evangelism/images/zip.png" /> Java Development User Guide</a></li>
				<li><a href="http://archive.eclipse.org/eclipse/downloads/drops/R-3.1-200506271435/org.eclipse.pde.doc.user.3.1.pdf.zip"><img src="/evangelism/images/zip.png" /> PDE Guide</a></li>
				<li><a href="http://archive.eclipse.org/eclipse/downloads/drops/R-3.1-200506271435/org.eclipse.platform.doc.isv.3.1.pdf.zip"><img src="/evangelism/images/zip.png" /> Platform Plug-in Developer Guide</a></li>
				<li><a href="http://archive.eclipse.org/eclipse/downloads/drops/R-3.1-200506271435/org.eclipse.jdt.doc.isv.3.1.pdf.zip"><img src="/evangelism/images/zip.png" /> JDT Plug-in Developer Guide</a>
			</ul>
		</div>
	</div>
	<div id="rightcolumn">
		<div class="sideitem">
			<h6>Related links</h6>
			<ul>
				<li><a href="http://help.eclipse.org/">HTML help center</li>
				<li><a href="/articles/">Eclipse articles</li>
			</ul>
		</div>
	</div>
</div>


EOHTML;


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