<!DOCTYPE HTML>
<html
    i18n-values="dir:textdirection;
                 enable-background-mode:enable-background-mode;
                 enable-cloud-print-proxy:enable-cloud-print-proxy"
    id="t">
<head>
<meta charset="utf-8">
<title i18n-content="title"></title>

<link rel="icon" href="../../app/theme/settings_favicon.png">
<link rel="stylesheet" href="chrome://resources/css/list.css">
<link rel="stylesheet" href="chrome://resources/css/tree.css">
<link rel="stylesheet" href="dom_ui.css">
<link rel="stylesheet" href="options/options_page.css">
<link rel="stylesheet" href="options/add_startup_page_overlay.css">
<link rel="stylesheet" href="options/advanced_options.css">
<link rel="stylesheet" href="options/alert_overlay.css">
<link rel="stylesheet" href="options/autofill_edit_address_overlay.css">
<link rel="stylesheet" href="options/autofill_edit_creditcard_overlay.css">
<link rel="stylesheet" href="options/autofill_options_page.css">
<link rel="stylesheet" href="options/browser_options_page.css">
<link rel="stylesheet" href="options/clear_browser_data_overlay.css">
<link rel="stylesheet" href="options/content_settings.css">
<link rel="stylesheet" href="options/content_settings_exceptions_area.css">
<link rel="stylesheet" href="options/cookies_view.css">
<link rel="stylesheet" href="options/edit_search_engine_overlay.css">
<link rel="stylesheet" href="options/passwords_exceptions_list.css">
<link rel="stylesheet" href="options/personal_options.css">
<link rel="stylesheet" href="options/import_data_overlay.css">
<link rel="stylesheet" href="options/search_engine_manager.css">
<link rel="stylesheet" href="options/subpages_tab_controls.css">
<link rel="stylesheet" href="options/zippy.css">
<if expr="pp_ifdef('chromeos')">
  <link rel="stylesheet" href="options/about_page.css">
  <link rel="stylesheet" href="options/chromeos_accounts_options_page.css">
  <link rel="stylesheet" href="options/chromeos_internet_options_page.css">
  <link rel="stylesheet" href="options/chromeos_language_options.css">
</if>

<if expr="not pp_ifdef('win32') and not pp_ifdef('darwin')">
  <link rel="stylesheet" href="options/certificate_manager.css">
</if>

<script src="chrome://resources/css/tree.css.js"></script>

<script src="chrome://resources/js/cr.js"></script>
<script src="chrome://resources/js/cr/command_line.js"></script>
<script src="chrome://resources/js/cr/event_target.js"></script>
<script src="chrome://resources/js/cr/ui.js"></script>
<script src="chrome://resources/js/cr/ui/array_data_model.js"></script>
<script src="chrome://resources/js/cr/ui/list_selection_model.js"></script>
<script src="chrome://resources/js/cr/ui/list_selection_controller.js"></script>
<script src="chrome://resources/js/cr/ui/list_single_selection_model.js"></script>
<script src="chrome://resources/js/cr/ui/list_item.js"></script>
<script src="chrome://resources/js/cr/ui/list.js"></script>
<script src="chrome://resources/js/cr/ui/tree.js"></script>
<script src="chrome://resources/js/local_strings.js"></script>
<script src="chrome://resources/js/util.js"></script>
<script src="options/preferences.js"></script>
<script src="options/pref_ui.js"></script>
<script src="options/list_inline_header_selection_controller.js"></script>
<script src="options/options_page.js"></script>
<if expr="pp_ifdef('chromeos')">
  <script src="options/about_page.js"></script>
  <script src="options/chromeos_internet_network_element.js"></script>
  <script src="options/chromeos_internet_options.js"></script>
  <script src="options/chromeos_language_add_language_overlay.js"></script>
  <script src="options/chromeos_language_list.js"></script>
  <script src="options/chromeos_language_options.js"></script>
  <script src="options/chromeos_system_options.js"></script>
  <script src="options/chromeos_accounts_options.js"></script>
  <script src="options/chromeos_proxy_options.js"></script>
  <script src="options/chromeos_proxy_rules_list.js"></script>
  <script src="options/chromeos_accounts_user_list.js"></script>
  <script src="options/chromeos_accounts_user_name_edit.js"></script>
  <script>
    var AboutPage = options.AboutPage;
    var AccountsOptions = options.AccountsOptions;
    var InternetOptions = options.InternetOptions;
    var LanguageHangulOptions = options.LanguageHangulOptions;
    var LanguageOptions = options.LanguageOptions;
    var SystemOptions = options.SystemOptions;
  </script>
</if>
<if expr="not pp_ifdef('win32') and not pp_ifdef('darwin')">
  <script src="options/certificate_tree.js"></script>
  <script src="options/certificate_manager.js"></script>
  <script src="options/certificate_restore_overlay.js"></script>
  <script src="options/certificate_backup_overlay.js"></script>
  <script src="options/certificate_edit_ca_trust_overlay.js"></script>
  <script src="options/certificate_import_error_overlay.js"></script>
  <script>
    var CertificateManager = options.CertificateManager;
    var CertificateRestoreOverlay = options.CertificateRestoreOverlay;
    var CertificateBackupOverlay = options.CertificateBackupOverlay;
    var CertificateEditCaTrustOverlay = options.CertificateEditCaTrustOverlay;
    var CertificateImportErrorOverlay = options.CertificateImportErrorOverlay;
  </script>
</if>
<script src="options/add_startup_page_overlay.js"></script>
<script src="options/add_startup_page_recent_pages_list.js"></script>
<script src="options/advanced_options.js"></script>
<script src="options/alert_overlay.js"></script>
<script src="options/autofill_edit_address_overlay.js"></script>
<script src="options/autofill_edit_creditcard_overlay.js"></script>
<script src="options/autofill_options.js"></script>
<script src="options/browser_options.js"></script>
<script src="options/browser_options_startup_page_list.js"></script>
<script src="options/clear_browser_data_overlay.js"></script>
<script src="options/content_settings.js"></script>
<script src="options/content_settings_exceptions_area.js"></script>
<script src="options/content_settings_ui.js"></script>
<script src="options/cookies_tree.js"></script>
<script src="options/cookies_view.js"></script>
<script src="options/edit_search_engine_overlay.js"></script>
<script src="options/font_settings.js"></script>
<script src="options/font_settings_ui.js"></script>
<script src="options/import_data_overlay.js"></script>
<script src="options/instant_confirm_overlay.js"></script>
<script src="options/passwords_exceptions.js"></script>
<script src="options/passwords_exceptions_list.js"></script>
<script src="options/personal_options.js"></script>
<script src="options/search_engine_manager.js"></script>
<script src="options/search_engine_manager_engine_list.js"></script>
<script src="options/sync_options.js"></script>
<script src="options/zippy.js"></script>
<script>

var AddStartupPageOverlay = options.AddStartupPageOverlay;
var AdvancedOptions = options.AdvancedOptions;
var AlertOverlay = options.AlertOverlay;
var AutoFillEditAddressOverlay = options.AutoFillEditAddressOverlay;
var AutoFillEditCreditCardOverlay = options.AutoFillEditCreditCardOverlay;
var AutoFillOptions = options.AutoFillOptions;
var BrowserOptions = options.BrowserOptions;
var ClearBrowserDataOverlay = options.ClearBrowserDataOverlay;
var ContentSettings = options.ContentSettings;
var CookiesView = options.CookiesView;
var EditSearchEngineOverlay = options.EditSearchEngineOverlay;
var FontSettings = options.FontSettings;
var ImportDataOverlay = options.ImportDataOverlay;
var InstantConfirmOverlay = options.InstantConfirmOverlay;
var OptionsPage = options.OptionsPage;
var PasswordsExceptions = options.PasswordsExceptions;
var PersonalOptions = options.PersonalOptions;
var Preferences = options.Preferences;
var SearchEngineManager = options.SearchEngineManager;
var ProxyOptions = options.ProxyOptions;
var SyncOptions = options.SyncOptions;

/**
 * Window onload handler, sets up the page.
 */
function load() {
  var start = new Date();

  var menuOffPattern = /(^\?|&)menu=off($|&)/;
  var menuDisabled = menuOffPattern.test(window.location.search);
  document.documentElement.setAttribute('hide-menu', menuDisabled);

  localStrings = new LocalStrings();

  if (cr.isChromeOS) {
    OptionsPage.register(SystemOptions.getInstance());
    OptionsPage.registerSubPage(AboutPage.getInstance(),
                                SystemOptions.getInstance());
    OptionsPage.registerSubPage(LanguageOptions.getInstance(),
                                SystemOptions.getInstance());
    OptionsPage.registerSubPage(
        new OptionsPage('languageChewing',
                        localStrings.getString('languageChewingPage'),
                        'languageChewingPage'),
        SystemOptions.getInstance());
    OptionsPage.registerSubPage(
        new OptionsPage('languageHangul',
                        localStrings.getString('languageHangulPage'),
                        'languageHangulPage'),
        SystemOptions.getInstance());
    OptionsPage.registerSubPage(
        new OptionsPage('languageMozc',
                        localStrings.getString('languageMozcPage'),
                        'languageMozcPage'),
        SystemOptions.getInstance());
    OptionsPage.registerSubPage(
        new OptionsPage('languagePinyin',
                        localStrings.getString('languagePinyinPage'),
                        'languagePinyinPage'),
        SystemOptions.getInstance());
    OptionsPage.register(InternetOptions.getInstance());
  }

  OptionsPage.register(BrowserOptions.getInstance());
  OptionsPage.registerSubPage(SearchEngineManager.getInstance(),
                              BrowserOptions.getInstance());
  OptionsPage.register(PersonalOptions.getInstance());
  OptionsPage.registerSubPage(AutoFillOptions.getInstance(),
                              PersonalOptions.getInstance());
  OptionsPage.registerSubPage(PasswordsExceptions.getInstance(),
                              PersonalOptions.getInstance());
  OptionsPage.registerSubPage(SyncOptions.getInstance(),
                              PersonalOptions.getInstance());
  OptionsPage.register(AdvancedOptions.getInstance());
  OptionsPage.registerSubPage(ContentSettings.getInstance(),
                              AdvancedOptions.getInstance());
  OptionsPage.registerSubPage(CookiesView.getInstance(),
                              AdvancedOptions.getInstance());
  OptionsPage.registerSubPage(FontSettings.getInstance(),
                              AdvancedOptions.getInstance());
  if (!cr.isWindows && !cr.isMac) {
    OptionsPage.registerSubPage(CertificateManager.getInstance(),
                                AdvancedOptions.getInstance());
    OptionsPage.registerOverlay(CertificateRestoreOverlay.getInstance());
    OptionsPage.registerOverlay(CertificateBackupOverlay.getInstance());
    OptionsPage.registerOverlay(CertificateEditCaTrustOverlay.getInstance());
    OptionsPage.registerOverlay(CertificateImportErrorOverlay.getInstance());
  }
  OptionsPage.registerOverlay(AddStartupPageOverlay.getInstance());
  OptionsPage.registerOverlay(AlertOverlay.getInstance());
  OptionsPage.registerOverlay(AutoFillEditAddressOverlay.getInstance());
  OptionsPage.registerOverlay(AutoFillEditCreditCardOverlay.getInstance());
  OptionsPage.registerOverlay(ClearBrowserDataOverlay.getInstance());
  OptionsPage.registerOverlay(EditSearchEngineOverlay.getInstance());
  OptionsPage.registerOverlay(ImportDataOverlay.getInstance());
  OptionsPage.registerOverlay(InstantConfirmOverlay.getInstance());

  if (cr.isChromeOS) {
    OptionsPage.register(AccountsOptions.getInstance());
    OptionsPage.registerSubPage(ProxyOptions.getInstance(),
                                InternetOptions.getInstance());
    OptionsPage.registerOverlay(new OptionsPage(
        'detailsInternetPage',
        'detailsInternetPage',
        'detailsInternetPage'));
  }

  var languageModifierKeysOverlay = new OptionsPage(
      'languageCustomizeModifierKeysOverlay',
      localStrings.getString('languageCustomizeModifierKeysOverlay'),
      'languageCustomizeModifierKeysOverlay')
  OptionsPage.registerOverlay(languageModifierKeysOverlay);

  Preferences.getInstance().initialize();
  OptionsPage.initialize();

  var path = document.location.pathname;
  var hash = document.location.hash;

  if (path.length > 1) {
    var pageName = path.slice(1);
    OptionsPage.showPageByName(pageName);
    if (hash.length > 1)
      OptionsPage.handleHashForPage(pageName, hash.slice(1));
  } else {
    // TODO(csilv): Save/restore last selected page.
    if (cr.isChromeOS) {
      OptionsPage.showPageByName(SystemOptions.getInstance().name);
    } else {
      OptionsPage.showPageByName(BrowserOptions.getInstance().name);
    }
  }

  var subpagesNavTabs = document.querySelectorAll('.subpages-nav-tabs');
  for(var i = 0; i < subpagesNavTabs.length; i++) {
    subpagesNavTabs[i].onclick = function(event) {
      OptionsPage.showTab(event.srcElement);
    }
  }

  // Allow platform specific CSS rules.
  if (cr.isMac)
    document.documentElement.setAttribute('os', 'mac');
  if (cr.isViews)
    document.documentElement.setAttribute('toolkit', 'views');

  var end = new Date();
  var total = end - start;
  console.log('time took to run load():'+ total);
}

document.addEventListener('DOMContentLoaded', load);

window.onpopstate = function(e) {
  options.OptionsPage.setState(e.state);
};
</script>

</head>
<body i18n-values=".style.fontFamily:fontfamily;.style.fontSize:fontsize">
<div class="header">
</div>
<div id="overlay" class="overlay hidden">
  <include src="options/add_startup_page_overlay.html">
  <include src="options/alert_overlay.html">
  <include src="options/autofill_edit_address_overlay.html">
  <include src="options/autofill_edit_creditcard_overlay.html">
  <include src="options/clear_browser_data_overlay.html">
  <include src="options/edit_search_engine_overlay.html">
  <include src="options/import_data_overlay.html">
  <include src="options/instant_confirm_overlay.html">
  <if expr="pp_ifdef('chromeos')">
     <include src="options/chromeos_language_add_language_overlay.html">
     <include
         src="options/chromeos_language_customize_modifier_keys_overlay.html">
     <include src="options/chromeos_internet_detail.html">
  </if>
  <if expr="not pp_ifdef('win32') and not pp_ifdef('darwin')">
    <include src="options/certificate_restore_overlay.html">
    <include src="options/certificate_backup_overlay.html">
    <include src="options/certificate_edit_ca_trust_overlay.html">
    <include src="options/certificate_import_error_overlay.html">
  </if>
</div>
<div id="main-content">
  <div id="navbar-container">
     <h1 id="settings-title" i18n-content="title"></h1>
     <ul id="navbar">
     </ul>
  </div>
  <div id="mainview">
     <div class="hidden" id="managed-prefs-banner">
       <span id="managed-prefs-icon"></span>
       <span id="managed-prefs-text"
             i18n-content="managedPrefsBannerText"></span>
     </div>
     <div id="mainview-content">
       <if expr="pp_ifdef('chromeos')">
         <include src="options/chromeos_system_options.html">
         <include src="options/chromeos_internet_options.html">
         <include src="options/chromeos_accounts_options.html">
       </if>
       <include src="options/advanced_options.html">
       <include src="options/browser_options.html">
       <include src="options/personal_options.html">
       <div id="subpage-sheet-container" class="hidden">
         <div id="subpage-sheet">
           <if expr="pp_ifdef('chromeos')">
             <include src="options/about_page.html">
             <include src="options/chromeos_language_options.html">
             <include src="options/chromeos_language_chewing_options.html">
             <include src="options/chromeos_language_hangul_options.html">
             <include src="options/chromeos_language_mozc_options.html">
             <include src="options/chromeos_language_pinyin_options.html">
             <include src="options/chromeos_proxy.html">
           </if>
           <if expr="not pp_ifdef('win32') and not pp_ifdef('darwin')">
             <include src="options/certificate_manager.html">
           </if>
           <include src="options/autofill_options.html">
           <include src="options/content_settings.html">
           <include src="options/cookies_view.html">
           <include src="options/font_settings.html">
           <include src="options/passwords_exceptions.html">
           <include src="options/search_engine_manager.html">
           <include src="options/sync_options.html">
         </div>
       </div>
     </div>
  </div>
</div>

<script>
// Decorate the existing elements in the document.
cr.ui.decorate('input[pref][type=checkbox]', options.PrefCheckbox);
cr.ui.decorate('input[pref][type=number]', options.PrefNumber);
cr.ui.decorate('input[pref][type=radio]', options.PrefRadio);
cr.ui.decorate('input[pref][type=range]', options.PrefRange);
cr.ui.decorate('select[pref]', options.PrefSelect);
cr.ui.decorate('input[pref][type=text]', options.PrefTextField);
cr.ui.decorate('input[pref][type=url]', options.PrefTextField);
cr.ui.decorate('#contentSettingsPage input[type=radio]',
    options.ContentSettingsRadio);
cr.ui.decorate('#fontSettingsMinimumSizeSelector',
    options.MinimumFontSizeSelect);
console.log('in bottom script');
</script>
</body>
</html>