<?php
/*******************************************************************************
 * Copyright (c) 2014, 2016 Eclipse Foundation and others.
 * All rights reserved. This program and the accompanying materials
 * are made available under the terms of the Eclipse Public License v1.0
 * which accompanies this distribution, and is available at
 * http://eclipse.org/legal/epl-v10.html
 *
 * Contributors:
 *    Eric Poirier (Eclipse Foundation) - Initial implementation
 *******************************************************************************/
?>
<!-- HEADER -->
<div class="downloads-header">
  <div class="container">
    <div class="row">
      <div class="col-lg-18 col-md-16 downloads-header-white-shape">
        <div class="downloads-header-padding downloads-padding">
          <div class="row">
            <div class="col-lg-15">
              <div class="h1-container">
                <h1>Download <span class="text-nowrap">Eclipse Technology</span> that is right for you</h1>
              </div>
            </div>
          </div>
        </div>
      </div>

      <div class="col-lg-6 col-md-8 col-sm-12 col-sm-offset-6 col-md-offset-0 downloads-header-white-content">
        <div class="downloads-header-padding downloads-header-box-ad">
          <?php print $Downloads->getPromoAd(); ?>
        </div>
      </div>
    </div>
  </div>
</div>

<?php print $Downloads->getBannerAd(); ?>

<?php print $Downloads->getAllDownloadsProjects(); ?>

<!-- ALL PROJECTS -->
<div id="all-projects" class="downloads-section-all-projects">
  <div class="container">
    <h2><span class="downloads-title">All Projects</span></h2>
    <div class="downloads-items">
      <p><strong>Find an Eclipse open source project.</strong></p>
      <form id="form-discover-search" class="col-md-8 col-md-offset-8 form-inline form-search-projects input-group custom-search-form text-center" role="form" action="https://projects.eclipse.org/list-of-projects-solstice">
        <input id="discover-search-box" class="form-control" type="text" size="25" name="keys" placeholder="Search">
        <span class="input-group-btn">
          <button class="btn btn-default" type="submit">
            <i class="fa fa-search"></i>
          </button>
        </span>
      </form>
      <br/>
      <p><a class="btn btn-info uppercase fw-700" href="//projects.eclipse.org/list-of-projects-solstice">List of projects</a></p>
    </div>
  </div>
</div>

<div id="googleAds" class="padding-top-25 padding-bottom-25 text-center">
  <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>