[%# 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>
  #                 Christine Begle <cbegle@mozilla.org>
  #%]

[%# INTERFACE:
  # This template has the same interface as create.html.tmpl
  #%]

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

[% USE Bugzilla %]
[% cgi = Bugzilla.cgi %]

[% PROCESS global/header.html.tmpl
   title = "Enter $terms.ABug"
   onload = "PutDescription()"
   style_urls = [ "skins/standard/guided.css" ]
 %]

[% style = "" %]

[% INCLUDE 'bug/create/user-message.html.tmpl' %]

[% tablecolor = "#FFFFCC" %]

[%# This script displays the descriptions for selected components. %]
<script [% script_nonce FILTER none %]>
var descriptions = [
[% FOREACH comp = product.components %]
  '[% comp.description FILTER js %]',
[% END %]
];

function PutDescription() {
    if ((document.getElementById) && (document.body.innerHTML)) {
        var componentIndex = document.getElementById('component').selectedIndex;
        if (componentIndex != -1) {
            var description = document.getElementById('description');
            description.innerHTML = descriptions[componentIndex];
        }
    }
}
</script>

<h3 id="step1">Step 1 of 3 - has your [% terms.bug %] already been reported?</h3>

<p>
  <font color="red">Please don't skip this step - half of all
  [% terms.bugs %] filed are
  reported already.</font>
    Check the two lists of frequently-reported [% terms.bugs %]:
</p>

<p>
    <a href="[% basepath FILTER none %]duplicates.cgi?product=[% product.name FILTER uri %]&amp;format=simple" target="somebugs">All-time Top 20</a> (loaded initially) |
    <a href="[% basepath FILTER none %]duplicates.cgi?product=[% product.name FILTER uri %]&amp;format=simple&amp;sortby=delta&amp;reverse=1&amp;maxrows=100&amp;changedsince=14" target="somebugs">Hot in the last two weeks</a>
</p>

<iframe name="somebugs" id="somebugs"
  style="border: 2px black solid"
  src="[% basepath FILTER none %]duplicates.cgi?[% productstring %]&amp;format=simple">
</iframe>

<p>
    If your [% terms.bug %] isn't there, search [% terms.Bugzilla %] by entering
    a few key words having to do with your [% terms.bug %] in this box.
    For example: <tt><b>pop3 mail</b></tt> or <tt><b>copy paste</b></tt>.
    The results will appear above.
  </p>

[%# All bugs opened inside the past six months %]
  <form action="[% basepath FILTER none %]buglist.cgi" method="get" target="somebugs">
    <input type="hidden" name="format" value="simple">
    <input type="hidden" name="order" value="relevance desc">
    <input type="hidden" name="bug_status" value="__all__">
    <input type="hidden" name="product" value="[% product.name FILTER html %]">
    <input type="hidden" name="chfieldfrom" value="-6m">
    <input type="hidden" name="chfieldto" value="Now">
    <input type="hidden" name="chfield" value="[Bug creation]">
    <input type="text" name="content" size="40">
    <input type="submit" id="search" value="Search">
  </form>

<p>
  Look through the search results. If you get the
  <tt><b>[% terms.zeroSearchResults %]</b></tt> message, [% terms.Bugzilla %]
  found no [% terms.bugs %] that
  match. Check for typing mistakes, or try fewer or different keywords.
  If you find [% terms.abug %] that looks the same as yours, please add
  any useful extra information you have to it, rather than opening a new one.
</p>


<h3 id="step2">Step 2 of 3 - give information</h3>

<p>
  If you've tried a few searches and your [% terms.bug %] really isn't in
  there, tell us all about it.
</p>

<form method="post" action="[% basepath FILTER none %]post_bug.cgi">
  <input type="hidden" name="format" value="guided">
  <input type="hidden" name="assigned_to" value="">
  <input type="hidden" name="priority"
         value="[% default.priority FILTER html %]">
  <input type="hidden" name="version"
         value="[% default.version FILTER html %]">
  <input type="hidden" name="token" value="[% token FILTER html %]">

<table valign="top" cellpadding="5" cellspacing="5" border="0">

  <tr bgcolor="[% tablecolor %]">
    <td align="right" valign="top">
      <b>Product</b>
    </td>
    <td valign="top">
      <input type="hidden" name="product" value="[% product.name FILTER html %]">
      [% product.name FILTER html %]
    </td>
  </tr>

  <tr>
    <td align="right" valign="top">
      <b>Component</b>
    </td>
    <td valign="top">
      <table border="0" cellpadding="0" cellspacing="0">
        <tr>
          <td valign="top">
            <select name="component" id="component"
                    size="5" onchange="PutDescription()">
              [% IF NOT default.component_ %]
                [%# Various b.m.o. products have a "General" component,
                    which is a useful default. %]
                [% default.component_ = "General" %]
              [% END %]
              [% FOREACH comp = product.components %]
                <option value="[% comp.name FILTER html %]"
                  [% " selected=\"selected\"" IF comp.name == default.component_ %]>
                  [% comp.name FILTER html %]
                </option>
              [% END %]
            </select>
          </td>
          <td valign="top" width="100%">
              <div id="description" style="color: green; margin-left: 10px;
                                           height: 5em; overflow: auto;">
                <script [% script_nonce FILTER none %]>
                  if ((document.getElementById) && (document.body.innerHTML)) {
                    document.write("\
                    Select a component to see its description here.");
                  }
                </script>
              </div>
          </td>
        </tr>
      </table>

      <p>
        The area where the problem occurs.
        To pick the right component, you could use the same one as
        similar [% terms.bugs %] you found in your search, or read the full list of
        <a target="_blank" href="[% basepath FILTER none %]describecomponents.cgi?product=
            [% product.name FILTER uri %]">component
        descriptions</a> (opens in new window) if you need more help.
      </p>
    </td>
  </tr>

  [%# We override rep_platform and op_sys for simplicity. The values chosen
      are based on which are most common in the b.m.o database %]
  [% rep_platform = [ "x86", "x86_64", "PowerPC", "All", "Other" ] %]

  <tr bgcolor="[% tablecolor %]">
    <td align="right" valign="top">
      <b>Hardware Platform</b>
    </td>
    <td valign="top">
      [% PROCESS select sel = 'rep_platform' %]
    </td>
  </tr>

  [% op_sys = [ "Windows 2000", "Windows XP", "Windows Vista", "Windows 7",
                "macOS", "Linux", "All", "Other" ] %]

  <tr>
    <td align="right" valign="top">
      <b>Operating System</b>
    </td>
    <td valign="top">
      [% PROCESS select sel = 'op_sys' %]
    </td>
  </tr>

  <tr>
    <td align="right" valign="top">
      <b>URL</b>
    </td>
    <td valign="top">
      <input type="text" size="80" name="bug_file_loc" placeholder="https://">
      <p>
        URL that demonstrates the problem you are seeing (optional).
      </p>
   </td>
  </tr>

  <tr bgcolor="[% tablecolor %]">
    <td align="right" valign="top">
      <b>Summary</b>
    </td>
    <td valign="top">
      <input type="text" size="80" name="short_desc" id="short_desc"
             maxlength="255" spellcheck="true">
      <p>
        A sentence which summarizes the problem.
        Please be descriptive and use lots of keywords.
      </p>
      <p>
        <tt>
          <font color="#990000">Bad example</font>: mail crashed
        </tt>
        <br>
        <tt>
          <font color="#009900">Good example</font>:
          crash if I close the mail window while checking for new POP mail
        </tt>
      </p>
    </td>
  </tr>

  <tr>
    <td align="right" valign="top">
      <b>Details</b>
    </td>
    <td valign="top">
      [% INCLUDE global/textarea.html.tmpl
        name    = 'comment'
        minrows = 6
        cols    = constants.COMMENT_COLS
      %]
      <p>
        Expand on the Summary. Please be
        as specific as possible about what is wrong.
      </p>
      <p>
        <tt>
          <font color="#990000">Bad example</font>: Mozilla crashed.
          You suck!
        </tt>
        <br>
        <tt>
          <font color="#009900">Good example</font>: After a crash which
          happened when I was sorting in the Bookmark Manager,<br> all of my
          top-level bookmark folders beginning with the letters Q to Z are
          no longer present.
        </tt>
      </p>
    </td>
  </tr>

  <tr bgcolor="[% tablecolor %]">
    <td align="right" valign="top">
      <b>Reproducibility</b>
    </td>
    <td valign="top">
      <select name="reproducible">
        <option name="AlwaysReproducible" value="Always">
          Happens every time.
        </option>
        <option name="Sometimes" value="Sometimes">
          Happens sometimes, but not always.
        </option>
        <option name="DidntTry" value="Didn't try">
          Haven't tried to reproduce it.
        </option>
        <option name="NotReproducible" value="Couldn't Reproduce">
          Tried, but couldn't reproduce it.
        </option>
      </select>
    </td>
  </tr>

  <tr>
    <td align="right" valign="top">
      <b>Steps to Reproduce</b>
    </td>
    <td valign="top">
      [% INCLUDE global/textarea.html.tmpl
        name           = 'reproduce_steps'
        minrows        = 4
        cols           = constants.COMMENT_COLS
        defaultcontent = "1.\n2.\n3."
      %]
      <p>
        Describe how to reproduce the problem, step by
        step. Include any special setup steps.
      </p>
    </td>
  </tr>

  <tr bgcolor="[% tablecolor %]">
    <td valign="top" align="right">
      <b>Actual Results</b>
    </td>
    <td valign="top">
      [% INCLUDE global/textarea.html.tmpl
        name    = 'actual_results'
        minrows = 4
        cols    = constants.COMMENT_COLS
      %]
      <p>
        What happened after you performed the steps above?
      </p>
    </td>
  </tr>

  <tr>
    <td valign="top" align="right">
      <b>Expected Results</b>
    </td>
    <td valign="top">
      [% INCLUDE global/textarea.html.tmpl
        name    = 'expected_results'
        minrows = 4
        cols    = constants.COMMENT_COLS
      %]
      <p>
        What should the software have done instead?
      </p>
    </td>
  </tr>

  <tr bgcolor="[% tablecolor %]">
    <td valign="top" align="right">
      <b>Additional Information</b>
    </td>
    <td valign="top">
      [% INCLUDE global/textarea.html.tmpl
        name    = 'additional_info'
        minrows = 8
        cols    = constants.COMMENT_COLS
      %]
      <p>
        Add any additional information you feel may be
        relevant to this [% terms.bug %], such as special
        information about <b>your computer's configuration</b>. Any information
        longer than a few lines, such as a <b>stack trace</b> or <b>HTML
        testcase</b>, should be added
        using the "Add an Attachment" link on the [% terms.bug %], after
        it is filed. If you believe that it's relevant, please also include
        your build configuration, obtained by typing <tt>about:buildconfig</tt>
        into your URL bar.
        <br>
        <br>
        If you are reporting a crash, please <a href="https://developer.mozilla.org/docs/Mozilla/How_to_get_a_stacktrace_for_a_bug_report
">try and get a stack trace</a>, which tells us exactly where things went wrong.
      </p>
    </td>
  </tr>

  <tr>
    <td valign="top" align="right">
      <b>Severity</b>
    </td>
    <td valign="top">
      <select name="bug_severity">
        <option name="critical" value="critical">
          Critical: The software crashes, hangs, or causes you to
          lose data.
        </option>
        <option name="major" value="major">
          Major: A major feature is broken.
        </option>
        <option name="normal" value="normal" selected="selected">
          Normal: It's [% terms.abug %] that should be fixed.
        </option>
        <option name="minor" value="minor">
          Minor: Minor loss of function, and there's an easy workaround.
        </option>
        <option name="trivial" value="trivial">
          Trivial: A cosmetic problem, such as a misspelled word or
          misaligned text.
        </option>
      </select>
      <p>
        Say how serious the problem is, or if your [% terms.bug %] is a
        request for a new feature.
      </p>
    </td>
  </tr>

  [% Hook.process('form') %]
</table>


<h3 id="step3">Step 3 of 3 - submit the [% terms.bug %] report</h3>

<p>
  <input type="submit" id="report" value="    Submit [% terms.Bug %] Report    "
   onclick="if (this.form.comment.value == '')
   { alert('Please enter some details about this [% terms.bug %].');
     this.form.comment.focus();
     return false; } return true;">
</p>

<p>
  That's it! Thanks very much. You'll be notified by email about any
  progress that is made on fixing your [% terms.bug %].

<p>
  Please be warned
  that we get a lot of [% terms.bug %] reports filed - it may take quite a
  while to get around to yours. You can help the process by making sure your
  [%+ terms.bug %] is
  complete and easy to understand, and by quickly replying to any questions
  which may arrive by email.
</p>

    </form>

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

[%############################################################################%]
[%# Block for SELECT fields                                                  #%]
[%############################################################################%]

[% BLOCK select %]
  <select name="[% sel %]">
    [%- IF default.$sel %]
      <option value="[% default.$sel FILTER html %]" selected="selected">
        [% default.$sel FILTER html -%]
      </option>
    [% END %]
    [%- FOREACH x = $sel %]
      [% NEXT IF x == default.$sel %]
      <option value="[% x FILTER html %]">
        [% x FILTER html -%]
      </option>
    [%- END %]
  </select>
[% END %]
