// Handle pmsearchwidget behavior; Untested for IE earlier than 6
NCBIutil = (function() {

   var $ = function(p, l) { return (l ? l : document).getElementById(p); }

   function addEvent(el, what, f) {
      function ff(e) {
         e.preventDefault = e.preventDefault || function() { window.event.returnValue = false; }
         e.stopPropagation = e.stopPropagation || function() { window.event.cancelBubble = true; }
         return f(e);
     }
     if (!el) { return; }
     if (window.addEventListener) {
        el.addEventListener(what, ff, false);
     } else {
        el.attachEvent("on"+what, ff);
     }
   };

   addEvent(window, "load", function() {

      function doQuery() {
         var newURL = "http://ncbi.nlm.nih.gov/pubmed/?term=" + 
               escape(t.value) + "&amp;itool=pmsearchWidget";
         window.open(newURL, "pmwin");
      };

      var t = $('pubmed_term');
   
      addEvent(t, "keypress", function(e) {
         ((e.keyCode||e.which) == 13) && doQuery();
      });
   
      addEvent($('pubmed_go'), "click", function(e) {
         e.preventDefault();
         doQuery();
      });

      addEvent($('pubmed_clear'), "click", function(e) {
         e.preventDefault();
         t.value="";
         t.focus();
      });
   });
   return { 'addEvent': addEvent } // Public API
})();
