<?xml version="1.0"?> <!-- -*- Mode: HTML -*- --> 

<!-- The contents of this file are subject to the Netscape 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/NPL/

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 Communicator client code, released
March 31, 1998.

The Initial Developer of the Original Code is Netscape
Communications Corporation. Portions created by Netscape are
Copyright (C) 1998-2000 Netscape Communications Corporation. All
Rights Reserved.

Contributor(s): ______________________________________. -->


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

<?xul-overlay href="chrome://navigator/content/navigatorOverlay.xul"?>
<?xul-overlay href="chrome://navigator/content/navExtraOverlay.xul"?>
<?xul-overlay href="chrome://communicator/content/tasksOverlay.xul"?>
<?xul-overlay href="chrome://communicator/content/sidebar/sidebarOverlay.xul"?>
<?xul-overlay href="chrome://communicator/content/securityOverlay.xul"?>
<?xul-overlay href="chrome://communicator/content/communicatorOverlay.xul"?>
<?xul-overlay href="chrome://communicator/content/contentAreaContextOverlay.xul"?>

<!DOCTYPE window [
<!ENTITY % brandDTD SYSTEM "chrome://global/locale/brand.dtd" >
%brandDTD;
<!ENTITY % buildDTD SYSTEM "chrome://global/content/build.dtd" >
%buildDTD;
<!ENTITY % navigatorDTD SYSTEM "chrome://navigator/locale/navigator.dtd" >
%navigatorDTD;
]>

<window id="main-window" xmlns:html="http://www.w3.org/1999/xhtml"
  xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
  onload="Startup()"
  onunload="Shutdown()"
  contenttitlesettting="true"
  title="&mainWindow.title;" 
  titlemodifier="&mainWindow.titlemodifier;" 
  titlemenuseparator="&mainWindow.titlemodifiermenuseparator;"
  viewsourcetitlepreface="&viewsourcetitle.preface;"
  windowtype="navigator:browser"
  align="vertical"
  width="640" height="480"
  screenX="10" screenY="10"
  persist="screenX screenY width height sizemode"> 

<script type="text/javascript" src="chrome://global/content/nsJSSupportsUtils.js"/>
<script type="text/javascript" src="chrome://global/content/nsJSComponentManager.js"/>
<script type="text/javascript" src="chrome://global/content/nsUserSettings.js"/>
<script type="text/javascript" src="chrome://global/content/nsTransferable.js"/>
<script type="text/javascript" src="chrome://global/content/nsClipboard.js"/>
<script type="text/javascript" src="chrome://global/content/nsDragAndDrop.js"/>
<script type="text/javascript" src="chrome://global/content/strres.js"/>
<script type="text/javascript" src="chrome://communicator/content/contentAreaClick.js"/>
<script type="text/javascript" src="chrome://communicator/content/contentAreaDD.js"/>
<script type="text/javascript" src="chrome://communicator/content/bookmarks/bookmarksOverlay.js"/>
<script type="text/javascript" src="chrome://navigator/content/navigator.js"/>
<script type="text/javascript" src="tooltip.js"/>
<script type="text/javascript" src="navigatorDD.js"/>
<!-- UI services -->
<script type="text/javascript" src="chrome://navigator/content/sessionHistoryUI.js"/>

<!-- hook for stringbundle overlays -->
<stringbundleset id="stringbundleset">
  <stringbundle id="bundle_navigator" src="chrome://navigator/locale/navigator.properties"/>
  <stringbundle id="bundle_brand" src="chrome://global/locale/brand.properties"/>
</stringbundleset>

<commands id="commands">
	<commandset id="globalEditMenuItems"/>
	<commandset id="selectEditMenuItems"/>
	<commandset id="undoEditMenuItems"/>
	<commandset id="clipboardEditMenuItems"/>
</commands>

<!-- broadcasters are appended from the overlay -->
<broadcasterset id="broadcasterset">
  <broadcaster id="canReload" oncommand="BrowserReallyReload(event);"/>
  <broadcaster id="canPrint"/>
  <broadcaster id="args" value=""/>
  <broadcaster id="cmd_pageSetup"/>
</broadcasterset>
<!-- keys are appended from the overlay -->
<keyset id="keyset"/>
<!-- tooltips -->
<popupset id="aTooltipSet"/>
<!-- XXX-TEMP this needs to move into an XBL binding for browser!!! -->
<popupset id="aHTMLTooltipSet">
  <popup id="aHTMLTooltip" class="tooltip" oncreate="return FillInHTMLTooltip(document.tooltipNode);" > 
    <box id="HTML_TOOLTIP_tooltipBox" orient="vertical"/>
  </popup>
</popupset>

<popupset>
  <popup id="backMenu" oncreate="BrowserBackMenu(event);" oncommand="gotoHistoryIndex(event);"/>
  <popup id="forwardMenu" oncreate="BrowserForwardMenu(event);" oncommand="gotoHistoryIndex(event);"/>
</popupset>

<popupset>
  <popup id="contextual" oncreate="return fillContextMenu('contextual', 'innermostBox');" >
	  <menu />
  </popup>
</popupset>

<!-- context menu -->
<popupset id="contentAreaContextSet"/>

<script language="javascript">
  var gBookmarkPopup = null;
</script>

  <toolbox id="navigator-toolbox" class="toolbox-top" deferattached="true">
    <!-- Menu -->
    <menubar id="main-menubar" persist="collapsed" grippytooltip="aTooltip" grippytooltiptext="&menuBar.tooltip;"/>

    <toolbar class="toolbar-primary chromeclass-toolbar" id="nav-bar" persist="collapsed" 
             grippytooltip="aTooltip" grippytooltiptext="&navigationBar.tooltip;"
             tbautostretch="always">
      <box id="nav-bar-buttons">
        <menubutton id="back-button" value="&backButton.label;" buttontooltiptext="&backButton.tooltip;"
                    oncommand="gotoHistoryIndex(event);" buttonaction="BrowserBack();" context="backMenu"
                    class="menubutton-dual toolbar top" crop="right" tooltip="aTooltip" observes="canGoBack">  
       	  <menupopup context="" oncreate="BrowserBackMenu(event);"/>
        </menubutton>
        <menubutton id="forward-button" value="&forwardButton.label;" buttontooltiptext="&forwardButton.tooltip;"
                    oncommand="gotoHistoryIndex(event);" buttonaction="BrowserForward();" context="forwardMenu"
                    class="menubutton-dual toolbar top" crop="right" tooltip="aTooltip" observes="canGoForward">
      	  <menupopup context="" oncreate="BrowserForwardMenu(event);"/>
        </menubutton>

        <button class="button-toolbar-1 top" id="reload-button" crop="right" observes="canReload" value="&reloadButton.label;" 
                tooltip="aTooltip" tooltiptext="&reloadButton.tooltip;"/>
        <button class="button-toolbar-1 top" id="stop-button" crop="right" observes="canStop" onclick="BrowserStop()" value="&stopButton.label;" 
                tooltip="aTooltip" tooltiptext="&stopButton.tooltip;"/>
      </box>
                
      <box id="nav-bar-inner" flex="1">
        <box id="urlbar-group" class="box-toolbar-group chromeclass-location" flex="1">
          <box autostretch="never" valign="middle" flex="1" id="urlbar-container">
    	      <image id="page-proxy-button" ondraggesture="nsDragAndDrop.startDrag(event, proxyIconDNDObserver);"/> 
	          <textfield autocomplete="true" timeout="300" class="plain" 
	                     searchSessionType="urlbar" id="urlbar" tooltip="aTooltip" tooltiptext="&locationBar.tooltip;"
                         onclick="if (event.button==1) URLBarLeftClickHandler(event);"
                         onblur="URLBarBlurHandler(event);"
						 onkeypress="if( event.keyCode == 13 ) { addToUrlbarHistory(); BrowserLoadURL(); }" flex="1"/>  
          </box>
          <menubutton class="menubutton-icon" id="ubhist">
            <menupopup id="ubhist-popup" popupalign="topright" popupanchor="bottomright"
                       oncreate="createUBHistoryMenu(event.target);" oncommand="executeUrlBarHistoryCommand(event.target);"> 
            </menupopup>                       
          </menubutton>
          
        </box>

        <button class="button-toolbar-3 chromeclass-location" id="go-button" persist="hidden" hidden="true" value="&goButton.label;" oncommand="addToUrlbarHistory(); BrowserLoadURL();" 
                  tooltip="aTooltip" tooltiptext="&goButton.tooltip;"/> 

        <button class="button-toolbar-3 chromeclass-location" persist="hidden" 
                id="search-button" value="&searchButton.label;" 
                oncommand="OpenSearch('internet',false, document.getElementById('urlbar').value);" 
                tooltip="aTooltip" tooltiptext="&searchButton.tooltip;"/> 
      </box>

      <menubutton class="menubutton-dual toolbar top" id="print-button" persist="hidden" value="&printButton.label;" 
                  crop="right" buttonaction="BrowserPrint()" tooltip="aTooltip" buttontooltiptext="&printButton.tooltip;">  
        <menupopup id="printMenu" popupalign="topright" popupanchor="bottomright">
          <menuitem value="&printCmd.label;" accesskey="&printCmd.accesskey;" oncommand="BrowserPrint()" default="true"/>
        </menupopup>
      </menubutton>

      <box id="throbber-box" autostretch="never">
        <button id="navigator-throbber" oncommand="goClickThrobber('browser.throbber.url')" tooltip="aTooltip" tooltiptext="&throbber.tooltip;"/>
      </box>
    </toolbar>
  
    <toolbar id="PersonalToolbar" class="chromeclass-directories" persist="collapsed" dragdroparea="innermostBox"
             ondragover="nsDragAndDrop.dragOver(event, personalToolbarObserver);"
             ondragdrop="nsDragAndDrop.drop(event, personalToolbarObserver);"
             ondraggesture="nsDragAndDrop.startDrag(event, personalToolbarObserver);"
             ondragexit="nsDragAndDrop.dragExit(event, personalToolbarObserver);"
             grippytooltip="aTooltip" grippytooltiptext="&personalBar.tooltip;"
             tbautostretch="always">

      <!-- "Bookmarks" button on personal toolbar -->                           
      <menubutton class="button-toolbar bookmarkfolder" id="bookmarks-button"   
                  persist="hidden" value="&bookmarksButton.label;"
                  datasources="rdf:bookmarks rdf:files rdf:localsearch rdf:internetsearch rdf:httpindex"
                  ref="NC:BookmarksRoot" container="true" flags="dont-test-empty">
        <template>
          <rule iscontainer="true">
            <menupopup>
              <menu class="menu-iconic bookmarkfolder" uri="rdf:*"
                    value="rdf:http://home.netscape.com/NC-rdf#Name" >
                <menupopup/>
              </menu>
            </menupopup>
           </rule>
          <rule rdf:type="http://home.netscape.com/NC-rdf#BookmarkSeparator">
            <menupopup>
              <menuseparator uri="rdf:*"/>
            </menupopup>
          </rule>
          <rule>
            <menupopup>
              <menuitem class="menuitem-iconic bookmarkitem" uri="rdf:*"
                        value="rdf:http://home.netscape.com/NC-rdf#Name"
                        oncommand="OpenBookmarkURL(event.target,document.getElementById('BookmarksMenu').database)" />
            </menupopup>
           </rule>
        </template>
        <menupopup>
          <menuitem accesskey="&addCurPageCmd.accesskey;"
                    key="addBookmarkKb" observes="Browser:AddBookmark"/>
          <menuitem accesskey="&manBookmarksCmd.accesskey;"
                    key="manBookmarkKb" observes="Browser:ManageBookmark"/>
          <menuseparator/>
        </menupopup>
      </menubutton>
 
      <!-- Personal toolbar items -->
      <box id="innermostBox" flex="1" style="min-width: 1px;" context="contextual"
           datasources="rdf:bookmarks rdf:files rdf:localsearch rdf:internetsearch rdf:httpindex"
           ref="NC:PersonalToolbarFolder" flags="dont-test-empty">
        <template>
          <rule parent="box" iscontainer="true">
            <menubutton class="button-toolbar bookmarkfolder" uri="rdf:*" 
                        tooltip="aTooltip" tooltiptext="rdf:http://home.netscape.com/NC-rdf#URL"
                        value="rdf:http://home.netscape.com/NC-rdf#Name">
              <menupopup/>
            </menubutton>
          </rule>

          <rule parent="box" rdf:type="http://home.netscape.com/NC-rdf#BookmarkSeparator">
            <toolbarseparator/>
          </rule>

          <rule parent="box">
            <button class="button-toolbar bookmarkitem" uri="rdf:*" 
              tooltip="aTooltip" tooltiptext="rdf:http://home.netscape.com/NC-rdf#URL"
              value="rdf:http://home.netscape.com/NC-rdf#Name" crop="right"
              oncommand="OpenBookmarkURL(event.target, document.getElementById('innermostBox').database);"/>
          </rule>
        
          <rule iscontainer="true">
            <menupopup>
              <menu class="menu-iconic bookmarkfolder" uri="rdf:*" 
                    value="rdf:http://home.netscape.com/NC-rdf#Name">
                <menupopup/>
              </menu>
            </menupopup>
          </rule>
          <rule rdf:type="http://home.netscape.com/NC-rdf#BookmarkSeparator">
            <menupopup>
              <menuseparator uri="rdf:*" />
            </menupopup>
          </rule>
          <rule>
            <menupopup>
              <menuitem class="menuitem-iconic bookmarkitem" uri="rdf:*"
                        value="rdf:http://home.netscape.com/NC-rdf#Name"
                        oncommand="OpenBookmarkURL(event.target, document.getElementById('innermostBox').database)"/>
            </menupopup>
          </rule>
        </template>
       
        <button class="button-toolbar bookmarkitem" id="home-button" value="&homeButton.label;"
                tooltip="aTooltip" persist="hidden"
                ondraggesture="nsDragAndDrop.startDrag(event, homeButtonObserver);"
                ondragover="nsDragAndDrop.dragOver(event, homeButtonObserver);"
                ondragdrop="nsDragAndDrop.drop(event, homeButtonObserver);"
                ondragexit="nsDragAndDrop.dragExit(event, homeButtonObserver);"
                oncommand="BrowserHome(); event.preventBubble();"/>
    
        <toolbarseparator/>
    
      </box>

    </toolbar>

  </toolbox>
    
  <box flex="1" >
    <box id="sidebar-box" class="chromeclass-extrachrome"/>
    <splitter id="sidebar-splitter" class="chromeclass-extrachrome" />
  
    <box id="appcontent" align="vertical" flex="100%"
         ondragover="nsDragAndDrop.dragOver(event, contentAreaDNDObserver);"
         ondragdrop="nsDragAndDrop.drop(event, contentAreaDNDObserver);">

      <!-- this box is temporary, pending XBLified <browser> -->
      <box id="browser" flex="1">
        <browser id="content" type="content-primary" src="about:blank"
                 flex="1" tooltip="aHTMLTooltip"
                 context="contentAreaContextMenu"
                 onclick="return contentAreaClick(event);"
                 ondraggesture="nsDragAndDrop.startDrag(event, contentAreaDNDObserver);"/>
      </box>
      
      <statusbar id="status-bar" class="chromeclass-status">
        <statusbarpanel class="statusbarpanel-icononly" id="offline-status"/>
        <progressmeter class="progressmeter-statusbar" statusbar="true" id="statusbar-icon" mode="normal" value="0"/>
        <statusbarpanel id="statusbar-display" value="&statusText.label;" crop="right" flex="1"/>
        <statusbarpanel class="statusbarpanel-icononly" id="security-button"/>
      </statusbar>  
    
    </box>

  </box>

  <box id="taskbar" class="chromeclass-extrachrome toolbox-bottom"/>

</window>
