function showElement(elementId)
{
	var elementToShow = gE(elementId);
	if (elementToShow != null)
	{
		elementToShow.style.display = 'block';
	}
}

function hideElement(elementId)
{
	var elementToHide = gE(elementId);
	if (elementToHide != null)
	{
		elementToHide.style.display = 'none';
	}
}

function togglePanelFromCheckBox(toggleCheckBoxId, elementIdToToggle, codeWhenOpening, codeWhenClosing)
{
	var desiredStateOpened = false;
	var openedStateElement = gE(toggleCheckBoxId);
	if (openedStateElement != null && openedStateElement.type == 'checkbox')
	{
		desiredStateOpened = openedStateElement.checked;
	}
	if (desiredStateOpened)
	{
		showElement(elementIdToToggle);
		if (codeWhenOpening != null)
		{
			eval(codeWhenOpening);
		}
	}
	else
	{
		hideElement(elementIdToToggle);
		if (codeWhenClosing != null)
		{
			eval(codeWhenClosing);
		}
	}
}

function togglePanelFromLink(toggleLinkId, leftControlId, rightControlId, openedStateElementId, elementIdToToggle, leftSideIsImage, rightSideIsImage, leftContent, leftOpenContent, rightContent, rightOpenContent, codeWhenOpening, codeWhenClosing)
{
	var currentStateOpened = isCurrentStateOpened(openedStateElementId, true);
	var elem = gE(toggleLinkId);
	var text = elem.attributes.Text.value;
	var openText = elem.attributes.OpenText.value;
	if (currentStateOpened)
	{
		hideElement(elementIdToToggle);
		adjustItemLink(toggleLinkId, leftControlId, rightControlId, leftSideIsImage, rightSideIsImage, text, leftContent, rightContent);
		if (codeWhenClosing != null)
		{
			eval(codeWhenClosing);
		}
	}
	else
	{
		showElement(elementIdToToggle);
		adjustItemLink(toggleLinkId, leftControlId, rightControlId, leftSideIsImage, rightSideIsImage, openText, leftOpenContent, rightOpenContent);
		if (codeWhenOpening != null)
		{
			eval(codeWhenOpening);
		}
	}
}

function closeToggleLink(toggleLinkId, openedStateElementId)
{
	if (isCurrentStateOpened(openedStateElementId, false))
	{
		gE(toggleLinkId).onclick();
	}
}

function isCurrentStateOpened(openedStateElementId, toggleState)
{
	var currentStateOpened = false;
	var openedStateElement = gE(openedStateElementId);
	if (openedStateElement != null && openedStateElement.type == 'hidden')
	{
		currentStateOpened = (openedStateElement.value == true.toString());
		if (toggleState)
		{
			openedStateElement.value = (!currentStateOpened).toString();
		}
	}
	return currentStateOpened;
}

function adjustItemLink(toggleLinkId, leftControlId, rightControlId, leftSideIsImage, rightSideIsImage, text, leftContent, rightContent)
{
	if(text != null && text.lenth > 0)
	{
		gE(toggleLinkId).innerHTML = text;
	}
	if (leftControlId != null)
	{
		var leftControl = gE(leftControlId);
		if (leftSideIsImage)
		{
			leftControl.src = leftContent;
		}
		else
		{
			leftControl.innerHTML = leftContent;
		}
	}
	if (rightControlId != null)
	{
		var rightControl = gE(rightControlId);
		if (rightSideIsImage)
		{
			rightControl.src = rightContent;
		}
		else
		{
			rightControl.innerHTML = rightContent;
		}
	}
}

function OpenCloseInsertionBlock(blockId, imageId, secondBlockId, showInsteadId)
{
    var block = gE(blockId);
    var image = gE(imageId);
    var block2 = (secondBlockId ? gE(secondBlockId) : null);
    var showInstead = (showInsteadId ? gE(showInsteadId) : null);
    if (block.style.display == 'none')
    {
        block.style.display = 'block';
        image.src = '/images/collapse.jpg';
        if (block2) block2.style.visibility = '';
        if (showInstead) showInstead.style.display = 'none';
    }
    else
    {
        block.style.display = 'none';
        image.src = '/images/expand.jpg';
        if (block2) block2.style.visibility = 'hidden';
        if (showInstead) showInstead.style.display = 'block';
    }
}

function ToggleTwoDivs(id1, id2, state1)
{
  gE(id1).style.display=state1;
  gE(id2).style.display=(state1 == 'block' ? 'none' : 'block');
}