<?php
/**
 * Copyright (c) 2015, 2016, 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="midcolumn">
  <h1><?php print $pageTitle; ?></h1>
  <div class="homeitem3col">
    <div class="panel-group" id="accordion" role="tablist" aria-multiselectable="true">
      <!-- .PANEL -->
      <div class="panel panel-default">
        <div class="panel-heading" role="tab" id="headingOne">
          <h4 class="panel-title">
            <a role="button" data-toggle="collapse" data-parent="#accordion" href="#collapseOne"
              aria-expanded="true" aria-controls="collapseOne"
            > What do you plan to do with the donations received? </a>
          </h4>
        </div>
        <div id="collapseOne" class="panel-collapse collapse in" role="tabpanel"
          aria-labelledby="headingOne"
        >
          <div class="panel-body">
            All money donated to the Eclipse Foundation will be used to support the Eclipse
            Community.
          </div>
        </div>
      </div>
      <!-- /.PANEL -->
      <!-- .PANEL -->
      <div class="panel panel-default">
        <div class="panel-heading" role="tab" id="headingTwo">
          <h4 class="panel-title">
            <a role="button" data-toggle="collapse" data-parent="#accordion" href="#collapseTwo"
              aria-expanded="true" aria-controls="collapseTwo"
            > Do I get a charitable tax receipt for my donation? </a>
          </h4>
        </div>
        <div id="collapseTwo" class="panel-collapse collapse" role="tabpanel"
          aria-labelledby="headingTwo"
        >
          <div class="panel-body">No, you will not receive a charitable tax receipt for your
            donation. The Eclipse Foundation is a Belgian international not-for-profit organization, not a
            charitable organization, so we are unable to provide charitable tax receipts.</div>
        </div>
      </div>
      <!-- /.PANEL -->
      <!-- .PANEL -->
      <div class="panel panel-default">
        <div class="panel-heading" role="tab" id="headingThree">
          <h4 class="panel-title">
            <a role="button" data-toggle="collapse" data-parent="#accordion" href="#collapseThree"
              aria-expanded="true" aria-controls="collapseThree"
            > What methods of payment do you accept for contributions? </a>
          </h4>
        </div>
        <div id="collapseThree" class="panel-collapse collapse" role="tabpanel"
          aria-labelledby="headingThree"
        >
          <div class="panel-body">We currently accept credit card donations and PayPal donations.</div>
        </div>
      </div>
      <!-- /.PANEL -->
      <!-- .PANEL -->
      <div class="panel panel-default">
        <div class="panel-heading" role="tab" id="headingFour">
          <h4 class="panel-title">
            <a role="button" data-toggle="collapse" data-parent="#accordion" href="#collapseFour"
              aria-expanded="true" aria-controls="collapseFour"
            > How do I set-up a recurring donation? </a>
          </h4>
        </div>
        <div id="collapseFour" class="panel-collapse collapse" role="tabpanel"
          aria-labelledby="headingFour"
        >
          <div class="panel-body">
            <p>Thank you for wanting to donate periodically to the Eclipse Foundation!</p>
            <p>
              The only way to create an automatic recurring donation is through PayPal. On the <a
                href="/donate"
              >donate page</a>, select the amount you would like to give periodically, click donate.
              In the next box, make sure PayPal is selected and selected a donation period, monthly
              or yearly. To confirm your donation, click the donate button again and you will be
              redirected to PayPal to finalize the donation. From then on, donations will be made
              automatically on your behalf monthly or yearly, depending on your selection.
            </p>
          </div>
        </div>
      </div>
      <!-- /.PANEL -->
      <!-- .PANEL -->
      <div class="panel panel-default">
        <div class="panel-heading" role="tab" id="headingFive">
          <h4 class="panel-title">
            <a role="button" data-toggle="collapse" data-parent="#accordion" href="#collapseFive"
              aria-expanded="true" aria-controls="collapseFive"
            > How do I cancel my recurring donation? </a>
          </h4>
        </div>
        <div id="collapseFive" class="panel-collapse collapse" role="tabpanel"
          aria-labelledby="headingFive"
        >
          <div class="panel-body">
            To cancel your recurring donation, you will have to log in to your PayPal account to
            terminate the recurring payment. More information is available on the <a
              href="https://www.paypal.com/selfhelp/article/FAQ2058/3" target="_blank"
            >PayPal FAQ page.</a>
          </div>
        </div>
      </div>
      <!-- /.PANEL -->
      <!-- .PANEL -->
      <div class="panel panel-default">
        <div class="panel-heading" role="tab" id="headingSix">
          <h4 class="panel-title">
            <a role="button" data-toggle="collapse" data-parent="#accordion" href="#collapseSix"
              aria-expanded="true" aria-controls="collapseSix"
            > What if I want to donate by cheque or direct deposit? </a>
          </h4>
        </div>
        <div id="collapseSix" class="panel-collapse collapse" role="tabpanel"
          aria-labelledby="headingSix"
        >
          <div class="panel-body">
            <p>You are welcome to make a donation via cheque or direct deposit.</p>
            <p>
              <strong>Cheque Donations</strong>
            </p>
            <p>To donate via cheque, please send your cheque to:</p>
            <p>
              Eclipse Foundation Donations<br> 2934 Baseline Road, Suite 202<br> Ottawa, Ontario<br> Canada,
              K2H 1B2
            </p>
            <p>
              <strong>Direct Deposit</strong>
            </p>
            <p>
              To donate via direct deposit, <a href="mailto:donate@eclipse.org">email us</a> for the
              banking information.
            </p>
          </div>
        </div>
      </div>
      <!-- /.PANEL -->
      <!-- .PANEL -->
      <div class="panel panel-default">
        <div class="panel-heading" role="tab" id="headingEleven">
          <h4 class="panel-title">
            <a role="button" data-toggle="collapse" data-parent="#accordion" href="#collapseEleven"
              aria-expanded="true" aria-controls="collapseEleven"
            > How do I link my Eclipse Account to my donation? </a>
          </h4>
        </div>
        <div id="collapseEleven" class="panel-collapse collapse" role="tabpanel"
          aria-labelledby="headingEleven"
        >
          <div class="panel-body">
            If you have made a donation while you were logged in, your donation will automatically
            be linked to your Eclipse Account. If your Eclipse Account and your donations aren’t
            linked and you would like them to be, please email us <a
              href="mailto:donate@eclipse.org?subject=Link donation to my Eclipse Account"
            >donate@eclipse.org</a>. Please provide your donation details in the email: date,
            transaction ID, full name, and your Eclipse Account email address.
          </div>
        </div>
      </div>
      <!-- /.PANEL -->
      <!-- .PANEL -->
      <div class="panel panel-default">
        <div class="panel-heading" role="tab" id="headingTwelve">
          <h4 class="panel-title">
            <a role="button" data-toggle="collapse" data-parent="#accordion" href="#collapseTwelve"
              aria-expanded="true" aria-controls="collapseTwelve"
            > What should I do if I made a mistake when submitting my contribution? </a>
          </h4>
        </div>
        <div id="collapseTwelve" class="panel-collapse collapse" role="tabpanel"
          aria-labelledby="headingTwelve"
        >
          <div class="panel-body">
            Please contact us at <a href="mailto:donate@eclipse.org?subject=Donation Problem">donate@eclipse.org</a>
            with all your contact information and an explanation of what you need corrected.
          </div>
        </div>
      </div>
      <!-- /.PANEL -->
      <!-- .PANEL -->
      <div class="panel panel-default">
        <div class="panel-heading" role="tab" id="headingFifteen">
          <h4 class="panel-title">
            <a role="button" data-toggle="collapse" data-parent="#accordion" href="#collapseFifteen"
              aria-expanded="true" aria-controls="collapseFifteen"
            > How can I make a corporate donation? </a>
          </h4>
        </div>
        <div id="collapseFifteen" class="panel-collapse collapse" role="tabpanel"
          aria-labelledby="headingFifteen"
        >
          <div class="panel-body">
            We have an <a href="https://www.eclipse.org/org/corporate_sponsors/">Eclipse
              Corporate Sponsor Program</a>. A company may become a corporate sponsor by making a
            financial contribution or an in-kind contribution of goods and services to the Eclipse
            Foundation. There are three tiers of sponsorship: 1) Platinum, 2) Gold and 3) Silver;
            each tier representing the level of annual sponsorship to the Eclipse Foundation.
          </div>
        </div>
      </div>
      <!-- /.PANEL -->
      <!-- .PANEL -->
      <div class="panel panel-default">
        <div class="panel-heading" role="tab" id="headingSixteen">
          <h4 class="panel-title">
            <a role="button" data-toggle="collapse" data-parent="#accordion" href="#collapseSixteen"
              aria-expanded="true" aria-controls="collapseSixteen"
            > Contact Us </a>
          </h4>
        </div>
        <div id="collapseSixteen" class="panel-collapse collapse" role="tabpanel"
          aria-labelledby="headingSixteen"
        >
          <div class="panel-body">
            Other questions? Email us <a href="mailto:donate@eclipse.org">donate@eclipse.org</a>
          </div>
        </div>
      </div>
      <!-- /.PANEL -->
    </div>
  </div>
</div>