
	function collapseMenu ( imgElement, subChildrenID, InternetRoot )
	{
		childrenElement = document.getElementById ( subChildrenID );
		var show = ( childrenElement.style.display == 'none' );
		
		if ( show )
		{
			childrenElement.style.display = 'block';
			imgElement.src = InternetRoot + '_data/img/minus_s.gif';
		}
		else
		{
			childrenElement.style.display = 'none';
			imgElement.src = InternetRoot + '_data/img/plus_s.gif';
		}
	}
	
	// Hack for incompatibility of IE and Firefox:
	//   on double click FireFox fires two onclick events and one ondblclick event
	//   while IE fires one onclick event and one ondblclick event
	var selectAllChildrenLastClickedID;
	var selectAllChildrenClickedCount;
	
	function selectAllChildrenSingleClick( myCheckbox )
	{
		if ( selectAllChildrenLastClickedID == myCheckbox.id )
			selectAllChildrenClickedCount++;
		else
		{
			selectAllChildrenLastClickedID = myCheckbox.id;
			selectAllChildrenClickedCount = 1;
		}
	}
	
	function selectAllChildren( myCheckbox, childrenID )
	{
		if ( selectAllChildrenLastClickedID == myCheckbox.id )
			targetSettings = ( ( selectAllChildrenClickedCount % 2 ) == 0 )
				? ! myCheckbox.checked : myCheckbox.checked;
		else
			targetSettings = ! myCheckbox.checked;

		myCheckbox.checked = targetSettings;
		selectAllChildrenClickedCount = 0;
				
		if ( ( childrenTag = document.getElementById ( childrenID ) ) === null )
			return;

		checkBoxes = childrenTag.getElementsByTagName ( 'input' );
		for ( i = 0; i < checkBoxes.length; i++ )
			if ( checkBoxes[i].type == 'checkbox' )
			checkBoxes[i].checked = myCheckbox.checked;
	}
