f0958c22f5dca692bce772179ab48fe8a8744049
kate
  Tue Apr 17 22:14:47 2012 -0700
Search needs to clear first three fields in Advanced Tab.  Taking this opportunity to generalize generation of search url and move to encodeMatrix lib
diff --git src/hg/js/encodeDataSummary.js src/hg/js/encodeDataSummary.js
index 7c05961..d66bfdb 100644
--- src/hg/js/encodeDataSummary.js
+++ src/hg/js/encodeDataSummary.js
@@ -143,50 +143,49 @@
                     term = dataType.term;
                 }
             }
             // quote the end tags so HTML validator doesn't whine
             row = "<tr class='dataRow " + (rowNum % 2 === 0 ? "even" : "odd") + "'>" +
                     "<td class='dataLabel' title='" + description + "'>" + value + "<\/td>" +
                     "<td id='" + term + "' class='dataItem' title='Click to search for " + value + 
                         " data'>" + exps[value] + "<\/td>" + 
                         "<\/tr>";
             $(table).append(row);
             rowNum++;
         });
 
         $(".dataRow").click(function () {
             var dataType, target, url, antibodyTarget;
-            // NOTE: generating full search URL should be generalized & encapsulated
-            url = encodeMatrix.getSearchUrl(encodeProject.getAssembly());
+            var antibodies = [];
+            var searchObj = {};
+
             if ($(this).parents('table').attr('id') === 'tfbsTable') {
+                // search on list of antibodies for protein target
                 target = $(this).children('.dataItem').attr('id');
-                url += '&hgt_mdbVar1=antibody';
                 antibodyTarget = encodeProject.getAntibodyTarget(target);
                 $.each(antibodyTarget.antibodies, function (i, antibody) {
-                    url += '&hgt_mdbVal1=' + antibody;
+                    antibodies.push(antibody);
                 });
+                searchObj.mdbVar = 'antibody';
+                searchObj.mdbVal = antibodies;
             } else {
+                // search on data type
                 dataType = $(this).children('.dataItem').attr('id');
-                url += '&hgt_mdbVar1=dataType&hgt_mdbVal1=' + dataType;
-            }
-            url += '&hgt_mdbVar2=view&hgt_mdbVal2=Any';
-            // remove extra rows
-            url += '&hgt_mdbVar3=[]';
-            url += '&hgt_mdbVar4=[]';
-            url += '&hgt_mdbVar5=[]';
-            url += '&hgt_mdbVar6=[]';
+                searchObj.mdbVar = 'dataType';
+                searchObj.mdbVal = dataType;
+            }
+            url = encodeMatrix.getSearchUrl(searchObj);
             window.open(url, "searchWindow");
         });
 
         $(table).append("<tr><td class='totals'>Total: " + types.length + "<\/td><td class='totals'>" + total + "<\/td><\/tr>");
         if (total === 0) {
             $(table).remove();
         }
     }
-
     // initialize
     encodeMatrix.start($summaryTables);
 
     // load data from server
     encodeProject.loadAllFromServer(requests, handleServerData);
 });