25b8e39f17fc569158e6558884430561075f8fdb
tdreszer
  Fri Oct 1 10:04:52 2010 -0700
Support for triggering superTrack reshaping when superTrackChild is made visible
diff --git src/hg/js/utils.js src/hg/js/utils.js
index f16e198..d804eeb 100644
--- src/hg/js/utils.js
+++ src/hg/js/utils.js
@@ -197,12 +197,20 @@
 function updateOrMakeNamedVariable(theForm,aName,aValue)
 {   // Store a value to a named input.  Will make the input if necessary
     var inp = $(theForm).find("input[name='"+aName+"']:last");
-    if(inp != undefined && inp.length > 0)
+    if(inp != undefined && inp.length > 0) {
         inp.val(aValue);
-    else
+        inp.disabled = false;
+    } else
         makeHiddenInput(theForm,aName,aValue);
 }
 
+function disableNamedVariable(theForm,aName)
+{   // Store a value to a named input.  Will make the input if necessary
+    var inp = $(theForm).find("input[name='"+aName+"']:last");
+    if(inp != undefined && inp.length > 0)
+        inp.disabled = true;
+}
+
 function parseUrlAndUpdateVars(theForm,href)
 {   // Parses the URL and converts GET vals to POST vals
     var url = href;
@@ -252,6 +260,20 @@
     return postTheForm(formName,window.location.href);
 }
 
+// json help routines
+function tdbGetJsonRecord(trackName)  { return trackDbJson[trackName]; }
+function tdbIsFolder(tdb)             { return (tdb.kindOfParent == 1); } // NOTE: These must jive with tdbKindOfParent() and tdbKindOfChild() in trackDb.h
+function tdbIsComposite(tdb)          { return (tdb.kindOfParent == 2); }
+function tdbIsMultiTrack(tdb)         { return (tdb.kindOfParent == 3); }
+function tdbIsView(tdb)               { return (tdb.kindOfParent == 4); } // Don't expect to use
+function tdbIsContainer(tdb)          { return (tdb.kindOfParent == 2 || tdb.kindOfParent == 3); }
+function tdbIsLeaf(tdb)               { return (tdb.kindOfParent == 0); }
+function tdbIsFolderContent(tdb)      { return (tdb.kindOfChild  == 1); }
+function tdbIsCompositeSubtrack(tdb)  { return (tdb.kindOfChild  == 2); }
+function tdbIsMultiTrackSubtrack(tdb) { return (tdb.kindOfChild  == 3); }
+function tdbIsSubtrack(tdb)           { return (tdb.kindOfChild  == 2 || tdb.kindOfChild == 3); }
+function tdbHasParent(tdb)            { return (tdb.kindOfChild  != 0 && tdb.parentTrack); }
+
 function aryFind(ary,val)
 {// returns the index of a value on the array or -1;
     for(var ix=0;ix<ary.length;ix++) {