From 4961e48c16046aa232cf94476ceb74acf3646657 Mon Sep 17 00:00:00 2001 From: idcjp Date: Mon, 15 Aug 2022 12:17:25 +0900 Subject: [PATCH] change webedit... --- webedit/Editor.html | 122 +- webedit/cheditor.js | 7815 +++++++++++++++++ webedit/css/dialog.css | 193 + webedit/css/editarea.css | 48 + webedit/css/imageupload.css | 135 + webedit/css/imageurl.css | 5 + webedit/css/lightbox.css | 95 + webedit/css/ui.css | 631 ++ webedit/editor.lib.php | 62 + webedit/example/modify.html | 78 + webedit/example/multi.html | 70 + webedit/example/newpost.html | 77 + webedit/icons/add_col_after.png | Bin 0 -> 187 bytes webedit/icons/add_col_before.png | Bin 0 -> 190 bytes webedit/icons/add_cols_after.png | Bin 0 -> 180 bytes webedit/icons/add_cols_before.png | Bin 0 -> 181 bytes webedit/icons/add_row_after.png | Bin 0 -> 187 bytes webedit/icons/add_row_before.png | Bin 0 -> 188 bytes webedit/icons/add_rows_after.png | Bin 0 -> 187 bytes webedit/icons/add_rows_before.png | Bin 0 -> 187 bytes webedit/icons/button/cancel.gif | Bin 0 -> 2265 bytes webedit/icons/button/color_picker.gif | Bin 0 -> 1436 bytes webedit/icons/button/color_picker.png | Bin 0 -> 1716 bytes webedit/icons/button/color_picker_disable.png | Bin 0 -> 1783 bytes webedit/icons/button/delete.gif | Bin 0 -> 2294 bytes webedit/icons/button/delete_cross.gif | Bin 0 -> 2186 bytes webedit/icons/button/edit_cell.gif | Bin 0 -> 2572 bytes webedit/icons/button/edit_image.gif | Bin 0 -> 2572 bytes webedit/icons/button/imageUpload/cancel.gif | Bin 0 -> 1410 bytes webedit/icons/button/imageUpload/submit.gif | Bin 0 -> 1385 bytes webedit/icons/button/input.gif | Bin 0 -> 2274 bytes webedit/icons/button/input_color.gif | Bin 0 -> 1923 bytes webedit/icons/button/map_address.gif | Bin 0 -> 2293 bytes webedit/icons/button/paste.gif | Bin 0 -> 2247 bytes webedit/icons/button/play.gif | Bin 0 -> 2746 bytes webedit/icons/button/preview.gif | Bin 0 -> 2136 bytes webedit/icons/button/process.gif | Bin 0 -> 2265 bytes webedit/icons/button/reset.gif | Bin 0 -> 2218 bytes webedit/icons/button/submit.gif | Bin 0 -> 2249 bytes webedit/icons/button/upload.gif | Bin 0 -> 2275 bytes webedit/icons/checked.png | Bin 0 -> 1081 bytes webedit/icons/color_picker.png | Bin 0 -> 811 bytes webedit/icons/color_picker_arrow.gif | Bin 0 -> 66 bytes webedit/icons/color_picker_cross.gif | Bin 0 -> 1922 bytes webedit/icons/color_picker_hs.png | Bin 0 -> 2684 bytes webedit/icons/color_picker_hv.png | Bin 0 -> 2865 bytes webedit/icons/color_picker_reset.png | Bin 0 -> 1768 bytes webedit/icons/color_picker_tick.png | Bin 0 -> 1096 bytes webedit/icons/delete_element.png | Bin 0 -> 543 bytes webedit/icons/delete_table.png | Bin 0 -> 1605 bytes webedit/icons/dot.gif | Bin 0 -> 43 bytes webedit/icons/edit_mode_code_a.png | Bin 0 -> 1012 bytes webedit/icons/edit_mode_code_b.png | Bin 0 -> 1014 bytes webedit/icons/edit_mode_rich_a.png | Bin 0 -> 393 bytes webedit/icons/edit_mode_rich_b.png | Bin 0 -> 386 bytes webedit/icons/edit_mode_view_a.png | Bin 0 -> 538 bytes webedit/icons/edit_mode_view_b.png | Bin 0 -> 528 bytes webedit/icons/em/1.gif | Bin 0 -> 1478 bytes webedit/icons/em/10.gif | Bin 0 -> 1408 bytes webedit/icons/em/11.gif | Bin 0 -> 1425 bytes webedit/icons/em/12.gif | Bin 0 -> 1459 bytes webedit/icons/em/13.gif | Bin 0 -> 1363 bytes webedit/icons/em/14.gif | Bin 0 -> 2298 bytes webedit/icons/em/15.gif | Bin 0 -> 1214 bytes webedit/icons/em/16.gif | Bin 0 -> 1215 bytes webedit/icons/em/17.gif | Bin 0 -> 1241 bytes webedit/icons/em/18.gif | Bin 0 -> 1198 bytes webedit/icons/em/19.gif | Bin 0 -> 1359 bytes webedit/icons/em/2.gif | Bin 0 -> 640 bytes webedit/icons/em/20.gif | Bin 0 -> 1717 bytes webedit/icons/em/21.gif | Bin 0 -> 1657 bytes webedit/icons/em/22.gif | Bin 0 -> 2209 bytes webedit/icons/em/23.gif | Bin 0 -> 2266 bytes webedit/icons/em/24.gif | Bin 0 -> 2010 bytes webedit/icons/em/25.gif | Bin 0 -> 2775 bytes webedit/icons/em/26.gif | Bin 0 -> 1476 bytes webedit/icons/em/27.gif | Bin 0 -> 2080 bytes webedit/icons/em/28.gif | Bin 0 -> 1310 bytes webedit/icons/em/29.gif | Bin 0 -> 859 bytes webedit/icons/em/3.gif | Bin 0 -> 1939 bytes webedit/icons/em/30.gif | Bin 0 -> 2319 bytes webedit/icons/em/31.gif | Bin 0 -> 1197 bytes webedit/icons/em/32.gif | Bin 0 -> 1674 bytes webedit/icons/em/33.gif | Bin 0 -> 1259 bytes webedit/icons/em/34.gif | Bin 0 -> 1975 bytes webedit/icons/em/35.gif | Bin 0 -> 1352 bytes webedit/icons/em/36.gif | Bin 0 -> 3641 bytes webedit/icons/em/37.gif | Bin 0 -> 2215 bytes webedit/icons/em/38.gif | Bin 0 -> 1540 bytes webedit/icons/em/39.gif | Bin 0 -> 2703 bytes webedit/icons/em/4.gif | Bin 0 -> 2671 bytes webedit/icons/em/40.gif | Bin 0 -> 1324 bytes webedit/icons/em/41.gif | Bin 0 -> 1702 bytes webedit/icons/em/42.gif | Bin 0 -> 1704 bytes webedit/icons/em/43.gif | Bin 0 -> 1703 bytes webedit/icons/em/44.gif | Bin 0 -> 1703 bytes webedit/icons/em/45.gif | Bin 0 -> 2114 bytes webedit/icons/em/46.gif | Bin 0 -> 1699 bytes webedit/icons/em/47.gif | Bin 0 -> 1700 bytes webedit/icons/em/48.gif | Bin 0 -> 1710 bytes webedit/icons/em/49.gif | Bin 0 -> 1681 bytes webedit/icons/em/5.gif | Bin 0 -> 1407 bytes webedit/icons/em/50.gif | Bin 0 -> 1695 bytes webedit/icons/em/51.gif | Bin 0 -> 2105 bytes webedit/icons/em/52.gif | Bin 0 -> 1711 bytes webedit/icons/em/53.gif | Bin 0 -> 1698 bytes webedit/icons/em/54.gif | Bin 0 -> 1703 bytes webedit/icons/em/55.gif | Bin 0 -> 1698 bytes webedit/icons/em/56.gif | Bin 0 -> 1703 bytes webedit/icons/em/57.gif | Bin 0 -> 1703 bytes webedit/icons/em/58.gif | Bin 0 -> 1704 bytes webedit/icons/em/59.gif | Bin 0 -> 1702 bytes webedit/icons/em/6.gif | Bin 0 -> 2017 bytes webedit/icons/em/60.gif | Bin 0 -> 2103 bytes webedit/icons/em/61.gif | Bin 0 -> 2107 bytes webedit/icons/em/62.gif | Bin 0 -> 1674 bytes webedit/icons/em/63.gif | Bin 0 -> 1704 bytes webedit/icons/em/64.gif | Bin 0 -> 2114 bytes webedit/icons/em/65.gif | Bin 0 -> 1704 bytes webedit/icons/em/66.gif | Bin 0 -> 1704 bytes webedit/icons/em/67.gif | Bin 0 -> 1701 bytes webedit/icons/em/68.gif | Bin 0 -> 1694 bytes webedit/icons/em/69.gif | Bin 0 -> 1704 bytes webedit/icons/em/7.gif | Bin 0 -> 2106 bytes webedit/icons/em/70.gif | Bin 0 -> 1704 bytes webedit/icons/em/71.gif | Bin 0 -> 1622 bytes webedit/icons/em/72.gif | Bin 0 -> 1656 bytes webedit/icons/em/73.gif | Bin 0 -> 2054 bytes webedit/icons/em/74.gif | Bin 0 -> 2105 bytes webedit/icons/em/75.gif | Bin 0 -> 2075 bytes webedit/icons/em/76.gif | Bin 0 -> 1664 bytes webedit/icons/em/77.gif | Bin 0 -> 1653 bytes webedit/icons/em/78.gif | Bin 0 -> 1662 bytes webedit/icons/em/79.gif | Bin 0 -> 1672 bytes webedit/icons/em/8.gif | Bin 0 -> 1199 bytes webedit/icons/em/80.gif | Bin 0 -> 1390 bytes webedit/icons/em/9.gif | Bin 0 -> 1866 bytes webedit/icons/fullscreen.png | Bin 0 -> 1305 bytes webedit/icons/fullscreen_actual.png | Bin 0 -> 1278 bytes webedit/icons/imageUpload/add.gif | Bin 0 -> 3020 bytes .../icons/imageUpload/add_image_button.gif | Bin 0 -> 2034 bytes webedit/icons/imageUpload/cross-small.png | Bin 0 -> 2938 bytes webedit/icons/imageUpload/delete.png | Bin 0 -> 1717 bytes webedit/icons/imageUpload/dot.gif | Bin 0 -> 43 bytes webedit/icons/imageUpload/loader.gif | Bin 0 -> 1849 bytes webedit/icons/imageUpload/marker_bottom.gif | Bin 0 -> 43 bytes webedit/icons/imageUpload/marker_middle.gif | Bin 0 -> 49 bytes webedit/icons/imageUpload/marker_top.gif | Bin 0 -> 43 bytes webedit/icons/imageUpload/mouse_drag_img.gif | Bin 0 -> 316 bytes webedit/icons/imageUpload/remove_all.gif | Bin 0 -> 2970 bytes webedit/icons/image_align_center.png | Bin 0 -> 402 bytes webedit/icons/image_align_left.png | Bin 0 -> 396 bytes webedit/icons/image_align_left_wt.png | Bin 0 -> 423 bytes webedit/icons/image_align_right.png | Bin 0 -> 397 bytes webedit/icons/image_align_right_wt.png | Bin 0 -> 454 bytes webedit/icons/image_resize.png | Bin 0 -> 531 bytes webedit/icons/image_wrap_text.png | Bin 0 -> 423 bytes webedit/icons/magnifier-zoom.png | Bin 0 -> 2247 bytes webedit/icons/readonlymode.png | Bin 0 -> 1983 bytes webedit/icons/remove_col.png | Bin 0 -> 182 bytes webedit/icons/remove_cols.png | Bin 0 -> 176 bytes webedit/icons/remove_row.png | Bin 0 -> 185 bytes webedit/icons/remove_rows.png | Bin 0 -> 181 bytes webedit/icons/splitter.gif | Bin 0 -> 177 bytes webedit/icons/statusbar_bgline.gif | Bin 0 -> 45 bytes webedit/icons/table_delete_cell.png | Bin 0 -> 1536 bytes webedit/icons/table_delete_column.png | Bin 0 -> 1532 bytes webedit/icons/table_delete_row.png | Bin 0 -> 1562 bytes webedit/icons/table_insert_cell.png | Bin 0 -> 1526 bytes webedit/icons/table_insert_column.png | Bin 0 -> 1515 bytes webedit/icons/table_insert_row.png | Bin 0 -> 1530 bytes webedit/icons/table_join.png | Bin 0 -> 1352 bytes webedit/icons/table_join_column.png | Bin 0 -> 1419 bytes webedit/icons/table_join_row.png | Bin 0 -> 1466 bytes webedit/icons/table_split_column.png | Bin 0 -> 1322 bytes webedit/icons/table_split_row.png | Bin 0 -> 1396 bytes webedit/icons/title_bar_bg.gif | Bin 0 -> 172 bytes webedit/icons/title_bar_bg2.gif | Bin 0 -> 545 bytes webedit/icons/toolbar-background.png | Bin 0 -> 21437 bytes webedit/icons/toolbar-disable.png | Bin 0 -> 6882 bytes webedit/icons/toolbar-wrapper-bg.png | Bin 0 -> 1731 bytes webedit/icons/toolbar.png | Bin 0 -> 13656 bytes webedit/icons/viewmode_code.png | Bin 0 -> 2053 bytes webedit/icons/viewmode_preview.png | Bin 0 -> 2236 bytes webedit/imageUpload/config.php | 31 + webedit/imageUpload/delete.php | 20 + webedit/imageUpload/upload.php | 66 + webedit/imageUpload/upload_flash.php | 47 + webedit/popup/color_picker.html | 19 + webedit/popup/flash.html | 23 + webedit/popup/flash/ImagePreview.swf | Bin 0 -> 147221 bytes webedit/popup/flash/chximage.swf | Bin 0 -> 63095 bytes webedit/popup/google_map.html | 24 + webedit/popup/icon.html | 16 + webedit/popup/image.html | 76 + webedit/popup/image.html5.html | 73 + webedit/popup/image_url.html | 34 + webedit/popup/js/AC_OETags.js | 247 + webedit/popup/js/color_picker.js | 91 + webedit/popup/js/dialog.js | 42 + webedit/popup/js/flash.js | 107 + webedit/popup/js/google_map.js | 141 + webedit/popup/js/icon.js | 54 + webedit/popup/js/image.html5.js | 972 ++ webedit/popup/js/image.js | 882 ++ webedit/popup/js/image_upload_flash.js | 279 + webedit/popup/js/image_url.js | 244 + webedit/popup/js/link.js | 135 + webedit/popup/js/media.js | 46 + webedit/popup/js/swfobject.js | 779 ++ webedit/popup/js/symbol.js | 167 + webedit/popup/js/table.js | 318 + webedit/popup/js/table_modify.js | 640 ++ webedit/popup/link.html | 71 + webedit/popup/media.html | 41 + webedit/popup/symbol.html | 27 + webedit/popup/table.html | 179 + webedit/popup/table_modify.html | 181 + webedit/template.dtd | 43 + webedit/template.xml | 385 + webedit/utils/crossdomain.xml | 6 + webedit_org/Editor.html | 108 + {webedit => webedit_org}/SmartEditor2.html | 0 .../SmartEditor2Skin.html | 0 .../SmartEditor2Skin_en_US.html | 0 .../SmartEditor2Skin_ja_JP.html | 0 .../SmartEditor2Skin_ko_KR.html | 0 .../SmartEditor2Skin_zh_CN.html | 0 .../SmartEditor2Skin_zh_TW.html | 0 .../SmartEditor2noframe.html | 0 {webedit => webedit_org}/autosave.editor.js | 0 {webedit => webedit_org}/config.js | 0 .../css/en_US/smart_editor2.css | 0 .../css/en_US/smart_editor2_in.css | 0 .../css/en_US/smart_editor2_items.css | 0 .../css/en_US/smart_editor2_out.css | 0 .../css/ja_JP/smart_editor2.css | 0 .../css/ja_JP/smart_editor2_in.css | 0 .../css/ja_JP/smart_editor2_items.css | 0 .../css/ja_JP/smart_editor2_out.css | 0 .../css/ko_KR/smart_editor2.css | 0 .../css/ko_KR/smart_editor2_in.css | 0 .../css/ko_KR/smart_editor2_items.css | 0 .../css/ko_KR/smart_editor2_out.css | 0 .../css/zh_CN/smart_editor2.css | 0 .../css/zh_CN/smart_editor2_in.css | 0 .../css/zh_CN/smart_editor2_items.css | 0 .../css/zh_CN/smart_editor2_out.css | 0 .../css/zh_TW/smart_editor2.css | 0 .../css/zh_TW/smart_editor2_in.css | 0 .../css/zh_TW/smart_editor2_items.css | 0 .../css/zh_TW/smart_editor2_out.css | 0 {webedit => webedit_org}/img/bg_b1.png | Bin {webedit => webedit_org}/img/bg_button.gif | Bin .../img/bg_button_left.gif | Bin .../img/bg_button_right.gif | Bin {webedit => webedit_org}/img/bg_find_h3.gif | Bin {webedit => webedit_org}/img/bg_help.gif | Bin {webedit => webedit_org}/img/bg_line1.gif | Bin {webedit => webedit_org}/img/bg_quote2.gif | Bin {webedit => webedit_org}/img/bg_set.gif | Bin {webedit => webedit_org}/img/bg_spell.gif | Bin {webedit => webedit_org}/img/bg_text_tool.gif | Bin .../img/bx_set_110302.gif | Bin .../img/en_US/btn_set.png | Bin .../img/en_US/text_tool_set.png | Bin {webedit => webedit_org}/img/ico_extend.png | Bin {webedit => webedit_org}/img/icon_set.gif | Bin .../img/ja_JP/btn_set.png | Bin .../img/ja_JP/text_tool_set.png | Bin .../img/ko_KR/btn_set.png | Bin .../img/ko_KR/text_tool_set.png | Bin .../img/photoQuickPopup/bg_drag_image.png | Bin .../img/photoQuickPopup/btn_cancel.png | Bin .../img/photoQuickPopup/btn_confirm.png | Bin .../img/photoQuickPopup/btn_confirm2.png | Bin .../img/photoQuickPopup/btn_del.png | Bin .../img/photoQuickPopup/btn_find.png | Bin .../img/zh_CN/btn_set.png | Bin .../img/zh_CN/text_tool_set.png | Bin .../img/zh_TW/btn_set.png | Bin .../img/zh_TW/text_tool_set.png | Bin {webedit => webedit_org}/js/lib/jindo2.all.js | 0 .../js/lib/jindo_component.js | 0 .../js/service/HuskyEZCreator.js | 0 .../js/service/SE2BasicCreator.js | 0 .../js/service/SE2M_Configuration.js | 0 .../js/service/hp_SE_OuterIFrameControl.js | 0 .../js/service/hp_SE_ToolbarToggler.js | 0 .../js/service/husky_SE2B_Lang_en_US.js | 0 .../js/service/husky_SE2B_Lang_ja_JP.js | 0 .../js/service/husky_SE2B_Lang_ko_KR.js | 0 .../js/service/husky_SE2B_Lang_zh_CN.js | 0 .../js/service/husky_SE2B_Lang_zh_TW.js | 0 {webedit => webedit_org}/js/smarteditor2.js | 0 .../js/smarteditor2.min.js | 0 .../plugin/hp_SE2M_AttachQuickPhoto.js | 0 .../popup/css/jquery.fileupload-noscript.css | 0 .../css/jquery.fileupload-ui-noscript.css | 0 .../popup/css/jquery.fileupload-ui.css | 0 .../popup/css/jquery.fileupload.css | 0 .../photo_uploader/popup/css/style.css | 0 .../photo_uploader/popup/img/delete.png | Bin .../photo_uploader/popup/img/loading.gif | Bin .../photo_uploader/popup/img/progressbar.gif | Bin .../popup/img/system_delete.png | Bin .../photo_uploader/popup/index.html | 0 .../photo_uploader/popup/js/basic.js | 0 .../popup/js/jquery-1.8.3.min.js | 0 .../photo_uploader/popup/js/jquery-ui.min.js | 0 .../popup/js/jquery.fileupload-process.js | 0 .../popup/js/jquery.fileupload-ui.js | 0 .../popup/js/jquery.fileupload.js | 0 .../popup/js/jquery.iframe-transport.js | 0 .../popup/js/jquery.ui.widget.js | 0 .../photo_uploader/popup/php/JSON.php | 0 .../popup/php/UploadHandler.php | 0 .../photo_uploader/popup/php/index.php | 0 .../swfupload/XPButtonUploadText_61x22.png | Bin .../popup/swfupload/fileprogress.js | 0 .../popup/swfupload/handlers.js | 0 .../popup/swfupload/jquery.swfupload.js | 0 .../popup/swfupload/swfupload.js | 0 .../popup/swfupload/swfupload.queue.js | 0 .../popup/swfupload/swfupload.swf | Bin {webedit => webedit_org}/sample.php | 0 {webedit => webedit_org}/shortcut.html | 0 .../smart_editor2_inputarea.html | 0 .../smart_editor2_inputarea_ie8.html | 0 329 files changed, 15845 insertions(+), 100 deletions(-) create mode 100644 webedit/cheditor.js create mode 100644 webedit/css/dialog.css create mode 100644 webedit/css/editarea.css create mode 100644 webedit/css/imageupload.css create mode 100644 webedit/css/imageurl.css create mode 100644 webedit/css/lightbox.css create mode 100644 webedit/css/ui.css create mode 100644 webedit/editor.lib.php create mode 100644 webedit/example/modify.html create mode 100644 webedit/example/multi.html create mode 100644 webedit/example/newpost.html create mode 100644 webedit/icons/add_col_after.png create mode 100644 webedit/icons/add_col_before.png create mode 100644 webedit/icons/add_cols_after.png create mode 100644 webedit/icons/add_cols_before.png create mode 100644 webedit/icons/add_row_after.png create mode 100644 webedit/icons/add_row_before.png create mode 100644 webedit/icons/add_rows_after.png create mode 100644 webedit/icons/add_rows_before.png create mode 100644 webedit/icons/button/cancel.gif create mode 100644 webedit/icons/button/color_picker.gif create mode 100644 webedit/icons/button/color_picker.png create mode 100644 webedit/icons/button/color_picker_disable.png create mode 100644 webedit/icons/button/delete.gif create mode 100644 webedit/icons/button/delete_cross.gif create mode 100644 webedit/icons/button/edit_cell.gif create mode 100644 webedit/icons/button/edit_image.gif create mode 100644 webedit/icons/button/imageUpload/cancel.gif create mode 100644 webedit/icons/button/imageUpload/submit.gif create mode 100644 webedit/icons/button/input.gif create mode 100644 webedit/icons/button/input_color.gif create mode 100644 webedit/icons/button/map_address.gif create mode 100644 webedit/icons/button/paste.gif create mode 100644 webedit/icons/button/play.gif create mode 100644 webedit/icons/button/preview.gif create mode 100644 webedit/icons/button/process.gif create mode 100644 webedit/icons/button/reset.gif create mode 100644 webedit/icons/button/submit.gif create mode 100644 webedit/icons/button/upload.gif create mode 100644 webedit/icons/checked.png create mode 100644 webedit/icons/color_picker.png create mode 100644 webedit/icons/color_picker_arrow.gif create mode 100644 webedit/icons/color_picker_cross.gif create mode 100644 webedit/icons/color_picker_hs.png create mode 100644 webedit/icons/color_picker_hv.png create mode 100644 webedit/icons/color_picker_reset.png create mode 100644 webedit/icons/color_picker_tick.png create mode 100644 webedit/icons/delete_element.png create mode 100644 webedit/icons/delete_table.png create mode 100644 webedit/icons/dot.gif create mode 100644 webedit/icons/edit_mode_code_a.png create mode 100644 webedit/icons/edit_mode_code_b.png create mode 100644 webedit/icons/edit_mode_rich_a.png create mode 100644 webedit/icons/edit_mode_rich_b.png create mode 100644 webedit/icons/edit_mode_view_a.png create mode 100644 webedit/icons/edit_mode_view_b.png create mode 100644 webedit/icons/em/1.gif create mode 100644 webedit/icons/em/10.gif create mode 100644 webedit/icons/em/11.gif create mode 100644 webedit/icons/em/12.gif create mode 100644 webedit/icons/em/13.gif create mode 100644 webedit/icons/em/14.gif create mode 100644 webedit/icons/em/15.gif create mode 100644 webedit/icons/em/16.gif create mode 100644 webedit/icons/em/17.gif create mode 100644 webedit/icons/em/18.gif create mode 100644 webedit/icons/em/19.gif create mode 100644 webedit/icons/em/2.gif create mode 100644 webedit/icons/em/20.gif create mode 100644 webedit/icons/em/21.gif create mode 100644 webedit/icons/em/22.gif create mode 100644 webedit/icons/em/23.gif create mode 100644 webedit/icons/em/24.gif create mode 100644 webedit/icons/em/25.gif create mode 100644 webedit/icons/em/26.gif create mode 100644 webedit/icons/em/27.gif create mode 100644 webedit/icons/em/28.gif create mode 100644 webedit/icons/em/29.gif create mode 100644 webedit/icons/em/3.gif create mode 100644 webedit/icons/em/30.gif create mode 100644 webedit/icons/em/31.gif create mode 100644 webedit/icons/em/32.gif create mode 100644 webedit/icons/em/33.gif create mode 100644 webedit/icons/em/34.gif create mode 100644 webedit/icons/em/35.gif create mode 100644 webedit/icons/em/36.gif create mode 100644 webedit/icons/em/37.gif create mode 100644 webedit/icons/em/38.gif create mode 100644 webedit/icons/em/39.gif create mode 100644 webedit/icons/em/4.gif create mode 100644 webedit/icons/em/40.gif create mode 100644 webedit/icons/em/41.gif create mode 100644 webedit/icons/em/42.gif create mode 100644 webedit/icons/em/43.gif create mode 100644 webedit/icons/em/44.gif create mode 100644 webedit/icons/em/45.gif create mode 100644 webedit/icons/em/46.gif create mode 100644 webedit/icons/em/47.gif create mode 100644 webedit/icons/em/48.gif create mode 100644 webedit/icons/em/49.gif create mode 100644 webedit/icons/em/5.gif create mode 100644 webedit/icons/em/50.gif create mode 100644 webedit/icons/em/51.gif create mode 100644 webedit/icons/em/52.gif create mode 100644 webedit/icons/em/53.gif create mode 100644 webedit/icons/em/54.gif create mode 100644 webedit/icons/em/55.gif create mode 100644 webedit/icons/em/56.gif create mode 100644 webedit/icons/em/57.gif create mode 100644 webedit/icons/em/58.gif create mode 100644 webedit/icons/em/59.gif create mode 100644 webedit/icons/em/6.gif create mode 100644 webedit/icons/em/60.gif create mode 100644 webedit/icons/em/61.gif create mode 100644 webedit/icons/em/62.gif create mode 100644 webedit/icons/em/63.gif create mode 100644 webedit/icons/em/64.gif create mode 100644 webedit/icons/em/65.gif create mode 100644 webedit/icons/em/66.gif create mode 100644 webedit/icons/em/67.gif create mode 100644 webedit/icons/em/68.gif create mode 100644 webedit/icons/em/69.gif create mode 100644 webedit/icons/em/7.gif create mode 100644 webedit/icons/em/70.gif create mode 100644 webedit/icons/em/71.gif create mode 100644 webedit/icons/em/72.gif create mode 100644 webedit/icons/em/73.gif create mode 100644 webedit/icons/em/74.gif create mode 100644 webedit/icons/em/75.gif create mode 100644 webedit/icons/em/76.gif create mode 100644 webedit/icons/em/77.gif create mode 100644 webedit/icons/em/78.gif create mode 100644 webedit/icons/em/79.gif create mode 100644 webedit/icons/em/8.gif create mode 100644 webedit/icons/em/80.gif create mode 100644 webedit/icons/em/9.gif create mode 100644 webedit/icons/fullscreen.png create mode 100644 webedit/icons/fullscreen_actual.png create mode 100644 webedit/icons/imageUpload/add.gif create mode 100644 webedit/icons/imageUpload/add_image_button.gif create mode 100644 webedit/icons/imageUpload/cross-small.png create mode 100644 webedit/icons/imageUpload/delete.png create mode 100644 webedit/icons/imageUpload/dot.gif create mode 100644 webedit/icons/imageUpload/loader.gif create mode 100644 webedit/icons/imageUpload/marker_bottom.gif create mode 100644 webedit/icons/imageUpload/marker_middle.gif create mode 100644 webedit/icons/imageUpload/marker_top.gif create mode 100644 webedit/icons/imageUpload/mouse_drag_img.gif create mode 100644 webedit/icons/imageUpload/remove_all.gif create mode 100644 webedit/icons/image_align_center.png create mode 100644 webedit/icons/image_align_left.png create mode 100644 webedit/icons/image_align_left_wt.png create mode 100644 webedit/icons/image_align_right.png create mode 100644 webedit/icons/image_align_right_wt.png create mode 100644 webedit/icons/image_resize.png create mode 100644 webedit/icons/image_wrap_text.png create mode 100644 webedit/icons/magnifier-zoom.png create mode 100644 webedit/icons/readonlymode.png create mode 100644 webedit/icons/remove_col.png create mode 100644 webedit/icons/remove_cols.png create mode 100644 webedit/icons/remove_row.png create mode 100644 webedit/icons/remove_rows.png create mode 100644 webedit/icons/splitter.gif create mode 100644 webedit/icons/statusbar_bgline.gif create mode 100644 webedit/icons/table_delete_cell.png create mode 100644 webedit/icons/table_delete_column.png create mode 100644 webedit/icons/table_delete_row.png create mode 100644 webedit/icons/table_insert_cell.png create mode 100644 webedit/icons/table_insert_column.png create mode 100644 webedit/icons/table_insert_row.png create mode 100644 webedit/icons/table_join.png create mode 100644 webedit/icons/table_join_column.png create mode 100644 webedit/icons/table_join_row.png create mode 100644 webedit/icons/table_split_column.png create mode 100644 webedit/icons/table_split_row.png create mode 100644 webedit/icons/title_bar_bg.gif create mode 100644 webedit/icons/title_bar_bg2.gif create mode 100644 webedit/icons/toolbar-background.png create mode 100644 webedit/icons/toolbar-disable.png create mode 100644 webedit/icons/toolbar-wrapper-bg.png create mode 100644 webedit/icons/toolbar.png create mode 100644 webedit/icons/viewmode_code.png create mode 100644 webedit/icons/viewmode_preview.png create mode 100644 webedit/imageUpload/config.php create mode 100644 webedit/imageUpload/delete.php create mode 100644 webedit/imageUpload/upload.php create mode 100644 webedit/imageUpload/upload_flash.php create mode 100644 webedit/popup/color_picker.html create mode 100644 webedit/popup/flash.html create mode 100644 webedit/popup/flash/ImagePreview.swf create mode 100644 webedit/popup/flash/chximage.swf create mode 100644 webedit/popup/google_map.html create mode 100644 webedit/popup/icon.html create mode 100644 webedit/popup/image.html create mode 100644 webedit/popup/image.html5.html create mode 100644 webedit/popup/image_url.html create mode 100644 webedit/popup/js/AC_OETags.js create mode 100644 webedit/popup/js/color_picker.js create mode 100644 webedit/popup/js/dialog.js create mode 100644 webedit/popup/js/flash.js create mode 100644 webedit/popup/js/google_map.js create mode 100644 webedit/popup/js/icon.js create mode 100644 webedit/popup/js/image.html5.js create mode 100644 webedit/popup/js/image.js create mode 100644 webedit/popup/js/image_upload_flash.js create mode 100644 webedit/popup/js/image_url.js create mode 100644 webedit/popup/js/link.js create mode 100644 webedit/popup/js/media.js create mode 100644 webedit/popup/js/swfobject.js create mode 100644 webedit/popup/js/symbol.js create mode 100644 webedit/popup/js/table.js create mode 100644 webedit/popup/js/table_modify.js create mode 100644 webedit/popup/link.html create mode 100644 webedit/popup/media.html create mode 100644 webedit/popup/symbol.html create mode 100644 webedit/popup/table.html create mode 100644 webedit/popup/table_modify.html create mode 100644 webedit/template.dtd create mode 100644 webedit/template.xml create mode 100644 webedit/utils/crossdomain.xml create mode 100644 webedit_org/Editor.html rename {webedit => webedit_org}/SmartEditor2.html (100%) rename {webedit => webedit_org}/SmartEditor2Skin.html (100%) rename {webedit => webedit_org}/SmartEditor2Skin_en_US.html (100%) rename {webedit => webedit_org}/SmartEditor2Skin_ja_JP.html (100%) rename {webedit => webedit_org}/SmartEditor2Skin_ko_KR.html (100%) rename {webedit => webedit_org}/SmartEditor2Skin_zh_CN.html (100%) rename {webedit => webedit_org}/SmartEditor2Skin_zh_TW.html (100%) rename {webedit => webedit_org}/SmartEditor2noframe.html (100%) rename {webedit => webedit_org}/autosave.editor.js (100%) rename {webedit => webedit_org}/config.js (100%) rename {webedit => webedit_org}/css/en_US/smart_editor2.css (100%) rename {webedit => webedit_org}/css/en_US/smart_editor2_in.css (100%) rename {webedit => webedit_org}/css/en_US/smart_editor2_items.css (100%) rename {webedit => webedit_org}/css/en_US/smart_editor2_out.css (100%) rename {webedit => webedit_org}/css/ja_JP/smart_editor2.css (100%) rename {webedit => webedit_org}/css/ja_JP/smart_editor2_in.css (100%) rename {webedit => webedit_org}/css/ja_JP/smart_editor2_items.css (100%) rename {webedit => webedit_org}/css/ja_JP/smart_editor2_out.css (100%) rename {webedit => webedit_org}/css/ko_KR/smart_editor2.css (100%) rename {webedit => webedit_org}/css/ko_KR/smart_editor2_in.css (100%) rename {webedit => webedit_org}/css/ko_KR/smart_editor2_items.css (100%) rename {webedit => webedit_org}/css/ko_KR/smart_editor2_out.css (100%) rename {webedit => webedit_org}/css/zh_CN/smart_editor2.css (100%) rename {webedit => webedit_org}/css/zh_CN/smart_editor2_in.css (100%) rename {webedit => webedit_org}/css/zh_CN/smart_editor2_items.css (100%) rename {webedit => webedit_org}/css/zh_CN/smart_editor2_out.css (100%) rename {webedit => webedit_org}/css/zh_TW/smart_editor2.css (100%) rename {webedit => webedit_org}/css/zh_TW/smart_editor2_in.css (100%) rename {webedit => webedit_org}/css/zh_TW/smart_editor2_items.css (100%) rename {webedit => webedit_org}/css/zh_TW/smart_editor2_out.css (100%) rename {webedit => webedit_org}/img/bg_b1.png (100%) rename {webedit => webedit_org}/img/bg_button.gif (100%) rename {webedit => webedit_org}/img/bg_button_left.gif (100%) rename {webedit => webedit_org}/img/bg_button_right.gif (100%) rename {webedit => webedit_org}/img/bg_find_h3.gif (100%) rename {webedit => webedit_org}/img/bg_help.gif (100%) rename {webedit => webedit_org}/img/bg_line1.gif (100%) rename {webedit => webedit_org}/img/bg_quote2.gif (100%) rename {webedit => webedit_org}/img/bg_set.gif (100%) rename {webedit => webedit_org}/img/bg_spell.gif (100%) rename {webedit => webedit_org}/img/bg_text_tool.gif (100%) rename {webedit => webedit_org}/img/bx_set_110302.gif (100%) rename {webedit => webedit_org}/img/en_US/btn_set.png (100%) rename {webedit => webedit_org}/img/en_US/text_tool_set.png (100%) rename {webedit => webedit_org}/img/ico_extend.png (100%) rename {webedit => webedit_org}/img/icon_set.gif (100%) rename {webedit => webedit_org}/img/ja_JP/btn_set.png (100%) rename {webedit => webedit_org}/img/ja_JP/text_tool_set.png (100%) rename {webedit => webedit_org}/img/ko_KR/btn_set.png (100%) rename {webedit => webedit_org}/img/ko_KR/text_tool_set.png (100%) rename {webedit => webedit_org}/img/photoQuickPopup/bg_drag_image.png (100%) rename {webedit => webedit_org}/img/photoQuickPopup/btn_cancel.png (100%) rename {webedit => webedit_org}/img/photoQuickPopup/btn_confirm.png (100%) rename {webedit => webedit_org}/img/photoQuickPopup/btn_confirm2.png (100%) rename {webedit => webedit_org}/img/photoQuickPopup/btn_del.png (100%) rename {webedit => webedit_org}/img/photoQuickPopup/btn_find.png (100%) rename {webedit => webedit_org}/img/zh_CN/btn_set.png (100%) rename {webedit => webedit_org}/img/zh_CN/text_tool_set.png (100%) rename {webedit => webedit_org}/img/zh_TW/btn_set.png (100%) rename {webedit => webedit_org}/img/zh_TW/text_tool_set.png (100%) rename {webedit => webedit_org}/js/lib/jindo2.all.js (100%) rename {webedit => webedit_org}/js/lib/jindo_component.js (100%) rename {webedit => webedit_org}/js/service/HuskyEZCreator.js (100%) rename {webedit => webedit_org}/js/service/SE2BasicCreator.js (100%) rename {webedit => webedit_org}/js/service/SE2M_Configuration.js (100%) rename {webedit => webedit_org}/js/service/hp_SE_OuterIFrameControl.js (100%) rename {webedit => webedit_org}/js/service/hp_SE_ToolbarToggler.js (100%) rename {webedit => webedit_org}/js/service/husky_SE2B_Lang_en_US.js (100%) rename {webedit => webedit_org}/js/service/husky_SE2B_Lang_ja_JP.js (100%) rename {webedit => webedit_org}/js/service/husky_SE2B_Lang_ko_KR.js (100%) rename {webedit => webedit_org}/js/service/husky_SE2B_Lang_zh_CN.js (100%) rename {webedit => webedit_org}/js/service/husky_SE2B_Lang_zh_TW.js (100%) rename {webedit => webedit_org}/js/smarteditor2.js (100%) rename {webedit => webedit_org}/js/smarteditor2.min.js (100%) rename {webedit => webedit_org}/photo_uploader/plugin/hp_SE2M_AttachQuickPhoto.js (100%) rename {webedit => webedit_org}/photo_uploader/popup/css/jquery.fileupload-noscript.css (100%) rename {webedit => webedit_org}/photo_uploader/popup/css/jquery.fileupload-ui-noscript.css (100%) rename {webedit => webedit_org}/photo_uploader/popup/css/jquery.fileupload-ui.css (100%) rename {webedit => webedit_org}/photo_uploader/popup/css/jquery.fileupload.css (100%) rename {webedit => webedit_org}/photo_uploader/popup/css/style.css (100%) rename {webedit => webedit_org}/photo_uploader/popup/img/delete.png (100%) rename {webedit => webedit_org}/photo_uploader/popup/img/loading.gif (100%) rename {webedit => webedit_org}/photo_uploader/popup/img/progressbar.gif (100%) rename {webedit => webedit_org}/photo_uploader/popup/img/system_delete.png (100%) rename {webedit => webedit_org}/photo_uploader/popup/index.html (100%) rename {webedit => webedit_org}/photo_uploader/popup/js/basic.js (100%) rename {webedit => webedit_org}/photo_uploader/popup/js/jquery-1.8.3.min.js (100%) rename {webedit => webedit_org}/photo_uploader/popup/js/jquery-ui.min.js (100%) rename {webedit => webedit_org}/photo_uploader/popup/js/jquery.fileupload-process.js (100%) rename {webedit => webedit_org}/photo_uploader/popup/js/jquery.fileupload-ui.js (100%) rename {webedit => webedit_org}/photo_uploader/popup/js/jquery.fileupload.js (100%) rename {webedit => webedit_org}/photo_uploader/popup/js/jquery.iframe-transport.js (100%) rename {webedit => webedit_org}/photo_uploader/popup/js/jquery.ui.widget.js (100%) rename {webedit => webedit_org}/photo_uploader/popup/php/JSON.php (100%) rename {webedit => webedit_org}/photo_uploader/popup/php/UploadHandler.php (100%) rename {webedit => webedit_org}/photo_uploader/popup/php/index.php (100%) rename {webedit => webedit_org}/photo_uploader/popup/swfupload/XPButtonUploadText_61x22.png (100%) rename {webedit => webedit_org}/photo_uploader/popup/swfupload/fileprogress.js (100%) rename {webedit => webedit_org}/photo_uploader/popup/swfupload/handlers.js (100%) rename {webedit => webedit_org}/photo_uploader/popup/swfupload/jquery.swfupload.js (100%) rename {webedit => webedit_org}/photo_uploader/popup/swfupload/swfupload.js (100%) rename {webedit => webedit_org}/photo_uploader/popup/swfupload/swfupload.queue.js (100%) rename {webedit => webedit_org}/photo_uploader/popup/swfupload/swfupload.swf (100%) rename {webedit => webedit_org}/sample.php (100%) rename {webedit => webedit_org}/shortcut.html (100%) rename {webedit => webedit_org}/smart_editor2_inputarea.html (100%) rename {webedit => webedit_org}/smart_editor2_inputarea_ie8.html (100%) diff --git a/webedit/Editor.html b/webedit/Editor.html index 49a2076..22fd97b 100644 --- a/webedit/Editor.html +++ b/webedit/Editor.html @@ -2,107 +2,29 @@ // 웹에디터 필드명 if($edit_name == "") $edit_name = "contents"; if($edit_width == "") $edit_width="100%"; -if($edit_height == "") $edit_height="400"; -if($edit_skin == "") $edit_skin=""; -if($edit_lang == "") $edit_lang="en-US"; +if($edit_height == "") $edit_height="300"; ?> - - -
- - - - - - - + + + + - \ No newline at end of file +var = new cheditor(); // 에디터 개체를 생성합니다. +.config.editorHeight = 'px'; // 에디터 세로폭입니다. +.config.editorWidth = ''; // 에디터 가로폭입니다. +.inputForm = ''; // textarea의 ID 이름입니다. +.run(); // 에디터를 실행합니다. + \ No newline at end of file diff --git a/webedit/cheditor.js b/webedit/cheditor.js new file mode 100644 index 0000000..74785e4 --- /dev/null +++ b/webedit/cheditor.js @@ -0,0 +1,7815 @@ +// ================================================================ +// CHEditor 5.1.4 +// ---------------------------------------------------------------- +// Homepage: http://www.chcode.com +// EMail: support@chcode.com +// Copyright (c) 1997-2015 CHSOFT +// ================================================================ +var GB = { + colors:["#000000","#313131","#434343","#535353","#666666","#999999","#a0a0a0","#b5b5b5","#c0c0c0","#dcdcdc","#eeeeee","#ffffff", + "#ff0000","#ff8000","#ffff00","#80ff00","#00ff00","#00ff99","#00ffff","#0080ff","#0000ff","#7f00ff","#ff00ff","#ff007f", + "#ffcccc","#ffe5cc","#ffffcc","#e5ffcc","#ccffcc","#ccffe5","#ccffff","#cce5ff","#ccccff","#e5ccff","#ffccff","#ffcce5", + "#ff9999","#ffcc99","#ffff99","#ccff99","#99ff99","#99ffcc","#99ffff","#99ccff","#9999ff","#cc99ff","#ff99ff","#ff99cc", + "#ff6666","#ffb266","#ffff66","#b2ff66","#66ff66","#66ffb2","#66ffff","#66b2ff","#6666ff","#b266ff","#ff66ff","#ff66b2", + "#ff3333","#ff9933","#ffff33","#99ff33","#33ff33","#33ff99","#33ffff","#3399ff","#3333ff","#9933ff","#ff33ff","#ff3399", + "#cc0000","#cc6600","#cccc00","#66cc00","#00cc00","#00cc66","#00cccc","#0066cc","#0000cc","#6600cc","#cc00cc","#cc0066", + "#990000","#994c00","#999900","#4c9900","#009900","#00994c","#009999","#004c99","#000099","#4c0099","#990099","#99004c", + "#660000","#663300","#666600","#336600","#006600","#006633","#006666","#003366","#000066","#330066","#660066","#660033"], + offElements : { + img:1, hr:1, table:1, embed:1, object:1, input:1, form:1, select:1, textarea:1, button:1, fieldset:1 + }, + emptyElements : { + area:1, base:1, basefont:1, col:1, frame:1, hr:1, img:1, br:1, input:1, isindex:1, link:1, meta:1, + param:1, source:1, track:1, wbr:1, keygen:1, menuitem:1 + }, + textFormatting : { + addr:1, acronym:1, b:1, bdo:1, big:1, cite:1, code:1, del:1, dfn:1, em:1, font:1, i:1, ins:1, kbd:1, q:1, + samp:1, small:1, span:1, strike:1, strong:1, sub:1, sup:1, tt:1, u:1, 'var':1 + }, + newLineBefore : '|div|p|blockquote|table|tbody|tr|td|th|title|head|body|script|comment|li|meta|h1|h2|h3|h4|h5|h6|hr|ul|ol|link|', + lineHeightBlock : '|address|blockquote|dd|div|dl|h1|h2|h3|h4|h5|h6|li|p|pre|td|th|code|section|aside|article|figcaption|', + doctype : '', + popupWindow : { + ImageUpload : {tmpl : 'image.html', width : 700, posv: 420, title : '내 PC 사진 넣기'}, + ImageUrl : {tmpl : 'image_url.html', width : 350, posv: 380, title : '웹 사진 넣기'}, + Embed : {tmpl : 'media.html', width : 430, posv: 380, title : '미디어'}, + Table : {tmpl : 'table.html', width : 430, posv: 390, title : '표 만들기'}, + ModifyTable : {tmpl : 'table_modify.html', width : 430, posv: 390, title : '표 고치기'}, + Layout : {tmpl : 'layout.html', width : 430, posv: 420, title : '레이아웃'}, + Link : {tmpl : 'link.html', width : 350, posv: 200, title : '하이퍼링크'}, + EmotionIcon : {tmpl : 'icon.html', width : 300, posv: 200, title : '표정 아이콘'}, + Symbol : {tmpl : 'symbol.html', width : 450, posv: 300, title : '특수 문자'}, + GoogleMap : {tmpl : 'google_map.html', width : 538, posv: 450, title : '구글 지도'}, + ColorPicker : {tmpl : 'color_picker.html', width : 420, posv: 200, title : '색상 선택'}, + FlashMovie : {tmpl : 'flash.html', width : 584, posv: 474, title : '플래쉬 동영상'} + }, + fontName : { + 'kr' : ['맑은 고딕', '돋움', '굴림', '바탕', '궁서'], + 'en' : ['Arial', 'Comic Sans MS', 'Courier New', 'Georgia', 'Lucida Sans Unicode', 'Tahoma', 'Times New Roman', 'Verdana'] + }, + fontStyle : { + 'FontSize':'font-size', 'FontName':'font-family', 'ForeColor':'color', 'BackColor':'background-color' + }, + textAlign : { + 'JustifyLeft':'', 'JustifyCenter':'center','JustifyRight':'right','JustifyFull':'justify' + }, + listStyle : { + 'ordered' : { + 'decimal':'숫자', 'lower-alpha':'영문 소문자', 'upper-alpha':'영문 대문자', 'lower-roman':'로마 소문자', 'upper-roman':'로마 대문자' + }, + 'unOrdered' : {'desc':'동그라미', 'circle':'빈 원', 'square':'사각형'} + }, + fontSize : { + 'pt' : [7, 8, 9, 10, 11, 12, 14, 16, 18, 20, 22, 24, 26, 28, 36], + 'px' : [9, 10, 11, 12, 14, 16, 18, 20, 22, 24, 26, 28, 36, 48, 72] + }, + formatBlock : { + 'P' : 'Normal (P)', + 'H1' : 'Heading 1', + 'H2' : 'Heading 2', + 'H3' : 'Heading 3', + 'H4' : 'Heading 4', + 'H5' : 'Heading 5', + 'H6' : 'Heading 6', + 'ADDRESS' : 'Address', + 'DIV' : 'DIV', + 'PRE' : 'Preformatted (PRE)' + }, + lineHeight : { + '한 줄 간격': 1, '1.15': 1.15, '1.5': 1.5, '1.7': 1.7, '1.8': 1.8, '두 줄 간격': 2 + }, + textBlock : [ + ['1px #dedfdf solid','#f7f7f7'], + ['1px #aee8e8 solid','#bfffff'], + ['1px #d3bceb solid','#e6ccff'], + ['1px #e8e88b solid','#ffff99'], + ['1px #c3e89e solid','#d6ffad'], + ['1px #e8c8b7 solid','#ffdcc9'], + ['1px #666666 dashed','#ffffff'], + ['1px #d4d4d4 solid','#ffffff'], + ['1px #cccccc inset','#f7f7f7'] + ], + node : { + element: 1, attribute: 2, text: 3, cdata_section: 4, entity_reference: 5, entity: 6, + processing_instruction: 7, comment: 8, document: 9, document_type: 10, document_fragment: 11, + notation: 12 + }, + + selection : { none: 1, text: 2, element: 3 }, + readyState : { 0: 'uninitialized', 1: 'loading', 2: 'loaded', 3: 'interactive', 4: 'complete' }, + + prettify : null, + dragWindow : null, + readyEditor: 0, + browser : {} +}; + +function isUndefined (obj) { + return obj === void(0); // obj === undefined; +} + +function detechBrowser () { + function detect(ua) { + function getFirstMatch(regex) { + var match = ua.match(regex); + return (match && match.length > 1 && match[1]) || ''; + } + var iosdevice = getFirstMatch(/(ipod|iphone|ipad)/i).toLowerCase() + ,likeAndroid = /like android/i.test(ua) + ,android = !likeAndroid && /android/i.test(ua) + ,versionIdentifier = getFirstMatch(/version\/(\d+(\.\d+)?)/i) + ,tablet = /tablet/i.test(ua) + ,mobile = !tablet && /[^\-]mobi/i.test(ua) + ,result; + + if (/opera|opr/i.test(ua)) { + result = { + name: 'Opera', opera: true , + version: versionIdentifier || getFirstMatch(/(?:opera|opr)[\s\/](\d+(\.\d+)?)/i) + }; + } + else if (/windows phone/i.test(ua)) { + result = { + name: 'Windows Phone', windowsphone: true, msie: true, + version: getFirstMatch(/iemobile\/(\d+(\.\d+)?)/i) + }; + } + else if (/msie|trident/i.test(ua)) { + result = { + name: 'Internet Explorer', msie: true, version: getFirstMatch(/(?:msie |rv:)(\d+(\.\d+)?)/i) + }; + } + else if (/edge/i.test(ua)) { + result = { + name: 'edge', edge: true, version: getFirstMatch(/(?:edge)\/(\d+(\.\d+)?)/i) + }; + } + else if (/chrome|crios|crmo/i.test(ua)) { + result = { + name: 'Chrome', chrome: true, version: getFirstMatch(/(?:chrome|crios|crmo)\/(\d+(\.\d+)?)/i) + }; + } + else if (iosdevice) { + result = { + name: iosdevice === 'iphone' ? 'iPhone' : iosdevice === 'ipad' ? 'iPad' : 'iPod' + }; + if (versionIdentifier) { result.version = versionIdentifier; } + } + else if (/firefox|iceweasel/i.test(ua)) { + result = { + name: 'Firefox', firefox: true, + version: getFirstMatch(/(?:firefox|iceweasel)[ \/](\d+(\.\d+)?)/i) + }; + if (/\((mobile|tablet);[^\)]*rv:[\d\.]+\)/i.test(ua)) { result.firefoxos = true; } + } + else if (/silk/i.test(ua)) { + result = { + name: 'Amazon Silk', silk: true, version : getFirstMatch(/silk\/(\d+(\.\d+)?)/i) + }; + } + else if (android) { + result = { name: 'Android', version: versionIdentifier }; + } + else if (/phantom/i.test(ua)) { + result = { + name: 'PhantomJS', phantom: true, version: getFirstMatch(/phantomjs\/(\d+(\.\d+)?)/i) + }; + } + else if (/blackberry|\bbb\d+/i.test(ua) || /rim\stablet/i.test(ua)) { + result = { + name: 'BlackBerry', blackberry: true, + version: versionIdentifier || getFirstMatch(/blackberry[\d]+\/(\d+(\.\d+)?)/i) + }; + } + else if (/(web|hpw)os/i.test(ua)) { + result = { + name: 'WebOS' , webos: true , + version: versionIdentifier || getFirstMatch(/w(?:eb)?osbrowser\/(\d+(\.\d+)?)/i) + }; + if (/touchpad\//i.test(ua)) { result.touchpad = true; } + } + else if (/safari/i.test(ua)) { + result = { + name: 'Safari', safari: true, version: versionIdentifier + }; + } + else { + result = {}; + } + + if (/(apple)?webkit/i.test(ua)) { + result.name = result.name || "Webkit"; + result.webkit = true; + if (!result.version && versionIdentifier) { result.version = versionIdentifier; } + } + else if (!result.opera && /gecko\//i.test(ua)) { + result.gecko = true; + result.version = result.version || getFirstMatch(/gecko\/(\d+(\.\d+)?)/i); + result.name = result.name || "Gecko"; + } + if (android || result.silk) { result.android = true; } + else if (iosdevice) { + result[iosdevice] = true; + result.ios = true; + } + + var osVersion = ''; + if (iosdevice) { + osVersion = getFirstMatch(/os (\d+([_\s]\d+)*) like mac os x/i); + osVersion = osVersion.replace(/[_\s]/g, '.'); + } + else if (android) { osVersion = getFirstMatch(/android[ \/\-](\d+(\.\d+)*)/i); } + else if (result.windowsphone) { osVersion = getFirstMatch(/windows phone (?:os)?\s?(\d+(\.\d+)*)/i); } + else if (result.webos) { osVersion = getFirstMatch(/(?:web|hpw)os\/(\d+(\.\d+)*)/i); } + else if (result.blackberry) { osVersion = getFirstMatch(/rim\stablet\sos\s(\d+(\.\d+)*)/i); } + + if (osVersion) { result.osversion = osVersion; } + + var osMajorVersion = osVersion.split('.')[0]; + if (tablet || iosdevice === 'ipad' || + (android && (osMajorVersion === 3 || (osMajorVersion === 4 && !mobile))) || + result.silk) + { + result.tablet = true; + } + else if (mobile || iosdevice === 'iphone' || iosdevice === 'ipod' || android || + result.blackberry || result.webos) + { + result.mobile = true; + } + + if ((result.msie && result.version >= 10) || + (result.chrome && result.version >= 20) || + (result.firefox && result.version >= 20.0) || + (result.safari && result.version >= 6) || + (result.opera && result.version >= 10.0) || + (result.ios && result.osversion && result.osversion.split(".")[0] >= 6) || + (result.blackberry && result.version >= 10.1)) + { + result.a = true; + } + else if ((result.msie && result.version < 10) || + (result.chrome && result.version < 20) || + (result.firefox && result.version < 20.0) || + (result.safari && result.version < 6) || + (result.opera && result.version < 10.0) || + (result.ios && result.osversion && result.osversion.split(".")[0] < 6)) + { + result.c = true; + } + else { + result.x = true; + } + + if (result.msie) { + if (result.version > 10) { + result.msie_a = true; + } + else if (result.version > 8) { + result.msie_b = true; + } + else { + result.msie_c = true; + } + } + return result; + } + return detect(!isUndefined(navigator) ? navigator.userAgent : null); +} + +function URI (uri) { + this.scheme = null; + this.authority = null; + this.path = ''; + this.query = null; + this.fragment = null; + + this.parseUri = function (uri) { + var m = uri.match(/^(([A-Za-z][0-9A-Za-z+.\-]*)(:))?((\/\/)([^\/?#]*))?([^?#]*)((\?)([^#]*))?((#)(.*))?/); + this.scheme = m[3] ? m[2] : null; + this.authority = m[5] ? m[6] : null; + this.path = m[7]; + this.query = m[9] ? m[10] : null; + this.fragment = m[12]? m[13] : null; + return this; + }; + + this.azToString = function () { + var result = ''; + if (this.scheme !== null) { result = result + this.scheme + ':'; } + if (this.authority !== null) { result = result +'//'+ this.authority; } + if (this.path !== null) { result = result + this.path; } + if (this.query !== null) { result = result + '?'+ this.query; } + if (this.fragment !== null) { result = result + '#'+ this.fragment; } + return result; + }; + + this.toAbsolute = function (location) { + var baseUri = new URI(location); + var URIAbs = this; + var target = new URI(); + + function removeDotSegments (path) { + var result = '', rm; + while (path) { + if (path.substr(0,3) === '../' || path.substr(0,2) === './') { + path = path.replace(/^\.+/,'').substr(1); + } + else if (path.substr(0,3) === '/./' || path === '/.') { + path = '/'+path.substr(3); + } + else if (path.substr(0,4) === '/../' || path === '/..') { + path = '/'+path.substr(4); + result = result.replace(/\/?[^\/]*$/, ''); + } + else if (path === '.' || path === '..') { + path = ''; + } + else { + rm = path.match(/^\/?[^\/]*/)[0]; + path = path.substr(rm.length); + result = result + rm; + } + } + return result; + } + + if (baseUri.scheme === null) { return false; } + if (URIAbs.scheme !== null && URIAbs.scheme.toLowerCase() === baseUri.scheme.toLowerCase()) { + URIAbs.scheme = null; + } + + if (URIAbs.scheme !== null) { + target.scheme = URIAbs.scheme; + target.authority = URIAbs.authority; + target.path = removeDotSegments(URIAbs.path); + target.query = URIAbs.query; + } + else { + if (URIAbs.authority !== null) { + target.authority = URIAbs.authority; + target.path = removeDotSegments(URIAbs.path); + target.query = URIAbs.query; + } + else { + if (URIAbs.path === '') { + target.path = baseUri.path; + target.query = URIAbs.query || baseUri.query; + } + else { + if (URIAbs.path.substr(0,1) === '/') { + target.path = removeDotSegments(URIAbs.path); + } + else { + if (baseUri.authority !== null && baseUri.path === '') { + target.path = '/' + URIAbs.path; + } + else { + target.path = baseUri.path.replace(/[^\/]+$/,'') + URIAbs.path; + } + target.path = removeDotSegments(target.path); + } + target.query = URIAbs.query; + } + target.authority = baseUri.authority; + } + target.scheme = baseUri.scheme; + } + target.fragment = URIAbs.fragment; + return target; + }; + if (uri) { + this.parseUri(uri); + } +} + +function setConfig () { + var config = { + editorWidth : '100%', + editorHeight : '300px', + editorFontSize : '12px', + editorFontName : '맑은 고딕, 굴림, Malgun Gothic, gulim', + editorFontColor : '#000', + editorBgColor : '#fff', + imgCaptionText : 'margin: 5px 0px; color: #333', + lineHeight : 1.6, + editAreaMargin : '5px 10px', + tabIndex : 0, + editorPath : null, + fullHTMLSource : false, + linkTarget : '_blank', + showTagPath : false, + colorToHex : true, + imgMaxWidth : 1180, + imgUploadNumber : 12, + imgUploadSortName : false, + imgSetAttrWidth : 1, // -1 = (width=100%, height=auto), 0 = 설정 안함, 1 = 원래대로 + imgSetAttrAlt : true, + makeThumbnail : false, + imgDefaultAlign : "left", // [left, center, right] + thumbnailWidth : 120, + thumbnailHeight : 90, + imgBlockMargin : '5px 0px', + includeHostname : true, + paragraphCss : false, // true =

, false =

+ xhtmlLang : 'utf-8', + xhtmlEncoding : 'utf-8', + docTitle : '내 문서', + template : 'template.xml', + fontSizeValue : 'px', // [pt, px] + + // 버튼 사용 유무 + useSource : true, + usePreview : true, + usePrint : true, + useNewDocument : true, + useUndo : true, + useRedo : true, + useCopy : true, + useCut : true, + usePaste : true, + usePasteFromWord: true, + useSelectAll : true, + useStrikethrough: true, + useUnderline : true, + useItalic : true, + useSuperscript : false, + useSubscript : false, + useJustifyLeft : true, + useJustifyCenter: true, + useJustifyRight : true, + useJustifyFull : true, + useBold : true, + useOrderedList : true, + useUnOrderedList: true, + useOutdent : true, + useIndent : true, + useFontName : true, + useFormatBlock : true, + useFontSize : true, + useLineHeight : true, + useBackColor : true, + useForeColor : true, + useRemoveFormat : true, + useClearTag : true, + useSymbol : true, + useLink : true, + useUnLink : true, + useFlash : true, + useMedia : false, + useImage : true, + useImageUrl : false, + useSmileyIcon : true, + useHR : true, + useTable : true, + useModifyTable : true, + useMap : true, + useTextBlock : true, + useFullScreen : true, + usePageBreak : false, + allowedScript : true, + allowedOnEvent : false + }; + + if (config.editorPath === null) { + var base = location.href, editorUri, locationAbs; + var e = document.getElementsByTagName('base'), i; + for (i=0; i'+this.config.docTitle+''+ + ''; + + if (typeof contents === 'string') { + html += this.trimSpace(contents); + } + + html += ''; + doc.write(html); + doc.close(); +}, + +getWindowHandle : function (iframeObj) { + var iframeWin; + if (iframeObj.contentWindow) { + iframeWin = iframeObj.contentWindow; + } + else { + throw '현재 브라우저에서 에디터를 실행할 수 없습니다.'; + } + return iframeWin; +}, + +resetDoc : function () { + try { + if (this.undefined(this.cheditor.editArea)) { + return false; + } + this.editArea = this.getWindowHandle(this.cheditor.editArea); + this.doc = GB.browser.msie ? this.editArea.document : this.cheditor.editArea.contentDocument; + this.resetData(); + return true; + } catch (e) { + alert(e.toString()); + return false; + } +}, + +resetEditArea : function () { + this.openDoc(this.doc, this.cheditor.textarea.value); + this.setDesignMode(true); + + var oSheet = this.doc.styleSheets[0]; + var bodyCss = 'font-size:' + this.config.editorFontSize + + ';font-family:' + this.config.editorFontName + + ';color:' + this.config.editorFontColor + + ';margin:' + this.config.editAreaMargin + + ';line-height:' + this.config.lineHeight + + ';background-color:' + this.config.editorBgColor; + var tableCss = 'font-size:' + this.config.editorFontSize + ';line-height:' + this.config.lineHeight; + if (!this.W3CRange) { + oSheet.addRule('body', bodyCss); + oSheet.addRule('table', tableCss); + } + else { + oSheet.insertRule('body {'+ bodyCss + '}', 0); + oSheet.insertRule('table {'+ tableCss + '}', 1); + } + + this.doc.body.setAttribute("spellcheck", "false"); + this.doc.body.setAttribute("hidefocus", ""); + this.cheditor['bogusSpacerName'] = "ch_bogus_spacer"; + this.cheditor['bogusParaName'] = "ch_bogus_para"; + + var self = this; + this.addEvent(self.doc.body, "paste", function(event) { self.handlePaste(event); }); + try { + if (!GB.browser.msie) { + this.doc.execCommand('defaultParagraphSeparator', false, 'p'); + } + } catch(ignore) {} + + this.initDefaultParagraphSeparator(); +}, + +initDefaultParagraphSeparator : function () { + if (this.doc.body.firstChild && this.doc.body.firstChild.nodeName.toLowerCase() === 'br') { + this.doc.body.removeChild(this.doc.body.firstChild); + } + if (this.W3CRange && !this.doc.body.hasChildNodes()) { + var p = this.doc.createElement('p'); + this.doc.body.appendChild(p); + if (!GB.browser.msie && !GB.browser.edge) { + var br = this.doc.createElement('br'); + br.className = this.cheditor.bogusSpacerName; + p.appendChild(br); + this.placeCaretAt(p, false); + } + else { + this.placeCaretAt(p, false); + } + } +}, + +handlePaste : function (ev) { + if (this.cheditor.mode === "preview" || + (this.cheditor.paste !== 'text' && this.cheditor.mode === 'rich')) + { + return; + } + + this.stopEvent(ev); + var clip = (ev.originalEvent || ev).clipboardData; + var text = this.trimSpace((this.undefined(clip) || clip === null) ? window.clipboardData.getData("Text") : + clip.getData('text/plain')); + + if (text !== '') { + text = text.replace(/\r/g, ""); + if (this.cheditor.mode === "code") { + var div = this.doc.createElement('div'); + text = this.htmlEncode(text); + text = text.replace(/\s{2,}/gm, '\n'); + text = text.replace(/[\u200b\ufeff\xa0\u3000]+/g, ''); + + if (GB.browser.msie && GB.browser.version < 9) { + text = text.replace(/\n/g, "
"); + text = text.replace(/\t/g, "__CHEDITOR_TAB_SPACE__"); + text = text.replace(/\s/gm, " "); + } + div.innerHTML = text; + div.id = "clipboardData"; + this.insertHTML(div); + GB.prettify.initHighlightingOnLoad(['html', 'javascript', 'css'], this, true); + return; + } + + text = this.htmlEncode(text); + var lines = text.split('\n'); + var i, len = lines.length; + text = '

'; + for (i=0; i'; + } + text += '

'; + this.insertHTML(text); + } +}, + +editAreaFocus : function () { + this.editArea.focus(); + this.doc.body.focus(); +}, + +resizeGetY : function (ev) { + return GB.browser.msie ? + window.event.clientY + document.documentElement.scrollTop + document.body.scrollTop : + ev.clientY + window.pageYOffset; +}, + +resizeStart : function (ev) { + var self = this; + self.currentRS.elNode = self.cheditor.editArea; + self.currentRS.cursorStartY = self.resizeGetY(ev); + self.currentRS.elStartTop = parseInt(self.currentRS.elNode.style.height, 10); + + if (isNaN(self.currentRS.elStartTop)) { + self.currentRS.elStartTop = 0; + } + + ev = ev || window.event; + + self.resizeEditor.stopFunc = function(event) { self.resizeStop(event); }; + self.resizeEditor.moveFunc = function(event) { self.resizeMove(event); }; + + if (GB.browser.msie) { + self.setDesignMode(false); + } + + self.currentRS.elNode.style.visibility = 'hidden'; + self.addEvent(document, "mousemove", self.resizeEditor.moveFunc); + self.addEvent(document, "mouseup", self.resizeEditor.stopFunc); + self.stopEvent(ev); +}, + +resizeMove : function (ev) { + var Y = this.resizeGetY(ev); + var H = this.currentRS.elStartTop + Y - this.currentRS.cursorStartY; + if (H < 1) { + this.resizeStop(ev); + H = 1; + } + this.config.editorHeight = this.currentRS.elNode.style.height = H + 'px'; + this.stopEvent(ev); +}, + +resizeStop : function (ev) { + this.removeEvent(document, "mouseup", this.resizeEditor.stopFunc); + this.removeEvent(document, "mousemove", this.resizeEditor.moveFunc); + this.stopEvent(ev); + this.currentRS.elNode.style.visibility = 'visible'; + if (GB.browser.msie) { + this.setDesignMode(true); + } + this.editAreaFocus(); +}, + +switchEditorMode : function (changeMode) { + this.editAreaFocus(); + var i, className; + if (this.cheditor.mode === changeMode) { return; } + + for (i in this.cheditor.modetab) { + if (this.cheditor.modetab.hasOwnProperty(i)) { + className = this.cheditor.modetab[i].className; + className = className.replace(/\-off$/,''); + if (i !== changeMode) { + this.cheditor.modetab[i].className = className + '-off'; + } + else { + this.cheditor.modetab[i].className = className; + } + } + } + + switch (changeMode) { + case 'rich' : + this.richMode(); + this.showTagSelector(true); + break; + case 'code' : + this.editMode(); + this.showTagSelector(false); + break; + case 'preview' : + this.previewMode(); + this.showTagSelector(false); + break; + default : break; + } + this.cheditor.mode = changeMode; +}, + +initTemplate : function () { + var self = this; + var httpRequest = null; + + function showError(msg) { + alert(self.templateFile + ' 파일 로딩 중 오류가 발생하였습니다.\n원인: ' + msg); + throw ''; + } + + function templateReady() { + if ( httpRequest.readyState === 4) { + if (httpRequest.status === 200) { + try { + self.xmlDoc = httpRequest.responseXML || httpRequest; + self.loadTemplate(self.xmlDoc); + if (self.W3CRange) { + var event = document.createEvent("Event"); + event.initEvent(self.cheditor.id, true, true); + document.dispatchEvent(event); + } + else { + document.documentElement.loadEvent = self.cheditor.id; + } + } catch (e) { + showError(e.toString()); + } + } + else { + showError("XMLHttpRequest. Status " + httpRequest.status); + } + } + } + + if (window.XMLHttpRequest) { + httpRequest = new XMLHttpRequest(); + if (httpRequest.overrideMimeType) { + httpRequest.overrideMimeType('text/xml'); + } + httpRequest.onreadystatechange = templateReady; + try { + httpRequest.open("GET", self.templatePath, true); + } + catch(e) { + showError(e + '참고: 에디터를 웹 서버에서 실행하여 주십시오.'); + } + httpRequest.send(); + } + else if (window.ActiveXObject) { + httpRequest = new window.ActiveXObject("Microsoft.XMLDOM"); + httpRequest.async = true; + httpRequest.onreadystatechange = templateReady; + httpRequest.load(self.templatePath); + } + else { + showError("현재 브라우저에서 "+self.templateFile+" 파일을 사용할 수 없습니다."); + } +}, + +getCDATASection : function (node) { + if (node.hasChildNodes()) { + var elem = node.firstChild; + while (elem && elem.nodeType !== GB.node.cdata_section) { + elem = elem.nextSibling; + } + + if (elem && elem.nodeType === GB.node.cdata_section) { + var data = elem.data; + data = data.replace(/\n/g, ''); + data = data.replace(/(\s+?)<([^>]*)>/g, "<$2>"); + data = this.trimSpace(data); + return data; + } + } + return null; +}, + +setToolbarBgPosition : function (elem, attr) { + elem.style.backgroundPosition = attr; +}, + +getToolbarBgPosition : function (elem) { + var pos; + switch (elem.className) { + case 'cheditor-tb-bg' : pos = 3; break; + case 'cheditor-tb-bg-last' : pos = 6; break; + case 'cheditor-tb-bg-single' : pos = 9; break; + case 'cheditor-tb-bg30-first' : pos = 12; break; + case 'cheditor-tb-bg30' : pos = 15; break; + case 'cheditor-tb-bg30-last' : pos = 18; break; + case 'cheditor-tb-bg55' : pos = 21; break; + case 'cheditor-tb-bg40' : pos = 24; break; + case 'cheditor-tb-bg44' : pos = 27; break; + case 'cheditor-tb-bgcombo' : pos = 30; break; + case 'cheditor-tb-bgcombo-last' : pos = 33; break; + default : pos = 0; + } + return pos; +}, + +toolbarMouseOverUp : function (elem) { + if (elem.checked) { + return; + } + + this.setToolbarBgPosition(elem.button, "0 " + (~(((elem.pos + 1) * elem.height)) + 1) + 'px'); + if ((elem.name === "combobox" && elem.prev && elem.prev.checked) || + (elem.name === "combo" && elem.next && elem.next.checked)) { + return; + } + + var pos, obj; + if (elem.type === "combobox") { + if (elem.prev.checked) { return; } + obj = elem.prev; + pos = "0px " + (~(((obj.pos + 1) * obj.height)) + 1) + 'px'; + this.setToolbarBgPosition(obj.button, pos); + } + else if (elem.type === "combo") { + if (elem.prev && !elem.prev.checked && !elem.prev.active) { + obj = elem.prev; + pos = (~(obj.width) + 1) + "px " + (~(obj.pos * obj.height) + 1) + 'px'; + this.setToolbarBgPosition(obj.button, pos); + } + + if (elem.next) { + if (elem.next.checked) { + return; + } + obj = elem.next; + pos = (~(obj.width) + 1) + "px " + (~(((obj.pos + 1) * obj.height)) + 1) + 'px'; + this.setToolbarBgPosition(obj.button, pos); + } + } + else { + if (!elem.prev || (elem.prev && elem.prev.checked)) { + return; + } + obj = elem.prev; + if (obj.className === 'cheditor-tb-bg-first') { + pos = (~(obj.width)+1) + "px 0"; + } + else { + pos = (~(obj.width) + 1) + "px " + (~(obj.pos * obj.height) + 1) + 'px'; + } + this.setToolbarBgPosition(obj.button, pos); + } +}, + +toolbarMouseDownOut : function (elem, mousedown) { + if (elem.next && elem.next.checked && !mousedown) { + this.setToolbarBgPosition(elem.button, (~(elem.width*2) + 1) + "px " + + (~(elem.pos * elem.height) + 1) + 'px'); + } + + if (elem.prev) { + if (elem.prev.active || (elem.prev.type === "combo" && elem.checked)) { + return; + } + if (elem.prev.checked) { + this.setToolbarBgPosition(elem.prev.button, "0 " + + (~((elem.prev.pos + 2) * elem.prev.height) + 1) + 'px'); + return; + } + + if (mousedown) { + this.setToolbarBgPosition(elem.prev.button, (~(elem.prev.width*2) + 1) + "px " + + (~(elem.prev.pos * elem.prev.height) + 1) + 'px'); + } + else { + this.setToolbarBgPosition(elem.prev.button, + "0 " + (~(elem.prev.pos * elem.prev.height) + 1) + 'px'); + } + } +}, + +toolbarButtonChecked : function (elem) { + this.setToolbarBgPosition(elem.button, "0 " + (~((elem.pos + 2) * elem.height) + 1) + 'px'); + if (elem.prev && elem.prev.type === "combo") { + if (elem.prev.checked || elem.checked) { + return; + } + this.setToolbarBgPosition(elem.prev.button, (~(elem.prev.width*2) + 1) + "px " + + (~(elem.prev.pos * elem.prev.height) + 1) + 'px'); + } + + if (elem.prev && !elem.prev.checked) { + if (elem.checked) { + this.setToolbarBgPosition(elem.prev.button, (~(elem.prev.width*2) + 1) + "px " + + (~(elem.prev.pos * elem.prev.height) + 1) + 'px'); + } + else { + this.setToolbarBgPosition(elem.prev.button, "0 " + (~(elem.prev.pos * elem.prev.height) + 1) + 'px'); + } + } +}, + +toolbarButtonUnchecked : function (elem) { + if (elem.type === "combobox" && !elem.checked) { + if (elem.prev.checked) { + this.setToolbarBgPosition(elem.button, + (~(elem.width) + 1) + "px " + (~(((elem.pos + 1) * elem.height)) + 1) + 'px'); + return; + } + this.setToolbarBgPosition(elem.prev.button, "0 " + (~(elem.prev.pos * elem.prev.height) + 1) + 'px'); + } + this.setToolbarBgPosition(elem.button, "0 " + (~(elem.pos * elem.height) + 1) + 'px'); + if (elem.prev && elem.prev.name === "BackColor") { + this.setToolbarBgPosition(elem.prev.button, "0 " + (~(elem.prev.pos * elem.prev.height) + 1) + 'px'); + } +}, + +makeToolbarGrayscale : function (image) { + var canvas = this.doc.createElement("canvas"); + var context = canvas.getContext("2d"); + var filter = function(pixels) { + var d = pixels.data, i, r, g, b; + + for (i = 0; i < d.length; i += 4) { + r = d[i]; + g = d[i + 1]; + b = d[i + 2]; + d[i] = d[i + 1] = d[i + 2] = (r+g+b)/3; + } + return pixels; + }; + + var imgWidth = image.width; + var imgHeight = image.height; + + canvas.width = imgWidth; + canvas.height =imgHeight; + context.drawImage(image, 0, 0); + + var imageData = context.getImageData(0,0, imgWidth, imgHeight); + filter(imageData); + context.putImageData(imageData, 0, 0); + + return canvas.toDataURL(); +}, + +toolbarSetBackgroundImage : function (elem, disable) { + var css = elem.firstChild.className; + css = css.replace(/-disable$/i, ""); + + if (disable) { + if (this.cheditor.toolbarGrayscale && elem.firstChild.style.backgroundImage) { + elem.firstChild.style.backgroundImage = 'url('+this.cheditor.toolbarGrayscale+')'; + } + css = css + "-disable"; + elem.style.cursor = 'default'; + } + else { + if (this.cheditor.toolbarGrayscale && elem.firstChild.style.backgroundImage) { + elem.firstChild.style.backgroundImage = 'url('+this.toolbar.icon+')'; + } + elem.style.cursor = 'pointer'; + } + + elem.firstChild.className = css; +}, + +toolbarDisable : function (elem, disable) { + if (disable) { + this.toolbarSetBackgroundImage(elem.button, true); + this.toolbarButtonUnchecked(elem); + this.toolbarMouseDownOut(elem); + this.toolbar[elem.name]['disabled'] = true; + return true; + } + + this.toolbarSetBackgroundImage(elem.button, false); + this.toolbar[elem.name]['disabled'] = false; + return false; +}, + +colorConvert : function (color, which, opacity) { + if (!which) { + which = "rgba"; + } + color = color.replace(/^\s*#|\s*$/g, ""); + if (color.length === 3) { + color = color.replace( /(.)/g, "$1$1" ); + } + + color = color.toLowerCase(); + which = which.toLowerCase(); + + var colorDefs = [{ + re: /^rgb\((\d{1,3}),\s*(\d{1,3}),\s*(\d{1,3})\)$/, + process: function (bits) { + return [ + parseInt(bits[1], 10), + parseInt(bits[2], 10), + parseInt(bits[3], 10), + 1 + ]; + } + }, + { + re : /^rgba\((\d{1,3}),\s*(\d{1,3}),\s*(\d{1,3}),\s*(\d+(?:\.\d+)?|\.\d+)\s*\)/, + process: function (bits) { + return [ + parseInt(bits[1], 10), + parseInt(bits[2], 10), + parseInt(bits[3], 10), + parseFloat(bits[4]) + ]; + } + }, + { + re: /^([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/, + process: function (bits) { + return [ + parseInt(bits[1], 16), + parseInt(bits[2], 16), + parseInt(bits[3], 16), + 1 + ]; + } + }, + { + re: /^([0-9a-fA-F])([0-9a-fA-F])([0-9a-fA-F])$/, + process: function (bits) { + return [ + parseInt(bits[1] * 2, 16), + parseInt(bits[2] * 2, 16), + parseInt(bits[3] * 2, 16), + 1 + ]; + } + } + ]; + var r, g, b, a, i, re, processor, bits, channels, min, rData; + r = g = b = a = rData = null; + + for (i = 0; i < colorDefs.length; i++) { + re = colorDefs[i].re; + processor = colorDefs[i].process; + bits = re.exec(color); + if (bits) { + channels = processor(bits); + r = channels[0]; + g = channels[1]; + b = channels[2]; + a = channels[3]; + } + } + + r = (r < 0 || isNaN(r)) ? 0 : ((r > 255) ? 255 : r); + g = (g < 0 || isNaN(g)) ? 0 : ((g > 255) ? 255 : g); + b = (b < 0 || isNaN(b)) ? 0 : ((b > 255) ? 255 : b); + a = (a < 0 || isNaN(a)) ? 0 : ((a > 1) ? 1 : a); + + function hex(x) { + return ("0" + parseInt(x, 10).toString(16)).slice(-2); + } + + switch (which) { + case "rgba": + if (opacity) { + a = (255 - (min = Math.min(r, g, b))) / 255; + r = ((r - min) / a).toFixed(0); + g = ((g - min) / a).toFixed(0); + b = ((b - min) / a).toFixed(0); + a = a.toFixed(4); + } + rData = "rgba(" + r + "," + g + "," + b + "," + a + ")"; + break; + case "rgb": + rData = "rgb(" + r + "," + g + "," + b + ")"; + break; + case "hex": + rData = "#" + hex(r) + hex(g) + hex(b); + break; + } + return rData; +}, + +toolbarUpdate : function () { + var toolbar = this.toolbar; + var range = this.getRange(); + var selectionType = GB.selection.text; + var pNode, ancestors = [], ancestorsLen = 0; + var bRangeText = true; + + if (this.W3CRange) { + try { + pNode = this.getW3CRangeElement(range); + if (pNode.nodeType === GB.node.element) { + selectionType = !(range.toString()) ? GB.selection.element : GB.selection.text; + } + else if (pNode.nodeType === GB.node.text) { + selectionType = GB.selection.text; + pNode = pNode.parentNode; + } + else { + selectionType = GB.selection.none; + pNode = pNode.parentNode; + } + } catch (e) { + pNode = this.doc; + } + + bRangeText = !range.toString(); + if (bRangeText && !range.collapsed) { + bRangeText = !GB.offElements[pNode.tagName.toLowerCase()]; + } + } + else { + selectionType = this.getSelectionType(range); + if (selectionType === GB.selection.text || selectionType === GB.selection.none) + { + pNode = range.parentElement(); + bRangeText = range.text === ''; + } + else if (selectionType === GB.selection.element) { + pNode = range.item(0); + bRangeText = !GB.offElements[pNode.tagName.toLowerCase()]; + } + else { + pNode = this.doc; + } + } + + var isControl = false, isTable = false, i, j, btn, cmd, autoOff, isDisable, + el, wrapper, fontAttr, oldName, span, newAttr, defaultAttr, state, css; + + if (selectionType === GB.selection.element) { + isControl = this.W3CRange ? GB.offElements[pNode.nodeName.toLowerCase()] : true; + } + else { + var node = pNode; + while (node && node.nodeType === GB.node.element && node.nodeName !== 'BODY') { + ancestors.push(node); + if (node.nodeName === 'TD' || node.nodeName === 'TH') { + isTable = true; + } + node = node.parentNode; + } + ancestorsLen = ancestors.length; + } + + var isNoOff = { 'Link':1 }; + + if (!isTable && selectionType === GB.selection.element && + (pNode.nodeName === 'TABLE' || pNode.nodeName === 'TD' || pNode.nodeName === 'TH')) + { + isTable = true; + } + + var alignment = { "JustifyCenter" : "center", "JustifyRight" : "right", "JustifyFull" : "justify" }; + + for (i in toolbar) { + if (!(toolbar.hasOwnProperty(i))) { + continue; + } + + btn = toolbar[i]; + if (!btn.cmd) { + continue; + } + + cmd = btn.cmd; + + autoOff = false; + if (isControl && selectionType === GB.selection.element) { + if (btn.group !== 'Alignment') { + autoOff = !(pNode.nodeName === 'IMG' && isNoOff[cmd]); + } + } + + if (btn.name === 'ModifyTable') { + autoOff = !isTable; + } + + isDisable = this.toolbarDisable(btn, autoOff); + + if (btn.name === 'ForeColor' || btn.name === 'BackColor') { + btn.button.lastChild.style.display = isDisable ? 'none' : 'block'; + } + if (btn.autocheck === null) { + continue; + } + + switch (cmd) { + case 'Copy' : + case 'Cut' : + this.toolbarDisable(btn, bRangeText); + break; + case 'UnLink' : + try { this.toolbarDisable(btn, !this.doc.queryCommandEnabled(cmd)); } + catch(ignore) {} + break; + case 'FormatBlock' : + wrapper = btn.button.firstChild; + oldName = wrapper.firstChild; + el = false; + span = document.createElement('span'); + for (j=0; j < ancestorsLen; j++) { + if (GB.formatBlock[ancestors[j].nodeName]) { + span.appendChild(document.createTextNode(ancestors[j].nodeName)); + wrapper.replaceChild(span, oldName); + el = true; + break; + } + } + + if (!el) { + span.appendChild(document.createTextNode('스타일')); + wrapper.replaceChild(span, oldName); + } + this.unselectionElement(span); + break; + case 'ForeColor' : + case 'BackColor' : + if (cmd === 'BackColor' && !GB.browser.msie) { + cmd = 'HiliteColor'; + } + try { + fontAttr = this.doc.queryCommandValue(cmd); + if (fontAttr && !/^[rgb|#]/.test(fontAttr)) { + fontAttr = (((fontAttr & 0x0000ff) << 16) | (fontAttr & 0x00ff00) | ((fontAttr & 0xff0000) >>> 16)).toString(16); + fontAttr = "#000000".slice(0, 7-fontAttr.length) + fontAttr; + } + else { + fontAttr = (cmd === 'ForeColor') ? this.config.editorFontColor : this.config.editorBgColor; + } + btn.button.lastChild.style.backgroundColor = fontAttr; + } catch (ignore) {} + break; + case 'FontName' : + case 'FontSize' : + try { + fontAttr = this.doc.queryCommandValue(cmd); + wrapper = btn.button.firstChild; + span = this.doc.createElement('span'); + if (cmd === 'FontSize') { + try { + fontAttr = pNode.style.fontSize; + if (!fontAttr) { + for (i=0; i 9) { + var image = new Image(); + image.onload = function() { + self.cheditor.toolbarGrayscale = self.makeToolbarGrayscale(this); + self.toolbarUpdate(); + }; + image.src = self.toolbar.icon; + image.style.width = "750px"; image.style.height = "16px"; + } + else { + self.cheditor.toolbarGrayscale = null; + self.toolbarUpdate(); + } + self.setImageEvent(true); + } + + if (this.W3CRange) { + this.addEvent(document, this.cheditor.id, showEditor); + } + else { + document.documentElement.loadEvent = 0; + document.documentElement.attachEvent("onpropertychange", function(event) { + if (event.propertyName === "loadEvent") { + showEditor(); + } + }); + } + + try { this.initTemplate(); } + catch(ignore) {} +}, + +fullScreenMode : function () { + var self = this; + self.editAreaFocus(); + self.boxHideAll(); + + var container = self.cheditor.container; + self.cheditor.editArea.style.visibility = 'hidden'; + + if (!self.setFullScreenMode) { + var windowSize; + container.className = 'cheditor-container-fullscreen'; + + if (GB.browser.msie && GB.browser.version < 7) { + self.cheditor.fullScreenFlag = document.createElement('span'); + self.cheditor.fullScreenFlag.style.display = 'none'; + container.parentNode.insertBefore(self.cheditor.fullScreenFlag, container); + document.body.insertBefore(container, document.body.firstChild); + } + + var child = container.firstChild, except = 0; + while (child) { + if (child.className !== "cheditor-editarea-wrapper" && + child.className !== 'cheditor-popup-window' && + child.className !== '') + { + except += child.offsetHeight; + } + child = child.nextSibling; + } + + var containerReSize = function () { + windowSize = self.getWindowSize(); + container.style.width = windowSize.width + 'px'; + self.cheditor.editArea.style.height = (windowSize.height - except - 6) + 'px'; + }; + + window.onresize = containerReSize; + containerReSize(); + + self.cheditor.resizeBar.onmousedown = null; + self.cheditor.resizeBar.className = "cheditor-resizebar-off"; + } + else { + window.onresize = null; + container.removeAttribute('style'); + container.className = 'cheditor-container'; + container.style.width = self.config.editorWidth; + + var editorHeight = parseInt(self.config.editorHeight, 10); + + if (self.cheditor.mode !== 'rich') { + var tbHeight = self.cheditor.toolbarWrapper.offsetHeight; + if (tbHeight < 1) { + tbHeight = parseInt(self.cheditor.toolbarWrapper.style.height, 10) + + parseInt(self.cheditor.toolbarWrapper.style.padding, 10); + } + editorHeight += tbHeight; + } + + self.cheditor.editArea.style.height = editorHeight + 'px'; + self.cheditor.resizeBar.onmousedown = function(event) { self.resizeStart(event); }; + self.cheditor.resizeBar.className = "cheditor-resizebar"; + + if (GB.browser.msie && GB.browser.version < 7) { + self.cheditor.fullScreenFlag.parentNode.replaceChild(container, self.cheditor.fullScreenFlag); + } + } + + self.cheditor.editArea.style.visibility = 'visible'; + self.setFullScreenMode = !(self.setFullScreenMode); + self.editAreaFocus(); +}, + +showPulldown : function (cmd, btn) { + + switch (cmd) { + case 'FontName' : + this.showFontTypeMenu(btn); + break; + case 'FontSize' : + this.showFontSizeMenu(btn); + break; + case 'FormatBlock' : + this.showFormatBlockMenu(btn); + break; + case 'ForeColor' : + case 'BackColor' : + this.showColorMenu(btn); + break; + case 'TextBlock' : + this.showTextBlockMenu(btn); + break; + case 'LineHeight' : + this.showLineHeightMenu(btn); + break; + case 'OrderedList' : + case 'UnOrderedList' : + this.showOrderedListMenu(btn); + break; + default : break; + } +}, + +setPulldownClassName : function (labels, pNode) { + var i; + for (i=0; i < labels.length; i++) { + if (labels[i].getAttribute('name') === pNode.firstChild.firstChild.firstChild.nodeValue) { + labels[i].parentNode.style.backgroundImage = 'url('+this.config.editorPath+'icons/checked.png)'; + labels[i].parentNode.style.backgroundPosition = '0 center'; + labels[i].parentNode.style.backgroundRepeat = 'no-repeat'; + } + else { + labels[i].parentNode.style.backgroundImage = ''; + } + labels[i].parentNode.className = 'cheditor-pulldown-mouseout'; + } +}, + +showOrderedListMenu : function (pNode) { + var self = this; + var menu = pNode.getAttribute('name'); + var elem = self.pulldown[menu]; + if (!elem) { + var i, div, label; + var cmd = (menu === "UnOrderedListCombo") ? "InsertUnOrderedList" : "InsertOrderedList"; + var outputHtml = document.createElement('div'); + var cmdPopup = function() { self.doCmdPopup(cmd, this.id, self.toolbar[menu].prev.checked); }; + var mouseOver = function() { self.pulldownMouseOver(this); }; + var mouseOut = function() { self.pulldownMouseOut(this); }; + var list = (cmd === "InsertUnOrderedList") ? GB.listStyle.unOrdered : GB.listStyle.ordered; + var li, ol; + for (i in list) { + if (list.hasOwnProperty(i)) { + div = document.createElement('div'); + label = document.createElement('label'); + div.id = i; + div.onclick = cmdPopup; + div.onmouseover = mouseOver; + div.onmouseout = mouseOut; + self.pulldownMouseOut(div); + + label.style.fontFamily = "verdana"; + label.style.textAlign = "center"; + label.style.width = "15px"; + label.setAttribute('name', i); + + ol = document.createElement('ul'); + li = document.createElement('li'); + ol.style.width = '90px'; + ol.style.padding = "0 15px"; + ol.style.margin = "0px"; + try { ol.style.listStyleType = i; } + catch(ignore) {} + ol.style.cursor = 'default'; + ol.style.textAlign = 'left'; + li.appendChild(document.createTextNode(list[i])); + ol.appendChild(li); + label.appendChild(ol); + div.appendChild(label); + outputHtml.appendChild(div); + } + } + self.createWindow(110, outputHtml); + self.createPulldownFrame(outputHtml, menu); + elem = self.pulldown[menu]; + } + + self.windowPos(pNode, menu); + self.displayWindow(pNode, menu); +}, + +showColorMenu : function (pNode) { + var menu = pNode.getAttribute('name'); + var elem = this.pulldown[menu]; + + if (!elem) { + var outputHtml = this.setColorTable(menu); + this.createWindow(220, outputHtml); + this.createPulldownFrame(outputHtml, menu); + elem = this.pulldown[menu]; + elem.firstChild.className = 'cheditor-pulldown-color-container'; + } + + var selectedColor = this.colorConvert(pNode.lastChild.style.backgroundColor, "hex"); + this.toolbar[menu].colorNode.selectedValue.style.backgroundColor = selectedColor; + this.toolbar[menu].colorNode.colorPicker.hidePicker(); + this.toolbar[menu].colorNode.colorPicker.fromString(selectedColor); + this.toolbar[menu].colorNode.showPicker = false; + + var nodes = elem.getElementsByTagName('span'); + var i, len = nodes.length, node; + for (i=0; i < len; i++) { + node = nodes[i]; + node.style.backgroundImage = ''; + if (node.id && node.id.toLowerCase() === selectedColor.toLowerCase()) { + node.style.backgroundImage = "url('"+this.config.iconPath + "/color_picker_tick.png')"; + node.style.backgroundRepeat = "no-repeat"; + node.style.backgroundPosition = "center center"; + + } + } + this.toolbar[menu].colorNode.selectedValue.style.backgroundImage = "url('"+this.config.iconPath + "/color_picker_tick.png')"; + this.toolbar[menu].colorNode.selectedValue.style.backgroundRepeat = "no-repeat"; + this.toolbar[menu].colorNode.selectedValue.style.backgroundPosition = "center center"; + this.windowPos(pNode, menu); + this.displayWindow(pNode, menu); +}, + +showFontTypeMenu : function (pNode) { + var self = this; + var menu = pNode.getAttribute('name'); + var elem = self.pulldown[menu]; + + if (!elem) { + var fonts = null, type, i, div, label; + var outputHtml = self.doc.createElement('div'); + var cmdPopup = function() { self.doCmdPopup(menu, this.id);}; + var mouseOver = function() { self.pulldownMouseOver(this); }; + var mouseOut = function() { self.pulldownMouseOut(this); }; + + for (type in GB.fontName) { + if (GB.fontName.hasOwnProperty(type)) { + fonts = GB.fontName[type]; + for (i=0; i < fonts.length; i++) { + div = self.doc.createElement('div'); + label = self.doc.createElement('label'); + div.id = fonts[i]; + div.onclick = cmdPopup; + div.onmouseover = mouseOver; + div.onmouseout = mouseOut; + label.style.fontFamily = fonts[i];//(type !== 'kr') ? fonts[i] : this.config.editorFontName; + label.appendChild(self.doc.createTextNode(fonts[i])); + label.setAttribute('name', fonts[i]); + div.appendChild(label); + outputHtml.appendChild(div); + } + } + } + + self.createWindow(155, outputHtml); + self.createPulldownFrame(outputHtml, menu); + elem = self.pulldown[menu]; + } + self.setPulldownClassName(elem.firstChild.getElementsByTagName('LABEL'), pNode); + self.windowPos(pNode, menu); + self.displayWindow(pNode, menu); +}, + +showFormatBlockMenu : function (pNode) { + var self = this; + var menu = pNode.getAttribute('name'); + var elem = self.pulldown[menu]; + + if (!elem) { + var para, label, fontSize, div; + var outputHtml = document.createElement('div'); + var cmdPopup = function() { self.doCmdPopup("FormatBlock", '<' + this.id + '>'); }; + var mouseOver = function() { self.pulldownMouseOver(this); }; + var mouseOut = function() { self.pulldownMouseOut(this); }; + for (para in GB.formatBlock) { + if (GB.formatBlock.hasOwnProperty(para)) { + div = document.createElement('div'); + div.id = para; + div.onclick = cmdPopup; + div.onmouseover = mouseOver; + div.onmouseout = mouseOut; + + label = document.createElement('label'); + if (para.match(/H[123456]/)) { + fontSize = {'H1':'2em','H2':'1.5em','H3':'1.17em','H4':'1em','H5':'0.83em','H6':'0.75em'}; + label.style.fontWeight = 'bold'; + label.style.fontSize = fontSize[para]; + label.style.lineHeight = 1.4; + } + else if (para === 'ADDRESS') { + label.style.fontStyle = 'italic'; + } + + label.appendChild(document.createTextNode(GB.formatBlock[para])); + div.appendChild(label); + + label.setAttribute('name', GB.formatBlock[para]); + outputHtml.appendChild(div); + } + } + self.createWindow(150, outputHtml); + self.createPulldownFrame(outputHtml, menu); + elem = self.pulldown[menu]; + } + self.setPulldownClassName(elem.firstChild.getElementsByTagName('LABEL'), pNode); + self.windowPos(pNode, menu); + self.displayWindow(pNode, menu); +}, + +showFontSizeMenu : function (pNode) { + var self = this; + var menu = pNode.getAttribute('name'); + var elem = self.pulldown[menu]; + + if (!elem) { + var size, div, label, text, i; + var value = GB.fontSize[this.config.fontSizeValue]; + var len = value.length; + var outputHtml = document.createElement('div'); + var cmdPopup = function() { self.doCmdPopup(menu, this.id); }; + var mouseOver = function() { self.pulldownMouseOver(this); }; + var mouseOut = function() { self.pulldownMouseOut(this); }; + + for (i=0; i < len; i++) { + size = value[i]; + div = document.createElement('div'); + label = document.createElement('label'); + text = size > 48 ? '가' : (size > 28 ? '가나다' : '가나다라'); + size = size + this.config.fontSizeValue; + div.id = size; + div.onclick = cmdPopup; + div.onmouseover = mouseOver; + div.onmouseout = mouseOut; + div.style.fontSize = size; + + label.style.fontFamily = this.config.editorFontName; + label.setAttribute('name', size); + label.appendChild(document.createTextNode(text+'('+size+')')); + div.appendChild(label); + outputHtml.appendChild(div); + } + self.createWindow(350, outputHtml); + outputHtml.style.height = '300px'; + outputHtml.style.overflow = 'auto'; + self.createPulldownFrame(outputHtml, menu); + elem = self.pulldown[menu]; + } + self.setPulldownClassName(elem.firstChild.getElementsByTagName('LABEL'), pNode); + self.windowPos(pNode, menu); + self.displayWindow(pNode, menu); +}, + +showLineHeightMenu : function (pNode) { + var self = this; + var menu = pNode.getAttribute('name'); + var elem = self.pulldown[menu]; + + if (!elem) { + var i, div, label, text; + var outputHtml = document.createElement('div'); + var cmdPopup = function() { self.doCmdPopup("LineHeight", this.id); }; + var mouseOver = function() { self.pulldownMouseOver(this); }; + var mouseOut = function() { self.pulldownMouseOut(this); }; + for (i in GB.lineHeight) { + if (!(GB.lineHeight.hasOwnProperty(i))) { + continue; + } + if (!GB.lineHeight[i]) { + break; + } + div = document.createElement('div'); + label = document.createElement('label'); + text = i; + + div.id = GB.lineHeight[i]; + div.onclick = cmdPopup; + div.onmouseover = mouseOver; + div.onmouseout = mouseOut; + + label.style.fontFamily = this.config.editorFontName; + label.setAttribute('name', GB.lineHeight[i]); + label.appendChild(document.createTextNode(text)); + div.appendChild(label); + outputHtml.appendChild(div); + } + self.createWindow(100, outputHtml); + self.createPulldownFrame(outputHtml, menu); + elem = self.pulldown[menu]; + } + self.setPulldownClassName(elem.firstChild.getElementsByTagName('LABEL'), pNode); + self.windowPos(pNode, menu); + self.displayWindow(pNode, menu); +}, + +showTextBlockMenu : function (pNode) { + var self = this; + var menu = pNode.getAttribute('name'); + var elem = self.pulldown[menu]; + + if (!elem) { + var i, wrapper, div, label; + var outputHtml = document.createElement('div'); + var cmdPopup = function() { self.boxStyle(this); }; + var mouseOver = function() { this.className = 'cheditor-pulldown-textblock-over'; }; + var mouseOut = function() { this.className = 'cheditor-pulldown-textblock-out'; }; + var quote = GB.textBlock; + + for (i=0; i < quote.length; i++) { + wrapper = document.createElement('div'); + div = document.createElement('div'); + div.onclick = cmdPopup; + wrapper.onmouseover = mouseOver; + wrapper.onmouseout = mouseOut; + wrapper.className = 'cheditor-pulldown-textblock-out'; + div.id = i; + div.style.border = quote[i][0]; + div.style.backgroundColor = quote[i][1]; + div.style.fontFamily = self.config.editorFontName; + + label = document.createElement('label'); + label.appendChild(document.createTextNode('가나다라 ABC')); + div.appendChild(label); + wrapper.appendChild(div); + outputHtml.appendChild(wrapper); + + } + self.createWindow(160, outputHtml); + self.createPulldownFrame(outputHtml, menu); + elem = self.pulldown[menu]; + elem.firstChild.className = 'cheditor-pulldown-textblock-container'; + } + self.windowPos(pNode, menu); + self.displayWindow(pNode, menu); +}, + +createPulldownFrame : function (contents, id) { + var div = document.createElement('div'); + div.className = 'cheditor-pulldown-frame'; + div.appendChild(contents); + this.pulldown[id] = div; + this.cheditor.container.firstChild.appendChild(div); +}, + +setDefaultCss : function (ar) { + if (arguments.length < 1) { + ar = {cssName: 'ui.css', doc: this.doc}; + //if (GB.browser.msie || GB.browser.opera) { + ar = {cssName: 'editarea.css', doc: this.doc}; + //} + } + + var cssFile = this.config.cssPath + ar.cssName, + head = ar.doc.getElementsByTagName('head')[0], found = false; + + if (this.undefined(head)) { + return; + } + + if (head.hasChildNodes()) { + var child = head.childNodes, i, href; + for (i = 0; i < child.length; i++) { + if (child[i].nodeName.toLowerCase() === 'link') { + href = child[i].getAttribute('href'); + if (href && href === cssFile) { + found = true; + break; + } + } + } + } + + if (!found) { + var css = head.appendChild(ar.doc.createElement('link')); + css.setAttribute('type', 'text/css'); + css.setAttribute('rel', 'stylesheet'); + css.setAttribute('media', 'all'); + css.setAttribute('href', this.config.cssPath + ar.cssName); + } +}, + +setEditorEvent : function () { + var self = this; + var keyDown = function(event) { + if (self.cheditor.mode === "preview") { + self.stopEvent(event); + return; + } + self.doOnKeyDown(event); + }; + self.addEvent(self.doc, "keydown", keyDown); + + var keyPress = function(event) { + if (self.cheditor.mode === "preview") { + self.stopEvent(event); + return; + } + self.doOnKeyPress(event); + }; + self.addEvent(self.doc, "keypress", keyPress); + + var keyUp = function(event) { + if (self.cheditor.mode === "preview") { + self.stopEvent(event); + return; + } + self.doOnKeyUp(event); + }; + self.addEvent(self.doc, "keyup", keyUp); + + var editorEvent = function(event) { + if (self.cheditor.mode === "rich") { + self.doEditorEvent(); + return; + } + if (self.cheditor.mode === "preview") { + self.stopEvent(event); + } + }; + self.addEvent(self.doc, "mouseup", editorEvent); + + var hideBox = function(event) { + if (self.cheditor.mode === "rich") { + self.boxHideAll(); + return; + } + if (self.cheditor.mode === "preview") { + self.stopEvent(event); + } + }; + self.addEvent(self.doc, "mousedown", hideBox); + + /*self.addEvent(self.doc, "mousemove", function(event) { + var target = event.srcElement || event.target; + var nodeName = target.nodeName; + var elem = document.getElementById('targetNode'); + elem.innerHTML = target.nodeName; + + });*/ +}, + +addEvent : function (evTarget, evType, evHandler) { + if (evTarget.addEventListener) { + evTarget.addEventListener(evType, evHandler, false); + } + else { + evTarget.attachEvent("on"+evType, evHandler); + } +}, + +removeEvent : function (elem, ev, func) { + if (elem.removeEventListener) { + elem.removeEventListener(ev, func, false); + } + else { + elem.detachEvent("on" + ev, func); + } +}, + +stopEvent : function (ev) { + if (ev && ev.preventDefault) { + ev.preventDefault(); + ev.stopPropagation(); + } + else { + ev = ev || window.event; + ev.cancelBubble = true; + ev.returnValue = false; + } +}, + +toolbarButtonOut : function (elemButton, nTop) { + elemButton.style.top = -nTop + 'px'; +}, + +toolbarButtonOver : function (elemButton) { + var nTop = elemButton.style.top.substring(0, elemButton.style.top.length - 2); + elemButton.style.top = nTop - 22 + 'px'; +}, + +getElement : function (elem, tag) { + if (!elem || !tag) { + return null; + } + + while (elem && elem.nodeName.toLowerCase() !== tag.toLowerCase()) { + if (elem.nodeName.toLowerCase() === 'body') { break; } + elem = elem.parentNode; + } + return elem; +}, + +hyperLink: function (href, target, title) { + this.editArea.focus(); + var self = this, links = null, i; + + var createLinks = function() { + var range = null, selectedLinks = [], linkRange, selection = null; + var container = null, k; + + range = self.restoreRange(); + self.backupRange(range); + linkRange = self.createRange(); + + if (self.W3CRange) { + self.doc.execCommand("CreateLink", false, href); + selection = self.getSelection(); + for (i=0; i < selection.rangeCount; ++i) { + range = selection.getRangeAt(i); + container = range.commonAncestorContainer; + + if (self.getSelectionType(range) === GB.selection.text) { + container = container.parentNode; + } + + if (container.nodeName.toLowerCase() === 'a') { + selectedLinks.push(container); + } + else { + links = container.getElementsByTagName('a'); + for (k=0; k < links.length; ++k) { + linkRange.selectNodeContents(links[k]); + if (linkRange.compareBoundaryPoints(range.END_TO_START, range) < 1 && + linkRange.compareBoundaryPoints(range.START_TO_END, range) > -1) + { + selectedLinks.push(links[k]); + } + } + } + } + linkRange.detach(); + } + else { + range = self.doc.selection.createRange(); + range.execCommand("UnLink", false); + range.execCommand("CreateLink", false, href); + + switch (self.getSelectionType(range)) { + case GB.selection.text : + container = range.parentElement(); + break; + case GB.selection.element : + container = range.item(0).parentNode; + break; + default : return null; + } + + if (container.nodeName.toLowerCase() === 'a') { + selectedLinks.push(container); + } + else { + links = container.getElementsByTagName('a'); + for (i=0; i < links.length; ++i) { + linkRange.moveToElementText(links[i]); + if (linkRange.compareEndPoints("StartToEnd", range) > -1 && + linkRange.compareEndPoints("EndToStart", range) < 1) + { + selectedLinks.push(links[i]); + } + } + } + + } + return selectedLinks; + }; + + links = createLinks(); + if (links) { + for (i=0; i < links.length; ++i) { + if (target) { + links[i].setAttribute("target", target); + } + if (title) { + links[i].setAttribute("title", title); + } + } + } +}, + +getOffsetBox : function (el) { + var box = el.getBoundingClientRect(); + var doc = this.doc.documentElement; + var body = this.doc.body; + var scrollTop = doc.scrollTop || body.scrollTop; + var scrollLeft = doc.scrollLeft || body.scrollLeft; + var clientTop = doc.clientTop || body.clientTop || 0; + var clientLeft = doc.clientLeft || body.clientLeft || 0; + var top = box.top + scrollTop - clientTop; + var left = box.left + scrollLeft - clientLeft; + + return { top: Math.round(top), left: Math.round(left) }; +}, + +makeSpacerElement : function () { + var elem; + var para = this.doc.createElement('p'); + if (GB.browser.msie && GB.browser.version < 11) { + elem = this.doc.createComment(this.cheditor.bogusSpacerName); + } + else { + elem = this.doc.createElement('br'); + elem.className = this.cheditor.bogusSpacerName; + } + para.appendChild(elem); + return para; +}, + +boxStyle: function (el) { + this.editAreaFocus(); + var range = this.range || this.getRange(); + var blockQuote = this.doc.createElement("blockquote"); + var elem; + var para = null; + + blockQuote.style.border = GB.textBlock[el.id][0]; + blockQuote.style.backgroundColor = GB.textBlock[el.id][1]; + blockQuote.style.padding = "5px 10px"; + + if (!this.W3CRange) { + var ctx = range.htmlText; + blockQuote.innerHTML = ctx || ' '; + range.select(); + this.insertHTML(blockQuote); + var textRange = this.getRange(); + elem = range.parentElement(); + textRange.moveToElementText(elem); + textRange.collapse(false); + textRange.select(); + } + else { + try { + var frag = range.extractContents(); + if (!frag.firstChild) { + para = this.makeSpacerElement(); + blockQuote.appendChild(para); + } + else { + blockQuote.appendChild(frag); + } + range.insertNode(blockQuote); + var pNode = blockQuote.parentNode; + while (pNode && pNode.nodeName !== 'BODY') { + if (pNode.nodeName === 'P' || pNode.nodeName === 'DIV') { + pNode.parentNode.insertBefore(blockQuote, pNode.nextSibling); + break; + } + pNode = pNode.parentNode; + } + this.placeCaretAt(para || blockQuote, false); + } catch(ignore) {} + } + this.boxHideAll(); +}, + +insertFlash: function (elem) { + this.editArea.focus(); + this.backupRange(this.restoreRange()); + + if (typeof elem === 'string') { + var embed = null; + var div = this.doc.createElement('div'); + elem = this.trimSpace(elem); + + var pos = elem.toLowerCase().indexOf("embed"); + if (pos !== -1) { + var str = elem.substr(pos); + pos = str.indexOf(">"); + div.innerHTML = "<" + str.substr(0, pos) + ">"; + embed = div.firstChild; + } + else { + div.innerHTML = elem; + var object = div.getElementsByTagName('OBJECT')[0]; + if (object && object.hasChildNodes()) { + var child = object.firstChild; + var movieHeight, movieWidth, i; + movieWidth = (isNaN(object.width) !== true) ? object.width : 320; + movieHeight = (isNaN(object.height)!== true) ? object.height: 240; + var params = []; + + do { + if ((child.nodeName === 'PARAM') && (!this.undefined(child.name) && !this.undefined(child.value))) + { + params.push({key: (child.name === 'movie') ? 'src' : child.name, val: child.value}); + } + child = child.nextSibling; + } + while (child); + + if (params.length > 0) { + embed = this.doc.createElement('embed'); + embed.setAttribute("width", movieWidth); + embed.setAttribute("height", movieHeight); + for (i=0; i 0 && span.previousSibling) { + parent.insertBefore(span, span.previousSibling); + cursor.moveToElementText(span); + } + + result.container = span.nextSibling || span.previousSibling; + if (result.container === null) { + result.container = span.parentNode; + } + parent.removeChild(span); + } + var start = {}, end = {}; + convert(start, true); convert(end, false); + return { startContainer: start.container, endContainer: end.container }; +}, + +doInsertImage : function (images, paragraph, useSpacer) { + this.editAreaFocus(); + var range = this.restoreRange(); + this.backupRange(range); + + var i, j = 0, attr, image, lastNode = null, spacer, len = images.length; + var fragment = this.doc.createDocumentFragment(); + range = this.getRange(); + var pNode = this.W3CRange ? range.commonAncestorContainer : range.parentElement(); + + for (i in images) { + if (!images.hasOwnProperty(i) || this.undefined(images[i])) { + continue; + } + attr = images[i]; + image = this.doc.createElement('img'); + image.setAttribute('src', attr.fileUrl); + + if (this.config.imgSetAttrWidth === 1) { + image.style.width = attr.width; + image.style.height = attr.height; + } + else if (this.config.imgSetAttrWidth === -1) { + image.style.width = "100%"; + image.style.height = "auto"; + } + + if (this.config.imgSetAttrAlt) { + image.setAttribute('alt', attr.alt || attr.origName); + } + else { + image.removeAttribute('alt'); + } + + if (paragraph) { + lastNode = fragment.appendChild(this.doc.createElement('p')); + if (attr.align !== 'left') { lastNode.style.textAlign = attr.align; } + lastNode.appendChild(image); + if (useSpacer) { + spacer = this.doc.createElement('p'); + spacer.appendChild(this.doc.createTextNode('\u00a0')); + fragment.appendChild(spacer); + } + } + else { + lastNode = fragment.appendChild(image); + j++; + if (useSpacer && j < len) { + fragment.appendChild(this.doc.createTextNode('\u00a0')); + } + } + this.images.push(attr); + } + + if (lastNode) { + var div; + if (paragraph) { + if (pNode.nodeName.toLowerCase() === 'p' || pNode.nodeName.toLowerCase() === 'div') { + pNode.parentNode.insertBefore(fragment, pNode.nextSibling); + this.removeBogusSpacer(pNode, true); + } + else { + this.removeBogusSpacer(pNode, false); + if (!this.W3CRange) { + div = this.doc.createElement('div'); + div.appendChild(fragment); + range.pasteHTML(div.innerHTML); + } + else { + range.insertNode(fragment); + } + } + this.placeCaretAt(lastNode, false); + } + else { + if (!this.W3CRange) { + div = this.doc.createElement('div'); + div.appendChild(fragment); + range.pasteHTML(div.innerHTML); + } + else { + range.deleteContents(); + range.insertNode(fragment); + range = range.cloneRange(); + range.setStartAfter(lastNode); + var selection = this.getSelection(); + selection.removeAllRanges(); + selection.addRange(range); + } + } + this.setImageEvent(true); + } +}, + +showTagSelector : function (on) { + if (this.config.showTagPath !== true) { return; } + this.cheditor.tagPath.style.display = on ? 'block' : 'none'; +}, + +richMode : function () { + this.range = null; + this.cheditor.editArea.style.visibility = 'hidden'; + this.setDesignMode(false); + this.cheditor.toolbarWrapper.style.display = ''; + + var content = (this.cheditor.mode === 'preview') ? + this.getContents(this.config.fullHTMLSource) : + this.makeHtmlContent(); + this.putContents(this.convertContentsSpacer(content)); + this.cheditor.toolbarWrapper.className = "cheditor-tb-wrapper"; + this.setDesignMode(true); + this.setImageEvent(true); + this.cheditor.editArea.style.visibility = 'visible'; + + if (this.doc.body.hasChildNodes()) { + var cursor = this.getRange(), selection, node; + if (this.W3CRange) { + selection = this.getSelection(); + node = cursor.commonAncestorContainer; + cursor.selectNode(node); + cursor.collapse(false); + selection.removeAllRanges(); + selection.addRange(cursor); + } + else { + node = this.doc.body.firstChild; + if (node.nodeType === GB.node.text) { + node = node.parentNode; + } + cursor.moveToElementText(node); + cursor.collapse(false); + cursor.select(); + } + } + this.editAreaFocus(); + if (this.doc.body.lastChild) { + this.placeCaretAt(this.doc.body.lastChild, false); + } + else { + this.initDefaultParagraphSeparator(); + } + this.toolbarUpdate(); +}, + +editMode : function () { + this.range = null; + this.cheditor.editArea.style.visibility = 'hidden'; + this.setDesignMode(false); + var content = this.getContents(this.config.fullHTMLSource); + + if (content !== '') { + if (this.W3CRange) { + this.doc.body.textContent = content; + } + else { + this.doc.body.innerText = content; + } + GB.prettify.initHighlightingOnLoad(['html', 'javascript', 'css'], this); + } + + this.cheditor.toolbarWrapper.className = "cheditor-tb-wrapper-code"; + this.cheditor.editArea.style.visibility = 'visible'; + this.cheditor.editBlock.style.display = 'none'; + + this.setDesignMode(true); + this.editAreaFocus(); +}, + +makeHtmlContent : function () { + return this.doc.body.textContent || this.doc.body.innerText; +}, + +resetStatusBar : function () { + if (this.config.showTagPath) { + this.cheditor.tagPath.innerHTML = '<html> <body> '; + } +}, + +previewMode : function () { + var content; + if (this.cheditor.mode === 'rich') { + content = this.getContents(this.config.fullHTMLSource); + } + else { + content = this.makeHtmlContent(); + } + this.putContents(content); + this.cheditor.editArea.style.visibility = 'hidden'; + this.cheditor.editBlock.style.display = 'none'; + this.cheditor.toolbarWrapper.className = "cheditor-tb-wrapper-preview"; + this.cheditor.editArea.style.visibility = 'visible'; + this.setImageEvent(false); + this.setDesignMode(false); + + if (GB.browser.msie_b) { + var oSheet = this.doc.styleSheets[0]; + oSheet.insertRule('p:after{content:"\u200b"}', oSheet.rules.length); + } +}, + +convertContentsSpacer : function (content) { + var self = this; + content = content.replace(/[\r\n]/g, ''); + content = content.replace(/<([^>\/]+)>( |\s+)<\/([^>]+)>/gm, + function(all, open, space, close) { + var start = self.trimSpace(open.split(' ')[0]); + var rdata = null; + if (GB.lineHeightBlock.indexOf('|' + start + '|') !== -1) { + rdata = '<' + open + '>'; + if (!(GB.browser.msie_b)) { + rdata += '
'; + } + rdata += ''; + } + return rdata || all; + } + ); + return content; +}, + +putContents : function (content) { + if (this.config.fullHTMLSource) { + content = content.substr(content.search(/') + 1); + content = '' + content; + this.doc.open(); + this.doc.write("" + content + ""); + this.doc.close(); + } + else { + content = "remove_this" + content; + this.doc.body.innerHTML = content; + this.doc.body.removeChild(this.doc.body.firstChild); + } +}, + +getImages : function () { + var img = this.doc.body.getElementsByTagName('img'); + var imgNumber = this.images.length; + var imgArr = [], i, imgid, j; + + for (i=0; i 0 ? imgArr : null; +}, + +getElementDefaultDisplay : function (elem) { + return (window.getComputedStyle ? window.getComputedStyle(elem, null) : elem.currentStyle).display; +}, + +checkBogusSpacer : function (node, para) { + var child, self = this; + + function checkBogus(elem) { + var pNode = elem.parentNode; + if (elem.className === self.cheditor.bogusSpacerName || + (elem.nodeType === GB.node.comment && elem.nodeValue === self.cheditor.bogusSpacerName)) + { + pNode.removeChild(elem); + if (pNode.hasChildNodes()) { + return; + } + if (pNode === para) { + pNode.appendChild(self.doc.createTextNode('\u00a0')); + return; + } + + while (pNode && (pNode !== para)) { + if (GB.textFormatting[pNode.nodeName.toLowerCase()]) { + pNode.className = 'REMOVE_EMPTY_TAG'; + pNode.parentNode.appendChild(self.doc.createTextNode('\u00a0')); + } + pNode = pNode.parentNode; + } + } + } + + child = node.firstChild; + + if (para.className === this.cheditor.bogusParaName) { + if (para.hasChildNodes()) { + if (child.nodeType === GB.node.element && child.nodeName.toLowerCase() === 'br') { + child.className = self.cheditor.bogusSpacerName; + } + para.removeAttribute('class'); + } + } + + while (child) { + this.checkBogusSpacer(child, para); + child = child.nextSibling; + } + + if (node.nodeType !== GB.node.text && node !== para) { + if (node.className === this.cheditor.bogusParaName) { + node.removeAttribute('class'); + child = node.firstChild; + if (child) { + if (child.nodeType === GB.node.element && child.nodeName.toLowerCase() === 'br') { + child.className = self.cheditor.bogusSpacerName; + node = child; + } + } + else { + node.className = 'REMOVE_EMPTY_TAG'; + } + } + checkBogus(node); + } +}, + +xhtmlParse : function (node, lang, needNewLine) { + var xhtmlText = '', innerText, tagName, child, parts, cssText, reMake=[], ct, kv, rs, i, j; + var children = node.childNodes; + var childrenLength = children.length; + var doNewLine = needNewLine ? true : false; + var attr, attrLen, attrValue, attrName, validAttr, attrLang = false, attrXmlLang = false, attrXmlns = false; + var reComment = new RegExp(); + var reHyphen = new RegExp(); + var reParsedValue = this.makeRandomString(); + var embedParams, embedAlignCode, mediaAlign = ''; + reComment.compile("^$"); + reHyphen.compile("-$"); + + for (i=0; i < childrenLength; i++) { + child = children[i]; + if (!child) { + continue; + } + if (GB.browser.msie && GB.browser.version < 9) { + if (child.getAttribute && child.getAttribute("re_parsed_attr")) { + continue; + } + if (child.setAttribute) { + child.setAttribute("re_parsed_attr", reParsedValue); + } + } + + if (child.parentNode && node.tagName.toLowerCase() !== child.parentNode.tagName.toLowerCase()) { + continue; + } + + switch (child.nodeType) { + case GB.node.element : + tagName = child.nodeName.toLowerCase(); + if (/^\W/.test(tagName) || tagName === '' || (tagName === 'meta' && child.name.toLowerCase() === 'generator')) { + break; + } + + if (GB.browser.msie) { + if (tagName === 'embed') { + embedParams = /align=("[^"]*"|'[^']*'|[^"'\s]*)(\s|>)/i; + embedAlignCode = child.outerHTML.match(embedParams); + if (embedAlignCode) { + //alignCode = embedAlignCode[1]; + mediaAlign = embedAlignCode.replace(/("|')/g, ""); + } + } + if (tagName === 'object' && !child.hasChildNodes()) { + xhtmlText += this.replaceObjectCode(child.outerHTML); + continue; + } + } + + if (tagName === '!') { + parts = reComment.exec(child.text); + if (parts) { + innerText = parts[1]; + innerText = innerText.replace(/--/g, "__"); + if (reHyphen.exec(innerText)) { + innerText += " "; + } + innerText = ""; + } + break; + } + + if (tagName === 'img' && !child.getAttributeNode('alt') && this.config.imgSetAttrAlt) { + child.setAttribute("alt", ""); + } + + if (tagName === 'script' && this.config.allowedScript !== true) { + continue; + } + + if (child.className === 'REMOVE_EMPTY_TAG') { + continue; + } + + if (tagName === 'p' && this.config.paragraphCss) { + child.style.margin = '0px'; + } + + if (GB.lineHeightBlock.indexOf('|' + tagName + '|') !== -1) { + if (child.hasChildNodes()) { + this.checkBogusSpacer(child, child); + } + else { + if (child.className === this.cheditor.bogusParaName) { + child.removeAttribute("class"); + } + child.appendChild(this.doc.createTextNode('\u00a0')); + } + } + + if (GB.newLineBefore.indexOf('|' + tagName + '|') !== -1) { + if ((this.doc.body.firstChild !== child && doNewLine) || (xhtmlText !== '')) { + if (!/\n$/.test(xhtmlText)) { + xhtmlText += "\n"; + } + } + else { + doNewLine = true; + } + } + + xhtmlText += '<' + tagName; + attr = child.attributes; + attrLen = attr.length; + validAttr = attrLang = attrXmlLang = attrXmlns = false; + attrValue = ''; + + for (j=0; j < attrLen; j++) { + attrName = attr[j].nodeName.toLowerCase(); + if (attrName === 're_parsed_attr') { + continue; + } + if (attr[j].specified === false && attrName !== 'selected' && attrName !== "style" && attrName !== "value" && + attrName !== "shape" && attrName !== "coords" && /^on/.test(attrName) !== -1) + { + continue; + } + if ((attrName === "shape" || attrName === "coords") && tagName !== "area") { + continue; + } + if (tagName === "img" && attrName === "complete") { + continue; + } + if ((attrName === "selected" && !child.selected) || (attrName === "style" && child.style.cssText === '')) { + continue; + } + if (attrName === "_moz_dirty" || attrName === "_moz_resizing" || attrName === "_moz-userdefined" || attrName === "_moz_editor_bogus_node" || + (tagName === "br" && attrName === "type" && attr[j].nodeValue === "_moz")) + { + continue; + } + + validAttr = true; + switch (attrName) { + case "style" : + cssText = child.style.cssText.split(';'); + for (ct=0; ct < cssText.length; ct++) { + kv = cssText[ct].split(/:/g); + if (this.trimSpace(kv[0]) !== '' && this.trimSpace(kv[1]) !== '') { + rs = kv.shift().toLowerCase(); + rs += ':' + kv.join(':'); + reMake.push(rs); + } + } + attrValue = reMake.join(';'); + reMake = []; + break; + case "class" : + attrValue = child.className; + break; + case "noshade" : + case "checked" : + case "selected" : + case "nowrap" : + case "disabled" : + attrValue = attrName; + break; + case "name" : + attrValue = child.name || child.getAttribute("name"); + break; + case "for" : + attrValue = child.htmlFor; + break; + default : + try { + if (/^on/.test(attrName)) { + if (this.config.allowedOnEvent) { + attrValue = attr[j].nodeValue; + } + else { + validAttr = false; + } + } + else { + attrValue = child.getAttribute(attrName, 2); + } + } catch (e) { + validAttr = false; + } + } + + if (tagName === "embed") { + switch (attrName) { + case "align": + attrValue = (mediaAlign !== '') ? mediaAlign : eval("child." + attrName); + break; + default: + attrValue = attr[j].nodeValue; + break; + } + } + + if (attrName === 'lang' && tagName === 'html') { + attrLang = true; + attrValue = lang; + } + + if (attrName === 'xml:lang') { + attrXmlLang = true; + attrValue = lang; + } + + if (attrName === 'xmlns') { + attrXmlns = true; + } + + if (tagName === 'object' && attrName === 'src' && GB.browser.msie) { + attrValue = this.fixObjectSrc(child.outerHTML); + } + + if (validAttr) { + if (!(tagName === 'li' && attrName === 'value')) { + xhtmlText += ' ' + attrName + "="; + xhtmlText += (/"/.test(attrValue)) ? "'" + this.fixAttribute(attrValue) + "'" : '"' + attrValue + '"'; + } + } + } + + if (tagName === 'html') { + if (!attrLang) { + xhtmlText += ' lang="' + lang + '"'; + } + if (!attrXmlLang) { + xhtmlText += ' xml:lang="' + lang + '"'; + } + if (!attrXmlns) { + xhtmlText += ' xmlns="http://www.w3.org/1999/xhtml"'; + } + } + + if (!GB.emptyElements[tagName] || child.hasChildNodes()) { + xhtmlText += '>'; + innerText = ''; + if (tagName === "style" || tagName === "title" || tagName === "script") { + innerText += (tagName === "script") ? child.text : child.innerHTML; + innerText = '\n'+this.trimSpace(innerText)+'\n'; + } + else { + innerText += this.xhtmlParse(child, lang, doNewLine); + } + + if (innerText) { xhtmlText += innerText; } + //if (doNewLine) { xhtmlText += '\n'; } + xhtmlText += ''; + } + else { + xhtmlText += ' />'; + //if (tagName === 'br') { xhtmlText += '\n'; } + } + break; + case GB.node.text : + xhtmlText += this.htmlEncode(child.nodeValue); + break; + case GB.node.comment : + xhtmlText += ""; + break; + default: break; + } + } + return xhtmlText; +}, + +htmlEncode : function (text) { + //text = text.replace(/\n{2,}$/g, "\n"); + //text = text.replace(/&/g, "&"); + text = text.replace(//g, ">"); + text = text.replace(/\u00a0/g, " "); + //text = text.replace(/\x22/g, """); + return text; +}, + +fixAttribute : function (text) { + return this.htmlEncode(text); +}, + +fixObjectSrc : function (text) { + var obj = text.match(/]+)>/i); + if (obj) { + var value = obj[1].match(/src="([^"]+)"/i); + if (!value) { + value = obj[1].match(/src='([^']+)'/i); + if (!value) { + value = obj[1].match(/src=([^ ]+)/i); + } + } + if (value) { + return value[1]; + } + } + return ''; +}, + +replaceObjectCode : function (text) { + var tmpTxt = String(text); + tmpTxt = tmpTxt.replace(/ style=/gi, ' style='); + tmpTxt = tmpTxt.replace(/ codeBase=/gi, ' codebase='); + tmpTxt = tmpTxt.replace(/ height=/gi, ' height='); + tmpTxt = tmpTxt.replace(/ width=/gi, ' width='); + tmpTxt = tmpTxt.replace(/ align=/gi, ' align='); + tmpTxt = tmpTxt.replace(/ classid=/gi, ' classid='); + tmpTxt = tmpTxt.replace(/ src=/gi, ' src='); + tmpTxt = tmpTxt.replace(/ name=/gi, ' name='); + tmpTxt = tmpTxt.replace(/ value=/gi, ' value='); + tmpTxt = tmpTxt.replace(/ quality=/gi, ' quality='); + tmpTxt = tmpTxt.replace(/ type=/gi, ' type='); + tmpTxt = tmpTxt.replace(/ pluginspage=/gi, ' pluginspage='); + tmpTxt = tmpTxt.replace(//gi, ''); + tmpTxt = tmpTxt.replace(//gi, ''); + tmpTxt = tmpTxt.replace(//gi, ''); + return tmpTxt; +}, + +needsClosingTag : function (el) { + var closingTags = " head script style div span tr td tbody table em strong font a title "; + return (closingTags.indexOf(" " + el.tagName.toLowerCase() + " ") !== -1); +}, + +stripBaseURL : function (url) { + var baseURL = this.config.baseURL; + baseURL = baseURL.replace(/[^\/]+$/, ''); + + var baseRe = new RegExp(baseURL); + url = url.replace(baseRe, ""); + + baseURL = baseURL.replace(/^(https?:\/\/[^\/]+)(.*)$/, '$1'); + baseRe = new RegExp(baseURL); + + return url.replace(baseRe, ""); +}, + +checkDocLinks : function () { + var links = this.doc.links; + var len = links.length; + var host = location.host; + var i, href; + this.cheditor.links = []; + + for (i=0; i < len; i++) { + if (!this.config.includeHostname) { + href = links[i].href; + if (href.indexOf(host) !== -1) { + links[i].setAttribute('href', href.substring(href.indexOf(host) + host.length)); + } + } + + if (this.config.linkTarget !== '' && this.config.linkTarget !== null) { + if (!(links[i].getAttribute('target'))) { + links[i].setAttribute('target', this.config.linkTarget); + } + } + + if (GB.browser.msie) { + this.cheditor.links.push(links[i]); + } + } +}, + +checkDocImages : function () { + var img = this.doc.images; + var len = img.length; + var host = location.host; + var i, imgsrc; + + for (i=0; i < len; i++) { + if (!this.config.includeHostname) { + imgsrc = img[i].src; + if (imgsrc) { + if (imgsrc.indexOf(host) !== -1) { + img[i].src = imgsrc.substring(imgsrc.indexOf(host) + host.length); + } + } + } + if (img[i].style.width) { + img[i].removeAttribute('width'); + } + if (img[i].style.height) { + img[i].removeAttribute('height'); + } + } +}, + +createTempDocument : function (contents) { + var doc = GB.browser.msie ? this.cheditor.htmlEditable.contentWindow.document : + this.cheditor.htmlEditable.contentDocument; + contents = contents.replace(/[\n\r]+/g, ''); + doc.open(); + doc.write(contents); + doc.close(); + return doc; +}, + +getContents : function (fullSource) { + this.checkDocLinks(); + this.checkDocImages(); + + var mydoc = ''; + var tmpDoc = this.createTempDocument(this.doc.documentElement.outerHTML); + + if (GB.browser.msie) { + this.doc.body.removeAttribute('contentEditable'); + } + + if (fullSource) { + mydoc = GB.doctype + '\n'; + mydoc += this.xhtmlParse(tmpDoc.documentElement, this.config.xhtmlLang); + } + else { + mydoc = this.xhtmlParse(tmpDoc.body, this.config.xhtmlLang); + } + mydoc = this.trimSpace(mydoc); + + if (GB.browser.msie || GB.browser.opera) { + if (this.config.ieEnterMode === 'div') { + mydoc = mydoc.replace(/<(\/?)p([^>]+)?>/gmi, + function (a, b, c) { + if (/^\S/.test(c)) { return a; } + return '<' + b + 'div' + c + '>'; + }); + } + } + + var self = this; + if (this.config.colorToHex) { + mydoc = mydoc.replace(/([color|background\-color]\s?[:=]).?(rgba?)\(\s*(\d+)\s*,\s*(\d+),\s*(\d+)\)/ig, + function (a, b, c, d, e, f) { + return b + ' ' + self.colorConvert(c+'('+d+','+e+','+f+')', "hex"); + }); + } + else { + mydoc = mydoc.replace(/([color|background\-color]\s?[:=])(.?)#([a-fA-F0-9]+)/ig, + function (a, b, c, d) { + return b + c + self.colorConvert(d, "rgb"); + }); + } + + return mydoc; +}, + +returnContents : function (mydoc) { + this.setDesignMode(true); + this.cheditor.textarea.value = mydoc; + return mydoc; +}, + +makeAmpTag : function (str) { return str.replace(/</g, '&lt;').replace(/>/g, '&gt;'); }, +removeAmpTag: function (str) { return str.replace (/&lt;/g, '<').replace(/&gt;/g,'>'); }, + +getOutputContents : function (fullSource) { + this.resetViewHTML(); + return this.removeAmpTag(this.getContents(fullSource)); +}, + +outputHTML : function () { + return this.returnContents(this.getOutputContents(true)); +}, + +outputBodyHTML : function () { + return this.returnContents(this.getOutputContents(false)); +}, + +outputBodyText : function () { + return this.returnContents(this.getBodyText()); +}, + +getBodyText : function () { + this.resetViewHTML(); + var rdata = String(GB.browser.msie ? this.doc.body.innerText : this.doc.body.textContent); + return this.trimSpace(rdata); +}, + +returnFalse : function () { + this.editAreaFocus(); + var img = this.doc.images, i; + for (i=0; i 128) { + mbytes++; + } + } + return (len-mbytes) + (mbytes*2); +}, + +resetViewHTML : function () { + if (this.cheditor.mode === 'code') { + this.switchEditorMode('rich'); + } +}, + +contentsLengthAll : function () { + return this.strLength(this.outputHTML()); +}, + +contentsLength : function () { + var content = String(this.trimSpace(this.outputBodyHTML())); + if (!content || content === "") { return 0; } + return this.strLength(content); +}, + +inputLength : function () { + var content = this.getBodyText(); + if (content === '') { return 0; } + return this.strLength(content); +}, + +displayWindow : function (pNode, id) { + this.editAreaFocus(); + this.backupRange(this.getRange()); + this.boxHideAll(id); + var pullDown = this.pulldown[id]; + pullDown.style.visibility = "visible"; + pullDown.style.zIndex = 10002; + pullDown.focus(); +}, + +pulldownMouseOver : function (el) { + if (el.className === 'cheditor-pulldown-selected') { return; } + el.className = "cheditor-pulldown-mouseover"; +}, +pulldownMouseOut : function (el) { + if (el.className === 'cheditor-pulldown-selected') { return; } + el.className = "cheditor-pulldown-mouseout"; +}, + +windowPos : function (pNode, id) { + var L = pNode.offsetLeft; + var boxEl = this.pulldown[id]; + if (this.toolbar[id].type === "combobox") { + L -= parseInt(this.toolbar[this.toolbar[id].node].width, 10); + } + if (this.toolbar[id].prev && !this.toolbar[id].next) { + L -= 1; + } + boxEl.style.left = L + 'px'; + boxEl.style.top = pNode.offsetTop + parseInt(pNode.style.height, 10) + 'px'; +}, + +boxHideAll : function (showId) { + var menu, elem, ishide; + for (menu in this.pulldown) { + if (this.pulldown.hasOwnProperty(menu)) { + elem = this.pulldown[menu]; + if (elem) { + elem.style.visibility = 'hidden'; + ishide = this.undefined(showId) ? true : (menu !== showId); + if (ishide && this.toolbar[menu].checked) { + this.toolbar[menu].checked = false; + this.toolbarButtonUnchecked(this.toolbar[menu]); + } + } + } + } +}, + +createWindow : function (width, div) { + div.className = 'cheditor-pulldown-container'; + div.style.width = width+'px'; +}, + +setColorTable : function (menu) { + var self = this; + var pulldown = document.createElement('div'); + var len = GB.colors.length, i, cell, color=0; + var container = document.createElement('div'); + var selected = document.createElement('input'); + selected.setAttribute("type", "text"); + selected.setAttribute("maxlength", '7'); + selected.className = 'cheditor-pulldown-color-selected'; + + var selectedValue = document.createElement('input'); + selectedValue.setAttribute("type", "text"); + selectedValue.onfocus = function() { selected.focus(); }; + selectedValue.style.cursor = 'default'; + selectedValue.className = 'cheditor-pulldown-color-selected'; + selected.style.marginLeft = "-1px"; + selected.style.borderLeft = "none"; + selected.spellcheck = false; + var cellWrapper = document.createElement('div'); + cellWrapper.style.margin = "2px"; + cellWrapper.style.position = 'relative'; + container.style.position = 'relative'; + var br = document.createElement('div'); + br.style.clear = 'both'; br.style.height = '0px'; + + var colorPicker = new colorDropper.color(selected, {"iconDir": this.config.iconPath}); + var mouseOver = function() { + colorPicker.fromString(this.id); + this.parentNode.className = 'cheditor-pulldown-color-cell-over'; + }; + var mouseOut = function() { + this.parentNode.className = 'cheditor-pulldown-color-cell'; + }; + var cellCmd = function() { self.doCmdPopup(menu, this.id); }; + var cellBorder; + + for (i=0; i < len; i++) { + if (i % 13 === 0) { + cellWrapper.appendChild(br.cloneNode(true)); + if (i === 26) { + cellWrapper.lastChild.style.height = "4px"; + } + len++; + continue; + } + cellBorder = document.createElement('span'); + cellBorder.className = 'cheditor-pulldown-color-cell'; + cell = document.createElement('span'); + cell.id = GB.colors[color]; + cell.style.backgroundColor = GB.colors[color++]; + cell.onmouseover = mouseOver; + cell.onmouseout = mouseOut; + cell.onclick = cellCmd; + cell.appendChild(document.createTextNode('\u00a0')); + cellBorder.appendChild(cell); + cellWrapper.appendChild(cellBorder); + } + cellWrapper.appendChild(br); + cellWrapper.appendChild(selectedValue); + cellWrapper.appendChild(selected); + + var reset = document.createElement('span'); + reset.appendChild(document.createTextNode('\u00a0')); + reset.className = "cheditor-pulldown-color-reset"; + reset.onclick = function() { colorPicker.fromString(self.colorConvert(selectedValue.style.backgroundColor, "hex")); }; + cellWrapper.appendChild(reset); + + var showTooltip = '더 많은 색 보기'; var hideTooltip = '감추기'; + var pickerSwitch = document.createElement('span'); + pickerSwitch.appendChild(document.createTextNode('\u00a0')); + pickerSwitch.className = "cheditor-pulldown-color-show-picker"; + pickerSwitch.setAttribute('title', showTooltip); + pickerSwitch.onclick = function() { + if (self.toolbar[menu].colorNode.showPicker) { + colorPicker.hidePicker(); + self.toolbar[menu].colorNode.showPicker = false; + pickerSwitch.setAttribute('title', showTooltip); + } + else { + colorPicker.showPicker(); + self.toolbar[menu].colorNode.showPicker = true; + pickerSwitch.setAttribute('title', hideTooltip); + } + }; + cellWrapper.appendChild(pickerSwitch); + + var button = document.createElement('img'); + button.className = "cheditor-pulldown-color-submit"; + button.src = this.config.iconPath + 'button/input_color.gif'; + button.onclick = function() { self.doCmdPopup(menu, selected.value); }; + cellWrapper.appendChild(button); + container.appendChild(cellWrapper); + + self.toolbar[menu].colorNode.selectedValue = selectedValue; + self.toolbar[menu].colorNode.colorPicker = colorPicker; + + pulldown.appendChild(container); + return pulldown; +}, + +onKeyPressToolbarUpdate : function () { + var self = this; + if (self.tempTimer) { clearTimeout(self.tempTimer); } + self.tempTimer = setTimeout(function() { + self.toolbarUpdate(); + self.tempTimer = null; + }, 100); + if (self.config.showTagPath) { self.doEditorEvent(); } +}, + +doOnKeyDown : function (event) { + var keyCode = event.keyCode; + if (keyCode !== 8 && (keyCode < 33 || keyCode > 40)) { return; } + if (this.cheditor.mode === "rich") { + this.onKeyPressToolbarUpdate(); + } +}, + +doOnKeyUp : function (event) { + var keyCode = event.keyCode; + if (keyCode && keyCode === 13) { + var rNode, nNode, child, br, node, comment, range, storedRange, currentNode, storedNode, self = this; + + if (this.cheditor.mode !== "rich" || (GB.browser.msie && GB.browser.version < 7)) { + return; + } + + comment = this.doc.createComment(this.cheditor.bogusSpacerName); + if (GB.browser.msie && GB.browser.version < 9) { + node = this.storedSelections[0]; + while (node.firstChild) { node = node.firstChild; } + if (node.nodeType === GB.node.element) { + try { node.appendChild(comment); } + catch(ignore) {} + } + return; + } + + range = this.getRange(); + storedRange = this.storedSelections[0]; + currentNode = range.commonAncestorContainer; + storedNode = storedRange.commonAncestorContainer; + br = this.doc.createElement('br'); + br.className = this.cheditor.bogusSpacerName; + + var prevNodeCheck = function() { + if (storedRange.startOffset < 1) { + node = storedNode; + while (node) { + if (node.previousSibling) { + node = node.previousSibling; + break; + } + node = node.parentNode; + } + + if (node.nodeType === GB.node.element) { + while (node.firstChild) { node = node.firstChild; } + } + + if (node.nodeType === GB.node.element && node.nodeName.toLowerCase() === 'br') { + node.className = self.cheditor.bogusSpacerName; + } + else { + node.appendChild(br); + } + } + }; + + if (GB.browser.msie || GB.browser.edge) { + if (!currentNode.hasChildNodes()) { + currentNode.className = this.cheditor.bogusParaName; + } + if (storedNode.nodeType === GB.node.element) { + rNode = storedNode.childNodes[storedRange.startOffset]; + if (!rNode) { return; } + child = rNode; + + while (child.firstChild) { child = child.firstChild; } + if (child.nodeType !== GB.node.element) { return; } + + child.appendChild(GB.browser.version < 11 ? comment : br); + nNode = this.doc.createElement(rNode.nodeName); + + if (rNode.firstChild) { + nNode.appendChild(rNode.firstChild.cloneNode(true)); + } + storedRange.insertNode(nNode); + rNode.parentNode.removeChild(rNode); + } + return; + } + + if (currentNode.lastChild && currentNode.lastChild.nodeName.toLowerCase() === 'br') { + currentNode.lastChild.className = this.cheditor.bogusSpacerName; + } + else { + prevNodeCheck(); + } + } +}, + +doOnKeyPress : function (event) { + var keyCode = event.keyCode; + if (keyCode && keyCode === 13) { + if (this.cheditor.mode !== "rich" || (GB.browser.msie && GB.browser.version < 7)) { + return; + } + var range = this.getRange(); + if (GB.browser.msie && GB.browser.version < 9) { + this.storedSelections[0] = range.parentElement(); + } + else { + this.backupRange(range); + } + + if (GB.browser.msie && this.config.ieEnterMode === 'br' && !this.editArea.event.shiftKey) + { + var added = false; + if (GB.browser.version > 8) { + var br = this.doc.createElement("br"); + range.insertNode(br); + range.setStartAfter(br); + range.setEndAfter(br); + added = true; + } + else { + range.pasteHTML("
"); + range.select(); + range.moveEnd("character", 1); + range.moveStart("character", 1); + range.collapse(false); + added = true; + } + if (added) { + this.stopEvent(event); + } + } + } + + if (this.cheditor.mode === "rich") { + this.onKeyPressToolbarUpdate(); + } +}, + +setWinPosition : function (oWin, popupAttr, windowSize) { + oWin.style.width = popupAttr.width + 'px'; + oWin.style.left = Math.round(((this.cheditor.editArea.clientWidth - popupAttr.width) / 2) + windowSize.offsetLeft) + 'px'; + oWin.style.top = Math.round(windowSize.offsetTop) + 'px'; +}, + +getWindowSize : function () { + var docMode = document.compatMode === 'CSS1Compat'; + var docBody = document.body; + var docElem = document.documentElement; + + var rData = { + width : docMode ? docElem.clientWidth : docBody.clientWidth, + height : docMode ? docElem.clientHeight : docBody.clientHeight, + scrollHeight : docMode ? docElem.scrollHeight : docBody.scrollHeight, + scrollWidth : docMode ? docElem.scrollWidth : docBody.scrollWidth + }; + + if (this.undefined(window.pageXOffset)) { + var factor = 1; + if (docBody.getBoundingClientRect) { + var rect = docBody.getBoundingClientRect (); + var physicalW = rect.right - rect.left; + var logicalW = document.body.offsetWidth; + factor = Math.round ((physicalW / logicalW) * 100) / 100; + } + rData.scrollY = Math.round(docElem.scrollTop / factor); + rData.scrollX = Math.round(docElem.scrollLeft / factor); + } + else { + rData.scrollY = window.pageYOffset; + rData.scrollX = window.pageXOffset; + } + + var editAreaRect = this.cheditor.editArea.getBoundingClientRect(); + rData.clientTop = docElem.clientTop || docBody.clientTop || 0; + rData.clientLeft = docElem.clientLeft || docBody.clientLeft || 0; + rData.offsetTop = editAreaRect.top + rData.scrollY - rData.clientTop; + rData.offsetLeft = editAreaRect.left + rData.scrollX - rData.clientLeft; + return rData; +}, + +popupWinLoad : function (popupAttr) { + var self = this; + var windowSize = self.getWindowSize(); + + if (self.cheditor.popupTitle.hasChildNodes()) { + self.cheditor.popupTitle.removeChild(self.cheditor.popupTitle.firstChild); + } + + self.cheditor.popupTitle.appendChild(document.createTextNode(popupAttr['title'])); + self.cheditor.popupElem.style.zIndex = 1002; + self.setWinPosition(self.cheditor.popupElem, popupAttr, windowSize); + + var iframe = document.createElement("iframe"); + iframe.setAttribute('frameBorder', "0"); + iframe.setAttribute('height', "0"); + iframe.setAttribute('width', String(popupAttr['width'] - 22)); + iframe.setAttribute('name', popupAttr['tmpl']); + iframe.setAttribute('src', self.config.popupPath + popupAttr['tmpl']); + iframe.style.visibility = 'hidden'; + iframe.id = popupAttr['tmpl']; + + if (self.cheditor.popupFrameWrapper.hasChildNodes()) { + self.cheditor.popupFrameWrapper.removeChild(self.cheditor.popupFrameWrapper.firstChild); + } + + self.cheditor.popupFrameWrapper.appendChild(iframe); + + var popWinResizeHeight = function () { + iframe.style.visibility = 'visible'; + iframe.contentWindow.focus(); + iframe.contentWindow.init.call(self, iframe, popupAttr['argv'] || null); + var popupWinTop = Math.round((self.cheditor.editArea.clientHeight - self.cheditor.popupElem.clientHeight) / 2); + self.cheditor.popupElem.style.top = Math.round(parseInt(self.cheditor.popupElem.style.top, 10) + popupWinTop) + 'px'; + self.cheditor.popupElem.style.visibility = 'visible'; + }; + + if (GB.browser.msie && GB.browser.version < 11) { + var done = false; + iframe.onreadystatechange = function() { + if (!done && (!this.readyState || this.readyState === "loaded" || this.readyState === "complete")) { + done = true; + popWinResizeHeight(); + } + }; + } + else { + iframe.onload = popWinResizeHeight; + } + + self.cheditor.popupElem.style.visibility = 'hidden'; + self.cheditor.popupElem.style.display = 'block'; + self.cheditor.modalBackground.style.zIndex = self.modalElementZIndex; + + if (GB.browser.msie && GB.browser.version < 10) { + var modalResize = function() { + self.cheditor.modalBackground.style.height = (windowSize.scrollHeight > windowSize.height) ? + windowSize.scrollHeight : windowSize.height + 'px'; + + if (window.scrollWidth > window.width) { + self.cheditor.modalBackground.style.width = windowSize.width + (windowSize.scrollWidth - windowSize.width) + 'px'; + } + else { + self.cheditor.modalBackground.style.width = windowSize.width + 'px'; + } + + self.cheditor.modalBackground.style.left = windowSize.scrollX + 'px'; + }; + + window.onresize = function() { + windowSize = self.getWindowSize(); + modalResize(); + }; + + modalResize(); + self.cheditor.modalBackground.style.filter = 'alpha(opacity=50)'; + } + else { + self.cheditor.modalBackground.style.opacity = 0.5; + } + + var body = document.getElementsByTagName('body')[0]; + body.insertBefore(self.cheditor.modalBackground, body.firstChild); + self.cheditor.modalBackground.style.display = 'block'; + body.insertBefore(self.cheditor.popupElem, body.firstChild); + GB.dragWindow.init(self.cheditor.dragHandle, self.cheditor.popupElem); +}, + +popupWinCancel : function () { + this.restoreRange(); + this.popupWinClose(); +}, + +popupWinClose : function () { + if (!this.cheditor.popupElem) { + return; + } + this.cheditor.popupElem.style.display = 'none'; + this.cheditor.popupElem.style.zIndex = -1; + this.cheditor.popupFrameWrapper.src = ""; + + if (this.cheditor.popupFrameWrapper.hasChildNodes()) { + this.cheditor.popupFrameWrapper.removeChild(this.cheditor.popupFrameWrapper.firstChild); + } + + this.cheditor.modalBackground.style.display = 'none'; + this.cheditor.modalBackground.style.zIndex = -1; + + if (this.modalReSize !== null) { + if (GB.browser.opera) { + window.removeEventListener("resize", this.modaReSize, false); + } + this.modalReSize = null; + } + + this.editAreaFocus(); +}, + +clearStoredSelections : function () { + this.storedSelections.splice(0, this.storedSelections.length); +}, + +restoreRange : function () { + var range = null, selection = null; + if (this.storedSelections[0]) { + if (this.W3CRange) { + selection = this.getSelection(); + selection.removeAllRanges(); + selection.addRange(this.storedSelections[0]); + range = selection.getRangeAt(0); + } + else { + range = this.getRange(); + if (this.storedSelections[0]) { + if (typeof this.storedSelections[0] === "string") { + range.moveToBookmark(this.storedSelections[0]); + } + else { + range = this.storedSelections[0]; + } + } + range.select(); + } + } + return range; +}, + +backupRange: function (range) { + var selection = null; + if (this.W3CRange) { + selection = this.getSelection(); + if (selection.rangeCount > 0) { + selection.removeAllRanges(); + selection.addRange(range); + this.storedSelections[0] = selection.getRangeAt(0); + } + } + else { + try { + switch (this.getSelectionType(range)) { + case GB.selection.none: + case GB.selection.text: + this.storedSelections[0] = range.getBookmark(); + break; + case GB.selection.element: + this.storedSelections[0] = range; + break; + default: + this.storedSelections[0] = null; + } + } catch (ignore) {} + } +}, + +getSelection : function () { + return this.W3CRange ? this.editArea.getSelection() : this.doc.selection; +}, + +getRange : function () { + var selection = this.getSelection(); + var range = null; + + if (this.W3CRange) { + if (selection.getRangeAt) { + range = (selection.rangeCount > 0) ? selection.getRangeAt(0) : this.doc.createRange(); + } + else { + range = this.doc.createRange(); + range.setStart(selection.anchorNode, selection.anchorOffset); + range.setEnd(selection.focusNode, selection.focusOffset); + } + } + else { + range = selection.createRange ? selection.createRange() : this.doc.createRange(); + if (!range) { + range = this.doc.body.createTextRange(); + } + } + this.range = range; + return range; +}, + +createRange : function () { + return this.W3CRange ? this.doc.createRange() : this.doc.body.createTextRange(); +}, + +getW3CRangeElement : function (range) { + if (!this.W3CRange) { return null; } // IE < 9 + + var rootNode = range.commonAncestorContainer; + var startContainer = range.startContainer; + var endContainer = range.endContainer; + var startOffset = range.startOffset; + var endOffset = range.endOffset; + var node = startContainer; + var len = rootNode.childNodes.length, i; + + if (GB.browser.msie) { + if (!range.collapsed && rootNode.nodeType === GB.node.element) { + if (rootNode === endContainer) { + node = rootNode.childNodes[endOffset-1]; + } + else if (rootNode === startContainer) { + node = rootNode.childNodes[startOffset]; + } + else { + for (i=0; i]*)>/g, + function(a, b, c) { + var el = c.toLowerCase().split(/ /)[0]; + if (el !== 'p' && el !== 'div' && el !== 'br') { + return ''; + } + return '<'+b+el+'>'; + }); + } + this.editAreaFocus(); + this.toolbarUpdate(); + return; + } + + if (cmd === 'Print') { + this.editArea.print(); + return; + } + + if (cmd === 'PageBreak') { + this.printPageBreak(); + this.editAreaFocus(); + return; + } + + if (this.W3CRange || this.getSelectionType(range) === GB.selection.none) { + range = this.doc; + } + + if (!GB.browser.msie && (cmd === 'Cut' || cmd === 'Copy' || cmd === 'Paste')) { + try { + range.execCommand(cmd, false, opt); + } catch (e) { + var keyboard = ''; + var command = ''; + switch (cmd) { + case 'Cut' : keyboard = 'x'; command = '자르기'; break; + case 'Copy' : keyboard = 'c'; command = '복사'; break; + case 'Paste': keyboard = 'v'; command = '붙이기'; break; + } + + alert('사용하고 계신 브라우저에서는 \'' + command + '\' 명령을 사용하실 수 없습니다. \n' + + '키보드 단축키를 이용하여 주세요. (윈도 사용자: Ctrl + ' + keyboard + ', Mac 사용자: Apple + ' + keyboard + ')'); + } + + this.editAreaFocus(); + return; + } + + try { + var pNode, node, self = this; + if (cmd === 'PasteFromWord') { + var cleanPaste = function() { + self.editArea.focus(); + var tmpDoc = self.cheditor.tmpdoc; + tmpDoc.execCommand("SelectAll"); + tmpDoc.execCommand("Paste"); + return self.cleanFromWord(tmpDoc); + }; + + if (this.undefined(this.cheditor.tmpdoc)) { + var tmpframe = this.doc.createElement('iframe'); + tmpframe.setAttribute('contentEditable', "true"); + tmpframe.style.visibility = 'hidden'; + tmpframe.style.height = tmpframe.style.width = '0px'; + tmpframe.setAttribute('frameBorder', "0"); + this.cheditor.editWrapper.appendChild(tmpframe); + + var tmpdoc = tmpframe.contentWindow.document; + tmpdoc.designMode = 'On'; + tmpdoc.open(); + tmpdoc.close(); + this.cheditor.tmpdoc = tmpdoc; + } + + if (this.W3CRange) { + var html = cleanPaste(); + range = this.restoreRange(); + this.insertNodeAtSelection(html); + } + else { + range = this.getRange(); + range.pasteHTML(cleanPaste()); + range.select(); + } + } + else if (cmd === 'Paste') { + this.cheditor.paste = 'text'; + range.execCommand(cmd); + this.cheditor.paste = 'html'; + } + else if (cmd === 'InsertHorizontalRule') { + var hr = this.doc.createElement('hr'), emptyPara; + hr.style.height = '1px'; + hr.style.backgroundColor = "#999"; + hr.style.border = "0"; + + if (!GB.browser.msie) { + range.execCommand("InsertParagraph", false); + range = this.getRange(); + node = range.commonAncestorContainer; + pNode = node; + while (pNode && pNode.nodeName.toLowerCase() !== 'p') { + pNode = pNode.parentNode; + } + if (pNode.nodeName.toLowerCase() === 'p') { + emptyPara = this.makeSpacerElement(); + if (node.nodeType === GB.node.text) { + node = node.parentNode; + } + if (!node.firstChild || node.firstChild.nodeName.toLowerCase() === 'br') { + pNode.parentNode.replaceChild(hr, pNode); + if (!(hr.nextSibling)) { + hr.parentNode.insertBefore(emptyPara, hr.nextSibling); + this.placeCaretAt(emptyPara, false); + } + } + else { + pNode.parentNode.insertBefore(hr, pNode); + } + } + } + else { + var id = this.makeRandomString(); + range.execCommand("InsertParagraph", false, id); + emptyPara = this.doc.getElementById(id); + emptyPara.parentNode.replaceChild(hr, emptyPara); + emptyPara = this.makeSpacerElement(); + if (!(hr.previousSibling)) { + hr.parentNode.insertBefore(emptyPara, hr); + } + if (!(hr.nextSibling)) { + hr.parentNode.insertBefore(emptyPara.cloneNode(true), hr.nextSibling); + } + if (hr.nextSibling.nodeType === GB.node.element) { + this.placeCaretAt(hr.nextSibling, false); + } + } + } + else { + switch (cmd) { + case 'JustifyLeft' : + case 'JustifyCenter' : + case 'JustifyRight' : + case 'JustifyFull' : + range.execCommand(cmd, false, opt); + range = this.getRange(); + pNode = this.W3CRange ? range.commonAncestorContainer : range.parentElement(); + + if (!GB.browser.c && pNode.nodeType === GB.node.element && + pNode.nodeName.toLowerCase() === 'body') + { + pNode = pNode.childNodes[range.startOffset]; + } + + if (pNode.nodeType === GB.node.text) { + pNode = pNode.parentNode; + } + + var css, i, found = false; + while (pNode && pNode.nodeName.toLowerCase() !== 'body') { + if (pNode.getAttribute('align')) { + pNode.removeAttribute('align'); + found = true; + } + else { + css = this.getCssValue(pNode); + if (css) { + for (i=0; i]*>/g, ""); doc = doc.replace(/<\/?o:p[^>]*>/g, ""); + doc = doc.replace(/<\/?v:[^>]*>/g, ""); doc = doc.replace(/<\/?o:[^>]*>/g, ""); doc = doc.replace(/<\/?st1:[^>]*>/g, ""); + doc = doc.replace(//g, ""); doc = doc.replace(//g, ""); + doc = doc.replace(/<\\?\?xml[^>]*>/g, ""); doc = doc.replace(/<\/?o:p[^>]*>/g, ""); doc = doc.replace(/<\/?v:[^>]*>/g, ""); + doc = doc.replace(/<\/?o:[^>]*>/g, ""); doc = doc.replace(/<\/?st1:[^>]*>/g, ""); doc = doc.replace(/lang=.?[^" >]*/ig, ""); + doc = doc.replace(/type=.?[^" >]*/g, ""); doc = doc.replace(/href='#[^"]*'/g, ""); doc = doc.replace(/href="#[^"]*"/g, ""); + doc = doc.replace(/name=.?[^" >]*/g, ""); doc = doc.replace(/ clear="all"/g, ""); doc = doc.replace(/id="[^"]*"/g, ""); + doc = doc.replace(/title="[^"]*"/g, ""); doc = doc.replace(/\n/g, ""); doc = doc.replace(/\r/g, ""); + doc = doc.replace(/mso\-[^">;]*/g, ""); doc = doc.replace(/]*/ig, "]*<\/span>/ig, ""); + return doc; +}, + +printPageBreak : function () { + var hr = document.createElement('hr'); + hr.style.pageBreakAfter = 'always'; + hr.style.border = '1px #999 dotted'; + this.insertHTML(hr); + var div = this.doc.createElement("div"); + div.appendChild(this.doc.createTextNode("\u00a0")); + this.insertHTML(div); +}, + +doCmdPaste : function (html) { + this.editAreaFocus(); + if (!this.W3CRange) { + if (this.range.item) { + var rng = this.doc.body.createTextRange(); + if (rng) { + rng.moveToElementText(this.range.item(0)); + rng.select(); + this.range.item(0).outerHTML = html; + } + this.toolbarUpdate(); + } + else { + this.range.pasteHTML(html); + this.range.select(); + } + } + else { + this.insertNodeAtSelection(html); + } +}, + +getPreviousLeaf : function (node) { + while (!node.previousSibling) { + node = node.parentNode; + if (!node) { + return node; + } + } + var leaf = node.previousSibling; + while (leaf.lastChild) { + leaf = leaf.lastChild; + } + return leaf; +}, + +getNextLeaf : function (node, breakNode) { + while (!node.nextSibling) { + node = node.parentNode; + if ((breakNode && breakNode === node) || !node) { + return node; + } + } + var leaf = node.nextSibling; + while (leaf.firstChild) { + leaf = leaf.firstChild; + } + return leaf; +}, + +isTextVisible : function (text) { + var i, found = false, len = text.length; + for (i=0; i < len; i++) { + if (text.charAt(i) !== ' ' && text.charAt(i) !== '\t' && text.charAt(i) !== '\r' && text.charAt(i) !== '\n') { + found = true; + break; + } + } + return found; +}, + +getCssValue : function (elem) { + var i, k, style = [], len = 0, css; + css = elem.getAttribute('style'); + if (!css) { + return null; + } + if (typeof css === 'object') { + css = css.cssText; + } + + css = css.replace(/;$/, '').split(';'); + len = css.length; + + for (i=0; i 0) { + while (child.lastChild) { + child = child.lastChild; + } + if (child === endNode) { + compare = 0; + } + } + + if (compare < 1 && elem.nodeName.toLowerCase() === spantag) { + self.makeFontCss(cmd, opt, elem); + } + + var children = elem.childNodes; + var idx, count = children.length; + for (idx=0; idx < count; idx++) { + if (compare < 1) { + if (children[idx].nodeName.toLowerCase() === spantag) { + self.makeFontCss(cmd, '', children[idx]); + } + } + finish(children[idx]); + } + + css = self.getCssValue(elem); + if (css) { + len = css.length; + for (j=0; j < css.length; j++) { + cColor = checkColorConvert(css[j].name, css[j].value); + if (cColor) { + css[j].value = cColor; + } + if (textCssAttrMatch(elem.parentNode, css[j].name, css[j].value)) { + self.makeFontCss(css[j].name, '', elem); + + } + } + if (!self.getCssValue(elem)) { + node = elem.firstChild; + while (node) { + elem.parentNode.insertBefore(node, elem); + node = elem.firstChild; + } + isRemove.push(elem); + } + } + }; + + var commonAncestor = null; + if (startNode.parentNode === endNode.parentNode) { + commonAncestor = startNode.parentNode; + if (commonAncestor.firstChild === startNode && commonAncestor.lastChild === endNode && + commonAncestor.nodeName.toLowerCase() === spantag) + { + this.makeFontCss(cmd, opt, commonAncestor); + pNode = commonAncestor.parentNode; + while (pNode && pNode.nodeName.toLowerCase() === "span") { + if (pNode.firstChild !== commonAncestor || pNode.lastChild !== commonAncestor) { + break; + } + + css = this.getCssValue(commonAncestor); + len = css.length; + + for (i=0; i 0) ? ctb.rows : ctb.getElementsByTagName("TR"); + for (i=0; i < rows.length; i++) { + tm[i] = []; + } + for (i=0; i < rows.length; i++) { + jr = 0; + for (j=0; j < rows[i].cells.length; j++) { + while (!(self.undefined(tm[i][jr]))) { + jr++; + } + for (jh=jr; jh < jr + (rows[i].cells[j].colSpan || 1); jh++) { + for (jv=i; jv < i + (rows[i].cells[j].rowSpan || 1); jv++) { + tm[jv][jh] = (jv === i) ? rows[i].cells[j].cellIndex : -1; + } + } + } + } + return tm; + }; + + var insertColumn = function() { + tm = getCellMatrix(); + rows = (ctb.rows && ctb.rows.length > 0) ? ctb.rows : ctb.getElementsByTagName("TR"); + + + if (ctr.rowIndex >= 0) { + rowIndex = ctr.rowIndex; + } + else { + for(i=0; i < rows.length; i++) { + if (rows[i] === ctr) { + rowIndex = i; + break; + } + } + } + + for (j=0; j < tm[rowIndex].length; j++) { + if (tm[rowIndex][j] === ctd.cellIndex) { + realIndex = j; + break; + } + } + + for (i=0; i < rows.length; i++) { + if (tm[i][realIndex] !== -1) { + if (rows[i].cells[tm[i][realIndex]].colSpan > 1) { + rows[i].cells[tm[i][realIndex]].colSpan++; + } + else { + newc = rows[i].insertCell(tm[i][realIndex]+1); + nc = rows[i].cells[tm[i][realIndex]].cloneNode(false); + nc.innerHTML = ' '; + rows[i].replaceChild(nc, newc); + } + } + } + }; + + var insertRow = function(idx) { + newr = ctb.insertRow(ctr.rowIndex + 1); + for (i=0; i < ctr.cells.length; i++) { + if (ctr.cells[i].rowSpan > 1) { + ctr.cells[i].rowSpan++; + } + else { + newc = ctr.cells[i].cloneNode(false); + newc.innerHTML = ' '; + newr.appendChild(newc); + } + } + + for (i=0; i < ctr.rowIndex; i++) { + if (ctb.rows && ctb.rows.length > 0) { + tempr = ctb.rows[i]; + } + else { + tempr = ctb.getElementsByTagName("tr")[i]; + } + for (j=0; j < tempr.cells.length; j++) { + if (tempr.cells[j].rowSpan > (ctr.rowIndex - i)) { + tempr.cells[j].rowSpan++; + } + } + } + }; + + var deleteColumn = function () { + tm = getCellMatrix(ctb); + rows = (ctb.rows && ctb.rows.length>0) ? ctb.rows : ctb.getElementsByTagName("TR"); + rowIndex = 0; realIndex = 0; + + if (ctr.rowIndex >= 0) { + rowIndex = ctr.rowIndex; + } + else { + for(i=0; i < rows.length; i++) { + if (rows[i] === ctr) { + rowIndex = i; + break; + } + } + } + + if (tm[0].length <= 1) { + ctb.parentNode.removeChild(ctb); + } + else { + for (j=0; j < tm[rowIndex].length; j++) { + if (tm[rowIndex][j] === ctd.cellIndex) { + realIndex = j; + break; + } + } + + for (i=0; i < rows.length; i++) { + if (tm[i][realIndex] !== -1) { + if (rows[i].cells[tm[i][realIndex]].colSpan > 1) { + rows[i].cells[tm[i][realIndex]].colSpan--; + } + else { + rows[i].deleteCell(tm[i][realIndex]); + } + } + } + } + }; + + var deleteRow = function () { + tm = getCellMatrix(ctb); + rows = (ctb.rows && ctb.rows.length>0) ? ctb.rows : ctb.getElementsByTagName("TR"); + rowIndex = 0; + + if (ctr.rowIndex >= 0) { + rowIndex = ctr.rowIndex; + } + else { + for(i=0; i < rows.length; i++) { + if (rows[i] === ctr) { + rowIndex = i; + break; + } + } + } + + if (rows.length <= 1) { + ctb.parentNode.removeChild(ctb); + } + else { + for (i=0; i < rowIndex; i++) { + tempr = rows[i]; + for (j=0; j < tempr.cells.length; j++) { + if (tempr.cells[j].rowSpan > (rowIndex - i)) { + tempr.cells[j].rowSpan--; + } + } + } + + var curCI = -1, prevCI, ni, nrCI, cs, nj; + for (i=0; i < tm[rowIndex].length; i++) { + prevCI = curCI; + curCI = tm[rowIndex][i]; + + if (curCI !== -1 && curCI !== prevCI && ctr.cells[curCI].rowSpan>1 && (rowIndex+1) < rows.length) { + ni = i; + nrCI = tm[rowIndex+1][ni]; + while (nrCI === -1) { + ni++; + nrCI = (ni < rows[rowIndex+1].cells.length) ? tm[rowIndex+1][ni] : rows[rowIndex+1].cells.length; + } + + newc = rows[rowIndex+1].insertCell(nrCI); + rows[rowIndex].cells[curCI].rowSpan--; + nc = rows[rowIndex].cells[curCI].cloneNode(false); + rows[rowIndex+1].replaceChild(nc, newc); + + cs = (ctr.cells[curCI].colSpan>1) ? ctr.cells[curCI].colSpan : 1; + nj = 0; + + for (j=i; j < (i+cs); j++) { + tm[rowIndex+1][j] = nrCI; + nj = j; + } + for (j=nj; j < tm[rowIndex+1].length; j++) { + if (tm[rowIndex+1][j] !== -1) { + tm[rowIndex+1][j]++; + } + } + } + } + + if (ctb.rows && ctb.rows.length > 0) { + ctb.deleteRow(rowIndex); + } + else { + ctb.removeChild(rows[rowIndex]); + } + } + }; + + var mergeCellRight = function () { + tm = getCellMatrix(ctb); + rows = (ctb.rows && ctb.rows.length>0) ? ctb.rows : ctb.getElementsByTagName("TR"); + rowIndex = 0; realIndex = 0; + + if (ctr.rowIndex >= 0) { + rowIndex = ctr.rowIndex; + } + else { + for(i=0; i < rows.length; i++) { + if (rows[i] === ctr) { + rowIndex = i; + break; + } + } + } + + for (j=0; j < tm[rowIndex].length; j++) { + if (tm[rowIndex][j] === ctd.cellIndex) { + realIndex = j; + break; + } + } + + if (ctd.cellIndex + 1 < ctr.cells.length) { + var ccrs = ctd.rowSpan || 1; + var cccs = ctd.colSpan || 1; + var ncrs = ctr.cells[ctd.cellIndex+1].rowSpan || 1; + var nccs = ctr.cells[ctd.cellIndex+1].colSpan || 1; + j = realIndex; + + while (tm[rowIndex][j] === ctd.cellIndex) { + j++; + } + + if (tm[rowIndex][j] === ctd.cellIndex + 1) { + if (ccrs === ncrs) { + if (rows.length > 1) { ctd.colSpan = cccs + nccs; } + var html = self.trimSpace(ctr.cells[ctd.cellIndex + 1].innerHTML); + html = html.replace(/^ /, ''); + ctd.innerHTML += html; + ctr.deleteCell(ctd.cellIndex + 1); + } + } + } + }; + + var mergeCellDown = function () { + tm = getCellMatrix(ctb); + rows = (ctb.rows && ctb.rows.length > 0) ? ctb.rows : ctb.getElementsByTagName("TR"); + rowIndex = 0; + var crealIndex = 0; + + if (ctr.rowIndex >=0 ) { + rowIndex = ctr.rowIndex; + } + else { + for(i=0; i < rows.length; i++) { + if (rows[i] === ctr) { + rowIndex = i; + break; + } + } + } + + for (i=0; i < tm[rowIndex].length; i++) { + if (tm[rowIndex][i] === ctd.cellIndex) { + crealIndex = i; + break; + } + } + + var ccrs = ctd.rowSpan || 1; + var cccs = ctd.colSpan || 1; + + if (rowIndex + ccrs < rows.length) { + var ncellIndex = tm[rowIndex + ccrs][crealIndex]; + if (ncellIndex !== -1 && + (crealIndex === 0 || (crealIndex > 0 && + (tm[rowIndex + ccrs][crealIndex-1] !== tm[rowIndex + ccrs][crealIndex])))) + { + + var ncrs = rows[rowIndex + ccrs].cells[ncellIndex].rowSpan || 1; + var nccs = rows[rowIndex + ccrs].cells[ncellIndex].colSpan || 1; + + if (cccs === nccs) { + var html = self.trimSpace(rows[rowIndex + ccrs].cells[ncellIndex].innerHTML); + html = html.replace(/^ /, ''); + ctd.innerHTML += html; + rows[rowIndex + ccrs].deleteCell(ncellIndex); + ctd.rowSpan = ccrs + ncrs; + } + } + } + }; + + var splitCellVertical = function () { + var ri; + tm = getCellMatrix(); + rowIndex = 0; realIndex = 0; + + rows = (ctb.rows && ctb.rows.length > 0) ? ctb.rows : ctb.getElementsByTagName("TR"); + + if (ctr.rowIndex >= 0) { + rowIndex = ctr.rowIndex; + } + else { + for(ri = 0; ri < rows.length; ri++) { + if (rows[ri] === ctr) { + rowIndex = ri; + break; + } + } + } + + for (j=0; j < tm[rowIndex].length; j++) { + if (tm[rowIndex][j] === ctd.cellIndex) { + realIndex = j; + break; + } + } + + if (ctd.colSpan > 1) { + newc = rows[rowIndex].insertCell(ctd.cellIndex + 1); + ctd.colSpan--; + nc = ctd.cloneNode(false); + nc.innerHTML = ' '; + rows[rowIndex].replaceChild(nc, newc); + ctd.colSpan = 1; + ctd.removeAttribute('colSpan'); + } + else { + newc = rows[rowIndex].insertCell(ctd.cellIndex + 1); + nc = ctd.cloneNode(false); + nc.innerHTML = ' '; + rows[rowIndex].replaceChild(nc, newc); + var cs; + for (i=0; i < tm.length; i++) { + if (i !== rowIndex && tm[i][realIndex] !== -1) { + cs = (rows[i].cells[tm[i][realIndex]].colSpan > 1) ? rows[i].cells[tm[i][realIndex]].colSpan : 1; + rows[i].cells[tm[i][realIndex]].colSpan = cs + 1; + } + } + } + }; + + var splitCellHorizontal = function () { + tm = getCellMatrix(); + rowIndex = 0; realIndex = 0; + rows = (ctb.rows && ctb.rows.length > 0) ? ctb.rows : ctb.getElementsByTagName("TR"); + + if (ctr.rowIndex >= 0) { + rowIndex = ctr.rowIndex; + } + else { + for(i=0; i < rows.length; i++) { + if (rows[i] === ctr) { + rowIndex = i; + break; + } + } + } + + for (j=0; j < tm[rowIndex].length; j++) { + if (tm[rowIndex][j] === ctd.cellIndex) { + realIndex = j; + break; + } + } + + if (ctd.rowSpan > 1) { + i = realIndex; + var ni; + + while (tm[rowIndex + 1][i] === -1) { + i++; + } + + ni = (i === tm[rowIndex + 1].length) ? rows[rowIndex + 1].cells.length : tm[rowIndex + 1][i]; + + newc = rows[rowIndex + 1].insertCell(ni); + ctd.rowSpan--; + + nc = ctd.cloneNode(false); + nc.innerHTML = ' '; + rows[rowIndex + 1].replaceChild(nc, newc); + ctd.rowSpan = 1; + } + else { + if (ctb.rows && ctb.rows.length > 0) { + ctb.insertRow(rowIndex+1); + } + else { + if (rowIndex<(rows.length - 1)) { + ctb.insertBefore(document.createElement("TR"), rows[rowIndex + 1]); + } + else { + ctb.appendChild(document.createElement("TR")); + } + } + + var rs; + for (i=0; i < ctr.cells.length; i++) { + if (i !== ctd.cellIndex) { + rs = ctr.cells[i].rowSpan > 1 ? ctr.cells[i].rowSpan : 1; + ctr.cells[i].rowSpan = rs + 1; + } + } + + for (i=0; i < rowIndex; i++) { + tempr = rows[i]; + for (j=0; j < tempr.cells.length; j++) { + if (tempr.cells[j].rowSpan > (rowIndex - i)) { + tempr.cells[j].rowSpan++; + } + } + } + + newc = rows[rowIndex+1].insertCell(0); + nc = ctd.cloneNode(false); + nc.innerHTML = ' '; + rows[rowIndex+1].replaceChild(nc, newc); + } + }; + + var tblReflash = function() { self.editAreaFocus(); self.doEditorEvent(); }; + var funcs = { + 'add_cols_after' : { 'icon' : 'table_insert_column.png', 'title' : '열 삽입', + 'func' : function() { insertColumn(ctd.cellIndex); tblReflash(); }}, + 'add_rows_after': { 'icon' : 'table_insert_row.png', 'title' : '행 삽입', + 'func' : function() { insertRow(ctr.rowIndex); tblReflash(); }}, + 'remove_cols': { 'icon' : 'table_delete_column.png', 'title' : '열 삭제', + 'func' : function() { deleteColumn(ctd.cellIndex); tblReflash(); }}, + 'remove_rows': { 'icon' : 'table_delete_row.png', 'title' : '행 삭제', + 'func' : function() { deleteRow(); tblReflash(); }}, + 'sp1' : { 'icon' : 'dot.gif' }, + 'merge_cell_right': { 'icon' : 'table_join_row.png', 'title' : '오른쪽 셀과 병합', + 'func' : function() { mergeCellRight(); tblReflash(); }}, + 'merge_cell_down': { 'icon' : 'table_join_column.png', 'title' : '아래 셀과 병합', + 'func' : function() { mergeCellDown(); tblReflash(); }}, + 'split_cell_v': { 'icon' : 'table_split_row.png', 'title' : '셀 열로 나누기', + 'func' : function() { splitCellVertical(); tblReflash(); }}, + 'split_cell_h': { 'icon' : 'table_split_column.png', 'title' : '셀 행으로 나누기', + 'func' : function() { splitCellHorizontal(); tblReflash(); }} + }; + + self.cheditor.editBlock.innerHTML = ''; + var div = document.createElement('div'), span, icon; + div.style.padding = '6px'; + + for (i in funcs) { + span = document.createElement('span'); + icon = document.createElement('img'); + icon.src = self.config.iconPath + funcs[i].icon; + if (i === 'sp1' || i === 'sp2') { + icon.className = 'edit-table-ico'; + } + else { + icon.setAttribute('title', funcs[i].title); + icon.className = 'edit-table-ico'; + icon.setAttribute('alt', ''); + icon.onclick = funcs[i].func; + } + div.appendChild(span.appendChild(icon)); + } + + /*var deleteTable = function() { + ctb.parentNode.removeChild(ctb); + self.doEditorEvent(); + };*/ + + var deleteSubmit = new Image(); + deleteSubmit.src = this.config.iconPath + 'delete_table.png'; + deleteSubmit.style.marginLeft = "22px"; + deleteSubmit.className = 'edit-table-ico'; + deleteSubmit.setAttribute('title', '테이블 삭제'); + deleteSubmit.onclick = function() { + ctb.parentNode.removeChild(ctb); + self.doEditorEvent(); + }; + + div.appendChild(deleteSubmit); + + var attrFuncs = { + 'setWidth' : { + 'txt': '가로폭', + 'id' : 'fm_cell_width', + 'marginRight' : '10px', + 'value' : ctd.getAttribute('width') + }, + 'setHeight' : { + 'txt': '세로폭', + 'id' : 'fm_cell_height', + 'marginRight' : '10px', + 'value' : ctd.getAttribute('height') + }, + 'setBgcolor' : { + 'txt': '배경색', + 'id' : 'fm_cell_bgcolor', + 'marginRight' : '2px', + 'value' : ctd.getAttribute('bgcolor') + } + }; + + var spliter = document.createElement('div'), txt, input; + spliter.style.padding = '10px 0px 0px 0px'; + spliter.style.marginTop = '5px'; + spliter.style.borderTop = '1px solid #ccc'; + spliter.style.textAlign = 'center'; + + for (i in attrFuncs) { + txt = document.createTextNode(attrFuncs[i].txt + ' '); + spliter.appendChild(txt); + input = document.createElement('input'); + input.style.marginRight = attrFuncs[i].marginRight; + input.setAttribute('type', 'text'); + input.setAttribute('name', i); + input.setAttribute('id', attrFuncs[i].id); + input.setAttribute('size', 7); + input.setAttribute('value', attrFuncs[i].value || ''); + spliter.appendChild(input); + } + + var colorPicker = new Image(); + colorPicker.src = this.config.iconPath + 'button/color_picker.gif'; + colorPicker.className = 'color-picker'; + colorPicker.onclick = function() { + GB.popupWindow.ColorPicker.argv = { func : + function(color) { + ctd.setAttribute('bgColor', color); + document.getElementById('fm_cell_bgcolor').value = color; + }, + selectedCell : ctd + }; + self.windowOpen('ColorPicker'); + }; + spliter.appendChild(colorPicker); + + var editSubmit = new Image(); + editSubmit.src = this.config.iconPath + 'button/edit_cell.gif'; + editSubmit.className = 'input-submit'; + editSubmit.style.verticalAlign = 'top'; + editSubmit.onclick = function() { + var width = self.trimSpace(document.getElementById('fm_cell_width').value), + height = self.trimSpace(document.getElementById('fm_cell_height').value), + bgcolor = self.trimSpace(document.getElementById('fm_cell_bgcolor').value); + if (width) { + ctd.setAttribute('width', width); + } + if (height) { + ctd.setAttribute('height', height); + } + if (bgcolor) { + ctd.setAttribute('bgcolor', bgcolor); + } + /* + ctd.setAttribute('width', self.$('fm_cell_width').value); + ctd.setAttribute('height', self.$('fm_cell_height').value); + ctd.setAttribute('bgcolor', self.$('fm_cell_bgcolor').value); + */ + }; + + spliter.appendChild(editSubmit); + div.appendChild(spliter); + self.cheditor.editBlock.appendChild(div); +}, + +doEditorEvent : function () { + var self = this; + var modifyBlock = self.cheditor.editBlock; + var oEditor = self.editArea; + var cmd = null, el, pNode, ancestors = []; + var rng = self.getRange(); + var nodeType = self.getSelectionType(rng); + + if (!self.W3CRange) { + switch (nodeType) { + case GB.selection.none : + case GB.selection.text : + pNode = rng.parentElement(); + break; + case GB.selection.element : + pNode = rng.item(0); + break; + default : + pNode = oEditor.document.body; + } + } + else { + try { + pNode = rng.commonAncestorContainer; + if (!rng.collapsed && + rng.startContainer === rng.endContainer && + rng.startOffset - rng.endOffset < 2 && + rng.startContainer.hasChildNodes()) + { + pNode = rng.startContainer.childNodes[rng.startOffset]; + } + + while (pNode.nodeType === GB.node.text) { + pNode = pNode.parentNode; + } + } catch (e) { pNode= null; } + } + + while (pNode && (pNode.nodeType === GB.node.element) && (pNode.tagName.toLowerCase() !== 'body')) { + ancestors.push(pNode); + if (pNode.tagName.toLowerCase() === 'img') { + cmd = 'img'; + break; + } + if (pNode.tagName.toLowerCase() === 'td' || pNode.tagName.toLowerCase() === 'th') { + cmd = 'cell'; + break; + } + pNode = pNode.parentNode; + } + + if (!cmd) { + modifyBlock.style.display = "none"; + modifyBlock.innerHTML = ''; + } + else { + if (cmd === "cell") { + modifyBlock.style.display = "block"; + self.modifyCell(pNode); + } + } + + if (self.config.showTagPath) { + var statusBar = self.cheditor.tagPath; + statusBar.innerHTML = ''; + statusBar.appendChild(document.createTextNode(' ')); + el = ancestors.pop(); + var alink, span, tag; + + var alinkClick = function () { + self.$('removeSelected').style.display = 'inline'; self.tagSelector(this.el); + }; + + while (el) { + statusBar.appendChild(document.createTextNode('<')); + tag = el.tagName.toLowerCase(); + + if (nodeType === GB.selection.text) { + alink = document.createElement("a"); + alink.el = el; + alink.href = "javascript:void%200"; + alink.className = 'cheditor-tag-path-elem'; + alink.title = el.style.cssText; + alink.onclick = alinkClick; + alink.appendChild(document.createTextNode(tag)); + statusBar.appendChild(alink); + } + else { + statusBar.appendChild(self.doc.createTextNode(tag)); + } + + statusBar.appendChild(document.createTextNode('> ')); + el = ancestors.pop(); + } + + var remove = document.createElement("a"); + remove.href = "javascript:void%200"; + remove.id = "removeSelected"; + remove.style.display = 'none'; + remove.className = 'cheditor-tag-path-elem'; + remove.style.color = '#cc3300'; + remove.appendChild(document.createTextNode('remove')); + remove.onclick = function () { + oEditor.document.execCommand("RemoveFormat", false, null); + remove.style.display = 'none'; + oEditor.focus(); + self.doEditorEvent(); + }; + + span = document.createElement('span'); + span.style.marginTop = '2px'; + span.appendChild(remove); + self.cheditor.tagPath.appendChild(span); + } + + var interval = 30; + if (GB.browser.msie && rng.text !== '' && nodeType !== GB.selection.element) { + interval = 10; + } + self.tempTimer = setTimeout(function() { + self.toolbarUpdate(); + self.tempTimer = null; + }, interval); +}, + +tagSelector : function (node) { + this.editAreaFocus(); + var rng; + + if (GB.browser.msie) { + rng = this.doc.body.createTextRange(); + if (rng) { + rng.moveToElementText(node); + rng.select(); + } + } + else { + var sel = this.editArea.getSelection(); + if (this.undefined(sel)) { + return; + } + try { + rng = sel.getRangeAt(0); + } catch(e) { return; } + + rng.selectNodeContents(node); + sel.removeAllRanges(); + sel.addRange(rng); + } +}, + +getBrowser : function () { return GB.browser; }, +$ : function (id) { return this.doc.getElementById(id); } +}; + +var DragWindow = { + obj : null, + init : function (o, oRoot, minX, maxX, minY, maxY) { + o.style.curser = 'default'; + o.onmousedown = DragWindow.start; + o.onmouseover = function () { this.style.cursor = 'move'; }; + o.hmode = true ; + o.vmode = true ; + o.root = (oRoot && oRoot !== null) ? oRoot : o; + o.transId = oRoot.id + '_Trans'; + + if (o.hmode && isNaN(parseInt(o.root.style.left,10))) {o.root.style.left = "0px";} + if (o.vmode && isNaN(parseInt(o.root.style.top,10))) {o.root.style.top = "0px";} + if (!o.hmode && isNaN(parseInt(o.root.style.right,10))) {o.root.style.right = "0px";} + if (!o.vmode && isNaN(parseInt(o.root.style.bottom,10))) {o.root.style.bottom = "0px";} + + o.minX = minX !== undefined ? minX : null; + o.minY = minY !== undefined ? minY : null; + o.maxX = maxX !== undefined ? maxX : null; + o.maxY = maxY !== undefined ? maxY : null; + + o.root.onDragStart = new Function(); + o.root.onDragEnd = new Function(); + o.root.onDrag = new Function(); + }, + + start : function (e) { + var o = DragWindow.obj = this; + e = DragWindow.fixE(e); + var y = parseInt(o.vmode ? o.root.style.top : o.root.style.bottom, 10); + var x = parseInt(o.hmode ? o.root.style.left : o.root.style.right, 10); + o.root.onDragStart(x, y); + + o.lastMouseX = e.clientX; + o.lastMouseY = e.clientY; + + document.onmousemove = DragWindow.drag; + document.onmouseup = DragWindow.end; + + if (o.root.lastChild.id === o.transId) { return false; } + + var dragTransBg = document.createElement('div'); + dragTransBg.className = 'cheditor-dragWindowTransparent'; + + if (GB.browser.msie && GB.browser.version < 10) { dragTransBg.style.filter = 'alpha(opacity=0)'; } + else { dragTransBg.style.opacity = 0; } + dragTransBg.id = o.transId; + dragTransBg.style.width = o.root.lastChild.firstChild.style.width; + dragTransBg.style.height = o.root.lastChild.firstChild.style.height; + o.root.appendChild(dragTransBg); + + return false; + }, + + drag : function (e) { + e = DragWindow.fixE(e); + var o = DragWindow.obj; + var ey = e.clientY; + var ex = e.clientX; + var y = parseInt(o.vmode ? o.root.style.top : o.root.style.bottom,10); + var x = parseInt(o.hmode ? o.root.style.left : o.root.style.right,10); + var nx, ny; + + nx = x + ((ex - o.lastMouseX) * (o.hmode ? 1 : -1)); + ny = y + ((ey - o.lastMouseY) * (o.vmode ? 1 : -1)); + + DragWindow.obj.root.style.left = nx + "px"; + DragWindow.obj.root.style.top = ny + "px"; + DragWindow.obj.lastMouseX = ex; + DragWindow.obj.lastMouseY = ey; + DragWindow.obj.root.onDrag(nx, ny); + + return false; + }, + + end : function () { + document.onmousemove = null; + document.onmouseup = null; + DragWindow.obj.root.onDragEnd(parseInt(DragWindow.obj.root.style[DragWindow.obj.hmode ? "left" : "right"],10), + parseInt(DragWindow.obj.root.style[DragWindow.obj.vmode ? "top" : "bottom"],10)); + + if (DragWindow.obj.root.lastChild.id === DragWindow.obj.transId) { + DragWindow.obj.root.removeChild(DragWindow.obj.root.lastChild); + } + DragWindow.obj = null; + }, + + fixE : function (e) { + if (e === undefined) { e = window.event; } + if (e.layerX === undefined) { e.layerX = e.offsetX; } + if (e.layerY === undefined) { e.layerY = e.offsetY; } + return e; + } +}; +GB.dragWindow = DragWindow; +// -------------------------------------------------------------------------- +// W3C DOM Range +// + +// -------------------------------------------------------------------------- +// Table +// + +// -------------------------------------------------------------------------- +// prettify; +// +GB.prettify = new function() { + var LANGUAGES = {}; + var selected_languages = {}; + var doc = null, paste = null; + + function escape(value) { return value.replace(/&/gm, '&').replace(//gm, '>'); } + function blockText(block, ignoreNewLines) { + var result = '', i, chunk; + for (i = 0; i < block.childNodes.length; i++) { + if (block.childNodes[i].nodeType === GB.node.text) { + chunk = block.childNodes[i].nodeValue; + if (ignoreNewLines) { + chunk = chunk.replace(/\n/g, ''); + } + result += chunk; + } + else if (block.childNodes[i].nodeName === 'BR') { + result += '\n'; + } + else { + result += blockText(block.childNodes[i]); + } + } + + result = result.replace(/\r/g, '\n'); + return result; + } + + function blockLanguage(block) { + var classes = block.className.split(/\s+/), i, class_; + classes = classes.concat(block.parentNode.className.split(/\s+/)); + for (i = 0; i < classes.length; i++) { + class_ = classes[i].replace(/^language-/, ''); + if (LANGUAGES[class_] || class_ === 'no-prettify') { + return class_; + } + } + } + + function nodeStream(node) { + var result = []; + (function _nodeStream(node, offset) { + var i; + for (i = 0; i < node.childNodes.length; i++) { + if (node.childNodes[i].nodeType === GB.node.text) { + offset += node.childNodes[i].nodeValue.length; + } + else if (node.childNodes[i].nodeName === 'BR') { + offset += 1; + } + else { + result.push({ + event: 'start', + offset: offset, + node: node.childNodes[i] + }); + offset = _nodeStream(node.childNodes[i], offset); + result.push({ + event: 'stop', + offset: offset, + node: node.childNodes[i] + }); + } + } + return offset; + })(node, 0); + return result; + } + + function mergeStreams(stream1, stream2, value) { + var processed = 0; + var result = ''; + var nodeStack = []; + var i, current, node; + + function selectStream() { + if (stream1.length && stream2.length) { + if (stream1[0].offset !== stream2[0].offset) { + return (stream1[0].offset < stream2[0].offset) ? stream1 : stream2; + } + return (stream1[0].event === 'start' && stream2[0].event === 'stop') ? stream2 : stream1; + } + return stream1.length ? stream1 : stream2; + } + + function open(node) { + result = '<' + node.nodeName.toLowerCase(); + var attribute; + for (i = 0; i < node.attributes.length; i++) { + attribute = node.attributes[i]; + result += ' ' + attribute.nodeName.toLowerCase(); + if (attribute.nodeValue !== undefined) { + result += '="' + escape(attribute.nodeValue) + '"'; + } + } + return result + '>'; + } + + function close(node) { return ''; } + + while (stream1.length || stream2.length) { + current = selectStream().splice(0, 1)[0]; + result += escape(value.substr(processed, current.offset - processed)); + processed = current.offset; + if ( current.event === 'start') { + result += open(current.node); + nodeStack.push(current.node); + } + else if (current.event === 'stop') { + i = nodeStack.length; + do { + i--; + node = nodeStack[i]; + result += close(node); + } while (node !== current.node); + + nodeStack.splice(i, 1); + while (i < nodeStack.length) { + result += open(nodeStack[i]); + i++; + } + } + } + + result += value.substr(processed); + return result; + } + + function langRe(language, value, global) { + var mode = 'm' + (language.case_insensitive ? 'i' : '') + (global ? 'g' : ''); + return new RegExp(value, mode); + } + + function highlight(language_name, value) { + var language = LANGUAGES[language_name]; + var modes = [language.defaultMode]; + var relevance = 0; + var keyword_count = 0; + var result = ''; + + function subMode(lexem, mode) { + var i; + for (i = 0; i < mode.sub_modes.length; i++) { + if (mode.sub_modes[i].beginRe.test(lexem)) { + return mode.sub_modes[i]; + } + } + return null; + } + + function endOfMode(mode_index, lexem) { + if (modes[mode_index].end && modes[mode_index].endRe.test(lexem)) { + return 1; + } + if (modes[mode_index].endsWithParent) { + var level = endOfMode(mode_index - 1, lexem); + return level ? level + 1 : 0; + } + return 0; + } + + function isIllegal(lexem, mode) { + return mode.illegalRe && mode.illegalRe.test(lexem); + } + + function compileTerminators(mode, language) { + var terminators = [], i; + + for (i = 0; i < mode.sub_modes.length; i++) { + terminators.push(mode.sub_modes[i].begin); + } + + var index = modes.length - 1; + do { + if (modes[index].end) { + terminators.push(modes[index].end); + } + index--; + } while (modes[index + 1].endsWithParent); + + if (mode.illegal) { + terminators.push(mode.illegal); + } + + return langRe(language, '(' + terminators.join('|') + ')', true); + } + + function eatModeChunk(value, index) { + var mode = modes[modes.length - 1]; + if (!mode.terminators) { + mode.terminators = compileTerminators(mode, language); + } + mode.terminators.lastIndex = index; + var match = mode.terminators.exec(value); + if (match) { + return [value.substr(index, match.index - index), match[0], false]; + } + return [value.substr(index), '', true]; + } + + function keywordMatch(mode, match) { + var match_str = language.case_insensitive ? match[0].toLowerCase() : match[0]; + var className, val; + for (className in mode.keywordGroups) { + if (!mode.keywordGroups.hasOwnProperty(className)) { + continue; + } + val = mode.keywordGroups[className].hasOwnProperty(match_str); + if (val) { + return [className, val]; + } + } + return false; + } + + function processKeywords(buffer, mode) { + if (!mode.keywords || !mode.lexems) { + return escape(buffer); + } + if (!mode.lexemsRe) { + var lexems_re = '(' + mode.lexems.join('|') + ')'; + mode.lexemsRe = langRe(language, lexems_re, true); + } + + result = ''; + var last_index = 0, match, keyword_match; + mode.lexemsRe.lastIndex = 0; + match = mode.lexemsRe.exec(buffer); + while (match) { + result += escape(buffer.substr(last_index, match.index - last_index)); + keyword_match = keywordMatch(mode, match); + if (keyword_match) { + keyword_count += keyword_match[1]; + result += '' + escape(match[0]) + ''; + } + else { + result += escape(match[0]); + } + last_index = mode.lexemsRe.lastIndex; + match = mode.lexemsRe.exec(buffer); + } + result += escape(buffer.substr(last_index, buffer.length - last_index)); + return result; + } + + function processBuffer(buffer, mode) { + if (mode.subLanguage && selected_languages[mode.subLanguage]) { + result = highlight(mode.subLanguage, buffer); + keyword_count += result.keyword_count; + relevance += result.relevance; + return result.value; + } + return processKeywords(buffer, mode); + } + + function startNewMode(mode, lexem) { + var markup = mode.noMarkup ? '' : ''; + if (mode.returnBegin) { + result += markup; + mode.buffer = ''; + } + else if (mode.excludeBegin) { + result += escape(lexem) + markup; + mode.buffer = ''; + } + else { + result += markup; + mode.buffer = lexem; + } + modes[modes.length] = mode; + } + + function processModeInfo(buffer, lexem, end) { + var current_mode = modes[modes.length - 1]; + if (end) { + result += processBuffer(current_mode.buffer + buffer, current_mode); + return false; + } + + var new_mode = subMode(lexem, current_mode); + if (new_mode) { + result += processBuffer(current_mode.buffer + buffer, current_mode); + startNewMode(new_mode, lexem); + relevance += new_mode.relevance; + return new_mode.returnBegin; + } + + var end_level = endOfMode(modes.length - 1, lexem); + if (end_level) { + var markup = current_mode.noMarkup?'':''; + if (current_mode.returnEnd) { + result += processBuffer(current_mode.buffer + buffer, current_mode) + markup; + } + else if (current_mode.excludeEnd) { + result += processBuffer(current_mode.buffer + buffer, current_mode) + markup + escape(lexem); + } + else { + result += processBuffer(current_mode.buffer + buffer + lexem, current_mode) + markup; + } + + while (end_level > 1) { + markup = modes[modes.length - 2].noMarkup?'':''; + result += markup; + end_level--; + modes.length--; + } + + var last_ended_mode = modes[modes.length - 1], i; + modes.length--; + modes[modes.length - 1].buffer = ''; + if (last_ended_mode.starts) { + for (i = 0; i < language.modes.length; i++) { + if (language.modes[i].className === last_ended_mode.starts) { + startNewMode(language.modes[i], ''); + break; + } + } + } + return current_mode.returnEnd; + } + if (isIllegal(lexem, current_mode)) { + throw 'Illegal'; + } + } + + try { + var index = 0, mode_info, return_lexem; + language.defaultMode.buffer = ''; + do { + mode_info = eatModeChunk(value, index); + return_lexem = processModeInfo(mode_info[0], mode_info[1], mode_info[2]); + index += mode_info[0].length; + if (!return_lexem) { + index += mode_info[1].length; + } + } while (!mode_info[2]); + + if(modes.length > 1) { throw 'Illegal'; } + return { + language: language_name, + relevance: relevance, + keyword_count: keyword_count, + value: result }; + } catch (e) { + if (e === 'Illegal') { + return { + language: null, + relevance: 0, + keyword_count: 0, + value: escape(value) }; + } + throw e; + } + } + + function compileModes() { + var modes, lang, len; + + function compileMode(mode, language) { + if (mode.compiled) { return; } + if (mode.begin) { mode.beginRe = langRe(language, '^' + mode.begin); } + if (mode.end) { mode.endRe = langRe(language, '^' + mode.end); } + if (mode.illegal) { mode.illegalRe = langRe(language, '^(?:' + mode.illegal + ')'); } + if (mode.relevance === undefined) { mode.relevance = 1; } + if (!mode.displayClassName) { mode.displayClassName = mode.className; } + if (!mode.className) { mode.noMarkup = true; } + + var key, i, j; + for (key in mode.keywords) { + if (!mode.keywords.hasOwnProperty(key)) { + continue; + } + if (mode.keywords[key] instanceof Object) { + mode.keywordGroups = mode.keywords; + } + else { + mode.keywordGroups = {'keyword': mode.keywords}; + } + } + + mode.sub_modes = []; + if (mode.contains) { + for (i = 0; i < mode.contains.length; i++) { + if (mode.contains[i] instanceof Object) { + mode.sub_modes.push(mode.contains[i]); + } + else { + for (j = 0; j < language.modes.length; j++) { + if (language.modes[j].className === mode.contains[i]) { + mode.sub_modes.push(language.modes[j]); + } + } + } + } + } + mode.compiled = true; + for (i = 0; i < mode.sub_modes.length; i++) { + compileMode(mode.sub_modes[i], language); + } + } + + for (lang in LANGUAGES) { + if (!LANGUAGES.hasOwnProperty(lang)) { + continue; + } + modes = [LANGUAGES[lang].defaultMode].concat(LANGUAGES[lang].modes); + for (len = 0; len < modes.length; len++) { + compileMode(modes[len], LANGUAGES[lang]); + } + } + } + + function initialize() { + if (initialize.called) { return; } + initialize.called = true; + compileModes(); + } + + function highlightBlock(block, tabReplace, useBR) { + initialize(); + var text = blockText(block, false), result, className; + + var language = blockLanguage(block); + + if (language === 'no-prettify') { return; } + if (language) { + result = highlight(language, text); + } + else { + result = {language: '', keyword_count: 0, relevance: 0, value: escape(text)}; + var second_best = result, key, current; + for (key in selected_languages) { + if (!selected_languages.hasOwnProperty(key)) { + continue; + } + current = highlight(key, text); + if (current.keyword_count + current.relevance > second_best.keyword_count + second_best.relevance) { + second_best = current; + } + if (current.keyword_count + current.relevance > result.keyword_count + result.relevance) { + second_best = result; + result = current; + } + } + } + + var class_name = block.className; + if (!class_name.match(result.language)) { + class_name = class_name ? (class_name + ' ' + result.language) : result.language; + } + var original = nodeStream(block); + if (original.length) { + var pre = doc.createElement('code'); + pre.innerHTML = result.value; + result.value = mergeStreams(original, nodeStream(pre), text); + } + + result.value = result.value.replace(/__CHEDITOR_TAB_SPACE__/g, '    '); // IE < 9 + + if (tabReplace) { + result.value = result.value.replace(/^((<[^>]+>|\t)+)/gm, function(match, p1, offset, s) { + return p1.replace(/\t/g, tabReplace); }); + } + else { + result.value = result.value.replace(/\t/g, "\t"); + } + + if (useBR) { + result.value = result.value.replace(/\n/g, "
\n"); + } + + block.className = class_name; + block.dataset = {}; + block.dataset.result = { + language: result.language, + kw: result.keyword_count, + re: result.relevance + }; + + if (result) { + className = block.className; + if (!className.match(language)) { + className += ' ' + language; + } + result.value = result.value.replace(/^(\s{2,})/gm, "$1"); + + if (paste) { + var wrapper = doc.getElementById("clipboardData"); + var code = doc.createElement("code"); + code.className = className; + code.innerHTML = result.value; + wrapper.parentNode.replaceChild(code, wrapper); + } + else { + doc.body.innerHTML = '' + result.value + ''; + } + } + } + + function initHighlighting(lang) { + initialize(); + var i, text; + for (i=0; i', relevance: 10 }; + var DOCTYPE = { className: 'doctype', begin: '', relevance: 10 }; + var COMMENT = { className: 'comment', begin: '' }; + var TAG = { className: 'tag', begin: '', contains: ['title', 'tag_internal'] }; + var TITLE = { className: 'title', begin: XML_IDENT_RE, end: this.IMMEDIATE_RE }; + var TAG_INTERNAL = { className: 'tag_internal', begin: this.IMMEDIATE_RE, endsWithParent: true, noMarkup: true, contains: ['attribute', 'value_container'], relevance: 0 }; + var ATTR = { className: 'attribute', begin: XML_IDENT_RE, end: this.IMMEDIATE_RE, relevance: 0 }; + var VALUE_CONTAINER_QUOT = { className: 'value_container', begin: '="', returnBegin: true, end: '"', noMarkup: true, + contains: [{ className: 'value', begin: '"', endsWithParent: true}] }; + var VALUE_CONTAINER_APOS = {className: 'value_container', begin: '=\'', returnBegin: true, end: '\'', noMarkup: true, + contains: [{className: 'value', begin: '\'', endsWithParent: true}] }; + + this.LANGUAGES.xml = { defaultMode: { contains: ['pi', 'doctype', 'comment', 'cdata', 'tag'] }, + case_insensitive: true, modes: [ { className: 'cdata', begin: '<\\!\\[CDATA\\[', end: '\\]\\]>', relevance: 10 }, + PI, DOCTYPE, COMMENT, TAG, this.inherit(TITLE, {relevance: 1.75}), TAG_INTERNAL, ATTR, VALUE_CONTAINER_QUOT, VALUE_CONTAINER_APOS ] }; + + var HTML_TAGS = { 'code': 1, 'kbd': 1, 'font': 1, 'noscript': 1, 'style': 1, 'img': 1, 'title': 1, 'menu': 1, 'tt': 1, 'tr': 1, 'param': 1, 'li': 1, 'tfoot': 1, + 'th': 1, 'input': 1, 'td': 1, 'dl': 1, 'blockquote': 1, 'fieldset': 1, 'big': 1, 'dd': 1, 'abbr': 1, 'optgroup': 1, 'dt': 1, 'button': 1, + 'isindex': 1, 'p': 1, 'small': 1, 'div': 1, 'dir': 1, 'em': 1, 'frame': 1, 'meta': 1, 'sub': 1, 'bdo': 1, 'label': 1, 'acronym': 1, 'sup': 1, 'body': 1, + 'basefont': 1, 'base': 1, 'br': 1, 'address': 1, 'strong': 1, 'legend': 1, 'ol': 1, 'script': 1, 'caption': 1, 's': 1, 'col': 1, 'h2': 1, 'h3': 1, + 'h1': 1, 'h6': 1, 'h4': 1, 'h5': 1, 'table': 1, 'select': 1, 'noframes': 1, 'span': 1, 'area': 1, 'dfn': 1, 'strike': 1, 'cite': 1, 'thead': 1, + 'head': 1, 'option': 1, 'form': 1, 'hr': 1, 'var': 1, 'link': 1, 'b': 1, 'colgroup': 1, 'ul': 1, 'applet': 1, 'del': 1, 'iframe': 1, 'pre': 1, + 'frameset': 1, 'ins': 1, 'tbody': 1, 'html': 1, 'samp': 1, 'map': 1, 'object': 1, 'a': 1, 'xmlns': 1, 'center': 1, 'textarea': 1, 'i': 1, 'q': 1, + 'u': 1, 'section': 1, 'nav': 1, 'article': 1, 'aside': 1, 'hgroup': 1, 'header': 1, 'footer': 1, 'figure': 1, 'figurecaption': 1, 'time': 1, + 'mark': 1, 'wbr': 1, 'embed': 1, 'video': 1, 'audio': 1, 'source': 1, 'canvas': 1, 'datalist': 1, 'keygen': 1, 'output': 1, 'progress': 1, + 'meter': 1, 'details': 1, 'summary': 1, 'command': 1 }; + + this.LANGUAGES.html = { defaultMode: { contains: ['comment', 'pi', 'doctype', 'vbscript', 'tag'] }, + case_insensitive: true, + modes: [ + { className: 'tag', begin: '', lexems: [this.IDENT_RE], keywords: {'style': 1}, contains: ['tag_internal'], starts: 'css' }, + { className: 'tag', begin: '', lexems: [this.IDENT_RE], keywords: {'script': 1}, contains: ['tag_internal'], starts: 'javascript' }, + { className: 'css', end: '', returnEnd: true, subLanguage: 'css' }, + { className: 'javascript', end: '', returnEnd: true, subLanguage: 'javascript' }, + { className: 'vbscript', begin: '<%', end: '%>', subLanguage: 'vbscript' }, + COMMENT, PI, DOCTYPE, this.inherit(TAG), this.inherit(TITLE, { lexems: [this.IDENT_RE], keywords: HTML_TAGS }), + this.inherit(TAG_INTERNAL), ATTR, VALUE_CONTAINER_QUOT, VALUE_CONTAINER_APOS, + { className: 'value_container', begin: '=', end: this.IMMEDIATE_RE, + contains: [{className: 'unquoted_value', displayClassName: 'value', begin: '[^\\s/>]+', end: this.IMMEDIATE_RE }] }] }; + + this.LANGUAGES.javascript = { defaultMode: { lexems: [this.UNDERSCORE_IDENT_RE], contains: ['string', 'comment', 'number', 'regexp_container', 'function'], + keywords: { 'keyword': {'in': 1, 'if': 1, 'for': 1, 'while': 1, 'finally': 1, 'var': 1, 'new': 1, 'function': 1, 'do': 1, 'return': 1, 'void': 1, + 'else': 1, 'break': 1, 'catch': 1, 'instanceof': 1, 'with': 1, 'throw': 1, 'case': 1, 'default': 1, 'try': 1, 'this': 1, 'switch': 1, + 'continue': 1, 'typeof': 1, 'delete': 1}, 'literal': {'true': 1, 'false': 1, 'null': 1} }}, + modes: [ this.C_LINE_COMMENT_MODE, this.C_BLOCK_COMMENT_MODE, this.C_NUMBER_MODE, this.APOS_STRING_MODE, this.QUOTE_STRING_MODE, this.BACKSLASH_ESCAPE, + { className: 'regexp_container', begin: '(' + this.RE_STARTERS_RE + '|case|return|throw)\\s*', end: this.IMMEDIATE_RE, noMarkup: true, + lexems: [this.IDENT_RE], keywords: {'return': 1, 'throw': 1, 'case': 1}, + contains: [ 'comment', { className: 'regexp', begin: '/.*?[^\\\\/]/[gim]*', end: this.IMMEDIATE_RE } ], relevance: 0 }, + { className: 'function', begin: '\\bfunction\\b', end: '{', lexems: [this.UNDERSCORE_IDENT_RE], keywords: {'function': 1}, + contains: [{ className: 'title', begin: '[A-Za-z$_][0-9A-Za-z$_]*', end: this.IMMEDIATE_RE }, + { className: 'params', begin: '\\(', end: '\\)', contains: ['string', 'comment'] }] }] + }; + + this.LANGUAGES.css = { defaultMode: { contains: ['at_rule', 'id', 'class', 'attr_selector', 'pseudo', 'rules', 'comment'], keywords: this.HTML_TAGS, + lexems: [this.IDENT_RE], illegal: '=' }, case_insensitive: true, + modes: [ + { className: 'at_rule', begin: '@', end: '[{;]', excludeEnd: true, lexems: [this.IDENT_RE], keywords: {'import': 1, 'page': 1, 'media': 1, 'charset': 1, 'font-face': 1}, + contains: ['function', 'string', 'number', 'pseudo'] }, + { className: 'id', begin: '\\#[A-Za-z0-9_-]+', end: this.IMMEDIATE_RE }, + { className: 'class', begin: '\\.[A-Za-z0-9_-]+', end: this.IMMEDIATE_RE, relevance: 0 }, + { className: 'attr_selector', begin: '\\[', end: '\\]', illegal: '$' }, + { className: 'pseudo', begin: ':(:)?[a-zA-Z0-9\\_\\-\\+\\(\\)\\"\\\']+', end: this.IMMEDIATE_RE }, + { className: 'rules', begin: '{', end: '}', + contains: [{className: 'rule', begin: '[A-Z\\_\\.\\-]+\\s*:', end: ';', endsWithParent: true, lexems: ['[A-Za-z-]+'], + keywords: {'play-during': 1, 'counter-reset': 1, 'counter-increment': 1, 'min-height': 1, 'quotes': 1, 'border-top': 1, 'pitch': 1, 'font': 1, + 'pause': 1, 'list-style-image': 1, 'border-width': 1, 'cue': 1, 'outline-width': 1, 'border-left': 1, 'elevation': 1, 'richness': 1, + 'speech-rate': 1, 'border-bottom': 1, 'border-spacing': 1, 'background': 1, 'list-style-type': 1, 'text-align': 1, 'page-break-inside': 1, + 'orphans': 1, 'page-break-before': 1, 'text-transform': 1, 'line-height': 1, 'padding-left': 1, 'font-size': 1, 'right': 1, 'word-spacing': 1, + 'padding-top': 1, 'outline-style': 1, 'bottom': 1, 'content': 1, 'border-right-style': 1, 'padding-right': 1, 'border-left-style': 1, + 'voice-family': 1, 'background-color': 1, 'border-bottom-color': 1, 'outline-color': 1, 'unicode-bidi': 1, 'max-width': 1, 'font-family': 1, + 'caption-side': 1, 'border-right-width': 1, 'pause-before': 1, 'border-top-style': 1, 'color': 1, 'border-collapse': 1, 'border-bottom-width': 1, + 'float': 1, 'height': 1, 'max-height': 1, 'margin-right': 1, 'border-top-width': 1, 'speak': 1, 'speak-header': 1, 'top': 1, 'cue-before': 1, + 'min-width': 1, 'width': 1, 'font-variant': 1, 'border-top-color': 1, 'background-position': 1, 'empty-cells': 1, 'direction': 1, 'border-right': 1, + 'visibility': 1, 'padding': 1, 'border-style': 1, 'background-attachment': 1, 'overflow': 1, 'border-bottom-style': 1, 'cursor': 1, 'margin': 1, + 'display': 1, 'border-left-width': 1, 'letter-spacing': 1, 'vertical-align': 1, 'clip': 1, 'border-color': 1, 'list-style': 1, 'padding-bottom': 1, + 'pause-after': 1, 'speak-numeral': 1, 'margin-left': 1, 'widows': 1, 'border': 1, 'font-style': 1, 'border-left-color': 1, 'pitch-range': 1, + 'background-repeat': 1, 'table-layout': 1, 'margin-bottom': 1, 'speak-punctuation': 1, 'font-weight': 1, 'border-right-color': 1, 'page-break-after': 1, + 'position': 1, 'white-space': 1, 'text-indent': 1, 'background-image': 1, 'volume': 1, 'stress': 1, 'outline': 1, 'clear': 1, 'z-index': 1, + 'text-decoration': 1, 'margin-top': 1, 'azimuth': 1, 'cue-after': 1, 'left': 1, 'list-style-position': 1}, + contains: [{ className: 'value', begin: this.IMMEDIATE_RE, endsWithParent: true, excludeEnd: true, contains: ['function', 'number', 'hexcolor', 'string', 'important', 'comment'] }] + }, 'comment'], + illegal: '[^\\s]' }, + this.C_BLOCK_COMMENT_MODE, { className: 'number', begin: this.NUMBER_RE, end: this.IMMEDIATE_RE }, + { className: 'hexcolor', begin: '\\#[0-9A-F]+', end: this.IMMEDIATE_RE }, + { className: 'function', begin: this.IDENT_RE + '\\(', end: '\\)', + contains: [ + { className: 'params', begin: this.IMMEDIATE_RE, endsWithParent: true, excludeEnd: true, contains: ['number', 'string'] }]}, + { className: 'important', begin: '!important', end: this.IMMEDIATE_RE }, this.APOS_STRING_MODE, this.QUOTE_STRING_MODE, this.BACKSLASH_ESCAPE ]}; +}(); + +// -------------------------------------------------------------------------- +// Color Picker +// +var colorDropper = { images : { pad : [ 181, 101 ], sld : [ 16, 101 ], cross : [ 15, 15 ], arrow : [ 7, 11 ] }, + fetchElement : function (mixed) { return typeof mixed === 'string' ? document.getElementById(mixed) : mixed; }, + + addEvent : function(el, evnt, func) { + if (el.addEventListener) { + el.addEventListener(evnt, func, false); + } + else if (el.attachEvent) { + el.attachEvent('on'+evnt, func); + } + }, + + fireEvent : function (el, evnt) { + if (!el) { + return; + } + var ev; + if (document.createEvent) { + ev = document.createEvent('HTMLEvents'); + ev.initEvent(evnt, true, true); + el.dispatchEvent(ev); + } + else if (document.createEventObject) { + ev = document.createEventObject(); + el.fireEvent('on'+evnt, ev); + } + else if (el['on'+evnt]) { + el['on'+evnt](); + } + }, + + getElementPos : function (e) { + var e1 = e, e2 = e, x = 0, y = 0; + if (e1.offsetParent) { + do { + x += e1.offsetLeft; + y += e1.offsetTop; + e1 = e1.offsetParent; + } while(e1); + } + + while (e2 && e2.nodeName.toLowerCase() !== 'body') { + x -= e2.scrollLeft; + y -= e2.scrollTop; + e2 = e2.parentNode; + } + return [x, y]; + }, + + getElementSize : function (e) { + return [e.offsetWidth, e.offsetHeight]; + }, + + getRelMousePos : function (e) { + var x = 0, y = 0; + if (!e) { e = window.event; } + if (typeof e.offsetX === 'number') { + x = e.offsetX; + y = e.offsetY; + } + else if (typeof e.layerX === 'number') { + x = e.layerX; + y = e.layerY; + } + return { x: x, y: y }; + }, + + color : function (target, prop) { + this.required = true; + this.adjust = true; + this.hash = true; + this.caps = false; + this.valueElement = target; + this.styleElement = target; + this.onImmediateChange = null; + this.hsv = [0, 0, 1]; + this.rgb = [1, 1, 1]; + this.minH = 0; + this.maxH = 6; + this.minS = 0; + this.maxS = 1; + this.minV = 0; + this.maxV = 1; + + this.pickerOnfocus = true; + this.pickerMode = 'HSV'; + this.pickerFace = 3; + this.pickerFaceColor = '#fff'; + this.pickerInset = 1; + this.pickerInsetColor = '#999'; + this.pickerZIndex = 10003; + + var p; + var self = this; + + var modeID = this.pickerMode.toLowerCase() === 'hvs' ? 1 : 0; + var abortBlur = false; + var valueElement = colorDropper.fetchElement(this.valueElement), styleElement = colorDropper.fetchElement(this.styleElement); + var holdPad = false, holdSld = false, touchOffset = {}; + var leaveValue = 1<<0, leaveStyle = 1<<1, leavePad = 1<<2, leaveSld = 1<<3; + + colorDropper.addEvent(target, 'blur', function() { + if (!abortBlur) { + window.setTimeout(function(){ abortBlur || blurTarget(); abortBlur = false; }, 0); + } + else { + abortBlur = false; + } + }); + + + for(p in prop) { + if (prop.hasOwnProperty(p)) { + this[p] = prop[p]; + } + } + + this.hidePicker = function() { + if (isPickerOwner()) { + removePicker(); + } + }; + + this.showPicker = function() { + if (!isPickerOwner()) { + drawPicker(); + } + }; + + this.importColor = function() { + if (!valueElement) { + this.exportColor(); + } + else { + if (!this.adjust) { + if (!this.fromString(valueElement.value, leaveValue)) { + styleElement.style.backgroundImage = styleElement.jscStyle.backgroundImage; + styleElement.style.backgroundColor = styleElement.jscStyle.backgroundColor; + styleElement.style.color = styleElement.jscStyle.color; + this.exportColor(leaveValue | leaveStyle); + } + } + else if (!this.required && /^\s*$/.test(valueElement.value)) { + valueElement.value = ''; + styleElement.style.backgroundImage = styleElement.jscStyle.backgroundImage; + styleElement.style.backgroundColor = styleElement.jscStyle.backgroundColor; + styleElement.style.color = styleElement.jscStyle.color; + this.exportColor(leaveValue | leaveStyle); + + } + else if(this.fromString(valueElement.value)) { + } + else { + this.exportColor(); + } + } + }; + + this.exportColor = function (flags) { + if (!(flags & leaveValue) && valueElement) { + var value = this.toString(); + if (this.caps) { value = value.toUpperCase(); } + if (this.hash) { value = '#'+value; } + valueElement.value = value; + } + if (!(flags & leaveStyle) && styleElement) { + styleElement.style.backgroundImage = "none"; + styleElement.style.backgroundColor = '#'+this.toString(); + styleElement.style.color = 0.213 * this.rgb[0] + 0.715 * this.rgb[1] + 0.072 * this.rgb[2] < 0.5 ? '#FFF' : '#000'; + } + if (!(flags & leavePad) && isPickerOwner()) { + redrawPad(); + } + if (!(flags & leaveSld) && isPickerOwner()) { + redrawSld(); + } + }; + + this.fromHSV = function (h, s, v, flags) { + if (h) { h = Math.max(0.0, this.minH, Math.min(6.0, this.maxH, h)); } + if (s) { s = Math.max(0.0, this.minS, Math.min(1.0, this.maxS, s)); } + if (v) { v = Math.max(0.0, this.minV, Math.min(1.0, this.maxV, v)); } + + this.rgb = this.HSV_RGB( + h === null ? this.hsv[0] : (this.hsv[0] = h), + s === null ? this.hsv[1] : (this.hsv[1] = s), + v === null ? this.hsv[2] : (this.hsv[2] = v) + ); + this.exportColor(flags); + }; + + + this.fromRGB = function (r, g, b, flags) { + if (r) { r = Math.max(0.0, Math.min(1.0, r)); } + if (g) { g = Math.max(0.0, Math.min(1.0, g)); } + if (b) { b = Math.max(0.0, Math.min(1.0, b)); } + + var hsv = this.RGB_HSV( + r === null ? this.rgb[0] : r, + g === null ? this.rgb[1] : g, + b === null ? this.rgb[2] : b + ); + if(hsv[0] !== null) { + this.hsv[0] = Math.max(0.0, this.minH, Math.min(6.0, this.maxH, hsv[0])); + } + if(hsv[2] !== 0) { + this.hsv[1] = hsv[1] === null ? null : Math.max(0.0, this.minS, Math.min(1.0, this.maxS, hsv[1])); + } + this.hsv[2] = hsv[2] === null ? null : Math.max(0.0, this.minV, Math.min(1.0, this.maxV, hsv[2])); + + var rgb = this.HSV_RGB(this.hsv[0], this.hsv[1], this.hsv[2]); + this.rgb[0] = rgb[0]; + this.rgb[1] = rgb[1]; + this.rgb[2] = rgb[2]; + + this.exportColor(flags); + }; + + this.fromString = function (hex, flags) { + var m = hex.match(/^\W*([0-9A-F]{3}([0-9A-F]{3})?)\W*$/i); + if (!m) { + return false; + } + if (m[1].length === 6) { + this.fromRGB( + parseInt(m[1].substr(0,2),16) / 255, + parseInt(m[1].substr(2,2),16) / 255, + parseInt(m[1].substr(4,2),16) / 255, + flags + ); + } + else { + this.fromRGB( + parseInt(m[1].charAt(0)+m[1].charAt(0),16) / 255, + parseInt(m[1].charAt(1)+m[1].charAt(1),16) / 255, + parseInt(m[1].charAt(2)+m[1].charAt(2),16) / 255, + flags + ); + } + return true; + }; + + this.toString = function() { + return ( + (0x100 | Math.round(255*this.rgb[0])).toString(16).substr(1) + + (0x100 | Math.round(255*this.rgb[1])).toString(16).substr(1) + + (0x100 | Math.round(255*this.rgb[2])).toString(16).substr(1) + ); + }; + + this.RGB_HSV = function(r, g, b) { + var n = Math.min(Math.min(r, g), b); + var v = Math.max(Math.max(r, g), b); + var m = v - n; + if (m === 0) { return [ null, 0, v ]; } + var h = r === n ? 3 + (b - g) / m : (g === n ? 5 + (r - b)/ m : 1 + (g - r) / m); + return [ h === 6 ? 0 : h, m / v, v ]; + }; + + this.HSV_RGB = function(h, s, v) { + if (h === null) { return [ v, v, v ]; } + var i = Math.floor(h); + var f = i % 2 ? h-i : 1-(h-i); + var m = v * (1 - s); + var n = v * (1 - s*f); + switch(i) { + case 6: + case 0: return [v,n,m]; + case 1: return [n,v,m]; + case 2: return [m,v,n]; + case 3: return [m,n,v]; + case 4: return [n,m,v]; + case 5: return [v,m,n]; + } + }; + + function removePicker() { + delete colorDropper.picker.owner; + colorDropper.picker.boxB.parentNode.removeChild(colorDropper.picker.boxB); + } + + function drawPicker () { + var i = 0, seg, segSize; + if (!colorDropper.picker) { + colorDropper.picker = { + box : document.createElement('div'), + boxB : document.createElement('div'), + pad : document.createElement('div'), + padB : document.createElement('div'), + padM : document.createElement('div'), + sld : document.createElement('div'), + sldB : document.createElement('div'), + sldM : document.createElement('div') + }; + for (i=0, segSize=2; i < colorDropper.images.sld[1]; i += segSize) { + seg = document.createElement('div'); + seg.style.height = segSize+'px'; + seg.style.fontSize = '1px'; + seg.style.lineHeight = '0px'; + colorDropper.picker.sld.appendChild(seg); + } + colorDropper.picker.sldB.appendChild(colorDropper.picker.sld); + colorDropper.picker.box.appendChild(colorDropper.picker.sldB); + colorDropper.picker.box.appendChild(colorDropper.picker.sldM); + colorDropper.picker.padB.appendChild(colorDropper.picker.pad); + colorDropper.picker.box.appendChild(colorDropper.picker.padB); + colorDropper.picker.box.appendChild(colorDropper.picker.padM); + colorDropper.picker.boxB.appendChild(colorDropper.picker.box); + } + + p = colorDropper.picker; + p.box.onmouseup = p.box.onmouseout = function() { target.focus(); }; + p.box.onmousedown = function() { abortBlur=true; }; + p.box.onmousemove = function(e) { + if (holdPad || holdSld) { + holdPad && setPad(e); + holdSld && setSld(e); + if (document.selection) { + document.selection.empty(); + } + else if (window.getSelection) { + window.getSelection().removeAllRanges(); + } + dispatchImmediateChange(); + } + }; + + if ('ontouchstart' in window) { + var handle_touchmove = function(e) { + var event={ 'offsetX': e.touches[0].pageX-touchOffset.X, 'offsetY': e.touches[0].pageY-touchOffset.Y + }; + if (holdPad || holdSld) { + holdPad && setPad(event); + holdSld && setSld(event); + dispatchImmediateChange(); + } + e.stopPropagation(); + e.preventDefault(); + }; + p.box.removeEventListener('touchmove', handle_touchmove, false); + p.box.addEventListener('touchmove', handle_touchmove, false); + } + p.padM.onmouseup = p.padM.onmouseout = function() { + if (holdPad) { holdPad=false; colorDropper.fireEvent(valueElement,'change'); } + }; + p.padM.onmousedown = function(e) { + switch(modeID) { + case 0: + if (self.hsv[2] === 0) { + self.fromHSV(null, null, 1.0); + } + break; + case 1: + if (self.hsv[1] === 0) { + self.fromHSV(null, 1.0, null); + } + break; + } + holdSld = false; + holdPad = true; + setPad(e); + dispatchImmediateChange(); + }; + + if ('ontouchstart' in window) { + p.padM.addEventListener('touchstart', function(e) { + touchOffset = { 'X': getOffsetParent(e.target).Left, 'Y': getOffsetParent(e.target).Top }; + this.onmousedown({ 'offsetX':e.touches[0].pageX-touchOffset.X, 'offsetY':e.touches[0].pageY-touchOffset.Y }); + }); + } + p.sldM.onmouseup = p.sldM.onmouseout = function() { + if (holdSld) { holdSld = false; colorDropper.fireEvent(valueElement,'change'); } + }; + p.sldM.onmousedown = function(e) { + holdPad = false; + holdSld = true; + setSld(e); + dispatchImmediateChange(); + }; + if ('ontouchstart' in window) { + p.sldM.addEventListener('touchstart', function(e) { + touchOffset = { 'X': getOffsetParent(e.target).Left, 'Y': getOffsetParent(e.target).Top }; + this.onmousedown({ 'offsetX':e.touches[0].pageX-touchOffset.X, 'offsetY':e.touches[0].pageY-touchOffset.Y }); + }); + } + + var dims = getPickerDims(self); + p.box.style.width = dims[0] + 'px'; + p.box.style.height = dims[1] + 'px'; + + p.boxB.style.position = 'relative'; + p.boxB.style.clear = 'both'; + p.boxB.style.border = 'none'; + p.boxB.style.background = self.pickerFaceColor; + + p.pad.style.width = colorDropper.images.pad[0]+'px'; + p.pad.style.height = colorDropper.images.pad[1]+'px'; + + p.padB.style.position = 'absolute'; + p.padB.style.left = self.pickerFace+'px'; + p.padB.style.top = self.pickerFace+'px'; + p.padB.style.border = self.pickerInset+'px solid'; + p.padB.style.borderColor = self.pickerInsetColor; + + p.padM.style.position = 'absolute'; + p.padM.style.left = '0'; + p.padM.style.top = '0'; + p.padM.style.width = self.pickerFace + 2*self.pickerInset + colorDropper.images.pad[0] + colorDropper.images.arrow[0] + 'px'; + p.padM.style.height = p.box.style.height; + p.padM.style.cursor = 'crosshair'; + + p.sld.style.overflow = 'hidden'; + p.sld.style.width = "13px"; + p.sld.style.height = colorDropper.images.sld[1]+'px'; + + p.sldB.style.position = 'absolute'; + p.sldB.style.right = self.pickerFace+'px'; + p.sldB.style.top = self.pickerFace+'px'; + p.sldB.style.border = self.pickerInset+'px solid'; + p.sldB.style.borderColor = self.pickerInsetColor; + + p.sldM.style.position = 'absolute'; + p.sldM.style.right = '0'; + p.sldM.style.top = '0'; + p.sldM.style.width = 14 + colorDropper.images.arrow[0] + self.pickerFace + 2*self.pickerInset + 'px'; + p.sldM.style.height = p.box.style.height; + + try { + p.sldM.style.cursor = 'pointer'; + } catch(e) { + p.sldM.style.cursor = 'hand'; + } + + var padImg = modeID ? 'color_picker_hv.png' : 'color_picker_hs.png'; + p.padM.style.backgroundImage = "url('"+self.iconDir+"/color_picker_cross.gif')"; + p.padM.style.backgroundRepeat = "no-repeat"; + p.sldM.style.backgroundImage = "url('"+self.iconDir+"/color_picker_arrow.gif')"; + p.sldM.style.backgroundRepeat = "no-repeat"; + p.pad.style.backgroundImage = "url('"+self.iconDir+"/"+padImg+"')"; + p.pad.style.backgroundRepeat = "no-repeat"; + p.pad.style.backgroundPosition = "0 0"; + redrawPad(); + redrawSld(); + colorDropper.picker.owner = self; + target.parentNode.parentNode.appendChild(p.boxB); + } + + function getPickerDims(o) { + var dims = [ + 2*o.pickerInset + 2*o.pickerFace + colorDropper.images.pad[0] + + 2*o.pickerInset + 2*colorDropper.images.arrow[0] + colorDropper.images.sld[0], + 2*o.pickerInset + 2*o.pickerFace + colorDropper.images.pad[1] + ]; + return dims; + } + + function redrawPad() { + var yComponent; + switch(modeID) { + case 0: yComponent = 1; break; + case 1: yComponent = 2; break; + } + var x = Math.round((self.hsv[0]/6) * (colorDropper.images.pad[0]-1)); + var y = Math.round((1-self.hsv[yComponent]) * (colorDropper.images.pad[1]-1)); + colorDropper.picker.padM.style.backgroundPosition = + (self.pickerFace+self.pickerInset+x - Math.floor(colorDropper.images.cross[0]/2)) + 'px ' + + (self.pickerFace+self.pickerInset+y - Math.floor(colorDropper.images.cross[1]/2)) + 'px'; + + var seg = colorDropper.picker.sld.childNodes; + var i=0, rgb, s, c; + switch(modeID) { + case 0: + rgb = self.HSV_RGB(self.hsv[0], self.hsv[1], 1); + if (window.File && window.FileReader) { + colorDropper.picker.sld.style.background = "linear-gradient(rgb("+ + (rgb[0]*(1-i/seg.length)*100)+"%,"+ + (rgb[1]*(1-i/seg.length)*100)+"%,"+ + (rgb[2]*(1-i/seg.length)*100)+"%), black)"; + } + else { + for (i=0; i#grayscale"); + filter: alpha(opacity=40) gray; + -webkit-filter: grayscale(100%); + -moz-filter: grayscale(100%); + -ms-filter: grayscale(100%); + -o-filter: grayscale(100%); + opacity: 0.4; +} +.cheditor-tb-text { + padding: 0px; + margin: 0px; + color: #333; + height: 20px; + line-height: 20px; +} +.cheditor-tb-text-disable { + padding: 0px; + margin: 0px; + height: 20px; + line-height: 20px; + color: #333; + overflow: hidden; + filter: grayscale(100%); + filter: url("data:image/svg+xml;utf8,#grayscale"); + filter: alpha(opacity=40) gray; + -webkit-filter: grayscale(1); + -moz-filter: grayscale(100%); + -ms-filter: grayscale(100%); + -o-filter: grayscale(100%); + opacity: 0.4; +} +.cheditor-tb-text span, .cheditor-tb-text-disable span { + font-family: "Malgun Gothic", "Apple SD Gothic Neo", gulim, tahoma, helvetica; + margin: 0px 0px 0px 1px; + padding: 0px; + width: 41px; + text-overflow: ellipsis; + overflow: hidden; + white-space: nowrap; + display: block; + font-size: 12px; +} +.cheditor-tb-icon23 { + height: 22px; + width: 23px; + margin-left: 3px; + overflow: hidden; +} +.cheditor-tb-icon23-disable { + height: 22px; + width: 23px; + margin-left: 3px; + overflow: hidden; + filter: grayscale(100%); + filter: url("data:image/svg+xml;utf8,#grayscale"); + filter: alpha(opacity=40) gray; + -webkit-filter: grayscale(1); + -moz-filter: grayscale(100%); + -ms-filter: grayscale(100%); + -o-filter: grayscale(100%); + opacity: 0.4; +} +.cheditor-tb-icon36 { + height: 22px; + width: 36px; + overflow: hidden; +} +.cheditor-tb-icon36-disable { + height: 22px; + width: 36px; + overflow: hidden; + filter: grayscale(100%); + filter: url("data:image/svg+xml;utf8,#grayscale"); + filter: alpha(opacity=40) gray; + -webkit-filter: grayscale(1); + -moz-filter: grayscale(100%); + -ms-filter: grayscale(100%); + -o-filter: grayscale(100%); + opacity: 0.4; +} +.cheditor-tb-combo { + height: 22px; + width: 10px; + overflow: hidden; +} +.cheditor-tb-combo-disable { + height: 22px; + width: 10px; + overflow: hidden; + filter: grayscale(100%); + filter: url("data:image/svg+xml;utf8,#grayscale"); + filter: alpha(opacity=40) gray; + -webkit-filter: grayscale(100%); + -moz-filter: grayscale(100%); + -ms-filter: grayscale(100%); + -o-filter: grayscale(100%); + opacity: 0.4; +} +.cheditor-tb-bg55 { + float: left; + overflow: hidden; + background: transparent url(../icons/toolbar-background.png) no-repeat left -483px; + position: relative; +} +.cheditor-tb-bg40 { + float: left; + overflow: hidden; + background: transparent url(../icons/toolbar-background.png) no-repeat left -552px; + position: relative; +} +.cheditor-tb-bg44 { + float: left; + overflow: hidden; + background: transparent url(../icons/toolbar-background.png) no-repeat left -621px; + position: relative; +} +.cheditor-tb-bg30-first { + float: left; + overflow: hidden; + background: transparent url(../icons/toolbar-background.png) no-repeat left -276px; + position: relative; +} +.cheditor-tb-bg30 { + float: left; + overflow: hidden; + background: transparent url(../icons/toolbar-background.png) no-repeat left -345px; + position: relative; +} +.cheditor-tb-bg30-last { + float: left; + overflow: hidden; + background: transparent url(../icons/toolbar-background.png) no-repeat left -414px; + position: relative; +} +.cheditor-tb-bgcombo { + float: left; + overflow: hidden; + background: transparent url(../icons/toolbar-background.png) no-repeat left -690px; + position: relative; +} +.cheditor-tb-bgcombo-first { + float: left; + overflow: hidden; + background: transparent url(../icons/toolbar-background.png) no-repeat left top; + position: relative; +} +.cheditor-tb-bgcombo-last { + float: left; + overflow: hidden; + background: url(../icons/toolbar-background.png) no-repeat left -759px; + position: relative; +} +.cheditor-tb-bg { + float: left; + overflow: hidden; + background: transparent url(../icons/toolbar-background.png) no-repeat left -69px; + position: relative; +} +.cheditor-tb-bg-first { + float: left; + overflow: hidden; + background: transparent url(../icons/toolbar-background.png) no-repeat left top; + position: relative; +} +.cheditor-tb-bg-last { + float: left; + overflow: hidden; + background: transparent url(../icons/toolbar-background.png) no-repeat left -138px; + position: relative; +} +.cheditor-tb-bg-single { + float: left; + overflow: hidden; + background: transparent url(../icons/toolbar-background.png) no-repeat left -207px; + position: relative; +} +.cheditor-tb-color-btn { + width: 16px; + height: 3px; + overflow: hidden; + position: absolute; + top: 16px; + left: 3px; +} +.cheditor-tb-button-spacer { + overflow: hidden; + width: 4px; + height: 4px; + float: left; +} +.cheditor-tb-split { + overflow: hidden; + height: 2px; + width: 3px; + clear: both; +} \ No newline at end of file diff --git a/webedit/editor.lib.php b/webedit/editor.lib.php new file mode 100644 index 0000000..ea812ad --- /dev/null +++ b/webedit/editor.lib.php @@ -0,0 +1,62 @@ +"; + } + $html .= "\n"; + $html .= "웹에디터 시작"; + $html .= "\n"; + $html .= "\n웹 에디터 끝"; + $html .= "\n"; + } else { + $html .= "\n"; + } + return $html; +} + + +// textarea 로 값을 넘긴다. javascript 반드시 필요 +function get_editor_js($id, $is_dhtml_editor=true) +{ + if ($is_dhtml_editor) { + return "document.getElementById('tx_{$id}').value = ed_{$id}.outputBodyHTML();\n"; + } else { + return "var {$id}_editor = document.getElementById('{$id}');\n"; + } +} + + +// textarea 의 값이 비어 있는지 검사 +function chk_editor_js($id, $is_dhtml_editor=true) +{ + if ($is_dhtml_editor) { + return "if (document.getElementById('tx_{$id}') && jQuery.inArray(ed_{$id}.outputBodyHTML().toLowerCase().replace(/^\s*|\s*$/g, ''), [' ','

 

','


','

','

','
','']) != -1) { alert(\"내용을 입력해 주십시오.\"); ed_{$id}.returnFalse(); return false; }\n"; + } else { + return "if (!{$id}_editor.value) { alert(\"내용을 입력해 주십시오.\"); {$id}_editor.focus(); return false; }\n"; + } +} +?> \ No newline at end of file diff --git a/webedit/example/modify.html b/webedit/example/modify.html new file mode 100644 index 0000000..43e95ed --- /dev/null +++ b/webedit/example/modify.html @@ -0,0 +1,78 @@ + + + +CHEditor + + + + + +
+

CHEditor Demo

+ + +
+ + + + + + +

+ + + +
+ +

+ + Copyright ⓒ 1997-2014 by CHCODE. All right reserved. + +

+
+ + \ No newline at end of file diff --git a/webedit/example/multi.html b/webedit/example/multi.html new file mode 100644 index 0000000..8467118 --- /dev/null +++ b/webedit/example/multi.html @@ -0,0 +1,70 @@ + + + +CHEditor + + + + + +
+

CHEditor Demo

+ + +
+ + + + + + +

+ + + + +

+ + +
+ +

+ + Copyright ⓒ 1997-2014 by CHCODE. All right reserved. + +

+
+ + diff --git a/webedit/example/newpost.html b/webedit/example/newpost.html new file mode 100644 index 0000000..1f4eb44 --- /dev/null +++ b/webedit/example/newpost.html @@ -0,0 +1,77 @@ + + + +CHEditor 5 + + + + + +
+

CHEditor Demo

+ + +
+ + + + + +

+ + + +
+ +

+ + Copyright ⓒ 1997-2014 by CHCODE. All right reserved. + +

+
+ + \ No newline at end of file diff --git a/webedit/icons/add_col_after.png b/webedit/icons/add_col_after.png new file mode 100644 index 0000000000000000000000000000000000000000..8a39314556e620d89c2a1f92f8e15d8c8931a3e9 GIT binary patch literal 187 zcmeAS@N?(olHy`uVBq!ia0vp^A|TAc3?z4jzqJQak|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*D5XcmjMvT+`0{2Ld1uNV@*}2r`YOB*-rqBgnPb zQgJIO;TV&|3BeSlpb4BTC$9HpSqrN%a2Yi*Oi5v2yu`vei!;=}OTo;zlQ*S-ftkVT XDD#vll?--30~kDA{an^LB{Ts5VP!fh literal 0 HcmV?d00001 diff --git a/webedit/icons/add_col_before.png b/webedit/icons/add_col_before.png new file mode 100644 index 0000000000000000000000000000000000000000..d8f3a56ccb1e1583522fd1faad9f6078fb9a0774 GIT binary patch literal 190 zcmeAS@N?(olHy`uVBq!ia0vp^A|TAc3?z4jzqJQak|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*D5XcmjMvT+`0{2Ld1uNV@*}2r`YOB*-rqB~INa27{-opUXO@geCw!KRoCF literal 0 HcmV?d00001 diff --git a/webedit/icons/add_cols_after.png b/webedit/icons/add_cols_after.png new file mode 100644 index 0000000000000000000000000000000000000000..d177a0418e6698a8fff25c5957928b4de59a5f8f GIT binary patch literal 180 zcmeAS@N?(olHy`uVBq!ia0vp^A|TAc3?z4jzqJQak|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*D5XcmjMvT+`0{2Ld1uNV@*}2r`YOB*-rqB0IVk0}ov} PpiTx)S3j3^P6gnPb zQgJIO;TV&|3BeSlpb4BTC$9HpSqrN%a2Yi*aCuHrkTaHaV2HIgY`Sqq#cTp26Ay!Z XIP;YEoTeXv1~7QK`njxgN@xNATTeQC literal 0 HcmV?d00001 diff --git a/webedit/icons/add_row_before.png b/webedit/icons/add_row_before.png new file mode 100644 index 0000000000000000000000000000000000000000..9cff358aeeccef4bb8b0ecdc3f878e10ab0ec9c4 GIT binary patch literal 188 zcmeAS@N?(olHy`uVBq!ia0vp^A|TAc3?z4jzqJQak|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*D5XcmjMvT+`0{2Ld1uNV@*}2r`YOB*-rqBmdKI;Vst0MT|lYybcN literal 0 HcmV?d00001 diff --git a/webedit/icons/add_rows_after.png b/webedit/icons/add_rows_after.png new file mode 100644 index 0000000000000000000000000000000000000000..579a2db0a153e79e7346d4ba20c58df17ad7ef96 GIT binary patch literal 187 zcmeAS@N?(olHy`uVBq!ia0vp^A|TAc3?z4jzqJQak|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*D5XcmjMvT>t<7pLXUykOyRBlpL`HvRF!j{DOg81_!N`Ux0j5 zPZ!6Kid#tu$CxBe2&O0nP2glXalJ3gT3C&N%cy}t%d<-%%vjQqp;g6GVD`)-Y(@?Z aj0~#%%w;~pJ6-?{VDNPHb6Mw<&;$S_9y$sD literal 0 HcmV?d00001 diff --git a/webedit/icons/add_rows_before.png b/webedit/icons/add_rows_before.png new file mode 100644 index 0000000000000000000000000000000000000000..45d46b4b02ae3c37321f35384158d028253f0344 GIT binary patch literal 187 zcmeAS@N?(olHy`uVBq!ia0vp^A|TAc3?z4jzqJQak|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*D5XcmjMvT>t<7pLXUykOyRBlpL`HvRF!j{DOg81_!N`Ux0j5 zPZ!6Kid#tu$CxBe2&O0nP2glXalJ3gT3C&N%czNg%X5-Kn6ab-!&DVlf!Q;Uuo*ct aFfy0~GncjO{@V{UfWgz%&t;ucLK6TiI69sH literal 0 HcmV?d00001 diff --git a/webedit/icons/button/cancel.gif b/webedit/icons/button/cancel.gif new file mode 100644 index 0000000000000000000000000000000000000000..434323b087503f716f0226d939a1f3d6de8622c6 GIT binary patch literal 2265 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 literal 0 HcmV?d00001 diff --git a/webedit/icons/button/color_picker_disable.png b/webedit/icons/button/color_picker_disable.png new file mode 100644 index 0000000000000000000000000000000000000000..34d8a22923e97b5000794e4e03f1166f4ed1733e GIT binary patch literal 1783 zcmeAS@N?(olHy`uVBq!ia0vp^58U}fi7AzZCsS=07?_nZLn2Bde0{8v^Kf6`()~Xj@TAnpKdC8`Lf!&sHg;q@=(~U%$M( zT(8_%FTW^V-_X+15@d#vkuFe$ZgFK^Nn(X=Ua>OF1ees}+T7#d8#0MoBXEYLU9GXQxBrqI_HztY@Xxa#7Ppj3o=u^L<)Qdy9y zACy|0Us{w5jJPyqkW~d%&PAz-CHX}m`T04pPz=b(FUc>?$S+WE4mMNJ2+zz*$uBR~ z1grP;werj>E=kNwPW5!LRRWrzmzkMj}2Nb=4b?@O-)TK zOiavSdR_99OLJ56N?>|Z5PB_f>IEf*+ybD@E~!PCWvMA{Mftf3U@u!`;&zJ}PV=C8 zQ*gV*9H(A=pkwqw5sMVjFd<;-0Wsmp7RZ4o{M0;PYA*sN>$0>{&lngO3j=&YTyNgI zdF$4#zkmPUxpQak+_@JnT)2Jvc6WF8moHzIEnD{U=g)87zCC{Y_~XZq_wL=>v17-z zYuC1H+4BDV`)ALdEnK*8_wLbLQ;Ywd>%)gBvz%c=+()f&~jID=Xi;d9!56k_QhS z1OxF!DJRo|4><@lJZxsU&su{k%)xP0(A&M=?>RR8{Hpf4C%z{CTUol? z5{=-+^}d>1K_b7u?|;K^$-#HM*@f)(vV9C^_+yG29S)QVcDls$mfU(Kb%yyvoYlP3 zv6t6xJT38enup2@9e#nOGg&<+Nj(4ZMeMOfWL(+{g@zLoDomu-nAF(8P1f9BRajVj=S`k1HYVj>_pxp0%IeEB2pf z2v~iC*)=di{qu~2w}j1wZ`iU1BwbuyYvT0&qeW}k`?PeyXr>K%oab%Mb7zOWZn_Y+ z{%VV=HiO>#_Z^EQ-aW98v(uPA?XVHwgd@MQ*qY7QZbS$rEKRuL=w|x%`p)nWgW1nI l^i3b-b2J@@eCOW4$RO8K9e(op+?k-N$kWx&Wt~$(699z*Ia&Y! literal 0 HcmV?d00001 diff --git a/webedit/icons/button/delete.gif b/webedit/icons/button/delete.gif new file mode 100644 index 0000000000000000000000000000000000000000..5a03749f68793158cb49b6b4e9b5a860bfa4c175 GIT binary patch literal 2294 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 literal 0 HcmV?d00001 diff --git a/webedit/icons/button/edit_cell.gif b/webedit/icons/button/edit_cell.gif new file mode 100644 index 0000000000000000000000000000000000000000..6022fc400f490f39a5c890cc37ad76e88b71b18d GIT binary patch literal 2572 zcmeHIXf8E0vmr1PDnWvLpns1S!ygcB~MR2Sm)$CX}MdgaC*}tu~v` zZZ;WBCA|o$hcuz6)Ef;ETAlV>Z zsQm+I_sNpTAkd%aOW^yE$smVYOspRz_#fMBG`JfM#K=xz!QyG*1@KwX3-eiI_ zMjV^-$``t0;xk}a${>-lv$KiWzC?*EokXV7>2?eXg@9@hIarFAM?fYi&6k z2mQ|XzXHn>a-|R{4w6f)|SOK9d|4>R8 zJ%B=`ht1fsCHyQAB!*{f1;5*d&uVKg1(6i>%!Xvb?T~;YlZe2VAv1)ta|xRj@0G1! zb}p=0ZAmB@lKo)+F=xme(JlweS7jmRps$x-+cYouPVxq9yxrdthD6I zFFrr`*@6AVMf>*d*}bc_Z|F*1zYy z?p?37@2v5}dw_4duXbCta>epxZ@sy6$s3Dti(D5jm_N@2>pXXklcNI$06dIN=tu+B z+ixTL|1t!N0G}>c8Ch4=x*NO1dvkGYibpWcbK^n7+L%JW+%@9j;yt($cUZUHOD=<*mDrsZ^B0c2xqe@5YU|13s@Ac}hLy@j?Y#1u#~0;KdTM@Xzym zucnu+2tV75oZZrwn;Vj+2daUTT?*aAAvgCoI99XH)tgpvHTa4nVzyS5>3>l>ra|7lIRi%+8nu@z1vM$77r=L-9I3}z;7_y;C;6{h=ZQ>fsH4b?Qjm$HHW4wbXGDa9FYRw0B#g zdn*bxatL=E_p5|)pvsQm-(SZDBfV-g-O&NhHFsl4El#c& H3=sG)KB5D& literal 0 HcmV?d00001 diff --git a/webedit/icons/button/edit_image.gif b/webedit/icons/button/edit_image.gif new file mode 100644 index 0000000000000000000000000000000000000000..7bf05a0e8c2f548f4b48ffbf219d48ef02418d0e GIT binary patch literal 2572 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 literal 0 HcmV?d00001 diff --git a/webedit/icons/button/imageUpload/submit.gif b/webedit/icons/button/imageUpload/submit.gif new file mode 100644 index 0000000000000000000000000000000000000000..e42241fe3cc89ca85a0515373e4048ade44a71a3 GIT binary patch literal 1385 zcmcK1>sOKo00wY;<27#tgc^3zw6qdgvCP!W4ZMV~P*4k2mfC6NSv7I9v@=()qD{>$ zpeQSAmhR+zR#wJ2B}~cLTqo^bYvSzU%2Ncq@ZR8E{RQjGo)6Eb-#O2RM<`ko7oRVo z1X7-p6obJ)x=FXo?IK(RPT&}hp%{vwh!b%-oDSFl+hM!SZnN6lZqns)6NC%L2@Jzg z6hjcy=|mh3Ck#96cGzaKTi-E~bh+Jx%Y_pJhT|xPAt>rZ5QozVI~;Zxw%P4g+dK9j zn^v3E?RL3b1VP|9j$s&zq6mUGolb|t0mHD}ZnxQNR?__;%1V+S2(9<;-ya?x9vT|b z>-8d$i1I%t45fO!pWwc)_n+`*k`QI1s;YYb_cgV32kPr8CG%xk5R_?TvD)JeGF?ie z2FyL4!qpwq=C*gVH)>CV+!Nh8-EqmLjgko8h~@GK`BgcaZ4?_4`y&$N3i&Nxac8?c zF~ayzoG51J-g{s$JbrTBIKcL0|Hkgq3+O9=41q8Dzz zO5ao%_xJ?47kbGil2n$=kx6s6HxQi7kOqmgTS0YbYW>~$+9C@ZJ z^6M`$IIl}$g2cV8qs?iDIGb+Rr;g-E8sn6}VC^9qA8JzT*S++dnRT*>&oq1qwax0; zojOYGx=Y(acGc~Sf_LUzDSK6L@e#9bydOH<$^gJ5vw=g5WrJmJj}Gpmkr6u-=NZF$ zS*6_N9#s{Qo*ULSRH`maMYal*N47N86wb?B)Y~uy3{HB>;b%(7y2B@0mKk{AKc zQ37Hn@FYv*+LiTNG={r4U*1G1z%lgD*E zFLhS@JRW$?|EW32D@*$Av`5%ea|0*7si5kDfB8fwvvpU3>9Xm}@6+d&<{kJ549k1W zTr14Ze{*%&pB+U3@S}}ynCN;bC;@&tTyzZ&>>M!S3!tL@b<~_x;cA8K+;w1%#h?O2 z;mqXOa}=5?KyFbQ13oU_0j`jjGiP}FsMS>gxg#UVH+**FEcedM$&0?Z%0{t)K|{)F z)BGr?Sh$D>nPw{x$aKeVs{!(sZA**^RNy@+w-w8ZFWyn`%)NB^wkN%}3xp>x-Pv9w zxky(W{b84IZlUIK;D(W=*l}okF~Iti_@gv%U$ilnwU^|n{-zZ&uXsims$(bBpLLf$ nJ1P%}8{Zp!I&LXNIbr&z^=voxvh(t5>{ZW&n;@lvLP_`+k>t4k literal 0 HcmV?d00001 diff --git a/webedit/icons/button/input.gif b/webedit/icons/button/input.gif new file mode 100644 index 0000000000000000000000000000000000000000..ef9316e54a17bec288d5634761c9b3bf5454ad81 GIT binary patch literal 2274 zcmbVMdt6iJ89oUR0z^Tf7!>OvAO)0MxST+cYeEVL%B_kMtsyyq0J)GvL8@&)M69+A zidBSFq=-lzTU{;KxN)*t^FGh>p6~s= zZ>O_kVmV2GFYq`4&}y~HNkp&LkB*Mo?KYFiq|@p8_>j$J)$4V3n@y`hAv(R@U^1Gt zI-S*OGa8H*i`8neAd^b;P_5S3>^5|5Kv{Hpolb8>V-0$<*F*n?|EisZ@5mePUt)000C*(DDCx0uYaatZb0Qk#o@Ry2L68hg$~A!6LX=Ac`lw zQ1z2Q0WY4kIXa7)C1JuPg0yNWoL9XepIcqVjpdON6To#mcn2(IWn9}rO`kLBGaOxA&9mXjG)pYC{*-? z!f8>AXowL(2VXrTR87j`Gjdt%S6b*Qo>U^2OBfVNWo0F~GLkHo7E@@kv9S)0h=_0$ z5iZ*;l5?uUMY6zo1{N&iN(BmgbAa z<@0|ryF@G(%Syx&keLU8A)5svp14vL`Vya&#Yh*)=VMu7?oJ^rlF!HTevPFq80#nnp#)WC!BW94 zn8%iih2YDS8G;49uu>P~dlk!D&FcsZ7q1H+7NONH zMavq4pk2jcHW>|i9oi#)nS1f`KcCM&dph&v@jo6toPIF%_n+=h{_WmhC+_}u=k^b` zzQ6gG8{^l%8@o1ob>!PC!$X4u{eS+`Wz{#A`g*^<_|+dTeEEmp_x$es7v1N&&UT*Z z_`Lme+o{if+uCxn`NZ*0k2M`V(y098`tV@Gf%^S*`)X?xAH2VJ&wJIot15Tx zl*^AzyRA90!Q8$RAkmw0(D zUPSP4cf-5lT%4V-7yt+`Iiq6&u-4I69Q``U6;ULV?W@~gf1u&uhld(!h1uN3@Nlk@ zOK)sWY-XpN;BLvMyJDJr!phI39PemqX+D00+te&{DieCfd2Ypd;#4>Sp`V6ZPaF1( zjz4!J05e1w9qaEHx_za8kPt^0A$;BEzRG!ZvHK(U;#H-qUKBqmE?%~5Ml(BWP;2#O zck8qJOv8hrOW^c97LgNN+kC()AcKQ%3{ciDS((sLGC~?@SUFyJd!n%;rcjvMU3l%n zneUEMxjlulFFsoCQ!44o(YUxSCemwg_tU=$+0Y)d-#4{e{&c*RaVLntyx4t*>R(=0 zll0D-yLshpIjePV91H8=sYKgWjNtBe`y)d^&YYqVC6;;eM2Mue=O?V9xGA;*&QN&! zw9ZkJ-JS97o19ODMAlURS6zbgpo(_j@nEwz-%H6s!J~ z7V)lrw(X45xk*)=_J%URQ2x;E`;d2UT)w1va`W@`;`ehqb+Z%PTUX8mryT@S_Z4R6 z6+LlrDaCuG^~>VlGtAu`7N6Rluvb6hwkNHG`(|yVzj9#EFGwlDVZE-)*zTdALQ!L1 zM11f8fq{Qe%_NBhiznBn9GV z89VBH$CCoNpHPl;wI5!Z=~a*5rFZg2j%Ek{;?x8O<%~4t@0zZ0h3lp

P%8*K{%2 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 literal 0 HcmV?d00001 diff --git a/webedit/icons/button/play.gif b/webedit/icons/button/play.gif new file mode 100644 index 0000000000000000000000000000000000000000..d7da138201d506195b80fefe1487bda05729acf2 GIT binary patch literal 2746 zcmd^A`Ck)B7H>?1a0rNiis&=}xU{xa=9Fm%Uf6^z1{!-fL^cD>Gf*0 zx*3MGTAe~6*BkT(1FTReHEOj&iF5^GA(t!EDz#Rlg&>(uuTv>i2#Z#y)o8R*sSN3r zB$f<E_27#@OTkV>i4Xw(Y1v8&YxNU76m5q6zU3mXh7l@f-Vl`54+tV zFaWo(07P7+Rw?9iofgs2snr^lN(}%cnN+G!Dot1|Logh=r40eF005CUz;MLAp6>2$ zxS3^u4TJ-OfustxM#BO~N~L1?(I+H;6;UD~0RV(}3_+xdp~d@pR-SlK-}Q%7CR@_* zx~}7CZu3Ou_4fpcw&waH*42@?c4^G++q4Vs=ne1nI{oqX$E`#1lA)=s>#A?}iTYg{!mdPOTZ%S745UZs*aKlw1zj1lpaP=!#sZ?F*|5%Cm z0k8r^O)V@I_vg{f`VpsV+Q|LCH{Sm<^Xy1=!+VWZbD`&Lz?JdJr+T$U?Ret-JPC~C zDy6!=_})a*qX|eR+xzRpshiK~mF+5(N~hClkloiJ8G-bAy%b4AZQwESsZ0TP9iPrb%w3IAJaQDDNfUDUX zkW4x;{_(@upYPwj9ep$M`qdvVUkpEg_H^jU;NyWu4+Z^yW4%I>-Mc* zZ+8CDA-U21^YymYYc0)9SFc>Y)OfMs!ufM&>(87%b@D{r@!DfGM~@snbnw7W)j$65 zkE;FqDl7h8zIV^=vR$P+cWf`&wzXLN{g%y}HWqCV6|P?=6!6#bxCQxnYjQd492S#7 z&!%N%uKq4#)ylu6uUNh;ZE0#s@{**)#os2x$Hm4(Q==jyDB+93LPN;GL4l+If1;l+ z0gv-pxWL=X(__B7n=94@{AS)<=Q&QZXU%kUu%BT!-PXo>nw6!6ImXO%DjGG#1OQyr zXyhFNEHoaF#`}_jfq}w0r?`tX9osN7yfaFZYrNfSvHW4sqSkY6<_Ja;IhuX5l)UI& zP_npoE8rIXEIl*=R&qHr)eNr2KGC)?0sdcdl%9Mr0Q(WmKqYbUTlj)daDM zZPQ+jQ>?2n6BJ8FN#$*)V#d~ZH^(cs3D%M9>du7N^sJ6eR`#|Dp2^OAk!700khs*Q zo!x;tc4ZuJD5nv`4k#;eu>)CAeG|)a^SuSk%n;X2pP9uo**_~QIbv$PJBMnKP9eMo z0@J38s~l9A`TJIpS=~RePo5b$kk|Bf98R|_44{;mS&JxTC~KZH#eR@^rCh5A7P=@eA5*bajW>?EM*ir5NX$1zRy5Ws+^Xu%~x?Fxk>u zTw<}EAX(OaZ1^Cdb#ckd0S_Ci35ltlb{w!Gh>A^JlY%NsXL@9XHrfzEDRx-fyc#E~ zI+qunrlC+@CNSqvvg|JDD1q8j{z5Xv57(RgqpuPIlw zM(mExxzWo6w#c3qz7U=ot2SS-=h7X|xqGtJ78^xav)6}KeNewSey+FJylTI7>*&eM zMXm2nHc(pWu2ps$y-rksA!98++Qm#?+rLOVcI{D8h`Fn-ylt$*HGGp-w0(+2Qb_39 XZm53+S1%vPY0xVkhBro0fRKLyyPl0& literal 0 HcmV?d00001 diff --git a/webedit/icons/button/preview.gif b/webedit/icons/button/preview.gif new file mode 100644 index 0000000000000000000000000000000000000000..9ec331fe81de633ac87bab2a39f5968f65ca3a14 GIT binary patch literal 2136 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 literal 0 HcmV?d00001 diff --git a/webedit/icons/button/submit.gif b/webedit/icons/button/submit.gif new file mode 100644 index 0000000000000000000000000000000000000000..3e5af8d64dc80b224f6c6e910017f12be7008225 GIT binary patch literal 2249 zcmbVMdt6i39lsI6BY=YArKNg_Q$QslJT4^iNFW3d!gyJ{Odt@LjR(fZ$4w@a!(q2ttr*s4Fd7|pyr5bP6UAvvCZo-U8jVJc7PDHc zMxzPE7aewk-e5AB4LBMHpf=oOG#D*btI3R46N1=KJ8CiG28#``>GV1jwIPUAZ!n;! zy$?0GV(#v)OF1 zAXdcgz(aOmT8+(y*ipOLY_eFaqCQNo(>aw81OkAGi3tLvL2Ndo!O$-PL;!$cT7sy* z83G)b!-`k|077gC&S)?i^m>EQWWqa*w$Fy5S`DPd`WzUBqNv4UF&GRsn++F75Jacb z;b)-N>jwu1@hGOIrT`~1hPVGm3B|lNa`QkoPsPLg#1yrh$1fAAz!ITYB1ikT3RksGSo?Ao&YWp zGVrm}OeKRaA*!+@GRwIDIyKW^g%FIR#6g0DOb!fu!Ty#LLyg5U>WFSA$ximA|HyDJd_vL*c_xs+uRK(kM~R zEzJSB-2V-gN?)UussiE9@%~q0WzjadkXj&A!W9a>5QndDO34{%3L#GgD~e#aeC`zU zN?{eOEQRG@S|J367fWOUxKbJM63^u_vSdmXPsSH!v6IL+14SYcFrau&YC<}lM(40O zG+KHLJvBOwoyz8<<25awMVs?w!~6=VP^Oym75wZQJ+H4b6{K=pnJrXEwh9Ft1uO+$ zZkZvOHynL^G1@p%eHLouf4~FWz*#EfbITM~e&f)8{#V4;5Uns+~U4f@H0dv^# zXTxeSoABRL_u~1pr%!(R@t=<$J)C`Te`flJd;j?R_uB97emnKe-|pPL_4QYifBnnN zKi`+1aU4@ZxD z^6}wA2Rjb5?{91UeM__Ecl-7>?P=WIP+zyJc4y5;)jPI-_`&;C+tig?D^yCwdvaJN zEic<5DHV%^0)7ea-QWJ^*PGvYd(+0^w>A_N7UbvsDwms+y*?{5gOkoqOJy-rl9LkG zG3W{LP+V+GG%bosiCnv8bwqgBs+GT7K@J6%FMBiOjipP1g8~Emf3eulchN#0Z!eOk zhr1im)nx$z079*t->|!JPeY9~o8JtAd<~!3+|hi1 z&n-Wa$9MJgXobRBj`LUfwD4OG_4GDNfifvEm{{yh^uFZn?@!DbB@PYy4+nR8Tq3&W z9=TN>c0Ks&_|SxZ&dBF|Zb1u@#ctDX;-D=-;-`LovrngAJf01Dt}|Or(_&QryzNIq z&)#}}USjR0@m^kV?YdEvnY!1fEwT$-C1}vJjqZww-TpzsV(l3yyztcK>*tT%Xph>^ zbM6kuhZGlm`-GL8R_A{xrGgYtr98pyWb9eG;gY{NH;y=x`SJRIocdteaO)&#HmkL9 z{bfzd+a=RsO0$2`v7I@;9m z)){X?h>u&MEU)fP1A(&Hu(CY(f@s8LpTE|ZnOP0IQL9N#V(rv;5@H`s_VUu&8_Qe4 zhBKYtx=x*!z?Kj3cXWDbLlFDwmL(5Nl?sQoaI|F#%6yzP>RPOsj*qTaFb=cvp)4Lz~)`{{a7e;=@ z9P4TwVm|I#R3jGNlg3suOp6iBYM}%mw`= znIL80!6(^012doA=(#u(*j2Mce~`!VFx>5i{X%bdKf8k6{SF>BBi*ovi+dC7mwq7s dhEG;k=!-A?i_2e-t_6!vzjrN5>+1om`xga!<#hl6 literal 0 HcmV?d00001 diff --git a/webedit/icons/button/upload.gif b/webedit/icons/button/upload.gif new file mode 100644 index 0000000000000000000000000000000000000000..1accaba050e3a1def253c134298b529b93583923 GIT binary patch literal 2275 zcmah}d0Z1`8lFIaa0t|bMLar0iWj*c86b$pBt!*6DNvUv@wh#1x7BKOxo`}#b`XTcY%v-jw;Q)ut&qX!a=P4Z z4~E%rFAOu8%r=s2#c(%{*)WU6isNpF-QmJr1YyK+7b)j-IB=KCZnv4tCbPxT2r2D0 zyBl{~Emnf)a5$V!r_1heSTU=`Vs_&=8G^?{IGql=-9aunNr1~~Hkk;IN7+Hx>~;^~ zAppWb?%Qmb)k?z2-bE6ePP@a7yKoOdC;=s5G&r0No88u_1TdRT2>=vjr_)86b6{Yg z5dv&BI|Wc$triGSl41}5K*~-lhLOF+Y9Tt5E*ys-rI`%cY&H@E1u_^6kP;w|fv{LC zULmK`WHRA6ZX>nqcDLJYHk-S&MnVFEL@;!#GDAvRQkW6YV}LBPM-t+8Sj4;*5$22VO9>TLsn?zFbSXJb%pXp zT3Dt>w0Q_pGIEO9MTj2J6(J}n%7wrw3so8gQmUK!950pf=V^3$nMMxJ6Q|Kh1*S@+ z;IqYSi8wIW5ou0s+Elf@n^4RGkTrnbFp@ud35w7A-Zqh5c-cnGb zq-Qa#Rjq^-5-p+zpQp@My*d`|EA?J*6|atk_ew5{42I>s*#EfbktMQvyu+7eOHN)E zKCB_DT}zfVh48p>7x@;Df4aqNdiL~>-+%k{$>T>4hacSk<=)SC@BH-RZQ~FB{KwGu zfB){*-@d&$c;otCuU#Fua{1E5Z~8Cv^`7rJclJzo*XhoVQzuUxKh}Qq>m!HTzB+X9 z!2W$-?%mV6yJgoGpYPo9S##6&ZCkf|y1CJ?siA)3hV|>}YHQZ6sjjN5_~hf&fBC3< zRaxoE6?&a^If`i1CB@5BMTJUOAzvyh`0#`Gmn>fNUjD)b@8;#^yp#QQmUMn*#=N<6 zBRRhdneSIhZ5aXbdZ7LA&eMP+QwIG0~NL^mNW^GMv-MaM~>Z){E zg^i)1g@#YJHoo21$O~F33({(HXLl*mm_;sH< z-xC$plX$3gK%49rH90Zks%YU(}e@FR5?8us*oT0L>% zu=$?Zf;}D%Q=72c=HXuBCRCTPrXaVf{z7edOvZZ;QCVncY%|D44yH>q9xnZ#0JUqB3b63{cF6+a|@Uow- zr^QK^pdX*HH(F`~l36RuL7-6J!hXNq^T{mGljXpk+_)50>#hi(oo3(gQRjzO`kABZ z3aGE0XczdKn+p1Tg1N~pm7{Ztc31lgn`CR9@dbCP)lC(H{!^j{X9xK2Z0}vq&<1wG-X=!X(|bh2w26VSv}GmP3#CPQDma|Cr1}2V zqFbmqQqIl3pI>w!e0`IudFmYBY59+o&FXDe-V&BjK@kvbOrd^J?tk7lESlO96j~Wq zlP{T$wqI+#)&^EbR(jSAhex+%9}L-cq#`>s&2seO{+609$>`Q^YXpJ28X_MrY~|iP zc%Zn&sT%!tLsv~iF{lTC?gd~kB_Qw4^rMmXJHEj)=du^8&v^!flrzT+3yuc>r9g0G z1S%MFYv#DaVSO1DgS5aVO3heC({5(hlenkpK9gE9HK(6^)+h*m7AHWu?T1p4vlv#4 zoS{h#HNC36F@3#(tc_@2;JA`%TA1j})7bvVq#2d{5u%di(a?~ghLI|GcJa!T{cWa! Q_>NyqSEq^EMIey+FRf+=(f|Me literal 0 HcmV?d00001 diff --git a/webedit/icons/checked.png b/webedit/icons/checked.png new file mode 100644 index 0000000000000000000000000000000000000000..029325ef6e3e19ef5b11af4f6844f649b86d7f30 GIT binary patch literal 1081 zcmaJ=U2D@&7|vEVb!@Jp;M|2fWI86SP1BEb4eR=q%ofcUZD9p(Op~)MbjeAR)3qB4 zQxvK{!5dK!CVrscjVS2F7|L#Bcr`&}=!JSA6TF+~$y}!w){x|U@I24^p7(vu)rs*_ zT^+q06h(Dq(n8i5oo`<|`CDH;oF~IkEEaGMP2s9+K`No5A_N&-o`zW{tMlboaD<{< zw3aX6f^>#gknWWojJKwngiTQ+v6?9>C5S;0PHRS#{`&Me4Ky`MPlhC)WTxPZmR_)6 zZecvHER>XpO2a)l>9dB-*P`^cE>GspHbaAL2rfnG-$@mu36Me-1R-z0 zqxe`BaGaM7hB%HL0)8LsXME)4JZz8;alAhab{?8Uv(za*D~#>LBC9ApgR#joOto6| zRs&vSO*3pH5^*&Aeh)!-?0EyrHIHHUHxvYDE0$(r4H>{ul#8f>qcq9%_Yrh+SJtq1 z%0vpr)MS%ky*}qi4WK0bAFAuSXd7qYpM3u*Z0F}q$Yi07DwaYTH`VWiGWnDRWsIym zLbHu3PRt;T>=|T&RE`6KlbWHTs(o@BFG+mHu(50?Fe5~1qTtmul@E%Er05Sv!pTUI zWyL^5WP{1Xu$bV+LXm(dHn;*(DmpZ9gRB1GCYo{`E9fSPEI><}gX)-tbg+G7UTdC9 zxT)R_S8blla8oWrl3|?2{?+Kl7IBX=-L)-Q>>3{$#O)Tbb#KR$TjWaI&j^WpZN0el z^JmO;XR%Fqxw?Aj?&$vdl|uUAxnB3%*7EU3*E!dtfVJ{waJc^cb@EPoeUjSjoHg28D&XDT<(2ro&SgEm z)mA@UUOD7`OtIbWzP61c@u36D`{P@CZVb4W7S}$;pY_$l@1=uj>O=R5rCe-dZ8<%@ b?%L<0)@~n*^}PA~$+^rKaa?$iJa_3AuhUtl literal 0 HcmV?d00001 diff --git a/webedit/icons/color_picker.png b/webedit/icons/color_picker.png new file mode 100644 index 0000000000000000000000000000000000000000..3ed7f55890df78bfffe61dbf356924ad3bc06cf6 GIT binary patch literal 811 zcmV+`1JwM9P)F`GcoXb?vhdsD)-5fm;_(Sfd(&Krc+`1c<&WxPq?LG;mQ>di1Vlfg= zC8O#mavNn2br3@2q75}~0Q<6p?HtvlOYx?Fk%ohH9ld3{TgV^{2?}J^30aom za0I|OJt#9G@&`a(1PV2v%-e-^=)Dbrm;sxLBC;?+w?&~24=;cfMPwNw;{?|KLlTR@ zur&mzKJf)@t=;B!*mh7R4@YRV0>KTS}ZGS*{a7)sGcyK(j&*WdHlfA)5;t$R$Al>rXLW)!~WjMPlDq`q5C8!O+Y zPf}L*~a`L;Z PKCZl?^}@uHk--`OML81Y literal 0 HcmV?d00001 diff --git a/webedit/icons/color_picker_cross.gif b/webedit/icons/color_picker_cross.gif new file mode 100644 index 0000000000000000000000000000000000000000..089b6d1590c90a0a243d73c77dde18bdf5e69e2d GIT binary patch literal 1922 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 YzFqsNg>|5V=vOIWZ|#VBZRvIQe;Bk#LI3~& literal 0 HcmV?d00001 diff --git a/webedit/icons/color_picker_hv.png b/webedit/icons/color_picker_hv.png new file mode 100644 index 0000000000000000000000000000000000000000..1c5e01f8bcecc4cf835e8eeeaa43ef2c06789022 GIT binary patch literal 2865 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 E0LKozl>h($ literal 0 HcmV?d00001 diff --git a/webedit/icons/color_picker_reset.png b/webedit/icons/color_picker_reset.png new file mode 100644 index 0000000000000000000000000000000000000000..ba719a74608833a3f6376778dc71e71f143b88b3 GIT binary patch literal 1768 zcmd5-YfMvT7%m`&Ff`6JCcBs%>n>uTS6bFetF=YJP{K-`U|iNidyp1;PB}f;(%Hq! zrjsbnZMdn4&MhilK%Bses}adi333$%lW~{cC@mC<6k6CR0`AAy?|nHZ=X<|A&-1?T z_dVyF<0;A8SA@S6P9P9gBqj*O_;Xd@4hta=f!XxX`&>K3{jE60EVnnsc|-e5Vu*U24&e024p~c6)>0N z`t3dmP{_HYT}%;Gq!vI~iUd6hrRtLT2)dU-W3$--4LUsit(?jU-PEQN)l2$wg)O!DX%wq*8MPC@iANZf>?o2 zK#PfGFh8WnGZwf)M3$?9U~GXaf5l}k$qiURrN%Q0Ayly+l5ay16)@K_N3nD*^doJVJyj|;Kfh^2m6nMURc826PPaA77rGU55c(GQQX#V?^Zm<->l-4BuP9or#SQW z@JEHsJI}Z8ENs|)?rHj^uC+#=yu=RPuxvkGlXR*stFSs2E8Ub=&c5Ro9J&8x{fm=- z&YY-mAHLaI(e2G|^ELOn^mn@T)o%Ov^iTD!XM-bGYI^hUK0i{?U+eInY#6=YYSEf( zhSIJJUDF4P8n4z5UubgcuD9>GH}Z8w2lMWv!{aC3oG9y^z>JpDf6eyT+&A0YhH8gp z%%{BCUe)P7f3Is(ku~i`-;*J~ciMlkWvrmX_syf>V@(qYw;dLzhf(EMms_#o?z6S7 zk|!3_Xg>VJ>+txp%PbE%M+ZlzD?2C5PS2EorrrADtKS`c<1?9MmSYbbcX}o_nEbkm z=V+y^)#<-n)oE<9dP(}%zx@t zmYECNCzFc?c!tXFdS`R1U8k$80~52#3TvI+zpu=!zt;ALZ8GaZk9f;DMw`1*Yd5hGuj-;I)t{`-%y+Y ztum>U>UIURN_nN-yj$a$f^`MFqt2GnmHgW4yycZC7kTDi5`K&iHJmdn&^$WgW-A}%5#j?OaRd6u(2*z#+OqV;am1g2t*#H)jE`@J_ zoy3kuYwA9J$5OnKDBa1DhALBS!!qR!X>d5UyKS&sljHGRK3lFM28FI(?fop=JM=A` uxK>%tI27D$YH&FEOzBg#JCdclehwly=xN0+$)4%Jzb7$1Sy-}FdiZano?hDk literal 0 HcmV?d00001 diff --git a/webedit/icons/color_picker_tick.png b/webedit/icons/color_picker_tick.png new file mode 100644 index 0000000000000000000000000000000000000000..a48d9da7d123fea36afbb49f61e47bc326cc7014 GIT binary patch literal 1096 zcmaJ=PfXKL94-M7AqXc?6U|FGh{m;R86_(#gRPw`VPn~b>|hLC`^K8lzOH?^!U;_b z;bfvw5{Wl2UOaeJqhdlNUOdRfcz^?EH6A_a>)619^QC{@`}O<2-`}oh(${*s&v#Q4 z)tj7>v*g`F?o(au6xH_h^_g{YIER%2&Y=>nsSczjbyS2PX{rk_3srr&x&tE=)lM7v z0xqPcMGcvZ>SGwsvbFsMQ*1LDYmV1yYCXhDtx zg1~U05kcUt0zSy`Y>-?+fD4Hug2<18#-fQgM=yz4InnS%P7+zEB0=}YJL`ztrNu-A z&2mi8PpJt^rTz~!%_Fpnv+y|He+s+#WgD_t=%OV@BaJH!`mSs-?m!hICy&r#vx=EA z!pJQn8^m)07@9LI9o5{+b$lu%CM_4MmIjluL=y$ZFmy2{^GZk%h6O$r<2WT08x=wd z7vy7;qk<9+b4{*{v?UW-xXIOzxuKR^e-uocc$T4K+=6<-K_;lDEE=t2;aci7xO(eY z_?BFj1jG7`{j1SU6PX@=do;G>a5VVPBGc}Wu{O?*Jtn`zmCSTrNhA`LN+lkT&(6-y z%*;rVB#L4>ogNz-i$o%dqC}(7-}UuO{PcpbPUCDkcW7xmDdp|g59G^YQl89vUy6GN z>fXVLF3@?i^WrL1+}q!8>jL1x#_i3A19E#ue>>a9_Fc+6TD!ZpF#uL4=vVXA>*>yf zWm#bJ$pw1rV^9Bl|NV`Pwe^!jTkktR@4VY?E4kGwXaAVk{T}?ey4yzmy4PXe=-wVD OeyOCAmY>Jw@B9I=uVS_U literal 0 HcmV?d00001 diff --git a/webedit/icons/delete_element.png b/webedit/icons/delete_element.png new file mode 100644 index 0000000000000000000000000000000000000000..80e1db21f075cc1831cda800410a4cafda240d39 GIT binary patch literal 543 zcmV+)0^t3LP)1(b3VW z5fQWz5$^8poij6uMMb1DGqw>C*^G>}Gc%|&Gr>hgp%D@4>gw2xjQI2Oy+uXh;^Lr1 zMZJuS`}6azGc)2^TFypBwv3Fv5fQO7Godpxtq~EcGc&j@F6?AvwJR&I7#OP*6w*pc z+uPgC78bq|67FVZo)HnNBO~74-soRnzc)AC-QDKq=BynZ)=o~e5)$ucXXxnY%@q~u zVq(l28=)vDn-LNB_xIRPP|Ze0&d$!D78b`eG{_<%$rTm06cn{4CZQ=Q^lWU-92}n$ z6ZLIveKRxHPfytq5z!G5yE8N6TU-DC|FnjjuK)l5xk*GpRCwB4%*PUfP!L4XCn8`* zL@R$)LS_xja}00I+T zH+9{bcmSZqDg2_W>1zOG*>0GNQM25cZ}JKtQ+j5vYnRhe4~2ReKrnGEGPt7*!xVx5 z?{>g`?ykVH2QMJCOX5za1&&KrQvmmc&<>gqn!~sOv8iGB48xjz3?Q8<54-V90*I>T hZs$=&z+Z0x1_0Z&HUNjKRs#S4002ovPDHLkV1iNB>sJ5( literal 0 HcmV?d00001 diff --git a/webedit/icons/delete_table.png b/webedit/icons/delete_table.png new file mode 100644 index 0000000000000000000000000000000000000000..87805c966de7bdcca872e353d7705dbe8c8e8c87 GIT binary patch literal 1605 zcmcgsZA=q)96lv;MrLGgi^GiMR`?*z+TOKL;6jDcE2G1*rZfS!WT7tyT%dQ|^_0?p zQxRlH!Ur>xO_6Aj@MZ@iQk6FaffNh)HU<2h|;+eyjmL}5iWHOzhrZ7OPBQ+Q()2mZ3 zC8pM8erv{1Bog^<1?F!!_v*3>yH#BTNRhHVvae4VHovBGz<63k$?` zB344M9FiL(SSlW4rm%Q(oJwm>(}w9-5eLC=6T%4SFik2;Yhz;0NAEb98yW!`}*>y+-;8@*#-w2ySqF4 z`)3vwS|2`~aya^|){}mI&Aq)%Jw2xdg3w#DKUP+X+81wjbpSx$~=WV+z|`Ek3w9)^RPUgu7_vd89x%`-NOCHKK3((16D zJzG*;eX*v-J~(*n?szo}pZaqt%l0(9ZGL=i&eT3q$!1@vuP2e>UNC{^4+x6c*mj&p)A1T!mo^ zn_ZQjUYnM7Z)C(gIx{gppL1`bfFyf{hb4Dc-nd*2r}OFTY~F*H$BK$jySu?|cdxF> zyuHkS2r$sfxcD{8|F#2GwdMiidrXFkRi;5zS3-PiBp`hf`<^U6X1XcCTUecRDKYX& ze?$4eM+u8=@+F!*YQJFJ(^FD$p{A(pm$p~huf|OyN3UanKO?$#hV=sE8%#1$n< z_8U}fi7AzZCsS=07?>FXd_r7-ir>9^_v+QFM~@yoeE9Ieg9mr++_`=G_N`mD zZr;3k zIUyk-Ha0dgGBPkQ(8tHe)z#JB-rmH-1Zc%57!85J83HRS+%$nMV=M{s3ubV5b|VeQ zsr7Vm45_#^<-$q6W(N+2fDL_J9l!To{r~@zo4VQ5bB;S5o;fNoE4|hX)L9bWOGIjL1 z<`(;O?~2FVdQ&MBb@05V6H A_5c6? literal 0 HcmV?d00001 diff --git a/webedit/icons/edit_mode_code_b.png b/webedit/icons/edit_mode_code_b.png new file mode 100644 index 0000000000000000000000000000000000000000..2ced606d5758637010aceb7463bda22bd0814360 GIT binary patch literal 1014 zcmeAS@N?(olHy`uVBq!ia0vp^58U}fi7AzZCsS=07?>FXd_r9R|NjqE|NHmvPoF-0{P^+1hYxSwym|fl^~;wp zU%Ytn{Q2`|&z?Pb^5p#a^JmVSS-EoM^5x5yE?v5K@#1;&=FOQiXU2>f_4W02b#+-; zS?THNDJdxl2?^oh;Xy$`US3`?7=4*1`aan$XYwLzPQ>}mhkIzh5JdvsMocHW`W^;MobUKK!Z~DS~ zB5J|eZwl{|6y6o_cFl`#{hh>ps`0ND|5J01>0ka{+djWLOT>Qq##{eZET4KJBs=`< z9EOv3G{O(I%IlfDt21t76KZ{?CG}^jsBEj>7m);peqoNlx4Pv=Kq2Po>gTe~DWM4f DAMc$8 literal 0 HcmV?d00001 diff --git a/webedit/icons/edit_mode_rich_a.png b/webedit/icons/edit_mode_rich_a.png new file mode 100644 index 0000000000000000000000000000000000000000..497b4e859b9715481bfd47974be9168fe4480ccd GIT binary patch literal 393 zcmeAS@N?(olHy`uVBq!ia0vp^58U}fi7AzZCsS>Jis}M-r^P1VV-=9_9xN+mbg9kTn-n@Kv{gh_^ zmoHyFe*F0K>C;CKZ9a8${l+zO4_I3R^}TuX=CQZ;GyLa#Y z|NnnAeWnG_M6Hq_zhEGjIKW`E;zJBjSGK2%V@SoVq=4}22biv0l{DGtogt*HsI1Z$ z+TQI%Nz;XI5;8;1fze{zxk^r7(rlFjOrr=U;;0g9nep z5|XC|J5PQfl$tm>ZR(WgA}WR+6I4yEZe;NFZD3$#`0Hb4r=W1j3TQ2Zr>mdKI;Vst E0E=tSf&c&j literal 0 HcmV?d00001 diff --git a/webedit/icons/edit_mode_rich_b.png b/webedit/icons/edit_mode_rich_b.png new file mode 100644 index 0000000000000000000000000000000000000000..732f8253da04425e5896bc991763cbe43d4d850a GIT binary patch literal 386 zcmeAS@N?(olHy`uVBq!ia0vp^58U}fi7AzZCsS>JimC&ALR`N;t31Bdd&7LEcP|b+fByXY_wO%XzWngv!-Jc< zUjznz`SNAcrcKu_?S6UT!pHslA3l7zbKbmf-@eVLub(`5@|!nrj@a8jefsp*uV0tW zAGmev7SPla+ZsN9{`|k8VOD48l`B`C?%cU&$BIvHZvOf6=l_?RfB*hHbLPx{F!-oy z#tqbfdDge%f0IN0^k1Yv*ZaH3H`7r z{;+Ol1*dXh1II6|8taB8_u9UeXRl7Ov@F|D!Xhgkt{qTU%pJ4!M2y(mWmPZu@9`AN wN~P_wa|tg{HkRFcr`}JA+i9`zTqYid$(Kxycv&jx0PSS(boFyt=akR{0MBgDTL1t6 literal 0 HcmV?d00001 diff --git a/webedit/icons/edit_mode_view_a.png b/webedit/icons/edit_mode_view_a.png new file mode 100644 index 0000000000000000000000000000000000000000..e14add2295260127c09687446bebff0cdacd336a GIT binary patch literal 538 zcmeAS@N?(olHy`uVBq!ia0vp^58U}fi7AzZCsS>Jip~f4gt(r#`SR7PSIy1Mixw?9efso<4I9?3U3>1_xy_q5 z@7c3w=gytiAHSbDbLP{hPoF=3zIgHCqN1WVAHU6+Gw0Zqhj;JZJ$e1{savnkTz`1t z=Buewr|#Hy`2LfZj~_oid-KW0tvhc#`S9|?*Bv|dUBCWh{`~oS4jh|3d-j?&>vkPD zdivU<+mBuzIdbIOy*CFA9Juq~$+c_O9=!Z?;lhRMPd=2EmTua#Y5D4P>o#tF^5)CV zeMd@4N-o}ibMM8crOTGzzJ2@n@k=!|HOrSTzjyE6v$tQ)oH_IE-Mjz)|2r3DeFJ*U zwIs+d7|5j6a(E@1T1Wy;okcwM5=dbcHISRO3ocT5O&fKGS?=Gx<_J2PohoYkI z{p+8DR0TwZ7hSMZH!M^Sf^ULqWpA(Ny7g@4=jK4cGkXv1!=3prm$}H mu(J8H=F*8JUxOPM8D_2z`?>S==OUon7(8A5T-G@yGywpmk4`-R literal 0 HcmV?d00001 diff --git a/webedit/icons/edit_mode_view_b.png b/webedit/icons/edit_mode_view_b.png new file mode 100644 index 0000000000000000000000000000000000000000..29fe9077a28b607deee4a0efba57bd0946240506 GIT binary patch literal 528 zcmeAS@N?(olHy`uVBq!ia0vp^58U}fi7AzZCsS>JicSXjgt-3t^=s+Ur9C}8M~@!ezkmPk-Meq!zJ21vi5oX= z?A*C?4G65ec=6(sx8E+^d$n`#!J3+y2QS{O+q8Aho;}BpUwZZG)twig&)QD zC(ph4{G+zEcIC>IYuB#5e*H;HOUwCt?-ndraPZifs;a6BcV4`G`}X_y@3&uke*fj? z?dPA*o;`d2@$(lSeq6l$^z-M>_wV0-^!n?&ckdp*czfy5ht+G=ow@b=>C>khH*P$1 z{LIxyAGU1Yb@;@&MT-`F{rdIH-FGiP{5W&w%zrRYaQ*xN=qcxtAirRU2qh$gV-m}I zpmBYkE{-7;w@NNt<#Tf6alIHPerIm??%jUr&;HwUaVRP-eRKWmrQiwmOuC|zugEi8 zKNYF>hoRznkW%o+hNk<1$wwZYT>jwA(bY?w6>~ZjAH9+ZviQbgH~Y4T+RC>)8>>2l zB_wX1&Dhm#Dpqpb*5GpPZJq1aS?+yZyeII1gKXAWY3{6>ycIuoc@_I#|D||<;ZH{B Vo~YMPrUPBZ;OXk;vd$@?2>>yPO7{Q& literal 0 HcmV?d00001 diff --git a/webedit/icons/em/1.gif b/webedit/icons/em/1.gif new file mode 100644 index 0000000000000000000000000000000000000000..192f26f6a81cf4959932ee521597b4f805dab2f7 GIT binary patch literal 1478 zcmdthYgE%^90%|}17v`5NkzU zKwu2H!~oG5!qgMUWnAPs0cD#wRA5deOwj?;_-|}`{*8Lm3t#u5=hg4cbH3;MIlo_6 z1Z7JgZ8@?W!J3h>Kyn$&V+O<8>QYpFfw&B4M^PNdce)Y{qX2&dG|lKt7mBL^J`D!i z&KZ9P_)`F-0BRrN5HwaX;j5|A+%&Bcz0q2s?*sTtpuYtSDp1JUfe!*)V;&+5O4hU6 zSB>|@4W&tN3e0y#L9N=*1K^wr&M5UgU~UktJevV$#|&*T`T+ok4hgc4h|0O*>g-p2 zl+yg;f66I^Kc~+>pgg-4tDRC#55>;*qo&*ZxjU#xn2o6@-K`hkWRvkphf#KRT)gk` z@Z|&_S6O>mXjcqZ1ABaApij4|O+|!@K;)y?ktvV$#ST4^}O- z?~zo{F-eq&e;B@yH&!Hxi<3>y0n{iO%afqy{>xU1;75i@b4OB1hj)RvDyy>KsICo2 zt_Tbx-(>D1iYvKua#Y_A=7v#dM!RS3_`om@BqFx>LO#|Ki~XU{j-dE3z$bvQC-qf7 zrLmGJlU^Hb+KtbG2}zc$OC%~v#coGIx%t-*xC%`C7T-|){oD`==Yg&*9ZvR4w8X=g zlh_lAvUZO_RiW*Vf%DUq1!)cEPnyPRjU52jf$odnjf=i6WBC{d*oHemE#Ic=`0S?m zLpTadFTg@CPbb+0XTZ2Pa_~|VcdrfB@`b89+<32kp^Kqwrs>)NZUkj4vO&r%Je7{M z(9K(c{O=waw~q>?#s;I&p_>9WT3VP3lJ!>Bbfg*aTP(YHCI}Hn(rroMmxb3ktCK|; z)e$#PP5|fQ?fJctk`y*@Yt;dKZbc=$Mw(rDcA5(-Z5d>H+ zTXtrXFs{ymek<{*KDNu@Ey9uKtJNr*T@iXb$iHR7t}L4~C3agF!lIglsAgqkkGIol z=k+CS;T&NR@p8)8c|BuV>E&saOx`}5#V(bw44b{9F`j?;G1OU|Ck$34SZ(%pKjBOD z`?CJPA+`IjmYK1+2V?SpKG$Vy>VO~et<4VCwXWVV?jyqCI!aigly(I{EZ5~cN<B&Rw6MMEE}eQakTZTTGBL+_J%LU2;jEO#)hJF#X$K0NsTI_Eh1%=7FTZ;G z`_laf`W$!XF={+&GJ-h{PSmXlTRh!gmzuno`oSW&rM(+T%3#}A5L{d`oAPM&Jc0vB z#IJP;IZaxf&t$sW5^~%={RMc={)@Nxy_C(~W^i-ZUXDj68RZo>5L2V`YLi6qSHHTc W=tQYD#0zfny-eTN#{UPUKl%$zN_SuY literal 0 HcmV?d00001 diff --git a/webedit/icons/em/10.gif b/webedit/icons/em/10.gif new file mode 100644 index 0000000000000000000000000000000000000000..67dabd59f01da19f20b6de9aba2ab9b990096517 GIT binary patch literal 1408 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 literal 0 HcmV?d00001 diff --git a/webedit/icons/em/12.gif b/webedit/icons/em/12.gif new file mode 100644 index 0000000000000000000000000000000000000000..dcc1c8f640c9ac5d486cda707d471e343d339ea5 GIT binary patch literal 1459 zcmeH`ZA?>V6vrX$rn4DboC8^JOP#QN0W-R9jsz;%T+*YY%dHwn|@QAH#17u5Wa_xogm zv74*DeRfWkpq8Aq-p@7na&3#0)XeU0srd9o;!mAiR;{^@k$RA0-`llSOOx$J?H#OE zIMT=^Hs-n{1xrI!*o|!4Js?aEh!yCn%hag4X9p!+wVCrBDV9DUO|Yu~asdcE5Ie9m zR!{B%frIVYJzNPRZCu+D)Lj4eamyFP&YI+>JiBSatmW+Vb8O0NYv1QXva9xWSeUqj zFVqoR%T_JS_IyHaz}h(1Is@~aDf7K4q?O{SexWd7VPh*-*5(qO&hHVb%GB>7l$X-7M!2 zs>_{CC7RwILIvxS8I^_cCiCv9Zo0DK>zjqg(tMcYULgO+KNIjLX`GmI+z;4^F(GdT zyEsvm{ubALUWgb8a&$Sq34)Rc+ubLwT|6N0*zrp~XBcAhD^ACcC#H`v5*Se#!K?0q z2G?5~eu+~*GE{=-dU;;-u#+I*y<-vIRDPLU#%Evf8J%w79`-&RD>6JXBp-}(9{N?? z5wC6Hd?zp989SKt_+($DYI&Qh<>d6_Y__&AS;x;*u&5-?9Nj$=6= z7c1So6|`)$Jt08pUH{H0UeBTOz^hKe2!nbm&65_*vV9ufA4}sSUVd{QHpGswXw22n z@c!t5XGs2)a{Y9mN7*TCF%;EW!(MeSHF_g4n7Z0ahy-4w>xHZ!XAv6I;WXiXATm+4 z%FxqGP=OVWoD6rlQv3Etx8ll!c^sd>4ByvtQ@e>ee~+!B2hcrYuQ-UgAp4Mm)Irby zgw66sTX_R~^sSRYy!PVvfqwK-NTBSgQov$Ig_bAzW5q9P3`W=)#%cFTw$L^5vrz{k z!T#6YeZIWG9Tc(-XFa5VoT%`L5@hul#O&*0XXlrR{QK#95B*~8|2BP3ghsi=4RNLJ z?ukV48FAP2{d{Nk5fJ6_qF;E*gQ{>rD4U`Csj5w{Lwl(Z2Rs^;a-)(6N_PmLtzrtE J2c6;@`8P&aF-!me literal 0 HcmV?d00001 diff --git a/webedit/icons/em/13.gif b/webedit/icons/em/13.gif new file mode 100644 index 0000000000000000000000000000000000000000..221e0f2e2af00f217dc4650ef49b7f5b0b0da8a8 GIT binary patch literal 1363 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 Uv?JEh!;DX8Kfcoc3$z}80y3avwEzGB literal 0 HcmV?d00001 diff --git a/webedit/icons/em/15.gif b/webedit/icons/em/15.gif new file mode 100644 index 0000000000000000000000000000000000000000..adb78d17a092d57f20347e565bee01f49491c756 GIT binary patch literal 1214 zcmchW{WIHl0LQ-(LBn=bSEnB8v347#WlCGm=kY#_nPay*)#J`O+M7^oYqmr@)w;=2 zk4sI1lF1QONmb)nBlXY(8$u}+YIN~Xb8rQ~mjK*bgS*Ruy6Yp|4d^1kHv#@Pfd5RWdH`I{9Te1P6%z{` z34B&6d@F~FNv&cW9|h<_4isNju1|6*(giiCP(Gx3d`Uac9j@`j=6E;;)I&fs1@LVk zx_<@EmJc_7j}4^@YE$9%JiD64siBLwG=5{j0zYA}rC@U`R#=;&nf!5Pkc}+^UVSn4 zDn~lNLAzsCM(YmxqE;krgHM`-oFCxWWft?Mh+ECC&lPg08;@dz4=QmD;8lI26h`5T z0Gn$UvQs$sig#@sH3Q$W7#X{3)7UZ#mE0Zt<2xt^B2F2viK(25T6tOycNXE!OI0_} zD*l370PZef(rWe{3N8b1YaVVdLB(@XO|C}rD>@EDwKsWng>VU|x-+#KETu5}1uuEH zr3PKB#TS6O2cTm5g0K)<&(TPWM9nl@1>gkWlwZY0sLHO`JzrO4SKP)_yR_%-G&fPZ z+z1tOQt>0WH4SIMOy^gcou0@2JI zUa;xc*WbS3p&kQ@_EzqB4}o3VWQ{;$#gnA~@?eA_FVpb-10KA>xwX z(hTYnlO6IyC+x$IXBD$w8y1jrU5}lqx0g1Vcvx23e31Y7&+ZqM&Vdvf$u!v1xtB$^QEll+FV~o0XJqS7C049{h%oy4lG7O?ag~EzUk8DsXJn8> zf0)|qb1pc~KI9rfhooat&+cQi^&BxvkCtiJB z(Lth{5kAp9?&?h_kPsY6(W|ZuB%dAQMm~p3m5iTE9@=%Z(TuB{uVqVfC0$WXAHr@97pK#ON@vxGs9UsUy1H|r zuo-qMo*kLh9`fZO7j?eI#;#6iH(#zJOT>P8p6By9{d9lAy?=WB_?p+u`@kVTubszj zFdIy-!U#4SK|l!-Q7=FgAO`?B0;q9-=7I4!KyQJu6&POt^bdd^Cu*e0bYUUVEiph- zfE)rHjrZZ47HI(e9<(fsnGU!J=!rI3r-ai=ef4lF7Er z{vxjNLHJY`Z%7`kE{}v=an<4&vM~tiUJ#NK^88cu>+)gZs!0XrCe+3*fM$XGUe<6` zC|;69_J0TGG-w2fvjviZbg~r?kM308yJUKrKvtyY7YSS_zIBoA%hT8Ms3%~! zKGd|0Y3c*8EpD+nfa(yo)D*Qel*uKTbU_ByTVQ&2ZSpa%x9M(msmM@w9KVx@dH}60 zg%g0%0(sdjL*u#0J_R{aOm+iPQzShNMmwd(CQwrxBgsh|t`3#t2;heis2hYI-r#v> z_4P;Lt2}*Q0Qw8arB`X4s-`FgbuI}2sC#K>0t2<&(Pw#h%sONMa7NuCyMPyELJc5Q z01X4UI0at;xG)Ll$B+rY+1G|f(EAjJW3@!_3Bwcr(Vj{@5rF3>!Wq!p_L#sgw^WFz zK{?fWW}x<4{Pr1Y6bv+QNpe#tAW6ybh_Lb*7%lDrCg_FCw)Pl2PmvdUO=ilw0tzc$`29Ig7 z&8%-Qrc<<{XZO9#?EIHu4$7*yA9cx^I_;)4u8iMiDI?G4+5^D!ak?d82%SKgmHjzx zxsc;%akJe#D%_@Gzqjp{)DTR%s~>N#OnmSVV_7A!+@p3p6)h9w#Dph*RnS-L}euw zZ18TCX{#hXgC*{-N-;Da7$S3BcMtvKZvS612FAob$1Ikb9mUG+PKVqKlby2kkH?b^ zAK^yZNnLoiABI#PC9-x$iw+<02!50#Q8+#<{5?<>S+shge9$>mkv9Hys7tR&PaT*CkW literal 0 HcmV?d00001 diff --git a/webedit/icons/em/17.gif b/webedit/icons/em/17.gif new file mode 100644 index 0000000000000000000000000000000000000000..79382ce8a127f29789abd25b20ca394b23dc402c GIT binary patch literal 1241 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 literal 0 HcmV?d00001 diff --git a/webedit/icons/em/2.gif b/webedit/icons/em/2.gif new file mode 100644 index 0000000000000000000000000000000000000000..9c83e50cc33b78a6d472e01b2b24609cead00758 GIT binary patch literal 640 zcmZ?wbhEHb6lM@+xT?W$^W@SX364Lv*KA*0_3=jGuQQ$BUthm>EP4H+*1yjV9p5#7 z?!@9h59a=PTJir(+W-IG|DTyTrP}HC_Jldrno*h(Ey*0uE^Rrywsm=f&i6w>>t^OG z?=Zc0%yRGA?DyZl|GnvV?B4f(=X~yM51rCeyu3qaPPO8{XTJZzfPor7@jthpYe=xO zV}PrXo&hr>&`iajEUf$t8Vouh^FiKZV7u)wrNBc+s++4tXrTq4_0pi@ObiZ7kNX{Y zJW*;vjLyeRU+4I#I(Js<>9#Q({pP~CQW#cuE1U2X9Qx=X0QN5z$iK`C zj0}7XfRj*Q{7ev za(-@^+%VgF&ILoo7v+)-yzU@RXt1_xfIOiA^g$~NAIJxjG*mPc6lSU{ny=n09Xfv{ zKYyP*$l;-2hbyV6X{=uaboS((u^RI78xHN#*c~gs>wIh#x75)iN0pelueo#I(%^`7 HWUvMRTdmdg literal 0 HcmV?d00001 diff --git a/webedit/icons/em/20.gif b/webedit/icons/em/20.gif new file mode 100644 index 0000000000000000000000000000000000000000..e55ec3081d0a522ae1ad617ecc1202e0059f3f92 GIT binary patch literal 1717 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 literal 0 HcmV?d00001 diff --git a/webedit/icons/em/22.gif b/webedit/icons/em/22.gif new file mode 100644 index 0000000000000000000000000000000000000000..c46dec6cc6c7f401aa85ecedf5c4af1fc6fb1fd4 GIT binary patch literal 2209 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 literal 0 HcmV?d00001 diff --git a/webedit/icons/em/25.gif b/webedit/icons/em/25.gif new file mode 100644 index 0000000000000000000000000000000000000000..0e26fe05cf2f7d988cc94f4c8a1e5bc3808816dd GIT binary patch literal 2775 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 Vv03%pwj|)NL7SpuI#97y{{Vsye4hXS literal 0 HcmV?d00001 diff --git a/webedit/icons/em/27.gif b/webedit/icons/em/27.gif new file mode 100644 index 0000000000000000000000000000000000000000..8aae5c5168861340715ad4d1e09278cd61804a54 GIT binary patch literal 2080 zcmd6mc~Dd58pcl+c0`1-ge3%I8_^h$#SNRViS+;>fTFb;ER>>90jmPma!6QGugaPT zWf2JLfDOw95reV>0*DYmK-NZWxl~*rLJ1@}=i;<8&Yii={rA2z-#hOg-!tDc&+mH= zAMx6|FGLs61=d!9jZyH#4g&-R74zNl7sq8&{smXf6+?dB+pvfTl+Bb64i3W0b8s(+ zya3k)Ag_c8OP(vn{hLeU;6K6q^cZ9VL>58h4-gi`toMLb#Vn^iB*kn0<;hyVqppY? z+!#qj-h+r3oZ)>9OT@AnaIG}}nFQBHeaCA~%b$a@O~K7~!r`}5{cUADE~~Mzaec0G zqca+r1OIIIMWmpt&0qAe0C@|pKLn8_@a5yuru=YTX{t;B${&F*hw6|aP%%Vb8%vi@ zr7PZ!@p8{0vmm@QE$@fq6HwRPl!2zw=E88fAab@fc%tRYs@z!F1USo2m9~LZoXGV7 zQ1%2|?*~h=WAZa%_*Fl?>}Gd07cLG2G;y!>J-D;+@U%qe&o2qhyGGo2@--)s1kZyw z9In0ox?&`3jqj^?N0q<02aCY~KO@C>d=>k<^}bVF=EPQLQbu3^e4ilcF+y_=f9b4!;}EVqNYkOEfdqu77j%f7PduN0$f4#R#RmuhEbDC=cP=Eo~@8T|U&a&aTk)+{g($7Y;m zr<}7g)v`6wV_!JHuYzb4T))@GW4{zlTa zi$sFHzpFVb?nG4~Q+T%^FP#({LF2G4!K+l^-NJ@!*Ylx44F~j4k9)t;}=< zH4a@|2Pyw}eY#sifm>It!+I~sx#G7m7-Vm0DlCYQi}D<;O?xYKx- z${f+~^$ZMfr%*i|h$IYZ^Pc%SR_QZf71;Sf^I=T@RRma6Gx4q~?qGz_r4WD;QW(b0 zeAP~_hF;K357QOeD;g1NWnt+idXsZqU1?7>B@I9^RgWmge~Y_y(8)ll9G*` zjhB{=_m39y9&8mO0I(%PXjK&Y@(pdBt(rd>@5i4y@uU@_^vs!9Ot&wY+eY}j0U&k! z43zz3h%#WQU$39qOUQWpT`Tw6e;X(tnC1(VhBz((>r| zUW88m7#bG902-SIP&ES<$CyGg-SwgfyTg#Ikwn1`8#xB2wU=}x=yfPzKc#t`vZ=w& zVoTj2D2cLFvulf?SVV7AR?)(KQu9CG+5Q($^d?TNO>gC!KsB`q8STu~1#L}ei9lfZ zU}1Cb>gNo@cUsON!Mn*Nnkr%4!R?eHzAr|Z^zAcody@OgLX7uzD&7^`qSR38!Yks_ zXA;!QCaRy~5)NJMwCLGWeK0~LdpYM{*>h=ezh~@c-|G);t61q5)Y$aVc)^Dz|LAnr zx zT;%Wmc<+Q)-xLO@1r*h%uAUyT)91~RE=(09t%N-paH1(4*=3w57T3g#{Tw!ZES+o| z5*2MetvU>$B12t_a$SbVCzH=lwqE;^^vkK%OOwrosrT?sjmjfYnyMdJ{+Fd;s_O38 zxu8Ua0G}^Br0+AbuB&4V1aXyK9gsE3!cvWD>&{e;4E-23UEIl1$yU)aDLtI-Zgg9+ z5ORGVSvk{OC3rahu-|FYckfS0UjODr$+S`#T*@)f)2}Zla=*~n7VhIvNBdl0H{n?O zIEdCUVyC;i$nt30+54fD8e8}6J^0mFY)0`fSvb~;Z9f+UKUmUu%Qm+ud@NLqj-Exy}y3&iM7PB;w7d(rL5=h2UDsnumLz0h{(yp^h? uuzq#)5OlwhfW~Cm`>G!!V63{09Sul(HKaP_DV&srQG@@?=l`7Kfqw&(ji}`S literal 0 HcmV?d00001 diff --git a/webedit/icons/em/28.gif b/webedit/icons/em/28.gif new file mode 100644 index 0000000000000000000000000000000000000000..c3aee8660db7c431c134fd83124335bd6b98d6f2 GIT binary patch literal 1310 zcmds$`A^el0LI^52sB&;4H8DI(@i62BhJCtmV(gp6)4v@oFYd!+~nAPV6u%%m<|>g zXBR+Pgix+=w}9O&*SLm2f#QHNt`Nn60!H}uc)!E_!vC-*d47A6Po5`v*j$#A^G!=& z3HD@wV?i!VcGFBj-O6X$IRQQa(e`4QGhP3W0N23nzZ%faGX5NncC|N&Ge&-^l2#^_ z<|Yh3sz4J7xEkIKH$=@Wz3LmRowu{Dn(Y%yioZbHe`}Nwt#xW=p|&4l4Lpr9r8F-= z-5!YgII8;VXbGZqh_ArX{5#r(YTaYl^zfd%rDSi)bN}&G-7>`ffZF-bB}KRQYkkn> zWRox!4aIbnM(MX^VX8-ZAL$i(kuO_f>d?m$UNqJFYa z-54gXh`@%g$tB-wp7^hhH%rAyO*Q#gEl*kzrD*vPZOv(FgLHGbdo#HkQ>~h@aA|oI zwpi2Gn2C=jZM`ybXHcMDAHaIyhRnC?7DKxLS4S%~%`v*3Zzbg!_!iugd(L)-pr=Lq zt^9ql7us1`n0(Ul@H_o{y;`1yBdBfjLStMs%0bWgNWwycTxP6l}B$d*d0nl8+Db&>&~J)hjR8J2- z-z%=(9v9CuNQ8r$bc{@~12SO$w({GX07D$a8QF50MLi*{w99!DmG?+T+-W1ROz&c* zQ>&d*&+b5;y`zgk(5ZbA&%o4x?9jZtY-Va{VcacDuPY{ys7ajyhWJ>`rsJktul>s3CHh-cM~((GI*0tqsE*AppqbF@$V;*36vpSGg#jJBm0>%30%&MF zz2a6DocQHCn-^~dh&zEq6`UVwaJ`F7eeI#F3vgg`a6S+?iVDLA>#W9=1yLLmCL_Yo zoVny*BY5ERi_*4=Cpr`JEayE22zcMC;o5zgW41TVoz9Ry5B=eCx|b-dDDdbA^=`Y752tk~>?sT)rHJwNTjOci}YbN#hBGKGJ+@CFr zzBwJ8SIi1N`q3RLVQnadO*wnKDs@{`?OtT>-a4K5^GRx+H8&QE_A!D#U80Z=0VF^H zCV+SVumW+D#Q1uVYZ^Jm?Dck9WG!|Rt%`mx{l z-=_!b7qXeTJ_HpJ|}lC_;r5b@7uAzuf+fO z{O01J75~1y{&hC?_noCb4kRAlz5L(%Yu{g7`tjw>qeA2&<_kQ1-|L^1de;;noo>cYo)TGxB&K;Q+ziC>)(P??NS34Y?-+cYZ zf{tL_4nC{-*>kCy3l@X#gt>KXU=Z*JT|}T)QBsjTRB`E^sFj$$rLLyN-TRdSQoLNM ztb%N1FevBtCcetGlYW7+Zrj?IUbaekTR-apTZPmwRk;%uB81HbaCnI0SG zZMR}@>Y9_We93W}>~|?=W)$4mV5@aOP l$%czf>#s0$X(|OQHnqO~k1=H86JOD$M+L7~Iy3|rtO3ocuulL0 literal 0 HcmV?d00001 diff --git a/webedit/icons/em/3.gif b/webedit/icons/em/3.gif new file mode 100644 index 0000000000000000000000000000000000000000..b68cfb128ca840c863b8000973a4f0f44f515aa7 GIT binary patch literal 1939 zcmdUu`&-lZ70181nwS77a)~XnB+`mSX{4?Tmf0j+3i1(xU_qBan6#j?9bmOoWlaL1 zAZ=AZfdVriNR&xZAMOd^8Vdv^s7R}T;i9M@Dq~GTlJB=c+h>o@{(_xf&kyhOI_JDT z3=3iTC$53kKt>Hz?oWMcG$MLXbc|~m1p|tIB2!@RMk?}eVCvXun+KMObC%o3;9mf; z4Ej~)EEB*o2F$&{d>tTjzm9{~{KIe` zfG5igx+=raMcoCSVW@6Ewmo|v!7zBf{Mg3+vhe94rLHEvv1ns^&6ayV3ata8#`Bpb z4M4_$?QR|X0N8GxF{xwWXLsQz!=`pnb}9`q0n4p~vVx;c70K2PfJ}g2IwLH7S!E~F z#v9|zSAnG$Sgrx}xuoUp)Sk;yy`~)b89Z)|9&P!H{Omz^(a>}*`SHyw@+eQsUBR^W zjCC5A2LSx^HlhP+`9F|npt3N{*tXkvGr}?gV1vB{6jeF!5>S*JSRMh!w&?MOI7MZa zxeqi|W*|cVwgB@WXuKd@z9v}wG0N1MIIhkaZ;OM6!L+VQaX#0q0k+4$Itv=hlGT+- z@J~QqoW87yAML4>m!uoplGHyG!_UD$d-dF4w52_2OtDYjEjP6vl2>Heo&am_L3pO6 zr#3`UTL3?eu+6G$^Pk?+9)ahT@C>j_?SU6!t&d`CkDFopFi!`plV$MFz_!qATNu{& zHTS4$dzvb&vmJAz+=fWs%EI)HuY3kBpRp~B4Ah@Ar~@W@0u~?K9yn{q7tJ{+u9f-0i<9NY=m-pUQ3*xg970|c^#5OUgcK1R6CKFm1^f9jF(^9`-HgSp zg*4En6}lBoAOZqq5{Sl0uX6S~t-}%dE$J!rNk(yAA;$GvDuvdW@4}2$KlB&&7Jh*Kip-+OVikPmp>+>~ zw`LcxoyeOjmOt;3@KqP^RN)4PH$q}|h@MERa2Wh%-u%(M-9v8i>H`_9)8X0^*tFwu zdny^DM3Ot!(9TI3rg;!=0~(Y#RDy4#PDj$v8oobXBdI|W1Pb9Q{t_UNVgHqpD(t_A7VqhZs zgzXYU(*M-vLF;1&I-ZgQFW*9~zlxWV@s6C*srz)iX9muj;O^v_!DGMJpVP|z&=3}K zgz)zL@u18+#&cA$B1`k$K?=QlRPKaJTf5}CBXPrPbeeA*ML1Qx^9}Z%DeT5rUn<$n zV=1QJt2)v%pp)5ekcCl;`~-{l>Eg(24Re3Ntf-;hWsv$XHNB-E(g;s~AF}3-*7*9`vzAm;ttJQI-n`ID%o}_(|M`p@`>ILn*2G&n#+#vtW;}v~1 zf5mYVd}3y{P5RJQK#0GApdlxSU_jR3Y+?8ck@G{kI7(8oHS7S5`7+Gq z)vqi4EsT?(a`pr*b20^56{l=DB)#q%^Mhl-iKW$5F8pmrTq(nxKo0k<^j4af6zjMd z$Di?wDlojHANJGcmt#T#=qv+U6yKiSICxm*uBQY!ZQa=>#ziFi`r80_7xDuyK$}8O9`ZaF8tTA1);$DXcL$c42dQbG?#=KXj{U1j-c1IS_ zT~pUxxAA#ezn1)>&AV|&!n$gvqeyu;Vjjb;29fXIAion#`e>Dd-H{#78Eg@1{YTO} z+DnDGlt`Fheg1Z=B7Xa-qVF5_W4y!5x!%O3PTobn%8|WJ*%@8KZ>42kDa>(L|MnmD z%5qEUu$Ts>_s4BB$)tDU|9IfbIJ+ZxtnL32-tf98mXgr$1no)+r#%_#cN!F~V z9xo+IymXr&1FG8JuSO@v(a}|er0(QUXSBzXOM0{?2mgAy$Ys-wT1V=Z_jsqosIS>u Wr0!0MojnQU)!o`ail++&djD6h1~1G2 literal 0 HcmV?d00001 diff --git a/webedit/icons/em/30.gif b/webedit/icons/em/30.gif new file mode 100644 index 0000000000000000000000000000000000000000..51054ede670670c20c2aba836ff2a68051753b8d GIT binary patch literal 2319 zcmd6me>l^N9>>4?X_y(}EOZY2aI}7$$&RL>DMY?%J8}}Lp)fffKRO+BPi>Ppr4tp| zkd0!bD3m0PaFESx*-CU*xt=c7QKy@Y?Ylcp=XuWa+4$b2UVsJwm{Wia z!ffdM^IMe}rDs$1W1%8Jo?#jsxOds02IqRR`|nm5{t3Q&QV)Fu^}o{RM;V6Sj5@cq z-Jt$8!!QRzvedDL*wTX3(sNm=2SS4m)IYuYep1;kJkWmQ;;r)dhMIHjqGMBvo4W2K z=C)yy%~nytM&4O4JCPlYC0$Ju&2t6*+_GUou{w_S9CcbfM zP7iP8@-$D6}-DmF9>&fjAgo`Cax*}BoQhG(F*0~8e{8^*!;Zcy6`>h6PcT`6-N z`#y?y%uB%czc36lpyp2W?8sT|0BCp%LT~5>4LGj?HTTkW&%xQYP|ZD1(*bG+LG7~| z&Ha$swgcKe5c(Hg)4qGQElfX6hu-a&f3$!8>0W8w&)WW|`7y9Liz2D!+!h_zbcM*e zMB?((`ZS`XDr4$)sFd$DCk;~#Pzw)5N~?TiwLYp}sH!{EhQci9C~>4Vs`Dow)pe@k zGF6xCI&djrsA!Y&GIgYdDyd9Rc6iG#dr2$23nQGBcYGDXppklNL5!b5xLMUnRf&z7 zQL1~?!o4I_w|DY(&m@1+$W3ZN9HTJW=TRLsKYE+~<+r`hW@EmvypW$>cGTIhIKW?E zoDJqX{C9gGHvE=7p-3=CVx)S9v6f$+{;kRYmsBfjF2m{Ju;) z(wbRkX+QNLl|hG_e-(1ft5(4AJ>%+^?}g20R$k9^C4FAEnSfsag!;b#p(4vnXOhGK zW_xmyQ>vPMAs*qKY6hs~P4Vv4gIAt-{t6G zjx2jISC1(npyYOeVh_*~X2b7C#USj-wqYcu(+U?07jp50SqDx0)|PV8(VuI3&5esY zZ@(=xj1cj&*YTCBPfgZ0O-QAcVZ}ldMkT)N3g>P8rijlHc5QFv*~BmsS*_{0N~>tT zrPmR-r|A30ADVY>K^_y{$lWR2dUs{;wtrL#kaqj{x{Pmp5!v>PJc30gq4UJ}Z*-zH2yH<&?pyGiBC?WNYvy#b|?(x zmF&3-9!4J}YLm7!c^twIlm#`#NxmIU^T_f`jF3hybFzp@A@Q54e5yjW^1H+)mB=&O zw@xMT$rWg<<_`T4ueo8j>88_hY8h!nX@+J8%N z>9paeQVTn@$LdC#A#tOszCIy`TH!;NH{)I~19pY)zkD|EaG_79JW7 zAOZYh8W{^|pqc#6Y_y5ojWG4335LLLa%`b3=?ccdNPJhC*f$sJizHFZCYp^Q)J65* zT(xE2aAnAfFjmAMs|W2yAxL=cr5k=6)io-ZJ6Vcj_I~z~A=D-5WoQ3aYa@*8FD@(R zlOsr;Nc{4J8o6r_xDQ0Ca=35rDlzhJ4YUnDD~b09%d?Vldt9?{AB`k=i2PFjt7Ddmdxu*-)U zDNBBiSmYsj^%XDh;ue$($*0P3FcE9{|2p`y0`=cdQqeE~ literal 0 HcmV?d00001 diff --git a/webedit/icons/em/31.gif b/webedit/icons/em/31.gif new file mode 100644 index 0000000000000000000000000000000000000000..51e9ab344d45e569b9c4a029d036cf6136f27b80 GIT binary patch literal 1197 zcmeIx?N3{E90l-88G@^9mCX&dWwwqf7&QZ?!P&%iP*&3~)lzg#m{+6=0u$%aJ)mc$ zcoFEOH*f%S+6uI>VC!$!x0TX=Nc_XFK6S(YBQ&au@g2Y`K(=0>7JICHE%+~>+)C^P zJOxY%IHcx1>vBoxxw;Ldy{N`E{RDObwsLbKoBU!_7K0 z4%!-pwx$?+08c^C4d_poUR!!+M7r7|HISd^u3Wfh6zf~^UDvbczL(7zD$%-l$*du3 zPj_EAr*F;=4ugOG8oE0koCUW@i#9xDy#lRGZ}!7nw=6J_P1Y$kev-`Ua%oo?sd-O# z?J}|ytUA97jOLQf71XraZ#|`JtE6YH8*g4TX!9D9l4z%)~)ERkp+p4pn(x(N}1iKK@Q2s>K` zRqPv{h9i74Uv-e1$$Emc*Y1aR55(>cw_FN&C$6e2L@2I}4AcD1Vabie_Jp>)-eF}q zGdZ-(D4$Xg`(lz}PGz(zx9=~1Dk4@`6t9#f)Uo4}d78nhME28h>E4BjaK?wJaL&sf zih4F{OhpY`U~BKMbvMP)n2`!iQ|G>hsP%z=`got{BK<;Y`ID-)`|@`HCL z2|`((dX~f0m*k~aAB~R7+T)Q6${B~6syqKSkE&y%i)1gbJ*o<4d@@&(%W*!wJExFf zr(_XzGf^e=GLN7&^5v5XUOb0Kv@oNNm+&SYg2BkMA4l)a;eVPE9w9v=FW7Jlwf1?( zGRuTm&U;{WXv>O0Y$I62BloRD|5}+3t0I`$8AYrdB}DFh9^$Hr)Qiz!X~(>5)rpjv s*hia6JKC*bjGftqM_E#nh?SVIPgo$=e$Gi;owau5KPiX_We_j@16l;u00000 literal 0 HcmV?d00001 diff --git a/webedit/icons/em/32.gif b/webedit/icons/em/32.gif new file mode 100644 index 0000000000000000000000000000000000000000..3d084cc8b2e32aba04aff07a4dfd7a49657e3b38 GIT binary patch literal 1674 zcmZA0X;f2Z0><$G2~ZV_EFB%KB^|X>Yuliww74J%vLw86*km~cMVnFZfC6HzLM0Fa zC`<(eMWB!XLO^9JOGwxfLP}_W02MGSCG5LMtt7ekzIQmbA7|_! zn-k0l8#n=z=i_~ho;zRSzXNon0z>C&$xT+GS zL|`)=u#JwXbD!c>vp)Y4e6s}CXW*PGR_p>*3~U*o{D|_HU|a`aBLnXNm>_dV%GFgf z@KsRHyNN3SFEbKXGmv^ZoCf#=K%N6^rD3$h4j%(hN=Ih^t^wF&G`ir8w%n`By@V}- zu{uB90D#Zwu!atofUf22(r@x{#nU`na?ZU-9D?+Z|Bg=r_pU&WW1oVG-FBORau<8 zzMw)T{g)66msn$mb^WvRPwIiEvsl)mw!vhfNQ+S7u+< zbOdPH&cj(Cd6qEsOCdHVTAv+kD*c}SFcKMktZDLHZ16(oTG2VsUUsAIabi;`YpNp) z`Sl!Jn}F++?e%$@=3rfatg_|DCLVM8xeytPmW#OBt_XMBn zH*B#%s{n7>+;qL^Xe-dXUY3gr+C`kAG8z52u6(Pe< zu4wc8RYE2lW6V}MG~N$FrJ>kBmQE6`X#{u+BQNplhVaay!a-4yrc)+iwQQX*PStc9 z*1Bv|1Zj(c(WgxK@-(b#w|&`sfpj12r4-{TsEO*untX?Fwgo1`AT*x~q14_)Y!k z`%!1pd~DJ$k?|D(m#W}$6(VqNd=Sy`@6hRN&vd49I@4Px=47T`!*QI9Z*_C@_Hv-Q zJ0AXwVxUJL5Xf30X)ggM9NOHQCov}wjBx_~&K{R4E;as|omkyQ?JxPth-5hV(?^N| zhfLk6ertLP6KRg;m@hzM=d8~3RfWedW zvvX~m!TdyUU#rhgN=Hih57Y$b8AfQF;TPA9v)p83c1 zAMBIdxkvX6NM-kTkXXYW;S&AClloKBft{yHVtrzZYDcUTIn{=RHRv!++7V}6;_<}LaQ}}cyQi~RW#5aoBnR7F)O>Pn?ri+r z@hgw2PZ%a-?c8N|NZdzH+qPRt_oFq?>|`cn+gtERCNbY+?^5!q6p#Hf*5@=Dmv8O9 z#nSEiQ?&y*Feaj7cNCY)wjhOg7;N|EA0Y3#OWE1SA(4px%}U%v-L}bE@|HE6TNY5d z<>0<~M=MVJ_M|jyKE&JvY;50dhjis5< z|D~I~P0u3WSjrHO-NrUHherhNJjso*P{%51uRYDmez}{wRv927Z6(sI!qriF#Z04Jhl>epS?lfXB&XaP?atd{#Wn#|vlLa_Rf7t2)M`1$I>|`pP1l+4w76|1a{N zrP-UMPe`tux24hhDI6N-*+tuV`#!4Vvc)l?cCL%H*I)mSpktlO9~j2HUz1LA3L2#b z8r^&+?*Jv)hJZgfVKH3f%OV^B|BQa6c+qb8sf$Y*S^U=a_+PensYTyj@T2|B=mInN vFj0?`a3SWj?RP;8&Ot}vai%2fZeYWi3!|nrUK7;~)`l_al*x1Ugk%2!!5EPK literal 0 HcmV?d00001 diff --git a/webedit/icons/em/33.gif b/webedit/icons/em/33.gif new file mode 100644 index 0000000000000000000000000000000000000000..465a8676462299c9f5967818f914913f883b8c76 GIT binary patch literal 1259 zcmZ?wbhEHb6lM@+_&$N*=P94p_fOtCv*zCypTBQ>{(XA*|ANoIFVB8_e)Io_&+mIa z+ZI-y+Pmc637j-(CFo>A}5?;p-Q+{JZG+dt24->pnley!o{# zW#N><-LorZ^%wnnvg7gj4S%2So;|7R|2v<(8>c^-9kXIV$BKE)|KE83+vWLVgZJTW zbN=u3`gz3X-@9AuXJq}J5%T!x)ZdGJFYKH9`oX#X_k31NFZwaZ@B1FV$EO#qUq0#6 zvul4I0~KHTchK|iv!fSIZ2z+)@$R0sp9g&YeSY%ms?YCh)fW$~xPExS*4gPZI|>(0 zF8cTJ-tQwmOB%9&uJby)vi$Crh&{_2{%vyq|H=FRS)YGrGM`-C_5Xm^!Wj)Gch7&d zJ^0Cu!~ed$-ZnS=?^~ZkYg_(2-~aE%)N8Bb{=Pf=>E*3gmp6TXap~UykAJs4|Ghi+ z``-M2n>_xkE&6%J=l^M+e{V0I+`ZucW$#bN1Aoqs`g?oz?_smcEd$4=Ow48q@GS@F^Tfd~^&wihOCp`Xrc<}Gz z{V6@ge_#3hzT>l}-t7PX{|pQa5E9531yl(E#sA!Xt|7tBjsdPldIrplKtmOOvapIU zOkmIfSpdo=3>^O%6gg!)HY{*#GJYVU6mqbi$B3OZ?_f~VL3SB~CYwMZ)<#EB%Mz6+ zqlE{g`4ibXUkWrl=#Y2jE3gb`I4>)g`5|Pd;6hau<+6V^Qe7)pSvZs1?6MXtWn03d zc*dsaNyZ9(1BGQ_v0N`a#MqoyYK01yy;j!X_L&kW^(|0vTd@4jz$G1gcNUhuvol(t z;kkf2s@?9u0)-EYEkZ=TCN56wyTo24V)0?o7oINdu2~F~iOQ_qW-bzz3I+*Wvz&vj ztqC~N=)$A!BxRbkrFqL6VX>+w3pX6-;&%3tVobP_agpKS5!VX_3M-z9tDF!Q?DvcD zn{La@dM0j4!o(c6JA3m51p)*Pese21Ke=CHcEax_Mn*&^F*C3+@G`IhLrIxI(YA_Z z<${Batg^f%Pfjd22S}ehXU&p=hlkoG zNXXS_OnBhZ!pzMW^rgfI?~7@=+z=3z+epk DAVt}< literal 0 HcmV?d00001 diff --git a/webedit/icons/em/34.gif b/webedit/icons/em/34.gif new file mode 100644 index 0000000000000000000000000000000000000000..b7c2bb6194d5fff59630193309441c84dadc4e9b GIT binary patch literal 1975 zcmd6nX;@QN8pm%Ec0mxRiZTWqRH`^E5)f($#DGAqz^Jv1og!97SzG|;8Kh4PMUvCnqq|sVelTFO?42}T|mN3`U=f@;%WFW17C%=UO4r}86&|ak{&oQ$Z2V! z+i{oNiby=pdx`_Nr!fzgEinvMdjJ=H;HzHE{vK@2iZ_KnKMKTA*|kaKg{)WH8o>2g ztU15Le_5Uv)A&3kjrBuOO5pUnI&_XBYH$&639Is>*iS->GQ&YXJXq?1O%@Ea7LC1d z$3{xg;c{%Q9`Jlb^RH0>jErZ22_@8U0Z$OSVI)pm})2tU3^p7S{5Pb zuh>`^e$|xGR-N8mp9R)Nz#6|OJEprnd-{DFn69nL{ZY`7v@tt~zDgDJ=3pxWVC8jN z@!f_jFR(gTm3AE;gYjM%ue1d}Q?{F3kRe%Lc%$pDAe(}>I7kN=Q@Jkq6dg_Yax&8$ zucL!fiu4WqJlT6#isJ(g_>djQry$Aa&?IGBq9Cj$Y?D(lUDx37j3^G zZoC7871EAqbdJY+=7B8__m*DemH0NWz0lDzWTIKx>W_@(FNK{FHT(-13zBrPq)i@U zb?(SrBT=1~_?Ii_RM14U@i>Qy-Z9L2a0_!M^O;9q##&6Kp6GjG2Kdh68fP#Ii;C&U z2L?LEz+cQ*?VzlwXKQ<8;IrdCCAvQIhkBWxD-`JInJd30Qv5p;-6glr z9-sxO>Kf)j{kih4neL&L@;s{9<*B#3s&A7`zW8ojyXX?6rtP#(!Sol>O|s?%hs-{o zYrB`DRBq&@F9fm%X> za5LWbBLCvkzuOhn^>!3Mx+NCwlu+%aJ+;=;mnQj1JAw&;UNP*FwN16-28`Akx~W}%F>)oJg!)2BiT$b4i8 zw^;FaRhZwb#*{*|Bg?=vP{XOy;7@7h1f9U?mXO1)IR-laj|e+u7Owvf79Q!Hj@5P2 z%(Jo5NiiZU&|GY^@MI;ft^U;)Hvw7}en!90SW|%_mW_to#I{e`tLt0g9bW*F7klRn zvN*+GDF z)kiwxNGWHv-#@xs9!x@XbWRFsW{J48cvS9uLA(mlm|JUV5X%eR4@}oS+@3h@im&O{ z4=|N#gOOIXJVI3q^)oT}kbQwfN9OypR za+VfHAeglNM^xTURX^q%>d0KboF8H!_tVwqxkj|_i6r7DDzo3z5g|nxm9k7-z;FM7 z;p434A4qB{iR=BIoG9`>5Onf!bnAUIOt{~1og5WMM0A+)fm752i>FlYn+1?b$5h?7 zM`G;k)s$zzvcPj@LUW&W-<9T20om$S{?te9y>i?`9=I7{UjJ6qmtjOJwWkMtJguMN L4oa#@&=*0=k7mwiOuCuYE_*c9UgjW^ATpNEmLiWGoiJ zS`s#4fYPB-7-g_UAkG09MW75;4sue;aY#W9~8maF8){l=ShCQ zgRPz7($wsmmmIV+I@habNO=VS*fm zSevZ=NlKd_T5dF}QDOn1u8I+-@SMd5FdZMC;erSFiPqqlCse5Dtfw~Bb z7E&WZJRu+-3F&c&+WAOBpoLES5|X;FshT*{M&OP4?KT0WCa5-|S}CUu5Y@)fW=IYQ zw+9Nghp(U|XlWH%8U)+*1fCP%=TA{HA9oUXbA_Bzo%FCT%DaS?Avp!rSKa~uSkbKc z|NJKd`)J4bSg|N3Dj_yBD41bmUEXK0WxD|d2;4ce^CrOF3_b{};gmC-Tok*xNhPLk zmp6p6isrP7hk-x$l>-K0W3vm7c2m_*zLQI&n0hz*}PjIZa;}F8YUwO^I1a z9F3pNO>O|Zo$F8@`RywSsiyIhs=*&!yRsyzgwJ|v9mPMx2vL#G-Kf^CmdMM|0_~Cc zp!o5v*!kuVqHLP9_$@ziXWH(#u=|$_8XRSN@#{J5Z*p&o^Ai{{`)oVAx5J~)v2S|5 zD;Sd=7#u3v#g6FXM{BM#?7Vzcd{cBU(>W63 z`vd$Xz~@>P%Yiur@+<$5@_l;@a9%S+u;ZM33xgB5ayD=Sg^8K^kX#^*gdoJCc!c^`s^ON3M<^mooLPYD+(Ud#0UvO#S4 zb&r-I9A!Vb-tVWg<3?>}9uyg13^(_6*O><6$h{*d)m6pMiDGiHL+&=4d90%Q=l}d; UPvPhDUWYQ6=2|MFN(v(X2GOc0!2kdN literal 0 HcmV?d00001 diff --git a/webedit/icons/em/36.gif b/webedit/icons/em/36.gif new file mode 100644 index 0000000000000000000000000000000000000000..779454291fbe8042adfce853445d7d5ad3a58447 GIT binary patch literal 3641 zcmeH}Yf#fy8pe~5kOU$IqzH0%DC`MuBk z%-QTgqu4W-z?Q&fTVXkG)oKXLH3D@TP|E@I224C@fTjnbHzPjA7^MuThd{rips^yS zSa3A$>;Xst)JmY51kj5{NDSsXfO-PV)dKZAP!9m*Q!v*8Zph8#&!I znZnG3xk}BGF6h-0)#x2)xOBccQc(+_sRz(hi>xWDuRIQV-aaP*s;PEW2M-d5$?o%1 zQ=JWWGL?71t=zcjkuGR@Kv6+26r5B|HLFJM7iPslGZT=M2Tk<|&qqM7hoM*fy@f$F zR}Mpxu)bT2*)m^Qt4RF_s9Ql{P6G7uabarst?Ve}=-v6sJ@Pk`69X;7on@-QJm}?s zvNocv@{;-`P>%t51yFPYbw3cKas)pgfTo`+`ZK1-dfKan(A#mwad!U{Is^>k5hkvUnzNj1pGgV&m4}MUM zbrj|&t0qf|vyKXR`xHYvyRPn0JqPp60Yd(PHgU*=b;SLJuN&X%zh%|JDtF2C>JUAntCBV@M2OI``oeLy(~ z=ITIS8AH)q+##SsQlJoXyK5YvcA#wIt474~ii1!qQ1%o;!?n;0FM0Wn*|P2Oicsa4 zpS+5x8V8DAkdk=t;&EbK|7`gWcCakA57bkBw+YQ!Qa7}r{IV5T^ ztQBUpQ0l^(z%Xi92G-PFl<5@X7yiYoA{p(x4I1^;JSi*Mz=*ud7@nQLb#gornL7rc@hS%t-Zw!XmhC{p;8Y%59q)pE(m7W^{nBOsMyE=&vYO~q2{ zBzhU-OTFCNH8dkUBB_s9(HYF z5$XGQpUiLXLFS%Dt3uZ?gHBO^hr( zO8t-M>+rR)C?9lNaUusR3|4qPGmoV8qlq@z&b;U@Wc;FyI(CB2Xv`=A1j9 zq&G&Uce-`icuH-eqy|kXIeJlYy^RpA|vS0Sgq$aIVR9E z#Vj<|ba~jhh5iYZERX46*E9^j2#5Krz%)(ZpgOP+7`u#R4l}8aU!-g6dT4U6CP<9& zS#50%uSTLW^eINRM4KSYX;jb%o_NEr+NuTX{eY0iG(u_11FZ>v75YC{v*B-|T7ZGm zz+ir)W)O%txfEsQLOVx_j&8==t(PZO*(75x+3SXh_++-8zOCoe-S z<694z8S12jdh_huuKA_CVf$vg9RD#T{Czur${P0Xjlkx+L-=fJQiGlWWk$66-3UzQ z#sbOg&sP;c6i19YZD_uj|Ie^lUz5xz|5}W`VArZ z5(Xu9G!6`-^EPi)8B%m|sN1x)5DTfX?^DAyxbYg?k?(i-9v8D@oxj-n=k!>^4T~aN z;vYG)4f`Fr9UML^PBKhMkm)}nvm|NyZ!GY^wlT;vJN-{h8pF9?`u?3HP29PaD`A`A zj-B%)hpf{j1v5naSnlR@%Yjo5b$z2(W|l?C9=Iayx}uWT#b?B&+>t1>CAvXdUDnOG1+z;u1}G%eF>MmL|pWIXvVJ z14H{wWS_J^)>JG_d(2m88Gum{&*78yI5 z1FFklvc`3K+6HqAUhvK6Aa(4jWNGY1;=mWMya;|!a9FJ;2+bl;li3jH=h68lM%Mxd3;@AwLFe z(|0rxzlw{{T?U>N2yVop)9s@uc+UOP`1F8UA)UxcT&WuuQD^lnEkUBAL;Ys@cVNL1 zGJ8FiAJQPiZN`%9^-3vlS8Z}GIBdH-W&jfA9FrSLI z=WXQQrq|89vuV+GTJ+8a%e~JmcGvCLdDg;wW+wNgIr5@*%-n|btEGhtoYw3EM{V+1 z4PMxN?)=w7@YJA)%ao$epRowuq5xVN`7tWL$laql_}boL_)S(|GH#3hid7rRg&Yul z5}}Vk5(1f61N8RGQgUjVF literal 0 HcmV?d00001 diff --git a/webedit/icons/em/37.gif b/webedit/icons/em/37.gif new file mode 100644 index 0000000000000000000000000000000000000000..e21691762a0a23cf1bb629147eff325952d1ac6b GIT binary patch literal 2215 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 VmY&*j@l`#t^HV9uc%>9y{0CO;q}Bic literal 0 HcmV?d00001 diff --git a/webedit/icons/em/38.gif b/webedit/icons/em/38.gif new file mode 100644 index 0000000000000000000000000000000000000000..76a9e13b28d83aca487a720d7129882da28a311c GIT binary patch literal 1540 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 P2bd1|B*v0d0z3Tz%TE6! literal 0 HcmV?d00001 diff --git a/webedit/icons/em/4.gif b/webedit/icons/em/4.gif new file mode 100644 index 0000000000000000000000000000000000000000..99851b3f5e114cc765100fe184da1dd60ba722a5 GIT binary patch literal 2671 zcmeH|ZBUa}8iwCQ5)wcRBtl9NAqEQwC{(Df6cQBVXsP-Pnb92IP3UPCmVJ5P#+6Fc2o_$l&}Tq@9iWq-p6iOv19TjS1$o+m zi21$*!MO~5FVMEdh$`}oQh@5fd`DtS#h!)xbqYRPQUAW-8kp;hkcj?@PJvNHmGOyG zTwQ=n-Jcm#8RU6}_DEC#j6HA}_egW~F=uPmfHyRl%F%g4XiGJL2q=_8v=3?EU*)V!DV|m{2bi2I*bj7=-C@-U zPILCfmp;Gl>FGx!+;jdo*47NCDILG_Iq3}HT~*31qMT8d%X~T;2t$z2Z+pk{=a*f+ zAm?sAqMxY=w}t(^ioLUXPWG0Yk&nC>x@1@l!m8JBks2lE%r7rbTvW~^Y@k^ zX{Cv37_ziGPfDdt6;{|BE?~LXB|2hE@vA1%n2~1!&pNL*aqUtvnWawge81x)oEUw_ z(~quZVle-LhlOyEC4^su=MUv9cr#dh1_y6pN9f$3>CCslc^9Ro{}E1VcgK=S56~cA zYwBDEy&+5vL9~U%5t+0+>5kb6=kZv^zl#i6j9df?GjiJr4zrKLd7gRFBVGqx((if} zntFH}Wx*U-;uj`6rd#V`>D%1wX2U39$%2(`&U9SAiM39v-r6uO;+16QXOI0DXBxeMSA+0?{giN&&?1RYWZnr;>EMcjl4Cv zF>!c^bc0`rUv6!+v%ii<=e)x4bNp{y$|IOh#<$jTio6{*c?@TT3Od1+wMN+MPrPqQ z!b5KruPF>(#7ZMH($_M6DV5;YQdxMky_Ra|l~ls0=GRiiTrgvNNvZ8P`k~Jc`NUK2 zrqS6i9*eBGZW&oW6&@eMuTOL()ut-fMY@p8%`P~)hjuT+=A6Dwot57dgqqvXTj6o6 zOR$;ak6qLFn*^V?5-Z#q^e_%%5s0qJq}{MIr3u?EK7LcG;bj?mH=hakQ!@2da_&@k zDA8s=-gr;_=a@{4{l++NC*?Nv$}Jv~BtgnPoBEIJsRu=ua6wG7ps$XSgoLf8xLpH;a- zvd1c@nr!P}bv(|R%s0>Hr1#Da5$Rn;J|7;M^HzSGO!`CnL08pYg;CdK2AOc(tR+}RW}dB>Qo!E$G{*KCCvY8J zdus}Ylh*j)-=E10N%hzvvLqz)JH6K1e>zpf8c^6`P1@sEH8fnl^w8@a?(=lk(8hf# zY@#339lm|V+y3?iqEFg*5N7QL;Z>}L$F+7Jw$QQPZvI6jk2>=^$ToSFSuK2*5P_V# rVl`XFt#Rxnd9W-I4oS9DNeYGZrr*B{_&*7V`(3~{|AhZmz%Bm(8!%H% literal 0 HcmV?d00001 diff --git a/webedit/icons/em/40.gif b/webedit/icons/em/40.gif new file mode 100644 index 0000000000000000000000000000000000000000..40f2ac17b0187ceaf129b7900a641c9bac55ae12 GIT binary patch literal 1324 zcmYMzX-t!60KoBADFPZ297AE#Mey3@;)rvKQv(zzr92=a3yydI!W4(77@dlfbD|T2 zawuAk7H}YlML=+Ek)u?(X=OkIEwmgh6ev(s`d-g7zU|xp^Dp^(`>6% zq{x95UTO9@qz1M8YeXxHR&k&LP<_6z2jFj6s+yzZ3r~6$plN`Hednq@0_`p7Xde_E z{Ukkh>80oNNE=?|0b7A-aRwSSaIPJG(6-kXeZ$pGF7#3c!| zp{ta4TTpll8b>9f5>sOsIb2|p9%~a7z{PQW-I3;s6nd%`&h;<#`co5t96E0LFheQ< zoFBs5fq@CK?vez=G2`;S@K}Ghfq8rcrmD&f&K5s!EuKPJtVwbqecfYLR<@z<2DldL~XwgB0iJiI-FHpnHlxlqG}3nTE; zG&D{?qk3E+fpbI9&<$IoO!WYYScJj{wR~1o};gsIx&-c zn?y)cslh6$C7N#VLJchVE|}H>GzDlqm+Z-dyzoMG;OA?&;5UY^7j!z>Yo ztTwPKdG1NqZ0tBqMd@1(TA0TelM5vU`~S*dybO0rZsK^i91AS+F>~+^IUwhUCaRx! zIlF|8^4u-%?aIr#@nAD=!gccwmuI1wQTMryS^m+AP%DqL?dXE%TILpJibHz$?)GNg zy*`G$rTJBP6G({^y|5?bE3F?|N`Lh_Q=NeEoUW>+kF!>T!f)Le6JJWU4kd1-3BNl! zznt~!cIp-XXavTxFf;a++8_BpBzzThAjP=XU*!^S+Z<&${XF=^`47UYZdg){aHTmV z56LrRmmhL6S?P2Fw~CN1%9<@Z?`zM#SmstyzS+jyUJoiLX%*M}e?_{P#tQpyNpwc<1afh9G$nM*E zW$B+N;^3*i_JX$frq06>X@}avM)6ujmc-;X#P@BRWL%K3%&yo{c3<HQ)~&J# dy*#ik$1G-cK50hxeO7SOChPv6>}|09{{h(>9Yz2E literal 0 HcmV?d00001 diff --git a/webedit/icons/em/41.gif b/webedit/icons/em/41.gif new file mode 100644 index 0000000000000000000000000000000000000000..5af0bb1f47a1bad6dc00b314c1567c2a4f573305 GIT binary patch literal 1702 zcmZ?wbhEHb6krfwc$UrZ=g-gIN9}$eb4;6g=I5i%>l@NOJiB$ESN+4$;NQm_ejT*> z{p0J6#mSJ6(Srvib604 z{dL&>@0-PcPC4IM>-^`_t>*`#fB*dY;rXp!r_=si3cJ6?-#BgN&i?S{mp9(HbaZd0 z^|L)*U$14n+F#OIIg#cFVINM%8)eo$(0erZv1Dp0vH$f^P>=c3fa zlKi5O{QMkPCP(UIa|kjQ{`r{qy_R&mZ5vef{$J)5j0*-@SeF`qj%9&!0Vg^7zri z2lwyYy>t84%^TORUA=Po(!~qs&z(JU`qar2$B!L7a`@1}1N-;w-Lrew&K=vgZQZhY z)5ZeMTG_VdAT{+S(zE>X{jm6Nr?&Zaj`McQIQehVWAmo_rKzE=rmCW>q^KY-Co3Z@ zB`F~;CMqH&FX#K^#)_>%=lW;5u3N*7RR&A|S$A-hRmSy3ZY zLs413sW;nRMUTZM+=fL@#lFu>O3RX8G*y(}QcKFLNkrO5Ff-FM+H{?ukF-d(q=JDr zuZ}~cgAT8^fr4bVjK75;gBwRMhZ}>Tg}+R;ow2Ph1G8+HEHi_yt+8FUk_#iF04LLX zPJ!1hO4(vUTu~By)-l$65@$3fBqaJaa+_S3VEI_9S6m}8BSvEbTW61u?=h9Y!-glP ztEr|aL<%2iX_rn~B;!%+z%@-;&WA-%#f6<&-C3<^$IS)w8w4AubCqm`xr literal 0 HcmV?d00001 diff --git a/webedit/icons/em/42.gif b/webedit/icons/em/42.gif new file mode 100644 index 0000000000000000000000000000000000000000..e5dfb8dc7c6f4eaeb5a27b9db2c4ab3ed714d615 GIT binary patch literal 1704 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 XY$01Rf|hx5i?Yqjx~rujz+epk+w_~R literal 0 HcmV?d00001 diff --git a/webedit/icons/em/45.gif b/webedit/icons/em/45.gif new file mode 100644 index 0000000000000000000000000000000000000000..9efbf475232d6af4e09c4baabf4f904d43c088e3 GIT binary patch literal 2114 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 Qq2ge|%B!oJfPS|I0KmMVBme*a literal 0 HcmV?d00001 diff --git a/webedit/icons/em/47.gif b/webedit/icons/em/47.gif new file mode 100644 index 0000000000000000000000000000000000000000..8fc0b356378cc05620769128a725bce5347ea9fe GIT binary patch literal 1700 zcma)6dt6gh93KYAOC&W*)4WWqG`8J49%F+EvN1rNAfjl#7~35T*zR7)AS)ZDK#7mE zTxG%#P(jBdQ3RQT4OE0gROAs8Fqlv>U%8Ep?ntmdqEF|KbI&>V`~CiYzjMClgoZQx z$SgOE8)iU+F&d3MZPnG8*ryt%dGv)@9q7eX^p}Now>J(AKj`aizunVse$sCo=v1ih zAIr-+e(Gr5(U^)enWN@s=DKk6<*k3 zoXb92xKm#lX;g2mxG`8?#MPHXT*wTu=+<}Ny?R~$$kN0e9Ced{<6!48Wp>s67<0qsno@aNIbyC2y4TZT(XDN5sq8AGUdr-6T&~L~(+{?lJyb{N zo63${>{9CbR3-A$HFav;1#N?>Z=hFmt4C3&l&jh`w|jDn4k`-sh7H|Sw}y&kK9iJAnNp{^Gy|%5@P#blk zVDFXlnQ6t{8LIZ&{C&fQuH*SRrbf1 z0V0#hRt+K%hazy2G=Y>Q!wDpdClu(gge~R?r94CcSQS}uNQ#t-MKk@o1io-mRv^KT zmxE^`e1eQ6BtUr3TG9lN$^369pFfF~NTc9a`Tnc0Bsxt96QW=Vk|JiqD15Osl#oIb z!z?Kxjz*B=iCv6LK%|Hy0TBYUbv{50PryM^CF5u&lM*hFNLd0l98RZVQ9ho><4_nN zkp%fd5JdB(Lr@6lM+be$G|1PFPK3yQ5IDi5BkUADERarcIj^|HDY;f7@P%k(IxObx zfH@2?!Ux6+rtqfB1!PRA_maz*Iu~$CE&)x3U_I7<9P`8y>K*HF(zNJg()O?b^|}}} zwawU{Fa8*{m`%@rfA;jr<44Akhrj(gJoLaYIPlB;{=VLO`ktS=yE;4Ww%@sZtLJr>(EkTvpd!s;RzMb>V#FxgRUa%Su&e&y*COK6SFFu;4_#GB5Y| z568a$?pwvtZ@xZq_^U$)5A4s`_vIJaS($tHe7-wF{@JciKlym)N9k#@)Ey~OiC82= z1pMTrL|#HX7v`|zSh3r;ZQZi@!%Z7wHmr|c7qvDrVhwZks+Hkkp^OkZEqFyx;Bsn! zKZWc^^7ZldBBB=xkMsOs+0ysldv}S)Vyru`=$(ZN-kv}2tvBbsF=zIy*WG5i&Tw&d za&(w(Z)f}3G#d=Y-E52YB8;c?EwR4VnCXMNL~`3@u0aVwuFGuY`$V2}W{5|WM+lGZ znF9vK0b#4yYr=p{fuP(abmgM8tZ+_jeA1$=p)R5TXQal76hm^VL7W3ba~(1E7@Yfh zcic6M<6P0|rNRye?uIQ69m1uNqQqG?6q|*NZH$G3HnWmNOWbBI@Q#=d&)@F7V5Zwj zt;RjLX^%^=eeyiOqu$;VE7UqZRtC8``Nu_Om1P9yOe4s(3b(vayE)TsPX_E#2Jd&6 zZQJZ8(lj`^2*8q3QLok|bVi~Hgp|z=vzI4&3q7vr+~&PgC_4aY?b?br+SyIR`2PiB C_O?p^ literal 0 HcmV?d00001 diff --git a/webedit/icons/em/48.gif b/webedit/icons/em/48.gif new file mode 100644 index 0000000000000000000000000000000000000000..7467a5a1204da8acc4c325c759fda265eb6ff8c1 GIT binary patch literal 1710 zcmZ?wbhEHb6krfwc$UZT=g-ea8?FDGa{m4E>-TdNSC%;M=y3gcEc(S}^KU2ozFds^ zb=dyd{KSv{Qu3&M;pxlznb~?$JhNc({8SHes`|q!~WQ`nP<+-x7lcHe0HYA ztDUYp`@>&tF#EaJ;@3f|`)mBaUC+C{%=YKgji=JmeqM?BebnyIjPR?AObs((6@_TkyBjZMzK&gHy4nfm+3*ZZe8et3TC z;Tn^-XU-f9HU4li1X z8<&p$JmB#;Ie4kD@y|z{9}YNwIh^+Qg3tfg3x6GUI5W@s`U188pVs|ujYTZ$8>!a->P!K9j)^J zo=@N1q4XaN7)S?-|G6W40~A~mOA>*!jeSKyVsdtBi9%9pdS;%j()-=}l@u~lY?Z=I zeGPmIoKrJ0J*tXQgRA^PlB=?lEmM^2?G$V(tSWK~a#KqZ6)JLb@`|l0Y?TsI@{>}n zfNYSkzLEl1NlCV?k|Rh$0c59heo?A|sh)vuvVoa_f|;S7p|Od%xw(#lk%6IszJZax zp^>hkxs|bzm4Sf*6et00D@sYT3UYCS+6Cm|Cs(pQ}JoAc667!N% zJzZ>-fco_^GgGYG%v@bvES;PToy}Yf4P6Z!jZH0_%nXfP+?-t9TrACDdR_99OLJ56 zN?>|Z5PF?)>IEf)+ybD@E~!PCWvMA{Mftf3U=Lem;&zKAPV=C8Q*gV*5vN{#pkwqw z(TWt!Fd<;t0Wsl;7RZ4o`_w#OS}y`7YR3Qn{{H#>>*tT}-@bnN{ORL|_wU}mdHw3; zi|5atK6(7;;e-44?%uh5>*kH?*REcZ;0$^0LyB;-bQW{Jh+p?5xa;^t9BJ|cQ;oTXD3GodplbjYb#3&b2C#DV9P?1~91%MgXOBD{t{^=I!n_L!|da97HoQOv|m?VNTi@RrJ3C%aaTz4VzpjL ze(Am)nF||T*^Rt!b;K-M%FNBHdxytDv8hwS!05(_4~JSiJA|1PUK%7kVc?OD&pBX` saHOHnKQE)egXz#A32uc+1q&KQg!*KJv!<*xRAld4m2lXJi-o}&00FC=?EnA( literal 0 HcmV?d00001 diff --git a/webedit/icons/em/49.gif b/webedit/icons/em/49.gif new file mode 100644 index 0000000000000000000000000000000000000000..3baf57d92118a9d295f87019c97b9319938fcb21 GIT binary patch literal 1681 zcmZ?wbhEHb6krfwcoxI(=g-f7?^eCv?{Ij!-_rvz?+$qU`11beUfZ90?B5@B{e3#> z>LQchC%hkTbN+SA_4jedk0%qZ?wt7l<+OKu9e$mN*wtqFe23HaCi5?Q9lzh7|Nr@f zKUbrFpU?fU)#c~S^e=apJl^5<`?%-XDQ5p(ZvXyx!{hZXAI`??of^Nj)9=Tjpbtkp zf1L{bbv*9fZtK54-=xhv^M1eM&#&))9`gGCYSORs85`@&E^eFndav{6bMa3P1phu2 zdvAls&jVh6&bt4-Q-6Mr@vo=tKi^;dbiO^RkDt?_xF;1KL`&s?(bMcpFng2SI z^yhNH@hPUio=p08C-KjDzrQz<-|aU2eZuGW>FD35-2Z>x`tM==uhVJ2&u8uFu=@XU z#_kTK|Ns9p&ls47YguJQ{>uF6ifOi{A8Q?RM9s>m(KO)W`OsL0L9E4HezRZ2|BPfE1{ zvO&W7N(x{lCE2!0jvxsIke$x?MX3s=dIq}524)5dW`=r(#wOnqF1_laHpait7C?(A*$i)q67m#PGlu=SrV5P5LUS6(OZmgGIl&)`RX=w>E z!^lV%s6w~6GOr}DLN~8i8D@e@YH@N=W?$S+WE4mMQ?&&*57FE0kG_Vu;$%quQQ%u7!7 zbg@+e>etK6OtErvakelvGjKC>HghpFbTzOrHZ^rJu&^*Pce4QU%wT$5@{>z*Q}aq- zdQ;$f4GnPW1to;s0-((>*tT}-@bnN{ORL|_wU}mdHw3; zi|5atK6(7;;e-44?%uh5>*kH?*REcZ;0$^0LyB;-bQW{Jh+p?5xa;^t9BJ|cQ;oTXD3GodplbjYb#3&b2C#DV+bm#y8 literal 0 HcmV?d00001 diff --git a/webedit/icons/em/5.gif b/webedit/icons/em/5.gif new file mode 100644 index 0000000000000000000000000000000000000000..50e09671f09a7124b31f042236a5e8d64ad0e1d0 GIT binary patch literal 1407 zcmeIx|8Em@7zglcySiItUDq`_V3>9r%LW5`?JVs;vz1Zj;bznE!`6^U(}tDQEFHJu zNEgzMYvb5lAYNd=A*=BMLe5Od%`e%9tXVu~vYbsY7c}OW)a0gMIze+$6F%OQ-}Ddg z2cMtcPx5|V$@Ah%KDQ@Sg;XKRFe0)+DB-Y(Lj|WNiK3!FfJ2Bw9_N^Z62@3629+XI zWT;3`@CK?;k!OmM0E;4oPzD&4@RDIv3fiE=vdkn$*aW}`fQACe;Y|t%unY-7K#ht5 z2Za~}VMX1Qc_;)~hN2TqfC(36K^B3?vl5L-Y*>*+$P)}rDm-2kIhG=z=qYjmno0mV z3^+;_IF^nxU`fcwf=$&NL&_4bfUwMBP)zVFDG4m(NeKiw zI?U1}6oWiVKq)8-j8c?DK=T}}OokyKc)%zkE(AOZ8JNF%f(_tvm-`_gX&ht20fr=L zieQNtASgucp*5YeGwowLTBB&Ccl>N~seWfRo7!8^+@9&R9VJt_9or)A zczz~FR{C(nYE4-y%!8}>@mmWya@u*PIocg}a`##n+r{f+y`AFct!ef0YXVrG6i2XvSUs*0&@hv2EI+OgXeX#`9q4hm;qsWcJp3YOF#^*nIkZf=` z3tgrHrfscgER0yImP<97{HJT0P2KwQc2_><_h~Za#4+)>gULj8*(2Nhrp&}x#pc=# z4Wu`jrk)-6wx#c3d+K%lVT0q1)7CC&e)9{5;_o-y&0+mBn7?hEPG9#gbhqC*nK9X@ z=ogOJ?84TTmiTIF>yl}E$CN$Z+dpC0Xsl_8+C$_SGlF(Tmri!j=LR>qrxB-cQNR7( z{F=Em`3f=^eN=Lx;M?*#u%!;!qp1`%h9F+4}$h literal 0 HcmV?d00001 diff --git a/webedit/icons/em/50.gif b/webedit/icons/em/50.gif new file mode 100644 index 0000000000000000000000000000000000000000..f9e49d6446309807fd90e21c3f40426875c4b123 GIT binary patch literal 1695 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 Vem&pr$cXXGsc}^W`9)EH&tIH8FKYk* literal 0 HcmV?d00001 diff --git a/webedit/icons/em/52.gif b/webedit/icons/em/52.gif new file mode 100644 index 0000000000000000000000000000000000000000..72e7ecdfc463e54f6074c486f00fccbb23c683c9 GIT binary patch literal 1711 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 J*vPCjB5Y@ literal 0 HcmV?d00001 diff --git a/webedit/icons/em/54.gif b/webedit/icons/em/54.gif new file mode 100644 index 0000000000000000000000000000000000000000..3b0b8d3d2abe149bab5a334e8574a201833c41b0 GIT binary patch literal 1703 zcmZ?wbhEHb6krfwc$UrZ=g-ea8?7I%HTiYW>cg{JzkhuF{pr@Pb2;}rq9fb|NZ{@?p(>w{r3OvW$x?`|8yqp?**TqS7Lr0wElI- z?#5#0p9efXo(TH)=j+e?*4H9n^eQ-2+@d4750vSRK-eX73>JN$pM`2VMM|DI3Z)2V!9g3^!U z$?tYrt*$WL(kOALPwn_*)lK!1@AjB3F5q~)+Tho@yzR}>>#9YctTsF|&w6)<(tj{u zpa3ZT=Z^3VP;f~sNd(e1_7w$*$=RtT3Q4KynR&KK?|1K4QpilPRSGxtHSjHPPR+>l zs47YguJQ{>uF6ifOi{A8Q?RM9s>m(KO)W`OsL0L9E4HezRZ2|BPfE1{vO&W7N(x{l zCE2!0jvxsIke$x?MX3s=dIq}524)5dW`=r(#wOnqF z1_laHpait7C?(A*$i)q67m#PGlu=SrV5P5LUS6(OZmgGIl&)`RX=w>E!^lV%s6w~6 zGOr}DLN~8i8D@e@YH@N=W?$S+WE4mMQ?&&*57FE0kG_Vu;$%quQQ%u7!7bg@+e>etK6 zOtCVubagXuF)%iCHgh#JbTzOruyA&Dbuw~xax}JZb#sB~b;(aI%}vcKf$2>_=rzHq z7nBfk3xGDeq!wkCrKY$Q<>xAZJ#3YU+bxDT&4cPq!R;0!oO<VgsyL#pFrHdENpF4Zz^r@34jvqUEVojbN~+qz}* zri~lcuUorj^{SOCmM>enWbvYf3+B(8J7@N+nKPzOn>uCkq=^&y`+9r2yE;4C+ge+i zn;IMH>uPJNt12tX%Sua%iwXi?qaq{1!$L!Xg8~Em z{d|4Ay*xeK-CSLO(dl4sXKQ0^Wocn?vcsXsA`TE$Lb@_#TLVbk!b)DIo3^g^xM2&dDd5lEGG&BvfmBdX1 z95ekh{4*T|OvIJ4J$%ho7+fOcII}C5Ftpyfch!oDKviczCwU>dlc+C_d2HEh{_4LMh-es~}&Lg+OIs bbAz%YtH6{G2aY;(vars}x~rujz+epkur-!( literal 0 HcmV?d00001 diff --git a/webedit/icons/em/55.gif b/webedit/icons/em/55.gif new file mode 100644 index 0000000000000000000000000000000000000000..28679aae53f6f3075d50b21d1e8a5f3db1d86c46 GIT binary patch literal 1698 zcmZ?wbhEHb6krfwc$UI&>(gBz`1|+og$oyU@7{g;_HCtA#(|d;1*a%|{qc3-n^n%c z{E}}Low#!GXsf`Hp-2bynJhA5F2_<861qx9`;~(?#~4XCf-@x2EkcD0$p8 z^VQFdw0?)yU(R~iLeO|aVQ z<C*7I9_ zm*N7iCQf=aH{n{o_sRgr-9G-;;$zNa6`U-TTdc1*-*DsQ&86FG7r$9!y2ma4XpZ1a zrK(F+cKiHPR-4ZIuwvh#eWn$r|NsAIpf*ta&mG|#px}~Nk_e=2>?;Zqle1Gx6p~WY zGxKbf-tXS8q>!0ns}yePYv5bpoSKp8QB{;0T;&&%T$P<{nWAKGr(jcIRgqhen_7~n zP?4LHS8P>btCX0MpOk6^WP^nDl@!2AO0sR096=HaAUmD&i&7O#^$c{A4a^J_%nbDm zjZMtW&2GK4GRy>*)Z*l#%z~24{5%DaiHS-1 zr6smXK$k+ikXryZHm_I@>>a)2{9OHt!~%UoJp+)JUEg{v+u2}(t{7puX= zA(aKG`a!A1`K3k4sX*n*AgcnUy@&(kzb(T9Bir(o|%`D zUtSDW?dxmhnO9trn3tUD>0+w{)UTJBnPO#ZX6|NgX>MfbZ02fc=xShT=4$NhXy9UL zY-(ZRY-|M6>yn>bnwy$e0@Is<&})oSFDN18765H_NiE7OOHFYr%Fk5*d)O)yw_6Nw zng`XJg4->IIQ8lS9itD5R-|Z#2?5g%hzU=$Kn^_Fr{)3EdJ!;DGyebg_s{QNKYx7x z_Vvr>Pai+LfA{vy>sK#dJb(7|$>T>4AKbrp_s;EGH*Z|OcJ<2TOBXMkKX>-b=~E|9 z96xsS$l*f=5A5H!chBx!J9li~wsp(qO&d3?U$=J6>QyUOEMK;C$>K!|7tEhGch2lt zGiOYnHg(G6NfRgZ_x1L4cXf8Ox3#u3H#IiY*VWckS5;P&mz96TeLf@4rrs0=VO>f8M1M(LVTL{i%K$MMt|%@U zu>i|iDQd2Y(gqxQF?t*Z(u%HXDb6CsW?}pxu_63nX2v4UDN>GpvNi%d@jL=HvVM+I zDK6Gp^1g=b4-9?fwX9uI#DhIdoUGX1TRE9{1dFFANSG=!vi$j{Y--S;@L18QONfa} zB_=}2m4!cL!<-cbtw$TA#o0IP2ztmOW@It#&jck!Z)QW@O&$|IC3EsQ`ZTy$ZaTmr vq0HUq!g%P&L?LUNW3s8=P1=4OLv$cr4hmD%7!&fx#L83ff^h literal 0 HcmV?d00001 diff --git a/webedit/icons/em/56.gif b/webedit/icons/em/56.gif new file mode 100644 index 0000000000000000000000000000000000000000..9d46e2964525f6202b5c9cb9960cd04bb8876835 GIT binary patch literal 1703 zcmb_cX+RT47!9I=h!qqqT90MHiU_%oTqGp0Ngzr%LNwwXl3j_AY)lr3w6==XiuLNL zv8}CQt;M6#(*w*U;DOd#iU(FIRHPEAShESF8!FfzrN25qW@l#Kd*AoXyqQ#qn8j9x zkU~f;2+3WON6UbCn#wQ0R7bdE3mc zdu1+b+T+tQrz7>rrA4l4R>w)6#f%)?AaY$@&}LOsmO_ZR{^mYj_r>%lcPk%Mr?wpv z;WgR!PZd0EF!p%5TCY@k&O)yHl|AmR4hwYN%sRGJ@$_^C?%+2a%*1V+hH}XJaJRFi z@x~DZcZl7!0{647$LBRJOJa3dB3?7wS(DRZL2ey_+%xyvqTw@5sljox;1JYvSrA+D1Gr)6P_E!R^& z%iCV=?L7RbD&c@Bp{I2_enI!FPK7&C@j3%Af)a z8krV9gUMvZ0(2^kN}rPAL3MynQJIGpVLXt?^zRb1 z`hHoRk=$DjS%qpTCZ(Q2BU61P^#P^Q|AuO{{b(a5gJ0zPufj(8N)D@AyPo{f`PkX<==b)AZ4Z8HZMpwz^Sxj0Hr=^>>t^H64L7b| zyL#pFrHemZIA4G6?3vSbwKb<4cAM35vbyTT@nc7S{NelWzWt{1$k&Gt9XwF+)&4K{ zeX+NE&+gAZ+x6)uAMZ5p*#6OnAH4tGyW6&I*}UnUjb$6&Ucc_GwWVuTzxl?h*Iz4H zX)0b(gc%LX^{7r;Sg=f!zZ8MhsyyYA#fug$m_ILfu42w?d5$bQD>FlyK5M2VEmbTM zLMh1teiDzH$YHaXjD#8SbmBsh<6@`BOpBiS>XfKRFanr7Y2t)e#*YhsdF+_5(W62` zM!qy6czDpTz<{Ac2Kx{4BatFpgNYs?#rhr_-)l_@Xj_exPKowUnV;exJ*9Lrk}Vh& zGHl+kkWqr{Edg0kvXS&$`bb$+RzT^r@o5Sej$9adSdlh<8ZsG}nIR5lsae6|jG4e> zgcmkxv|kQa#m(^>Jt>TbB#oOo)^9@0+?WY|W2cTwLL`AC5}z@sgTa3oC_&QWsDq_J z=R>bBi?VHvPnFzLr z->azKHZhbFs|WUz)`t(>Kf`%>^~N>f;X$mOwv@Wz(-$ACx@gN=ADPT7UC>~K9qRz* Nu4T7lqC-fDe*yWunnC~o literal 0 HcmV?d00001 diff --git a/webedit/icons/em/57.gif b/webedit/icons/em/57.gif new file mode 100644 index 0000000000000000000000000000000000000000..94540e86b892fa98d122226563bb5a13d087b617 GIT binary patch literal 1703 zcmZ?wbhEHb6krfwc$UTR`>5TYKR@E@{(a2x_orL`-^~1d%;D!D&%bXL|32#Q z>OlCfLpHyThCVwO`TRiihyAf>Gtc}y7X9%=(9cJm9}YPGf4%U-(coVPtv(!f|GD4( z{n7CIr#F6iu<_@WnA^*2-|u(c*yQ}}M)AKtU!NYy{&vFeWGJUnv^>t9t zr!#4PKHd6tI_>eEke&VE`)8(IU!eBuWV~_O%(F8s-t70hvc&n-=+{!?QhJ?+(QNIph8Be(m-axmD$Y zf3GI2DCK{+DPVmS-;d+TH|*_y=jX4l;{SEnVReP+|4-|7w93ERWBUKi;(yPl|NsA= zfij@@pF6@gK*1%kBoRp4*jE%JCTFLXC?ut(XXe=|z2CiGNg*@ERw>-n*TA>HIW;5G zqpB!1xXLdixhgx^GDXSWPQj+asv@@_H?<^Dp&~aYuh^=>Rw*$hKPlA;$OZ}PD=C1L zlw{i~If5hKW)J8<-g=m>KFB8k?A#o9ieT85kPq8yM*u8tEFETNxW! z85k%)ffCTRqLehNAQv~NT|l0#QbtKhft9{~d3m{Bxv^e;QM$gNrKKgv3?n05pbFjM z%Dj@q3f;V7Wta&rsl~}fnFS@8`FRQ;6BCp2OG|8(fG&l2A-4c-Y+kV**gJa3`MLTP zi3R$GdIlgb!4&%X;#ZoR3s+rS5|oN?FIIz#Ln;eW^@CE2^Gl18Q-R8rK~@!5ITxiS zmgEz}4B+$G&eP`1g19yq1P3s zUQj~FEdbi=l3J8mmYU*Ll%J~r_OMkZZnrq$G!Lpb1-DzAaq86vIz}H9tw_-f69T3k z5EGtgfgE_UPt60S^&()RX8ix}@1Nhle*XCW?dzA%pFVzg|L*OZ*RNi_c>e6^lgE!9 zKDdAH?w#AWZr-?l?dp}wmo8p7f9~v=)2B|JIDYKtk;8`$9@xKc@1EVecJA1|ZR?iJ zn>KD(zi#cC)vH#nSiWrOlEsS_E|@=W?wr}PX3m&CZR(WClO|5+@9XX9?&|DlZ)6$BX_?c{>9G`txYxY$|V zvva-n*2pqbl`!Nnw@$V;=SfP?NOV5iDdMuH;H1%lg_62S9ZM`0wz2c_h6wx#5Oh1r z&k|yC;laYT&MEw!QYQqM+&X&LJncLZl|0x5RD_};UM4MVWl?b`v1t0F bBU6{MqlLu*4o5W>9zKhCS$DNG1Q@IV_TrRB literal 0 HcmV?d00001 diff --git a/webedit/icons/em/58.gif b/webedit/icons/em/58.gif new file mode 100644 index 0000000000000000000000000000000000000000..4f7cefdad761b737fccd8367e3aa98d1f3cbc30a GIT binary patch literal 1704 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 VI;637Gj^A6#DxU!3GSGnzW@n#!e{^h literal 0 HcmV?d00001 diff --git a/webedit/icons/em/6.gif b/webedit/icons/em/6.gif new file mode 100644 index 0000000000000000000000000000000000000000..e39f4cf222842ad4c203bbad8bd9edd0d7f35f72 GIT binary patch literal 2017 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 S#Vm8fSX!J5>m-l>jPsu}XXFh4 literal 0 HcmV?d00001 diff --git a/webedit/icons/em/61.gif b/webedit/icons/em/61.gif new file mode 100644 index 0000000000000000000000000000000000000000..5c297e3888a2cd1cdcc21c4406b9af3db89b1408 GIT binary patch literal 2107 zcmeHISwIt46iozF)M~Wait8BEx{*vmc8Cx&2_Oa$S*%iZNG6g(G9d{jpcX+Ca7Swe zcg2O)rNnB*Dkh-d0#Z;^1S=Q?Dxx42H48~6RyUsO<*c!eGy)!r6~b(o|9( zlb&NLVA?wC;E3rRPp;M<0h`WpH>XFMA8$!O<*jFY9i6Al2A|qvJj-Qa<*w;R)k90R zPII*7YcHn1Y20BdV4O-GZz-8sbA)HyJk?eaTz`c8rg5LW zVO4i^sHGy-VbVF;avM&}eQ}ZAR2a~GXG!a6w!LMisetwB`Quh&)P+oJz zYPdu!)4xiPD?i98)TDRiki@8*tb>(g3JG+U)B_ZW{v9fpe?Y4>VaUgP|4~>So}@&` zVTc+{REZG`?&%Drq~$ilMQn235zRN`OC~4n)Zm5>%^xhZc!AK?=17 zR)~=xh)cxyB$-UYVK8YRjlpA5_zVGsA^=$sM1zDhA)N{F7!U~ca3NHjC`S~U9Xf8RH1U)qBsC^qvc&S1uV#hU~o7zg=_B66PJ} z@Plcw$p_mb3e4*&%+z>?z1wEBnBTs6-Sz5^&X*nSFP^tOYkm5AOLNnc$EHV(4G({N zP+xby_TJq)HMeh7SN&Rfv!eXQ^=ntlO0QflDK;7|6rB7cRRk_zAby}md%?sZdjj{nXztd`kJ)V)hXYs zTDc-QNvB<&s8OpDl&C@;ANRE^c9|5Bh-2WTOBR0>y=dW=3!)+;!smz03!NJxniD)b zC@?@MfcUd`{(dvLzCIi_i^-tVys6j=Me>?4ecIG1Ure4f(UUj<7(Z_8n9-v=Mt=U; zh~b|O8%h{5_>(~c2e|j|*VoO}r4Js5n_zauo|(8A&X17uZ;9(~#|?#zjp;YjN2El~ zQRel{zMK)4mYxdZ*Sn2Wc8p2NoRZ~1Sv4`dFpSq{`{dX%)`Qh1kOHq1wV`(2HZ*zZx~0-80_xuI;C~nXbxds=*!aJ-9&t!TKueQ zfn!DtCrl;aasC;j2CW10tMNvUp#uo_`)3P`d)e;!6GOKNS8pLO2nh#@C#^q_zx1eY zmSs)fevlhsBSxln{Q{lhf9Q%FLE^X$S z$GiMr?s4AR=d!ugf;$NrZe;xJyeYNJ#8Snr9|1;1X zDE{Y;@C{IKNi0bO(l+)L1&PVosU-?Ysp*+{wo31J?^jaDOtDo8H}y5}EpSfF$n>Zx zN)4{^3rViZPPR-@vbR&Psj#ZZEyztRNmQuF&B-gas<2f`Ovz75wF0t1!um=IU?nBl zwn~m52?day&iO^D3Z{Any2%D+1`1||dWOa(=H}))3PuKo2Koj@`i4fjhUQkrMpgy} z3Q(W~w5=#5%__*n4QdyVXRDM^Qc_^0uU}qXu2*iXmtT~wZ)j<02{OaTNEfI=x41H| zB(Xv_uUHvof=g;~a#3bMNoIbY0?5R~r2NtnTP2`NAzsKWfE$}vtOxdvUUGh}ennz| zzM-B0$V)JVzP|XC=H|jx7ncO3BHWAB;NpiyW)Z+ZoqU2Pda%GTJ1y;^Qsfi`| zMIrh5Ij~R+$jC3rFV4s>P;d@5RS3__OUW-U2CMeE=kNwPW5!LRRZeQ%gju% zGB-9db2BqDG;}s|H8gZJaI$bVb~Sf3F*b2Da56Qufa!I~PcF?(%`1WFO+n~2!l@UO z5ONEEHoK%2WtOF;xE1B+Du6v~m5I|WrfxXRgX&Ge?G^)^di8;h(Fa8ti4*$!dV9LNIy>6iT3ec% z8XM~CYHO;iDl5v%N=u513Jdb{a&xk?GBeWCQd5$X5)DCA|t}XLPLUs0t5X0 ze0{vVJU!gqTwR=<93AZKY;CNqEG^8dmoJxyHoHPkB)69!uRw?Zub>xqkC}`v1B0Hw-YQ)gvt~CZacMj6U~fBV zaVNKCP8C*0XZav`XGT^P&So`XAx0_d2x}=uAz`&>NTi`AW3Vf47Ym7Q-A&!vkGS$Y*j8A3Rm9=ov1 x_VnFh5OO{yDrwko$6}JE_e4RZ4hKc0B$tWPnw<805IB0cTfm}u8xISEH2`0>ZgT(t literal 0 HcmV?d00001 diff --git a/webedit/icons/em/63.gif b/webedit/icons/em/63.gif new file mode 100644 index 0000000000000000000000000000000000000000..a66a51b0343fe3005becb540c5a3d03522503724 GIT binary patch literal 1704 zcmb7EX;>3S7!C?}AP8PyO)KoVfRX)2d5!R_hDmwim9Hf*RC1rDKXZB7<5sFnrKUp#$*`i z(4|?rG{)M{%7P$6C9Az6Mqe8_Y#J~;EoeO-f45Z9-z4d);^=iypB5Urw)EwtI73^R zK^tmlNbBxwGgNU~E0TM((f5yWTCS9J=~6o@Bg=B3+eaAZ^7-ce=7BrXs~VQECfGDM zV9*AcZ!8}+50vjt?JDQ%+nY`O&24oVEvMqmjgY>h`Nj3M?bRy{w^rXe3hC>Uj5=<+ zR#H=(`utL&sex;(294E05=~Rb&9dP~GJlEY#p5!qM)LBWs;@q^bnDE^#s0=x?%6!| zUC*-+EpjA97_~aEIlQ|9S3_W7>^qE4_*}Y_Vy09Y%AXZoK!O| z9-yAj_qOz(F%CR?P**f`d%eYCA^iX5ZE;v3NC0?3Oo)GjL)8kQCS zXo-MK%ps;S1XO_nf~B&kY$cqO9hWT1&JeN1#Ly5RSPiP>3OS4k0kwP+q5{<%qEL*c z!yrDkE>noW2n5UE5W}oL0BcMLRl)#+OeKk^fm9%nMyB}(FqzCH0G&#sQmAwajZUI5 zL4P_(r2?-S5s#)6OTa{4#H(2Nj6;-Sm;$6wva+(sS^i{Hxq(7sv)NV+I-P_gNUALe zCRCFUmCvXG4_1kkG6g0>5x}Y_Oh+>@4iV4v?-JySF zlA;O#N@4)1GDM7KsYcKO0T_*_Fd-s>qj?-6&L_)cVvre5<1-m-77YsI(`bAuiwQAU z;r@IUJB%5?;4w$JJXDk^hY@U)D}K#okIS_hL9W0f^I)ZHGc1l!qHkK>l&Ydmri%0mOUUO{XAUPCgGsi2GkJyEA+-+h# zS9!+TxO2kn5E5g;gvn78`=TayGe}4{5FJBzn2|EWfnGG<#=EZ2-hGzTxpS{wj%E>0 znxH#e?YPg47!#lm&z)A_=NOZpUtM=~qR&D%_tF|kVR67Dw?ou^?w;wcwh@Z3yzPw# rTx?elDvDYgY(1wm%zsRK65$k?D><4|^K_cS!bKA9!^V^ZfDrT-8-S#q literal 0 HcmV?d00001 diff --git a/webedit/icons/em/64.gif b/webedit/icons/em/64.gif new file mode 100644 index 0000000000000000000000000000000000000000..e5cb6ca0639b47ad66931cf34678c95231ceb6e2 GIT binary patch literal 2114 zcmeHIYamo<7#@YyjX_GSYD~6lF>_`Z#$*^~+|oqY*zK~$%#n$iGtG<)QAA=(_e9&u zZQJflwHqsqJDVXzkuFN1nvqkkjM^fn_srDJF^OIEjKQG!kc$X;cOf5=r z8>`zWf4Es%ikFsoO1p$lFA&Gtc&&w@gCg>yT%0H~R4Q^-bqbn$#uZH)WaR`&8CfYG zl~j4FdNUg`@xuM&ii|)-UtVeIy5ggOPYOIHs!0~NRXhs59A&uk zRQkn&WMxNO|Cpj%6e?}m+SxBr_M91?P+k$>WR;|6*T{XN^4m$vbLx5u<4g)-^gq_p zTeDZG`tn}&_6l1DKRnnjYh=F~7_HC5a?a-+D(xDPD*HrUN~MZ*`RTRdWdD?`gSkgW zABW`%lWy!?+*h>zVx)oc1#{pI?%jw~bd#wXzFx4$pdS zqoSfvQ8p-uy914JaB$FQV6oO}gf%ak&8G>h*}Rog3KWn>=Q25bCd5W)6loz)B%g>> zSNc~AEY7qnn}?cg2StZiXaS9b#-IRAOH)89_1~c^)-;;O_X9uI`;WrBfM^bg_5*oP zB$p1V;VU(%I0P~mr12qc00c!$?V@iO#D{oc5C=i_#~}ilYz7p?n?zHo1TQv^Ph-n7J0$8M$b6F=)-P{_U8jmek(S z45v-2o=n>wWUIZ-RhwE%rBui#WYUl0W1}BNhKD4B1O0vPd*8k7>F#>-y7Se`ju+3L zJ#Bx|*82ESOY_4AP4^oc#P#?7sH?51uBxmkFB9D@y;JgganbGHe!X?`hOn^U`n9W9 zE?>I%%Y~ow^Kx^t&u9H~?#Hv48E4W@pE`Ns__3o$(heW`AvNV-@`0qp{R#2=_Qu8T ziHR0O?T+O0xVtzIn-vkhlNq)n6lBmtXu;oa-?nwjci#pDZvG~~-*1zz&qnG7@AY1u z9`0@wva1Wp*@@`5j^Kc|x5L@mVAU@a%Gzq}ny)QaulmYjCDI(RV)-(&FPAPcUA)L- zp|O!6+(3W9{CRWd=zXE9qdj|;77S)C)mC4VVOE+?k>+m+(^J7_H_ZVmwY8S)W55AS zWmA%?@!7gfBZ;$9%=UBRUrNYc>9COPMRSrmUDD<=u`Po55Pf4b`T{AsGo(z*V4I_v z=}Y8&6H<77kkB|s@2GCjQi-Kexj~lYu3Lo(ISDn%`T>N9>>Mp!GgM?n#3e}r+}y-F zAVcBna(@|itvd|Xl$a7JThxxqpxK)z4lmFeH=b`*X#NPi}YiIbyoQ7jU~a>{Rz!g_SFCY literal 0 HcmV?d00001 diff --git a/webedit/icons/em/65.gif b/webedit/icons/em/65.gif new file mode 100644 index 0000000000000000000000000000000000000000..027f28edf8997f98ba49a4bcf9404d56c5ee2cea GIT binary patch literal 1704 zcmZ?wbhEHb6krfwc$UU+_wL=lfB#;%aN+jt+q-w~-q|1iXoJOy60W~*7T;X!{P9H4 zhyAe|jg3E@N!!1?^vrylw`b0rooVsu)2G|ZY+vqmzrG>u-MNy>3$0fM8^7A=`sHxi zAqR(V*Yp0}%lvaGY-6Ls#yW}TmpATeSKQUD{pi}>`=>YV=x|+XY<#dw;>8ZTtBXtz zPt^IG9DIL`|LaZWzkhuFaxw14V(0JYDsC*({%|s6Z>RN#=eG{c2><_T=AE_9bF*0f zznQtQ$@$BJjmBv+zn$>=d%@@B9_OD|V)oBW`}h0n(juONp~gR-ZoG1K@BI~K|DI31 zw6p!${ls47YguJQ{>uF6if zOi{A8Q?RM9s>m(KO)W`OsL0L9E4HezRZ2|BPfE1{vO&W7N(x{lCE2!0jvxsIke$x? zMX3s=dIq}524)5dW`=r(#wOnqF1_laHpait7C?(A* z$i)q67m#PGlu=SrV5P5LUS6(OZmgGIl&)`RX=w>E!^lV%s6w~6GOr}DLN~8i8D@e@ zYH@N=W?$S+WE4mMQ?&&*57FE0kG_Vu;$%quQQ%u7!7bg@+e>etK6OtG@CFf=!^baFLx zHgh#JbTx1^bai%dcD6J&GBYqWG;)RMb;(aI%}vcKf$2>_=yk)X7nBfk3xGDeq!wkC zrKY$Q<>xAZJ#3YU+bzyG&4cPq!R;0ooO<Vgs zyL#pFrHdENpF4Zz^r@34jvqUEVojbN~+qz}*ri~lcuUorj^{SOC zmM>enWbvYf3+B(8J7@N+nKPzOn>uCkq=^&y`+9r2yE;4C+ge+in;IMH>uPJNt12tX z%Sua%iwXi?qaq{1!$L!Xg8~Em{d|4Ay*xeK-CSLq zog5wP?QCtVtt>6f%}h;V~xOjJZzNKk;E zkC%s=i<5($jg^I&iIIUp@h1zAOk>ai6*i#Knt}awLt3yvfIDw!Y$&gLfIx8C1RiNO zE`N?h4u38;X`Tsb>N-Z&7C{L?7S={O>JwZfq-6NTyyCsY_+_LdT+(bsWKB3zBa$Lg zIZb3mY}0%U92^7fQm@(tIyxBmq**!{N3um}#%M;dMH)L3DL0Upq}J#bKk$0fu&g=?hK-9Q5hn(6gH$pwPIOK}bHvg(I=;R4*s6 zn%QCWtgBhjQ|-$z{L)e7fy(qB5^30 RyI)Z?&f)GU(I5o|YXD_ak(dAg literal 0 HcmV?d00001 diff --git a/webedit/icons/em/66.gif b/webedit/icons/em/66.gif new file mode 100644 index 0000000000000000000000000000000000000000..faca98013a37a59761e6b6374ed68fed16e28046 GIT binary patch literal 1704 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 literal 0 HcmV?d00001 diff --git a/webedit/icons/em/68.gif b/webedit/icons/em/68.gif new file mode 100644 index 0000000000000000000000000000000000000000..2143451805a5776bd7b9cc1b963d6ac68c36224e GIT binary patch literal 1694 zcmZ?wbhEHb6krfwc$UDhyF=;EpP#>v+WkJ}`1_c{?@zaW9klvzH2D9UnSX%nb2-0{ zI(#@8@@#+FhyAfXpKknh$mab%+uuLFzCRlNe!ugF!|ppeTsJm3e>>s#X20jZKVM%R z2>7`SC>1pG#pM4mf{2oB8xe_TEnGzZZP|zFBOX zHuLMXjDNqs-e2SYcu&Z$!}h;Ur(Id%{NdTHpU0wq9kl*;FZ0e?=U<2H9`Ex1c_rrl z>5VVC<25@~&@4`*X(o|EG1w z*46(y>~Qz)-GBFM|G!zhy2A9=(a;~qli$62_v=jRyFI4A4!i$4O(xg&f76kHNZ5`naheMLcHa&~HoLQ-maW}dCm z``!DM6f#q6mBLMZ4SWlnQ!_F>s)|yBtNcQetFn_VQ=?Nk^)#sNw%$$BS=C4WT$g}QL2Keo`G(%fti7VnW3Jcv5C34 zxsHO7fuVuEfswwUk*=Y+m9dePfq?=PC;@FNN=dT{a&d#&1?1T(Wt5Z@Sn2BngG{g7 zSTDaQUEk2s(h_8bk&!M?g>G?WUP)qwZeFo6%mkOz;^d;tf|AVqJOz-6iAnjTCALaH zmqNUdTL3pUuUHT49lhlIT>Xl~0)0b01CWucqiS6q^qmz?V9Vygtyua}vbVrA*-;^b)IVq)lQ=4xo@YG7gPY~X6)X5#4P=HzDT zW(d>klAm0fo0?Yw)0=|OYl>4ZC?Vt)0Bv?jEy^rQO>ryA&s6|>*eVmZTa0j;2i2Q` z+bza8_38s1qYsK!q-cf-0n-kM2~V^@4m{bX<^j`s5in6R{{Q#)&+lJ9e|-P;^~>i^ zA3wZ*_x8=}S1(^YfA;jr<3|r4+`o7C&h1+_Z(P52^~&W-7cZPYclONbQzuUxKX&xU z;X?-x?BBO{&+c72cWmFbb<5^W8#k<9w|33yRV!C4U$%6~;zbJ=%%3-R&g@w;XH1_q zb;{&P6DRcd_4agkb#}D3wYD@jH8#}O)z(y3RaTUjm6jA26&B>@<>q8(WoD$OrKTh& zB__nj#l}QOMMi{&g@yzN1qS&0`TBT!d3w0Jxw<$zIXc+e+1glJSz4HznVJ|I0W*}I zu8y{rriQwjs*19bqJq4ftcs=*(z*#UHfB7Q`f7e^`j$LqHZlpk&YGf(+U$|++Ki%_&b$fcRtkcQ zE+U>HE{uW-R^|zEDojk=EX?m&xL>QtB^XJtnF?4K_!w9SWJw%QVCE6hi``PP^U_hT z>H4usb&*WRyv4gE^u>M}Ej{V%7`LIK^HFQpbp5!Xc_vCPnpqW1k~Az9DX{S>irHDr m`pDeM%^oDP!{K9co3f)&8N*J7r%V%Mh5EeaYH0{CSOWmW6@>%< literal 0 HcmV?d00001 diff --git a/webedit/icons/em/69.gif b/webedit/icons/em/69.gif new file mode 100644 index 0000000000000000000000000000000000000000..0f9a4de5c708f174ddf9e87087d1d09f983d350a GIT binary patch literal 1704 zcmaJ>X+RT47!3%e)nZdT>IE(VYpsy%5<)^STnRyxAg6etEXiUbB)cYyEcC+AS{08< ztrcx6cu=eg1r)&~goH~45ept1idrR9Z9(x0Xz7Lu_J?$S%+Acd_rC9&c{9NwLXI~~ zrBEr|1m(pGbDL&OyB5}LrVTVD-z^VqDM3$N?9^@XxmPAIX+sBUV+I-$`}A=KYi~a` zh_w5{Dt5-^=+x%c_+7`Bn2jM_ z4aMaZ2dZ@YG`rZQmSVl3@KH@%P0OXc(!$)*!p6F+fkx?Lqo}bmJ^N&n@k&=?-PUqL zuAyvWzg}2fos+Mr>*#8KUN3&6^)ob7n6#qKn;jLc_wqZJuiZww6$ zQQp*?hbAl&g#!W@hso~(KLUfrNeB)kAZuj`9<5iSrvWkvj~2@kfg+5LNM#Gtl}J>2 zShP4jN$f45`S}712rePVEI|_xE;+U=Gibmt1W)480xUlOOH4kh zL;w~YbQgnOAm9bjA*Lsr&2|GkKnP@j9t_CC9b$8t9$XLvUNssSO({v_Mhb+lVv#c* zO^V|fm%&I)O{J$Y>8Nro1M>FvwrF^GxRVHXRhj~a33r9cWkf-MsKiPchRaX|U{Qn< z&=j0UBQyQC1UWV;t5DI0%b|-=IfH;P21ExfC5-?@qW_1=<)dg79*Mlp_l?4;=rjyr zL?S9QMJYx|xQite#^oy!7)O=SD4IO7i{VlfM^#c31Nc!aAXcW3psA{1v`EAaQK)cO zAx1(3JQ~TT%VZL+0AvR8gFM*~-%AKVK_G|4hlHM>m(V)^^kPBK2v>lLQ{;#OAK^+~ zb2(#jEk=-IWMl!Nlx;vHLM18(h70D(#?FN`rrs;AWb9nL#^f@{WEhrX{m(IvERo)^ z3`b2%PDX8yC`hj>NmE-5{r&RA;DGu0v!_oU_dj~r*ZbF>5ANUlqsP>J_s;LPZ{6&= zalNynz3tl7E0+5Q3s*Q#!eWgyTIa5)7y6n`+(vsp|iwaL1 zKlaPff}it`96od~FZaMtKmM?PU(Vj|_k6ee+w5K6?A)<^Th`Vso4?-l)t8y-jTv8j z{@JIWq^A+78&YtUay^DBXh(w$K$FEr(w`%2z<;!B1#zaR&Muaa36NN5b z6tXZ_7$o2a2Kf8=@)r1Ty*X?zmM7DLyijy^xA`B>`)KZmb6j0$&cJLZ$5}IHOrQ3_ z)G3oEIlNDOZ=(IX6UM*uw%uE{Hsh?VC=_S24cQYEH_NkOd95jS_cI7JILE^ Qnkta^Uq2rc4p4ml0f!L15&!@I literal 0 HcmV?d00001 diff --git a/webedit/icons/em/7.gif b/webedit/icons/em/7.gif new file mode 100644 index 0000000000000000000000000000000000000000..330fc953c5c1f5d8f06ffd0845d7f1967b3d8b9d GIT binary patch literal 2106 zcmd7SSx{418VB$T1Ue98X`-Sci#QmOp%6ra7P2Gg4MSuxLJYg?3Zz9Kh%5;%*bOaV zlK`@VhG7v9h4dsKs|#y`*nwed1+iPSd&o_0Zti59nkj0Y=CRMyc{x?T`k(*zopN_2 z+63tUI)DfTkbB_6``NNzCgAp*C(LX(++Vf~!Y@Fisrw<5B?|^&7H1kf-W(M-SzaXu z{h_WfF^|-hmhry5TMUxWBv3jBb|$4x_0>K$w;ZXduPMnCm->pY`N=+jeVt{fA2>(x z>#RzajZY&pP10%-^7A0X^g`~C(BDBc7K8_xNC%0XLl<8O>kN;PJ>|o*3}NSa3F!Nz zJnT)P--?et96*D)BzTljUzkuDpCG+gh9Y2NL9C?i`bbZ;xF3{7g0f5!)N}4}N+fh6 zy!37g^nij)6iLV+>=Kv9+eny zkN0)gqhp{jBmtsENG^nkLQ}_WPR(V1Uwko4l=yuemDZDRb-ADdib$KI1U&UVFY<|$ zExv`$MZugF+4N7NXZ;}h9hi|01<_|J>yd(5@!bc~67D25WSSO@f?m`4Mbb9GWMpz_ zZv0$N_BgLhw$ioSU(ivV zdWfD*ikb%cTQC}x|9Pz%6XrHy=Nd#GW`opL^YM*N3)+z;G)WHoX0B?b?ez&hfVp|gGz;2)dVl2Dk;*frBU;*l zqymfJwxfIS#;(&%7c|==$bTAEBWT@Z;vBc-u(+uzy9}*o%xOFa4aj=I$R!t__3p2M ziVCCiN)j`RL@6-=XL4o3*-hB|&9Z)jt@DnIKliRGA^O_;rZlhQrs;3qLEbt2WhoU& zl~l*RQEV(lyT-BgukF_+a&0NEU6m>i@3#EBE0BAiOFVIubc`q)?W|k?~bs9SKR(UWD zRex)7TV7ezjMgIpgp4d@oNcmOq?zE;sU60y9vu4&MZR0USsY-$_{`mQr@5MNJ$S6_ z<=4QF`mH4cBFHGwHN;Sz{O|QLH1kK7`YlJSF`2q(sT0!1X=d7k`oPi zi~MbCaZkiCkLO7rB?m175Qcci(bUEOFM}__iE$ci7GWV!G zW%fWNp3sWdND)Xz2Z|{>F}*%Z8wOctd@(ARtxyFyR9y~j`xlfL=cA~ofi=ZbRt@$k zqO``Sj<`T4XGCIi-&%3Njw(nb#9$jM_PHR`x!s4&LQIJ}_HN?vtD_ZZ#;40a6lG{T zIqOF2TTW>XytsF)al^DmLHqD2BzrTzKjf`JW2^ao=mx*AIe1sb+EYcJD3u_1(+KKF z-_E^I=P^g{Om}cqG33_#(qXvsfuCl(CuPYsBag7%8yr8O^^(iSv%8+qi(lFG`y6D7G)znBO{QKGeE`gI< zmVhah*y0IftKwLWQ<_Tx$8y7ec!iP!E6I2z<@ZptR#o10w+GbWw%X@K79k@X_sOs? SKmW&(D2M)M!~Or6ocJg87v0VP literal 0 HcmV?d00001 diff --git a/webedit/icons/em/70.gif b/webedit/icons/em/70.gif new file mode 100644 index 0000000000000000000000000000000000000000..c107a14af86ce4bfa1f5a8e393a80c6d2abd3049 GIT binary patch literal 1704 zcmb_cX+RT47!9ITxk{-ABI2@mBDo163xULhgb0xcXt3fDk_{Un*)&-s(%MpLTd*Ej zwHkYgSgZAi0 zqX;AglG+fG)0*INIh^(UkOyj+$h5hZ(Qo zHB|~6)v@k}6;&kyd!4xF8q#-1({+-oHrw!8;mzG#*X0Gb4hR}|39jyBJ*XC2w~+f> zJx?wzX=$iBZ;oxhQsrpOw$}*yoIQ`vYr1V}yJfL$2iMiz?CvyoS|rCd$g9iZEN1m1 zo2Jd8c32Ya?alVK=Gtv?{8XH?yBV*I@2HVG>K8d$%W&&_rrO+Pl^-oly193@<9=1g zv7{S^#82*4wd_yp?W}xycCNeC;3Y{6vX0xLJ28~Xm(il`agG^^bOa?@w0nZyqL^G(=P`Xg`JQgwI zf(VA`Au6@7u#i&7q@adeDxJgOcr+LcGJzl)SL!f@iL5h53@8X;qtc+!V;WQkcoY>m zXaU9riA?`4L8~8>)fp-MQ_=uXD*bP$Ry&9`V(IXUeE(J0n7L99 zQ`2E1T3}GZ1U$kMN)HJPumVF3nJAh+u!}MT#ZV)H>H$Fp3y^DcDzwnpkCsXyiOz^A zbV^tv@S>WRog*q~Vft3(D=3-lKZX@<@vdPu$JT-DIIu!iJPiDamrWBtc54=fSh z@eBt|OH2lB59p(M$$$p(y02S&=hmOrJJ&N(2}VOb(kAIx%EI z@c40K$GjT!O5n=@{(inbqeqQ=X~b~vVO}IsxMMicBcv$LGvj%!Nh2Q?BPHR&$mvU` zM+(DB)*)p6s04{Zk}!%-UJp?hQUZcsH|mKQOuOF@iP$d)4g4FPN<^JJ;MX_bAQ`c+?3tZi#$Gk;;Q)bog=LLD!`-@8g W)|S&N8ir4Z2;kj5H(v&j;{F1P-I>7v literal 0 HcmV?d00001 diff --git a/webedit/icons/em/71.gif b/webedit/icons/em/71.gif new file mode 100644 index 0000000000000000000000000000000000000000..62618d65945b362e01a14cccf7a6ae4c75127f81 GIT binary patch literal 1622 zcmZ?wbhEHb6krfwcoxEN@0!u~uaB=>w7Gt6-kaxV@0`oIek%9MvE+Y$|6Dse>)*e> zn-*HGnrVDyf8NJ;cMoh%e{dmT&$`%63k+{wnE&WX;rA~OUfikv`R(DmyXkKpFMRW4 z#os?auOAP8@nF@<+q&Q0&fU4({_63_&(E7~ob&qlq~^i3&^@b6uAFiI_HO!%+nQG| z+5UVt_0mD@Pfu%4Zr9zp+~M3l?`!9M-`!O{xm|njYNMC86Q5nvxqBh=-qplUuV>!4 z5c2Yl!PV2YKi^J1zu))si`EynG(SIYzIZ_6+nYIiRvF#6;B)0j!2A2!?;h5CdQ$!I zQOU>0r7vz^BXQ!4ZB&DWj=GiK}-@RW+Av48RDcsc8z_-9TH6zobswg$M$}c3jDm&RSMakYy z!KT8hBDWwnwIorYA~z?m*s8)-DKRBKDb)(d1_|pcDS(xfWZNn^f+Q3`b~@)5r7D=} z8R#Y(m>DRT8R{7to0yxM>nIo*7#ips80i}t=^C0_85>y{7$`u26417ylr*a#7dNO~ zK%T8qMoCG5mA-y?dAVM>v0i>ry1t>Mr6tG=BO_g)3fZE`@j@w*YQzUa=n7J9^3ax%w4}1^R}11|ToN6#Dw&SDKp( zS6y5Zl!|aKR)dQ}DhpEegHnt0ON)|Ify$LZRuxz|7o{eaQ# zzd*q`*i<1rGcP5-ycn$7*VoE3uec;JFFDoI#a0QZUoSH=#md~&(Z#~t)Wy)*+{Mt) z)xgrp%*ol<&B@H!$kEln)DouGB|o_|H#M&WrZ)wl*A=H;P(sKp0NU)5T9jFqn&MWJ zpQ`}&uvI2*w>aT652`l>w_BWX>eUB2MjsTdNYM-v0;U}h6P{>+9C)%%%>$o>*T>t-)5G1()y3J#(ZSx% z*2db((!$)#)Wp~bn4$D^b+olKHPqEqRg{$!73Ae)Wu&DfCB(%*k?9`G&P4vO15-#h=_FdiVFyc_jX8$iAhav zVU>4go!KNRqiriA+7Y~BrMb6P(8`sJY>Ji|_Kp$~x}HiNZfuMpT(Wk7DyFKg>Q;UR zvRo~U>=s%~R}I+@bn+@Q+-0!g?UmN|(X^Ix@KuoRWbt=5Q*#M0GGXcD)YIV>7Up&` f7E-BFP;6p$@ z$N`GpX{W7ELg{|)@dQ*1((ChZtdKAH?a6dYTNUu;=R`KC+y=+1QcFTaa-$~e>t`NdEumw>fT%D zu6t-2vH#4OGbR@Ou4yNnVh`Hoeb}|T?e!G^gJMNu(SwG_Re=uMm7byPc zj_?goa7ipl1kyJ46$OdO*{LN8NvY|XdA3ULckfqH$V{%1*XSQL?vFu&J=B$SufCElE_U$j!+swyLmIN=(U5O0@#ALBje<3ScEA*|tiK zAPEJKozD41sS2ig2D-@xW(EpohI)p^Cg$emItoSxh6efuM*4y6>v2->ucCj=wc82M7$xklLP0cHT=}kfCb;hX|ln`ti4*$!dV9LNIy>6iT3ec%8XM~C zYHO;iDl5v%N=u513Jdb{a&xk?GBeWCQd5$X5)DCA|t}XLPLUs0t5X0e0{vV zJU!gqTwR=<93AZKY;CNqEG^8{t;OU7;p+<4hSD zDO>A!g9y_^_9g*MDK+1i5Y-F^Ny#{YCPAA}9Y%Xj&UD5no`OwEk>*)%q@~}yu~2H_ zOEO|&;$~pr{$Xav$71**!PP^6=eL1~c1SDd~-$l z-IZmV8vL#;F1WR#^yZ4PmwP(Do}KmW{H%)$^Di&VyL)=)ot32rdm|R+SR9|4bahGL z&X$0^Gm1}6O?a`p$*Zu6I{P?N#NsR+ZmdQ+a=F<;~?KSNARZd}{jDB}MytqJCak z@M3$z^`%8GceN}pcl&p9*^6E6-!II$y?geN3DIX}ras%zdSPDn$Af)0mli(WJMG@; zif1=YeR=ip?98-{ZP7p8KRq=o^X{6;hnwneEib;ZD1UEv&ox1t2j3&l#hD=EpgRdNJLD1hvA&M!(;Fx4~AO*SwyP%typ zGc-0aH#gT&FfuSS&^IvBH#E{UG`BJ~vNAAGfC43;ZAB?*RzWUqP`iLUTcwPWk^(Dz z{qpj1y>er{{GxPyLrY6bkQqisxUThW@d_&g_)D9iHoC!p|iP*p`ojRg@Lh)rManr zrKzcfo28)%Os`9Ra%paAUI|QZ3PP_XPQ9RnkXrz>*(J3ovn(~mttdZN0qkL`Ox$iU z!)YE=ZwhX=nB&x|4|I$^C|Z%C872fwJ0K=J(E>T}WS^P`OzTC!M9ujB-`_vKfBpRN z{oB_spFe&4@c!M~H?Lp4eDVC*(TITuzuazHLF*xT(NxF(j|)*EnF~v-rPB} zXU&{3ecIG1lP67_(BIeF)7{nC(caeD(%jV8P+wPDQ(aYAQC?PBQe0G6ke`>Elbw~B zk)D>ClAM&75FZyC6CD*95gryA5*!p5;P2<_ zVr&G=PT0Sg%1Vj~@^Z2=(o&KV;$osA!a{-q{CvDT++3U->};$o%uI|7 z42nNlfMf%M4ybSf)s_q#Cm9$yWi&RlF$q?4Xo+MvH3~@xi)o24v^%uO39)l!OlWVA z(UfG&onpYiA)zOEH>1<3!BtW;R!pbD@PoG)cRCwS0P}+M^M(y)Yz}-2Lu^RPJB(CmBSdIJ*^gEauXU(B5V literal 0 HcmV?d00001 diff --git a/webedit/icons/em/74.gif b/webedit/icons/em/74.gif new file mode 100644 index 0000000000000000000000000000000000000000..18d684e765fd20c5bc1967565b704dc758868ae2 GIT binary patch literal 2105 zcmeHIYamo<7#^CIQqgYhsX3jBlWYX3$#H6hV z$*NUKs5XN!(Ahz zZYQTE8m-^MW2~sCe{?jfq$JPK@a6b;UR70ob#+N|b1R+RVr%=t!=rOxU~tEdo{^De zxm>~JP8~cL788>wlbudWD}D5+sk3t`Hg-}hz5#;D(9oKWjH{W?sn1*aJaza{0~D z(pzO^^<7OW-u^9@`=qBQDLp;m+BIcdoKhz1X0dWBDk@uB z8?3FT($k}ok}?YmpK&-j6&3dy8y|LbOmH}FC6egm)s0LBYWfNF=3FiTc0& z_a|Ve)bVn01sF_(sp@Sui(w|)2SflCxQ{2GVuo(t#Q;1G6|>Xa1@8jWK`w7gpb+#3 z+~&y+^kI`Zn9Z928!<)9hxs7F1jKw_fruieVwfC=1yWRF^)e0vOhXVKDu$-s0Ms$* zkPrmSv3OH9-U1I;5U>Q2nWd$r2|&aX@HjjXMg3cf}i3Z~G7AQORvo)F|abBeB92!TXg2nOgL=D<##fCB}HrqM1g z6i0ywVG7uwBZG=j@v%G}hhk+%##>r2hy=PNgFvvulP!q$G&355Ml@qslFaBcTn5DU z=Ys-dhRgZDCC$lI8-Wk2A~QfCZ$HSf7eahsx?l=#?p*M5>b>W3=FWvMCl{wm2B*H( zzg_dplFB>k;jC#@lUdt?0+rW=DpPAHrzYP`yd57Kee-%`_|;3r(BQy}{=VnEe?05y z?vi(Qv_EZYee$^FQFBvc!^8Tz+M4RB2bC4&Wu+ze?-dsn7Tmp)pLaVqC;QgTtjymt zZphNF|90)_m9*59%gL86CS5q6`0Kf|3BSaji8~z|6MZTw^5lu*KOc)YDh&@i5*i{2 z4*Kcvp&t(h9uNoY_eVrRKNu45eSLo5arb$H95#!&_xtbm?B4b5H(oox-r?!t?&i9E zn~Ss4R>v(4_I3>VS2Wwro2WL{6tb12g}E7tsCuEWrY2u*++e)kXx-X17(?KT&sQ6) zTDe01vrm^V`{d)Ldb&#%FVb1KKwImh`RI9?8YqSCYR^$RZr5Or zAKEQZM?*8aw^Qy^t+Sf4C?}+M`+N<}g}{am4c>fBbgDM(lF=f=RpDHNtt73Apme7o z?U)Q(d+BOJbh(#|b$_|3?p441ASwLv|xQ@G0_;1l@%8)MlaJ^a;9#$HUf<{ z&CUcQwvvU*t>iW_9&)>RxWzVk#!&z*!B)55OMJfYWY~IL6HZw{cWJRP!OCDGlByl9 rZ{)0}{R%#&sRcX@QgqtVB9>{LwL#BA1qJsvYOE!gC5IIRp{)M|*wgu1 literal 0 HcmV?d00001 diff --git a/webedit/icons/em/75.gif b/webedit/icons/em/75.gif new file mode 100644 index 0000000000000000000000000000000000000000..18a7b9220d64bd13208645722d86fe444c0caaf8 GIT binary patch literal 2075 zcmeHISwIt46paFkVim2nXweSAtu16@O(23KAXozt!X_?+WP}LG#3Y!Aw1Vtd6f9Ce zK{nZ3KoH7KKu{5+5ky%-5(H&aKqzQcnoz-hlz#QI?_=I}&bjx#cV=dfjg>K$st!|! zO~=5dWtV%(`Lf33)If_Hk(LR3Jy9OBGSOkEuWfYTX}XEaCF>bka&;2vrI0f5;NVE}*^$PG?gHC~*AGui;$L@O zY|pdJi!^B~@{(1#bXEI`@;s%bPI*ygcdl4Vi^vUE?Ou1qi*J)h+s@xfb85WiG9^tM zYKfeD;P$d5A}17|6|!r*En=*e(ptdmFSQew(+Z-k#AO~ip*V3RUs6ndHP^fI!_CN&q{ZZ0=WV8C$#0*f=7#IFm-EFH z$0U_Uddm*gr;~eyg2~Rf{!(&InCX-_@oomCIn%nQl+{*re4;yUN_wfM;zUdSf$_)D z*TPLiw>*a$LI%qAKgzWmZi)~lyUxze!v1gn(FthHs=1KJ0Flb0%6n5Y0h>zm26=!7 z=*eK=;jhZ8;Q)hw4(TpEYL<}n}^pircGK)yUYT%PG)B{10wvMerQt{emn zVj=}pHWH0MDN33Ll1Tp!Wil7gT%JAnDc^q-=2A|wL8Lv%g?u?QP!88tgks|e9FWR` zI1~u-nLkCc7sP|OUJx4~I2ZuV3>F>YbLY?`63&Ljnm(w5Z-kE`9M_j2Go1<;frw*ZQ|>o?nuCM=@M5t$eazdypmfI!A8m zC9@yizx(6uo0;j~rzT%djE}u~IXW^tH2C8AK>xEonN-p%?&}Y@br0sEQ%OlZm z%@3OzA2i&*celRoPHl~_x~j6GysWh3*W#kvg$1|r^KRa_el0gAJ1g^QMtWLm%9Z4# z%a;-p;(v*|82j^unCSE8qJBCX84(^98WJ3ICNSXik3aaI@;fQupYY{zImg)$i|ONi zjN#>Z6r|HUsP0D&A3ErEz}3as$&uno zq(#fBz@>Yl6VT2Ys!in3hg)=hn~KAb@|Sn z&4&)%U$Efn(}S6U%QtqnYw1p%r$H7K7G3J$dN6F4^LUQu4Vf4@9Wpk+pyv0qepwroLRYV-?jVq zFWk7Xe*gaa&!5j+v0~%FgC{OsYMnoS?STVbix)qA{d)QK?a$x6`~Bz7t0PAaUAfXc zd-nGqKVH0jo8Q&7_Ta$@D^_ehcIUo-)&qM- zFF8L~zap_f-%!s0@{(ZdJ#@7=v~`_|1H*RNf@a{1E53+K6ZM z9qnzcEzM1h4fS=kHPuy>73F26CB;RB1^IcoIoVm68R==MDalER3Gs2UG0{ zA;Cd`0selzKHgrQ9`0_gF3wJl4)%7oHr7^_7UpKACdNj<45g>5qphW>p{}N?qO7E- zATK8?BP}H`9&m{A4!PtC-^m4 z8mb8k@^Q0r^9c%@S~Yoa7;!Q&NwP}*Qaxbwg0)*u=#WOt4kxF6M~9p@90AJ~xoR_Z t@Jw2i;>}>B;4H?$pe)Fz7;eK5vGbBMr&^aujD_>&XEV8_*jSkutO4FcuPy)p literal 0 HcmV?d00001 diff --git a/webedit/icons/em/77.gif b/webedit/icons/em/77.gif new file mode 100644 index 0000000000000000000000000000000000000000..0a996d59e9f3c82f109bb27470b8d2918d3419a8 GIT binary patch literal 1653 zcmZ?wbhEHb6krfwc$UR*!olHZQPCZ5?~`fXpA!u~?25phGeb|Vj9T64yr$FP z!M^Mxi{qc3?RdMxXXU7_@ZcM$j+ILxt-La*KcXlS6TITb7Pw4tSuPg5E|NsAI zpbRMf=Z^3VP;f~sNd(e1_7w$*$=RtT3Q4KynR&KK?|1K4QpilPRSGxtHSjHPPR+>l zs47YguJQ{>uF6ifOi{A8Q?RM9s>m(KO)W`OsL0L9E4HezRZ2|BPfE1{vO&W7N(x{l zCE2!0jvxsIke$x?MX3s=dIq}524)5dW`=r(#wOnqF z1_laHpait7C?(A*$i)q67m#PGlu=SrV5P5LUS6(OZmgGIl&)`RX=w>E!^lV%s6w~6 zGOr}DLN~8i8D@e@YH@N=W?$S+WE4mMQ?&&*57FE0kG_Vu;$%quQQ%u7!7bg@+e>etK6 zOtEq_b27JdayBz`Hg_>JbTx2tax!#sGBPuDGBS5@wKRn3b;(aI%}vcKf$2>_=rzZw z7nBfk3xGDeq!wkCrKY$Q<>xAZJ#3YU+bt$I&4cPq!R;1PoO<VgsyL#pFrHdENpF4Zz^r@34jvqUEVojbN~+qz}* zri~lcuUorj^{SOCmM>enWbvYf3+B(8J7@N+nKPzOn>uCkq=^&y`+9r2yE;4C+ge+i zn;IMH>uPJNt12tX%Sua%iwXi?qaq{1!$L!Xg8~Em z{d|4Ay*xeK-CSLqog5wP?QCtVtt>6f%}h;V~xOjJZzNKk;EkC%s=i<5($jg^I&iIIUp@h1zA%wo_16)>REnt^>sLsnB3KbO3m zJQsg+PnM7rCxHoutG^syuei2GxQ=P4l99T2FOPGEo_>O=VRAH2 zub{D;gI0uRyhVs$udrIAm33N@Pn4Z-FPn#QfMdG3jb#{HuRw6BflE-LnY)TWFE6vE zcc4j}lNU2@kEnvQn5>Mwj8()9hDA*ZTue*?9101IvsgLBxfU!?>viSH(xlmU_E2GB8*J08e3jc>n+a literal 0 HcmV?d00001 diff --git a/webedit/icons/em/78.gif b/webedit/icons/em/78.gif new file mode 100644 index 0000000000000000000000000000000000000000..972a21d831e2f75b968722d0079a7ea4e4d2f325 GIT binary patch literal 1662 zcmZ?wbhEHb6krfwc$UF%M9}!(pFcMRjUU^@{rmg(p?lg}ubg`(Vdq-9zX_WhQ8Rte zGWk~L)cN-IPv)=s9$R;M#*E!L`5%N#uD4BiH*586tEh(_>EG@=_*Fgiszt~>%c!?L zc~60+*~b6-`D>q$$-DXMA2=nwo3`TL??0cPJ^TOn@9VyWcbpS`Ojvr=H}!jT?OR!! zgJKp(3|)8Y**r80eqx_+Ti*VOec~l4>;KDlJQX&*ZWj8jd*T0OJASs#{uE#PDY5Rd zru#Wr``x-WUmIuK5;8e2V)i_u=%A?iQ6ZDlHo@mr+-~Xz9@BSyrs4jrXW`?(?AKyu zkEN`R=s91rjr>tJ^_Ga)F=^YULMA7SyuMdYe(9h0!Y}uftlcfWfY+&YpYq#p`=orY zn)K8&{dr``*Vfs`jXh3T_`QxQKX2@J-8}S^b>KNc6v-9O7C~?S5nAKu~iB;^)>J6!V;*iRMRQ;gT;{4L0J^^2{qPNz6-5^>ndS0_xYx%uKOzGBvO?F*mj_bT)S} zG;}qvuy8haHgR@wHF7a9b2T-F>2=9ZF3nBND}m`vLFl!_sTY(GatnYqyQCInmZhe+ z73JqDfIV!LiQ6q^IL(9VO~LIJbDVnhfsWA!MJrM?!-Rlo2gHOYS|A6W>{IiAX}t)T zs2TtN`}^njub)4@fBX97^QVs=-oJbM=Jl(WFP=Yp`sDGWhY#-GyL;#Mt(!NlU%Ptc z@}-Lx&YwGb=JctPCypOGdgSn-g9rBS+q-A?uAMu!Z`-%OrteG>WPn$Yr@}!9q`ulo&y1P0%+S^)NnwuIM>g#H2s;eq1%F9Yi zii-*h^7C?Yva>QX($i8?l9Lh>;^SgtqN5@s!oxyCf`bAB{QZ1=yuCa<+}&JVoShsU z?CorAtgS39%*{+qjE#U9N>5iuTT4?zT}@R*SxHerUQSjdetC||CxrGL+LX&!egcg5*sAw#|mV~`}hFq$pG#i_Bypz>V=}ht!HJi9&;v#Kb7+$=HNa1c0cl9<-|NO<#CQZDVFG)X; z=|5A$kp+(y2s9gbW)(azSjs8H*2dwJvC*lCMa@r5z@Vj#fk~WG=!e6GiORDW1VuDD X1P(k=5aN}ZP~geI#M0Nuz+epkL4;jh literal 0 HcmV?d00001 diff --git a/webedit/icons/em/79.gif b/webedit/icons/em/79.gif new file mode 100644 index 0000000000000000000000000000000000000000..3fa89d82e826904f9391ea63e28f4eac3c402dd5 GIT binary patch literal 1672 zcmZ?wbhEHb6krfwcvi~r@6VrqfB!yoPkZZ?^VlZt-Td|ce*U^@5%Ocg(tDOs4_YRF ze)jDD-@o7PJoqMTazxGaoS^YNldxNzQ+Ma&zniuCtxw+9*4e+Rr_Q&xe=>j7Ro~Qi z(^fpTjX&4Y{qOgm2Tn<+XUw?XHsO18?L&|BJI)FFgiIcZnH|%2J)-CQdiwJ7B4)>p zJ-$~>y66%A^VOSMB4*EB)BZ2p@k-YAwW#SODeFtB4hO|7&Z#-x(hK+=TX$5}?umWE zZatgVQRUA<3$BJ{-POUp-;rHj=$4~LK=Va|)_bt3`9{SKM_-o^g zqhjWFj6?3`HT_?{<8fg2VN+Qr`Vq%h+i#(Mch>H3D2mX;thjEr=FDs+o0^GXscbn}XpVJ5hw7AF^F7L;V>=P7_p zOiaozEwNPsx)kDt+yc0Ixnujbty?y4+PGo;y0vRouUffc`Ld-;7B5=3VE(+h zb7s$)Ib-^?sZ%CTnmD1queYbWtFxoMt+l1Osj;EHuC}JSsEZKEj1-MDKQ~FE;c4QDl#HGEHorIC@{d^&)3J>%hSW%&DF)($R2j?$EcLDMHP!OYnG4jEmHq6*;w^%$O16d}fBQ5DzPdqU$jp)r^1^j)WC{4SY5-78#ctQ%+hjsM%B) XFdjJV$Ze1iQ7~D6LqL_8k--`Ox-)gU literal 0 HcmV?d00001 diff --git a/webedit/icons/em/8.gif b/webedit/icons/em/8.gif new file mode 100644 index 0000000000000000000000000000000000000000..b573e9b3e645d787ffe7f97e5f6fd9ebfd25e95f GIT binary patch literal 1199 zcmd_p|5sCW9LMp`kfjI|#Vp`(I6zRqF%Ln95NQWQah~2HUz1K@ft)Z7r^6SIkywo_ zz9bz*VTl_YxEOdDCkGZw=YWlk?@W*{V!>!IN*#fO9e1~Txu5W-{)k?G!1IU4Ij=*9 z<0JQGx+8aFl_S|XF=hczKorjjF9G`$@DpHZs4Y3XX#xBQYUp>{DPH0p<^2{{f@AoYG`&&b5zSKi(zFF^@L0e*@W6 zX`lRhOrA@3C$V>dT?Xa>utUIZn9NE()qQfghtJ*zH7TU$GP!?1lj6{pZY(N^V*D$xCQvryu#cflns4k%U)J*J zdnN4ZUE|N`RCkfRzrw0M&HSdoMj)<~nhY(Qt6=K^dLCre1;et)uGTW0vcWo)K#$j3 zrfyhO*;Z8wV}_@i1XA*uNnb@ai0y`qm9Z4ez(h|y9tEPNz}|D584)h)_*PY#y)WN3 z1WYd|u2#|ujm#p@Lt^GZuW9rUbt}{ION#FHHM{`iMK|3%?bMh8+G-*XV7fIA) z`FO186G3W_e_wn>z{M=@Q$Gc!$-{Tc&)zb3PJSbTT;G_okXPnHrrFAqoiP)k@HFE`pXINiurl80EH~*w1qhOUmdtwd24&=lDcnr|9+PJtOO* z6M`2H4!U2cO4d9qvP@ST%^JA5?i>8VF3)!aM?y?UBvi$|RCcju*ookJc#spxzCw;e z#ZiuzUQm6>+j-BM_l2z*pV7J%kv)8{)-k2kKkp=GUv*oOTV=g8)_g!Z>*=qFmeg=P zL=FyTB39R*tZStzboz!q&e4bG_8;Fi#6_;iX^SrkrE!pOr$jF1Zr|x0+GL7N<9a$2 q3p$(ot31MU=cz literal 0 HcmV?d00001 diff --git a/webedit/icons/em/80.gif b/webedit/icons/em/80.gif new file mode 100644 index 0000000000000000000000000000000000000000..84e3ca41744e367487844be77d3216861e897ee5 GIT binary patch literal 1390 zcmZ?wbhEHb6krfwxN6IA;lhPGo}N#hJbCfr#jRVn{{8#+E+OHZnc2gK59iIBclhw( zFJHd=E-L!IY16BSi2rlvUbVKqfB*iw(9kny&YX00eY$GZxpU{%o0+X%y?WoieXp~# zU!FSkbjOZ&d-mM&^}Xofam~)|x~uCY5071uk-K*7`uzFx&*tV|moDv#iMe#?()#u5 zf0vi92b!6a^XAQ)w;>_7mMnSu_U--U%U>53J`4%jV`q29+xy6oBd1TFe)jCytDvA? zjg9Bepa1{=KLZ#j{^ySH4N!1NEJ*~?Hue<-iOJciB??KY>6v-9O7C~?S5nAKu~iB; z^)>J6!V;*iRMRQ;gT;{4L0J^^2{qPNz6-5 z^>ndS0_xYx%uKOzc62f}H*s?`bT)S}G;}p^GIBF_GBh$ab~3ayHE}eC>2=9ZF3nBN zD}m`vLFjeDsTY(GatnYqyQCInmZhe+73JqDfIV!LiQ6p}IL(9VO~LIJOPqT3fsWA! zMJrM?!-Rlo2gHOYS|A6W>{IiAX}t)Ts2TtN`}^njub)4@fBX97^QVs=-oJbM=Jl(W zFP=Yp`sDGWhY#-GyL;#Mt(!NlU%Ptc@}-Lx&YwGb=JctPCypOGdgSn-g9rBS+q-A? zuAMu!Z`-%OrteG>WPn$Yr@}!9q`ulo& zy1P0%+S^)NnwuIM>g#H2s;eq1%F9Yiii-*h^7C?Yva>QX($i8?l9Lh>;^SgtqN5@s z!oxyCf`bAB{QZ1=yuCa<+}&JVoShsU?CorAtgS39%*{+qjE#U9N>5iuTT4?zT}@R* zSxHerUQSjW9V8FEU3io4`{ ze#j)$KjdY!DdMbgR=28WWEZG*HCEGZ=;l*ubuqD?B)}&k>aHu*rNC!uxN;mn${@;j3o>ko zzD(TdA9&h!VP!ZLVNVD`m+HfaBoi<c1^5Kw+Cbc(e~T9l&BtC8;cMax<3cDRS2!{0zndw*tPkFjOBuX$0r&@%mG+#vBS9 z7HfSolf!N>wK5~^XBU^ScJ3=FgaC!Ivw&tMg=HrM!x8jyVhDVL!nbICN{FNl1)nCf zip4FFtkFOW&oI!g4_&hTsbOY~uz$7~T(5?O9{rRV^!*`B?g^9(f zUii)tOtgSOwBlNPSs}N({b60%MJPo_st#iVkt4MpW!a%+IiXh~-LcW4L4Gm#jMf$V zVtmJn(sVHKsP1ldMb3%w=anN>9{dM|^OFPo$EDT0pKvic-kO!48p6LFONg(3Zgeir zaB_I6h66bW)g zU1g%qQc?3+;oZ}nzwI35+hH%fzz{lIb_DOv6WnqZ^;qD~*u?Ad;R*-AZ(d0!)(Eb< zVD(;jmH$}QKcUzbPTGwm+QGLDSh6SR!Fa22jZqhiH#R>=m-jMuT>U z%C{43KZ&!qjVA0AT(Sf0)xmd#Te zu5@O(yY07fVVM~-uMC916hlvgpwZOXNg zd67_Kt&e+fk86ojfl}B6RcFWbyw^Q_ek>}H`ChsP;2z| zxsZstgIOkS{Lnw=tP7=j7Mb09K1xz9(>kr|LY1#E}-i8 zuX!xCCC*&>(0a=lAyE_c@UPChSpLsHc|-wOB`bt#fWTO_jgv)I(F%&8Vlx--oLKS( z>u>baR@frpsc}I^LcO)?C|^)th@w#o2VLtSxY}=C@aEI8;?i z&V(H@j>O16en6dA-x9so?G#Bf=U5AMz0n&L3i&UYe-V{2lm(U|yN)bJmdPMBaY-7Q znIQ+;n$}GS@sq))hj(#ozGLQC+0g64&GV=&O$eKt;aqTwVa0BYTeUAIe$PS>XRSIj zGJHzJXI~~OO?G-l2ebD^E|4^r{>_h94VM36>=#6e%o?f;F<6GUPTx<|7)@D~Xmvi- z$C?8uew?Ms;RaQRvwTZajdomf^PVggM%l zjVmxlr`(DP^O3~BJs1r_h4MlILV?`Zl8h4u!dex)gf zC0zm0c4&WLNlS3jcbQgY1nYIGZjowM`I{b#L*xttRfa@d`wY%{W9m2FZ2L=O2HiiF J!Js3%{{uSJqN@M^ literal 0 HcmV?d00001 diff --git a/webedit/icons/fullscreen.png b/webedit/icons/fullscreen.png new file mode 100644 index 0000000000000000000000000000000000000000..4111243acd7702883ae5efa39d704c86e0c03b56 GIT binary patch literal 1305 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 literal 0 HcmV?d00001 diff --git a/webedit/icons/imageUpload/add_image_button.gif b/webedit/icons/imageUpload/add_image_button.gif new file mode 100644 index 0000000000000000000000000000000000000000..8533618edba86a28c6fb0073f1f678f942a243c2 GIT binary patch literal 2034 zcmc(e`BT%^8ix~vk|MH3*(EGuLJ&ycGL%IlAWOtf#RZp835x|v6{xnjT$>PLWv5r94p zd=>)P3<-A*c(Vjl@|6v5HQ`f%gW^pla9R{qR${!Cu`@UlqKJT!bfB{i*} zFsHWeW+Sz}kM)q**Tfz?o|+n&no4SDxKLP_QCUg6dpEbPu9Qyyy`iC!!6>8C?=cva zZEbbk-L+j^jRONsZ1#BqA(cq%8XN0;`Lcg{`m;>-UMO4?iDLD%G01 z0xGpysZz-m3Ylh8CX;BoVzE#ps%P~z4YDsks);VkI?4LcxWdW!H<$zM8~0}ccuvaq zjAZx&FSo}SSBkG&jsLNwvvI2zqdF5UXOS**{`(grQ1yFJ6hG8$pP1I9Jw()z;z)dL z{C})$+XV9=;~m>qru=E8TVJ>BeBEX{*=qZy1NKL!-OLO7c_!jL%lSjU%kwgW(I)6< z)ArZTck&;@X1fr7GQDVpdQZvQT5fIYtnw-O8B&}EDZThLh2W8s;C&5;#s~QNSy~=M zAOMY=O%SD0p-{**IGQ2(4~}>fNFV@!|Bq;x|2HKP3N=B&!otGj3jdeXn4`R?C440wtBP>MnDNlT~5#ejStdj-s2(oht zb79+EpY*kl`!Qg156ZFIho_QCnAoQ1&grL|?a335;}MxFLl@(ZKRbU#&3cA0M&Vei zu50sg9CMp%U^k0S7UwPK*Ie0t>H%&{OrZrb*pHDGH&|kOW+LWN%UNz3$s(cHCU1t$Tg`l>J zm!?{NoE_=vkbIe`l>tz%@Lrm5ad@`+9FUpPqpA(V+-!vWjpBPxN*JbxD_T-7?N`XjXne~3(pv|JI8t%Z1uB?M~=1$ zRknz|X3|d9=1S3n*c)2%-8H{E$v;xAX*nY(CC$*p+MKKf-ot92EyJF#ijx{1U0r?| zQcrFD{JD`f05~r-juU@aYHC|ZYE0j^t@Z$@51w|9)~0=$YR~@4ciEk7VzsQb)!J&M zh39;Q`gH7g-g3)ptZ$S3tZVg(7UctZl98u;(r@n#DeCW7V(3l=a6f?I*Pm$roMxR+;F;gb&TT_ zNdpK>=)QC?(d?X=dpg*wx6)f1X|YN=lwqn)pT9oo$e7PLedN-il-Sh+31>w1?XWJm zN6_|XQ|N;(O`&ASu1EEDYzse6N!^3a&@^&v@f4>@dC))c;5_N$SA3)W2lxLDJ0TK6H{@E)FG;*U|a zTr51l4?uphRXBZDBI}1|?+o~uY(I>>{xAUs zaey$5oT@W-XI4YP-~pzEG!h~czcnf}a7WeytjpPGoKYfx#f(e*=#e7q$QZ literal 0 HcmV?d00001 diff --git a/webedit/icons/imageUpload/cross-small.png b/webedit/icons/imageUpload/cross-small.png new file mode 100644 index 0000000000000000000000000000000000000000..2de4c12037297afcf41ffe8a77f6ce2df813b504 GIT binary patch literal 2938 zcmV-=3x)KFP)KLZ*U+5Lu!Sk^o_Z5E4Meg@_7P6crJiNL9pw)e1;Xm069{HJUZAPk55R%$-RIA z6-eL&AQ0xu!e<4=008gy@A0LT~suv4>S3ILP<0Bm`DLLvaF4FK%)Nj?Pt*r}7;7Xa9z9H|HZjR63e zC`Tj$K)V27Re@400>HumpsYY5E(E}?0f1SyGDiY{y#)Yvj#!WnKwtoXnL;eg03bL5 z07D)V%>y7z1E4U{zu>7~aD})?0RX_umCct+(lZpemCzb@^6=o|A>zVpu|i=NDG+7} zl4`aK{0#b-!z=TL9Wt0BGO&T{GJWpjryhdijfaIQ&2!o}p04JRKYg3k&Tf zVxhe-O!X z{f;To;xw^bEES6JSc$k$B2CA6xl)ltA<32E66t?3@gJ7`36pmX0IY^jz)rRYwaaY4 ze(nJRiw;=Qb^t(r^DT@T3y}a2XEZW-_W%Hszxj_qD**t_m!#tW0KDiJT&R>6OvVTR z07RgHDzHHZ48atvzz&?j9lXF70$~P3Knx_nJP<+#`N z#-MZ2bTkiLfR>_b(HgWKJ%F~Nr_oF3b#wrIijHG|(J>BYjM-sajE6;FiC7vY#};Gd zST$CUHDeuEH+B^pz@B062qXfFfD`NpUW5?BY=V%GM_5c)L#QR}BeW8_2v-S%gfYS= zB9o|3v?Y2H`NVi)In3rTB8+ej^> zQ=~r95NVuDChL%G$=>7$vVg20myx%S50Foi`^m%Pw-h?Xh~i8Mq9jtJloCocWk2Nv zrJpiFnV_ms&8eQ$2&#xWpIS+6pmtC%Q-`S&GF4Q#^mhymh7E(qNMa}%YZ-ePrx>>xFPTiH1=E+A$W$=bG8>s^ zm=Bn5Rah$aDtr}@$`X}2l~$F0mFKEdRdZE8)p@E5RI61Ft6o-prbbn>P~)iy)E2AN zsU20jsWz_8Qg>31P|s0cqrPALg8E|(vWA65poU1JRAaZs8I2(p#xiB`SVGovRs-uS zYnV-9TeA7=Om+qP8+I>yOjAR1s%ETak!GFdam@h^# z)@rS0t$wXH+Irf)+G6c;?H29p+V6F6oj{!|o%K3xI`?%6x;DB|x`n#ibhIR?(H}Q3Gzd138Ei2)WAMz7W9Vy`X}HnwgyEn!VS)>mv$8&{hQn>w4zwy3R}t;BYlZQm5)6pty=DfLrs+A-|>>;~;Q z_F?uV_HFjh9n2gO9o9Q^JA86v({H5aB!kjoO6 zc9$1ZZKsN-Zl8L~mE{`ly3)1N^`o1+o7}D0ZPeY&J;i;i`%NyJ8_8Y6J?}yE@b_5a zam?eLr<8@mESk|3$_SkmS{wQ>%qC18))9_|&j{ZT zes8AvOzF(F2#DZEY>2oYX&IRp`F#{ADl)1r>QS^)ba8a|EY_^#S^HO&t^Rgqwv=MZThqqEWH8 zxJo>d=ABlR_Bh=;eM9Tw|Ih34~oTE|= zX_mAr*D$vzw@+p(E0Yc6dFE}(8oqt`+R{gE3x4zjX+Sb3_cYE^= zgB=w+-tUy`ytONMS8KgRef4hA?t0j zufM;t32jm~jUGrkaOInTZ`zyfns>EuS}G30LFK_G-==(f<51|K&cocp&EJ`SxAh3? zNO>#LI=^+SEu(FqJ)ynt=!~PC9bO$rzPJB=?=j6w@a-(u02P7 zaQ)#(uUl{HW%tYNS3ItC^iAtK(eKlL`f9+{bJzISE?u8_z3;~C8@FyI-5j_jy7l;W z_U#vU3hqqYU3!mrul&B+{ptt$59)uk{;_4iZQ%G|z+lhASr6|H35TBkl>gI*;nGLU zN7W-nBaM%pA0HbH8olyl&XeJ%vZoWz%6?Y=dFykl=imL}`%BMQ{Mhgd`HRoLu6e2R za__6DuR6yg#~-}Tc|Gx_{H@O0eebyMy5GmWADJlpK>kqk(fVV@r_fLLKIeS?{4e)} z^ZO;zpECde03c&XQcVB=dL;k=fP(-4`Tqa_faw4Lbua(`>RI+y?e7jKeZ#YO-C z0H;YrK~#9!V*LOAKLZhfiGesky1ExTcI-AWd9h;$8XF4!!@xFU<9{V3+l-Abx3s|7 za9M=9C)>AgG&cT`oD3)5oH>I<-T(jp&$P6xGB*C;?Y+v__(ESFvJ}F7_jl~LzJ9&k zzki!wys-QC@AA^6_mSL(P`9t9#_rXtElfc-mj#PnPRIHZt82`Ti~3Uk?B!Ylp0*+7m{3+ootz+WN)WnQ(*-(AUCxn zQK2F?C$HG5!d3}vt`(3C64qBz04piUwpD^SD#ABF!8yMuRl!uxSU1_g&``n5OwZ87 z)XdCKN5ROz&`93^h|F{iO{`4Ktc=VRpg;*|TTx1yRgjAt)Gi>;Rw<*Tq`*pFzr4I$ zuiRKKzbIYb(9+TpWQLKEE>MMTab;dfVufyAu`f(~1RD^r68eAMwS&*t9 zlvv ztM~P_^2{qPNz6-5^>ndS0-B(gnVDkcW@c&TWa{SPXz6NcXy|I}Wa(_~YGzv4~Pj*wm=R%;iu*SQ+p9GS-)3lO9JK=O-~ockcwL& zQ*u3m6Ge{y|DLxm-}FM%KA+2%p0-8KaI+LPRuKx(&|dV_^o6rNi=+G-)1!TX_vTy6d7zYCI9tkPO2{~{K&28;G`qQd_L=sH0P2{ckbNzbnMtM=E}-S*G)Rw z`d6|{_r$$FzHOV??F$z!c>h}6Z*u&7h}+_c;i)^8?c4Wn!PP8V&HeT3zu(V3y8gAf zz@Gf}FS#6=vqb)WtF10yk+I`$UR&*w6{{93Xb9eDVqzk*X4NVylbUBdkE*LC_^y7I zlBSUSlq*9`-SFyN-u;(57dc-`I_04@nPGOv#f*^olP3oU#_qlQYwb$TDz3QuH#=v} z%w%C^bltq!SmWI*rz{1I`#V3cShHqJT54*jf%YZ4v(?|;+_U#$JniN-F@L-E@3_0S zx-R_Kp;Y%Q@Ww|D&N%%h+q)~)-rYJs@|?oq1cMn%ujfx#boG&A*)}1WPL~OZn;pwP ztBDJQ*xd2*X)+OPy7FD@<;$08X*V6zJuh=uvkSz|Xb)R_^zIXp9Wi=8{?;As=>LAy zN?1tjWJQuwCvUrQLYQyn2F@oDA`b&NHrvUYT$EUGqocdqxu#~1(%bu+!zL!SB#E{~ z6ecD*2Ccl(p?$Bxqk!jRkx2IM-~XC-@@wtucR0*;#X*L zd{yX2@IuM=*PdvztqJ+?`8=!LdM8ub`uo<@Uuj=Ir8nkw z!ye`16Y76xL`A*Zayw_cY{}1gleX*3@KJl3*6OrS#cGq(;)@}*kAA$2Rh_+UO=Qu< z2XE@1?yY)zNqGD3&!3MRIg)NQS8vUo2dZonR5(9>{>=7k@66c~r~H~Ougoj_q3xCN jqNQ!h%uj_sL^m)pFy{1RXRs?afhrPDS3j3^P6esI znR7n#{hi;OjP2?A&1ME-pkE;9;lqaz1T8KudOV)_`T6wp^p=(uf2Fv%SSFK=kB@u3 zUZGGpJUk2l(CKv5)z$vpzrP~?FHUK&nD<(COPZ{Et0m?db93z;^X^U7=d1QWkq-bw z_z#PGNam*Pcq+w^mln54i-h<~s=yrqB!o6eBrwd4{B{&hHR9I{{bQLC?)mG!al!d3 z<_YADRELlGj+H!fNocrRe7`?$gk5?^y3^@6pC85jwesu>G6*{Wrto)mL5D?z)j-L++&!SNH!MDuhyZ1*)jGIdEgHH>qdP6}DTp>kJ!bZd!oke!Q0J5vRHHSl&=?=ft+HzcfBB?ZKg#rgtngf(C zDL)0I;%QR6Z_49x&crpS#vVCUpEoP)gxevZsOEytw5Vq|*bf39%i#K5VVMGzL^=13 zR-}G|UaU(m68*HWc{(R=BrQG$CK$N`HcDv@S=IAWm(o~Np>ZF8X|_V%3_!1*u`vm}?t+-#K2Qs= zlXouK&f(YJG|lD7kLqye?NcYji#s*HOSm|xQ~{R)Ao3VZxwQ7l4$VQO;kkhWM?7Tq zV7I5-(5BO!(yinIf+@AjEfNKCk>b~u*83@)>qu(a3nA*y_1a7za7?y8mYaN9Z=br4iilUPLeBE8>z7SjUY!R@qdmA$~nkLiZ z9qy{OsKf4~y1^q+D*!YY&=vr^tMUUJQrx*Do>dYDlPO!l`DoZR5vApf95=i4Lz;yXc(}m~6Zh#oS@fHF;-MHT+t;8_YoNLuk zSUE;16g_GThjJ{n2e=qnXWb70jIOhk#;lMy!K4=hr0tBKfB(rz4e z+1U)aJZHl#TYU{%(($JI!F!<+%Jp+Jdk!#Y(|CzO!nka;h@9x_wBI_{i{tgbHY(SI zVOYV2N)E%tOc-CGkW(0fy>Or+s~>c2t0?1P8+jRZNqDzxRf7dRy(%%W_#a<6{e3caEW8DdD|KsdZBw z(K6nRmw&K{D1uvtp&1a;%;nPiAvOlI0*Zq9*kdsS7JEd^O*1FLwTe{>9&A}oMlrlF z`pQPbaQ2zQZ_j_#qk8qy|9IetJFQG!>l{9_AvsafGtVRnQr)xR?bImN4qo-#?gP`}S)0UYaWY9t`6HQwY4B_($TWNu`l?!*nIBy_|7=pQc9cnFU zs%%oO^oje|8ddh7^1-E9_|T~KBxydL{KcW06CqFQ?Ym3~cb^|wPx?lUyCBD|_nRZU zsA}@ctKd0_^(q#G?{G;+$w=8-md|N>W6e5@3AT19SLRCCSyG z=oV%uMus5!Ry9PhrZMnpmb0lXJuACSOl2|krLXzwsrVsNe(8N);u`z?E#W-RKNi9E z;z;dGgCSKfqEhya^?xWt|DBmvWexQ%SfTtu(C0Mdv9@(g3WttPh3GsE1Niv~Ituk; zXltbvX7Jn^Z4>QMtd0~JELrW+CaT^$N~khm@~tceYLLGjk=3uK@XnOQ1!btG^Pus9 zYDnDM@%;wTR-(h+ec@l>g6c`Cs7=j$FkqTfajDLuzmAAh_qHK0!$~G+eL?P46^V2( gTVr?dnQ{(H{Ie1a9NS3OKPMyDfF?Qc5iPGj047fkWdHyG literal 0 HcmV?d00001 diff --git a/webedit/icons/imageUpload/marker_bottom.gif b/webedit/icons/imageUpload/marker_bottom.gif new file mode 100644 index 0000000000000000000000000000000000000000..daa101c00303415ab8f8cbcc4bbbfe972962d982 GIT binary patch literal 43 ucmZ?wbhEHbWMg1tXkcLYpT_Y2|9{1wEQ}050UZV)0Ld^gF}1`qSOWm;KM4l_ literal 0 HcmV?d00001 diff --git a/webedit/icons/imageUpload/marker_middle.gif b/webedit/icons/imageUpload/marker_middle.gif new file mode 100644 index 0000000000000000000000000000000000000000..a854393c40338b80606944f8527c5ab0d6965b09 GIT binary patch literal 49 zcmZ?wbhEHbWMg1qX!y@?;J|_ZX$*=#Sr{3BKnFyCWEhw@ScKA6Oh4to$Y2csJ4FjO literal 0 HcmV?d00001 diff --git a/webedit/icons/imageUpload/marker_top.gif b/webedit/icons/imageUpload/marker_top.gif new file mode 100644 index 0000000000000000000000000000000000000000..daa101c00303415ab8f8cbcc4bbbfe972962d982 GIT binary patch literal 43 ucmZ?wbhEHbWMg1tXkcLYpT_Y2|9{1wEQ}050UZV)0Ld^gF}1`qSOWm;KM4l_ literal 0 HcmV?d00001 diff --git a/webedit/icons/imageUpload/mouse_drag_img.gif b/webedit/icons/imageUpload/mouse_drag_img.gif new file mode 100644 index 0000000000000000000000000000000000000000..4cd7fe127695565cd1d0cd7f3038578e83756dce GIT binary patch literal 316 zcmZ?wbhEHb6lM@$xcZ;L)Wl@k)Tsv!95{LM}; zG&I!K*4EV2l$Dhg5)$I&<>lhyVq;@tW@cufHc3iccFHXQfd`jp`ulCzt2wGYWK&wzxL;TGtYOM^SB_x7qXtgA+lW zs1T$X)zZR)c>vF1wZf`li^Zzb>I?=HXtdjH$H?Sn3dL%%n2g5D6iOY1GK?S?SY@?X zVSuOC=`1<9JOF@sEeL@89!j=YP*LVK3T4FC@3*F=3lxe@r{75?_ct`a0N|7r_4M?h z()0#B2H*`{xuVl)UkFE)n_U6etoORR?Kb=E>gqAgcYO^FJ!J}&3WdVIH8youRcUp) z?-dF(mG>JPdCkKUDJj1;H962U+3k@kRSk>=0&BG>CrV{=I2^oY1WmEi>1=Cj)9G}B zgM$D7prNDv|J(mO10-ZhR%#l^=Eykc7!xNKb8@$EWnd0>GhY}BJ!|_G0{MBd(7MP} zTB?}E&F3d?lW;S(t;)>Zwk0g3RfmpzmaX`7CP$*@{VKXq7#X!7OWzmDIC8R3 zI{zgDn=8$g@WnE|NC>(ZIXR*tSuBJq{Z|MA@he)Pl=31RO0Gyim2<>YI)&y6>7`+6 z>VG#C2wquBW$E0%^!`U;Y3BQ4E;XGi6%|Qxxv2Skmn$)YCE;>pB1xu5RQNKBY55|V zNSZGagRBe~3|Yq)=81}>i(c5LrZQ55QW-~>%S~a&LMQ`;&(C8-#)r`(;Ux)CNo*FK zo){h##R^Ldi)SUVVK|btB;qBOEy^ttaD}p$*u1~6tk+^)r63Tap4nUpe=9dHNg@(} zFG6PUU#}(VwS0eK^Ioqd{zy6#-(LIXYFq2qEzMswHC}1Btp4)S7Z)#_|GfUQb7$+$oIX{1^2G6D zpB_DO_|U;m4(#7oquRUY7*vO4`UC^B=uk$-NY`9A8B2?}0wqpfxUgW>gMC4_cKPP}pB~)*>y4yo zevzI1WsCOEy^q3y4>LQP#&0`xtp68GQM`w+UQ%yjtq?Bu6S?ly!|*b zs;s zBij-_?b^p|6<)moH-7h$+ky4z6~=vG7|H0KR7EqM5V=_2&3w2T3)dV(I9m z;@yL@+y9U}y1ah#=!M1_)3f{6tB`rCuU)n1#%@zr4B=}$*;FE_X9D`rZZTwQOtrsk z_nP*MG@_W2qgmMf!Q8&PC#PT@fwd)ASW#QzWo({T;@!IZfs%M_-N};rKxm{g=wLpy zi&&Z5ktH1jHoDJG0QOh*oSk*XgIS61SOs}6IY=5foBxnRBpiVXl5rEteXGFQp#7_G zH6MAeN&CDj0Iw-6C*TQ?((Bz>3B!2h)xoobuKv1xX?U>ztk>#HRWLUC_%7fuQ_Rmk zh#&m%vqN}$=>~5caZL!O(!U_zJEgtfJpd=~ub5fsoyNq_Hnu9K&G2P1&mHns^W6`o z1LcxaipPuUqqiSjTtASFw4T3sY1{6jP|Kt9_TZf(Cg zPnm|(cvh}V)+G93I=>Ul5o<6@t`Zbp83#(PSAph`gK6QP5E5>A-pA`##r4KK#0-30 zsOx>Rt$GMdTTU+ep36r%m_7(-6f50DpkE6iXsd#=dsR)4a{Jd=sM)mK`d zQi{c?<3q&Hm1*rtV5!EP611s&@>0&^D0zb4X&Q#S@)UNhrqj2ZxRY8(nz~-j3LNRH zsQMtDzDlGRXpJ#i;{aAJ@A)|t5`&CO-jiM^%v+*$QRA`tyg_))cw literal 0 HcmV?d00001 diff --git a/webedit/icons/image_align_center.png b/webedit/icons/image_align_center.png new file mode 100644 index 0000000000000000000000000000000000000000..d2ee3baad05bcadca8fc39bec512737bbfe5c5e5 GIT binary patch literal 402 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbL!WQl7;NpOBzNqJ&XDuZK6ep0G} zXKrG8YEWuoN@d~6R2!h82?0JKt{2vcT3T9KTU*=O+M1i2ySlontE)RZJI|@&baZr- zmzOs+HMO_54>T}vcXzJ{loEmT3R`lW}W@{++`C zo}QkI8jS872{14)5Ed4mU&p1dum9xa>IcPkxPZ@X?H_mfjP_x38kK5KGk zmy)lq@596D5)u;s|Nl=f&H(wwpd`pI7|10BFeEL#Pyy5%5YXiPriQeh1-s?fq|Jp(n!6evH00;pgjzpu6{1-oD!M<>DsKc literal 0 HcmV?d00001 diff --git a/webedit/icons/image_align_left.png b/webedit/icons/image_align_left.png new file mode 100644 index 0000000000000000000000000000000000000000..7195ef77b25df3995c349d6db31ec55db3db698e GIT binary patch literal 396 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbL!WQl7;NpOBzNqJ&XDuZK6ep0G} zXKrG8YEWuoN@d~6R2!h8-T<>lq)RB^hxx;i^MJ32a= znwr|%+pDXqHzi023k&P(>*wd^8yFa@o5=m-lulo+!l%apw|3}noTzJJV)FW7^qpNw z2bO4idU|?!dEGf2aBr{jk@dE|zP=9+tG_;LGPj!3-QE4}Zl!;JG8Q!$&9CDMG%%2m zkT|rKuOf`^|NsA|cV3GFI!wPL$S)YkB>^x*Ew%U#)EedK;uunKE9rtWGfxD|6A1?f zPlp&UU(X0RPX}*jpO9EdPlxH@E{;J`o(;Xet{(2f^K~~Ft$HIf=Z?-9pB|wbp$C@i v{81UPakT)0H}|IvS)VnN!W|tL6b>*{OVy1Top ztE-!un##+|dwF@ysp9nT@bLBZEiEl=N{}!xFnE2|^#A|=zvO&L1iH|uB*-rq$R!Oh@CM9y57eFM>EaktaVyEd zg_$RUB}LNVK!8L4^mqZC1l>|vOLwATY;J_UXj{}_wsrsj literal 0 HcmV?d00001 diff --git a/webedit/icons/image_align_right.png b/webedit/icons/image_align_right.png new file mode 100644 index 0000000000000000000000000000000000000000..2705dcb827db708e0052243a19c7b13945ed2b47 GIT binary patch literal 397 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbL!WQl7;NpOBzNqJ&XDuZK6ep0G} zXKrG8YEWuoN@d~6R2!h8-T<>lq)RB^hxx;i^MJ32a= znwr|%+pDXqHzi023k&P(>*wd^8yFa@o5=m-lulo+!l%apw|3}noTzJJV)FW7^qpNw z2bO4idU|?!dEGe@aBr{jk@dE|zP=9+tG_;LGPj!3-QE4}Zl!;JG8Q!$&9CDMG%%2m zkT|rKuOf`^|Ns9F&rIhAI!wPL$S)YkB>^x*Ew%U#)Ee#S;uunKE9rtWGmizUgo6X0 zr$daFuV;jur-Qe%Pe`n!r^EDc7snte&xT%KR}XjL-MX8MR=ts#b4TZlPmj=z&;v_$ w{-})DxLSb0oBPv-tk0T{K6CpqHZU+VEM2SCQG4xbI?x&hPgg&ebxsLQ03u_jRR910 literal 0 HcmV?d00001 diff --git a/webedit/icons/image_align_right_wt.png b/webedit/icons/image_align_right_wt.png new file mode 100644 index 0000000000000000000000000000000000000000..16b0cf6d245d39186001536dcdc2e20634a43d07 GIT binary patch literal 454 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbL!WQl7;NpOBzNqJ&XDuZK6ep0G} zXKrG8YEWuoN@d~6R2!h8)d4;st{2vcT3T9KTU(o(o7>vjs;jH}`ue)Mx;i^MJ32br z+uO^_%X@ly`uqFOsp1R{4)*f$GBq`IcXtmoFu1cz>A({0rUZ#6r*!V^RX(!bwjzvA zUtfQI9am^*=)XT18z<@p1Oyyf%XfFT(%fp!`uh5H6S;kSeDd@24GatsL@k|NmdhXT!U% zU$uP?)=qo$>HGKA`LC^G@AfSH^z+Xj)9_t|UGM+?`mN7a3+Q_2Zt*VW&C{feo3 zoI2yw?N@*E7EX?wG}|n5&V<7sa#sHD-}is__5XWs{y%Z=wM=-zhKqkX_Z~AW32xea z#&hcbMOS~vEcn0W%Kxj+zZWjwpqZMx{m!fR-~Qiu{r}Os|4yYVf@l4&UU$#2rX{F# z$LjO{58V16I_LkJFJJ!s|8E?6KA`A2(6yg~)^7*;$f+dAFBr(B3^2HefdZ6as;7%% zNX4y~{!qTd0X!^!51olfOM7Jx8UQhHC2BdUrfHR=Vyv-jZObNHzm>ZwHKFFT6Ji09+Y~Y_x5c` zKBr33-r{}c>+UX# Ud+_U9o*)-`y85}Sb4q9e0L%F)H2?qr literal 0 HcmV?d00001 diff --git a/webedit/icons/image_wrap_text.png b/webedit/icons/image_wrap_text.png new file mode 100644 index 0000000000000000000000000000000000000000..7cc2f5a4bb9d2d9e3405c13c47e0f09104667560 GIT binary patch literal 423 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbL!WQl7;NpOBzNqJ&XDuZK6ep0G} zXKrG8YEWuoN@d~6R2!h8X#qYVt{2vc+S=M$TU$FjJ3Bf$+S}Wko1443x>{OVy1Top ztE-!un##+|dwF@ysp9nT@bLBZEiEl=N{}!xFnE2|^#A|=zvO&L1iH|uB*-rq$R!Oh@CM9y57eFM>EaktaVyEd zg_$RUB}LNVK!8L4^mqZC1l>|vOLwATY;J_UXj{}_wsrsj literal 0 HcmV?d00001 diff --git a/webedit/icons/magnifier-zoom.png b/webedit/icons/magnifier-zoom.png new file mode 100644 index 0000000000000000000000000000000000000000..77e03059a6845207f6f79e0285f9c4832d21ae18 GIT binary patch literal 2247 zcmaJ@X;>5I8V#$+q96!}h(nOAl7t`x5`hSrut-8Fi|k-X1_+Q$Ohyx+ECS+!RY0m> zFG?*D&`L!R5L6IBkUXpwYr_>OT(+kQ6}h-v#XGTL`{R1&nVD~S&N=VU;fan;BofgMaIhyj5bV*Hgd;jqoJbT0XW-+5 zMWYEh@svQ&>tif*<%Uf}5CMfi5R1il@eVvJOdt@+WU@lT!2yRNaH3Q`!jjVofyE-*4|pb%;>#ByEIu3Z1>LZy0-np|P(0{#CoeMD!PChRtvY>&2i?ONbae6X zAd%^GM^BGcE(o*t^B_L5%H{mU-SJtj!U{YA8X1Iy+yfBDO9=CT4@ahOKc9>JXZ1dE zIiJsk_*pIiO@^Ro?B5!_x`nz&G5us)bn(gf5Fd5B5ViHPC~F3TQQPSYdIU@4Ps3nF zWQalA!r04`hQ{Sv^rCmoT7l8|#2|~KC+ z_`;D6L3(dj%^IQSfutWs&th?FbvKl1JuQ^BYo+(rS2^J9x;LmlG1@(N+WhLj#&%*` zW%X8;wgGhByA?7gzhPV9HRTstBLnW-mz?+w52=LhO+e8 z7|ojAsDL8t1k3RJV`hB9fv^l})5(%6gNNhW4<^1J1=~E&FZmp$N9gUfk(Ulx8OhzV zy=exEr6rX=9;%3%wdv{AsJiH5d9JH7eyX!?S-W7U?ZR8TBDr$mriqffZ#cv^o%f1K zxp@8D<~%j46_@h2_7ye4O?oYh8ee&u#1V7nCJuLe(^sMf+-q(OJ8qoxA8IjJo}npl zgXra~Bk8XiV`EO3TlTw6oTh+>^~4{#+b&-2d35HE zeq9r6byyL*7})q`w=*_X+ktV&%zP%$OJm?Dj#vJGWDu99YdX?b0@=(j*)D>m>#OBc z$tzJwvO25-t+;a|ByF8wgv%^X8Hyu*JM4@{CTq zc0;XxY~1Pgh!f>zK_hDLm;IgAxpmZ`>t=!9$_meQ?5ypI4*!uy0J~qd^gk~#(+=;j z=vegT-xzw;9V;0*l*-WykFyMDx?`)Z(P4K_8T2Am>G`o`l^0cK8jZrUp4VK8SVv2V z`hKfU{>GgR(}(g|DcNRe<*J;U#fzs}@a{l-))U~iu!4`B{C%rR&;CfdtJP*QL#Uol zTNKY2HQYVlFJEaH+c|M#-_ud&*z~z?-oDLwyi2pMepxl6+PC77VOiz*jLVLM-+HQ} zWU?-LAYeRJO#A2D!zZ*6Oxo;d<;$V;!gb8aNY~se^KH>rLM|bp?r9CR(?8doN|Ze6 zV;|2_+X5G7@FR1s_Ryva{efe{{F}BFsxC_+pQ#ACb@K3-&WQuwRL95ZUmO$G)z{~W zDZhV}kwIeyJxJ)8G8xYUBJuiBNtk5U?SW!K!yPR^Jd z&vL%?G;|N`0^OTa31SzuJ?@@}*|Xbzg^_l4@=TVRF~;45yo=#e*rvEz_|pBsTF<>X F{{?ykq2B-i literal 0 HcmV?d00001 diff --git a/webedit/icons/readonlymode.png b/webedit/icons/readonlymode.png new file mode 100644 index 0000000000000000000000000000000000000000..f1c5c2420b5a716fb057a6f49cdcc8106495778f GIT binary patch literal 1983 zcmaJ?dsGv58jWD((F5p85h!9h*vi8^Ax{a}K!^kh&uAhFlEx0Ru6Z7cMJyO!H?snqNA_lab1PJ#|6Vk8aDMhp@yh~da#DTw7OC40eC zP$JLMTmvI97-s+yiV?9OfhmKPc!>jpH!9UA8-s~t8`Tn-0z|M_VWTFB}5RqVw${dxBX=DK}beZVfu}uK5 zFCd751^kwjSdfg3fwdr(f)B^Zh$Ir0O2v~RC{!wGGnPywkqJcfrs7BuObV4rreR-R z02)mz&t|4_c`sw3D;BU1LDWnF!C)}p4dHlLyO%&>Fc=OEG8u;=aJoDdA~E7rx}YTm zE~t}fAvFTQDy&0MB8Bw`3qUjdtpug|m8?ql@|e&ABN!!W0trual(YmC2>w4*seFaj zA*tZ+`TkE~oiI-g5>i1Otk=rW#$^XNLaCWCT2O+(S|JSQES+NVJ{W;@`(QOTCXI>> z7C|aGY|w?gzzYOSzDkEkR5FmyWdW!H9)jddZZwU@rE`dM5;dAciVdeTC>#!hLL|~C zL{c=FzQpCiGQAR1Axm8O?_AQdT!$5uYBVwz)IzzSoTr7A*cT-;p=EPn#4fA%k}F>} z7Y1)xE&)x3;ArfBHF{|ab&q5E%C_j@mGMCp>UJ$^Yk-p;jKQo7=W{ti<7nGyi}Mye=It_<`j$h$rzTSQl-Dl}DRph^XAR|R67~-@ zx<$0Rz2V$me}53b<$NjpW8g*LPsR5r&o_7*JuIc; zx98^SFPE;zxhSkt1s;ytOzjcbT^KP1Ir9HrU<=O%3H&=^w>!6Fndqfvf#|26dW)HT{>`v}l07;1 zR;N4%LPz`KPdpiE@EvT_eBSDHh8BAM+Wnt25+{G&kqS_ zX%Sf+=hrfeR%qtugIk)5!hnDUPZyw^7c`Oel-E&(_;dTb<$u z!`0ajqwep5x1-;?ohpIHbXAqKFbERnTx>9J*;YAUb$Y5*HQ)0U_m-%R_ z2oC?lv14wTb={V}b8kCq6z}AnW1d{>`&atmAN}7YY?Y=|Zj80z0toy{X~H}FCUFIQ z`roRy0!n2~4`vHxVi;#RY8ly4URo<2j*nzmKR&cOD&L#w6FL%O z)~-h$N6QTQn%UWeu~q#~=)CLf(RCR;DScrB`rOkOn%rgI-|Dey`4WBzp#&GQV&tC7 z8WOESW9#|OZ|b`W9%dK}CMsK>(Q$u2(o5gu`dsPO@i*t*QONQ^^g*O6`n`gzh8-s< z&0bfyVpkt0r;T2L(w*E}WLMdwCO)g6altcLd;I6Vna&>;Qcq+BG!(;LGtWD(7xL2l zZ?v^kmUZ@S+MoE^RQFpOh;!L%Mq53s z#lwfQHA%Iij?J+wmd15~3u2Pej-PpK5&)|`4nXlBOc>}l0o;dI!sVv5UjC)}pKx!G zzrq&%;%iAX?asTT?@oHwB<>h+`VsIO|J5f8)8OZmG=$6A?)athV-vY8(OHH60U7Zd ALjV8( literal 0 HcmV?d00001 diff --git a/webedit/icons/remove_col.png b/webedit/icons/remove_col.png new file mode 100644 index 0000000000000000000000000000000000000000..2193adef84b8c5a1ac8458381ec09155f4c6758d GIT binary patch literal 182 zcmeAS@N?(olHy`uVBq!ia0vp^A|TAc3?z4jzqJQak|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*D5XcmjMvT)%Ir|Ns9#kOw3M5?ZGLSu7<%e!(C?2d$M~fP4c_ z7srr_TS*DWm?SbZPp~juF`CRN%)lz?*wD$yl8_U`@^MC|&m@(Ovpz|CIRz3J?6sL^ U98o#F1gMw6)78&qol`;+00410$N&HU literal 0 HcmV?d00001 diff --git a/webedit/icons/remove_cols.png b/webedit/icons/remove_cols.png new file mode 100644 index 0000000000000000000000000000000000000000..fdbfcd914d1f2fdbdbc9cfde53da72269fdb1ec0 GIT binary patch literal 176 zcmeAS@N?(olHy`uVBq!ia0vp^A|TAc3?z4jzqJQak|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*D5XcmjMvT)%Ir|Ns9#kOw3M5?ZGLSu7<%e!(C?2d$M~fP5`a z7srr_TS*DWm?SbZPp~juF`CRN%)lz?*wD$yl8_U`@-kIz<2@D*0|v{L%$?@bQ=b5J OF?hQAxvX&3JhOsGY&n)z4*}Q$iB}r7=3g literal 0 HcmV?d00001 diff --git a/webedit/icons/remove_rows.png b/webedit/icons/remove_rows.png new file mode 100644 index 0000000000000000000000000000000000000000..e2d9588f2491fc5194d23838f1a9f52fe41a07d2 GIT binary patch literal 181 zcmeAS@N?(olHy`uVBq!ia0vp^A|TAc3?z4jzqJQak|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*D5XcmjMvT)%Ir|Ns9#kOw3M5?ZGLSu7<%e!(C?2d$M~fP8&V z7srr_TS*DWm?SbZPp~juF`CRN%)lz?z%W(CRbchZ9)$*{Nh%#@eUkQa3M4RS`7>9& T)>t_KsFlIf)z4*}Q$iB}v}!os literal 0 HcmV?d00001 diff --git a/webedit/icons/splitter.gif b/webedit/icons/splitter.gif new file mode 100644 index 0000000000000000000000000000000000000000..660bb40df62db15bdd09753b2bd662b5bd08ede2 GIT binary patch literal 177 zcmZ?wbhEHb6ky z0Vx65>Aet+9Gow z4x&p0V%#DjIzvKYCM+mIWOR}OX|z26s>>yF)tMqaW@JK94AW}FDK?EJK5WGyeGx(e`A7k3lF*mhJLmuk zOXxX#HK@krNFjQplt8jevvm5>BE1l%A5I6vRuLs&L`Vp*8c&$aBCCYHsVk!P(Q6hR z*o2Tp68e@?xoQm{#|Q-AGeL$POaXxuHj~ZerKYAP100YIvOo@t&0(-pMO=;u1cB{A zr>qgML8Mh=Y}=wv5_%y?;vyEyVzDqSTqZ^ou-HPOFsi}fFen7WY%`INm0>a;h$$!# zvz|b462(kFR1wO@N=ONv@^mW%BfcYRGH<7eN*K!u;Vd>2jD{2gs@4AuH5zx&W>Skh z_V-_f%{m*7u(XI7D{uk!I;Io ziB_vcDwCOnOnOA6kkBbU6GdT>Knj8!p@1(G@C0nO5|j#fpdbaz5K6fqA5>(-xC%^P zVnj@2j0->JrtHd%Hi8kSEGrNKJ&C{>1ZD&_0~VpX`@-E-Z<`D6?h9{ME{k%86)o#O z${f3*dMCQwXUDx@>atM-^-DZ)NRz2ke!3WG<8XT1?mmxaIS{BxO!NnX zU1MYR!NI_>V?X!zFRZOyb2??tjk(p;Zb*){ft-ajP;F_Eag~JU= zNkdapflw&8vC-sk)LgmJ($llLzP=C)Hg|V_*VcA@Xvliww$QOU;PIq({M9`^-pJ+l zdpuJP$Ar(vzy6?EDlMB?IqkaJ#^u_2?wp+ul-~<2K75$o6CC&XI);ZoS$I^}+&tj* zT5m7S-M|06-9F#j>ogc<#>Psgmv2r@!9)J#VDS9N9}}~)!;_Qu0s+V9==}2X)s7Bv zci@zB_RQe?M}59?H-C3|y}fSt$n^A^ee3nDtuRp>KI#?GliIB8t(*UIrdjyU)>7t1RSK!jdMnTA)^=+4D}AqI*1x`* zsL}iYl09(0Up?)vdGWox%KY)K&(!*7e;IjdOGIOjZHb_qhgt(`f|w$5RAg6Im6fnQGHNP5Cz zT3+9e$v?r;gsfYWcKpV`+ojbLyvB;ES6`}2I=WtWP<8ou;WK%~+&i@h=WLGbptF2d z5O@6ZjJ@SeZ=Ads_Fqb5Cd||?MUEEB^6xUF-?oIG+D{XtiQlQdmNF83lU2$r#Z}n{ G=l%vW5yW2r literal 0 HcmV?d00001 diff --git a/webedit/icons/table_delete_column.png b/webedit/icons/table_delete_column.png new file mode 100644 index 0000000000000000000000000000000000000000..ea515ca894b2c32597aa5f2ac6adb4d5a69b5b79 GIT binary patch literal 1532 zcmcIkeM}o=7_TES%aRFEGnm=ryqdWg+Pn7J(VleB4`7hC!?qKcPAKgG1@5lv9kdXg zk!@xpaWhV*!kp`p>4KA?WQ@<@KIF3y$ASz+M23*bq$5yhX=%LzW&R=l=bOA=Pkz7O z^E~hK z6kMN&X)wL9^iUTT$6|#6CS3-dp;Dp-66flJ7_JRBGi(+sF5YI=8wxQR$iebVgamXp zw}F7kC;`)jDp+NfWBI1NWfn|Zrq&tC3Jqc-7{3RIv!RRtj?sF+h8GbOYLkG=x+rrF znjsKahR}r)a3!b=RT>~CEf^r=!W;v<8wPgsxI9D<8ygz~@L?Vd!F-6v=kQ`tgpa~7 zusT4-o5h%mY7|MUzL=W?%%^EH3PDz@m1{+~q$LmHiN)fe2A|Ji5FDzMp!GHmL9s&$ z3XC#XOlI0d5B?a8PCQDGO&%`_!WYe1=9v2R#6auPL{|&|QH8e$Q zu*dQKt1zW2HDizlqsU^5fhk-rJLt-c$}O0lCM`OWEDF71T0TjWR6c12r8(R#vwr6?pI!{?ezMpP<7FYNh;(C-AHVecF5U&YvAqZei=AfYs{G&aNDBpXi^O z)oA7y7i}ZXlY=ueO66i+UghLm=R?ma1nC$Y>>U_5HsvdA|LvE_N!t%2gZJ+n`&@TN zM-w`|gX81p#(X{;cP1xa0Dyu1{vSt2U74Bk9{+p&4-cO@H8wlj(%Y+W1ezU=!1DOM zJ3-F;99gtRtzEJFUn}c$WmXL1Y9vJ=)!BYlc6S`uAdNV7=M_W^OrE9G<>lgt_s@@> z|Mh?~5LNO{kvnp~_0R_a33uP4rR|e!Mci=T^=~*mO(LfaJgWPY-5hl$z9&5Pb8|&n zD&@s!ukG!U#tgY+f)?^|Sp@~jsQ=1o6o|Len? z^oEyp!ij=sHnc`(PH@=-lyLlTPyNa8jyHTe-+gNTmmlA9M`p8bI%4OFhD4dc|2QR4 Kt*DV@m;Vh$=B+RQ literal 0 HcmV?d00001 diff --git a/webedit/icons/table_delete_row.png b/webedit/icons/table_delete_row.png new file mode 100644 index 0000000000000000000000000000000000000000..cb4083c666c83bfb3db4e651ccc69dc5aced8a88 GIT binary patch literal 1562 zcmcgsYfM{Z7_J!xA%QLXVT4F>?EHa|_MG<6mL4dqw8d2^veF1fWt8?53Tsb2J;;GM zrnu=eCd9>M>yXVXSu~6h76Osm7#9h!!nj&4QfRqM#<&eiDHQ4{xA{Z->6d)BH_!9D z@B6)PzHbu~-U;vz_NUQk0n$@qIkg}2&R335YbfJr614>pk`y8d(-65z9Hj}>SUL(w zb;=A>jw;o8pLU>8G};kBt4JYIWbud!(=nA^43pFuC^n526+;@7s%(@1($Ng9UO->0 zYor5OwSb9D(_^B6C=#IrbSR+&NZnbz5g`Ti9bJSv zd(9vn*ntq)0{U)HDY8UBgyAT_VL}WQ#DxGZi^+n+c|2Yiz=l{52(dvHo5A8CFdKm& zU~kYVZ@5~6$i;DczNnjko=Fe}1O#()bD6m?6T>q=7N5`eYOvW13c)bu=?Nvt&>K(e zD~M5}3fCG4Ev5&&ipq2>hY--INOx1v84hIi#=U2v9tU0Na zBOym$#QU$pMn#?h1?8v_%fVGt;WQ__t_+9>N0kJID=_Tr{wpSCVgzQ)#0-Eai322S z^=d5FxPz9-5UJisDD^5-Di+WwK2xhzBSMJ7m2mkSegquOVo4xj1dA_*MXXqe4YP$X zyw4S5svI4vC-%AO7hLY4TyG=j43uXvifcbZ)p0nc19lQdw1>w6AF8*F~Yjbl$cXz+tezEuIpv|Tqbhi%=U-@(Gd&@Gv zY4y^ayJu+V%Nb|kfacip1xaOU!~F1!0@j%HD7eid^NjK-q=W57az_#&Ua4U zsjluBAGZ$-v{@`-vuDHYUT`>^si~&m;2JjDzOqthHWw5Xd3J^`G2-e)8&KU~y4PN$S(E)%QrmR8r8b0PDzk|K5$3D=&{Hf zrGYnD6=$M;tX`Slet#sbBH6Ft8~g|KLxnx0ps?2*@so$sI#>KU#yx(!+;!vacQ1!k e(S1giz=yPtY9v@z^sQ0vZ!MK1h|6Qs3jYR`@7wGE literal 0 HcmV?d00001 diff --git a/webedit/icons/table_insert_cell.png b/webedit/icons/table_insert_cell.png new file mode 100644 index 0000000000000000000000000000000000000000..bc70ca07d159e4ea96739b588704f290741e8014 GIT binary patch literal 1526 zcmcIkYfM{Z7(R2+m`;W+M&06%v*Hh?YkS&KN)ME+rQm94)3uEwQRjL&l*&#|cY0V0 zc$srBAu%|^V!9=6Bbn1l7+QzpX2ZY=r7*@o#{JT*z(%;2u25P}fii!H|NN5g_U3t> z_kF+j%~vFoz8yu`LjeFFN_-_UupQJZGl&dHI;_D^x+;vJTTmm(27sgk7Nbg&jS!$3(di9*>P)Sj z3hK3d>Jg3vk{DBvEd8N898u&+m72V44NprwkPIeSU{U}@2o-2Sj~h&|g->16g~@Z+ z%%Fm65F(pTT@NZlA_G$}9056Wh^B$!AuygvXR_nCT<(651u-E8#9}a6G$t2jvtS4U zHwKmThHEonxhQSJ7kT4Tvk1ZnGZ<#GnQms&F&n z#*J`Am?j5B3`B&headBT$qhFGY9u|25L|x}(Wc=T3a%v#>$i>t+EQSblD^nZ0y6hbtb3UKf@2_uf zZ|LkyX$=;3PQ{jUzMKvnex#18n+b+Ow^~|ioX*6?r8&RfZ+}&>A~Wnuu7_J_kKLKkn0%k zcDtKSwDRj@JJE{_$~VU*8v#%VjoOQj@RGU9GD6p}N}g$B=D!s>|)Rj`&>@cbmGq&)j{)Ygjzkyz;rn_fuWn zCr)?4;{ew_Zyi~7^z_^r9BdyP%o~|I)#hn&x1AgCid>=PKwyuR%BmJld%bmSZDR`y zwJz7EB_*M?@zuF&&yoL!ijYec>z4m-1u9NqOww70SR_zd`rdErk>8fRTri51?L9M; z{~P!Y{ywPSfhj-H*@c9a&e z@*mU&M|qd{aM^BI@}H%)!@8r(dABAW&R@2C-HX;#G`=3~5SXvDv`TJz6Zt&YbLGAA zqxEkI3ir1TtQ09YKYn!K`&Vv=&P}QP;~!FXy&)b8>SVmxUnipb&R>XqCQ5c&_xo#w z+e`!B0#_;NKYtK>VQ;aJQo8d-sNmk^slVRb0aw0y48YIA^X!-APlSJBajH~QAv|{a EZ;bfDr2qf` literal 0 HcmV?d00001 diff --git a/webedit/icons/table_insert_column.png b/webedit/icons/table_insert_column.png new file mode 100644 index 0000000000000000000000000000000000000000..a2f7f5a856d10fce862b3d013efe0b4e9a047381 GIT binary patch literal 1515 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 Gc;au*naoQ7 literal 0 HcmV?d00001 diff --git a/webedit/icons/table_join.png b/webedit/icons/table_join.png new file mode 100644 index 0000000000000000000000000000000000000000..a5c0f9db9ada8025525596fc1f9f866ab30553ef GIT binary patch literal 1352 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbL!WQl7;NpOBzNqJ&XDuZK6ep0G} zXKrG8YEWuoN@d~6R2v2cW~I!Kh>{3jAFJg2T)jk)8oi3#0-$aN1{?c|g2d$P)DnfH z)bz|eTc!8A_bVx6rr0WloBA5~7C5J7WO`H;r3P2|g(O#HCtIc{+1n}DR9FEG$W1Lt zRH(?!$t$+1uvG$^YXxM3g!Ppaz)DK8ZIvL7itr6kaLzAERWQ{v)=f4rG*mD%(=#+N zH8V5RQ7|$vG}1Q!A~Rh>6Dw0QDv55FG|-pw6wGYnPFt43sj+7T$xvrSfQI&tPC^3CAB!YD6^m>Ge1uOWMX1cerbuV z640d(FXR@$jm;~D1`{yA^eYkz^bPe4Kwg3=^!3HBG&dKny0|1L72#g21{a4^7NqJ2 zr55Lx79|5CE=?I^Re_arQEFmIeo;t%ehw@Y12XbU@{2R_3lyA#%@j1kGxJjN%ZoL^ z>V18!JoAc667!N%JzZ>-fF|f=W~NvfxjMVLI2o8389Nyp8oC-gIy)LVyEqy;x*3?5 zSQ?wd^t$9Hm*%GCmB93-AoQB!)C)=qxdlL*T~doO%TiO^it=+6z+Se>#O)RnoaRCG zrr>sqDNeomK*#8VA{Hs4VM4&v17gCHEsz6G_^Elo)LsNk)@4)nxdOAqw*a3I*N%7p zPu{w9{Kk!=*RJh3d-lM^i(Rv4fBgCL<+pF&|NPl-@SyF{A5Xq~`S<_-pMU>M_Pk%W zfB%k?CpRBCvU<-RbUZnwKdqNuH=KD|arB{R2_fdeEQ$7KY!kR{hHYP(lYv1+od-yXZ}BZ`t;G~&%4i@ zsq63m|NsBe%05sjv&+-PF{I*F$XQpRLkJnwCK z9d5cQzg_26e7l(vW7@WJv0L|hzB#_ofn}+JbGBi)`|cy(1h}RNn9jHv&Bwm_^qX6e z(t$tr@bEjaIH@?ftml8oWGt`u{q1@IH=m7NUQ18eukzyQmC`SSaD%2=bpj<(qH< Z!;ecQ-+Zp}yaD=x!PC{xWt~$(697vHE64x< literal 0 HcmV?d00001 diff --git a/webedit/icons/table_join_column.png b/webedit/icons/table_join_column.png new file mode 100644 index 0000000000000000000000000000000000000000..830afd95e753e40bb75f7c26cb576bd0ead1ee9e GIT binary patch literal 1419 zcmb_bZA=?w96wz!3ubX~(>dhBc@v$<+PiCMOD_~GJvy4u220IgF2-_wfRpv^xE||^ zo5tzbAnM}Wmw}Fmnkwrv`Ac<@W(=ZIkpg^Hep8{om5I^}O_q_b` z`~Ci}SCM1cy(vB+9zl>zrYzbD&&|F*`9Mr&z09DBe8AGTER87iBWwJ)2*@Y?ylE4WCPAX)ihEgghfaO+bwr1<-AyglUl7ds-aNGAVTKya+2L6<6Jvp3N&yrA}dHN z&!JI8djVf2=`a}SN(xS4O_p=5mI)RN_t*uTloQdEVnDO`zoAa&8rmgU!J~NpRoG?o z3IMkP7hfhauyKVuqOJtWAOgF@i#DF$AFE6LHZOc419+?k^{R0D+dV9x%K|S-w<-WfBcYY0qLX)$z z-GhU=>vI=+dVUWEcUis*FD-=@7gMfGEkz<2eeRp)=JC0?$xtX|@6V?j8eTM>t*Ng+ z)7n~DUES2x)p+gN`S$kFP^jVR)#-(WQ+0LJzAG6$i-CcG+Q!C_>FJkEEoa->@Yin4 zhQrBi6D{4{qcbyOv$LM-Lmxg^P+j`#$n7zGclf>gGgL?LgZ|Of&Y45Q)1ILT_2tQQ z|Ge+sq@y?J?Yisp-#aoEHr!k)zx`+1ty^>;^4rwZ#X#WQzhZ}CtE&h zs%Y9i++0zfl&DF_dOE37#O%`fYcYERTX3~zp>^ZESR`b1+~>#4*lHJVVIP;k5Bu>9^MqQI$_4>)XY2e_}!MNv;ouA2fQ{GqZ Qz$6e;riDJA@z&wL0X6+*!2kdN literal 0 HcmV?d00001 diff --git a/webedit/icons/table_join_row.png b/webedit/icons/table_join_row.png new file mode 100644 index 0000000000000000000000000000000000000000..c77e75c1009d061476dde3f71038fee3a0489abe GIT binary patch literal 1466 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbL!WQl7;NpOBzNqJ&XDuZK6ep0G} zXKrG8YEWuoN@d~6R2v2cW`)d{3jAFJg2T)jk)8oi3#0-$aN1{?c|g2d$P)DnfH z)bz|eTc!8A_bVx6rr0WloBA5~7C5J7WO`H;r3P2|g(O#HCtIc{+1n}DR9FEG$W1Lt zRH(?!$t$+1uvG$^YXxM3g!Ppaz)DK8ZIvL7itr6kaLzAERWQ{v&`mZlGf*%y)H5_T zF*i5YQ7|$vG|)FN(l<2HH8i&}HnK7>P=Ep@plwAdX;wilZcw{`JX@uVl9B=|ef{$C za=mh6z5JqdeM3u2OOP2xM!G;1y2X`wC5aWfdBw^w6I@b@lZ!G7N;32F6hI~>Cgqow z*eU^C3h_d20o>TUVrVb{15Cdnu|VHY&j92lm_lD){7Q3k;i`*Ef>IIg#cFVINM%8) zeo$(0erZuMFyhjbK~@!5ITxiSmgEG&eP`1g19yq1P3sUQj~FEdbi=l3J8mmYU*Ll%J~r_OMkZZnrq$G!Lpb z1-DzAaq86vIz}H9tw_-f69T3k5EGtgfgE_UPt60S^&()RPT}EHXJBAt4e$wZ-E;PA z+od;0uU&IK{jcNQ{{t5I!{9TAE?@rn_wUwY$CO<+&fBoz`=3Aa*Q_~nVeq!v$6rkMerP=RyyoPi%47E{?!7;A=T808Z)W>G+8qAY zdg-;*p|7p4|5O~k*Kp=()$s?-7hcw#esbc*4g2H2svdlFJozW(+}D;@zdwHe{_D@5 zcVEA{ocaIg^XJ`X&eZky{|5u_Fn=Ln2@zfrD+`PD7zrkv6R5 z$MRoT1(+5-et$S&)uM}G;&0jZWTrL?GzxSIEZO_Pa_0(T^=0ec7|OI>Zchr*ln|Df zEaAMVBjI^8$GSC3MCK~ITD#k8b>FAp#XaBW_cJgv%y@0m%06vNBhViVp00i_>zopr E00~@+w*UYD literal 0 HcmV?d00001 diff --git a/webedit/icons/table_split_column.png b/webedit/icons/table_split_column.png new file mode 100644 index 0000000000000000000000000000000000000000..f7dc6c154d46a9fb0b9580c7c97ea82f00503366 GIT binary patch literal 1322 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbL!WQl7;NpOBzNqJ&XDuZK6ep0G} zXKrG8YEWuoN@d~6R2v2cW~I!Kh>{3jAFJg2T)jk)8oi3#0-$aN1{?c|g2d$P)DnfH z)bz|eTc!8A_bVx6rr0WloBA5~7C5J7WO`H;r3P2|g(O#HCtIc{+1n}DR9FEG$W1Lt zRH(?!$t$+1uvG$^YXxM3g!Ppaz)DK8ZIvL7itr6kaLzAERWQ{v)=f4rG*mD%(=#+N zH8V5RQ7|$vG}1Q!A~Rh>6Dw0QDv55FG|-pw6wGYnPFt43sj+7T$xvrSfQI&tPC^3CAB!YD6^m>Ge1uOWMX1cerbuV z640d(FXR@$jm;~D1`{yA^eYkz^bPe4Kwg3=^!3HBG&dKny0|1L72#g21{a4^7NqJ2 zr55Lx79|5CE=?I^Re_arQEFmIeo;t%ehw@Y12XbU@{2R_3lyA#%@j1kGxJjN%ZoL^ z>V18!JoAc667!N%JzZ>-fF|f=W~Nw~yBfF{8Ckj*89Nyp8oC-gnK)WF8M(Q+nK@dR zn46oz^t$9Hm*%GCmB93-AoRN8)C)=qxdlL*T~doO%TiO^it=+6z+Se>#O)R*oaRCG zrr>sqGfutwK*#8VA{Hs4VM4&v17gCHEsz6G_^Elo)LsNi*69ad1GB`F0G|-oj(7ic z{5I(ao=9nXkTtbX|N+qXrVH#?pByY<*HtC$1d zzI{7$bxv*F;ump^}g`ThIdj~|4!+v=s;w(U51a@VO-CVSr3KK@ew z^qcA44^_t>RNQ;t`ub1HtKXH!?mM3RlXC8B#nF4s7ham}`&jkhW9y~Y_Q!vH{Qlkf z^uJ$!{(SxU^WE34ZI|BcIeXUS%>SoPpFaBhdH0z!b^ZPS|NpOGZ&?TQ?>bKx$B>F! zA*XJNH3mquJv?ud?!mFJC1B=r&CLAEfA9C#zg4zekEl* r3$Mo2XGvAfpCEVY+2{Vqf1CykZg=%K1I;G4fJ!eeM}p57(T-vLz2ZUSw`kZavaHI(_TMlkM=^>w6sVWMQp2})9BGV;KF)$yB=%l z=F}+!`9l&lnfuV_HsjbLV-krQFh0h|3WdpsOJxfpTXh`>5@<`Iv|bry{vlrO?)Q=B zdEWQ;zE6H17v#URHRs>=;V`YMd@6 zK)n?!C5!}yR~~W^nE;Rgk>(<<$dHFxXe*4xFtEeQ@N59cR5=*TQciGSF;PlVN@%X7 z9Rf*Q2^Go=A_J2}l#w}3mM}T<%@$|5MS(-AePE^o+1AU%7fk5D7@-&z#f}sQ8VvsrwOTjOHqJ;q z&i6lsZRSdb5E=;^UBO!T#+9VTLNRC-OJE$$nrZrAyov>7G)LRYXa>wOAz)e|N#V5J zwr34*Fra$M#$l9&&})?tuK<%Ij>_d4g-ESKBBF#hW7TeO-*`=i$V`Dy_FI9KN7Yc<|SLGcGn*P;y?=4nM zhaD4hnKuHezGe5_yC44Ss~VZU>G2#JxPR0&g?9PhcYBfR^B)ZTS=sxWtnF`n$nWf% zbWYBzUEz-&t~h!o-tz|LgTdu+*dGeb`u$pW)a&(5EiAOS-N)+cqS2@-Nxz@JF9!5l zwb?OlcE5VKs{qgqKlAD2$PV&QVuP;M)Hz;URq6?E(d>NN71=lawe!k_vz1L{kT^o~5dL?e&iA`n>wwdNY;s zCMP}fYsSh#%L}20aP=#r&oPpcQg_c62QGgzfh7Nhj-=dE*W}gY*6helHEydFoLZS# zDiOYHOgXM~r^!z!3Kb`cpX^Sk)66cJ&n0$mpZU_@RO1ahcYS{C`OhdH+yTHEY0lo> RJW1>x)a&xK4Vrh3{{wn6LfHTS literal 0 HcmV?d00001 diff --git a/webedit/icons/title_bar_bg.gif b/webedit/icons/title_bar_bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..13e78660f05a470d14e9baad331f7ac0cb21ca9e GIT binary patch literal 172 zcmZ?wbh9u|lwgoxc+9|X=H8bxx4s+!qHACF0MVs4d(ORCbL`EPM_;Zy`*P>mmoMM` zFdzXP5F4bIfhDovr043nTCdOU{-2;x=9xJ!W7WDfoqGy&&X?rg|H1R7=KcQz3nr9n zNcEpsa`8Zp)%*)-iC$}?*56oDc6zVSz6TpBc;sfBf3cFwhML_WUWzJ5M_{(b?0egQ!NLBWB+AweOb!J%OxVc}sBk>Qb15mC{R(J@gmu`zM+ zG4Tm;2}$vZ$%)CSNhxW`sp-k7X{qU%Dd`!h8JX#s+38u?8Cf}5IeA&Rc{%w73}gWv zkS>s47})+Dm{#DSBh|ZRNzut1v+xTmO1zdXTX$o1*6FuZyH{+e@X?#@|H5R~k-Xja z3wC7st-t+x@g6(>SHJ%^)GIZ&w6?XkD|U7F^!D{BOq?`%%G9ayGiJ`3J!g*G`~?da zEnY0UZ25|nt5(UZUAKP2#*NZjwr<eg)^Y7>7+uPEOVc)QUJ+ zq}nvyAolo8i``TmwywIm zI$|T=jZ<4!Utb^3+9B(`ZB686#!IVWPj6d$dwan{rWxMb*WKM+@%hzNX%+@+0AUL3 A00000 literal 0 HcmV?d00001 diff --git a/webedit/icons/toolbar-background.png b/webedit/icons/toolbar-background.png new file mode 100644 index 0000000000000000000000000000000000000000..22de6225b1b6797470833ea5be2f3687017068db GIT binary patch literal 21437 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 HU={LTp8=@F literal 0 HcmV?d00001 diff --git a/webedit/icons/toolbar-disable.png b/webedit/icons/toolbar-disable.png new file mode 100644 index 0000000000000000000000000000000000000000..c7ef2257997b3f98d1ccb3335ccc3ae5d3e1f0c8 GIT binary patch literal 6882 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 literal 0 HcmV?d00001 diff --git a/webedit/icons/toolbar-wrapper-bg.png b/webedit/icons/toolbar-wrapper-bg.png new file mode 100644 index 0000000000000000000000000000000000000000..f3c1f7530171b596773a70539e8a0e03fae220d1 GIT binary patch literal 1731 zcmbVNeQXnD7(XafWE30D}dLF6f*i0t*ft0_z{R4I_cwSMLfa8s>W&L;oO{_~vqb-uHgL z=l49%`#kAZNA(LCvlq^WASk1k!~RMbOYkkOBO zF}O11S%cMJ9{+}Qr?FB9k_CcJ7v-{7p*}pM^hg+GEEEB32r4a$MLfQGjDo$`nqb(V z;JUw6z(K!3u|jKC+aqSIE?Ch-V6{!vPG3{Kuf(q?TLzcLP~aehQ64xJY6z2P%%GU? zivn9ZRw>{K2vu)TOa|q$J764_6Hy^bwJH>n@|r-C zR1Nk|7!O2~&J7VvRfCauBjE%05y+h)gW5e@NCJXr(B(uBT#Bc`g8LdnSeUA`7!=@( z(jWArMzz&aWVRqh#U`z_5J8N3z1CvXnzhA6I<-b)oAU8MuEh#q>LQc2$cP};!V+7d z#;iA)Z6>qUgxIuG+{!RXdBQ$yN;fF!PI3z$%0`rS z7{Ex2p@G2yHDCiNmId!5P~drv9vc&YUmhGXEXM*VnjYghZfp#&=@f_+M39mK28&@B zUP7`oO$!n&DT?CmUGXRcP0y~h7@e_%*L~CvI%KvgxvHQ3FAIEpR(sIUCJeYUgi2BYOF?D}o|#&d9;V<#O4% zpKq1VEx&sClJkebWscRiGv?gfvGzcBPwn#Xor`tmPnNVDJD+fUwW_^%nJ#nPhsc&Q z-KG7xZ{0Za8rAXWnZxrE_S&wIqr~9T>u;{!f2s@He#uTHHZJLS&at=VN$gPNBvysZ>7>& KZ8>CeZ}}Tzh2~KJ literal 0 HcmV?d00001 diff --git a/webedit/icons/toolbar.png b/webedit/icons/toolbar.png new file mode 100644 index 0000000000000000000000000000000000000000..6c81e88250d02abf6a92fed776a0f7037ef5eba6 GIT binary patch literal 13656 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 literal 0 HcmV?d00001 diff --git a/webedit/icons/viewmode_preview.png b/webedit/icons/viewmode_preview.png new file mode 100644 index 0000000000000000000000000000000000000000..bd6df170c067013bae339ace13d842b33d1bc809 GIT binary patch literal 2236 zcmaJ@d0Z1`8V*-Plm(1hLBt_|D+Q8F2!RA5M?yFxf*cZ76hbnPKqeECNJ8qOB9~>W zfLIU_M6ptofTf5EqNvE(1ziuotD+WBil`hSf*q{b{bSwv&CGZFp67Yr_j{i|zCA%3 zd<+fD3@{jsp`R}+7##)Zw?ZF_{ugU=N6^7k;muWqAh8N1PX=K;1xO48_`$q5C>Y`i zk`vn@Hw;DxFAC)c_ z$@wyoR3Snnz?>p42HB=y;L%L~ECH5&mX*jq9TR$BL={g;1PP?MlIDRN&i{wP@MpAK z5e)s6@Bb8*hbBuQVlX5}w#oQt<6^DmLP_aN8N^c{vQPvO&!1wD5K$m-58cA4k05dJn8k|^f6g1@-n7rAp*fTd_;79tw@~-YO+VWfU3@k^BthLSLv1Y{$d18a^hkaz&rntWaKx4X zb8qv~!+q5aIvuy{Okj^A%Z^f8gtyvs%DoO@t6r6zCKd^`zdB}gyFB$csEhNjYb?yt zD_TP}OEAM7g`Y2IzOlUg#ybxy2W@4!?%AzZCKJsY>KkS=M{HgsE^2Kyu^1_MFL8E# z^YC03GP~NbQ&^O-q}MHasJq$d8xu?2h$^bJzT1U|yFtS4AGD*te{jceI4G+iZ^ziW z{+a5{(;GL|t?!v!Axc`+>t<{(kjTs3j5wLhqiJb=(eR})pFEq6e`GSAso-kp-5#Ix{L#I4gH^fF z*uGPXl}CJw)z(hWj!@56+2XQ1jXxCc*k?Z##R$qL9}qya?@6jXcFm62m+~?vvxbTO zB{|kRZ0p9Se##cDq;To5ux`g62A4a$z zJb1ja2wW9bwo|hb4mliKdS%(}_myLPG@` zj9pmcB(b!s0pgwt)@=4Fvu(t6$Hdep4kTr^#78#wnYQEW^ze?Fo&H-e?9$$+J@L;v z?XB*qFN*`h8?lka+ifZ=m%A@b{q=Zi8nBa;k=_-wGQPpw+4lKZj!>{=X;Sx47_?oF zw_?EJ{NVm@zHhqRXj%}zh!uOUyy9OqukDW2*xh~;y8WbmK-%6C*V?3AR&E0Q|3I*~ zc9bs$JZEc&m4b{+pDr z2KAK!HcZ>Zij9mri$5j4gH1nWz&P>qwUC^a_-`Mdy8o>gftoVtP%*O>7p!CTW6>E_ zAts+&^Oebdz1!-6;fhLZqjN~B`)Y1Vmgbk`n&J%q%Il+I8}M&hr4Mtyvs|xYac6tC zIGarmCsdmi`fSRzp=u`|(%R`!*uuqh`#z$?R3Rlj`RV8G_nnFQdsvu5YPfhy<`eo^ zzc-u;HzH_(YY8)6wIAqu^gwHSRipae>)!)Yo}52{x7c50zUIdnrsq^i+4XT|CF9y5y7gP_0#(87Jz(E06T85eKf;{zP_- zj9jW${D?toI}A@*ak1rxnqc)x#)6?9N>iU>&%kW!t>8+3qbHABPacl@cQKpElvwcJ zuN-@IEjchciSF7gk6Mo(sSQ@YB G)IR`M0Hccl literal 0 HcmV?d00001 diff --git a/webedit/imageUpload/config.php b/webedit/imageUpload/config.php new file mode 100644 index 0000000..07ba886 --- /dev/null +++ b/webedit/imageUpload/config.php @@ -0,0 +1,31 @@ + \ No newline at end of file diff --git a/webedit/imageUpload/delete.php b/webedit/imageUpload/delete.php new file mode 100644 index 0000000..0da4093 --- /dev/null +++ b/webedit/imageUpload/delete.php @@ -0,0 +1,20 @@ + \ No newline at end of file diff --git a/webedit/imageUpload/upload.php b/webedit/imageUpload/upload.php new file mode 100644 index 0000000..eaeefa1 --- /dev/null +++ b/webedit/imageUpload/upload.php @@ -0,0 +1,66 @@ + \ No newline at end of file diff --git a/webedit/imageUpload/upload_flash.php b/webedit/imageUpload/upload_flash.php new file mode 100644 index 0000000..ec26b04 --- /dev/null +++ b/webedit/imageUpload/upload_flash.php @@ -0,0 +1,47 @@ + \ No newline at end of file diff --git a/webedit/popup/color_picker.html b/webedit/popup/color_picker.html new file mode 100644 index 0000000..dc972df --- /dev/null +++ b/webedit/popup/color_picker.html @@ -0,0 +1,19 @@ + + + +CHEditor + + + + + + + +

+
현재 셀 색상:
+
+ +
+
+ + \ No newline at end of file diff --git a/webedit/popup/flash.html b/webedit/popup/flash.html new file mode 100644 index 0000000..f7fc1d0 --- /dev/null +++ b/webedit/popup/flash.html @@ -0,0 +1,23 @@ + + + +CHEditor + + + + + + + +
+
+ <동영상 소스 코드> iframe 또는 object 태그를 입력하세요. +
+ +
+
+
+
+
+ + \ No newline at end of file diff --git a/webedit/popup/flash/ImagePreview.swf b/webedit/popup/flash/ImagePreview.swf new file mode 100644 index 0000000000000000000000000000000000000000..87e4f7558415857f4c7b9507536eaf19b924bff7 GIT binary patch literal 147221 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�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 z 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�QN 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
ys_faQXjxE@=7{S)C@7i4&kam&u`GN{3_J=^m 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�u92^+f$Z?U2=it6o8S{O2JLc|0Dk$LAUK zv%io3t#?>(bhM~@!$SEEPY``gi@M*m;gQKLp>{`oh* zxcApT{#E)P?j7}w?|kRm-@EO$+rIf-kK!5i!!iFn`Zxc4cly`#>6(fB>R(2U{>4B3 odi1DPjxp+vF{A%gL>~3+TW|Z`t>66icfRGhoyzt90aku9yZOq7fB*mh literal 0 HcmV?d00001 diff --git a/webedit/popup/flash/chximage.swf b/webedit/popup/flash/chximage.swf new file mode 100644 index 0000000000000000000000000000000000000000..f4e11c21c909506561e3a21c651cf5b8c52912bc GIT binary patch literal 63095 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%0Db~~ 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 Op$F>i)L8U8kDejFmPUd+3`QOK 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 literal 0 HcmV?d00001 diff --git a/webedit/popup/google_map.html b/webedit/popup/google_map.html new file mode 100644 index 0000000..8b285fc --- /dev/null +++ b/webedit/popup/google_map.html @@ -0,0 +1,24 @@ + + + + CHEditor + + + + + + + + +
+ 찾을 주소: + + +
찾으실 도로명 주소, 지번 또는 건물명을 입력하세요.
+
+
+
+
+
+ + diff --git a/webedit/popup/icon.html b/webedit/popup/icon.html new file mode 100644 index 0000000..4d964e2 --- /dev/null +++ b/webedit/popup/icon.html @@ -0,0 +1,16 @@ + + + + CHEditor + + + + + + + +
+
+
+ + \ No newline at end of file diff --git a/webedit/popup/image.html b/webedit/popup/image.html new file mode 100644 index 0000000..66a1021 --- /dev/null +++ b/webedit/popup/image.html @@ -0,0 +1,76 @@ + + + + CHEditor + + + + + + + + +
+
+ + + + + +
+ + +
+  (사진을 드래그하여 순서를 바꿀 수 있습니다.) + 0장 / 최대 장 사진 +
+
+
+
+
사진 정보
+
+
가로: 0
+
세로: 0
+
이름: 없음
+
+
+
+
정렬
+
+ + + + + + +
+
+ +
+
+ +
+
+ +
+
+ 한줄에 한 장씩 넣기 +
+
+ 사진 여백 넣기 +
+
+ (전체 사진에 적용됨) +
+
+
+
+
+
+
+
+
+
+
+ + \ No newline at end of file diff --git a/webedit/popup/image.html5.html b/webedit/popup/image.html5.html new file mode 100644 index 0000000..b66a48b --- /dev/null +++ b/webedit/popup/image.html5.html @@ -0,0 +1,73 @@ + + + + CHEditor + + + + + + + +
+
+
+ + + image button + (사진을 점선 안으로 끌어 놓을 수 있습니다.) + 0장 / 최대 장 사진 +
+
+
+
+
사진 정보
+
+
가로: 0
+
세로: 0
+
이름: 없음
+
+
+
+
정렬
+
+ + + + + + +
+
+ +
+
+ +
+
+ +
+
+ 한줄에 한 장씩 넣기 +
+
+ 사진 여백 넣기 +
+
+ (전체 사진에 적용됨) +
+
+
+
+
+
+
+
+
+
+
+ + \ No newline at end of file diff --git a/webedit/popup/image_url.html b/webedit/popup/image_url.html new file mode 100644 index 0000000..7dc3f60 --- /dev/null +++ b/webedit/popup/image_url.html @@ -0,0 +1,34 @@ + + + + CHEditor + + + + + + + + +
+
0 X 0
+
+
사진 URL +
+ +
+
+
+
레이아웃 +
+
+ + + +
+
+
+
+
+ + diff --git a/webedit/popup/js/AC_OETags.js b/webedit/popup/js/AC_OETags.js new file mode 100644 index 0000000..ab06d49 --- /dev/null +++ b/webedit/popup/js/AC_OETags.js @@ -0,0 +1,247 @@ +// Flash Player Version Detection - Rev 1.5 +// Detect Client Browser type +// Copyright(c) 2005-2006 Adobe Macromedia Software, LLC. All rights reserved. +// Modified: chna@chcode.com + +var isIE = (navigator.appVersion.indexOf("MSIE") != -1) ? true : false; +var isWin = (navigator.appVersion.toLowerCase().indexOf("win") != -1) ? true : false; +var isOpera = (navigator.userAgent.indexOf("Opera") != -1) ? true : false; + +function errMaxFileSize (MaxFileSize) { + alert("선택하신 파일 크기가 너무 큽니다. 최대 전송 크기는 "+MaxFileSize+" MB 입니다."); +} + +function ControlVersion() +{ + var version = 0; + var axo; +// var e; + try { + axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7"); + version = axo.GetVariable("$version"); + } catch (e) {} + + if (!version) + { + try { + axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6"); + version = "WIN 6,0,21,0"; + axo.AllowScriptAccess = "always"; + version = axo.GetVariable("$version"); + + } catch (e) {} + } + + if (!version) + { + try { + axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.3"); + version = axo.GetVariable("$version"); + } catch (e) {} + } + + if (!version) + { + try { + axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.3"); + version = "WIN 3,0,18,0"; + } catch (e) {} + } + + if (!version) + { + try { + axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash"); + version = "WIN 2,0,0,11"; + } catch (e) { + version = -1; + } + } + + return version; +} + +function GetSwfVer(){ + var flashVer = -1; + if (navigator.plugins != null && navigator.plugins.length > 0) { + if (navigator.plugins["Shockwave Flash 2.0"] || navigator.plugins["Shockwave Flash"]) { + var swVer2 = navigator.plugins["Shockwave Flash 2.0"] ? " 2.0" : ""; + var flashDescription = navigator.plugins["Shockwave Flash" + swVer2].description; + var descArray = flashDescription.split(" "); + var tempArrayMajor = descArray[2].split("."); + var versionMajor = tempArrayMajor[0]; + var versionMinor = tempArrayMajor[1]; + if ( descArray[3] != "" ) { + tempArrayMinor = descArray[3].split("r"); + } else { + tempArrayMinor = descArray[4].split("r"); + } + var versionRevision = tempArrayMinor[1] > 0 ? tempArrayMinor[1] : 0; + flashVer = versionMajor + "." + versionMinor + "." + versionRevision; + } + } + else if (navigator.userAgent.toLowerCase().indexOf("webtv/2.6") != -1) flashVer = 4; + else if (navigator.userAgent.toLowerCase().indexOf("webtv/2.5") != -1) flashVer = 3; + else if (navigator.userAgent.toLowerCase().indexOf("webtv") != -1) flashVer = 2; + else if ( isIE && isWin && !isOpera ) { + flashVer = ControlVersion(); + } + return flashVer; +} + +function DetectFlashVer(reqMajorVer, reqMinorVer, reqRevision) +{ + versionStr = GetSwfVer(); + if (versionStr == -1 ) { + return false; + } else if (versionStr != 0) { + if(isIE && isWin && !isOpera) { + tempArray = versionStr.split(" "); // ["WIN", "2,0,0,11"] + tempString = tempArray[1]; // "2,0,0,11" + versionArray = tempString.split(","); // ['2', '0', '0', '11'] + } else { + versionArray = versionStr.split("."); + } + var versionMajor = versionArray[0]; + var versionMinor = versionArray[1]; + var versionRevision = versionArray[2]; + + if (versionMajor > parseFloat(reqMajorVer)) { + return true; + } + else if (versionMajor == parseFloat(reqMajorVer)) { + if (versionMinor > parseFloat(reqMinorVer)) + return true; + else if (versionMinor == parseFloat(reqMinorVer)) { + if (versionRevision >= parseFloat(reqRevision)) + return true; + } + } + return false; + } +} + +function AC_AddExtension(src, ext) +{ + if (src.indexOf('?') != -1) + return src.replace(/\?/, ext+'?'); + else + return src + ext; +} + +function AC_Generateobj(objAttrs, params, embedAttrs) +{ + var str = ''; + if (isIE && isWin && !isOpera) + { + str += ''; + breakpoint = false; + } + str += ''; + } else { + str += '"); + div.innerHTML = "<" + str.substr(0, pos) + ">"; + embed = div.firstChild; + } + else { + div.innerHTML = elem; + var object = div.getElementsByTagName('OBJECT')[0]; + if (object && object.hasChildNodes()) { + var child = object.firstChild; + var movieHeight, movieWidth, i; + movieWidth = (isNaN(object.width) != true) ? object.width : 320; + movieHeight = (isNaN(object.height)!= true) ? object.height: 240; + var params = []; + + do { + if ((child.nodeName === 'PARAM') && (typeof child.name !== 'undefined') && (typeof child.value !== 'undefined')) + { + params.push({key: (child.name == 'movie') ? 'src' : child.name, val: child.value}); + } + child = child.nextSibling; + } + while (child); + + if (params.length > 0) { + embed = document.createElement('embed'); + embed.setAttribute("width", movieWidth); + embed.setAttribute("height", movieHeight); + + for (i=0; i 40 && (i % 10) === 0) { + br = document.createElement('br'); + block.appendChild(br); + } + + img = new Image(); + img.src = path + (i+1) + ".gif"; + img.style.width = '16px'; + img.style.height = '16px'; + img.style.margin = '5px 4px'; + img.style.verticalAlign = 'middle'; + img.setAttribute('alt', 'Emotion Icon'); + img.setAttribute('border', "0"); + img.className = 'handCursor'; + img.onclick = insertIcon; + block.appendChild(img); + } +} + +function init(dialog) { + oEditor = this; + oEditor.dialog = dialog; + var button = [ { alt : "", img : 'cancel.gif', cmd : popupClose } ]; + var dlg = new Dialog(oEditor); + showContents(); + dlg.showButton(button); + dlg.setDialogHeight(); +} diff --git a/webedit/popup/js/image.html5.js b/webedit/popup/js/image.html5.js new file mode 100644 index 0000000..6b2a4e1 --- /dev/null +++ b/webedit/popup/js/image.html5.js @@ -0,0 +1,972 @@ +// ================================================================ +// CHEditor 5 +// ---------------------------------------------------------------- +// Homepage: http://www.chcode.com +// Copyright (c) 1997-2015 CHSOFT +// ================================================================ +var UploadScript = ""; +var DeleteScript = ""; + +var activeImage = false; +var readyToMove = false; +var moveTimer = -1; +var dragDropDiv; +var insertionMarker; +var hideTimer = null; + +var offsetX_marker = -3; +var offsetY_marker = -3; + +var geckoOffsetX_marker = -3; +var geckoOffsetY_marker = -1; + +var destinationObject = false; + +var divXPositions = []; +var divYPositions = []; +var divWidth = []; +var divHeight = []; + +var tmpLeft = 0; +var tmpTop = 0; + +var eventDiff_x = 0; +var eventDiff_y = 0; + +var modifyImages = []; +var uploadMaxNumber = 12; +var imageCompleted = 0; +var imageCompletedList = []; +var UploadImagePath = ""; +var ShowThumbnailSize = { width: 120, height: 90 }; +var oEditor = null; +var button; + +var imageResizeWidth = 0; +var makeThumbnail = true; +var makeThumbnailWidth = 120; +var makeThumbnailHeight = 90; +var browser = null; + +function createInsertionMaker() { + var wrapper = document.getElementById('insertionMarker'); + var topIco = new Image(); + topIco.src = UploadImagePath + '/marker_top.gif'; + topIco.style.width = '6px'; + topIco.style.height = '1px'; + wrapper.appendChild(topIco); + + var middleIco = new Image(); + middleIco.src = UploadImagePath + '/marker_middle.gif'; + middleIco.style.height = '96px'; + middleIco.style.width = '6px'; + wrapper.appendChild(middleIco); + + var bottomIco = new Image(); + bottomIco.src = UploadImagePath + '/marker_bottom.gif'; + bottomIco.style.width = '6px'; + bottomIco.style.height = '1px'; + wrapper.appendChild(bottomIco); +} + +function popupClose() { +// ---------------------------------------------------------------------------------- + oEditor.popupWinCancel(); +} + +function showContents() { + var spacer = function(id) { + var clear = document.createElement('div'); + clear.style.height = '0px'; + clear.style.width = '0px'; + clear.className = 'clear'; + clear.id = 'spacer' + id; + + return clear; + }; + + var spacerNo = 1, i, imgBox, theImg, lastSpacer; + for (i=0; i 0 && ((i % 4) === 0)) { + document.getElementById('imageListWrapper').appendChild(spacer(spacerNo++)); + } + + imgBox = document.createElement('div'); + imgBox.id = 'imgBox' + i; + imgBox.className = 'imageBox'; + theImg = document.createElement('div'); + theImg.id = 'img_' + i; + theImg.className = 'imageBox_theImage'; + imgBox.appendChild(theImg); + + document.getElementById('imageListWrapper').appendChild(imgBox); + if (i === (uploadMaxNumber-1)) { + lastSpacer = spacer(spacerNo); + lastSpacer.style.height = "7px"; + document.getElementById('imageListWrapper').appendChild(lastSpacer); + } + } + + document.getElementById('imageListWrapper').style.padding = '5px 7px 0px 5px'; + document.getElementById('imageInfoBox').style.height = '298px'; + document.getElementById('imageInfoBox').style.width = '130px'; +} + +function setImageCount() { + imageCompleted++; + document.getElementById('imageCount').innerHTML = imageCompleted; +} + +function getImageCount() { + return imageCompleted; +} + +function allowedMaxImage() { + return uploadMaxNumber - getImageCount(); +} + +function getUploadedCount() { + return document.getElementById('imageListWrapper').getElementsByTagName('img').length; +} + +function uploadedImageCount() { + imageCompleted = getUploadedCount(); + document.getElementById('imageCount').innerHTML = imageCompleted; +} + +function uploadError(msg) { + alert(msg); +} + +function getTopPos(inputObj) { +// ---------------------------------------------------------------------------------- + var returnValue = inputObj.offsetTop; + + inputObj = inputObj.offsetParent; + while (inputObj) { + if (inputObj.tagName.toLowerCase() !== 'html') { + returnValue += (inputObj.offsetTop - inputObj.scrollTop); + if (browser.msie) { + returnValue += inputObj.clientTop; + } + } + inputObj = inputObj.offsetParent; + } + return returnValue; +} + +function getLeftPos(inputObj) { +// ---------------------------------------------------------------------------------- + var returnValue = inputObj.offsetLeft; + + inputObj = inputObj.offsetParent; + while (inputObj) { + if (inputObj.id !== 'imageListWrapper') { + returnValue += inputObj.offsetLeft; + } + inputObj = inputObj.offsetParent; + } + return returnValue; +} + +function getDivCoordinates() { +// ---------------------------------------------------------------------------------- + var imgBox = document.getElementById('imageListWrapper').getElementsByTagName('DIV'); + var i; + for (i=0; i < imgBox.length; i++) { + if ((imgBox[i].className === 'imageBox' || imgBox[i].className === 'imageBoxHighlighted') && imgBox[i].id) + { + divXPositions[imgBox[i].id] = getLeftPos(imgBox[i]); + divYPositions[imgBox[i].id] = getTopPos(imgBox[i]); + divWidth[imgBox[i].id] = imgBox[i].offsetWidth; + divHeight[imgBox[i].id] = imgBox[i].offsetHeight; + } + } +} + +function reOrder() { +// ---------------------------------------------------------------------------------- + var wrapper = document.getElementById('imageListWrapper'); + var imgBox = wrapper.getElementsByTagName('div'); + var imgNum = 0, i, spacer, breakline = []; + + for (i=0; i < imgBox.length; i++) { + if (imgBox[i].id.indexOf('imgBox') === -1) { + continue; + } + + imgBox[i].className = 'imageBox'; + imgBox[i].firstChild.className = 'imageBox_theImage'; + + if (imgNum > 0 && (imgNum % 4) === 0) { + breakline.push(imgBox[i].id); + } + + imgNum++; + } + + for (i=0; i ShowThumbnailSize.width || imgSize.height > ShowThumbnailSize.height) { + if (imgSize.width > imgSize.height) { + resizeW = (imgSize.width > ShowThumbnailSize.width) ? ShowThumbnailSize.width : imgSize.width; + resizeH = Math.round((imgSize.height * resizeW) / imgSize.width); + } + else { + resizeH = (imgSize.height > ShowThumbnailSize.height) ? ShowThumbnailSize.height : imgSize.height; + resizeW = Math.round((imgSize.width * resizeH) / imgSize.height); + } + + if (resizeH > ShowThumbnailSize.height) { + resizeH = (imgSize.height > ShowThumbnailSize.height) ? ShowThumbnailSize.height : imgSize.height; + resizeW = Math.round((imgSize.width * resizeH) / imgSize.height); + } + + } + else { + resizeW = imgSize.width; + resizeH = imgSize.height; + } + + img.style.width = resizeW - 2+ 'px'; + img.style.height = resizeH - 2+ 'px'; + img.style.margin = "1px"; + + if (resizeW < ShowThumbnailSize.width) { + M = ShowThumbnailSize.width - resizeW; + img.style.marginLeft = Math.round(M/2) + 'px'; + } + + if (resizeH < ShowThumbnailSize.height) { + M = ShowThumbnailSize.height - resizeH; + img.style.marginTop = Math.round(M/2) + 'px'; + } + + var elem = document.getElementById(boxId); + elem.style.backgroundImage = "url('"+UploadImagePath+"/dot.gif')"; + oEditor.addEvent(elem, 'mouseover', showDelete); + elem.onmouseout = function() { + this.className = 'imageBox_theImage'; + setImageInfo(0); + hideDelete(); + }; + + setImageCount(); +} + +function showUploadWindow() { +// ---------------------------------------------------------------------------------- + var uploadWindow = document.getElementById("uploadWindow"); + var uploadWindowWidth = 700; + var winWidth; + + if (!(oEditor.undefined(window.innerWidth))) { + winWidth = window.innerWidth; + } + else if (document.documentElement && (!(oEditor.undefined(document.documentElement.clientWidth))) && + document.documentElement.clientWidth !== 0) + { + winWidth = document.documentElement.clientWidth; + } + else if (document.body && (!(oEditor.undefined(document.body.clientWidth)))) { + winWidth = document.body.clientWidth; + } + else { + alert('현재 브라우저를 지원하지 않습니다.'); + return; + } + + var left = winWidth / 2 - (uploadWindowWidth / 2) + 'px'; + + uploadWindow.style.left = left; + uploadWindow.style.display = "block"; + uploadWindow.style.width = uploadWindowWidth + 'px'; + + if (modifyImages.length > 0) { + var el = document.getElementById('imageListWrapper').getElementsByTagName('DIV'); + var i, j, imgBox, img; + for (i=0; i < modifyImages.length; i++) { + if (i > 7) { + break; + } + + for (j=0; j < el.length; j++) { + imgBox = el[j]; + if (imgBox.className !== 'imageBox_theImage') { + continue; + } + + if (imgBox.firstChild && (imgBox.firstChild.src === modifyImages[i])) { + break; + } + + if (imgBox.firstChild === null) { + img = new Image(); + img.src = modifyImages[i]; + img.border = 0; + img.alt = ''; + img.style.width = '120px'; + img.style.height = '90px'; + imgBox.appendChild(img); + break; + } + } + } + } +} + +function removeImages() { + var images = [], i, j, theImage, img, remove; + document.body.appendChild(document.getElementById('removeImageButton')); + + for (i=0; i < uploadMaxNumber; i++) { + theImage = document.getElementById('img_'+i); + if (theImage.hasChildNodes() && theImage.firstChild.tagName.toLowerCase() === 'img') { + images.push(theImage); + } + } + + for (i=0; i= 0 && moveTimer < 10) { + moveTimer++; + setTimeout('startMoveTimer()', 8); + } + + if (moveTimer === 5) { + getDivCoordinates(); + var subElements = dragDropDiv.getElementsByTagName('div'); + if (subElements.length > 0) { + dragDropDiv.removeChild(subElements[0]); + } + + dragDropDiv.style.display = 'block'; + var newDiv = activeImage.cloneNode(true); + newDiv.className = 'imageBox'; + newDiv.style.opacity = 0.5; + + newDiv.id = ''; + newDiv.style.padding = '2px'; + dragDropDiv.appendChild(newDiv); + + dragDropDiv.style.top = tmpTop + 'px'; + dragDropDiv.style.left = tmpLeft + 'px'; + } + + return false; +} + +function selectImage(e) { +// ---------------------------------------------------------------------------------- + if (browser.msie) { + e = event; + } + + var el = this.parentNode.firstChild.firstChild; + if (!el) { + return; + } + + var obj = this.parentNode; + hideDelete(); + if (activeImage) { + activeImage.className = 'imageBox'; + } + + obj.className = 'imageBoxHighlighted'; + activeImage = obj; + readyToMove = true; + moveTimer = 0; + + tmpLeft = e.clientX + Math.max(document.body.scrollLeft,document.documentElement.scrollLeft); + tmpTop = e.clientY + Math.max(document.body.scrollTop,document.documentElement.scrollTop); + + startMoveTimer(); + return false; +} + +function dragDropEnd() { +// ---------------------------------------------------------------------------------- + readyToMove = false; + moveTimer = -1; + dragDropDiv.style.display = 'none'; + insertionMarker.style.display = 'none'; + + if (destinationObject && destinationObject !== activeImage) { + var parentObj = destinationObject.parentNode; + var chkObj = destinationObject.previousSibling; + var turn = false; + + if (chkObj === null) { + chkObj = document.getElementById('imageListWrapper').firstChild; + turn = true; + } + + if (chkObj.id.indexOf('spacer') !== -1) { + chkObj = chkObj.previousSibling; + } + + if (chkObj.firstChild.firstChild === null) { + reOrder(); + return; + } + + if (chkObj && chkObj.id !== null) { + while (chkObj) { + if (chkObj.firstChild.firstChild !== null) { + break; + } + chkObj = chkObj.previousSibling; + } + destinationObject = turn ? chkObj : chkObj.nextSibling; + } + + parentObj.insertBefore(activeImage, destinationObject); + reOrder(); + + activeImage.className = 'imageBox'; + activeImage = false; + destinationObject = false; + getDivCoordinates(); + return false; + } + return true; +} + +function dragDropMove(e) { +// ---------------------------------------------------------------------------------- + if (moveTimer === -1) { + return; + } + + if (browser.msie) { + e = window.event; + } + + var leftPos = e.clientX + document.documentElement.scrollLeft - eventDiff_x; + var topPos = e.clientY + document.documentElement.scrollTop - eventDiff_y; + dragDropDiv.style.top = topPos + 'px'; + dragDropDiv.style.left = leftPos + 'px'; + + leftPos = leftPos + eventDiff_x; + topPos = topPos + eventDiff_y; + + if (e.button !== 1 && browser.msie) { + dragDropEnd(); + } + + var elementFound = false, prop, offsetX, offsetY; + + for (prop in divXPositions) { + if (divXPositions[prop].className === 'clear') { + continue; + } + + if (divXPositions[prop] < leftPos && + (divXPositions[prop] + divWidth[prop] * 0.7) > leftPos && + divYPositions[prop] < topPos && + (divYPositions[prop] + divWidth[prop]) > topPos) + { + if (browser.msie) { + offsetX = offsetX_marker; + offsetY = offsetY_marker; + } + else { + offsetX = geckoOffsetX_marker; + offsetY = geckoOffsetY_marker; + } + + insertionMarker.style.top = divYPositions[prop] + offsetY + 'px'; + insertionMarker.style.left = divXPositions[prop] + offsetX + 'px'; + insertionMarker.style.display = 'block'; + destinationObject = document.getElementById(prop); + elementFound = true; + break; + } + } + + if (!elementFound) { + insertionMarker.style.display = 'none'; + destinationObject = false; + } + + return false; +} + +function saveImageOrder() { +// ---------------------------------------------------------------------------------- + var rData = []; + var objects = document.getElementById('imageListWrapper').getElementsByTagName('DIV'); + var i; + for (i=0; i < objects.length; i++) { + if (objects[i].className === 'imageBox' || + objects[i].className === 'imageBoxHighlighted') + { + rData.push(objects[i].id); + } + } + + return rData; +} + +function initGallery() { +// ---------------------------------------------------------------------------------- + var imgBox = document.getElementById('imageListWrapper').getElementsByTagName('DIV'); + var i; + for (i=0; i < imgBox.length; i++) { + if (imgBox[i].className === 'imageBox_theImage') { + imgBox[i].onmousedown = selectImage; + } + } + + document.body.onselectstart = cancelEvent; + document.body.ondragstart = cancelEvent; + document.body.onmouseup = dragDropEnd; + document.body.onmousemove = dragDropMove; + + dragDropDiv = document.getElementById('dragDropContent'); + insertionMarker = document.getElementById('insertionMarker'); + getDivCoordinates(); +} + +function doSubmit() { +// ---------------------------------------------------------------------------------- + var el = document.getElementById('imageListWrapper').getElementsByTagName('DIV'); + var imageArray = []; + var num = 0; + var fm_elem = document.getElementById('fm_alignment'); + var fm_align = fm_elem.alignment; + var img_align = 'top', i, imgBox; + var imgParagraph = fm_elem.para.checked; + var useSpacer = fm_elem.use_spacer.checked; + + for (i=0; i < fm_align.length; i++) { + if (fm_align[i].checked) { + img_align = fm_align[i].value; + break; + } + } + + for (i=0; i < el.length; i++) { + imgBox = el[i]; + if (imgBox.className !== 'imageBox_theImage') { + continue; + } + + if (imgBox.firstChild !== null) { + imageArray[num] = imageCompletedList[imgBox.id]; + + if (img_align === 'break' ) { + imageArray[num]['alt'] = "break"; + } + else { + imageArray[num]['alt'] = ""; + imageArray[num]['align'] = img_align; + } + + num++; + } + } + + if (imageArray.length > 0) { + oEditor.doInsertImage(imageArray, imgParagraph, useSpacer); + } + oEditor.popupWinClose(); +} + +var selectedFilesNum = 0; +var uploadedFiles = []; + +function getDateTime() { + var date = new Date(); + var year = date.getFullYear(); + var month = date.getMonth() + 1; + var day = date.getDate(); + var hours = date.getHours(); + var minutes = date.getMinutes(); + var seconds = date.getSeconds(); + return String(10000 * year + 100 * month + day + + ('0'+hours).slice(-2) + ('0'+minutes).slice(-2) + ('0'+seconds).slice(-2)); +} + +function makeFilename() { + var chars = "abcdefghiklmnopqrstuvwxyz"; + var len = 8; + var clen = chars.length; + var rData = '', i, rnum; + for (i=0; i 0 && origImage.width > imageResizeWidth) { + width = imageResizeWidth; + height = (imageResizeWidth / origImage.width) * origImage.height; + + canvas.width = width; + canvas.height = height; + canvas.getContext("2d").drawImage(origImage, 0, 0, width, height); + + var bitmapData = canvas.toDataURL(readerEvent.target.filetype); + data.append('filehtml5', bitmapData.replace(/^(.*)base64,/, '')); + } + else { + data.append('file', readerEvent.target.file); + } + + var fileFormat = readerEvent.target.filename.substring(readerEvent.target.filename.lastIndexOf('.')); + data.append('origname', readerEvent.target.filename); + data.append('randomname', makeFilename() + fileFormat.toLowerCase()); + + var el = document.getElementById('imageListWrapper').getElementsByTagName('div'); + var imgBox = null, imgInfo; + + xhr.onreadystatechange = function(xhrEvent) { + if (this.readyState === 4 && this.status === 200) { + var jsonText = decodeURI(oEditor.trimSpace(this.responseText)); + jsonText = jsonText.replace(/\+/g, ' ').replace(/\\/g, '\\\\'); + var jsonData = JSON.parse(jsonText); + var img = new Image(), i; + + img.onload = function() { + for (i=0; i < el.length; i++) { + imgBox = el[i]; + + if (imgBox.className !== 'imageBox_theImage') { + continue; + } + + if (!imgBox.firstChild || imgBox.firstChild.tagName.toLowerCase() !== 'img') { + imgInfo = { "width": this.width, + "height": this.height, + "fileName": jsonData.fileName, + "fileUrl": jsonData.fileUrl, + "origName": readerEvent.target.filename, + "filePath": jsonData.filePath, + "fileSize": jsonData.fileSize }; + + imageCompletedList[imgBox.id] = imgInfo; + imgComplete(this, imgInfo, imgBox.id); + imgBox.appendChild(img); + break; + } + } + + if (selectedFilesNum < uploadedFiles.length) { + doUpload(); + } + else { + uploadedFiles = []; + selectedFilesNum = 0; + } + }; + img.src = decodeURIComponent(jsonData.fileUrl); + } + }; + + selectedFilesNum++; + xhr.send(data); + }; + + origImage.src = readerEvent.target.result; + }; + + reader.file = file; + reader.filename = file.name; + reader.filetype = file.type; + reader.readAsDataURL(file); +} + +function fileSelect(selected) { + var files = selected.files; + var file, i, num = files.length; + + for (i=0; i < num; i++) { + file = files[i]; + if (!file.type.match('image.*')) { + fileFilterError(file.name); + continue; + } + + uploadedFiles.push(file); + } + + if (num < 1 || uploadedFiles.length < 1) { + return; + } + + startUpload(num); + doUpload(); + + var inputFile = document.getElementById('inputImageUpload'); + var theForm = document.createElement('form'); + var fileSelectButton = document.getElementById('fileSelectButton'); + theForm.appendChild(inputFile); + theForm.reset(); + fileSelectButton.parentNode.insertBefore(inputFile, fileSelectButton); + fileSelectButton.style.marginLeft = '-1px'; +} + +function fileSelectDrop(ev) { + oEditor.stopEvent(ev); + this.className = "imageListWrapperHtml5"; + + var files = ev.dataTransfer.files; + var file, i, num = files.length; + + for (i=0; i < num; i++) { + file = files[i]; + if (!file.type.match('image.*')) { + fileFilterError(file.name); + continue; + } + uploadedFiles.push(file); + } + + if (uploadedFiles.length < 1) { + return; + } + + startUpload(num); + doUpload(); +} + +function dragOver(ev) { + oEditor.stopEvent(ev); + this.className = "dragOver"; +} + +function dragOut(ev) { + oEditor.stopEvent(ev); + this.className = "imageListWrapperHtml5"; +} + +function init(dialog) { + oEditor = this; + oEditor.dialog = dialog; + var dlg = new Dialog(oEditor); + browser = oEditor.getBrowser(); + + UploadImagePath = oEditor.config.iconPath + 'imageUpload'; + uploadMaxNumber = oEditor.config.imgUploadNumber; + UploadScript = oEditor.config.editorPath + 'imageUpload/upload.php'; + DeleteScript = oEditor.config.editorPath + 'imageUpload/delete.php'; + + imageResizeWidth = oEditor.config.imgMaxWidth; + makeThumbnail = oEditor.config.makeThumbnail; + makeThumbnailWidth = oEditor.config.thumbnailWidth; + makeThumbnailHeight = oEditor.config.thumbnailHeight; + + document.getElementById("maxImageNum").appendChild(document.createTextNode(uploadMaxNumber)); + + button = [ { alt : "", img : 'submit.gif', cmd : doSubmit, hspace : 2 }, + { alt : "", img : 'cancel.gif', cmd : closeWindow, hspace : 2 } ]; + + dlg.setDialogHeight(370); + dlg.showButton(button); + showContents(); + initGallery(); + showUploadWindow(); + createInsertionMaker(); + + var dropTarget = document.getElementById("imageListWrapper"); + oEditor.addEvent(dropTarget, 'dragover', dragOver); + oEditor.addEvent(dropTarget, 'dragleave', dragOut); + oEditor.addEvent(dropTarget, 'drop', fileSelectDrop); + + var align = document.getElementById('fm_alignment'); + var i; + for (i=0; i 0 && ((i % 4) === 0)) { + document.getElementById('imageListWrapper').appendChild(spacer(spacerNo++)); + } + + imgBox = document.createElement('div'); + imgBox.id = 'imgBox' + i; + imgBox.className = 'imageBox'; + theImg = document.createElement('div'); + theImg.id = 'img_' + i; + theImg.className = 'imageBox_theImage'; + imgBox.appendChild(theImg); + + document.getElementById('imageListWrapper').appendChild(imgBox); + if (i === (uploadMaxNumber-1)) { + lastSpacer = spacer(spacerNo); + lastSpacer.style.height = "7px"; + document.getElementById('imageListWrapper').appendChild(lastSpacer); + } + } + + if (browser.msie && browser.ver < 7) { + document.getElementById('imageListWrapper').style.padding = '5px 2px 5px 2px'; + document.getElementById('imageInfoBox').style.height = '302px'; + document.getElementById('imageInfoBox').style.width = '124px'; + } + else { + document.getElementById('imageListWrapper').style.padding = '5px 7px 0px 5px'; + document.getElementById('imageInfoBox').style.height = '298px'; + document.getElementById('imageInfoBox').style.width = '130px'; + } +} + +function openFiles() { +// ---------------------------------------------------------------------------------- + var elem = browser.msie ? document.getElementById(AppID) : document[AppID]; + elem.AddFiles(); +} + +function setImageCount() { + imageCompleted++; + document.getElementById('imageCount').innerHTML = imageCompleted; +} + +function getImageCount() { + return imageCompleted; +} + +function allowedMaxImage() { + return uploadMaxNumber - getImageCount(); +} + +function getUploadedCount() { + return document.getElementById('imageListWrapper').getElementsByTagName('img').length; +} + +function uploadedImageCount() { + imageCompleted = getUploadedCount(); + document.getElementById('imageCount').innerHTML = imageCompleted; +} + +function uploadError(msg) { + alert(msg); +} + +function imageDelete(filePath) { + var chximage = document.getElementById(AppID); + chximage.ImageDelete(encodeURI(filePath)); +} + +function getTopPos(inputObj) { +// ---------------------------------------------------------------------------------- + var returnValue = inputObj.offsetTop; + + inputObj = inputObj.offsetParent; + while (inputObj) { + if (inputObj.tagName.toLowerCase() !== 'html') { + returnValue += (inputObj.offsetTop - inputObj.scrollTop); + if (browser.msie) { + returnValue += inputObj.clientTop; + } + } + inputObj = inputObj.offsetParent; + } + return returnValue; +} + +function getLeftPos(inputObj) { +// ---------------------------------------------------------------------------------- + var returnValue = inputObj.offsetLeft; + + inputObj = inputObj.offsetParent; + while (inputObj) { + if (inputObj.id !== 'imageListWrapper') { + returnValue += inputObj.offsetLeft; + if (browser.msie) { + returnValue += inputObj.clientLeft; + } + } + inputObj = inputObj.offsetParent; + } + return returnValue; +} + +function getDivCoordinates() { +// ---------------------------------------------------------------------------------- + var imgBox = document.getElementById('imageListWrapper').getElementsByTagName('DIV'); + var i; + for (i=0; i < imgBox.length; i++) { + if ((imgBox[i].className === 'imageBox' || imgBox[i].className === 'imageBoxHighlighted') && imgBox[i].id) + { + divXPositions[imgBox[i].id] = getLeftPos(imgBox[i]); + divYPositions[imgBox[i].id] = getTopPos(imgBox[i]); + divWidth[imgBox[i].id] = imgBox[i].offsetWidth; + divHeight[imgBox[i].id] = imgBox[i].offsetHeight; + } + } +} + +function reOrder() { +// ---------------------------------------------------------------------------------- + var wrapper = document.getElementById('imageListWrapper'); + var imgBox = wrapper.getElementsByTagName('div'); + var imgNum = 0, i, spacer, breakline = []; + + for (i=0; i < imgBox.length; i++) { + if (imgBox[i].id.indexOf('imgBox') === -1) { + continue; + } + + imgBox[i].className = 'imageBox'; + imgBox[i].firstChild.className = 'imageBox_theImage'; + + if (imgNum > 0 && (imgNum % 4) === 0) { + breakline.push(imgBox[i].id); + } + + imgNum++; + } + + for (i=0; i ShowThumbnailSize.width || imgSize.height > ShowThumbnailSize.height) { + if (imgSize.width > imgSize.height) { + resizeW = (imgSize.width > ShowThumbnailSize.width) ? ShowThumbnailSize.width : imgSize.width; + resizeH = Math.round((imgSize.height * resizeW) / imgSize.width); + } + else { + resizeH = (imgSize.height > ShowThumbnailSize.height) ? ShowThumbnailSize.height : imgSize.height; + resizeW = Math.round((imgSize.width * resizeH) / imgSize.height); + } + + if (resizeH > ShowThumbnailSize.height) { + resizeH = (imgSize.height > ShowThumbnailSize.height) ? ShowThumbnailSize.height : imgSize.height; + resizeW = Math.round((imgSize.width * resizeH) / imgSize.height); + } + + } + else { + resizeW = imgSize.width; + resizeH = imgSize.height; + } + + img.style.width = resizeW - 2+ 'px'; + img.style.height = resizeH - 2+ 'px'; + img.style.margin = "1px"; + + if (resizeW < ShowThumbnailSize.width) { + M = ShowThumbnailSize.width - resizeW; + img.style.marginLeft = Math.round(M/2) + 'px'; + } + + if (resizeH < ShowThumbnailSize.height) { + M = ShowThumbnailSize.height - resizeH; + img.style.marginTop = Math.round(M/2) + 'px'; + } + + var elem = document.getElementById(boxId); + elem.style.backgroundImage = "url('"+UploadImagePath+"/dot.gif')"; + elem.onmouseover = showDelete; + elem.onmouseout = function() { + this.className = 'imageBox_theImage'; + setImageInfo(0); + hideDelete(); + }; + + setImageCount(); +} + +function uploadComplete(image) { +// ---------------------------------------------------------------------------------- + image.filePath = decodeURI(image.filePath); + image.origName = decodeURI(image.origName); + + var el = document.getElementById('imageListWrapper').getElementsByTagName('div'); + var imgBox = null, tmpImg, i, imgInfo; + var imgOnLoad = function() { + imgInfo = { "width": image.width, "height": image.height, "fileSize": image.fileSize, + "fileUrl": image.fileUrl, "fileName": image.fileName, "filePath": image.filePath, "origName": image.origName }; + + imageCompletedList[imgBox.id] = imgInfo; + imgComplete(this, imgInfo, imgBox.id); + }; + + for (i=0; i < el.length; i++) { + imgBox = el[i]; + if (imgBox.className !== 'imageBox_theImage') { + continue; + } + + if (!imgBox.firstChild || imgBox.firstChild.tagName.toLowerCase() !== 'img') { + tmpImg = new Image(); + tmpImg.style.width = "0px"; + tmpImg.style.height = "0px"; + tmpImg.setAttribute("alt", image.origName); + tmpImg.onload = imgOnLoad; + tmpImg.src = image.fileUrl; + imgBox.appendChild(tmpImg); + break; + } + } +} + +function showUploadWindow() { +// ---------------------------------------------------------------------------------- + var uploadWindow = document.getElementById("uploadWindow"); + var uploadWindowWidth = 700; + var winWidth; + + if (typeof window.innerWidth !== 'undefined') { + winWidth = window.innerWidth; + } + else if (document.documentElement && typeof document.documentElement.clientWidth !== 'undefined' + && document.documentElement.clientWidth !== 0 ) + { + winWidth = document.documentElement.clientWidth; + } + else if (document.body && typeof document.body.clientWidth !== 'undefined') { + winWidth = document.body.clientWidth; + } + else { + alert('현재 브라우저를 지원하지 않습니다.'); + return; + } + + var left = winWidth / 2 - (uploadWindowWidth / 2) + 'px'; + + uploadWindow.style.left = left; + uploadWindow.style.display = "block"; + uploadWindow.style.width = uploadWindowWidth + 'px'; + + if (modifyImages.length > 0) { + var el = document.getElementById('imageListWrapper').getElementsByTagName('DIV'); + var i, j, imgBox, img; + for (i=0; i < modifyImages.length; i++) { + if (i > 7) { + break; + } + + for (j=0; j < el.length; j++) { + imgBox = el[j]; + if (imgBox.className !== 'imageBox_theImage') { + continue; + } + + if (imgBox.firstChild && (imgBox.firstChild.src == modifyImages[i])) { + break; + } + + if (imgBox.firstChild === null) { + img = new Image(); + img.src = modifyImages[i]; + img.border = 0; + img.alt = ''; + img.style.width = '120px'; + img.style.height = '90px'; + imgBox.appendChild(img); + break; + } + } + } + } +} + +function removeImages() { + var images = [], i, j, theImage, img, remove; + document.body.appendChild(document.getElementById('removeImageButton')); + + for (i=0; i < uploadMaxNumber; i++) { + theImage = document.getElementById('img_'+i); + if (theImage.hasChildNodes() && theImage.firstChild.tagName.toLowerCase() === 'img') { + images.push(theImage); + } + } + + for (i=0; i= 0 && moveTimer < 10) { + moveTimer++; + setTimeout('startMoveTimer()', 8); + } + + if (moveTimer === 5) { + getDivCoordinates(); + var subElements = dragDropDiv.getElementsByTagName('div'); + if (subElements.length > 0) { + dragDropDiv.removeChild(subElements[0]); + } + + dragDropDiv.style.display = 'block'; + var newDiv = activeImage.cloneNode(true); + newDiv.className = 'imageBox'; + if (browser.msie && browser.ver < 9) { + newDiv.style.filter = 'alpha(opacity=50)'; + } + else { + newDiv.style.opacity = 0.5; + } + + newDiv.id = ''; + newDiv.style.padding = '2px'; + dragDropDiv.appendChild(newDiv); + + dragDropDiv.style.top = tmpTop + 'px'; + dragDropDiv.style.left = tmpLeft + 'px'; + } + + return false; +} + +function selectImage(e) { +// ---------------------------------------------------------------------------------- + if (browser.msie) { + e = event; + } + + var el = this.parentNode.firstChild.firstChild; + if (!el) { + return; + } + + var obj = this.parentNode; + hideDelete(); + + if (activeImage) { + activeImage.className = 'imageBox'; + } + + obj.className = 'imageBoxHighlighted'; + activeImage = obj; + readyToMove = true; + moveTimer = 0; + + tmpLeft = e.clientX + Math.max(document.body.scrollLeft,document.documentElement.scrollLeft); + tmpTop = e.clientY + Math.max(document.body.scrollTop,document.documentElement.scrollTop); + + startMoveTimer(); + return false; +} + +function dragDropEnd() { +// ---------------------------------------------------------------------------------- + readyToMove = false; + moveTimer = -1; + dragDropDiv.style.display = 'none'; + insertionMarker.style.display = 'none'; + + if (destinationObject && destinationObject !== activeImage) { + var parentObj = destinationObject.parentNode; + var chkObj = destinationObject.previousSibling; + var turn = false; + + if (chkObj === null) { + chkObj = document.getElementById('imageListWrapper').firstChild; + turn = true; + } + + if (chkObj.id.indexOf('spacer') !== -1) { + chkObj = chkObj.previousSibling; + } + + if (chkObj.firstChild.firstChild === null) { + reOrder(); + return; + } + + if (chkObj && chkObj.id !== null) { + while (chkObj) { + if (chkObj.firstChild.firstChild != null) { + break; + } + chkObj = chkObj.previousSibling; + } + destinationObject = turn ? chkObj : chkObj.nextSibling; + } + + parentObj.insertBefore(activeImage, destinationObject); + reOrder(); + + activeImage.className = 'imageBox'; + activeImage = false; + destinationObject = false; + getDivCoordinates(); + return false; + } + return true; +} + +function dragDropMove(e) { +// ---------------------------------------------------------------------------------- + if (moveTimer === -1) { + return; + } + + if (browser.msie) { + e = window.event; + } + + var leftPos = e.clientX + document.documentElement.scrollLeft - eventDiff_x; + var topPos = e.clientY + document.documentElement.scrollTop - eventDiff_y; + dragDropDiv.style.top = topPos + 'px'; + dragDropDiv.style.left = leftPos + 'px'; + + leftPos = leftPos + eventDiff_x; + topPos = topPos + eventDiff_y; + + if (e.button !== 1 && browser.msie) { + dragDropEnd(); + } + + var elementFound = false, prop, offsetX, offsetY; + + for (prop in divXPositions) { + if (divXPositions[prop].className === 'clear') { + continue; + } + + if (divXPositions[prop] < leftPos && + (divXPositions[prop] + divWidth[prop] * 0.7) > leftPos && + divYPositions[prop] < topPos && + (divYPositions[prop] + divWidth[prop]) > topPos) + { + if (browser.msie) { + offsetX = offsetX_marker; + offsetY = offsetY_marker; + } + else { + offsetX = geckoOffsetX_marker; + offsetY = geckoOffsetY_marker; + } + + insertionMarker.style.top = divYPositions[prop] + offsetY + 'px'; + insertionMarker.style.left = divXPositions[prop] + offsetX + 'px'; + insertionMarker.style.display = 'block'; + destinationObject = document.getElementById(prop); + elementFound = true; + break; + } + } + + if (!elementFound) { + insertionMarker.style.display = 'none'; + destinationObject = false; + } + + return false; +} + +function saveImageOrder() { +// ---------------------------------------------------------------------------------- + var rData = []; + var objects = document.getElementById('imageListWrapper').getElementsByTagName('DIV'); + var i; + for (i=0; i < objects.length; i++) { + if (objects[i].className === 'imageBox' || + objects[i].className === 'imageBoxHighlighted') + { + rData.push(objects[i].id); + } + } + + return rData; +} + +function initGallery() { +// ---------------------------------------------------------------------------------- + var imgBox = document.getElementById('imageListWrapper').getElementsByTagName('DIV'); + var i; + for (i=0; i < imgBox.length; i++) { + if (imgBox[i].className == 'imageBox_theImage') { + imgBox[i].onmousedown = selectImage; + } + } + + document.body.onselectstart = cancelEvent; + document.body.ondragstart = cancelEvent; + document.body.onmouseup = dragDropEnd; + document.body.onmousemove = dragDropMove; + + dragDropDiv = document.getElementById('dragDropContent'); + insertionMarker = document.getElementById('insertionMarker'); + getDivCoordinates(); +} + +function doSubmit() { +// ---------------------------------------------------------------------------------- + var el = document.getElementById('imageListWrapper').getElementsByTagName('DIV'); + var imageArray = []; + var num = 0; + var fm_elem = document.getElementById('fm_alignment'); + var fm_align = fm_elem.alignment; + var img_align = 'top', i, imgBox; + var imgParagraph = fm_elem.para.checked; + var useSpacer = fm_elem.use_spacer.checked; + + for (i=0; i < fm_align.length; i++) { + if (fm_align[i].checked) { + img_align = fm_align[i].value; + break; + } + } + + for (i=0; i < el.length; i++) { + imgBox = el[i]; + if (imgBox.className !== 'imageBox_theImage') { + continue; + } + + if (imgBox.firstChild !== null) { + imageArray[num] = imageCompletedList[imgBox.id]; + + if (img_align === 'break' ) { + imageArray[num]['alt'] = "break"; + } + else { + imageArray[num]['alt'] = ""; + imageArray[num]['align'] = img_align; + } + + num++; + } + } + + if (imageArray.length > 0) { + oEditor.doInsertImage(imageArray, imgParagraph, useSpacer); + } + + swfobject.removeSWF(AppID); + oEditor.popupWinClose(); +} + +function initEvent() { + var swfVersionStr = "11.1.0"; + var xiSwfUrlStr = "http://get.adobe.com/kr/flashplayer/"; + var flashvars = { + "UploadScript": UploadScript, + "DeleteScript": DeleteScript, + "UploadButton": UploadButton, + "MakeThumbnail": makeThumbnail, + "ThumbnailWidth": makeThumbnailWidth, + "ThumbnailHeight": makeThumbnailHeight, + "ImageResizeWidth": imageResizeWidth, + "loadPolicyFile": true, + "SortOnName": sortOnName }; + var params = { + "quality": "high", + "bgcolor": "#ffffff", + "allowscriptaccess": "Always", + "allowfullscreen": "false", + //"allowNetworking": "all", + "wmode": "transparent" }; + var attributes = { "id": AppID, "name": AppID, "align": "middle" }; + swfobject.embedSWF(AppSRC, "oFlashButton", "93", "22", swfVersionStr, xiSwfUrlStr, flashvars, params, attributes); +} + +function init(dialog) { + oEditor = this; + oEditor.dialog = dialog; + var dlg = new Dialog(oEditor); + browser = oEditor.getBrowser(); + + UploadImagePath = oEditor.config.iconPath + 'imageUpload'; + UploadButton = '../icons/imageUpload/add.gif'; + AppSRC = oEditor.config.popupPath + 'flash/chximage.swf'; + uploadMaxNumber = oEditor.config.imgUploadNumber; + UploadScript = oEditor.config.editorPath + 'imageUpload/upload_flash.php'; + DeleteScript = oEditor.config.editorPath + 'imageUpload/delete.php'; + + imageResizeWidth = oEditor.config.imgMaxWidth; + makeThumbnail = oEditor.config.makeThumbnail; + sortOnName = oEditor.config.imgUploadSortName; + makeThumbnailWidth = oEditor.config.thumbnailWidth; + makeThumbnailHeight = oEditor.config.thumbnailHeight; + + document.getElementById("maxImageNum").appendChild(document.createTextNode(uploadMaxNumber)); + + button = [ { alt : "", img : 'submit.gif', cmd : doSubmit, hspace : 2 }, + { alt : "", img : 'cancel.gif', cmd : closeWindow, hspace : 2 } ]; + + dlg.setDialogHeight(370); + dlg.showButton(button); + showContents(); + initGallery(); + showUploadWindow(); + initEvent(); + createInsertionMaker(); + + var align = document.getElementById('fm_alignment'); + var i; + for (i=0; i= 3 check for Flash plugin in plugin array + var flashVer = -1; + + if (navigator.plugins != null && navigator.plugins.length > 0) { + if (navigator.plugins["Shockwave Flash 2.0"] || navigator.plugins["Shockwave Flash"]) { + var swVer2 = navigator.plugins["Shockwave Flash 2.0"] ? " 2.0" : ""; + var flashDescription = navigator.plugins["Shockwave Flash" + swVer2].description; + var descArray = flashDescription.split(" "); + var tempArrayMajor = descArray[2].split("."); + var versionMajor = tempArrayMajor[0]; + var versionMinor = tempArrayMajor[1]; + var versionRevision = descArray[3]; + if (versionRevision == "") { + versionRevision = descArray[4]; + } + if (versionRevision[0] == "d") { + versionRevision = versionRevision.substring(1); + } else if (versionRevision[0] == "r") { + versionRevision = versionRevision.substring(1); + if (versionRevision.indexOf("d") > 0) { + versionRevision = versionRevision.substring(0, versionRevision.indexOf("d")); + } + } else if (versionRevision[0] == "b") { + versionRevision = versionRevision.substring(1); + } + flashVer = versionMajor + "." + versionMinor + "." + versionRevision; + } + } + // MSN/WebTV 2.6 supports Flash 4 + else if (navigator.userAgent.toLowerCase().indexOf("webtv/2.6") != -1) flashVer = 4; + // WebTV 2.5 supports Flash 3 + else if (navigator.userAgent.toLowerCase().indexOf("webtv/2.5") != -1) flashVer = 3; + // older WebTV supports Flash 2 + else if (navigator.userAgent.toLowerCase().indexOf("webtv") != -1) flashVer = 2; + else if ( isIE && isWin && !isOpera ) { + flashVer = ControlVersion(); + } + return flashVer; +} + +// When called with reqMajorVer, reqMinorVer, reqRevision returns true if that version or greater is available +function DetectFlashVer(reqMajorVer, reqMinorVer, reqRevision) +{ + versionStr = GetSwfVer(); + if (versionStr == -1 ) { + return false; + } else if (versionStr != 0) { + if(isIE && isWin && !isOpera) { + // Given "WIN 2,0,0,11" + tempArray = versionStr.split(" "); // ["WIN", "2,0,0,11"] + tempString = tempArray[1]; // "2,0,0,11" + versionArray = tempString.split(","); // ['2', '0', '0', '11'] + } else { + versionArray = versionStr.split("."); + } + var versionMajor = versionArray[0]; + var versionMinor = versionArray[1]; + var versionRevision = versionArray[2]; + + // is the major.revision >= requested major.revision AND the minor version >= requested minor + if (versionMajor > parseFloat(reqMajorVer)) { + return true; + } else if (versionMajor == parseFloat(reqMajorVer)) { + if (versionMinor > parseFloat(reqMinorVer)) + return true; + else if (versionMinor == parseFloat(reqMinorVer)) { + if (versionRevision >= parseFloat(reqRevision)) + return true; + } + } + return false; + } +} + +function AC_AddExtension(src, ext) +{ + if (src.indexOf('?') != -1) + return src.replace(/\?/, ext+'?'); + else + return src + ext; +} + +function AC_Generateobj(objAttrs, params, embedAttrs) +{ + if (isIE && isWin && !isOpera) + { + var str = ' '; + str += ''; + document.getElementById("oFlash").innerHTML = str; + } + else { + var oFlash = document.getElementById("oFlash"); + var embed = document.createElement('embed'); + for (var i in embedAttrs) { + embed.setAttribute(i, embedAttrs[i]); + } + oFlash.appendChild(embed); + } +} + +function CHXImageRUN(){ + var ret = + AC_GetArgs + ( arguments, ".swf", "movie", "clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" + , "application/x-shockwave-flash" + ); + AC_Generateobj(ret.objAttrs, ret.params, ret.embedAttrs); +} + +function AC_GetArgs(args, ext, srcParamName, classid, mimeType){ + var ret = new Object(); + ret.embedAttrs = new Object(); + ret.params = new Object(); + ret.objAttrs = new Object(); + for (var i=0; i < args.length; i=i+2){ + var currArg = args[i].toLowerCase(); + + switch (currArg){ + case "classid": + break; + case "pluginspage": + ret.embedAttrs[args[i]] = args[i+1]; + break; + case "src": + case "movie": + args[i+1] = AC_AddExtension(args[i+1], ext); + ret.embedAttrs["src"] = args[i+1]; + ret.params[srcParamName] = args[i+1]; + break; + case "onafterupdate": + case "onbeforeupdate": + case "onblur": + case "oncellchange": + case "onclick": + case "ondblClick": + case "ondrag": + case "ondragend": + case "ondragenter": + case "ondragleave": + case "ondragover": + case "ondrop": + case "onfinish": + case "onfocus": + case "onhelp": + case "onmousedown": + case "onmouseup": + case "onmouseover": + case "onmousemove": + case "onmouseout": + case "onkeypress": + case "onkeydown": + case "onkeyup": + case "onload": + case "onlosecapture": + case "onpropertychange": + case "onreadystatechange": + case "onrowsdelete": + case "onrowenter": + case "onrowexit": + case "onrowsinserted": + case "onstart": + case "onscroll": + case "onbeforeeditfocus": + case "onactivate": + case "onbeforedeactivate": + case "ondeactivate": + case "type": + case "codebase": + ret.objAttrs[args[i]] = args[i+1]; + break; + case "id": + case "width": + case "height": + case "align": + case "vspace": + case "hspace": + case "class": + case "title": + case "accesskey": + case "name": + case "tabindex": + ret.embedAttrs[args[i]] = ret.objAttrs[args[i]] = args[i+1]; + break; + default: + ret.embedAttrs[args[i]] = ret.params[args[i]] = args[i+1]; + } + } + ret.objAttrs["classid"] = classid; + if (mimeType) ret.embedAttrs["type"] = mimeType; + return ret; +} + + diff --git a/webedit/popup/js/image_url.js b/webedit/popup/js/image_url.js new file mode 100644 index 0000000..5d76782 --- /dev/null +++ b/webedit/popup/js/image_url.js @@ -0,0 +1,244 @@ +// ================================================================ +// CHEditor 5 +// ---------------------------------------------------------------- +// Homepage: http://www.chcode.com +// Copyright (c) 1997-2015 CHSOFT +// ================================================================ +var AppWidth = "250"; +var AppHeight = "175"; +var AppID = "cheditorPreview"; +var oEditor = null; +var button = [ { alt : "", img : 'submit.gif', cmd : doSubmit }, + { alt : "", img : 'cancel.gif', cmd : popupClose } ]; +var newImage = null; + +function CHEditorImagePreview () { +// ---------------------------------------------------------------------------------- +// callBack function + + document.getElementById(AppID).CHEditorImagePreview("1", "1"); +} + +function CHXUploadRUN(src) { +// ---------------------------------------------------------------------------------- +// Preview +// + chxupload_RUN("src", src, + "width", AppWidth, + "height", AppHeight, + "align", "middle", + "id", AppID, + "classid", AppID, + "quality", "high", + "bgcolor", "#ebe9ed", + "name", AppID, + "wmode", "transparent", + "allowScriptAccess","Always", + "type", "application/x-shockwave-flash", + "pluginspage", "http://www.adobe.com/go/getflashplayer"); +} + +function getFilename (file) { + while (file.indexOf("/") != -1) { + file = file.slice(file.indexOf("/") + 1); + } + return file; +} + +function popupClose() +{ + oEditor.popupWinCancel(); +} + +function chkImgFormat (url) +{ + var imageName = getFilename(url); + var allowSubmit = false; + var extArray = [".gif", ".jpg", ".jpeg", ".png"]; + + extArray.join(" "); + if (imageName === "") { + return false; + } + + var ext = imageName.slice(imageName.lastIndexOf(".")).toLowerCase(); + var i; + + for (i = 0; i < extArray.length; i++) { + if (extArray[i] == ext) { + allowSubmit = true; + break; + } + } + + if (!allowSubmit) { + alert("사진은 GIF, JPG, PNG 형식만 넣을 수 있습니다."); + return false; + } + + return imageName; +} + +function previewImage (source) { + if (navigator.appName.indexOf("microsoft") != -1) { + window[AppID].CHEditorImagePreview(source, 0, 0); + } + else { + document[AppID].CHEditorImagePreview(source, 0, 0); + } +} + +function checkImageComplete (img) { + if (img.complete != true) { + setTimeout("checkImageComplete(document.getElementById('"+img.id+"'))", 250); + } + else { + document.getElementById('imageSize').innerHTML = ''; + + newImage = new Image(); + newImage.style.width = img.width + 'px'; + newImage.style.height = img.height + 'px'; + newImage.setAttribute("src", img.src); + newImage.setAttribute("alt", getFilename(img.src)); + } +} + +function doPreview () { + var imgurl = document.getElementById('fm_imageUrl').value; + var fileName = chkImgFormat(imgurl); + if (!fileName) { + return; + } + + var img = new Image(); + img.src = imgurl; + img.id = fileName; + + document.getElementById('tmpImage').appendChild(img); + checkImageComplete(img); + previewImage(img.src); +} + +function getElementById(id) { + var el = null; + try { + el = document.getElementById(id); + } + catch (ignore) {} + return el; +} + +function removeObjectInIE(id) { + var obj = getElementById(id); + if (obj) { + var i; + for (i in obj) { + if (typeof obj[i] == "function") { + obj[i] = null; + } + } + obj.parentNode.removeChild(obj); + } +} + +function removeSWF(id) { + var obj = getElementById(id); + if (obj && obj.nodeName == "OBJECT") { + if (oEditor.getBrowser().msie) { + obj.style.display = "none"; + (function(){ + if (obj.readyState == 4) { + removeObjectInIE(id); + } + })(); + } + else { + obj.parentNode.removeChild(obj); + } + } +} + +function doSubmit () +{ + if (newImage == null) { + alert("미리 보기 버튼을 클릭하여 이미지를 확인해 주십시오."); + return; + } + + if (navigator.userAgent.toLowerCase().indexOf("msie") != -1) { + document.getElementById(AppID).style.display = 'none'; + } + + var fm_align = document.getElementById('fm_align').alignment; + var align = 'center'; + var i; + + for (i=0; i 0) { + datum = ""; + } + else { + datum = protocol[0]; + datum = protocol[0].replace(/^\/\/\//, "//"); + } + } + + document.getElementById("fm_link_value").value = selectedItemValue + datum; + document.getElementById("fm_link_value").focus(); +} + +function returnSelected() +{ + var text; + var target = ''; + var title = ''; + + if (document.getElementById("fm_link_value").value != "") { + text = document.getElementById("fm_link_value").value; + } + else { + alert("링크 URL을 입력하여 주십시오."); + return false; + } + + if (document.getElementById("fm_target").value != "") { + target = document.getElementById("fm_target").value; + } + + if (document.getElementById("fm_title").value != "") { + title = document.getElementById("fm_title").value; + } + + oEditor.hyperLink(text, target, title); + oEditor.popupWinClose(); +} + +function getSelected() { + var rng = oEditor.range; + var link = null; + + if (window.getSelection) { + link = oEditor.getElement(rng.startContainer, "A"); + } + else { + link = rng.parentElement ? oEditor.getElement(rng.parentElement(), "A") : oEditor.getElement(rng.item(0), "A"); + } + + if (link == null || link.nodeName.toLowerCase() != 'a') { + return; + } + + var protocol = link.href.split(":"); + + if (protocol[0]) { + var protocolSel = document.getElementById("fm_protocol"); + var i, oldTarget, targetSel, j; + for (i=0; i"; + var obj = document.getElementById("play"); + obj.innerHTML = mediaobj; +} + +function doSubmit() +{ + var file = document.getElementById("fm_linkurl"); + var media = ""; + oEditor.insertHtmlPopup(media); + oEditor.popupWinClose(); +} + +function popupClose() { + oEditor.popupWinCancel(); +} \ No newline at end of file diff --git a/webedit/popup/js/swfobject.js b/webedit/popup/js/swfobject.js new file mode 100644 index 0000000..716b97f --- /dev/null +++ b/webedit/popup/js/swfobject.js @@ -0,0 +1,779 @@ +/*! SWFObject v2.2 + is released under the MIT License +*/ + +var swfobject = function() { + + var UNDEF = "undefined", + OBJECT = "object", + SHOCKWAVE_FLASH = "Shockwave Flash", + SHOCKWAVE_FLASH_AX = "ShockwaveFlash.ShockwaveFlash", + FLASH_MIME_TYPE = "application/x-shockwave-flash", + EXPRESS_INSTALL_ID = "SWFObjectExprInst", + ON_READY_STATE_CHANGE = "onreadystatechange", + + win = window, + doc = document, + nav = navigator, + + plugin = false, + domLoadFnArr = [main], + regObjArr = [], + objIdArr = [], + listenersArr = [], + storedAltContent, + storedAltContentId, + storedCallbackFn, + storedCallbackObj, + isDomLoaded = false, + isExpressInstallActive = false, + dynamicStylesheet, + dynamicStylesheetMedia, + autoHideShow = true, + + /* Centralized function for browser feature detection + - User agent string detection is only used when no good alternative is possible + - Is executed directly for optimal performance + */ + ua = function() { + var w3cdom = typeof doc.getElementById != UNDEF && typeof doc.getElementsByTagName != UNDEF && typeof doc.createElement != UNDEF, + u = nav.userAgent.toLowerCase(), + p = nav.platform.toLowerCase(), + windows = p ? /win/.test(p) : /win/.test(u), + mac = p ? /mac/.test(p) : /mac/.test(u), + webkit = /webkit/.test(u) ? parseFloat(u.replace(/^.*webkit\/(\d+(\.\d+)?).*$/, "$1")) : false, // returns either the webkit version or false if not webkit + ie = !+"\v1", // feature detection based on Andrea Giammarchi's solution: http://webreflection.blogspot.com/2009/01/32-bytes-to-know-if-your-browser-is-ie.html + playerVersion = [0,0,0], + d = null; + if (typeof nav.plugins != UNDEF && typeof nav.plugins[SHOCKWAVE_FLASH] == OBJECT) { + d = nav.plugins[SHOCKWAVE_FLASH].description; + if (d && !(typeof nav.mimeTypes != UNDEF && nav.mimeTypes[FLASH_MIME_TYPE] && !nav.mimeTypes[FLASH_MIME_TYPE].enabledPlugin)) { // navigator.mimeTypes["application/x-shockwave-flash"].enabledPlugin indicates whether plug-ins are enabled or disabled in Safari 3+ + plugin = true; + ie = false; // cascaded feature detection for Internet Explorer + d = d.replace(/^.*\s+(\S+\s+\S+$)/, "$1"); + playerVersion[0] = parseInt(d.replace(/^(.*)\..*$/, "$1"), 10); + playerVersion[1] = parseInt(d.replace(/^.*\.(.*)\s.*$/, "$1"), 10); + playerVersion[2] = /[a-zA-Z]/.test(d) ? parseInt(d.replace(/^.*[a-zA-Z]+(.*)$/, "$1"), 10) : 0; + } + } + else if (typeof win.ActiveXObject != UNDEF) { + try { + var a = new ActiveXObject(SHOCKWAVE_FLASH_AX); + if (a) { // a will return null when ActiveX is disabled + d = a.GetVariable("$version"); + if (d) { + ie = true; // cascaded feature detection for Internet Explorer + d = d.split(" ")[1].split(","); + playerVersion = [parseInt(d[0], 10), parseInt(d[1], 10), parseInt(d[2], 10)]; + } + } + } + catch(e) {} + } + return { w3:w3cdom, pv:playerVersion, wk:webkit, ie:ie, win:windows, mac:mac }; + }(), + + /* Cross-browser onDomLoad + - Will fire an event as soon as the DOM of a web page is loaded + - Internet Explorer workaround based on Diego Perini's solution: http://javascript.nwbox.com/IEContentLoaded/ + - Regular onload serves as fallback + */ + onDomLoad = function() { + if (!ua.w3) { return; } + if ((typeof doc.readyState != UNDEF && doc.readyState == "complete") || (typeof doc.readyState == UNDEF && (doc.getElementsByTagName("body")[0] || doc.body))) { // function is fired after onload, e.g. when script is inserted dynamically + callDomLoadFunctions(); + } + if (!isDomLoaded) { + if (typeof doc.addEventListener != UNDEF) { + doc.addEventListener("DOMContentLoaded", callDomLoadFunctions, false); + } + if (ua.ie && ua.win) { + doc.attachEvent(ON_READY_STATE_CHANGE, function() { + if (doc.readyState == "complete") { + doc.detachEvent(ON_READY_STATE_CHANGE, arguments.callee); + callDomLoadFunctions(); + } + }); + if (win == top) { // if not inside an iframe + (function(){ + if (isDomLoaded) { return; } + try { + doc.documentElement.doScroll("left"); + } + catch(e) { + setTimeout(arguments.callee, 0); + return; + } + callDomLoadFunctions(); + })(); + } + } + if (ua.wk) { + (function(){ + if (isDomLoaded) { return; } + if (!/loaded|complete/.test(doc.readyState)) { + setTimeout(arguments.callee, 0); + return; + } + callDomLoadFunctions(); + })(); + } + addLoadEvent(callDomLoadFunctions); + } + }(); + + function callDomLoadFunctions() { + if (isDomLoaded) { return; } + try { // test if we can really add/remove elements to/from the DOM; we don't want to fire it too early + var t = doc.getElementsByTagName("body")[0].appendChild(createElement("span")); + t.parentNode.removeChild(t); + } + catch (e) { return; } + isDomLoaded = true; + var dl = domLoadFnArr.length; + for (var i = 0; i < dl; i++) { + domLoadFnArr[i](); + } + } + + function addDomLoadEvent(fn) { + if (isDomLoaded) { + fn(); + } + else { + domLoadFnArr[domLoadFnArr.length] = fn; // Array.push() is only available in IE5.5+ + } + } + + /* Cross-browser onload + - Based on James Edwards' solution: http://brothercake.com/site/resources/scripts/onload/ + - Will fire an event as soon as a web page including all of its assets are loaded + */ + function addLoadEvent(fn) { + if (typeof win.addEventListener != UNDEF) { + win.addEventListener("load", fn, false); + } + else if (typeof doc.addEventListener != UNDEF) { + doc.addEventListener("load", fn, false); + } + else if (typeof win.attachEvent != UNDEF) { + addListener(win, "onload", fn); + } + else if (typeof win.onload == "function") { + var fnOld = win.onload; + win.onload = function() { + fnOld(); + fn(); + }; + } + else { + win.onload = fn; + } + } + + /* Main function + - Will preferably execute onDomLoad, otherwise onload (as a fallback) + */ + function main() { + if (plugin) { + testPlayerVersion(); + } + else { + matchVersions(); + } + } + + /* Detect the Flash Player version for non-Internet Explorer browsers + - Detecting the plug-in version via the object element is more precise than using the plugins collection item's description: + a. Both release and build numbers can be detected + b. Avoid wrong descriptions by corrupt installers provided by Adobe + c. Avoid wrong descriptions by multiple Flash Player entries in the plugin Array, caused by incorrect browser imports + - Disadvantage of this method is that it depends on the availability of the DOM, while the plugins collection is immediately available + */ + function testPlayerVersion() { + var b = doc.getElementsByTagName("body")[0]; + var o = createElement(OBJECT); + o.setAttribute("type", FLASH_MIME_TYPE); + var t = b.appendChild(o); + if (t) { + var counter = 0; + (function(){ + if (typeof t.GetVariable != UNDEF) { + var d = t.GetVariable("$version"); + if (d) { + d = d.split(" ")[1].split(","); + ua.pv = [parseInt(d[0], 10), parseInt(d[1], 10), parseInt(d[2], 10)]; + } + } + else if (counter < 10) { + counter++; + setTimeout(arguments.callee, 10); + return; + } + b.removeChild(o); + t = null; + matchVersions(); + })(); + } + else { + matchVersions(); + } + } + + /* Perform Flash Player and SWF version matching; static publishing only + */ + function matchVersions() { + var rl = regObjArr.length; + if (rl > 0) { + for (var i = 0; i < rl; i++) { // for each registered object element + var id = regObjArr[i].id; + var cb = regObjArr[i].callbackFn; + var cbObj = {success:false, id:id}; + if (ua.pv[0] > 0) { + var obj = getElementById(id); + if (obj) { + if (hasPlayerVersion(regObjArr[i].swfVersion) && !(ua.wk && ua.wk < 312)) { // Flash Player version >= published SWF version: Houston, we have a match! + setVisibility(id, true); + if (cb) { + cbObj.success = true; + cbObj.ref = getObjectById(id); + cb(cbObj); + } + } + else if (regObjArr[i].expressInstall && canExpressInstall()) { // show the Adobe Express Install dialog if set by the web page author and if supported + var att = {}; + att.data = regObjArr[i].expressInstall; + att.width = obj.getAttribute("width") || "0"; + att.height = obj.getAttribute("height") || "0"; + if (obj.getAttribute("class")) { att.styleclass = obj.getAttribute("class"); } + if (obj.getAttribute("align")) { att.align = obj.getAttribute("align"); } + // parse HTML object param element's name-value pairs + var par = {}; + var p = obj.getElementsByTagName("param"); + var pl = p.length; + for (var j = 0; j < pl; j++) { + if (p[j].getAttribute("name").toLowerCase() != "movie") { + par[p[j].getAttribute("name")] = p[j].getAttribute("value"); + } + } + showExpressInstall(att, par, id, cb); + } + else { // Flash Player and SWF version mismatch or an older Webkit engine that ignores the HTML object element's nested param elements: display alternative content instead of SWF + displayAltContent(obj); + if (cb) { cb(cbObj); } + } + } + } + else { // if no Flash Player is installed or the fp version cannot be detected we let the HTML object element do its job (either show a SWF or alternative content) + setVisibility(id, true); + if (cb) { + var o = getObjectById(id); // test whether there is an HTML object element or not + if (o && typeof o.SetVariable != UNDEF) { + cbObj.success = true; + cbObj.ref = o; + } + cb(cbObj); + } + } + } + } + } + + function getObjectById(objectIdStr) { + var r = null; + var o = getElementById(objectIdStr); + if (o && o.nodeName == "OBJECT") { + if (typeof o.SetVariable != UNDEF) { + r = o; + } + else { + var n = o.getElementsByTagName(OBJECT)[0]; + if (n) { + r = n; + } + } + } + return r; + } + + /* Requirements for Adobe Express Install + - only one instance can be active at a time + - fp 6.0.65 or higher + - Win/Mac OS only + - no Webkit engines older than version 312 + */ + function canExpressInstall() { + return !isExpressInstallActive && hasPlayerVersion("6.0.65") && (ua.win || ua.mac) && !(ua.wk && ua.wk < 312); + } + + /* Show the Adobe Express Install dialog + - Reference: http://www.adobe.com/cfusion/knowledgebase/index.cfm?id=6a253b75 + */ + function showExpressInstall(att, par, replaceElemIdStr, callbackFn) { + isExpressInstallActive = true; + storedCallbackFn = callbackFn || null; + storedCallbackObj = {success:false, id:replaceElemIdStr}; + var obj = getElementById(replaceElemIdStr); + if (obj) { + if (obj.nodeName == "OBJECT") { // static publishing + storedAltContent = abstractAltContent(obj); + storedAltContentId = null; + } + else { // dynamic publishing + storedAltContent = obj; + storedAltContentId = replaceElemIdStr; + } + att.id = EXPRESS_INSTALL_ID; + if (typeof att.width == UNDEF || (!/%$/.test(att.width) && parseInt(att.width, 10) < 310)) { att.width = "310"; } + if (typeof att.height == UNDEF || (!/%$/.test(att.height) && parseInt(att.height, 10) < 137)) { att.height = "137"; } + doc.title = doc.title.slice(0, 47) + " - Flash Player Installation"; + var pt = ua.ie && ua.win ? "ActiveX" : "PlugIn", + fv = "MMredirectURL=" + encodeURI(window.location).toString().replace(/&/g,"%26") + "&MMplayerType=" + pt + "&MMdoctitle=" + doc.title; + if (typeof par.flashvars != UNDEF) { + par.flashvars += "&" + fv; + } + else { + par.flashvars = fv; + } + // IE only: when a SWF is loading (AND: not available in cache) wait for the readyState of the object element to become 4 before removing it, + // because you cannot properly cancel a loading SWF file without breaking browser load references, also obj.onreadystatechange doesn't work + if (ua.ie && ua.win && obj.readyState != 4) { + var newObj = createElement("div"); + replaceElemIdStr += "SWFObjectNew"; + newObj.setAttribute("id", replaceElemIdStr); + obj.parentNode.insertBefore(newObj, obj); // insert placeholder div that will be replaced by the object element that loads expressinstall.swf + obj.style.display = "none"; + (function(){ + if (obj.readyState == 4) { + obj.parentNode.removeChild(obj); + } + else { + setTimeout(arguments.callee, 10); + } + })(); + } + createSWF(att, par, replaceElemIdStr); + } + } + + /* Functions to abstract and display alternative content + */ + function displayAltContent(obj) { + if (ua.ie && ua.win && obj.readyState != 4) { + // IE only: when a SWF is loading (AND: not available in cache) wait for the readyState of the object element to become 4 before removing it, + // because you cannot properly cancel a loading SWF file without breaking browser load references, also obj.onreadystatechange doesn't work + var el = createElement("div"); + obj.parentNode.insertBefore(el, obj); // insert placeholder div that will be replaced by the alternative content + el.parentNode.replaceChild(abstractAltContent(obj), el); + obj.style.display = "none"; + (function(){ + if (obj.readyState == 4) { + obj.parentNode.removeChild(obj); + } + else { + setTimeout(arguments.callee, 10); + } + })(); + } + else { + obj.parentNode.replaceChild(abstractAltContent(obj), obj); + } + } + + function abstractAltContent(obj) { + var ac = createElement("div"); + if (ua.win && ua.ie) { + ac.innerHTML = obj.innerHTML; + } + else { + var nestedObj = obj.getElementsByTagName(OBJECT)[0]; + if (nestedObj) { + var c = nestedObj.childNodes; + if (c) { + var cl = c.length; + for (var i = 0; i < cl; i++) { + if (!(c[i].nodeType == 1 && c[i].nodeName == "PARAM") && !(c[i].nodeType == 8)) { + ac.appendChild(c[i].cloneNode(true)); + } + } + } + } + } + return ac; + } + + /* Cross-browser dynamic SWF creation + */ + function createSWF(attObj, parObj, id) { + var r, el = getElementById(id); + if (ua.wk && ua.wk < 312) { return r; } + if (el) { + if (typeof attObj.id == UNDEF) { // if no 'id' is defined for the object element, it will inherit the 'id' from the alternative content + attObj.id = id; + } + if (ua.ie && ua.win) { // Internet Explorer + the HTML object element + W3C DOM methods do not combine: fall back to outerHTML + var att = ""; + for (var i in attObj) { + if (attObj[i] != Object.prototype[i]) { // filter out prototype additions from other potential libraries + if (i.toLowerCase() == "data") { + parObj.movie = attObj[i]; + } + else if (i.toLowerCase() == "styleclass") { // 'class' is an ECMA4 reserved keyword + att += ' class="' + attObj[i] + '"'; + } + else if (i.toLowerCase() != "classid") { + att += ' ' + i + '="' + attObj[i] + '"'; + } + } + } + var par = ""; + for (var j in parObj) { + if (parObj[j] != Object.prototype[j]) { // filter out prototype additions from other potential libraries + par += ''; + } + } + el.outerHTML = '' + par + ''; + objIdArr[objIdArr.length] = attObj.id; // stored to fix object 'leaks' on unload (dynamic publishing only) + r = getElementById(attObj.id); + } + else { // well-behaving browsers + var o = createElement(OBJECT); + o.setAttribute("type", FLASH_MIME_TYPE); + for (var m in attObj) { + if (attObj[m] != Object.prototype[m]) { // filter out prototype additions from other potential libraries + if (m.toLowerCase() == "styleclass") { // 'class' is an ECMA4 reserved keyword + o.setAttribute("class", attObj[m]); + } + else if (m.toLowerCase() != "classid") { // filter out IE specific attribute + o.setAttribute(m, attObj[m]); + } + } + } + for (var n in parObj) { + if (parObj[n] != Object.prototype[n] && n.toLowerCase() != "movie") { // filter out prototype additions from other potential libraries and IE specific param element + createObjParam(o, n, parObj[n]); + } + } + el.parentNode.replaceChild(o, el); + r = o; + } + } + return r; + } + + function createObjParam(el, pName, pValue) { + var p = createElement("param"); + p.setAttribute("name", pName); + p.setAttribute("value", pValue); + el.appendChild(p); + } + + /* Cross-browser SWF removal + - Especially needed to safely and completely remove a SWF in Internet Explorer + */ + function removeSWF(id) { + var obj = getElementById(id); + if (obj && obj.nodeName == "OBJECT") { + if (ua.ie && ua.win) { + obj.style.display = "none"; + (function(){ + if (obj.readyState == 4) { + removeObjectInIE(id); + } + else { + setTimeout(arguments.callee, 10); + } + })(); + } + else { + obj.parentNode.removeChild(obj); + } + } + } + + function removeObjectInIE(id) { + var obj = getElementById(id); + if (obj) { + for (var i in obj) { + if (typeof obj[i] == "function") { + obj[i] = null; + } + } + obj.parentNode.removeChild(obj); + } + } + + /* Functions to optimize JavaScript compression + */ + function getElementById(id) { + var el = null; + try { + el = doc.getElementById(id); + } + catch (e) {} + return el; + } + + function createElement(el) { + return doc.createElement(el); + } + + /* Updated attachEvent function for Internet Explorer + - Stores attachEvent information in an Array, so on unload the detachEvent functions can be called to avoid memory leaks + */ + function addListener(target, eventType, fn) { + target.attachEvent(eventType, fn); + listenersArr[listenersArr.length] = [target, eventType, fn]; + } + + /* Flash Player and SWF content version matching + */ + function hasPlayerVersion(rv) { + var pv = ua.pv, v = rv.split("."); + v[0] = parseInt(v[0], 10); + v[1] = parseInt(v[1], 10) || 0; // supports short notation, e.g. "9" instead of "9.0.0" + v[2] = parseInt(v[2], 10) || 0; + return (pv[0] > v[0] || (pv[0] == v[0] && pv[1] > v[1]) || (pv[0] == v[0] && pv[1] == v[1] && pv[2] >= v[2])) ? true : false; + } + + /* Cross-browser dynamic CSS creation + - Based on Bobby van der Sluis' solution: http://www.bobbyvandersluis.com/articles/dynamicCSS.php + */ + function createCSS(sel, decl, media, newStyle) { + if (ua.ie && ua.mac) { return; } + var h = doc.getElementsByTagName("head")[0]; + if (!h) { return; } // to also support badly authored HTML pages that lack a head element + var m = (media && typeof media == "string") ? media : "screen"; + if (newStyle) { + dynamicStylesheet = null; + dynamicStylesheetMedia = null; + } + if (!dynamicStylesheet || dynamicStylesheetMedia != m) { + // create dynamic stylesheet + get a global reference to it + var s = createElement("style"); + s.setAttribute("type", "text/css"); + s.setAttribute("media", m); + dynamicStylesheet = h.appendChild(s); + if (ua.ie && ua.win && typeof doc.styleSheets != UNDEF && doc.styleSheets.length > 0) { + dynamicStylesheet = doc.styleSheets[doc.styleSheets.length - 1]; + } + dynamicStylesheetMedia = m; + } + // add style rule + if (ua.ie && ua.win) { + if (dynamicStylesheet && typeof dynamicStylesheet.addRule == OBJECT) { + dynamicStylesheet.addRule(sel, decl); + } + } + else { + if (dynamicStylesheet && typeof doc.createTextNode != UNDEF) { + dynamicStylesheet.appendChild(doc.createTextNode(sel + " {" + decl + "}")); + } + } + } + + function setVisibility(id, isVisible) { + if (!autoHideShow) { return; } + var v = isVisible ? "visible" : "hidden"; + if (isDomLoaded && getElementById(id)) { + getElementById(id).style.visibility = v; + } + else { + createCSS("#" + id, "visibility:" + v); + } + } + + /* Filter to avoid XSS attacks + */ + function urlEncodeIfNecessary(s) { + var regex = /[\\\"<>\.;]/; + var hasBadChars = regex.exec(s) != null; + return hasBadChars && typeof encodeURIComponent != UNDEF ? encodeURIComponent(s) : s; + } + + /* Release memory to avoid memory leaks caused by closures, fix hanging audio/video threads and force open sockets/NetConnections to disconnect (Internet Explorer only) + */ + var cleanup = function() { + if (ua.ie && ua.win) { + window.attachEvent("onunload", function() { + // remove listeners to avoid memory leaks + var ll = listenersArr.length; + for (var i = 0; i < ll; i++) { + listenersArr[i][0].detachEvent(listenersArr[i][1], listenersArr[i][2]); + } + // cleanup dynamically embedded objects to fix audio/video threads and force open sockets and NetConnections to disconnect + var il = objIdArr.length; + for (var j = 0; j < il; j++) { + removeSWF(objIdArr[j]); + } + // cleanup library's main closures to avoid memory leaks + for (var k in ua) { + ua[k] = null; + } + ua = null; + for (var l in swfobject) { + swfobject[l] = null; + } + swfobject = null; + }); + } + }(); + + return { + /* Public API + - Reference: http://code.google.com/p/swfobject/wiki/documentation + */ + registerObject: function(objectIdStr, swfVersionStr, xiSwfUrlStr, callbackFn) { + if (ua.w3 && objectIdStr && swfVersionStr) { + var regObj = {}; + regObj.id = objectIdStr; + regObj.swfVersion = swfVersionStr; + regObj.expressInstall = xiSwfUrlStr; + regObj.callbackFn = callbackFn; + regObjArr[regObjArr.length] = regObj; + setVisibility(objectIdStr, false); + } + else if (callbackFn) { + callbackFn({success:false, id:objectIdStr}); + } + }, + + getObjectById: function(objectIdStr) { + if (ua.w3) { + return getObjectById(objectIdStr); + } + }, + + embedSWF: function(swfUrlStr, replaceElemIdStr, widthStr, heightStr, swfVersionStr, xiSwfUrlStr, flashvarsObj, parObj, attObj, callbackFn) { + var callbackObj = {success:false, id:replaceElemIdStr}; + if (ua.w3 && !(ua.wk && ua.wk < 312) && swfUrlStr && replaceElemIdStr && widthStr && heightStr && swfVersionStr) { + setVisibility(replaceElemIdStr, false); + addDomLoadEvent(function() { + widthStr += ""; // auto-convert to string + heightStr += ""; + var att = {}; + if (attObj && typeof attObj === OBJECT) { + for (var i in attObj) { // copy object to avoid the use of references, because web authors often reuse attObj for multiple SWFs + att[i] = attObj[i]; + } + } + att.data = swfUrlStr; + att.width = widthStr; + att.height = heightStr; + var par = {}; + if (parObj && typeof parObj === OBJECT) { + for (var j in parObj) { // copy object to avoid the use of references, because web authors often reuse parObj for multiple SWFs + par[j] = parObj[j]; + } + } + if (flashvarsObj && typeof flashvarsObj === OBJECT) { + for (var k in flashvarsObj) { // copy object to avoid the use of references, because web authors often reuse flashvarsObj for multiple SWFs + if (typeof par.flashvars != UNDEF) { + par.flashvars += "&" + k + "=" + flashvarsObj[k]; + } + else { + par.flashvars = k + "=" + flashvarsObj[k]; + } + } + } + if (hasPlayerVersion(swfVersionStr)) { // create SWF + var obj = createSWF(att, par, replaceElemIdStr); + if (att.id == replaceElemIdStr) { + setVisibility(replaceElemIdStr, true); + } + callbackObj.success = true; + callbackObj.ref = obj; + } + else if (xiSwfUrlStr) { // show Adobe Express Install + if (confirm("Adobe Flash Player "+swfVersionStr+" 이상 버전이 필요합니다.\nCHEditor는 자동으로 Flash Player를 설치하지 않습니다.\n" + + "Adobe Flash Player 다운로드 웹사이트를 방문하시겠습니까?")) { + window.open(xiSwfUrlStr); + } + return; + } + else { // show alternative content + setVisibility(replaceElemIdStr, true); + } + if (callbackFn) { callbackFn(callbackObj); } + }); + } + else if (callbackFn) { callbackFn(callbackObj); } + }, + + switchOffAutoHideShow: function() { + autoHideShow = false; + }, + + ua: ua, + + getFlashPlayerVersion: function() { + return { major:ua.pv[0], minor:ua.pv[1], release:ua.pv[2] }; + }, + + hasFlashPlayerVersion: hasPlayerVersion, + + createSWF: function(attObj, parObj, replaceElemIdStr) { + if (ua.w3) { + return createSWF(attObj, parObj, replaceElemIdStr); + } + else { + return undefined; + } + }, + + showExpressInstall: function(att, par, replaceElemIdStr, callbackFn) { + if (ua.w3 && canExpressInstall()) { + showExpressInstall(att, par, replaceElemIdStr, callbackFn); + } + }, + + removeSWF: function(objElemIdStr) { + if (ua.w3) { + removeSWF(objElemIdStr); + } + }, + + createCSS: function(selStr, declStr, mediaStr, newStyleBoolean) { + if (ua.w3) { + createCSS(selStr, declStr, mediaStr, newStyleBoolean); + } + }, + + addDomLoadEvent: addDomLoadEvent, + + addLoadEvent: addLoadEvent, + + getQueryParamValue: function(param) { + var q = doc.location.search || doc.location.hash; + if (q) { + if (/\?/.test(q)) { q = q.split("?")[1]; } // strip question mark + if (param == null) { + return urlEncodeIfNecessary(q); + } + var pairs = q.split("&"); + for (var i = 0; i < pairs.length; i++) { + if (pairs[i].substring(0, pairs[i].indexOf("=")) == param) { + return urlEncodeIfNecessary(pairs[i].substring((pairs[i].indexOf("=") + 1))); + } + } + } + return ""; + }, + + // For internal usage only + expressInstallCallback: function() { + if (isExpressInstallActive) { + var obj = getElementById(EXPRESS_INSTALL_ID); + if (obj && storedAltContent) { + obj.parentNode.replaceChild(storedAltContent, obj); + if (storedAltContentId) { + setVisibility(storedAltContentId, true); + if (ua.ie && ua.win) { storedAltContent.style.display = "block"; } + } + if (storedCallbackFn) { storedCallbackFn(storedCallbackObj); } + } + isExpressInstallActive = false; + } + } + }; +}(); diff --git a/webedit/popup/js/symbol.js b/webedit/popup/js/symbol.js new file mode 100644 index 0000000..2059b62 --- /dev/null +++ b/webedit/popup/js/symbol.js @@ -0,0 +1,167 @@ +// ================================================================ +// CHEditor 5 +// ---------------------------------------------------------------- +// Homepage: http://www.chcode.com +// Copyright (c) 1997-2015 CHSOFT +// ================================================================ +var c = null; +var curView = null; +var S1 = '" ( ) [ ] { } ‘ ’ “ ” 〔 〕 〈 〉 《 》 「 」 『 』 【 】 § ※ ☆ ★ ○ ● ■ △ ▲ ▽ ▼ → 〓 ◁ ◀ ▷ ▶ ♤ ♣ ⊙ ◈ ▣ ◐ ◑ ▧ ▦ ▩ ♨ ☏ ☎ ‡ ㉿ ↕ ↗ ↙ ↖ ↘ ㈜ № ㏇ ™ ㏂ + - < = > ± × ÷ ≠ ≤ ≥ ∞ ∴ ♂ ♀ ∠ ⊥ ⌒ ∂ ∇ ≡ ≒ ≪ ≫ √ ∽ ∝ ∵ ∫ ∬ ∈ ∋ ⊆ ⊇ ⊂ ⊃ ∮ ∪ ∩ ∑ ∏ ∧ ∨ ¬ ⇒ ⇔ ∀ ∃'; +var S2 = '─ │ ┌ ┐ ┘ └ ├ ┬ ┤ ┴ ┼ ━ ┃ ┏ ┓ ┛ ┗ ┣ ┳ ┫ ┻ ╋ ┠ ┯ ┨ ┷ ┿ ┝ ┰ ┥ ┸ ╂ ┒ ┑ ┚ ┙ ┖ ┕ ┎ ┍ ┞ ┟ ┡ ┢ ┦ ┧ ┩ ┪ ┭ ┮ ┱ ┲ ┵ ┶ ┹ ┺ ┽ ┾ ╀ ╁ ╃ ╄ ╅ ╆ ╇ ╈ ╉ ╊'; +var S3 = '½ ⅓ ⅔ ¼ ¾ ⅛ ⅜ ⅝ ⅞ ¹ ² ³ ⁴ ⁿ ₁ ₂ ₃ ₄ 0 1 2 3 4 5 6 7 8 9 ⅰ ⅱ ⅲ ⅳ ⅴ ⅵ ⅶ ⅷ ⅸ ⅹ Ⅰ Ⅱ Ⅲ Ⅳ Ⅴ Ⅵ Ⅶ Ⅷ Ⅸ Ⅹ $ % ₩ ° ′ ″ ℃ Å ¢ £ ¥ ¤ ℉ ‰ ㎕ ㎖ ㎗ ℓ ㎘ ㏄ ㎣ ㎤ ㎥ ㎦ ㎙ ㎚ ㎛ ㎜ ㎝ ㎞ ㎟ ㎠ ㎡ ㎢ ㏊ ㎍ ㎎ ㎏ ㏏ ㎈ ㎉ ㏈ ㎧ ㎨ ㎰ ㎱ ㎲ ㎳ ㎴ ㎵ ㎶ ㎷ ㎸ ㎹ ㎀ ㎁ ㎂ ㎃ ㎄ ㎺ ㎻ ㎼ ㎽ ㎾ ㎿ ㎐ ㎑ ㎒ ㎓ ㎔ Ω ㏀ ㏁ ㎊ ㎋ ㎌ ㏖ ㏅ ㎭ ㎮ ㎯ ㏛ ㎩ ㎪ ㎫ ㎬ ㏝ ㏐ ㏓ ㏉ ㏜ ㏆'; +var S4 = 'ㅥ ㅦ ㅧ ㅨ ㅩ ㅪ ㅫ ㅬ ㅭ ㅮ ㅰ ㅯ ㅱ ㅲ ㅳ ㅴ ㅵ ㅶ ㅷ ㅸ ㅹ ㅺ ㅻ ㅼ ㅽ ㅾ ㅿ ㆀ ㆁ ㆂ ㆃ ㆄ ㆅ ㆆ ㆇ ㆈ ㆉ ㆊ ㆋ ㆌ ㆍ ㆎ'; +var S5 = '㉠ ㉡ ㉢ ㉣ ㉤ ㉥ ㉦ ㉧ ㉨ ㉩ ㉪ ㉫ ㉬ ㉭ ㉮ ㉯ ㉰ ㉱ ㉲ ㉳ ㉴ ㉶ ㉶ ㉷ ㉸ ㉹ ㉺ ㉻ ㈀ ㈁ ㈂ ㈃ ㈄ ㈅ ㈆ ㈇ ㈈ ㈉ ㈊ ㈋ ㈌ ㈍ ㈎ ㈏ ㈐ ㈑ ㈒ ㈓ ㈔ ㈕ ㈖ ㈗ ㈘ ㈙ ㈚ ㈛ ⓐ ⓑ ⓒ ⓓ ⓔ ⓕ ⓖ ⓗ ⓘ ⓙ ⓚ ⓛ ⓜ ⓝ ⓞ ⓟ ⓠ ⓡ ⓢ ⓣ ⓤ ⓥ ⓦ ⓧ ⓨ ⓩ ① ② ③ ④ ⑤ ⑥ ⑦ ⑧ ⑨ ⑩ ⑪ ⑫ ⑬ ⑭ ⑮ ⒜ ⒝ ⒞ ⒟ ⒠ ⒡ ⒢ ⒣ ⒤ ⒥ ⒦ ⒧ ⒨ ⒩ ⒪ ⒫ ⒬ ⒭ ⒮ ⒯ ⒰ ⒱ ⒲ ⒳ ⒴ ⒵ ⑴ ⑵ ⑶ ⑷ ⑸ ⑹ ⑺ ⑻ ⑼ ⑽ ⑾ ⑿ ⒀ ⒁ ⒂'; +var japan1 = 'ぁ か さ た ど び ぽ ょ ゑ あ が ざ だ な ぴ ま よ を ぃ き し ち に ふ み ら ん い ぎ じ ぢ ぬ ぶ む り ぅ く す っ ね ぷ め る う ぐ ず つ の へ も れ ぇ け せ づ は べ ゃ ろ え げ ぜ て ば ぺ や ゎ ぉ こ そ で ぱ ほ ゅ わ お ご ぞ と ひ ぼ ゆ ゐ'; +var japan2 = 'ァ カ サ タ ド ビ ポ ョ ヱ ア ガ ザ ダ ナ ピ マ ヨ ヲ ィ キ シ チ ニ フ ミ ラ ン イ ギ ジ ヂ ヌ ブ ム リ ヴ ゥ ク ス ッ ネ プ メ ル ヵ ウ グ ズ ツ ノ ヘ モ レ ヶ ェ ケ セ ヅ ハ ベ ャ ロ エ ゲ ゼ テ バ ペ ヤ ヮ ォ コ ソ デ パ ホ ュ ワ オ ゴ ゾ ト ヒ ボ ユ ヰ'; + +c = S1.split(' '); +var button = [ { alt : "", img : 'input.gif', cmd : inputChar }, + { alt : "", img : 'cancel.gif', cmd : popupClose } ]; + +var oEditor = null; + +function init(dialog) { + oEditor = this; + oEditor.dialog = dialog; + + var dlg = new Dialog(oEditor); + dlg.showButton(button); + + setupEvent(); + dlg.setDialogHeight(); +} + +function hover(obj, val) { + obj.style.backgroundColor = val ? "#5579aa" : "#fff"; + obj.style.color = val ? "#fff" : "#000"; +} + +function showTable() { + var k = 0; + var len = c.length; + var w = 9; + var h = 20; + var span, i, j, tr, td; + + var table = document.createElement('table'); + table.border = 0; + table.cellSpacing = 1; + table.cellPadding = 0; + table.align = 'center'; + + var getChar = function() { + document.getElementById('fm_input').value = document.getElementById('fm_input').value + c[this.id]; + }; + var mouseOver = function() { + hover(this, true); + }; + var mouseOut = function() { + hover(this, false); + }; + for (i=0; i < w; i++) { + tr = table.insertRow(i); + for (j = 0; j < h; j++) { + td = tr.insertCell(j); + td.className = 'schar'; + + if ( len < k+1) { + td.appendChild(document.createTextNode('\u00a0')); + } + else { + td.style.cursor = 'pointer'; + td.id = k; + td.onclick = getChar; + td.onmouseover = mouseOver; + td.onmouseout = mouseOut; + span = document.createElement("span"); + span.style.fontSize = "13px"; + span.appendChild(document.createTextNode(c[k])); + td.appendChild(span); + } + k++; + } + } + + var output = document.getElementById('output'); + if (output.hasChildNodes()) { + for (i=0; i 0) { + cell = createHeadCell('col'); + } + else { + cell = document.createElement('td'); + } + } + else if (header === 'row' && j === 0) { + cell = createHeadCell('row'); + } + else { + cell = document.createElement('td'); + } + + if (border) { + cell.style.borderStyle = 'solid'; + cell.style.borderWidth = table.style.borderWidth; + cell.style.borderColor = table.style.borderColor; + } + cell.setAttribute("width", cellWidth); + cell.appendChild(document.createTextNode('\u00a0')); + row.appendChild(cell); + } + } + + if (oHead.hasChildNodes()) { + table.appendChild(oHead); + } + + table.appendChild(oBody); + + if (summaryValue !== '') { + table.setAttribute('summary', summaryValue); + } + if (width) { + table.style.width = width; + } + if (height) { + table.style.height = height; + } + if (align) { + table.setAttribute("align", align); + } + if (bgcolor) { + table.setAttribute("bgcolor", bgcolor); + } + + table.setAttribute("cellpadding", cellpd); + table.setAttribute("cellspacing", cellsp); + + if (captionValue !== '') { + var hideCaption, tableCaption; + tableCaption = table.createCaption(); + tableCaption.appendChild(document.createTextNode(captionValue)); + + hideCaption = document.getElementById('hideCaption'); + if (hideCaption.checked === true) { + tableCaption.style.visibility = 'hidden'; + tableCaption.style.overFlow = 'hidden'; + tableCaption.style.lineHeight = '0px'; + tableCaption.style.position = 'absolute'; + tableCaption.style.display = 'none'; + } + } + + table.id = oEditor.makeRandomString(); + oEditor.insertHtmlPopup(table.cloneNode(true)); + var newTable = oEditor.$(table.id); +// var br = document.createElement('br'); +// newTable.parentNode.insertBefore(br, newTable); +// newTable.parentNode.insertBefore(newTable, br); + newTable.removeAttribute('id'); + + if (cssclass) { + newTable.className = cssclass; + } + if (cssid) { + newTable.id = cssid; + } + + var focusCell = newTable.getElementsByTagName('th')[0]; + if (oEditor.undefined(focusCell)) { + focusCell = newTable.getElementsByTagName('td')[0]; + } + + if (oEditor.getBrowser().msie) { + var cursor = oEditor.doc.body.createTextRange(); + cursor.moveToElementText(focusCell); + cursor.collapse(false); + cursor.select(); + oEditor.backupRange(oEditor.getRange()); + } + else { + var selection = oEditor.getSelection(); + var range = oEditor.getRange(); + range.selectNodeContents(focusCell); + range.collapse(false); + selection.removeAllRanges(); + selection.addRange(range); + } + + oEditor.popupWinClose(); +} + +function init(dialog) { + oEditor = this; + oEditor.dialog = dialog; + + var button = [ { alt : "", img : 'submit.gif', cmd : doSubmit }, + { alt : "", img : 'cancel.gif', cmd : popupClose } ]; + + var dlg = new Dialog(oEditor); + dlg.showButton(button); + dlg.setDialogHeight(); +} diff --git a/webedit/popup/js/table_modify.js b/webedit/popup/js/table_modify.js new file mode 100644 index 0000000..db1c07b --- /dev/null +++ b/webedit/popup/js/table_modify.js @@ -0,0 +1,640 @@ +// ================================================================ +// CHEditor 5 +// ---------------------------------------------------------------- +// Homepage: http://www.chcode.com +// Copyright (c) 1997-2015 CHSOFT +// ================================================================ +var oEditor = null; +var button = [ { alt : "", img : 'submit.gif', cmd : doSubmit }, + { alt : "", img : 'cancel.gif', cmd : popupClose } ]; + +var colour = ["ffffcc","ffcc66","ff9900","ffcc99","ff6633","ffcccc","cc9999","ff6699","ff99cc","ff66cc","ffccff","cc99cc","cc66ff","cc99ff","9966cc","ccccff","9999cc","3333ff","6699ff","0066ff","99ccff","66ccff","99cccc","ccffff","99ffcc","66cc99","66ff99","99ff99","ccffcc","33ff33","66ff00","ccff99","99ff00","ccff66","cccc66","ffffff", + "ffff99","ffcc00","ff9933","ff9966","cc3300","ff9999","cc6666","ff3366","ff3399","ff00cc","ff99ff","cc66cc","cc33ff","9933cc","9966ff","9999ff","6666ff","3300ff","3366ff","0066cc","3399ff","33ccff","66cccc","99ffff","66ffcc","33cc99","33ff99","66ff66","99cc99","00ff33","66ff33","99ff66","99ff33","ccff00","cccc33","cccccc", + "ffff66","ffcc33","cc9966","ff6600","ff3300","ff6666","cc3333","ff0066","ff0099","ff33cc","ff66ff","cc00cc","cc00ff","9933ff","6600cc","6633ff","6666cc","3300cc","0000ff","3366cc","0099ff","00ccff","339999","66ffff","33ffcc","00cc99","00ff99","33ff66","66cc66","00ff00","33ff00","66cc00","99cc66","ccff33","999966","999999", + "ffff33","cc9900","cc6600","cc6633","ff0000","ff3333","993333","cc3366","cc0066","cc6699","ff33ff","cc33cc","9900cc","9900ff","6633cc","6600ff","666699","3333cc","0000cc","0033ff","6699cc","3399cc","669999","33ffff","00ffcc","339966","33cc66","00ff66","669966","00cc00","33cc00","66cc33","99cc00","cccc99","999933","666666", + "ffff00","cc9933","996633","993300","cc0000","ff0033","990033","996666","993366","cc0099","ff00ff","990099","996699","660099","663399","330099","333399","000099","0033cc","003399","336699","0099cc","006666","00ffff","33cccc","009966","00cc66","339933","336633","33cc33","339900","669933","99cc33","666633","999900","333333", + "cccc00","996600","663300","660000","990000","cc0033","330000","663333","660033","990066","cc3399","993399","660066","663366","330033","330066","333366","000066","000033","003366","006699","003333","336666","00cccc","009999","006633","009933","006600","003300","00cc33","009900","336600","669900","333300","666600","000000"]; + +var none = '없음'; +var modifyTable; +var beforeHeaderType; +var whichColor = null; + +function popupClose() { + oEditor.popupWinCancel(); +} + +function isError() { + alert('표 정보를 얻을 수 없습니다. 수정하실 표을 다시 한 번 선택해 주십시오.'); + popupClose(); +} + +function init(dialog) { + oEditor = this; + oEditor.dialog = dialog; + + var dlg = new Dialog(oEditor); + dlg.showButton(button); + dlg.setDialogHeight(); + + var rng = oEditor.range, pNode; + + if (oEditor.W3CRange) { + pNode = rng.commonAncestorContainer; + if (!rng.collapsed && + rng.startContainer === rng.endContainer && + rng.startOffset - rng.endOffset < 2 && + rng.startContainer.hasChildNodes()) + { + pNode = rng.startContainer.childNodes[rng.startOffset]; + } + + while (pNode.nodeType === 3) { + pNode = pNode.parentNode; + } + + if (pNode.nodeName !== 'TD' && pNode.nodeName !== 'TH' && pNode.nodeName !== 'CAPTION' && pNode.nodeName !== 'TABLE') + { + isError(); + return; + } + } + else { + if (rng.item) { + pNode = rng.item(0); + if (pNode.nodeName.toLowerCase() !== 'table') { + isError(); + return; + } + } + else { + pNode = rng.parentElement(); + } + } + + while (pNode && pNode.nodeName.toLowerCase() !== 'table') { + pNode = pNode.parentNode; + } + + if (pNode.nodeName.toLowerCase() !== 'table') { + isError(); + return; + } + + modifyTable = pNode; + var border, el_size, fm_size, el_type, fm_type, cellpd, cellsp, bgcolor, idbgcolor, + bordercolor, idbordercolor, captionValue, summaryValue, caption, captionInput, summary; + + border = modifyTable.getAttribute('border'); + if (!border || isNaN(border)) { + border = parseInt(modifyTable.style.borderWidth, 10); + if (!border) { + border = 0; + } + } + document.getElementById("bordersize").value = border; + + if (modifyTable.className !== '') { + document.getElementById('cssClass').value = modifyTable.className; + } + if (modifyTable.id !== '') { + document.getElementById('cssId').value = modifyTable.id; + } + + el_size = modifyTable.getAttribute('width'); + if (!el_size) { + el_size = modifyTable.style.width; + } + + fm_size = document.getElementById("width"); + el_type = 'px'; + fm_type = document.getElementById("widthtype"); + + if (el_size) { + el_type = (/%$/.test(el_size)) ? '%' : 'px'; + el_size = parseInt(el_size, 10); + if (isNaN(el_size)) { + el_size = ''; + } + } + else { + el_size = ''; + } + + fm_size.value = el_size; + fm_type.value = el_type; + + el_size = modifyTable.getAttribute('height'); + if (!el_size) { + el_size = modifyTable.style.height; + } + fm_size = document.getElementById("height"); + el_type = 'px'; + fm_type = document.getElementById("heighttype"); + + if (el_size) { + el_type = (/\%$/.test(el_size)) ? '%' : 'px'; + el_size = parseInt(el_size, 10); + if (isNaN(el_size)) { + el_size = ''; + } + } + else { + el_size = ''; + } + + fm_size.value = el_size; + fm_type.value = el_type; + + fm_type = modifyTable.getAttribute('align'); + if (!fm_type) { + fm_type = 'none'; + } + document.getElementById("talign").value = fm_type; + + cellpd = modifyTable.getAttribute('cellpadding'); + if (isNaN(cellpd)) { + cellpd = 0; + } + document.getElementById("cellpd").value = cellpd || 0; + + cellsp = modifyTable.getAttribute('cellspacing'); + if (isNaN(cellsp)) { + cellsp = 0; + } + document.getElementById("cellsp").value = cellsp || 0; + + bgcolor = modifyTable.getAttribute('bgcolor'); + idbgcolor = document.getElementById("idbgcolor"); + if (bgcolor) { + if (/rgb/.test(bgcolor)) { + bgcolor = oEditor.colorConvert(bgcolor, 'hex'); + } + idbgcolor.value = bgcolor.toLowerCase(); + idbgcolor.style.backgroundColor = idbgcolor.value; + } + else { + idbgcolor.value = none; + } + + bordercolor = modifyTable.getAttribute('bordercolor'); + if (!bordercolor) { + bordercolor = modifyTable.style.borderColor; + if (bordercolor) { + bordercolor = oEditor.colorConvert(bordercolor, 'hex'); + } + else { + bordercolor = null; + } + } + + idbordercolor = document.getElementById("idbordercolor"); + if (bordercolor) { + if (/rgb/.test(bordercolor)) { + bordercolor = oEditor.colorConvert(bordercolor, 'hex'); + } + idbordercolor.value = bordercolor.toLowerCase(); + idbordercolor.style.backgroundColor = idbordercolor.value; + } + else { + idbordercolor.value = none; + } + + caption = modifyTable.getElementsByTagName('caption')[0]; + if (caption) { + captionValue = oEditor.trimSpace(caption.innerHTML); + if (captionValue !== '') { + captionInput = document.getElementById('tableCaption'); + captionInput.value = captionValue; + + if (caption.style.visibility === 'hidden') { + document.getElementById('hideCaption').checked = 'checked'; + } + } + } + + summaryValue = modifyTable.getAttribute('summary'); + if (summaryValue) { + summaryValue = oEditor.trimSpace(summaryValue); + if (summaryValue !== '') { + summary = document.getElementById('tableSummary'); + summary.value = summaryValue; + } + } + + var tableHeader, rows, i, j, cells, headCol, headRow, rowLength, rowCellLength, cellLength, header, headTagName; + headCol = headRow = null; + headTagName = 'th'; + + tableHeader = document.getElementById('tableHeader'); + rows = (modifyTable.rows && modifyTable.rows.length > 0) ? modifyTable.rows : modifyTable.getElementsByTagName('tr'); + rowLength = rows.length; + + document.getElementById('numrows').appendChild(document.createTextNode(rowLength)); + + if (rowLength > 0) { + cells = rows[0].cells; + cellLength = cells.length; + if (cellLength > 0) { + for (j=0; j < cellLength; j++) { + if (cells[j].tagName.toLowerCase() === headTagName) { + headCol = 'col'; + } + else { + headCol = null; + break; + } + } + } + + rowCellLength = 0; + for (i=0; i < rowLength; i++) { + headRow = (rows[i].cells[0] && rows[i].cells[0].tagName.toLowerCase() === headTagName) ? 'row' : null; + if (rowCellLength < rows[i].cells.length) { + rowCellLength = rows[i].cells.length; + } + } + + if (headRow && headCol && cellLength === 1) { + headCol = null; + } + document.getElementById('numcols').appendChild(document.createTextNode(rowCellLength)); + } + + header = (headCol && headRow) ? 'all' : headCol || headRow || 'none'; + tableHeader.value = beforeHeaderType = header; +} + +function getColor() +{ + var color = this.bgColor; + var input = document.getElementById("id"+whichColor); + input.style.backgroundColor = input.value = color; +} + +function drawColor() { + var table, tr, td, insideTable, k = 0, i, j, tr2, td2; + + table = document.createElement('table'); + table.cellPadding = 0; + table.cellSpacing = 0; + table.border = 0; + table.align = 'center'; + tr = table.insertRow(0); + td = tr.insertCell(0); + td.style.backgroundColor = '#fff'; + + insideTable = document.createElement('table'); + insideTable.border = 0; + insideTable.cellSpacing = 1; + insideTable.cellPadding = 0; + insideTable.align = 'center'; + + var onMouseOver = function() { this.className = 'colorCellMouseOver'; }; + var onMouseOut = function() { this.className = 'colorCellMouseOut'; }; + + for (i = 0; i < 6; i++) { + tr2 = insideTable.insertRow(i); + for (j = 0; j < 36; j++) { + td2 = tr2.insertCell(j); + td2.setAttribute('bgColor', '#' + colour[k]); + td2.className = 'colorCellMouseOut'; + td2.onclick = getColor; + td2.appendChild(document.createTextNode('\u00a0')); + td2.onmouseover = onMouseOver; + td2.onmouseout = onMouseOut; + k++; + } + } + + td.appendChild(insideTable); + document.getElementById('colorWrapper').appendChild(table); +} + +function setColor(which) { + whichColor = which; +} + +function doSubmit() +{ + var width, widthType, widthValue, cellWidth, i, j, row, rows, cell; + width = document.getElementById("width"); + widthType = document.getElementById("widthtype").value; + if (width) { + widthValue = parseInt(oEditor.trimSpace(width.value), 10); + if (isNaN(widthValue)) { + cellWidth = widthValue = null; + } + else { + modifyTable.removeAttribute('width'); + modifyTable.style.width = widthValue + widthType; + rows = modifyTable.rows; + if (rows.length > 0) { + for (i=0; i < rows.length; i++) { + row = rows[i]; + for (j=0; j < row.cells.length; j++) { + cellWidth = parseInt(widthValue/row.cells.length, 10) + widthType; + cell = row.cells[j]; + cell.setAttribute("width", cellWidth); + } + } + } + } + } + + var height, heightValue; + height = document.getElementById("height"); + if (height) { + heightValue = parseInt(oEditor.trimSpace(height.value), 10); + if (isNaN(heightValue)) { + heightValue = null; + } + else { + heightValue += document.getElementById("heighttype").value; + modifyTable.removeAttribute('height'); + modifyTable.style.height = heightValue; + } + } + + var cellpadding, cellpaddingValue; + cellpadding = document.getElementById("cellpd"); + if (cellpadding) { + cellpaddingValue = oEditor.trimSpace(cellpadding.value); + if (!cellpaddingValue || isNaN(cellpaddingValue)) { + cellpaddingValue = 0; + } + else { + cellpaddingValue = parseInt(cellpaddingValue, 10); + } + modifyTable.setAttribute('cellpadding', cellpaddingValue); + } + + var cellspacing, cellspacingValue; + cellspacing = document.getElementById("cellsp"); + if (cellspacing) { + cellspacingValue = oEditor.trimSpace(cellspacing.value); + if (!cellspacingValue || isNaN(cellspacingValue)) { + cellspacingValue = 0; + } + else { + cellspacingValue = parseInt(cellspacingValue, 10); + } + modifyTable.setAttribute('cellspacing', cellspacingValue); + } + + var bgcolor, bgcolorValue; + bgcolor = document.getElementById("idbgcolor"); + if (bgcolor) { + bgcolorValue = oEditor.trimSpace(bgcolor.value); + if (bgcolorValue !== '' && bgcolorValue !== none) { + modifyTable.removeAttribute('bgcolor'); + modifyTable.bgColor = bgcolorValue; + } + } + + var align, alignValue; + align = document.getElementById("talign"); + if (align) { + alignValue = align.value; + if (alignValue !== 'none') { + modifyTable.removeAttribute('align'); + modifyTable.setAttribute('align', alignValue); + } + } + + var cssclass, cssclassValue, cssid, cssidValue; + cssclass = document.getElementById('cssClass'); + cssclassValue = oEditor.trimSpace(cssclass.value); + if (cssclassValue !== '') { + modifyTable.className = cssclassValue; + } + else { + modifyTable.removeAttribute('class'); + } + + cssid = document.getElementById('cssId'); + cssidValue = oEditor.trimSpace(cssid.value); + if (cssidValue !== '') { + modifyTable.id = cssidValue; + } + else { + modifyTable.removeAttribute('id'); + } + + var caption = document.getElementById('tableCaption'); + var captionValue = oEditor.trimSpace(caption.value); + var summary = document.getElementById('tableSummary'); + var summaryValue = oEditor.trimSpace(summary.value); + var oCaption; + + if (summaryValue !== '') { + modifyTable.setAttribute('summary', summaryValue); + } + if (captionValue !== '') { + var hideCaption, tableCaption; + tableCaption = modifyTable.createCaption(); + tableCaption.innerHTML = captionValue; + + hideCaption = document.getElementById('hideCaption'); + if (hideCaption.checked === true) { + tableCaption.style.visibility = 'hidden'; + tableCaption.style.overFlow = 'hidden'; + tableCaption.style.lineHeight = '0px'; + tableCaption.style.position = 'absolute'; + tableCaption.style.display = 'none'; + } + else { + tableCaption.removeAttribute('style'); + } + } + else { + oCaption = modifyTable.getElementsByTagName('caption')[0]; + if (oCaption) { + modifyTable.removeChild(oCaption); + } + } + + var copyAttribute = function(target, source) { + var attr, attrValue, nodeName; + attr = source.attributes; + for (i=0; i= 0; j--) { + row.deleteCell(j); + } + + for (j=0; j < newCells.length; j++) { + row.appendChild(newCells[j]); + } + + if (newTagName === 'th') { + oHead = modifyTable.getElementsByTagName('thead')[0]; + if (!oHead) { + oHead = document.createElement('thead'); + modifyTable.insertBefore(oHead, modifyTable.firstChild); + oHead.appendChild(row); + } + } + else if (row.parentNode.nodeName.toLowerCase() === 'thead') { + oHead = row.parentNode; + if (rows[1]) { + rows[1].parentNode.insertBefore(row, rows[1]); + } + else { + modifyTable.insertBefore(row, oHead); + } + modifyTable.removeChild(oHead); + } + }; + + var replaceRow = function (rows, newTagName) { + var len, newCell, sourceCell; + len = rows.length; + for (i=0; i < len; i++) { + row = rows[i]; + sourceCell = row.cells[0]; + newCell = document.createElement(newTagName); + + if (newTagName === 'th') { + newCell.setAttribute('scope', 'row'); + } + else { + sourceCell.removeAttribute('scope'); + } + + row.insertBefore(newCell, sourceCell); + copyAttribute(newCell, sourceCell); + copyChildNodes(newCell, sourceCell); + row.deleteCell(1); + } + }; + + var border, borderValue; + if (beforeHeaderType !== tableHeader) { + rows = (modifyTable.rows && modifyTable.rows.length > 0) ? + modifyTable.rows : + modifyTable.getElementsByTagName('tr'); + + if (tableHeader === 'col') { + replaceRow(rows, 'td'); + replaceCol(rows, 'th'); + } + else if (tableHeader === 'row') { + replaceCol(rows, 'td'); + replaceRow(rows, 'th'); + } + else if (tableHeader === 'all') { + replaceCol(rows, 'th'); + replaceRow(rows, 'th'); + } + else if (tableHeader === 'none') { + replaceCol(rows, 'td'); + replaceRow(rows, 'td'); + } + + oCaption = modifyTable.getElementsByTagName('caption')[0]; + if (oCaption && oCaption !== modifyTable.firstChild) { + modifyTable.insertBefore(oCaption, modifyTable.firstChild); + } + } + + + border = document.getElementById("bordersize"); + if (border) { + borderValue = oEditor.trimSpace(border.value); + if (isNaN(borderValue) === false) { + var borderColor, borderColorValue; + borderValue = parseInt(borderValue, 10); + rows = (modifyTable.rows && modifyTable.rows.length > 0) ? + modifyTable.rows : + modifyTable.getElementsByTagName('tr'); + + if (borderValue) { + borderColor = document.getElementById("idbordercolor"); + if (borderColor) { + borderColorValue = oEditor.trimSpace(borderColor.value); + } + if (!borderColorValue || borderColorValue === none) { + borderColorValue = '#000000'; + } + + borderColorValue = oEditor.colorConvert(borderColorValue, 'rgb'); + + modifyTable.style.border = borderValue + 'px solid ' + borderColorValue; + modifyTable.style.borderCollapse = "collapse"; + modifyTable.removeAttribute('border'); + + for (i=0; i < rows.length; i++) { + row = rows[i]; + for (j=0; j < row.cells.length; j++) { + cell = row.cells[j]; + cell.style.border = borderValue + 'px solid ' + borderColorValue; + } + } + } + else if (borderValue === 0) { + modifyTable.removeAttribute('border'); + modifyTable.style.border = ''; + modifyTable.style.borderCollapse = ''; + for (i=0; i < rows.length; i++) { + row = rows[i]; + for (j=0; j < row.cells.length; j++) { + cell = row.cells[j]; + cell.style.border = ''; + } + } + } + } + } + + oEditor.editArea.focus(); + oEditor.backupRange(oEditor.restoreRange()); + oEditor.clearStoredSelections(); + oEditor.popupWinClose(); +} \ No newline at end of file diff --git a/webedit/popup/link.html b/webedit/popup/link.html new file mode 100644 index 0000000..5d31a5d --- /dev/null +++ b/webedit/popup/link.html @@ -0,0 +1,71 @@ + + + +CHEditor + + + + + + + +
+ +
+ + + + +
+ + + + + + + + + + + + + + + +
유형: + + + 타겟: + + +
URL: + + +
타이틀: + + +
+
+
+
+
+
+ + diff --git a/webedit/popup/media.html b/webedit/popup/media.html new file mode 100644 index 0000000..1cd6934 --- /dev/null +++ b/webedit/popup/media.html @@ -0,0 +1,41 @@ + + + + CHEditor + + + + + + + +
+
미디어 재생 + + + + +
+
+
+
+
+
미디어 파일 URL + + + + + + + +
+ URL 입력: +
+ +
+
+
+
+
+ + diff --git a/webedit/popup/symbol.html b/webedit/popup/symbol.html new file mode 100644 index 0000000..9db85c2 --- /dev/null +++ b/webedit/popup/symbol.html @@ -0,0 +1,27 @@ + + + + CHEditor + + + + + + + + | + | + | + | + | + +
+ +
+
+ 선택한 문자: +
+
+
+ + diff --git a/webedit/popup/table.html b/webedit/popup/table.html new file mode 100644 index 0000000..e96ced3 --- /dev/null +++ b/webedit/popup/table.html @@ -0,0 +1,179 @@ + + + + CHEditor + + + + + + + +
표 속성 +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
줄 수: + + 칸 수: + +

너비: + + + + 높이: + + + +
셀 안 여백: + + 셀 간격: + +
테두리 굵기: +  픽셀 + 정렬: + +

표 제목: + + 표 제목 숨김: +
표 요약: + + 표 헤더: + +

CSS class: + + CSS id: + +
+
+
+
+
색 지정 +
+ + + + + + + +
테두리 색: + +
+ +
+
 
+
표 배경색: + +
+ +
+
 
+
+
+
+
+
+
+ + + \ No newline at end of file diff --git a/webedit/popup/table_modify.html b/webedit/popup/table_modify.html new file mode 100644 index 0000000..8df7eee --- /dev/null +++ b/webedit/popup/table_modify.html @@ -0,0 +1,181 @@ + + + + CHEditor + + + + + + + +
표 속성 +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
줄 수: + + 칸 수: + +

너비: + + + + 높이: + + + +
셀 안 여백: + + 셀 간격: + +
테두리 굵기: + + 정렬: + +

표 제목: + + 표 제목 숨김: + +
표 요약: + + 표 헤더: + +

CSS class: + + CSS id: + +
+
+
+
+
색 지정 +
+ + + + + + + +
테두리 색: + +
+ +
+
 
+
표 배경색: + +
+ +
+
 
+
+
+
+
+
+
+ + + \ No newline at end of file diff --git a/webedit/template.dtd b/webedit/template.dtd new file mode 100644 index 0000000..212845e --- /dev/null +++ b/webedit/template.dtd @@ -0,0 +1,43 @@ + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/webedit/template.xml b/webedit/template.xml new file mode 100644 index 0000000..916259c --- /dev/null +++ b/webedit/template.xml @@ -0,0 +1,385 @@ + + + + \ No newline at end of file diff --git a/webedit/utils/crossdomain.xml b/webedit/utils/crossdomain.xml new file mode 100644 index 0000000..937dc72 --- /dev/null +++ b/webedit/utils/crossdomain.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/webedit_org/Editor.html b/webedit_org/Editor.html new file mode 100644 index 0000000..49a2076 --- /dev/null +++ b/webedit_org/Editor.html @@ -0,0 +1,108 @@ + + + +
+ + + + + + + + + + + \ No newline at end of file diff --git a/webedit/SmartEditor2.html b/webedit_org/SmartEditor2.html similarity index 100% rename from webedit/SmartEditor2.html rename to webedit_org/SmartEditor2.html diff --git a/webedit/SmartEditor2Skin.html b/webedit_org/SmartEditor2Skin.html similarity index 100% rename from webedit/SmartEditor2Skin.html rename to webedit_org/SmartEditor2Skin.html diff --git a/webedit/SmartEditor2Skin_en_US.html b/webedit_org/SmartEditor2Skin_en_US.html similarity index 100% rename from webedit/SmartEditor2Skin_en_US.html rename to webedit_org/SmartEditor2Skin_en_US.html diff --git a/webedit/SmartEditor2Skin_ja_JP.html b/webedit_org/SmartEditor2Skin_ja_JP.html similarity index 100% rename from webedit/SmartEditor2Skin_ja_JP.html rename to webedit_org/SmartEditor2Skin_ja_JP.html diff --git a/webedit/SmartEditor2Skin_ko_KR.html b/webedit_org/SmartEditor2Skin_ko_KR.html similarity index 100% rename from webedit/SmartEditor2Skin_ko_KR.html rename to webedit_org/SmartEditor2Skin_ko_KR.html diff --git a/webedit/SmartEditor2Skin_zh_CN.html b/webedit_org/SmartEditor2Skin_zh_CN.html similarity index 100% rename from webedit/SmartEditor2Skin_zh_CN.html rename to webedit_org/SmartEditor2Skin_zh_CN.html diff --git a/webedit/SmartEditor2Skin_zh_TW.html b/webedit_org/SmartEditor2Skin_zh_TW.html similarity index 100% rename from webedit/SmartEditor2Skin_zh_TW.html rename to webedit_org/SmartEditor2Skin_zh_TW.html diff --git a/webedit/SmartEditor2noframe.html b/webedit_org/SmartEditor2noframe.html similarity index 100% rename from webedit/SmartEditor2noframe.html rename to webedit_org/SmartEditor2noframe.html diff --git a/webedit/autosave.editor.js b/webedit_org/autosave.editor.js similarity index 100% rename from webedit/autosave.editor.js rename to webedit_org/autosave.editor.js diff --git a/webedit/config.js b/webedit_org/config.js similarity index 100% rename from webedit/config.js rename to webedit_org/config.js diff --git a/webedit/css/en_US/smart_editor2.css b/webedit_org/css/en_US/smart_editor2.css similarity index 100% rename from webedit/css/en_US/smart_editor2.css rename to webedit_org/css/en_US/smart_editor2.css diff --git a/webedit/css/en_US/smart_editor2_in.css b/webedit_org/css/en_US/smart_editor2_in.css similarity index 100% rename from webedit/css/en_US/smart_editor2_in.css rename to webedit_org/css/en_US/smart_editor2_in.css diff --git a/webedit/css/en_US/smart_editor2_items.css b/webedit_org/css/en_US/smart_editor2_items.css similarity index 100% rename from webedit/css/en_US/smart_editor2_items.css rename to webedit_org/css/en_US/smart_editor2_items.css diff --git a/webedit/css/en_US/smart_editor2_out.css b/webedit_org/css/en_US/smart_editor2_out.css similarity index 100% rename from webedit/css/en_US/smart_editor2_out.css rename to webedit_org/css/en_US/smart_editor2_out.css diff --git a/webedit/css/ja_JP/smart_editor2.css b/webedit_org/css/ja_JP/smart_editor2.css similarity index 100% rename from webedit/css/ja_JP/smart_editor2.css rename to webedit_org/css/ja_JP/smart_editor2.css diff --git a/webedit/css/ja_JP/smart_editor2_in.css b/webedit_org/css/ja_JP/smart_editor2_in.css similarity index 100% rename from webedit/css/ja_JP/smart_editor2_in.css rename to webedit_org/css/ja_JP/smart_editor2_in.css diff --git a/webedit/css/ja_JP/smart_editor2_items.css b/webedit_org/css/ja_JP/smart_editor2_items.css similarity index 100% rename from webedit/css/ja_JP/smart_editor2_items.css rename to webedit_org/css/ja_JP/smart_editor2_items.css diff --git a/webedit/css/ja_JP/smart_editor2_out.css b/webedit_org/css/ja_JP/smart_editor2_out.css similarity index 100% rename from webedit/css/ja_JP/smart_editor2_out.css rename to webedit_org/css/ja_JP/smart_editor2_out.css diff --git a/webedit/css/ko_KR/smart_editor2.css b/webedit_org/css/ko_KR/smart_editor2.css similarity index 100% rename from webedit/css/ko_KR/smart_editor2.css rename to webedit_org/css/ko_KR/smart_editor2.css diff --git a/webedit/css/ko_KR/smart_editor2_in.css b/webedit_org/css/ko_KR/smart_editor2_in.css similarity index 100% rename from webedit/css/ko_KR/smart_editor2_in.css rename to webedit_org/css/ko_KR/smart_editor2_in.css diff --git a/webedit/css/ko_KR/smart_editor2_items.css b/webedit_org/css/ko_KR/smart_editor2_items.css similarity index 100% rename from webedit/css/ko_KR/smart_editor2_items.css rename to webedit_org/css/ko_KR/smart_editor2_items.css diff --git a/webedit/css/ko_KR/smart_editor2_out.css b/webedit_org/css/ko_KR/smart_editor2_out.css similarity index 100% rename from webedit/css/ko_KR/smart_editor2_out.css rename to webedit_org/css/ko_KR/smart_editor2_out.css diff --git a/webedit/css/zh_CN/smart_editor2.css b/webedit_org/css/zh_CN/smart_editor2.css similarity index 100% rename from webedit/css/zh_CN/smart_editor2.css rename to webedit_org/css/zh_CN/smart_editor2.css diff --git a/webedit/css/zh_CN/smart_editor2_in.css b/webedit_org/css/zh_CN/smart_editor2_in.css similarity index 100% rename from webedit/css/zh_CN/smart_editor2_in.css rename to webedit_org/css/zh_CN/smart_editor2_in.css diff --git a/webedit/css/zh_CN/smart_editor2_items.css b/webedit_org/css/zh_CN/smart_editor2_items.css similarity index 100% rename from webedit/css/zh_CN/smart_editor2_items.css rename to webedit_org/css/zh_CN/smart_editor2_items.css diff --git a/webedit/css/zh_CN/smart_editor2_out.css b/webedit_org/css/zh_CN/smart_editor2_out.css similarity index 100% rename from webedit/css/zh_CN/smart_editor2_out.css rename to webedit_org/css/zh_CN/smart_editor2_out.css diff --git a/webedit/css/zh_TW/smart_editor2.css b/webedit_org/css/zh_TW/smart_editor2.css similarity index 100% rename from webedit/css/zh_TW/smart_editor2.css rename to webedit_org/css/zh_TW/smart_editor2.css diff --git a/webedit/css/zh_TW/smart_editor2_in.css b/webedit_org/css/zh_TW/smart_editor2_in.css similarity index 100% rename from webedit/css/zh_TW/smart_editor2_in.css rename to webedit_org/css/zh_TW/smart_editor2_in.css diff --git a/webedit/css/zh_TW/smart_editor2_items.css b/webedit_org/css/zh_TW/smart_editor2_items.css similarity index 100% rename from webedit/css/zh_TW/smart_editor2_items.css rename to webedit_org/css/zh_TW/smart_editor2_items.css diff --git a/webedit/css/zh_TW/smart_editor2_out.css b/webedit_org/css/zh_TW/smart_editor2_out.css similarity index 100% rename from webedit/css/zh_TW/smart_editor2_out.css rename to webedit_org/css/zh_TW/smart_editor2_out.css diff --git a/webedit/img/bg_b1.png b/webedit_org/img/bg_b1.png similarity index 100% rename from webedit/img/bg_b1.png rename to webedit_org/img/bg_b1.png diff --git a/webedit/img/bg_button.gif b/webedit_org/img/bg_button.gif similarity index 100% rename from webedit/img/bg_button.gif rename to webedit_org/img/bg_button.gif diff --git a/webedit/img/bg_button_left.gif b/webedit_org/img/bg_button_left.gif similarity index 100% rename from webedit/img/bg_button_left.gif rename to webedit_org/img/bg_button_left.gif diff --git a/webedit/img/bg_button_right.gif b/webedit_org/img/bg_button_right.gif similarity index 100% rename from webedit/img/bg_button_right.gif rename to webedit_org/img/bg_button_right.gif diff --git a/webedit/img/bg_find_h3.gif b/webedit_org/img/bg_find_h3.gif similarity index 100% rename from webedit/img/bg_find_h3.gif rename to webedit_org/img/bg_find_h3.gif diff --git a/webedit/img/bg_help.gif b/webedit_org/img/bg_help.gif similarity index 100% rename from webedit/img/bg_help.gif rename to webedit_org/img/bg_help.gif diff --git a/webedit/img/bg_line1.gif b/webedit_org/img/bg_line1.gif similarity index 100% rename from webedit/img/bg_line1.gif rename to webedit_org/img/bg_line1.gif diff --git a/webedit/img/bg_quote2.gif b/webedit_org/img/bg_quote2.gif similarity index 100% rename from webedit/img/bg_quote2.gif rename to webedit_org/img/bg_quote2.gif diff --git a/webedit/img/bg_set.gif b/webedit_org/img/bg_set.gif similarity index 100% rename from webedit/img/bg_set.gif rename to webedit_org/img/bg_set.gif diff --git a/webedit/img/bg_spell.gif b/webedit_org/img/bg_spell.gif similarity index 100% rename from webedit/img/bg_spell.gif rename to webedit_org/img/bg_spell.gif diff --git a/webedit/img/bg_text_tool.gif b/webedit_org/img/bg_text_tool.gif similarity index 100% rename from webedit/img/bg_text_tool.gif rename to webedit_org/img/bg_text_tool.gif diff --git a/webedit/img/bx_set_110302.gif b/webedit_org/img/bx_set_110302.gif similarity index 100% rename from webedit/img/bx_set_110302.gif rename to webedit_org/img/bx_set_110302.gif diff --git a/webedit/img/en_US/btn_set.png b/webedit_org/img/en_US/btn_set.png similarity index 100% rename from webedit/img/en_US/btn_set.png rename to webedit_org/img/en_US/btn_set.png diff --git a/webedit/img/en_US/text_tool_set.png b/webedit_org/img/en_US/text_tool_set.png similarity index 100% rename from webedit/img/en_US/text_tool_set.png rename to webedit_org/img/en_US/text_tool_set.png diff --git a/webedit/img/ico_extend.png b/webedit_org/img/ico_extend.png similarity index 100% rename from webedit/img/ico_extend.png rename to webedit_org/img/ico_extend.png diff --git a/webedit/img/icon_set.gif b/webedit_org/img/icon_set.gif similarity index 100% rename from webedit/img/icon_set.gif rename to webedit_org/img/icon_set.gif diff --git a/webedit/img/ja_JP/btn_set.png b/webedit_org/img/ja_JP/btn_set.png similarity index 100% rename from webedit/img/ja_JP/btn_set.png rename to webedit_org/img/ja_JP/btn_set.png diff --git a/webedit/img/ja_JP/text_tool_set.png b/webedit_org/img/ja_JP/text_tool_set.png similarity index 100% rename from webedit/img/ja_JP/text_tool_set.png rename to webedit_org/img/ja_JP/text_tool_set.png diff --git a/webedit/img/ko_KR/btn_set.png b/webedit_org/img/ko_KR/btn_set.png similarity index 100% rename from webedit/img/ko_KR/btn_set.png rename to webedit_org/img/ko_KR/btn_set.png diff --git a/webedit/img/ko_KR/text_tool_set.png b/webedit_org/img/ko_KR/text_tool_set.png similarity index 100% rename from webedit/img/ko_KR/text_tool_set.png rename to webedit_org/img/ko_KR/text_tool_set.png diff --git a/webedit/img/photoQuickPopup/bg_drag_image.png b/webedit_org/img/photoQuickPopup/bg_drag_image.png similarity index 100% rename from webedit/img/photoQuickPopup/bg_drag_image.png rename to webedit_org/img/photoQuickPopup/bg_drag_image.png diff --git a/webedit/img/photoQuickPopup/btn_cancel.png b/webedit_org/img/photoQuickPopup/btn_cancel.png similarity index 100% rename from webedit/img/photoQuickPopup/btn_cancel.png rename to webedit_org/img/photoQuickPopup/btn_cancel.png diff --git a/webedit/img/photoQuickPopup/btn_confirm.png b/webedit_org/img/photoQuickPopup/btn_confirm.png similarity index 100% rename from webedit/img/photoQuickPopup/btn_confirm.png rename to webedit_org/img/photoQuickPopup/btn_confirm.png diff --git a/webedit/img/photoQuickPopup/btn_confirm2.png b/webedit_org/img/photoQuickPopup/btn_confirm2.png similarity index 100% rename from webedit/img/photoQuickPopup/btn_confirm2.png rename to webedit_org/img/photoQuickPopup/btn_confirm2.png diff --git a/webedit/img/photoQuickPopup/btn_del.png b/webedit_org/img/photoQuickPopup/btn_del.png similarity index 100% rename from webedit/img/photoQuickPopup/btn_del.png rename to webedit_org/img/photoQuickPopup/btn_del.png diff --git a/webedit/img/photoQuickPopup/btn_find.png b/webedit_org/img/photoQuickPopup/btn_find.png similarity index 100% rename from webedit/img/photoQuickPopup/btn_find.png rename to webedit_org/img/photoQuickPopup/btn_find.png diff --git a/webedit/img/zh_CN/btn_set.png b/webedit_org/img/zh_CN/btn_set.png similarity index 100% rename from webedit/img/zh_CN/btn_set.png rename to webedit_org/img/zh_CN/btn_set.png diff --git a/webedit/img/zh_CN/text_tool_set.png b/webedit_org/img/zh_CN/text_tool_set.png similarity index 100% rename from webedit/img/zh_CN/text_tool_set.png rename to webedit_org/img/zh_CN/text_tool_set.png diff --git a/webedit/img/zh_TW/btn_set.png b/webedit_org/img/zh_TW/btn_set.png similarity index 100% rename from webedit/img/zh_TW/btn_set.png rename to webedit_org/img/zh_TW/btn_set.png diff --git a/webedit/img/zh_TW/text_tool_set.png b/webedit_org/img/zh_TW/text_tool_set.png similarity index 100% rename from webedit/img/zh_TW/text_tool_set.png rename to webedit_org/img/zh_TW/text_tool_set.png diff --git a/webedit/js/lib/jindo2.all.js b/webedit_org/js/lib/jindo2.all.js similarity index 100% rename from webedit/js/lib/jindo2.all.js rename to webedit_org/js/lib/jindo2.all.js diff --git a/webedit/js/lib/jindo_component.js b/webedit_org/js/lib/jindo_component.js similarity index 100% rename from webedit/js/lib/jindo_component.js rename to webedit_org/js/lib/jindo_component.js diff --git a/webedit/js/service/HuskyEZCreator.js b/webedit_org/js/service/HuskyEZCreator.js similarity index 100% rename from webedit/js/service/HuskyEZCreator.js rename to webedit_org/js/service/HuskyEZCreator.js diff --git a/webedit/js/service/SE2BasicCreator.js b/webedit_org/js/service/SE2BasicCreator.js similarity index 100% rename from webedit/js/service/SE2BasicCreator.js rename to webedit_org/js/service/SE2BasicCreator.js diff --git a/webedit/js/service/SE2M_Configuration.js b/webedit_org/js/service/SE2M_Configuration.js similarity index 100% rename from webedit/js/service/SE2M_Configuration.js rename to webedit_org/js/service/SE2M_Configuration.js diff --git a/webedit/js/service/hp_SE_OuterIFrameControl.js b/webedit_org/js/service/hp_SE_OuterIFrameControl.js similarity index 100% rename from webedit/js/service/hp_SE_OuterIFrameControl.js rename to webedit_org/js/service/hp_SE_OuterIFrameControl.js diff --git a/webedit/js/service/hp_SE_ToolbarToggler.js b/webedit_org/js/service/hp_SE_ToolbarToggler.js similarity index 100% rename from webedit/js/service/hp_SE_ToolbarToggler.js rename to webedit_org/js/service/hp_SE_ToolbarToggler.js diff --git a/webedit/js/service/husky_SE2B_Lang_en_US.js b/webedit_org/js/service/husky_SE2B_Lang_en_US.js similarity index 100% rename from webedit/js/service/husky_SE2B_Lang_en_US.js rename to webedit_org/js/service/husky_SE2B_Lang_en_US.js diff --git a/webedit/js/service/husky_SE2B_Lang_ja_JP.js b/webedit_org/js/service/husky_SE2B_Lang_ja_JP.js similarity index 100% rename from webedit/js/service/husky_SE2B_Lang_ja_JP.js rename to webedit_org/js/service/husky_SE2B_Lang_ja_JP.js diff --git a/webedit/js/service/husky_SE2B_Lang_ko_KR.js b/webedit_org/js/service/husky_SE2B_Lang_ko_KR.js similarity index 100% rename from webedit/js/service/husky_SE2B_Lang_ko_KR.js rename to webedit_org/js/service/husky_SE2B_Lang_ko_KR.js diff --git a/webedit/js/service/husky_SE2B_Lang_zh_CN.js b/webedit_org/js/service/husky_SE2B_Lang_zh_CN.js similarity index 100% rename from webedit/js/service/husky_SE2B_Lang_zh_CN.js rename to webedit_org/js/service/husky_SE2B_Lang_zh_CN.js diff --git a/webedit/js/service/husky_SE2B_Lang_zh_TW.js b/webedit_org/js/service/husky_SE2B_Lang_zh_TW.js similarity index 100% rename from webedit/js/service/husky_SE2B_Lang_zh_TW.js rename to webedit_org/js/service/husky_SE2B_Lang_zh_TW.js diff --git a/webedit/js/smarteditor2.js b/webedit_org/js/smarteditor2.js similarity index 100% rename from webedit/js/smarteditor2.js rename to webedit_org/js/smarteditor2.js diff --git a/webedit/js/smarteditor2.min.js b/webedit_org/js/smarteditor2.min.js similarity index 100% rename from webedit/js/smarteditor2.min.js rename to webedit_org/js/smarteditor2.min.js diff --git a/webedit/photo_uploader/plugin/hp_SE2M_AttachQuickPhoto.js b/webedit_org/photo_uploader/plugin/hp_SE2M_AttachQuickPhoto.js similarity index 100% rename from webedit/photo_uploader/plugin/hp_SE2M_AttachQuickPhoto.js rename to webedit_org/photo_uploader/plugin/hp_SE2M_AttachQuickPhoto.js diff --git a/webedit/photo_uploader/popup/css/jquery.fileupload-noscript.css b/webedit_org/photo_uploader/popup/css/jquery.fileupload-noscript.css similarity index 100% rename from webedit/photo_uploader/popup/css/jquery.fileupload-noscript.css rename to webedit_org/photo_uploader/popup/css/jquery.fileupload-noscript.css diff --git a/webedit/photo_uploader/popup/css/jquery.fileupload-ui-noscript.css b/webedit_org/photo_uploader/popup/css/jquery.fileupload-ui-noscript.css similarity index 100% rename from webedit/photo_uploader/popup/css/jquery.fileupload-ui-noscript.css rename to webedit_org/photo_uploader/popup/css/jquery.fileupload-ui-noscript.css diff --git a/webedit/photo_uploader/popup/css/jquery.fileupload-ui.css b/webedit_org/photo_uploader/popup/css/jquery.fileupload-ui.css similarity index 100% rename from webedit/photo_uploader/popup/css/jquery.fileupload-ui.css rename to webedit_org/photo_uploader/popup/css/jquery.fileupload-ui.css diff --git a/webedit/photo_uploader/popup/css/jquery.fileupload.css b/webedit_org/photo_uploader/popup/css/jquery.fileupload.css similarity index 100% rename from webedit/photo_uploader/popup/css/jquery.fileupload.css rename to webedit_org/photo_uploader/popup/css/jquery.fileupload.css diff --git a/webedit/photo_uploader/popup/css/style.css b/webedit_org/photo_uploader/popup/css/style.css similarity index 100% rename from webedit/photo_uploader/popup/css/style.css rename to webedit_org/photo_uploader/popup/css/style.css diff --git a/webedit/photo_uploader/popup/img/delete.png b/webedit_org/photo_uploader/popup/img/delete.png similarity index 100% rename from webedit/photo_uploader/popup/img/delete.png rename to webedit_org/photo_uploader/popup/img/delete.png diff --git a/webedit/photo_uploader/popup/img/loading.gif b/webedit_org/photo_uploader/popup/img/loading.gif similarity index 100% rename from webedit/photo_uploader/popup/img/loading.gif rename to webedit_org/photo_uploader/popup/img/loading.gif diff --git a/webedit/photo_uploader/popup/img/progressbar.gif b/webedit_org/photo_uploader/popup/img/progressbar.gif similarity index 100% rename from webedit/photo_uploader/popup/img/progressbar.gif rename to webedit_org/photo_uploader/popup/img/progressbar.gif diff --git a/webedit/photo_uploader/popup/img/system_delete.png b/webedit_org/photo_uploader/popup/img/system_delete.png similarity index 100% rename from webedit/photo_uploader/popup/img/system_delete.png rename to webedit_org/photo_uploader/popup/img/system_delete.png diff --git a/webedit/photo_uploader/popup/index.html b/webedit_org/photo_uploader/popup/index.html similarity index 100% rename from webedit/photo_uploader/popup/index.html rename to webedit_org/photo_uploader/popup/index.html diff --git a/webedit/photo_uploader/popup/js/basic.js b/webedit_org/photo_uploader/popup/js/basic.js similarity index 100% rename from webedit/photo_uploader/popup/js/basic.js rename to webedit_org/photo_uploader/popup/js/basic.js diff --git a/webedit/photo_uploader/popup/js/jquery-1.8.3.min.js b/webedit_org/photo_uploader/popup/js/jquery-1.8.3.min.js similarity index 100% rename from webedit/photo_uploader/popup/js/jquery-1.8.3.min.js rename to webedit_org/photo_uploader/popup/js/jquery-1.8.3.min.js diff --git a/webedit/photo_uploader/popup/js/jquery-ui.min.js b/webedit_org/photo_uploader/popup/js/jquery-ui.min.js similarity index 100% rename from webedit/photo_uploader/popup/js/jquery-ui.min.js rename to webedit_org/photo_uploader/popup/js/jquery-ui.min.js diff --git a/webedit/photo_uploader/popup/js/jquery.fileupload-process.js b/webedit_org/photo_uploader/popup/js/jquery.fileupload-process.js similarity index 100% rename from webedit/photo_uploader/popup/js/jquery.fileupload-process.js rename to webedit_org/photo_uploader/popup/js/jquery.fileupload-process.js diff --git a/webedit/photo_uploader/popup/js/jquery.fileupload-ui.js b/webedit_org/photo_uploader/popup/js/jquery.fileupload-ui.js similarity index 100% rename from webedit/photo_uploader/popup/js/jquery.fileupload-ui.js rename to webedit_org/photo_uploader/popup/js/jquery.fileupload-ui.js diff --git a/webedit/photo_uploader/popup/js/jquery.fileupload.js b/webedit_org/photo_uploader/popup/js/jquery.fileupload.js similarity index 100% rename from webedit/photo_uploader/popup/js/jquery.fileupload.js rename to webedit_org/photo_uploader/popup/js/jquery.fileupload.js diff --git a/webedit/photo_uploader/popup/js/jquery.iframe-transport.js b/webedit_org/photo_uploader/popup/js/jquery.iframe-transport.js similarity index 100% rename from webedit/photo_uploader/popup/js/jquery.iframe-transport.js rename to webedit_org/photo_uploader/popup/js/jquery.iframe-transport.js diff --git a/webedit/photo_uploader/popup/js/jquery.ui.widget.js b/webedit_org/photo_uploader/popup/js/jquery.ui.widget.js similarity index 100% rename from webedit/photo_uploader/popup/js/jquery.ui.widget.js rename to webedit_org/photo_uploader/popup/js/jquery.ui.widget.js diff --git a/webedit/photo_uploader/popup/php/JSON.php b/webedit_org/photo_uploader/popup/php/JSON.php similarity index 100% rename from webedit/photo_uploader/popup/php/JSON.php rename to webedit_org/photo_uploader/popup/php/JSON.php diff --git a/webedit/photo_uploader/popup/php/UploadHandler.php b/webedit_org/photo_uploader/popup/php/UploadHandler.php similarity index 100% rename from webedit/photo_uploader/popup/php/UploadHandler.php rename to webedit_org/photo_uploader/popup/php/UploadHandler.php diff --git a/webedit/photo_uploader/popup/php/index.php b/webedit_org/photo_uploader/popup/php/index.php similarity index 100% rename from webedit/photo_uploader/popup/php/index.php rename to webedit_org/photo_uploader/popup/php/index.php diff --git a/webedit/photo_uploader/popup/swfupload/XPButtonUploadText_61x22.png b/webedit_org/photo_uploader/popup/swfupload/XPButtonUploadText_61x22.png similarity index 100% rename from webedit/photo_uploader/popup/swfupload/XPButtonUploadText_61x22.png rename to webedit_org/photo_uploader/popup/swfupload/XPButtonUploadText_61x22.png diff --git a/webedit/photo_uploader/popup/swfupload/fileprogress.js b/webedit_org/photo_uploader/popup/swfupload/fileprogress.js similarity index 100% rename from webedit/photo_uploader/popup/swfupload/fileprogress.js rename to webedit_org/photo_uploader/popup/swfupload/fileprogress.js diff --git a/webedit/photo_uploader/popup/swfupload/handlers.js b/webedit_org/photo_uploader/popup/swfupload/handlers.js similarity index 100% rename from webedit/photo_uploader/popup/swfupload/handlers.js rename to webedit_org/photo_uploader/popup/swfupload/handlers.js diff --git a/webedit/photo_uploader/popup/swfupload/jquery.swfupload.js b/webedit_org/photo_uploader/popup/swfupload/jquery.swfupload.js similarity index 100% rename from webedit/photo_uploader/popup/swfupload/jquery.swfupload.js rename to webedit_org/photo_uploader/popup/swfupload/jquery.swfupload.js diff --git a/webedit/photo_uploader/popup/swfupload/swfupload.js b/webedit_org/photo_uploader/popup/swfupload/swfupload.js similarity index 100% rename from webedit/photo_uploader/popup/swfupload/swfupload.js rename to webedit_org/photo_uploader/popup/swfupload/swfupload.js diff --git a/webedit/photo_uploader/popup/swfupload/swfupload.queue.js b/webedit_org/photo_uploader/popup/swfupload/swfupload.queue.js similarity index 100% rename from webedit/photo_uploader/popup/swfupload/swfupload.queue.js rename to webedit_org/photo_uploader/popup/swfupload/swfupload.queue.js diff --git a/webedit/photo_uploader/popup/swfupload/swfupload.swf b/webedit_org/photo_uploader/popup/swfupload/swfupload.swf similarity index 100% rename from webedit/photo_uploader/popup/swfupload/swfupload.swf rename to webedit_org/photo_uploader/popup/swfupload/swfupload.swf diff --git a/webedit/sample.php b/webedit_org/sample.php similarity index 100% rename from webedit/sample.php rename to webedit_org/sample.php diff --git a/webedit/shortcut.html b/webedit_org/shortcut.html similarity index 100% rename from webedit/shortcut.html rename to webedit_org/shortcut.html diff --git a/webedit/smart_editor2_inputarea.html b/webedit_org/smart_editor2_inputarea.html similarity index 100% rename from webedit/smart_editor2_inputarea.html rename to webedit_org/smart_editor2_inputarea.html diff --git a/webedit/smart_editor2_inputarea_ie8.html b/webedit_org/smart_editor2_inputarea_ie8.html similarity index 100% rename from webedit/smart_editor2_inputarea_ie8.html rename to webedit_org/smart_editor2_inputarea_ie8.html