<?xml version="1.0"?>
<?xml-stylesheet href="chrome://global/skin" type="text/css"?>
<?xml-stylesheet href="chrome://mochikit/content/tests/SimpleTest/test.css" type="text/css"?>

<window title="Focus Switch Binding Test"
        xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">

  <script type="application/javascript" 
          src="chrome://mochikit/content/MochiKit/packed.js"/>
  <script type="application/javascript"
          src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"/>

<script>
SimpleTest.waitForExplicitFinish();

function switchBinding()
{
  $("box").style.MozBinding = "url(#second)";
}
</script>

<xbl:bindings xmlns:xbl="http://www.mozilla.org/xbl"
              xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
  <xbl:binding id="first">
    <xbl:content>
      <xul:button label="First"/>
    </xbl:content>
    <xbl:implementation>
      <xbl:constructor>
        document.getAnonymousNodes(this)[0].focus();
        setTimeout(switchBinding, 0);
      </xbl:constructor>
    </xbl:implementation>
  </xbl:binding>
  <xbl:binding id="second">
    <xbl:content>
      <xul:button label="Second"/>
    </xbl:content>
    <xbl:implementation>
      <xbl:constructor>
        $("after").focus();
      </xbl:constructor>
    </xbl:implementation>
  </xbl:binding>
</xbl:bindings>

<box id="box" style="-moz-binding: url(#first)"/>
<button id="after" label="After" onfocus="is(document.activeElement, $('after'), 'focus set'); SimpleTest.finish()"/>

<body xmlns="http://www.w3.org/1999/xhtml">
<p id="display">
</p>
<div id="content" style="display: none">
</div>
<pre id="test">
</pre>
</body>

</window>
