Index: /trunk/web-app/js/jsUtil.js
===================================================================
--- /trunk/web-app/js/jsUtil.js	(revision 711)
+++ /trunk/web-app/js/jsUtil.js	(revision 712)
@@ -52,2 +52,69 @@
     $(id).focus();
 }
+
+function enableUtil(id) {
+    $(id).disabled = false;
+}
+
+function disableUtil(id) {
+    $(id).disabled = true;
+}
+
+// Looping in reverse is apparently more efficient.
+function containsUtil(val, array) {
+    var i = array.length;
+    while (i--) {
+        if (array[i] == val) {
+            return true;
+        }
+    }
+    return false;
+}
+
+function toggleArrayUtil(idArray) {
+    var i = idArray.length;
+    while (i--) {
+        toggleUtil(idArray[i]);
+    }
+}
+
+// Loops forwards.
+function showArrayUtil(idArray) {
+    var len = idArray.length
+    var i=0;
+    for (i=0; i < len; i++) {
+        Effect.Appear(idArray[i],{duration:0.1,queue:'end'});
+    }
+}
+
+// Loops backwards.
+function hideArrayUtil(idArray) {
+    var i = idArray.length;
+    while (i--) {
+        Effect.Fade(idArray[i],{duration:0.1,queue:'end'});
+    }
+}
+
+function disableArrayUtil(idArray) {
+    var i = idArray.length;
+    while (i--) {
+        disableUtil(idArray[i]);
+    }
+}
+
+function enableArrayUtil(idArray) {
+    var i = idArray.length;
+    while (i--) {
+        enableUtil(idArray[i]);
+    }
+}
+
+function toggleIfArrayContainsValueUtil(toggleIds, val, array) {
+    if(containsUtil(val, array)) {
+        //Effect.multiple(toggleIds, Effect.Appear, {duration:0.4,queue:'end'}); // A little slow, will not go bellow 0.1 per item.
+        showArrayUtil(toggleIds);
+    }
+    else {
+        hideArrayUtil(toggleIds);
+    }
+}
