<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
<script>
if (window.layoutTestController)
     layoutTestController.dumpEditingCallbacks();
</script>

<title>Editing Test</title>
<script type="text/javascript">
function getContainer(containerID) {return document.getElementById(containerID);}


window.onload = function() {

  var newcontainer = getContainer('identity-options-horiz');
  var oldcontainer = getContainer('identity-options');

  if (oldcontainer) {
    var paranodes = oldcontainer.getElementsByTagName("p");

    // move all the paragraph nodes to new container
    while (paranodes.length > 0) {
      newcontainer.appendChild(paranodes[0]);
    }  
  }
}

</script>
</head>
<body>

<div style="border-style:solid; border-color:red" id="identity-options-horiz">Destination container</div>
<div style="border-style:solid; border-color:blue" id="identity-options">
Source container
<p class="label">one</p>
<p class="label">two</p>
</div>

</body>
</html> 
