<HEAD>
<SCRIPT>
function doIt() {
  var font = document.getElementById("font1");
  var anchor = document.getElementById("anchor1a");
  var text = document.createTextNode("same line as X ");
  font.insertBefore(text, anchor);

  font = document.getElementById("font2");
  var table = document.getElementById("table2");
  text = document.createTextNode(" same line as X");
  font.insertBefore(text, table);

  font = document.getElementById("font3");
  anchor = document.getElementById("anchor3b");
  text = document.createTextNode("same line as Z ");
  font.insertBefore(text, anchor);

  font = document.getElementById("font4");
  table = document.getElementById("table4");
  text = document.createTextNode("line before table");
  font.insertBefore(text, table);

  font = document.getElementById("font5");
  anchor = document.getElementById("anchor5b");
  text = document.createTextNode("line after table ");
  font.insertBefore(text, anchor);

  font = document.getElementById("font6");
  table = document.getElementById("table6");
  text = document.createTextNode("line before table");
  font.insertBefore(text, table);

  font = document.getElementById("font7");
  anchor = document.getElementById("anchor7a");
  var div = document.createElement("DIV", null);
  text = document.createTextNode("div before X");
  div.appendChild(text);
  font.insertBefore(div, anchor);

  font = document.getElementById("font8");
  table = document.getElementById("table8");
  div = document.createElement("DIV", null);
  text = document.createTextNode("div before table");
  div.appendChild(text);
  font.insertBefore(div, table);

  font = document.getElementById("font9");
  anchor = document.getElementById("anchor9b");
  div = document.createElement("DIV", null);
  text = document.createTextNode("div after table");
  div.appendChild(text);
  font.insertBefore(div, anchor);

  font = document.getElementById("font10");
  table = document.getElementById("table10");
  div = document.createElement("DIV", null);
  text = document.createTextNode("div before table");
  div.appendChild(text);
  font.insertBefore(div, table);

  font = document.getElementById("font11");
  anchor = document.getElementById("anchor11b");
  div = document.createElement("DIV", null);
  text = document.createTextNode("div after table");
  div.appendChild(text);
  font.insertBefore(div, anchor);

  font = document.getElementById("font12");
  table = document.getElementById("table12");
  div = document.createElement("DIV", null);
  text = document.createTextNode("div before table");
  div.appendChild(text);
  font.insertBefore(div, table);

}
</SCRIPT>  
</HEAD>

<BODY onload="doIt()">

<font id=font1><a id=anchor1a>X</a><table id=table1 border><tr><td>table-1</td></tr></table><a id=anchor1b>Z</a><font>
<HR>
<font id=font2><a id=anchor2a>X</a><table id=table2 border><tr><td>table-2</td></tr></table><a id=anchor2b>Z</a><font>
<HR>
<font id=font3><a id=anchor3a>X</a><table id=table3 border><tr><td>table-3</td></tr></table><a id=anchor3b>Z</a><font>
<HR>
<font id=font4><table id=table4 border><tr><td>table-4</td></tr></table><a id=anchor4b>Z</a><font>
<HR>
<font id=font5><table id=table5 border><tr><td>table-5</td></tr></table><a id=anchor5b>Z</a><font>
<HR>
<font id=font6><table id=table6 border><tr><td>table-6</td></tr></table><font>

<HR>
<font id=font7><a id=anchor7a>X</a><table id=table7 border><tr><td>table-7</td></tr></table><a id=anchor7b>Z</a><font>
<HR>
<font id=font8><a id=anchor8a>X</a><table id=table8 border><tr><td>table-8</td></tr></table><a id=anchor8b>Z</a><font>
<HR>
<font id=font9><a id=anchor9a>X</a><table id=table9 border><tr><td>table-9</td></tr></table><a id=anchor9b>Z</a><font>
<HR>
<font id=font10><table id=table10 border><tr><td>table-10</td></tr></table><a id=anchor10b>Z</a><font>
<HR>
<font id=font11><table id=table11 border><tr><td>table-11</td></tr></table><a id=anchor11b>Z</a><font>
<HR>
<font id=font12><table id=table12 border><tr><td>table-12</td></tr></table><font>
