8c908f948b09826c6cb4452ee5b282aca41be85e
galt
  Tue Dec 8 21:52:59 2015 -0800
Multi-region (exonMostly). This work allows people to look at virtual chromosomes from a list of regions and then navigate and perform all of the usual functions on it.

diff --git src/hg/js/autocomplete.js src/hg/js/autocomplete.js
index 86b336c..161514a 100644
--- src/hg/js/autocomplete.js
+++ src/hg/js/autocomplete.js
@@ -38,33 +38,36 @@
             // warn(request.term);
         };
     },
 
     clearFindMatches: function() {
         // clear any hgFind.matches set by a previous user selection (e.g. when user directly edits the search box)
         if ($('#hgFindMatches').length) $('#hgFindMatches').remove();
     },
 
     updateFindMatches: function(val) {
         // highlight genes choosen from suggest list (#6330)
         if ($('#hgFindMatches').length) $('#hgFindMatches').val(val);
         else $('#positionInput').parents('form').append("<input type='hidden' id='hgFindMatches' name='hgFind.matches' " + "value='" + val + "'>");
     },
 
+    initialized: false,
+
     init: function(db, assemblySupportsGeneSuggest, selectCallback, clickCallback) {
         // selectCallback(item): called when the user selects a new genomic position from the list
         // clickCallback(position): called when the user clicks on positionDisplay
+	this.initialized = true;
         var lastSelected = null; // this is the last value entered by the user via a suggestion (used to distinguish manual entry in the same field)
         var waterMark;
         if (assemblySupportsGeneSuggest) {
             waterMark = "enter position, gene symbol or search terms";
         } else {
             waterMark = "enter position or search terms";
         }
         $('#positionInput').val("");
         $('#positionInput').Watermark(waterMark, '#686868');
         if (assemblySupportsGeneSuggest) {
             $('#positionInput').autocomplete({
                 delay: 500,
                 minLength: 2,
                 source: this.ajaxGet(db),
                 open: function(event, ui) {
@@ -91,30 +94,34 @@
                     suggestBox.updateFindMatches(ui.item.internalId);
                     // jQuery('body').css('cursor', 'wait');
                     // document.TrackHeaderForm.submit();
                 }
             });
         }
 
         // I want to set focus to the suggest element, but unforunately that prevents PgUp/PgDn from
         // working, which is a major annoyance.
         // $('#positionInput').focus();
         $("#positionInput").change(function(event) {
             if (!lastSelected || lastSelected !== $('#positionInput').val()) {
                 // This handles case where user typed or edited something rather than choosing from a suggest list;
                 // in this case, we only change the position hidden; we do NOT update the displayed coordinates.
                 var val = $('#positionInput').val();
-                if (!val || val.length === 0 || val === waterMark)
                 // handles case where users zeroes out positionInput; in that case we revert to currently displayed position
+                if (!val || val.length === 0 || val === waterMark)
 		    val = $('#positionDisplay').text();
                 $('#position').val(val);
                 suggestBox.clearFindMatches();
             }
         });
         $("#positionDisplay").click(function(event) {
             // this let's the user click on the genomic position (e.g. if they want to edit it)
             clickCallback($(this).text());
             $('#positionInput').val($(this).text());
             suggestBox.clearFindMatches();
+	    if (hgTracks.windows)
+		{
+		genomePos.positionDisplayDialog();
+		}
         });
     }
 };