/* hidden_divs.js - A collection of functions to help create divs
   or other tags that can alternately be hidden and revealed.
*/

/* Changes an object from hidden to visible or vice versa. */
function toggleVisibility( objId ) {
	var obj = document.getElementById(objId);
	var img_obj = document.getElementById("img_"+objId);
	if (obj) {
		if (obj.style.display == "none") {
			obj.style.display = "";
			if (img_obj) {
				img_obj.src='/AcuStaf/Images/open_arrow.png';
			}
		}
		else {
			obj.style.display = "none";
			if (img_obj) {
				img_obj.src='/AcuStaf/Images/closed_arrow.png';
			}
		}
	}
}

/* Changes an array of objects from hidden to visible or vice versa. */
function toggleVisibilityAll( objArray ) {
	for (var obj in objArray) {
		toggleVisibility(objArray[obj]);
	}
}

/* Makes an object hidden. */
function hideObject( objId ) {
	var obj = document.getElementById(objId);
	if (obj) {
		obj.style.display = "none";
	}
}

/* Makes an array of objects hidden. */
function hideAll( objArray ) {
	for (var obj in objArray) {
		hideObject(objArray[obj]);
	}
}

/* Makes an object visible. */
function revealObject( objId ) {
	var obj = document.getElementById(objId);
	if (obj) {
		obj.style.display = "";
	}
}

/* Makes an array of objects visible. */
function revealAll( objArray ) {
	for (var obj in objArray) {
		revealObject(objArray[obj]);
	}
}

/* Changes rows with a given class from hidden to visible or vice versa
** and toggles their controlling image.
*/
function toggleVisibilityByRow(cName) {
	var rows = document.getElementsByTagName("tr");
	var img_obj = document.getElementById("img_" + cName);
	if (rows) {
		for (var j = 0; j < rows.length; j++) { 
			var row = rows[j];
			var classes = (row.className).split(" ");
			if (classes) {
				for (var k = 0; k < classes.length; k++) {
					if (classes[k] == cName) {
						if (row.style.display == "none") {
							row.style.display = "";
						}
						else {
							row.style.display = "none";
						}
						break;
					}
				}
			}
		}
		if (img_obj) {
			var flds= (img_obj.src).split("/");
			if (flds && flds[flds.length - 1] == "open.gif") {
				img_obj.src="/AcuStaf/Images/closed_arrow.png";
			}
			else {
				img_obj.src="/AcuStaf/Images/open_arrow.png";
			}
		}
	}
}
