[%# The contents of this file are subject to the Mozilla Public
  # License Version 1.1 (the "License"); you may not use this file
  # except in compliance with the License. You may obtain a copy of
  # the License at http://www.mozilla.org/MPL/
  #
  # Software distributed under the License is distributed on an "AS
  # IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
  # implied. See the License for the specific language governing
  # rights and limitations under the License.
  #
  # The Original Code is the Bugzilla Bug Tracking System.
  #
  # The Initial Developer of the Original Code is Netscape Communications
  # Corporation. Portions created by Netscape are
  # Copyright (C) 1998 Netscape Communications Corporation. All
  # Rights Reserved.
  #
  # Contributor(s): Gervase Markham <gerv@gerv.net>
  #                 Byron Jones <glob@mozilla.com>
  #                 Emma Humphries <emma@mozilla.com>
  #%]

[%# INTERFACE
  # none
  #
  # Param("maintainer") is used to display the maintainer's email.
  # Param("emailsuffix") is used to pre-fill the email field.
  #%]

[% PROCESS global/variables.none.tmpl %]

[% title = BLOCK %]
  Create a new [% terms.Bugzilla %] account
[% END %]

[% PROCESS global/header.html.tmpl
   title = title
   style_urls = [ 'extensions/BMO/web/styles/create_account.css' ]
%]

<script [% script_nonce FILTER none %]>
function onSubmit() {
  var email = document.getElementById('login').value;
  var agreed = document.getElementById('etiquette').checked;
  if (email == '') {
    alert('You must enter your email address.');
    return false;
  }
  var isValid =
    email.match(/@/)
    && email.match(/@.+\./)
    && !email.match(/\.$/)
    && !email.match(/[\\()&<>,'"\[\]]/)
  ;
  if (!isValid) {
    alert(
      "The e-mail address doesn't pass our syntax checking for a legal " +
      "email address.\n\nA legal address must contain exactly one '@', and " +
      "at least one '.' after the @.\n\nIt must also not contain any of " +
      "these special characters: \ ( ) & < > , ; : \" [ ], or any whitespace."
    );
    return false;
  }
  if (!agreed) {
    alert(
      "You must agree to follow [% terms.Bugzilla %] Etiquette, " +
      "and the Mozilla Community Participation Guidelines."
    );
    return false;
  }
  return true;
}
</script>

<table border="0" id="create-account">
<tr>

<td width="50%" id="create-account-left" valign="top">

  <h2 class="column-header">I need help using a Mozilla Product</h2>

  <table border="0" id="product-list">
  [% INCLUDE product
      icon = "firefox"
      name = "Firefox Support"
      url = "https://support.mozilla.org/"
      desc = "Support for the Firefox web browser."
  %]
  [% INCLUDE product
      icon = "thunderbird"
      name = "Thunderbird Support"
      url = "https://support.mozilla.org/products/thunderbird"
      desc = "Support for Thunderbird email client."
  %]
  </table>

  <h2>Inappropriate uses of [% terms.Bugzilla %]</h2>

  <div id="left-blurb">
    <p><strong>Inappropriate use of this service will result in your account being banned and your institution blocked.</strong></p>
    <ul>
      <li>Creating [% terms.bugs %] as part of a school assignment.</li>
      <li>Trying out [% terms.Bugzilla %] to see if it suits your needs or testing out some part of [% terms.Bugzilla %] for proper functionality.</li>
    </ul>
    <p>Instead, go to <a href="https://bugzilla-dev.allizom.org">bugzilla-dev.allizom.org</a>, and log in using a GitHub account.</p>
    <p>Note: You can also set up your own instance of [% terms.Bugzilla %] for evaluation or classroom training by following the<br>
      directions on <a href="https://github.com/mozilla-bteam/bmo/">our project repository</a>.</p>
  </div>

</td>

<td width="50%" id="create-account-right" valign="top">

  <h2 class="column-header">I want to help</h2>

  <div id="right-blurb">
    <p>
      Great!  There are a few things to know and do:
    </p>
    <ol>
    <li>
      Please read our
      <a href="https://developer.mozilla.org/docs/Mozilla/QA/Bug_writing_guidelines" target="_blank" rel="noopener noreferrer">[% terms.Bug %] Writing Guidelines</a>.
    </li>
    <li>
      [% terms.Bugzilla %] is a public place. Your comments and other activities
      on [% terms.bugs %] will generally be publicly visible, and your email address will be
      accessible through public APIs and will be visible to all logged-in users
      of [% terms.Bugzilla %]. Some people use an
      <a href="https://www.lifewire.com/top-free-email-services-1171481"
      target="_blank">alternative email address</a> for this reason.
      See Mozilla's <a href="https://www.mozilla.org/privacy/websites/"
      target="_blank">Websites, Communications & Cookies Privacy Notice</a> for
      more information on our privacy policies.
    </li>
    <li>
      When using [% terms.Bugzilla %] to submit patches, comments, code, and any other content,
      you agree to our policies on open source licensing and content submission. See Mozilla’s
      <a href="https://www.mozilla.org/about/legal/terms/mozilla/" target="_blank">Websites
      and Communications Terms of Use</a> for more information.
    </li>
    <li>
      You understand that your conduct on this site is subject to both <a href="[% basepath FILTER none %]page.cgi?id=etiquette.html">[% terms.Bugzilla %] Etiquette</a>,
      and the <a href="https://www.mozilla.org/about/governance/policies/participation/">Mozilla Community Participation Guidelines</a>.
      By creating an account, you agree to abide by them.
    </li>
    <li>
      Please give us an email address you want to use. Once we confirm that it works,
      you'll be asked to set a password and then you can start filing [% terms.bugs %] and helping fix them.
    </li>
    </ol>
  </div>

  <h2 class="column-header">Create an account</h2>

  <form method="post" action="[% basepath FILTER none %]createaccount.cgi" onsubmit="return onSubmit()">
    <table id="create-account-form">
    <tr>
    <td class="label">Email Address:</td>
    <td>
      <input size="35" id="login" name="login" placeholder="you@example.com">[% Param('emailsuffix') FILTER html %]
    </td>
    </tr>
    <tr>
    <td colspan="2">
      <input type="checkbox" id="etiquette" value="agreed">
      <label for="etiquette">
      I have read <a href="[% basepath FILTER none %]page.cgi?id=etiquette.html">[% terms.Bugzilla %] Etiquette</a>
      and the <a href="https://www.mozilla.org/about/governance/policies/participation/">Mozilla Community Participation Guidelines</a>
      and agree to abide by them.
      </label>
    </td>
    </tr>
    <tr>
    <td colspan="2">
      <input type="hidden" id="token" name="token" value="[% issue_hash_token(['create_account']) FILTER html %]">
      <input type="submit" value="Create Account">
    </td>
    </tr>
    </table>
  </form>

  [% Hook.process('additional_methods') %]

</td>

</tr>
</table>

[% PROCESS global/footer.html.tmpl %]

[% BLOCK product %]
  <tr>
  <td valign="top">
    <a href="[% url FILTER none %]"><img
    src="[% basepath FILTER none %]extensions/BMO/web/producticons/[% icon FILTER uri %].png"
    border="0" width="64" height="64"></a>
  </td>
  <td valign="top">
    <h3><a href="[% url FILTER none %]">[% name FILTER html %]</a></h3>
    <div>[% desc FILTER html %]</div>
  </td>
  </tr>
[% END %]
