function ToggleVisibility(objectId)
{
	var currentStyle = document.getElementById(objectId).style.display;
	if (currentStyle != "block")
	{
		document.getElementById(objectId).style.display = "block";
		document.getElementById(objectId).style.visibility = "visible";
	}
	else
	{
		document.getElementById(objectId).style.display = "none";
		document.getElementById(objectId).style.visibility = "hidden";
	} // END if
} // END ToggleVisibility

// ============================================================================

function switchDivOn(div_id)
{
  var style_sheet = getStyleObject(div_id);
  if (style_sheet)
  {
    changeObjectVisibility(div_id, "visible");    
	changeObjectDisplay(div_id, "block");

  }
  else 
  {
    alert("sorry, this only works in browsers that do Dynamic HTML");
  }
} // END switchDivOn

// ============================================================================

function switchDivOff(div_id)
{
  var style_sheet = getStyleObject(div_id);
  if (style_sheet)
  {
    changeObjectVisibility(div_id, "hidden");
    changeObjectDisplay(div_id, "none");
  }
  else 
  {
    alert("sorry, this only works in browsers that do Dynamic HTML");
  }
} // END switchDivOff

// ============================================================================

function changeObjectVisibility(objectId, newVisibility) {
    // first get the object's stylesheet
    var styleObject = getStyleObject(objectId);

    // then if we find a stylesheet, set its visibility
    // as requested
    //
    if (styleObject) {
	styleObject.visibility = newVisibility;
	return true;
    } else {
	return false;
    }
} // END changeObjectVisibility

// ============================================================================

function changeObjectDisplay(objectId, newVisibility) {
    // first get the object's stylesheet
    var styleObject = getStyleObject(objectId);

    // then if we find a stylesheet, set its visibility
    // as requested
    //
    if (styleObject) {
	styleObject.display = newVisibility;
	return true;
    } else {
	return false;
    }
} // END changeObjectDisplay

// ============================================================================

function getStyleObject(objectId) {
  // checkW3C DOM, then MSIE 4, then NN 4.
  //
  if(document.getElementById && document.getElementById(objectId)) {
	return document.getElementById(objectId).style;
   }
   else if (document.all && document.all(objectId)) {  
	return document.all(objectId).style;
   } 
   else if (document.layers && document.layers[objectId]) { 
	return document.layers[objectId];
   } else {
	return false;
   }
} // END getStyleObject

// ============================================================================

function swapImage(myImage, state) 
{
	if (state == "minus") 
	{
		myImage.src = "images/minus.gif";
	}
	else
	{
		myImage.src = "images/plus.gif";
	}
} // END swapImage

// ============================================================================

function showHideItems(myItem, myButton)
{
	//this is the ID of the hidden item
	var myItem = document.getElementById(myItem);
	//this is the ID of the plus/minus button image
	var myButton = document.getElementById(myButton);

	if (myItem.style.display != "none") 
	{
		//items are currently displayed, so hide them
		myItem.style.display = "none";
		swapImage(myButton,"plus");
	}
else
	{
		//items are currently hidden, so display them
		myItem.style.display = "block";
		swapImage(myButton,"minus");
	}
} // END showHideItems

// ============================================================================
// ============================================================================
