<?php
/**
 * Copyright (c) 2014, 2018 Eclipse Foundation.
 *
 * This program and the accompanying materials are made
 * available under the terms of the Eclipse Public License 2.0
 * which is available at https://www.eclipse.org/legal/epl-2.0/
 *
 * Contributors:
 *   Christopher Guindon (Eclipse Foundation) - Initial implementation
 *   Eric Poirier (Eclipse Foundation)
 *
 * SPDX-License-Identifier: EPL-2.0
 */
?>
<div id="content">
  <div class="row">
    <div class="col-md-18">
      <h1><?php print $pageTitle; ?></h1>
      <p>Participate in our success. Together we can make Eclipse even better! Each donation supports the Eclipse community.</p>
    </div>
    <div class="col-md-6">
      <img src="images/friendslogo.png" class="friends-logo-top" />
    </div>
    <div class="col-md-24 donation-help">
      <small>Contact <a href="mailto:friends@eclipse.org">friends at eclipse.org</a> for help regarding donations.</small>
    </div>
  </div>
  <div class="row boxes">
    <div class="col-md-5-eclipse donation-box">
      <div>
        <p class="donation-amount"><sup>$</sup>5</p>
        <h2>Acquaintance</h2>
        <form action="<?php print $Paypal->get_gateway_process_url();?>" method="POST">
          <input type="hidden" name="amount" value="5"/>
          <input type="submit" class="btn btn-warning donation-button" value="Donate" />
        </form>
      </div>
      <div class="background-purple">
        <p>
          Contributes to our ongoing success and we are grateful!
        </p>
      </div>
    </div>
    <div class="col-md-5-eclipse donation-box">
      <div>
        <p class="donation-amount"><sup>$</sup>10</p>
        <h2>Supporter</h2>
        <form action="<?php print $Paypal->get_gateway_process_url();?>" method="POST">
          <input type="hidden" name="amount" value="10"/>
          <input type="submit" class="btn btn-warning donation-button" value="Donate" />
        </form>
      </div>
      <div class="background-purple">
        <p>
          Keeps the Eclipse Community vibrant and amazing!
        </p>
      </div>
    </div>
    <div class="col-md-5-eclipse donation-box">
      <div>
        <p class="donation-amount"><sup>$</sup>35</p>
        <h2>Friend</h2>
        <form action="<?php print $Paypal->get_gateway_process_url();?>" method="POST">
          <input type="hidden" name="amount" value="35"/>
          <input type="submit" class="btn btn-warning donation-button" value="Donate" />
        </form>
      </div>
      <div class="background-purple">
        <h5 class="you-get-label">You Get:</h5>
        <ul class="donation-benefits">
          <li>Eclipse Mirror Site</li>
          <li>Friends of Eclipse Logo</li>
          <li>40% off prints and 50% off ebooks at oreilly.com</li>
        </ul>
      </div>
    </div>
    <div class="col-md-5-eclipse donation-box">
      <div>
        <p class="donation-amount"><sup>$</sup>100</p>
        <img class="tshirt-ribbon" src="images/tshirt-ribbon.png"></img>
        <h2>Best Friend</h2>
        <form action="<?php print $Paypal->get_gateway_process_url();?>" method="POST">
          <input type="hidden" name="amount" value="100"/>
          <input type="submit" class="btn btn-warning donation-button" value="Donate" />
        </form>
      </div>
      <div class="background-purple">
        <h5 class="you-get-label">You Get:</h5>
        <ul class="donation-benefits">
          <li>Friend Benefits</li>
          <li>Eclipse T-Shirt</li>
          <li>EclipseCon Discount</li>
        </ul>
      </div>
    </div>
    <div class="col-md-5-eclipse donation-box">
      <div>
        <p class="donation-amount"><sup>$</sup>250</p>
        <h2>Webmaster Idol</h2>
        <form action="<?php print $Paypal->get_gateway_process_url();?>" method="POST">
          <input type="hidden" name="amount" value="250"/>
          <input type="submit" class="btn btn-warning donation-button" value="Donate" />
        </form>
      </div>
      <div class="background-purple">
        <h5 class="you-get-label">You Get:</h5>
        <ul class="donation-benefits">
          <li>Best Friend Benefits</li>
          <li>Eternal Gratitude of the Eclipse Webmasters</li>
        </ul>
      </div>
    </div>
  </div>
  <div id="custom-donation" class="row">
    <div class="col-md-24">
      <form action="<?php print $Paypal->get_gateway_process_url();?>" method="POST" onsubmit="return validate_amount();">
        <div class="col-md-offset-8 col-md-4 col-sm-offset-4 col-sm-8 col-xs-12">
          <input type="text" name="amount" id="donation-amount" placeholder="Or enter amount..." value=""/>
        </div>
        <div class="col-md-4 col-sm-8 col-xs-12">
          <input type="submit" id="custom-donation-button" class="btn btn-warning" value="Donate" />
        </div>
      </form>
    </div>
  </div>
  <div class="row donation-footer">
    <div id="friends-benefits" class="col-md-8">
      <h2>Friend of Eclipse Benefits</h2>
      <p>Donate between US$35 and US$99.99 and you will be identified as a Friend of Eclipse for 1 year. Benefits include:</p>
      <ul class="friends-list fa-ul">
        <li><i class="fa fa-li fa-chevron-circle-right orange"></i>
          Friend of Eclipse Mirror Site - This will allow you to download new
          versions of Eclipse faster**
        </li>
        <li><i class="fa fa-li fa-chevron-circle-right orange"></i>
          "Friend of Eclipse" logo***
        </li>
        <li><i class="fa fa-li fa-chevron-circle-right orange"></i>
          40% off prints and 50% off ebooks at oreilly.com
        </li>
      </ul>
    </div>
    <div id="best-friends-benefits" class="col-md-8">
      <h2>Best Friend of Eclipse Benefits</h2>
      <p>Donate more than US$100 and you will be identified as a Best Friend of Eclipse for 1 year. Benefits include:</p>
      <ul class="friends-list fa-ul">
        <li><i class="fa fa-li fa-chevron-circle-right orange"></i>
          Friend of Eclipse Benefits (described above)
        </li>
        <li><i class="fa fa-li fa-chevron-circle-right orange"></i>
          Eclipse T-Shirt
        </li>
        <li><i class="fa fa-li fa-chevron-circle-right orange"></i>
          EclipseCon Friend of Eclipse discount****
        </li>
      </ul>
      <a href="/donate/faq.php">More Information</a>
    </div>
    <div id="recent-donations" class="col-md-8">
      <h2>Recent Donations</h2>
      <?php print $DonationList->donorListTable(8); ?>
      <a href="/donate/donorlist.php">Donor List</a>
    </div>
  </div>
  <div class="donation-fine-print">
    <div id="fine-print" class="col-md-24">
      <p class="small">
        *Eclipse Foundation Inc. is a not-for-profit, member supported
        corporation. Please note that contributions or gifts to the Eclipse
        Foundation Inc. are not tax deductible as charitable contributions.
        Contributions will not be restricted to the activities described, but
        will be put into a general operating fund.
        <br /><br />
        **Eclipse Foundation Inc. cannot guarantee that the Friends mirror will
        be faster than its other mirrors, however it will give users of this
        mirror priority. This Friends Mirror is only available for downloads
        through our website.<br />
        When you donate US$35 or more you will have access to the Friends of Eclipse Mirror Site.
        You will need an Eclipse.org account to gain access to this mirror.
        If you need an account <a href="https://dev.eclipse.org/site_login/createaccount.php" target="_blank">click here</a> to launch the registration page is a new window.
        <br /><br />
        ***The Friends of Eclipse program is for individuals, so the logo
        should not be used on an organization web site.
        <br /><br />
        ****The discount is valid for a year and can be used for all three
        EclipseCon events. The discount amount varies for each individual
        conference and will be identified on their respective registration
        pages at eclipsecon.org. The friend discount cannot be combined with
        other EclipseCon discounts such as alumni, member, etc.
      </p>
    </div>
  </div>
</div>
