diff --git a/resources/statuses.js b/resources/statuses.js
index ed63bd0..8e0aba5 100644
--- a/resources/statuses.js
+++ b/resources/statuses.js
@@ -109,6 +109,40 @@ attach: function (context) {
       fbss_print_remaining(fbss_remaining, thCC);
     });
   }
+  // Bind ajax auto refresh to the available statuses views.
+  if (initialLoad && Drupal.settings.views && Drupal.settings.views.ajaxViews) {
+    // Retrieve the path to use for views' ajax.
+    var ajax_path = Drupal.settings.views.ajax_path;
+
+    // If there are multiple views this might've ended up showing up multiple times.
+    if (ajax_path.constructor.toString().indexOf("Array") != -1) {
+      ajax_path = ajax_path[0];
+    }
+    $.each(fbss_refreshIDs, function(i, val) {
+      if (val && val != undefined) {
+        var view_name = val.replace('.view-id-', '');
+        $.each(Drupal.settings.views.ajaxViews, function(i, settings){
+          if (settings.view_name == view_name) {
+            var view = '.view-dom-id-' + settings.view_dom_id;
+            var element_settings = {
+              url: ajax_path,
+              submit: settings,
+              event: 'ajaxRefresh',
+              selector: view,
+              progress: {
+                type: 'throbber'
+              }
+            };
+            // Append the ajax settings to the parent since the container
+            // will be replaced with the new data.
+            var element = $(val).parent();
+            var ajax = new Drupal.ajax(false, element, element_settings);
+            return false;
+          }
+        });
+      }
+    });
+  }
 }
 };
 // Disallow refreshing too often or double-clicking the Refresh link.
@@ -117,58 +151,15 @@ function fbss_allowRefresh() {
 }
 // Refresh parts of the page.
 function fbss_refresh() {
-  // Refresh elements by re-loading the current page and replacing the old version with the updated version.
-  var loaded = {};
-  if (fbss_refreshIDs) {
-    var loaded2 = {};
+  // Trigger the ajax for the available views, if the ajaxViews settings
+  // is available.
+  if (Drupal.settings.views && Drupal.settings.views.ajaxViews) {
     $.each(fbss_refreshIDs, function(i, val) {
-      if (val && $.trim(val) && loaded2[val] !== true) {
-        loaded2[val] = true;
-        var element = $(val);
-        element.before('<div class="fbss-remove-me ahah-progress ahah-progress-throbber" style="display: block; clear: both; float: none;"><div class="throbber">&nbsp;</div></div>');
-      }
-    });
-    var location = window.location.pathname + '?';
-    // Build the relative URL with query parameters.
-    var query = window.location.search.substring(1);
-    if ($.trim(query) !== '') {
-      location += query + '&';
-    }
-    // IE will cache the result unless we add an identifier (in this case, the time).
-    $.get(location + 'ts=' + (new Date()).getTime(), function(data, textStatus) {
-      // From load() in jQuery source. We already have the scripts we need.
-      var new_data = data.replace(/<script(.|\s)*?\/script>/g, "");
-      // Apparently Safari crashes with just $().
-      var new_content = $('<div></div>').html(new_data);
-      if (textStatus != 'error' && new_content) {
-        // Replace relevant content in the viewport with the updated version.
-        $.each(fbss_refreshIDs, function(i, val) {
-          if (val && $.trim(val) !== '' && loaded[val] !== true) {
-            var element = $(val);
-            var insert = new_content.find(val);
-            // If a refreshID is found multiple times on the same page, replace each one sequentially.
-            if (insert.length && insert.length > 0 && element.length && element.length >= insert.length) {
-              $.each(insert, function(j, v) {
-                v = $(v);
-                var el = $(element[j]);
-                // Don't bother replacing anything if the replacement region hasn't changed.
-                if (v.get() != el.get()) {
-                  Drupal.detachBehaviors(element[j]);
-                  el.replaceWith(v);
-                  Drupal.attachBehaviors(v);
-                }
-              });
-            }
-            loaded[val] = true;
-          }
-        });
+      if (val && val != undefined) {
+        $(val).trigger('ajaxRefresh');
       }
-      $('.fbss-remove-me').remove();
     });
   }
-  else {
-    $('.fbss-remove-me').remove();
-  }
 }
 })(jQuery);
 
