﻿// JavaScript Document
// Show and hide help pop-up boxes on a page
// Sleeping Giant Studios, LLC
// Created by David Ellenwood - 09/21/2006

//Function to take a url and capture the local item ID reference
function getIdFromUrl(url) {
	var keeper = url.match(/#.+$/);
	if (keeper.length == 1) {
		var itemID = keeper[0].replace(/#/,"");
	}
	return itemID;
}	

//Function to show the correct help item in the correct location
function helpPopupBox(url,containerId) {
	if(document.getElementById && document.getElementsByTagName) {
		var popUpId		= getIdFromUrl(url);
		var itemToShow	= document.getElementById(popUpId);
		var container	= document.getElementById(containerId);
		var elements	= container.getElementsByTagName('div');
	} else {return;}
	for(var i=0; i < elements.length; i++){
		if (elements[i].id != popUpId) {
			elements[i].style.display = 'none';
		} else {
			if (elements[i].style.display == 'block') {		
				elements[i].style.display = 'none';
			} else {
				elements[i].style.display = 'block';
			}
		}
	}
}

function closePopupBox (id) {
	if(document.getElementById) {
		var popUpToClose = document.getElementById(id);
	} else {return;}
	popUpToClose.style.display = 'none';
}

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;
	}
}

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.display = newVisibility;
		return true;
    }
    else
    {
		return false;
    }
}
