<?php
	$documentRoot = $_SERVER['DOCUMENT_ROOT'];
	require_once ($documentRoot . "/membership/promo/promos.php");
	$promo = chooseDownloadAd();
	ob_start();
	$filter = $_GET['filter'];
	$fileToInclude = 'content/fetch/project.php';

?>
<div class="wideContainer">
	<div class="downloadHeader">
		<ul class="selector">
			<li><a href="/downloads/">Packages</a></li>
			<?php /*?><li><a href="/downloads/index-developer.php" class="active">Developer Builds</a></li>*/?>
			<li><a href="/downloads/index_project.php" class="active">Projects</a></li>
		</ul>
		<div style="float:right; margin: 72px 0px 0 0;"><iframe src='http://www.facebook.com/plugins/like.php?href=http://www.facebook.com/pages/Eclipse/259655700571&layout=button_count&show_faces=false&width=90&action=like' style='border: medium none; overflow: hidden; width: 90px; height: 22px;' frameborder='0' scrolling='no'></iframe></div>
		<div style="float:right; margin:72px 17px 0 0;"><a href="https://twitter.com/EclipseFdn" class="twitter-follow-button" data-show-count="false">Follow @EclipseFdn</a><script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0];if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src="//platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");</script></div>
	</div>
	<div class="contentArea">

		<div class="leftContent">
			<div class="descriptionBar">
				<ul id="subCat" <? if ($cookie != "project") { ?> class="invisible" <? } ?>>
					<li id="subCatTitle">Filter By Tag:</li>
					<li id="ALL" <?php if ($filter=="") { echo "class=\"active\"";}?>><a href="index_project.php">All</a></li>
					<li id="ENT" <?php if ($filter=="ENT") { echo "class=\"active\"";}?>><a href="index_project.php?filter=ENT">Enterprise</a></li>
					<li id="EMB" <?php if ($filter=="EMB") { echo "class=\"active\"";}?>><a href="index_project.php?filter=EMB">Embedded</a></li>
					<li id="RT" <?php if ($filter=="RT") { echo "class=\"active\"";}?>><a href="index_project.php?filter=RT">Equinox</a></li>
					<li id="APP" <?php if ($filter=="APP") { echo "class=\"active\"";}?>><a href="index_project.php?filter=APP">Frameworks</a></li>
					<li id="MDL" <?php if ($filter=="MDL") { echo "class=\"active\"";}?>><a href="index_project.php?filter=MDL">Modeling</a></li>
					<li id="IDE" <?php if ($filter=="IDE") { echo "class=\"active\"";}?>><a href="index_project.php?filter=IDE">Languages</a></li>
				</ul>
			</div>
			<? include ($fileToInclude); ?>


			<div id="googleAds">
				<script type="text/javascript"><!--
				google_ad_client = "pub-6797025590085056"; google_ad_slot = "4661560739"; google_ad_width = 468; google_ad_height = 60;
				//-->
				</script><script type="text/javascript" src="//pagead2.googlesyndication.com/pagead/show_ads.js"></script>
			</div>
		</div>

		<div class="rightContent">
			<h3 class="">Hint:</h3>
			<p class="jre">You will need a <a href="/downloads/moreinfo/jre.php">Java runtime environment (JRE)</a> to use Eclipse (Java 5 JRE recommended). All downloads are provided under the terms and conditions of the <a href="/legal/epl/notice.php">Eclipse Foundation Software User Agreement</a> unless otherwise specified.</p>

			<div class="ad">
				<?php print $promo; ?>
			</div>

			<h3>Installing Eclipse</h3>
				<ul id="installingEclipse">
					<li><a href="http://wiki.eclipse.org/FAQ_Where_do_I_get_and_install_Eclipse%3F">Install Guide</a></li>
					<li><a href="http://wiki.eclipse.org/SDK_Known_Issues">Known Issues</a></li>
					<li><a href="http://help.eclipse.org/galileo/index.jsp?topic=/org.eclipse.platform.doc.user/tasks/tasks-129.htm">Updating Eclipse</a></li>
				</ul>

			<h3>Related Links</h3>
				<ul id="relatedLinks">
					<li><a href="http://wiki.eclipse.org/CVS_Howto">Source Code</a></li>
					<li><a href="http://help.eclipse.org">Documentation</a></li>
					<li><a href="/donate/">Make a Donation</a></li>
					<li><a href="/forums/">Forums</a></li>
					<li><a href="/helios/">Eclipse Helios (3.6) <span class="helios">Jun '10</span></a></li>
					<li><a href="/galileo/">Eclipse Galileo (3.5)</a></li>
					<li><a href="/ganymede/">Eclipse Ganymede (3.4)</a></li>
				</ul>
		</div>
	</div>
</div>

<?
	$html = ob_get_clean();
?>