0e0d276b20406540c85b5539ba3e38ef1583f745
tdreszer
  Thu Feb 10 09:42:45 2011 -0800
Fixed bug of mine that Larry caught, where popup cfg tripped over assuming changed val was string.
diff --git src/hg/js/utils.js src/hg/js/utils.js
index b607a58..cb50493 100644
--- src/hg/js/utils.js
+++ src/hg/js/utils.js
@@ -596,31 +596,33 @@
     }
     return changedVars;
 }
 
 function varHashToQueryString(varHash)
 {
 // return a CGI QUERY_STRING for name/vals in given object
     var retVal = "";
     var count = 0;
     for (var aVar in varHash) {
         if(count++ > 0) {
             retVal += "&";
         }
         var val = varHash[aVar];
         // XXXX encode var=val ?
-        if (val.indexOf('[') == 0 && val.lastIndexOf(']') == (val.length - 1)) {
+        if (typeof(val) == 'string'
+        && val.indexOf('[') == 0
+        && val.lastIndexOf(']') == (val.length - 1)) {
             var vals = val.substr(1,val.length - 2).split(',');
             $(vals).each(function (ix) {
                 if (ix > 0)
                     retVal += "&";
                 retVal += aVar + "=" + this;
             });
         } else
             retVal += aVar + "=" + val;
     }
     return retVal;
 }
 
 function getAllVarsAsUrlData(obj)
 {
 // Returns a string in the form of var1=val1&var2=val2... for all inputs and selects in an obj