<?xml version="1.0"?>
<!-- This Source Code Form is subject to the terms of the Mozilla Public
   - License, v. 2.0. If a copy of the MPL was not distributed with this
   - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->

<bindings xmlns="http://www.mozilla.org/xbl"
          xmlns:html="http://www.w3.org/1999/xhtml">

  <binding id="prettyprint">

    <content><html:div id='top'/>
      <html:span style="display: none;"><children/></html:span>
    </content>

    <implementation implements="nsIObserver">
      <method name="observe">
        <parameter name="aSubject"/>
        <parameter name="aTopic"/>
        <parameter name="aData"/>
        <body>
          if (aTopic == "prettyprint-dom-created")
            document.getAnonymousNodes(this).item(0).appendChild(aSubject);
        </body>
      </method>
    </implementation>

    <handlers>
      <handler event="click" button="0">
      <![CDATA[
        try {
          var par = event.originalTarget;
          if (par.nodeName == 'div' && par.className == 'expander') {
            if (par.parentNode.className == 'expander-closed') {
              par.parentNode.className = 'expander-open';
              event.originalTarget.firstChild.data = '\u2212';
            }
            else {
              par.parentNode.className = 'expander-closed';
              event.originalTarget.firstChild.data = '+';
            }
          }
        } catch (e) {
        }
      ]]>
      </handler>
    </handlers>

  </binding>

</bindings>
