function showList() {
 // This is an ugly hack (boo!) because the DOM event handling model doesn't have a means to synthesize events, as needed at the end of this script.
 juggleElements(this);
}

function juggleElements(e) {
 var nodes = document.getElementById("dynnav").getElementsByTagName("h3");
 for (var a = 0; a < nodes.length; a++) {
  nodes[a].className = "";
  document.getElementById(nodes[a].id+"-list").className = "dynamic hidden";
 }
 e.className = "hovered";
 document.getElementById(e.id+"-list").className = "dynamic";
}

document.getElementById("dyninfo").parentNode.insertBefore(document.createElement("td"), document.getElementById("dyninfo")).id = "dynnav";
var nodes = document.getElementById("dyninfo").getElementsByTagName("h3");
var target = document.getElementById("dynnav");
while(nodes.length) {
 var node = nodes[0];
 var pNode = node.parentNode;
 target.appendChild(node); //move heading to other cell off to the side
 pNode.id = node.id+"-list"; //unambiguously identify dynamic <div> for simplicity's sake
 pNode.className = "dynamic hidden"; //change <div> class to apply different styling
 addEvent(node, "mouseover", showList);
}
//show the Total Retail section
juggleElements(document.getElementById("dyn-retail"));