<?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();
$theme = "Nova";
include ($App->getProjectCommon()); // All on the same line to unclutter the user's desktop'
require_once ($_SERVER['DOCUMENT_ROOT'] . "/stem/functions.php");

// *****************************************************************************
//
// template.php
//
// Author: Yossi Mesika
// Date: 2009-07-19
//
// Description: Main web page for STEM
//
//
// ****************************************************************************

//
// Begin: page-specific settings. Change these.
$pageTitle = "STEM";
$pageKeywords = "STEM";
$pageAuthor = "James Kaufman, Stefan Edlund, Yossi Mesika";

// Add page-specific Nav bars here
// Format is Link text, link URL (can be http://www.someothersite.com/), target (_self, _blank), level (1, 2 or 3)
// $Nav->addNavSeparator("My Page Links", "downloads.php");
// $Nav->addCustomNav("My Link", "mypage.php", "_self", 3);
// $Nav->addCustomNav("Google", "http://www.google.com/", "_blank", 3);

// End: page-specific settings
//

// Paste your HTML content between the EOHTML markers!
ob_start();
?>

<style>
h1 {text-align:center;}
.container {
    width: 90%;
}
</style>

<div id="maincontent" style="width:95%" >
	<div id="midcolumn" style="width:70%">

		<h1>The Spatiotemporal Epidemiological Modeler (STEM) Project</h1>

		<div class="homeitem3col">
			<a id ="about"></a>
			<h3>About STEM</h3>
			<div style="padding: 3px;">
				<img alt="STEM Banner" src="/stem/images/STEM_SPLASH5_300.gif"
					style="float: right; width: 300px;; height: 172px" />
				<p>The Spatiotemporal Epidemiological Modeler (STEM) tool is
					designed to help scientists and public health officials create and
					use spatial and temporal models of emerging infectious diseases.
					These models can aid in understanding and potentially preventing
					the spread of such diseases.</p>
				<p>Policymakers responsible for strategies to contain disease and
					prevent epidemics need an accurate understanding of disease
					dynamics and the likely outcomes of preventive actions. In an
					increasingly connected world with extremely efficient global
					transportation links, the vectors of infection can be quite
					complex. STEM facilitates the development of advanced mathematical
					models, the creation of flexible models involving multiple
					populations (species) and interactions between diseases, and a
					better understanding of epidemiology.</p>
				<p>STEM is designed to make it easy for developers and researchers
					to plug in their choice of models. It comes with a large number of
					existing compartment models and a new model building framework that
					allows users to rapidly extend existing models or to create
					entirely new models. The model building framework provides a simple
					graphical users interface and automatically generates all of the
					model code and hot injects the code into STEM at runtime. In many
					cases, no knowledge of Eclipse or Java is required. The STEM code
					generator even allows users to build models affected by changes in
					climate data.</p>
				<p>
					Any STEM model can be run either stochastically or
					deterministically - simply by switching between solver plugins.
					Users can choose between many different numerical solvers of
					ordinary differential equations (including finite difference,
					Runge-Kutta, 4 solvers from The Apache Commons Mathematics Library,
					and Stochastic). The stochastic solver computes integer
					(individual) based transitions picking randomly from a binomial
					distribution (also from Apach Math). Simulation results can be
					output with a choice of pluggable loggers, including delimiting
					files, video loggers, and map loggers. STEM can be used to study
					quite complex models (for example a model of Dengue Fever with 51
					differential equations) and can run global scale simulations. <a
						href="http://wiki.eclipse.org/index.php/STEM">Click here</a> for
					the complete STEM documentation.
				</p>
				<p>
					<a href="./intro.php"> more.... </a>
				</p>
			</div>
		</div>

		<div class="homeitem3col">
			<a id="status"></a>
			<h3>Project Status</h3>
			<div style="padding: 3px;">
				<p>
					<b><a href="downloads.php">Download latest build today</a> </b>
				</p>
			</div>
		</div>

		<div class="homeitem3col">
			<a id="gettingstarted" /></a>
			<h3>Getting Started</h3>
			<div style="padding: 3px;">
				<p>
				
				
				<ul>
					<li><a href="downloads.php">Download STEM!</a> (available for
						Windows, Linux and Mac)</li>
					<li><a href="http://wiki.eclipse.org/Installation_Guide"
						title="Installation Guide">Installation Guide</a></li>
					<li><a href="http://wiki.eclipse.org/STEM_FAQ">FAQ</a></li>
				</ul>
			</div>
		</div>

		<div class="homeitem3col">
			<a id="resources" /></a>
			<h3>Resources</h3>
			<div style="padding: 3px;">
				<p>STEM Project Resources</p>
				<ul>
					<li><a
						href="https://bugs.eclipse.org/bugs/buglist.cgi?query_format=advanced&short_desc_type=allwordssubstr&short_desc=&classification=Technology&product=STEM&long_desc_type=allwordssubstr&long_desc=&bug_file_loc_type=allwordssubstr&bug_file_loc=&status_whiteboard_type=allwordssubstr&status_whiteboard=&keywords_type=allwords&keywords=&emailtype1=substring&email1=&emailtype2=substring&email2=&bugidtype=include&bug_id=&votes=&chfieldfrom=&chfieldto=Now&chfieldvalue=&cmdtype=doit&order=Reuse+same+sort+as+last+time&field0-0-0=noop&type0-0-0=noop&value0-0-0=">Existing
							STEM Bugs</a> on <a href="https://bugs.eclipse.org/bugs/">Bugzilla</a>.<br />
						<a href="https://bugs.eclipse.org/bugs/enter_bug.cgi?product=STEM">Submit
							a new bug</a></li>
					<li><a href="http://wiki.eclipse.org/Welcome_STEM_Developers">Developers
							Documentation</a> Guide</li>
					<li><a
						href="http://www.eclipse.org/newsportal/thread.php?group=eclipse.stem">Newsgroup</a>
						(See <a href="http://www.eclipse.org/newsgroups/">About the
							newsgroups</a> if you have access problems)</li>
					<li><a href="http://wiki.eclipse.org/index.php/STEM">Wiki</a></li>
					<li><a href="http://wiki.eclipse.org/index.php/STEM_Source_Code">Access
							the STEM source code</a></li>
					<li><a href="http://www.eclipse.org">Main Eclipse Foundation
							website</a></li>
					<li><a href="http://www.eclipse.org/legal/privacy.php">Privacy
							policy</a></li>
					<li><a href="http://www.eclipse.org/legal/termsofuse.php">Website
							terms of use</a></li>
					<li><a href="http://www.eclipse.org/legal/copyright.php">Copyright
							agent</a></li>
					<li><a href="http://www.eclipse.org/legal">Legal</a></li>

				</ul>
			</div>
		</div>
	</div>

    <div id="rightcolumn" style="width:30%">
    	<div class="sideitem">
    		<h6>News</h6>
    			<?php getRssFeed('http://www.eclipse.org/forums/rdf.php?mode=m&l=1&basic=1&frm=72&n=5', $_SERVER['DOCUMENT_ROOT'] . '/stem/data/rss_cache.xml'); ?>
    			<br> <i><a href="http://www.eclipse.org/forums/index.php?t=thread&frm_id=72">more...</a></i>
    	
    	</div>
    	<div class="sideitem">
    		<h6>Videos and presentations</h6>
    			<?php getData('/stem/data/videos.xml', 10); ?>
    		</div>
    	<div class="sideitem">
    		<h6>Downloadable Scenarios</h6>
    			<?php getData('/stem/data/scenarios.xml', 4, 'images/icon-save.gif'); ?>
    			<br /> <a href="http://www.eclipse.org/stem/downloads.php#DownloadableScenarios">
    			...more Downloadable Scenarios</a>
    	</div>
    	<div class="sideitem">
    		<h6>Recent Publications</h6>
    			<?php getData('/stem/data/pubs.xml', 10); ?>
    			<br> <i><a href="http://wiki.eclipse.org/Publications_and_Presentations_on_STEM">
    				...more Publications</a></i>
    	
    	</div>
    	<div class="sideitem">
    		<h6>Upcoming (and recent) talks</h6>
    			<?php getData('/stem/data/talks.xml', 10); ?>
    			<i><a href="http://wiki.eclipse.org/Publications_and_Presentations_on_STEM">
    				...more talks</a></i>
    	</div>
    	<div class="sideitem">
    		<h6>Acknowledgements</h6>
    		<!-- <img alt="Development of STEM was supported in part by USAF/SG" src="/stem/images/usaf.gif" style="float: left;width:150px;"/> -->
    			<?php getData('/stem/data/acknowledgements.xml', 15); ?>
    		</div>
    </div>

</div>

<?php

$html .= ob_get_contents();
ob_end_clean();

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

?>
