+// The following functions are dispatchers for team methods that
+// are called from the UI using a team-name rather than implicit
+// context.
+mkws.switchView = function(tname, view) {
+ mkws.teams[tname].switchView(view);
+};
+
+mkws.showDetails = function(tname, prefixRecId) {
+ mkws.teams[tname].showDetails(prefixRecId);
+};
+
+mkws.limitTarget = function(tname, id, name) {
+ mkws.teams[tname].limitTarget(id, name);
+};
+
+mkws.limitQuery = function(tname, field, value) {
+ mkws.teams[tname].limitQuery(field, value);
+};
+
+mkws.limitCategory = function(tname, id) {
+ mkws.teams[tname].limitCategory(id);
+};
+
+mkws.delimitTarget = function(tname, id) {
+ mkws.teams[tname].delimitTarget(id);
+};
+
+mkws.delimitQuery = function(tname, field, value) {
+ mkws.teams[tname].delimitQuery(field, value);
+};
+
+mkws.showPage = function(tname, pageNum) {
+ mkws.teams[tname].showPage(pageNum);
+};
+
+mkws.pagerPrev = function(tname) {
+ mkws.teams[tname].pagerPrev();
+};
+
+mkws.pagerNext = function(tname) {
+ mkws.teams[tname].pagerNext();
+};
+
+
+// wrapper to call team() after page load
+(function(j) {
+ var log = mkws.log;
+
+ function handleNodeWithTeam(node, callback) {
+ // First branch for DOM objects; second branch for jQuery objects
+ var classes = node.className || node.attr('class');
+ if (!classes) {
+ // For some reason, if we try to proceed when classes is
+ // undefined, we don't get an error message, but this
+ // function and its callers, up several stack level,
+ // silently return. What a crock.
+ log("handleNodeWithTeam() called on node with no classes");
+ return;