anchor.diff:            for (var i = 0; i < node.length; i++) {
                 if (node[i].length != null) {
                     if (depth == 0) {
  -                      alert("Max depth encountered while setting item selection to " + selected + "... report this a bug");
  +                      alert("Max depth encountered while setting item selection to " + selected + ".  Please report this as a bug.");
                     } else {
                         recursiveSelectAll(node[i], selected, depth - 1);
                     }
                 } else {
                     node[i].selected = selected;
                 }
  +          }
  +      }
  +      
  +      function selectIfOnlyOneResource(name) {
  +          return recursiveSelectIfOnlyOneResource(document.getElementsByName(name), 5);
  +      }
  +
  +      function recursiveSelectIfOnlyOneResource(node, depth) {
  +          if (depth == 0) {
  +              alert("Max depth encountered while checking resources.  Please report this as a bug.");
  +              return false;
  +          } else if (node.length == null) {
  +              node.selected = true;
  +              return true;
  +          } else if (node.length != 1) {
  +              return false;
  +          } else {
  +              return recursiveSelectIfOnlyOneResource(node[0], depth - 1);
             }
         }
     </script>
  
positive.code:         <input type="button" value="Unselect All" onclick="selectAll('resourceId', false)" />
        </form>
        
  	</c:otherwise>
    </c:choose>
    
  
negative.code:           if (isSomethingSelected(selectNode)) {
                formNode.submit();
            } else {
                alert("Please select at least one " + itemName);
            }
        }
        
  