Editor.aspx
上传用户:simon2hong
上传日期:2021-11-18
资源大小:16746k
文件大小:26k
源码类别:

OA系统

开发平台:

C#

  1. <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Editor.aspx.cs" Inherits="WorkFlow_Design_rte_Editor" %>
  2. <html>
  3. <head>
  4. <meta content="HTML 4.0" name="vs_targetSchema">
  5. <link rel="StyleSheet" type="text/css" href="richedit.css">
  6. <link rel="StyleSheet" type="text/css" href="syntax.css">
  7. <link rel="StyleSheet" type="text/css" href="custom.css">
  8. <script language="JavaScript" src="rte_xhtml.js"></script>
  9. <script language="JavaScript" src="rte_interface.js"></script>
  10. <script language="JavaScript" src="rte_debug.js"></script>
  11. <script language="JavaScript" src="rte.js"></script>
  12. <script language="JavaScript" src="rte_codesweep.js"></script>
  13. <script language="JavaScript" src="rte_editmode.js"></script>
  14. <script language="JavaScript" src="rte_history.js"></script>
  15. <SCRIPT language="JavaScript" src="tableEditor.js"></SCRIPT>
  16. <script language="JavaScript">
  17. if (window.Event)
  18.   document.captureEvents(Event.MOUSEUP);
  19. function isControlSelected(tag){
  20. if (document.selection.type == "Control") {
  21. var oControlRange = document.selection.createRange();
  22. if (oControlRange(0).tagName.toUpperCase() == tag) {
  23. return true;
  24. }
  25. }
  26. return false;
  27. }
  28. function ControlSelectedType(){
  29. if (document.selection.type == "Control") {
  30.      var oControlRange = document.selection.createRange();
  31.      return oControlRange(0).type.toUpperCase();
  32. }
  33. }
  34. function ControlSelectedClass(){
  35. if (document.selection.type == "Control") {
  36.      var oControlRange = document.selection.createRange();
  37.      return oControlRange(0).className;
  38. }
  39. }
  40. function LoadModel()
  41. {
  42.   URL="/module/html_model/index.aspx?RTE=1";
  43.   loc_x=document.body.scrollLeft+event.clientX-event.offsetX-100;
  44.   loc_y=document.body.scrollTop+event.clientY-event.offsetY+170;
  45.   window.showModalDialog(URL,self,"edge:raised;scroll:1;status:0;help:0;resizable:1;dialogWidth:350px;dialogHeight:300px;dialogTop:"+loc_y+"px;dialogLeft:"+loc_x+"px");
  46. }
  47. // 菜单常量
  48. var sMenu1="<TABLE class=Menu width=150 border=0 cellpadding=0 cellspacing=0>";
  49. var sMenu2="</TABLE>";
  50. var sMenuHr="<tr><td align=center valign=middle height=1 class=HrShadow></td></tr><tr><td align=center valign=middle height=1 class=HrHighLight></td></tr>";
  51. // 菜单
  52. var oPopupMenu = null;
  53. oPopupMenu = window.createPopup();
  54. // 取菜单行
  55. function getMenuRow(s_Disabled, s_Event, s_Html) {
  56. var s_MenuRow = "";
  57. s_MenuRow = "<tr "+s_Disabled+"><td valign=middle height=20 class=RightBg onMouseOver=this.className='MouseOver'; onMouseOut=this.className='MouseOut';";
  58. if (s_Disabled=="")
  59. {
  60. s_MenuRow += " onclick="parent."+s_Event+";parent.oPopupMenu.hide();"";
  61. }
  62. s_MenuRow += ">";
  63. if(s_Html=="复制")
  64.    s_MenuRow +="<img border=0 width=20 height=20 align=absmiddle src=images/icon_copy.gif>";
  65. else if(s_Html=="剪切")
  66.    s_MenuRow +="<img border=0 width=20 height=20 align=absmiddle src=images/icon_cut.gif>";
  67. else if(s_Html=="粘贴")
  68.    s_MenuRow +="<img border=0 width=20 height=20 align=absmiddle src=images/icon_paste.gif>";
  69. else if(s_Html=="删除")
  70.    s_MenuRow +="<img border=0 width=20 height=20 align=absmiddle src=images/icon_delete.gif>";
  71. else if(s_Html=="全选")
  72.    s_MenuRow +="<img border=0 width=20 height=20 align=absmiddle src=images/icon_select_all.gif>";
  73. else if(s_Html=="图片属性...")
  74.    s_MenuRow +="<img border=0 width=20 height=20 align=absmiddle src=images/icon_ins_image.gif>";
  75. else if(s_Html=="单选框属性...")
  76.    s_MenuRow +="<img border=0 width=20 height=20 align=absmiddle src=/images/form/checkbox.gif>";
  77. else if(s_Html=="单行输入框属性...")
  78.    s_MenuRow +="<img border=0 width=20 height=20 align=absmiddle src=/images/form/textfield.gif>";
  79. else if(s_Html=="多行输入框属性...")
  80.    s_MenuRow +="<img border=0 width=20 height=20 align=absmiddle src=/images/form/textarea.gif>";
  81. else if(s_Html=="下拉菜单属性...")
  82.    s_MenuRow +="<img border=0 width=20 height=20 align=absmiddle src=/images/form/listmenu.gif>";
  83. else if(s_Html=="日历控件属性...")
  84.    s_MenuRow +="<img border=0 width=20 height=20 align=absmiddle src=/images/form/calendar.gif>";
  85. else if(s_Html=="宏控件属性...")
  86.    s_MenuRow +="<img border=0 width=20 height=20 align=absmiddle src=/images/form/auto.gif>";
  87. else if(s_Html=="计算控件属性...")
  88.    s_MenuRow +="<img border=0 width=20 height=20 align=absmiddle src=/images/form/calc.gif>";
  89. else if(s_Html=="列表控件属性...")
  90.    s_MenuRow +="<img border=0 width=20 height=20 align=absmiddle src=/images/form/listview.gif>";
  91. else if(s_Html=="部门人员控件属性...")
  92.    s_MenuRow +="<img border=0 width=20 height=20 align=absmiddle src=/images/form/user.gif>";
  93.     else if(s_Html=="签章控件属性...")
  94.         s_MenuRow +="<img border=0 width=20 height=20 align=absmiddle src=/images/form/sign.gif>";
  95. s_MenuRow += "&nbsp;"+s_Html+"</td></tr>";
  96. return s_MenuRow;
  97. }
  98. // 格式化编辑器中的内容,并执行
  99. function format(what,opt) {
  100. if(!RichEditor.txtView) return;
  101. if (opt=="RemoveFormat") {
  102. what=opt;
  103. opt=null;
  104. }
  105. if (opt==null) document.execCommand(what);
  106. else document.execCommand(what,"",opt);
  107. reset();
  108. }
  109. // 取标准的format菜单行
  110. function getFormatMenuRow(menu, html){
  111. var s_Disabled = "";
  112. if (!document.queryCommandEnabled(menu)){
  113. s_Disabled = "disabled";
  114. }
  115. var s_Event = "format('"+menu+"')";
  116. return getMenuRow(s_Disabled, s_Event,  html)
  117. }
  118. // 显示无模式对话框
  119. function ShowDialog(url, width, height) {
  120. var arr = showModalDialog(url, window, "dialogWidth:" + width + "px;dialogHeight:" + height + "px;help:no;scroll:yes;resizable:1;status:yes");
  121. }
  122. function showContextMenu(event)
  123. {
  124. if (switchMode.checked) return false;
  125. var width = 150;
  126. var height = 0;
  127. var lefter = event.clientX;
  128. var topper = event.clientY;
  129. var oPopDocument = oPopupMenu.document;
  130. var oPopBody = oPopupMenu.document.body;
  131. var sMenu="";
  132. sMenu += getFormatMenuRow("cut", "剪切");
  133. sMenu += getFormatMenuRow("copy", "复制");
  134. sMenu += getFormatMenuRow("paste", "粘贴");
  135. sMenu += getFormatMenuRow("delete", "删除");
  136. sMenu += getFormatMenuRow("selectall", "全选");
  137. sMenu += sMenuHr;
  138. height += 100;
  139. if (isControlSelected("IMG"))
  140. {
  141. if(ControlSelectedClass()=="DATE")
  142.    sMenu += getMenuRow("", "ShowDialog('/general/system/workflow/flow_form/cool_calendar.aspx',320,80)", "日历控件属性...");
  143. else if(ControlSelectedClass()=="LIST_VIEW")
  144.  sMenu += getMenuRow("", "ShowDialog('/general/system/workflow/flow_form/cool_listview.aspx',420,290)", "列表控件属性...");
  145. else if(ControlSelectedClass()=="USER")
  146.  sMenu += getMenuRow("", "ShowDialog('/general/system/workflow/flow_form/cool_user.aspx',350,130)", "部门人员控件属性...");
  147. else if(ControlSelectedClass()=="SIGN")
  148.  sMenu += getMenuRow("", "ShowDialog('/general/system/workflow/flow_form/cool_sign.aspx',320,120)", "签章控件属性...");
  149. else
  150.    sMenu += getMenuRow("", "insert('image')", "图片属性...");
  151. sMenu += sMenuHr;
  152. height += 22;
  153. }
  154. else if (isControlSelected("INPUT"))
  155. {
  156. if(ControlSelectedType()=="CHECKBOX")
  157.    sMenu += getMenuRow("", "ShowDialog('/general/system/workflow/flow_form/cool_checkbox.aspx',320,120)", "单选框属性...");
  158. else if(ControlSelectedClass()=="AUTO")
  159.    sMenu += getMenuRow("", "ShowDialog('/general/system/workflow/flow_form/cool_auto.aspx',360,210)", "宏控件属性...");
  160. else if(ControlSelectedClass()=="CALC")
  161.    sMenu += getMenuRow("", "ShowDialog('/general/system/workflow/flow_form/cool_calc.aspx',320,180)", "计算控件属性...");
  162. else
  163.        sMenu += getMenuRow("", "ShowDialog('/general/system/workflow/flow_form/cool_textfield.aspx',320,140)", "单行输入框属性...");
  164. sMenu += sMenuHr;
  165. height += 22;
  166. }
  167. else if (isControlSelected("TEXTAREA"))
  168. {
  169. sMenu += getMenuRow("", "ShowDialog('/general/system/workflow/flow_form/cool_textarea.aspx',320,140)", "多行输入框属性...");
  170. sMenu += sMenuHr;
  171. height += 22;
  172. }
  173. else if (isControlSelected("SELECT"))
  174. {
  175. if(ControlSelectedClass()!="AUTO")
  176.    sMenu += getMenuRow("", "ShowDialog('/general/system/workflow/flow_form/cool_listmenu.aspx',320,290)", "下拉菜单属性...");
  177. else
  178.    sMenu += getMenuRow("", "ShowDialog('/general/system/workflow/flow_form/cool_auto.aspx',320,210)", "宏控件属性...");
  179. sMenu += sMenuHr;
  180. height += 22;
  181. }
  182. sMenu = sMenu1 + sMenu + sMenu2;
  183. oPopDocument.open();
  184. oPopDocument.write("<head><link href="MenuArea.css" type="text/css" rel="stylesheet"></head><body scroll="no" onConTextMenu="event.returnValue=false;">"+sMenu);
  185. oPopDocument.close();
  186. height+=2;
  187. if(lefter+width > document.body.clientWidth) lefter=lefter-width;
  188. oPopupMenu.show(lefter, topper, width, height, document.body);
  189. return false;
  190. }
  191. document.oncontextmenu=new Function("return showContextMenu(event);");
  192. // This defines the scriptlets public interface.  See rte_interface.js for
  193. // the actual interface definition.
  194. var public_description =  new RichEditor();
  195. // Initialise the editor as soon as the window is loaded.
  196. window.attachEvent("onload", initEditor);
  197. // Initialise the tEdit var
  198. var tEdit = null;
  199. </script>
  200. <script language="JavaScript" src="rte_lang.js"></script>
  201. </head>
  202. <body leftMargin="0" topMargin="0" scroll="no" unselectable="on"
  203. onload="tEdit = new tableEditor('doc', 'textedit');"
  204. onMouseMove="if (tEdit) { tEdit.changePos(); tEdit.resizeCell() }" >
  205. <!-- Loading Layer ----------------------------------->
  206. <div id="loading" style="position: absolute; top: 0px; left: 0px; height: 100%; z-index: 2">
  207. <table width="100%" height="100%"><tr><td align="center" valign="middle">
  208. <font size="+3">贤达编辑器需要 IE 6.0以上版本<br><br>载入中,请稍候……<br><br><br>贤达科技版权所有</font>
  209. </td></tr></table>
  210. </div>
  211. <!-- Editor Layer -------------------------------------->
  212. <table id="editor" unselectable="on" height="100%" cellspacing="0" cellpadding="0" width="100%" bgcolor="buttonface" border="0">
  213.   <tr ondragstart="handleDrag(0)" onmouseup="press(false)" onmousedown="press(true)" onmouseover="hover(true)" onmouseout="hover(false)">
  214.     <td class="rebar"><nobr><span class="toolbar">
  215. <img class="spacer" src="images/spacer.gif" width="2"><span class="start"></span>
  216. <img id="btnCut" onclick="doStyle('Cut')" alt="@{Cut}" src="images/icon_cut.gif" align="absMiddle" width="20" height="20">
  217. <img id="btnCopy" onclick="doStyle('Copy')" alt="@{Copy}" src="images/icon_copy.gif" align="absMiddle" width="20" height="20">
  218. <img id="btnPaste" onclick="doStyle('Paste')" alt="@{Paste}" src="images/icon_paste.gif" align="absMiddle" width="20" height="20">
  219. <img class="spacer" src="images/spacer.gif" width="2"><span class="sep"></span>
  220. <img id="btnSelect" onclick="doStyle('SelectAll')" alt="@{SelectAll}" src="images/icon_select_all.gif" align="absMiddle" width="20" height="20">
  221. <img id="btnRemove" onclick="doStyle('RemoveFormat')" alt="@{RemoveFormatting}" src="images/icon_rem_formatting.gif" align="absMiddle" width="20" height="20">
  222. <img class="spacer" src="images/spacer.gif" width="2"><span class="sep"></span>
  223. <img id="btnLink"   onclick="link(true)" alt="@{InsertLink}" src="images/icon_ins_link.gif" align="absMiddle" width="20" height="20">
  224. <img id="btnRemLink" onclick="link(false)" alt="@{RemoveLink}" src="images/icon_rem_link.gif" align="absMiddle" width="20" height="20">
  225. <img class="spacer" src="images/spacer.gif" width="2"><span class="sep"></span>
  226. <img id="btnImage"  onclick="insert('image')" alt="@{InsertImage}" src="images/icon_ins_image.gif" align="absMiddle" width="20" height="20">
  227. <img id="btnTable"  onclick="insert('table')" alt="@{InsertTable}" src="images/icon_ins_table.gif" align="absMiddle" width="20" height="20">
  228. <img id="Img1"  onclick="document.getElementById('tblCtrl').style.visibility = 'visible';" alt="@{EditTable}" src="images/icon_edt_table.gif" align="absMiddle" width="20" height="20">
  229. <img id="btnRule"   onclick="doStyle('InsertHorizontalRule')" alt="@{InsertLine}" src="images/icon_rule.gif" align="absMiddle" width="20" height="20">
  230. <img class="spacer" src="images/spacer.gif" width="2"><span class="sep"></span>
  231. <img id="btnText"  onclick="pickColor('ForeColor')" alt="@{TextColor}" src="images/icon_color_text.gif" align="absMiddle" width="36" height="20">
  232. <img id="btnFill"  onclick="pickColor('BackColor')" alt="@{BackgroundColor}" src="images/icon_color_fill.gif" align="absMiddle" width="36" height="20">
  233. <object id="color" data="/module/rte/colorchooser.html" type="text/x-scriptlet" VIEWASTEXT></object>
  234. <script for="color" event="onscriptletevent(name, data)">
  235. setColor(name, data);
  236. </script>
  237. <%-- <img id="btnModel"  onclick="LoadModel()" alt="模版" src="images/model.gif" align="absMiddle" width="40" height="20">
  238. <img id="Img2"  onclick="ShowDialog('../macro.aspx',300,350)" alt="宏" src="images/macro.gif" align="absMiddle" width="20" height="20">
  239. <img id="Img3"  onclick="ShowDialog('/general/system/workflow/flow_form/js.aspx?form_id=<%=intFormId %>',500,350)" alt="插入JS代码" src="images/js.gif" align="absMiddle" width="25" height="20">
  240. <img id="Img4"  onclick="ShowDialog('/general/system/workflow/flow_form/css.aspx?form_id=<%=intFormId %>',500,350)" alt="插入样式表" src="images/css.gif" align="absMiddle" width="32" height="20">--%>
  241. <img id="btnAbout"  onclick="insert('about')" alt="@{About}" src="images/icon_about.gif" align="absMiddle" width="16" height="16">
  242.     </span></nobr></td></tr>
  243.   <tr ondragstart="handleDrag(0)" onmouseup="press(false)" onmousedown="press(true)" onmouseover="hover(true)" onmouseout="hover(false)">
  244.     <td class="rebar"><nobr><span class="toolbar">
  245. <img class="spacer" src="images/spacer.gif" width="2"><span class="start"></span>
  246. <img id="btnBold"     onclick="doStyle('bold')" alt="@{Bold}" src="images/icon_bold.gif" align="absMiddle" width="20" height="20">
  247. <img id="btnItalic"   onclick="doStyle('italic')" alt="@{Italic}" src="images/icon_italic.gif" align="absMiddle" width="20" height="20">
  248. <img id="btnUnderline"  onclick="doStyle('underline')" alt="@{Underline}" src="images/icon_underline.gif" align="absMiddle" width="20" height="20">
  249. <img id="btnStrikethrough"  onclick="doStyle('strikethrough')" alt="@{Strikethrough}" src="images/icon_strikethrough.gif" align="absMiddle" width="20" height="20">
  250. <img class="spacer" src="images/spacer.gif" width="2"><span class="sep"></span>
  251. <img id="btnLeftJustify"  onclick="doStyle('JustifyLeft')" alt="@{AlignLeft}" src="images/icon_left.gif" align="absMiddle" width="20" height="20">
  252. <img id="btnCenter"   onclick="doStyle('JustifyCenter')" alt="@{Center}" src="images/icon_center.gif" align="absMiddle" width="20" height="20">
  253. <img id="btnRightJustify"  onclick="doStyle('JustifyRight')" alt="@{AlignRight}" src="images/icon_right.gif" align="absMiddle" width="20" height="20">
  254. <img id="btnFullJustify" onclick="doStyle('JustifyFull')" alt="@{AlignBlock}" src="images/icon_block.gif" align="absMiddle" width="20" height="20">
  255. <img class="spacer" src="images/spacer.gif" width="2"><span class="sep"></span>
  256. <img id="btnNumList"  onclick="doStyle('InsertOrderedList')" alt="@{NumberedList}" src="images/icon_numlist.gif" align="absMiddle" width="20" height="20">
  257. <img id="btnBulList"  onclick="doStyle('InsertUnorderedList')" alt="@{BulettedList}" src="images/icon_bullist.gif" align="absMiddle" width="20" height="20">
  258. <img class="spacer" src="images/spacer.gif" width="2"><span class="sep"></span>
  259. <img id="btnOutdent"  onmousedown="doStyle('Outdent')" alt="@{DecreaseIndent}" src="images/icon_outdent.gif" align="absMiddle" width="20" height="20">
  260. <img id="btnIndent"   onmousedown="doStyle('Indent')" alt="@{IncreaseIndent}" src="images/icon_indent.gif" align="absMiddle" width="20" height="20">
  261. <span id="featureHistory">
  262. <img class="spacer" src="images/spacer.gif" width="2"><span class="sep"></span>
  263. <img id="btnPrev" onmousedown="document.execCommand('Undo')" alt="@{HistoryBack}"    src="images/icon_undo.gif" align="absMiddle" width="20" height="20">
  264. <img id="btnNext" onmousedown="document.execCommand('Redo')"  alt="@{HistoryForward}" src="images/icon_redo.gif" align="absMiddle" width="20" height="20">
  265. <img class="spacer" src="images/spacer.gif" width="2"><span class="sep"></span>&nbsp;
  266. <span class="label"><label for="switchMode">@{Source}</label></span>
  267. <input title="@{SourceTitle}" class="checkbox" hidefocus type="checkbox" name="switchMode" id="switchMode"
  268. onclick="tEdit.stopCellResize(true); tEdit.unSetTableElements(); setEditMode(switchMode)">
  269. </span>
  270. </span></nobr></td></tr>
  271. <tr id="featureStyleBar" ondragstart="handleDrag(0)" onmouseup="press(false)" onmousedown="press(true)" onmouseover="hover(true)" onmouseout="hover(false)">
  272.     <td class="rebar"><nobr><span class="toolbar">
  273. <img class="spacer" src="images/spacer.gif" width="2"><span class="start"></span>&nbsp;
  274. <span id="featureStyle">
  275. <span class="label">@{Style}</span>
  276. <select name="" id="ctlStyle" class="button" onchange="addTag(this)">
  277. </select>
  278. <span class="sep"></span>
  279. </span>
  280. <span id="featureFont">
  281. <span class="label">@{Font}</span>
  282. <select hidefocus class="fontselect" id="ctlFont"  onchange="sel(this)">
  283. <option id="宋体" value="宋体" selected>宋体</option>
  284. <option id="方正舒体" value="方正舒体">方正舒体</option>
  285. <option id="方正姚体" value="方正姚体">方正姚体</option>
  286. <option id="仿宋_GB2312" value="仿宋_GB2312">仿宋_GB2312</option>
  287. <option id="黑体" value="黑体">黑体</option>
  288. <option id="华文彩云" value="华文彩云">华文彩云</option>
  289. <option id="华文仿宋" value="华文仿宋">华文仿宋</option>
  290. <option id="华文细黑" value="华文细黑">华文细黑</option>
  291. <option id="华文新魏" value="华文新魏">华文新魏</option>
  292. <option id="华文行楷" value="华文行楷">华文行楷</option>
  293. <option id="华文中宋" value="华文中宋">华文中宋</option>
  294. <option id="楷体_GB2312" value="楷体_GB2312">楷体_GB2312</option>
  295. <option id="隶书" value="隶书">隶书</option>
  296. <option id="仿宋体" value="仿宋体">仿宋体</option>
  297. <option id="幼圆" value="幼圆">幼圆</option>
  298. <option id="Arial" value="Arial">Arial</option>
  299. <option id="Arial black" value="Arial black">Arial black</option>
  300. <option id="Arial narrow" value="Arial narrow">Arial narrow</option>
  301. <option id="Fixedsys" value="Fixedsys">Fixedsys</option>
  302. <option id="Times New Roman" value="Times New Roman">Times New Roman</option>
  303. <option id="Courier New" value="Courier New">Courier New</option>
  304. <option id="Georgia" value="Georgia">Georgia</option>
  305. <option id="Verdana" value="Verdana">Verdana</option>
  306. <option id="Geneva" value="Geneva">Geneva</option>
  307. </select>
  308. </span>
  309. <span id="featureFontSize">
  310. <span class="sep"></span>
  311. <span class="label">@{Size}</span>
  312. <select hidefocus class="button" id="ctlSize"  onchange="sel(this)">
  313. <option selected></option>
  314. <option value="1">1 (8 磅)</option>
  315. <option value="2">2 (10 磅)</option>
  316. <option value="3">3 (12 磅)</option>
  317. <option value="4">4 (14 磅)</option>
  318. <option value="5">5 (18 磅)</option>
  319. <option value="6">6 (24 磅)</option>
  320. <option value="7">7 (36 磅)</option>
  321. </select>
  322. </span>
  323. </span></nobr></td>
  324. </tr>
  325. <!-- Fields are inserted here -->
  326. <tr id="rebarBottom">
  327.     <td class="spacer" height="2"><img height="1" src="images/spacer.gif" align="left"></td></tr>
  328.   <tr>
  329.     <td class="textedit" id="textedit" valign="top" height="100%">
  330. <div class="document" id="doc" onkeyup="reset(); markSelectedElement(); tEdit.setTableElements(); tEdit.repositionArrows();" contenteditable="false" style="OVERFLOW: auto; WIDTH: 100%; HEIGHT: 100%" onclick="reset(); markSelectedElement()"  onmouseup="markSelectedElement(); tEdit.setTableElements(); tEdit.stopCellResize(false);" onscroll="tEdit.repositionArrows()" height="100%" width="100%">
  331.   </div>
  332. </td></tr>
  333. </table>
  334. <!-- Table Editing Layer ----------------------------------->
  335. <div id="tblCtrl" style="position:absolute; visibility:hidden; left:200; top:200; z-index: 5">
  336. <table border="0" cellpadding="0" cellspacing="0" width="68" bgcolor="buttonface">
  337.   <tr ondragstart="handleDrag(0)">
  338.    <td><img src="images/spacer.gif" width="8" height="1" border="0"></td>
  339.    <td><img src="images/spacer.gif" width="5" height="1" border="0"></td>
  340.    <td><img src="images/spacer.gif" width="18" height="1" border="0"></td>
  341.    <td><img src="images/spacer.gif" width="2" height="1" border="0"></td>
  342.    <td><img src="images/spacer.gif" width="22" height="1" border="0"></td>
  343.    <td><img src="images/spacer.gif" width="4" height="1" border="0"></td>
  344.    <td><img src="images/spacer.gif" width="9" height="1" border="0"></td>
  345.    <td><img src="images/spacer.gif" width="1" height="1" border="0"></td>
  346.   </tr>
  347.   <tr ondragstart="handleDrag(0)">
  348.    <td colspan="2" onClick="document.getElementById('tblCtrl').style.visibility = 'hidden';"><img name="CloseWindow" src="images/CloseWindow.gif" width="13" height="16" border="0"></td>
  349.    <td colspan="3" onmousedown="tEdit.setDrag( document.getElementById('tblCtrl') )" onmouseup="tEdit.setDrag( document.getElementById('tblCtrl') )"><img name="toolbar" src="images/toolbar.gif" width="42" height="16" border="0"></td>
  350.    <td colspan="2"><img name="minimize" src="images/minimize.gif" width="13" height="16" border="0"></td>
  351.    <td><img src="images/spacer.gif" width="1" height="16" border="0"></td>
  352.   </tr>
  353.   <tr ondragstart="handleDrag(0)">
  354.   <td colspan="7"><img name="hdr_tables" src="images/hdr_tables.gif" width="68" height="15" border="0"></td>
  355.    <td><img src="images/spacer.gif" width="1" height="15" border="0"></td>
  356.   </tr>
  357.   <tr ondragstart="handleDrag(0)">
  358.    <td colspan="7"><img name="plt_hdr" src="images/plt_hdr.gif" width="68" height="9" border="0"></td>
  359.    <td><img src="images/spacer.gif" width="1" height="9" border="0"></td>
  360.   </tr>
  361.   <tr ondragstart="handleDrag(0)" onmouseup="press(false)" onmousedown="press(true)" onmouseover="hover(true)" onmouseout="hover(false)">
  362.    <td rowspan="8"><img class="spacer" name="Editor_r4_c1" src="images/Editor_r4_c1.gif" width="8" height="112" border="0"></td>
  363.    <td colspan="2" class="tbl" style="height: 26px"><img name="rmv_colspan"  onclick="tEdit.splitCell();" src="images/rmv_colspan.gif" width="21" height="24" alt="@{RemoveColspan}"></td>
  364.    <td rowspan="8"><img class="spacer" name="Editor_r4_c4" src="images/Editor_r4_c4.gif" width="2" height="112" border="0"></td>
  365.    <td colspan="2" class="tbl" style="height: 26px"><img name="rmv_rowspan"  onclick="tEdit.unMergeDown();" src="images/rmv_rowspan.gif" width="24" height="24" alt="@{RemoveRowspan}"></td>
  366.    <td rowspan="8"><img class="spacer" name="Editor_r4_c7" src="images/Editor_r4_c7.gif" width="9" height="112" border="0"></td>
  367.    <td style="height: 26px"><img class="spacer" src="images/spacer.gif" width="1" height="26" border="0"></td>
  368.   </tr>
  369.   <tr ondragstart="handleDrag(0)">
  370.    <td colspan="2"><img class="spacer" name="Editor_r5_c2" src="images/Editor_r5_c2.gif" width="23" height="2" border="0"></td>
  371.    <td colspan="2"><img class="spacer" name="Editor_r5_c5" src="images/Editor_r5_c5.gif" width="26" height="2" border="0"></td>
  372.    <td><img class="spacer" src="images/spacer.gif" width="1" height="2" border="0"></td>
  373.   </tr>
  374.   <tr ondragstart="handleDrag(0)" onmouseup="press(false)" onmousedown="press(true)" onmouseover="hover(true)" onmouseout="hover(false)">
  375.   <td colspan="2" class="tbl"><img name="incr_colspan"  onclick="tEdit.mergeRight();" src="images/incr_colspan.gif" width="21" height="24" alt="@{IncreaseColspan}"  border="0"></td>
  376.   <td colspan="2" class="tbl"><img name="incr_rowspan" onclick="tEdit.mergeDown();" src="images/incr_rowspan.gif" width="24" height="24" alt="@{IncreaseRowspan}"  border="0"></td>
  377.    <td><img class="spacer" src="images/spacer.gif" width="1" height="26" border="0"></td>
  378.   </tr>
  379.   <tr ondragstart="handleDrag(0)">
  380.    <td colspan="2"><img class="spacer"  name="Editor_r7_c2" src="images/Editor_r7_c2.gif" width="23" height="2" border="0"></td>
  381.    <td colspan="2"><img class="spacer" name="Editor_r7_c5" src="images/Editor_r7_c5.gif" width="26" height="2" border="0"></td>
  382.    <td><img class="spacer" src="images/spacer.gif" width="1" height="2" border="0"></td>
  383.   </tr>
  384.   <tr ondragstart="handleDrag(0)" onmouseup="press(false)" onmousedown="press(true)" onmouseover="hover(true)" onmouseout="hover(false)">
  385.   <td colspan="2" class="tbl"><img name="add_col" onclick="tEdit.processColumn('add');"  src="images/add_col.gif" width="21" height="22" alt="@{AddColumn}" border="0" ></td>
  386.   <td colspan="2" class="tbl"><img name="add_row"  onclick="tEdit.processRow('add');" src="images/add_row.gif" width="24" height="22" alt="@{AddRow}" border="0" ></td>
  387.    <td><img src="images/spacer.gif" width="1" height="24" border="0"></td>
  388.   </tr>
  389.   <tr ondragstart="handleDrag(0)">
  390.    <td colspan="2"><img class="spacer" name="Editor_r9_c2" src="images/Editor_r9_c2.gif" width="23" height="4" border="0"></td>
  391.    <td colspan="2"><img class="spacer" name="Editor_r9_c5" src="images/Editor_r9_c5.gif" width="26" height="4" border="0"></td>
  392.    <td><img class="spacer" src="images/spacer.gif" width="1" height="4" border="0"></td>
  393.   </tr>
  394.   <tr ondragstart="handleDrag(0)" onmouseup="press(false)" onmousedown="press(true)" onmouseover="hover(true)" onmouseout="hover(false)">
  395.   <td colspan="2" class="tbl"><img name="rmv_col" onclick="tEdit.processColumn('remove');" src="images/rmv_col.gif" width="21" height="22" alt="@{RemoveColumn}" border="0" ></td>
  396.   <td colspan="2" class="tbl"><img name="rmv_row" onclick="tEdit.processRow('remove');" src="images/rmv_row.gif" width="24" height="22" alt="@{RemoveRow}" border="0" ></td>
  397.    <td><img src="images/spacer.gif" width="1" height="24" border="0"></td>
  398.   </tr>
  399.   <tr ondragstart="handleDrag(0)">
  400.    <td colspan="2"><img name="Editor_r11_c2" src="images/Editor_r11_c2.gif" width="23" height="4" border="0"></td>
  401.    <td colspan="2"><img name="Editor_r11_c5" src="images/Editor_r11_c5.gif" width="26" height="4" border="0"></td>
  402.    <td><img class="spacer" src="images/spacer.gif" width="1" height="4" border="0"></td>
  403.   </tr>
  404.   <tr ondragstart="handleDrag(0)">
  405.    <td colspan="7"><img name="plt_ftr" src="images/plt_ftr.gif" width="68" height="8" border="0"></td>
  406.    <td><img class="spacer" src="images/spacer.gif" width="1" height="8" border="0"></td>
  407.   </tr>
  408. </table>
  409. </div>
  410. </body></html>