anchor.diff:          }
   
           (function($){
  +            var PSC = { activities: {} };
  +            PSC.activities.XHRDataSource = function(oLiveDataCallback, oConfigs) {
  +                this.liveDataCallback = oLiveDataCallback || function() {return ""};
  +                PSC.activities.XHRDataSource.superclass.constructor.call(this, oLiveDataCallback.call(), oConfigs);
  +            };
  +            YAHOO.lang.extend(PSC.activities.XHRDataSource, YAHOO.util.XHRDataSource);
  +            PSC.activities.XHRDataSource.prototype.makeConnection = function(oRequest, oCallback, oCaller) {
  +                this.liveData = this.liveDataCallback.call();
  +                PSC.activities.XHRDataSource.superclass.makeConnection.call(this, oRequest, oCallback, oCaller);
  +            }
  +
               var ACTIVITIES_PER_PAGE = 100;
  -            var URL = psc.tools.Uris.relative("/api/v1/activities.json?limit=" + ACTIVITIES_PER_PAGE)
  -            var dataSource = new YAHOO.util.XHRDataSource(URL);
  +            var DEFAULT = psc.tools.Uris.relative("/api/v1/activities.json?limit=" + ACTIVITIES_PER_PAGE);
  +            var dataSource = new PSC.activities.XHRDataSource(function() {
  +                if ($('#sources').val() != "" && $('#sources').val() != "selectAll") {
  +                    var source = $('#sources').val();
  +                    var url = psc.tools.Uris.relative("/api/v1/activities/" + source + ".json?limit=" + ACTIVITIES_PER_PAGE);
  +                }
  +                return url || DEFAULT;
  +            });
               dataSource.responseSchema = {
                   resultsList: "activities",
                   fields: ['activity_name', 'activity_type', 'activity_code', 'activity_description', 'controls', 'activity_id', 'deletable' ],
  
positive.code:                 $.ajax({
                      url: psc.tools.Uris.relative("/api/v1/activities/"+activitySource+"/"+ activityCode),
                      type: 'DELETE',
                      success : function() { sendRequest ("&source="+activitySource) }
                  });
                  return true;
              }
  
negative.code:                     type: 'PUT',
                      contentType: 'text/xml',
                      data: element,
                      success : function() { sendRequest() },
                      error: function(response) {
                          displayErrorOnResponse(response)
                      }
  