RTFBox.vb
上传用户:autodoor
上传日期:2022-08-04
资源大小:9973k
文件大小:87k
源码类别:

.net编程

开发平台:

Others

  1. 'HTML Area Server Side Control for ASP .NET
  2. 'Created by Sameers (theAngrycodeR)
  3. 'All Rights Reserved
  4. 'Contact : theAngrycodeR@Yahoo.com
  5. Imports System.ComponentModel
  6. Imports System.Web.UI
  7. Imports System.Web.UI.WebControls
  8. Imports System.Xml
  9. Imports System.Drawing
  10. Imports System.Windows.Forms.Design
  11. Imports System
  12. Imports System.IO
  13. Imports System.Web
  14. Imports System.Drawing.Design
  15. Namespace HangamaHouse
  16.     Public Class RTFBox
  17.         Inherits System.Web.UI.WebControls.WebControl
  18.         Implements IPostBackDataHandler
  19. #Region "Private Variable Declaration"
  20.         Public Event TextChanged As EventHandler
  21.         Private mEmDlgWidth As Integer = 110
  22.         Private mEmDlgHeight As Integer = 140
  23.         Private mIconsPath As String = "icons"
  24.         Private mSmilesPath As String = "icons/smiles"
  25.         Private mButtonBackColor As Color = ColorTranslator.FromHtml("#D6D3CE")  'ColorTranslator.ToHtml
  26.         Private mTableBackColor As Color = ColorTranslator.FromHtml("#D6D3CE")
  27.         Private mCellBackColor As Color = ColorTranslator.FromHtml("#D6D3CE")
  28.         Private mColorFilePath As String = "ColorPicker.html"
  29.         Private mSmilesFilePath As String = "Smiles.html"
  30.         Private mWidth As Integer = 500
  31. #End Region
  32.         Public Sub New()
  33.             'Create Modal Dialogue Fies
  34.         End Sub
  35. #Region "Public Properties"
  36.         Public Property EmotionsDialogueWidth() As Integer
  37.             Get
  38.                 Return mEmDlgWidth
  39.             End Get
  40.             Set(ByVal Value As Integer)
  41.                 mEmDlgWidth = Value
  42.             End Set
  43.         End Property
  44.         Public Property EmotionsDialogueHeight() As Integer
  45.             Get
  46.                 Return mEmDlgHeight
  47.             End Get
  48.             Set(ByVal Value As Integer)
  49.                 mEmDlgHeight = Value
  50.             End Set
  51.         End Property
  52.         Public Property IconsPath() As String
  53.             Get
  54.                 Return mIconsPath
  55.             End Get
  56.             Set(ByVal Value As String)
  57.                 mIconsPath = Value
  58.             End Set
  59.         End Property
  60.         Public Property SmilesPath() As String
  61.             Get
  62.                 Return mSmilesPath
  63.             End Get
  64.             Set(ByVal Value As String)
  65.                 mSmilesPath = Value
  66.             End Set
  67.         End Property
  68.         Public ReadOnly Property StyleSheet() As String
  69.             Get
  70.                 Return Me.GenerateCSSCode()
  71.             End Get
  72.         End Property
  73.         Public Property ButtonBackColor() As Color
  74.             Get
  75.                 Return mButtonBackColor
  76.             End Get
  77.             Set(ByVal Value As Color)
  78.                 mButtonBackColor = Value
  79.             End Set
  80.         End Property
  81.         Public Property TableBackColor() As Color
  82.             Get
  83.                 Return mTableBackColor
  84.             End Get
  85.             Set(ByVal Value As Color)
  86.                 mTableBackColor = Value
  87.             End Set
  88.         End Property
  89.         Public Property TableCellBackColor() As Color
  90.             Get
  91.                 Return mCellBackColor
  92.             End Get
  93.             Set(ByVal Value As Color)
  94.                 mCellBackColor = Value
  95.             End Set
  96.         End Property
  97.         Public Property SmilesPickerFilePath() As String
  98.             Get
  99.                 Return mSmilesFilePath
  100.             End Get
  101.             Set(ByVal Value As String)
  102.                 mSmilesFilePath = Value
  103.             End Set
  104.         End Property
  105.         Public Property ColorPickerFilePath() As String
  106.             Get
  107.                 Return mColorFilePath
  108.             End Get
  109.             Set(ByVal Value As String)
  110.                 mColorFilePath = Value
  111.             End Set
  112.         End Property
  113.         Public Property Text() As String
  114.             Get
  115.                 Return CType(Me.ViewState("Text"), String)
  116.             End Get
  117.             Set(ByVal Value As String)
  118.                 Value = Replace(Value, "", "&#92")       ' is a Special Character, Replace with \
  119.                 Value = Replace(Value, "'", "&#146")       ' ' is cause of Error, replace with '
  120.                 Value = Replace(Value, vbCrLf, " ")
  121.                 Me.ViewState("Text") = Value
  122.             End Set
  123.         End Property
  124. #End Region
  125. #Region "Private Functions"
  126.         Private Function GenerateCSSCode() As String
  127.             Dim mCSS As String
  128.             mCSS = vbCrLf
  129.             mCSS = "<STYLE> " & vbCrLf
  130.             mCSS += ".EditControl       {       " & vbCrLf
  131.             mCSS += "width:" & Me.mWidth & "px;               " & vbCrLf
  132.             mCSS += "height:300px;      }       " & vbCrLf
  133.             mCSS += ".tblTable          {       " & vbCrLf
  134.             mCSS += "width : " & Me.mWidth & "px;             " & vbCrLf
  135.             mCSS += "height: 30px;              " & vbCrLf
  136.             mCSS += "border:0;                  " & vbCrLf
  137.             mCSS += "cellspacing:0;             " & vbCrLf
  138.             mCSS += "cellpadding:0;             " & vbCrLf
  139.             mCSS += "background-color:" & ColorTranslator.ToHtml(mTableBackColor) & ";" & vbCrLf
  140.             mCSS += "                   }     " & vbCrLf
  141.             mCSS += ".butClass          {       " & vbCrLf
  142.             mCSS += "width:22;                  " & vbCrLf
  143.             mCSS += "height:22;                 " & vbCrLf
  144.             mCSS += "border: 0px solid;         " & vbCrLf
  145.             mCSS += "border-color: #D6D3CE ;    " & vbCrLf
  146.             mCSS += "background-color:" & ColorTranslator.ToHtml(mButtonBackColor) & ";" & vbCrLf
  147.             mCSS += "                   }       " & vbCrLf
  148.             mCSS += ".tdClass           {       " & vbCrLf
  149.             mCSS += "padding-left: 0px;         " & vbCrLf
  150.             mCSS += "padding-top:0px;           " & vbCrLf
  151.             mCSS += "background-Color: " & ColorTranslator.ToHtml(mCellBackColor) & "; }       " & vbCrLf
  152.             mCSS += "</STYLE>" & vbCrLf
  153.             Return (mCSS & vbCrLf)
  154.         End Function
  155.         Private Function GenerateSelONScript() As String
  156.             Dim mStr As String
  157.             mStr = "<Script Language=""javascript"">" & vbCrLf
  158.             mStr += "function selOn(ctrl) {" & vbCrLf
  159.             mStr += "   var mImage " & vbCrLf
  160.             mStr += "   switch(ctrl.id)" & vbCrLf
  161.             mStr += "   {" & vbCrLf
  162.             mStr += "       case 'imgCuston' :" & vbCrLf
  163.             mStr += "           mImage = 'customtag_over.gif';" & vbCrLf
  164.             mStr += "           break;" & vbCrLf
  165.             mStr += "       case 'imgAbout' :" & vbCrLf
  166.             mStr += "           mImage = 'about_over.gif';" & vbCrLf
  167.             mStr += "           break; " & vbCrLf
  168.             mStr += "       case 'imgBold' :" & vbCrLf
  169.             mStr += "           mImage = 'bold_over.gif';" & vbCrLf
  170.             mStr += "           break;" & vbCrLf
  171.             mStr += "       case 'imgItalic' :" & vbCrLf
  172.             mStr += "           mImage = 'italic_over.gif';" & vbCrLf
  173.             mStr += "           break; " & vbCrLf
  174.             mStr += "       case 'imgBoldItalic' :" & vbCrLf
  175.             mStr += "           mImage = 'bolditalicunderline_over.gif';" & vbCrLf
  176.             mStr += "           break; " & vbCrLf
  177.             mStr += "       case 'imgUnderLine' :" & vbCrLf
  178.             mStr += "           mImage = 'underline_over.gif';" & vbCrLf
  179.             mStr += "           break; " & vbCrLf
  180.             mStr += "       case 'imgStrikeThrough' :" & vbCrLf
  181.             mStr += "           mImage = 'strikethrough_over.gif';" & vbCrLf
  182.             mStr += "           break; " & vbCrLf
  183.             mStr += "       case 'imgSpecialChar' :" & vbCrLf
  184.             mStr += "           mImage ='specialchars_over.gif'" & vbCrLf
  185.             mStr += "           break;" & vbCrLf
  186.             mStr += "" & vbCrLf
  187.             mStr += "       case 'imgSuperScript' :" & vbCrLf
  188.             mStr += "           mImage = 'superscript_over.gif'" & vbCrLf
  189.             mStr += "           break;" & vbCrLf
  190.             mStr += "       case 'imgSubScript' :" & vbCrLf
  191.             mStr += "           mImage = 'subscript_over.gif'" & vbCrLf
  192.             mStr += "           break;" & vbCrLf
  193.             mStr += "       case 'imgSave':" & vbCrLf
  194.             mStr += "           mImage = 'save_over.gif'" & vbCrLf
  195.             mStr += "           break;" & vbCrLf
  196.             mStr += "       case 'imgAlignLeft' :" & vbCrLf
  197.             mStr += "           mImage = 'alignleft_over.gif';" & vbCrLf
  198.             mStr += "           break; " & vbCrLf
  199.             mStr += "       case 'imgAlignRight' :" & vbCrLf
  200.             mStr += "           mImage = 'alignright_over.gif';" & vbCrLf
  201.             mStr += "           break; " & vbCrLf
  202.             mStr += "       case 'imgAlignCenter' :" & vbCrLf
  203.             mStr += "           mImage = 'aligncenter_over.gif';" & vbCrLf
  204.             mStr += "           break; " & vbCrLf
  205.             mStr += "       case 'imgAlignJustify' :" & vbCrLf
  206.             mStr += "           mImage = 'alignjustify_over.gif';" & vbCrLf
  207.             mStr += "           break; " & vbCrLf
  208.             mStr += "       case 'imgCut' :" & vbCrLf
  209.             mStr += "           mImage = 'cut_over.gif';" & vbCrLf
  210.             mStr += "           break; " & vbCrLf
  211.             mStr += "       case 'imgCopy' :" & vbCrLf
  212.             mStr += "           mImage = 'copy_over.gif';" & vbCrLf
  213.             mStr += "           break; " & vbCrLf
  214.             mStr += "       case 'imgPaste' :" & vbCrLf
  215.             mStr += "           mImage = 'paste_over.gif';" & vbCrLf
  216.             mStr += "           break; " & vbCrLf
  217.             mStr += "       case 'imgImage' :" & vbCrLf
  218.             mStr += "           mImage = 'image_over.gif';" & vbCrLf
  219.             mStr += "           break; " & vbCrLf
  220.             mStr += "       case 'imgLink' :" & vbCrLf
  221.             mStr += "           mImage = 'link_over.gif';" & vbCrLf
  222.             mStr += "           break; " & vbCrLf
  223.             mStr += "       case 'imgLine' :" & vbCrLf
  224.             mStr += "           mImage = 'line_over.gif';" & vbCrLf
  225.             mStr += "         break; " & vbCrLf
  226.             mStr += "       case 'imgUndo' :" & vbCrLf
  227.             mStr += "           mImage = 'undo_over.gif';" & vbCrLf
  228.             mStr += "           break; " & vbCrLf
  229.             mStr += "       case 'imgRedo' :" & vbCrLf
  230.             mStr += "           mImage = 'redo_over.gif';" & vbCrLf
  231.             mStr += "           break; " & vbCrLf
  232.             mStr += "       case 'imgOrderList' :" & vbCrLf
  233.             mStr += "           mImage = 'orderedlist_over.gif';" & vbCrLf
  234.             mStr += "           break; " & vbCrLf
  235.             mStr += "       case 'imgUnOrderList' :" & vbCrLf
  236.             mStr += "           mImage = 'unorderedlist_over.gif';" & vbCrLf
  237.             mStr += "           break; " & vbCrLf
  238.             mStr += "       case 'imgOutdent' :" & vbCrLf
  239.             mStr += "           mImage = 'outdent_over.gif';" & vbCrLf
  240.             mStr += "           break; " & vbCrLf
  241.             mStr += "       case 'imgIndent' :" & vbCrLf
  242.             mStr += "           mImage = 'indent_over.gif';" & vbCrLf
  243.             mStr += "           break; " & vbCrLf
  244.             mStr += "       case 'imgHighLight' :" & vbCrLf
  245.             mStr += "           mImage = 'highlight_over.gif';" & vbCrLf
  246.             mStr += "         break; " & vbCrLf
  247.             mStr += "     case 'imgFontColor' :" & vbCrLf
  248.             mStr += "         mImage = 'fontcolor_over.gif';" & vbCrLf
  249.             mStr += "         break; " & vbCrLf
  250.             mStr += "     case 'imgCustom' :" & vbCrLf
  251.             mStr += "         mImage = 'customtag_over.gif';" & vbCrLf
  252.             mStr += "         break; " & vbCrLf
  253.             mStr += "     default :" & vbCrLf
  254.             mStr += "           mImage = ctrl.src;" & vbCrLf
  255.             mStr += "" & vbCrLf
  256.             mStr += "   }" & vbCrLf
  257.             mStr += "   var mNewImage = new Image();" & vbCrLf
  258.             mStr += "   mNewImage.src = '" & mIconsPath & "/' + mImage ;" & vbCrLf
  259.             mStr += "   if (! (mImage == ctrl.src) ) " & vbCrLf
  260.             mStr += "       ctrl.src = mNewImage.src;" & vbCrLf
  261.             mStr += "   ctrl.style.cursor = 'hand'; " & vbCrLf
  262.             'mStr += "   ctrl.style.borderColor = '#000000';" & vbCrLf
  263.             'mStr += "   ctrl.style.backgroundColor = '#B5BED6';" & vbCrLf
  264.             mStr += "}" & vbCrLf
  265.             mStr += "</Script>" & vbCrLf
  266.             Return (mStr & vbCrLf)
  267.         End Function
  268.         Private Function GenerateSelOFFScript() As String
  269.             Dim mStr As String
  270.             mStr = "<Script Language=""javascript"">" & vbCrLf
  271.             mStr += "function selOff(ctrl)" & vbCrLf
  272.             mStr += "{" & vbCrLf
  273.             mStr += "   var mImage ;" & vbCrLf
  274.             mStr += "   switch(ctrl.id)" & vbCrLf
  275.             mStr += "   {" & vbCrLf
  276.             mStr += "       case 'imgCuston' :" & vbCrLf
  277.             mStr += "           mImage = 'customtag_off.gif';" & vbCrLf
  278.             mStr += "           break;" & vbCrLf
  279.             mStr += "       case 'imgAbout' :" & vbCrLf
  280.             mStr += "           mImage = 'about_off.gif';" & vbCrLf
  281.             mStr += "           break; " & vbCrLf
  282.             mStr += "       case 'imgBold' :" & vbCrLf
  283.             mStr += "     mImage = 'bold_off.gif';" & vbCrLf
  284.             mStr += "         break;" & vbCrLf
  285.             mStr += "       case 'imgItalic' :" & vbCrLf
  286.             mStr += "           mImage = 'italic_off.gif';" & vbCrLf
  287.             mStr += "           break; " & vbCrLf
  288.             mStr += "       case 'imgBoldItalic' :" & vbCrLf
  289.             mStr += "           mImage = 'bolditalicunderline_off.gif';" & vbCrLf
  290.             mStr += "           break; " & vbCrLf
  291.             mStr += "" & vbCrLf
  292.             mStr += "       case 'imgSuperScript' :" & vbCrLf
  293.             mStr += "           mImage = 'superscript_off.gif'" & vbCrLf
  294.             mStr += "           break;" & vbCrLf
  295.             mStr += " case 'imgSubScript' :" & vbCrLf
  296.             mStr += "         mImage = 'subscript_off.gif'" & vbCrLf
  297.             mStr += "           break;" & vbCrLf
  298.             mStr += "       case 'imgSpecialChar' :" & vbCrLf
  299.             mStr += "           mImage = 'specialchars_off.gif'" & vbCrLf
  300.             mStr += "           break;" & vbCrLf
  301.             mStr += " case 'imgSave':" & vbCrLf
  302.             mStr += "         mImage = 'save_off.gif'" & vbCrLf
  303.             mStr += "           break;" & vbCrLf
  304.             mStr += " case 'imgUnderLine' :" & vbCrLf
  305.             mStr += "         mImage = 'underline_off.gif';" & vbCrLf
  306.             mStr += "           break; " & vbCrLf
  307.             mStr += "       case 'imgStrikeThrough' :" & vbCrLf
  308.             mStr += "           mImage = 'strikethrough_off.gif';" & vbCrLf
  309.             mStr += "           break; " & vbCrLf
  310.             mStr += "       case 'imgAlignLeft' :" & vbCrLf
  311.             mStr += "           mImage = 'alignleft_off.gif';" & vbCrLf
  312.             mStr += "           break; " & vbCrLf
  313.             mStr += "       case 'imgAlignRight' :" & vbCrLf
  314.             mStr += "           mImage = 'alignright_off.gif';" & vbCrLf
  315.             mStr += "           break; " & vbCrLf
  316.             mStr += "       case 'imgAlignCenter' :" & vbCrLf
  317.             mStr += "           mImage = 'aligncenter_off.gif';" & vbCrLf
  318.             mStr += "           break; " & vbCrLf
  319.             mStr += "       case 'imgAlignJustify' :" & vbCrLf
  320.             mStr += "           mImage = 'alignjustify_off.gif';" & vbCrLf
  321.             mStr += "           break; " & vbCrLf
  322.             mStr += " case 'imgCut' :" & vbCrLf
  323.             mStr += "         mImage = 'cut_off.gif';" & vbCrLf
  324.             mStr += "           break; " & vbCrLf
  325.             mStr += "       case 'imgCopy' :" & vbCrLf
  326.             mStr += "           mImage = 'copy_off.gif';" & vbCrLf
  327.             mStr += "           break; " & vbCrLf
  328.             mStr += "       case 'imgPaste' :" & vbCrLf
  329.             mStr += " mImage = 'paste_off.gif';" & vbCrLf
  330.             mStr += "         break; " & vbCrLf
  331.             mStr += "       case 'imgImage' :" & vbCrLf
  332.             mStr += "           mImage = 'image_off.gif';" & vbCrLf
  333.             mStr += "           break; " & vbCrLf
  334.             mStr += "       case 'imgLink' :" & vbCrLf
  335.             mStr += "           mImage = 'link_off.gif';" & vbCrLf
  336.             mStr += "           break; " & vbCrLf
  337.             mStr += "       case 'imgLine' :" & vbCrLf
  338.             mStr += "           mImage = 'line_off.gif';" & vbCrLf
  339.             mStr += "           break; " & vbCrLf
  340.             mStr += "" & vbCrLf
  341.             mStr += "       case 'imgUndo' :" & vbCrLf
  342.             mStr += "           mImage = 'undo_off.gif';" & vbCrLf
  343.             mStr += "           break; " & vbCrLf
  344.             mStr += "       case 'imgRedo' :" & vbCrLf
  345.             mStr += "           mImage = 'redo_off.gif';" & vbCrLf
  346.             mStr += "           break; " & vbCrLf
  347.             mStr += "       case 'imgOrderList' :" & vbCrLf
  348.             mStr += "           mImage = 'orderedlist_off.gif';" & vbCrLf
  349.             mStr += "           break; " & vbCrLf
  350.             mStr += "       case 'imgUnOrderList' :" & vbCrLf
  351.             mStr += "           mImage = 'unorderedlist_off.gif';" & vbCrLf
  352.             mStr += "           break;  " & vbCrLf
  353.             mStr += "       case 'imgOutdent' :" & vbCrLf
  354.             mStr += "           mImage = 'outdent_off.gif';" & vbCrLf
  355.             mStr += "           break;  " & vbCrLf
  356.             mStr += "       case 'imgIndent' :" & vbCrLf
  357.             mStr += "           mImage = 'indent_off.gif';" & vbCrLf
  358.             mStr += "           break;  " & vbCrLf
  359.             mStr += "       case 'imgHighLight' :" & vbCrLf
  360.             mStr += "           mImage = 'highlight_off.gif';" & vbCrLf
  361.             mStr += "           break; " & vbCrLf
  362.             mStr += "       case 'imgFontColor' :" & vbCrLf
  363.             mStr += "           mImage = 'fontcolor_off.gif';" & vbCrLf
  364.             mStr += "           break; " & vbCrLf
  365.             mStr += "     case 'imgCustom' :" & vbCrLf
  366.             mStr += "         mImage = 'customtag_off.gif';" & vbCrLf
  367.             mStr += "         break; " & vbCrLf
  368.             mStr += "       default :" & vbCrLf
  369.             mStr += "           mImage = ctrl.src; " & vbCrLf
  370.             mStr += "   }" & vbCrLf
  371.             mStr += "   var mNewImage = new Image();" & vbCrLf
  372.             mStr += "   mNewImage.src = '" & mIconsPath & "/' + mImage ;" & vbCrLf
  373.             mStr += "   if (! (mImage == ctrl.src) ) " & vbCrLf
  374.             mStr += "       ctrl.src = mNewImage.src;" & vbCrLf
  375.             'mStr += "   ctrl.style.borderColor = '#D6D3CE';  " & vbCrLf
  376.             'mStr += "   ctrl.style.backgroundColor = '#D6D3CE';" & vbCrLf
  377.             mStr += "}" & vbCrLf
  378.             mStr += "</Script>" & vbCrLf
  379.             Return (mStr & vbCrLf)
  380.         End Function
  381.         Private Function GenerateSelDown_UpScript() As String
  382.             Dim mStr As String
  383.             mStr = "<Script Language=""javascript"">" & vbCrLf
  384.             mStr += "function selDown(ctrl)" & vbCrLf
  385.             mStr += "{" & vbCrLf
  386.             mStr += "   ctrl.style.backgroundColor = '" & ColorTranslator.ToHtml(Me.mButtonBackColor) & "';" & vbCrLf
  387.             mStr += "}" & vbCrLf
  388.             mStr += "function selUp(ctrl)" & vbCrLf
  389.             mStr += "{" & vbCrLf
  390.             mStr += "   ctrl.style.backgroundColor = '" & ColorTranslator.ToHtml(Me.mButtonBackColor) & "';" & vbCrLf
  391.             mStr += "}" & vbCrLf
  392.             mStr += "</Script>" & vbCrLf
  393.             Return (mStr & vbCrLf)
  394.         End Function
  395.         Private Function GenerateCommandScript() As String
  396.             Dim mStr As String
  397.             mStr = "<Script Language=""javascript"">" & vbCrLf
  398.             mStr += "function doCommand(ctrl)" & vbCrLf
  399.             mStr += "{" & vbCrLf
  400.             mStr += "   //BackColor" & vbCrLf
  401.             mStr += "   var mCommand, uInterface, vValue;" & vbCrLf
  402.             mStr += "switch(ctrl.id)" & vbCrLf
  403.             mStr += "{ " & vbCrLf
  404.             mStr += "   case 'imgSuperScript' :" & vbCrLf
  405.             mStr += "     mCommand = 'superscript'; " & vbCrLf
  406.             mStr += "     uInterface = false;" & vbCrLf
  407.             mStr += " vValue = null;" & vbCrLf
  408.             mStr += " break;" & vbCrLf
  409.             mStr += " case 'imgSubScript' :" & vbCrLf
  410.             mStr += "     mCommand = 'subscript'; " & vbCrLf
  411.             mStr += "     uInterface = false;" & vbCrLf
  412.             mStr += "     vValue = null;" & vbCrLf
  413.             mStr += "     break;" & vbCrLf
  414.             mStr += "   case 'imgBold' :" & vbCrLf
  415.             mStr += "     mCommand = 'bold'; " & vbCrLf
  416.             mStr += "     uInterface = false;" & vbCrLf
  417.             mStr += "     vValue = null;" & vbCrLf
  418.             mStr += "     break;" & vbCrLf
  419.             mStr += "   case 'imgItalic' :" & vbCrLf
  420.             mStr += "     mCommand = 'italic'; " & vbCrLf
  421.             mStr += "     uInterface = false;" & vbCrLf
  422.             mStr += "     vValue = null;" & vbCrLf
  423.             mStr += "     break; " & vbCrLf
  424.             mStr += "   case 'imgBoldItalic' :" & vbCrLf
  425.             mStr += "     doCommand (document.all['imgBold'])" & vbCrLf
  426.             mStr += "     doCommand (document.all['imgItalic'])" & vbCrLf
  427.             mStr += "     doCommand (document.all['imgUnderLine'])" & vbCrLf
  428.             mStr += "     break;" & vbCrLf
  429.             mStr += "   case 'imgUnderLine' :" & vbCrLf
  430.             mStr += "     mCommand = 'underline'; " & vbCrLf
  431.             mStr += "     uInterface = false;" & vbCrLf
  432.             mStr += "     vValue = null;" & vbCrLf
  433.             mStr += "     break; " & vbCrLf
  434.             mStr += "   case 'imgStrikeThrough' :" & vbCrLf
  435.             mStr += "     mCommand = 'strikethrough'; " & vbCrLf
  436.             mStr += "     uInterface = false;" & vbCrLf
  437.             mStr += "     vValue = null;" & vbCrLf
  438.             mStr += "     break; " & vbCrLf
  439.             mStr += "   case 'imgAlignLeft' :" & vbCrLf
  440.             mStr += "     mCommand = 'justifyleft'; " & vbCrLf
  441.             mStr += "     uInterface = false;" & vbCrLf
  442.             mStr += "     vValue = null;" & vbCrLf
  443.             mStr += "     break; " & vbCrLf
  444.             mStr += "   case 'imgAlignRight' :" & vbCrLf
  445.             mStr += "     mCommand = 'justifyright';" & vbCrLf
  446.             mStr += "     uInterface = false;" & vbCrLf
  447.             mStr += "     vValue = null;" & vbCrLf
  448.             mStr += "     break; " & vbCrLf
  449.             mStr += "   case 'imgAlignCenter' :" & vbCrLf
  450.             mStr += "     mCommand = 'justifycenter';" & vbCrLf
  451.             mStr += "     uInterface = false;" & vbCrLf
  452.             mStr += "     vValue = null;" & vbCrLf
  453.             mStr += "     break; " & vbCrLf
  454.             mStr += "   case 'imgAlignJustify' :" & vbCrLf
  455.             mStr += "     mCommand = 'justifyfull';" & vbCrLf
  456.             mStr += "     uInterface = false;" & vbCrLf
  457.             mStr += "     vValue = null;" & vbCrLf
  458.             mStr += "     break; " & vbCrLf
  459.             mStr += "   case 'imgCut' :" & vbCrLf
  460.             mStr += "     mCommand = 'cut';" & vbCrLf
  461.             mStr += "     uInterface = false;" & vbCrLf
  462.             mStr += "     vValue = null;" & vbCrLf
  463.             mStr += "     break; " & vbCrLf
  464.             mStr += "   case 'imgCopy' :" & vbCrLf
  465.             mStr += "     mCommand = 'copy';" & vbCrLf
  466.             mStr += "     uInterface = false;" & vbCrLf
  467.             mStr += "     vValue = null;" & vbCrLf
  468.             mStr += "     break; " & vbCrLf
  469.             mStr += "   case 'imgPaste' :" & vbCrLf
  470.             mStr += "     mCommand = 'paste';" & vbCrLf
  471.             mStr += "     uInterface = false;" & vbCrLf
  472.             mStr += "     vValue = null;" & vbCrLf
  473.             mStr += "     break; " & vbCrLf
  474.             mStr += "   case 'imgImage' :" & vbCrLf
  475.             mStr += "     //Note that if we set UserInterface to true and vValue to null, then" & vbCrLf
  476.             mStr += "     //A Dialogue will appear asking for Image location." & vbCrLf
  477.             mStr += "     mCommand = 'insertimage';" & vbCrLf
  478.             mStr += "     uInterface = true;" & vbCrLf
  479.             mStr += "     vValue = null;" & vbCrLf
  480.             mStr += "     break; " & vbCrLf
  481.             mStr += " case 'imgLink' :" & vbCrLf
  482.             mStr += "     mCommand = 'createlink';" & vbCrLf
  483.             mStr += "     uInterface = true;" & vbCrLf
  484.             mStr += "     vValue = null;" & vbCrLf
  485.             mStr += " break; " & vbCrLf
  486.             mStr += " case 'imgLine' :" & vbCrLf
  487.             mStr += " mCommand = 'inserthorizontalrule';" & vbCrLf
  488.             mStr += " uInterface = false;" & vbCrLf
  489.             mStr += " vValue = null;" & vbCrLf
  490.             mStr += " break; " & vbCrLf
  491.             mStr += " case 'imgUndo' :" & vbCrLf
  492.             mStr += " mCommand = 'undo';" & vbCrLf
  493.             mStr += " uInterface = false;" & vbCrLf
  494.             mStr += " vValue = null;" & vbCrLf
  495.             mStr += " break; " & vbCrLf
  496.             mStr += " case 'imgRedo' :" & vbCrLf
  497.             mStr += " mCommand = 'redo';" & vbCrLf
  498.             mStr += " uInterface = false;" & vbCrLf
  499.             mStr += " vValue = null;" & vbCrLf
  500.             mStr += " break; " & vbCrLf
  501.             mStr += " case 'imgOrderList' :" & vbCrLf
  502.             mStr += " mCommand = 'insertorderedlist';" & vbCrLf
  503.             mStr += " uInterface = false;" & vbCrLf
  504.             mStr += " vValue = null;" & vbCrLf
  505.             mStr += " break; " & vbCrLf
  506.             mStr += " case 'imgUnOrderList' :" & vbCrLf
  507.             mStr += " mCommand = 'insertunorderedlist';" & vbCrLf
  508.             mStr += " uInterface = false;" & vbCrLf
  509.             mStr += " vValue = null;" & vbCrLf
  510.             mStr += " break; " & vbCrLf
  511.             mStr += " case 'imgOutdent' :" & vbCrLf
  512.             mStr += " mCommand = 'outdent';" & vbCrLf
  513.             mStr += " uInterface = false;" & vbCrLf
  514.             mStr += " vValue = null;" & vbCrLf
  515.             mStr += " break; " & vbCrLf
  516.             mStr += " case 'imgIndent' :" & vbCrLf
  517.             mStr += " mCommand = 'indent';" & vbCrLf
  518.             mStr += " uInterface = false;" & vbCrLf
  519.             mStr += " vValue = null;" & vbCrLf
  520.             mStr += " break;" & vbCrLf
  521.             mStr += " case 'lstStyle' :" & vbCrLf
  522.             mStr += " mCommand = 'formatblock';" & vbCrLf
  523.             mStr += " vValue = ctrl.options[ctrl.selectedIndex].value ;" & vbCrLf
  524.             mStr += " uInterface = false;" & vbCrLf
  525.             mStr += " break;" & vbCrLf
  526.             'TODO List Font is not working, Check here
  527.             mStr += " case 'lstFontSize' :" & vbCrLf
  528.             mStr += " mCommand = 'fontsize';" & vbCrLf
  529.             mStr += " vValue = ctrl.options[ctrl.selectedIndex].value ;" & vbCrLf
  530.             mStr += " uInterface = false;" & vbCrLf
  531.             mStr += " break;" & vbCrLf
  532.             mStr += " case 'lstFont' :" & vbCrLf
  533.             mStr += " mCommand = 'fontname';" & vbCrLf
  534.             mStr += " vValue = ctrl.options[ctrl.selectedIndex].value ; " & vbCrLf
  535.             mStr += " uInterface = false;" & vbCrLf
  536.             mStr += " break;" & vbCrLf
  537.             mStr += " case 'lstColor' :" & vbCrLf
  538.             mStr += " mCommand = 'forecolor';" & vbCrLf
  539.             mStr += " vValue = ctrl.options[ctrl.selectedIndex].value ; " & vbCrLf
  540.             mStr += " uInterface = false;" & vbCrLf
  541.             mStr += " break; " & vbCrLf
  542.             mStr += " case 'imgDelete' :" & vbCrLf
  543.             mStr += " mCommand = 'delete';" & vbCrLf
  544.             mStr += " vValue = null;" & vbCrLf
  545.             mStr += " uInterface = false;" & vbCrLf
  546.             mStr += " break;" & vbCrLf
  547.             mStr += " case 'imgPrint' :" & vbCrLf
  548.             mStr += " mCommand = 'delete';" & vbCrLf
  549.             mStr += " vValue = null;" & vbCrLf
  550.             mStr += " uInterface = true; " & vbCrLf
  551.             mStr += " break;" & vbCrLf
  552.             mStr += " case 'imgSave' :" & vbCrLf
  553.             mStr += " mCommand = 'saveas';" & vbCrLf
  554.             mStr += " vValue = null;" & vbCrLf
  555.             mStr += " uInterface = true; " & vbCrLf
  556.             mStr += " break;" & vbCrLf
  557.             mStr += " case 'imgCustom' : " & vbCrLf
  558.             mStr += " var temp = table2.style.display;" & vbCrLf
  559.             mStr += " if (temp == 'none')" & vbCrLf
  560.             mStr += " {" & vbCrLf
  561.             mStr += " var mTemp1 = RTFEdit_" & Me.UniqueID & ".document.body.innerText;" & vbCrLf
  562.             mStr += " table1.style.display = 'inline';" & vbCrLf
  563.             mStr += " table2.style.display = 'inline'; " & vbCrLf
  564.             mStr += " RTFEdit_" & Me.UniqueID & ".document.body.innerHTML = mTemp1;" & vbCrLf
  565.             mStr += " }" & vbCrLf
  566.             mStr += "     else" & vbCrLf
  567.             mStr += " { " & vbCrLf
  568.             mStr += " //First Set the  HTMLText in the TextBox" & vbCrLf
  569.             mStr += " var mTemp = RTFEdit_" & Me.UniqueID & ".document.body.innerHTML;" & vbCrLf
  570.             mStr += " table1.style.display = 'none';" & vbCrLf
  571.             mStr += " table2.style.display = 'none'; " & vbCrLf
  572.             mStr += " RTFEdit_" & Me.UniqueID & ".document.body.innerText = mTemp;  " & vbCrLf
  573.             mStr += " }" & vbCrLf
  574.             mStr += " break; " & vbCrLf
  575.             mStr += " case 'imgFontColor' :" & vbCrLf
  576.             mStr += " var oldcolor = GetEditBoxColor('forecolor');     " & vbCrLf
  577.             mStr += " mCommand = 'forecolor';" & vbCrLf
  578.             mStr += " uInterface = false;" & vbCrLf
  579.             mStr += " vValue = GetColorFromUser(oldcolor);" & vbCrLf
  580.             mStr += " break;" & vbCrLf
  581.             mStr += " case 'imgHighLight' : " & vbCrLf
  582.             mStr += " var oldcolor = GetEditBoxColor('backcolor');     " & vbCrLf
  583.             mStr += " mCommand = 'backcolor';" & vbCrLf
  584.             mStr += " uInterface = false;" & vbCrLf
  585.             mStr += " vValue = GetColorFromUser(oldcolor); " & vbCrLf
  586.             mStr += " break;" & vbCrLf
  587.             'TODO Insert Special Characters
  588.             mStr += " case 'imgSpecialChar' :" & vbCrLf
  589.             mStr += " alert ('Special Characters will be provided soon.');" & vbCrLf
  590.             mStr += " return;     " & vbCrLf
  591.             mStr += " break;" & vbCrLf
  592.             mStr += " case 'imgSmile' :" & vbCrLf
  593.             mStr += " var posX    = event.screenX;" & vbCrLf
  594.             mStr += " var posY    = event.screenY + 20;" & vbCrLf
  595.             mStr += " var screenW = screen.width;                                 // screen size" & vbCrLf
  596.             mStr += " var screenH = screen.height - 20;                           // take taskbar into account" & vbCrLf
  597.             mStr += " //if (posX + 232 > screenW) { posX = posX - 232 - 40; }       // if mouse too far right" & vbCrLf
  598.             mStr += " //if (posY + 164 > screenH) { posY = posY - 164 - 80; }       // if mouse too far down" & vbCrLf
  599.             mStr += " var wPosition   = 'dialogLeft:' +posX+ '; dialogTop:' +posY;" & vbCrLf
  600.             mStr += " var newimage = showModalDialog('" & Me.mSmilesFilePath & "', ''," & vbCrLf
  601.             mStr += "             'dialogWidth:" & Me.EmotionsDialogueWidth & "px; dialogHeight: " & Me.EmotionsDialogueHeight & "px; '" & vbCrLf
  602.             mStr += " + 'resizable: no; help: no; status: no; scroll: no; '" & vbCrLf
  603.             mStr += " + wPosition); " & vbCrLf
  604.             'mStr += " var firstpart = location.href ;" & vbCrLf
  605.             'mStr += " var firstpart = firstpart.substr(0, firstpart.lastIndexOf('/'))" & vbCrLf
  606.             mStr += "       if (newimage == null) return;"
  607.             mStr += " newimage = '" & Me.mSmilesPath & "' + '/' + newimage;" & vbCrLf
  608.             mStr += " mCommand = 'insertimage';" & vbCrLf
  609.             mStr += " vValue = newimage;" & vbCrLf
  610.             mStr += " uInterface = false; " & vbCrLf
  611.             mStr += " break;" & vbCrLf
  612.             mStr += " break ;" & vbCrLf
  613.             'TODO Insert About Dialogue
  614.             mStr += " case 'imgAbout' :" & vbCrLf
  615.             mStr += " alert ('HTML Area. Created by Sameers (theAngrycodeR)');" & vbCrLf
  616.             mStr += " break;" & vbCrLf
  617.             mStr += "}" & vbCrLf
  618.             mStr += " RTFEdit_" & Me.UniqueID & ".focus ();" & vbCrLf
  619.             mStr += " RTFEdit_" & Me.UniqueID & ".document.execCommand (mCommand, uInterface, vValue);" & vbCrLf
  620.             mStr += " RTFEdit_" & Me.UniqueID & ".focus ();" & vbCrLf
  621.             mStr += "} " & vbCrLf
  622.             mStr += "function GetColorFromUser(oldcolor)" & vbCrLf
  623.             mStr += "{" & vbCrLf
  624.             mStr += " var posX    = event.screenX;" & vbCrLf
  625.             mStr += " var posY    = event.screenY + 20;" & vbCrLf
  626.             mStr += " var screenW = screen.width;                                 // screen size" & vbCrLf
  627.             mStr += " var screenH = screen.height - 20;                           // take taskbar into account" & vbCrLf
  628.             mStr += " if (posX + 232 > screenW) { posX = posX - 232 - 40; }       // if mouse too far right" & vbCrLf
  629.             mStr += " if (posY + 164 > screenH) { posY = posY - 164 - 80; }       // if mouse too far down" & vbCrLf
  630.             mStr += " var wPosition   = 'dialogLeft:' +posX+ '; dialogTop:' +posY;" & vbCrLf
  631.             mStr += " var newcolor = showModalDialog('" & Me.mColorFilePath & "', oldcolor," & vbCrLf
  632.             mStr += "         'dialogWidth:238px; dialogHeight: 187px; '" & vbCrLf
  633.             mStr += " + 'resizable: no; help: no; status: no; scroll: no; '" & vbCrLf
  634.             mStr += " + wPosition);" & vbCrLf
  635.             mStr += "         return newcolor" & vbCrLf
  636.             mStr += "}" & vbCrLf
  637.             mStr += "function GetEditBoxColor(colorCommand)" & vbCrLf
  638.             mStr += "{" & vbCrLf
  639.             mStr += " return DecimalToRGB(RTFEdit_" & Me.UniqueID & ".document.queryCommandValue(colorCommand));" & vbCrLf
  640.             mStr += "}" & vbCrLf
  641.             mStr += "function DecimalToRGB(value) {" & vbCrLf
  642.             mStr += " var hex_string = '';" & vbCrLf
  643.             mStr += " for (var hexpair = 0; hexpair < 3; hexpair++) {" & vbCrLf
  644.             mStr += "    var byte = value & 0xFF;            // get low byte" & vbCrLf
  645.             mStr += "     value >>= 8;                        // drop low byte" & vbCrLf
  646.             mStr += "     var nybble2 = byte & 0x0F;          // get low nybble (4 bits)" & vbCrLf
  647.             mStr += "     var nybble1 = (byte >> 4) & 0x0F;   // get high nybble" & vbCrLf
  648.             mStr += "     hex_string += nybble1.toString(16); // convert nybble to hex" & vbCrLf
  649.             mStr += "     hex_string += nybble2.toString(16); // convert nybble to hex" & vbCrLf
  650.             mStr += "   }" & vbCrLf
  651.             mStr += " return hex_string.toUpperCase();" & vbCrLf
  652.             mStr += "}" & vbCrLf
  653.             mStr += "</Script>" & vbCrLf
  654.             Return (mStr & vbCrLf)
  655.         End Function
  656.         Private Function GenerateHTMLAreaBody() As String
  657.             Dim mStr As String
  658.             'Start of Main Table which will have three tables
  659.             mStr = "<TABLE align=""center"" class=""tblTable"" cellpadding=0 cellspacing=0>" & vbCrLf
  660.             mStr += "<TR>" & vbCrLf
  661.             mStr += "<TD class=""tdClass"">" & vbCrLf
  662.             'Start Making Frist Table (ie First Row of Toolbar) & vbCrLf
  663.             mStr += " <TABLE id=""table1"" class=""tblTable"">" & vbCrLf
  664.             mStr += " <TR>" & vbCrLf
  665.             mStr += " <td class=""tdClass""><img ID=""imgSave"" alt=""Save"" name=""imgSave"" class=""butClass"" src=""" & mIconsPath & "/save_off.gif"" onMouseOver=""selOn(this)"" onMouseOut=""selOff(this)"" onMouseDown=""selDown(this)"" onMouseUp=""selUp(this)"" onClick=""doCommand(this)""></td>" & vbCrLf
  666.             mStr += " <td class=""tdClass""><img ID=""imgUndo"" alt=""Undo"" name=""imgUndo"" class=""butClass"" src=""" & mIconsPath & "/undo_off.gif"" onMouseOver=""selOn(this)"" onMouseOut=""selOff(this)"" onMouseDown=""selDown(this)"" onMouseUp=""selUp(this)"" onClick=""doCommand(this)""></td>" & vbCrLf
  667.             mStr += " <td class=""tdClass""><img ID=""imgRedo"" alt=""Redo"" name=""imgRedo"" class=""butClass"" src=""" & mIconsPath & "/redo_off.gif"" onMouseOver=""selOn(this)"" onMouseOut=""selOff(this)"" onMouseDown=""selDown(this)"" onMouseUp=""selUp(this)"" onClick=""doCommand(this)""></td>" & vbCrLf
  668.             mStr += " <td class=""tdClass""><img ID=""imgSubScript"" alt=""Subscript"" name=""imgSubScript"" class=""butClass"" src=""" & mIconsPath & "/subscript_off.gif"" onMouseOver=""selOn(this)"" onMouseOut=""selOff(this)"" onMouseDown=""selDown(this)"" onMouseUp=""selUp(this)"" onClick=""doCommand(this)""></td>" & vbCrLf
  669.             mStr += " <td class=""tdClass""><img ID=""imgSuperScript"" alt=""SuperScript"" name=""imgSuperScript"" class=""butClass"" src=""" & mIconsPath & "/superscript_off.gif"" onMouseOver=""selOn(this)"" onMouseOut=""selOff(this)"" onMouseDown=""selDown(this)"" onMouseUp=""selUp(this)"" onClick=""doCommand(this)""></td>" & vbCrLf
  670.             mStr += " <td class=""tdClass""><img ID=""imgOrderList"" alt=""Ordered List"" name=""imgOrderList"" class=""butClass"" src=""" & mIconsPath & "/orderedlist_off.gif"" onMouseOver=""selOn(this)"" onMouseOut=""selOff(this)"" onMouseDown=""selDown(this)"" onMouseUp=""selUp(this)"" onClick=""doCommand(this)""></td>" & vbCrLf
  671.             mStr += " <td class=""tdClass""><img ID=""imgUnOrderList"" alt=""Unordered List"" name=""imgUnOrderList"" class=""butClass"" src=""" & mIconsPath & "/unorderedlist_off.gif"" onMouseOver=""selOn(this)"" onMouseOut=""selOff(this)"" onMouseDown=""selDown(this)"" onMouseUp=""selUp(this)"" onClick=""doCommand(this)""></td>" & vbCrLf
  672.             mStr += " <td class=""tdClass""><img alt=""Outdent"" ID=""imgOutdent"" name=""imgOutdent"" class=""butClass"" src=""" & mIconsPath & "/outdent_off.gif"" onMouseOver=""selOn(this)"" onMouseOut=""selOff(this)"" onMouseDown=""selDown(this)"" onMouseUp=""selUp(this)"" onClick=""doCommand(this)""></td>" & vbCrLf
  673.             mStr += " <td class=""tdClass""><img alt=""Indent"" ID=""imgIndent"" name=""imgIndent"" class=""butClass"" src=""" & mIconsPath & "/indent_off.gif"" onMouseOver=""selOn(this)"" onMouseOut=""selOff(this)"" onMouseDown=""selDown(this)"" onMouseUp=""selUp(this)"" onClick=""doCommand(this)""></td>" & vbCrLf
  674.             mStr += " <td class=""tdClass""> <!-- Insert the Style List -->" & vbCrLf
  675.             mStr += " <select id=""lstStyle"" width=30px onChange=""doCommand(this);"">" & vbCrLf
  676.             mStr += " <option value=""paragraph"">Paragraph</option>" & vbCrLf
  677.             mStr += " <option value=""Heading 1"">H1</option>" & vbCrLf
  678.             mStr += " <option value=""Heading 2"">H2</option>" & vbCrLf
  679.             mStr += " <option value=""Heading 3"">H3</option>" & vbCrLf
  680.             mStr += " <option value=""Heading 4"">H4</option>" & vbCrLf
  681.             mStr += " <option value=""Heading 5"">H5</option>" & vbCrLf
  682.             mStr += " <option value=""Heading 6"">H6</option>" & vbCrLf
  683.             mStr += " <option value=""Heading 7"">H7</option>" & vbCrLf
  684.             mStr += " </select>" & vbCrLf
  685.             mStr += " </td>" & vbCrLf
  686.             mStr += " <td class=""tdClass"">" & vbCrLf
  687.             mStr += " <Select id=""lstFont"" name=""lstFont"" width=30px onChange=""doCommand(this);"">" & vbCrLf
  688.             mStr += " <option value=""Arial"">Arial</option>" & vbCrLf
  689.             mStr += " <option value=""Courier"">Courier</option>" & vbCrLf
  690.             mStr += " <option value=""Sans Serif"">Sans Serif</option>" & vbCrLf
  691.             mStr += " <option value=""Tahoma"">Tahoma</option>" & vbCrLf
  692.             mStr += " <option value=""Verdana"">Verdana</option>" & vbCrLf
  693.             mStr += " <option value=""Wingdings"">Wingdings</option>" & vbCrLf
  694.             mStr += " </Select>" & vbCrLf
  695.             mStr += " </td>" & vbCrLf
  696.             mStr += " <td class=""tdClass"">" & vbCrLf
  697.             mStr += " <select id=""lstFontSize"" onChange=""doCommand(this);"" width=30px>" & vbCrLf
  698.             mStr += " <option value=1>Very Small</option>" & vbCrLf
  699.             mStr += " <option value=2>Small</option>" & vbCrLf
  700.             mStr += " <option value=3>Medium</option>" & vbCrLf
  701.             mStr += " <option value=4>Large</option>" & vbCrLf
  702.             mStr += " <option value=5>Larger</option>" & vbCrLf
  703.             mStr += " <option value=6>Very Large</option>" & vbCrLf
  704.             mStr += " <option value=7>Extra Large</option>" & vbCrLf
  705.             mStr += " </select>" & vbCrLf
  706.             mStr += " </td>" & vbCrLf
  707.             mStr += " </TR>" & vbCrLf
  708.             mStr += " </TABLE>" & vbCrLf
  709.             'End of First Table
  710.             mStr += "</TD>" & vbCrLf
  711.             mStr += "</TR>" & vbCrLf
  712.             'Create Second Table Now
  713.             mStr += " <TR>" & vbCrLf
  714.             mStr += " <TD class=""tdClass"">" & vbCrLf
  715.             mStr += " <TABLE id=""table2"" class=""tblTable"">" & vbCrLf
  716.             mStr += " <TR>" & vbCrLf
  717.             mStr += " <TD class=""tdClass"">" & vbCrLf
  718.             mStr += " <td class=""tdClass""><img ID=""imgBold"" alt=""Bold"" name=""imgBold"" class=""butClass"" src=""" & mIconsPath & "/bold_off.gif"" onMouseOver=""selOn(this)"" onMouseOut=""selOff(this)"" onMouseDown=""selDown(this)"" onMouseUp=""selUp(this)"" onClick=""doCommand(this)""></td>" & vbCrLf
  719.             mStr += " <td class=""tdClass""><img ID=""imgItalic"" alt=""Italic"" name=""imgItalic"" class=""butClass"" src=""" & mIconsPath & "/italic_off.gif"" onMouseOver=""selOn(this)"" onMouseOut=""selOff(this)"" onMouseDown=""selDown(this)"" onMouseUp=""selUp(this)"" onClick=""doCommand(this)""></td>" & vbCrLf
  720.             mStr += " <td class=""tdClass""><img ID=""imgUnderLine"" alt=""Underline"" name=""imgUnderLine"" class=""butClass"" src=""" & mIconsPath & "/underline_off.gif"" onMouseOver=""selOn(this)"" onMouseOut=""selOff(this)"" onMouseDown=""selDown(this)"" onMouseUp=""selUp(this)"" onClick=""doCommand(this)""></td>" & vbCrLf
  721.             mStr += " <td class=""tdClass""><img ID=""imgBoldItalic"" alt=""Bold Italic UnderLine"" name=""imgBoldItalic"" class=""butClass"" src=""" & mIconsPath & "/bolditalicunderline_off.gif"" onMouseOver=""selOn(this)"" onMouseOut=""selOff(this)"" onMouseDown=""selDown(this)"" onMouseUp=""selUp(this)"" onClick=""doCommand(this)""></td>" & vbCrLf
  722.             mStr += " <td class=""tdClass""><img ID=""imgStrikeThrough"" alt=""Strike Trhough"" name=""imgStrikeThrough"" class=""butClass"" src=""" & mIconsPath & "/strikethrough_off.gif"" onMouseOver=""selOn(this)"" onMouseOut=""selOff(this)"" onMouseDown=""selDown(this)"" onMouseUp=""selUp(this)"" onClick=""doCommand(this)""></td>" & vbCrLf
  723.             mStr += " <td class=""tdClass""><img src=""" & mIconsPath & "/separator.gif""></td>" & vbCrLf
  724.             mStr += " <td class=""tdClass""><img ID=""imgAlignLeft"" alt=""Left Align"" name=""imgAlignLeft"" class=""butClass"" src=""" & mIconsPath & "/alignleft_off.gif"" onMouseOver=""selOn(this)"" onMouseOut=""selOff(this)"" onMouseDown=""selDown(this)"" onMouseUp=""selUp(this)"" onClick=""doCommand(this)""></td>" & vbCrLf
  725.             mStr += " <td class=""tdClass""><img ID=""imgAlignCenter"" alt=""Center Align"" name=""imgAlignCenter"" class=""butClass"" src=""" & mIconsPath & "/aligncenter_off.gif"" onMouseOver=""selOn(this)"" onMouseOut=""selOff(this)"" onMouseDown=""selDown(this)"" onMouseUp=""selUp(this)"" onClick=""doCommand(this)""></td>" & vbCrLf
  726.             mStr += " <td class=""tdClass""><img ID=""imgAlignRight"" alt=""Right Align"" name=""imgAlignRight"" class=""butClass"" src=""" & mIconsPath & "/alignright_off.gif"" onMouseOver=""selOn(this)"" onMouseOut=""selOff(this)"" onMouseDown=""selDown(this)"" onMouseUp=""selUp(this)"" onClick=""doCommand(this)""></td>" & vbCrLf
  727.             mStr += " <td class=""tdClass""><img ID=""imgAlignJustify"" alt=""Justify"" name=""imgAlignJustify"" class=""butClass"" src=""" & mIconsPath & "/alignjustify_off.gif"" onMouseOver=""selOn(this)"" onMouseOut=""selOff(this)"" onMouseDown=""selDown(this)"" onMouseUp=""selUp(this)"" onClick=""doCommand(this)""></td>" & vbCrLf
  728.             mStr += " <td class=""tdClass""><img src=""" & mIconsPath & "/separator.gif""></td>" & vbCrLf
  729.             mStr += " <td class=""tdClass""><img ID=""imgCut"" alt=""Cut"" name=""imgCut"" class=""butClass"" src=""" & mIconsPath & "/cut_off.gif"" onMouseOver=""selOn(this)"" onMouseOut=""selOff(this)"" onMouseDown=""selDown(this)"" onMouseUp=""selUp(this)"" onClick=""doCommand(this)""></td>" & vbCrLf
  730.             mStr += " <td class=""tdClass""><img ID=""imgCopy"" alt=""Copy"" name=""imgCopy"" class=""butClass"" src=""" & mIconsPath & "/copy_off.gif"" onMouseOver=""selOn(this)"" onMouseOut=""selOff(this)"" onMouseDown=""selDown(this)"" onMouseUp=""selUp(this)"" onClick=""doCommand(this)""></td>" & vbCrLf
  731.             mStr += " <td class=""tdClass""><img ID=""imgPaste"" alt=""Paste"" name=""imgPaste"" class=""butClass"" src=""" & mIconsPath & "/paste_off.gif"" onMouseOver=""selOn(this)"" onMouseOut=""selOff(this)"" onMouseDown=""selDown(this)"" onMouseUp=""selUp(this)"" onClick=""doCommand(this)""></td>" & vbCrLf
  732.             mStr += " <td class=""tdClass""><img ID=""imgSpecialChar"" alt=""Special Character"" name=""imgSpecialChar"" class=""butClass"" src=""" & mIconsPath & "/specialchars_off.gif"" onMouseOver=""selOn(this)"" onMouseOut=""selOff(this)"" onMouseDown=""selDown(this)"" onMouseUp=""selUp(this)"" onClick=""doCommand(this)""></td>" & vbCrLf
  733.             mStr += " <td class=""tdClass""><img src=""" & mIconsPath & "/separator.gif""></td>" & vbCrLf
  734.             mStr += " <td class=""tdClass""><img ID=""imgImage"" alt=""Insert Image"" name=""imgImage"" class=""butClass"" src=""" & mIconsPath & "/image_off.gif"" onMouseOver=""selOn(this)"" onMouseOut=""selOff(this)"" onMouseDown=""selDown(this)"" onMouseUp=""selUp(this)"" onClick=""doCommand(this)""></td>" & vbCrLf
  735.             mStr += " <td class=""tdClass""><img ID=""imgLink"" alt=""Hyper Link"" name=""imgLink"" class=""butClass"" src=""" & mIconsPath & "/link_off.gif"" onMouseOver=""selOn(this)"" onMouseOut=""selOff(this)"" onMouseDown=""selDown(this)"" onMouseUp=""selUp(this)"" onClick=""doCommand(this)""></td>" & vbCrLf
  736.             mStr += " <td class=""tdClass""><img ID=""imgLine"" alt=""Insert Line"" name=""imgLine"" class=""butClass"" src=""" & mIconsPath & "/line_off.gif"" onMouseOver=""selOn(this)"" onMouseOut=""selOff(this)"" onMouseDown=""selDown(this)"" onMouseUp=""selUp(this)"" onClick=""doCommand(this)""></td>" & vbCrLf
  737.             mStr += " <td class=""tdClass""><img ID=""imgFontColor"" alt=""Text Color"" name=""imgFontColor"" class=""butClass"" src=""" & mIconsPath & "/fontcolor_off.gif"" onMouseOver=""selOn(this)"" onMouseOut=""selOff(this)"" onMouseDown=""selDown(this)"" onMouseUp=""selUp(this)"" onClick=""doCommand(this)""></td>" & vbCrLf
  738.             mStr += " <td class=""tdClass""><img ID=""imgHighLight"" alt=""Highlight Color"" name=""imgHighLight"" class=""butClass"" src=""" & mIconsPath & "/highlight_off.gif"" onMouseOver=""selOn(this)"" onMouseOut=""selOff(this)"" onMouseDown=""selDown(this)"" onMouseUp=""selUp(this)"" onClick=""doCommand(this)""></td>" & vbCrLf
  739.             mStr += " <td class=""tdClass""><img ID=""imgSmile"" alt=""Insert Smiles"" name=""imgSmile"" class=""butClass"" src=""" & mIconsPath & "/1.gif"" onMouseOver=""selOn(this)"" onMouseOut=""selOff(this)"" onMouseDown=""selDown(this)"" onMouseUp=""selUp(this)"" onClick=""doCommand(this)""></td>" & vbCrLf
  740.             mStr += " </TR>" & vbCrLf
  741.             mStr += " </TABLE>" & vbCrLf
  742.             'End of Second Table
  743.             mStr += " </TD>" & vbCrLf
  744.             mStr += "</TR>" & vbCrLf
  745.             'Create Third Table Now
  746.             mStr += " <TR>" & vbCrLf
  747.             mStr += " <TD class=""tdClass"">" & vbCrLf
  748.             mStr += " <TABLE id=""table3"" class=""tblTable"">" & vbCrLf
  749.             mStr += " <TR>" & vbCrLf
  750.             mStr += " <TD class=""tdClass"">" & vbCrLf
  751.             'mStr += " <Form Id=""frmEdit"" name=""frmEdit"">" & vbCrLf
  752.             mStr += " <IFrame name=RTFEdit_" & Me.UniqueID & " ID=RTFEdit_" & Me.UniqueID & " class=""EditControl"" ></IFrame>" & vbCrLf
  753.             mStr += " <Input type=""hidden"" name=" & Me.UniqueID & " ID=" & Me.UniqueID & " value='" & Text & "' >" & vbCrLf
  754.             'mStr += " </Form>" & vbCrLf
  755.             mStr += " </TD>" & vbCrLf
  756.             mStr += " </TR>" & vbCrLf
  757.             mStr += " <TR>" & vbCrLf
  758.             mStr += " <td align=""right"" class=""tdClass"">" & vbCrLf
  759.             mStr += " <img alt=""HTML View"" ID=""imgCustom"" name=""imgCustom"" class=""butClass"" src=""" & mIconsPath & "/customtag_off.gif"" onMouseOver=""selOn(this)"" onMouseOut=""selOff(this)"" onMouseDown=""selDown(this)"" onMouseUp=""selUp(this)"" onClick=""doCommand(this)"">" & vbCrLf
  760.             mStr += " <img alt=""About"" ID=""imgAbout"" name=""imgAbout"" class=""butClass"" src=""" & mIconsPath & "/about_off.gif"" onMouseOver=""selOn(this)"" onMouseOut=""selOff(this)"" onMouseDown=""selDown(this)"" onMouseUp=""selUp(this)"" onClick=""doCommand(this)"">" & vbCrLf
  761.             mStr += " </td>" & vbCrLf
  762.             mStr += " </TR>" & vbCrLf
  763.             mStr += " </TABLE>" & vbCrLf
  764.             'End of Third Table, Now Close the top most table
  765.             mStr += " </TD>" & vbCrLf
  766.             mStr += " </TR>" & vbCrLf
  767.             mStr += "</TABLE>" & vbCrLf
  768.             'That's all, Now return the HTML String
  769.             Return (mStr & vbCrLf)
  770.         End Function
  771.         Private Function GeneratePostBackScript() As String
  772.             Dim mStr As String
  773.             mStr = "<Script Language=""javascript"" for=RTFEdit_" & Me.UniqueID & " event=""onblur"">" & vbCrLf
  774.             mStr += "var temp = table2.style.display;" & vbCrLf
  775.             mStr += "if (temp == 'none' ) " & vbCrLf
  776.             mStr += "   " & Me.UniqueID & ".value = RTFEdit_" & Me.UniqueID & ".document.body.innerText;" & vbCrLf
  777.             mStr += "else" & vbCrLf
  778.             mStr += "   " & Me.UniqueID & ".value = RTFEdit_" & Me.UniqueID & ".document.body.innerHTML;" & vbCrLf
  779.             mStr += "</Script>" & vbCrLf
  780.             ''Dim mStr1 As String = "RTFEdit_" & Me.UniqueID & ".document.body.innerHTML = " & Me.UniqueID & ".value ;"
  781.             mStr += "<Script Language=""javascript"" for=RTFEdit_" & Me.UniqueID & " event=""onload"">" & vbCrLf
  782.             ''mStr += "setTimeout ('" & mStr1 & "', 3000)"
  783.             'mStr += "<Script Language=javascript>"
  784.             mStr += "RTFEdit_" & Me.UniqueID & ".document.body.innerHTML = '" & Me.Text & "'"
  785.             mStr += "</Script>"
  786.             Return (mStr & vbCrLf)
  787.         End Function
  788.         'Private Function CreateColorPalatte() As String
  789.         '    Dim mStr As String
  790.         '    mStr += "<!-- note: this version of the color picker is optimized for IE 5.5+ only -->"
  791.         '    mStr += "<html><head><title>Select Color</title>"
  792.         '    mStr += "<script language=""javascript"">"
  793.         '    mStr += "function _CloseOnEsc() {"
  794.         '    mStr += "if (event.keyCode == 27) { window.close(); return; }"
  795.         '    mStr += "}"
  796.         '    mStr += "function Init() {                                                       // run on page load"
  797.         '    mStr += "document.body.onkeypress = _CloseOnEsc;"
  798.         '    mStr += "color = window.dialogArguments;"
  799.         '    mStr += "color = ValidateColor(color) || '000000';"
  800.         '    mStr += "View(color);                                                          // set default color"
  801.         '    mStr += "}"
  802.         '    mStr += "function View(color) {                  // preview color"
  803.         '    mStr += "document.all.ColorPreview.style.backgroundColor = '#' + color;"
  804.         '    mStr += "document.all.ColorHex.value = '#' + color;"
  805.         '    mStr += "}"
  806.         '    mStr += "function Set(string) {                   // select color"
  807.         '    mStr += "color = ValidateColor(string);"
  808.         '    mStr += "if (color == null) { alert('Invalid color code: ' + string); }        // invalid color"
  809.         '    mStr += "else {                                                                // valid color"
  810.         '    mStr += "View(color);                          // show selected color"
  811.         '    mStr += "window.returnValue = color;           // set return value"
  812.         '    mStr += "window.close();                       // close dialog"
  813.         '    mStr += "}"
  814.         '    mStr += "}"
  815.         '    mStr += "function ValidateColor(string) {                // return valid color code"
  816.         '    mStr += "string = string || '';"
  817.         '    mStr += "string = string + "";"
  818.         '    mStr += "string = string.toUpperCase();"
  819.         '    mStr += "chars = '0123456789ABCDEF';"
  820.         '    mStr += "out   = '';"
  821.         '    mStr += "for (i=0; i<string.length; i++) {             // remove invalid color chars"
  822.         '    mStr += "schar = string.charAt(i);"
  823.         '    mStr += "if (chars.indexOf(schar) != -1) { out += schar; }"
  824.         '    mStr += "}"
  825.         '    mStr += "if (out.length != 6) { return null; }            // check length"
  826.         '    mStr += "return out;"
  827.         '    mStr += "} "
  828.         '    mStr += "</script>"
  829.         '    mStr += "</head>"
  830.         '    mStr += "<body bgcolor=""#000000"" topmargin=0 leftmargin=0 onload=""Init()"">"
  831.         '    mStr += "<form method=get onSubmit=""Set(document.all.ColorHex.value); return false;"">"
  832.         '    mStr += "<table border=0 cellspacing=0 cellpadding=4 width=100%>"
  833.         '    mStr += "<tr>"
  834.         '    mStr += "<td bgcolor=""buttonface"" valign=center>"
  835.         '    mStr += "<div style=""background-color: #000000; padding: 1; height: 21px; width: 50px"">"
  836.         '    mStr += "<div id=""ColorPreview"" style=""height: 100%; width: 100%""></div></div>"
  837.         '    mStr += "</td>"
  838.         '    mStr += "<td id=""td1"" bgcolor=""buttonface"" valign=center>"
  839.         '    mStr += "<input type=""text"" ID=""ColorHex"" name=""ColorHex"" value="""" size=15 style=""font-size: 12px;"">"
  840.         '    mStr += "</td>"
  841.         '    mStr += "<td bgcolor=""buttonface"" width=100%></td>"
  842.         '    mStr += "</tr>"
  843.         '    mStr += "</table>"
  844.         '    mStr += "<table border=0 cellspacing=1 cellpadding=0 bgcolor=#000000 style=""cursor: hand;"">"
  845.         '    mStr += "<tr>"
  846.         '    mStr += "<td bgcolor=#000000 onMouseOver=View('000000') onClick=Set('000000') height=10 width=10></td>"
  847.         '    mStr += "<td bgcolor=#000000 onMouseOver=View('000000') onClick=Set('000000') height=10 width=10></td>"
  848.         '    mStr += "<td bgcolor=#000000 onMouseOver=View('000000') onClick=Set('000000') height=10 width=10></td>"
  849.         '    mStr += "<td bgcolor=#000000 onMouseOver=View('000000') onClick=Set('000000') height=10 width=10></td>"
  850.         '    mStr += "<td bgcolor=#003300 onMouseOver=View('003300') onClick=Set('003300') height=10 width=10></td>"
  851.         '    mStr += "<td bgcolor=#006600 onMouseOver=View('006600') onClick=Set('006600') height=10 width=10></td>"
  852.         '    mStr += "<td bgcolor=#009900 onMouseOver=View('009900') onClick=Set('009900') height=10 width=10></td>"
  853.         '    mStr += "<td bgcolor=#00CC00 onMouseOver=View('00CC00') onClick=Set('00CC00') height=10 width=10></td>"
  854.         '    mStr += "<td bgcolor=#00FF00 onMouseOver=View('00FF00') onClick=Set('00FF00') height=10 width=10></td>"
  855.         '    mStr += "<td bgcolor=#330000 onMouseOver=View('330000') onClick=Set('330000') height=10 width=10></td>"
  856.         '    mStr += "<td bgcolor=#333300 onMouseOver=View('333300') onClick=Set('333300') height=10 width=10></td>"
  857.         '    mStr += "<td bgcolor=#336600 onMouseOver=View('336600') onClick=Set('336600') height=10 width=10></td>"
  858.         '    mStr += "<td bgcolor=#339900 onMouseOver=View('339900') onClick=Set('339900') height=10 width=10></td>"
  859.         '    mStr += "<td bgcolor=#33CC00 onMouseOver=View('33CC00') onClick=Set('33CC00') height=10 width=10></td>"
  860.         '    mStr += "<td bgcolor=#33FF00 onMouseOver=View('33FF00') onClick=Set('33FF00') height=10 width=10></td>"
  861.         '    mStr += "<td bgcolor=#660000 onMouseOver=View('660000') onClick=Set('660000') height=10 width=10></td>"
  862.         '    mStr += "<td bgcolor=#663300 onMouseOver=View('663300') onClick=Set('663300') height=10 width=10></td>"
  863.         '    mStr += "<td bgcolor=#666600 onMouseOver=View('666600') onClick=Set('666600') height=10 width=10></td>"
  864.         '    mStr += "<td bgcolor=#669900 onMouseOver=View('669900') onClick=Set('669900') height=10 width=10></td>"
  865.         '    mStr += "<td bgcolor=#66CC00 onMouseOver=View('66CC00') onClick=Set('66CC00') height=10 width=10></td>"
  866.         '    mStr += "<td bgcolor=#66FF00 onMouseOver=View('66FF00') onClick=Set('66FF00') height=10 width=10></td>"
  867.         '    mStr += "</tr>"
  868.         '    mStr += "<tr>"
  869.         '    mStr += "<td bgcolor=#000000 onMouseOver=View('000000') onClick=Set('000000') height=10 width=10></td>"
  870.         '    mStr += "<td bgcolor=#333333 onMouseOver=View('333333') onClick=Set('333333') height=10 width=10></td>"
  871.         '    mStr += "<td bgcolor=#000000 onMouseOver=View('000000') onClick=Set('000000') height=10 width=10></td>"
  872.         '    mStr += "<td bgcolor=#000033 onMouseOver=View('000033') onClick=Set('000033') height=10 width=10></td>"
  873.         '    mStr += "<td bgcolor=#003333 onMouseOver=View('003333') onClick=Set('003333') height=10 width=10></td>"
  874.         '    mStr += "<td bgcolor=#006633 onMouseOver=View('006633') onClick=Set('006633') height=10 width=10></td>"
  875.         '    mStr += "<td bgcolor=#009933 onMouseOver=View('009933') onClick=Set('009933') height=10 width=10></td>"
  876.         '    mStr += "<td bgcolor=#00CC33 onMouseOver=View('00CC33') onClick=Set('00CC33') height=10 width=10></td>"
  877.         '    mStr += "<td bgcolor=#00FF33 onMouseOver=View('00FF33') onClick=Set('00FF33') height=10 width=10></td>"
  878.         '    mStr += "<td bgcolor=#330033 onMouseOver=View('330033') onClick=Set('330033') height=10 width=10></td>"
  879.         '    mStr += "<td bgcolor=#333333 onMouseOver=View('333333') onClick=Set('333333') height=10 width=10></td>"
  880.         '    mStr += "<td bgcolor=#336633 onMouseOver=View('336633') onClick=Set('336633') height=10 width=10></td>"
  881.         '    mStr += "<td bgcolor=#339933 onMouseOver=View('339933') onClick=Set('339933') height=10 width=10></td>"
  882.         '    mStr += "<td bgcolor=#33CC33 onMouseOver=View('33CC33') onClick=Set('33CC33') height=10 width=10></td>"
  883.         '    mStr += "<td bgcolor=#33FF33 onMouseOver=View('33FF33') onClick=Set('33FF33') height=10 width=10></td>"
  884.         '    mStr += "<td bgcolor=#660033 onMouseOver=View('660033') onClick=Set('660033') height=10 width=10></td>"
  885.         '    mStr += "<td bgcolor=#663333 onMouseOver=View('663333') onClick=Set('663333') height=10 width=10></td>"
  886.         '    mStr += "<td bgcolor=#666633 onMouseOver=View('666633') onClick=Set('666633') height=10 width=10></td>"
  887.         '    mStr += "<td bgcolor=#669933 onMouseOver=View('669933') onClick=Set('669933') height=10 width=10></td>"
  888.         '    mStr += "<td bgcolor=#66CC33 onMouseOver=View('66CC33') onClick=Set('66CC33') height=10 width=10></td>"
  889.         '    mStr += "<td bgcolor=#66FF33 onMouseOver=View('66FF33') onClick=Set('66FF33') height=10 width=10></td>"
  890.         '    mStr += "</tr>"
  891.         '    mStr += "<tr>"
  892.         '    mStr += "<td bgcolor=#000000 onMouseOver=View('000000') onClick=Set('000000') height=10 width=10></td>"
  893.         '    mStr += "<td bgcolor=#666666 onMouseOver=View('666666') onClick=Set('666666') height=10 width=10></td>"
  894.         '    mStr += "<td bgcolor=#000000 onMouseOver=View('000000') onClick=Set('000000') height=10 width=10></td>"
  895.         '    mStr += "<td bgcolor=#000066 onMouseOver=View('000066') onClick=Set('000066') height=10 width=10></td>"
  896.         '    mStr += "<td bgcolor=#003366 onMouseOver=View('003366') onClick=Set('003366') height=10 width=10></td>"
  897.         '    mStr += "<td bgcolor=#006666 onMouseOver=View('006666') onClick=Set('006666') height=10 width=10></td>"
  898.         '    mStr += "<td bgcolor=#009966 onMouseOver=View('009966') onClick=Set('009966') height=10 width=10></td>"
  899.         '    mStr += "<td bgcolor=#00CC66 onMouseOver=View('00CC66') onClick=Set('00CC66') height=10 width=10></td>"
  900.         '    mStr += "<td bgcolor=#00FF66 onMouseOver=View('00FF66') onClick=Set('00FF66') height=10 width=10></td>"
  901.         '    mStr += "<td bgcolor=#330066 onMouseOver=View('330066') onClick=Set('330066') height=10 width=10></td>"
  902.         '    mStr += "<td bgcolor=#333366 onMouseOver=View('333366') onClick=Set('333366') height=10 width=10></td>"
  903.         '    mStr += "<td bgcolor=#336666 onMouseOver=View('336666') onClick=Set('336666') height=10 width=10></td>"
  904.         '    mStr += "<td bgcolor=#339966 onMouseOver=View('339966') onClick=Set('339966') height=10 width=10></td>"
  905.         '    mStr += "<td bgcolor=#33CC66 onMouseOver=View('33CC66') onClick=Set('33CC66') height=10 width=10></td>"
  906.         '    mStr += "<td bgcolor=#33FF66 onMouseOver=View('33FF66') onClick=Set('33FF66') height=10 width=10></td>"
  907.         '    mStr += "<td bgcolor=#660066 onMouseOver=View('660066') onClick=Set('660066') height=10 width=10></td>"
  908.         '    mStr += "<td bgcolor=#663366 onMouseOver=View('663366') onClick=Set('663366') height=10 width=10></td>"
  909.         '    mStr += "<td bgcolor=#666666 onMouseOver=View('666666') onClick=Set('666666') height=10 width=10></td>"
  910.         '    mStr += "<td bgcolor=#669966 onMouseOver=View('669966') onClick=Set('669966') height=10 width=10></td>"
  911.         '    mStr += "<td bgcolor=#66CC66 onMouseOver=View('66CC66') onClick=Set('66CC66') height=10 width=10></td>"
  912.         '    mStr += "<td bgcolor=#66FF66 onMouseOver=View('66FF66') onClick=Set('66FF66') height=10 width=10></td>"
  913.         '    mStr += "</tr>"
  914.         '    mStr += "<tr>"
  915.         '    mStr += "<td bgcolor=#000000 onMouseOver=View('000000') onClick=Set('000000') height=10 width=10></td>"
  916.         '    mStr += "<td bgcolor=#999999 onMouseOver=View('999999') onClick=Set('999999') height=10 width=10></td>"
  917.         '    mStr += "<td bgcolor=#000000 onMouseOver=View('000000') onClick=Set('000000') height=10 width=10></td>"
  918.         '    mStr += "<td bgcolor=#000099 onMouseOver=View('000099') onClick=Set('000099') height=10 width=10></td>"
  919.         '    mStr += "<td bgcolor=#003399 onMouseOver=View('003399') onClick=Set('003399') height=10 width=10></td>"
  920.         '    mStr += "<td bgcolor=#006699 onMouseOver=View('006699') onClick=Set('006699') height=10 width=10></td>"
  921.         '    mStr += "<td bgcolor=#009999 onMouseOver=View('009999') onClick=Set('009999') height=10 width=10></td>"
  922.         '    mStr += "<td bgcolor=#00CC99 onMouseOver=View('00CC99') onClick=Set('00CC99') height=10 width=10></td>"
  923.         '    mStr += "<td bgcolor=#00FF99 onMouseOver=View('00FF99') onClick=Set('00FF99') height=10 width=10></td>"
  924.         '    mStr += "<td bgcolor=#330099 onMouseOver=View('330099') onClick=Set('330099') height=10 width=10></td>"
  925.         '    mStr += "<td bgcolor=#333399 onMouseOver=View('333399') onClick=Set('333399') height=10 width=10></td>"
  926.         '    mStr += "<td bgcolor=#336699 onMouseOver=View('336699') onClick=Set('336699') height=10 width=10></td>"
  927.         '    mStr += "<td bgcolor=#339999 onMouseOver=View('339999') onClick=Set('339999') height=10 width=10></td>"
  928.         '    mStr += "<td bgcolor=#33CC99 onMouseOver=View('33CC99') onClick=Set('33CC99') height=10 width=10></td>"
  929.         '    mStr += "<td bgcolor=#33FF99 onMouseOver=View('33FF99') onClick=Set('33FF99') height=10 width=10></td>"
  930.         '    mStr += "<td bgcolor=#660099 onMouseOver=View('660099') onClick=Set('660099') height=10 width=10></td>"
  931.         '    mStr += "<td bgcolor=#663399 onMouseOver=View('663399') onClick=Set('663399') height=10 width=10></td>"
  932.         '    mStr += "<td bgcolor=#666699 onMouseOver=View('666699') onClick=Set('666699') height=10 width=10></td>"
  933.         '    mStr += "<td bgcolor=#669999 onMouseOver=View('669999') onClick=Set('669999') height=10 width=10></td>"
  934.         '    mStr += "<td bgcolor=#66CC99 onMouseOver=View('66CC99') onClick=Set('66CC99') height=10 width=10></td>"
  935.         '    mStr += "<td bgcolor=#66FF99 onMouseOver=View('66FF99') onClick=Set('66FF99') height=10 width=10></td>"
  936.         '    mStr += "</tr>"
  937.         '    mStr += "<tr>"
  938.         '    mStr += "<td bgcolor=#000000 onMouseOver=View('000000') onClick=Set('000000') height=10 width=10></td>"
  939.         '    mStr += "<td bgcolor=#CCCCCC onMouseOver=View('CCCCCC') onClick=Set('CCCCCC') height=10 width=10></td>"
  940.         '    mStr += "<td bgcolor=#000000 onMouseOver=View('000000') onClick=Set('000000') height=10 width=10></td>"
  941.         '    mStr += "<td bgcolor=#0000CC onMouseOver=View('0000CC') onClick=Set('0000CC') height=10 width=10></td>"
  942.         '    mStr += "<td bgcolor=#0033CC onMouseOver=View('0033CC') onClick=Set('0033CC') height=10 width=10></td>"
  943.         '    mStr += "<td bgcolor=#0066CC onMouseOver=View('0066CC') onClick=Set('0066CC') height=10 width=10></td>"
  944.         '    mStr += "<td bgcolor=#0099CC onMouseOver=View('0099CC') onClick=Set('0099CC') height=10 width=10></td>"
  945.         '    mStr += "<td bgcolor=#00CCCC onMouseOver=View('00CCCC') onClick=Set('00CCCC') height=10 width=10></td>"
  946.         '    mStr += "<td bgcolor=#00FFCC onMouseOver=View('00FFCC') onClick=Set('00FFCC') height=10 width=10></td>"
  947.         '    mStr += "<td bgcolor=#3300CC onMouseOver=View('3300CC') onClick=Set('3300CC') height=10 width=10></td>"
  948.         '    mStr += "<td bgcolor=#3333CC onMouseOver=View('3333CC') onClick=Set('3333CC') height=10 width=10></td>"
  949.         '    mStr += "<td bgcolor=#3366CC onMouseOver=View('3366CC') onClick=Set('3366CC') height=10 width=10></td>"
  950.         '    mStr += "<td bgcolor=#3399CC onMouseOver=View('3399CC') onClick=Set('3399CC') height=10 width=10></td>"
  951.         '    mStr += "<td bgcolor=#33CCCC onMouseOver=View('33CCCC') onClick=Set('33CCCC') height=10 width=10></td>"
  952.         '    mStr += "<td bgcolor=#33FFCC onMouseOver=View('33FFCC') onClick=Set('33FFCC') height=10 width=10></td>"
  953.         '    mStr += "<td bgcolor=#6600CC onMouseOver=View('6600CC') onClick=Set('6600CC') height=10 width=10></td>"
  954.         '    mStr += "<td bgcolor=#6633CC onMouseOver=View('6633CC') onClick=Set('6633CC') height=10 width=10></td>"
  955.         '    mStr += "<td bgcolor=#6666CC onMouseOver=View('6666CC') onClick=Set('6666CC') height=10 width=10></td>"
  956.         '    mStr += "<td bgcolor=#6699CC onMouseOver=View('6699CC') onClick=Set('6699CC') height=10 width=10></td>"
  957.         '    mStr += "<td bgcolor=#66CCCC onMouseOver=View('66CCCC') onClick=Set('66CCCC') height=10 width=10></td>"
  958.         '    mStr += "<td bgcolor=#66FFCC onMouseOver=View('66FFCC') onClick=Set('66FFCC') height=10 width=10></td>"
  959.         '    mStr += "</tr>"
  960.         '    mStr += "<tr>"
  961.         '    mStr += "<td bgcolor=#000000 onMouseOver=View('000000') onClick=Set('000000') height=10 width=10></td>"
  962.         '    mStr += "<td bgcolor=#FFFFFF onMouseOver=View('FFFFFF') onClick=Set('FFFFFF') height=10 width=10></td>"
  963.         '    mStr += "<td bgcolor=#000000 onMouseOver=View('000000') onClick=Set('000000') height=10 width=10></td>"
  964.         '    mStr += "<td bgcolor=#0000FF onMouseOver=View('0000FF') onClick=Set('0000FF') height=10 width=10></td>"
  965.         '    mStr += "<td bgcolor=#0033FF onMouseOver=View('0033FF') onClick=Set('0033FF') height=10 width=10></td>"
  966.         '    mStr += "<td bgcolor=#0066FF onMouseOver=View('0066FF') onClick=Set('0066FF') height=10 width=10></td>"
  967.         '    mStr += "<td bgcolor=#0099FF onMouseOver=View('0099FF') onClick=Set('0099FF') height=10 width=10></td>"
  968.         '    mStr += "<td bgcolor=#00CCFF onMouseOver=View('00CCFF') onClick=Set('00CCFF') height=10 width=10></td>"
  969.         '    mStr += "<td bgcolor=#00FFFF onMouseOver=View('00FFFF') onClick=Set('00FFFF') height=10 width=10></td>"
  970.         '    mStr += "<td bgcolor=#3300FF onMouseOver=View('3300FF') onClick=Set('3300FF') height=10 width=10></td>"
  971.         '    mStr += "<td bgcolor=#3333FF onMouseOver=View('3333FF') onClick=Set('3333FF') height=10 width=10></td>"
  972.         '    mStr += "<td bgcolor=#3366FF onMouseOver=View('3366FF') onClick=Set('3366FF') height=10 width=10></td>"
  973.         '    mStr += "<td bgcolor=#3399FF onMouseOver=View('3399FF') onClick=Set('3399FF') height=10 width=10></td>"
  974.         '    mStr += "<td bgcolor=#33CCFF onMouseOver=View('33CCFF') onClick=Set('33CCFF') height=10 width=10></td>"
  975.         '    mStr += "<td bgcolor=#33FFFF onMouseOver=View('33FFFF') onClick=Set('33FFFF') height=10 width=10></td>"
  976.         '    mStr += "<td bgcolor=#6600FF onMouseOver=View('6600FF') onClick=Set('6600FF') height=10 width=10></td>"
  977.         '    mStr += "<td bgcolor=#6633FF onMouseOver=View('6633FF') onClick=Set('6633FF') height=10 width=10></td>"
  978.         '    mStr += "<td bgcolor=#6666FF onMouseOver=View('6666FF') onClick=Set('6666FF') height=10 width=10></td>"
  979.         '    mStr += "<td bgcolor=#6699FF onMouseOver=View('6699FF') onClick=Set('6699FF') height=10 width=10></td>"
  980.         '    mStr += "<td bgcolor=#66CCFF onMouseOver=View('66CCFF') onClick=Set('66CCFF') height=10 width=10></td>"
  981.         '    mStr += "<td bgcolor=#66FFFF onMouseOver=View('66FFFF') onClick=Set('66FFFF') height=10 width=10></td>"
  982.         '    mStr += "</tr>"
  983.         '    mStr += "<tr>"
  984.         '    mStr += "<td bgcolor=#000000 onMouseOver=View('000000') onClick=Set('000000') height=10 width=10></td>"
  985.         '    mStr += "<td bgcolor=#FF0000 onMouseOver=View('FF0000') onClick=Set('FF0000') height=10 width=10></td>"
  986.         '    mStr += "<td bgcolor=#000000 onMouseOver=View('000000') onClick=Set('000000') height=10 width=10></td>"
  987.         '    mStr += "<td bgcolor=#990000 onMouseOver=View('990000') onClick=Set('990000') height=10 width=10></td>"
  988.         '    mStr += "<td bgcolor=#993300 onMouseOver=View('993300') onClick=Set('993300') height=10 width=10></td>"
  989.         '    mStr += "<td bgcolor=#996600 onMouseOver=View('996600') onClick=Set('996600') height=10 width=10></td>"
  990.         '    mStr += "<td bgcolor=#999900 onMouseOver=View('999900') onClick=Set('999900') height=10 width=10></td>"
  991.         '    mStr += "<td bgcolor=#99CC00 onMouseOver=View('99CC00') onClick=Set('99CC00') height=10 width=10></td>"
  992.         '    mStr += "<td bgcolor=#99FF00 onMouseOver=View('99FF00') onClick=Set('99FF00') height=10 width=10></td>"
  993.         '    mStr += "<td bgcolor=#CC0000 onMouseOver=View('CC0000') onClick=Set('CC0000') height=10 width=10></td>"
  994.         '    mStr += "<td bgcolor=#CC3300 onMouseOver=View('CC3300') onClick=Set('CC3300') height=10 width=10></td>"
  995.         '    mStr += "<td bgcolor=#CC6600 onMouseOver=View('CC6600') onClick=Set('CC6600') height=10 width=10></td>"
  996.         '    mStr += "<td bgcolor=#CC9900 onMouseOver=View('CC9900') onClick=Set('CC9900') height=10 width=10></td>"
  997.         '    mStr += "<td bgcolor=#CCCC00 onMouseOver=View('CCCC00') onClick=Set('CCCC00') height=10 width=10></td>"
  998.         '    mStr += "<td bgcolor=#CCFF00 onMouseOver=View('CCFF00') onClick=Set('CCFF00') height=10 width=10></td>"
  999.         '    mStr += "<td bgcolor=#FF0000 onMouseOver=View('FF0000') onClick=Set('FF0000') height=10 width=10></td>"
  1000.         '    mStr += "<td bgcolor=#FF3300 onMouseOver=View('FF3300') onClick=Set('FF3300') height=10 width=10></td>"
  1001.         '    mStr += "<td bgcolor=#FF6600 onMouseOver=View('FF6600') onClick=Set('FF6600') height=10 width=10></td>"
  1002.         '    mStr += "<td bgcolor=#FF9900 onMouseOver=View('FF9900') onClick=Set('FF9900') height=10 width=10></td>"
  1003.         '    mStr += "<td bgcolor=#FFCC00 onMouseOver=View('FFCC00') onClick=Set('FFCC00') height=10 width=10></td>"
  1004.         '    mStr += "<td bgcolor=#FFFF00 onMouseOver=View('FFFF00') onClick=Set('FFFF00') height=10 width=10></td>"
  1005.         '    mStr += "</tr>"
  1006.         '    mStr += "<tr>"
  1007.         '    mStr += "<td bgcolor=#000000 onMouseOver=View('000000') onClick=Set('000000') height=10 width=10></td>"
  1008.         '    mStr += "<td bgcolor=#00FF00 onMouseOver=View('00FF00') onClick=Set('00FF00') height=10 width=10></td>"
  1009.         '    mStr += "<td bgcolor=#000000 onMouseOver=View('000000') onClick=Set('000000') height=10 width=10></td>"
  1010.         '    mStr += "<td bgcolor=#990033 onMouseOver=View('990033') onClick=Set('990033') height=10 width=10></td>"
  1011.         '    mStr += "<td bgcolor=#993333 onMouseOver=View('993333') onClick=Set('993333') height=10 width=10></td>"
  1012.         '    mStr += "<td bgcolor=#996633 onMouseOver=View('996633') onClick=Set('996633') height=10 width=10></td>"
  1013.         '    mStr += "<td bgcolor=#999933 onMouseOver=View('999933') onClick=Set('999933') height=10 width=10></td>"
  1014.         '    mStr += "<td bgcolor=#99CC33 onMouseOver=View('99CC33') onClick=Set('99CC33') height=10 width=10></td>"
  1015.         '    mStr += "<td bgcolor=#99FF33 onMouseOver=View('99FF33') onClick=Set('99FF33') height=10 width=10></td>"
  1016.         '    mStr += "<td bgcolor=#CC0033 onMouseOver=View('CC0033') onClick=Set('CC0033') height=10 width=10></td>"
  1017.         '    mStr += "<td bgcolor=#CC3333 onMouseOver=View('CC3333') onClick=Set('CC3333') height=10 width=10></td>"
  1018.         '    mStr += "<td bgcolor=#CC6633 onMouseOver=View('CC6633') onClick=Set('CC6633') height=10 width=10></td>"
  1019.         '    mStr += "<td bgcolor=#CC9933 onMouseOver=View('CC9933') onClick=Set('CC9933') height=10 width=10></td>"
  1020.         '    mStr += "<td bgcolor=#CCCC33 onMouseOver=View('CCCC33') onClick=Set('CCCC33') height=10 width=10></td>"
  1021.         '    mStr += "<td bgcolor=#CCFF33 onMouseOver=View('CCFF33') onClick=Set('CCFF33') height=10 width=10></td>"
  1022.         '    mStr += "<td bgcolor=#FF0033 onMouseOver=View('FF0033') onClick=Set('FF0033') height=10 width=10></td>"
  1023.         '    mStr += "<td bgcolor=#FF3333 onMouseOver=View('FF3333') onClick=Set('FF3333') height=10 width=10></td>"
  1024.         '    mStr += "<td bgcolor=#FF6633 onMouseOver=View('FF6633') onClick=Set('FF6633') height=10 width=10></td>"
  1025.         '    mStr += "<td bgcolor=#FF9933 onMouseOver=View('FF9933') onClick=Set('FF9933') height=10 width=10></td>"
  1026.         '    mStr += "<td bgcolor=#FFCC33 onMouseOver=View('FFCC33') onClick=Set('FFCC33') height=10 width=10></td>"
  1027.         '    mStr += "<td bgcolor=#FFFF33 onMouseOver=View('FFFF33') onClick=Set('FFFF33') height=10 width=10></td>"
  1028.         '    mStr += "</tr>"
  1029.         '    mStr += "<tr>"
  1030.         '    mStr += "<td bgcolor=#000000 onMouseOver=View('000000') onClick=Set('000000') height=10 width=10></td>"
  1031.         '    mStr += "<td bgcolor=#0000FF onMouseOver=View('0000FF') onClick=Set('0000FF') height=10 width=10></td>"
  1032.         '    mStr += "<td bgcolor=#000000 onMouseOver=View('000000') onClick=Set('000000') height=10 width=10></td>"
  1033.         '    mStr += "<td bgcolor=#990066 onMouseOver=View('990066') onClick=Set('990066') height=10 width=10></td>"
  1034.         '    mStr += "<td bgcolor=#993366 onMouseOver=View('993366') onClick=Set('993366') height=10 width=10></td>"
  1035.         '    mStr += "<td bgcolor=#996666 onMouseOver=View('996666') onClick=Set('996666') height=10 width=10></td>"
  1036.         '    mStr += "<td bgcolor=#999966 onMouseOver=View('999966') onClick=Set('999966') height=10 width=10></td>"
  1037.         '    mStr += "<td bgcolor=#99CC66 onMouseOver=View('99CC66') onClick=Set('99CC66') height=10 width=10></td>"
  1038.         '    mStr += "<td bgcolor=#99FF66 onMouseOver=View('99FF66') onClick=Set('99FF66') height=10 width=10></td>"
  1039.         '    mStr += "<td bgcolor=#CC0066 onMouseOver=View('CC0066') onClick=Set('CC0066') height=10 width=10></td>"
  1040.         '    mStr += "<td bgcolor=#CC3366 onMouseOver=View('CC3366') onClick=Set('CC3366') height=10 width=10></td>"
  1041.         '    mStr += "<td bgcolor=#CC6666 onMouseOver=View('CC6666') onClick=Set('CC6666') height=10 width=10></td>"
  1042.         '    mStr += "<td bgcolor=#CC9966 onMouseOver=View('CC9966') onClick=Set('CC9966') height=10 width=10></td>"
  1043.         '    mStr += "<td bgcolor=#CCCC66 onMouseOver=View('CCCC66') onClick=Set('CCCC66') height=10 width=10></td>"
  1044.         '    mStr += "<td bgcolor=#CCFF66 onMouseOver=View('CCFF66') onClick=Set('CCFF66') height=10 width=10></td>"
  1045.         '    mStr += "<td bgcolor=#FF0066 onMouseOver=View('FF0066') onClick=Set('FF0066') height=10 width=10></td>"
  1046.         '    mStr += "<td bgcolor=#FF3366 onMouseOver=View('FF3366') onClick=Set('FF3366') height=10 width=10></td>"
  1047.         '    mStr += "<td bgcolor=#FF6666 onMouseOver=View('FF6666') onClick=Set('FF6666') height=10 width=10></td>"
  1048.         '    mStr += "<td bgcolor=#FF9966 onMouseOver=View('FF9966') onClick=Set('FF9966') height=10 width=10></td>"
  1049.         '    mStr += "<td bgcolor=#FFCC66 onMouseOver=View('FFCC66') onClick=Set('FFCC66') height=10 width=10></td>"
  1050.         '    mStr += "<td bgcolor=#FFFF66 onMouseOver=View('FFFF66') onClick=Set('FFFF66') height=10 width=10></td>"
  1051.         '    mStr += "</tr>"
  1052.         '    mStr += "<tr>"
  1053.         '    mStr += "<td bgcolor=#000000 onMouseOver=View('000000') onClick=Set('000000') height=10 width=10></td>"
  1054.         '    mStr += "<td bgcolor=#FFFF00 onMouseOver=View('FFFF00') onClick=Set('FFFF00') height=10 width=10></td>"
  1055.         '    mStr += "<td bgcolor=#000000 onMouseOver=View('000000') onClick=Set('000000') height=10 width=10></td>"
  1056.         '    mStr += "<td bgcolor=#990099 onMouseOver=View('990099') onClick=Set('990099') height=10 width=10></td>"
  1057.         '    mStr += "<td bgcolor=#993399 onMouseOver=View('993399') onClick=Set('993399') height=10 width=10></td>"
  1058.         '    mStr += "<td bgcolor=#996699 onMouseOver=View('996699') onClick=Set('996699') height=10 width=10></td>"
  1059.         '    mStr += "<td bgcolor=#999999 onMouseOver=View('999999') onClick=Set('999999') height=10 width=10></td>"
  1060.         '    mStr += "<td bgcolor=#99CC99 onMouseOver=View('99CC99') onClick=Set('99CC99') height=10 width=10></td>"
  1061.         '    mStr += "<td bgcolor=#99FF99 onMouseOver=View('99FF99') onClick=Set('99FF99') height=10 width=10></td>"
  1062.         '    mStr += "<td bgcolor=#CC0099 onMouseOver=View('CC0099') onClick=Set('CC0099') height=10 width=10></td>"
  1063.         '    mStr += "<td bgcolor=#CC3399 onMouseOver=View('CC3399') onClick=Set('CC3399') height=10 width=10></td>"
  1064.         '    mStr += "<td bgcolor=#CC6699 onMouseOver=View('CC6699') onClick=Set('CC6699') height=10 width=10></td>"
  1065.         '    mStr += "<td bgcolor=#CC9999 onMouseOver=View('CC9999') onClick=Set('CC9999') height=10 width=10></td>"
  1066.         '    mStr += "<td bgcolor=#CCCC99 onMouseOver=View('CCCC99') onClick=Set('CCCC99') height=10 width=10></td>"
  1067.         '    mStr += "<td bgcolor=#CCFF99 onMouseOver=View('CCFF99') onClick=Set('CCFF99') height=10 width=10></td>"
  1068.         '    mStr += "<td bgcolor=#FF0099 onMouseOver=View('FF0099') onClick=Set('FF0099') height=10 width=10></td>"
  1069.         '    mStr += "<td bgcolor=#FF3399 onMouseOver=View('FF3399') onClick=Set('FF3399') height=10 width=10></td>"
  1070.         '    mStr += "<td bgcolor=#FF6699 onMouseOver=View('FF6699') onClick=Set('FF6699') height=10 width=10></td>"
  1071.         '    mStr += "<td bgcolor=#FF9999 onMouseOver=View('FF9999') onClick=Set('FF9999') height=10 width=10></td>"
  1072.         '    mStr += "<td bgcolor=#FFCC99 onMouseOver=View('FFCC99') onClick=Set('FFCC99') height=10 width=10></td>"
  1073.         '    mStr += "<td bgcolor=#FFFF99 onMouseOver=View('FFFF99') onClick=Set('FFFF99') height=10 width=10></td>"
  1074.         '    mStr += "</tr>"
  1075.         '    mStr += "<tr>"
  1076.         '    mStr += "<td bgcolor=#000000 onMouseOver=View('000000') onClick=Set('000000') height=10 width=10></td>"
  1077.         '    mStr += "<td bgcolor=#00FFFF onMouseOver=View('00FFFF') onClick=Set('00FFFF') height=10 width=10></td>"
  1078.         '    mStr += "<td bgcolor=#000000 onMouseOver=View('000000') onClick=Set('000000') height=10 width=10></td>"
  1079.         '    mStr += "<td bgcolor=#9900CC onMouseOver=View('9900CC') onClick=Set('9900CC') height=10 width=10></td>"
  1080.         '    mStr += "<td bgcolor=#9933CC onMouseOver=View('9933CC') onClick=Set('9933CC') height=10 width=10></td>"
  1081.         '    mStr += "<td bgcolor=#9966CC onMouseOver=View('9966CC') onClick=Set('9966CC') height=10 width=10></td>"
  1082.         '    mStr += "<td bgcolor=#9999CC onMouseOver=View('9999CC') onClick=Set('9999CC') height=10 width=10></td>"
  1083.         '    mStr += "<td bgcolor=#99CCCC onMouseOver=View('99CCCC') onClick=Set('99CCCC') height=10 width=10></td>"
  1084.         '    mStr += "<td bgcolor=#99FFCC onMouseOver=View('99FFCC') onClick=Set('99FFCC') height=10 width=10></td>"
  1085.         '    mStr += "<td bgcolor=#CC00CC onMouseOver=View('CC00CC') onClick=Set('CC00CC') height=10 width=10></td>"
  1086.         '    mStr += "<td bgcolor=#CC33CC onMouseOver=View('CC33CC') onClick=Set('CC33CC') height=10 width=10></td>"
  1087.         '    mStr += "<td bgcolor=#CC66CC onMouseOver=View('CC66CC') onClick=Set('CC66CC') height=10 width=10></td>"
  1088.         '    mStr += "<td bgcolor=#CC99CC onMouseOver=View('CC99CC') onClick=Set('CC99CC') height=10 width=10></td>"
  1089.         '    mStr += "<td bgcolor=#CCCCCC onMouseOver=View('CCCCCC') onClick=Set('CCCCCC') height=10 width=10></td>"
  1090.         '    mStr += "<td bgcolor=#CCFFCC onMouseOver=View('CCFFCC') onClick=Set('CCFFCC') height=10 width=10></td>"
  1091.         '    mStr += "<td bgcolor=#FF00CC onMouseOver=View('FF00CC') onClick=Set('FF00CC') height=10 width=10></td>"
  1092.         '    mStr += "<td bgcolor=#FF33CC onMouseOver=View('FF33CC') onClick=Set('FF33CC') height=10 width=10></td>"
  1093.         '    mStr += "<td bgcolor=#FF66CC onMouseOver=View('FF66CC') onClick=Set('FF66CC') height=10 width=10></td>"
  1094.         '    mStr += "<td bgcolor=#FF99CC onMouseOver=View('FF99CC') onClick=Set('FF99CC') height=10 width=10></td>"
  1095.         '    mStr += "<td bgcolor=#FFCCCC onMouseOver=View('FFCCCC') onClick=Set('FFCCCC') height=10 width=10></td>"
  1096.         '    mStr += "<td bgcolor=#FFFFCC onMouseOver=View('FFFFCC') onClick=Set('FFFFCC') height=10 width=10></td>"
  1097.         '    mStr += "</tr>"
  1098.         '    mStr += "<tr>"
  1099.         '    mStr += "<td bgcolor=#000000 onMouseOver=View('000000') onClick=Set('000000') height=10 width=10></td>"
  1100.         '    mStr += "<td bgcolor=#FF00FF onMouseOver=View('FF00FF') onClick=Set('FF00FF') height=10 width=10></td>"
  1101.         '    mStr += "<td bgcolor=#000000 onMouseOver=View('000000') onClick=Set('000000') height=10 width=10></td>"
  1102.         '    mStr += "<td bgcolor=#9900FF onMouseOver=View('9900FF') onClick=Set('9900FF') height=10 width=10></td>"
  1103.         '    mStr += "<td bgcolor=#9933FF onMouseOver=View('9933FF') onClick=Set('9933FF') height=10 width=10></td>"
  1104.         '    mStr += "<td bgcolor=#9966FF onMouseOver=View('9966FF') onClick=Set('9966FF') height=10 width=10></td>"
  1105.         '    mStr += "<td bgcolor=#9999FF onMouseOver=View('9999FF') onClick=Set('9999FF') height=10 width=10></td>"
  1106.         '    mStr += "<td bgcolor=#99CCFF onMouseOver=View('99CCFF') onClick=Set('99CCFF') height=10 width=10></td>"
  1107.         '    mStr += "<td bgcolor=#99FFFF onMouseOver=View('99FFFF') onClick=Set('99FFFF') height=10 width=10></td>"
  1108.         '    mStr += "<td bgcolor=#CC00FF onMouseOver=View('CC00FF') onClick=Set('CC00FF') height=10 width=10></td>"
  1109.         '    mStr += "<td bgcolor=#CC33FF onMouseOver=View('CC33FF') onClick=Set('CC33FF') height=10 width=10></td>"
  1110.         '    mStr += "<td bgcolor=#CC66FF onMouseOver=View('CC66FF') onClick=Set('CC66FF') height=10 width=10></td>"
  1111.         '    mStr += "<td bgcolor=#CC99FF onMouseOver=View('CC99FF') onClick=Set('CC99FF') height=10 width=10></td>"
  1112.         '    mStr += "<td bgcolor=#CCCCFF onMouseOver=View('CCCCFF') onClick=Set('CCCCFF') height=10 width=10></td>"
  1113.         '    mStr += "<td bgcolor=#CCFFFF onMouseOver=View('CCFFFF') onClick=Set('CCFFFF') height=10 width=10></td>"
  1114.         '    mStr += "<td bgcolor=#FF00FF onMouseOver=View('FF00FF') onClick=Set('FF00FF') height=10 width=10></td>"
  1115.         '    mStr += "<td bgcolor=#FF33FF onMouseOver=View('FF33FF') onClick=Set('FF33FF') height=10 width=10></td>"
  1116.         '    mStr += "<td bgcolor=#FF66FF onMouseOver=View('FF66FF') onClick=Set('FF66FF') height=10 width=10></td>"
  1117.         '    mStr += "<td bgcolor=#FF99FF onMouseOver=View('FF99FF') onClick=Set('FF99FF') height=10 width=10></td>"
  1118.         '    mStr += "<td bgcolor=#FFCCFF onMouseOver=View('FFCCFF') onClick=Set('FFCCFF') height=10 width=10></td>"
  1119.         '    mStr += "<td bgcolor=#FFFFFF onMouseOver=View('FFFFFF') onClick=Set('FFFFFF') height=10 width=10></td>"
  1120.         '    mStr += "</tr>"
  1121.         '    mStr += "</table>"
  1122.         '    mStr += "</form>"
  1123.         '    mStr += "</body></html>"
  1124.         '    'Dim mWriter As new System.IO.StreamWriter(
  1125.         '    'mWriter.Write(mStr)
  1126.         'End Function
  1127. #End Region
  1128. #Region "Protected Overrides Sub"
  1129.         Protected Overrides Sub Render(ByVal writer As System.Web.UI.HtmlTextWriter)
  1130.             writer.Write(Me.GenerateHTMLAreaBody)
  1131.             'Conver the Simple IFrame to Editable TextBox
  1132.             writer.RenderBeginTag("Script")
  1133.             writer.Write("RTFEdit_" & Me.UniqueID & ".document.designMode='on';")
  1134.             'writer.Write("RTFEdit_" & Me.UniqueID & ".document.body.innerText = '" & Text & "'")
  1135.             writer.RenderEndTag()
  1136.             'End Converting IFrame to Editable Textbox
  1137.         End Sub
  1138.         Protected Overrides Sub OnPreRender(ByVal e As System.EventArgs)
  1139.             Page.RegisterClientScriptBlock("myStyleSheetScript", Me.GenerateCSSCode())
  1140.             Page.RegisterClientScriptBlock("myCommandScript", Me.GenerateCommandScript())
  1141.             Page.RegisterClientScriptBlock("mySelUpDownScript", Me.GenerateSelDown_UpScript())
  1142.             Page.RegisterClientScriptBlock("myselOFFScript", Me.GenerateSelOFFScript())
  1143.             Page.RegisterClientScriptBlock("myselONScript", Me.GenerateSelONScript())
  1144.             Page.RegisterClientScriptBlock(Me.UniqueID & "_PostBackScript", Me.GeneratePostBackScript())
  1145.         End Sub
  1146. #End Region
  1147. #Region "Interface Implementation"
  1148.         Public Function LoadPostData(ByVal postDataKey As String, ByVal postCollection As System.Collections.Specialized.NameValueCollection) As Boolean Implements System.Web.UI.IPostBackDataHandler.LoadPostData
  1149.             Dim currentValue As String = Text
  1150.             Dim postedValue As String = postCollection(postDataKey)
  1151.             If currentValue Is Nothing Or Not postedValue.Equals(currentValue) Then
  1152.                 Text = postedValue
  1153.                 Return True
  1154.             End If
  1155.             Return False
  1156.         End Function
  1157.         Public Sub RaisePostDataChangedEvent() Implements System.Web.UI.IPostBackDataHandler.RaisePostDataChangedEvent
  1158.             OnTextChanged(EventArgs.Empty)
  1159.         End Sub
  1160.         Protected Overridable Sub OnTextChanged(ByVal e As EventArgs)
  1161.             RaiseEvent TextChanged(Me, e)
  1162.         End Sub
  1163. #End Region
  1164.     End Class
  1165. End Namespace