// JavaScript Document


/**
 * @used_by ToggleBox1
 *
 * Toggles the visibility of the given area (areaId).
 * Also toggles the associated icon (imageId).
 */
function toggleViewArea(areaId, imageId, imgDownSrc, imgRightSrc) {
	var area = document.getElementById(areaId);
	var imgTag = document.getElementById(imageId);
	
	if (area.className != "jsHide" && area.className != "hidden") {
		imgTag.src = imgRightSrc;
		area.className = "jsHide";
		setCookie("hide_" + areaId, 1, 14);
	} else {
		imgTag.src = imgDownSrc;
		area.className = "";
		setCookie("hide_" + areaId, 0, 14)
	}
}


/**
 * @used_by ToggleBox2
 *
 * Toggles an icon between 2 states and hides one area and shows another area.
 *
 * @param imageId - ID of image to toggle
 * @param imgSrc1 - src of untoggled image
 * @param imgSrc2 - src of toggled image
 * @param areaId1 - ID of area to show when not toggled
 * @param areaId2 - ID of area to show when toggled
 *
 * @return bool - returns true if area is now toggled
 */
function switchBinaryView(imageId, imgSrc1, imgSrc2, areaId1, areaId2) {
	var imgTag = $(imageId);
	var area1 = $(areaId1);
	var area2 = $(areaId2);
	
	var imgTagSrc = removeHostFromUri(imgTag.src);
	
	if (imgTagSrc != imgSrc1) {
		imgTag.src = imgSrc1;
		// hide area1, show area2
		area1.addClassName("hidden");
		area2.removeClassName("hidden");
		area2.removeClassName("jsHide");
		
		return true; // toggled
	} else {
		imgTag.src = imgSrc2;
		// hide area2, show area1
		area2.addClassName("hidden");
		area1.removeClassName("hidden");
		area1.removeClassName("jsHide");
		
		return false; // not toggled
	}
}

/**
 * @used_by ToggleBox2
 *
 * Removes the "http://hostname" from the given URI, returning "/path/to/file" portion.
 */
function removeHostFromUri(uri) {
	ary = uri.split('/');
	ary[0] = ary[1] = ary[2] = '';
	return ary.join('/').substr(2);
}



