htmlEditor.js
上传用户:btntkt
上传日期:2021-04-16
资源大小:5296k
文件大小:54k
源码类别:

WEB源码(ASP,PHP,...)

开发平台:

DOS

  1. var IMAGE_PATH;
  2. var ICON_PATH;
  3. var IMAGE_ATTACH_PATH;
  4. var IMAGE_UPLOAD_CGI;
  5. var MENU_BORDER_COLOR;
  6. var MENU_BG_COLOR;
  7. var MENU_TEXT_COLOR;
  8. var MENU_SELECTED_COLOR;
  9. var TOOLBAR_BG_COLOR;
  10. var FORM_BORDER_COLOR;
  11. var FORM_BG_COLOR;
  12. var OBJ_NAME;
  13. var SELECTION;
  14. var RANGE;
  15. var RANGE_TEXT;
  16. var EDITFORM_DOCUMENT;
  17. var UPLOAD_DOCUMENT;
  18. var BROWSER;
  19. var TOOLBAR_ICON;
  20. var MSG_INPUT_URL = "请输入正确的URL地址。";
  21. var MSG_INVALID_IMAGE = "只能选择GIF,JPG,PNG,BMP格式的图片,请重新选择。";
  22. var MSG_INVALID_MEDIA = "只能选择MP3,WMV,ASF,WMA,RM格式的多媒体,请重新选择。";
  23. var MSG_SELECT_TARGET = "请选择目标文本。";
  24. var MSG_INVALID_WIDTH = "宽度不是数字,请重新输入。";
  25. var MSG_INVALID_HEIGHT = "高度不是数字,请重新输入。";
  26. var MSG_INVALID_BORDER = "边框不是数字,请重新输入。";
  27. var STR_WIDTH = "宽";
  28. var STR_HEIGHT = "高";
  29. var STR_BORDER = "边";
  30. var STR_BUTTON_CONFIRM = "确定";
  31. var STR_BUTTON_CANCEL = "取消";
  32. var STR_BUTTON_PREVIEW = "预览";
  33. var STR_BUTTON_LISTENING = "试听";
  34. var STR_IMAGE_LOCAL = "本地";
  35. var STR_IMAGE_REMOTE = "远程";
  36. var STR_LINK_BLANK = "新窗口";
  37. var STR_LINK_NOBLANK = "当前窗口";
  38. var STR_LINK_TARGET = "目标";
  39. var EDITOR_FONT_FAMILY = "SimSun";
  40. var FONT_NAME = Array(
  41. Array('SimSun', '宋体'), 
  42. Array('SimHei', '黑体'), 
  43. Array('FangSong_GB2312', '仿宋体'), 
  44. Array('KaiTi_GB2312', '楷体'), 
  45. Array('NSimSun', '新宋体'), 
  46. Array('Arial', 'Arial'), 
  47. Array('Arial Black', 'Arial Black'), 
  48. Array('Times New Roman', 'Times New Roman'), 
  49. Array('Courier New', 'Courier New'), 
  50. Array('Tahoma', 'Tahoma'), 
  51. Array('Verdana', 'Verdana'), 
  52. Array('GulimChe', 'GulimChe'), 
  53. Array('MS Gothic', 'MS Gothic') 
  54. );
  55. var ZOOM_TABLE = Array('250%', '200%', '150%', '120%', '100%', '80%', '50%');
  56. var TITLE_TABLE = Array(
  57. Array('H1', '标题 1'), 
  58. Array('H2', '标题 2'), 
  59. Array('H3', '标题 3'), 
  60. Array('H4', '标题 4'), 
  61. Array('H5', '标题 5'), 
  62. Array('H6', '标题 6')
  63. );
  64. var FONT_SIZE = Array(
  65. Array(1,'8pt'), 
  66. Array(2,'10pt'), 
  67. Array(3,'12pt'), 
  68. Array(4,'14pt'), 
  69. Array(5,'18pt'), 
  70. Array(6,'24pt'), 
  71. Array(7,'36pt')
  72. );
  73. var SPECIAL_CHARACTER = Array('§','№','☆','★','○','●','◎','◇','◆','□','℃','‰','■','△','▲','※',
  74. '→','←','↑','↓','〓','¤','°','#','&','@','\','︿','_',' ̄','―','α',
  75. 'β','γ','δ','ε','ζ','η','θ','ι','κ','λ','μ','ν','ξ','ο','π','ρ',
  76. 'σ','τ','υ','φ','χ','ψ','ω','≈','≡','≠','=','≤','≥','<','>','≮',
  77. '≯','∷','±','+','-','×','÷','/','∫','∮','∝','∞','∧','∨','∑','∏',
  78. '∪','∩','∈','∵','∴','⊥','∥','∠','⌒','⊙','≌','∽','〖','〗','【','】');
  79. var TOP_TOOLBAR_ICON = Array(
  80. Array('Html_SOURCE', 'source.gif', '42', '20', '视图转换'),
  81. Array('Html_ZOOM', 'zoom.gif', '20', '20', '显示比例'),
  82. Array('Html_COPY', 'copy.gif', '20', '20', '复制'),
  83. Array('Html_PASTE', 'paste.gif', '20', '20', '粘贴'),
  84. Array('Html_SELECTALL', 'selectall.gif', '20', '20', '全选'),
  85. Array('Html_JUSTIFYLEFT', 'justifyleft.gif', '20', '20', '左对齐'),
  86. Array('Html_JUSTIFYCENTER', 'justifycenter.gif', '20', '20', '居中'),
  87. Array('Html_JUSTIFYRIGHT', 'justifyright.gif', '20', '20', '右对齐'),
  88. Array('Html_JUSTIFYFULL', 'justifyfull.gif', '20', '20', '两端对齐'),
  89. Array('Html_NUMBEREDLIST', 'numberedlist.gif', '20', '20', '编号'),
  90. Array('Html_UNORDERLIST', 'unorderedlist.gif', '20', '20', '项目符号'),
  91. Array('Html_INDENT', 'indent.gif', '20', '20', '减少缩进'),
  92. Array('Html_OUTDENT', 'outdent.gif', '20', '20', '增加缩进'),
  93. Array('Html_SUBSCRIPT', 'subscript.gif', '20', '20', '下标'),
  94. Array('Html_SUPERSCRIPT', 'superscript.gif', '20', '20', '上标'),
  95.                                                 Array('Html_SPECIALCHAR', 'specialchar.gif', '20', '20', '特殊字符'),
  96. Array('Html_DATE', 'date.gif', '20', '20', '日期'),
  97. Array('Html_TIME', 'time.gif', '20', '20', '时间')
  98.   );
  99. var BOTTOM_TOOLBAR_ICON = Array(
  100. Array('Html_TITLE', 'title.gif', '28', '20', '标题'),
  101. Array('Html_FONTNAME', 'font.gif', '28', '20', '字体'),
  102. Array('Html_FONTSIZE', 'fontsize.gif', '28', '20', '文字大小'),
  103. Array('Html_TEXTCOLOR', 'textcolor.gif', '20', '20', '文字颜色'),
  104. Array('Html_BGCOLOR', 'bgcolor.gif', '20', '20', '文字背景'),
  105. Array('Html_BOLD', 'bold.gif', '20', '20', '粗体'),
  106. Array('Html_ITALIC', 'italic.gif', '20', '20', '斜体'),
  107. Array('Html_UNDERLINE', 'underline.gif', '20', '20', '下划线'),
  108. Array('Html_STRIKE', 'strikethrough.gif', '20', '20', '删除线'),
  109. Array('Html_REMOVE', 'removeformat.gif', '20', '20', '删除格式'),
  110. Array('Html_IMAGE', 'image.gif', '20', '20', '图片'),
  111. Array('Html_FLASH', 'flash.gif', '20', '20', 'Flash'),
  112. Array('Html_MEDIA', 'media.gif', '20', '20', '视频'),
  113. Array('Html_LAYER', 'layer.gif', '20', '20', '层'),
  114. Array('Html_TABLE', 'table.gif', '20', '20', '表格'),
  115. Array('Html_HR', 'hr.gif', '20', '20', '横线'),
  116. Array('Html_ICON', 'emoticons.gif', '20', '20', '笑脸'),
  117. Array('Html_LINK', 'link.gif', '20', '20', '创建超级连接'),
  118. Array('Html_UNLINK', 'unlink.gif', '20', '20', '删除超级连接')
  119.   );
  120. var COLOR_TABLE = Array(
  121. "#FF0000", "#FFFF00", "#00FF00", "#00FFFF", "#0000FF", "#FF00FF", "#FFFFFF", "#F5F5F5", "#DCDCDC", "#FFFAFA",
  122. "#D3D3D3", "#C0C0C0", "#A9A9A9", "#808080", "#696969", "#000000", "#2F4F4F", "#708090", "#778899", "#4682B4",
  123. "#4169E1", "#6495ED", "#B0C4DE", "#7B68EE", "#6A5ACD", "#483D8B", "#191970", "#000080", "#00008B", "#0000CD",
  124. "#1E90FF", "#00BFFF", "#87CEFA", "#87CEEB", "#ADD8E6", "#B0E0E6", "#F0FFFF", "#E0FFFF", "#AFEEEE", "#00CED1",
  125. "#5F9EA0", "#48D1CC", "#00FFFF", "#40E0D0", "#20B2AA", "#008B8B", "#008080", "#7FFFD4", "#66CDAA", "#8FBC8F",
  126. "#3CB371", "#2E8B57", "#006400", "#008000", "#228B22", "#32CD32", "#00FF00", "#7FFF00", "#7CFC00", "#ADFF2F",
  127. "#98FB98", "#90EE90", "#00FF7F", "#00FA9A", "#556B2F", "#6B8E23", "#808000", "#BDB76B", "#B8860B", "#DAA520",
  128. "#FFD700", "#F0E68C", "#EEE8AA", "#FFEBCD", "#FFE4B5", "#F5DEB3", "#FFDEAD", "#DEB887", "#D2B48C", "#BC8F8F",
  129. "#A0522D", "#8B4513", "#D2691E", "#CD853F", "#F4A460", "#8B0000", "#800000", "#A52A2A", "#B22222", "#CD5C5C",
  130. "#F08080", "#FA8072", "#E9967A", "#FFA07A", "#FF7F50", "#FF6347", "#FF8C00", "#FFA500", "#FF4500", "#DC143C",
  131. "#FF0000", "#FF1493", "#FF00FF", "#FF69B4", "#FFB6C1", "#FFC0CB", "#DB7093", "#C71585", "#800080", "#8B008B",
  132. "#9370DB", "#8A2BE2", "#4B0082", "#9400D3", "#9932CC", "#BA55D3", "#DA70D6", "#EE82EE", "#DDA0DD", "#D8BFD8",
  133. "#E6E6FA", "#F8F8FF", "#F0F8FF", "#F5FFFA", "#F0FFF0", "#FAFAD2", "#FFFACD", "#FFF8DC", "#FFFFE0", "#FFFFF0",
  134. "#FFFAF0", "#FAF0E6", "#FDF5E6", "#FAEBD7", "#FFE4C4", "#FFDAB9", "#FFEFD5", "#FFF5EE", "#FFF0F5", "#FFE4E1"
  135. );
  136. function cleanHtml(content)
  137. {
  138. content = content.replace(/<p>&nbsp;</p>/gi,"")
  139. content = content.replace(/<p></p>/gi,"<p>")
  140. content = content.replace(/<div></1>/gi,"")
  141. content = content.replace(/<p>/,"<br>")
  142. content = content.replace(/(<(meta|iframe|frame|span|tbody|layer)[^>]*>|</(iframe|frame|meta|span|tbody|layer)>)/gi, "");
  143. content = content.replace(/<\??xml[^>]*>/gi, "") ;
  144. content = content.replace(/o:/gi, "");
  145. content = content.replace(/&nbsp;/gi, " ");
  146. return content;
  147. }
  148. //代码过滤及JS提取
  149. function FilterScript(content)
  150. {
  151. content = content.replace(/<(w[^div|>]*) classs*=s*([^>|s]*)([^>]*)/gi,"<$1$3") ;
  152. content = content.replace(/<(w[^font|>]*) styles*=s*"[^"]*"([^>]*>)/gi,"<$1 $2") ;
  153. content = content.replace(/<(w[^>]*) langs*=s*([^>|s]*)([^>]*)/gi,"<$1$3") ;
  154. var RegExp = /<(script[^>]*)>(.*)</script>/gi;
  155. content = content.replace(RegExp, "[code]&lt;$1&gt;$2&lt;script&gt;[/code]");
  156. RegExp = /<(w[^>|s]*)([^>]*)(on(finish|mouse|Exit|error|click|key|load|change|focus|blur))(.[^>]*)/gi;
  157. content = content.replace(RegExp, "<$1")
  158. RegExp = /<(w[^>|s]*)([^>]*)(&#|window.|javascript:|js:|about:|file:|Document.|vbs:|cookie| name| id)(.[^>]*)/gi;
  159. content = content.replace(RegExp, "<$1")
  160. return content;
  161. }
  162. function HtmlGetBrowser()
  163. {
  164. var browser = '';
  165. var agentInfo = navigator.userAgent.toLowerCase();
  166. if (agentInfo.indexOf("msie") > -1) {
  167. var re = new RegExp("msie\s?([\d\.]+)","ig");
  168. var arr = re.exec(agentInfo);
  169. if (parseInt(RegExp.$1) >= 5.5) {
  170. browser = 'IE';
  171. }
  172. } else if (agentInfo.indexOf("firefox") > -1) {
  173. browser = 'FF';
  174. } else if (agentInfo.indexOf("netscape") > -1) {
  175. var temp1 = agentInfo.split(' ');
  176. var temp2 = temp1[temp1.length-1].split('/');
  177. if (parseInt(temp2[1]) >= 7) {
  178. browser = 'NS';
  179. }
  180. } else if (agentInfo.indexOf("gecko") > -1) {
  181. browser = 'ML';
  182. } else if (agentInfo.indexOf("opera") > -1) {
  183. var temp1 = agentInfo.split(' ');
  184. var temp2 = temp1[0].split('/');
  185. if (parseInt(temp2[1]) >= 9) {
  186. browser = 'OPERA';
  187. }
  188. }
  189. return browser;
  190. }
  191. function HtmlGetFileName(file, separator)
  192. {
  193. var temp = file.split(separator);
  194. var len = temp.length;
  195. var fileName = temp[len-1];
  196. return fileName;
  197. }
  198. function HtmlGetFileExt(fileName)
  199. {
  200. var temp = fileName.split(".");
  201. var len = temp.length;
  202. var fileExt = temp[len-1].toLowerCase();
  203. return fileExt;
  204. }
  205. function HtmlCheckImageFileType(file, separator)
  206. {
  207. if (separator == "/" && file.match(/http://.{3,}/) == null) {
  208. alert(MSG_INPUT_URL);
  209. return false;
  210. }
  211. var fileName = HtmlGetFileName(file, separator);
  212. var fileExt = HtmlGetFileExt(fileName);
  213. if (fileExt != 'gif' && fileExt != 'jpg' && fileExt != 'png' && fileExt != 'bmp') {
  214. alert(MSG_INVALID_IMAGE);
  215. return false;
  216. }
  217. return true;
  218. }
  219. function HtmlCheckFlashFileType(file, separator)
  220. {
  221. if (file.match(/http://.{3,}/) == null) {
  222. alert(MSG_INPUT_URL);
  223. return false;
  224. }
  225. var fileName = HtmlGetFileName(file, "/");
  226. var fileExt = HtmlGetFileExt(fileName);
  227. return true;
  228. }
  229. function HtmlCheckMediaFileType(file, separator)
  230. {
  231. if (file.match(/http://.{3,}/) == null) {
  232. alert(MSG_INPUT_URL);
  233. return false;
  234. }
  235. var fileName = HtmlGetFileName(file, "/");
  236. var fileExt = HtmlGetFileExt(fileName);
  237. if (fileExt != 'mp3' && fileExt != 'wmv' && fileExt != 'asf' && fileExt != 'wma' && fileExt != 'rm') {
  238. alert(MSG_INVALID_MEDIA);
  239. return false;
  240. }
  241. return true;
  242. }
  243. function HtmlUpload(url)
  244. {
  245. UPLOAD_DOCUMENT.uploadForm.action = url;
  246. UPLOAD_DOCUMENT.uploadForm.target = '_self';
  247. UPLOAD_DOCUMENT.uploadForm.submit();
  248. }
  249. function HtmlHtmlentities(str)
  250. {
  251. str = str.replace(/</g,'&lt;');
  252. str = str.replace(/>/g,'&gt;');
  253. str = str.replace(/&/g,'&amp;');
  254. str = str.replace(/"/g,'&quot;');
  255. return str;
  256. }
  257. function HtmlHtmlentitiesDecode(str)
  258. {
  259. str = str.replace(/&lt;/g,'<');
  260. str = str.replace(/&gt;/g,'>');
  261. str = str.replace(/&amp;/g,'&');
  262. str = str.replace(/&quot;/g,'"');
  263. return str;
  264. }
  265. function HtmlHtmlToXhtml(str) 
  266. {
  267. str = str.replace(/<p([^>]*>)/gi, "<div$1");
  268. str = str.replace(/</p>/gi, "</div>");
  269. str = str.replace(/<br>/gi, "<br />");
  270. str = str.replace(/(<w+)([^>]*>)/gi, function ($0,$1,$2) {
  271. return($1.toLowerCase() + $2);
  272. }
  273. );
  274. str = str.replace(/(</w+>)/gi, function ($0,$1) {
  275. return($1.toLowerCase());
  276. }
  277. );
  278. str = HtmlTrim(str);
  279. return str;
  280. }
  281. function HtmlTrim(str)
  282. {
  283. str = str.replace(/^s+|s+$/g, "");
  284. str = str.replace(/[rn]+/g, "rn");
  285. return str;
  286. }
  287. function HtmlGetTop(id)
  288. {
  289. var top = 0;
  290. var tmp = '';
  291. var obj = document.getElementById(id);
  292. while (eval("obj" + tmp).tagName != "BODY") {
  293. tmp += ".offsetParent";
  294. top += eval("obj" + tmp).offsetTop;
  295. }
  296. return top;
  297. }
  298. function HtmlGetLeft(id)
  299. {
  300. var left = 0;
  301. var tmp = '';
  302. var obj = document.getElementById(id);
  303. while (eval("obj" + tmp).tagName != "BODY") {
  304. tmp += ".offsetParent";
  305. left += eval("obj" + tmp).offsetLeft;
  306. }
  307. return left;
  308. }
  309. function HtmlClearTemp()
  310. {
  311. document.getElementById('popupData').innerHTML = '';
  312. document.getElementById('popupName').innerHTML = '';
  313. }
  314. function HtmlGetMenuCommonStyle(top, left)
  315. {
  316. var str = 'position:absolute;top:'+top+'px;left:'+left+'px;font-size:12px;color:'+MENU_TEXT_COLOR+
  317. ';background-color:'+MENU_BG_COLOR+';border:solid 1px '+MENU_BORDER_COLOR+';z-index:1';
  318. return str;
  319. }
  320. function HtmlDrawMenu(mode, content)
  321. {
  322. var top = HtmlGetTop(mode) + 32;
  323. var left = HtmlGetLeft(mode) + 1;
  324. var str = '';
  325. str += '<div style="'+HtmlGetMenuCommonStyle(top, left)+'">';
  326. str += content;
  327. str += '</div>';
  328. document.getElementById('popupData').innerHTML = str;
  329. document.getElementById('popupName').innerHTML = mode;
  330. }
  331. function HtmlDrawZoom()
  332. {
  333. var str = '';
  334. for (i = 0; i < ZOOM_TABLE.length; i++) {
  335. str += '<div style="padding:2px;width:120px;cursor:pointer;" ' + 
  336. 'onclick="javascript:HtmlExecute('Html_ZOOM_END', '' + ZOOM_TABLE[i] + '');" ' + 
  337. 'onmouseover="javascript:this.style.backgroundColor=''+MENU_SELECTED_COLOR+'';" ' +
  338. 'onmouseout="javascript:this.style.backgroundColor=''+MENU_BG_COLOR+'';">' + 
  339. ZOOM_TABLE[i] + '</div>';
  340. }
  341. HtmlDrawMenu('Html_ZOOM', str);
  342. }
  343. function HtmlDrawTitle()
  344. {
  345. var str = '';
  346. for (i = 0; i < TITLE_TABLE.length; i++) {
  347. str += '<div style="width:140px;cursor:pointer;" ' + 
  348. 'onclick="javascript:HtmlExecute('Html_TITLE_END', '' + TITLE_TABLE[i][0] + '');" ' + 
  349. 'onmouseover="javascript:this.style.backgroundColor=''+MENU_SELECTED_COLOR+'';" ' +
  350. 'onmouseout="javascript:this.style.backgroundColor=''+MENU_BG_COLOR+'';"><' + TITLE_TABLE[i][0] + ' style="margin:2px;">' + 
  351. TITLE_TABLE[i][1] + '</' + TITLE_TABLE[i][0] + '></div>';
  352. }
  353. HtmlDrawMenu('Html_TITLE', str);
  354. }
  355. function HtmlDrawFontname()
  356. {
  357. var str = '';
  358. for (i = 0; i < FONT_NAME.length; i++) {
  359. str += '<div style="font-family:' + FONT_NAME[i][0] + 
  360. ';padding:2px;width:160px;cursor:pointer;" ' + 
  361. 'onclick="javascript:HtmlExecute('Html_FONTNAME_END', '' + FONT_NAME[i][0] + '');" ' + 
  362. 'onmouseover="javascript:this.style.backgroundColor=''+MENU_SELECTED_COLOR+'';" ' +
  363. 'onmouseout="javascript:this.style.backgroundColor=''+MENU_BG_COLOR+'';">' + 
  364. FONT_NAME[i][1] + '</div>';
  365. }
  366. HtmlDrawMenu('Html_FONTNAME', str);
  367. }
  368. function HtmlDrawFontsize()
  369. {
  370. var str = '';
  371. for (i = 0; i < FONT_SIZE.length; i++) {
  372. str += '<div style="font-size:' + FONT_SIZE[i][1] + 
  373. ';padding:2px;width:120px;cursor:pointer;" ' + 
  374. 'onclick="javascript:HtmlExecute('Html_FONTSIZE_END', '' + FONT_SIZE[i][0] + '');" ' + 
  375. 'onmouseover="javascript:this.style.backgroundColor=''+MENU_SELECTED_COLOR+'';" ' +
  376. 'onmouseout="javascript:this.style.backgroundColor=''+MENU_BG_COLOR+'';">' + 
  377. FONT_SIZE[i][1] + '</div>';
  378. }
  379. HtmlDrawMenu('Html_FONTSIZE', str);
  380. }
  381. function HtmlDrawColorTable(cmdName)
  382. {
  383. var top = HtmlGetTop(cmdName) + 32;
  384. var left = HtmlGetLeft(cmdName) + 1;
  385. var str = '';
  386. str += '<table cellpadding="0" cellspacing="2" border="0" style="'+HtmlGetMenuCommonStyle(top, left)+'">';
  387. for (i = 0; i < COLOR_TABLE.length; i++) {
  388. if (i == 0 || (i >= 10 && i%10 == 0)) {
  389. str += '<tr>';
  390. }
  391. str += '<td style="width:12px;height:12px;border:1px solid #AAAAAA;font-size:10px;cursor:pointer;background-color:' +
  392. COLOR_TABLE[i] + ';" onmouseover="javascript:this.style.borderColor='#000000';" ' +
  393. 'onmouseout="javascript:this.style.borderColor='#AAAAAA';" ' + 
  394. 'onclick="javascript:HtmlExecute(''+cmdName+'_END', '' + COLOR_TABLE[i] + '');">&nbsp;</td>';
  395. if (i >= 9 && i%(i-1) == 0) {
  396. str += '</tr>';
  397. }
  398. }
  399. str += '</table>';
  400. document.getElementById('popupData').innerHTML = str;
  401. document.getElementById('popupName').innerHTML = cmdName;
  402. }
  403. function HtmlCheckSelected()
  404. {
  405. if (RANGE_TEXT == '') {
  406. alert(MSG_SELECT_TARGET);
  407. return false;
  408. }
  409. }
  410. function HtmlDrawLink()
  411. {
  412. var top = HtmlGetTop('Html_LINK') + 32;
  413. var left = HtmlGetLeft('Html_LINK') - 220;
  414. var str = '';
  415. str += '<table cellpadding="0" cellspacing="0" style="width:250px;'+HtmlGetMenuCommonStyle(top, left)+'">' + 
  416. '<tr><td style="width:50px;padding:5px;">URL</td>' +
  417. '<td style="width:200px;padding-top:5px;padding-bottom:5px;"><input type="text" id="hyperLink" value="http://" style="width:190px;border:1px solid #555555;background-color:#FFFFFF;"></td>' +
  418. '<tr><td style="padding:5px;">'+STR_LINK_TARGET+'</td>' +
  419. '<td style="padding-bottom:5px;"><select id="hyperLinkTarget"><option value="_blank" selected>'+STR_LINK_BLANK+'</option><option value="">'+STR_LINK_NOBLANK+'</option></select></td>' + 
  420. '<tr><td colspan="2" style="padding-bottom:5px;" align="center"><input type="button" name="button" value="'+STR_BUTTON_CONFIRM+'" ' +
  421. 'onclick="javascript:HtmlDrawLinkEnd();"' +
  422. 'style="border:1px solid #555555;"> <input type="button" name="button" value="'+STR_BUTTON_CANCEL+'" onclick="javascript:HtmlClearTemp();" style="border:1px solid #555555;"></td></tr>';
  423. str += '</table>';
  424. document.getElementById('popupData').innerHTML = str;
  425. document.getElementById('popupName').innerHTML = 'Html_LINK';
  426. }
  427. function HtmlDrawLinkEnd()
  428. {
  429. var range;
  430. var url = document.getElementById('hyperLink').value;
  431. var target = document.getElementById('hyperLinkTarget').value;
  432. if (url.match(/http://.{3,}/) == null) {
  433. alert(MSG_INPUT_URL);
  434. return false;
  435. }
  436. HtmlSelect();
  437. HtmlExecuteValue('CreateLink', url);
  438. var element;
  439.     if (BROWSER == 'IE') {
  440. if (SELECTION.type.toLowerCase() == 'text') {
  441. element = RANGE.parentElement() ? RANGE.parentElement() : RANGE.item(0).parentElement();
  442. }
  443. } else {
  444. element = RANGE.startContainer.previousSibling;
  445.     }
  446.     if (element && target) {
  447.         element.target = target;
  448.     }
  449. HtmlClearTemp();
  450. }
  451. function HtmlDrawIcon()
  452. {
  453. var top = HtmlGetTop('Html_ICON') + 32;
  454. var left = HtmlGetLeft('Html_ICON') + 1;
  455. var str = '';
  456. var iconNum = 24;
  457. str += '<table cellpadding="0" cellspacing="2" style="'+HtmlGetMenuCommonStyle(top, left)+'">';
  458. for (i = 0; i < iconNum; i++) {
  459. if (i == 0 || (i >= 6 && i%6 == 0)) {
  460. str += '<tr>';
  461. }
  462. var num;
  463. if ((i+1).toString(10).length < 2) {
  464. num = '0' + (i+1);
  465. } else {
  466. num = (i+1).toString(10);
  467. }
  468. var iconUrl = ICON_PATH + 'etc_' + num + '.gif';
  469. str += '<td style="padding:2px;border:0;cursor:pointer;" ' + 
  470. 'onclick="javascript:HtmlExecute('Html_ICON_END', '' + iconUrl + '');">' +
  471. '<img src="' + iconUrl + '" style="border:1px solid #EEEEEE;" onmouseover="javascript:this.style.borderColor='#AAAAAA';" ' +
  472. 'onmouseout="javascript:this.style.borderColor='#EEEEEE';">' + '</td>';
  473. if (i >= 5 && i%(i-1) == 0) {
  474. str += '</tr>';
  475. }
  476. }
  477. str += '</table>';
  478. document.getElementById('popupData').innerHTML = str;
  479. document.getElementById('popupName').innerHTML = 'Html_ICON';
  480. }
  481. function HtmlDrawSpecialchar()
  482. {
  483. var top = HtmlGetTop('Html_SPECIALCHAR') + 32;
  484. var left = HtmlGetLeft('Html_SPECIALCHAR') + 1;
  485. var str = '';
  486. str += '<table cellpadding="0" cellspacing="2" style="'+HtmlGetMenuCommonStyle(top, left)+'">';
  487. for (i = 0; i < SPECIAL_CHARACTER.length; i++) {
  488. if (i == 0 || (i >= 10 && i%10 == 0)) {
  489. str += '<tr>';
  490. }
  491. str += '<td style="padding:2px;border:1px solid #AAAAAA;cursor:pointer;" ' + 
  492. 'onclick="javascript:HtmlExecute('Html_SPECIALCHAR_END', '' + SPECIAL_CHARACTER[i] + '');" ' +
  493. 'onmouseover="javascript:this.style.borderColor='#000000';" ' +
  494. 'onmouseout="javascript:this.style.borderColor='#AAAAAA';">' + SPECIAL_CHARACTER[i] + '</td>';
  495. if (i >= 9 && i%(i-1) == 0) {
  496. str += '</tr>';
  497. }
  498. }
  499. str += '</table>';
  500. document.getElementById('popupData').innerHTML = str;
  501. document.getElementById('popupName').innerHTML = 'Html_SPECIALCHAR';
  502. }
  503. function HtmlDrawTableSelected(i, j)
  504. {
  505. var text = i.toString(10) + ' by ' + j.toString(10) + ' Table';
  506. document.getElementById('tableLocation').innerHTML = text;
  507. var num = 10;
  508. for (m = 1; m <= num; m++) {
  509. for (n = 1; n <= num; n++) {
  510. var obj = document.getElementById('tableTd' + m.toString(10) + '_' + n.toString(10) + '');
  511. if (m <= i && n <= j) {
  512. obj.style.backgroundColor = '#AAAAAA';
  513. } else {
  514. obj.style.backgroundColor = '#FFFFFF';
  515. }
  516. }
  517. }
  518. }
  519. function HtmlDrawTable()
  520. {
  521. var top = HtmlGetTop('Html_TABLE') + 32;
  522. var left = HtmlGetLeft('Html_TABLE') + 1;
  523. var str = '';
  524. var num = 10;
  525. str += '<table cellpadding="0" cellspacing="0" style="'+HtmlGetMenuCommonStyle(top, left)+'">';
  526. for (i = 1; i <= num; i++) {
  527. str += '<tr>';
  528. for (j = 1; j <= num; j++) {
  529. var value = i.toString(10) + ',' + j.toString(10);
  530. str += '<td id="tableTd' + i.toString(10) + '_' + j.toString(10) + 
  531. '" style="width:15px;height:15px;background-color:#FFFFFF;border:1px solid #DDDDDD;cursor:pointer;" ' + 
  532. 'onclick="javascript:HtmlExecute('Html_TABLE_END', '' + value + '');" ' +
  533. 'onmouseover="javascript:HtmlDrawTableSelected(''+i.toString(10)+'', ''+j.toString(10)+'');" ' + 
  534. 'onmouseout="javascript:;">&nbsp;</td>';
  535. }
  536. str += '</tr>';
  537. }
  538. str += '<tr><td colspan="10" id="tableLocation" style="text-align:center;height:20px;"></td></tr>';
  539. str += '</table>';
  540. document.getElementById('popupData').innerHTML = str;
  541. document.getElementById('popupName').innerHTML = 'Html_TABLE';
  542. }
  543. function HtmlDrawImage()
  544. {
  545. var top = HtmlGetTop('Html_IMAGE') + 32;
  546. var left = HtmlGetLeft('Html_IMAGE') + 1;
  547. var str = '';
  548. str += '<div style="width:250px;'+HtmlGetMenuCommonStyle(top, left)+'">';
  549. str += '<iframe name="UploadIframe" id="UploadIframe" frameborder="0" style="width:250px;height:340px;padding:0;margin:0;border:0;">';
  550. str += '</iframe></div>';
  551. document.getElementById('popupData').innerHTML = str;
  552. document.getElementById('popupName').innerHTML = 'Html_IMAGE';
  553. if (BROWSER == 'IE') {
  554. UPLOAD_DOCUMENT = UploadIframe.document;
  555. } else {
  556. UPLOAD_DOCUMENT = document.getElementById('UploadIframe').contentDocument;
  557. }
  558. str = '<div align="center">' +
  559. '<table cellpadding="0" cellspacing="0" style="width:100%;font-size:12px;">' + 
  560. '<tr><td colspan="2"><table border="0" style="margin-bottom:5px;"><tr><td id="imgPreview" style="width:240px;height:240px;border:1px solid #AAAAAA;background-color:#FFFFFF;" align="center" valign="middle">&nbsp;</td></tr></table></td></tr>' +  
  561. '<tr><td style="width:50px;padding-left:5px;">'+STR_IMAGE_REMOTE+'</td>' +
  562. '<td style="width:200px;padding-bottom:5px;">' +
  563. '<input type="text" id="imgLink" value="http://" style="width:95%;border:1px solid #555555;display:block;" onchange="javascript:parent.HtmlImagePreview();">' +
  564. '</td>' +
  565. '<tr><td colspan="2" style="padding-bottom:5px;"><table border="0" style="width:100%;font-size:12px;"><tr>' +
  566. '<td width="10%" style="padding:5px;">'+STR_WIDTH+'</td><td width="23%"><input type="text" name="imgWidth" id="imgWidth" value="0" maxlength="4" style="width:40px;border:1px solid #555555;"></td>' +
  567. '<td width="10%" style="padding:5px;">'+STR_HEIGHT+'</td><td width="23%"><input type="text" name="imgHeight" id="imgHeight" value="0" maxlength="4" style="width:40px;border:1px solid #555555;"></td>' +
  568. '<td width="10%" style="padding:5px;">'+STR_BORDER+'</td><td width="23%"><input type="text" name="imgBorder" id="imgBorder" value="0" maxlength="1" style="width:40px;border:1px solid #555555;"></td></tr></table></td></tr>' +  
  569. '<tr><td colspan="2" style="margin:5px;padding-bottom:5px;" align="center">' +
  570. '<input type="button" name="button" value="'+STR_BUTTON_PREVIEW+'" onclick="javascript:parent.HtmlImagePreview();" style="border:1px solid #555555;"> ' +
  571. '<input type="button" name="button" value="'+STR_BUTTON_CONFIRM+'" onclick="javascript:parent.HtmlDrawImageEnd();" style="border:1px solid #555555;"> ' +
  572. '<input type="button" name="button" value="'+STR_BUTTON_CANCEL+'" onclick="javascript:parent.HtmlClearTemp();" style="border:1px solid #555555;"></td></tr>' + 
  573. '</table></div>';
  574. UPLOAD_DOCUMENT.open();
  575. UPLOAD_DOCUMENT.write(str);
  576. UPLOAD_DOCUMENT.close();
  577. UPLOAD_DOCUMENT.body.style.color = MENU_TEXT_COLOR;
  578. UPLOAD_DOCUMENT.body.style.backgroundColor = MENU_BG_COLOR;
  579. UPLOAD_DOCUMENT.body.style.margin = 0;
  580. UPLOAD_DOCUMENT.body.scroll = 'no';
  581. }
  582. function HtmlImagePreview()
  583. {
  584. var url = UPLOAD_DOCUMENT.getElementById('imgLink').value;
  585. if (HtmlCheckImageFileType(url, "/") == false)
  586. {
  587. return false;
  588. }
  589. var imgObj = UPLOAD_DOCUMENT.createElement("IMG");
  590. imgObj.src = url;
  591. var width = parseInt(imgObj.width);
  592. var height = parseInt(imgObj.height);
  593. UPLOAD_DOCUMENT.getElementById('imgWidth').value = width;
  594. UPLOAD_DOCUMENT.getElementById('imgHeight').value = height;
  595. var rate = parseInt(width/height);
  596. if (width >230 && height <= 230) {
  597. width = 230;
  598. height = parseInt(width/rate);
  599. } else if (width <=230 && height > 230) {
  600. height = 230;
  601. width = parseInt(height*rate);
  602. } else if (width >230 && height > 230) {
  603. if (width >= height) {
  604. width = 230;
  605. height = parseInt(width/rate);
  606. } else {
  607. height = 230;
  608. width = parseInt(height*rate);
  609. }
  610. }
  611. imgObj.style.width = width;
  612. imgObj.style.height = height;
  613. var el = UPLOAD_DOCUMENT.getElementById('imgPreview');
  614. if (el.hasChildNodes()) {
  615. el.removeChild(el.childNodes[0]);
  616. }
  617. el.appendChild(imgObj);
  618. return imgObj;
  619. }
  620. function HtmlDrawImageEnd()
  621. {
  622. var url = UPLOAD_DOCUMENT.getElementById('imgLink').value;
  623. var width = UPLOAD_DOCUMENT.getElementById('imgWidth').value;
  624. var height = UPLOAD_DOCUMENT.getElementById('imgHeight').value;
  625. var border = UPLOAD_DOCUMENT.getElementById('imgBorder').value;
  626. if (HtmlCheckImageFileType(url, "/") == false) {
  627. return false;
  628. }
  629. if (width.match(/^d+$/) == null) {
  630. alert(MSG_INVALID_WIDTH);
  631. return false;
  632. }
  633. if (height.match(/^d+$/) == null) {
  634. alert(MSG_INVALID_HEIGHT);
  635. return false;
  636. }
  637. if (border.match(/^d+$/) == null) {
  638. alert(MSG_INVALID_BORDER);
  639. return false;
  640. }
  641. if (HtmlCheckImageFileType(url, "/") == false) {
  642. return false;
  643. }
  644. HtmlInsertImage(url, width, height, border);
  645. }
  646. function HtmlInsertImage(url, width, height, border)
  647. {
  648. var element = document.createElement("img");
  649. element.src = url;
  650. if (width > 0) {
  651. element.style.width = width;
  652. }
  653. if (height > 0) {
  654. element.style.height = height;
  655. }
  656. element.border = border;
  657. HtmlSelect();
  658. HtmlInsertItem(element);
  659. HtmlClearTemp();
  660. }
  661. function HtmlDrawMedia()
  662. {
  663. var top = HtmlGetTop('Html_MEDIA') + 32;
  664. var left = HtmlGetLeft('Html_MEDIA') + 1;
  665. var str = '';
  666. var str = '';
  667. str += '' +
  668. '<table cellpadding="0" cellspacing="0" style="width:250px;'+HtmlGetMenuCommonStyle(top, left)+'">' + 
  669. '<tr><td colspan="2"><table border="0"><tr><td id="mediaPreview" style="width:240px;height:240px;border:1px solid #AAAAAA;background-color:#FFFFFF;" align="center" valign="middle">&nbsp;</td></tr></table></td></tr>' +  
  670. '<tr><td style="width:50px;padding:5px;">'+STR_IMAGE_REMOTE+'</td>' +
  671. '<td style="width:200px;padding-bottom:5px;"><input type="text" id="mediaLink" value="http://" style="width:190px;border:1px solid #555555;" onchange="javascript:HtmlMediaPreview();"></td>' +
  672. '<tr><td colspan="2" style="margin:5px;padding-bottom:5px;" align="center">' +
  673. '<input type="button" name="button" value="'+STR_BUTTON_LISTENING+'" onclick="javascript:HtmlMediaPreview();" style="border:1px solid #555555;"> ' +
  674. '<input type="button" name="button" value="'+STR_BUTTON_CONFIRM+'" onclick="javascript:HtmlDrawMediaEnd();" style="border:1px solid #555555;"> ' +
  675. '<input type="button" name="button" value="'+STR_BUTTON_CANCEL+'" onclick="javascript:HtmlClearTemp();" style="border:1px solid #555555;"></td></tr>' + 
  676. '</table>';
  677. document.getElementById('popupData').innerHTML = str;
  678. document.getElementById('popupName').innerHTML = 'Html_MEDIA';
  679. }
  680. function HtmlGetMediaHtmlTag(url, width, height)
  681. {
  682. var element = document.createElement("embed");
  683. element.src = url;
  684. element.width = 230;
  685. element.height = 230;
  686. element.loop = "true";
  687. element.autostart = "true";
  688. return element;
  689. }
  690. function HtmlMediaPreview()
  691. {
  692. var url = document.getElementById('mediaLink').value;
  693. if (HtmlCheckMediaFileType(url, "/") == false) {
  694. return false;
  695. }
  696. var el = document.getElementById('mediaPreview');
  697. if (el.hasChildNodes()) {
  698. el.removeChild(el.childNodes[0]);
  699. }
  700. el.appendChild(HtmlGetMediaHtmlTag(url, '230', '230'));
  701. }
  702. function HtmlDrawMediaEnd()
  703. {
  704. var url = document.getElementById('mediaLink').value;
  705. if (HtmlCheckMediaFileType(url, "/") == false) {
  706. return false;
  707. }
  708. HtmlSelect();
  709. HtmlInsertItem(HtmlGetMediaHtmlTag(url, '100', '100'));
  710. HtmlClearTemp();
  711. }
  712. function HtmlDrawFlash()
  713. {
  714. var top = HtmlGetTop('Html_FLASH') + 32;
  715. var left = HtmlGetLeft('Html_FLASH') + 1;
  716. var str = '';
  717. str +=''+
  718. '<table cellpadding="0" cellspacing="0" style="width:250px;'+HtmlGetMenuCommonStyle(top, left)+'">' + 
  719. '<tr><td colspan="2"><table border="0"><tr><td id="flashPreview" style="width:240px;height:240px;border:1px solid #AAAAAA;background-color:#FFFFFF;" align="center" valign="middle">&nbsp;</td></tr></table></td></tr>' +  
  720. '<tr><td style="width:50px;padding:5px;">'+STR_IMAGE_REMOTE+'</td>' +
  721. '<td style="width:200px;padding-bottom:5px;"><input type="text" id="flashLink" value="http://" style="width:190px;border:1px solid #555555;" onchange="javascript:HtmlFlashPreview();"></td>' +
  722. '<tr><td colspan="2" style="margin:5px;padding-bottom:5px;" align="center">' +
  723. '<input type="button" name="button" value="'+STR_BUTTON_PREVIEW+'" onclick="javascript:HtmlFlashPreview();" style="border:1px solid #555555;"> ' +
  724. '<input type="button" name="button" value="'+STR_BUTTON_CONFIRM+'" onclick="javascript:HtmlDrawFlashEnd();" style="border:1px solid #555555;"> ' +
  725. '<input type="button" name="button" value="'+STR_BUTTON_CANCEL+'" onclick="javascript:HtmlClearTemp();" style="border:1px solid #555555;"></td></tr>' + 
  726. '</table>';
  727. document.getElementById('popupData').innerHTML = str;
  728. document.getElementById('popupName').innerHTML = 'Html_FLASH';
  729. }
  730. function HtmlGetFlashHtmlTag(url, width, height)
  731. {
  732. var element = document.createElement("embed");
  733. element.src = url;
  734. element.quality = "high";
  735. element.type = "application/x-shockwave-flash";
  736. element.width = width;
  737. element.height = height;
  738. return element;
  739. }
  740. function HtmlFlashPreview()
  741. {
  742. var url = document.getElementById('flashLink').value;
  743. if (HtmlCheckFlashFileType(url, "/") == false) {
  744. return false;
  745. }
  746. var el = document.getElementById('flashPreview');
  747. if (el.hasChildNodes()) {
  748. el.removeChild(el.childNodes[0]);
  749. }
  750. el.appendChild(HtmlGetFlashHtmlTag(url, '230', '230'));
  751. }
  752. function HtmlDrawFlashEnd()
  753. {
  754. var url = document.getElementById('flashLink').value;
  755. if (HtmlCheckFlashFileType(url, "/") == false) {
  756. return false;
  757. }
  758. HtmlSelect();
  759. HtmlInsertItem(HtmlGetFlashHtmlTag(url, '450', '350'));
  760. HtmlClearTemp();
  761. }
  762. function HtmlSelection()
  763. {
  764. if (BROWSER == 'IE') {
  765. SELECTION = EDITFORM_DOCUMENT.selection;
  766. RANGE = SELECTION.createRange();
  767. RANGE_TEXT = RANGE.text;
  768. } else {
  769. SELECTION = document.getElementById("EditForm").contentWindow.getSelection();
  770.         RANGE = SELECTION.getRangeAt(0);
  771. RANGE_TEXT = RANGE.toString();
  772. }
  773. }
  774. function HtmlSelect()
  775. {
  776. if (BROWSER == 'IE') {
  777. RANGE.select();
  778. }
  779. }
  780. function HtmlInsertItem(insertNode)
  781. {
  782. if (BROWSER == 'IE') {
  783. RANGE.parentElement() ? RANGE.pasteHTML(insertNode.outerHTML) : RANGE.item(0).outerHTML = insertNode.outerHTML;
  784. } else {
  785.         SELECTION.removeAllRanges();
  786. RANGE.deleteContents();
  787.         var startRangeNode = RANGE.startContainer;
  788.         var startRangeOffset = RANGE.startOffset;
  789.         var newRange = document.createRange();
  790. if (startRangeNode.nodeType == 3 && insertNode.nodeType == 3) {
  791.             startRangeNode.insertData(startRangeOffset, insertNode.nodeValue);
  792.             newRange.setEnd(startRangeNode, startRangeOffset + insertNode.length);
  793.             newRange.setStart(startRangeNode, startRangeOffset + insertNode.length);
  794.         } else {
  795.             var afterNode;
  796.             if (startRangeNode.nodeType == 3) {
  797.                 var textNode = startRangeNode;
  798.                 startRangeNode = textNode.parentNode;
  799.                 var text = textNode.nodeValue;
  800.                 var textBefore = text.substr(0, startRangeOffset);
  801.                 var textAfter = text.substr(startRangeOffset);
  802.                 var beforeNode = document.createTextNode(textBefore);
  803.                 var afterNode = document.createTextNode(textAfter);
  804.                 startRangeNode.insertBefore(afterNode, textNode);
  805.                 startRangeNode.insertBefore(insertNode, afterNode);
  806.                 startRangeNode.insertBefore(beforeNode, insertNode);
  807.                 startRangeNode.removeChild(textNode);
  808.             } else {
  809. if (startRangeNode.tagName.toLowerCase() == 'html') {
  810. startRangeNode = startRangeNode.childNodes[0].nextSibling;
  811. afterNode = startRangeNode.childNodes[0];
  812. } else {
  813. afterNode = startRangeNode.childNodes[startRangeOffset];
  814. }
  815. startRangeNode.insertBefore(insertNode, afterNode);
  816.             }
  817.             newRange.setEnd(afterNode, 0);
  818.             newRange.setStart(afterNode, 0);
  819.         }
  820.         SELECTION.addRange(newRange);
  821. }
  822. }
  823. function HtmlExecuteValue(cmd, value)
  824. {
  825. if (BROWSER == 'IE') {
  826. RANGE.execCommand(cmd, false, value);
  827. } else {
  828. EDITFORM_DOCUMENT.execCommand(cmd, false, value);
  829. }
  830. }
  831. function HtmlSimpleExecute(cmd)
  832. {
  833. EDITFORM_DOCUMENT.execCommand(cmd, false, null);
  834. HtmlClearTemp();
  835. EditForm.focus();
  836. }
  837. function HtmlExecute(mode, value)
  838. {
  839. switch (mode)
  840. {
  841. case 'Html_SOURCE':
  842. var length = document.getElementById(TOP_TOOLBAR_ICON[0][0]).src.length - 10;
  843. var image = document.getElementById(TOP_TOOLBAR_ICON[0][0]).src.substr(length,10);
  844. if (image == 'source.gif') {
  845. document.getElementById("CodeForm").value = HtmlHtmlToXhtml(EDITFORM_DOCUMENT.body.innerHTML);
  846. document.getElementById("editIframe").style.display = 'none';
  847. document.getElementById("editTextarea").style.display = 'block';
  848. HtmlDisableToolbar(true);
  849. } else {
  850. EDITFORM_DOCUMENT.body.innerHTML = document.getElementById("CodeForm").value;
  851. document.getElementById("editTextarea").style.display = 'none';
  852. document.getElementById("editIframe").style.display = 'block';
  853. HtmlDisableToolbar(false);
  854. }
  855. HtmlClearTemp();
  856. break;
  857. case 'Html_COPY':
  858. HtmlSimpleExecute('copy');
  859. break;
  860. case 'Html_PASTE':
  861. HtmlSimpleExecute('paste');
  862. break;
  863. case 'Html_SELECTALL':
  864. HtmlSimpleExecute('selectall');
  865. break;
  866. case 'Html_SUBSCRIPT':
  867. HtmlSimpleExecute('subscript');
  868. break;
  869. case 'Html_SUPERSCRIPT':
  870. HtmlSimpleExecute('superscript');
  871. break;
  872. case 'Html_BOLD':
  873. HtmlSimpleExecute('bold');
  874. break;
  875. case 'Html_ITALIC':
  876. HtmlSimpleExecute('italic');
  877. break;
  878. case 'Html_UNDERLINE':
  879. HtmlSimpleExecute('underline');
  880. break;
  881. case 'Html_STRIKE':
  882. HtmlSimpleExecute('strikethrough');
  883. break;
  884. case 'Html_JUSTIFYLEFT':
  885. HtmlSimpleExecute('justifyleft');
  886. break;
  887. case 'Html_JUSTIFYCENTER':
  888. HtmlSimpleExecute('justifycenter');
  889. break;
  890. case 'Html_JUSTIFYRIGHT':
  891. HtmlSimpleExecute('justifyright');
  892. break;
  893. case 'Html_JUSTIFYFULL':
  894. HtmlSimpleExecute('justifyfull');
  895. break;
  896. case 'Html_NUMBEREDLIST':
  897. HtmlSimpleExecute('insertorderedlist');
  898. break;
  899. case 'Html_UNORDERLIST':
  900. HtmlSimpleExecute('insertunorderedlist');
  901. break;
  902. case 'Html_INDENT':
  903. HtmlSimpleExecute('indent');
  904. break;
  905. case 'Html_OUTDENT':
  906. HtmlSimpleExecute('outdent');
  907. break;
  908. case 'Html_REMOVE':
  909. HtmlSimpleExecute('removeformat');
  910. break;
  911. case 'Html_ZOOM':
  912. EditForm.focus();
  913. if (document.getElementById('popupName').innerHTML == mode) {
  914. HtmlClearTemp();
  915. } else {
  916. HtmlDrawZoom();
  917. }
  918. break;
  919. case 'Html_ZOOM_END':
  920. EditForm.focus();
  921. EDITFORM_DOCUMENT.body.style.zoom = value;
  922. HtmlClearTemp();
  923. break;
  924. case 'Html_TITLE':
  925. EditForm.focus();
  926. HtmlSelection();
  927. if (document.getElementById('popupName').innerHTML == mode) {
  928. HtmlClearTemp();
  929. } else {
  930. HtmlDrawTitle();
  931. }
  932. break;
  933. case 'Html_TITLE_END':
  934. EditForm.focus();
  935. value = '<' + value + '>';
  936. HtmlSelect();
  937. HtmlExecuteValue('FormatBlock', value);
  938. HtmlClearTemp();
  939. break;
  940. case 'Html_FONTNAME':
  941. EditForm.focus();
  942. HtmlSelection();
  943. if (HtmlCheckSelected() == false) {
  944. return false;
  945. }
  946. if (document.getElementById('popupName').innerHTML == mode) {
  947. HtmlClearTemp();
  948. } else {
  949. HtmlDrawFontname();
  950. }
  951. break;
  952. case 'Html_FONTNAME_END':
  953. EditForm.focus();
  954. HtmlSelect();
  955. HtmlExecuteValue('fontname', value);
  956. HtmlClearTemp();
  957. break;
  958. case 'Html_FONTSIZE':
  959. EditForm.focus();
  960. HtmlSelection();
  961. if (HtmlCheckSelected() == false) {
  962. return false;
  963. }
  964. if (document.getElementById('popupName').innerHTML == mode) {
  965. HtmlClearTemp();
  966. } else {
  967. HtmlDrawFontsize();
  968. }
  969. break;
  970. case 'Html_FONTSIZE_END':
  971. EditForm.focus();
  972. value = value.substr(0, 1);
  973. HtmlSelect();
  974. HtmlExecuteValue('fontsize', value);
  975. HtmlClearTemp();
  976. break;
  977. case 'Html_TEXTCOLOR':
  978. EditForm.focus();
  979. HtmlSelection();
  980. if (HtmlCheckSelected() == false) {
  981. return false;
  982. }
  983. if (document.getElementById('popupName').innerHTML == mode) {
  984. HtmlClearTemp();
  985. } else {
  986. HtmlDrawColorTable('Html_TEXTCOLOR');
  987. }
  988. break;
  989. case 'Html_TEXTCOLOR_END':
  990. EditForm.focus();
  991. HtmlSelect();
  992. HtmlExecuteValue('ForeColor', value);
  993. HtmlClearTemp();
  994. break;
  995. case 'Html_BGCOLOR':
  996. EditForm.focus();
  997. HtmlSelection();
  998. if (HtmlCheckSelected() == false) {
  999. return false;
  1000. }
  1001. if (document.getElementById('popupName').innerHTML == mode) {
  1002. HtmlClearTemp();
  1003. } else {
  1004. HtmlDrawColorTable('Html_BGCOLOR');
  1005. }
  1006. break;
  1007. case 'Html_BGCOLOR_END':
  1008. EditForm.focus();
  1009. if (BROWSER == 'IE') {
  1010. HtmlSelect();
  1011. HtmlExecuteValue('BackColor', value);
  1012. } else {
  1013. var startRangeNode = RANGE.startContainer;
  1014. if (RANGE.toString() != '' && startRangeNode.nodeType == 3) {
  1015. var parent = startRangeNode.parentNode;
  1016. var element = document.createElement("font");
  1017. element.style.backgroundColor = value;
  1018. element.appendChild(RANGE.extractContents());
  1019. var startRangeOffset = RANGE.startOffset;
  1020. var newRange = document.createRange();
  1021. var afterNode;
  1022. var textNode = startRangeNode;
  1023. startRangeNode = textNode.parentNode;
  1024. var text = textNode.nodeValue;
  1025. var textBefore = text.substr(0, startRangeOffset);
  1026. var textAfter = text.substr(startRangeOffset);
  1027. var beforeNode = document.createTextNode(textBefore);
  1028. var afterNode = document.createTextNode(textAfter);
  1029. startRangeNode.insertBefore(afterNode, textNode);
  1030. startRangeNode.insertBefore(element, afterNode);
  1031. startRangeNode.insertBefore(beforeNode, element);
  1032. startRangeNode.removeChild(textNode);
  1033. newRange.setEnd(afterNode, 0);
  1034. newRange.setStart(afterNode, 0);
  1035. SELECTION.addRange(newRange);
  1036. }
  1037. }
  1038. HtmlClearTemp();
  1039. break;
  1040. case 'Html_LINK':
  1041. EditForm.focus();
  1042. HtmlSelection();
  1043. if (document.getElementById('popupName').innerHTML == mode) {
  1044. HtmlClearTemp();
  1045. } else {
  1046. HtmlDrawLink();
  1047. }
  1048. break;
  1049. case 'Html_UNLINK':
  1050. HtmlSimpleExecute('unlink');
  1051. break;
  1052. case 'Html_ICON':
  1053. EditForm.focus();
  1054. if (document.getElementById('popupName').innerHTML == mode) {
  1055. HtmlClearTemp();
  1056. } else {
  1057. HtmlDrawIcon();
  1058. }
  1059. break;
  1060. case 'Html_ICON_END':
  1061. EditForm.focus();
  1062. EDITFORM_DOCUMENT.execCommand('InsertImage', false, value);
  1063. HtmlClearTemp();
  1064. break;
  1065. case 'Html_IMAGE':
  1066. EditForm.focus();
  1067. HtmlSelection();
  1068. if (document.getElementById('popupName').innerHTML == mode) {
  1069. HtmlClearTemp();
  1070. } else {
  1071. HtmlDrawImage();
  1072. }
  1073. break;
  1074. case 'Html_MEDIA':
  1075. EditForm.focus();
  1076. HtmlSelection();
  1077. if (document.getElementById('popupName').innerHTML == mode) {
  1078. HtmlClearTemp();
  1079. } else {
  1080. HtmlDrawMedia();
  1081. }
  1082. break;
  1083. case 'Html_FLASH':
  1084. EditForm.focus();
  1085. HtmlSelection();
  1086. if (document.getElementById('popupName').innerHTML == mode) {
  1087. HtmlClearTemp();
  1088. } else {
  1089. HtmlDrawFlash();
  1090. }
  1091. break;
  1092. case 'Html_SPECIALCHAR':
  1093. EditForm.focus();
  1094. HtmlSelection();
  1095. if (document.getElementById('popupName').innerHTML == mode) {
  1096. HtmlClearTemp();
  1097. } else {
  1098. HtmlDrawSpecialchar();
  1099. }
  1100. break;
  1101. case 'Html_SPECIALCHAR_END':
  1102. EditForm.focus();
  1103. HtmlSelect();
  1104. var element = document.createElement("span");
  1105. element.appendChild(document.createTextNode(value));
  1106. HtmlInsertItem(element);
  1107. HtmlClearTemp();
  1108. break;
  1109. case 'Html_LAYER':
  1110. EditForm.focus();
  1111. HtmlSelection();
  1112. if (document.getElementById('popupName').innerHTML == mode) {
  1113. HtmlClearTemp();
  1114. } else {
  1115. HtmlDrawColorTable('Html_LAYER');
  1116. }
  1117. break;
  1118. case 'Html_LAYER_END':
  1119. EditForm.focus();
  1120. var element = document.createElement("div");
  1121. element.style.width = "100px";
  1122. element.style.height = "100px";
  1123. element.style.padding = "5px";
  1124. element.style.border = "1px solid #AAAAAA";
  1125. element.style.backgroundColor = value;
  1126. element.innerHTML = "&nbsp;";
  1127. HtmlSelect();
  1128. HtmlInsertItem(element);
  1129. HtmlClearTemp();
  1130. break;
  1131. case 'Html_TABLE':
  1132. EditForm.focus();
  1133. HtmlSelection();
  1134. if (document.getElementById('popupName').innerHTML == mode) {
  1135. HtmlClearTemp();
  1136. } else {
  1137. HtmlDrawTable();
  1138. }
  1139. break;
  1140. case 'Html_TABLE_END':
  1141. var location = value.split(',');
  1142. var element = document.createElement("table");
  1143. element.cellPadding = 0;
  1144. element.cellSpacing = 0;
  1145. element.border = 1;
  1146. element.style.width = "100px";
  1147. element.style.height = "100px";
  1148. for (var i = 0; i < location[0]; i++) {
  1149. var rowElement = element.insertRow(i);
  1150. for (var j = 0; j < location[1]; j++) {
  1151. var cellElement = rowElement.insertCell(j);
  1152. cellElement.innerHTML = "&nbsp;";
  1153. }
  1154. }
  1155. EditForm.focus();
  1156. HtmlSelect();
  1157. HtmlInsertItem(element);
  1158. HtmlClearTemp();
  1159. break;
  1160. case 'Html_HR':
  1161. EditForm.focus();
  1162. HtmlSelection();
  1163. if (document.getElementById('popupName').innerHTML == mode) {
  1164. HtmlClearTemp();
  1165. } else {
  1166. HtmlDrawColorTable('Html_HR');
  1167. }
  1168. break;
  1169. case 'Html_HR_END':
  1170. EditForm.focus();
  1171. var element = document.createElement("hr");
  1172. element.width = "100%";
  1173. element.color = value;
  1174. element.size = 1;
  1175. HtmlSelect();
  1176. HtmlInsertItem(element);
  1177. HtmlClearTemp();
  1178. break;
  1179. case 'Html_DATE':
  1180. EditForm.focus();
  1181. HtmlSelection();
  1182. var date = new Date();
  1183. var year = date.getFullYear().toString(10);
  1184. var month = (date.getMonth() + 1).toString(10);
  1185. month = month.length < 2 ? '0' + month : month;
  1186. var day = date.getDate().toString(10);
  1187. day = day.length < 2 ? '0' + day : day;
  1188. var value = year + '-' + month + '-' + day;
  1189. var element = document.createElement("span");
  1190. element.appendChild(document.createTextNode(value));
  1191. HtmlInsertItem(element);
  1192. HtmlClearTemp();
  1193. break;
  1194. case 'Html_TIME':
  1195. EditForm.focus();
  1196. HtmlSelection();
  1197. var date = new Date();
  1198. var hour = date.getHours().toString(10);
  1199. hour = hour.length < 2 ? '0' + hour : hour;
  1200. var minute = date.getMinutes().toString(10);
  1201. minute = minute.length < 2 ? '0' + minute : minute;
  1202. var second = date.getSeconds().toString(10);
  1203. second = second.length < 2 ? '0' + second : second;
  1204. var value = hour + ':' + minute + ':' + second;
  1205. var element = document.createElement("span");
  1206. element.appendChild(document.createTextNode(value));
  1207. HtmlInsertItem(element);
  1208. HtmlClearTemp();
  1209. break;
  1210. default: 
  1211. break;
  1212. }
  1213. }
  1214. function HtmlOverIcon(obj)
  1215. {
  1216. obj.style.border = '1px solid ' + MENU_BORDER_COLOR;
  1217. }
  1218. function HtmlOutIcon(obj)
  1219. {
  1220. obj.style.border = '1px solid ' + TOOLBAR_BG_COLOR;
  1221. }
  1222. function HtmlDisableToolbar(flag)
  1223. {
  1224. if (flag == true) {
  1225. document.getElementById(TOP_TOOLBAR_ICON[0][0]).src = IMAGE_PATH + 'design.gif';
  1226. for (i = 1; i < TOOLBAR_ICON.length; i++) {
  1227. var el = document.getElementById(TOOLBAR_ICON[i][0]);
  1228. el.style.visibility = 'hidden';
  1229. }
  1230. } else {
  1231. document.getElementById(TOP_TOOLBAR_ICON[0][0]).src = IMAGE_PATH + 'source.gif';
  1232. for (i = 0; i < TOOLBAR_ICON.length; i++) {
  1233. var el = document.getElementById(TOOLBAR_ICON[i][0]);
  1234. el.style.visibility = 'visible';
  1235. EDITFORM_DOCUMENT.designMode = 'On';
  1236. }
  1237. }
  1238. }
  1239. function HtmlWriteFullHtml(documentObj)
  1240. {
  1241. var editHtmlData = '<html>rn<head>rn<title>htmlEditor</title>rn<style type="text/css">rnp {margin:0;}rn</style>rn</head>rn';
  1242. editHtmlData += '<body style="font-size:12px;font-family:'+EDITOR_FONT_FAMILY+';margin:2px;background-color:' + FORM_BG_COLOR + '">rn';
  1243. editHtmlData += HtmlHtmlentitiesDecode(document.getElementsByName(eval(OBJ_NAME).hiddenName)[0].value);
  1244. editHtmlData += 'rn</body>rn</html>rn';
  1245. documentObj.open();
  1246. documentObj.write(editHtmlData);
  1247. documentObj.close();
  1248. }
  1249. function htmlEditor(objName) 
  1250. {
  1251. this.objName = objName;
  1252. this.hiddenName = objName;
  1253. this.width = "100%";
  1254. this.height = "200px";
  1255. this.imagePath = 'images/';
  1256. this.iconPath = 'images/face/';
  1257. this.imageAttachPath = 'attached/';
  1258. this.imageUploadCgi = "upload.php";
  1259. this.menuBorderColor = '#4169e1';
  1260. this.menuBgColor = '#e6e6fa';
  1261. this.menuTextColor = '#8b0000';
  1262. this.menuSelectedColor = '#6495ed';
  1263. this.toolbarBgColor = '#DDDDDD';
  1264. this.formBorderColor = '#AAAAAA';
  1265. this.formBgColor = '#FFFFFF';
  1266. this.init = function()
  1267. {
  1268. IMAGE_PATH = this.imagePath;
  1269. ICON_PATH = this.iconPath;
  1270. IMAGE_ATTACH_PATH = this.imageAttachPath;
  1271. IMAGE_UPLOAD_CGI = this.imageUploadCgi;
  1272. MENU_BORDER_COLOR = this.menuBorderColor;
  1273. MENU_BG_COLOR = this.menuBgColor;
  1274. MENU_TEXT_COLOR = this.menuTextColor;
  1275. MENU_SELECTED_COLOR = this.menuSelectedColor;
  1276. TOOLBAR_BG_COLOR = this.toolbarBgColor;
  1277. FORM_BORDER_COLOR = this.formBorderColor;
  1278. FORM_BG_COLOR = this.formBgColor;
  1279. OBJ_NAME = this.objName;
  1280. BROWSER = HtmlGetBrowser();
  1281. TOOLBAR_ICON = Array();
  1282. for (var i = 0; i < TOP_TOOLBAR_ICON.length; i++) {
  1283. TOOLBAR_ICON.push(TOP_TOOLBAR_ICON[i]);
  1284. }
  1285. for (var i = 0; i < BOTTOM_TOOLBAR_ICON.length; i++) {
  1286. TOOLBAR_ICON.push(BOTTOM_TOOLBAR_ICON[i]);
  1287. }
  1288. }
  1289. this.show = function()
  1290. {
  1291. this.init();
  1292. var iframeSize = '';
  1293. iframeSize += 'width:' + this.width + ';';
  1294. iframeSize += 'height:' + this.height + ';';
  1295. if (BROWSER == '') {
  1296. var htmlData = '<div id="editTextarea" style="' + iframeSize + '">' +
  1297. '<textarea name="CodeForm" id="CodeForm" style="' + iframeSize + 
  1298. 'padding:2px;margin:0;border:1px solid '+ FORM_BORDER_COLOR + 
  1299. ';font-size:12px;line-height:16px;font-family:'+EDITOR_FONT_FAMILY+';background-color:'+ 
  1300. FORM_BG_COLOR +';">' + document.getElementsByName(this.hiddenName)[0].value + '</textarea></div>';
  1301. document.open();
  1302. document.write(htmlData);
  1303. document.close();
  1304. return;
  1305. }
  1306. var htmlData = '<div id="Htmldiv" style="font-family:'+EDITOR_FONT_FAMILY+';">' +
  1307. '<div id="htmltoolbar" style="padding:1px;background-color:'+ TOOLBAR_BG_COLOR +'">' +
  1308. '<table cellpadding="0" cellspacing="0" border="0"><tr>';
  1309. for (i = 0; i < TOP_TOOLBAR_ICON.length; i++) {
  1310. htmlData += '<td width="' + TOP_TOOLBAR_ICON[i][2] + 
  1311. '" height="' + TOP_TOOLBAR_ICON[i][3] + '"><img id="'+ TOP_TOOLBAR_ICON[i][0] +'" src="' + IMAGE_PATH + 
  1312. TOP_TOOLBAR_ICON[i][1] + '" width="' + TOP_TOOLBAR_ICON[i][2] + 
  1313. '" height="' + TOP_TOOLBAR_ICON[i][3] + '" alt="' + TOP_TOOLBAR_ICON[i][4] + 
  1314. '" title="' + TOP_TOOLBAR_ICON[i][4] + 
  1315. '" align="absmiddle" style="border:1px solid '+ 
  1316. TOOLBAR_BG_COLOR +';cursor:pointer;" onclick="javascript:HtmlExecute(''+ TOP_TOOLBAR_ICON[i][0] +'');"'+
  1317. ' onmouseover="javascript:HtmlOverIcon(this);" onmouseout="javascript:HtmlOutIcon(this);"></td>';
  1318. }
  1319. htmlData += '</tr></table><table cellpadding="0" cellspacing="0" border="0"><tr>';
  1320. for (i = 0; i < BOTTOM_TOOLBAR_ICON.length; i++) {
  1321. htmlData += '<td width="' + BOTTOM_TOOLBAR_ICON[i][2] + 
  1322. '" height="' + BOTTOM_TOOLBAR_ICON[i][3] + '"><img id="'+ BOTTOM_TOOLBAR_ICON[i][0] +'" src="' + IMAGE_PATH + 
  1323. BOTTOM_TOOLBAR_ICON[i][1] + '" width="' + BOTTOM_TOOLBAR_ICON[i][2] + 
  1324. '" height="' + BOTTOM_TOOLBAR_ICON[i][3] + '" alt="' + BOTTOM_TOOLBAR_ICON[i][4] + 
  1325. '" title="' + BOTTOM_TOOLBAR_ICON[i][4] + 
  1326. '" align="absmiddle" style="border:1px solid '+ 
  1327. TOOLBAR_BG_COLOR +';cursor:pointer;" onclick="javascript:HtmlExecute(''+ BOTTOM_TOOLBAR_ICON[i][0] +'');"'+
  1328. ' onmouseover="javascript:HtmlOverIcon(this);" onmouseout="javascript:HtmlOutIcon(this);"></td>';
  1329. }
  1330. htmlData += '</tr>' +
  1331. '</table>' +
  1332. '</div>' +
  1333. '<div id="editIframe">' +
  1334. '<iframe name="EditForm" id="EditForm" frameborder="0" style="' + iframeSize + 
  1335. 'padding:0;margin:0;border:1px solid '+ FORM_BORDER_COLOR +'">' +
  1336. '</iframe>' +
  1337. '</div>' +
  1338. '<div id="editTextarea" style="display:none;">' +
  1339. '<textarea onkeydown="javascript:if(event.ctrlKey && event.keyCode==13){submitform();return false}" name="CodeForm" id="CodeForm" style="' + iframeSize + 
  1340. 'padding:2px;margin:0;border:1px solid '+ FORM_BORDER_COLOR + 
  1341. ';font-size:12px;line-height:16px;font-family:'+EDITOR_FONT_FAMILY+';background-color:'+ 
  1342. FORM_BG_COLOR +';"></textarea>' +
  1343. '</div>' +
  1344. '</div>' +
  1345. '<span id="popupName" style="display:none;"></span>' +
  1346. '<span id="popupData"></span>';
  1347. document.open();
  1348. document.write(htmlData);
  1349. document.close();
  1350. if (BROWSER == 'IE') {
  1351. EDITFORM_DOCUMENT = document.frames("EditForm").document;
  1352. } else {
  1353. EDITFORM_DOCUMENT = document.getElementById('EditForm').contentDocument;
  1354. }
  1355. EDITFORM_DOCUMENT.designMode = 'On';
  1356. HtmlWriteFullHtml(EDITFORM_DOCUMENT);
  1357. var el = EDITFORM_DOCUMENT.body;
  1358. if (BROWSER == 'OPERA') {
  1359. el.onclick = HtmlClearTemp;
  1360. } else {
  1361. if (el.addEventListener){
  1362. el.addEventListener('click', HtmlClearTemp, false); 
  1363. } else if (el.attachEvent){
  1364. el.attachEvent('onclick', HtmlClearTemp);
  1365. }
  1366. }
  1367. el.onkeydown=new Function("with(EditForm.event)if(ctrlKey && keyCode==13){submitform();return false}")
  1368. }
  1369. this.data = function()
  1370. {
  1371. if (BROWSER == '') {
  1372. htmlResult = document.getElementById("CodeForm").value;
  1373. htmlResult=cleanHtml(htmlResult);
  1374. htmlResult=FilterScript(htmlResult);
  1375. document.getElementsByName(this.hiddenName)[0].value = htmlResult;
  1376. return htmlResult;
  1377. }
  1378. var length = document.getElementById(TOP_TOOLBAR_ICON[0][0]).src.length - 10;
  1379. var image = document.getElementById(TOP_TOOLBAR_ICON[0][0]).src.substr(length,10);
  1380. var htmlResult;
  1381. if (image == 'source.gif') {
  1382. htmlResult = HtmlHtmlToXhtml(EDITFORM_DOCUMENT.body.innerHTML);
  1383. } else {
  1384. htmlResult = document.getElementById("CodeForm").value;
  1385. }
  1386. htmlResult=cleanHtml(htmlResult);
  1387. htmlResult=FilterScript(htmlResult);
  1388. document.getElementsByName(this.hiddenName)[0].value = htmlResult;
  1389. return htmlResult;
  1390. }
  1391. }
  1392. var strlength;
  1393. function CopyBody()
  1394. {
  1395. EditForm.focus();
  1396. EditForm.document.execCommand('selectAll');
  1397. EditForm.document.execCommand('copy');
  1398. //alert("你发表的内容已被复制到剪贴板,如果发帖不成功,请在编辑框中按下CTRL+V即可找回帖子内容!")
  1399. }
  1400. //提交表单
  1401. function submitform(){
  1402.     if(htmlsubmit()==true)CopyBody();document.topicform.submit();
  1403. }
  1404. //检测表单
  1405. function htmlsubmit() {
  1406.         var content = editor.data();
  1407. strlength=document.getElementsByName("content").item(0).value.length;
  1408. if (strlength>25600||strlength<5){
  1409. alert("您输入的文章长度为"+strlength+",长度必须大于5且小于25600,请修正之后再继续。");
  1410. return false;
  1411. }
  1412. else if(document.getElementsByName("Caption").item(0).value==""){
  1413. alert("标题不能为空。");
  1414. document.getElementById("Caption").style.backgroundColor="#FFEEEE";
  1415. return false;
  1416. }
  1417. else{ 
  1418. return true;
  1419. }
  1420. }
  1421. function autosave(){
  1422. if(document.getElementsByName("usereditor").item(0).checked==true){
  1423. var content = editor.data();
  1424. }
  1425. else if(document.getElementsByName("usereditor").item(1).checked==true){
  1426. document.getElementsByName("content").item(0).value = document.getElementById("CodeForm").value;
  1427. }
  1428. set_cookie("tempcontent",document.getElementsByName("content").item(0).value);
  1429. }
  1430. setInterval("autosave()",5000);
  1431. function presskey(eventobject)
  1432. {
  1433. var eve=eventobject||window.event;
  1434.    if(eve.ctrlKey && eve.keyCode==13){submitform();}else{return false}
  1435. }
  1436. function Especial(A,B){
  1437. fontbegin=A
  1438. fontend=B
  1439. fontchuli();
  1440. }
  1441. function fontchuli(){
  1442. if(ns6){
  1443. sel=EditForm.getSelection()
  1444. var html = EditForm.document.body.innerHTML;
  1445. if (sel!=""){
  1446. html = html.replace(sel,fontbegin + sel + fontend);
  1447. EditForm.document.body.innerHTML=html}
  1448. else
  1449. {EditForm.document.body.innerHTML+=(fontbegin +"" +  fontend)}
  1450. EditForm.focus()
  1451. }else{
  1452. EditForm.focus()
  1453. sel=EditForm.document.selection.createRange();
  1454. if (sel.text!=""){sel.pasteHTML(fontbegin + sel.text + fontend);}
  1455. else{sel.pasteHTML(fontbegin + "" + fontend);}
  1456. }
  1457. }
  1458. function preview()
  1459. {
  1460. if(htmlsubmit()){
  1461. document.form1.Caption.value=document.topicform.Caption.value;
  1462. document.form1.content.value=document.topicform.content.value;
  1463. var popupWin = window.open('see.asp?action=preview','showgg','width=500,height=400,resizable=1,scrollbars=yes,menubar=no,status=yes');
  1464. document.form1.submit()
  1465. }
  1466. }
  1467. function Goreset(){EditForm.document.body.innerHTML=document.topicform.content.value;}
  1468. function DoTitle(addTitle){
  1469. document.getElementById("caption").value=addTitle+document.getElementById("caption").value;
  1470. document.getElementById("caption").focus();
  1471. document.getElementById("caption").value+="";
  1472. }
  1473. //投票
  1474. function SetNum(obj){
  1475. str = '';
  1476. if(!obj.value){
  1477. obj.value = 1;
  1478. }
  1479. for(i=1;i<=obj.value;i++){
  1480. str += '<div>选项'+i+':<input type="text" name="votes'+i+'" style="width:70%" /></div>';
  1481. }
  1482. document.getElementById("optionid").innerHTML=str+'<input type="hidden" name="autovalue" value="'+obj.value+'" />';
  1483. }