var gors = {
    messages: {
        info: function(message) {
            $.jGrowl(message, {header: 'operational-research.gov.uk' });
        }
    },
    civilservice: {
        init: function() {
            var options = {
            };
            $('#contact_form').validate(options);
        }
    },
    committees: {
        init: function() {
           $('#committee_admin_form').submit(function(event){
                event.preventDefault();
                var memberIdToRemove = $(this).find('select[name=remove] option:selected').val();
                var memberIdToAdd = $(this).find('select[name=add] option:selected').val();
                var committeeId = $('input[name=committee_id]').val();
                if (memberIdToRemove) gors.committees.removeMember(memberIdToRemove, committeeId);
                if (memberIdToAdd) gors.committees.addMember(memberIdToAdd, committeeId);
            })
        },
        addMember: function(memberId, committeeId) {
            $.post(
                '/members/committees/add_member/', 
                {person_id: memberId, committee_id: committeeId},
                function(response){
                    $('option[value='+memberId+']').remove();   
                    $('#member_list').load('/members/committees/load_member_list/', {'committee_id': committeeId});
                    gors.messages.info('member #'+memberId+' added to committee');             
                }, 
                'html'
            )
        },
        removeMember: function(memberId, committeeId) {
            $.post(
                '/members/committees/remove_member/', 
                {person_id: memberId, committee_id: committeeId},
                function(response){
                    $('option[value='+memberId+']').remove();   
                    $('#member_list').load('/members/committees/load_member_list/', {'committee_id': committeeId}); 
                    gors.messages.info('member #'+memberId+' removed from committee');                 
                }, 
                'html'
            )
        }
    },
    library:  {
        init: function() {
            $('#topic').val('0');
            $('#topic').change(function(){
                $.post(
                    '/members/library/load_subtopics/', 
                    {"parent_id": $(this).val()},
                    function(responseHtml){
                        $('#subtopic').html(responseHtml).show();
                    }, 
                    'html'
                );
            });
        }
    },
    directory: {
        getSelectedEmails: function() {
            var inputs = $('table.display input:checked').next('input.email')
                                                         .filter(function(){return $(this).val() != '';});
            return $.map(inputs, function(ele){return $(ele).val();});      
        },
        displaySelected: function() {
            var emails = gors.directory.getSelectedEmails();                            
            $('#email_addresses').val(emails.join(";\n"));
        },
        openMailTo: function() {
            var emails = gors.directory.getSelectedEmails();  
            if (!emails.length) {
                alert("Please make a selection")
            } else {
                window.location = "mailto:"+emails.join(";");
            }
        }
    }
}

