<?xml version="1.0"?>
<!-- ***** BEGIN LICENSE BLOCK *****
   - Version: MPL 1.1/GPL 2.0/LGPL 2.1
   -
   - 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 mozilla.org code.
   -
   - The Initial Developer of the Original Code is
   - Netscape Communications Corp.
   - Portions created by the Initial Developer are Copyright (C) 2001
   - the Initial Developer. All Rights Reserved.
   -
   - Contributor(s):
   -   Ian McGreer <mcgreer@netscape.com>
   -   Manuel Reimer <Manuel.Reimer@gmx.de>
   -
   - Alternatively, the contents of this file may be used under the terms of
   - either the GNU General Public License Version 2 or later (the "GPL"), or
   - the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
   - in which case the provisions of the GPL or the LGPL are applicable instead
   - of those above. If you wish to allow use of your version of this file only
   - under the terms of either the GPL or the LGPL, and not to allow others to
   - use your version of this file under the terms of the MPL, indicate your
   - decision by deleting the provisions above and replace them with the notice
   - and other provisions required by the GPL or the LGPL. If you do not delete
   - the provisions above, a recipient may use your version of this file under
   - the terms of any one of the MPL, the GPL or the LGPL.
   -
   - ***** END LICENSE BLOCK ***** -->

<?xml-stylesheet href="chrome://communicator/skin/" type="text/css"?>

<!DOCTYPE overlay [
  <!ENTITY % brandDTD SYSTEM "chrome://branding/locale/brand.dtd">
  <!ENTITY % prefPass SYSTEM "chrome://pippki/locale/pref-masterpass.dtd">
  %brandDTD;
  %prefPass;
]>

<overlay xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
  <prefpane id="masterpass_pane"
            label="&pref.masterpass.title;"
            script="chrome://pippki/content/pref-masterpass.js">

    <preferences id="masterpass_preferences">
      <preference id="security.disable_button.changePassword"
                  name="security.disable_button.changePassword"
                  type="bool"/>
      <preference id="security.ask_for_password"
                  name="security.ask_for_password"
                  type="int"
                  onchange="EnableLifetimeTextbox(this.value);"/>
      <preference id="security.password_lifetime"
                  name="security.password_lifetime"
                  type="int"/>
      <preference id="security.disable_button.resetPassword"
                  name="security.disable_button.resetPassword"
                  type="bool"/>
    </preferences>

    <!-- Change Password -->
    <groupbox>
      <caption label="&changepassword.caption;"/>
      <description>&changepassword.text;</description>
      <hbox>
        <button label="&changepassword.button;"
                oncommand="ChangePW();"
                id="changePasswordButton"
                accesskey="&changepassword.accesskey;"
                preference="security.disable_button.changePassword"/>
      </hbox>
    </groupbox>

    <!-- Password Prefs -->
    <groupbox>
      <caption label="&managepassword.caption;"/>
      <description>&managepassword.text;</description>
      <radiogroup id="passwordAskTimes"
                  preference="security.ask_for_password"
                  onsyncfrompreference="return document.getElementById('masterpass_pane').ReadAskForPassword();"
                  onsynctopreference="return document.getElementById('masterpass_pane').WriteAskForPassword(this);">

        <!-- note that these values are different than what NSS uses, which
             are (0, -1, 1) respectively -->
        <radio value="0"
               label="&managepassword.askfirsttime;"
               accesskey="&managepassword.askfirsttime.accesskey;"/>
        <radio value="1"
               label="&managepassword.askeverytime;"
               accesskey="&managepassword.askeverytime.accesskey;"/>
        <hbox align="center">
          <radio id="askTimeout"
                 value="2"
                 label="&managepassword.asktimeout;"
                 accesskey="&managepassword.asktimeout.accesskey;"/>
          <textbox id="passwordTimeout"
                   size="4"
                   type="number"
                   aria-labelledby="askTimeout passwordTimeout passwordTimeoutAfter"
                   preference="security.password_lifetime"
                   onsyncfrompreference="return document.getElementById('masterpass_pane').ReadPasswordLifetime();"
                   onsynctopreference="return document.getElementById('masterpass_pane').WritePasswordLifetime(this);"/>
          <label id="passwordTimeoutAfter"
                 value="&managepassword.timeout.unit;"/>
        </hbox>
      </radiogroup>
    </groupbox>

    <!-- Reset Password -->
    <groupbox>
      <caption label="&resetpassword.caption;"/>
      <description>&resetpassword.text;</description>
      <hbox>
        <button label="&resetpassword.button;"
                oncommand="ResetPW();"
                id="resetPasswordButton"
                accesskey="&resetpassword.accesskey;"
                preference="security.disable_button.resetPassword"/>
      </hbox>
    </groupbox>

  </prefpane>
</overlay>
