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

<?xul-overlay href="chrome://global/content/dialogOverlay.xul"?>
<?xul-overlay href="chrome://communicator/content/pref/preftree.xul"?>

<!DOCTYPE window SYSTEM "chrome://communicator/locale/pref/pref.dtd" >

<window id="prefWindow" 
        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"
        title="&prefWindow.title;" 
        orient="vertical"
        class="dialog"
        persist="screenX screenY width height"
        screenX="24" screenY="24"
        onload="Startup();"
        width="620" height="470"> 

  <script>
  <![CDATA[

  var hPrefWindow = null;

  /** General startup routine for preferences dialog. 
   *  Place all necessary modifications to pref tree here. 
   **/
  function Startup()
    {
      hPrefWindow = new nsPrefWindow('panelFrame');  
      
      if( !hPrefWindow )
        throw "failed to create prefwindow";

      hPrefWindow.init();

      // If this call worked, we could center the window here:
      // centerWindowOnScreen();
      
      // modify the cookie tree entry if imageblocking is disabled. 
      if( hPrefWindow.getPref( "bool", "imageblocker.enabled" ) )
        {
          dump("*** foopy = " + hPrefWindow.getPref( "bool", "imageblocker.enabled" ) + "\n");
          var element = document.getElementById( "cookiesCell" );
          element.setAttribute( "value", element.getAttribute( "valueWithImages" ) );
        }      

      if (top.window.navigator.platform == "Macintosh") {
        var advancedChildren = document.getElementById("advancedChildren");
        var mousewheelItem = document.getElementById("mousewheelItem");
        advancedChildren.removeChild(mousewheelItem);
      }

      // Test for presence of "winhooks" component.
      var showWinhooks = false;
      try {
          var winhooks = Components.classes["component://mozilla/winhooks"].getService();
          if ( winhooks ) {
              showWinhooks = true;
          }
      }
      catch(e) {
      }
      if ( !showWinhooks ) {
          // Hide this tree element.
          try {
            var cell = document.getElementById( "winhooks" );
            if ( cell ) {
                cell.parentNode.removeChild( cell );
            }
          }
          catch(e) {
          }
      }
    }
  
  ]]>
  
  </script>        
        
  <script language="javascript" src="chrome://global/content/nsWidgetStateManager.js"></script>
  <script language="javascript" src="chrome://communicator/content/pref/nsPrefWindow.js"></script>

  <keyset id="keyset"/>

  <box flex="1">
    <!-- tree sidebar -->
    <tree class="inset" id="prefsTree" style="width: 0px" flex="3"/>      

    <iframe id="panelFrame" name="panelFrame" style="width:0px" flex="7"/>
    <script language="JavaScript">
    <![CDATA[
      if( window.arguments && window.arguments[0] ) {
        dump("*** panel to load is = " + window.arguments[0] + "\n");
        document.getElementById("panelFrame").setAttribute("src", window.arguments[0] );
        document.getElementById("panelFrame").setAttribute("tag", window.arguments[0] );
      }
      else {
        dump("*** window.arguments not found, defaulting to navigator panel \n");
        document.getElementById("panelFrame").setAttribute("src", "chrome://communicator/content/pref/pref-navigator.xul" );
        document.getElementById("panelFrame").setAttribute("tag", "chrome://communicator/content/pref/pref-navigator.xul" );
      }
    ]]>
    </script>
  </box>

  <separator class="groove"/>

  <box id="okCancelButtonsRight" />

</window>
