<?php	
	$documentRoot = $_SERVER['DOCUMENT_ROOT'];
	require_once ($documentRoot . "/membership/promo/promos.php");
	if (isset($_GET['adNo'])) { 
		$adNo = $_GET['adNo'];
	}
	$promo = chooseDownloadAd($adNo);
	ob_start();
	
	if ($_GET['osType'] == NULL)
	{
		$osDisplay = $App->getClientOS();
	}
	else {
		$osDisplay = $_GET['osType'];
	}
	$osWarning = "";
	$defaultPath = '/home/data/httpd/writable/community/';
	//$defaultPath = $documentRoot . '/downloads/content/';
	switch ($osDisplay) {
		case "win32":
			$display = "Windows";
			$packagesDetails = "releaseCacheWin.xml";
			break;
		case "win64":
			$display = "Windows";
			$packagesDetails = "releaseCacheWin.xml";
			break;		
		case "linux":
			$display = "Linux";
			$packagesDetails = "releaseCacheLinux.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 = "releaseCacheLinux.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 = "releaseCacheCocoa.xml";
			$display = "Mac OS X";
			break;
		case "carbon";
			$packagesDetails = "releaseCacheCarbon.xml";
			$display = "Mac OS X";
			break;
		case "cocoa64":
			$packagesDetails = "releaseCacheCocoa.xml";
			$display = "Mac OS X";
			break;
		default:
			$display = "Windows";
			$packagesDetails = "releaseCacheWin.xml";
			//$packagesDetails = $documentRoot . "/downloads/content/heliosCacheWin.xml";
			break;
	}
	function featuredRow ($package, $display, $zebra) {
	if ($zebra === TRUE){
		$zebra = 'zebra';
	}
	elseif ($zebra == 'promo') {
		$zebra = 'promo';
	}
	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>
						<?php if ($zebra == 'promo') { ?> <img id="promotedLink" src="images/promotedLink2.png"/>  <?php }?>
						<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 promoDownload ($package, $display, $zebra) {
	if ($zebra === TRUE){
		$zebra = 'zebra';
	}
	elseif ($zebra == 'promo') {
		$zebra = 'promo';
	}
	ob_start();
		?>
				<div class="row clearfix <?php if ($zebra) { print $zebra; }?>">
					
					<div class="icon"><img src="images/companyLogo.png" width="64"/></div>
					<div class="text">
						<span class="title">
							<a href="#">Company Product Name</a><br/>
							<span class="promotedText"><a href="#">Promoted Download</a></span>
						</span>
						
						<br/>
					</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 actuateDownload ($package, $display, $zebra) {
	$impression = new CampaignImpression('PROMO_DOWNLOAD_ACTUATE', $_SERVER['REQUEST_URI'], @gethostbyaddr($_SERVER['REMOTE_ADDR']));
	$impression->recordImpression();		
	if ($zebra === TRUE){
		$zebra = 'zebra';
	}
	elseif ($zebra == 'promo') {
		$zebra = 'promo';
	}
	ob_start();
		?>
				<div class="row clearfix <?php if ($zebra) { print $zebra; }?>">
					
					<div class="icon"><img src="http://www.eclipse.org/home/images/BIRT-Icon-32x32.gif" width="32"/></div>
					<div class="text">
						<span class="title">
							<a href="http://eclipse.org/go/PROMO_DOWNLOAD_ACTUATE">Actuate BIRT Designer Pro</a>
							<span class="promotedText"><a href="promotedDownload.php">Promoted Download</a></span>
							<br/>
							<span class="promotedDesc">Add Flash, live Excel formulas, DBMS drivers and much more to your BIRT reports.</span>
							
						</span>
						
						<br/>
					</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="http://eclipse.org/go/PROMO_DOWNLOAD_ACTUATE">Download</a><br/>
					</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;
	foreach ($xml->package as $package) {
		if ($count < $featuredRows) {
			$count ++;
			if ($count == 4 && $random <= 25) {
					$featuredRowsHTML .= actuateDownload($package, $display, 'promo');						
			}

			$featuredRowsHTML .= featuredRow($package, $display, $zebra);
			$zebra = !$zebra;
		}
		else {
			$otherRowsHTML .= otherRow($package);
		}		
	} 
?>
<script type="text/javascript" src="http://www.eclipse.org/forums/jquery.js"></script>
<script type="text/javascript" src="content/helios.js"></script>
<div class="wideContainer">
	<div class="downloadHeader">
		<ul class="selector">
			<li><a href="/downloads/" class="active" >Packages</a></li>
<!--			<li><a href="/downloads/index-developer.php">Developer Builds</a></li>-->
			<li><a href="/downloads/index_project.php">Projects</a></li>
		</ul>
	</div>	
	<div class="contentArea">
		
		<div class="leftContent">
			<div class="descriptionBar">
				<div class="descriptionRight">
					<span id="texttwo"><a href="compare.php">Compare Packages</a></span>
					<span id="textthree"><a href="http://wiki.eclipse.org/Older_Versions_Of_Eclipse">Older Versions</a></span>
				</div>			
				<div class="descriptionOS">
					<span id="descriptionText">Eclipse Helios (3.6.1) Packages</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="http://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/helios/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)</a></li>
					<li><a href="/galileo/">Eclipse Galileo (3.5)</a></li>
					<li><a href="/ganymede/">Eclipse Ganymede (3.4)</a></li>
				</ul>

<!--		<div class="ad">	-->
<!--			<a href="/community/training/classes.php">	-->
<!--			<img src="/community/training/traininggraphic_125x125.jpg" border="0" /></a>	-->
<!--		</div>	-->
			
		</div>
	</div>
</div>

<?
	$html = ob_get_clean();
?>