+var statusRequestQueued = true;
+
+/**
+ * Sets the status of the web interface as offline.
+ */
+function ajaxError() {
+ online = false;
+ toggleOfflineMarker(true);
+ if (!statusRequestQueued) {
+ setTimeout(getStatus, 5000);
+ statusRequestQueued = true;
+ }
+}
+
+/**
+ * Sets the status of the web interface as online.
+ */
+function ajaxSuccess() {
+ online = true;
+ toggleOfflineMarker(false);
+}
+
+/**
+ * Shows or hides the offline marker.
+ *
+ * @param visible
+ * {@code true} to display the offline marker, {@code false} to hide
+ * it
+ */
+function toggleOfflineMarker(visible) {
+ /* jQuery documentation says toggle() works the other way around?! */
+ $("#sone #offline-marker").toggle(visible);
+ if (visible) {
+ $("#sone #main").addClass("offline");
+ } else {
+ $("#sone #main").removeClass("offline");
+ }
+}
+