			function element(id)
			{
				return document.getElementById(id);
			}
			
			function FoldSection(contentsId)
			{
				var contentsElement = element(contentsId);
				if (contentsElement.style.display == 'none')
				{
					TransitionShowNode(contentsElement, 'block');
				}
				else if (contentsElement.style.display == 'block' || contentsElement.style.display == '')
				{
					TransitionHideNode(contentsElement, 'none');
				}
			}
			
 
			function SlideElement(elementId, show)
			{
				var slideSpeed = 10;
				var slideTimer = 10;
				
				var contents = element(elementId);
				var contents_inner = element(elementId + "_inner");
				var height = contents.clientHeight;
				
				if (height == 0){
				height = contents.offsetHeight;
				contents.style.display = "block";
				}				
				
				height = height + (show ? slideSpeed : -slideSpeed);
				
				var rerun = true;
				if (height >= contents_inner.offsetHeight)
				{
					height = contents_inner.offsetHeight;
					rerun = false;
				}
				else if (height <= 1)
				{
					height = 1;
					rerun = false;
				}
				
				contents.style.height = height + 'px';
				var topPos = height - contents_inner.offsetHeight;
				if (topPos > 0)
				{
					topPos = 0;
				}
				contents_inner.style.top = topPos + 'px';
				
				if (rerun)
				{
					setTimeout("SlideElement('" + elementId + "', " + show + ");", slideTimer);
				}
				else
				{
					if (height <= 1)
					{
						contents.style.display = 'none'; 
					}
				}
			}
 
			function TransitionHideNode(contents, destinationDisplay)
			{
				SlideElement(contents.id, false);
			}
 
			function TransitionShowNode(contents, destinationDisplay){
			SlideElement(contents.id, true);
			contents.style.display = "block";
			}