function showActiveImage( sectionNumber ) {
    var IMAGE_PREFIX    = "img";
    var IMAGE_SUFFIX_ON = "On";

    if( sectionNumber != null ) {
	var imageName     = IMAGE_PREFIX + sectionNumber;
        var imageOnName   = IMAGE_PREFIX + sectionNumber + IMAGE_SUFFIX_ON;
    }
    else {
        return;
    }
    var imageElement   = document.getElementsByName( imageName );
    var imageOnElement = eval( imageOnName );

    if( imageElement.length != 0 ) {
	imageElement[0].src = imageOnElement.src;
    }
}

function showSubMenu( menuElem ) {
    if( !menuElem.style.display || ( menuElem.style.display == "none" ) ) {
	menuElem.style.display = "block";
    }
    else {
	menuElem.style.display = "none";
    }
}

function getNavSection() {
    // return all elements with name "section"
    var elements = document.getElementsByName( "section" );
    var section = null;

    // if we have an element, return the value of the "content" attrib
    if( elements.length != 0 ) {
	section = elements[0].getAttribute( "content" );
    }
    return section;
}

function showSection( sectionName ) {
    var SUB_MENU_SUFFIX    = "-sub";
    var SUB_MENU_IND_TEXT  = "\u203A ";
    var SUB_MENU_IND_TYPE  = "SPAN";
    var SUB_MENU_IND_CLASS = "bullet";

    var sectionElem;
    var imageElem;
    var subMenuName;

    if( sectionName == null ) {
	sectionName = getNavSection();
    }

    if( sectionName != null ) {
	var path = sectionName.split( ":" );
	if( path.length > 1 ) {
	    sectionElem = document.getElementById( path[0] + ":" + path[1] );
	    subMenuName = path[0] + ":" + path[1] + SUB_MENU_SUFFIX;
	    if( sectionElem != null ) {
		showActiveImage( path[1] );
		sectionElem.onmouseout  = null;
		sectionElem.onmouseover = null;
    		var subMenuElem = document.getElementById( subMenuName );
		if( subMenuElem != null ) {
		    showSubMenu( subMenuElem );
		}
	    }
	}
	if( path.length > 2 ) {
	    activePage = document.getElementById( sectionName );
	    if( activePage != null ) {
		var indicatorElem = document.createElement( SUB_MENU_IND_TYPE );
		indicatorElem.className = SUB_MENU_IND_CLASS;

		var indicatorTextNode =
		    document.createTextNode( SUB_MENU_IND_TEXT );
		indicatorElem.insertBefore( indicatorTextNode, null );

		activePage.insertBefore( indicatorElem, activePage.firstChild );
	    }
	}
    }
}
