home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 5 Edit / 05-Edit.zip / htmlks10.zip / htmlkeys.e < prev    next >
Text File  |  1997-09-10  |  107KB  |  3,209 lines

  1. COMPILE IF NOT DEFINED (HTMLKEYS_INCLUDED)
  2. define HTMLKEYS_INCLUDED = ''  -- prevents problems from multible inclusions
  3. include 'htmlconst.e'
  4.  
  5.  
  6.  
  7.  compile if not defined (INCLUDING_WEBOPTIONS)
  8. include 'weboptions.e'
  9.  compile endif
  10. include 'stdconst.e'
  11. const                                        -- These are the defaults
  12.  compile if not defined(HTML_URL_KLUDGE)
  13.     HTML_URL_KLUDGE=1
  14.  compile endif
  15.  compile if not defined(HTML_IF_ARG_BLANK)
  16.     HTML_IF_ARG_BLANK='exit'
  17.  compile endif
  18.  compile if not defined(JAVA_HTML_BROWSER)
  19.     JAVA_HTML_BROWSER='explore -q'
  20.  compile endif
  21.  compile if not defined(NEWLINE_AFTER_BR)
  22.     NEWLINE_AFTER_BR=1
  23.  compile endif
  24. HTML_EXTENSIONS='HTM HTML htm html xtml XTML'
  25.  
  26.  
  27. defload
  28.     universal load_ext, kase
  29.     if wordpos(load_ext, HTML_EXTENSIONS) then    -- Determine if it is an HTML file
  30.         kase=1
  31.         tArrName=translate(.filename, '__-', '\:.')
  32.         do_array 1, arrayID, tArrName
  33.         .userstring=arrayID
  34.         uPath=.filename
  35.         uPath=translate(uPath, '/', '\')
  36.         uPath=leftstr(uPath, lastPos('/', Upath))
  37.         setFileArrEl('U_PATH', uPath)
  38.         keys HTML_KEYS                    -- Load HTML keys
  39.         call addHTMLmenu()
  40.         'loadFileArr'
  41.     endif
  42.     if wordpos(load_ext, 'XTML xtml') then
  43.         'toggle_parse 1 epmkwds.htm'
  44.     endif
  45.  
  46. defkeys HTML_KEYS OVERLAY                    -- Define HTML keys
  47.     def '!'-'~'    =
  48.         if lastkey(2) = 0 then
  49.             return
  50.         else
  51.             if check_mark_on_screen() then
  52.                 deletemark
  53.             endif
  54.         keyin lastkey()
  55.         endif
  56.     def C_TAB    =call tabber()
  57.     def S_TAB    =call back_tabber()
  58.     def F2 =
  59.         'Address_tags'
  60.     def F3 =
  61.         'Blockquote_tags'
  62.     def F4 =
  63.         'Center_tags'
  64.     def F5 =
  65.         'Div_tags'
  66.     def F6 =
  67.         'Rule_tags'
  68.     def F7 =
  69.         'Paragraph_tags'
  70.     def F8 =
  71.         'Preform_tags'
  72.     def C_F1
  73.         'Citation_Tags'
  74.     def C_F2
  75.         'Code_Tags'
  76.     def C_F3
  77.         'Definition_Tags'
  78.     def C_F4
  79.         'Emphasis_tags'
  80.     def C_F5
  81.         'Keyboard_tags'
  82.     def C_F6
  83.         'Sample_Tags'
  84.     def C_F7
  85.         'Strong_Tags'
  86.     def C_F8
  87.         'Variable_tags'
  88.     def S_F2 =
  89.         'Bold_Tags'
  90.     def S_F3 =
  91.         'Big_Tags'
  92.     def S_F4 =
  93.         'Font_Tags'
  94.     def S_F5 =
  95.         'Italics_Tags'
  96.     def S_F6 =
  97.         'Small_Tags'
  98.     def S_F7 =
  99.         'Strike_tags'
  100.     def S_F8 =
  101.         'Subscript_Tags'
  102.     def S_F9 =
  103.         'Superscript_Tags'
  104.     def S_F11 =
  105.         'Typewriter_Tags'
  106.     def S_F12 =
  107.         'Underline_Tags'
  108.     def A_1 =
  109.         'H1_Tags'
  110.     def A_2 =
  111.         'H2_Tags'
  112.     def A_3 =
  113.         'H3_Tags'
  114.     def A_4 =
  115.         'H4_Tags'
  116.     def A_5 =
  117.         'H5_Tags'
  118.     def A_6 =
  119.         'H6_Tags'
  120.     def C_A =
  121.         'Anchor_Tags'
  122.     def C_B =
  123.         'Basefont_Tags'
  124.     def C_C =
  125.         'Caption_Tags'
  126.     def C_D =
  127.         'DictionaryList_Tags'
  128.     def C_E =
  129.         'TableEntry_Tags'
  130.     def C_F =
  131.         'Form_Tags'
  132.     def C_H =
  133.         'TableHeading_Tags'
  134.     def C_I =
  135.         'Image_Tags'
  136.     def C_J =
  137.         'Applet_Tags'
  138.     def C_L =
  139.         'ListItem_Tags'
  140.     def C_M =
  141.         'Map_Tags'
  142.     def C_N =
  143.         'NewPage_Tags'
  144.     def C_O =
  145.         'OrderedList_Tags'
  146.     def C_R =
  147.         'TableNewRow_Tags'
  148.     def C_S =
  149.         'Script_Tags'
  150.     def C_T =
  151.         'Table_Tags'
  152.     def C_U =
  153.         'UnorderedList_Tags'
  154.     def C_Y =
  155.         'Directory_Tags'
  156.     def A_L =
  157.         'Link_Tags'
  158.     def A_M =
  159.         'Meta_Tags'
  160.     def A_Y =
  161.         'Style_Tags'
  162.     def A_T =
  163.         'DeeTee_Tags'
  164.     def A_D =
  165.         'DeeDee_Tags'
  166.     def A_M =
  167.         'Menu_Tags'
  168.     def A_P =
  169.         'Parameter_Tags'
  170.     def A_I =
  171.         'Input_Tags'
  172.     def A_S =
  173.         'Select_Tags'
  174.     def A_O =
  175.         'Option_Tags'
  176.     def A_X =
  177.         'Textarea_Tags'
  178.     def A_A =
  179.         'Area_Tags'
  180.     def A_Z
  181.         'Last_Tag'
  182.     def C_ENTER =
  183.         'Linebreak_Tags'
  184.     def 'í'-' ' =
  185.         keyin '&#'asc(lastkey())';'
  186.  
  187. ;-----------------------------TAG Defcs
  188. defc Address_tags =
  189.     universal LastDone
  190.     lastDone='Address_tags'
  191.     noArgTags('ADDRESS')
  192.  
  193. defc Anchor_tags =
  194.     universal LastDone
  195.     lastDone='Anchor_tags'
  196.     theLink=GetFileArrEl('A_LINK')
  197.     theName=''
  198.     theText=''
  199.     theLink=entrybox('<A> Enter the link','/Enter/Cancel/Abort',theLink,,255)
  200.     if (upcase(theLink)=='3') then
  201.         return
  202.     endif
  203.     if theLink='' then
  204.         theName=entrybox('<A> Enter the name','/Enter/Cancel/Abort','',,255)
  205.         if (theName=='3') then
  206.             return
  207.         endif
  208.     endif
  209.     do while (theLink=='')&(theName=='')
  210.  compile if HTML_IF_ARG_BLANK='exit'
  211.         if (theLink=='')&(theName=='') then
  212.             return
  213.         endif
  214.  compile endif
  215.         theLink=entrybox('<A> Enter the link','/Enter/Cancel/Abort',theLink,,255)
  216.             if (upcase(theLink)=='3') then
  217.                 return
  218.             endif
  219.             if theLink='' then
  220.                 theName=entrybox('<A> Enter the name','/Enter/Cancel/Abort','',,255)
  221.                 if (upcase(theName)=='3') then
  222.                     return
  223.                 endif
  224.             endif    
  225.     enddo
  226.     Anchor_all(theLink, theName, '')
  227.  
  228. defc Applet_tags =
  229.     universal LastDone
  230.     lastDone='Applet_tags'
  231.     theCode=GetFileArrEl('APPLET_CODE')
  232.     theCodeBase=GetFileArrEl('APPLET_CODEBASE')
  233.     theName=GetFileArrEl('APPLET_NAME')
  234.     theAlt=GetFileArrEl('APPLET_ALT')
  235.     theVspace=GetFileArrEl('APPLET_VSPACE')
  236.     theHspace=GetFileArrEl('APPLET_HSPACE')
  237.     theWidth=''
  238.     theHeight=''
  239.     theAlign=GetFileArrEl('APPLET_ALIGN')
  240.     if theAlign='' then
  241.         theAlign='/LEFT/RIGHT/TOP/BOTTOM/MIDDLE'
  242.         setFileArrEl('APPLET_ALIGN', theAlign)
  243.     endif
  244.     do while upcase(rightstr(theCode, 5))/=='CLASS'
  245.         theCode=entrybox('<APPLET> Enter the class','/Enter/Cancel/Abort',theCode,,255)
  246.         if (upcase(theCode)=='3') then
  247.             return
  248.         endif
  249.  compile if HTML_IF_ARG_BLANK='exit'
  250.         if upcase(theCode)=='' then
  251.             return
  252.         endif
  253.  compile endif
  254.     enddo
  255.     do while Valid_Number2(theWidth)=FALSE
  256.         theWidth=entrybox('<APPLET> Enter the Width', '/Enter/Cancel/Abort', theWidth, , 255)
  257.         if (theWidth='3') then
  258.             return
  259.         endif
  260.     enddo
  261.     do while Valid_Number2(theHeight)=FALSE
  262.         theHeight=entrybox('<APPLET> Enter the Height', '/Enter/Cancel/Abort', theHeight, , 255)
  263.         if (theHeight='3') then
  264.             return
  265.         endif
  266.     enddo
  267.     if upcase(leftstr(theCodebase, 5)) == 'AUTO_'then
  268.         theCodebase=rightstr(theCodebase, length(theCodebase)-5)
  269.     else
  270.         theCodebase=entrybox('<APPLET> Enter the Codebase', '/Enter/Cancel/Abort', theCodebase, , 255)
  271.         if (upcase(theCodebase)='3') then
  272.             return
  273.         endif
  274.     endif
  275.     if upcase(leftstr(theName, 5)) == 'AUTO_'then
  276.         theName=rightstr(theName, length(theName)-5)
  277.     else
  278.         theName=entrybox('<APPLET> Enter the Name', '/Enter/Cancel/Abort', theName, , 255)
  279.     endif
  280.     if (upcase(theName)='3') then
  281.         return
  282.     endif
  283.     if upcase(leftstr(theAlt, 5)) == 'AUTO_'then
  284.         theAlt=rightstr(theAlt, length(theAlt)-5)
  285.     else
  286.         theAlt=entrybox('<APPLET> Enter the Alternate Text', '/Enter/Cancel/Abort', theAlt, , 255)
  287.     endif
  288.     if (upcase(theAlt)='3') then
  289.         return
  290.     endif
  291.     if upcase(leftstr(theVspace, 5)) == 'AUTO_'then
  292.         theVspace=rightstr(theVspace, length(theVspace)-5)
  293.     else
  294.         theVspace=entrybox('<APPLET> Enter the Vertical spacing', '', theVspace, , 255)
  295.         if upcase(theVspace)='#OOPS' then
  296.             return
  297.         endif
  298.     endif
  299.     do while valid_number(theVspace)=FALSE
  300.         theVspace=entrybox('<APPLET> Enter the Vertical spacing', '', theVspace, , 255)
  301.         if upcase(theVspace)='#OOPS' then
  302.             return
  303.         endif
  304.     enddo
  305.     if upcase(leftstr(theHspace, 5)) == 'AUTO_'then
  306.         theHspace=rightstr(theHspace, length(theHspace)-5)
  307.     else
  308.         theHspace=entrybox('<APPLET> Enter the Horizontal spacing', '', theHspace, , 255)
  309.         if upcase(theHspace)='#OOPS' then
  310.             return
  311.         endif
  312.     endif
  313.     do while valid_number(theHspace)=FALSE
  314.         theHspace=entrybox('<APPLET> Enter the Horizontal spacing', '', theHspace, , 255)
  315.         if upcase(theHspace)='#OOPS' then
  316.             return
  317.         endif
  318.     enddo
  319.     if upcase(leftstr(theAlign, 5)) = 'AUTO_' then
  320.         theAlign= rightstr(theAlign, length(theAlign)-5)
  321.     else
  322.         parse value listbox('<APPLET> Enter the Alignment', upcase(theAlign), '/Enter/None/Abort', 0,0,5,,atoi(0)||atoi(1)||atoi(1)||atoi(0)) with button 2 theAlign \0
  323.         if (button=\0)|(button=\3) then
  324.             return
  325.         endif
  326.         if button=\2 then
  327.             theAlign=''
  328.         endif
  329.     endif
  330.     keyin Currentcase('<APPLET CODE="')theCode||Currentcase('" WIDTH=')theWidth||Currentcase(' HEIGHT=')theHeight
  331.     if theCodebase /=='' then
  332.         keyin currentcase(' CODEBASE="')theCodeBase'"'
  333.     endif
  334.     if theName /=='' then
  335.         keyin currentcase(' NAME="')theName'"'
  336.     endif
  337.     if theAlt /=='' then
  338.         keyin currentcase(' ALT="')theAlt'"'
  339.     endif
  340.     if theVspace /=='' then
  341.         keyin currentcase(' VSPACE=')theVspace
  342.     endif
  343.     if theHspace /=='' then
  344.         keyin currentcase(' HSPACE=')theHspace
  345.     endif
  346.     if theAlign /=='' then
  347.         keyin currentcase(' ALIGN=')theAlign
  348.     endif
  349.     keyin '>'
  350.     insertline '', .line+1
  351.     insertline Currentcase('</APPLET>'), .line+2
  352.     .line=.line+1
  353.     .col=1
  354.  
  355. defc Area_tags =
  356.     universal LastDone
  357.     lastDone='Area_tags'
  358.     theShape=getFileArrEl('AREA_SHAPE')
  359.     theHref=getFileArrEl('AREA_HREF')
  360.     theAlt=getFileArrEl('AREA_ALT')
  361.     if theShape='' then
  362.         theShape='/RECT/CIRCLE/POLY/DEFAULT'
  363.         setFileArrEl('AREA_SHAPE', theShape)
  364.     endif
  365.     if upcase(leftstr(theShape, 5)) == 'AUTO_' then
  366.         theShape=rightstr(theShape, length(theShape)-5)
  367.     else
  368.         parse value listbox('<AREA> Choose the Shape', theShape, '/Enter/Abort', 0,0,4,,atoi(0)||atoi(1)||atoi(1)||atoi(0)) with button 2 theShape \0
  369.         if (button=\0)|(button=\2) then
  370.             return
  371.         endif
  372.     endif
  373.     if upcase(theShape) == 'RECT' then
  374.         tx=0
  375.         bx=0
  376.         ly=0
  377.         ry=0
  378.         do while tx >= bx
  379.             tx=entrybox('<AREA SHAPE=RECT Enter the top edge','',tx,,255)
  380.             do while Valid_number2(tx)=FALSE
  381.                 tx=entrybox('<AREA SHAPE=RECT Enter the top edge','',tx,,255)
  382.             enddo
  383.             bx=entrybox('<AREA SHAPE=RECT Enter the bottom edge','',bx,,255)
  384.             do while Valid_number2(bx)=FALSE
  385.                 bx=entrybox('<AREA SHAPE=RECT Enter the bottom edge','',bx,,255)
  386.             enddo
  387.         enddo
  388.         do while ly >= ry
  389.             ly=entrybox('<AREA SHAPE=RECT Enter the left edge','',ly,,255)
  390.             do while Valid_number2(ly)=FALSE
  391.                 ly=entrybox('<AREA SHAPE=RECT Enter the left edge','',ly,,255)
  392.             enddo
  393.             ry=entrybox('<AREA SHAPE=RECT Enter the right edge','',ry,,255)
  394.             do while Valid_number2(ry)=FALSE
  395.                 ry=entrybox('<AREA SHAPE=RECT Enter the right edge','',ry,,255)
  396.             enddo
  397.         enddo
  398.         theCoords=tx', 'ly', 'bx', 'ry
  399.     elseif upcase(theShape) == 'CIRCLE' then
  400.         xCen=''
  401.         yCen=''
  402.         radius=''
  403.         do while valid_number2(xCen)=FALSE
  404.             xCen=entrybox('<AREA SHAPE=CIRCLE Enter the center xCoordinate','',xCen,,255)
  405.         enddo
  406.         do while valid_number2(yCen)=FALSE
  407.             yCen=entrybox('<AREA SHAPE=CIRCLE Enter the center yCoordinate','',yCen,,255)
  408.         enddo
  409.         do while valid_number2(radius)=FALSE
  410.             radius=entrybox('<AREA SHAPE=CIRCLE Enter the Radius','',radius,,255)
  411.         enddo
  412.         theCoords=xCen', 'yCen', 'radius
  413.     elseif upcase(theShape) == 'POLY' then
  414.         theCoords=''
  415.         xc='df'
  416.         yc='fdsa'
  417.         do while (xc/=='')&(yc/=='')
  418.             xc=entrybox('<AREA SHAPE=POLY enter the x coordinate (blank to exit)','','',,255)
  419.             if xc /=='' then
  420.                 yc=entrybox('<AREA SHAPE=POLY enter the y coordinate (blank to exit)','','',,255)
  421.             endif
  422.             if (xc/=='')&(yc/=='') then
  423.                 theCoords=theCoords||','xc||','yc
  424.             endif
  425.         enddo
  426.         theCoords=rightstr(theCoords, length(theCoords)-1)
  427.     else
  428.         theCoords=''
  429.     endif
  430.     if upcase(leftstr(theHref, 5))=='AUTO_' then
  431.         theHref=rightstr(theHref, length(theHref)-5)
  432.     else
  433.         theHref=entrybox('<AREA> Enter the HREF','',theHref,,255)
  434.     endif
  435.     if upcase(leftstr(theAlt, 5))=='AUTO_' then
  436.         theAlt=rightstr(theAlt, length(theAlt)-5)
  437.     else
  438.         theAlt=entrybox('<AREA> Enter the Alternate text','',theAlt,,255)
  439.     endif
  440.     keyin currentcase('<AREA SHAPE='theShape)
  441.     if upcase(theShape)/=='DEFAULT' then
  442.         keyin currentcase(' COORDS="'theCoords'"')
  443.     endif
  444.     if theHref/=='' then
  445.         keyin currentcase(' HREF="')theHref'"'
  446.     else
  447.         keyin currentcase(' NOHREF')
  448.     endif
  449.     if theAlt/=='' then
  450.         keyin currentcase(' ALT="')theAlt'"'
  451.     endif
  452.     keyin '>'
  453.  
  454. defc BaseFont_tags =
  455.     universal LastDone
  456.     lastDone='BaseFont_tags'
  457.     theSize=getFileArrEl('BASEFONT_SIZE')
  458.     if upcase(leftstr(theSize,5))== 'AUTO_' then
  459.         theSize=rightstr(theSize, length(theSize)-5)
  460.     else
  461.         do while Valid_Number2(theSize)=FALSE
  462.             theSize=entrybox('<BASEFONT> Enter the Size','',theSize,,255)
  463.         enddo
  464.     endif
  465.     keyin currentcase('<BASEFONT SIZE='theSize'>')
  466.  
  467. defc Big_tags =
  468.     universal LastDone
  469.     lastDone='Big_tags'
  470.     noArgTags('BIG')
  471.  
  472. defc Blockquote_tags =
  473.     universal LastDone
  474.     lastDone='Blockquote_tags'
  475.     noArgTags('BLOCKQUOTE')
  476.  
  477. defc Bold_tags =
  478.     universal LastDone
  479.     lastDone='Bold_tags'
  480.     noArgTags('B')
  481.  
  482. defc Caption_tags =
  483.     universal LastDone
  484.     lastDone='Caption_tags'
  485.     theAlign=GetFileArrEl('CAPTION_ALIGN')
  486.     if theAlign='' then
  487.         theAlign='/TOP/BOTTOM'
  488.         setFileArrEl('CAPTION_ALIGN', theAlign)
  489.     endif
  490.     if check_mark_on_screen() then
  491.         pbegin_mark()
  492.     endif
  493.     if upcase(leftstr(theAlign, 5)) == 'AUTO_' then
  494.         theAlign=rightstr(theAlign, length(theAlign)-5)
  495.     else
  496.         parse value listbox('<CAPTION> Choose an alignment',Currentcase(theAlign), '/Enter/None/Abort', 0,0,2,,atoi(0)||atoi(1)||atoi(1)||atoi(0)) with button 2 theAlign \0
  497.         if (button=\0)|(button=\3) then
  498.             return
  499.         endif
  500.         if button=\2 then
  501.             theAlign=''
  502.         endif
  503.     endif
  504.     keyin Currentcase('<CAPTION')
  505.     if theAlign /== '' then
  506.         keyin Currentcase(' ALIGN='theAlign)
  507.     endif
  508.     keyin'>'
  509.     if check_mark_on_screen() then
  510.         pend_mark()
  511.         oldCol=.col
  512.         left
  513.         if .col=oldCol then
  514.             .line=.line-1
  515.             endline
  516.         else
  517.             right
  518.             right
  519.         endif
  520.     endif
  521.     keyin Currentcase('</CAPTION>')
  522.     if check_mark_on_screen() then
  523.         unmark
  524.     else
  525.         .col=.col-10
  526.     endif
  527.  
  528. defc Center_tags =
  529.     universal LastDone
  530.     lastDone='Center_tags'
  531.     noArgTags('CENTER')
  532.  
  533. defc Citation_tags =
  534.     universal LastDone
  535.     lastDone='Citation_tags'
  536.     noArgTags('CITE')
  537.  
  538. defc Code_tags =
  539.     universal LastDone
  540.     lastDone='Code_tags'
  541.     noArgTags('CODE')
  542.  
  543. defc DeeDee_tags =
  544.     universal LastDone
  545.     lastDone='DeeDee_tags'
  546.     keyin Currentcase('<DD>')
  547.  
  548. defc DeeTee_tags =
  549.     universal LastDone
  550.     lastDone='DeeTee_tags'
  551.     keyin Currentcase('<DT>')
  552.  
  553. defc Definition_tags =
  554.     universal LastDone
  555.     lastDone='Definition_tags'
  556.     noArgTags('DFN')
  557.  
  558. defc DictionaryList_tags =
  559.     universal LastDone
  560.     lastDone='DictionaryList_tags'
  561.     Multiline_tags('DL')
  562.  
  563. defc Directory_tags =
  564.     universal LastDone
  565.     lastDone='Directory_tags'
  566.     Multiline_tags('DIR')
  567.  
  568. defc Div_tags =
  569.     universal LastDone
  570.     lastDone='Div_tags'
  571.     theAlign=GetFileArrEl('DIV_ALIGN')
  572.     if theAlign='' then
  573.         theAlign='/LEFT/RIGHT/CENTER'
  574.         setFileArrEl('DIV_ALIGN', theAlign)
  575.     endif
  576.     if upcase(leftstr(theAlign, 5)) == 'AUTO_' then
  577.         theAlign=rightstr(theAlign, length(theAlign)-5)
  578.     else
  579.         parse value listbox('<DIV> Choose an Alignment', Currentcase(theAlign), '/Enter/None/Abort', 0,0,3,,atoi(0)||atoi(1)||atoi(1)||atoi(0)) with button 2 theAlign \0
  580.         if (button=\0)|(button=\3) then
  581.             return
  582.         endif
  583.         if button=\2 then
  584.             theAlign=''
  585.         endif
  586.     endif
  587.     keyin currentCase('<DIV')
  588.     if (theAlign /== '')&(upcase(theAlign)/=='LEFT') then
  589.         keyin currentCase(' ALIGN="')theAlign'"'
  590.     endif
  591.     keyin '>'
  592.     insertline '</DIV>', .line+2
  593.     .line=.line+1
  594.     .col=1
  595.  
  596. defc Emphasis_tags =
  597.     universal LastDone
  598.     lastDone='Emphasis_tags'
  599.     noArgTags('EM')
  600.  
  601. defc Example_tags =
  602.     universal LastDone
  603.     lastDone='Example_tags'
  604.     noArgTags('XMP')
  605.  
  606. defc Font_tags =
  607.     universal LastDone
  608.     lastDone='Font_tags'
  609.     theSize=GetFileArrEl('FONT_SIZE')
  610.     theColor=GetFileArrEl('FONT_COLOR')
  611.     if upcase(leftstr(theSize, 5)) == 'AUTO_' then
  612.         theSize=rightstr(theSize, length(theSize)-5)
  613.     else
  614.         theSize=entrybox('<FONT> Enter the size', '', theSize, , 255)
  615.         if upcase(theSize)=='#OOPS' then
  616.             return
  617.         endif
  618.     endif
  619.     do while Valid_Number3(theSize)=FALSE
  620.         theSize=entrybox('<FONT> Enter the size', '', theSize, , 255)
  621.         if upcase(theSize)=='#OOPS' then
  622.             return
  623.         endif
  624.     enddo
  625.     if upcase(leftstr(theColor, 5)) == 'AUTO_' then
  626.         theColor=rightstr(theColor, length(theColor)-5)
  627.     else
  628.         theColor=entrybox('<FONT> Enter the color', '/Enter/Cancel/Abort', theColor, , 255)
  629.         if upcase(theColor)=='3' then
  630.             return
  631.         endif
  632.     endif
  633.     do while Valid_Color(theColor)=FALSE
  634.         theColor=entrybox('<FONT> Enter the color', '/Enter/Cancel/Abort', theColor, , 255)
  635.         if upcase(theColor)=='3' then
  636.             return
  637.         endif
  638.     enddo
  639.     do while (theSize=='')&(theColor=='')
  640.  compile if HTML_IF_ARG_BLANK='exit'
  641.         if(theSize=='')&(theColor=='') then
  642.             return
  643.         endif
  644.  compile endif
  645.         theSize=entrybox('<FONT> Enter the size', '', theSize, , 255)
  646.         if upcase(theSize)=='#OOPS' then
  647.             return
  648.         endif
  649.         theColor=entrybox('<FONT> Enter the color', '/Enter/Cancel/Abort', theColor, , 255)
  650.         if upcase(theColor)=='3' then
  651.             return
  652.         endif
  653.     enddo
  654.     if check_mark_on_screen() then
  655.         pbegin_mark()
  656.     endif
  657.     keyin Currentcase('<FONT')
  658.     if theSize /== '' then
  659.         keyin Currentcase(' SIZE=')theSize
  660.     endif
  661.     if theColor /== '' then
  662.         keyin Currentcase(' COLOR=#')theColor
  663.     endif
  664.     keyin'>'
  665.     if check_mark_on_screen() then
  666.         pend_mark()
  667.         oldCol=.col
  668.         left
  669.         if .col=oldCol then
  670.             .line=.line-1
  671.             endline
  672.         else
  673.             right
  674.             right
  675.         endif
  676.     endif
  677.     keyin Currentcase('</FONT>')
  678.     if check_mark_on_screen() then
  679.         unmark
  680.     else
  681.         .col=.col-7
  682.     endif
  683.  
  684. defc Form_tags =
  685.     universal LastDone
  686.     lastDone='Form_tags'
  687.     theAction=GetFileArrEl('FORM_ACTION')
  688.     theMethod=GetFileArrEl('FORM_METHOD')
  689.     theEncType=GetFileArrEl('FORM_ENCTYPE')
  690.     if theMethod='' then
  691.         theMethod='/GET/POST'
  692.         setFileArrEl('FORM_METHOD', theMethod)
  693.     endif
  694.     theAction=entrybox('<FORM> Enter the action','',theAction,,255)
  695.     do while theAction=''
  696.  compile if HTML_IF_ARG_BLANK='exit'
  697.         if theAction=='' then
  698.             return
  699.         endif
  700.  compile endif
  701.         theAction=entrybox('<FORM> Enter the action','/Enter/Cancel/Abort',theAction,,255)
  702.     enddo
  703.     if upcase(theAction)=='3' then
  704.         return
  705.     endif
  706.     if upcase(leftstr(theMethod,5))=='AUTO_' then
  707.         theMethod=Currentcase(rightstr(theMethod, length(theMethod)-5))
  708.     else
  709.         do while (upcase(theMethod)/=='POST')&(upcase(theMethod)/=='GET')
  710.             parse value listbox('<FORM> Choose the method', Currentcase(getFileArrEl('FORM_METHOD')),'/Enter/Abort', 0,0,2,,atoi(0)||atoi(1)||atoi(1)||atoi(0)) with button 2 theMethod \0
  711.             if (button=\0)|(button=\2) then
  712.                 return
  713.             endif
  714.         enddo
  715.     endif
  716.     theEncType=entrybox('<FORM> Enter the ENCTYPE','',theEncType,,255)
  717.     keyin Currentcase('<FORM ACTION="')theAction||Currentcase('" METHOD='theMethod)'>'
  718.     insertline '', .line+1
  719.         insertline Currentcase('</FORM>'), .line+2
  720.     .line=.line+1
  721.     .col=1
  722.  
  723. defc H1_tags =
  724.     universal LastDone
  725.     lastDone='H1_tags'
  726.     alignArgTags('H1')
  727.  
  728. defc H2_tags =
  729.     universal LastDone
  730.     lastDone='H2_tags'
  731.     alignArgTags('H2')
  732.  
  733. defc H3_tags =
  734.     universal LastDone
  735.     lastDone='H3_tags'
  736.     alignArgTags('H3')
  737.  
  738. defc H4_tags =
  739.     universal LastDone
  740.     lastDone='H4_tags'
  741.     alignArgTags('H4')
  742.  
  743. defc H5_tags =
  744.     universal LastDone
  745.     lastDone='H5_tags'
  746.     alignArgTags('H5')
  747.  
  748. defc H6_tags =
  749.     universal LastDone
  750.     lastDone='H6_tags'
  751.     alignArgTags('H6')
  752.  
  753.  
  754. defc Image_tags =
  755.     universal LastDone
  756.     lastDone='Image_tags'
  757.     theSource=GetFileArrEl('IMG_SOURCE')
  758.     theSource=entrybox('<IMG> Enter the source','/Enter/Cancel/Abort',theSource,,255)
  759.  compile if HTML_IF_ARG_BLANK='exit'
  760.     if upcase(theSource)=='' then
  761.         return
  762.     endif
  763.  compile else
  764.     do while theSource=''
  765.         theSource=entrybox('<IMG> Enter the source','/Enter/Cancel/Abort',theSource,,255)
  766.     enddo
  767.     if upcase(theSource)=='3' then
  768.         return
  769.     endif
  770.  compile endif
  771.     Image_all(theSource)
  772.  
  773. defc Input_tags =
  774.     universal LastDone
  775.     lastDone='Input_tags'
  776.     theName=''
  777.     theValue=''
  778.     theAlign=''
  779.     theSize=''
  780.     theMaxlength=''
  781.     theChecked=''
  782.     theRChecked=''
  783.     theSource=GetFileArrEl('INPUT_IMAGE_SOURCE')
  784.     theType=GetFileArrEl('INPUT_TYPE')
  785.     if theType='' then
  786.         theType='/CHECKBOX/HIDDEN/IMAGE/PASSWORD/RADIO/RESET/SUBMIT/TEXT'
  787.         setFileArrEl('INPUT_TYPE', theType)
  788.     endif
  789.     if upcase(leftstr(theType, 5)) == 'AUTO_' then
  790.         theType=rightstr(theType, length(theType)-5)
  791.     else
  792.         parse value listbox('<INPUT> Choose a type',Currentcase(theType), '/Enter/Abort', 0,0,8,,atoi(0)||atoi(1)||atoi(1)||atoi(0)) with button 2 theType \0
  793.         if (button=\0)|(button=\2) then
  794.             return
  795.         endif
  796.     endif
  797.  
  798.     if (upcase(theType)/=='RESET')&(upcase(theType)/=='SUBMIT') then
  799.         do while theName ==''
  800.             theName=entrybox('<INPUT TYPE='theType'> Enter the name','/Enter/Cancel/Abort', theName,,255)
  801.             if upcase(theName)=='3' then
  802.                 return
  803.             endif
  804.  compile if HTML_IF_ARG_BLANK='esit'
  805.             if theName='' then
  806.                 return
  807.             endif
  808.  compile endif
  809.         enddo
  810.     endif
  811.  
  812.     if (upcase(theType)/=='CHECKBOX')&(upcase(theType)/=='FILE')&(upcase(theType)/=='IMAGE') then
  813.         theValue=getFileArrEl('INPUT_'theType'_VALUE')
  814.         if (upcase(theType)=='RADIO')|(upcase(theType)=='RADIO') then
  815.             do while theValue=''
  816.                 theValue=entrybox('<INPUT TYPE='theType'> Enter the value','/Enter/Cancel',theValue,,255)
  817.                 if upcase(theValue)=='#OOPS' then
  818.                     return
  819.                 endif
  820.  compile if HTML_IF_ARG_BLANK='exit'
  821.                 if theValue='' then
  822.                     return
  823.                 endif
  824.  compile endif
  825.             enddo
  826.         else
  827.             theValue=entrybox('<INPUT TYPE='theType'> Enter the value','/Enter/Cancel',theValue,,255)
  828.             if upcase(theValue)=='#OOPS' then
  829.                 return
  830.             endif
  831.         endif
  832.     endif
  833.  
  834.  
  835.     if (upcase(theType)=='PASSWORD')|(upcase(theType)=='TEXT') then
  836.         theSize=getFileArrEl('INPUT_'theType'_SIZE')
  837.         if upcase(leftstr(theSize, 5))=='AUTO_' then
  838.             theSize=leftstr(theSize, length(theSize)-5)
  839.         else
  840.             theSize=entrybox('<INPUT TYPE='theType'> Enter the size','/Enter/Cancel/Abort',theSize,,255)
  841.             if upcase(theSize)=='3' then
  842.                 return
  843.             endif
  844.         endif
  845.         theMaxlength=getFileArrEl('INPUT_'theType'_MAXLENGTH')
  846.         if upcase(leftstr(theMaxlength, 5))=='AUTO_' then
  847.             theMaxlength=leftstr(theMaxlength, length(theMaxlength)-5)
  848.         else
  849.             theMaxlength=entrybox('<INPUT TYPE='theType'> Enter the size','/Enter/Cancel/Abort',theMaxlength,,255)
  850.             if upcase(theMaxlength)=='3' then
  851.                 return
  852.             endif
  853.         endif
  854.     endif
  855.  
  856.     if upcase(theType)=='IMAGE' then
  857.         theSource=getFileArrEl('INPUT_IMAGE_SOURCE')
  858.         if upcase(leftstr(theSource, 5))='AUTO_' then
  859.             theSource=rightstr(theSource, length(theSource)-5)
  860.         else
  861.             do while theSource=''
  862.                 theSource=entrybox('<INPUT TYPE=IMAGE> Enter the source', '/Enter/Cancel/Abort', theSource,.255)
  863.                 if theSource='3' then
  864.                     return
  865.                 endif
  866.  compile if HTML_IF_ARG_BLANK='exit'
  867.                 if theSource='' then
  868.                     return
  869.                 endif
  870.  compile endif
  871.             enddo
  872.         endif
  873.         theAlign=getFileArrEl('INPUT_IMAGE_ALIGN')
  874.         if theAlign='' then
  875.             theAlign='/LEFT/RIGHT/TOP/MIDDLE/BOTTOM'
  876.             setFileArrEl('INPUT_IMAGE_ALIGN', theAlign)
  877.         endif
  878.         if upcase(leftstr(theAlign, 5))=='AUTO_' then
  879.             theAlign=rightstr(theAlign, length(theAlign)-5)
  880.         else
  881.             parse value listbox('<INPUT TYPE=IMAGE Enter the Alignment', upcase(theAlign), '/Enter/None/Abort', 0,0,5,,atoi(0)||atoi(1)||atoi(1)||atoi(0)) with button 2 theAlign \0
  882.             if (button=\0)|(button=\3) then
  883.                 return
  884.             endif
  885.             if button=\2 then
  886.                 theAlign=''
  887.             endif
  888.         endif
  889.     endif
  890.  
  891.     if (upcase(theType)=='CHECKBOX')|(upcase(theType)=='RADIO') then
  892.         theChecked=getFileArrEl('INPUT_'theType'_CHECKED')
  893.         if upcase(theChecked)=='AUTO_YES' then
  894.             theChecked=MBID_YES
  895.         elseif upcase(theChecked)=='AUTO_NO' then
  896.             theChecked=MBID_NO
  897.         elseif upcase(theChecked)=='YES' then
  898.             theChecked=winmessagebox('<INPUT TYPE='theType'>', 'Is this one checked?', MB_YESNOCANCEL+MB_DEFBUTTON1)
  899.         else
  900.             theChecked=winmessagebox('<INPUT TYPE='theType'>', 'Is this one checked?', MB_YESNOCANCEL+MB_DEFBUTTON2)
  901.         endif
  902.         if theChecked=MBID_CANCEL then
  903.             return
  904.         endif
  905.     endif
  906.  
  907.  
  908.  
  909.     if theSize=0 then
  910.         theSize=''
  911.     endif
  912.     if theMaxlength=0 then
  913.         theMaxlength=''
  914.     endif
  915.     keyin Currentcase('<INPUT TYPE='theType)
  916.     if theName /== '' then
  917.         keyin Currentcase(' NAME="')theName'"'
  918.     endif
  919.     if theValue /== '' then
  920.         keyin Currentcase(' VALUE="')theValue'"'
  921.     endif
  922.     if theSource /== '' then
  923.         keyin Currentcase(' SRC="')theSource'"'
  924.     endif
  925.     if theAlign /== '' then
  926.         keyin Currentcase(' ALIGN=')theAlign
  927.     endif
  928.     if theSize /== '' then
  929.         keyin Currentcase(' SIZE=')theSize
  930.     endif
  931.     if theMaxlength /== '' then
  932.         keyin Currentcase(' MAXLENGTH=')theMaxlength
  933.     endif
  934.     if theChecked=MBID_YES then
  935.         keyin Currentcase(' CHECKED')
  936.     endif
  937.     keyin '>'
  938.  
  939. defc Italics_Tags =
  940.     universal LastDone
  941.     lastDone='Italics_Tags'
  942.     noArgTags('I')
  943.  
  944. defc Keyboard_tags =
  945.     universal LastDone
  946.     lastDone='Keyboard_tags'
  947.     noArgTags('KBD')
  948.  
  949. defc LineBreak_tags =
  950.     universal LastDone
  951.     lastDone='LineBreak_tags'
  952.     theClear=getFileArrEl('BR_CLEAR')
  953.     if theClear=''then
  954.         theClear='/ALL/LEFT/RIGHT/NONE'
  955.         setFileArrEl('BR_CLEAR', theClear)
  956.     endif
  957.     if upcase(leftstr(theClear, 5))=='AUTO_' then
  958.         theClear=rightstr(theClear, length(theClear)-5)
  959.     else
  960.         parse value listbox('<BR> Clears which way', currentcase(theClear), '/Enter/None/Abort', 0,0,4,,atoi(0)||atoi(1)||atoi(1)||atoi(0)) with button 2 theClear \0
  961.         if (button=\0)|(button=\3) then
  962.             return
  963.         endif
  964.         if button=\2 then
  965.             theClear=''
  966.         endif
  967.     endif
  968.     keyin Currentcase('<BR')
  969.     if theClear/=='' then
  970.         keyin currentcase(' CLEAR='theClear)
  971.     endif
  972.     keyin '>'
  973.  
  974. defc Listing_tags =
  975.     universal LastDone
  976.     lastDone='Listing_tags'
  977.     noArgTags('LISTING')
  978.  
  979. defc Link_tags =
  980.     universal LastDone
  981.     lastDone='Link_tags'
  982.     theURL=GetFileArrEl('LINK_LINK')
  983.     theRel=GetFileArrEl('LINK_REL')
  984.     theRev=GetFileArrEl('LINK_REV')
  985.     theTitle=GetFileArrEl('LINK_TITLE')
  986.     do while theURL==''
  987.         theURL=entrybox('<LINK> Enter the HREF','/Enter/Cancel/Abort',theURL,,255)
  988.         if upcase(theURL)=='3' then
  989.             return
  990.         endif
  991.  compile if HTML_IF_ARG_BLANK='exit'
  992.         if theURL=='' then
  993.             return
  994.         endif
  995.  compile endif
  996.     enddo
  997.     if upcase(leftstr(theRel,5)) == 'AUTO_' then
  998.         theRel=rightstr(theRel, length(theRel)-5)
  999.     else
  1000.         theRel=entrybox('<LINK> Enter the Rel', '/Enter/Cancel/Abort',theRel,,255)
  1001.         if upcase(theRel)=='3' then
  1002.             return
  1003.         endif
  1004.     endif
  1005.     if upcase(leftstr(theRev,5)) == 'AUTO_' then
  1006.         theRev=rightstr(theRev, length(theRev)-5)
  1007.     else
  1008.         theRev=entrybox('<LINK> Enter the Rev', '/Enter/Cancel/Abort',theRev,,255)
  1009.         if upcase(theRev)=='3' then
  1010.             return
  1011.         endif
  1012.     endif
  1013.     if upcase(leftstr(theTitle,5)) == 'AUTO_' then
  1014.         theTitle=rightstr(theTitle, length(theTitle)-5)
  1015.     else
  1016.         theTitle=entrybox('<LINK> Enter the Title', '/Enter/Cancel/Abort',theTitle,,255)
  1017.         if upcase(theTitle)=='3' then
  1018.             return
  1019.         endif
  1020.     endif
  1021.     keyin Currentcase('<LINK HREF="')theURL'"'
  1022.     if theRel /== '' then
  1023.         keyin Currentcase(' REL="')theRel'"'
  1024.     endif
  1025.     if theRev /== '' then
  1026.         keyin Currentcase(' REV="')theRev'"'
  1027.     endif
  1028.     if theTitle /== '' then
  1029.         keyin Currentcase(' TITLE="')theTitle'"'
  1030.     endif
  1031.     keyin ('>')
  1032.  
  1033. defc ListItem_tags =
  1034.     universal LastDone
  1035.     lastDone='ListItem_tags'
  1036.     keyin Currentcase('<LI>')
  1037.  
  1038. defc Map_Tags =
  1039.     universal LastDone
  1040.     lastDone='Map_Tags'
  1041.     theName=getFileArrEl('MAP_NAME')
  1042.     if upcase(leftstr(theName, 5)) ='AUTO_' then
  1043.         theName=rightstr(theName, length(theName)-5)
  1044.     else
  1045.         theName=entrybox('<MAP> Enter the Name','',theName,,255)
  1046.     endif
  1047.     keyin currentcase('<MAP')
  1048.     if theName/=='' then
  1049.         keyin currentcase(' NAME="')theName'"'
  1050.     endif
  1051.     keyin '>'
  1052.     insertline '', .line+1
  1053.     insertline currentcase('</MAP>'), .line+2
  1054.     .line=.line+1
  1055.     beginline
  1056.  
  1057. defc Menu_tags =
  1058.     universal LastDone
  1059.     lastDone='Menu_tags'
  1060.     Multiline_tags('MENU')
  1061.  
  1062. defc Meta_Tags =
  1063.     universal LastDone
  1064.     lastDone='Meta_Tags'
  1065.     theEquiv=''
  1066.     theName=''
  1067.     theContent=''
  1068.     theEquiv=entrybox('<META> Enter the HTTP_EQUIV','/Enter/Cancel/Abort','', ,255)
  1069.     if upcase(theEquiv)=='3' then
  1070.         return
  1071.     endif
  1072.     if theEquiv=='' then
  1073.         theName=entrybox('<META> Enter the name','/Enter/Cancel/Abort','',,255)
  1074.         if upcase(theName)=='3' then
  1075.             return
  1076.         endif
  1077.     endif
  1078.  compile if HTML_IF_ARG_BLANK='exit'
  1079.     if (theEquiv=='')&(theName=='') then
  1080.         return
  1081.     endif
  1082.  compile else do while (theEquiv=='')&(theName=='')
  1083.         theEquiv=entrybox('<META> Enter the HTTP_EQUIV','/Enter/Cancel/Abort','', ,255)
  1084.         if upcase(theEquiv)=='3' then
  1085.             return
  1086.         endif
  1087.         if theEquiv=='' then
  1088.             theName=entrybox('<META> Enter the name','/Enter/Cancel/Abort','',,255)
  1089.             if upcase(theName)=='3' then
  1090.                 return
  1091.             endif
  1092.         endif
  1093.     enddo
  1094.  compile endif
  1095.     do while theContent==''
  1096.         theContent=entrybox('<META> Enter the content','/Enter/Cancel/Abort','',,255)
  1097.         if theContent='3' then
  1098.             return
  1099.         endif
  1100.     enddo
  1101.     keyin Currentcase('<META')
  1102.     if theEquiv/=='' then
  1103.         keyin Currentcase(' HTTP-EQUIV="')theEquiv'"'
  1104.     endif
  1105.     if theName /=='' then
  1106.         keyin Currentcase(' NAME="')theName'"'
  1107.     endif
  1108.     keyin Currentcase(' CONTENT="')theContent'"'
  1109.     keyin '>'
  1110.  
  1111. defc NewPage_tags =
  1112.     universal LastDone, load_ext
  1113.     if wordpos(load_ext, 'xtml XTML') then
  1114.         sayerror 'This is an XTML file'
  1115.         return
  1116.     endif
  1117.     lastDone=''
  1118.     theBase=getFileArrEl('BASE')
  1119.     theVersion=getFileArrEl('HTML_VERSION')
  1120.     theBackground=GetFileArrEl('BODY_BACKGROUND')
  1121.     theBackgroundcolor=GetFileArrEl('BODY_BGCOLOR')
  1122.     theText=GetFileArrEl('BODY_TEXT')
  1123.     theLink=GetFileArrEl('BODY_LINK')
  1124.     theIdxPrompt=GetFileArrEl('INDEX_PROMPT')
  1125.     theHitlink=GetFileArrEl('BODY_VLINK')
  1126.     theAlink=GetFileArrEl('BODY_ALINK')
  1127.     theIndex=GetFileArrEl('IS_INDEX')
  1128.     theTitle=entrybox('[New File] Enter the title','/Enter/Cancel/Abort','',,255)
  1129.     if theTitle='3' then
  1130.         return
  1131.     endif
  1132.     if upcase(leftstr(theVersion,5)) == 'AUTO_' then
  1133.         theVersion=rightstr(theVersion, length(theVersion)-5)
  1134.     else
  1135.         theVersion=entrybox('[New File] Enter the version', '/Enter/Cancel/Abort', theVersion, ,255)
  1136.         if theVersion='3' then
  1137.             return
  1138.         endif
  1139.     endif
  1140.     if upcase(leftstr(theBackground,5)) == 'AUTO_' then
  1141.         theBackground=rightstr(theBackground, length(theBackground)-5)
  1142.     else
  1143.         theBackground=entrybox('[New File] Enter the background','/Enter/Cancel/Abort',theBackground,,255)
  1144.     endif
  1145.     if upcase(theBackground)=='3' then
  1146.         return
  1147.     endif
  1148.     if upcase(leftstr(theBackgroundcolor,5)) == 'AUTO_' then
  1149.         theBackgroundcolor=rightstr(theBackgroundcolor, length(theBackgroundcolor)-5)
  1150.     else
  1151.         theBackgroundcolor=entrybox('[New File] Enter the background color','/Enter/Cancel/Abort',theBackgroundcolor,,255)
  1152.         if upcase(theBackgroundcolor)=='3' then
  1153.             return
  1154.         endif
  1155.     endif
  1156.     do while Valid_Color(theBackgroundcolor)=FALSE
  1157.         theBackgroundcolor=entrybox('[New File] Enter the background color','/Enter/Cancel/Abort',theBackgroundcolor,,255)
  1158.         if upcase(theBackgroundcolor)=='3' then
  1159.             return
  1160.         endif
  1161.     enddo
  1162.     if upcase(leftstr(theText,5)) == 'AUTO_' then
  1163.         theText=rightstr(theText, length(theText)-5)
  1164.     else
  1165.         theText=entrybox('[New File] Enter the text color','/Enter/Cancel/Abort',theText,,255)
  1166.         if upcase(theText)=='3' then
  1167.             return
  1168.         endif
  1169.     endif
  1170.     do while Valid_Color(theText)=FALSE
  1171.         theText=entrybox('[New File] Enter the text color','/Enter/Cancel/Abort',theText,,255)
  1172.         if upcase(theText)=='3' then
  1173.             return
  1174.         endif
  1175.     enddo
  1176.     if upcase(leftstr(theLink,5)) == 'AUTO_' then
  1177.         theLink=rightstr(theLink, length(theLink)-5)
  1178.     else
  1179.         theLink=entrybox('[New File] Enter the link color','/Enter/Cancel/Abort',theLink,,255)
  1180.         if upcase(theLink)=='3' then
  1181.             return
  1182.         endif
  1183.     endif
  1184.     do while Valid_Color(theLink)=FALSE
  1185.         theLink=entrybox('[New File] Enter the link color','/Enter/Cancel/Abort',theLink,,255)
  1186.         if upcase(theLink)=='3' then
  1187.             return
  1188.         endif
  1189.     enddo
  1190.     if upcase(leftstr(theHitlink,5)) == 'AUTO_' then
  1191.         theHitlink=rightstr(theHitlink, length(theHitlink)-5)
  1192.     else
  1193.         theHitlink=entrybox('[New File] Enter the hit link color','/Enter/Cancel/Abort',theHitlink,,255)
  1194.         if upcase(theHitlink)=='3' then
  1195.             return
  1196.         endif
  1197.     endif
  1198.     do while Valid_Color(theHitlink)=FALSE
  1199.         theHitlink=entrybox('[New File] Enter the hit link color','/Enter/Cancel/Abort',theHitlink,,255)
  1200.         if upcase(theHitlink)=='3' then
  1201.             return
  1202.         endif
  1203.     enddo
  1204.     if upcase(leftstr(theAlink,5)) == 'AUTO_' then
  1205.         theAlink=rightstr(theAlink, length(theAlink)-5)
  1206.     else
  1207.         theAlink=entrybox('[New File] Enter the active link color','/Enter/Cancel/Abort',theAlink,,255)
  1208.         if upcase(theAlink)=='3' then
  1209.             return
  1210.         endif
  1211.     endif
  1212.     do while Valid_Color(theAlink)=FALSE
  1213.         theAlink=entrybox('[New File] Enter the active link color','/Enter/Cancel/Abort',theAlink,,255)
  1214.         if upcase(theAlink)=='3' then
  1215.             return
  1216.         endif
  1217.     enddo
  1218.     if upcase(theIndex)=='AUTO_YES' then
  1219.         theIndex=MBID_YES
  1220.     elseif upcase(theIndex)='AUTO_NO' then
  1221.         theIndex=MBID_NO
  1222.     else
  1223.         if upcase(theIndex)='YES' then
  1224.         theIndex=winmessagebox('INDEX?', 'Is this an index?', MB_YESNOCANCEL + MB_DEFBUTTON1)
  1225.         else
  1226.         theIndex=winmessagebox('INDEX?', 'Is this an index?', MB_YESNOCANCEL + MB_DEFBUTTON2)
  1227.         endif
  1228.     endif
  1229.     if theIndex=MBID_CANCEL then
  1230.         return
  1231.     endif
  1232.         if theIndex=MBID_YES then
  1233.             if upcase(leftstr(theIdxPrompt,5 )) == 'AUTO_' then
  1234.                 theIdxPrompt=rightstr(theIdxPrompt, length(theIdxPrompt)-5)
  1235.             else
  1236.                 theIdxPrompt=entrybox('[New File] Enter the Index Prompt','',theIdxPrompt,,255)
  1237.             endif
  1238.         endif
  1239.     if upcase(leftstr(theBase,5))== 'AUTO_' then
  1240.         theBase=rightstr(theBase, length(theBase)-5)
  1241.     else
  1242.         theBase=entrybox('[New File] Enter the base','/Enter/Cancel/Abort',theBase,,255)
  1243.         if upcase(theBase)=='3' then
  1244.             return
  1245.         endif
  1246.     endif
  1247.     keyin Currentcase('<HTML')
  1248.     if theVersion/=='' then
  1249.         keyin currentcase(' VERSION="')
  1250.         keyin theVersion
  1251.         keyin('"')
  1252.     endif
  1253.     keyin currentcase('>')
  1254.     insertline Currentcase('<HEAD>'), .line+1
  1255.     insertline Currentcase('<TITLE>')theTitle||Currentcase('</TITLE>'), .line+2
  1256.     if theIndex=MBID_YES then
  1257.         if theIdxPrompt == '' then
  1258.         insertline Currentcase('<ISINDEX>'), .line+3
  1259.         else
  1260.             eLine=currentcase('<ISINDEX PROMPT="')theIdxPrompt'">'
  1261.             insertline eLine, .line+3
  1262.         endif
  1263.         .line=.line+1
  1264.     endif
  1265.     if theBase /=='' then
  1266.         insertline Currentcase('<BASE HREF="')theBase'">', .line+3
  1267.         .line=.line+1
  1268.     endif
  1269.     insertline Currentcase('</HEAD>'), .line+3
  1270.     insertline Currentcase('<BODY>'), .line+4
  1271.     insertline '', .line+5
  1272.     insertline Currentcase('</BODY>'), .line+6
  1273.     insertline Currentcase('</HTML>'), .line+7
  1274.     .line=.line+4
  1275.     .col=6
  1276.     if theBackground /=='' then
  1277.         keyin Currentcase(' BACKGROUND="'theBackground'"')
  1278.     endif
  1279.     if theBackgroundcolor /=='' then
  1280.         keyin Currentcase(' BGCOLOR=#'theBackgroundcolor)
  1281.     endif
  1282.     if theText /=='' then
  1283.         keyin Currentcase(' TEXT=#'theText)
  1284.     endif
  1285.     if theLink /=='' then
  1286.         keyin Currentcase(' LINK=#'theLink)
  1287.     endif
  1288.     if theHitlink /=='' then
  1289.         keyin Currentcase(' VLINK=#'theHitlink)
  1290.     endif
  1291.     if theAlink /=='' then
  1292.         keyin Currentcase(' ALINK=#'theAlink)
  1293.     endif
  1294.     .line=.line+1
  1295.     .col=1
  1296.  
  1297. defc Option_tags =
  1298.     universal LastDone
  1299.     lastDone='Option_tags'
  1300.     theValue=''
  1301.     do while theValue ==''
  1302.         theValue=entrybox('<OPTION> Enter the value','', theValue,,255)
  1303.     enddo
  1304.     keyin Currentcase('<OPTION VALUE="')theValue'">'
  1305.  
  1306. defc OrderedList_tags =
  1307.     universal LastDone
  1308.     lastDone='OrderedList_tags'
  1309.     theType=getFileArrEl('OL_TYPE')
  1310.     theStart=getFileArrEl('OL_START')
  1311.     theCompact=getFileArrEl('OL_COMPACT')
  1312.     if theType ='' then
  1313.         theType='/1/a/A/i/I'
  1314.         setFileArrEl('OL_TYPE', theType)
  1315.     endif
  1316.     if upcase(leftstr(theType, 5))=='AUTO_'then
  1317.         theType=rightstr(theType, length(theType)-5)
  1318.     else
  1319.         parse value listbox('<OL> Choose the Type', theType, '/Enter/None/Abort', 0,0,5,,atoi(0)||atoi(1)||atoi(1)||atoi(0)) with button 2 theType \0
  1320.         if (button=\0)|(button=\3) then
  1321.             return
  1322.         endif
  1323.         if button=\2 then
  1324.             theType=''
  1325.         endif
  1326.     endif
  1327.     if upcase(leftstr(theStart,5))=='AUTO_'then
  1328.         theStart=rightstr(theStart, length(theStart)-5)
  1329.     else
  1330.         theStart=entrybox('<OL> Enter the start index','',theStart,,255)
  1331.         do while Valid_Number(theStart)=False
  1332.             theStart=entrybox('<OL> Enter the start index','',theStart,,255)
  1333.         enddo
  1334.     endif
  1335.     if upcase(theCompact)=='AUTO_YES' then
  1336.         theCompact=MBID_YES
  1337.     elseif upcase(theCompact)=='AUTO_NO' then
  1338.         theCompact=MBID_NO
  1339.     else
  1340.         if upcase(theCompact)='YES' then
  1341.         theCompact=winmessagebox('COMPACT?', 'Is this a Compact list?', MB_YESNO + MB_DEFBUTTON1)
  1342.         else
  1343.         theCompact=winmessagebox('COMPACT?', 'Is this a Compact list?', MB_YESNO + MB_DEFBUTTON2)
  1344.         endif
  1345.     endif
  1346.     keyin currentcase('<OL')
  1347.     if theType/=='' then
  1348.         keyin currentcase(' TYPE=')theType
  1349.     endif
  1350.     if theStart/=='' then
  1351.         keyin currentCase(' START=')theStart
  1352.     endif
  1353.     if theCompact==MBID_YES then
  1354.         keyin currentCase(' COMPACT')
  1355.     endif
  1356.     keyin '>'
  1357.     insertline '', .line+1
  1358.     insertline currentcase('</OL>'), .line+2
  1359.     .line=.line+1
  1360.     beginline
  1361.  
  1362. defc Paragraph_tags =
  1363.     universal LastDone
  1364.     lastDone='Paragraph_tags'
  1365.     alignArgTags('P')
  1366.  
  1367. defc Parameter_tags =
  1368.     universal LastDone
  1369.     lastDone='Parameter_tags'
  1370.     theName=''
  1371.     theValue=''
  1372.     theName=entrybox('<PARAMETER> Enter the name','/Enter/Cancel/Abort', theName,,255)
  1373.     if upcase(theName)=='3' then
  1374.         return
  1375.     endif
  1376.  compile if HTML_IF_ARG_BLANK = 'exit'
  1377.     if theName =='' then
  1378.         return
  1379.     endif
  1380.  compile else
  1381.     do while theName ==''
  1382.         theName=entrybox('<PARAMETER> Enter the name','/Enter/Cancel/Abort', theName,,255)
  1383.         if upcase(theName)=='3' then
  1384.             return
  1385.         endif
  1386.     enddo
  1387.  compile endif
  1388.     theValue=entrybox('<PARAMETER> Enter the value','', theValue,,255)
  1389.  compile if HTML_IF_ARG_BLANK = 'exit'
  1390.     if theValue =='' then
  1391.         return
  1392.     endif
  1393.  compile else
  1394.     do while theValue ==''
  1395.         theValue=entrybox('<PARAMETER> Enter the value','', theValue,,255)
  1396.     enddo
  1397.  compile endif
  1398.     if upcase(theValue)=='#OOPS' then
  1399.         return
  1400.     endif
  1401.     keyin Currentcase('<PARAM NAME="')theName||Currentcase('" VALUE="')theValue'">'
  1402.  
  1403. defc Preform_tags =
  1404.     universal LastDone
  1405.     lastDone='Preform_tags'
  1406.     theWidth=GetFileArrEl('PRE_WIDTH')
  1407.     if upcase(leftstr(theWidth, 5))=='AUTO_' then
  1408.         theWidth=rightstr(theWidth, length(theWidth)-5)
  1409.     else
  1410.         theWidth=entrybox('<PRE> Enter the width','',theWidth,,255)
  1411.     endif
  1412.     do while Valid_Number(theWidth)=FALSE
  1413.         theWidth=entrybox('<PRE> Enter the width','/Enter/Cancel/Abort',theWidth,,255)
  1414.     enddo
  1415.     if upcase(theWidth)=='3' then
  1416.         return
  1417.     endif
  1418.     if check_mark_on_screen() then
  1419.         pbegin_mark()
  1420.     endif
  1421.     keyin Currentcase('<PRE')
  1422.     if theWidth/=='' then
  1423.         keyin Currentcase(' WIDTH=')theWidth
  1424.     endif
  1425.     keyin '>'
  1426.     if check_mark_on_screen() then
  1427.         pend_mark()
  1428.         oldCol=.col
  1429.         left
  1430.         if .col=oldCol then
  1431.             .line=.line-1
  1432.             endline
  1433.         else
  1434.             right
  1435.             right
  1436.         endif
  1437.     endif
  1438.         keyin Currentcase('</PRE>')
  1439.     if check_mark_on_screen() then
  1440.         unmark
  1441.     else
  1442.         .col=.col-6
  1443.     endif
  1444.  
  1445. defc Rule_tags =
  1446.     universal LastDone
  1447.     lastDone='Rule_tags'
  1448.     theSize=GetFileArrEl('HR_SIZE')
  1449.     theWidth=GetFileArrEl('HR_WIDTH')
  1450.     theAlign=GetFileArrEl('HR_ALIGN')
  1451.     if theAlign='' then
  1452.         theAlign='/CENTER/LEFT/RIGHT'
  1453.         setFileArrEl('HR_ALIGN', theAlign)
  1454.     endif
  1455.     if upcase(leftstr(theSize, 5)) == 'AUTO_' then
  1456.         theSize=rightstr(theSize, length(theSize)-5)
  1457.     else
  1458.         theSize=entrybox('<HR> Enter the size','',theSize,,255)
  1459.     endif
  1460.     do while Valid_Number(theSize)=FALSE
  1461.         theSize=entrybox('<HR> Enter the size', '', theSize, , 255)
  1462.     enddo
  1463.     if upcase(theSize)=='#OOPS' then
  1464.         return
  1465.     endif
  1466.     if upcase(leftstr(theWidth, 5)) == 'AUTO_' then
  1467.         theWidth=rightstr(theWidth, length(theWidth)-5)
  1468.     else
  1469.         theWidth=entrybox('<HR> Enter the width','/Enter/Cancel/Abort',theWidth,,255)
  1470.         if upcase(theWidth)=='3' then
  1471.             return
  1472.         endif
  1473.     endif
  1474.     do while (Valid_Number(theWidth)=FALSE)|(theWidth>100)
  1475.         theWidth=entrybox('<HR> Enter the width', '/Enter/Cancel/Abort', theWidth, , 255)
  1476.         if upcase(theWidth)=='3' then
  1477.             return
  1478.         endif
  1479.     enddo
  1480.     if upcase(leftstr(theAlign, 5)) == 'AUTO_' then
  1481.         theAlign=rightstr(theAlign, length(theAlign)-5)
  1482.     else
  1483.         parse value listbox('<HR> Choose an alignment', upcase(theAlign), '/Enter/None/Abort', 0,0,3,,atoi(0)||atoi(1)||atoi(1)||atoi(0)) with button 2 theAlign \0
  1484.         if (button=\0)|(button=\3) then
  1485.             return
  1486.         endif
  1487.         if button=\2 then
  1488.             theAlign=''
  1489.         endif
  1490.     endif
  1491.     keyin Currentcase('<HR')
  1492.     if (theSize /== '') then
  1493.         keyin Currentcase(' SIZE='theSize)
  1494.     endif
  1495.     if theWidth/=='' then
  1496.         keyin Currentcase(' WIDTH='theWidth'%')
  1497.     endif
  1498.     if (theAlign /== '') then
  1499.         keyin Currentcase(' ALIGN='theAlign)
  1500.     endif
  1501.     keyin '>'
  1502.  
  1503. defc Sample_tags =
  1504.     universal LastDone
  1505.     lastDone='Sample_tags'
  1506.     noArgTags('SAMP')
  1507.  
  1508. defc Script_tags =
  1509.     universal LastDone
  1510.     lastDone='Script_tags'
  1511.     Multiline_tags('SCRIPT')
  1512.  
  1513. defc Select_tags =
  1514.     universal LastDone
  1515.     lastDone='Select_tags'
  1516.     theName=''
  1517.     theSize=GetFileArrEl('SELECT_SIZE')
  1518.     do while theName ==''
  1519.         theName=entrybox('<SELECT> Enter the name','/Enter/Cancel/Abort', theName,,255)
  1520.     if upcase(theName)=='3' then
  1521.         return
  1522.     endif
  1523.     enddo
  1524.     if upcase(leftstr(theSize,5))=='AUTO_' then
  1525.         theSize = rightstr(theSize, length(theSize)-5)
  1526.     else
  1527.         theSize=entrybox('<SELECT> Enter the size','',Currentcase(theSize),,255)
  1528.     endif
  1529.     do while Valid_Number(theSize)=FALSE
  1530.         theSize=entrybox('<SELECT> Enter the size','', theSize,,255)
  1531.     enddo
  1532.     if upcase(theSize)=='#OOPS' then
  1533.         return
  1534.     endif
  1535.     keyin Currentcase('<SELECT NAME="')theName'"'
  1536.     if theSize /== '' then
  1537.         keyin Currentcase(' SIZE=')theSize
  1538.     endif
  1539.     keyin '>'
  1540.     insertline '', .line+1
  1541.     insertline Currentcase('<SELECT>'), .line+2
  1542.     .line=.line+1
  1543.     .col=1
  1544.  
  1545. defc Small_tags =
  1546.     universal LastDone
  1547.     lastDone='Small_tags'
  1548.     noArgTags('SMALL')
  1549.  
  1550. defc Strike_tags =
  1551.     universal LastDone
  1552.     lastDone='Strike_tags'
  1553.     noArgTags('STRIKE')
  1554.  
  1555. defc Strong_tags =
  1556.     universal LastDone
  1557.     lastDone='Strong_tag'
  1558.     noArgTags('STRONG')
  1559.  
  1560. defc Style_tags =
  1561.     universal LastDone
  1562.     lastDone='Style_tags'
  1563.     theType=GetFileArrEl('STYLE_TYPE')
  1564.     if upcase(leftstr(theType, 5)) == 'AUTO_' then
  1565.         theType=rightstr(theType, length(theType)-5)
  1566.     else
  1567.         theType=entrybox('<STYLE> enter the Type','',theType,,255)
  1568.     endif
  1569.     keyin currentCase('<STYLE')
  1570.     if theType /== '' then
  1571.         keyin currentCase(' TYPE="')theType'"'
  1572.     endif
  1573.     keyin '>'
  1574.     insertline '</STYLE>', .line+2
  1575.     .line=.line+1
  1576.     .col=1
  1577.  
  1578. defc Subscript_tags =
  1579.     universal LastDone
  1580.     lastDone='Subscript_tags'
  1581.     noArgTags('SUB')
  1582.  
  1583. defc Superscript_tags =
  1584.     universal LastDone
  1585.     lastDone='Superscript_tags'
  1586.     noArgTags('SUP')
  1587.  
  1588. defc Table_tags =
  1589.     universal LastDone
  1590.     lastDone='Table_tags'
  1591.     theBorder=GetFileArrEl('TABLE_BORDER')
  1592.     theCellpading=GetFileArrEl('TABLE_CELLPADDING')
  1593.     theCellspacing=GetFileArrEl('TABLE_CELLSPACING')
  1594.     if upcase(leftstr(theBorder, 5))=='AUTO_' then
  1595.         theBorder=rightstr(theBorder, length(theBorder)-5)
  1596.     else
  1597.         theBorder=entrybox('<TABLE> Enter the border width','',theBorder,,255)
  1598.     endif
  1599.     do while Valid_Number(theBorder)=FALSE
  1600.         theBorder=entrybox('<TABLE> Enter the border width','', theBorder,,255)
  1601.     enddo
  1602.     if upcase(theBorder)=='#OOPS' then
  1603.         return
  1604.     endif
  1605.     if upcase(leftstr(theCellpading,5))=='AUTO_' then
  1606.         theCellpading=rightstr(theCellpading, length(theCellpading)-5)
  1607.     else
  1608.         theCellpading=entrybox('<TABLE> Enter the cell pading', '', theCellpading,, 255)
  1609.     endif
  1610.     do while Valid_Number(theCellpading)=FALSE
  1611.         theCellpading=entrybox('<TABLE> Enter the cell pading', '', theCellpading,, 255)
  1612.     enddo
  1613.     if upcase(theCellpading)=='#OOPS' then
  1614.         return
  1615.     endif
  1616.     if upcase(leftstr(theCellspacing,5))=='AUTO_' then
  1617.         theCellspacing=rightstr(theCellspacing, length(theCellspacing)-5)
  1618.     else
  1619.         theCellspacing=entrybox('<TABLE> Enter the cell spacing', '', theCellspacing,, 255)
  1620.     endif
  1621.     do while Valid_Number(theCellspacing)=FALSE
  1622.         theCellspacing=entrybox('<TABLE> Enter the cell spacing', '', theCellspacing,, 255)
  1623.     enddo
  1624.     if upcase(theCellspacing)=='#OOPS' then
  1625.         return
  1626.     endif
  1627.     keyin Currentcase('<TABLE')
  1628.     if theBorder /=='' then
  1629.         keyin Currentcase(' BORDER='theBorder)
  1630.     endif
  1631.     if theCellspacing /== '' then
  1632.         keyin Currentcase(' CELLSPACING=')theCellspacing
  1633.     endif
  1634.     if theCellpading /=='' then
  1635.         keyin Currentcase(' CELLPADING=')theCellpading
  1636.     endif
  1637.     if theBorder < 1 then
  1638.         theBorder=''
  1639.     endif
  1640.     keyin '>'
  1641.     insertline '', .line+1
  1642.     insertline Currentcase('</TABLE>'), .line+2
  1643.     .line=.line+1
  1644.     .col=1
  1645.  
  1646. defc TableEntry_tags =
  1647.     universal LastDone
  1648.     lastDone='TableEntry_tags'
  1649.     Table_XX(CurrentCase('TD'))
  1650.  
  1651. defc TableHeading_tags =
  1652.     universal LastDone
  1653.     lastDone='TableHeading_tags'
  1654.     Table_XX(CurrentCase('TH'))
  1655.  
  1656. defc TableNewRow_tags =
  1657.     universal LastDone
  1658.     lastDone='TableNewRow_tags'
  1659.     theAlign=GetFileArrEl('TR_ALIGN')
  1660.     theValign=GetFileArrEl('TR_VALIGN')
  1661.     if theAlign='' then
  1662.         theAlign='/LEFT/RIGHT/CENTER'
  1663.         setFileArrEl('TR_ALIGN', theAlign)
  1664.     endif
  1665.     if theValign='' then
  1666.         theValign='/MIDDLE/TOP/BOTTOM'
  1667.         setFileArrEl('TR_VALIGN', theValign)
  1668.     endif
  1669.     if upcase(leftstr(theAlign, 5))=='AUTO_' then
  1670.         theAlign=rightstr(theAlign, length(theAlign)-5)
  1671.     else
  1672.         parse value listbox('<TR> Choose the horizontal alignment', upcase(theAlign), '/Enter/None/Abort', 0,0,3,,atoi(0)||atoi(1)||atoi(1)||atoi(0)) with button 2 theAlign \0
  1673.         if (button=\0)|(button=\3)then
  1674.             return
  1675.         endif
  1676.         if button=\2
  1677.             then theAlign=''
  1678.         endif
  1679.     endif
  1680.     if upcase(leftstr(theValign, 5))=='AUTO_' then
  1681.         theValign=rightstr(theValign, length(theValign)-5)
  1682.     else
  1683.         parse value listbox('<TR> Choose the vertical alignment', upcase(theValign), '/Enter/None/Abort', 0,0,3,,atoi(0)||atoi(1)||atoi(1)||atoi(0)) with button 2 theValign \0
  1684.         if (button=\0)|(button=\3) then
  1685.             return
  1686.         endif
  1687.         if button=\2 then
  1688.             theValign=''
  1689.         endif
  1690.     endif
  1691.     keyin Currentcase('<TR')
  1692.     if theAlign/=='' then
  1693.         keyin Currentcase(' ALIGN=')theAlign
  1694.     endif
  1695.     if theValign/=='' then
  1696.         keyin Currentcase(' VALIGN=')theValign
  1697.     endif
  1698.     keyin ('>')
  1699.  
  1700. defc Textarea_tags =
  1701.     universal LastDone
  1702.     lastDone='Textarea_tags'
  1703.     theName=''
  1704.     theCols=GetFileArrEl('TEXTAREA_COLS')
  1705.     theRows=GetFileArrEl('TEXTAREA_ROWS')
  1706.     do while theName ==''
  1707.         theName=entrybox('<TEXTAREA> Enter the name','/Enter/Cancel/Abort', theName,,255)
  1708.         if upcase(theName)=='3' then
  1709.             return
  1710.         endif
  1711.     enddo
  1712.     if upcase(leftstr(theCols, 5)) == 'AUTO_' then
  1713.         theCols=rightstr(theCols, length(theCols)-5)
  1714.     else
  1715.         theCols=entrybox('<TEXTAREA> Enter the number of columns','/Enter/Cancel/Abort',Currentcase(theCols),,255)
  1716.         if upcase(theCols)=='3' then
  1717.             return
  1718.         endif
  1719.     endif
  1720.     do while Valid_Number(theCols)=FALSE
  1721.         theCols=entrybox('<TEXTAREA> Enter the number oc columns','/Enter/Cancel/Abort', theCols,,255)
  1722.         if upcase(theCols)=='3' then
  1723.             return
  1724.         endif
  1725.     enddo
  1726.     if upcase(leftstr(theRows, 5)) == 'AUTO_' then
  1727.         theRows=rightstr(theRows, length(theRows)-5)
  1728.     else
  1729.         theRows=entrybox('<TEXTAREA> Enter the number of rows','',Currentcase(theRows),,255)
  1730.     endif
  1731.     do while Valid_Number(theRows)=FALSE
  1732.         theRows=entrybox('<TEXTAREA> Enter the number of rows','', theRows,,255)
  1733.     enddo
  1734.     if upcase(theRows)=='#OOPS' then
  1735.         return
  1736.     endif
  1737.     if check_mark_on_screen() then
  1738.         pbegin_mark()
  1739.     endif
  1740.     keyin Currentcase('<TEXTAREA NAME="')theName'"'
  1741.     if theCols /=='' then
  1742.         keyin Currentcase(' COLS='theCols)
  1743.     endif
  1744.     if theRows /=='' then
  1745.         keyin Currentcase(' ROWS='theRows)
  1746.     endif
  1747.     keyin '>'
  1748.     if check_mark_on_screen() then
  1749.         pend_mark()
  1750.         oldCol=.col
  1751.         left
  1752.         if .col=oldCol then
  1753.             .line=.line-1
  1754.             endline
  1755.         else
  1756.             right
  1757.             right
  1758.         endif
  1759.     endif
  1760.     keyin Currentcase('</TEXTAREA>')
  1761.     if check_mark_on_screen() then
  1762.         unmark
  1763.     else
  1764.         .col=.col-11
  1765.     endif
  1766.  
  1767. defc Teletype_tags =
  1768.     universal LastDone
  1769.     lastDone='Typewriter_tags'
  1770.     noArgTags('TT')
  1771.  
  1772. defc Underline_tags =
  1773.     universal LastDone
  1774.     lastDone='Underline_tags'
  1775.     noArgTags('U')
  1776.  
  1777. defc UnorderedList_tags =
  1778.     universal LastDone
  1779.     lastDone='UnorderedList_tags'
  1780.     theType=getFileArrEl('UL_TYPE')
  1781.     theCompact=getFileArrEl('UL_COMPACT')
  1782.     if theType ='' then
  1783.         theType='/DISC/SQUARE/CIRCLE'
  1784.         setFileArrEl('UL_TYPE', theType)
  1785.     endif
  1786.     if upcase(leftstr(theType, 5))=='AUTO_'then
  1787.         theType=rightstr(theType, length(theType)-5)
  1788.     else
  1789.         parse value listbox('<UL> Choose the Type', upcase(theType), '/Enter/None/Abort', 0,0,3,,atoi(0)||atoi(1)||atoi(1)||atoi(0)) with button 2 theType \0
  1790.         if (button=\0)|(button=\3) then
  1791.             return
  1792.         endif
  1793.         if button=\2 then
  1794.             theType=''
  1795.         endif
  1796.     endif
  1797.     if upcase(theCompact)=='AUTO_YES' then
  1798.         theCompact=MBID_YES
  1799.     elseif upcase(theCompact)=='AUTO_NO' then
  1800.         theCompact=MBID_NO
  1801.     else
  1802.         if upcase(theCompact)='YES' then
  1803.         theCompact=winmessagebox('COMPACT?', 'Is this a Compact list?', MB_YESNO + MB_DEFBUTTON1)
  1804.         else
  1805.         theCompact=winmessagebox('COMPACT?', 'Is this a Compact list?', MB_YESNO + MB_DEFBUTTON2)
  1806.         endif
  1807.     endif
  1808.     keyin currentcase('<UL')
  1809.     if theType/=='' then
  1810.         keyin currentcase(' TYPE=')theType
  1811.     endif
  1812.     if theCompact==MBID_YES then
  1813.         keyin currentCase(' COMPACT')
  1814.     endif
  1815.     keyin '>'
  1816.     insertline '', .line+1
  1817.     insertline currentcase('</UL>'), .line+2
  1818.     .line=.line+1
  1819.     beginline
  1820.  
  1821. defc Variable_tags =
  1822.     universal LastDone
  1823.     lastDone='Variable_tags'
  1824.     noArgTags('VAR')
  1825.  
  1826. ;----------------------------------Finishing Procs-----------------------------------------
  1827. defproc alignArgtags(tag)
  1828.     theAlign=getFileArrEl(tag'_ALIGN')
  1829.     if theAlign='' then
  1830.         theAlign='/LEFT/RIGHT/CENTER'
  1831.         setFileArrEl(tag'_ALIGN', theAlign)
  1832.     endif
  1833.     if upcase(leftstr(theAlign, 5)) == 'AUTO_' then
  1834.         theAlign=rightstr(theAlign, length(theAlign)-5)
  1835.     else
  1836.         parse value listbox('<'tag'> choose the alignment', upcase(theAlign), '/Enter/None/Abort', 0,0,3,,atoi(0)||atoi(1)||atoi(1)||atoi(0)) with button 2 theAlign \0
  1837.         if (button=\0)|(button=\3) then
  1838.             return
  1839.         endif
  1840.         if button=\2 then
  1841.             theAlign=''
  1842.         endif
  1843.     endif
  1844.     if check_mark_on_screen() then
  1845.         pbegin_mark()
  1846.     endif
  1847.     keyin currentcase('<'tag)
  1848.     if theAlign /== '' then
  1849.         keyin currentcase(' ALIGN="'theAlign'"')
  1850.     endif
  1851.     keyin '>'
  1852.     if check_mark_on_screen() then
  1853.         pend_mark()
  1854.         oldCol=.col
  1855.         left
  1856.         if .col=oldCol then
  1857.             .line=.line-1
  1858.             endline
  1859.         else
  1860.             right
  1861.             right
  1862.         endif
  1863.     endif
  1864.     keyin currentcase('</'tag'>')
  1865.     if check_mark_on_screen() then
  1866.         unmark
  1867.     else
  1868.         .col=.col-5
  1869.     endif
  1870.  
  1871.  
  1872.  
  1873. defproc Anchor_all(theLink, theName, theText)
  1874.     theRel=GetFileArrEl('A_REV')
  1875.     theRev=GetFileArrEl('A_REL')
  1876.     theTitle=getFileArrEl('A_TITLE')
  1877.     do while (theLink=='')&(theName=='')
  1878.  compile if HTML_IF_ARG_BLANK='exit'
  1879.         if (theLink=='')&(theName=='') then
  1880.             return
  1881.         endif
  1882.  compile endif
  1883.         theLink=entrybox('<A> Enter the link','/Enter/Cancel/Abort',theLink,,255)
  1884.         if theLink='' then
  1885.             return
  1886.         endif
  1887.         if theLink=='' then
  1888.             theName=entrybox('<A> Enter the name','/Enter/Cancel/Abort','',,255)
  1889.             if theName='3' then
  1890.                 return
  1891.             endif
  1892.         else
  1893.             theName=''
  1894.         endif
  1895.     enddo
  1896.     if upcase(leftstr(theTitle, 5)) == 'AUTO_' then
  1897.         theTitle=rightstr(theTitle, length(theTitle)-5)
  1898.     else
  1899.         theTitle=entrybox('<A> enter the Title','',theTitle,,255)
  1900.         if theTitle = '3' then
  1901.             return
  1902.         endif
  1903.     endif
  1904.     if theText='' then
  1905.         if not check_mark_on_screen() then
  1906.             theText=entrybox('<A> Enter the text','/Enter/Cancel/Abort','',,255)
  1907.             if theText='' then
  1908.                 return
  1909.             endif
  1910.         else
  1911.             theText=''
  1912.         endif
  1913.     else
  1914.         unmark
  1915.     endif
  1916.     if upcase(leftstr(theRev, 5))=='AUTO_' then
  1917.         theRev=rightstr(theRev, length(theRev)-5)
  1918.     else
  1919.         theRev=entrybox('<A> enter the "rev"','/Enter/Cancel/Abort',theRev,,255)
  1920.         if theRev='3' then
  1921.             return
  1922.         endif
  1923.     endif
  1924.     if upcase(leftstr(theRel, 5))=='AUTO_' then
  1925.         theRel=rightstr(theRel, length(theRel)-5)
  1926.     else
  1927.         theRel=entrybox('<A> enter the "rel"','/Enter/Cancel/Abort',theRel,,255)
  1928.         if theRel='3' then
  1929.             return
  1930.         endif
  1931.     endif
  1932.     if check_mark_on_screen() then
  1933.         pbegin_mark()
  1934.     endif
  1935.     keyin Currentcase('<A')
  1936.     if theLink /== '' then
  1937.         keyin Currentcase(' HREF="')theLink'"'
  1938.     endif
  1939.     if theName /== '' then
  1940.         keyin Currentcase(' NAME="')theName'"'
  1941.     endif
  1942.     if theRev/=='' then
  1943.         keyin Currentcase(' REV="')theRev'"'
  1944.     endif
  1945.     if theRel/=='' then
  1946.         keyin Currentcase(' REL="')theRel'"'
  1947.     endif
  1948.     if theTitle/=='' then
  1949.         keyin currentcase(' TITLE="')theTitle'"'
  1950.     endif
  1951.     keyin Currentcase('>')
  1952.     keyin theText
  1953.     if check_mark_on_screen() then
  1954.         pend_mark()
  1955.         oldCol=.col
  1956.         left
  1957.         if .col=oldCol then
  1958.             .line=.line-1
  1959.             endline
  1960.         else
  1961.             right
  1962.             right
  1963.         endif
  1964.     endif
  1965.     keyin Currentcase('</A>')
  1966.     if check_mark_on_screen() then
  1967.         unmark
  1968.     else
  1969.         if theText='' then
  1970.             .col=.col-4
  1971.         endif
  1972.     endif
  1973.  
  1974. defproc Image_all(src)
  1975.     theAlternate=GetFileArrEl('IMG_ALT')
  1976.     theAlign=GetFileArrEl('IMG_ALIGN')
  1977.     theHeight=GetFileArrEl('IMG_HEIGHT')
  1978.     theWidth=GetFileArrEl('IMG_WIDTH')
  1979.     theBorder=GetFileArrEl('IMG_BORDER')
  1980.     theHspace=GetFileArrEl('IMG_HSPACE')
  1981.     theVspace=GetFileArrEl('IMG_VSPACE')
  1982.     theIsmap=GetFileArrEl('IMG_ISMAP')
  1983.     theLowsrc=GetFileArrEl('IMG_LOWSRC')
  1984.     theUsemap=GetFileArrEl('IMG_USEMAP')
  1985.     theSource=src
  1986.     if theAlign='' then
  1987.         theAlign='/LEFT/RIGHT/TOP/MIDDLE/BOTTOM'
  1988.         setFileArrEl('IMG_ALIGN', theAlign)
  1989.     endif
  1990.     if upcase(leftstr(theAlternate, 5))=='AUTO_' then
  1991.         theAlternate=rightstr(theAlternate, length(theAlternate)-5)
  1992.     else
  1993.         theAlternate=entrybox('<IMG> Enter the alternate text','/Enter/Cancel/Abort',theAlternate,,255)
  1994.     endif
  1995.     if upcase(theAlternate)=='3' then
  1996.         return
  1997.     endif
  1998.     if upcase(leftstr(theHeight, 5))=='AUTO_' then
  1999.         theHeight=rightstr(theHeight, length(theHeight)-5)
  2000.     else
  2001.         theHeight=entrybox('<IMG> Enter the height','/Enter/Cancel/Abort',theHeight,,255)
  2002.         if upcase(theHeight)=='3' then
  2003.             return
  2004.         endif
  2005.     endif
  2006.     do while Valid_Number(theHeight)=FALSE
  2007.         theHeight=entrybox('<IMG> Enter the height', '/Enter/Cancel/Abort',theHeight , , 255)
  2008.         if upcase(theHeight)=='3' then
  2009.             return
  2010.         endif
  2011.     enddo
  2012.     if upcase(leftstr(theWidth, 5))=='AUTO_' then
  2013.         theWidth=rightstr(theWidth, length(theWidth)-5)
  2014.     else
  2015.         theWidth=entrybox('<IMG> Enter the width','/Enter/Cancel/Abort',theWidth,,255)
  2016.         if upcase(theWidth)=='3' then
  2017.             return
  2018.         endif
  2019.     endif
  2020.     do while Valid_Number(theWidth)=FALSE
  2021.         theWidth=entrybox('<IMG> Enter the width', '/Enter/Cancel/Abort', theWidth, , 255)
  2022.         if upcase(theWidth)=='3' then
  2023.             return
  2024.         endif
  2025.     enddo
  2026.     if upcase(leftstr(theAlign, 5))=='AUTO_' then
  2027.         theAlign=rightstr(theAlign, length(theAlign)-5)
  2028.     else
  2029.         parse value listbox('<IMG> Enter the Alignment', upcase(theAlign), '/Enter/None/Abort', 0,0,5,,atoi(0)||atoi(1)||atoi(1)||atoi(0)) with button 2 theAlign \0
  2030.         if (button=\0)|(button=\3) then
  2031.             return
  2032.         endif
  2033.         if button=\2 then
  2034.             theAlign=''
  2035.         endif
  2036.     endif
  2037.     if upcase(leftstr(theBorder, 5)) == 'AUTO_' then
  2038.         theBorder=rightstr(theBorder, length(theBorder)-5)
  2039.     else
  2040.         theBorder=entrybox('<IMG> Enter the border', '', theBorder,,255)
  2041.     endif
  2042.     do while Valid_Number(theBorder)=FALSE
  2043.         theBorder=entrybox('<IMG> Enter the border', '', theBorder,,255)
  2044.     enddo
  2045.     if upcase(theBorder)=='#OOPS' then
  2046.         return
  2047.     endif
  2048.     if upcase(leftstr(theHspace, 5)) == 'AUTO_' then
  2049.         theHspace=rightstr(theHspace, length(theHspace)-5)
  2050.     else
  2051.         theHspace=entrybox('<IMG> Enter the horizontal spacing', '', theHspace,,255)
  2052.     endif
  2053.     do while Valid_Number(theHspace)=FALSE
  2054.         theHspace=entrybox('<IMG> Enter the horizontal spacing', '', theHspace,,255)
  2055.     enddo
  2056.     if upcase(theHspace)=='#OOPS' then
  2057.         return
  2058.     endif
  2059.     if upcase(leftstr(theVspace, 5)) == 'AUTO_' then
  2060.         theVspace=rightstr(theVspace, length(theVspace)-5)
  2061.     else
  2062.         theVspace=entrybox('<IMG> Enter the vertical spacing', '', theVspace,,255)
  2063.     endif
  2064.     do while Valid_Number(theVspace)=FALSE
  2065.         theVspace=entrybox('<IMG> Enter the vertical spacing', '', theVspace,,255)
  2066.     enddo
  2067.     if upcase(theVspace)=='#OOPS' then
  2068.         return
  2069.     endif
  2070.     if upcase(leftstr(theLowsrc, 5))=='AUTO_' then
  2071.         theLowsrc=rightstr(theLowsrc, length(theLowsrc)-5)
  2072.     else
  2073.         theLowsrc=entrybox('<IMG> Enter the low resolution soruce', '/Enter/Cancel/Abort', theLowsrc, 70,255)
  2074.     endif
  2075.     if upcase(theLowsrc)=='3' then
  2076.         return
  2077.     endif
  2078.     if upcase(theIsmap)=='AUTO_YES' then
  2079.         theIsmap=MBID_YES
  2080.     elseif upcase(theIsmap)=='AUTO_NO' then
  2081.         theIsmap=MBID_NO
  2082.     else
  2083.         if upcase(theIsmap)='YES' then
  2084.         theIsmap= winmessagebox('ISMAP?', 'Is this image a map?', MB_YESNOCANCEL + MB_DEFBUTTON1)
  2085.         else
  2086.         theIsmap= winmessagebox('ISMAP?', 'Is this image a map?', MB_YESNOCANCEL + MB_DEFBUTTON2)
  2087.         endif
  2088.     endif
  2089.     if theIsmap=MBID_CANCEL then
  2090.         return
  2091.     endif
  2092.     if theIsmap=MBID_NO then
  2093.         if upcase(leftstr(theUsemap, 5)) =='AUTO_' then
  2094.             theUsemap=rightstr(theUsemap, length(theUsemap)-5)
  2095.         else
  2096.             theUsemap=entrybox('<IMG> Enter the map to use','/Enter/Cancel/Abort',theUsemap,,255)
  2097.             if theUsemap='3' then
  2098.                 return
  2099.             endif
  2100.         endif
  2101.     else
  2102.         theUsemap=''
  2103.     endif
  2104.     keyin Currentcase('<IMG SRC="')theSource'"'
  2105.     if theAlternate /== '' then
  2106.         keyin Currentcase(' ALT="')theAlternate'"'
  2107.     endif
  2108.     if theAlign /=='' then
  2109.         keyin Currentcase(' ALIGN=')theAlign
  2110.     endif
  2111.     if theHeight /== '' then
  2112.         keyin Currentcase(' HEIGHT=')theHeight
  2113.     endif
  2114.     if theWidth /== '' then
  2115.         keyin Currentcase(' WIDTH=')theWidth
  2116.     endif
  2117.     if theBorder /== '' then
  2118.         keyin ' BORDER='theBorder
  2119.     endif
  2120.     if theHspace /== '' then
  2121.         keyin ' HSPACE='theHspace
  2122.     endif
  2123.     if theVspace /== '' then
  2124.         keyin ' VSPACE='theVspace
  2125.     endif
  2126.     if theLowsrc /== '' then
  2127.         keyin ' LOWSRC="'theLowsrc'"'
  2128.     endif
  2129.     if theIsmap=MBID_YES then
  2130.         keyin ' ISMAP'
  2131.     endif
  2132.     if theUsemap /== '' then
  2133.         keyin ' USEMAP="'theUsemap'"'
  2134.     endif
  2135.     keyin '>'
  2136.  
  2137. defproc Multiline_tags(tag)
  2138.     keyin Currentcase('<'tag'>')
  2139.     insertline '', .line+1
  2140.     insertline Currentcase('</'tag'>'), .line+2
  2141.     .line=.line+1
  2142.     .col=1
  2143.  
  2144. defproc noArgTags(tag)
  2145.     if check_mark_on_screen() then
  2146.         pbegin_mark()
  2147.     endif
  2148.         keyin Currentcase('<'tag'>')
  2149.     if check_mark_on_screen() then
  2150.         pend_mark()
  2151.         oldCol=.col
  2152.         left
  2153.         if .col=oldCol then
  2154.             .line=.line-1
  2155.             endline
  2156.         else
  2157.             right
  2158.             right
  2159.         endif
  2160.     endif
  2161.             keyin Currentcase('</'tag'>')
  2162.     if check_mark_on_screen() then
  2163.         unmark
  2164.     else
  2165.         .col=.col-(length(tag)+3)
  2166.     endif
  2167.  
  2168. defproc Table_XX(tag)
  2169.     theColspan=GetFileArrEl(tag'_COLSPAN')
  2170.     theRowspan=GetFileArrEl(tag'_ROWSPAN')
  2171.     theAlign=GetFileArrEl(tag'_ALIGN')
  2172.     theValign=GetFileArrEl(tag'_VALIGN')
  2173.     theWrap=GetFileArrEl(tag'_WRAPING')
  2174.     theWidth=GetFileArrEl(tag'_WIDTH')
  2175.     theHeight=GetFileArrEl(tag'_HEIGHT')
  2176.     if theAlign='' then
  2177.         theAlign='/CENTER/LEFT/RIGHT'
  2178.         setFileArrEl(tag'_ALIGN', theAlign)
  2179.     endif
  2180.     if theValign='' then
  2181.         theValign='/MIDDLE/TOP/BOTTOM'
  2182.         setFileArrEl(tag'_VALIGN', theValign)
  2183.     endif
  2184.     if upcase(leftstr(theColspan, 5))=='AUTO_' then
  2185.         theColspan=rightstr(theColspan, length(theColspan)-5)
  2186.     else
  2187.         theColspan=entrybox('<'tag'> Enter the Colspan','',Currentcase(theColspan),30,255)
  2188.     endif
  2189.     do while Valid_Number(theColspan)=FALSE
  2190.         theColspan=entrybox('<'tag'> Enter the Colspan','', theColspan,30,255)
  2191.     enddo
  2192.     if upcase(theColspan)=='#OOPS' then
  2193.         return
  2194.     endif
  2195.     if upcase(leftstr(theRowspan, 5))=='AUTO_' then
  2196.         theRowspan=rightstr(theRowspan, length(theRowspan)-5)
  2197.     else
  2198.         theRowspan=entrybox('<'tag'> Enter the Rowspan', '',Currentcase(theRowspan),30,255)
  2199.     endif
  2200.     do while Valid_Number(theRowspan)=FALSE
  2201.         theRowspan=entrybox('<'tag'> Enter the Rowspan','', theRowspan,30,255)
  2202.     enddo
  2203.     if upcase(theRowspan)=='#OOPS' then
  2204.         return
  2205.     endif
  2206.     if upcase(leftstr(theWidth, 5))=='AUTO_' then
  2207.         theWidth=rightstr(theWidth, length(theWidth)-5)
  2208.     else
  2209.         theWidth=entrybox('<'tag'> Enter the Width', '/Enter/Cancel/Abort',Currentcase(theWidth),30,255)
  2210.         if upcase(theWidth)=='3' then
  2211.             return
  2212.         endif
  2213.     endif
  2214.     do while Valid_Number(theWidth)=FALSE
  2215.         theWidth=entrybox('<'tag'> Enter the Width','/Enter/Cancel/Abort', theWidth,30,255)
  2216.         if upcase(theWidth)=='3' then
  2217.             return
  2218.         endif
  2219.     enddo
  2220.     if upcase(leftstr(TheHeight, 5))=='AUTO_' then
  2221.         TheHeight=rightstr(TheHeight, length(TheHeight)-5)
  2222.     else
  2223.         TheHeight=entrybox('<'tag'> Enter the Width', '/Enter/Cancel/Abort',Currentcase(TheHeight),30,255)
  2224.         if upcase(TheHeight)=='3' then
  2225.             return
  2226.         endif
  2227.     endif
  2228.     do while Valid_Number(TheHeight)=FALSE
  2229.         TheHeight=entrybox('<'tag'> Enter the Width','/Enter/Cancel/Abort', TheHeight,30,255)
  2230.         if upcase(TheHeight)=='3' then
  2231.             return
  2232.         endif
  2233.     enddo
  2234.     if upcase(leftstr(theAlign, 5))=='AUTO_' then
  2235.         theAlign=rightstr(theAlign, length(theAlign)-5)
  2236.     else
  2237.         parse value listbox('<'tag'> Choose the horizontal alignment',upcase(theAlign), '/Enter/None/Abort', 0,0,3,,atoi(0)||atoi(1)||atoi(1)||atoi(0)) with button 2 theAlign \0
  2238.         if (button=\0)|(button=\3) then
  2239.             return
  2240.         endif
  2241.         if button=\2 then
  2242.             theAlign=''
  2243.         endif
  2244.     endif
  2245.     if upcase(leftstr(theValign, 5))=='AUTO_' then
  2246.         theValign=rightstr(theValign, length(theValign)-5)
  2247.     else
  2248.         parse value listbox('<'tag'> Choose the vertical alignment', upcase(theVAlign), '/Enter/None/Abort', 0,0,3,,atoi(0)||atoi(1)||atoi(1)||atoi(0)) with button 2 theValign \0
  2249.         if (button=\0)|(button=\3) then
  2250.             return
  2251.         endif
  2252.         if button=\2 then
  2253.             theValign=''
  2254.         endif
  2255.     endif
  2256.     if upcase(theWrap)=='AUTO_YES' then
  2257.         theWrap=MBID_YES
  2258.     elseif upcase(theWrap)=='AUTO_NO' then
  2259.         theWrap=MBID_NO
  2260.     else
  2261.         if upcase(theWrap)='NO' then
  2262.         theWrap= winmessagebox('Wraping?', 'Do you want to allow wraping within cells?', MB_YESNOCANCEL+MB_DEFBUTTON2)
  2263.         else
  2264.         theWrap= winmessagebox('Wraping?', 'Do you want to allow wraping within cells?', MB_YESNOCANCEL+MB_DEFBUTTON1)
  2265.         endif
  2266.     endif
  2267.     if theWrap=MBID_CANCEL then
  2268.         return
  2269.     endif
  2270.     if check_mark_on_screen() then
  2271.         pbegin_mark()
  2272.     endif
  2273.     keyin Currentcase('<'tag)
  2274.     if theColspan /=='' then
  2275.         keyin Currentcase(' COLSPAN='theColspan)
  2276.     endif
  2277.     if theRowspan /== '' then
  2278.         keyin Currentcase(' ROWSPAN='theRowspan)
  2279.     endif
  2280.     if theAlign /== '' then
  2281.         keyin Currentcase(' ALIGN='theAlign)
  2282.     endif
  2283.     if theValign /== '' then
  2284.         keyin Currentcase(' VALIGN='theValign)
  2285.     endif
  2286.     if theWidth /=='' then
  2287.         keyin Currentcase(' WIDTH='theWidth)
  2288.     endif
  2289.     if theHeight /=='' then
  2290.         keyin Currentcase(' HEIGHT='theHeight)
  2291.     endif
  2292.     if theWrap=MBID_NO then
  2293.         keyin Currentcase(' NOWRAP')
  2294.     endif
  2295.     keyin '>'
  2296.     if check_mark_on_screen() then
  2297.         pend_mark()
  2298.         oldCol=.col
  2299.         left
  2300.         if .col=oldCol then
  2301.             .line=.line-1
  2302.             endline
  2303.         else
  2304.             right
  2305.             right
  2306.         endif
  2307.     endif
  2308.         keyin Currentcase('</'tag'>')
  2309.     if check_mark_on_screen() then
  2310.         unmark
  2311.     else
  2312.         .col=.col-5
  2313.     endif
  2314.  
  2315. ;                                    Interface stuff----------
  2316. defc case_toggle
  2317.     universal kase
  2318.     if kase=0 then
  2319.         kase=1
  2320.         sayerror 'Upper case'
  2321.         return
  2322.         
  2323.     else
  2324.         kase=0
  2325.         sayerror 'Lower case'
  2326.         return
  2327.     endif
  2328.  
  2329. defproc Currentcase(theString)
  2330.     universal kase
  2331.     if kase=1 then
  2332.         return upcase(theString)
  2333.     else
  2334.         return lowcase(theString)
  2335.     endif
  2336.  
  2337. defc ClearDefaultArgs =
  2338.     arrayID=.userstring
  2339.     val=''
  2340.     argsLine=translate(TagsListAll, ' ', '/')
  2341.     x=1
  2342.     elName=word(argsLine, x)
  2343.     do while elName/==''
  2344.         x=x+1
  2345.         do_array 2, arrayID, elName, val
  2346.         elName=word(argsLine, x)
  2347.     enddo
  2348.     sayerror 'Defaults cleared'
  2349.  
  2350.  
  2351. defproc getFileArrEl(stem)
  2352.     arrayID=.userstring
  2353.     do_array 7, arrayID, stem, val
  2354.     return val
  2355.  
  2356. defc Last_Tag
  2357.     universal lastDone
  2358.     lastDone
  2359.  
  2360. defproc loadFileArrEl(elName)
  2361.     arrayID=.userstring
  2362.     val=get_EAT_ASCII_value(elName)
  2363.     do_array 2, arrayID, elName, val
  2364.  
  2365. defc loadFileArr
  2366.     argsLine=translate(TagsListAll, ' ', '/')
  2367.     x=1
  2368.     elName=word(argsLine, x)
  2369.     do while elName/==''
  2370.         LoadFileArrEl(elName)
  2371.         x=x+1
  2372.         elName=word(argsLine, x)
  2373.     enddo
  2374.     sayerror 'Defaults loaded'
  2375.  
  2376.  
  2377. defc saveFileArr
  2378.     argsLine=translate(TagsListAll, ' ', '/')
  2379.     x=1
  2380.     elName=word(argsLine, x)
  2381.     do while elName/==''
  2382.         SaveFileArrEl(elName)
  2383.         x=x+1
  2384.         elName=word(argsLine, x)
  2385.     enddo
  2386.     sayerror 'Defaults saved'
  2387.  
  2388. defproc saveFileArrEl(elName)
  2389.     arrayID=.userstring
  2390.     do_array 7, arrayID, elName, val
  2391.     OldVal=get_EAT_ASCII_VALUE(elName)
  2392.     if (val/==Oldval) then
  2393.         delete_ea(elName)
  2394.         'rx updateea F_FILE='.filename' EL_NAME='elName' EL_VAL='val'_END'
  2395.         'add_ea 'elName' 'val
  2396.     elseif (length(val)=0)&(length(oldval)>0) then
  2397.         winmessagebox('', 'Oldval='oldval' val='val, MB_OK)
  2398.     endif
  2399.  
  2400. defc SetDefaultArgs =
  2401.     parse value listbox('Chose the tag arguement do default', TagsListAll, '/Enter/Abort', 0,0,10,,atoi(0)||atoi(1)||atoi(1)||atoi(0)) with button 2 EA_to_set \0
  2402.     if (button=\0)|(button=\2) then
  2403.         return
  2404.     endif
  2405.     oldValue=GetFileArrEl(EA_to_set)
  2406.     if EA_to_set == 'CAPTION_ALIGN' then
  2407.         parse value listbox('Choose the default <CAPTION> alignment', '/TOP/BOTTOM/AUTO_TOP/AUTO_BOTOM/AUTO_', '/Enter/Abort', 0,0,5,,atoi(0)||atoi(1)||atoi(1)||atoi(0)) with button 2 EA_Value \0
  2408.         if (button=\0)|(button=\2) then
  2409.             return
  2410.         endif
  2411.         if EA_value == 'BOTTOM' then
  2412.             setFileArrEl(EA_to_set,' /BOTOM/TOP')
  2413.             return
  2414.         elseif EA_value == 'AUTO_TOP' then
  2415.             setFileArrEl(EA_to_set, 'AUTO_TOP')
  2416.             return
  2417.         elseif EA_value == 'AUTO_BOTOM' then
  2418.             setFileArrEl(EA_to_set, 'AUTO_BOTOM')
  2419.             return
  2420.         elseif EA_value == 'AUTO_' then
  2421.             setFileArrEl(EA_to_set, 'AUTO_')
  2422.             return
  2423.         else
  2424.             setFileArrEl(EA_to_set, '/TOP/BOTOM')
  2425.             return
  2426.         endif
  2427.     elseif EA_to_set == 'UL_TYPE' then
  2428.         parse value listbox('<OL> Choose the type' ,'/DISC/SQUARE/CIRCLE/AUTO_DISC/AUTO_SQUARE/AUTO_CIRCLE/AUTO_', '/Enter/Abort', 0,0,5,,atoi(0)||atoi(1)||atoi(1)||atoi(0)) with button 2 EA_Value \0
  2429.         if (button=\0)|(button=\2) then
  2430.             return
  2431.         endif
  2432.         if upcase(leftstr(EA_value,5))=='AUTO_' then
  2433.             setFileArrEl(EA_to_set, EA_value)
  2434.         elseif EA_value=='SQUARE' then
  2435.             setFileArrEl(EA_to_set, '/SQUARE/CIRCLE/DISC')
  2436.         elseif EA_value=='CIRCLE' then
  2437.             setFileArrEl(EA_to_set, '/CIRCLE/DISC/SQUARE')
  2438.         else
  2439.             setFileArrEl(EA_to_set, '/DISC/SQUARE/CIRCLE')
  2440.         endif
  2441.     elseif EA_to_set == 'OL_TYPE' then
  2442.         parse value listbox('<OL> Choose the type' ,'/1/a/A/i/I/AUTO_1/AUTO_a/AUTO_A/AUTO_i/AUTO_I/AUTO_/', '/Enter/Abort', 0,0,5,,atoi(0)||atoi(1)||atoi(1)||atoi(0)) with button 2 EA_Value \0
  2443.         if (button=\0)|(button=\2) then
  2444.             return
  2445.         endif
  2446.         if upcase(leftstr(EA_value,5))=='AUTO_' then
  2447.             setFileArrEl(EA_to_set, EA_value)
  2448.         elseif EA_value=='a' then
  2449.             setFileArrEl(EA_to_set, '/a/A/i/I/1')
  2450.         elseif EA_value=='A' then
  2451.             setFileArrEl(EA_to_set, '/A/i/I/1/a')
  2452.         elseif EA_value=='i' then
  2453.             setFileArrEl(EA_to_set, '/i/I/1/a/A')
  2454.         elseif EA_value=='I' then
  2455.             setFileArrEl(EA_to_set, '/I/1/a/A/i')
  2456.         else
  2457.             setFileArrEl(EA_to_set, '/1/a/A/i/I')
  2458.         endif
  2459.     elseif EA_to_set == 'BR_CLEAR' then
  2460.         parse value listbox('Choose the default <BR> CLEAR' ,'/LEFT/RIGHT/ALL/NONE/AUTO_LEFT/AUTO_RIGHT/AUTO_ALL/AUTO_NONE/AUTO_', '/Enter/Abort', 0,0,5,,atoi(0)||atoi(1)||atoi(1)||atoi(0)) with button 2 EA_Value \0
  2461.         if (button=\0)|(button=\2) then
  2462.             return
  2463.         endif
  2464.         if upcase(leftstr(EA_value, 5)) == 'AUTO_' then
  2465.             setFileArrEl(EA_to_set, EA_value)
  2466.         elseif EA_value == 'RIGHT' then
  2467.             setFileArrEl(EA_to_set, '/RIGHT/ALL/NONE/LEFT')
  2468.         elseif EA_value == 'ALL' then
  2469.             setFileArrEl(EA_to_set, '/ALL/NONE/LEFT/RIGHT')
  2470.         elseif EA_value == 'NONE' then
  2471.             setFileArrEl(EA_to_set, '/NONE/LEFT/RIGHT/ALL')
  2472.         else
  2473.             setFileArrEl(EA_to_set, '/LEFT/RIGHT/ALL/NONE')
  2474.         endif
  2475.     elseif EA_to_set == 'APPLET_ALIGN' then
  2476.         parse value listbox('Choose the default <APPLET> alignment', '/LEFT/RIGHT/TOP/BOTTOM/MIDDLE/AUTO_LEFT/AUTO_RIGHT/AUTO_TOP/AUTO_BOTTOM/AUTO_MIDDLE', '/Enter/Abort', 0,0,5,,atoi(0)||atoi(1)||atoi(1)||atoi(0)) with button 2 EA_Value \0
  2477.         if (button=\0)|(button=\2) then
  2478.             return
  2479.         endif
  2480.         if EA_value == 'RIGHT' then
  2481.             setFileArrEl(EA_to_set, '/RIGHT/TOP/BOTTOM/MIDDLE/LEFT')
  2482.         elseif EA_value == 'TOP' then
  2483.             setFileArrEl(EA_to_set, '/TOP/BOTTOM/MIDDLE/LEFT/RIGHT')
  2484.         elseif EA_value == 'BOTTOM' then
  2485.             setFileArrEl(EA_to_set, '/BOTTOM/MIDDLE/LEFT/RIGHT/TOP')
  2486.         elseif EA_value == 'MIDDLE' then
  2487.             setFileArrEl(EA_to_set, '/MIDDLE/LEFT/RIGHT/TOP/BOTTOM')
  2488.         elseif upcase(leftstr(EA_value, 5)) =='AUTO_' then
  2489.             setFileArrEl(EA_to_set, EA_value)
  2490.         else
  2491.             setFileArrEl(EA_to_set, '/LEFT/RIGHT/TOP/BOTTOM/MIDDLE')
  2492.         endif
  2493.     elseif EA_to_set == 'AREA_SHAPE' then
  2494.         parse value listbox('Choose the default <AREA> shape', '/RECT/CIRCLE/POLY/DEFAULT/AUTO_RECT/AUTO_CIRCLE/AUTO_POLY/AUTO_DEFAULT', '/Enter/Abort', 0,0,5,,atoi(0)||atoi(1)||atoi(1)||atoi(0)) with button 2 EA_Value \0
  2495.         if (button=\0)|(button=\2) then
  2496.             return
  2497.         endif
  2498.         if EA_value == 'CIRCLE' then
  2499.             setFileArrEl(EA_to_set, '/CIRCLE/POLY/DEFAULT/RECT')
  2500.         elseif EA_value == 'POLY' then
  2501.             setFileArrEl(EA_to_set, '/POLY/DEFAULT/RECT/CIRCLE')
  2502.         elseif EA_value == 'DEFAULT' then
  2503.             setFileArrEl(EA_to_set, '/DEFAULT/RECT/CIRCLE/POLY')
  2504.         elseif upcase(leftstr(EA_value, 5)) =='AUTO_' then
  2505.             setFileArrEl(EA_to_set, EA_value)
  2506.         else
  2507.             setFileArrEl(EA_to_set, '/RECT/CIRCLE/POLY/DEFAULT')
  2508.         endif
  2509.     elseif EA_to_set == 'DEFAULT_PATH' then
  2510.         EA_value=entrybox('Enter the default path','','',,255)
  2511.         if EA_value /== '' then
  2512.             if GetFileArrEl('A_REV') == '' then
  2513.                 setFileArrEl('A_REL', EA_value)
  2514.             endif
  2515.             if GetFileArrEl('A_REV') == '' then
  2516.                 setFileArrEl('A_REL', EA_value)
  2517.             endif
  2518.             if GetFileArrEl('A_LINK') == '' then
  2519.                 setFileArrEl('A_LINK', EA_value)
  2520.             endif
  2521.             if GetFileArrEl('APPLET_CODE') == '' then
  2522.                 setFileArrEl('APPLET_CODE', EA_value)
  2523.             endif
  2524.             if GetFileArrEl('FORM_ACTION') == '' then
  2525.                 setFileArrEl('FORM_ACTION', EA_value)
  2526.             endif
  2527.             if GetFileArrEl('IMG_SOURCE') == '' then
  2528.                 setFileArrEl('IMG_SOURCE', EA_value)
  2529.             endif
  2530.             if GetFileArrEl('LINK_LINK') == '' then
  2531.                 setFileArrEl('LINK_LINK', EA_value)
  2532.             endif
  2533.             if GetFileArrEl('INPUT_IMAGE_SOURCE') == '' then
  2534.                 setFileArrEl('INPUT_IMAGE_SOURCE', EA_value)
  2535.             endif
  2536.             if GetFileArrEl('FRAME_SOURCE') == '' then
  2537.                 setFileArrEl('FRAME_SOURCE', EA_value)
  2538.             endif
  2539.         endif
  2540.     elseif EA_to_set == 'FORM_METHOD' then
  2541.         parse value listbox('Choose the default <FORM> method', '/GET/POST/AUTO_GET/AUTO_POST', '/Enter/Abort', 0,0,5,,atoi(0)||atoi(1)||atoi(1)||atoi(0)) with button 2 EA_Value \0
  2542.         if (button=\0)|(button=\2) then
  2543.             return
  2544.         endif
  2545.         if upcase(leftstr(EA_value, 5)) == 'AUTO_' then
  2546.             setFileArrEl(EA_to_set, EA_value)
  2547.             return
  2548.         elseif EA_value =='POST' then
  2549.             setFileArrEl(EA_to_set, '/POST/GET')
  2550.             return
  2551.         else
  2552.             setFileArrEl(EA_to_set, '/GET/POST')
  2553.             return
  2554.         endif
  2555.     elseif EA_to_set == 'FRAME_SCROLLING' then
  2556.         parse value listbox('<FRAME_SCROLLING>','/YES/NO/AUTO/AUTO_YES/AUTO_NO/AUTO_AUTO/AUTO_', '/Enter/Abort', 0,0,5,,atoi(0)||atoi(1)||atoi(1)||atoi(0)) with button 2 EA_Value \0
  2557.         if (button=\0)|(button=\2) then
  2558.             return
  2559.         endif
  2560.         if EA_value=='NO' then
  2561.             setFileArrEl(EA_to_set'/NO/AUTO/YES')
  2562.             return
  2563.         elseif EA_value=='AUTO' then
  2564.             setFileArrEl(EA_to_set'/AUTO/YES/NO')
  2565.             return
  2566.         elseif EA_value =='YES' then
  2567.             setFileArrEl(EA_to_set'/YES/NO/AUTO')
  2568.             return
  2569.         else
  2570.             setFileArrEl(EA_to_set, EA_value)
  2571.             return
  2572.         endif
  2573.     elseif (EA_to_set == 'IMG_ALIGN')|(EA_to_set == 'INPUT_IMAGE_ALIGN') then
  2574.         parse value listbox('Choose the default <IMG> alignment', '/TOP/MIDDLE/BOTTOM/LEFT/RIGHT/AUTO_TOP/AUTO_MIDDLE/AUTO_BOTTOM/AUTO_LEFT/AUTO_RIGHT/AUTO_', '/Enter/Abort', 0,0,11,,atoi(0)||atoi(1)||atoi(1)||atoi(0)) with button 2 EA_Value \0
  2575.         if (button=\0)|(button=\2) then
  2576.             return
  2577.         endif
  2578.         if upcase(leftstr(EA_Value, 5))=='AUTO_' then
  2579.             setFileArrEl(EA_to_set, EA_value)
  2580.         elseif EA_value == 'MIDDLE' then
  2581.             setFileArrEl(EA_to_set, '/MIDDLE/BOTTOM/LEFT/RIGHT/TOP')
  2582.             return
  2583.         elseif EA_value == 'BOTTOM' then
  2584.             setFileArrEl(EA_to_set, '/BOTTOM/LEFT/RIGHT/TOP/MIDDLE')
  2585.             return
  2586.         elseif EA_value == 'LEFT' then
  2587.             setFileArrEl(EA_to_set, '/LEFT/RIGHT/TOP/MIDDLE/BOTTOM')
  2588.             return
  2589.         elseif EA_value == 'RIGHT' then
  2590.             setFileArrEl(EA_to_set, '/RIGHT/TOP/MIDDLE/BOTTOM/LEFT')
  2591.             return
  2592.         else
  2593.             setFileArrEl(EA_to_set, '/TOP/MIDDLE/BOTTOM/LEFT/RIGHT')
  2594.             return
  2595.         endif
  2596.     elseif wordpos(EA_to_set, 'IMG_ISMAP IS_INDEX INPUT_CHECKBOX_CHECKED INPUT_RADIO_CHECKED FRAME_NORESIZE OL_COMPACT OL_COMPACT TD_WRAPING TH_WRAPING') then
  2597.         parse value listbox('Choose the default 'EA_to_set' value', '/YES/NO/AUTO_YES/AUTO_NO', '/Enter/Abort', 0,0,4,,atoi(0)||atoi(1)||atoi(1)||atoi(0)) with button 2 EA_Value \0
  2598.         if (button=\0)|(button=\2) then
  2599.             return
  2600.         endif
  2601.         setFileArrEl(EA_to_set, EA_value)
  2602.     elseif EA_to_set == 'INPUT_TYPE' then
  2603.         parse value listbox('Choose the default input type', '/CHECKBOX/HIDDEN/IMAGE/PASSWORD/RADIO/RESET/SUBMIT/TEXT/AUTO_CHECKBOX/AUTO_HIDDEN/AUTO_IMAGE/AUTO_PASSWORD/AUTO_RADIO/AUTO_RESET/AUTO_SUBMIT/AUTO_TEXT', '/Enter/Abort', 0,0,5,,atoi(0)||atoi(1)||atoi(1)||atoi(0)) with button 2 EA_Value \0
  2604.         if (button=\0)|(button=\2) then
  2605.             return
  2606.         endif
  2607.         if upcase(leftstr(EA_value, 5)) = 'AUTO_' then
  2608.             setFileArrEl(EA_to_set, EA_value)
  2609.         elseif EA_value == 'HIDDEN' then
  2610.             setFileArrEl(EA_to_set, '/HIDDEN/IMAGE/PASSWORD/RADIO/RESET/SUBMIT/TEXT/CHECKBOX')
  2611.             return
  2612.         elseif EA_value == 'IMAGE' then
  2613.             setFileArrEl(EA_to_set, '/IMAGE/PASSWORD/RADIO/RESET/SUBMIT/TEXT/CHECKBOX/HIDDEN')
  2614.             return
  2615.         elseif EA_value == 'PASSWORD' then
  2616.             setFileArrEl(EA_to_set, '/PASSWORD/RADIO/RESET/SUBMIT/TEXT/CHECKBOX/HIDDEN/IMAGE')
  2617.             return
  2618.         elseif EA_value == 'RADIO' then
  2619.             setFileArrEl(EA_to_set, '/RADIO/RESET/SUBMIT/TEXT/CHECKBOX/HIDDEN/IMAGE/PASSWORD')
  2620.             return
  2621.         elseif EA_value == 'RESET' then
  2622.             setFileArrEl(EA_to_set, '/RESET/SUBMIT/TEXT/CHECKBOX/HIDDEN/IMAGE/PASSWORD/RADIO')
  2623.             return
  2624.         elseif EA_value == 'SUBMIT' then
  2625.             setFileArrEl(EA_to_set, '/SUBMIT/TEXT/CHECKBOX/HIDDEN/IMAGE/PASSWORD/RADIO/RESET')
  2626.             return
  2627.         elseif EA_value == 'TEXT' then
  2628.             setFileArrEl(EA_to_set, '/TEXT/CHECKBOX/HIDDEN/IMAGE/PASSWORD/RADIO/RESET/SUBMIT')
  2629.         else
  2630.             setFileArrEl(EA_to_set, '/CHECKBOX/HIDDEN/IMAGE/PASSWORD/RADIO/RESET/SUBMIT/TEXT')
  2631.             return
  2632.         endif
  2633.     elseif wordpos(EA_to_set, 'P_ALIGN TD_ALIGN TR_ALIGN TH_ALIGN HR_ALIGN DIV_ALIGN H1_ALIGN H2_ALIGN H3_ALIGN H4_ALIGN H5_ALIGN H6_ALIGN') then
  2634.         parse value listbox('Choose the default 'EA_to_set' alignment', '/LEFT/RIGHT/CENTER/AUTO_LEFT/AUTO_RIGHT/AUTO_CENTER/AUTO_', '/Enter/Abort', 0,0,5,,atoi(0)||atoi(1)||atoi(1)||atoi(0)) with button 2 EA_Value \0
  2635.         if (button=\0)|(button=\2) then
  2636.             return
  2637.         endif
  2638.         if EA_value == 'RIGHT' then
  2639.             setFileArrEl(EA_to_set, '/RIGHT/CENTER/LEFT')
  2640.             return
  2641.         elseif EA_value == 'CENTER' then
  2642.             setFileArrEl(EA_to_set, '/CENTER/LEFT/RIGHT')
  2643.             return
  2644.         elseif EA_value == 'AUTO_LEFT' then
  2645.             setFileArrEl(EA_to_set, 'AUTO_LEFT')
  2646.             return
  2647.         elseif EA_value == 'AUTO_RIGHT' then
  2648.             setFileArrEl(EA_to_set, 'AUTO_RIGHT')
  2649.             return
  2650.         elseif EA_value == 'AUTO_CENTER' then
  2651.             setFileArrEl(EA_to_set, 'AUTO_CENTER')
  2652.             return
  2653.         elseif EA_value == 'AUTO_' then
  2654.             setFileArrEl(EA_to_set, 'AUTO_')
  2655.             return
  2656.         else
  2657.             setFileArrEl(EA_to_set, '/LEFT/RIGHT/CENTER')
  2658.             return
  2659.         endif
  2660.     elseif (EA_to_set == 'TR_VALIGN')|(EA_to_set == 'TD_VALIGN')|(EA_to_set == 'TH_VALIGN') then
  2661.         parse value listbox('Choose the default 'EA_to_set' vertical alignment', '/TOP/MIDDLE/BOTTOM/AUTO_TOP/AUTO_MIDDLE/AUTO_BOTTOM/AUTO_', '/Enter/Abort', 0,0,5,,atoi(0)||atoi(1)||atoi(1)||atoi(0)) with button 2 EA_Value \0
  2662.         if (button=\0)|(button=\2) then
  2663.             return
  2664.         endif
  2665.         if EA_value == 'AUTO_' then
  2666.             setFileArrEl(EA_to_set, 'AUTO_')
  2667.             return
  2668.         elseif EA_value == 'MIDDLE' then
  2669.             setFileArrEl(EA_to_set, '/MIDDLE/BOTTOM/TOP')
  2670.             return
  2671.         elseif EA_value == 'BOTTOM' then
  2672.             setFileArrEl(EA_to_set, '/BOTTOM/TOP/MIDDLE')
  2673.             return
  2674.         elseif EA_value == 'AUTO_TOP' then
  2675.             setFileArrEl(EA_to_set, EA_value)
  2676.             return
  2677.         elseif EA_value == 'AUTO_MIDDLE' then
  2678.             setFileArrEl(EA_to_set, EA_value)
  2679.             return
  2680.         elseif EA_value == 'AUTO_BOTTOM' then
  2681.             setFileArrEl(EA_to_set, EA_value)
  2682.         else
  2683.             setFileArrEl(EA_to_set, '/TOP/MIDDLE/BOTTOM')
  2684.             return
  2685.         endif
  2686.     else
  2687.         EA_value=entrybox('Enter the default value for 'EA_to_set,'',oldValue,,255)
  2688.         if EA_value /== '#OOPS' then
  2689.             setFileArrEl(EA_to_set, EA_value)
  2690.         endif
  2691.         return
  2692.     endif
  2693.  
  2694. defproc setFileArrEl(stem, val)
  2695.     arrayID=.userstring
  2696.     do_array 2, arrayID, stem, val
  2697.  
  2698. ;                                Drag & Drop
  2699. defc DRAGDROP_CLASS
  2700.     universal kase
  2701.     FullFile=arg(1)
  2702.     srcLine=translate(FullFile, '/', '\')
  2703.     uPath=getFileArrEl('U_PATH')
  2704.     uLen=length(uPath)
  2705.     if uPath==leftstr(srcLine, uLen) then
  2706.         theSource=rightstr(srcLine, length(srcLine)-uLen)
  2707.     else
  2708.         theSource=rightstr(srcLine, length(srcLine)-lastPos('/', srcLine))
  2709.     endif
  2710.     'rx AddApplet 'kase' 'FullFile' 'theSource
  2711.  
  2712. defc DRAGDROP_GIF
  2713.     universal kase
  2714.     if wordpos(filetype(), HTML_EXTENSIONS) then
  2715.         fpath=arg(1)
  2716.         srcLine=translate(fPath, '/', '\')
  2717.         uPath=getFileArrEl('U_PATH')
  2718.         uLen=length(uPath)
  2719.         if uPath==leftstr(srcLine, uLen) then
  2720.             theSource=rightstr(srcLine, length(srcLine)-uLen)
  2721.         else
  2722.             theSource=rightstr(srcLine, length(srcLine)-lastPos('/', srcLine))
  2723.         endif
  2724.         getline theLine
  2725.         'rx AddGif 'kase' '.col' F_FILE='fpath'F_TEXT='theSource'_LINE='theLine
  2726.     endif
  2727.  
  2728. defc DRAGDROP_JPG
  2729.     universal kase
  2730.     if wordpos(filetype(), HTML_EXTENSIONS) then
  2731.         fpath=arg(1)
  2732.         srcLine=translate(fPath, '/', '\')
  2733.         uPath=getFileArrEl('U_PATH')
  2734.         uLen=length(uPath)
  2735.         if uPath==leftstr(srcLine, uLen) then
  2736.             theSource=rightstr(srcLine, length(srcLine)-uLen)
  2737.         else
  2738.             theSource=rightstr(srcLine, length(srcLine)-lastPos('/', srcLine))
  2739.         endif
  2740.         getline theLine
  2741.         'rx AddJpg 'kase' '.col' F_FILE='fpath'F_TEXT='theSource'_LINE='theLine
  2742.     endif
  2743.  
  2744. defc DRAGDROP_XTML =
  2745.     universal kase
  2746.     if wordpos(filetype(), HTML_EXTENSIONS) then
  2747.         if winmessagebox('XTML File', 'Do you want to import (yes) this?', MB_YESNO) = MBID_YES then
  2748.             'get 'arg(1)
  2749.         else
  2750.             'e 'arg(1)
  2751.         endif
  2752.     else
  2753.         'e 'arg(1)
  2754.     endif
  2755.  
  2756. defc DRAGDROP_HTM, DRAGDROP_HTML, DRGDRPTYP_HTML =
  2757.     universal kase
  2758.     if wordpos(filetype(), HTML_EXTENSIONS) then
  2759.         HToption=''
  2760.         fString=arg(1)
  2761.         HToption=listbox('What to do with this file', Currentcase('/Load/Link'))
  2762.         if HToption=='' then
  2763.             return
  2764.         elseif HToption=='LOAD' then
  2765.             'e 'fString
  2766.         else
  2767.             uPath=translate(getFileArrEl('U_PATH'),'/','\')
  2768.             uString=translate(fstring,'/','\')
  2769.             if leftstr(uString, length(uPath))==uPath then
  2770.                 uString=rightstr(uString, length(uString)-length(uPath))
  2771.             else
  2772.                 uString=rightstr(uString, length(uSTring)-lastpos('/', uString))
  2773.             endif
  2774.         getline theLine
  2775.         'rx addhtml 'kase' '.col' F_FILE='fString'F_TEXT='uString'_LINE='theLine
  2776.         endif
  2777.     else
  2778.         'e 'arg(1)
  2779.     endif
  2780.  
  2781. defc DRGDRPTYP_URL, DRGDRPTYP_WEBEXPLORER_URL, DRGDRPTYP_UNIFORMRESOURCELOCATOR =
  2782.     universal kase
  2783.     if wordpos(filetype(), HTML_EXTENSIONS) then
  2784.         srcLine=arg(1)
  2785.         getline theLine
  2786.         'rx addURl 'kase' '.col' F_FILE='srcLine'_LINE='theLine
  2787. endif
  2788. ;                                Misc
  2789.  
  2790. defproc tabber
  2791.     newcol=.col
  2792.     getline line
  2793.     .line=.line+1
  2794.     getline nextline
  2795.     .line=.line-1
  2796.     if .col=length(line)+1 then
  2797.         .line=.line+1
  2798.         .col=1
  2799.         return
  2800.     endif
  2801.     line=rightstr(line ,length(line)-.col+1)
  2802.     do while length(line)>0
  2803.         linefrag=leftstr(line, 2)
  2804.         newcol=newcol+1
  2805.         if (linefrag=='><')or(linefrag=='=>')or(linefrag=='=%')or(linefrag=='""')or(linefrag=='= ')or(linefrag=='# ')or(linefrag=='#>') then
  2806.             .col=newcol
  2807.             return
  2808.         endif
  2809.         line=rightstr(line, length(line)-1)
  2810.     enddo
  2811.     endline
  2812.  
  2813. defproc back_tabber
  2814.     newcol=.col
  2815.     getline line
  2816.     .line=.line+1
  2817.     getline nextline
  2818.     .line=.line-1
  2819.     if .col=1 then
  2820.         .line=.line-1
  2821.         endline
  2822.         return
  2823.     endif
  2824.     line=leftstr(line ,.col-1)
  2825.     do while length(line)>0
  2826.         linefrag=rightstr(line, 2)
  2827.         newcol=newcol-1
  2828.         if (linefrag=='><')or(linefrag=='=>')or(linefrag=='=%')or(linefrag=='""')or(linefrag=='= ')or(linefrag=='# ')or(linefrag=='#>') then
  2829.             .col=newcol
  2830.             return
  2831.         endif
  2832.         line=leftstr(line, length(line)-1)
  2833.     enddo
  2834.     beginline
  2835.  
  2836. defproc Valid_Color(theString)
  2837.     if length(theString)=0 then
  2838.         return TRUE
  2839.     endif
  2840.     if length(theString) <> 6 then
  2841.         return FALSE
  2842.     endif
  2843.     testString=upcase(theString)
  2844.     do while length(testString) > 0
  2845.         testchar=leftstr(testString, 1)
  2846.         if    (testchar /== '0')&(testchar /== '1')&(testchar /== '2')&
  2847.             (testchar /== '3')&(testchar /== '4')&(testchar /== '5')&
  2848.             (testchar /== '6')&(testchar /== '7')&(testchar /== '8')&
  2849.             (testchar /== '9')&(testchar /== 'A')&(testchar /== 'B')&
  2850.             (testchar /== 'C')&(testchar /== 'D')&(testchar /== 'E')&
  2851.             (testchar /== 'F') then
  2852.             return FALSE
  2853.         endif
  2854.         if length(testString)=1 then
  2855.             return TRUE
  2856.         endif
  2857.         testString=rightstr(testString, length(testString)-1)
  2858.     enddo
  2859.     return TRUE
  2860.  
  2861. defproc Valid_Number(theString)
  2862.     if upcase(theString)=='#OOPS' then
  2863.         return TRUE
  2864.     endif
  2865.     if length(theString)=0 then
  2866.         return TRUE
  2867.     endif
  2868.     testString=theString
  2869.     do while length(testString) > 0
  2870.         testchar=leftstr(testString, 1)
  2871.         if    (testchar /== '0')&(testchar /== '1')&(testchar /== '2')&
  2872.             (testchar /== '3')&(testchar /== '4')&(testchar /== '5')&
  2873.             (testchar /== '6')&(testchar /== '7')&(testchar /== '8')&
  2874.             (testchar /== '9') then
  2875.             return FALSE
  2876.         endif
  2877.         if length(testString)=1 then
  2878.             return TRUE
  2879.         endif
  2880.         testString=rightstr(testString, length(testString)-1)
  2881.     enddo
  2882.     return TRUE
  2883.  
  2884. defproc Valid_Number2(theString)
  2885.     if upcase(theString)=='#OOPS' then
  2886.         return TRUE
  2887.     endif
  2888.     if length(theString)=0 then
  2889.         return FALSE
  2890.     endif
  2891.     testString=theString
  2892.     do while length(testString) > 0
  2893.         testchar=leftstr(testString, 1)
  2894.         if    (testchar /== '0')&(testchar /== '1')&(testchar /== '2')&
  2895.             (testchar /== '3')&(testchar /== '4')&(testchar /== '5')&
  2896.             (testchar /== '6')&(testchar /== '7')&(testchar /== '8')&
  2897.             (testchar /== '9') then
  2898.             return FALSE
  2899.         endif
  2900.         if length(testString)=1 then
  2901.             return TRUE
  2902.         endif
  2903.         testString=rightstr(testString, length(testString)-1)
  2904.     enddo
  2905.     return TRUE
  2906.  
  2907. defproc Valid_Number3(theString)
  2908.     if upcase(theString)=='#OOPS' then
  2909.         return TRUE
  2910.     endif
  2911.     if length(theString)>2 then
  2912.         return FALSE
  2913.     endif
  2914.     testString=theString
  2915.     do while length(testString) > 0
  2916.         testchar=leftstr(testString, 1)
  2917.         if    (testchar /== '0')&(testchar /== '1')&(testchar /== '2')&
  2918.             (testchar /== '3')&(testchar /== '4')&(testchar /== '5')&
  2919.             (testchar /== '6')&(testchar /== '7')&(testchar /== '8')&
  2920.             (testchar /== '9')&(testchar /== '+')&(testchar /== '-') then
  2921.             return FALSE
  2922.         endif
  2923.         if length(testString)=1 then
  2924.             return TRUE
  2925.         endif
  2926.         testString=rightstr(testString, length(testString)-1)
  2927.     enddo
  2928.     return TRUE
  2929.  
  2930. defproc Valid_Number4(theString)
  2931.     if upcase(theString)=='#OOPS' then
  2932.         return TRUE
  2933.     endif
  2934.     if length(theString)=0 then
  2935.         return FALSE
  2936.     endif
  2937.     testString=theString
  2938.     do while length(testString) > 0
  2939.         testchar=leftstr(testString, 1)
  2940.         if    (testchar /== '0')&(testchar /== '1')&(testchar /== '2')&
  2941.             (testchar /== '3')&(testchar /== '4')&(testchar /== '5')&
  2942.             (testchar /== '6')&(testchar /== '7')&(testchar /== '8')&
  2943.             (testchar /== '9')&(testchar /== '*')&(testchar /== ',')&
  2944.             (testchar /== '%')&(testchar /== ' ') then
  2945.             return FALSE
  2946.         endif
  2947.         if length(testString)=1 then
  2948.             return TRUE
  2949.         endif
  2950.         testString=rightstr(testString, length(testString)-1)
  2951.     enddo
  2952.     return TRUE
  2953.  
  2954.  compile if HTML_URL_KLUDGE=1
  2955. defc check_if_url
  2956.     universal URLline, kase
  2957.     if .last >1  then
  2958.         return
  2959.     else
  2960.         URLline=textline(1)
  2961.         URLtitle=.filename
  2962.         if URLcheck(URLline) then
  2963.             'quit'
  2964.         getline theLine
  2965.         'rx addUrl 'kase' '.col' F_FILE='URLtitle'_LINE='theLine
  2966.         endif
  2967.     endif
  2968.  
  2969.  
  2970. defselect
  2971.     'check_if_url'
  2972.  
  2973. defproc URLCheck(cString)
  2974.     if upcase(leftstr(cString, 7))=='HTTP://' then
  2975.         return true
  2976.     elseif upcase(leftstr(cString, 6))=='FTP://' then
  2977.         return true
  2978.     elseif upcase(leftstr(cString, 7))=='WAIS://' then
  2979.         return true
  2980.     elseif upcase(leftstr(cString, 9))=='GOPHER://' then
  2981.         return true
  2982.     elseif upcase(leftstr(cString, 9))=='TELNET://' then
  2983.         return true
  2984.     elseif upcase(leftstr(cString, 5))=='NEWS:' then
  2985.         return true
  2986.     elseif upcase(leftstr(cString, 7))=='MAILTO:' then
  2987.         return true
  2988.     else
  2989.         return false
  2990.     endif
  2991.  compile endif
  2992.  
  2993. defproc addHTMLmenu
  2994.     universal defaultmenu
  2995.     deletemenu defaultmenu, 6, 0, 0  -- delete the existing Help menu (we want it to stay at the right)
  2996.     buildsubmenu defaultmenu, 900, 'HTML', '',0,0
  2997.     buildmenuitem defaultmenu, 900, 40001, NEW_FILE_TAGS_MENU_MSG\9NEW_FILE_TAGS_KEY_MSG, NEW_FILE_TAGS_ACTION\1NEW_FILE_TAGS_BAR_MSG ,0, 0
  2998.     buildmenuitem defaultmenu, 900, 40002, NEWPAGE_TAGS_MENU_MSG\9NEWPAGE_TAGS_KEY_MSG, NEWPAGE_TAGS_ACTION\1NEWPAGE_TAGS_BAR_MSG ,0, 0
  2999.     buildmenuitem defaultmenu, 900, 41000, HEAD_SUB_MENU_MSG\9HEAD_SUB_KEY_MSG, HEAD_SUB_ACTION\1HEAD_SUB_BAR_MSG, 17, 0
  3000.         buildmenuitem defaultmenu, 900, 41001, LINK_TAGS_MENU_MSG\9LINK_TAGS_KEY_MSG, LINK_TAGS_ACTION\1LINK_TAGS_BAR_MSG,0,0
  3001.         buildmenuitem defaultmenu, 900, 41002, META_TAGS_MENU_MSG\9META_TAGS_KEY_MSG, META_TAGS_ACTION\1META_TAGS_BAR_MSG,0,0
  3002.         buildmenuitem defaultmenu, 900, 41003, STYLE_TAGS_MENU_MSG\9STYLE_TAGS_KEY_MSG, STYLE_TAGS_ACTION\1STYLE_TAGS_BAR_MSG,32769,0
  3003.     buildmenuitem defaultmenu, 900, 42000, FORMATING_SUB_MENU_MSG\9FORMATING_SUB_KEY_MSG, FORMATING_SUB_ACTION\1FORMATING_SUB_BAR_MSG,17,0
  3004.         buildmenuitem defaultmenu, 900, 42100, BLOCKLEVEL_TAGS_MENU_MSG\9BLOCKLEVEL_TAGS_KEY_MSG, BLOCKLEVEL_TAGS_ACTION\1BLOCKLEVEL_TAGS_BAR_MSG,17,0
  3005.             buildmenuitem defaultmenu, 900, 42101, ADDRESS_TAGS_MENU_MSG\9ADDRESS_TAGS_KEY_MSG, ADDRESS_TAGS_ACTION\1ADDRESS_TAGS_BAR_MSG,0,0
  3006.             buildmenuitem defaultmenu, 900, 42102, BLOCKQUOTE_TAGS_MENU_MSG\9BLOCKQUOTE_TAGS_KEY_MSG, BLOCKQUOTE_TAGS_ACTION\1BLOCKQUOTE_TAGS_BAR_MSG,0,0
  3007.             buildmenuitem defaultmenu, 900, 42103, CENTER_TAGS_MENU_MSG\9CENTER_TAGS_KEY_MSG, CENTER_TAGS_ACTION\1CENTER_TAGS_BAR_MSG,0,0
  3008.             buildmenuitem defaultmenu, 900, 42104, DIVISION_TAGS_MENU_MSG\9DIVISION_TAGS_KEY_MSG, DIVISION_TAGS_ACTION\1DIVISION_TAGS_BAR_MSG,0,0
  3009.             buildmenuitem defaultmenu, 900, 42105, H1_TAGS_MENU_MSG\9H1_TAGS_KEY_MSG, H1_TAGS_ACTION\1H1_TAGS_BAR_MSG,0,0
  3010.             buildmenuitem defaultmenu, 900, 42106, H2_TAGS_MENU_MSG\9H2_TAGS_KEY_MSG, H2_TAGS_ACTION\1H2_TAGS_BAR_MSG,0,0
  3011.             buildmenuitem defaultmenu, 900, 42107, H3_TAGS_MENU_MSG\9H3_TAGS_KEY_MSG, H3_TAGS_ACTION\1H3_TAGS_BAR_MSG,0,0
  3012.             buildmenuitem defaultmenu, 900, 42108, H4_TAGS_MENU_MSG\9H4_TAGS_KEY_MSG, H4_TAGS_ACTION\1H4_TAGS_BAR_MSG,0,0
  3013.             buildmenuitem defaultmenu, 900, 42109, H5_TAGS_MENU_MSG\9H5_TAGS_KEY_MSG, H5_TAGS_ACTION\1H5_TAGS_BAR_MSG,0,0
  3014.             buildmenuitem defaultmenu, 900, 52100, H6_TAGS_MENU_MSG\9H6_TAGS_KEY_MSG, H6_TAGS_ACTION\1H6_TAGS_BAR_MSG,0,0
  3015.             buildmenuitem defaultmenu, 900, 52101, RULE_TAGS_MENU_MSG\9RULE_TAGS_KEY_MSG, RULE_TAGS_ACTION\1RULE_TAGS_BAR_MSG,0,0
  3016.             buildmenuitem defaultmenu, 900, 52102, PARAGRAPH_TAGS_MENU_MSG\9PARAGRAPH_TAGS_KEY_MSG, PARAGRAPH_TAGS_ACTION\1PARAGRAPH_TAGS_BAR_MSG,0,0
  3017.             buildmenuitem defaultmenu, 900, 52103, PREFORMATED_TAGS_MENU_MSG\9PREFORMATED_TAGS_KEY_MSG, PREFORMATED_TAGS_ACTION\1PREFORMATED_TAGS_BAR_MSG,32769,0
  3018.         buildmenuitem defaultmenu, 900, 42200, TEXTLEVEL_SUB_MENU_MSG\9TEXTLEVEL_SUB_KEY_MSG, TEXTLEVEL_SUB_ACTION\1TEXTLEVEL_SUB_BAR_MSG,17,0
  3019.             buildmenuitem defaultmenu, 900, 42210, LOGICAL_SUB_MENU_MSG\9LOGICAL_SUB_KEY_MSG, LOGICAL_SUB_ACTION\1LOGICAL_SUB_BAR_MSG,17,0
  3020.                 buildmenuitem defaultmenu, 900, 42211, CITATION_TAGS_MENU_MSG\9CITATION_TAGS_KEY_MSG, CITATION_TAGS_ACTION\1CITATION_TAGS_BAR_MSG,0,0
  3021.                 buildmenuitem defaultmenu, 900, 42212, CODE_TAGS_MENU_MSG\9CODE_TAGS_KEY_MSG, CODE_TAGS_ACTION\1CODE_TAGS_BAR_MSG,0,0
  3022.                 buildmenuitem defaultmenu, 900, 42213, DEFINITION_TAGS_MENU_MSG\9DEFINITION_TAGS_KEY_MSG, DEFINITION_TAGS_ACTION\1DEFINITION_TAGS_BAR_MSG,0,0
  3023.                 buildmenuitem defaultmenu, 900, 42214, EMPHASIZED_TAGS_MENU_MSG\9EMPHASIZED_TAGS_KEY_MSG, EMPHASIZED_TAGS_ACTION\1EMPHASIZED_TAGS_BAR_MSG,0,0
  3024.                 buildmenuitem defaultmenu, 900, 42215, KEYBOAED_TAGS_MENU_MSG\9KEYBOAED_TAGS_KEY_MSG, KEYBOAED_TAGS_ACTION\1KEYBOAED_TAGS_BAR_MSG,0,0
  3025.                 buildmenuitem defaultmenu, 900, 42216, SAMPLE_TAGS_MENU_MSG\9SAMPLE_TAGS_KEY_MSG, SAMPLE_TAGS_ACTION\1SAMPLE_TAGS_BAR_MSG,0,0
  3026.                 buildmenuitem defaultmenu, 900, 42217, STRONG_TAGS_MENU_MSG\9STRONG_TAGS_KEY_MSG, STRONG_TAGS_ACTION\1STRONG_TAGS_BAR_MSG,0,0
  3027.                 buildmenuitem defaultmenu, 900, 42218, VARIABLE_TAGS_MENU_MSG\9VARIABLE_TAGS_KEY_MSG, VARIABLE_TAGS_ACTION\1VARIABLE_TAGS_BAR_MSG,32769,0
  3028.             buildmenuitem defaultmenu, 900, 42220, PHYSICAL_SUB_MENU_MSG\9PHYSICAL_SUB_KEY_MSG, PHYSICAL_SUB_ACTION\1PHYSICAL_SUB_BAR_MSG,17,0
  3029.                 buildmenuitem defaultmenu, 900, 42221, BOLD_TAGS_MENU_MSG\9BOLD_TAGS_KEY_MSG, BOLD_TAGS_ACTION\1BOLD_TAGS_BAR_MSG,0,0
  3030.                 buildmenuitem defaultmenu, 900, 42222, BIG_TAGS_MENU_MSG\9BIG_TAGS_KEY_MSG, BIG_TAGS_ACTION\1BIG_TAGS_BAR_MSG,0,0
  3031.                 buildmenuitem defaultmenu, 900, 42223, FONT_TAGS_MENU_MSG\9FONT_TAGS_KEY_MSG, FONT_TAGS_ACTION\1FONT_TAGS_BAR_MSG,0,0
  3032.                 buildmenuitem defaultmenu, 900, 42224, ITALICS_TAGS_MENU_MSG\9ITALICS_TAGS_KEY_MSG, ITALICS_TAGS_ACTION\1ITALICS_TAGS_BAR_MSG,0,0
  3033.                 buildmenuitem defaultmenu, 900, 42225, SMALL_TAGS_MENU_MSG\9SMALL_TAGS_KEY_MSG, SMALL_TAGS_ACTION\1SMALL_TAGS_BAR_MSG,0,0
  3034.                 buildmenuitem defaultmenu, 900, 42226, STRIKEOUT_TAGS_MENU_MSG\9STRIKEOUT_TAGS_KEY_MSG, STRIKEOUT_TAGS_ACTION\1STRIKEOUT_TAGS_BAR_MSG,0,0
  3035.                 buildmenuitem defaultmenu, 900, 42227, SUBSCTIPT_TAGS_MENU_MSG\9SUBSCTIPT_TAGS_KEY_MSG, SUBSCTIPT_TAGS_ACTION\1SUBSCTIPT_TAGS_BAR_MSG,0,0
  3036.                 buildmenuitem defaultmenu, 900, 42228, SUPERSCRIPT_TAGS_MENU_MSG\9SUPERSCRIPT_TAGS_KEY_MSG, SUPERSCRIPT_TAGS_ACTION\1SUPERSCRIPT_TAGS_BAR_MSG,0,0
  3037.                 buildmenuitem defaultmenu, 900, 42229, TELETYPE_TAGS_MENU_MSG\9TELETYPE_TAGS_KEY_MSG, TELETYPE_TAGS_ACTION\1TELETYPE_TAGS_BAR_MSG,0,0
  3038.                 buildmenuitem defaultmenu, 900, 52220, UNDERLINE_TAGS_MENU_MSG\9UNDERLINE_TAGS_KEY_MSG, UNDERLINE_TAGS_ACTION\1UNDERLINE_TAGS_BAR_MSG,32769,0
  3039.             buildmenuitem defaultmenu, 900, 42201, '', '',32769,0
  3040.         buildmenuitem defaultmenu, 900, 42001, BASEFONT_TAGS_MENU_MSG\9BASEFONT_TAGS_KEY_MSG, BASEFONT_TAGS_ACTION\1BASEFONT_TAGS_BAR_MSG,32769,0
  3041.     buildmenuitem defaultmenu, 900, 43000, TABLES_SUB_MENU_MSG\9TABLES_SUB_KEY_MSG, TABLES_SUB_ACTION\1TABLES_SUB_BAR_MSG,17,0
  3042.         buildmenuitem defaultmenu, 900, 43001, NEWTABLE_TAGS_MENU_MSG\9NEWTABLE_TAGS_KEY_MSG, NEWTABLE_TAGS_ACTION\1NEWTABLE_TAGS_BAR_MSG,0,0
  3043.         buildmenuitem defaultmenu, 900, 43002, THEADING_TAGS_MENU_MSG\9THEADING_TAGS_KEY_MSG, THEADING_TAGS_ACTION\1THEADING_TAGS_BAR_MSG,0,0
  3044.         buildmenuitem defaultmenu, 900, 43003, TROW_TAGS_MENU_MSG\9TROW_TAGS_KEY_MSG, TROW_TAGS_ACTION\1TROW_TAGS_BAR_MSG,0,0
  3045.         buildmenuitem defaultmenu, 900, 43004, TENTRY_TAGS_MENU_MSG\9TENTRY_TAGS_KEY_MSG, TENTRY_TAGS_ACTION\1TENTRY_TAGS_BAR_MSG,0,0
  3046.         buildmenuitem defaultmenu, 900, 43005, TCAPTION_TAGS_MENU_MSG\9TCAPTION_TAGS_KEY_MSG, TCAPTION_TAGS_ACTION\1TCAPTION_TAGS_BAR_MSG,32769,0
  3047.     buildmenuitem defaultmenu, 900, 44000, LISTS_SUB_MENU_MSG\9LISTS_SUB_KEY_MSG, LISTS_SUB_ACTION\1LISTS_SUB_BAR_MSG,17,0
  3048.         buildmenuitem defaultmenu, 900, 44001, DICTIONARY_TAGS_MENU_MSG\9DICTIONARY_TAGS_KEY_MSG, DICTIONARY_TAGS_ACTION\1DICTIONARY_TAGS_BAR_MSG,0,0
  3049.         buildmenuitem defaultmenu, 900, 44002, DICTTERM_TAGS_MENU_MSG\9DICTTERM_TAGS_KEY_MSG, DICTTERM_TAGS_ACTION\1DICTTERM_TAGS_BAR_MSG,0,0
  3050.         buildmenuitem defaultmenu, 900, 44003, DICTDEF_TAGS_MENU_MSG\9DICTDEF_TAGS_KEY_MSG, DICTDEF_TAGS_ACTION\1DICTDEF_TAGS_BAR_MSG,0,0
  3051.         buildmenuitem defaultmenu, 900, 44004, DIRECTORY_TAGS_MENU_MSG\9DIRECTORY_TAGS_KEY_MSG, DIRECTORY_TAGS_ACTION\1DIRECTORY_TAGS_BAR_MSG,0,0
  3052.         buildmenuitem defaultmenu, 900, 44005, MENU_TAGS_MENU_MSG\9MENU_TAGS_KEY_MSG, MENU_TAGS_ACTION\1MENU_TAGS_BAR_MSG,0,0
  3053.         buildmenuitem defaultmenu, 900, 44006, ORDEREDLIST_TAGS_MENU_MSG\9ORDEREDLIST_TAGS_KEY_MSG, ORDEREDLIST_TAGS_ACTION\1ORDEREDLIST_TAGS_BAR_MSG,0,0
  3054.         buildmenuitem defaultmenu, 900, 44007, UNORDEREDLIST_TAGS_MENU_MSG\9UNORDEREDLIST_TAGS_KEY_MSG, UNORDEREDLIST_TAGS_ACTION\1UNORDEREDLIST_TAGS_BAR_MSG,0,0
  3055.         buildmenuitem defaultmenu, 900, 44008, LISTITEM_TAGS_MENU_MSG\9LISTITEM_TAGS_KEY_MSG, LISTITEM_TAGS_ACTION\1LISTITEM_TAGS_BAR_MSG,32769,0
  3056.     buildmenuitem defaultmenu, 900, 45000, JAVA_SUB_MENU_MSG\9JAVA_SUB_KEY_MSG, JAVA_SUB_ACTION\1JAVA_SUB_BAR_MSG, 17 ,0
  3057.         buildmenuitem defaultmenu, 900, 45001, APPLET_TAGS_MENU_MSG\9APPLET_TAGS_KEY_MSG, APPLET_TAGS_ACTION\1APPLET_TAGS_BAR_MSG,0,0
  3058.         buildmenuitem defaultmenu, 900, 45002, PARAMETER_TAGS_MENU_MSG\9PARAMETER_TAGS_KEY_MSG, PARAMETER_TAGS_ACTION\1PARAMETER_TAGS_BAR_MSG,0,0
  3059.         buildmenuitem defaultmenu, 900, 45003, SCRIPT_TAGS_MENU_MSG\9SCRIPT_TAGS_KEY_MSG, SCRIPT_TAGS_ACTION\1SCRIPT_TAGS_BAR_MSG,32769,0
  3060.     buildmenuitem defaultmenu, 900, 46000, FORMS_SUB_MENU_MSG\9FORMS_SUB_KEY_MSG, FORMS_SUB_ACTION\1FORMS_SUB_BAR_MSG,17,0
  3061.         buildmenuitem defaultmenu, 900, 46001, FORM_TAGS_MENU_MSG\9FORM_TAGS_KEY_MSG, FORM_TAGS_ACTION\1FORM_TAGS_BAR_MSG,0,0
  3062.         buildmenuitem defaultmenu, 900, 46002, INPUT_TAGS_MENU_MSG\9INPUT_TAGS_KEY_MSG, INPUT_TAGS_ACTION\1INPUT_TAGS_BAR_MSG,0,0
  3063.         buildmenuitem defaultmenu, 900, 46003, SELECT_TAGS_MENU_MSG\9SELECT_TAGS_KEY_MSG, SELECT_TAGS_ACTION\1SELECT_TAGS_BAR_MSG,0,0
  3064.         buildmenuitem defaultmenu, 900, 46004, OPTION_TAGS_MENU_MSG\9OPTION_TAGS_KEY_MSG, OPTION_TAGS_ACTION\1OPTION_TAGS_BAR_MSG,0,0
  3065.         buildmenuitem defaultmenu, 900, 46005, TEXTAREA_TAGS_MENU_MSG\9TEXTAREA_TAGS_KEY_MSG, TEXTAREA_TAGS_ACTION\1TEXTAREA_TAGS_BAR_MSG,32769,0
  3066.     buildmenuitem defaultmenu, 900, 47000, IMAGES_SUB_MENU_MSG\9IMAGES_SUB_KEY_MSG, IMAGES_SUB_ACTION\1IMAGES_SUB_BAR_MSG,17,0
  3067.         buildmenuitem defaultmenu, 900, 47001, IMAGE_TAGS_MENU_MSG\9IMAGE_TAGS_KEY_MSG, IMAGE_TAGS_ACTION\1IMAGE_TAGS_BAR_MSG,0,0
  3068.         buildmenuitem defaultmenu, 900, 47002, MAP_TAGS_MENU_MSG\9MAP_TAGS_KEY_MSG, MAP_TAGS_ACTION\1MAP_TAGS_BAR_MSG,0,0
  3069.         buildmenuitem defaultmenu, 900, 47003, AREA_TAGS_MENU_MSG\9AREA_TAGS_KEY_MSG, AREA_TAGS_ACTION\1AREA_TAGS_BAR_MSG,32769,0
  3070.     buildmenuitem defaultmenu, 900, 48000, SPECIAL_SUB_MENU_MSG, \1SPECIAL_SUB_BAR_MSG, 17,0
  3071.         buildmenuitem defaultmenu, 900, 48100, MATH_SUB_MENU_MSG, \1MATH_SUB_BAR_MSG, 17, 0
  3072.             buildmenuitem defaultmenu, 900, 48101, LESS_THAN_MENU_MSG\9LESS_THAN_KEY_MSG , LESS_THAN_ACTION\1LESS_THAN_BAR_MSG ,0,0
  3073.             buildmenuitem defaultmenu, 900, 48102, GREATER_THAN_MENU_MSG\9GREATER_THAN_KEY_MSG , GREATER_THAN_ACTION\1GREATER_THAN_BAR_MSG ,0,0
  3074.             buildmenuitem defaultmenu, 900, 48103, NOT_MENU_MSG\9NOT_KEY_MSG , NOT_ACTION\1NOT_BAR_MSG ,0,0
  3075.             buildmenuitem defaultmenu, 900, 48104, DEGREE_MENU_MSG\9DEGREE_KEY_MSG , DEGREE_ACTION\1DEGREE_BAR_MSG ,0,0
  3076.             buildmenuitem defaultmenu, 900, 48105, PLUSMIN_MENU_MSG\9PLUSMIN_KEY_MSG , PLUSMIN_ACTION\1PLUSMIN_BAR_MSG ,0,0
  3077.             buildmenuitem defaultmenu, 900, 48106, MICRO_MENU_MSG\9MICRO_KEY_MSG , MICRO_ACTION\1MICRO_BAR_MSG ,0,0
  3078.             buildmenuitem defaultmenu, 900, 48107, MIDDLEDOT_MENU_MSG\9MIDDLEDOT_KEY_MSG , MIDDLEDOT_ACTION\1MIDDLEDOT_BAR_MSG ,0,0
  3079.             buildmenuitem defaultmenu, 900, 48108, FOURTH_MENU_MSG\9FOURTH_KEY_MSG , FOURTH_ACTION\1FOURTH_BAR_MSG ,0,0
  3080.             buildmenuitem defaultmenu, 900, 48109, HALF_MENU_MSG\9HALF_KEY_MSG , HALF_ACTION\1HALF_BAR_MSG ,0,0
  3081.             buildmenuitem defaultmenu, 900, 48110, THRFOURTH_MENU_MSG\9THRFOURTH_KEY_MSG , THRFOURTH_ACTION\1THRFOURTH_BAR_MSG ,0,0
  3082.             buildmenuitem defaultmenu, 900, 48111, MULT_MENU_MSG\9MULT_KEY_MSG , MULT_ACTION\1MULT_BAR_MSG ,0,0
  3083.             buildmenuitem defaultmenu, 900, 48112, DIVIDE_MENU_MSG\9DIVIDE_KEY_MSG , DIVIDE_ACTION\1DIVIDE_BAR_MSG ,32769,0
  3084.         buildmenuitem defaultmenu, 900, 48200, LETTERS_SUB_MENU_MSG, \1LETTERS_SUB_BAR_MSG, 17,0
  3085.             buildmenuitem defaultmenu, 900, 48210, AS_SUB_MENU_MSG, \1AS_SUB_BAR_MSG, 17,0
  3086.                 buildmenuitem defaultmenu, 900, 48211, AELIG_U_MEN_MSG\9AELIG_U_KEY_MSG  , AELIG_U_ACTION\1AELIG_U_BAR_MSG  ,0,0
  3087.                 buildmenuitem defaultmenu, 900, 48212, AACUTE_U_MEN_MSG\9AACUTE_U_KEY_MSG  , AACUTE_U_ACTION\1AACUTE_U_BAR_MSG  ,0,0
  3088.                 buildmenuitem defaultmenu, 900, 48213, ACIRC_U_MEN_MSG\9ACIRC_U_KEY_MSG  , ACIRC_U_ACTION\1ACIRC_U_BAR_MSG ,0,0
  3089.                 buildmenuitem defaultmenu, 900, 48214, AGRAVE_U_MEN_MSG\9AGRAVE_U_KEY_MSG , AGRAVE_U_ACTION\1AGRAVE_U_BAR_MSG  ,0,0
  3090.                 buildmenuitem defaultmenu, 900, 48215, ARING_U_MEN_MSG\9ARING_U_KEY_MSG  , ARING_U_ACTION\1ARING_U_BAR_MSG  ,0,0
  3091.                 buildmenuitem defaultmenu, 900, 48216, ATILDE_U_MEN_MSG\9ATILDE_U_KEY_MSG  , ATILDE_U_ACTION\1ATILDE_U_BAR_MSG  ,0,0
  3092.                 buildmenuitem defaultmenu, 900, 48217, AUML_U_MEN_MSG\9AUML_U_KEY_MSG  , AUML_U_ACTION\1AUML_U_BAR_MSG  ,0,0
  3093.                 buildmenuitem defaultmenu, 900, 48218, AELIG_L_MEN_MSG\9AELIG_L_KEY_MSG  , AELIG_L_ACTION\1AELIG_L_BAR_MSG  ,0,0
  3094.                 buildmenuitem defaultmenu, 900, 48219, AACUTE_L_MEN_MSG\9AACUTE_L_KEY_MSG  , AACUTE_L_ACTION\1AACUTE_L_BAR_MSG  ,0,0
  3095.                 buildmenuitem defaultmenu, 900, 58210, ACIRC_L_MEN_MSG\9ACIRC_L_KEY_MSG  , ACIRC_L_ACTION\1ACIRC_L_BAR_MSG  ,0,0
  3096.                 buildmenuitem defaultmenu, 900, 58211, AGRAVE_L_MEN_MSG\9AGRAVE_L_KEY_MSG  , AGRAVE_L_ACTION\1AGRAVE_L_BAR_MSG  ,0,0
  3097.                 buildmenuitem defaultmenu, 900, 58212, ARING_L_MEN_MSG\9ARING_L_KEY_MSG  , ARING_L_ACTION\1ARING_L_BAR_MSG  ,0,0
  3098.                 buildmenuitem defaultmenu, 900, 58213, ATILDE_L_MEN_MSG\9ATILDE_L_KEY_MSG  , ATILDE_L_ACTION\1ATILDE_L_BAR_MSG  ,0,0
  3099.                 buildmenuitem defaultmenu, 900, 58214, AUML_L_MEN_MSG\9AUML_L_KEY_MSG  , AUML_L_ACTION\1AUML_L_BAR_MSG  ,32769,0
  3100.             buildmenuitem defaultmenu, 900, 48220, ES_SUB_MENU_MSG, \1ES_SUB_BAR_MSG, 17,0
  3101.                 buildmenuitem defaultmenu, 900, 48221, EACUTE_U_MEN_MSG\9EACUTE_U_KEY_MSG ,EACUTE_U_ACTION\1EACUTE_U_BAR_MSG , 0, 0
  3102.                 buildmenuitem defaultmenu, 900, 48222, ECIRC_U_MEN_MSG\9ECIRC_U_KEY_MSG , ECIRC_U_ACTION\1ECIRC_U_BAR_MSG , 0, 0
  3103.                 buildmenuitem defaultmenu, 900, 48223, EGRAVE_U_MEN_MSG\9EGRAVE_U_KEY_MSG , EGRAVE_U_ACTION\1EGRAVE_U_BAR_MSG , 0, 0
  3104.                 buildmenuitem defaultmenu, 900, 48224, EUML_U_MEN_MSG\9EUML_U_KEY_MSG , EUML_U_ACTION\1EUML_U_BAR_MSG , 0, 0
  3105.                 buildmenuitem defaultmenu, 900, 48225, EACUTE_L_MEN_MSG\9EACUTE_L_KEY_MSG , EACUTE_L_ACTION\1EACUTE_L_BAR_MSG , 0, 0
  3106.                 buildmenuitem defaultmenu, 900, 48226, ECIRC_L_MEN_MSG\9ECIRC_L_KEY_MSG , ECIRC_L_ACTION\1ECIRC_L_BAR_MSG , 0, 0
  3107.                 buildmenuitem defaultmenu, 900, 48227, EGRAVE_L_MEN_MSG\9EGRAVE_L_KEY_MSG , EGRAVE_L_ACTION\1EGRAVE_L_BAR_MSG , 0, 0
  3108.                 buildmenuitem defaultmenu, 900, 48228, EUML_L_MEN_MSG\9EUML_L_KEY_MSG , EUML_L_ACTION\1EUML_L_BAR_MSG , 32769, 0
  3109.             buildmenuitem defaultmenu, 900, 48230, IS_SUB_MENU_MSG, \1IS_SUB_BAR_MSG, 17,0
  3110.                 buildmenuitem defaultmenu, 900, 48231, IACUTE_U_MEN_MSG\9IACUTE_U_KEY_MSG , IACUTE_U_ACTION\1IACUTE_U_BAR_MSG , 0, 0
  3111.                 buildmenuitem defaultmenu, 900, 48232, ICIRC_U_MEN_MSG\9ICIRC_U_KEY_MSG , ICIRC_U_ACTION\1ICIRC_U_BAR_MSG , 0, 0
  3112.                 buildmenuitem defaultmenu, 900, 48233, IGRAVE_U_MEN_MSG\9IGRAVE_U_KEY_MSG , IGRAVE_U_ACTION\1IGRAVE_U_BAR_MSG , 0, 0
  3113.                 buildmenuitem defaultmenu, 900, 48234, IUML_U_MEN_MSG\9IUML_U_KEY_MSG , IUML_U_ACTION\1IUML_U_BAR_MSG , 0, 0
  3114.                 buildmenuitem defaultmenu, 900, 48235, IACUTE_L_MEN_MSG\9IACUTE_L_KEY_MSG , IACUTE_L_ACTION\1IACUTE_L_BAR_MSG , 0, 0
  3115.                 buildmenuitem defaultmenu, 900, 48236, ICIRC_L_MEN_MSG\9ICIRC_L_KEY_MSG , ICIRC_L_ACTION\1ICIRC_L_BAR_MSG , 0, 0
  3116.                 buildmenuitem defaultmenu, 900, 48237, IGRAVE_L_MEN_MSG\9IGRAVE_L_KEY_MSG , IGRAVE_L_ACTION\1IGRAVE_L_BAR_MSG , 0, 0
  3117.                 buildmenuitem defaultmenu, 900, 48238, IUML_L_MEN_MSG\9IUML_L_KEY_MSG , IUML_L_ACTION\1IUML_L_BAR_MSG , 32769, 0
  3118.             buildmenuitem defaultmenu, 900, 48240, OS_SUB_MENU_MSG, \1OS_SUB_BAR_MSG, 17,0
  3119.                 buildmenuitem defaultmenu, 900, 48241, OACUTE_U_MEN_MSG\9OACUTE_U_KEY_MSG, OACUTE_U_ACTION\1OACUTE_U_BAR_MSG, 0, 0
  3120.                 buildmenuitem defaultmenu, 900, 48242, OCIRC_U_MEN_MSG\9OCIRC_U_KEY_MSG, OCIRC_U_ACTION\1OCIRC_U_BAR_MSG, 0, 0
  3121.                 buildmenuitem defaultmenu, 900, 48244, OGRAVE_U_MEN_MSG\9OGRAVE_U_KEY_MSG, OGRAVE_U_ACTION\1OGRAVE_U_BAR_MSG, 0, 0
  3122.                 buildmenuitem defaultmenu, 900, 48245, OSLASH_U_MEN_MSG\9OSLASH_U_KEY_MSG, OSLASH_U_ACTION\1OSLASH_U_BAR_MSG, 0, 0
  3123.                 buildmenuitem defaultmenu, 900, 48246, OTILDE_U_MEN_MSG\9OTILDE_U_KEY_MSG, OTILDE_U_ACTION\1OTILDE_U_BAR_MSG, 0, 0
  3124.                 buildmenuitem defaultmenu, 900, 48247, OUML_U_MEN_MSG\9OUML_U_KEY_MSG, OUML_U_ACTION\1OUML_U_BAR_MSG, 0, 0
  3125.                 buildmenuitem defaultmenu, 900, 48248, OACUTE_L_MEN_MSG\9OACUTE_L_KEY_MSG, OACUTE_L_ACTION\1OACUTE_L_BAR_MSG, 0, 0
  3126.                 buildmenuitem defaultmenu, 900, 48249, OCIRC_L_MEN_MSG\9OCIRC_L_KEY_MSG, OCIRC_L_ACTION\1OCIRC_L_BAR_MSG, 0, 0
  3127.                 buildmenuitem defaultmenu, 900, 58250, OGRAVE_L_MEN_MSG\9OGRAVE_L_KEY_MSG, OGRAVE_L_ACTION\1OGRAVE_L_BAR_MSG, 0, 0
  3128.                 buildmenuitem defaultmenu, 900, 58251, OSLASH_L_MEN_MSG\9OSLASH_L_KEY_MSG, OSLASH_L_ACTION\1OSLASH_L_BAR_MSG, 0, 0
  3129.                 buildmenuitem defaultmenu, 900, 58252, OTILDE_L_MEN_MSG\9OTILDE_L_KEY_MSG, OTILDE_L_ACTION\1OTILDE_L_BAR_MSG, 0, 0
  3130.                 buildmenuitem defaultmenu, 900, 58253, OUML_L_MEN_MSG\9OUML_L_KEY_MSG, OUML_L_ACTION\1OUML_L_BAR_MSG, 32769, 0
  3131.             buildmenuitem defaultmenu, 900, 48250, US_SUB_MENU_MSG, \1US_SUB_BAR_MSG, 17,0
  3132.                 buildmenuitem defaultmenu, 900, 48251, UACUTE_U_MEN_MSG\9UACUTE_U_KEY_MSG , UACUTE_U_ACTION\1UACUTE_U_BAR_MSG , 0, 0
  3133.                 buildmenuitem defaultmenu, 900, 48252, UCIRC_U_MEN_MSG\9UCIRC_U_KEY_MSG , UCIRC_U_ACTION\1UCIRC_U_BAR_MSG , 0, 0
  3134.                 buildmenuitem defaultmenu, 900, 48253, UGRAVE_U_MEN_MSG\9UGRAVE_U_KEY_MSG , UGRAVE_U_ACTION\1UGRAVE_U_BAR_MSG , 0, 0
  3135.                 buildmenuitem defaultmenu, 900, 48254, UUML_U_MEN_MSG\9UUML_U_KEY_MSG , UUML_U_ACTION\1UUML_U_BAR_MSG , 0, 0
  3136.                 buildmenuitem defaultmenu, 900, 48255, UACUTE_L_MEN_MSG\9UACUTE_L_KEY_MSG , UACUTE_L_ACTION\1UACUTE_L_BAR_MSG , 0, 0
  3137.                 buildmenuitem defaultmenu, 900, 48256, UCIRC_L_MEN_MSG\9UCIRC_L_KEY_MSG , UCIRC_L_ACTION\1UCIRC_L_BAR_MSG , 0, 0
  3138.                 buildmenuitem defaultmenu, 900, 48257, UGRAVE_L_MEN_MSG\9UGRAVE_L_KEY_MSG , UGRAVE_L_ACTION\1UGRAVE_L_BAR_MSG , 0, 0
  3139.                 buildmenuitem defaultmenu, 900, 48258, UUML_L_MEN_MSG\9UUML_L_KEY_MSG , UUML_L_ACTION\1UUML_L_BAR_MSG , 32769, 0
  3140.             buildmenuitem defaultmenu, 900, 48201, CCEDIL_U_MEN_MSG\9CCEDIL_U_KEY_MSG , CCEDIL_U_ACTION\1CCEDIL_U_BAR_MSG , 0, 0
  3141.             buildmenuitem defaultmenu, 900, 48202, ETH_U_MEN_MSG\9ETH_U_KEY_MSG , ETH_U_ACTION\1ETH_U_BAR_MSG , 0, 0
  3142.             buildmenuitem defaultmenu, 900, 48203, NTILDE_U_MEN_MSG\9NTILDE_U_KEY_MSG , NTILDE_U_ACTION\1NTILDE_U_BAR_MSG , 0, 0
  3143.             buildmenuitem defaultmenu, 900, 48204, THORN_U_MEN_MSG\9THORN_U_KEY_MSG , THORN_U_ACTION\1THORN_U_BAR_MSG , 0, 0
  3144.             buildmenuitem defaultmenu, 900, 48205, YACUTE_U_MEN_MSG\9YACUTE_U_KEY_MSG , YACUTE_U_ACTION\1YACUTE_U_BAR_MSG , 0, 0
  3145.             buildmenuitem defaultmenu, 900, 48206, CCEDIL_L_MEN_MSG\9CCEDIL_L_KEY_MSG , CCEDIL_L_ACTION\1CCEDIL_L_BAR_MSG , 0, 0
  3146.             buildmenuitem defaultmenu, 900, 48207, ETH_L_MEN_MSG\9ETH_L_KEY_MSG , ETH_L_ACTION\1ETH_L_BAR_MSG , 0, 0
  3147.             buildmenuitem defaultmenu, 900, 48208, NTILDE_L_MEN_MSG\9NTILDE_L_KEY_MSG , NTILDE_L_ACTION\1NTILDE_L_BAR_MSG , 0, 0
  3148.             buildmenuitem defaultmenu, 900, 48209, THORN_L_MEN_MSG\9THORN_L_KEY_MSG , THORN_L_ACTION\1THORN_L_BAR_MSG , 0, 0
  3149.             buildmenuitem defaultmenu, 900, 68210, YACUTE_L_MEN_MSG\9YACUTE_L_KEY_MSG , YACUTE_L_ACTION\1YACUTE_L_BAR_MSG , 0, 0
  3150.             buildmenuitem defaultmenu, 900, 68211, YUML_L_MEN_MSG\9YUML_L_KEY_MSG , YUML_L_ACTION\1YUML_L_BAR_MSG , 0, 0
  3151.             buildmenuitem defaultmenu, 900, 68212, SZLIG_MEN_MSG\9SZLIG_KEY_MSG , SZLIG_ACTION\1SZLIG_BAR_MSG , 32769, 0
  3152.             buildmenuitem defaultmenu, 900, 48300, CURRENCY_SUB_MENU_MSG, \1CURRENCY_SUB_BAR_MSG, 17, 0
  3153.                 buildmenuitem defaultmenu, 900, 48301, CENT_MENU_MSG\9CENT_KEY_MSG , CENT_ACTION\1CENT_BAR_MSG ,0 ,0
  3154.                 buildmenuitem defaultmenu, 900, 48302, POUND_MENU_MSG\9POUND_KEY_MSG , POUND_ACTION\1POUND_BAR_MSG ,0 ,0
  3155.                 buildmenuitem defaultmenu, 900, 48303, GENCUR_MENU_MSG\9GENCUR_KEY_MSG , GENCUR_ACTION\1GENCUR_BAR_MSG ,0 ,0
  3156.                 buildmenuitem defaultmenu, 900, 48304, YEN_MENU_MSG\9YEN_KEY_MSG , YEN_ACTION\1YEN_BAR_MSG ,32769 ,0
  3157.             buildmenuitem defaultmenu, 900, 48001, INVERT_EX_MENU_MSG\9INVERT_EX_KEY_MSG , INVERT_EX_ACTION\1INVERT_EX_BAR_MSG ,0 ,0
  3158.             buildmenuitem defaultmenu, 900, 48002, BVBAR_MENU_MSG\9BVBAR_KEY_MSG , BVBAR_ACTION\1BVBAR_BAR_MSG ,0 ,0
  3159.             buildmenuitem defaultmenu, 900, 48003, SECTION_MENU_MSG\9SECTION_KEY_MSG , SECTION_ACTION\1SECTION_BAR_MSG ,0 ,0
  3160.             buildmenuitem defaultmenu, 900, 48004, UMLAUT_MENU_MSG\9UMLAUT_KEY_MSG , UMLAUT_ACTION\1UMLAUT_BAR_MSG ,0 ,0
  3161.             buildmenuitem defaultmenu, 900, 48005, COPYRIGHT_MENU_MSG\9COPYRIGHT_KEY_MSG , COPYRIGHT_ACTION\1COPYRIGHT_BAR_MSG ,0 ,0
  3162.             buildmenuitem defaultmenu, 900, 48006, FEMININE_MENU_MSG\9FEMININE_KEY_MSG , FEMININE_ACTION\1FEMININE_BAR_MSG ,0 ,0
  3163.             buildmenuitem defaultmenu, 900, 48007, MASCULINE_MENU_MSG\9MASCULINE_KEY_MSG , MASCULINE_ACTION\1MASCULINE_BAR_MSG ,0 ,0
  3164.             buildmenuitem defaultmenu, 900, 48008, LGUI_MENU_MSG\9LGUI_KEY_MSG , LGUI_ACTION\1LGUI_BAR_MSG ,0 ,0
  3165.             buildmenuitem defaultmenu, 900, 48009, RGUI_MENU_MSG\9RGUI_KEY_MSG , RGUI_ACTION\1RGUI_BAR_MSG ,0 ,0
  3166.             buildmenuitem defaultmenu, 900, 48010, SUPONE_MENU_MSG\9SUPONE_KEY_MSG , SUPONE_ACTION\1SUPONE_BAR_MSG ,0 ,0
  3167.             buildmenuitem defaultmenu, 900, 48011, SUPTWO_MENU_MSG\9SUPTWO_KEY_MSG , SUPTWO_ACTION\1SUPTWO_BAR_MSG ,0 ,0
  3168.             buildmenuitem defaultmenu, 900, 48012, SUPTHREE_MENU_MSG\9SUPTHREE_KEY_MSG , SUPTHREE_ACTION\1SUPTHREE_BAR_MSG ,0 ,0
  3169.             buildmenuitem defaultmenu, 900, 48013, SOFTHYPHEN_MENU_MSG\9SOFTHYPHEN_KEY_MSG , SOFTHYPHEN_ACTION\1SOFTHYPHEN_BAR_MSG ,0 ,0
  3170.             buildmenuitem defaultmenu, 900, 48014, RTM_MENU_MSG\9RTM_KEY_MSG , RTM_ACTION\1RTM_BAR_MSG ,0 ,0
  3171.             buildmenuitem defaultmenu, 900, 48015, MACRON_MENU_MSG\9MACRON_KEY_MSG , MACRON_ACTION\1MACRON_BAR_MSG ,0 ,0
  3172.             buildmenuitem defaultmenu, 900, 48016, ACUTE_MENU_MSG\9ACUTE_KEY_MSG , ACUTE_ACTION\1ACUTE_BAR_MSG ,0 ,0
  3173.             buildmenuitem defaultmenu, 900, 48017, PARAGRAPHCHAR_MENU_MSG\9PARAGRAPHCHAR_KEY_MSG , PARAGRAPHCHAR_ACTION\1PARAGRAPHCHAR_BAR_MSG ,0 ,0
  3174.             buildmenuitem defaultmenu, 900, 48018, INVQUESTION_MENU_MSG\9INVQUESTION_KEY_MSG , INVQUESTION_ACTION\1INVQUESTION_BAR_MSG ,32769 ,0
  3175.     buildmenuitem defaultmenu, 900, 40005, ANCHOR_TAGS_MENU_MSG\9ANCHOR_TAGS_KEY_MSG, ANCHOR_TAGS_ACTION\1ANCHOR_TAGS_BAR_MSG, 0, 0
  3176.     buildmenuitem defaultmenu, 900, 40006, LINEBREAK_TAGS_MENU_MSG\9LINEBREAK_TAGS_KEY_MSG, LINEBREAK_TAGS_ACTION\1LINEBREAK_TAGS_BAR_MSG, 0, 0
  3177.     buildmenuitem defaultmenu, 900, 40007, REPEATLAST_TAGS_MENU_MSG\9REPEATLAST_TAGS_KEY_MSG, REPEATLAST_TAGS_ACTION\1REPEATLAST_TAGS_BAR_MSG, 0, 0
  3178.     buildmenuitem defaultmenu, 900, 40008, TEMP_VIEW_CTRL_MENU_MSG\9TEMP_VIEW_CTRL_KEY_MSG, TEMP_VIEW_CTRL_ACTION\1TEMP_VIEW_CTRL_BAR_MSG, 0, 0
  3179.     buildmenuitem defaultmenu, 900, 40009, \0, '', 4, 0
  3180.     buildmenuitem defaultmenu, 900, 49000, INTERFACE_SUB_MENU_MSG\9INTERFACE_SUB_KEY_MSG, INTERFACE_SUB_ACTION\1INTERFACE_SUB_BAR_MSG, 17,0
  3181.         buildmenuitem defaultmenu, 900, 49001, SETDEFAULTS_CTRL_MENU_MSG\9SETDEFAULTS_CTRL_KEY_MSG, SETDEFAULTS_CTRL_ACTION\1SETDEFAULTS_CTRL_BAR_MSG, 0,0
  3182.         buildmenuitem defaultmenu, 900, 49002, LOADDEFAULTS_CTRL_MENU_MSG\9LOADDEFAULTS_CTRL_KEY_MSG, LOADDEFAULTS_CTRL_ACTION\1LOADDEFAULTS_CTRL_BAR_MSG, 0,0
  3183.         buildmenuitem defaultmenu, 900, 49003, SAVEDEFAULTS_CTRL_MENU_MSG\9SAVEDEFAULTS_CTRL_KEY_MSG, SAVEDEFAULTS_CTRL_ACTION\1SAVEDEFAULTS_CTRL_BAR_MSG, 0,0
  3184.         buildmenuitem defaultmenu, 900, 49004, CLEARDEFAULTS_CTRL_MENU_MSG\9CLEARDEFAULTS_CTRL_KEY_MSG, CLEARDEFAULTS_CTRL_ACTION\1CLEARDEFAULTS_CTRL_BAR_MSG, 0,0
  3185.         buildmenuitem defaultmenu, 900, 49005, TOGGLECASE_CTRL_MENU_MSG\9TOGGLECASE_CTRL_KEY_MSG, TOGGLECASE_CTRL_ACTION\1TOGGLECASE_CTRL_BAR_MSG, 32769,0
  3186.         call readd_help_menu()
  3187.     buildmenuitem defaultmenu, 6, 40090, \0, '', 4, 0
  3188.     buildmenuitem defaultmenu, 6, 49991, 'XTML Docs ', 'HTML Docs',17, 0
  3189.         buildmenuitem defaultmenu, 6, 49992, 'HTML Docs ', 'view wilbur',0, 0
  3190.         buildmenuitem defaultmenu, 6, 49993, 'Current Word ', 'viewword wilbur',0, 0
  3191. call maybe_show_menu()
  3192. showmenu defaultmenu
  3193.  
  3194. defc New_Html
  3195.     x=1
  3196.     do while already_in_ring('new'x'.html', someID)
  3197.     x=x+1
  3198.     enddo
  3199.     'e new'x'.html'
  3200.  
  3201.  
  3202. defc Temp_View
  3203.     delete_ea('.LONGNAME')
  3204.     's =htmlkeystemp'
  3205.     filepath=getFileArrEl('U_PATH')'htmlkeystemp'
  3206.     sayerror filepath
  3207.     'start 'JAVA_HTML_BROWSER' 'filepath
  3208. COMPILE ENDIF
  3209.