<script language="javascript">
//first redirect all click events to the navClicked function
document.onclick = navClicked;
function switchPoint(aNavPoint){
var collapsed;
if(aNavPoint.innerHTML == "+"){
collapsed=false;
aNavPoint.innerHTML = "-";
}
else{
collapsed=true;
aNavPoint.innerHTML = "+";
}
return collapsed;
}
function navClicked(e){
//assume the click was on a switchPoint and that it is collapsed
var isCollapsed = true;
//get a reference to the element that was clicked
if(!e){
var elem = window.event.srcElement;
}
else{
var elem = e.target;
}
var nodelist = elem.parentNode.childNodes[2];
//if the element that was clicked on was one of the toggles
if(elem.className == "node_toggle"){
//call the switchpoint function to change it's state, ie "+" to "-" and "-" to "+"
isCollapsed = switchPoint(elem);
//if the item is now collapsed after switching
if(isCollapsed)
//get it's parent element, get the parents third child (element_contents), hide it
nodelist.style.display = "none";
else
//otherwise open it's element_contents sibling
nodelist.style.display = "inline";
}
}</script><style>
.node{
margin-left:25px;
padding-left: 5px;
}
.node_children{
display:none;
}
.node_toggle{
width:20px;
text-decoration:none;
text-align:center;
color:#666666;
cursor:hand;
}
.node_no_toggle{
width:20px;
text-decoration:none;
}
</style><div class="tree_view"><div class="node"><span class="node_toggle">+</span><span class="node_text">Parent 1</span><div class="node_children" style="display:none;"><div class="node"><span class="node_no_toggle"> </span><span class="node_text">Child 1 (Parent 1)</span></div><div class="node"><span class="node_no_toggle"> </span><span class="node_text">Child 2 (Parent 1)</span></div><div class="node"><span class="node_no_toggle"> </span><span class="node_text">Child 3 (Parent 1)</span></div></div></div><div class="node"><span class="node_toggle">+</span><span class="node_text">Parent 2</span><div class="node_children" style="display:none;"><div class="node"><span class="node_no_toggle"> </span><span class="node_text">Child 1 (Parent 2)</span></div><div class="node"><span class="node_toggle">+</span><span class="node_text">Child 2 (Parent 2)</span><div class="node_children" style="display:none;"><div class="node"><span class="node_no_toggle"> </span><span class="node_text">Child 1 (Parent 2-2)</span></div><div class="node"><span class="node_no_toggle"> </span><span class="node_text">Child 2 (Parent 2-2)</span></div><div class="node"><span class="node_no_toggle"> </span><span class="node_text">Child 3 (Parent 2-2)</span></div></div></div><div class="node"><span class="node_no_toggle"> </span><span class="node_text">Child 3 (Parent 2)</span></div></div></div><div class="node"><span class="node_no_toggle"> </span><span class="node_text">Parent 3</span></div><div class="node"><span class="node_toggle">+</span><span class="node_text">Parent 4</span><div class="node_children" style="display:none;"><div class="node"><span class="node_no_toggle"> </span><span class="node_text">Child 1 (Parent 4)</span></div><div class="node"><span class="node_no_toggle"> </span><span class="node_text">Child 2 (Parent 4)</span></div><div class="node"><span class="node_no_toggle"> </span><span class="node_text">Child 3 (Parent 4)</span></div></div></div></div>