e8010173cb0940a00c38dd6f11ac3ab1fc64195b
tdreszer
  Fri Aug 27 13:17:07 2010 -0700
Needed to change cfg popup return, because ajaxing over vars then fetching new track had timing issues
diff --git src/hg/js/utils.js src/hg/js/utils.js
index 16187ed..7a1831c 100644
--- src/hg/js/utils.js
+++ src/hg/js/utils.js
@@ -475,6 +475,40 @@
             alert(msg);
     }
 }
+
+function getAllVarsAsUrlData(obj)
+{
+// Returns a string in the form of var1=val1&var2=val2... for all inputs and selects in an obj
+// If obj is undefined then obj is document!
+
+    var urlData = "";
+    var names = [];
+    var values = [];
+    if($(obj) == undefined)
+        obj = $('document');
+    var inp = $(obj).find('input');
+    var sel = $(obj).find('select');
+    //warn("obj:"+$(obj).attr('id') + " inputs:"+$(inp).length+ " selects:"+$(sel).length);
+    $(inp).filter('[name]:enabled').each(function (i) {
+        var name  = $(this).attr('name');
+        var val = $(this).val();
+        if(name != undefined && name != "Submit" && val != undefined) {
+            urlData += "&"+name+"="+val;
+        }
+    });
+    $(sel).filter('[name]:enabled').each(function (i) {
+        var name  = $(this).attr('name');
+        var val = $(this).val();
+        if(name != undefined && val != undefined) {
+            urlData += "&"+name+"="+val;
+        }
+    });
+    if(urlData.length > 0) {
+        return urlData.substring(1); // chop off the first '&'
+    }
+return "";
+}
+
 /*
 function popupBox(popit, content, popTitle)
 {