var DM_Widget_GroupTools = 
{
    buttonPressed : null,
    rules : {
        '.group_toggle_membership' : function(element)
        {
            element.onclick = function()
            {
                if(Element.hasClassName(element, 'loading'))
                {
                    return;
                }
                Element.addClassName(element, 'loading');
                
                DM_Widget_GroupTools.buttonPressed = element;
                var id = findIdInClass(element);
                ajax_call('group', 'toggle_membership', id, DM_Widget_GroupTools.toggleMemberShipCallback());
            };
        }
    },
    toggleMemberShipCallback : function()
    {
        return function(status)
        {
            var button = DM_Widget_GroupTools.buttonPressed;
            Element.removeClassName(button, 'loading');
            
            if(status == 1 || status == 'pending')
            {
                if(status == 1)
                {
                    button.innerHTML = DM_Widget_GroupTools.quitLabel;
                }
                else
                {
                     button.innerHTML = DM_Widget_GroupTools.pendingLabel;
                }
                button.removeClassName('joingroup');
                button.addClassName('quitgroup');
            }
            else
            {
                button.innerHTML = DM_Widget_GroupTools.joinLabel;
                button.addClassName('joingroup');
                button.removeClassName('quitgroup');
            }
            DM_Widget.get
            (
                'Notebox',
                Request.getRequestURI(),
                $('DM_Widget_Notebox').parentNode
            );
        };
    },
    initialize : function ()
    {
        Event.onDOMReady(
            function() {
                EventSelectors.start(DM_Widget_GroupTools.rules);
            }
        );
    }
};
DM_Widget_GroupTools.initialize();


