<? require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/app.class.php"); $TempApp 	= new App(); 	

	$documentRoot = $_SERVER['DOCUMENT_ROOT'];
	include ($documentRoot . "/downloads/content/distro_functions.php");
	include ($documentRoot . "/downloads/content/ganymede_distros.php");
	$randomized = randomSeed ($companyinfo); 
	$index = $randomized[0];

	//-Random Member Distro-// 
	ob_start();?>
		<tr class="tableData" style="background-image:url('images/stripe.png');">
			<td width="80" align="center">
				<img src="<?=$companyinfo[$index]->companyLogo;?>" height="64" width="64">
			</td>
			<td colspan=2><span class="packageTitle">Featured Member Distro</span><br/>
				<a class="packageTitle" href="<?=$companyinfo[$index]->linkTo;?>"><?=$companyinfo[$index]->companyName;?></a><br/>
				<?=$companyinfo[$index]->companyBlurb;?>
			</td>
		</tr>
	<? $distro = ob_get_clean(); 
	
	$osWarning = "";
	$osDisplay = $TempApp->getClientOS();
	switch ($osDisplay) {
		case "win32":
			$display = "Windows";
			$packagesDetails = "/home/data/httpd/writable/community/downlodeCacheWin.html";
			$osWarning = "<b>Problems extracting the ZIP file?</b> Please read these <a href='http://wiki.eclipse.org/SDK_Known_Issues#Windows_issues'>Known Issues</a>.<br />";
			break;
		case "linux":
			$display = "Linux";
			$packagesDetails = "/home/data/httpd/writable/community/downlodeCacheLinux.html";
			$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 x86_64";
			$packagesDetails = "/home/data/httpd/writable/community/downlodeCacheLinux64.html";
			$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 = "/home/data/httpd/writable/community/downlodeCacheMac.html";
			$display = "Mac OS X";
			break;
		default:
			$display = "Windows";
			$packagesDetails = "/home/data/httpd/writable/community/downlodeCacheWin.html";
			$osWarning = "<b>We were unable to find Eclipse packages for your platform ($osDisplay)</b>. Below are the packages for Windows. Downloads for your platform may be available <a href=\"$classOtherDownloads\">here</a>.<br />";
			break;
	}
	ob_start();
?>

<table width="100%" class="contentTable" cellspacing=0 style="font-size:95%;">
<!-- <?=$packageDetails;?> -->
<?
	$handle = @fopen($packagesDetails, 'r');
	$contents = @fread($handle, filesize($packagesDetails));
	echo $contents;
	@fclose($handle);
?>
</table>
<? 
	$html = ob_get_clean();
	echo $html;
?>	