function ToogleVisibility(element, show, callback)
{
    if ($defined(element) && element != null)
    {
        element = $(element);

        if (element != null) {
            var isShown;

            if ($defined(show) && show != null) {
                element.setStyle('display', show ? null : 'none');
                isShown = show;
            }
            else {
                if (element.style.display == 'none') {
                    element.setStyle('display', null);
                    isShown = true;
                }
                else {
                    element.setStyle('display', 'none');
                    isShown = false;
                }
            }

            if ($defined(callback) && callback != null) {
                callback(isShown, element);
            }
        }
    }
}
 

function FoldUnfold(element)
{
    var parent;
    if (Browser.Engine.trident)
    {
        parent = $(element.parentNode);
        while (parent != null)
        {
            if (parent.tagName == 'LI')
            {
                break;
            }

            parent = $(parent.parentNode);
        }
    }
    else
    {
        parent = element.getParent('li');
    }
    
    ToogleVisibility(parent.getElement('p'));
    
    return false;
}
