function reveal(elem){
	elem.style.display="";
}

function close(elem){
	elem.style.display="none";
}

function revealOrClose(elem) {
	var overflowed = getElementsByClassName(elem, "*", "overflowed");
	for (var i=0; i<overflowed.length; ++i) {
		if (overflowed[i].offsetHeight > 0) {
			close(overflowed[i])
		} else {
			reveal(overflowed[i]);
		}
	}
}

function areaRevealOrClose(elem, sClass) {
	var overflowed = getElementsByClassName(elem, "*", sClass);
	for (var i=0; i<overflowed.length; ++i) {
		if (overflowed[i].offsetHeight > 0) {
			close(overflowed[i])
		} else {
			reveal(overflowed[i]);
		}
	}
}

function titleClick() {
	var links = getElementsByClassName(document, "*", "OpenOrCloseLink");
	for (var i=0; i < links.length; ++i) {
		links[i].onclick = function() {
			revealOrClose(this.parentNode.parentNode);
			return false;
		}
	}
}

function allreveal(){
	var overflowed = getElementsByClassName(document, "*", "overflowed");
	for (var i=0; i < overflowed.length; ++i) {
		reveal(overflowed[i]);
	}
}

function allClose(){
	var overflowed = getElementsByClassName(document, "*", "overflowed");
	for (var i=0; i < overflowed.length; ++i) {
		close(overflowed[i]);
	}
}

function anchorManagement() {
	var result = getAnchor(document.URL);
	if (result) {
		allClose();
		revealOrClose(($(result[0]).parentNode).parentNode);
	} 
}

function getAnchor(url){
	return new RegExp(/anchor\d+/i).exec(url);
}

function goToAnchor(){
	if (window.location.hash){
		window.location.hash=window.location.hash;
	}
}