<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
<html>
<head>
<script src="../../resources/js-test-pre.js"></script>
</head>
<body>
<p id="description"></p>

<form>
<span id="testSpan">
<img id="1" name="imageElement">
</span>
</form>

<div id="console"></div>
<script>
function debugLog(s) {
    var console = document.getElementById("console");
    console.appendChild(document.createTextNode(s));
    console.appendChild(document.createElement("br"));
}

var form = document.forms[0];
var span = document.getElementsByTagName('span')[0];
shouldBe("form.imageElement.id", "'1'");

span.innerHTML = "<img id='2' name='imageElement'>";
shouldBe("form.imageElement.id", "'2'");
shouldBe("form.imageElement.name = 'foo'; form.foo.id", "'2'");
shouldBe("form.imageElement", "form.foo");

span.innerHTML = "<img id='2' name='newImage'>";
shouldBeFalse("!!form.imageElement");

// This quirk has no bearing on document. access
shouldBeUndefined("document.imageElement");

// Of coruse, the new image should be accessible both ways.
shouldBeTrue("!!document.newImage");
shouldBeTrue("!!form.newImage");

// However, if you never access an image element by name it does not stick around after being removed:
span.innerHTML = "<img id='3' name='thirdImage'>";
span.innerHTML = "<img id='4' name='fourthImage'>";
shouldBeUndefined("form.thirdImage");
</script>
<script src="../../resources/js-test-post.js"></script>
</body>
</html>
