BLACKBAUD.netcommunity.ProfileSubscriptionFormDisplay = function(serverVars)
{
    function disableSubscriptions(chk)
    {
        function updateCheckboxes(node)
        {
            if(node.checked && chk.checked)
            {
                node.checked = false;
            }
            if(node.disabled !== undefined)
            {
                node.disabled = chk.checked;
            }
        }

        walkDom(serverVars.trSubscriptions, updateCheckboxes);
    }

    this.disableSubscriptions = disableSubscriptions;

    function chkOptOut_OnClick(chk)
    {
        if(chk.checked)
        {
            var proceed = confirm(serverVars.globalOptOutMessage);
            if(!proceed)
            {
                chk.checked = false;
                return;
            }
        }
        if(serverVars.trSubscriptions)
        {
            disableSubscriptions(chk);
        }
    }

    this.chkOptOut_OnClick = chkOptOut_OnClick;
};
