<?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());

#
# Begin: page-specific settings.  Change these.
$pageTitle 		= "Prerequisites";
$pageKeywords	= "mobile, java, tools";
$pageAuthor		= "Diego Madruga Sandin";


# Paste your HTML content between the EOHTML markers!
$html = <<<EOHTML

<div id="maincontent">
	<div id="midcolumn">
        <h1>$pageTitle</h1>
		<p>The following are prerequisites for Mobile Tools for Java&trade; 
		to work properly:</p>
		<ul>
			<li><a href="http://www.oracle.com/technetwork/java/javase/downloads/index.html">Java SE Development Kit (JDK) 1.7 or greater</a></li>
			<li>The latest <a href="http://www.eclipse.org/downloads/">Eclipse IDE for Java Developers</a></li>
			<li><a href="/mtj/development/tutorial/supported.php">A supported SDKs and Wireless Toolkits</a></li>
		</ul>
		<p>The following items are optional:</p>
		<ul>
			<li><a href="http://proguard.sourceforge.net" target="_blank">ProGuard
			Obfuscator</a>.- MTJ uses ProGuard to produce obfuscated packages</li>
		</ul>
	</div>
	<div id="rightcolumn">
        <div class="sideitem">
        	<h6><a style="text-decoration: none" href="/dsdp/mtj/development/tutorial/gettingstarted.php" target="_self">Getting started</a></h6>
        	<ul>				
        		<a href="/mtj/development/tutorial/prerequisites.php" target="_self">Prerequisites</a>
        		</li>
        	</ul>
        	<ul>				
        		<a href="/mtj/development/tutorial/supported.php" target="_self">Supported SDKs and Wireless Toolkits</a>
        		</li>
        	</ul>
        	<ul>				
        		<a href="/mtj/development/tutorial/installation.php" target="_self">Installation Instructions</a>
        		</li>
        	</ul>
        	<ul>				
        		<a href="/mtj/development/tutorial/removal.php" target="_self">Removal Instructions</a>
        		</li>
        	</ul>
        </div>
	</div>
</div>

EOHTML;


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