<?php
	$documentRoot = $_SERVER['DOCUMENT_ROOT'];
	require_once ($documentRoot . "/membership/promo/promos.php");
	include_once('content/downloadPromos.php');
	$adNo = ""; $_preview = "";

	$eclipseReleaseDesc = "Eclipse Kepler (4.3) RC1 Packages";
	$packageFileNamePrefix = 'developerCache';
	if (isset($_GET['release'])) {
		if ($_GET['release'] == 'juno') {
			$packageFileNamePrefix = 'developerAltCache';
			$eclipseReleaseDesc = "Eclipse Juno (4.2.2) SR2 RC3 Packages";
		}
	}

	if (isset($_GET['adNo'])) {
		$adNo = $_GET['adNo'];
	}
	if (isset($_GET['preview'])) {
		$_preview = $_GET['preview'];
	}

	$promo = chooseDownloadAd($adNo);
	ob_start();

	if (!isset($_GET['osType'])) {
		$osDisplay = $App->getClientOS();
	}
	else {
		$osDisplay = $_GET['osType'];
	}
	$osWarning = "";
	$defaultPath = ($App->devmode == TRUE) ? $_SERVER['DOCUMENT_ROOT'] . '/downloads-xml/' : '/home/data/httpd/writable/community/';

	//$defaultPath = $documentRoot . '/downloads/content/';
	switch ($osDisplay) {
		case "win32":
			$display = "Windows";
			$packagesDetails = $packageFileNamePrefix . "Win.xml";
			break;
		case "win64":
			$display = "Windows";
			$packagesDetails = $packageFileNamePrefix. "Win.xml";
			break;
		case "linux":
			$display = "Linux";
			$packagesDetails = $packageFileNamePrefix. "Linux.xml";
			//$osWarning = "<b>Linux users please note:</b> Eclipse on GCJ is untested.  Please see the Linux <a href='http://wiki.eclipse.org/SDK_Known_Issues#Linux_issues'>Known Issues</a> document.<br />";
			break;
		case "linux-x64":
			$display = "Linux";
			$packagesDetails = $packageFileNamePrefix. "Linux.xml";
			//$osWarning = "<b>Linux users please note:</b> Eclipse on GCJ is untested.  Please see the Linux <a href='http://wiki.eclipse.org/SDK_Known_Issues#Linux_issues'>Known Issues</a> document.<br />";
			break;
		case "macosx":
			$packagesDetails = $packageFileNamePrefix. "Cocoa.xml";
			$display = "Mac OS X";
			$osWarning = "<b>Mac OS X users please note:</b> Eclipse requires Mac OS X 10.5 (Leopard) or greater.<br />";
			break;
		case "carbon";
			$packagesDetails = $packageFileNamePrefix. "Carbon.xml";
			$display = "Mac OS X";
			$osWarning = "<b>Mac OS X users please note:</b> Eclipse requires Mac OS X 10.5 (Leopard) or greater.<br />";
			break;
		case "cocoa64":
			$packagesDetails = $packageFileNamePrefix. "Cocoa.xml";
			$display = "Mac OS X";
			$osWarning = "<b>Mac OS X users please note:</b> Eclipse requires Mac OS X 10.5 (Leopard) or greater.<br />";
			break;
		default:
			$display = "Windows";
			$packagesDetails = $packageFileNamePrefix. "Win.xml";
			//$packagesDetails = $documentRoot . "/downloads/content/heliosCacheWin.xml";
			break;
	}
	$phpWarning = "<b>Looking for the Eclipse for PHP Developers Package?  <a href='/downloads/php_package.php'>More Info</a></b>";
	function featuredRow ($package, $display, $zebra) {
	ob_start();
		?>
				<div class="row  clearfix <?php if ($zebra) { print 'zebra'; }?>">
					<div class="icon"><img src="<?php print $package['icon'];?>" width="32"/></div>
					<div class="text">
						<span class="title"><a href="<?php print $package['url']?>"><?php print $package['name'];?></a></span>, <?php print $package['size'];?></a><br/>
						<span class="downloadCounts">Downloaded <?php print number_format($package['downloadCount']);?> Times</span><a class="details" href="<?php print $package['url']?>">Details</a>
						<?php if (stripos($package['name'], 'classic') != 0) {?>&nbsp; <a class="details" href="http://download.eclipse.org/eclipse/downloads/">Other Downloads</a><?php }?>
					</div>
					<div class="download">
						<div class="downloadArrow">
							<img src="http://dev.eclipse.org/large_icons/actions/go-bottom.png"><br/>
						</div>
						<a class="downloadLink" href="<?php print $package['downloadurl'];?>"><?php print $display;?> 32 Bit</a><br/>
						<?php if ($package['downloadurl64'] != "") {?>
						<a class="downloadLink" href="<?php print $package['downloadurl64'];?>"><?php print $display;?> 64 Bit</a>
						<?php } ?>

					</div>
				</div>
	<?php
	return ob_get_clean();
	}

	function otherRow ($package) {
		ob_start();
		?>
					<li class="row">
						<span class="title"><a href="<?php print $package['url']?>"><?php print $package['name'];?></a></span>, <?php print $package['size'];?></span>
						<a class="downloadLink" href="<?php print $package['downloadurl'];?>">Download</a>
					</li>
	<?php
	return ob_get_clean();
	}
	$random = rand(0,100);
	$xml = simplexml_load_file($defaultPath . $packagesDetails);
	$featuredRows = 15;
	$count = 0;
	$zebra = TRUE;
	$featuredRowsHTML = "";
		foreach ($xml->package as $package) {
		if ($count < $featuredRows) {
			$count ++;
			if (!$_preview){
				if ($count == 4 && $random <= 25) {
					//Promoted Download Ad Gets Inserted Here
					$featuredRowsHTML .= actuateDownload($package, $display, 'promo');
				}
				elseif($count == 4 && $random <= 50) {
					$featuredRowsHTML .= springsourceDownload($package, $display, 'promo');

				}
				elseif($count == 4 && $random <= 75) {
					$featuredRowsHTML .= eucalyptusDownload_2($package, $display, 'promo');

				}
				elseif($count == 4 && $random <= 100) {
					$featuredRowsHTML .= xoredDownload($package, $display, 'promo');

				}
			}
			else {
				if ($count == 4 && $_preview == 'actuate') {
					$featuredRowsHTML .= actuateDownload($package, $display, 'promo');
				}
				if ($count == 4 && $_preview == 'nuxeo') {
					$featuredRowsHTML .= nuxeoDownload($package, $display, 'promo');
				}
				if ($count == 4 && $_preview == 'cloudbees') {
					$featuredRowsHTML .= cloudbeesDownload($package, $display, 'promo');
				}
				if ($count == 4 && $_preview == 'springsource') {
					$featuredRowsHTML .= springsourceDownload($package, $display, 'promo');
				}
				if ($count == 4 && $_preview == 'eucalyptus') {
					$featuredRowsHTML .= eucalyptusDownload($package, $display, 'promo');
				}
				if ($count == 4 && $_preview == 'eucalyptus_2') {
					$featuredRowsHTML .= eucalyptusDownload_2($package, $display, 'promo');
				}
				if($count == 4 && $_preview == 'xored') {
					$featuredRowsHTML .= xoredDownload($package, $display, 'promo');
				}

			}
			$featuredRowsHTML .= featuredRow($package, $display, $zebra);
			$zebra = !$zebra;
		}
		else {
			$otherRowsHTML .= otherRow($package);
		}
	}
?>
<style>
.rightContent ul {
    margin-bottom: 1em;

}
</style>
<div class="wideContainer">
	<div class="downloadHeader">
		<ul class="selector">
			<li><a href="/downloads/">Packages</a></li>
			<li><a href="/downloads/index-developer.php" class="active">Developer Builds</a></li>
			<li><a href="/downloads/index_project.php">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">
				<div class="descriptionRight">
				<span id="texttwo"><a href="index-developer.php?release=kepler">Kepler RC1</a></span>
				 <!-- <span id="textthree"><a href="index-developer.php?release=juno">Juno SR2 RC3</a></span>-->
				</div>
				<div class="descriptionOS">
					<span id="descriptionText"><?php print $eclipseReleaseDesc; ?></span> for
					<select id="osSelect">
						<option <?php if ($osDisplay == 'win32') echo "selected"?> value="win32">Windows</option>
						<option <?php if ($osDisplay == 'linux' || $osDisplay == 'linux-x64') echo "selected"?> value="linux">Linux</option>
						<option <?php if ($osDisplay == 'macosx') echo "selected"?> value="macosx">Mac OS X (Cocoa)</option>
					</select>
				</div>
			</div>
			<?php if ($osWarning != "") { ?>
				<div class="osWarning"><?php print $osWarning;?></div>
			<?php }?>
			<div class="featuredRows clearfix">
			<?php print	$featuredRowsHTML; ?>
			</div><!--

			<div class="moreBlock clearfix">
			<h3>Other Packages</h3>
				<ul class="col1">
			<?php print	$otherRowsHTML; ?>
				</ul>
			</div>

			--><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>Installing Eclipse</h3>
				<ul id="installingEclipse">
<li><a href="http://wiki.eclipse.org/Eclipse/Installation">Install Guide</a></li>
<li><a href="compare.php">Compare/Combine Packages</a></li>
<li><a href="http://wiki.eclipse.org/SDK_Known_Issues">Known Issues</a></li>
<li><a href="http://help.eclipse.org/juno/index.jsp?topic=/org.eclipse.platform.doc.user/tasks/tasks-129.htm">Updating Eclipse</a></li>
				</ul>



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



			<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="/juno/">Eclipse Juno (4.2)</a>
<li><a href="/indigo/">Eclipse Indigo (3.7)</a>

<li><a href="http://wiki.eclipse.org/Older_Versions_Of_Eclipse">Older Versions</a></li>

				</ul>


			<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 SE 6 or greater is 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>
	</div>
</div>

<?
	$html = ob_get_clean();
?>