function setVisibility(element, visibility, elementContent) {
    var elementToggle = document.getElementById(element + "Toggle");

    if (!elementContent) {
	elementContent = document.getElementById(element + "Content");
    }
    
    if (visibility == "show") {
	elementContent.style.display = "block";
	elementToggle.innerHTML = "[-]";
    } else if (visibility == "hide") {
    	elementContent.style.display = "none";
	elementToggle.innerHTML = "[+]";
    }
}

/* Toggles the visibility of a page @element.
   Parameter @visibility is optional- if unspecified the @element's
   status gets toggled.  If specified, the @element's status gets set
   to @visibility.
 */
function toggleVisibility(element, visibility) {
    var elementContent = document.getElementById(element + "Content");
    var contentIsVisible = elementContent.style.display == "block";
    
    if (!visibility) {
	if (contentIsVisible) {
	    setVisibility(element, "hide", elementContent);
	} else {
	    setVisibility(element, "show", elementContent);
	}
    } else {
	setVisibility(element, visibility);
    }
    
    return contentIsVisible;
}

