72104973159629424d68d6b950548a7d15185a62
larrym
  Tue Sep 14 11:16:15 2010 -0700
add help links; code cleanup
diff --git src/hg/hgTracks/searchTracks.c src/hg/hgTracks/searchTracks.c
index 1cd32c4..8decf81 100644
--- src/hg/hgTracks/searchTracks.c
+++ src/hg/hgTracks/searchTracks.c
@@ -131,28 +131,19 @@
 // Search the assembly's metaDb table for var; If name == NULL, we search every metadata field.
 // Search is via mysql, so it's case-insensitive.
 {
-struct slName *retVal = NULL;
 char query[256];
-struct sqlResult *sr = NULL;
-char **row = NULL;
-
+char *prefix = "select distinct obj from metaDb";
 if(sameString(op, "contains"))
     if(name == NULL)
-        safef(query, sizeof(query), "select obj from metaDb where val like  '%%%s%%'", val);
+        safef(query, sizeof(query), "%s where val like  '%%%s%%'", prefix, val);
     else
-        safef(query, sizeof(query), "select obj from metaDb where var = '%s' and val like  '%%%s%%'", name, val);
+        safef(query, sizeof(query), "%s where var = '%s' and val like  '%%%s%%'", prefix, name, val);
 else
     if(name == NULL)
-        safef(query, sizeof(query), "select distinct obj from metaDb where val = '%s'", val);
+        safef(query, sizeof(query), "%s where val = '%s'", prefix, val);
     else
-        safef(query, sizeof(query), "select obj from metaDb where var = '%s' and val = '%s'", name, val);
-sr = sqlGetResult(conn, query);
-while ((row = sqlNextRow(sr)) != NULL)
-    {
-    slNameAddHead(&retVal, row[0]);
-    }
-sqlFreeResult(&sr);
-return retVal;
+        safef(query, sizeof(query), "%s where var = '%s' and val = '%s'", prefix, name, val);
+return sqlQuickList(conn, query);
 }
 
 static int metaDbVars(struct sqlConnection *conn, char *** metaVars, char *** metaLabels)
@@ -329,14 +320,16 @@
         "</ul>\n"
         "<div id='simpleTab'>\n",metaDbExists?"ENCODE ":"");
 
+hPrintf("<table><tr><td colspan='2'>");
 hPrintf("<input type='text' name='hgt.simpleSearch' id='simpleSearch' value='%s' size='80' onkeyup='findTracksSearchButtonsEnable(true);'>\n", descSearch == NULL ? "" : descSearch);
+hPrintf("</td></tr><tr><td>");
 if (simpleSearch && descSearch)
     searchTermsExist = TRUE;
 
-hPrintf("<BR>");
 hPrintf("<input type='submit' name='%s' id='searchSubmit' value='Search' style='font-size:14px;'>\n", searchTracks);
 hPrintf("<input type='button' name='clear' value='Clear' class='clear' style='font-size:14px;' onclick='findTracksClear();'>\n");
 hPrintf("<input type='submit' name='submit' value='Cancel' class='cancel' style='font-size:14px;'>\n");
+hPrintf("</td><td align='right'><a target='_blank' href='../goldenPath/help/trackSearch.html'>help</a></td></tr></table>\n");
 hPrintf("</div>\n"
         "<div id='advancedTab'>\n"
         "<table>\n");
@@ -472,13 +465,13 @@
         }
     }
 
-hPrintf("</table>\n");
-
+hPrintf("<tr><td colspan='5'>\n");
 hPrintf("<input type='submit' name='%s' id='searchSubmit' value='Search' style='font-size:14px;'>\n", searchTracks);
 hPrintf("<input type='button' name='clear' value='Clear' class='clear' style='font-size:14px;' onclick='findTracksClear();'>\n");
 hPrintf("<input type='submit' name='submit' value='Cancel' class='cancel' style='font-size:14px;'>\n");
+hPrintf("</td><td align='left'><a target='_blank' href='../goldenPath/help/trackSearch.html'>help</a></td></tr>\n");
+hPrintf("</table>\n");
 hPrintf("</div>\n</div>\n");
-
 hPrintf("</form>\n");
 
 if(descSearch != NULL && !strlen(descSearch))
@@ -492,17 +485,15 @@
     char *val = nextWord(&tmp);
     struct slName *el, *descList = NULL;
     int i;
-
     while (val != NULL)
         {
         slNameAddTail(&descList, val);
+        descWordCount++;
         val = nextWord(&tmp);
         }
-    descWordCount = slCount(descList);
     descWords = needMem(sizeof(char *) * descWordCount);
     for(i = 0, el = descList; el != NULL; i++, el = el->next)
         descWords[i] = strLower(el->name);
-
     }
 
 if(doSearch)