Timed event only executes once
===

I'm having some trouble putting this up to work.

I've got an approval system where the user clicks on a link to approve or disapprove a post.

All the content is loaded with ajax calls, so when the user does the click, an info window pops alerting the user to success or error and then, reloads the content.

The script is working, but, only on the first click. On the second click, the message flashes and disappears almost instantanely before the content is reloaded. 

Could someone help me with this?

Here's the code

    function activateSource(id)
                {
                    $("#confirm-activate-"+id).toggle('slow');    
                        
                        $(document).on('click','.confirm-activate',function(e){
                        e.preventDefault();
                        
                        $.ajax({
                            type: "POST",
                            cache: false,
                            data:{"source-id":id},
                            url:"modules/source/activatesource.php",      

                            success : function (data) {

                                $("#confirmation-response").html(data);
                                dismissAlert();                
                                 

                            }
                        })
                        
                        
                        

                        });
                  
                    
                }
                
                function dismissAlert()
                {
                    setTimeout(function(){
                                        $("#confirmation-response").hide('blind',function(){
                                            loadSourceContent()
                                        },500);                                
                                        
                                 },2500);
                }