text: // IE doesn't accept periods or dashes in the window name, but the element IDs
  // we use to generate popup window names may contain them, therefore we map them
  // to allowed characters in a reversible way so that we can locate the correct 
  // element when the popup window is dismissed.
  function id_to_windowname(text) {
      text = text.replace(/\./g, '__dot__');
      text = text.replace(/\-/g, '__dash__');
      return text;
  }
  
  function windowname_to_id(text) {
      text = text.replace(/__dot__/g, '.');
      text = text.replace(/__dash__/g, '-');
      return text;
  }
  
  function showSaasuItemLookupPopup(triggeringLink) {
      var name = triggeringLink.id.replace(/^item_lookup_/, '');
      name = id_to_windowname(name);
      var href;
      if (triggeringLink.href.search(/\?/) >= 0) {
          href = triggeringLink.href + '&pop=1';
      } else {
          href = triggeringLink.href + '?pop=1';
      }
      var win = window.open(href, name, 'height=500,width=800,resizable=yes,scrollbars=yes');
      win.focus();
      return false;
  }
  
  function dismissSaasuItemLookupPopup(win, chosenId) {
      var name = windowname_to_id(win.name);
      var elem = document.getElementById(name);
      document.getElementById(name).value = chosenId;
      win.close();
  }
  