b523bcb7c890bd95e8eb5275b42f1234b8e3dfb1
kate
  Tue Apr 24 21:31:43 2012 -0700
URI encode mdb values (e.g. CD20+) in search URL
diff --git src/hg/js/encodeMatrix.js src/hg/js/encodeMatrix.js
index 8dd3caf..fb7359c 100644
--- src/hg/js/encodeMatrix.js
+++ src/hg/js/encodeMatrix.js
@@ -65,31 +65,31 @@
                 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++) {
-                    url += '&hgt_mdbVal' + (i + 1) + '=' + mdbVals[j];
+                    url += '&hgt_mdbVal' + (i + 1) + '=' + encodeURIComponent(mdbVals[j]);
                 }
             }
             url += '&hgt_mdbVar' + (argsLen + 1) + '=view' +
                     '&hgt_mdbVal' + (argsLen + 1) + '=Any';
             for (i = argsLen + 1; i < 6; i += 1) {
                 url += '&hgt_mdbVar' + (i + 1) + '=[]';
             }
             return (url);
         },
 
         // User preferences for Help panel
 
         disableHelp: function (isOff) {
             // Set help cookie to retain user choice
             // Removes cookie when user requests help