Index: trunk/web-app/css/main.css
===================================================================
--- trunk/web-app/css/main.css	(revision 823)
+++ trunk/web-app/css/main.css	(revision 824)
@@ -229,4 +229,9 @@
 /* MESSAGES AND ERRORS */
 
+.jQueryAjaxLoading {
+    margin: 10px 0 5px 0;
+    padding: 5px 5px 5px 0px
+}
+
 .message {
     background: #f3f8fc url(../images/skin/information.png) 8px 50% no-repeat;
Index: trunk/web-app/js/application.js
===================================================================
--- trunk/web-app/js/application.js	(revision 823)
+++ trunk/web-app/js/application.js	(revision 824)
@@ -12,2 +12,14 @@
     });
 }
+
+// jQuery AJAX utils.
+
+function getLoadingHtml() {
+    var imgSrc = getContextPath()+"/images/loading.gif";
+    return '<div class="jQueryAjaxLoading"><img src="'+imgSrc+'" />.</div>';
+}
+
+function getErrorHtml() {
+    var html =  '<div class="message_error">Could not perform operation.</div>';
+    return html;
+}
