387a4e3dedc67a6e82c5cde90ee7cb1edc2a470c
kate
  Thu Apr 19 15:19:12 2012 -0700
Fix bug that crept in adopting jQuery cookie plugin for search cookie]
diff --git src/hg/js/encodeMatrix.js src/hg/js/encodeMatrix.js
index 75a8747..8dd3caf 100644
--- src/hg/js/encodeMatrix.js
+++ src/hg/js/encodeMatrix.js
@@ -10,66 +10,70 @@
     // spinning image displayed during AJAX activity
     var spinnerLoc = 'spinner';  // id of location on HTML page
     var spinner;        // id generated by spinner function
 
     var COOKIE_SEARCH = 'encodeMatrix.search';
     var COOKIE_SEARCH_FILES = 'file';
     var COOKIE_SEARCH_TRACKS = 'track';
 
     var COOKIE_HELP = 'encodeMatrix.help';      // existence implies help has been read
                                                 // and hasn't been re-enabled
 
     function addSearchPanel($div, isFile) {
         // Create panel of radio buttons for user to change search type
         // isFileSearch determines initial setting
         // Add to passed in div ID; e.g. #searchTypePanel
-        $div.append('<span id="searchPanelInstructions">search for:&nbsp;</span><input type="radio" name="searchType" id="searchTracks" value="tracks" onclick="encodeMatrix.setFileSearch(false);">tracks<input type="radio" name="searchType" id="searchFiles" value="files" onclick="encodeMatrix.setFileSearch(true);" >files');
+        $div.append('<span id="searchPanelInstructions">search for:&nbsp;</span>' +
+            '<input type="radio" name="searchType" id="searchTracks" value=' + 
+                    COOKIE_SEARCH_TRACKS + ' onclick="encodeMatrix.setFileSearch(false);">tracks' +
+            '<input type="radio" name="searchType" id="searchFiles" value=' + 
+                    COOKIE_SEARCH_FILES + ' onclick="encodeMatrix.setFileSearch(true);" >files');
         if (isFile) {
             $('#searchFiles').attr('checked', true);
         } else {
             $('#searchTracks').attr('checked', true);
         }
         encodeMatrix.setFileSearch(isFile);
     }
 
     return {
 
         // UI panel for search: select tracks or files
 
         setFileSearch: function (isFile) {
             // Set search type cookie to retain user choice
             $.cookie(COOKIE_SEARCH, 
                         (isFile ? COOKIE_SEARCH_FILES : COOKIE_SEARCH_TRACKS), {expires: 7});
         },
 
         isFileSearch: function () {
             // Check search type cookie to retain user choice
             // Defaults to track search if no cookie set
-            return $.cookie(COOKIE_SEARCH, COOKIE_SEARCH_FILES);
+            return ($.cookie(COOKIE_SEARCH) === COOKIE_SEARCH_FILES);
         },
 
         getSearchUrl: function () {
             // Format a URL for search of type requested in search panel
             // Args are objects having mdbVar/mdbVal properties
             // Set each arg mdbValN to mdbVarN, empty out remaining vals to a total of 6
             // (cheaper than querying for actual number)
 
             var prog, cartVar, url, i, j;
             var argsLen = arguments.length;
             var mdbVals = [];
 
-            if ($('input:radio[name=searchType]:checked').val() === "tracks") {
+            if ($('input:radio[name=searchType]:checked').val() === COOKIE_SEARCH_TRACKS) {
                 prog = 'hgTracks';
                 cartVar = 'hgt_tSearch';
             } else {
                 prog = "hgFileSearch";
                 cartVar = "fsFileType=Any&hgfs_Search";
             }
              url = '/cgi-bin/' + prog + '?db=' + encodeProject.getAssembly() + 
                 '&' + cartVar + '=search' + '&tsCurTab=advancedTab&hgt_tsPage=' +
                 '&tsName=&tsDescr=&tsGroup=Any';
             for (i = 0; i < argsLen; i += 1) {
                 url += '&hgt_mdbVar' + (i + 1) + '=' + arguments[i].mdbVar;
                 // can pass an array or a single string -- so force to array for uniform handling
                 // Search sees multiple mdbValN= variables for the same mdbVarN as a list of vals
                 mdbVals = [].concat(arguments[i].mdbVal);
                 for (j = 0; j < mdbVals.length; j++) {