var controlArray = new Array();
function Register(control)
{
	var element = document.getElementById(control);
	if(element != null)
	{
		controlArray[controlArray.length] = control;
		var text = "";
		Hide(control);
	}
	document.getElementById("showAllLink").style.display = "inline";
	document.getElementById("hideAllLink").style.display = "none";
}

function RegisterMainHeader(control)
{
	var element = document.getElementById(control);
	if(element != null)
	{
		controlArray[controlArray.length] = control;
		var text = "";
		Show(control);
	}
	document.getElementById("showAllLink").style.display = "inline";
	document.getElementById("hideAllLink").style.display = "none";
}

function ShowAll()
{
	for(var i=0; i<controlArray.length; i++)
	{
		Show(controlArray[i]);
	}
	document.getElementById("showAllLink").style.display = "none";
	document.getElementById("hideAllLink").style.display = "inline";
}

function HideAll()
{
	for(var i=0; i<controlArray.length; i++)
	{
		Hide(controlArray[i]);
	}
	document.getElementById("showAllLink").style.display = "inline";
	document.getElementById("hideAllLink").style.display = "none";
}

function Show(control)
{
	var element = document.getElementById(control);
	if(element != null)
	{
		element.style.display = "block";
	}
	
	var arrowExpand = document.getElementById(control + "expand");
	var arrowContract = document.getElementById(control + "contract");
	var nameExpand = document.getElementById(control + "expandName");
	var nameContract = document.getElementById(control + "contractName");
	
	if(arrowExpand != null && nameExpand != null)
	{
		arrowExpand.style.display = "none";
		nameExpand.style.display = "none";
	}
		
	if(arrowContract != null && nameContract != null)
	{
		arrowContract.style.display = "inline";
		nameContract.style.display = "inline";
	}
}

function Hide(control)
{
	var element = document.getElementById(control);
	if(element != null)
	{
		element.style.display = "none";
		var arrowExpand = document.getElementById(control + "expand");
		var arrowContract = document.getElementById(control + "contract");
		var nameExpand = document.getElementById(control + "expandName");
		var nameContract = document.getElementById(control + "contractName");
			
		if(arrowExpand != null && nameExpand != null)
		{
			arrowExpand.style.display = "inline";
			nameExpand.style.display = "inline";
		}
			
		if(arrowContract != null && nameContract != null)
		{
			arrowContract.style.display = "none";
			nameContract.style.display = "none";
		}
	}	
}

function ForceShow(head, bullet)
{
	var headElement = document.getElementById("head" + head);
	if(headElement != null)
	{
		Show("head" + head);
		if(bullet > -1)
		{
			var bulletElement = document.getElementById("head" + head + "bullet" + bullet);
			if(bulletElement != null)
			{
				Show("head" + head + "bullet" + bullet);
				return true;
			}
		}
		else
		{
			return true;
		}
	}
	return false;
}

