
    function CreateImageNodeForLetter(genLetter, useFinalForm, highlight) {
      var imgNode = document.createElement("IMG");
      var resultNode;
      
      if (useFinalForm && GenLetterToFinalLetterImg[genLetter]) {
        imgNode.src = GenLetterToFinalLetterImg[genLetter];  
      }
      else {
        imgNode.src = GenLetterToImg[genLetter];  
      }
      
      imgNode.width = LETTER_WIDTH_TEXT;
      imgNode.height = LETTER_HEIGHT_TEXT;

      imgNode.alt = GenLetterToTextChar[genLetter];
      
      if (highlight) {
        //
        //  Note:
        //
        //  We would like to just do:
        //    imgNode.border = 2;
        //    imgNode.style.borderColor = "#FF0000"; 
        //  but this is transitional only and (very strangely)
        //  the result varies based on where the JS is served from (???).
        //
        //  So instead we insert a slightly larger table cell
        //  with a red background, and center the image in there.
        //
        var tableNode;
        var rowNode;
        var cellNode;
        
        tableNode = document.createElement("TABLE");
        tableNode.width = LETTER_WIDTH_TEXT+4;
        tableNode.height = LETTER_HEIGHT_TEXT+4;
        tableNode.bgColor = "#FF0000";
        tableNode.border = 0;
        tableNode.cellpadding = 0;
        tableNode.cellspacing = 0;
        
        rowNode = document.createElement("TR");
        rowNode.valign = "middle";

        cellNode = document.createElement("TD");
        cellNode.align = "center";
        cellNode.valign = "middle";
        
        cellNode.appendChild(imgNode);
        rowNode.appendChild(cellNode);
        tableNode.appendChild(rowNode);
        
        resultNode = tableNode;
      }
      else {
        resultNode = imgNode;
      }
      
      return resultNode;
    }


    function PreCacheLetterImages() {
      var i;

      for (i = LG_NONE+1; i < LG_MAX; i++) {
        (new Image(LETTER_WIDTH_TEXT, LETTER_HEIGHT_TEXT)).src = GenLetterToImg[i]; 
      }

      (new Image(LETTER_WIDTH_TEXT, LETTER_HEIGHT_TEXT)).src = GenLetterToImg[LG_SPACE]; 
      (new Image(LETTER_WIDTH_TEXT, LETTER_HEIGHT_TEXT)).src = GenLetterToImg[LG_PERIOD]; 
      (new Image(LETTER_WIDTH_TEXT, LETTER_HEIGHT_TEXT)).src = GenLetterToImg[LG_NONE]; 

    }
    

