<html> 
<head>
<script src=traversal.js language="JavaScript" type="text/JavaScript" ></script>
<title>Traversal Test</title> 
</head> 
<body>
<div id="test">
<span id="A"></span><span id="B"></span><span id="C"></span>
</div>
<div style="font-family: Courier; font-size: 14;">
<script>
if (window.testRunner)
    testRunner.dumpAsText();

var root = document.getElementById('test');

function testNodeFiter(n)
{
    if (n.tagName == 'SPAN') return NodeFilter.FILTER_ACCEPT;
    return NodeFilter.FILTER_SKIP;
}

var it = document.createNodeIterator(root, NodeFilter.SHOW_ELEMENT, testNodeFiter, false);
for (i = 0; i < 3; i++)
    it.nextNode();
 it.previousNode();
document.write(dumpNodeIterator(it, "ref node 'C'; pointer before"));

// remove node 'C'
document.write("<p>remove node 'C'");
var D = document.getElementById('C');
root.removeChild(D);
document.write(dumpNodeIterator(it, "ref node 'B'; pointer after"));
</script>
</div>
</body>
</html>
