// JavaScript Document
        function element(id)
        {
            return document.getElementById(id);
        }
        
        function ToggleDiv(name)
        {
            var el = element(name);
            var cond = ((el.style.display == 'block') || (el.style.display == ''));
            if (cond) 
            {
                el.style.display = 'none';
            }
            else 
            {
                el.style.display = 'block';
            }
        }
        
        function FoldSection(contentsId)
        {
            var contentsElement = element(contentsId);
            if (contentsElement.style.display == 'block' || contentsElement.style.display == '')
            {
                TransitionHideNode(contentsElement, 'none');
            }
            else 
            {
                TransitionShowNode(contentsElement, 'block');
            }
        }

        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;
            }
            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)
        {
            contents.style.display = 'block'; 
            SlideElement(contents.id, true);
        }

