summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--README.txt4
-rw-r--r--lib/editor/_source/classes/fckcontextmenugroup.js66
-rw-r--r--lib/editor/_source/classes/fckcontextmenuitem.js100
-rw-r--r--lib/editor/_source/classes/fckcontextmenuseparator.js56
-rw-r--r--lib/editor/_source/classes/fckevents.js54
-rw-r--r--lib/editor/_source/classes/fckpanel_gecko.js174
-rw-r--r--lib/editor/_source/classes/fckpanel_ie.js75
-rw-r--r--lib/editor/_source/classes/fckplugin.js54
-rw-r--r--lib/editor/_source/classes/fckspecialcombo.js206
-rw-r--r--lib/editor/_source/classes/fckstyledef.js56
-rw-r--r--lib/editor/_source/classes/fckstyledef_gecko.js108
-rw-r--r--lib/editor/_source/classes/fckstyledef_ie.js131
-rw-r--r--lib/editor/_source/classes/fckstylesloader.js85
-rw-r--r--lib/editor/_source/classes/fcktoolbar.js66
-rw-r--r--lib/editor/_source/classes/fcktoolbarbutton.js130
-rw-r--r--lib/editor/_source/classes/fcktoolbarcombo.js150
-rw-r--r--lib/editor/_source/classes/fcktoolbarfontformatcombo.js60
-rw-r--r--lib/editor/_source/classes/fcktoolbarfontscombo.js40
-rw-r--r--lib/editor/_source/classes/fcktoolbarfontsizecombo.js45
-rw-r--r--lib/editor/_source/classes/fcktoolbarpanelbutton.js117
-rw-r--r--lib/editor/_source/classes/fcktoolbarspecialcombo.js92
-rw-r--r--lib/editor/_source/classes/fcktoolbarstylecombo.js89
-rw-r--r--lib/editor/_source/classes/fckxml.js109
-rw-r--r--lib/editor/_source/commandclasses/fck_othercommands.js194
-rw-r--r--lib/editor/_source/commandclasses/fcknamedcommand.js35
-rw-r--r--lib/editor/_source/commandclasses/fckpasteplaintextcommand.js35
-rw-r--r--lib/editor/_source/commandclasses/fckpastewordcommand.js34
-rw-r--r--lib/editor/_source/commandclasses/fckstylecommand.js91
-rw-r--r--lib/editor/_source/commandclasses/fcktablecommand.js63
-rw-r--r--lib/editor/_source/commandclasses/fcktextcolorcommand.js168
-rw-r--r--lib/editor/_source/globals/fck_constants.js42
-rw-r--r--lib/editor/_source/globals/fckeditorapi.js44
-rw-r--r--lib/editor/_source/internals/fck.js30
-rw-r--r--lib/editor/_source/internals/fck_1.js124
-rw-r--r--lib/editor/_source/internals/fck_1_gecko.js156
-rw-r--r--lib/editor/_source/internals/fck_1_ie.js181
-rw-r--r--lib/editor/_source/internals/fck_2.js156
-rw-r--r--lib/editor/_source/internals/fck_2_gecko.js204
-rw-r--r--lib/editor/_source/internals/fck_2_ie.js152
-rw-r--r--lib/editor/_source/internals/fck_last.js56
-rw-r--r--lib/editor/_source/internals/fck_onload.js109
-rw-r--r--lib/editor/_source/internals/fckbrowserinfo.js41
-rw-r--r--lib/editor/_source/internals/fckcommands.js95
-rw-r--r--lib/editor/_source/internals/fckconfig.js75
-rw-r--r--lib/editor/_source/internals/fckcontextmenu.js192
-rw-r--r--lib/editor/_source/internals/fckcontextmenu_gecko.js91
-rw-r--r--lib/editor/_source/internals/fckcontextmenu_ie.js68
-rw-r--r--lib/editor/_source/internals/fckcoreextensions.js70
-rw-r--r--lib/editor/_source/internals/fckdebug.js41
-rw-r--r--lib/editor/_source/internals/fckdialog.js36
-rw-r--r--lib/editor/_source/internals/fckdialog_gecko.js73
-rw-r--r--lib/editor/_source/internals/fckdialog_ie.js28
-rw-r--r--lib/editor/_source/internals/fcklanguagemanager.js97
-rw-r--r--lib/editor/_source/internals/fckplugins.js43
-rw-r--r--lib/editor/_source/internals/fckregexlib.js30
-rw-r--r--lib/editor/_source/internals/fckscriptloader.js115
-rw-r--r--lib/editor/_source/internals/fckselection.js23
-rw-r--r--lib/editor/_source/internals/fckselection_gecko.js127
-rw-r--r--lib/editor/_source/internals/fckselection_ie.js121
-rw-r--r--lib/editor/_source/internals/fcktablehandler.js353
-rw-r--r--lib/editor/_source/internals/fcktablehandler_gecko.js49
-rw-r--r--lib/editor/_source/internals/fcktablehandler_ie.js54
-rw-r--r--lib/editor/_source/internals/fcktoolbaritems.js101
-rw-r--r--lib/editor/_source/internals/fcktoolbarset.js121
-rw-r--r--lib/editor/_source/internals/fcktools.js192
-rw-r--r--lib/editor/_source/internals/fcktools_gecko.js77
-rw-r--r--lib/editor/_source/internals/fcktools_ie.js49
-rw-r--r--lib/editor/_source/internals/fckurlparams.js33
-rw-r--r--lib/editor/_source/internals/fckxhtml.js280
-rw-r--r--lib/editor/_source/internals/fckxhtmlentities.js295
-rw-r--r--lib/editor/css/fck_editorarea.css56
-rw-r--r--lib/editor/dialog/css/common.css66
-rw-r--r--lib/editor/dialog/fck_about.html122
-rw-r--r--lib/editor/dialog/fck_colorselector.html168
-rw-r--r--lib/editor/dialog/fck_find.html163
-rw-r--r--lib/editor/dialog/fck_image.html209
-rw-r--r--lib/editor/dialog/fck_link.html290
-rw-r--r--lib/editor/dialog/fck_paste.html84
-rw-r--r--lib/editor/dialog/fck_replace.html130
-rw-r--r--lib/editor/dialog/fck_smiley.html91
-rw-r--r--lib/editor/dialog/fck_specialchar.html106
-rw-r--r--lib/editor/dialog/fck_table.html253
-rw-r--r--lib/editor/dialog/fck_tablecell.html218
-rw-r--r--lib/editor/dialog/images/locked.gifbin74 -> 0 bytes
-rw-r--r--lib/editor/dialog/images/logo_fckeditor.gifbin2044 -> 0 bytes
-rw-r--r--lib/editor/dialog/images/logo_fredck.gifbin920 -> 0 bytes
-rw-r--r--lib/editor/dialog/images/reset.gifbin104 -> 0 bytes
-rw-r--r--lib/editor/dialog/images/unlocked.gifbin75 -> 0 bytes
-rw-r--r--lib/editor/dialog/js/fck_dialog_common.js88
-rw-r--r--lib/editor/dialog/js/fck_image.js258
-rw-r--r--lib/editor/dialog/js/fck_link.js512
-rw-r--r--lib/editor/fckdebug.html110
-rw-r--r--lib/editor/fckdialog.html299
-rw-r--r--lib/editor/fckeditor.html59
-rw-r--r--lib/editor/fckeditor.original.html75
-rw-r--r--lib/editor/fckeditorarea.html8
-rw-r--r--lib/editor/filemanager/browser/default/Browser.css85
-rw-r--r--lib/editor/filemanager/browser/default/browser.html114
-rw-r--r--lib/editor/filemanager/browser/default/connectors/asp/basexml.asp35
-rw-r--r--lib/editor/filemanager/browser/default/connectors/asp/class_upload.asp166
-rw-r--r--lib/editor/filemanager/browser/default/connectors/asp/commands.asp182
-rw-r--r--lib/editor/filemanager/browser/default/connectors/asp/connector.asp99
-rw-r--r--lib/editor/filemanager/browser/default/connectors/asp/io.asp61
-rw-r--r--lib/editor/filemanager/browser/default/connectors/asp/util.asp40
-rw-r--r--lib/editor/filemanager/browser/default/connectors/aspx/connector.aspx23
-rw-r--r--lib/editor/filemanager/browser/default/connectors/cfm/connector.cfm299
-rw-r--r--lib/editor/filemanager/browser/default/connectors/php/basexml.php37
-rw-r--r--lib/editor/filemanager/browser/default/connectors/php/commands.php170
-rw-r--r--lib/editor/filemanager/browser/default/connectors/php/connector.php99
-rw-r--r--lib/editor/filemanager/browser/default/connectors/php/io.php98
-rw-r--r--lib/editor/filemanager/browser/default/connectors/php/util.php37
-rw-r--r--lib/editor/filemanager/browser/default/connectors/test.html147
-rw-r--r--lib/editor/filemanager/browser/default/frmactualfolder.html65
-rw-r--r--lib/editor/filemanager/browser/default/frmcreatefolder.html106
-rw-r--r--lib/editor/filemanager/browser/default/frmfolders.html191
-rw-r--r--lib/editor/filemanager/browser/default/frmresourceslist.html151
-rw-r--r--lib/editor/filemanager/browser/default/frmresourcetype.html63
-rw-r--r--lib/editor/filemanager/browser/default/frmupload.html107
-rw-r--r--lib/editor/filemanager/browser/default/images/ButtonArrow.gifbin138 -> 0 bytes
-rw-r--r--lib/editor/filemanager/browser/default/images/Folder.gifbin128 -> 0 bytes
-rw-r--r--lib/editor/filemanager/browser/default/images/Folder32.gifbin281 -> 0 bytes
-rw-r--r--lib/editor/filemanager/browser/default/images/FolderOpened.gifbin132 -> 0 bytes
-rw-r--r--lib/editor/filemanager/browser/default/images/FolderOpened32.gifbin264 -> 0 bytes
-rw-r--r--lib/editor/filemanager/browser/default/images/FolderUp.gifbin132 -> 0 bytes
-rw-r--r--lib/editor/filemanager/browser/default/images/icons/32/ai.gifbin1140 -> 0 bytes
-rw-r--r--lib/editor/filemanager/browser/default/images/icons/32/avi.gifbin454 -> 0 bytes
-rw-r--r--lib/editor/filemanager/browser/default/images/icons/32/bmp.gifbin709 -> 0 bytes
-rw-r--r--lib/editor/filemanager/browser/default/images/icons/32/cs.gifbin224 -> 0 bytes
-rw-r--r--lib/editor/filemanager/browser/default/images/icons/32/default.icon.gifbin177 -> 0 bytes
-rw-r--r--lib/editor/filemanager/browser/default/images/icons/32/dll.gifbin258 -> 0 bytes
-rw-r--r--lib/editor/filemanager/browser/default/images/icons/32/doc.gifbin260 -> 0 bytes
-rw-r--r--lib/editor/filemanager/browser/default/images/icons/32/exe.gifbin170 -> 0 bytes
-rw-r--r--lib/editor/filemanager/browser/default/images/icons/32/fla.gifbin946 -> 0 bytes
-rw-r--r--lib/editor/filemanager/browser/default/images/icons/32/gif.gifbin704 -> 0 bytes
-rw-r--r--lib/editor/filemanager/browser/default/images/icons/32/htm.gifbin1527 -> 0 bytes
-rw-r--r--lib/editor/filemanager/browser/default/images/icons/32/html.gifbin1527 -> 0 bytes
-rw-r--r--lib/editor/filemanager/browser/default/images/icons/32/jpg.gifbin463 -> 0 bytes
-rw-r--r--lib/editor/filemanager/browser/default/images/icons/32/js.gifbin274 -> 0 bytes
-rw-r--r--lib/editor/filemanager/browser/default/images/icons/32/mdb.gifbin274 -> 0 bytes
-rw-r--r--lib/editor/filemanager/browser/default/images/icons/32/mp3.gifbin454 -> 0 bytes
-rw-r--r--lib/editor/filemanager/browser/default/images/icons/32/pdf.gifbin567 -> 0 bytes
-rw-r--r--lib/editor/filemanager/browser/default/images/icons/32/ppt.gifbin254 -> 0 bytes
-rw-r--r--lib/editor/filemanager/browser/default/images/icons/32/rdp.gifbin1493 -> 0 bytes
-rw-r--r--lib/editor/filemanager/browser/default/images/icons/32/swf.gifbin725 -> 0 bytes
-rw-r--r--lib/editor/filemanager/browser/default/images/icons/32/swt.gifbin724 -> 0 bytes
-rw-r--r--lib/editor/filemanager/browser/default/images/icons/32/txt.gifbin213 -> 0 bytes
-rw-r--r--lib/editor/filemanager/browser/default/images/icons/32/vsd.gifbin277 -> 0 bytes
-rw-r--r--lib/editor/filemanager/browser/default/images/icons/32/xls.gifbin271 -> 0 bytes
-rw-r--r--lib/editor/filemanager/browser/default/images/icons/32/xml.gifbin408 -> 0 bytes
-rw-r--r--lib/editor/filemanager/browser/default/images/icons/32/zip.gifbin368 -> 0 bytes
-rw-r--r--lib/editor/filemanager/browser/default/images/icons/ai.gifbin403 -> 0 bytes
-rw-r--r--lib/editor/filemanager/browser/default/images/icons/avi.gifbin249 -> 0 bytes
-rw-r--r--lib/editor/filemanager/browser/default/images/icons/bmp.gifbin126 -> 0 bytes
-rw-r--r--lib/editor/filemanager/browser/default/images/icons/cs.gifbin128 -> 0 bytes
-rw-r--r--lib/editor/filemanager/browser/default/images/icons/default.icon.gifbin113 -> 0 bytes
-rw-r--r--lib/editor/filemanager/browser/default/images/icons/dll.gifbin132 -> 0 bytes
-rw-r--r--lib/editor/filemanager/browser/default/images/icons/doc.gifbin140 -> 0 bytes
-rw-r--r--lib/editor/filemanager/browser/default/images/icons/exe.gifbin109 -> 0 bytes
-rw-r--r--lib/editor/filemanager/browser/default/images/icons/fla.gifbin382 -> 0 bytes
-rw-r--r--lib/editor/filemanager/browser/default/images/icons/gif.gifbin125 -> 0 bytes
-rw-r--r--lib/editor/filemanager/browser/default/images/icons/htm.gifbin621 -> 0 bytes
-rw-r--r--lib/editor/filemanager/browser/default/images/icons/html.gifbin621 -> 0 bytes
-rw-r--r--lib/editor/filemanager/browser/default/images/icons/jpg.gifbin125 -> 0 bytes
-rw-r--r--lib/editor/filemanager/browser/default/images/icons/js.gifbin139 -> 0 bytes
-rw-r--r--lib/editor/filemanager/browser/default/images/icons/mdb.gifbin146 -> 0 bytes
-rw-r--r--lib/editor/filemanager/browser/default/images/icons/mp3.gifbin249 -> 0 bytes
-rw-r--r--lib/editor/filemanager/browser/default/images/icons/pdf.gifbin230 -> 0 bytes
-rw-r--r--lib/editor/filemanager/browser/default/images/icons/ppt.gifbin139 -> 0 bytes
-rw-r--r--lib/editor/filemanager/browser/default/images/icons/rdp.gifbin606 -> 0 bytes
-rw-r--r--lib/editor/filemanager/browser/default/images/icons/swf.gifbin388 -> 0 bytes
-rw-r--r--lib/editor/filemanager/browser/default/images/icons/swt.gifbin388 -> 0 bytes
-rw-r--r--lib/editor/filemanager/browser/default/images/icons/txt.gifbin122 -> 0 bytes
-rw-r--r--lib/editor/filemanager/browser/default/images/icons/vsd.gifbin136 -> 0 bytes
-rw-r--r--lib/editor/filemanager/browser/default/images/icons/xls.gifbin138 -> 0 bytes
-rw-r--r--lib/editor/filemanager/browser/default/images/icons/xml.gifbin231 -> 0 bytes
-rw-r--r--lib/editor/filemanager/browser/default/images/icons/zip.gifbin235 -> 0 bytes
-rw-r--r--lib/editor/filemanager/browser/default/images/spacer.gifbin43 -> 0 bytes
-rw-r--r--lib/editor/filemanager/browser/default/js/common.js35
-rw-r--r--lib/editor/filemanager/browser/default/js/fckxml.js110
-rw-r--r--lib/editor/images/smiley/fun/aiua.gifbin1171 -> 0 bytes
-rw-r--r--lib/editor/images/smiley/fun/ak.gifbin434 -> 0 bytes
-rw-r--r--lib/editor/images/smiley/fun/alien.gifbin454 -> 0 bytes
-rw-r--r--lib/editor/images/smiley/fun/alien2.gifbin240 -> 0 bytes
-rw-r--r--lib/editor/images/smiley/fun/angry.gifbin583 -> 0 bytes
-rw-r--r--lib/editor/images/smiley/fun/angry1.gifbin1818 -> 0 bytes
-rw-r--r--lib/editor/images/smiley/fun/apophys.gifbin956 -> 0 bytes
-rw-r--r--lib/editor/images/smiley/fun/assjani.gifbin1638 -> 0 bytes
-rw-r--r--lib/editor/images/smiley/fun/asthanos.gifbin5154 -> 0 bytes
-rw-r--r--lib/editor/images/smiley/fun/bazuzeus.gifbin603 -> 0 bytes
-rw-r--r--lib/editor/images/smiley/fun/beaute.gifbin471 -> 0 bytes
-rw-r--r--lib/editor/images/smiley/fun/bigsmile.gifbin166 -> 0 bytes
-rw-r--r--lib/editor/images/smiley/fun/blush.gifbin476 -> 0 bytes
-rw-r--r--lib/editor/images/smiley/fun/boid.gifbin340 -> 0 bytes
-rw-r--r--lib/editor/images/smiley/fun/bonk.gifbin1372 -> 0 bytes
-rw-r--r--lib/editor/images/smiley/fun/bored.gifbin235 -> 0 bytes
-rw-r--r--lib/editor/images/smiley/fun/borg.gifbin160 -> 0 bytes
-rw-r--r--lib/editor/images/smiley/fun/capo.gifbin1702 -> 0 bytes
-rw-r--r--lib/editor/images/smiley/fun/confused.gifbin1111 -> 0 bytes
-rw-r--r--lib/editor/images/smiley/fun/cool.gifbin172 -> 0 bytes
-rw-r--r--lib/editor/images/smiley/fun/crazy.gifbin453 -> 0 bytes
-rw-r--r--lib/editor/images/smiley/fun/cwm14.gifbin1053 -> 0 bytes
-rw-r--r--lib/editor/images/smiley/fun/demis_roussos.gifbin386 -> 0 bytes
-rw-r--r--lib/editor/images/smiley/fun/devil.gifbin506 -> 0 bytes
-rw-r--r--lib/editor/images/smiley/fun/devil2.gifbin3536 -> 0 bytes
-rw-r--r--lib/editor/images/smiley/fun/double0smile.gifbin6276 -> 0 bytes
-rw-r--r--lib/editor/images/smiley/fun/eek3.gifbin3957 -> 0 bytes
-rw-r--r--lib/editor/images/smiley/fun/eltaf.gifbin4446 -> 0 bytes
-rw-r--r--lib/editor/images/smiley/fun/gele.gifbin584 -> 0 bytes
-rw-r--r--lib/editor/images/smiley/fun/halm.gifbin439 -> 0 bytes
-rw-r--r--lib/editor/images/smiley/fun/happy.gifbin239 -> 0 bytes
-rw-r--r--lib/editor/images/smiley/fun/icon12.gifbin585 -> 0 bytes
-rw-r--r--lib/editor/images/smiley/fun/icon23.gifbin252 -> 0 bytes
-rw-r--r--lib/editor/images/smiley/fun/icon26.gifbin378 -> 0 bytes
-rw-r--r--lib/editor/images/smiley/fun/icon_angel.gifbin496 -> 0 bytes
-rw-r--r--lib/editor/images/smiley/fun/icon_bandit.gifbin490 -> 0 bytes
-rw-r--r--lib/editor/images/smiley/fun/icon_bravo.gifbin1727 -> 0 bytes
-rw-r--r--lib/editor/images/smiley/fun/icon_clown.gifbin603 -> 0 bytes
-rw-r--r--lib/editor/images/smiley/fun/jesors.gifbin1315 -> 0 bytes
-rw-r--r--lib/editor/images/smiley/fun/jesors1.gifbin1031 -> 0 bytes
-rw-r--r--lib/editor/images/smiley/fun/lol3.gifbin5922 -> 0 bytes
-rw-r--r--lib/editor/images/smiley/fun/love.gifbin379 -> 0 bytes
-rw-r--r--lib/editor/images/smiley/fun/mad.gifbin170 -> 0 bytes
-rw-r--r--lib/editor/images/smiley/fun/megaphone.gifbin1035 -> 0 bytes
-rw-r--r--lib/editor/images/smiley/fun/mmm.gifbin509 -> 0 bytes
-rw-r--r--lib/editor/images/smiley/fun/music.gifbin359 -> 0 bytes
-rw-r--r--lib/editor/images/smiley/fun/notify.gifbin473 -> 0 bytes
-rw-r--r--lib/editor/images/smiley/fun/nuts.gifbin533 -> 0 bytes
-rw-r--r--lib/editor/images/smiley/fun/obanon.gifbin1090 -> 0 bytes
-rw-r--r--lib/editor/images/smiley/fun/ouaip.gifbin241 -> 0 bytes
-rw-r--r--lib/editor/images/smiley/fun/pleure.gifbin1967 -> 0 bytes
-rw-r--r--lib/editor/images/smiley/fun/plugin.gifbin1410 -> 0 bytes
-rw-r--r--lib/editor/images/smiley/fun/question.gifbin248 -> 0 bytes
-rw-r--r--lib/editor/images/smiley/fun/question2.gifbin359 -> 0 bytes
-rw-r--r--lib/editor/images/smiley/fun/rasta2.gifbin1078 -> 0 bytes
-rw-r--r--lib/editor/images/smiley/fun/rastapop.gifbin234 -> 0 bytes
-rw-r--r--lib/editor/images/smiley/fun/rosebud.gifbin350 -> 0 bytes
-rw-r--r--lib/editor/images/smiley/fun/sad.gifbin171 -> 0 bytes
-rw-r--r--lib/editor/images/smiley/fun/sad2.gifbin240 -> 0 bytes
-rw-r--r--lib/editor/images/smiley/fun/shocked.gifbin170 -> 0 bytes
-rw-r--r--lib/editor/images/smiley/fun/sick.gifbin894 -> 0 bytes
-rw-r--r--lib/editor/images/smiley/fun/sick2.gifbin243 -> 0 bytes
-rw-r--r--lib/editor/images/smiley/fun/slaap.gifbin979 -> 0 bytes
-rw-r--r--lib/editor/images/smiley/fun/sleep.gifbin3050 -> 0 bytes
-rw-r--r--lib/editor/images/smiley/fun/smile.gifbin174 -> 0 bytes
-rw-r--r--lib/editor/images/smiley/fun/smiley_peur.gifbin8277 -> 0 bytes
-rw-r--r--lib/editor/images/smiley/fun/sors.gifbin1329 -> 0 bytes
-rw-r--r--lib/editor/images/smiley/fun/sovxx.gifbin939 -> 0 bytes
-rw-r--r--lib/editor/images/smiley/fun/spamafote.gifbin1032 -> 0 bytes
-rw-r--r--lib/editor/images/smiley/fun/tap67.gifbin379 -> 0 bytes
-rw-r--r--lib/editor/images/smiley/fun/thumbdown.gifbin247 -> 0 bytes
-rw-r--r--lib/editor/images/smiley/fun/thumbup.gifbin249 -> 0 bytes
-rw-r--r--lib/editor/images/smiley/fun/tigi.gifbin724 -> 0 bytes
-rw-r--r--lib/editor/images/smiley/fun/toad666.gifbin2975 -> 0 bytes
-rw-r--r--lib/editor/images/smiley/fun/tongue.gifbin230 -> 0 bytes
-rw-r--r--lib/editor/images/smiley/fun/tuffgong.gifbin265 -> 0 bytes
-rw-r--r--lib/editor/images/smiley/fun/urgeman.gifbin273 -> 0 bytes
-rw-r--r--lib/editor/images/smiley/fun/vanadium.gifbin3585 -> 0 bytes
-rw-r--r--lib/editor/images/smiley/fun/wink.gifbin170 -> 0 bytes
-rw-r--r--lib/editor/images/smiley/fun/worship.gifbin1779 -> 0 bytes
-rw-r--r--lib/editor/images/smiley/fun/wouaf.gifbin1129 -> 0 bytes
-rw-r--r--lib/editor/images/smiley/fun/wow.gifbin1097 -> 0 bytes
-rw-r--r--lib/editor/images/smiley/fun/xp1700.gifbin278 -> 0 bytes
-rw-r--r--lib/editor/images/smiley/fun/yltype.gifbin1300 -> 0 bytes
-rw-r--r--lib/editor/images/smiley/fun/yopyopyop.gifbin9910 -> 0 bytes
-rw-r--r--lib/editor/images/smiley/fun/youpi.gifbin1503 -> 0 bytes
-rw-r--r--lib/editor/images/smiley/fun/zoor.gifbin1169 -> 0 bytes
-rw-r--r--lib/editor/images/smiley/msn/angel_smile.gifbin445 -> 0 bytes
-rw-r--r--lib/editor/images/smiley/msn/angry_smile.gifbin453 -> 0 bytes
-rw-r--r--lib/editor/images/smiley/msn/broken_heart.gifbin423 -> 0 bytes
-rw-r--r--lib/editor/images/smiley/msn/cake.gifbin453 -> 0 bytes
-rw-r--r--lib/editor/images/smiley/msn/confused_smile.gifbin322 -> 0 bytes
-rw-r--r--lib/editor/images/smiley/msn/cry_smile.gifbin473 -> 0 bytes
-rw-r--r--lib/editor/images/smiley/msn/devil_smile.gifbin444 -> 0 bytes
-rw-r--r--lib/editor/images/smiley/msn/embaressed_smile.gifbin1077 -> 0 bytes
-rw-r--r--lib/editor/images/smiley/msn/envelope.gifbin1030 -> 0 bytes
-rw-r--r--lib/editor/images/smiley/msn/heart.gifbin1012 -> 0 bytes
-rw-r--r--lib/editor/images/smiley/msn/kiss.gifbin978 -> 0 bytes
-rw-r--r--lib/editor/images/smiley/msn/lightbulb.gifbin303 -> 0 bytes
-rw-r--r--lib/editor/images/smiley/msn/omg_smile.gifbin342 -> 0 bytes
-rw-r--r--lib/editor/images/smiley/msn/regular_smile.gifbin1036 -> 0 bytes
-rw-r--r--lib/editor/images/smiley/msn/sad_smile.gifbin1039 -> 0 bytes
-rw-r--r--lib/editor/images/smiley/msn/shades_smile.gifbin1059 -> 0 bytes
-rw-r--r--lib/editor/images/smiley/msn/teeth_smile.gifbin1064 -> 0 bytes
-rw-r--r--lib/editor/images/smiley/msn/thumbs_down.gifbin992 -> 0 bytes
-rw-r--r--lib/editor/images/smiley/msn/thumbs_up.gifbin989 -> 0 bytes
-rw-r--r--lib/editor/images/smiley/msn/tounge_smile.gifbin1055 -> 0 bytes
-rw-r--r--lib/editor/images/smiley/msn/whatchutalkingabout_smile.gifbin1034 -> 0 bytes
-rw-r--r--lib/editor/images/smiley/msn/wink_smile.gifbin1041 -> 0 bytes
-rw-r--r--lib/editor/images/spacer.gifbin43 -> 0 bytes
-rw-r--r--lib/editor/js/fck_startup.js24
-rw-r--r--lib/editor/js/fckeditorcode_gecko_1.js25
-rw-r--r--lib/editor/js/fckeditorcode_gecko_2.js56
-rw-r--r--lib/editor/js/fckeditorcode_ie_1.js25
-rw-r--r--lib/editor/js/fckeditorcode_ie_2.js56
-rw-r--r--lib/editor/lang/ar.js306
-rw-r--r--lib/editor/lang/bs.js306
-rw-r--r--lib/editor/lang/ca.js299
-rw-r--r--lib/fckconfig.js127
-rw-r--r--lib/fckeditor.js160
-rw-r--r--lib/fckstyles.xml49
300 files changed, 2 insertions, 14227 deletions
diff --git a/README.txt b/README.txt
index 9c0454d..d7de2c2 100644
--- a/README.txt
+++ b/README.txt
@@ -33,7 +33,7 @@ Installation
------------
1. Copy fckeditor folder to modules/.
2. Download FCKeditor 2.0 from http://www.fckeditor.net and copy the
- distribution files to modules/fckeditor/lib. (not required)
+ distribution files to modules/fckeditor/lib.
@@ -81,4 +81,4 @@ LatPro Inc.
Copyright (C) 2003-2004 Frederico Caldeira Knabben
http://www.opensource.org/licenses/lgpl-license.php
http://www.fckeditor.net/
- \ No newline at end of file
+
diff --git a/lib/editor/_source/classes/fckcontextmenugroup.js b/lib/editor/_source/classes/fckcontextmenugroup.js
deleted file mode 100644
index 51c11f5..0000000
--- a/lib/editor/_source/classes/fckcontextmenugroup.js
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
- * FCKeditor - The text editor for internet
- * Copyright (C) 2003-2004 Frederico Caldeira Knabben
- *
- * Licensed under the terms of the GNU Lesser General Public License:
- * http://www.opensource.org/licenses/lgpl-license.php
- *
- * For further information visit:
- * http://www.fckeditor.net/
- *
- * File Name: fckcontextmenugroup.js
- * FCKContextMenuGroup Class: represents a group of items in the context
- * menu. Generaly a group of items is directly dependent of the same rules.
- *
- * Version: 2.0 RC2
- * Modified: 2004-05-31 23:07:47
- *
- * File Authors:
- * Frederico Caldeira Knabben (fredck@fckeditor.net)
- */
-
-var FCKContextMenuGroup = function()
-{
- this.IsVisible = true ;
-
- // Array with all available context menu items of this group.
- this.Items = new Array() ;
-
- // This OPTIONAL function checks if the group must be shown.
- this.ValidationFunction = null ;
-}
-
-// Adds an item to the group's items collecion.
-FCKContextMenuGroup.prototype.Add = function( contextMenuItem )
-{
- this.Items[ this.Items.length ] = contextMenuItem ;
-}
-
-// Creates the <TR> elements that represent the item in a table (usually the rendered context menu).
-FCKContextMenuGroup.prototype.CreateTableRows = function( table )
-{
- for ( var i = 0 ; i < this.Items.length ; i++ )
- {
- this.Items[i].CreateTableRow( table ) ;
- }
-}
-
-FCKContextMenuGroup.prototype.SetVisible = function( isVisible )
-{
- for ( var i = 0 ; i < this.Items.length ; i++ )
- {
- this.Items[i].SetVisible( isVisible ) ;
- }
-
- this.IsVisible = isVisible ;
-}
-
-FCKContextMenuGroup.prototype.RefreshState = function()
-{
- if ( ! this.IsVisible ) return ;
-
- for ( var i = 0 ; i < this.Items.length ; i++ )
- {
- this.Items[i].RefreshState() ;
- }
-} \ No newline at end of file
diff --git a/lib/editor/_source/classes/fckcontextmenuitem.js b/lib/editor/_source/classes/fckcontextmenuitem.js
deleted file mode 100644
index 3ce5107..0000000
--- a/lib/editor/_source/classes/fckcontextmenuitem.js
+++ /dev/null
@@ -1,100 +0,0 @@
-/*
- * FCKeditor - The text editor for internet
- * Copyright (C) 2003-2004 Frederico Caldeira Knabben
- *
- * Licensed under the terms of the GNU Lesser General Public License:
- * http://www.opensource.org/licenses/lgpl-license.php
- *
- * For further information visit:
- * http://www.fckeditor.net/
- *
- * File Name: fckcontextmenuitem.js
- * FCKContextMenuItem Class: represents a item in the context menu.
- *
- * Version: 2.0 RC2
- * Modified: 2004-11-10 17:14:48
- *
- * File Authors:
- * Frederico Caldeira Knabben (fredck@fckeditor.net)
- */
-
-var FCKContextMenuItem = function( contextMenu, commandName, label, hasIcon )
-{
- this.ContextMenu = contextMenu ;
- this.Command = FCKCommands.GetCommand( commandName ) ;
- this.Label = label ? label : commandName ;
- this.HasIcon = hasIcon ? true : false ;
-}
-
-FCKContextMenuItem.prototype.CreateTableRow = function( targetTable )
-{
- // Creates the <TR> element.
- this._Row = targetTable.insertRow(-1) ;
- this._Row.className = 'CM_Disabled' ;
- this._Row.FCKContextMenuItem = this ;
-
- // Sets the mouse over event.
- this._Row.onmouseover = function()
- {
- if ( this.className != 'CM_Disabled' )
- this.className = 'CM_Over' ;
- }
-
- // Sets the mouse out event.
- this._Row.onmouseout = function()
- {
- if ( this.className != 'CM_Disabled' )
- this.className = 'CM_Option' ;
- }
-
- this._Row.onclick = function()
- {
- this.FCKContextMenuItem.ContextMenu.Hide() ;
- this.FCKContextMenuItem.Command.Execute() ;
- return false ;
- }
-
- var oCell = this._Row.insertCell(-1) ;
- oCell.className = 'CM_Icon' ;
-
- if ( this.HasIcon ) oCell.innerHTML = '<img alt="" src="' + FCKConfig.SkinPath + 'toolbar/button.' + this.Command.Name.toLowerCase() + '.gif" width="21" height="20" unselectable="on">' ;
-
- oCell = this._Row.insertCell(-1) ;
- oCell.className = 'CM_Label' ;
- oCell.unselectable = 'on' ;
- oCell.noWrap = true ;
- oCell.innerHTML = this.Label ;
-}
-
-FCKContextMenuItem.prototype.SetVisible = function( isVisible )
-{
- this._Row.style.display = isVisible ? '' : 'none' ;
-}
-
-FCKContextMenuItem.prototype.RefreshState = function()
-{
- switch ( this.Command.GetState() )
- {
- case FCK_TRISTATE_ON :
- case FCK_TRISTATE_OFF :
- this._Row.className = 'CM_Option' ;
- break ;
- default :
- this._Row.className = 'CM_Disabled' ;
- break ;
- }
-}
-
-/*
-Sample output.
------------------------------------------
-<tr class="CM_Disabled">
- <td class="CM_Icon"><img alt="" src="icons/button.cut.gif" width="21" height="20" unselectable="on"></td>
- <td class="CM_Label" unselectable="on">Cut</td>
-</tr>
------------------------------------------
-<tr class="CM_Option" onmouseover="OnOver(this);" onmouseout="OnOut(this);">
- <td class="CM_Icon"></td>
- <td class="CM_Label">Do Something</td>
-</tr>
-*/ \ No newline at end of file
diff --git a/lib/editor/_source/classes/fckcontextmenuseparator.js b/lib/editor/_source/classes/fckcontextmenuseparator.js
deleted file mode 100644
index 09f0e79..0000000
--- a/lib/editor/_source/classes/fckcontextmenuseparator.js
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
- * FCKeditor - The text editor for internet
- * Copyright (C) 2003-2004 Frederico Caldeira Knabben
- *
- * Licensed under the terms of the GNU Lesser General Public License:
- * http://www.opensource.org/licenses/lgpl-license.php
- *
- * For further information visit:
- * http://www.fckeditor.net/
- *
- * File Name: fckcontextmenuseparator.js
- * FCKContextMenuSeparator Class: represents a separator in the toolbar.
- *
- * Version: 2.0 RC2
- * Modified: 2004-05-31 23:07:47
- *
- * File Authors:
- * Frederico Caldeira Knabben (fredck@fckeditor.net)
- */
-
-var FCKContextMenuSeparator = function()
-{
-}
-
-FCKContextMenuSeparator.prototype.CreateTableRow = function( targetTable )
-{
- // Creates the <TR> element.
- this._Row = targetTable.insertRow(-1) ;
- this._Row.className = 'CM_Separator' ;
-
- var oCell = this._Row.insertCell(-1) ;
- oCell.className = 'CM_Icon' ;
-
- oCell = this._Row.insertCell(-1) ;
- oCell.className = 'CM_Label' ;
- oCell.innerHTML = '<div></div>' ;
-}
-
-FCKContextMenuSeparator.prototype.SetVisible = function( isVisible )
-{
- this._Row.style.display = isVisible ? '' : 'none' ;
-}
-
-FCKContextMenuSeparator.prototype.RefreshState = function()
-{
- // Do nothing... its state doesn't change.
-}
-
-/*
-Sample output.
------------------------------------------
-<tr class="CM_Separator">
- <td class="CM_Icon"></td>
- <td class="CM_Label"><div></div></td>
-</tr>
-*/ \ No newline at end of file
diff --git a/lib/editor/_source/classes/fckevents.js b/lib/editor/_source/classes/fckevents.js
deleted file mode 100644
index 8ce0f85..0000000
--- a/lib/editor/_source/classes/fckevents.js
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
- * FCKeditor - The text editor for internet
- * Copyright (C) 2003-2004 Frederico Caldeira Knabben
- *
- * Licensed under the terms of the GNU Lesser General Public License:
- * http://www.opensource.org/licenses/lgpl-license.php
- *
- * For further information visit:
- * http://www.fckeditor.net/
- *
- * File Name: fckevents.js
- * FCKEvents Class: used to handle events is a advanced way.
- *
- * Version: 2.0 RC2
- * Modified: 2004-12-04 16:52:36
- *
- * File Authors:
- * Frederico Caldeira Knabben (fredck@fckeditor.net)
- */
-
-var FCKEvents = function( eventsOwner )
-{
- this.Owner = eventsOwner ;
- this.RegisteredEvents = new Object() ;
-}
-
-FCKEvents.prototype.AttachEvent = function( eventName, functionPointer, params )
-{
- if ( ! this.RegisteredEvents[ eventName ] ) this.RegisteredEvents[ eventName ] = new Array() ;
-
- this.RegisteredEvents[ eventName ][ this.RegisteredEvents[ eventName ].length ] = functionPointer ;
-}
-
-FCKEvents.prototype.FireEvent = function( eventName, params )
-{
- var bReturnValue = true ;
-
- FCKDebug.Output( 'Firing event: ' + eventName, 'Fuchsia' ) ;
-
- var oCalls = this.RegisteredEvents[ eventName ] ;
- if ( oCalls )
- {
- for ( var i = 0 ; i < oCalls.length ; i++ )
- {
- if ( typeof( oCalls[ i ] ) == "function" ) // A Function Pointer
- bReturnValue = ( bReturnValue && oCalls[ i ]( params ) ) ;
- else // A string (code to run)
- bReturnValue = ( bReturnValue && eval( oCalls[ i ] ) ) ;
- }
- }
-
- return bReturnValue ;
-}
-
diff --git a/lib/editor/_source/classes/fckpanel_gecko.js b/lib/editor/_source/classes/fckpanel_gecko.js
deleted file mode 100644
index 9d62d5b..0000000
--- a/lib/editor/_source/classes/fckpanel_gecko.js
+++ /dev/null
@@ -1,174 +0,0 @@
-/*
- * FCKeditor - The text editor for internet
- * Copyright (C) 2003-2004 Frederico Caldeira Knabben
- *
- * Licensed under the terms of the GNU Lesser General Public License:
- * http://www.opensource.org/licenses/lgpl-license.php
- *
- * For further information visit:
- * http://www.fckeditor.net/
- *
- * File Name: fckpanel_gecko.js
- * FCKPanel Class: Creates and manages floating panels in Gecko Browsers.
- *
- * Version: 2.0 RC2
- * Modified: 2004-11-10 13:22:16
- *
- * File Authors:
- * Frederico Caldeira Knabben (fredck@fckeditor.net)
- */
-
-var FCKPanel = function( parentWindow )
-{
- if ( parentWindow )
- this.Window = parentWindow ;
- else
- {
- this.Window = window ;
-
- while ( this.Window != window.top && this.Window.parent.document.body.tagName != 'FRAMESET' )
- {
- this.Window = this.Window.parent ;
- }
- }
-}
-
-FCKPanel.prototype.Create = function()
-{
- this._IFrame = this.Window.document.body.appendChild( this.Window.document.createElement('IFRAME') ) ;
- this._IFrame.src = 'about:blank' ;
- this._IFrame.frameBorder = '0';
- this._IFrame.scrolling = 'no' ;
- this._IFrame.style.left = '0px' ;
- this._IFrame.style.top = '0px' ;
- this._IFrame.width = 10 ;
- this._IFrame.height = 10 ;
- this._IFrame.style.position = 'absolute';
- this._IFrame.style.visibility = 'hidden' ;
-
- this._IFrame.IsFCKPanel = true ;
- this._IFrame.Panel = this ;
-
- this.Document = this._IFrame.contentWindow.document ;
-
- // Initialize the IFRAME document body.
- this.Document.open() ;
- this.Document.write( '<html><head></head><body><\/body><\/html>' ) ;
- this.Document.close() ;
-
- // Remove the default margins.
- this.Document.body.style.margin = this.Document.body.style.padding = '0px' ;
-
- // Add the defined Style Sheet to the document.
- if ( this.StyleSheet )
- FCKTools.AppendStyleSheet( this.Document, this.StyleSheet ) ;
-
-
- this.OuterDiv = this.Document.body.appendChild( this.Document.createElement('DIV') ) ;
- this.OuterDiv.style.cssFloat = 'left' ;
-
- this.PanelDiv = this.OuterDiv.appendChild( this.Document.createElement('DIV') ) ;
- this.PanelDiv.className = 'FCK_Panel' ;
-
- this.Created = true ;
-}
-
-FCKPanel.prototype.Show = function( panelX, panelY, relElement, width, height, autoSize )
-{
- if ( ! this.Created )
- this.Create() ;
-
- if ( width != null && autoSize && width < this.OuterDiv.offsetWidth )
- this.PanelDiv.style.width = width ;
-
- if ( height != null && autoSize && height < this.PanelDiv.offsetHeight )
- this.PanelDiv.style.height = height + 'px' ;
-
- var oPos = this.GetElementPosition( relElement ) ;
-
- panelX += oPos.X ;
- panelY += oPos.Y ;
-
- if ( panelX + this.OuterDiv.offsetWidth > this.Window.innerWidth )
- {
- // The following line aligns the panel to the other side of the refElement.
- // panelX = oPos.X - ( this.PanelDiv.offsetWidth - relElement.offsetWidth ) ;
-
- panelX -= panelX + this.OuterDiv.offsetWidth - this.Window.innerWidth ;
- }
-
- // Set the context menu DIV in the specified location.
- this._IFrame.style.left = panelX + 'px' ;
- this._IFrame.style.top = panelY + 'px' ;
-
- // Watch the "OnClick" event for all windows to close the Context Menu.
- function SetOnClickListener( targetWindow, targetFunction )
- {
- if ( targetWindow == null || ( targetWindow.frameElement && targetWindow.frameElement.IsFCKPanel ) )
- return ;
-
- targetWindow.document.addEventListener( 'click', targetFunction, false ) ;
-
- for ( var i = 0 ; i < targetWindow.frames.length ; i++ )
- SetOnClickListener( targetWindow.frames[i], targetFunction ) ;
- }
- SetOnClickListener( window.top, FCKPanelEventHandlers.OnDocumentClick ) ;
-
- this._IFrame.width = this.OuterDiv.offsetWidth ;
- this._IFrame.height = this.OuterDiv.offsetHeight ;
-
- // Show it.
- this._IFrame.style.visibility = '' ;
-}
-
-FCKPanel.prototype.GetElementPosition = function( el )
-{
- // Initializes the Coordinates object that will be returned by the function.
- var c = { X:0, Y:0 } ;
-
- // Loop throw the offset chain.
- while ( el )
- {
- c.X += el.offsetLeft ;
- c.Y += el.offsetTop ;
-
- if ( el.offsetParent == null && el.ownerDocument.defaultView != this.Window )
- el = el.ownerDocument.defaultView.frameElement ;
- else
- el = el.offsetParent ;
- }
-
- // Return the Coordinates object
- return c ;
-}
-
-FCKPanel.prototype.Hide = function()
-{
- this._IFrame.style.visibility = 'hidden' ;
-// this._IFrame.style.left = this._IFrame.style.top = '0px' ;
-}
-
-var FCKPanelEventHandlers = new Object() ;
-
-FCKPanelEventHandlers.OnDocumentClick = function( e )
-{
- var oWindow = e.target.ownerDocument.defaultView ;
-
- if ( ! oWindow.IsFCKPanel )
- {
- function RemoveOnClickListener( targetWindow )
- {
- if ( targetWindow == null )
- return ;
-
- if ( targetWindow.frameElement && targetWindow.frameElement.IsFCKPanel )
- targetWindow.frameElement.Panel.Hide() ;
- else
- targetWindow.document.removeEventListener( 'click', FCKPanelEventHandlers.OnDocumentClick, false ) ;
-
- for ( var i = 0 ; i < targetWindow.frames.length ; i++ )
- RemoveOnClickListener( targetWindow.frames[i] ) ;
- }
- RemoveOnClickListener( window.top ) ;
- }
-} \ No newline at end of file
diff --git a/lib/editor/_source/classes/fckpanel_ie.js b/lib/editor/_source/classes/fckpanel_ie.js
deleted file mode 100644
index af9b2dd..0000000
--- a/lib/editor/_source/classes/fckpanel_ie.js
+++ /dev/null
@@ -1,75 +0,0 @@
-/*
- * FCKeditor - The text editor for internet
- * Copyright (C) 2003-2004 Frederico Caldeira Knabben
- *
- * Licensed under the terms of the GNU Lesser General Public License:
- * http://www.opensource.org/licenses/lgpl-license.php
- *
- * For further information visit:
- * http://www.fckeditor.net/
- *
- * File Name: fckpanel_ie.js
- * FCKPanel Class: Creates and manages floating panels in IE Browsers.
- *
- * Version: 2.0 RC2
- * Modified: 2004-11-10 13:20:42
- *
- * File Authors:
- * Frederico Caldeira Knabben (fredck@fckeditor.net)
- */
-
-var FCKPanel = function( parentWindow )
-{
- this.Window = parentWindow ? parentWindow : window ;
-}
-
-FCKPanel.prototype.Create = function()
-{
- // Create the Popup that will hold the panel.
- this._Popup = this.Window.createPopup() ;
-
- this.Document = this._Popup.document ;
-
- this.Document.oncontextmenu = function() { return false ; }
-
- if ( this.StyleSheet )
- FCKTools.AppendStyleSheet( this.Document, this.StyleSheet ) ;
-
- // Create the main DIV that is used as the panel base.
- this.PanelDiv = this.Document.body.appendChild( this.Document.createElement('DIV') ) ;
- this.PanelDiv.className = 'FCK_Panel' ;
-
- this.Created = true ;
-}
-
-FCKPanel.prototype.Show = function( panelX, panelY, relElement, width, height, autoSize )
-{
- if ( ! this.Created )
- this._Create() ;
-
- // The offsetWidth and offsetHeight properties are not available if the
- // element is not visible. So we must "show" the popup with no size to
- // be able to use that values in the second call.
- this._Popup.show( panelX, panelY, 0, 0, relElement ) ;
-
- if ( width == null || ( autoSize && width > this.PanelDiv.offsetWidth ) )
- var iWidth = this.PanelDiv.offsetWidth ;
- else
- var iWidth = width ;
-
- if ( height == null || ( autoSize && height > this.PanelDiv.offsetHeight ) )
- var iHeight = this.PanelDiv.offsetHeight ;
- else
- var iHeight = height ;
-
- this.PanelDiv.style.height = iHeight ;
-
- // Second call: Show the Popup at the specified location.
- this._Popup.show( panelX, panelY, iWidth, iHeight, relElement ) ;
-}
-
-FCKPanel.prototype.Hide = function()
-{
- if ( this._Popup )
- this._Popup.hide() ;
-} \ No newline at end of file
diff --git a/lib/editor/_source/classes/fckplugin.js b/lib/editor/_source/classes/fckplugin.js
deleted file mode 100644
index 7ff356e..0000000
--- a/lib/editor/_source/classes/fckplugin.js
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
- * FCKeditor - The text editor for internet
- * Copyright (C) 2003-2004 Frederico Caldeira Knabben
- *
- * Licensed under the terms of the GNU Lesser General Public License:
- * http://www.opensource.org/licenses/lgpl-license.php
- *
- * For further information visit:
- * http://www.fckeditor.net/
- *
- * File Name: fckplugin.js
- * FCKPlugin Class: Represents a single plugin.
- *
- * Version: 2.0 RC2
- * Modified: 2004-11-22 11:12:10
- *
- * File Authors:
- * Frederico Caldeira Knabben (fredck@fckeditor.net)
- */
-
-// Certifies that the "PluginsPath" configuration ends with a slash.
-if ( !FCKConfig.PluginsPath.endsWith('/') )
- FCKConfig.PluginsPath += '/' ;
-
-var FCKPlugin = function( name, availableLangs )
-{
- this.Name = name ;
- this.Path = FCKConfig.PluginsPath + name + '/' ;
-
- if ( availableLangs.length == 0 )
- this.AvailableLangs = new Array() ;
- else
- this.AvailableLangs = availableLangs.split(',') ;
-}
-
-FCKPlugin.prototype.Load = function()
-{
- // Load the language file, if defined.
- if ( this.AvailableLangs.length > 0 )
- {
- // Check if the plugin has the language file for the active language.
- if ( this.AvailableLangs.indexOf( FCKLanguageManager.ActiveLanguage.Code ) >= 0 )
- var sLang = FCKLanguageManager.ActiveLanguage.Code ;
- else
- // Load the default language file (first one) if the current one is not available.
- var sLang = this.AvailableLangs[0] ;
-
- // Add the main plugin script.
- FCKScriptLoader.AddScript( this.Path + 'lang/' + sLang + '.js' ) ;
- }
-
- // Add the main plugin script.
- FCKScriptLoader.AddScript( this.Path + 'fckplugin.js' ) ;
-} \ No newline at end of file
diff --git a/lib/editor/_source/classes/fckspecialcombo.js b/lib/editor/_source/classes/fckspecialcombo.js
deleted file mode 100644
index 4163d40..0000000
--- a/lib/editor/_source/classes/fckspecialcombo.js
+++ /dev/null
@@ -1,206 +0,0 @@
-/*
- * FCKeditor - The text editor for internet
- * Copyright (C) 2003-2004 Frederico Caldeira Knabben
- *
- * Licensed under the terms of the GNU Lesser General Public License:
- * http://www.opensource.org/licenses/lgpl-license.php
- *
- * For further information visit:
- * http://www.fckeditor.net/
- *
- * File Name: fckspecialcombo.js
- * FCKSpecialCombo Class: represents a special combo.
- *
- * Version: 2.0 RC2
- * Modified: 2004-11-22 11:10:06
- *
- * File Authors:
- * Frederico Caldeira Knabben (fredck@fckeditor.net)
- */
-
-var FCKSpecialCombo = function( caption )
-{
- // Default properties values.
- this.FieldWidth = 80 ;
- this.PanelWidth = 130 ;
- this.PanelMaxHeight = 150 ;
- this.Label = '&nbsp;' ;
- this.Caption = caption ;
-
- this.Enabled = true ;
-
- this.Items = new Object() ;
-
- this._Panel = new FCKPanel() ;
- this._Panel.StyleSheet = FCKConfig.SkinPath + 'fck_contextmenu.css' ;
- this._Panel.Create() ;
- this._Panel.PanelDiv.className += ' SC_Panel' ;
- this._Panel.PanelDiv.innerHTML = '<table cellpadding="0" cellspacing="0" width="100%" style="TABLE-LAYOUT: fixed"><tr><td nowrap></td></tr></table>' ;
-
- this._ItemsHolderEl = this._Panel.PanelDiv.getElementsByTagName('TD')[0] ;
-}
-
-FCKSpecialCombo.prototype.AddItem = function( id, html, label )
-{
- // <div class="SC_Item" onmouseover="this.className='SC_Item SC_ItemOver';" onmouseout="this.className='SC_Item';"><b>Bold 1</b></div>
- var oDiv = this._ItemsHolderEl.appendChild( this._Panel.Document.createElement( 'DIV' ) ) ;
- oDiv.className = oDiv.originalClass = 'SC_Item' ;
- oDiv.innerHTML = html ;
- oDiv.FCKItemID = id ;
- oDiv.FCKItemLabel = label ? label : id ;
- oDiv.FCKSpecialCombo = this ;
- oDiv.Selected = false ;
-
- oDiv.onmouseover = function()
- {
- this.className += ' SC_ItemOver' ;
- }
-
- oDiv.onmouseout = function()
- {
- this.className = this.originalClass ;
- }
-
- oDiv.onclick = function()
- {
- this.FCKSpecialCombo._Panel.Hide() ;
-
- this.FCKSpecialCombo.SetLabel( this.FCKItemLabel ) ;
-
- if ( typeof( this.FCKSpecialCombo.OnSelect ) == 'function' )
- this.FCKSpecialCombo.OnSelect( this.FCKItemID, this ) ;
- }
-
- this.Items[ id.toString().toLowerCase() ] = oDiv ;
-
- return oDiv ;
-}
-
-FCKSpecialCombo.prototype.SelectItem = function( itemId )
-{
- itemId = itemId ? itemId.toString().toLowerCase() : '' ;
-
- var oDiv = this.Items[ itemId ] ;
- if ( oDiv )
- {
- oDiv.className = oDiv.originalClass = 'SC_ItemSelected' ;
- oDiv.Selected = true ;
- }
-}
-
-FCKSpecialCombo.prototype.DeselectAll = function()
-{
- for ( var i in this.Items )
- {
- this.Items[i].className = this.Items[i].originalClass = 'SC_Item' ;
- this.Items[i].Selected = false ;
- }
-}
-
-FCKSpecialCombo.prototype.SetLabelById = function( id )
-{
- FCKDebug.Output( this.Caption + ': ' + id, '#0000FF' ) ;
-
- id = id ? id.toString().toLowerCase() : '' ;
-
- var oDiv = this.Items[ id ] ;
- this.SetLabel( oDiv ? oDiv.FCKItemLabel : '' ) ;
-}
-
-FCKSpecialCombo.prototype.SetLabel = function( text )
-{
- this.Label = text.length == 0 ? '&nbsp;' : text ;
-
- if ( this._LabelEl )
- this._LabelEl.innerHTML = this.Label ;
-}
-
-FCKSpecialCombo.prototype.SetEnabled = function( isEnabled )
-{
- this.Enabled = isEnabled ;
-
- this._OuterTable.className = isEnabled ? '' : 'SC_FieldDisabled' ;
-}
-
-FCKSpecialCombo.prototype.Create = function( targetElement )
-{
- this._OuterTable = targetElement.appendChild( document.createElement( 'TABLE' ) ) ;
- this._OuterTable.cellPadding = 0 ;
- this._OuterTable.cellSpacing = 0 ;
-
- this._OuterTable.insertRow(-1) ;
-
- if ( this.Caption && this.Caption.length > 0 )
- {
- var oCaptionCell = this._OuterTable.rows[0].insertCell(-1) ;
- oCaptionCell.unselectable = 'on' ;
- oCaptionCell.innerHTML = this.Caption ;
- oCaptionCell.className = 'SC_FieldCaption' ;
- }
-
- // Create the main DIV element.
- var oField = this._OuterTable.rows[0].insertCell(-1).appendChild( document.createElement( 'DIV' ) ) ;
- oField.className = 'SC_Field' ;
- oField.style.width = this.FieldWidth + 'px' ;
- oField.innerHTML = '<table width="100%" cellpadding="0" cellspacing="0" style="TABLE-LAYOUT: fixed;" unselectable="on"><tbody><tr><td class="SC_FieldLabel" unselectable="on"><label unselectable="on">&nbsp;</label></td><td class="SC_FieldButton" unselectable="on">&nbsp;</td></tr></tbody></table>' ;
-
- this._LabelEl = oField.getElementsByTagName('label')[0] ;
- this._LabelEl.innerHTML = this.Label ;
-
- /* Events Handlers */
-
- oField.SpecialCombo = this ;
-
- oField.onmouseover = function()
- {
- if ( this.SpecialCombo.Enabled )
- this.className='SC_Field SC_FieldOver' ;
- }
-
- oField.onmouseout = function()
- {
- this.className='SC_Field' ;
- }
-
- oField.onclick = function( e )
- {
- // For Mozilla we must stop the event propagation to avoid it hiding
- // the panel because of a click outside of it.
- if ( e )
- {
- e.stopPropagation() ;
- FCKPanelEventHandlers.OnDocumentClick( e ) ;
- }
-
- if ( this.SpecialCombo.Enabled )
- {
- if ( typeof( this.SpecialCombo.OnBeforeClick ) == 'function' )
- this.SpecialCombo.OnBeforeClick( this.SpecialCombo ) ;
-
- if ( this.SpecialCombo._ItemsHolderEl.offsetHeight > this.SpecialCombo.PanelMaxHeight )
- this.SpecialCombo._Panel.PanelDiv.style.height = this.SpecialCombo.PanelMaxHeight + 'px' ;
- else
- this.SpecialCombo._Panel.PanelDiv.style.height = this.SpecialCombo._ItemsHolderEl.offsetHeight + 'px' ;
-
- this.SpecialCombo._Panel.PanelDiv.style.width = this.SpecialCombo.PanelWidth + 'px' ;
- this.SpecialCombo._Panel.Show( 0, this.offsetHeight, this, null, this.SpecialCombo.PanelMaxHeight, true ) ;
- }
-
- return false ;
- }
-}
-
-/*
-Sample Combo Field HTML output:
-
-<div class="SC_Field" style="width: 80px;">
- <table width="100%" cellpadding="0" cellspacing="0" style="table-layout: fixed;">
- <tbody>
- <tr>
- <td class="SC_FieldLabel"><label>&nbsp;</label></td>
- <td class="SC_FieldButton">&nbsp;</td>
- </tr>
- </tbody>
- </table>
-</div>
-*/ \ No newline at end of file
diff --git a/lib/editor/_source/classes/fckstyledef.js b/lib/editor/_source/classes/fckstyledef.js
deleted file mode 100644
index f982abf..0000000
--- a/lib/editor/_source/classes/fckstyledef.js
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
- * FCKeditor - The text editor for internet
- * Copyright (C) 2003-2004 Frederico Caldeira Knabben
- *
- * Licensed under the terms of the GNU Lesser General Public License:
- * http://www.opensource.org/licenses/lgpl-license.php
- *
- * For further information visit:
- * http://www.fckeditor.net/
- *
- * File Name: fckstyledef.js
- * FCKStyleDef Class: represents a single stylke definition.
- *
- * Version: 2.0 RC2
- * Modified: 2004-11-22 11:09:42
- *
- * File Authors:
- * Frederico Caldeira Knabben (fredck@fckeditor.net)
- */
-
-var FCKStyleDef = function( name, element )
-{
- this.Name = name ;
- this.Element = element.toUpperCase() ;
- this.IsObjectElement = FCKRegexLib.ObjectElements.test( this.Element ) ;
- this.Attributes = new Object() ;
-}
-
-FCKStyleDef.prototype.AddAttribute = function( name, value )
-{
- this.Attributes[ name ] = value ;
-}
-
-FCKStyleDef.prototype.GetOpenerTag = function()
-{
- var s = '<' + this.Element ;
-
- for ( var a in this.Attributes )
- s += ' ' + a + '="' + this.Attributes[a] + '"' ;
-
- return s + '>' ;
-}
-
-FCKStyleDef.prototype.GetCloserTag = function()
-{
- return '</' + this.Element + '>' ;
-}
-
-
-FCKStyleDef.prototype.RemoveFromSelection = function()
-{
- if ( FCKSelection.GetType() == 'Control' )
- this._RemoveMe( FCKSelection.GetSelectedElement() ) ;
- else
- this._RemoveMe( FCKSelection.GetParentElement() ) ;
-} \ No newline at end of file
diff --git a/lib/editor/_source/classes/fckstyledef_gecko.js b/lib/editor/_source/classes/fckstyledef_gecko.js
deleted file mode 100644
index 4a2a6d1..0000000
--- a/lib/editor/_source/classes/fckstyledef_gecko.js
+++ /dev/null
@@ -1,108 +0,0 @@
-/*
- * FCKeditor - The text editor for internet
- * Copyright (C) 2003-2004 Frederico Caldeira Knabben
- *
- * Licensed under the terms of the GNU Lesser General Public License:
- * http://www.opensource.org/licenses/lgpl-license.php
- *
- * For further information visit:
- * http://www.fckeditor.net/
- *
- * File Name: fckstyledef_gecko.js
- * FCKStyleDef Class: represents a single stylke definition. (Gecko specific)
- *
- * Version: 2.0 RC2
- * Modified: 2004-11-22 11:09:45
- *
- * File Authors:
- * Frederico Caldeira Knabben (fredck@fckeditor.net)
- */
-
-FCKStyleDef.prototype.ApplyToSelection = function()
-{
- if ( FCKSelection.GetType() == 'Text' && !this.IsObjectElement )
- {
- var oSelection = FCK.EditorWindow.getSelection() ;
-
- // Create the main element.
- var e = FCK.EditorDocument.createElement( this.Element ) ;
-
- for ( var i = 0 ; i < oSelection.rangeCount ; i++ )
- {
- e.appendChild( oSelection.getRangeAt(i).extractContents() ) ;
- }
-
- // Set the attributes.
- this._AddAttributes( e ) ;
-
- // Remove the duplicated elements.
- this._RemoveDuplicates( e ) ;
-
- var oRange = oSelection.getRangeAt(0) ;
- oRange.insertNode( e ) ;
- }
- else
- {
- var oControl = FCKSelection.GetSelectedElement() ;
- if ( oControl.tagName == this.Element )
- this._AddAttributes( oControl ) ;
- }
-}
-
-FCKStyleDef.prototype._AddAttributes = function( targetElement )
-{
- for ( var a in this.Attributes )
- targetElement.setAttribute( a, this.Attributes[a], 0 ) ;
-}
-
-FCKStyleDef.prototype._RemoveDuplicates = function( parent )
-{
- for ( var i = 0 ; i < parent.childNodes.length ; i++ )
- {
- var oChild = parent.childNodes[i] ;
-
- if ( oChild.nodeType != 1 )
- continue ;
-
- this._RemoveDuplicates( oChild ) ;
-
- if ( this.IsEqual( oChild ) )
- FCKTools.RemoveOuterTags( oChild ) ;
- }
-}
-
-FCKStyleDef.prototype.IsEqual = function( e )
-{
- if ( e.tagName != this.Element )
- return false ;
-
- for ( var a in this.Attributes )
- {
- if ( e.getAttribute( a ) != this.Attributes[a] )
- return false ;
- }
-
- return true ;
-}
-
-FCKStyleDef.prototype._RemoveMe = function( elementToCheck )
-{
- if ( ! elementToCheck )
- return ;
-
- var oParent = elementToCheck.parentNode ;
-
- if ( elementToCheck.nodeType == 1 && this.IsEqual( elementToCheck ) )
- {
- if ( this.IsObjectElement )
- {
- for ( var a in this.Attributes )
- elementToCheck.removeAttribute( a, 0 ) ;
- return ;
- }
- else
- FCKTools.RemoveOuterTags( elementToCheck ) ;
- }
-
- this._RemoveMe( oParent ) ;
-} \ No newline at end of file
diff --git a/lib/editor/_source/classes/fckstyledef_ie.js b/lib/editor/_source/classes/fckstyledef_ie.js
deleted file mode 100644
index b3a16a3..0000000
--- a/lib/editor/_source/classes/fckstyledef_ie.js
+++ /dev/null
@@ -1,131 +0,0 @@
-/*
- * FCKeditor - The text editor for internet
- * Copyright (C) 2003-2004 Frederico Caldeira Knabben
- *
- * Licensed under the terms of the GNU Lesser General Public License:
- * http://www.opensource.org/licenses/lgpl-license.php
- *
- * For further information visit:
- * http://www.fckeditor.net/
- *
- * File Name: fckstyledef_ie.js
- * FCKStyleDef Class: represents a single stylke definition. (IE specific)
- *
- * Version: 2.0 RC2
- * Modified: 2004-11-22 11:09:44
- *
- * File Authors:
- * Frederico Caldeira Knabben (fredck@fckeditor.net)
- */
-
-FCKStyleDef.prototype.ApplyToSelection = function()
-{
- var oSelection = FCK.EditorDocument.selection ;
-
- if ( oSelection.type == 'Text' )
- {
- var oRange = oSelection.createRange() ;
-
- // Create the main element.
- var e = document.createElement( this.Element ) ;
- e.innerHTML = oRange.htmlText ;
-
- // Set the attributes.
- this._AddAttributes( e ) ;
-
- // Remove the duplicated elements.
- this._RemoveDuplicates( e ) ;
-
- // Replace the selection with the resulting HTML.
- oRange.pasteHTML( e.outerHTML ) ;
- }
- else if ( oSelection.type == 'Control' )
- {
- var oControl = FCKSelection.GetSelectedElement() ;
- if ( oControl.tagName == this.Element )
- this._AddAttributes( oControl ) ;
- }
-}
-
-FCKStyleDef.prototype._AddAttributes = function( targetElement )
-{
- for ( var a in this.Attributes )
- {
- if ( a.toLowerCase() == 'style' )
- targetElement.style.cssText = this.Attributes[a] ;
- else
- targetElement.setAttribute( a, this.Attributes[a], 0 ) ;
- }
-}
-
-FCKStyleDef.prototype._RemoveDuplicates = function( parent )
-{
- for ( var i = 0 ; i < parent.children.length ; i++ )
- {
- var oChild = parent.children[i] ;
- this._RemoveDuplicates( oChild ) ;
-
- if ( this.IsEqual( oChild ) )
- {
- oChild.insertAdjacentHTML( 'beforeBegin', oChild.innerHTML ) ;
- oChild.parentElement.removeChild( oChild ) ;
- }
- }
-}
-
-FCKStyleDef.prototype.IsEqual = function( e )
-{
- if ( e.tagName != this.Element )
- return false ;
-
- for ( var a in this.Attributes )
- {
- switch ( a.toLowerCase() )
- {
- case 'style' :
- if ( e.style.cssText.toLowerCase() != this.Attributes[a].toLowerCase() )
- return false ;
- break ;
- case 'class' :
- if ( e.getAttribute( 'className', 0 ) != this.Attributes[a] )
- return false ;
- break ;
- default :
- if ( e.getAttribute( a, 0 ) != this.Attributes[a] )
- return false ;
- }
- }
-
- return true ;
-}
-
-FCKStyleDef.prototype._RemoveMe = function( elementToCheck )
-{
- if ( ! elementToCheck )
- return ;
-
- var oParent = elementToCheck.parentElement ;
-
- if ( this.IsEqual( elementToCheck ) )
- {
- if ( this.IsObjectElement )
- {
- for ( var a in this.Attributes )
- {
- switch ( a.toLowerCase() )
- {
- case 'class' :
- elementToCheck.removeAttribute( 'className', 0 ) ;
- break ;
- default :
- elementToCheck.removeAttribute( a, 0 ) ;
- }
- }
- return ;
- }
- else
- FCKTools.RemoveOuterTags( elementToCheck ) ;
- }
-
- this._RemoveMe( oParent ) ;
-} \ No newline at end of file
diff --git a/lib/editor/_source/classes/fckstylesloader.js b/lib/editor/_source/classes/fckstylesloader.js
deleted file mode 100644
index 165a192..0000000
--- a/lib/editor/_source/classes/fckstylesloader.js
+++ /dev/null
@@ -1,85 +0,0 @@
-/*
- * FCKeditor - The text editor for internet
- * Copyright (C) 2003-2004 Frederico Caldeira Knabben
- *
- * Licensed under the terms of the GNU Lesser General Public License:
- * http://www.opensource.org/licenses/lgpl-license.php
- *
- * For further information visit:
- * http://www.fckeditor.net/
- *
- * File Name: fckstylesloader.js
- * FCKStylesLoader Class: this class define objects that are responsible
- * for loading the styles defined in the XML file.
- *
- * Version: 2.0 RC2
- * Modified: 2004-11-22 18:08:11
- *
- * File Authors:
- * Frederico Caldeira Knabben (fredck@fckeditor.net)
- */
-
-var FCKStylesLoader = function()
-{
- this.Styles = new Object() ;
- this.StyleGroups = new Object() ;
- this.Loaded = false ;
- this.HasObjectElements = false ;
-}
-
-FCKStylesLoader.prototype.Load = function( stylesXmlUrl )
-{
- // Load the XML file into a FCKXml object.
- var oXml = new FCKXml() ;
- oXml.LoadUrl( stylesXmlUrl ) ;
-
- // Get the "Style" nodes defined in the XML file.
- var aStyleNodes = oXml.SelectNodes( 'Styles/Style' ) ;
-
- // Add each style to our "Styles" collection.
- for ( var i = 0 ; i < aStyleNodes.length ; i++ )
- {
- var sElement = aStyleNodes[i].attributes.getNamedItem('element').value.toUpperCase() ;
-
- // Create the style definition object.
- var oStyleDef = new FCKStyleDef( aStyleNodes[i].attributes.getNamedItem('name').value, sElement ) ;
-
- if ( oStyleDef.IsObjectElement )
- this.HasObjectElements = true ;
-
- // Get the attributes defined for the style (if any).
- var aAttNodes = oXml.SelectNodes( 'Attribute', aStyleNodes[i] ) ;
-
- // Add the attributes to the style definition object.
- for ( var j = 0 ; j < aAttNodes.length ; j++ )
- {
- var sAttName = aAttNodes[j].attributes.getNamedItem('name').value ;
- var sAttValue = aAttNodes[j].attributes.getNamedItem('value').value ;
-
- // IE changes the "style" attribute value when applied to an element
- // so we must get the final resulting value (for comparision issues).
- if ( sAttName.toLowerCase() == 'style' )
- {
- var oTempE = document.createElement( 'SPAN' ) ;
- oTempE.style.cssText = sAttValue ;
- sAttValue = oTempE.style.cssText ;
- }
-
- oStyleDef.AddAttribute( sAttName, sAttValue ) ;
- }
-
- // Add the style to the "Styles" collection using it's name as the key.
- this.Styles[ oStyleDef.Name ] = oStyleDef ;
-
- // Add the style to the "StyleGroups" collection.
- var aGroup = this.StyleGroups[sElement] ;
- if ( aGroup == null )
- {
- this.StyleGroups[sElement] = new Array() ;
- aGroup = this.StyleGroups[sElement] ;
- }
- aGroup[aGroup.length] = oStyleDef ;
- }
-
- this.Loaded = true ;
-} \ No newline at end of file
diff --git a/lib/editor/_source/classes/fcktoolbar.js b/lib/editor/_source/classes/fcktoolbar.js
deleted file mode 100644
index c4967f6..0000000
--- a/lib/editor/_source/classes/fcktoolbar.js
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
- * FCKeditor - The text editor for internet
- * Copyright (C) 2003-2004 Frederico Caldeira Knabben
- *
- * Licensed under the terms of the GNU Lesser General Public License:
- * http://www.opensource.org/licenses/lgpl-license.php
- *
- * For further information visit:
- * http://www.fckeditor.net/
- *
- * File Name: fcktoolbar.js
- * FCKToolbar Class: represents a toolbar. A toolbar is not the complete
- * toolbar set visible, but just a strip on it... a group of items.
- *
- * Version: 2.0 RC2
- * Modified: 2004-05-31 23:07:47
- *
- * File Authors:
- * Frederico Caldeira Knabben (fredck@fckeditor.net)
- */
-
-var FCKToolbar = function()
-{
- this.Items = new Array() ;
-
- this.DOMTable = document.createElement( 'table' ) ;
- this.DOMTable.className = 'TB_Toolbar' ;
- with ( this.DOMTable )
- {
- // Sets the toolbar direction. IE uses "styleFloat" and Gecko uses "cssFloat".
- style.styleFloat = style.cssFloat = FCKLang.Dir == 'rtl' ? 'right' : 'left' ;
-
- cellPadding = 0 ;
- cellSpacing = 0 ;
- border = 0 ;
- }
-
- this.DOMRow = this.DOMTable.insertRow(-1) ;
-
- var oCell = this.DOMRow.insertCell(-1) ;
- oCell.className = 'TB_Start' ;
- oCell.innerHTML = '<img src="' + FCKConfig.SkinPath + 'images/toolbar.start.gif" width="7" height="21" style="VISIBILITY: hidden" onload="this.style.visibility = \'\';" unselectable="on">' ;
-
- FCKToolbarSet.DOMElement.appendChild( this.DOMTable ) ;
-}
-
-FCKToolbar.prototype.AddItem = function( toolbarItem )
-{
- this.Items[ this.Items.length ] = toolbarItem ;
- toolbarItem.CreateInstance( this ) ;
-}
-
-FCKToolbar.prototype.AddSeparator = function()
-{
- var oCell = this.DOMRow.insertCell(-1) ;
- oCell.unselectable = 'on' ;
- oCell.innerHTML = '<img src="' + FCKConfig.SkinPath + 'images/toolbar.separator.gif" width="5" height="21" style="VISIBILITY: hidden" onload="this.style.visibility = \'\';" unselectable="on">' ;
-}
-
-FCKToolbar.prototype.AddTerminator = function()
-{
- var oCell = this.DOMRow.insertCell(-1) ;
- oCell.className = 'TB_End' ;
- oCell.innerHTML = '<img src="' + FCKConfig.SkinPath + 'images/toolbar.end.gif" width="12" height="21" style="VISIBILITY: hidden" onload="this.style.visibility = \'\';" unselectable="on">' ;
-}
-
diff --git a/lib/editor/_source/classes/fcktoolbarbutton.js b/lib/editor/_source/classes/fcktoolbarbutton.js
deleted file mode 100644
index 249f316..0000000
--- a/lib/editor/_source/classes/fcktoolbarbutton.js
+++ /dev/null
@@ -1,130 +0,0 @@
-/*
- * FCKeditor - The text editor for internet
- * Copyright (C) 2003-2004 Frederico Caldeira Knabben
- *
- * Licensed under the terms of the GNU Lesser General Public License:
- * http://www.opensource.org/licenses/lgpl-license.php
- *
- * For further information visit:
- * http://www.fckeditor.net/
- *
- * File Name: fcktoolbarbutton.js
- * FCKToolbarButton Class: represents a button in the toolbar.
- *
- * Version: 2.0 RC2
- * Modified: 2004-11-16 00:40:01
- *
- * File Authors:
- * Frederico Caldeira Knabben (fredck@fckeditor.net)
- */
-
-var FCKToolbarButton = function( commandName, label, tooltip, style, sourceView )
-{
- this.Command = FCKCommands.GetCommand( commandName ) ;
- this.Label = label ? label : commandName ;
- this.Tooltip = tooltip ? tooltip : ( label ? label : commandName) ;
- this.Style = style ? style : FCK_TOOLBARITEM_ONLYICON ;
- this.SourceView = sourceView ? true : false ;
- this.IconPath = FCKConfig.SkinPath + 'toolbar/button.' + commandName.toLowerCase() + '.gif' ;
- this.State = FCK_UNKNOWN ;
-}
-
-FCKToolbarButton.prototype.CreateInstance = function( parentToolbar )
-{
-/*
- <td title="Bold" class="TB_Button_Off" unselectable="on" onmouseover="Button_OnMouseOver(this);" onmouseout="Button_OnMouseOut(this);">
- <table class="TB_ButtonType_Icon" cellspacing="0" cellpadding="0" border="0">
- <tr>
- <td class="TB_Icon"><img src="icons/button.redo.gif" width="21" height="21"></td>
- <td class="TB_Text" unselectable="on">Redo</td>
- </tr>
- </table>
- </td>
-*/
- this.DOMDiv = document.createElement( 'div' ) ;
- this.DOMDiv.className = 'TB_Button_Off' ;
-
- this.DOMDiv.FCKToolbarButton = this ;
-
- this.DOMDiv.onmouseover = function()
- {
- if ( this.FCKToolbarButton.State != FCK_TRISTATE_DISABLED )
- {
- this.className = 'TB_Button_On' ;
- }
- }
-
- this.DOMDiv.onmouseout = function()
- {
- if ( this.FCKToolbarButton.State != FCK_TRISTATE_DISABLED && this.FCKToolbarButton.State != FCK_TRISTATE_ON )
- {
- this.className = 'TB_Button_Off' ;
- }
- }
-
- this.DOMDiv.onclick = function()
- {
- if ( this.FCKToolbarButton.State != FCK_TRISTATE_DISABLED )
- this.FCKToolbarButton.Command.Execute() ;
- return false ;
- }
-
- // Gets the correct CSS class to use for the specified style (param).
- var sClass ;
- switch ( this.Style )
- {
- case FCK_TOOLBARITEM_ONLYICON :
- sClass = 'TB_ButtonType_Icon' ;
- break ;
- case FCK_TOOLBARITEM_ONLYTEXT :
- sClass = 'TB_ButtonType_Text' ;
- break ;
- case FCK_TOOLBARITEM_ICONTEXT :
- sClass = '' ;
- break ;
- }
-
- this.DOMDiv.innerHTML =
- '<table title="' + this.Tooltip + '" class="' + sClass + '" cellspacing="0" cellpadding="0" border="0" unselectable="on">' +
- '<tr>' +
- '<td class="TB_Icon" unselectable="on"><img src="' + this.IconPath + '" width="21" height="21" unselectable="on"></td>' +
- '<td class="TB_Text" unselectable="on">' + this.Label + '</td>' +
- '</tr>' +
- '</table>' ;
-
-
- var oCell = parentToolbar.DOMRow.insertCell(-1) ;
- oCell.appendChild( this.DOMDiv ) ;
-
- this.RefreshState() ;
-}
-
-FCKToolbarButton.prototype.RefreshState = function()
-{
- // Gets the actual state.
- var eState ;
-
- if ( FCK.EditMode == FCK_EDITMODE_SOURCE && ! this.SourceView )
- eState = FCK_TRISTATE_DISABLED ;
- else
- eState = this.Command.GetState() ;
-
- // If there are no state changes than do nothing and return.
- if ( eState == this.State ) return ;
-
- // Sets the actual state.
- this.State = eState ;
-
- switch ( this.State )
- {
- case FCK_TRISTATE_ON :
- this.DOMDiv.className = 'TB_Button_On' ;
- break ;
- case FCK_TRISTATE_OFF :
- this.DOMDiv.className = 'TB_Button_Off' ;
- break ;
- default :
- this.DOMDiv.className = 'TB_Button_Disabled' ;
- break ;
- }
-} \ No newline at end of file
diff --git a/lib/editor/_source/classes/fcktoolbarcombo.js b/lib/editor/_source/classes/fcktoolbarcombo.js
deleted file mode 100644
index 6ac6a71..0000000
--- a/lib/editor/_source/classes/fcktoolbarcombo.js
+++ /dev/null
@@ -1,150 +0,0 @@
-/*
- * FCKeditor - The text editor for internet
- * Copyright (C) 2003-2004 Frederico Caldeira Knabben
- *
- * Licensed under the terms of the GNU Lesser General Public License:
- * http://www.opensource.org/licenses/lgpl-license.php
- *
- * For further information visit:
- * http://www.fckeditor.net/
- *
- * File Name: fcktoolbarcombo.js
- * FCKToolbarCombo Class: represents a combo in the toolbar.
- *
- * Version: 2.0 RC2
- * Modified: 2004-11-10 17:14:48
- *
- * File Authors:
- * Frederico Caldeira Knabben (fredck@fckeditor.net)
- */
-
-var FCKToolbarCombo = function( commandName, label, itemsValues, itemsNames, tooltip, style, firstIsBlank, itemsSeparator, sourceView )
-{
- this.Command = FCKCommands.GetCommand( commandName ) ;
-
- this.Label = label ? label : commandName ;
- this.Tooltip = tooltip ? tooltip : ( label ? label : commandName) ;
- this.Style = style ? style : FCK_TOOLBARITEM_ICONTEXT ;
- this.SourceView = sourceView ? true : false ;
- this.State = FCK_UNKNOWN ;
-
- this.ItemsValues = itemsValues ;
- this.ItemsNames = itemsNames ? itemsNames : itemsValues ;
- this.ItemsSeparator = itemsSeparator ? itemsSeparator : ';' ;
-
- this.FirstIsBlank = firstIsBlank != null ? firstIsBlank : true ;
-}
-
-FCKToolbarCombo.prototype.CreateInstance = function( parentToolbar )
-{
-/*
- <td class="TB_Combo_Disabled" unselectable="on">
- <table class="ButtonType_IconText" cellspacing="0" cellpadding="0" border="0">
- <tr>
- <td class="TB_Text" unselectable="on">Style</td>
- <td><select title="Style"><option>Style 1</option><option>Style 2</option></select></td>
- </tr>
- </table>
- </td>
-*/
- this.DOMDiv = document.createElement( 'div' ) ;
- this.DOMDiv.className = 'TB_Combo_Off' ;
-
- // Gets the correct CSS class to use for the specified style (param).
- var sClass ;
- switch ( this.Style )
- {
- case FCK_TOOLBARITEM_ONLYICON :
- sClass = 'TB_ButtonType_Icon' ;
- break ;
- case FCK_TOOLBARITEM_ONLYTEXT :
- sClass = 'TB_ButtonType_Text' ;
- break ;
- case FCK_TOOLBARITEM_ICONTEXT :
- sClass = '' ;
- break ;
- }
-
- this.DOMDiv.innerHTML =
- '<table class="' + sClass + '" cellspacing="0" cellpadding="0" border="0" unselectable="on">' +
- '<tr>' +
- '<td class="TB_Text" unselectable="on" nowrap>' + this.Label + '</td>' +
- '<td unselectable="on"><select title="' + this.Tooltip + '"></select></td>' +
- '</tr>' +
- '</table>' ;
-
- // Gets the SELECT element.
- this.SelectElement = this.DOMDiv.firstChild.firstChild.firstChild.childNodes.item(1).firstChild ;
-
- this.SelectElement.FCKToolbarCombo = this ;
-
- this.SelectElement.onchange = function()
- {
- this.FCKToolbarCombo.Command.Execute( this.value ) ;
- return false ;
- }
-
- var oCell = parentToolbar.DOMRow.insertCell(-1) ;
- oCell.appendChild( this.DOMDiv ) ;
-
- // Loads all combo items.
- this.RefreshItems() ;
-
- // Sets its initial state (probably disabled).
- this.RefreshState() ;
-}
-
-FCKToolbarCombo.prototype.RefreshItems = function()
-{
- // Create the empty arrays of items to add (names and values)
- var aNames = FCKTools.GetResultingArray( this.ItemsNames, this.ItemsSeparator ) ;
- var aValues = FCKTools.GetResultingArray( this.ItemsValues, this.ItemsSeparator ) ;
-
- // Clean up the combo.
- FCKTools.RemoveAllSelectOptions( this.SelectElement ) ;
-
- // Verifies if the first item in the combo must be blank.
- if ( this.FirstIsBlank )
- FCKTools.AddSelectOption( document, this.SelectElement, '', '' ) ;
-
- // Add all items to the combo.
- for ( var i = 0 ; i < aValues.length ; i++ )
- {
- FCKTools.AddSelectOption( document, this.SelectElement, aNames[i], aValues[i] ) ;
- }
-}
-
-FCKToolbarCombo.prototype.RefreshState = function()
-{
- // Gets the actual state.
- var eState ;
-
- if ( FCK.EditMode == FCK_EDITMODE_SOURCE && ! this.SourceView )
- {
- eState = FCK_TRISTATE_DISABLED ;
-
- // Cleans the actual selection.
- this.SelectElement.value = '' ;
- }
- else
- {
- var sValue = this.Command.GetState() ;
-
- // Sets the combo value.
- FCKTools.SelectNoCase( this.SelectElement, sValue ? sValue : '', '' ) ;
-
- // Gets the actual state.
- eState = sValue == null ? FCK_TRISTATE_DISABLED : FCK_TRISTATE_ON ;
- }
-
- // If there are no state changes then do nothing and return.
- if ( eState == this.State ) return ;
-
- // Sets the actual state.
- this.State = eState ;
-
- // Updates the graphical state.
- this.DOMDiv.className = ( eState == FCK_TRISTATE_ON ? 'TB_Combo_Off' : 'TB_Combo_Disabled' ) ;
- this.SelectElement.disabled = ( eState == FCK_TRISTATE_DISABLED ) ;
-}
-
diff --git a/lib/editor/_source/classes/fcktoolbarfontformatcombo.js b/lib/editor/_source/classes/fcktoolbarfontformatcombo.js
deleted file mode 100644
index 4d702ae..0000000
--- a/lib/editor/_source/classes/fcktoolbarfontformatcombo.js
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- * FCKeditor - The text editor for internet
- * Copyright (C) 2003-2004 Frederico Caldeira Knabben
- *
- * Licensed under the terms of the GNU Lesser General Public License:
- * http://www.opensource.org/licenses/lgpl-license.php
- *
- * For further information visit:
- * http://www.fckeditor.net/
- *
- * File Name: fcktoolbarfontformatcombo.js
- * FCKToolbarPanelButton Class: Handles the Fonts combo selector.
- *
- * Version: 2.0 RC2
- * Modified: 2004-12-05 22:25:20
- *
- * File Authors:
- * Frederico Caldeira Knabben (fredck@fckeditor.net)
- */
-
-var FCKToolbarFontFormatCombo = function()
-{
- this.Command = FCKCommands.GetCommand( 'FontFormat' ) ;
-}
-
-// Inherit from FCKToolbarSpecialCombo.
-FCKToolbarFontFormatCombo.prototype = new FCKToolbarSpecialCombo ;
-
-FCKToolbarFontFormatCombo.prototype.GetLabel = function()
-{
- return FCKLang.FontFormat ;
-}
-
-FCKToolbarFontFormatCombo.prototype.CreateItems = function( targetSpecialCombo )
-{
- // Get the format names from the language file.
- var aNames = FCKLang['FontFormats'].split(';') ;
- var oNames = {
- p : aNames[0],
- pre : aNames[1],
- address : aNames[2],
- h1 : aNames[3],
- h2 : aNames[4],
- h3 : aNames[5],
- h4 : aNames[6],
- h5 : aNames[7],
- h6 : aNames[8],
- div : aNames[9]
- } ;
-
- // Get the available formats from the configuration file.
- var aTags = FCKConfig.FontFormats.split(';') ;
-
- for ( var i = 0 ; i < aTags.length ; i++ )
- {
- if ( aTags[i] == 'div' && FCKBrowserInfo.IsGecko )
- continue ;
- this._Combo.AddItem( aTags[i], '<' + aTags[i] + '>' + oNames[aTags[i]] + '</' + aTags[i] + '>', oNames[aTags[i]] ) ;
- }
-} \ No newline at end of file
diff --git a/lib/editor/_source/classes/fcktoolbarfontscombo.js b/lib/editor/_source/classes/fcktoolbarfontscombo.js
deleted file mode 100644
index 153ca50..0000000
--- a/lib/editor/_source/classes/fcktoolbarfontscombo.js
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * FCKeditor - The text editor for internet
- * Copyright (C) 2003-2004 Frederico Caldeira Knabben
- *
- * Licensed under the terms of the GNU Lesser General Public License:
- * http://www.opensource.org/licenses/lgpl-license.php
- *
- * For further information visit:
- * http://www.fckeditor.net/
- *
- * File Name: fcktoolbarfontscombo.js
- * FCKToolbarPanelButton Class: Handles the Fonts combo selector.
- *
- * Version: 2.0 RC2
- * Modified: 2004-11-19 07:50:38
- *
- * File Authors:
- * Frederico Caldeira Knabben (fredck@fckeditor.net)
- */
-
-var FCKToolbarFontsCombo = function()
-{
- this.Command = FCKCommands.GetCommand( 'FontName' ) ;
-}
-
-// Inherit from FCKToolbarSpecialCombo.
-FCKToolbarFontsCombo.prototype = new FCKToolbarSpecialCombo ;
-
-FCKToolbarFontsCombo.prototype.GetLabel = function()
-{
- return FCKLang.Font ;
-}
-
-FCKToolbarFontsCombo.prototype.CreateItems = function( targetSpecialCombo )
-{
- var aFonts = FCKConfig.FontNames.split(';') ;
-
- for ( var i = 0 ; i < aFonts.length ; i++ )
- this._Combo.AddItem( aFonts[i], '<span style="font-family: \'' + aFonts[i] + '\'; font-size: 12px;">' + aFonts[i] + '</span>' ) ;
-} \ No newline at end of file
diff --git a/lib/editor/_source/classes/fcktoolbarfontsizecombo.js b/lib/editor/_source/classes/fcktoolbarfontsizecombo.js
deleted file mode 100644
index 00bd2eb..0000000
--- a/lib/editor/_source/classes/fcktoolbarfontsizecombo.js
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * FCKeditor - The text editor for internet
- * Copyright (C) 2003-2004 Frederico Caldeira Knabben
- *
- * Licensed under the terms of the GNU Lesser General Public License:
- * http://www.opensource.org/licenses/lgpl-license.php
- *
- * For further information visit:
- * http://www.fckeditor.net/
- *
- * File Name: fcktoolbarfontsizecombo.js
- * FCKToolbarPanelButton Class: Handles the Fonts combo selector.
- *
- * Version: 2.0 RC2
- * Modified: 2004-11-19 07:50:29
- *
- * File Authors:
- * Frederico Caldeira Knabben (fredck@fckeditor.net)
- */
-
-var FCKToolbarFontSizeCombo = function()
-{
- this.Command = FCKCommands.GetCommand( 'FontSize' ) ;
-}
-
-// Inherit from FCKToolbarSpecialCombo.
-FCKToolbarFontSizeCombo.prototype = new FCKToolbarSpecialCombo ;
-
-FCKToolbarFontSizeCombo.prototype.GetLabel = function()
-{
- return FCKLang.FontSize ;
-}
-
-FCKToolbarFontSizeCombo.prototype.CreateItems = function( targetSpecialCombo )
-{
- targetSpecialCombo.FieldWidth = 70 ;
-
- var aSizes = FCKConfig.FontSizes.split(';') ;
-
- for ( var i = 0 ; i < aSizes.length ; i++ )
- {
- var aSizeParts = aSizes[i].split('/') ;
- this._Combo.AddItem( aSizeParts[0], '<font size="' + aSizeParts[0] + '">' + aSizeParts[1] + '</font>', aSizeParts[1] ) ;
- }
-} \ No newline at end of file
diff --git a/lib/editor/_source/classes/fcktoolbarpanelbutton.js b/lib/editor/_source/classes/fcktoolbarpanelbutton.js
deleted file mode 100644
index c0c16c7..0000000
--- a/lib/editor/_source/classes/fcktoolbarpanelbutton.js
+++ /dev/null
@@ -1,117 +0,0 @@
-/*
- * FCKeditor - The text editor for internet
- * Copyright (C) 2003-2004 Frederico Caldeira Knabben
- *
- * Licensed under the terms of the GNU Lesser General Public License:
- * http://www.opensource.org/licenses/lgpl-license.php
- *
- * For further information visit:
- * http://www.fckeditor.net/
- *
- * File Name: fcktoolbarpanelbutton.js
- * FCKToolbarPanelButton Class: represents a special button in the toolbar
- * that shows a panel when pressed.
- *
- * Version: 2.0 RC2
- * Modified: 2004-11-30 09:26:22
- *
- * File Authors:
- * Frederico Caldeira Knabben (fredck@fckeditor.net)
- */
-
-var FCKToolbarPanelButton = function( commandName, label, tooltip, style )
-{
- this.Command = FCKCommands.GetCommand( commandName ) ;
- this.Label = label ? label : commandName ;
- this.Tooltip = tooltip ? tooltip : ( label ? label : commandName) ;
- this.Style = style ? style : FCK_TOOLBARITEM_ONLYICON ;
- this.State = FCK_UNKNOWN ;
-}
-
-FCKToolbarPanelButton.prototype.CreateInstance = function( parentToolbar )
-{
-/*
- <td title="Bold" class="TB_Button_Off" unselectable="on" onmouseover="Button_OnMouseOver(this);" onmouseout="Button_OnMouseOut(this);">
- <table class="TB_ButtonType_Icon" cellspacing="0" cellpadding="0" border="0">
- <tr>
- <td class="TB_Icon"><img src="icons/button.redo.gif" width="21" height="21" style="VISIBILITY: hidden" onload="this.style.visibility = '';"></td>
- <td class="TB_Text" unselectable="on">Redo</td>
- <td class="TB_ButtonArrow"><img src="skin/images/toolbar_buttonarrow.gif" width="5" height="3"></td>
- </tr>
- </table>
- </td>
-*/
- this.DOMDiv = document.createElement( 'div' ) ;
- this.DOMDiv.className = 'TB_Button_Off' ;
-
- this.DOMDiv.FCKToolbarButton = this ;
-
- this.DOMDiv.onmouseover = function()
- {
- if ( this.FCKToolbarButton.State != FCK_TRISTATE_DISABLED )
- {
- this.className = 'TB_Button_On' ;
- }
- }
-
- this.DOMDiv.onmouseout = function()
- {
- if ( this.FCKToolbarButton.State != FCK_TRISTATE_DISABLED && this.FCKToolbarButton.State != FCK_TRISTATE_ON )
- {
- this.className = 'TB_Button_Off' ;
- }
- }
-
- this.DOMDiv.onclick = function( e )
- {
- // For Mozilla we must stop the event propagation to avoid it hiding
- // the panel because of a click outside of it.
- if ( e )
- {
- e.stopPropagation() ;
- FCKPanelEventHandlers.OnDocumentClick( e ) ;
- }
-
- if ( this.FCKToolbarButton.State != FCK_TRISTATE_DISABLED )
- {
- this.FCKToolbarButton.Command.Execute(0, this.FCKToolbarButton.DOMDiv.offsetHeight, this.FCKToolbarButton.DOMDiv) ;
-// this.FCKToolbarButton.HandleOnClick( this.FCKToolbarButton, e ) ;
- }
-
- return false ;
- }
-
- // Gets the correct CSS class to use for the specified style (param).
- var sClass ;
- switch ( this.Style )
- {
- case FCK_TOOLBARITEM_ONLYICON :
- sClass = 'TB_ButtonType_Icon' ;
- break ;
- case FCK_TOOLBARITEM_ONLYTEXT :
- sClass = 'TB_ButtonType_Text' ;
- break ;
- case FCK_TOOLBARITEM_ICONTEXT :
- sClass = '' ;
- break ;
- }
-
- this.DOMDiv.innerHTML =
- '<table title="' + this.Tooltip + '" class="' + sClass + '" cellspacing="0" cellpadding="0" border="0" unselectable="on">' +
- '<tr>' +
- '<td class="TB_Icon" unselectable="on"><img src="' + FCKConfig.SkinPath + 'toolbar/button.' + this.Command.Name.toLowerCase() + '.gif" width="21" height="21" unselectable="on"></td>' +
- '<td class="TB_Text" unselectable="on">' + this.Label + '</td>' +
- '<td class="TB_ButtonArrow" unselectable="on"><img src="' + FCKConfig.SkinPath + 'images/toolbar.buttonarrow.gif" width="5" height="3"></td>' +
- '</tr>' +
- '</table>' ;
-
-
- var oCell = parentToolbar.DOMRow.insertCell(-1) ;
- oCell.appendChild( this.DOMDiv ) ;
-
- this.RefreshState() ;
-}
-
-// The Panel Button works like a normal button so the refresh state function
-// defined for the normal button can be reused here.
-FCKToolbarPanelButton.prototype.RefreshState = FCKToolbarButton.prototype.RefreshState ; \ No newline at end of file
diff --git a/lib/editor/_source/classes/fcktoolbarspecialcombo.js b/lib/editor/_source/classes/fcktoolbarspecialcombo.js
deleted file mode 100644
index 0ecb7ba..0000000
--- a/lib/editor/_source/classes/fcktoolbarspecialcombo.js
+++ /dev/null
@@ -1,92 +0,0 @@
-/*
- * FCKeditor - The text editor for internet
- * Copyright (C) 2003-2004 Frederico Caldeira Knabben
- *
- * Licensed under the terms of the GNU Lesser General Public License:
- * http://www.opensource.org/licenses/lgpl-license.php
- *
- * For further information visit:
- * http://www.fckeditor.net/
- *
- * File Name: fcktoolbarspecialcombo.js
- * FCKToolbarSpecialCombo Class: This is a "abstract" base class to be used
- * by the special combo toolbar elements like font name, font size, paragraph format, etc...
- *
- * The following properties and methods must be implemented when inheriting from
- * this class:
- * - Property: Command [ The command to be executed ]
- * - Method: GetLabel() [ Returns the label ]
- * - CreateItems( targetSpecialCombo ) [ Add all items in the special combo ]
- *
- * Version: 2.0 RC2
- * Modified: 2004-11-15 10:53:54
- *
- * File Authors:
- * Frederico Caldeira Knabben (fredck@fckeditor.net)
- */
-
-var FCKToolbarSpecialCombo = function()
-{}
-
-FCKToolbarSpecialCombo.prototype.CreateInstance = function( parentToolbar )
-{
- this._Combo = new FCKSpecialCombo( this.GetLabel() ) ;
- this._Combo.FieldWidth = 100 ;
- this._Combo.PanelWidth = 150 ;
- this._Combo.PanelMaxHeight = 150 ;
-
- this.CreateItems( this._Combo ) ;
-
- this._Combo.Create( parentToolbar.DOMRow.insertCell(-1) ) ;
-
- this._Combo.Command = this.Command ;
-
- this._Combo.OnSelect = function( itemId, item )
- {
- this.Command.Execute( itemId, item ) ;
- }
-}
-
-FCKToolbarSpecialCombo.prototype.RefreshState = function()
-{
- // Gets the actual state.
- var eState ;
-
- if ( FCK.EditMode == FCK_EDITMODE_SOURCE && ! this.SourceView )
- eState = FCK_TRISTATE_DISABLED ;
- else
- {
- var sValue = this.Command.GetState() ;
-
- if ( sValue != FCK_TRISTATE_DISABLED )
- {
- eState = FCK_TRISTATE_ON ;
-
- if ( typeof( this.RefreshActiveItems ) == 'function' )
- this.RefreshActiveItems( this._Combo ) ;
- else
- {
- this._Combo.DeselectAll() ;
- this._Combo.SelectItem( sValue ) ;
- this._Combo.SetLabelById( sValue ) ;
- }
- }
- else
- eState = FCK_TRISTATE_DISABLED ;
- }
-
- // If there are no state changes then do nothing and return.
- if ( eState == this.State ) return ;
-
- if ( eState == FCK_TRISTATE_DISABLED )
- {
- this._Combo.DeselectAll() ;
- this._Combo.SetLabel( '' ) ;
- }
-
- // Sets the actual state.
- this.State = eState ;
-
- // Updates the graphical state.
- this._Combo.SetEnabled( eState != FCK_TRISTATE_DISABLED ) ;
-} \ No newline at end of file
diff --git a/lib/editor/_source/classes/fcktoolbarstylecombo.js b/lib/editor/_source/classes/fcktoolbarstylecombo.js
deleted file mode 100644
index e395d62..0000000
--- a/lib/editor/_source/classes/fcktoolbarstylecombo.js
+++ /dev/null
@@ -1,89 +0,0 @@
-/*
- * FCKeditor - The text editor for internet
- * Copyright (C) 2003-2004 Frederico Caldeira Knabben
- *
- * Licensed under the terms of the GNU Lesser General Public License:
- * http://www.opensource.org/licenses/lgpl-license.php
- *
- * For further information visit:
- * http://www.fckeditor.net/
- *
- * File Name: fcktoolbarstylecombo.js
- * FCKToolbarPanelButton Class: Handles the Fonts combo selector.
- *
- * Version: 2.0 RC2
- * Modified: 2004-11-19 07:50:11
- *
- * File Authors:
- * Frederico Caldeira Knabben (fredck@fckeditor.net)
- */
-
-var FCKToolbarStyleCombo = function()
-{
- this.Command = FCKCommands.GetCommand( 'Style' ) ;
-}
-
-// Inherit from FCKToolbarSpecialCombo.
-FCKToolbarStyleCombo.prototype = new FCKToolbarSpecialCombo ;
-
-FCKToolbarStyleCombo.prototype.GetLabel = function()
-{
- return FCKLang.Style ;
-}
-
-FCKToolbarStyleCombo.prototype.CreateItems = function( targetSpecialCombo )
-{
- // Add the Editor Area CSS to the Styles panel so the style classes are previewed correctly.
- FCKTools.AppendStyleSheet( targetSpecialCombo._Panel.Document, FCKConfig.EditorAreaCSS ) ;
-
- // For some reason Gecko is blocking inside the "RefreshVisibleItems" function.
- if ( ! FCKBrowserInfo.IsGecko )
- targetSpecialCombo.OnBeforeClick = this.RefreshVisibleItems ;
-
- // Add the styles to the special combo.
- for ( var s in this.Command.Styles )
- {
- var oStyle = this.Command.Styles[s] ;
- if ( oStyle.IsObjectElement )
- var oItem = targetSpecialCombo.AddItem( s, s ) ;
- else
- var oItem = targetSpecialCombo.AddItem( s, oStyle.GetOpenerTag() + s + oStyle.GetCloserTag() ) ;
- oItem.Style = oStyle ;
- }
-}
-
-FCKToolbarStyleCombo.prototype.RefreshActiveItems = function( targetSpecialCombo )
-{
- // Clear the actual selection.
- targetSpecialCombo.DeselectAll() ;
-
- // Get the active styles.
- var aStyles = this.Command.GetActiveStyles() ;
-
- if ( aStyles.length > 0 )
- {
- // Select the active styles in the combo.
- for ( var i = 0 ; i < aStyles.length ; i++ )
- targetSpecialCombo.SelectItem( aStyles[i].Name ) ;
-
- // Set the combo label to the first style in the collection.
- targetSpecialCombo.SetLabelById( aStyles[0].Name ) ;
- }
- else
- targetSpecialCombo.SetLabel('') ;
-}
-
-FCKToolbarStyleCombo.prototype.RefreshVisibleItems = function( targetSpecialCombo )
-{
- if ( FCKSelection.GetType() == 'Control' )
- var sTagName = FCKSelection.GetSelectedElement().tagName ;
-
- for ( var i in targetSpecialCombo.Items )
- {
- var oItem = targetSpecialCombo.Items[i] ;
- if ( ( sTagName && oItem.Style.Element == sTagName ) || ( ! sTagName && ! oItem.Style.IsObjectElement ) )
- oItem.style.display = '' ;
- else
- oItem.style.display = 'none' ; // For some reason Gecko is blocking here.
- }
-} \ No newline at end of file
diff --git a/lib/editor/_source/classes/fckxml.js b/lib/editor/_source/classes/fckxml.js
deleted file mode 100644
index c388be9..0000000
--- a/lib/editor/_source/classes/fckxml.js
+++ /dev/null
@@ -1,109 +0,0 @@
-/*
- * FCKeditor - The text editor for internet
- * Copyright (C) 2003-2004 Frederico Caldeira Knabben
- *
- * Licensed under the terms of the GNU Lesser General Public License:
- * http://www.opensource.org/licenses/lgpl-license.php
- *
- * For further information visit:
- * http://www.fckeditor.net/
- *
- * File Name: fckxml.js
- * FCKXml Class: class to load and manipulate XML files.
- *
- * Version: 2.0 RC2
- * Modified: 2004-11-22 11:13:07
- *
- * File Authors:
- * Frederico Caldeira Knabben (fredck@fckeditor.net)
- */
-
-var FCKXml = function()
-{}
-
-FCKXml.prototype.GetHttpRequest = function()
-{
- if ( window.XMLHttpRequest ) // Gecko
- return new XMLHttpRequest() ;
- else if ( window.ActiveXObject ) // IE
- return new ActiveXObject("MsXml2.XmlHttp") ;
-}
-
-FCKXml.prototype.LoadUrl = function( urlToCall, asyncFunctionPointer )
-{
- var oFCKXml = this ;
-
- var bAsync = ( typeof(asyncFunctionPointer) == 'function' ) ;
-
- var oXmlHttp = this.GetHttpRequest() ;
-
- oXmlHttp.open( "GET", urlToCall, bAsync ) ;
-
- if ( bAsync )
- {
- oXmlHttp.onreadystatechange = function()
- {
- if ( oXmlHttp.readyState == 4 )
- {
- oFCKXml.DOMDocument = oXmlHttp.responseXML ;
- asyncFunctionPointer( oFCKXml ) ;
- }
- }
- }
-
- oXmlHttp.send( null ) ;
-
- if ( ! bAsync && oXmlHttp.status && oXmlHttp.status == 200 )
- this.DOMDocument = oXmlHttp.responseXML ;
- else
- throw( 'Error loading "' + urlToCall + '"' ) ;
-}
-
-FCKXml.prototype.SelectNodes = function( xpath, contextNode )
-{
- if ( document.all ) // IE
- {
- if ( contextNode )
- return contextNode.selectNodes( xpath ) ;
- else
- return this.DOMDocument.selectNodes( xpath ) ;
- }
- else // Gecko
- {
- var aNodeArray = new Array();
-
- var xPathResult = this.DOMDocument.evaluate( xpath, contextNode ? contextNode : this.DOMDocument,
- this.DOMDocument.createNSResolver(this.DOMDocument.documentElement), XPathResult.ORDERED_NODE_ITERATOR_TYPE, null) ;
- if ( xPathResult )
- {
- var oNode = xPathResult.iterateNext() ;
- while( oNode )
- {
- aNodeArray[aNodeArray.length] = oNode ;
- oNode = xPathResult.iterateNext();
- }
- }
- return aNodeArray ;
- }
-}
-
-FCKXml.prototype.SelectSingleNode = function( xpath, contextNode )
-{
- if ( document.all ) // IE
- {
- if ( contextNode )
- return contextNode.selectSingleNode( xpath ) ;
- else
- return this.DOMDocument.selectSingleNode( xpath ) ;
- }
- else // Gecko
- {
- var xPathResult = this.DOMDocument.evaluate( xpath, contextNode ? contextNode : this.DOMDocument,
- this.DOMDocument.createNSResolver(this.DOMDocument.documentElement), 9, null);
-
- if ( xPathResult && xPathResult.singleNodeValue )
- return xPathResult.singleNodeValue ;
- else
- return null ;
- }
-}
diff --git a/lib/editor/_source/commandclasses/fck_othercommands.js b/lib/editor/_source/commandclasses/fck_othercommands.js
deleted file mode 100644
index 85d1728..0000000
--- a/lib/editor/_source/commandclasses/fck_othercommands.js
+++ /dev/null
@@ -1,194 +0,0 @@
-/*
- * FCKeditor - The text editor for internet
- * Copyright (C) 2003-2004 Frederico Caldeira Knabben
- *
- * Licensed under the terms of the GNU Lesser General Public License:
- * http://www.opensource.org/licenses/lgpl-license.php
- *
- * For further information visit:
- * http://www.fckeditor.net/
- *
- * File Name: fck_othercommands.js
- * Definition of other commands that are not available internaly in the
- * browser (see FCKNamedCommand).
- *
- * Version: 2.0 RC2
- * Modified: 2004-12-15 13:28:09
- *
- * File Authors:
- * Frederico Caldeira Knabben (fredck@fckeditor.net)
- */
-
-// ### General Dialog Box Commands.
-var FCKDialogCommand = function( name, title, url, width, height, getStateFunction, getStateParam )
-{
- this.Name = name ;
- this.Title = title ;
- this.Url = url ;
- this.Width = width ;
- this.Height = height ;
-
- this.GetStateFunction = getStateFunction ;
- this.GetStateParam = getStateParam ;
-}
-
-FCKDialogCommand.prototype.Execute = function()
-{
- FCKDialog.OpenDialog( 'FCKDialog_' + this.Name , this.Title, this.Url, this.Width, this.Height ) ;
-}
-
-FCKDialogCommand.prototype.GetState = function()
-{
- if ( this.GetStateFunction )
- return this.GetStateFunction( this.GetStateParam ) ;
- else
- return FCK_TRISTATE_OFF ;
-}
-
-// Generic Undefined command (usually used when a command is under development).
-var FCKUndefinedCommand = function()
-{
- this.Name = 'Undefined' ;
-}
-
-FCKUndefinedCommand.prototype.Execute = function()
-{
- alert( FCKLang.NotImplemented ) ;
-}
-
-FCKUndefinedCommand.prototype.GetState = function()
-{
- return FCK_TRISTATE_OFF ;
-}
-
-// ### FontName
-var FCKFontNameCommand = function()
-{
- this.Name = 'FontName' ;
-}
-
-FCKFontNameCommand.prototype.Execute = function( fontName )
-{
- if (fontName == null || fontName == "")
- {
- // TODO: Remove font name attribute.
- }
- else
- FCK.ExecuteNamedCommand( 'FontName', fontName ) ;
-}
-
-FCKFontNameCommand.prototype.GetState = function()
-{
- return FCK.GetNamedCommandValue( 'FontName' ) ;
-}
-
-// ### FontSize
-var FCKFontSizeCommand = function()
-{
- this.Name = 'FontSize' ;
-}
-
-FCKFontSizeCommand.prototype.Execute = function( fontSize )
-{
- if ( typeof( fontSize ) == 'string' ) fontSize = parseInt(fontSize) ;
-
- if ( fontSize == null || fontSize == '' )
- {
- // TODO: Remove font size attribute (Now it works with size 3. Will it work forever?)
- FCK.ExecuteNamedCommand( 'FontSize', 3 ) ;
- }
- else
- FCK.ExecuteNamedCommand( 'FontSize', fontSize ) ;
-}
-
-FCKFontSizeCommand.prototype.GetState = function()
-{
- return FCK.GetNamedCommandValue( 'FontSize' ) ;
-}
-
-// ### FormatBlock
-var FCKFormatBlockCommand = function()
-{
- this.Name = 'FormatBlock' ;
-}
-
-FCKFormatBlockCommand.prototype.Execute = function( formatName )
-{
- if ( formatName == null || formatName == '' )
- FCK.ExecuteNamedCommand( 'FormatBlock', '<P>' ) ;
- else
- FCK.ExecuteNamedCommand( 'FormatBlock', '<' + formatName + '>' ) ;
-}
-
-FCKFormatBlockCommand.prototype.GetState = function()
-{
- return FCK.GetNamedCommandValue( 'FormatBlock' ) ;
-}
-
-// ### Preview
-var FCKPreviewCommand = function()
-{
- this.Name = 'Preview' ;
-}
-
-FCKPreviewCommand.prototype.Execute = function()
-{
- FCK.Preview() ;
-}
-
-FCKPreviewCommand.prototype.GetState = function()
-{
- return FCK_TRISTATE_OFF ;
-}
-
-// ### Save
-var FCKSaveCommand = function()
-{
- this.Name = 'Save' ;
-}
-
-FCKSaveCommand.prototype.Execute = function()
-{
- // Get the linked field form.
- var oForm = FCK.LinkedField.form ;
-
- // Submit the form.
- oForm.submit() ;
-}
-
-FCKSaveCommand.prototype.GetState = function()
-{
- return FCK_TRISTATE_OFF ;
-}
-
-// ### NewPage
-var FCKNewPageCommand = function()
-{
- this.Name = 'NewPage' ;
-}
-
-FCKNewPageCommand.prototype.Execute = function()
-{
- FCK.SetHTML( FCKBrowserInfo.IsGecko ? '&nbsp;' : '' ) ;
-}
-
-FCKNewPageCommand.prototype.GetState = function()
-{
- return FCK_TRISTATE_OFF ;
-}
-
-// ### Source button
-var FCKSourceCommand = function()
-{
- this.Name = "Source" ;
-}
-
-FCKSourceCommand.prototype.Execute = function()
-{
- FCK.SwitchEditMode() ;
-}
-
-FCKSourceCommand.prototype.GetState = function()
-{
- return ( FCK.EditMode == FCK_EDITMODE_WYSIWYG ? FCK_TRISTATE_OFF : FCK_TRISTATE_ON ) ;
-} \ No newline at end of file
diff --git a/lib/editor/_source/commandclasses/fcknamedcommand.js b/lib/editor/_source/commandclasses/fcknamedcommand.js
deleted file mode 100644
index 3a65828..0000000
--- a/lib/editor/_source/commandclasses/fcknamedcommand.js
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * FCKeditor - The text editor for internet
- * Copyright (C) 2003-2004 Frederico Caldeira Knabben
- *
- * Licensed under the terms of the GNU Lesser General Public License:
- * http://www.opensource.org/licenses/lgpl-license.php
- *
- * For further information visit:
- * http://www.fckeditor.net/
- *
- * File Name: fcknamedcommand.js
- * FCKNamedCommand Class: represents an internal browser command.
- *
- * Version: 2.0 RC2
- * Modified: 2004-08-17 15:05:35
- *
- * File Authors:
- * Frederico Caldeira Knabben (fredck@fckeditor.net)
- */
-
-var FCKNamedCommand = function( commandName )
-{
- this.Name = commandName ;
-}
-
-FCKNamedCommand.prototype.Execute = function()
-{
- FCK.ExecuteNamedCommand( this.Name ) ;
-}
-
-FCKNamedCommand.prototype.GetState = function()
-{
- return FCK.GetNamedCommandState( this.Name ) ;
-}
-
diff --git a/lib/editor/_source/commandclasses/fckpasteplaintextcommand.js b/lib/editor/_source/commandclasses/fckpasteplaintextcommand.js
deleted file mode 100644
index b34e51a..0000000
--- a/lib/editor/_source/commandclasses/fckpasteplaintextcommand.js
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * FCKeditor - The text editor for internet
- * Copyright (C) 2003-2004 Frederico Caldeira Knabben
- *
- * Licensed under the terms of the GNU Lesser General Public License:
- * http://www.opensource.org/licenses/lgpl-license.php
- *
- * For further information visit:
- * http://www.fckeditor.net/
- *
- * File Name: fckpasteplaintextcommand.js
- * FCKPastePlainTextCommand Class: represents the
- * "Paste as Plain Text" command.
- *
- * Version: 2.0 RC2
- * Modified: 2004-08-20 23:08:23
- *
- * File Authors:
- * Frederico Caldeira Knabben (fredck@fckeditor.net)
- */
-
-var FCKPastePlainTextCommand = function()
-{
- this.Name = 'PasteText' ;
-}
-
-FCKPastePlainTextCommand.prototype.Execute = function()
-{
- FCK.PasteAsPlainText() ;
-}
-
-FCKPastePlainTextCommand.prototype.GetState = function()
-{
- return FCK.GetNamedCommandState( 'Paste' ) ;
-}
diff --git a/lib/editor/_source/commandclasses/fckpastewordcommand.js b/lib/editor/_source/commandclasses/fckpastewordcommand.js
deleted file mode 100644
index 831022b..0000000
--- a/lib/editor/_source/commandclasses/fckpastewordcommand.js
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * FCKeditor - The text editor for internet
- * Copyright (C) 2003-2004 Frederico Caldeira Knabben
- *
- * Licensed under the terms of the GNU Lesser General Public License:
- * http://www.opensource.org/licenses/lgpl-license.php
- *
- * For further information visit:
- * http://www.fckeditor.net/
- *
- * File Name: fckpastewordcommand.js
- * FCKPasteWordCommand Class: represents the "Paste from Word" command.
- *
- * Version: 2.0 RC2
- * Modified: 2004-08-30 23:20:46
- *
- * File Authors:
- * Frederico Caldeira Knabben (fredck@fckeditor.net)
- */
-
-var FCKPasteWordCommand = function()
-{
- this.Name = 'PasteWord' ;
-}
-
-FCKPasteWordCommand.prototype.Execute = function()
-{
- FCK.PasteFromWord() ;
-}
-
-FCKPasteWordCommand.prototype.GetState = function()
-{
- return FCK.GetNamedCommandState( 'Paste' ) ;
-}
diff --git a/lib/editor/_source/commandclasses/fckstylecommand.js b/lib/editor/_source/commandclasses/fckstylecommand.js
deleted file mode 100644
index 368c035..0000000
--- a/lib/editor/_source/commandclasses/fckstylecommand.js
+++ /dev/null
@@ -1,91 +0,0 @@
-/*
- * FCKeditor - The text editor for internet
- * Copyright (C) 2003-2004 Frederico Caldeira Knabben
- *
- * Licensed under the terms of the GNU Lesser General Public License:
- * http://www.opensource.org/licenses/lgpl-license.php
- *
- * For further information visit:
- * http://www.fckeditor.net/
- *
- * File Name: fckstylecommand.js
- * FCKStyleCommand Class: represents the "Style" command.
- *
- * Version: 2.0 RC2
- * Modified: 2004-11-22 11:07:24
- *
- * File Authors:
- * Frederico Caldeira Knabben (fredck@fckeditor.net)
- */
-
-var FCKStyleCommand = function()
-{
- this.Name = 'Style' ;
-
- // Load the Styles defined in the XML file.
- this.StylesLoader = new FCKStylesLoader() ;
- this.StylesLoader.Load( FCKConfig.StylesXmlPath ) ;
- this.Styles = this.StylesLoader.Styles ;
-}
-
-FCKStyleCommand.prototype.Execute = function( styleName, styleComboItem )
-{
- if ( styleComboItem.Selected )
- styleComboItem.Style.RemoveFromSelection() ;
- else
- styleComboItem.Style.ApplyToSelection() ;
-
- FCK.Focus() ;
-
- FCK.Events.FireEvent( "OnSelectionChange" ) ;
-}
-
-FCKStyleCommand.prototype.GetState = function()
-{
- var oSelection = FCK.EditorDocument.selection ;
-
- if ( FCKSelection.GetType() == 'Control' )
- {
- var e = FCKSelection.GetSelectedElement() ;
- if ( e )
- return this.StylesLoader.StyleGroups[ e.tagName ] ? FCK_TRISTATE_OFF : FCK_TRISTATE_DISABLED ;
- else
- FCK_TRISTATE_OFF ;
- }
- else
- return FCK_TRISTATE_OFF ;
-}
-
-FCKStyleCommand.prototype.GetActiveStyles = function()
-{
- var aActiveStyles = new Array() ;
-
- if ( FCKSelection.GetType() == 'Control' )
- this._CheckStyle( FCKSelection.GetSelectedElement(), aActiveStyles, false ) ;
- else
- this._CheckStyle( FCKSelection.GetParentElement(), aActiveStyles, true ) ;
-
- return aActiveStyles ;
-}
-
-FCKStyleCommand.prototype._CheckStyle = function( element, targetArray, checkParent )
-{
- if ( ! element )
- return ;
-
- if ( element.nodeType == 1 )
- {
- var aStyleGroup = this.StylesLoader.StyleGroups[ element.tagName ] ;
- if ( aStyleGroup )
- {
- for ( var i = 0 ; i < aStyleGroup.length ; i++ )
- {
- if ( aStyleGroup[i].IsEqual( element ) )
- targetArray[ targetArray.length ] = aStyleGroup[i] ;
- }
- }
- }
-
- if ( checkParent )
- this._CheckStyle( element.parentNode, targetArray, checkParent ) ;
-} \ No newline at end of file
diff --git a/lib/editor/_source/commandclasses/fcktablecommand.js b/lib/editor/_source/commandclasses/fcktablecommand.js
deleted file mode 100644
index 4b4b88d..0000000
--- a/lib/editor/_source/commandclasses/fcktablecommand.js
+++ /dev/null
@@ -1,63 +0,0 @@
-/*
- * FCKeditor - The text editor for internet
- * Copyright (C) 2003-2004 Frederico Caldeira Knabben
- *
- * Licensed under the terms of the GNU Lesser General Public License:
- * http://www.opensource.org/licenses/lgpl-license.php
- *
- * For further information visit:
- * http://www.fckeditor.net/
- *
- * File Name: fcktablecommand.js
- * FCKPastePlainTextCommand Class: represents the
- * "Paste as Plain Text" command.
- *
- * Version: 2.0 RC2
- * Modified: 2004-11-22 15:41:58
- *
- * File Authors:
- * Frederico Caldeira Knabben (fredck@fckeditor.net)
- */
-
-var FCKTableCommand = function( command )
-{
- this.Name = command ;
-}
-
-FCKTableCommand.prototype.Execute = function()
-{
- switch ( this.Name )
- {
- case 'TableInsertRow' :
- FCKTableHandler.InsertRow() ;
- break ;
- case 'TableDeleteRows' :
- FCKTableHandler.DeleteRows() ;
- break ;
- case 'TableInsertColumn' :
- FCKTableHandler.InsertColumn() ;
- break ;
- case 'TableDeleteColumns' :
- FCKTableHandler.DeleteColumns() ;
- break ;
- case 'TableInsertCell' :
- FCKTableHandler.InsertCell() ;
- break ;
- case 'TableDeleteCells' :
- FCKTableHandler.DeleteCells() ;
- break ;
- case 'TableMergeCells' :
- FCKTableHandler.MergeCells() ;
- break ;
- case 'TableSplitCell' :
- FCKTableHandler.SplitCell() ;
- break ;
- default :
- alert( FCKLang.UnknownCommand.replace( /%1/g, this.Name ) ) ;
- }
-}
-
-FCKTableCommand.prototype.GetState = function()
-{
- return FCK_TRISTATE_OFF ;
-} \ No newline at end of file
diff --git a/lib/editor/_source/commandclasses/fcktextcolorcommand.js b/lib/editor/_source/commandclasses/fcktextcolorcommand.js
deleted file mode 100644
index 2233522..0000000
--- a/lib/editor/_source/commandclasses/fcktextcolorcommand.js
+++ /dev/null
@@ -1,168 +0,0 @@
-/*
- * FCKeditor - The text editor for internet
- * Copyright (C) 2003-2004 Frederico Caldeira Knabben
- *
- * Licensed under the terms of the GNU Lesser General Public License:
- * http://www.opensource.org/licenses/lgpl-license.php
- *
- * For further information visit:
- * http://www.fckeditor.net/
- *
- * File Name: fcktextcolorcommand.js
- * FCKTextColorCommand Class: represents the text color comand. It shows the
- * color selection panel.
- *
- * Version: 2.0 RC2
- * Modified: 2004-11-19 08:16:00
- *
- * File Authors:
- * Frederico Caldeira Knabben (fredck@fckeditor.net)
- */
-
-// FCKTextColorCommand Contructor
-// type: can be 'ForeColor' or 'BackColor'.
-var FCKTextColorCommand = function( type )
-{
- this.Name = type == 'ForeColor' ? 'TextColor' : 'BGColor' ;
- this.Type = type ;
-
- /* BEGIN ###
- The panel should be created in the "Execute" method for best
- memory use, but it not works in Gecko in that way.
- */
-
- this._Panel = new FCKPanel() ;
- this._Panel.StyleSheet = FCKConfig.SkinPath + 'fck_contextmenu.css' ;
- this._Panel.Create() ;
-
- this._CreatePanelBody( this._Panel.Document, this._Panel.PanelDiv ) ;
-
- // END ###
-}
-
-FCKTextColorCommand.prototype.Execute = function( panelX, panelY, relElement )
-{
- /*
- BEGIN ###
- This is the right code to create the panel, but it is not
- working well with Gecko, so it has been moved to the
- class contructor.
-
- // Create the Color Panel if needed.
- if ( ! this._Panel )
- {
- this._Panel = new FCKPanel() ;
- this._Panel.StyleSheet = FCKConfig.SkinPath + 'fck_contextmenu.css' ;
- this._Panel.Create() ;
-
- this._CreatePanelBody( this._Panel.Document, this._Panel.PanelDiv ) ;
- }
- END ###
- */
-
- // We must "cache" the actual panel type to be used in the SetColor method.
- FCK._ActiveColorPanelType = this.Type ;
-
- // Show the Color Panel at the desired position.
- this._Panel.Show( panelX, panelY, relElement ) ;
-}
-
-FCKTextColorCommand.prototype.SetColor = function( color )
-{
- if ( FCK._ActiveColorPanelType == 'ForeColor' )
- FCK.ExecuteNamedCommand( 'ForeColor', color ) ;
- else if ( FCKBrowserInfo.IsGecko )
- FCK.ExecuteNamedCommand( 'hilitecolor', color ) ;
- else
- FCK.ExecuteNamedCommand( 'BackColor', color ) ;
-
- // Delete the "cached" active panel type.
- delete FCK._ActiveColorPanelType ;
-}
-
-FCKTextColorCommand.prototype.GetState = function()
-{
- return FCK_TRISTATE_OFF ;
-}
-
-FCKTextColorCommand.prototype._CreatePanelBody = function( targetDocument, targetDiv )
-{
- function CreateSelectionDiv()
- {
- var oDiv = targetDocument.createElement( "DIV" ) ;
- oDiv.className = 'ColorDeselected' ;
- oDiv.onmouseover = function() { this.className='ColorSelected' ; } ;
- oDiv.onmouseout = function() { this.className='ColorDeselected' ; } ;
-
- return oDiv ;
- }
-
- // Create the Table that will hold all colors.
- var oTable = targetDiv.appendChild( targetDocument.createElement( "TABLE" ) ) ;
- oTable.style.tableLayout = 'fixed' ;
- oTable.cellPadding = 0 ;
- oTable.cellSpacing = 0 ;
- oTable.border = 0 ;
- oTable.width = 150 ;
-
- var oCell = oTable.insertRow(-1).insertCell(-1) ;
- oCell.colSpan = 8 ;
-
- // Create the Button for the "Automatic" color selection.
- var oDiv = oCell.appendChild( CreateSelectionDiv() ) ;
- oDiv.innerHTML =
- '<table cellspacing="0" cellpadding="0" width="100%" border="0">\
- <tr>\
- <td><div class="ColorBoxBorder"><div class="ColorBox" style="background-color: #000000"></div></div></td>\
- <td nowrap width="100%" align="center" unselectable="on">' + FCKLang.ColorAutomatic + '</td>\
- </tr>\
- </table>' ;
-
- oDiv.Command = this ;
- oDiv.onclick = function()
- {
- this.className = 'ColorDeselected' ;
- this.Command.SetColor( '' ) ;
- this.Command._Panel.Hide() ;
- }
-
- // Create an array of colors based on the configuration file.
- var aColors = FCKConfig.FontColors.split(',') ;
-
- // Create the colors table based on the array.
- var iCounter = 0 ;
- while ( iCounter < aColors.length )
- {
- var oRow = oTable.insertRow(-1) ;
-
- for ( var i = 0 ; i < 8 && iCounter < aColors.length ; i++, iCounter++ )
- {
- var oDiv = oRow.insertCell(-1).appendChild( CreateSelectionDiv() ) ;
- oDiv.Color = aColors[iCounter] ;
- oDiv.innerHTML = '<div class="ColorBoxBorder"><div class="ColorBox" style="background-color: #' + aColors[iCounter] + '"></div></div>' ;
-
- oDiv.Command = this ;
- oDiv.onclick = function()
- {
- this.className = 'ColorDeselected' ;
- this.Command.SetColor( '#' + this.Color ) ;
- this.Command._Panel.Hide() ;
- }
- }
- }
-
- // Create the Row and the Cell for the "More Colors..." button.
- var oCell = oTable.insertRow(-1).insertCell(-1) ;
- oCell.colSpan = 8 ;
-
- var oDiv = oCell.appendChild( CreateSelectionDiv() ) ;
- oDiv.innerHTML = '<table width="100%" cellpadding="0" cellspacing="0" border="0"><tr><td nowrap align="center">' + FCKLang.ColorMoreColors + '</td></tr></table>' ;
-
- oDiv.Command = this ;
- oDiv.onclick = function()
- {
- this.className = 'ColorDeselected' ;
- this.Command._Panel.Hide() ;
- FCKDialog.OpenDialog( 'FCKDialog_Color', FCKLang.DlgColorTitle, 'dialog/fck_colorselector.html', 400, 330, this.Command.SetColor ) ;
- }
-} \ No newline at end of file
diff --git a/lib/editor/_source/globals/fck_constants.js b/lib/editor/_source/globals/fck_constants.js
deleted file mode 100644
index b1e7c64..0000000
--- a/lib/editor/_source/globals/fck_constants.js
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- * FCKeditor - The text editor for internet
- * Copyright (C) 2003-2004 Frederico Caldeira Knabben
- *
- * Licensed under the terms of the GNU Lesser General Public License:
- * http://www.opensource.org/licenses/lgpl-license.php
- *
- * For further information visit:
- * http://www.fckeditor.net/
- *
- * File Name: fck_constants.js
- * Defines some constants used by the editor. These constants are also
- * globally available in the page where the editor is placed.
- *
- * Version: 2.0 RC2
- * Modified: 2004-05-31 23:07:48
- *
- * File Authors:
- * Frederico Caldeira Knabben (fredck@fckeditor.net)
- */
-
-// Editor Instance Status.
-FCK_STATUS_NOTLOADED = window.parent.FCK_STATUS_NOTLOADED = 0 ;
-FCK_STATUS_ACTIVE = window.parent.FCK_STATUS_ACTIVE = 1 ;
-FCK_STATUS_COMPLETE = window.parent.FCK_STATUS_COMPLETE = 2 ;
-
-// Tristate Operations.
-FCK_TRISTATE_OFF = window.parent.FCK_TRISTATE_OFF = 0 ;
-FCK_TRISTATE_ON = window.parent.FCK_TRISTATE_ON = 1 ;
-FCK_TRISTATE_DISABLED = window.parent.FCK_TRISTATE_DISABLED = -1 ;
-
-// For unknown values.
-FCK_UNKNOWN = window.parent.FCK_UNKNOWN = -1000 ;
-
-// Toolbar Items Style.
-FCK_TOOLBARITEM_ONLYICON = window.parent.FCK_TOOLBARITEM_ONLYTEXT = 0 ;
-FCK_TOOLBARITEM_ONLYTEXT = window.parent.FCK_TOOLBARITEM_ONLYTEXT = 1 ;
-FCK_TOOLBARITEM_ICONTEXT = window.parent.FCK_TOOLBARITEM_ONLYTEXT = 2 ;
-
-// Edit Mode
-FCK_EDITMODE_WYSIWYG = window.parent.FCK_EDITMODE_WYSIWYG = 0 ;
-FCK_EDITMODE_SOURCE = window.parent.FCK_EDITMODE_SOURCE = 1 ; \ No newline at end of file
diff --git a/lib/editor/_source/globals/fckeditorapi.js b/lib/editor/_source/globals/fckeditorapi.js
deleted file mode 100644
index 9b267b7..0000000
--- a/lib/editor/_source/globals/fckeditorapi.js
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * FCKeditor - The text editor for internet
- * Copyright (C) 2003-2004 Frederico Caldeira Knabben
- *
- * Licensed under the terms of the GNU Lesser General Public License:
- * http://www.opensource.org/licenses/lgpl-license.php
- *
- * For further information visit:
- * http://www.fckeditor.net/
- *
- * File Name: fckeditorapi.js
- * Create the FCKeditorAPI object that is available as a global object in
- * the page where the editor is placed in.
- *
- * Version: 2.0 RC2
- * Modified: 2004-05-31 23:07:48
- *
- * File Authors:
- * Frederico Caldeira Knabben (fredck@fckeditor.net)
- */
-
-var FCKeditorAPI ;
-
-if ( !window.parent.FCKeditorAPI )
-{
- // Make the FCKeditorAPI object available in the parent window.
- FCKeditorAPI = window.parent.FCKeditorAPI = new Object() ;
- FCKeditorAPI.__Instances = new Object() ;
-
- // Set the current version.
- FCKeditorAPI.Version = '2.0 RC2' ;
-
- // Function used to get a instance of an existing editor present in the
- // page.
- FCKeditorAPI.GetInstance = function( instanceName )
- {
- return this.__Instances[ instanceName ] ;
- }
-}
-else
- FCKeditorAPI = window.parent.FCKeditorAPI ;
-
-// Add the current instance to the FCKeditorAPI's instances collection.
-FCKeditorAPI.__Instances[ FCK.Name ] = FCK ; \ No newline at end of file
diff --git a/lib/editor/_source/internals/fck.js b/lib/editor/_source/internals/fck.js
deleted file mode 100644
index 29a7e1b..0000000
--- a/lib/editor/_source/internals/fck.js
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * FCKeditor - The text editor for internet
- * Copyright (C) 2003-2004 Frederico Caldeira Knabben
- *
- * Licensed under the terms of the GNU Lesser General Public License:
- * http://www.opensource.org/licenses/lgpl-license.php
- *
- * For further information visit:
- * http://www.fckeditor.net/
- *
- * File Name: fck.js
- * Creation and initialization of the "FCK" object. This is the main object
- * that represents an editor instance.
- *
- * Version: 2.0 RC2
- * Modified: 2004-05-31 23:07:48
- *
- * File Authors:
- * Frederico Caldeira Knabben (fredck@fckeditor.net)
- */
-
-// FCK represents the active editor instance
-var FCK = new Object() ;
-FCK.Name = FCKURLParams[ 'InstanceName' ] ;
-FCK.LinkedField = window.parent.document.getElementById( FCK.Name ) ;
-
-FCK.Status = FCK_STATUS_NOTLOADED ;
-FCK.EditMode = FCK_EDITMODE_WYSIWYG ;
-
-FCK.PasteEnabled = false ;
diff --git a/lib/editor/_source/internals/fck_1.js b/lib/editor/_source/internals/fck_1.js
deleted file mode 100644
index 6ffbd42..0000000
--- a/lib/editor/_source/internals/fck_1.js
+++ /dev/null
@@ -1,124 +0,0 @@
-/*
- * FCKeditor - The text editor for internet
- * Copyright (C) 2003-2004 Frederico Caldeira Knabben
- *
- * Licensed under the terms of the GNU Lesser General Public License:
- * http://www.opensource.org/licenses/lgpl-license.php
- *
- * For further information visit:
- * http://www.fckeditor.net/
- *
- * File Name: fck_1.js
- * This is the first part of the "FCK" object creation. This is the main
- * object that represents an editor instance.
- *
- * Version: 2.0 RC2
- * Modified: 2004-12-20 12:47:38
- *
- * File Authors:
- * Frederico Caldeira Knabben (fredck@fckeditor.net)
- */
-
-FCK.Events = new FCKEvents( FCK ) ;
-FCK.Toolbar = null ;
-
-FCK.StartEditor = function()
-{
- // Get the editor's window and document (DOM)
- this.EditorWindow = window.frames[ 'eEditorArea' ] ;
- this.EditorDocument = this.EditorWindow.document ;
-
- // TODO: Wait stable version and remove the following commented lines.
- // The Base Path of the editor is saved to rebuild relative URL (IE issue).
-// this.BaseUrl = this.EditorDocument.location.protocol + '//' + this.EditorDocument.location.host ;
-
- // Set the editor's startup contents
- this.SetHTML( FCKTools.GetLinkedFieldValue() ) ;
-
- // Set the editor area CSS file.
- FCKTools.AppendStyleSheet( this.EditorDocument, FCKConfig.EditorAreaCSS ) ;
-
- // Attach the editor to the form onsubmit event
- FCKTools.AttachToLinkedFieldFormSubmit( this.UpdateLinkedField ) ;
-
- // Initialize the default browser behaviors (browser specific).
- this.InitializeBehaviors() ;
-}
-
-FCK.SetStatus = function( newStatus )
-{
- this.Status = newStatus ;
-
- if ( newStatus == FCK_STATUS_ACTIVE )
- {
- // Force the focus in the window to go to the editor.
- window.onfocus = window.document.body.onfocus = FCK.Focus ;
-
- // Force the focus in the editor.
- if ( FCKConfig.StartupFocus )
- FCK.Focus() ;
-
-
-
- if ( FCKBrowserInfo.IsIE )
- FCKScriptLoader.AddScript( 'js/fckeditorcode_ie_2.js' ) ;
- else
- FCKScriptLoader.AddScript( 'js/fckeditorcode_gecko_2.js' ) ;
-
- }
-
- this.Events.FireEvent( 'OnStatusChange', newStatus ) ;
- if ( this.OnStatusChange ) this.OnStatusChange( newStatus ) ;
-
-}
-
-FCK.GetHTML = function()
-{
- if ( FCK.EditMode == FCK_EDITMODE_WYSIWYG )
- {
- // TODO: Wait stable version and remove the following commented lines.
-// if ( FCKBrowserInfo.IsIE )
-// FCK.CheckRelativeLinks() ;
-
- return this.EditorDocument.body.innerHTML ;
- }
- else
- return document.getElementById('eSourceField').value ;
-}
-
-FCK.GetXHTML = function()
-{
- var bSource = ( FCK.EditMode == FCK_EDITMODE_SOURCE ) ;
-
- if ( bSource )
- this.SwitchEditMode() ;
-
- // TODO: Wait stable version and remove the following commented lines.
-// if ( FCKBrowserInfo.IsIE )
-// FCK.CheckRelativeLinks() ;
-
- var sXHTML = FCKXHtml.GetXHTML( this.EditorDocument.body ) ;
-
- if ( bSource )
- this.SwitchEditMode() ;
-
- return sXHTML ;
-}
-
-FCK.UpdateLinkedField = function()
-{
- if ( FCKConfig.EnableXHTML )
- FCKTools.SetLinkedFieldValue( FCK.GetXHTML() ) ;
- else
- FCKTools.SetLinkedFieldValue( FCK.GetHTML() ) ;
-}
-
-FCK.ShowContextMenu = function( x, y )
-{
- if ( this.Status != FCK_STATUS_COMPLETE )
- return ;
-
- FCKContextMenu.Show( x, y ) ;
- this.Events.FireEvent( "OnContextMenu" ) ;
-}
-
diff --git a/lib/editor/_source/internals/fck_1_gecko.js b/lib/editor/_source/internals/fck_1_gecko.js
deleted file mode 100644
index 431545b..0000000
--- a/lib/editor/_source/internals/fck_1_gecko.js
+++ /dev/null
@@ -1,156 +0,0 @@
-/*
- * FCKeditor - The text editor for internet
- * Copyright (C) 2003-2004 Frederico Caldeira Knabben
- *
- * Licensed under the terms of the GNU Lesser General Public License:
- * http://www.opensource.org/licenses/lgpl-license.php
- *
- * For further information visit:
- * http://www.fckeditor.net/
- *
- * File Name: fck_1_gecko.js
- * This is the first part of the "FCK" object creation. This is the main
- * object that represents an editor instance.
- * (Gecko specific implementations)
- *
- * Version: 2.0 RC2
- * Modified: 2004-12-15 13:26:29
- *
- * File Authors:
- * Frederico Caldeira Knabben (fredck@fckeditor.net)
- */
-
-FCK.Description = "FCKeditor for Gecko Browsers" ;
-
-FCK.InitializeBehaviors = function()
-{
- // Disable Right-Click
- var oOnContextMenu = function( e )
- {
- e.preventDefault() ;
- FCK.ShowContextMenu( e.clientX, e.clientY ) ;
- }
- this.EditorDocument.addEventListener( 'contextmenu', oOnContextMenu, true ) ;
-
- var oOnKeyDown = function( e )
- {
- if ( e.ctrlKey && !e.shiftKey && !e.altKey )
- {
- // Char 86/118 = V/v
- if ( e.which == 86 || e.which == 118 )
- {
- if ( FCK.Status == FCK_STATUS_COMPLETE )
- {
- if ( !FCK.Events.FireEvent( "OnPaste" ) )
- e.preventDefault() ;
- }
- else
- e.preventDefault() ;
- }
- }
- }
- this.EditorDocument.addEventListener( 'keydown', oOnKeyDown, true ) ;
-
- var oOnSelectionChange = function( e )
- {
- /*
- var bIsDifferent = false ;
- var oActualSel = FCK.EditorWindow.getSelection() ;
-
- if ( FCK.LastSelection )
- {
- if ( FCK.LastSelection.rangeCount != oActualSel.rangeCount )
- {
- bIsDifferent = true ;
- }
- else
- {
- if ( oActualSel.rangeCount == 1 )
- {
- var oRangeA = oActualSel.getRangeAt(0) ;
- var oRangeB = FCK.LastSelection.getRangeAt(0) ;
-
- FCKDebug.Output( 'collapsed: ' + oRangeA.collapsed ) ;
- if ( oRangeA.collapsed )
- {
- FCKDebug.Output( 'startContainerBranch: ' + oRangeA.startContainerBranch + ' == ' + oRangeB.startContainerBranch ) ;
- FCKDebug.Output( 'Container: ' + oRangeA.startContainer.childNodes[ oRangeA.startOffset ] + ' == ' + oRangeB.commonAncestorContainer.parent ) ;
- if
- (
- !oRangeB.collapsed ||
- oRangeA.startContainer.childNodes[ oRangeA.startOffset ] != oRangeB.startContainer.childNodes[ oRangeB.startOffset ] ||
- oRangeA.commonAncestorContainer.parent != oRangeB.commonAncestorContainer.parent )
- {
- bIsDifferent = true ;
- }
- }
- else
- {
- bIsDifferent = true ;
- }
- }
- else
- {
- bIsDifferent == true ;
- }
- }
- }
- else
- {
- bIsDifferent = true ;
- }
-
- FCK.LastSelection = oActualSel ;
-
- FCKDebug.Output( 'bIsDifferent: ' + bIsDifferent ) ;
-
- if ( bIsDifferent )
- {*/
- FCK.Events.FireEvent( "OnSelectionChange" ) ;
- //}
- }
-
- this.EditorDocument.addEventListener( 'mouseup', oOnSelectionChange, false ) ;
- this.EditorDocument.addEventListener( 'keyup', oOnSelectionChange, false ) ;
-
- this.MakeEditable() ;
-
- this.SetStatus( FCK_STATUS_ACTIVE ) ;
-}
-
-FCK.MakeEditable = function()
-{
- this.EditorDocument.designMode = 'on' ;
-
- // Tell Gecko to use or not the <SPAN> tag for the bold, italic and underline.
- this.EditorDocument.execCommand( 'useCSS', false, !FCKConfig.GeckoUseSPAN ) ;
-}
-
-FCK.Focus = function()
-{
- try
- {
- FCK.EditorWindow.focus() ;
- }
- catch(e) {}
-}
-
-FCK.SetHTML = function( html, forceWYSIWYG )
-{
- if ( forceWYSIWYG || FCK.EditMode == FCK_EDITMODE_WYSIWYG )
- {
- // On Gecko we must disable editing before setting the innerHTML.
-// FCK.EditorDocument.designMode = "off" ;
-
- FCK.EditorDocument.body.innerHTML = html ;
-
- // On Gecko we must set the desingMode on again after setting the innerHTML.
-// FCK.EditorDocument.designMode = 'on' ;
-
- // Tell Gecko to use or not the <SPAN> tag for the bold, italic and underline.
-// FCK.EditorDocument.execCommand( "useCSS", false, !FCKConfig.GeckoUseSPAN ) ;
- }
- else
- document.getElementById('eSourceField').value = html ;
-}
-
diff --git a/lib/editor/_source/internals/fck_1_ie.js b/lib/editor/_source/internals/fck_1_ie.js
deleted file mode 100644
index b22728c..0000000
--- a/lib/editor/_source/internals/fck_1_ie.js
+++ /dev/null
@@ -1,181 +0,0 @@
-/*
- * FCKeditor - The text editor for internet
- * Copyright (C) 2003-2004 Frederico Caldeira Knabben
- *
- * Licensed under the terms of the GNU Lesser General Public License:
- * http://www.opensource.org/licenses/lgpl-license.php
- *
- * For further information visit:
- * http://www.fckeditor.net/
- *
- * File Name: fck_1_ie.js
- * This is the first part of the "FCK" object creation. This is the main
- * object that represents an editor instance.
- * (IE specific implementations)
- *
- * Version: 2.0 RC2
- * Modified: 2004-12-21 23:51:51
- *
- * File Authors:
- * Frederico Caldeira Knabben (fredck@fckeditor.net)
- */
-
-FCK.Description = "FCKeditor for Internet Explorer 5.5+" ;
-
-FCK.InitializeBehaviors = function()
-{
- // Set the focus to the editable area when clicking in the document area.
- // TODO: The cursor must be positioned at the end.
- this.EditorDocument.onmousedown = this.EditorDocument.onmouseup = function()
- {
- FCK.Focus() ;
-
- FCK.EditorWindow.event.cancelBubble = true ;
- FCK.EditorWindow.event.returnValue = false ;
- }
-
- // Intercept pasting operations
- this.EditorDocument.body.onpaste = function()
- {
- if ( FCK.Status == FCK_STATUS_COMPLETE )
- return FCK.Events.FireEvent( "OnPaste" ) ;
- else
- return false ;
- }
-
- // Disable Right-Click and shows the context menu.
- this.EditorDocument.oncontextmenu = function()
- {
- var e = this.parentWindow.event ;
- FCK.ShowContextMenu( e.screenX, e.screenY ) ;
- return false ;
- }
- // Check if key strokes must be monitored.
- if ( FCKConfig.UseBROnCarriageReturn || FCKConfig.TabSpaces > 0 )
- {
- // Build the "TAB" key replacement.
- if ( FCKConfig.TabSpaces > 0 )
- {
- window.FCKTabHTML = '' ;
- for ( i = 0 ; i < FCKConfig.TabSpaces ; i++ )
- window.FCKTabHTML += "&nbsp;" ;
- }
-
- this.EditorDocument.onkeydown = function()
- {
- var e = FCK.EditorWindow.event ;
-
- if ( e.keyCode == 13 && FCKConfig.UseBROnCarriageReturn ) // ENTER
- {
- if ( (e.ctrlKey || e.altKey || e.shiftKey) )
- return true ;
- else
- {
- // We must ignore it if we are inside a List.
- if ( FCK.EditorDocument.queryCommandState( 'InsertOrderedList' ) || FCK.EditorDocument.queryCommandState( 'InsertUnorderedList' ) )
- return true ;
-
- // Insert the <BR> (The &nbsp; must be also inserted to make it work)
- FCK.InsertHtml("<br>&nbsp;") ;
-
- // Remove the &nbsp;
- var oRange = FCK.EditorDocument.selection.createRange() ;
- oRange.moveStart('character',-1) ;
- oRange.select() ;
- FCK.EditorDocument.selection.clear() ;
-
- return false ;
- }
- }
- else if ( e.keyCode == 9 && FCKConfig.TabSpaces > 0 && !(e.ctrlKey || e.altKey || e.shiftKey) ) // TAB
- {
- FCK.InsertHtml( window.FCKTabHTML ) ;
- return false ;
- }
-
- return true ;
- }
- }
-
- // Intercept cursor movements
- this.EditorDocument.onselectionchange = function()
- {
- FCK.Events.FireEvent( "OnSelectionChange" ) ;
- }
-
- //Enable editing
- this.EditorDocument.body.contentEditable = true ;
-
- this.SetStatus( FCK_STATUS_ACTIVE ) ;
-}
-
-FCK.Focus = function()
-{
- try
- {
- if ( FCK.EditMode == FCK_EDITMODE_WYSIWYG )
- FCK.EditorDocument.body.focus() ;
- else
- document.getElementById('eSource').focus() ;
- }
- catch(e) {}
-}
-
-FCK.SetHTML = function( html, forceWYSIWYG )
-{
- if ( forceWYSIWYG || FCK.EditMode == FCK_EDITMODE_WYSIWYG )
- {
- // TODO: Wait stable version and remove the following commented lines.
- // In IE, if you do document.body.innerHTML = '<p><hr></p>' it throws a "Unknow runtime error".
- // To solve it we must add a fake (safe) tag before it, and then remove it.
- // this.EditorDocument.body.innerHTML = '<div id="__fakeFCKRemove__">&nbsp;</div>' + html.replace( FCKRegexLib.AposEntity, '&#39;' ) ;
- // this.EditorDocument.getElementById('__fakeFCKRemove__').removeNode(true) ;
-
- this.EditorDocument.body.innerHTML = '' ;
- if ( html && html.length > 0 )
- this.EditorDocument.write( html ) ;
- }
- else
- document.getElementById('eSourceField').value = html ;
-}
-
-// TODO: Wait stable version and remove the following commented lines.
-/*
-FCK.CheckRelativeLinks = function()
-{
- // IE automatically change relative URLs to absolute, so we use a trick
- // to solve this problem (the document base points to "fckeditor:".
-
- for ( var i = 0 ; i < this.EditorDocument.links.length ; i++ )
- {
- var e = this.EditorDocument.links[i] ;
-
- if ( e.href.startsWith( FCK.BaseUrl ) )
- e.href = e.href.remove( 0, FCK.BaseUrl.length ) ;
- }
-
- for ( var i = 0 ; i < this.EditorDocument.images.length ; i++ )
- {
- var e = this.EditorDocument.images[i] ;
-
- if ( e.src.startsWith( FCK.BaseUrl ) )
- e.src = e.src.remove( 0, FCK.BaseUrl.length ) ;
- }
-}
-*/
-
-FCK.InsertHtml = function( html )
-{
- FCK.Focus() ;
-
- // Gets the actual selection.
- var oSel = FCK.EditorDocument.selection ;
-
- // Deletes the actual selection contents.
- if ( oSel.type.toLowerCase() != "none" )
- oSel.clear() ;
-
- // Inset the HTML.
- oSel.createRange().pasteHTML( html ) ;
-}
-
diff --git a/lib/editor/_source/internals/fck_2.js b/lib/editor/_source/internals/fck_2.js
deleted file mode 100644
index a3122ee..0000000
--- a/lib/editor/_source/internals/fck_2.js
+++ /dev/null
@@ -1,156 +0,0 @@
-/*
- * FCKeditor - The text editor for internet
- * Copyright (C) 2003-2004 Frederico Caldeira Knabben
- *
- * Licensed under the terms of the GNU Lesser General Public License:
- * http://www.opensource.org/licenses/lgpl-license.php
- *
- * For further information visit:
- * http://www.fckeditor.net/
- *
- * File Name: fck_2.js
- * This is the second part of the "FCK" object creation. This is the main
- * object that represents an editor instance.
- *
- * Version: 2.0 RC2
- * Modified: 2004-12-20 14:04:21
- *
- * File Authors:
- * Frederico Caldeira Knabben (fredck@fckeditor.net)
- */
-
-// This collection is used by the browser specific implementations to tell
-// wich named commands must be handled separately.
-FCK.RedirectNamedCommands = new Object() ;
-
-FCK.ExecuteNamedCommand = function( commandName, commandParameter )
-{
- if ( FCK.RedirectNamedCommands[ commandName ] != null )
- FCK.ExecuteRedirectedNamedCommand( commandName, commandParameter ) ;
- else
- {
- FCK.Focus() ;
- FCK.EditorDocument.execCommand( commandName, false, commandParameter ) ;
- FCK.Events.FireEvent( 'OnSelectionChange' ) ;
- }
-}
-
-FCK.GetNamedCommandState = function( commandName )
-{
- try
- {
- if ( !FCK.EditorDocument.queryCommandEnabled( commandName ) )
- return FCK_TRISTATE_DISABLED ;
- else
- return FCK.EditorDocument.queryCommandState( commandName ) ? FCK_TRISTATE_ON : FCK_TRISTATE_OFF ;
- }
- catch ( e )
- {
- return FCK_TRISTATE_OFF ;
- }
-}
-
-FCK.GetNamedCommandValue = function( commandName )
-{
- var sValue = '' ;
- var eState = FCK.GetNamedCommandState( commandName ) ;
-
- if ( eState == FCK_TRISTATE_DISABLED )
- return null ;
-
- try
- {
- sValue = this.EditorDocument.queryCommandValue( commandName ) ;
- }
- catch(e) {}
-
- return sValue ? sValue : '' ;
-}
-
-FCK.CleanAndPaste = function( html )
-{
- // Remove all SPAN tags
- html = html.replace(/<\/?SPAN[^>]*>/gi, "" );
- // Remove Class attributes
- html = html.replace(/<(\w[^>]*) class=([^ |>]*)([^>]*)/gi, "<$1$3") ;
- // Remove Style attributes
- html = html.replace(/<(\w[^>]*) style="([^"]*)"([^>]*)/gi, "<$1$3") ;
- // Remove Lang attributes
- html = html.replace(/<(\w[^>]*) lang=([^ |>]*)([^>]*)/gi, "<$1$3") ;
- // Remove XML elements and declarations
- html = html.replace(/<\\?\?xml[^>]*>/gi, "") ;
- // Remove Tags with XML namespace declarations: <o:p></o:p>
- html = html.replace(/<\/?\w+:[^>]*>/gi, "") ;
- // Replace the &nbsp;
- html = html.replace(/&nbsp;/, " " );
- // Transform <P> to <DIV>
- var re = new RegExp("(<P)([^>]*>.*?)(<\/P>)","gi") ; // Different because of a IE 5.0 error
- html = html.replace( re, "<div$2</div>" ) ;
-
- FCK.InsertHtml( html ) ;
-}
-
-FCK.Preview = function()
-{
- var oWindow = window.open( '', null, 'toolbar=yes,location=yes,status=yes,menubar=yes,scrollbars=yes,resizable=yes' ) ;
-
- var sHTML = '<html><head><link href="' + FCKConfig.EditorAreaCSS + '" rel="stylesheet" type="text/css" /></head><body>' + FCK.GetHTML() + '</body></html>' ;
-
- oWindow.document.write( sHTML );
- oWindow.document.close();
-
- // TODO: The CSS of the editor area must be configurable.
- // oWindow.document.createStyleSheet( config.EditorAreaCSS );
-}
-
-FCK.SwitchEditMode = function()
-{
- // Check if the actual mode is WYSIWYG.
- var bWYSIWYG = ( FCK.EditMode == FCK_EDITMODE_WYSIWYG ) ;
-
- // Display/Hide the TRs.
- document.getElementById('eWysiwyg').style.display = bWYSIWYG ? 'none' : '' ;
- document.getElementById('eSource').style.display = bWYSIWYG ? '' : 'none' ;
-
- // Update the HTML in the view output to show.
- if ( bWYSIWYG )
- document.getElementById('eSourceField').value = ( FCKConfig.EnableXHTML && FCKConfig.EnableSourceXHTML ? FCK.GetXHTML() : FCK.GetHTML() ) ;
- else
- {
- FCK.SetHTML( FCK.GetHTML(), true ) ;
-
- // Gecko looses the editing capabilities when hidding the IFRAME, so we must reset it.
- if ( FCKBrowserInfo.IsGecko )
- FCK.MakeEditable() ;
- }
-
- // Updates the actual mode status.
- FCK.EditMode = bWYSIWYG ? FCK_EDITMODE_SOURCE : FCK_EDITMODE_WYSIWYG ;
-
- // Set the Focus.
- FCK.Focus() ;
-
- // Update the toolbar.
- FCKToolbarSet.RefreshItemsState() ;
-}
-
-
-FCK.CreateElement = function( tag )
-{
- var e = FCK.EditorDocument.createElement( tag ) ;
- e.setAttribute( '__FCKTempLabel', '1' ) ;
-
- this.InsertElement( e ) ;
-
- var aEls = FCK.EditorDocument.getElementsByTagName( tag ) ;
-
- for ( var i = 0 ; i < aEls.length ; i++ )
- {
- if ( aEls[i].attributes['__FCKTempLabel'] )
- {
- aEls[i].removeAttribute( '__FCKTempLabel' ) ;
- return aEls[i] ;
- }
- }
-}
-
diff --git a/lib/editor/_source/internals/fck_2_gecko.js b/lib/editor/_source/internals/fck_2_gecko.js
deleted file mode 100644
index 408fdd5..0000000
--- a/lib/editor/_source/internals/fck_2_gecko.js
+++ /dev/null
@@ -1,204 +0,0 @@
-/*
- * FCKeditor - The text editor for internet
- * Copyright (C) 2003-2004 Frederico Caldeira Knabben
- *
- * Licensed under the terms of the GNU Lesser General Public License:
- * http://www.opensource.org/licenses/lgpl-license.php
- *
- * For further information visit:
- * http://www.fckeditor.net/
- *
- * File Name: fck_2_gecko.js
- * This is the second part of the "FCK" object creation. This is the main
- * object that represents an editor instance.
- * (Gecko specific implementations)
- *
- * Version: 2.0 RC2
- * Modified: 2004-12-20 14:04:19
- *
- * File Authors:
- * Frederico Caldeira Knabben (fredck@fckeditor.net)
- */
-
-// GetNamedCommandState overload for Gecko.
-FCK._BaseGetNamedCommandState = FCK.GetNamedCommandState ;
-FCK.GetNamedCommandState = function( commandName )
-{
- switch ( commandName )
- {
- case 'Unlink' :
- return FCKSelection.HasAncestorNode('A') ? FCK_TRISTATE_OFF : FCK_TRISTATE_DISABLED ;
- default :
- return FCK._BaseGetNamedCommandState( commandName ) ;
- }
-}
-
-// Named commands to be handled by this browsers specific implementation.
-FCK.RedirectNamedCommands =
-{
- Print : true,
- Paste : true,
- Cut : true,
- Copy : true
-}
-
-// ExecuteNamedCommand overload for Gecko.
-FCK.ExecuteRedirectedNamedCommand = function( commandName, commandParameter )
-{
- switch ( commandName )
- {
- case 'Print' :
- FCK.EditorWindow.print() ;
- break ;
- case 'Paste' :
- try { if ( FCK.Paste() ) FCK._BaseExecuteNamedCommand( 'Paste' ) ; }
- catch (e) { alert( FCKLang.PasteErrorPaste ) ; }
- break ;
- case 'Cut' :
- try { FCK._BaseExecuteNamedCommand( 'Cut' ) ; }
- catch (e) { alert( FCKLang.PasteErrorCut ) ; }
- break ;
- case 'Copy' :
- try { FCK._BaseExecuteNamedCommand( 'Copy' ) ; }
- catch (e) { alert( FCKLang.PasteErrorCopy ) ; }
- break ;
- default :
- FCK.ExecuteNamedCommand( commandName, commandParameter ) ;
- }
-}
-
-FCK.AttachToOnSelectionChange = function( functionPointer )
-{
- this.Events.AttachEvent( 'OnSelectionChange', functionPointer ) ;
-}
-
-FCK.Paste = function()
-{
- if ( FCKConfig.ForcePasteAsPlainText )
- {
- FCK.PasteAsPlainText() ;
- return false ;
- }
- else if ( FCKConfig.AutoDetectPasteFromWord && FCKBrowserInfo.IsIE55OrMore )
- {
- var sHTML = FCK.GetClipboardHTML() ;
- var re = /<\w[^>]* class="?MsoNormal"?/gi ;
- if ( re.test( sHTML ) )
- {
- if ( confirm( FCKLang["PasteWordConfirm"] ) )
- {
- FCK.CleanAndPaste( sHTML ) ;
- return false ;
- }
- }
- }
- else
- return true ;
-}
-
-//**
-// FCK.InsertHtml: Inserts HTML at the current cursor location. Deletes the
-// selected content if any.
-FCK.InsertHtml = function( html )
-{
- // Delete the actual selection.
- var oSel = FCKSelection.Delete() ;
-
-// var oContainer = oSel.getRangeAt(0).startContainer ;
-// var iOffSet = oSel.getRangeAt(0).startOffset ;
-
- // Get the first available range.
- var oRange = oSel.getRangeAt(0) ;
-
-// var oRange = this.EditorDocument.createRange() ;
-// oRange.setStart( oContainer, iOffSet ) ;
-// oRange.setEnd( oContainer, iOffSet ) ;
-
- // Create a fragment with the input HTML.
- var oFragment = oRange.createContextualFragment( html ) ;
-
- // Get the last available node.
- var oLastNode = oFragment.lastChild ;
-
- // Insert the fragment in the range.
- oRange.insertNode(oFragment) ;
-
- // Set the cursor after the inserted fragment.
- oRange.setEndAfter( oLastNode ) ;
- oRange.setStartAfter( oLastNode ) ;
-
- oSel.removeAllRanges() ;
- oSel = FCK.EditorWindow.getSelection() ;
- oSel.addRange( oRange ) ;
-
- this.Focus() ;
-}
-
-FCK.InsertElement = function( element )
-{
- // Deletes the actual selection.
- var oSel = FCKSelection.Delete() ;
-
- // Gets the first available range.
- var oRange = oSel.getRangeAt(0) ;
-
- // Inserts the element in the range.
- oRange.insertNode( element ) ;
-
- // Set the cursor after the inserted fragment.
- oRange.setEndAfter( element ) ;
- oRange.setStartAfter( element ) ;
-
- this.Focus() ;
-}
-
-FCK.PasteAsPlainText = function()
-{
- // TODO: Implement the "Paste as Plain Text" code.
-
- FCKDialog.OpenDialog( 'FCKDialog_Paste', FCKLang.PasteAsText, 'dialog/fck_paste.html', 400, 330, 'PlainText' ) ;
-
-/*
- var sText = FCKTools.HTMLEncode( clipboardData.getData("Text") ) ;
- sText = sText.replace( /\n/g, '<BR>' ) ;
- this.InsertHtml( sText ) ;
-*/
-}
-
-FCK.PasteFromWord = function()
-{
- // TODO: Implement the "Paste as Plain Text" code.
-
- FCKDialog.OpenDialog( 'FCKDialog_Paste', FCKLang.PasteFromWord, 'dialog/fck_paste.html', 400, 330, 'Word' ) ;
-
-// FCK.CleanAndPaste( FCK.GetClipboardHTML() ) ;
-}
-
-FCK.GetClipboardHTML = function()
-{
- return '' ;
-}
-
-FCK.CreateLink = function( url )
-{
- FCK.ExecuteNamedCommand( 'Unlink' ) ;
-
- if ( url.length > 0 )
- {
- // Generate a temporary name for the link.
- var sTempUrl = 'javascript:void(0);/*' + ( new Date().getTime() ) + '*/' ;
-
- // Use the internal "CreateLink" command to create the link.
- FCK.ExecuteNamedCommand( 'CreateLink', sTempUrl ) ;
-
- // Retrieve the just created link using XPath.
- var oLink = document.evaluate("//a[@href='" + sTempUrl + "']", this.EditorDocument.body, null, 9, null).singleNodeValue ;
-
- if ( oLink )
- {
- oLink.href = url ;
- return oLink ;
- }
- }
-}
-
diff --git a/lib/editor/_source/internals/fck_2_ie.js b/lib/editor/_source/internals/fck_2_ie.js
deleted file mode 100644
index 7df7aaf..0000000
--- a/lib/editor/_source/internals/fck_2_ie.js
+++ /dev/null
@@ -1,152 +0,0 @@
-/*
- * FCKeditor - The text editor for internet
- * Copyright (C) 2003-2004 Frederico Caldeira Knabben
- *
- * Licensed under the terms of the GNU Lesser General Public License:
- * http://www.opensource.org/licenses/lgpl-license.php
- *
- * For further information visit:
- * http://www.fckeditor.net/
- *
- * File Name: fck_2_ie.js
- * This is the second part of the "FCK" object creation. This is the main
- * object that represents an editor instance.
- * (IE specific implementations)
- *
- * Version: 2.0 RC2
- * Modified: 2004-12-20 14:04:16
- *
- * File Authors:
- * Frederico Caldeira Knabben (fredck@fckeditor.net)
- */
-
-/*
-if ( FCKConfig.UseBROnCarriageReturn )
-{
- // Named commands to be handled by this browsers specific implementation.
- FCK.RedirectNamedCommands =
- {
- InsertOrderedList : true,
- InsertUnorderedList : true
- }
-
- FCK.ExecuteRedirectedNamedCommand = function( commandName, commandParameter )
- {
- if ( commandName == 'InsertOrderedList' || commandName == 'InsertUnorderedList' )
- {
- if ( !(FCK.EditorDocument.queryCommandState( 'InsertOrderedList' ) || FCK.EditorDocument.queryCommandState( 'InsertUnorderedList' )) )
- {
- }
- }
-
- FCK.ExecuteNamedCommand( commandName, commandParameter ) ;
- }
-}
-*/
-
-FCK.Paste = function()
-{
- if ( FCKConfig.ForcePasteAsPlainText )
- {
- FCK.PasteAsPlainText() ;
- return false ;
- }
- else if ( FCKConfig.AutoDetectPasteFromWord && FCKBrowserInfo.IsIE55OrMore )
- {
- var sHTML = FCK.GetClipboardHTML() ;
- var re = /<\w[^>]* class="?MsoNormal"?/gi ;
- if ( re.test( sHTML ) )
- {
- if ( confirm( FCKLang["PasteWordConfirm"] ) )
- {
- FCK.CleanAndPaste( sHTML ) ;
- return false ;
- }
- }
- }
- else
- return true ;
-}
-
-FCK.PasteAsPlainText = function()
-{
- // Get the data available in the clipboard and encodes it in HTML.
- var sText = FCKTools.HTMLEncode( clipboardData.getData("Text") ) ;
-
- // Replace the carriage returns with <BR>
- sText = sText.replace( /\n/g, '<BR>' ) ;
-
- // Insert the resulting data in the editor.
- this.InsertHtml( sText ) ;
-}
-
-FCK.PasteFromWord = function()
-{
- FCK.CleanAndPaste( FCK.GetClipboardHTML() ) ;
-}
-
-FCK.InsertElement = function( element )
-{
- FCK.InsertHtml( element.outerHTML ) ;
-}
-
-FCK.GetClipboardHTML = function()
-{
- var oDiv = document.getElementById( '___FCKHiddenDiv' ) ;
-
- if ( !oDiv )
- {
- var oDiv = document.createElement( 'DIV' ) ;
- oDiv.id = '___FCKHiddenDiv' ;
- oDiv.style.visibility = 'hidden' ;
- oDiv.style.overflow = 'hidden' ;
- oDiv.style.position = 'absolute' ;
- oDiv.style.width = 1 ;
- oDiv.style.height = 1 ;
-
- document.body.appendChild( oDiv ) ;
- }
-
- oDiv.innerHTML = '' ;
-
- var oTextRange = document.body.createTextRange() ;
- oTextRange.moveToElementText( oDiv ) ;
- oTextRange.execCommand( 'Paste' ) ;
-
- var sData = oDiv.innerHTML ;
- oDiv.innerHTML = '' ;
-
- return sData ;
-}
-
-FCK.AttachToOnSelectionChange = function( functionPointer )
-{
- FCK.EditorDocument.attachEvent( 'onselectionchange', functionPointer ) ;
-}
-
-FCK.CreateLink = function( url )
-{
- FCK.ExecuteNamedCommand( 'Unlink' ) ;
-
- if ( url.length > 0 )
- {
- // Generate a temporary name for the link.
- var sTempUrl = 'javascript:void(0);/*' + ( new Date().getTime() ) + '*/' ;
-
- // Use the internal "CreateLink" command to create the link.
- FCK.ExecuteNamedCommand( 'CreateLink', sTempUrl ) ;
-
- // Loof for the just create link.
- var oLinks = this.EditorDocument.links ;
-
- for ( i = 0 ; i < oLinks.length ; i++ )
- {
- if ( oLinks[i].href == sTempUrl )
- {
- oLinks[i].href = url ;
- return oLinks[i] ;
- }
- }
- }
-}
-
diff --git a/lib/editor/_source/internals/fck_last.js b/lib/editor/_source/internals/fck_last.js
deleted file mode 100644
index cbd179f..0000000
--- a/lib/editor/_source/internals/fck_last.js
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
- * FCKeditor - The text editor for internet
- * Copyright (C) 2003-2004 Frederico Caldeira Knabben
- *
- * Licensed under the terms of the GNU Lesser General Public License:
- * http://www.opensource.org/licenses/lgpl-license.php
- *
- * For further information visit:
- * http://www.fckeditor.net/
- *
- * File Name: fck_last.js
- * These are the last script lines executed in the editor loading process.
- *
- * Version: 2.0 RC2
- * Modified: 2004-12-04 16:53:16
- *
- * File Authors:
- * Frederico Caldeira Knabben (fredck@fckeditor.net)
- */
-
-// This is the last file loaded to complete the editor initialization and activation
-
-// Just check if the document direction has been correctly applied (at fck_onload.js).
-if ( FCKLang && window.document.dir.toLowerCase() != FCKLang.Dir.toLowerCase() )
- window.document.dir = FCKLang.Dir ;
-
-// Activate pasting operations.
-if ( FCKConfig.ForcePasteAsPlainText )
- FCK.Events.AttachEvent( "OnPaste", FCK.Paste ) ;
-
-// Load Plugins.
-if ( FCKPlugins.Items.length > 0 )
-{
- FCKScriptLoader.OnEmpty = CompleteLoading ;
- FCKPlugins.Load() ;
-}
-else
- CompleteLoading() ;
-
-function CompleteLoading()
-{
- // Load the Toolbar
- FCKToolbarSet.Name = FCKURLParams['Toolbar'] || 'Default' ;
- FCKToolbarSet.Load( FCKToolbarSet.Name ) ;
- FCKToolbarSet.Restart() ;
-
- FCK.AttachToOnSelectionChange( FCKToolbarSet.RefreshItemsState ) ;
- //FCK.AttachToOnSelectionChange( FCKSelection._Reset ) ;
-
- FCK.SetStatus( FCK_STATUS_COMPLETE ) ;
-
- // Call the special "FCKeditor_OnComplete" function that should be present in
- // the HTML page where the editor is located.
- if ( typeof( window.parent.FCKeditor_OnComplete ) == 'function' )
- window.parent.FCKeditor_OnComplete( FCK ) ;
-} \ No newline at end of file
diff --git a/lib/editor/_source/internals/fck_onload.js b/lib/editor/_source/internals/fck_onload.js
deleted file mode 100644
index 4e13f59..0000000
--- a/lib/editor/_source/internals/fck_onload.js
+++ /dev/null
@@ -1,109 +0,0 @@
-/*
- * FCKeditor - The text editor for internet
- * Copyright (C) 2003-2004 Frederico Caldeira Knabben
- *
- * Licensed under the terms of the GNU Lesser General Public License:
- * http://www.opensource.org/licenses/lgpl-license.php
- *
- * For further information visit:
- * http://www.fckeditor.net/
- *
- * File Name: fck_onload.js
- * This is the script that is called when the editor page is loaded inside
- * its IFRAME. It's the editor startup.
- *
- * Version: 2.0 RC2
- * Modified: 2004-11-30 11:38:24
- *
- * File Authors:
- * Frederico Caldeira Knabben (fredck@fckeditor.net)
- */
-
-// Disable the context menu in the editor (areas outside the editor area).
-window.document.oncontextmenu = function( e )
-{
- if ( e )
- e.preventDefault() ; // This is the Gecko way to do that.
- return false ; // This is the IE way to do that.
-}
-
-// Gecko browsers doens't calculate well that IFRAME size so we must
-// recalculate it every time the window size changes.
-if ( ! FCKBrowserInfo.IsIE )
-{
- window.onresize = function()
- {
- var oFrame = document.getElementById('eEditorArea') ;
- oFrame.height = 0 ;
-
- var oCell = document.getElementById( FCK.EditMode == FCK_EDITMODE_WYSIWYG ? 'eWysiwygCell' : 'eSource' ) ;
- var iHeight = oCell.offsetHeight ;
-
- oFrame.height = iHeight - 2 ;
- }
-}
-
-// Start the editor as soon as the window is loaded.
-window.onload = function()
-{
- // There is a bug on Netscape when rendering the frame. It goes over the
- // right border. So we must correct it.
- if ( FCKBrowserInfo.IsNetscape )
- document.getElementById('eWysiwygCell').style.paddingRight = '2px' ;
-
- FCKScriptLoader.OnEmpty = function()
- {
- FCKScriptLoader.OnEmpty = null ;
-
- // Override the configurations passed throw the hidden field.
- FCKConfig.LoadHiddenField() ;
-
- // Load the custom configurations file (if defined).
- if ( FCKConfig.CustomConfigurationsPath.length > 0 )
- FCKScriptLoader.AddScript( FCKConfig.CustomConfigurationsPath ) ;
-
- // Load the styles for the configured skin.
- LoadStyles() ;
- }
-
- // First of all load the configuration file.
- FCKScriptLoader.AddScript( '../fckconfig.js' ) ;
-}
-
-function LoadStyles()
-{
- FCKScriptLoader.OnEmpty = LoadScripts ;
-
- // Load the active skin CSS.
- FCKScriptLoader.AddScript( FCKConfig.SkinPath + 'fck_editor.css' ) ;
- FCKScriptLoader.AddScript( FCKConfig.SkinPath + 'fck_contextmenu.css' ) ;
-}
-
-function LoadScripts()
-{
- FCKScriptLoader.OnEmpty = null ;
-
-
- if ( FCKBrowserInfo.IsIE )
- FCKScriptLoader.AddScript( 'js/fckeditorcode_ie_1.js' ) ;
- else
- FCKScriptLoader.AddScript( 'js/fckeditorcode_gecko_1.js' ) ;
-}
-
-function LoadLanguageFile()
-{
- FCKScriptLoader.OnEmpty = function()
- {
- // Removes the OnEmpty listener.
- FCKScriptLoader.OnEmpty = null ;
-
- // Correct the editor layout to the correct language direction.
- if ( FCKLang )
- window.document.dir = FCKLang.Dir ;
-
- // Starts the editor.
- FCK.StartEditor() ;
- }
-
- FCKScriptLoader.AddScript( 'lang/' + FCKLanguageManager.ActiveLanguage.Code + '.js' ) ;
-} \ No newline at end of file
diff --git a/lib/editor/_source/internals/fckbrowserinfo.js b/lib/editor/_source/internals/fckbrowserinfo.js
deleted file mode 100644
index fb2b441..0000000
--- a/lib/editor/_source/internals/fckbrowserinfo.js
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * FCKeditor - The text editor for internet
- * Copyright (C) 2003-2004 Frederico Caldeira Knabben
- *
- * Licensed under the terms of the GNU Lesser General Public License:
- * http://www.opensource.org/licenses/lgpl-license.php
- *
- * For further information visit:
- * http://www.fckeditor.net/
- *
- * File Name: fckbrowserinfo.js
- * Defines the FCKBrowserInfo object that hold some browser informations.
- *
- * Version: 2.0 RC2
- * Modified: 2004-11-26 01:20:34
- *
- * File Authors:
- * Frederico Caldeira Knabben (fredck@fckeditor.net)
- */
-
-var FCKBrowserInfo = new Object() ;
-
-var sAgent = navigator.userAgent.toLowerCase() ;
-
-FCKBrowserInfo.IsIE = sAgent.indexOf("msie") != -1 ;
-FCKBrowserInfo.IsGecko = !FCKBrowserInfo.IsIE ;
-FCKBrowserInfo.IsNetscape = sAgent.indexOf("netscape") != -1 ;
-
-if ( FCKBrowserInfo.IsIE )
-{
- FCKBrowserInfo.MajorVer = navigator.appVersion.match(/MSIE (.)/)[1] ;
- FCKBrowserInfo.MinorVer = navigator.appVersion.match(/MSIE .\.(.)/)[1] ;
-}
-else
-{
- // TODO: Other browsers
- FCKBrowserInfo.MajorVer = 0 ;
- FCKBrowserInfo.MinorVer = 0 ;
-}
-
-FCKBrowserInfo.IsIE55OrMore = FCKBrowserInfo.IsIE && ( FCKBrowserInfo.MajorVer > 5 || FCKBrowserInfo.MinorVer >= 5 ) ; \ No newline at end of file
diff --git a/lib/editor/_source/internals/fckcommands.js b/lib/editor/_source/internals/fckcommands.js
deleted file mode 100644
index ef7c9f6..0000000
--- a/lib/editor/_source/internals/fckcommands.js
+++ /dev/null
@@ -1,95 +0,0 @@
-/*
- * FCKeditor - The text editor for internet
- * Copyright (C) 2003-2004 Frederico Caldeira Knabben
- *
- * Licensed under the terms of the GNU Lesser General Public License:
- * http://www.opensource.org/licenses/lgpl-license.php
- *
- * For further information visit:
- * http://www.fckeditor.net/
- *
- * File Name: fckcommands.js
- * Define all commands available in the editor.
- *
- * Version: 2.0 RC2
- * Modified: 2004-12-19 22:51:46
- *
- * File Authors:
- * Frederico Caldeira Knabben (fredck@fckeditor.net)
- */
-
-var FCKCommands = FCK.Commands = new Object() ;
-FCKCommands.LoadedCommands = new Object() ;
-
-FCKCommands.RegisterCommand = function( commandName, command )
-{
- this.LoadedCommands[ commandName ] = command ;
-}
-
-FCKCommands.GetCommand = function( commandName )
-{
- var oCommand = FCKCommands.LoadedCommands[ commandName ] ;
-
- if ( oCommand )
- return oCommand ;
-
- switch ( commandName )
- {
- case 'Link' : oCommand = new FCKDialogCommand( 'Link' , FCKLang.DlgLnkWindowTitle , 'dialog/fck_link.html' , 400, 330, FCK.GetNamedCommandState, 'CreateLink' ) ; break ;
- case 'About' : oCommand = new FCKDialogCommand( 'About' , FCKLang.About , 'dialog/fck_about.html' , 400, 330 ) ; break ;
-
- case 'Find' : oCommand = new FCKDialogCommand( 'Find' , FCKLang.DlgFindTitle , 'dialog/fck_find.html' , 340, 170 ) ; break ;
- case 'Replace' : oCommand = new FCKDialogCommand( 'Replace' , FCKLang.DlgReplaceTitle , 'dialog/fck_replace.html' , 340, 200 ) ; break ;
-
- case 'Image' : oCommand = new FCKDialogCommand( 'Image' , FCKLang.DlgImgTitle , 'dialog/fck_image.html' , 450, 400, FCK.GetNamedCommandState, 'InsertImage' ) ; break ;
- case 'SpecialChar' : oCommand = new FCKDialogCommand( 'SpecialChar', FCKLang.DlgSpecialCharTitle , 'dialog/fck_specialchar.html' , 400, 300, FCK.GetNamedCommandState, 'InsertImage' ) ; break ;
- case 'Smiley' : oCommand = new FCKDialogCommand( 'Smiley' , FCKLang.DlgSmileyTitle , 'dialog/fck_smiley.html' , FCKConfig.SmileyWindowWidth, FCKConfig.SmileyWindowHeight, FCK.GetNamedCommandState, 'InsertImage' ) ; break ;
- case 'Table' : oCommand = new FCKDialogCommand( 'Table' , FCKLang.DlgTableTitle , 'dialog/fck_table.html' , 400, 250 ) ; break ;
- case 'TableProp' : oCommand = new FCKDialogCommand( 'Table' , FCKLang.DlgTableTitle , 'dialog/fck_table.html?Parent', 400, 250 ) ; break ;
- case 'TableCellProp': oCommand = new FCKDialogCommand( 'TableCell' , FCKLang.DlgCellTitle , 'dialog/fck_tablecell.html' , 500, 250 ) ; break ;
-
- case 'Style' : oCommand = new FCKStyleCommand() ; break ;
-
- case 'FontName' : oCommand = new FCKFontNameCommand() ; break ;
- case 'FontSize' : oCommand = new FCKFontSizeCommand() ; break ;
- case 'FontFormat' : oCommand = new FCKFormatBlockCommand() ; break ;
-
- case 'Source' : oCommand = new FCKSourceCommand() ; break ;
- case 'Preview' : oCommand = new FCKPreviewCommand() ; break ;
- case 'Save' : oCommand = new FCKSaveCommand() ; break ;
- case 'NewPage' : oCommand = new FCKNewPageCommand() ; break ;
-
- case 'TextColor' : oCommand = new FCKTextColorCommand('ForeColor') ; break ;
- case 'BGColor' : oCommand = new FCKTextColorCommand('BackColor') ; break ;
-
- case 'PasteText' : oCommand = new FCKPastePlainTextCommand() ; break ;
- case 'PasteWord' : oCommand = new FCKPasteWordCommand() ; break ;
-
- case 'TableInsertRow' : oCommand = new FCKTableCommand('TableInsertRow') ; break ;
- case 'TableDeleteRows' : oCommand = new FCKTableCommand('TableDeleteRows') ; break ;
- case 'TableInsertColumn' : oCommand = new FCKTableCommand('TableInsertColumn') ; break ;
- case 'TableDeleteColumns' : oCommand = new FCKTableCommand('TableDeleteColumns') ; break ;
- case 'TableInsertCell' : oCommand = new FCKTableCommand('TableInsertCell') ; break ;
- case 'TableDeleteCells' : oCommand = new FCKTableCommand('TableDeleteCells') ; break ;
- case 'TableMergeCells' : oCommand = new FCKTableCommand('TableMergeCells') ; break ;
- case 'TableSplitCell' : oCommand = new FCKTableCommand('TableSplitCell') ; break ;
-
- // Generic Undefined command (usually used when a command is under development).
- case 'Undefined' : oCommand = new FCKUndefinedCommand() ; break ;
-
- // By default we assume that it is a named command.
- default:
- if ( FCKRegexLib.NamedCommands.test( commandName ) )
- oCommand = new FCKNamedCommand( commandName ) ;
- else
- {
- alert( FCKLang.UnknownCommand.replace( /%1/g, commandName ) ) ;
- return ;
- }
- }
-
- FCKCommands.LoadedCommands[ commandName ] = oCommand ;
-
- return oCommand ;
-}
-
diff --git a/lib/editor/_source/internals/fckconfig.js b/lib/editor/_source/internals/fckconfig.js
deleted file mode 100644
index a103fe7..0000000
--- a/lib/editor/_source/internals/fckconfig.js
+++ /dev/null
@@ -1,75 +0,0 @@
-/*
- * FCKeditor - The text editor for internet
- * Copyright (C) 2003-2004 Frederico Caldeira Knabben
- *
- * Licensed under the terms of the GNU Lesser General Public License:
- * http://www.opensource.org/licenses/lgpl-license.php
- *
- * For further information visit:
- * http://www.fckeditor.net/
- *
- * File Name: fckconfig.js
- * Creates and initializes the FCKConfig object.
- *
- * Version: 2.0 RC2
- * Modified: 2004-11-16 15:56:53
- *
- * File Authors:
- * Frederico Caldeira Knabben (fredck@fckeditor.net)
- */
-
-var FCKConfig = FCK.Config = new Object() ;
-
-// Editor Base Path
-if ( document.location.protocol == 'file:' )
-{
- FCKConfig.BasePath = document.location.pathname.substr(1) ;
- FCKConfig.BasePath = FCKConfig.BasePath.replace( /\\/gi, '/' ) ;
- FCKConfig.BasePath = 'file://' + FCKConfig.BasePath.substring(0,FCKConfig.BasePath.lastIndexOf('/')+1) ;
-}
-else
- FCKConfig.BasePath = document.location.pathname.substring(0,document.location.pathname.lastIndexOf('/')+1) ;
-
-// Override the actual configuration values with the values passed throw the
-// hidden field "<InstanceName>___Config".
-FCKConfig.LoadHiddenField = function()
-{
- // Get the hidden field.
- var oConfigField = window.parent.document.getElementById( FCK.Name + '___Config' ) ;
-
- // Do nothing if the config field was not defined.
- if ( ! oConfigField ) return ;
-
- var aCouples = oConfigField.value.split('&') ;
-
- for ( var i = 0 ; i < aCouples.length ; i++ )
- {
- if ( aCouples[i].length == 0 )
- continue ;
-
- var aConfig = aCouples[i].split('=') ;
- var sConfigName = aConfig[0] ;
- var sConfigValue = aConfig[1] ;
-
- if ( sConfigValue.toLowerCase() == "true" ) // If it is a boolean TRUE.
- FCKConfig[sConfigName] = true ;
- else if ( sConfigValue.toLowerCase() == "false" ) // If it is a boolean FALSE.
- FCKConfig[sConfigName] = false ;
- else if ( ! isNaN(sConfigValue) ) // If it is a number.
- FCKConfig[sConfigName] = parseInt( sConfigValue ) ;
- else // In any other case it is a string.
- FCKConfig[sConfigName] = sConfigValue ;
- }
-}
-
-// Define toolbar sets collection.
-FCKConfig.ToolbarSets = new Object() ;
-
-// Defines the plugins collection.
-FCKConfig.Plugins = new Object() ;
-FCKConfig.Plugins.Items = new Array() ;
-
-FCKConfig.Plugins.Add = function( name, langs )
-{
- FCKConfig.Plugins.Items.addItem( [name, langs] ) ;
-} \ No newline at end of file
diff --git a/lib/editor/_source/internals/fckcontextmenu.js b/lib/editor/_source/internals/fckcontextmenu.js
deleted file mode 100644
index 377765c..0000000
--- a/lib/editor/_source/internals/fckcontextmenu.js
+++ /dev/null
@@ -1,192 +0,0 @@
-/*
- * FCKeditor - The text editor for internet
- * Copyright (C) 2003-2004 Frederico Caldeira Knabben
- *
- * Licensed under the terms of the GNU Lesser General Public License:
- * http://www.opensource.org/licenses/lgpl-license.php
- *
- * For further information visit:
- * http://www.fckeditor.net/
- *
- * File Name: fckcontextmenu.js
- * Defines the FCKContextMenu object that is responsible for all
- * Context Menu operations.
- *
- * Version: 2.0 RC2
- * Modified: 2004-12-20 00:19:50
- *
- * File Authors:
- * Frederico Caldeira Knabben (fredck@fckeditor.net)
- */
-
-var FCKContextMenu = new Object() ;
-
-// This property is internally used to indicate that the context menu has been created.
-FCKContextMenu._IsLoaded = false ;
-
-// This method creates the context menu inside a DIV tag. Take a look at the end of this file for a sample output.
-FCKContextMenu.Reload = function()
-{
- // Create the Main DIV that holds the Context Menu.
- this._Div = this._Document.createElement( 'DIV' ) ;
- this._Div.className = 'CM_ContextMenu' ;
- this._Div.style.position = 'absolute' ;
- this._Div.style.visibility = 'hidden' ;
- this._Document.body.appendChild( this._Div );
-
- // Create the main table for the menu items.
- var oTable = this._Document.createElement( 'TABLE' ) ;
- oTable.cellSpacing = 0 ;
- oTable.cellPadding = 0 ;
- oTable.border = 0 ;
- this._Div.appendChild( oTable ) ;
-
- // Create arrays with all Items to add.
-
- this.Groups = new Object() ;
-
- // Generic items that are always available.
- this.Groups['Generic'] = new FCKContextMenuGroup() ;
- with ( this.Groups['Generic'] )
- {
- Add( new FCKContextMenuItem( this, 'Cut' , FCKLang.Cut , true ) ) ;
- Add( new FCKContextMenuItem( this, 'Copy' , FCKLang.Copy , true ) ) ;
- Add( new FCKContextMenuItem( this, 'Paste' , FCKLang.Paste , true ) ) ;
- }
-
- // Link operations.
- this.Groups['Link'] = new FCKContextMenuGroup() ;
- with ( this.Groups['Link'] )
- {
- Add( new FCKContextMenuSeparator() ) ;
- Add( new FCKContextMenuItem( this, 'Link' , FCKLang.EditLink , true ) ) ;
- Add( new FCKContextMenuItem( this, 'Unlink' , FCKLang.RemoveLink, true ) ) ;
- }
-
- // Table Cell operations.
- this.Groups['TableCell'] = new FCKContextMenuGroup() ;
- with ( this.Groups['TableCell'] )
- {
- Add( new FCKContextMenuSeparator() ) ;
- Add( new FCKContextMenuItem( this, 'TableInsertRow' , FCKLang.InsertRow, true ) ) ;
- Add( new FCKContextMenuItem( this, 'TableDeleteRows' , FCKLang.DeleteRows, true ) ) ;
- Add( new FCKContextMenuSeparator() ) ;
- Add( new FCKContextMenuItem( this, 'TableInsertColumn' , FCKLang.InsertColumn, true ) ) ;
- Add( new FCKContextMenuItem( this, 'TableDeleteColumns' , FCKLang.DeleteColumns, true ) ) ;
- Add( new FCKContextMenuSeparator() ) ;
- Add( new FCKContextMenuItem( this, 'TableInsertCell' , FCKLang.InsertCell, true ) ) ;
- Add( new FCKContextMenuItem( this, 'TableDeleteCells' , FCKLang.DeleteCells, true ) ) ;
- Add( new FCKContextMenuItem( this, 'TableMergeCells' , FCKLang.MergeCells, true ) ) ;
- Add( new FCKContextMenuItem( this, 'TableSplitCell' , FCKLang.SplitCell, true ) ) ;
- Add( new FCKContextMenuSeparator() ) ;
- Add( new FCKContextMenuItem( this, 'TableCellProp' , FCKLang.CellProperties, true ) ) ;
- Add( new FCKContextMenuItem( this, 'TableProp' , FCKLang.TableProperties, true ) ) ;
- }
-
- // Table operations.
- this.Groups['Table'] = new FCKContextMenuGroup() ;
- with ( this.Groups['Table'] )
- {
- Add( new FCKContextMenuSeparator() ) ;
- Add( new FCKContextMenuItem( this, 'Table', FCKLang.TableProperties, true ) ) ;
- }
-
- // Image operations.
- this.Groups['Image'] = new FCKContextMenuGroup() ;
- with ( this.Groups['Image'] )
- {
- Add( new FCKContextMenuSeparator() ) ;
- Add( new FCKContextMenuItem( this, 'Image', FCKLang.ImageProperties, true ) ) ;
- }
-
- // Select field operations.
- this.Groups['Select'] = new FCKContextMenuGroup() ;
- with ( this.Groups['Select'] )
- {
- Add( new FCKContextMenuSeparator() ) ;
- Add( new FCKContextMenuItem( this, 'Undefined', "Selection Field Properties" ) ) ;
- }
-
- // Textarea operations.
- this.Groups['Textarea'] = new FCKContextMenuGroup() ;
- with ( this.Groups['Textarea'] )
- {
- Add( new FCKContextMenuSeparator() ) ;
- Add( new FCKContextMenuItem( this, 'Undefined', "Textarea Properties" ) ) ;
- }
-
- // Create all table rows (representing the items) in the context menu.
- for ( var o in this.Groups )
- {
- this.Groups[o].CreateTableRows( oTable ) ;
- }
-
- this._IsLoaded = true ;
-}
-
-FCKContextMenu.RefreshState = function()
-{
- // Get the actual selected tag (if any).
- var oTag = FCKSelection.GetSelectedElement() ;
- var sTagName ;
-
- if ( oTag )
- {
- sTagName = oTag.tagName ;
- }
-
- // Set items visibility.
- this.Groups['Link'].SetVisible( FCK.GetNamedCommandState( 'Unlink' ) != FCK_TRISTATE_DISABLED ) ;
- this.Groups['TableCell'].SetVisible( sTagName != 'TABLE' && FCKSelection.HasAncestorNode('TABLE') ) ;
- this.Groups['Table'].SetVisible( sTagName == 'TABLE' ) ;
- this.Groups['Image'].SetVisible( sTagName == 'IMG' ) ;
- this.Groups['Select'].SetVisible( sTagName == 'SELECT' ) ;
- this.Groups['Textarea'].SetVisible( sTagName == 'TEXTAREA' ) ;
-
- // Refresh the state of all visible items (active/disactive)
- for ( var o in this.Groups )
- {
- this.Groups[o].RefreshState() ;
- }
-}
-
-/*
-Sample Context Menu Output
------------------------------------------
-<div class="CM_ContextMenu">
- <table cellSpacing="0" cellPadding="0" border="0">
- <tr class="CM_Disabled">
- <td class="CM_Icon"><img alt="" src="icons/button.cut.gif" width="21" height="20" unselectable="on"></td>
- <td class="CM_Label" unselectable="on">Cut</td>
- </tr>
- <tr class="CM_Disabled">
- <td class="CM_Icon"><img height="20" alt="" src="icons/button.copy.gif" width="21"></td>
- <td class="CM_Label">Copy</td>
- </tr>
- <tr class="CM_Option" onmouseover="OnOver(this);" onmouseout="OnOut(this);">
- <td class="CM_Icon"><img height="20" alt="" src="icons/button.paste.gif" width="21"></td>
- <td class="CM_Label">Paste</td>
- </tr>
- <tr class="CM_Separator">
- <td class="CM_Icon"></td>
- <td class="CM_Label"><div></div></td>
- </tr>
- <tr class="CM_Option" onmouseover="OnOver(this);" onmouseout="OnOut(this);">
- <td class="CM_Icon"><img height="20" alt="" src="icons/button.print.gif" width="21"></td>
- <td class="CM_Label">Print</td>
- </tr>
- <tr class="CM_Separator">
- <td class="CM_Icon"></td>
- <td class="CM_Label"><div></div></td>
- </tr>
- <tr class="CM_Option" onmouseover="OnOver(this);" onmouseout="OnOut(this);">
- <td class="CM_Icon"></td>
- <td class="CM_Label">Do Something</td>
- </tr>
- <tr class="CM_Option" onmouseover="OnOver(this);" onmouseout="OnOut(this);">
- <td class="CM_Icon"></td>
- <td class="CM_Label">Just Testing</td>
- </tr>
- </table>
-</div>
-*/ \ No newline at end of file
diff --git a/lib/editor/_source/internals/fckcontextmenu_gecko.js b/lib/editor/_source/internals/fckcontextmenu_gecko.js
deleted file mode 100644
index fd1d6c8..0000000
--- a/lib/editor/_source/internals/fckcontextmenu_gecko.js
+++ /dev/null
@@ -1,91 +0,0 @@
-/*
- * FCKeditor - The text editor for internet
- * Copyright (C) 2003-2004 Frederico Caldeira Knabben
- *
- * Licensed under the terms of the GNU Lesser General Public License:
- * http://www.opensource.org/licenses/lgpl-license.php
- *
- * For further information visit:
- * http://www.fckeditor.net/
- *
- * File Name: fckcontextmenu_gecko.js
- * Context Menu operations. (Gecko specific implementations)
- *
- * Version: 2.0 RC2
- * Modified: 2004-08-27 16:58:07
- *
- * File Authors:
- * Frederico Caldeira Knabben (fredck@fckeditor.net)
- */
-
-// The Context Menu CSS must be added to the parent document.
-FCKTools.AppendStyleSheet( window.parent.document, FCKConfig.SkinPath + 'fck_contextmenu.css' ) ;
-
-FCKContextMenu.Show = function( x, y )
-{
- if ( ! this._Document )
- {
- this._Document = window.parent.document ;
- }
-
- // Create the context menu if needed.
- if ( !this._IsLoaded )
- {
- this.Reload() ;
- this._Div.style.zIndex = 10000 ;
- this._Div.oncontextmenu = function() { return false ; }
- }
-
- this.RefreshState() ;
-
- // Get the editor area and editor frames positions.
- var oCoordsA = FCKTools.GetElementPosition( FCK.EditorWindow.frameElement ) ;
- var oCoordsB = FCKTools.GetElementPosition( window.frameElement ) ;
-
- x += oCoordsA.X + oCoordsB.X ;
- y += oCoordsA.Y + oCoordsB.Y ;
-
- // Verifies if the context menu is completely visible.
- var iXSpace = x + this._Div.offsetWidth - this._Div.ownerDocument.defaultView.innerWidth ;
- var iYSpace = y + this._Div.offsetHeight - this._Div.ownerDocument.defaultView.innerHeight ;
-
- if ( iXSpace > 0 ) x -= this._Div.offsetWidth ;
- if ( iYSpace > 0 ) y -= this._Div.offsetHeight ;
-
- // Set the context menu DIV in the specified location.
- this._Div.style.left = x + 'px' ;
- this._Div.style.top = y + 'px' ;
-
- // Watch the "OnClick" event for all windows to close the Context Menu.
- var oActualWindow = FCK.EditorWindow ;
- while ( oActualWindow )
- {
- oActualWindow.document.addEventListener( 'click', FCKContextMenu._OnDocumentClick, false ) ;
- if ( oActualWindow != oActualWindow.parent )
- oActualWindow = oActualWindow.parent ;
- else if ( oActualWindow.opener == null )
- oActualWindow = oActualWindow.opener ;
- else
- break ;
- }
-
- // Show it.
- this._Div.style.visibility = '' ;
-}
-
-FCKContextMenu._OnDocumentClick = function( event )
-{
- var e = event.target ;
- while ( e )
- {
- if ( e == FCKContextMenu._Div ) return ;
- e = e.parentNode ;
- }
- FCKContextMenu.Hide() ;
-}
-
-FCKContextMenu.Hide = function()
-{
- this._Div.style.visibility = 'hidden' ;
- this._Div.style.left = this._Div.style.top = '1px' ;
-} \ No newline at end of file
diff --git a/lib/editor/_source/internals/fckcontextmenu_ie.js b/lib/editor/_source/internals/fckcontextmenu_ie.js
deleted file mode 100644
index 31354e6..0000000
--- a/lib/editor/_source/internals/fckcontextmenu_ie.js
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
- * FCKeditor - The text editor for internet
- * Copyright (C) 2003-2004 Frederico Caldeira Knabben
- *
- * Licensed under the terms of the GNU Lesser General Public License:
- * http://www.opensource.org/licenses/lgpl-license.php
- *
- * For further information visit:
- * http://www.fckeditor.net/
- *
- * File Name: fckcontextmenu_ie.js
- * Context Menu operations. (IE specific implementations)
- *
- * Version: 2.0 RC2
- * Modified: 2004-08-20 22:58:12
- *
- * File Authors:
- * Frederico Caldeira Knabben (fredck@fckeditor.net)
- */
-
-FCKContextMenu.Show = function( x, y )
-{
- // Create the Popup used to show the menu (this is a IE 5.5+ feature).
- if ( ! this._Popup )
- {
- this._Popup = window.createPopup() ;
- this._Document = this._Popup.document ;
- this._Document.createStyleSheet( FCKConfig.SkinPath + 'fck_contextmenu.css' ) ;
- this._Document.oncontextmenu = function() { return false ; }
- }
-
- // Create the context menu if needed.
- if ( !this._IsLoaded )
- {
- this.Reload() ;
- this._Div.style.visibility = '' ;
- }
-
- this.RefreshState() ;
-
- // IE doens't get the offsetWidth and offsetHeight values if the element is not visible.
- // So the Popup must be "shown" with no size to be able to get these values.
- this._Popup.show( x, y, 0, 0 ) ;
-
- // This was the previous solution. It works well to.
- // So a temporary element is created to get this for us.
- /*
- if ( !this._DivCopy )
- {
- this._DivCopy = document.createElement( 'DIV' ) ;
- this._DivCopy.className = 'CM_ContextMenu' ;
- this._DivCopy.style.position = 'absolute' ;
- this._DivCopy.style.visibility = 'hidden' ;
- document.body.appendChild( this._DivCopy );
- }
-
- this._DivCopy.innerHTML = this._Div.innerHTML ;
- */
-
- // Show the Popup at the specified location.
- this._Popup.show( x, y, this._Div.offsetWidth, this._Div.offsetHeight ) ;
-}
-
-FCKContextMenu.Hide = function()
-{
- if ( this._Popup )
- this._Popup.hide() ;
-} \ No newline at end of file
diff --git a/lib/editor/_source/internals/fckcoreextensions.js b/lib/editor/_source/internals/fckcoreextensions.js
deleted file mode 100644
index 0ba8be1..0000000
--- a/lib/editor/_source/internals/fckcoreextensions.js
+++ /dev/null
@@ -1,70 +0,0 @@
-/*
- * FCKeditor - The text editor for internet
- * Copyright (C) 2003-2004 Frederico Caldeira Knabben
- *
- * Licensed under the terms of the GNU Lesser General Public License:
- * http://www.opensource.org/licenses/lgpl-license.php
- *
- * For further information visit:
- * http://www.fckeditor.net/
- *
- * File Name: fckcoreextensions.js
- * Some extensions to the Javascript Core.
- *
- * Version: 2.0 RC2
- * Modified: 2004-12-12 17:21:06
- *
- * File Authors:
- * Frederico Caldeira Knabben (fredck@fckeditor.net)
- */
-
-// Extends the Array object, creating a "addItem" method on it.
-Array.prototype.addItem = function( item )
-{
- this[ this.length ] = item ;
-}
-
-Array.prototype.indexOf = function( value )
-{
- for ( var i = 0 ; i < this.length ; i++ )
- {
- if ( this[i] == value )
- return i ;
- }
- return -1 ;
-}
-
-String.prototype.startsWith = function( value )
-{
- return ( this.substr( 0, value.length ) == value ) ;
-}
-
-// Extends the String object, creating a "endsWith" method on it.
-String.prototype.endsWith = function( value )
-{
- var L1 = this.length ;
- var L2 = value.length ;
-
- if ( L2 > L1 )
- return false ;
-
- return ( L2 == 0 || this.substr( L1 - L2, L2 ) == value ) ;
-}
-
-String.prototype.remove = function( start, length )
-{
- var s = '' ;
-
- if ( start > 0 )
- s = this.substring( 0, start ) ;
-
- if ( start + length < this.length )
- s += this.substring( start + length , this.length ) ;
-
- return s ;
-}
-
-String.prototype.trim = function()
-{
- return this.replace( /(^\s*)|(\s*$)/g, '' ) ;
-} \ No newline at end of file
diff --git a/lib/editor/_source/internals/fckdebug.js b/lib/editor/_source/internals/fckdebug.js
deleted file mode 100644
index 28a1a35..0000000
--- a/lib/editor/_source/internals/fckdebug.js
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * FCKeditor - The text editor for internet
- * Copyright (C) 2003-2004 Frederico Caldeira Knabben
- *
- * Licensed under the terms of the GNU Lesser General Public License:
- * http://www.opensource.org/licenses/lgpl-license.php
- *
- * For further information visit:
- * http://www.fckeditor.net/
- *
- * File Name: fckdebug.js
- * Debug window control and operations.
- *
- * Version: 2.0 RC2
- * Modified: 2004-11-08 18:34:12
- *
- * File Authors:
- * Frederico Caldeira Knabben (fredck@fckeditor.net)
- */
-
-var FCKDebug = new Object() ;
-
-if ( FCKConfig.Debug )
-{
- FCKDebug.Output = function( message, color )
- {
- if ( ! FCKConfig.Debug ) return ;
-
- if ( message != null && isNaN( message ) )
- message = message.replace(/</g, "&lt;") ;
-
- if ( !this.DebugWindow || this.DebugWindow.closed )
- this.DebugWindow = window.open( 'fckdebug.html', 'FCKeditorDebug', 'menubar=no,scrollbars=no,resizable=yes,location=no,toolbar=no,width=600,height=500', true ) ;
-
- if ( this.DebugWindow.Output)
- this.DebugWindow.Output( message, color ) ;
- }
-}
-else
- FCKDebug.Output = function() {}
-
diff --git a/lib/editor/_source/internals/fckdialog.js b/lib/editor/_source/internals/fckdialog.js
deleted file mode 100644
index cfc5853..0000000
--- a/lib/editor/_source/internals/fckdialog.js
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * FCKeditor - The text editor for internet
- * Copyright (C) 2003-2004 Frederico Caldeira Knabben
- *
- * Licensed under the terms of the GNU Lesser General Public License:
- * http://www.opensource.org/licenses/lgpl-license.php
- *
- * For further information visit:
- * http://www.fckeditor.net/
- *
- * File Name: fckdialog.js
- * Dialog windows operations.
- *
- * Version: 2.0 RC2
- * Modified: 2004-12-19 23:28:55
- *
- * File Authors:
- * Frederico Caldeira Knabben (fredck@fckeditor.net)
- */
-
-var FCKDialog = new Object() ;
-
-// This method opens a dialog window using the standard dialog template.
-FCKDialog.OpenDialog = function( dialogName, dialogTitle, dialogPage, width, height, customValue, parentWindow )
-{
- // Setup the dialog info.
- var oDialogInfo = new Object() ;
- oDialogInfo.Title = dialogTitle ;
- oDialogInfo.Page = dialogPage ;
- oDialogInfo.Editor = window ;
- oDialogInfo.CustomValue = customValue ; // Optional
-
- var sUrl = FCKConfig.BasePath + 'fckdialog.html' ;
- this.Show( oDialogInfo, dialogName, sUrl, width, height, parentWindow ) ;
-}
-
diff --git a/lib/editor/_source/internals/fckdialog_gecko.js b/lib/editor/_source/internals/fckdialog_gecko.js
deleted file mode 100644
index 9b358cc..0000000
--- a/lib/editor/_source/internals/fckdialog_gecko.js
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
- * FCKeditor - The text editor for internet
- * Copyright (C) 2003-2004 Frederico Caldeira Knabben
- *
- * Licensed under the terms of the GNU Lesser General Public License:
- * http://www.opensource.org/licenses/lgpl-license.php
- *
- * For further information visit:
- * http://www.fckeditor.net/
- *
- * File Name: fckdialog_gecko.js
- * Dialog windows operations. (Gecko specific implementations)
- *
- * Version: 2.0 RC2
- * Modified: 2004-12-20 00:48:06
- *
- * File Authors:
- * Frederico Caldeira Knabben (fredck@fckeditor.net)
- */
-
-FCKDialog.Show = function( dialogInfo, dialogName, pageUrl, dialogWidth, dialogHeight, parentWindow )
-{
- var iTop = (screen.height - dialogHeight) / 2 ;
- var iLeft = (screen.width - dialogWidth) / 2 ;
-
- var sOption = "location=no,menubar=no,resizable=no,toolbar=no,dependent=yes,dialog=yes,minimizable=no,modal=yes,alwaysRaised=yes" +
- ",width=" + dialogWidth +
- ",height=" + dialogHeight +
- ",top=" + iTop +
- ",left=" + iLeft ;
-
- if ( !parentWindow )
- parentWindow = window ;
-
- var oWindow = parentWindow.open( '', 'FCKEditorDialog_' + dialogName, sOption, true ) ;
- oWindow.moveTo( iLeft, iTop ) ;
- oWindow.resizeTo( dialogWidth, dialogHeight ) ;
- oWindow.focus() ;
- oWindow.location.href = pageUrl ;
-
- oWindow.dialogArguments = dialogInfo ;
-
- // On some Gecko browsers (probably over slow connections) the
- // "dialogArguments" are not set to the target window so we must
- // put it in the opener window so it can be used by the target one.
- parentWindow.FCKLastDialogInfo = dialogInfo ;
-
- this.Window = oWindow ;
-
- window.top.captureEvents( Event.CLICK | Event.MOUSEDOWN | Event.MOUSEUP | Event.FOCUS ) ;
- window.top.parent.addEventListener( 'mousedown', this.CheckFocus, true ) ;
- window.top.parent.addEventListener( 'mouseup', this.CheckFocus, true ) ;
- window.top.parent.addEventListener( 'click', this.CheckFocus, true ) ;
- window.top.parent.addEventListener( 'focus', this.CheckFocus, true ) ;
-}
-
-FCKDialog.CheckFocus = function()
-{
- if ( FCKDialog.Window && !FCKDialog.Window.closed )
- {
- FCKDialog.Window.focus() ;
- return false ;
- }
- else
- {
- window.top.releaseEvents(Event.CLICK | Event.MOUSEDOWN | Event.MOUSEUP | Event.FOCUS) ;
- window.top.parent.removeEventListener( 'onmousedown', FCKDialog.CheckFocus, true ) ;
- window.top.parent.removeEventListener( 'mouseup', FCKDialog.CheckFocus, true ) ;
- window.top.parent.removeEventListener( 'click', FCKDialog.CheckFocus, true ) ;
- window.top.parent.removeEventListener( 'onfocus', FCKDialog.CheckFocus, true ) ;
- }
-}
-
diff --git a/lib/editor/_source/internals/fckdialog_ie.js b/lib/editor/_source/internals/fckdialog_ie.js
deleted file mode 100644
index fb20e24..0000000
--- a/lib/editor/_source/internals/fckdialog_ie.js
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
- * FCKeditor - The text editor for internet
- * Copyright (C) 2003-2004 Frederico Caldeira Knabben
- *
- * Licensed under the terms of the GNU Lesser General Public License:
- * http://www.opensource.org/licenses/lgpl-license.php
- *
- * For further information visit:
- * http://www.fckeditor.net/
- *
- * File Name: fckdialog_ie.js
- * Dialog windows operations. (IE specific implementations)
- *
- * Version: 2.0 RC2
- * Modified: 2004-12-19 23:28:42
- *
- * File Authors:
- * Frederico Caldeira Knabben (fredck@fckeditor.net)
- */
-
-FCKDialog.Show = function( dialogInfo, dialogName, pageUrl, dialogWidth, dialogHeight, parentWindow )
-{
- if ( !parentWindow )
- parentWindow = window ;
-
- parentWindow.showModalDialog( pageUrl, dialogInfo, "dialogWidth:" + dialogWidth + "px;dialogHeight:" + dialogHeight + "px;help:no;scroll:no;status:no") ;
-}
-
diff --git a/lib/editor/_source/internals/fcklanguagemanager.js b/lib/editor/_source/internals/fcklanguagemanager.js
deleted file mode 100644
index 223cc7c..0000000
--- a/lib/editor/_source/internals/fcklanguagemanager.js
+++ /dev/null
@@ -1,97 +0,0 @@
-/*
- * FCKeditor - The text editor for internet
- * Copyright (C) 2003-2004 Frederico Caldeira Knabben
- *
- * Licensed under the terms of the GNU Lesser General Public License:
- * http://www.opensource.org/licenses/lgpl-license.php
- *
- * For further information visit:
- * http://www.fckeditor.net/
- *
- * File Name: fcklanguagemanager.js
- * Defines the FCKLanguageManager object that is used for language
- * operations.
- *
- * Version: 2.0 RC2
- * Modified: 2004-12-17 08:12:36
- *
- * File Authors:
- * Frederico Caldeira Knabben (fredck@fckeditor.net)
- */
-
-FCKLanguageManager.GetActiveLanguage = function()
-{
- if ( FCKConfig.AutoDetectLanguage )
- {
- var sUserLang ;
-
- // IE accepts "navigator.userLanguage" while Gecko "navigator.language".
- if ( navigator.userLanguage )
- sUserLang = navigator.userLanguage.toLowerCase() ;
- else if ( navigator.language )
- sUserLang = navigator.language.toLowerCase() ;
- else
- {
- // Firefox 1.0 PR has a bug: it doens't support the "language" property.
- return FCKConfig.DefaultLanguage ;
- }
-
- FCKDebug.Output( 'Navigator Language = ' + sUserLang ) ;
-
- // Some language codes are set in 5 characters,
- // like "pt-br" for Brasilian Portuguese.
- if ( sUserLang.length >= 5 )
- {
- sUserLang = sUserLang.substr(0,5) ;
- if ( this.AvailableLanguages[sUserLang] ) return sUserLang ;
- }
-
- // If the user's browser is set to, for example, "pt-br" but only the
- // "pt" language file is available then get that file.
- if ( sUserLang.length >= 2 )
- {
- sUserLang = sUserLang.substr(0,2) ;
- if ( this.AvailableLanguages[sUserLang] ) return sUserLang ;
- }
- }
-
- return this.DefaultLanguage ;
-}
-
-FCKLanguageManager.TranslateElements = function( targetDocument, tag, propertyToSet )
-{
- var aInputs = targetDocument.getElementsByTagName(tag) ;
- for ( var i = 0 ; i < aInputs.length ; i++ )
- {
- var oAtt = aInputs[i].attributes['fckLang'] ;
- if ( oAtt )
- {
- var s = FCKLang[ oAtt.value ] ;
- if ( s )
- eval( 'aInputs[i].' + propertyToSet + ' = s' ) ;
- }
- }
-}
-
-FCKLanguageManager.TranslatePage = function( targetDocument )
-{
- this.TranslateElements( targetDocument, 'INPUT', 'value' ) ;
- this.TranslateElements( targetDocument, 'SPAN', 'innerHTML' ) ;
- this.TranslateElements( targetDocument, 'LABEL', 'innerHTML' ) ;
- this.TranslateElements( targetDocument, 'OPTION', 'innerHTML' ) ;
-}
-
-if ( FCKLanguageManager.AvailableLanguages[ FCKConfig.DefaultLanguage ] )
- FCKLanguageManager.DefaultLanguage = FCKConfig.DefaultLanguage ;
-else
- FCKLanguageManager.DefaultLanguage = 'en' ;
-
-FCKLanguageManager.ActiveLanguage = new Object() ;
-FCKLanguageManager.ActiveLanguage.Code = FCKLanguageManager.GetActiveLanguage() ;
-FCKLanguageManager.ActiveLanguage.Name = FCKLanguageManager.AvailableLanguages[ FCKLanguageManager.ActiveLanguage.Code ] ;
-
-FCK.Language = FCKLanguageManager ;
-
-
-// Load the language file and start the editor.
-LoadLanguageFile() ; \ No newline at end of file
diff --git a/lib/editor/_source/internals/fckplugins.js b/lib/editor/_source/internals/fckplugins.js
deleted file mode 100644
index a6223a7..0000000
--- a/lib/editor/_source/internals/fckplugins.js
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * FCKeditor - The text editor for internet
- * Copyright (C) 2003-2004 Frederico Caldeira Knabben
- *
- * Licensed under the terms of the GNU Lesser General Public License:
- * http://www.opensource.org/licenses/lgpl-license.php
- *
- * For further information visit:
- * http://www.fckeditor.net/
- *
- * File Name: fckplugins.js
- * Defines the FCKPlugins object that is responsible for loading the Plugins.
- *
- * Version: 2.0 RC2
- * Modified: 2004-11-22 11:05:05
- *
- * File Authors:
- * Frederico Caldeira Knabben (fredck@fckeditor.net)
- */
-
-var FCKPlugins = FCK.Plugins = new Object() ;
-FCKPlugins.Loaded = false ;
-FCKPlugins.Items = new Array() ;
-
-// Set the defined plugins scripts paths.
-for ( var i = 0 ; i < FCKConfig.Plugins.Items.length ; i++ )
-{
- var oItem = FCKConfig.Plugins.Items[i] ;
- FCKPlugins.Items.addItem( new FCKPlugin( oItem[0], oItem[1] ) ) ;
-}
-
-FCKPlugins.Load = function()
-{
- // Load all items.
- for ( var i = 0 ; i < this.Items.length ; i++ )
- this.Items[i].Load() ;
-
- // Mark as loaded.
- this.Loaded = true ;
-
- // This is a self destroyable function (must be called once).
- FCKPlugins.Load = null ;
-} \ No newline at end of file
diff --git a/lib/editor/_source/internals/fckregexlib.js b/lib/editor/_source/internals/fckregexlib.js
deleted file mode 100644
index 8844ea4..0000000
--- a/lib/editor/_source/internals/fckregexlib.js
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * FCKeditor - The text editor for internet
- * Copyright (C) 2003-2004 Frederico Caldeira Knabben
- *
- * Licensed under the terms of the GNU Lesser General Public License:
- * http://www.opensource.org/licenses/lgpl-license.php
- *
- * For further information visit:
- * http://www.fckeditor.net/
- *
- * File Name: fckregexlib.js
- * These are some Regular Expresions used by the editor.
- *
- * Version: 2.0 RC2
- * Modified: 2004-11-22 11:04:22
- *
- * File Authors:
- * Frederico Caldeira Knabben (fredck@fckeditor.net)
- */
-
-var FCKRegexLib = new Object() ;
-
-// This is the Regular expression used by the SetHTML method for the "&apos;" entity.
-FCKRegexLib.AposEntity = /&apos;/gi ;
-
-// Used by the Styles combo to identify styles that can't be applied to text.
-FCKRegexLib.ObjectElements = /^(?:IMG|TABLE|TR|TD|INPUT|SELECT|TEXTAREA|HR|OBJECT)$/i ;
-
-// List all named commands (commands that can be interpreted by the browser "execCommand" method.
-FCKRegexLib.NamedCommands = /^(?:Cut|Copy|Paste|Print|SelectAll|RemoveFormat|Unlink|Undo|Redo|Bold|Italic|Underline|StrikeThrough|Subscript|Superscript|JustifyLeft|JustifyCenter|JustifyRight|JustifyFull|Outdent|Indent|InsertOrderedList|InsertUnorderedList|InsertHorizontalRule)$/i ; \ No newline at end of file
diff --git a/lib/editor/_source/internals/fckscriptloader.js b/lib/editor/_source/internals/fckscriptloader.js
deleted file mode 100644
index 8b2360e..0000000
--- a/lib/editor/_source/internals/fckscriptloader.js
+++ /dev/null
@@ -1,115 +0,0 @@
-/*
- * FCKeditor - The text editor for internet
- * Copyright (C) 2003-2004 Frederico Caldeira Knabben
- *
- * Licensed under the terms of the GNU Lesser General Public License:
- * http://www.opensource.org/licenses/lgpl-license.php
- *
- * For further information visit:
- * http://www.fckeditor.net/
- *
- * File Name: fckscriptloader.js
- * Defines the FCKScriptLoader object that is used to dynamically load
- * scripts in the editor.
- *
- * Version: 2.0 RC2
- * Modified: 2004-05-31 23:07:50
- *
- * File Authors:
- * Frederico Caldeira Knabben (fredck@fckeditor.net)
- */
-
-// This object is used to download scripts and css files sequentialy.
-// A file download is not started until the previous file was not completelly
-// downloaded.
-var FCKScriptLoader = new Object() ;
-FCKScriptLoader.IsLoading = false ;
-FCKScriptLoader.Queue = new Array() ;
-
-// Adds a script or css to the queue.
-FCKScriptLoader.AddScript = function( scriptPath )
-{
- FCKScriptLoader.Queue[ FCKScriptLoader.Queue.length ] = scriptPath ;
-
- if ( !this.IsLoading )
- this.CheckQueue() ;
-}
-
-// Checks the queue to see if there is something to load.
-// This function should not be called by code. It's a internal function
-// that's called recursively.
-FCKScriptLoader.CheckQueue = function()
-{
- // Check if the queue is not empty.
- if ( this.Queue.length > 0 )
- {
- this.IsLoading = true ;
-
- // Get the first item in the queue
- var sScriptPath = this.Queue[0] ;
-
- // Removes the first item from the queue
- var oTempArray = new Array() ;
- for ( i = 1 ; i < this.Queue.length ; i++ )
- oTempArray[ i - 1 ] = this.Queue[ i ] ;
- this.Queue = oTempArray ;
-
-// window.status = ( 'Loading ' + sScriptPath + '...' ) ;
-
- // Dynamically load the file (it can be a CSS or a JS)
- var e ;
-
- // If is a CSS
- if ( sScriptPath.lastIndexOf( '.css' ) > 0 )
- {
- e = document.createElement( 'LINK' ) ;
- e.rel = 'stylesheet' ;
- e.type = 'text/css' ;
- }
- // It is a JS
- else
- {
- e = document.createElement( "script" ) ;
- e.type = "text/javascript" ;
- }
-
- // Add the new object to the HEAD.
- document.getElementsByTagName("head")[0].appendChild( e ) ;
-
- var oEvent = function()
- {
- // Gecko doesn't have a "readyState" property
- if ( this.tagName == 'LINK' || !this.readyState || this.readyState == 'loaded' )
- // Load the next script available in the queue
- FCKScriptLoader.CheckQueue() ;
- }
-
- // Start downloading it.
- if ( e.tagName == 'LINK' )
- {
- // IE must wait for the file to be downloaded.
- if ( FCKBrowserInfo.IsIE )
- e.onload = oEvent ;
- // Gecko doens't fire any event when the CSS is loaded, so we
- // can't wait for it.
- else
- FCKScriptLoader.CheckQueue() ;
-
- e.href = sScriptPath ;
- }
- else
- {
- // Gecko fires the "onload" event and IE fires "onreadystatechange"
- e.onload = e.onreadystatechange = oEvent ;
- e.src = sScriptPath ;
- }
- }
- else
- {
- this.IsLoading = false ;
-
- // Call the "OnEmpty" event.
- if ( this.OnEmpty )
- this.OnEmpty() ;
- }
-} \ No newline at end of file
diff --git a/lib/editor/_source/internals/fckselection.js b/lib/editor/_source/internals/fckselection.js
deleted file mode 100644
index 2544fcf..0000000
--- a/lib/editor/_source/internals/fckselection.js
+++ /dev/null
@@ -1,23 +0,0 @@
-/*
- * FCKeditor - The text editor for internet
- * Copyright (C) 2003-2004 Frederico Caldeira Knabben
- *
- * Licensed under the terms of the GNU Lesser General Public License:
- * http://www.opensource.org/licenses/lgpl-license.php
- *
- * For further information visit:
- * http://www.fckeditor.net/
- *
- * File Name: fckselection.js
- * Active selection functions.
- *
- * Version: 2.0 RC2
- * Modified: 2004-11-22 11:03:02
- *
- * File Authors:
- * Frederico Caldeira Knabben (fredck@fckeditor.net)
- */
-
-var FCKSelection = new Object() ;
-
-FCK.Selection = FCKSelection ;
diff --git a/lib/editor/_source/internals/fckselection_gecko.js b/lib/editor/_source/internals/fckselection_gecko.js
deleted file mode 100644
index 5146e09..0000000
--- a/lib/editor/_source/internals/fckselection_gecko.js
+++ /dev/null
@@ -1,127 +0,0 @@
-/*
- * FCKeditor - The text editor for internet
- * Copyright (C) 2003-2004 Frederico Caldeira Knabben
- *
- * Licensed under the terms of the GNU Lesser General Public License:
- * http://www.opensource.org/licenses/lgpl-license.php
- *
- * For further information visit:
- * http://www.fckeditor.net/
- *
- * File Name: fckselection_gecko.js
- * Active selection functions. (Gecko specific implementation)
- *
- * Version: 2.0 RC2
- * Modified: 2004-12-15 13:33:14
- *
- * File Authors:
- * Frederico Caldeira Knabben (fredck@fckeditor.net)
- */
-
-// Get the selection type (like document.select.type in IE).
-FCKSelection.GetType = function()
-{
-// if ( ! this._Type )
-// {
- // By default set the type to "Text".
- this._Type = 'Text' ;
-
- // Check if the actual selection is a Control (IMG, TABLE, HR, etc...).
- var oSel = FCK.EditorWindow.getSelection() ;
- if ( oSel && oSel.rangeCount == 1 )
- {
- var oRange = oSel.getRangeAt(0) ;
- if ( oRange.startContainer == oRange.endContainer && (oRange.endOffset - oRange.startOffset) == 1 )
- this._Type = 'Control' ;
- }
-// }
- return this._Type ;
-}
-
-// Retrieves the selected element (if any), just in the case that a single
-// element (object like and image or a table) is selected.
-FCKSelection.GetSelectedElement = function()
-{
- if ( this.GetType() == 'Control' )
- {
- var oSel = FCK.EditorWindow.getSelection() ;
- return oSel.anchorNode.childNodes[ oSel.anchorOffset ] ;
- }
-}
-
-FCKSelection.GetParentElement = function()
-{
- if ( this.GetType() == 'Control' )
- return FCKSelection.GetSelectedElement().parentElement ;
- else
- {
- var oNode = FCK.EditorWindow.getSelection().anchorNode ;
-
- while ( oNode && oNode.nodeType != 1 )
- oNode = oNode.parentNode ;
-
- return oNode ;
- }
-}
-
-FCKSelection.MoveToNode = function( node )
-{
- var oSel = FCK.EditorWindow.getSelection() ;
-
- for ( i = oSel.rangeCount - 1 ; i >= 0 ; i-- )
- {
- if ( i == 0 )
- oSel.getRangeAt(i).selectNodeContents( node ) ;
- else
- oSel.removeRange( oSel.getRangeAt(i) ) ;
- }
-}
-
-// The "nodeTagName" parameter must be Upper Case.
-FCKSelection.HasAncestorNode = function( nodeTagName )
-{
- var oContainer = this.GetSelectedElement() ;
- if ( ! oContainer && FCK.EditorWindow )
- {
- try { oContainer = FCK.EditorWindow.getSelection().getRangeAt(0).startContainer ; }
- catch(e){}
- }
-
- while ( oContainer )
- {
- if ( oContainer.tagName == nodeTagName ) return true ;
- oContainer = oContainer.parentNode ;
- }
-
- return false ;
-}
-
-// The "nodeTagName" parameter must be Upper Case.
-FCKSelection.MoveToAncestorNode = function( nodeTagName )
-{
- var oNode ;
-
- var oContainer = this.GetSelectedElement() ;
- if ( ! oContainer )
- oContainer = FCK.EditorWindow.getSelection().getRangeAt(0).startContainer ;
-
- while ( oContainer )
- {
- if ( oContainer.tagName == nodeTagName ) return oContainer ;
- oContainer = oContainer.parentNode ;
- }
-}
-
-FCKSelection.Delete = function()
-{
- // Gets the actual selection.
- var oSel = FCK.EditorWindow.getSelection() ;
-
- // Deletes the actual selection contents.
- for ( var i = 0 ; i < oSel.rangeCount ; i++ )
- {
- oSel.getRangeAt(i).deleteContents() ;
- }
-
- return oSel ;
-} \ No newline at end of file
diff --git a/lib/editor/_source/internals/fckselection_ie.js b/lib/editor/_source/internals/fckselection_ie.js
deleted file mode 100644
index b22618e..0000000
--- a/lib/editor/_source/internals/fckselection_ie.js
+++ /dev/null
@@ -1,121 +0,0 @@
-/*
- * FCKeditor - The text editor for internet
- * Copyright (C) 2003-2004 Frederico Caldeira Knabben
- *
- * Licensed under the terms of the GNU Lesser General Public License:
- * http://www.opensource.org/licenses/lgpl-license.php
- *
- * For further information visit:
- * http://www.fckeditor.net/
- *
- * File Name: fckselection_ie.js
- * Active selection functions. (IE specific implementation)
- *
- * Version: 2.0 RC2
- * Modified: 2004-11-18 01:36:23
- *
- * File Authors:
- * Frederico Caldeira Knabben (fredck@fckeditor.net)
- */
-
-// Get the selection type.
-FCKSelection.GetType = function()
-{
- return FCK.EditorDocument.selection.type ;
-}
-
-// Retrieves the selected element (if any), just in the case that a single
-// element (object like and image or a table) is selected.
-FCKSelection.GetSelectedElement = function()
-{
- if ( this.GetType() == 'Control' )
- {
- var oRange = FCK.EditorDocument.selection.createRange() ;
-
- if ( oRange && oRange.item )
- return FCK.EditorDocument.selection.createRange().item(0) ;
- }
-}
-
-FCKSelection.GetParentElement = function()
-{
- if ( this.GetType() == 'Control' )
- return FCKSelection.GetSelectedElement().parentElement ;
- else
- return FCK.EditorDocument.selection.createRange().parentElement() ;
-}
-
-FCKSelection.MoveToNode = function( node )
-{
- FCK.EditorDocument.selection.empty() ;
- var oRange = FCK.EditorDocument.selection.createRange() ;
- oRange.moveToElementText( node ) ;
- oRange.select() ;
-}
-
-// The "nodeTagName" parameter must be Upper Case.
-FCKSelection.HasAncestorNode = function( nodeTagName )
-{
- var oContainer ;
-
- if ( FCK.EditorDocument.selection.type == "Control" )
- {
- oContainer = this.GetSelectedElement() ;
- }
- else
- {
- var oRange = FCK.EditorDocument.selection.createRange() ;
- oContainer = oRange.parentElement() ;
- }
-
- while ( oContainer )
- {
- if ( oContainer.tagName == nodeTagName ) return true ;
- oContainer = oContainer.parentNode ;
- }
-
- return false ;
-}
-
-// The "nodeTagName" parameter must be Upper Case.
-FCKSelection.MoveToAncestorNode = function( nodeTagName )
-{
- var oNode ;
-
- if ( FCK.EditorDocument.selection.type == "Control" )
- {
- var oRange = FCK.EditorDocument.selection.createRange() ;
- for ( i = 0 ; i < oRange.length ; i++ )
- {
- if (oRange(i).parentNode)
- {
- oNode = oRange(i).parentNode ;
- break ;
- }
- }
- }
- else
- {
- var oRange = FCK.EditorDocument.selection.createRange() ;
- oNode = oRange.parentElement() ;
- }
-
- while ( oNode && oNode.nodeName != nodeTagName )
- oNode = oNode.parentNode ;
-
- return oNode ;
-}
-
-FCKSelection.Delete = function()
-{
- // Gets the actual selection.
- var oSel = FCK.EditorDocument.selection ;
-
- // Deletes the actual selection contents.
- if ( oSel.type.toLowerCase() != "none" )
- {
- oSel.clear() ;
- }
-
- return oSel ;
-} \ No newline at end of file
diff --git a/lib/editor/_source/internals/fcktablehandler.js b/lib/editor/_source/internals/fcktablehandler.js
deleted file mode 100644
index 5487a6a..0000000
--- a/lib/editor/_source/internals/fcktablehandler.js
+++ /dev/null
@@ -1,353 +0,0 @@
-/*
- * FCKeditor - The text editor for internet
- * Copyright (C) 2003-2004 Frederico Caldeira Knabben
- *
- * Licensed under the terms of the GNU Lesser General Public License:
- * http://www.opensource.org/licenses/lgpl-license.php
- *
- * For further information visit:
- * http://www.fckeditor.net/
- *
- * File Name: fcktablehandler.js
- * Manage table operations.
- *
- * Version: 2.0 RC2
- * Modified: 2004-12-16 00:41:05
- *
- * File Authors:
- * Frederico Caldeira Knabben (fredck@fckeditor.net)
- */
-
-var FCKTableHandler = new Object() ;
-
-FCKTableHandler.InsertRow = function()
-{
- // Get the row where the selection is placed in.
- var oRow = FCKSelection.MoveToAncestorNode("TR") ;
- if ( !oRow ) return ;
-
- // Create a clone of the row.
- var oNewRow = oRow.cloneNode( true ) ;
-
- // Insert the new row (copy) before of it.
- oRow.parentNode.insertBefore( oNewRow, oRow ) ;
-
- // Clean the row (it seems that the new row has been added after it).
- FCKTableHandler.ClearRow( oRow ) ;
-}
-
-FCKTableHandler.DeleteRows = function( row )
-{
- // If no row has been passed as a parameer,
- // then get the row where the selection is placed in.
- if ( !row )
- row = FCKSelection.MoveToAncestorNode("TR") ;
- if ( !row ) return ;
-
- // Get the row's table.
- var oTable = FCKTools.GetElementAscensor( row, 'TABLE' ) ;
-
- // If just one row is available then delete the entire table.
- if ( oTable.rows.length == 1 )
- {
- FCKTableHandler.DeleteTable( oTable ) ;
- return ;
- }
-
- // Delete the row.
- row.parentNode.removeChild( row ) ;
-}
-
-FCKTableHandler.DeleteTable = function( table )
-{
- // If no table has been passed as a parameer,
- // then get the table where the selection is placed in.
- if ( !table )
- table = FCKSelection.MoveToAncestorNode("TABLE") ;
- if ( !table ) return ;
-
- // Delete the table.
- table.parentNode.removeChild( table ) ;
-}
-
-FCKTableHandler.InsertColumn = function()
-{
- // Get the cell where the selection is placed in.
- var oCell = FCKSelection.MoveToAncestorNode("TD") ;
- if ( !oCell ) return ;
-
- // Get the cell's table.
- var oTable = FCKTools.GetElementAscensor( oCell, 'TABLE' ) ;
-
- // Get the index of the column to be created (based on the cell).
- var iIndex = oCell.cellIndex + 1 ;
-
- // Loop throw all rows available in the table.
- for ( var i = 0 ; i < oTable.rows.length ; i++ )
- {
- // Get the row.
- var oRow = oTable.rows[i] ;
-
- // If the row doens't have enought cells, ignore it.
- if ( oRow.cells.length < iIndex )
- continue ;
-
- // Create the new cell element to be added.
- oCell = FCK.EditorDocument.createElement('TD') ;
- oCell.innerHTML = '&nbsp;' ;
-
- // Get the cell that is placed in the new cell place.
- var oBaseCell = oRow.cells[iIndex] ;
-
- // If the cell is available (we are not in the last cell of the row).
- if ( oBaseCell )
- {
- // Insert the new cell just before of it.
- oRow.insertBefore( oCell, oBaseCell ) ;
- }
- else
- {
- // Append the cell at the end of the row.
- oRow.appendChild( oCell ) ;
- }
- }
-}
-
-FCKTableHandler.DeleteColumns = function()
-{
- // Get the cell where the selection is placed in.
- var oCell = FCKSelection.MoveToAncestorNode("TD") ;
- if ( !oCell ) return ;
-
- // Get the cell's table.
- var oTable = FCKTools.GetElementAscensor( oCell, 'TABLE' ) ;
-
- // Get the cell index.
- var iIndex = oCell.cellIndex ;
-
- // Loop throw all rows (from down to up, because it's possible that some
- // rows will be deleted).
- for ( var i = oTable.rows.length - 1 ; i >= 0 ; i-- )
- {
- // Get the row.
- var oRow = oTable.rows[i] ;
-
- // If the cell to be removed is the first one and the row has just one cell.
- if ( iIndex == 0 && oRow.cells.length == 1 )
- {
- // Remove the entire row.
- FCKTableHandler.DeleteRows( oRow ) ;
- continue ;
- }
-
- // If the cell to be removed exists the delete it.
- if ( oRow.cells[iIndex] )
- oRow.removeChild( oRow.cells[iIndex] ) ;
- }
-}
-
-FCKTableHandler.InsertCell = function( cell )
-{
- // Get the cell where the selection is placed in.
- var oCell = cell ? cell : FCKSelection.MoveToAncestorNode("TD") ;
- if ( !oCell ) return ;
-
- // Create the new cell element to be added.
- var oNewCell = FCK.EditorDocument.createElement("TD");
- oNewCell.innerHTML = "&nbsp;" ;
-
- // If it is the last cell in the row.
- if ( oCell.cellIndex == oCell.parentNode.cells.lenght - 1 )
- {
- // Add the new cell at the end of the row.
- oCell.parentNode.appendChild( oNewCell ) ;
- }
- else
- {
- // Add the new cell before the next cell (after the active one).
- oCell.parentNode.insertBefore( oNewCell, oCell.nextSibling ) ;
- }
-
- return oNewCell ;
-}
-
-FCKTableHandler.DeleteCell = function( cell )
-{
- // If this is the last cell in the row.
- if ( cell.parentNode.cells.length == 1 )
- {
- // Delete the entire row.
- FCKTableHandler.DeleteRows( FCKTools.GetElementAscensor( cell, 'TR' ) ) ;
- return ;
- }
-
- // Delete the cell from the row.
- cell.parentNode.removeChild( cell ) ;
-}
-
-FCKTableHandler.DeleteCells = function()
-{
- var aCells = FCKTableHandler.GetSelectedCells() ;
-
- for ( var i = aCells.length - 1 ; i >= 0 ; i-- )
- {
- FCKTableHandler.DeleteCell( aCells[i] ) ;
- }
-}
-
-FCKTableHandler.MergeCells = function()
-{
- // Get all selected cells.
- var aCells = FCKTableHandler.GetSelectedCells() ;
-
- // At least 2 cells must be selected.
- if ( aCells.length < 2 )
- return ;
-
- // The merge can occour only if the selected cells are from the same row.
- if ( aCells[0].parentNode != aCells[aCells.length-1].parentNode )
- return ;
-
- // Calculate the new colSpan for the first cell.
- var iColSpan = isNaN( aCells[0].colSpan ) ? 1 : aCells[0].colSpan ;
-
- var sHtml = '' ;
-
- for ( var i = aCells.length - 1 ; i > 0 ; i-- )
- {
- iColSpan += isNaN( aCells[i].colSpan ) ? 1 : aCells[i].colSpan ;
-
- // Append the HTML of each cell.
- sHtml = aCells[i].innerHTML + sHtml ;
-
- // Delete the cell.
- FCKTableHandler.DeleteCell( aCells[i] ) ;
- }
-
- // Set the innerHTML of the remaining cell (the first one).
- aCells[0].colSpan = iColSpan ;
- aCells[0].innerHTML += sHtml ;
-}
-
-FCKTableHandler.SplitCell = function()
-{
- // Check that just one cell is selected, otherwise return.
- var aCells = FCKTableHandler.GetSelectedCells() ;
- if ( aCells.length != 1 )
- return ;
-
- var aMap = this._CreateTableMap( aCells[0].parentNode.parentNode ) ;
- var iCellIndex = FCKTableHandler._GetCellIndexSpan( aMap, aCells[0].parentNode.rowIndex , aCells[0] ) ;
-
- var aCollCells = this._GetCollumnCells( aMap, iCellIndex ) ;
-
- for ( var i = 0 ; i < aCollCells.length ; i++ )
- {
- if ( aCollCells[i] == aCells[0] )
- {
- var oNewCell = this.InsertCell( aCells[0] ) ;
- if ( !isNaN( aCells[0].rowSpan ) && aCells[0].rowSpan > 1 )
- oNewCell.rowSpan = aCells[0].rowSpan ;
- }
- else
- {
- if ( isNaN( aCollCells[i].colSpan ) )
- aCollCells[i].colSpan = 2 ;
- else
- aCollCells[i].colSpan += 1 ;
- }
- }
-}
-
-// Get the cell index from a TableMap.
-FCKTableHandler._GetCellIndexSpan = function( tableMap, rowIndex, cell )
-{
- if ( tableMap.length < rowIndex + 1 )
- return ;
-
- var oRow = tableMap[ rowIndex ] ;
-
- for ( var c = 0 ; c < oRow.length ; c++ )
- {
- if ( oRow[c] == cell )
- return c ;
- }
-}
-
-// Get the cells available in a collumn of a TableMap.
-FCKTableHandler._GetCollumnCells = function( tableMap, collumnIndex )
-{
- var aCollCells = new Array() ;
-
- for ( var r = 0 ; r < tableMap.length ; r++ )
- {
- var oCell = tableMap[r][collumnIndex] ;
- if ( oCell && ( aCollCells.length == 0 || aCollCells[ aCollCells.length - 1 ] != oCell ) )
- aCollCells[ aCollCells.length ] = oCell ;
- }
-
- return aCollCells ;
-}
-
-// This function is quite hard to explain. It creates a matrix representing all cells in a table.
-// The difference here is that the "spanned" cells (colSpan and rowSpan) are duplicated on the matrix
-// cells that are "spanned". For example, a row with 3 cells where the second cell has colSpan=2 and rowSpan=3
-// will produce a bi-dimensional matrix with the following values (representing the cells):
-// Cell1, Cell2, Cell2, Cell 3
-// Cell4, Cell2, Cell2, Cell 5
-FCKTableHandler._CreateTableMap = function( table )
-{
- var aRows = table.rows ;
-
- // Row and Collumn counters.
- var r = -1 ;
-
- var aMap = new Array() ;
-
- for ( var i = 0 ; i < aRows.length ; i++ )
- {
- r++ ;
- if ( !aMap[r] )
- aMap[r] = new Array() ;
-
- var c = -1 ;
-
- for ( var j = 0 ; j < aRows[i].cells.length ; j++ )
- {
- var oCell = aRows[i].cells[j] ;
-
- c++ ;
- while ( aMap[r][c] )
- c++ ;
-
- var iColSpan = isNaN( oCell.colSpan ) ? 1 : oCell.colSpan ;
- var iRowSpan = isNaN( oCell.rowSpan ) ? 1 : oCell.rowSpan ;
-
- for ( var rs = 0 ; rs < iRowSpan ; rs++ )
- {
- if ( !aMap[r + rs] )
- aMap[r + rs] = new Array() ;
-
- for ( var cs = 0 ; cs < iColSpan ; cs++ )
- {
- aMap[r + rs][c + cs] = aRows[i].cells[j] ;
- }
- }
-
- c += iColSpan - 1 ;
- }
- }
- return aMap ;
-}
-
-FCKTableHandler.ClearRow = function( tr )
-{
- // Get the array of row's cells.
- var aCells = tr.cells ;
-
- // Replace the contents of each cell with "nbsp;".
- for ( var i = 0 ; i < aCells.length ; i++ )
- {
- aCells[i].innerHTML = '&nbsp;' ;
- }
-} \ No newline at end of file
diff --git a/lib/editor/_source/internals/fcktablehandler_gecko.js b/lib/editor/_source/internals/fcktablehandler_gecko.js
deleted file mode 100644
index 381f2de..0000000
--- a/lib/editor/_source/internals/fcktablehandler_gecko.js
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * FCKeditor - The text editor for internet
- * Copyright (C) 2003-2004 Frederico Caldeira Knabben
- *
- * Licensed under the terms of the GNU Lesser General Public License:
- * http://www.opensource.org/licenses/lgpl-license.php
- *
- * For further information visit:
- * http://www.fckeditor.net/
- *
- * File Name: fcktablehandler_gecko.js
- * Manage table operations (IE specific).
- *
- * Version: 2.0 RC2
- * Modified: 2004-09-07 00:52:56
- *
- * File Authors:
- * Frederico Caldeira Knabben (fredck@fckeditor.net)
- */
-
-FCKTableHandler.GetSelectedCells = function()
-{
- var aCells = new Array() ;
-
- var oSelection = FCK.EditorWindow.getSelection() ;
-
- // If the selection is a text.
- if ( oSelection.rangeCount == 1 && oSelection.anchorNode.nodeType == 3 )
- {
- var oParent = FCKTools.GetElementAscensor( oSelection.anchorNode, 'TD' ) ;
-
- if ( oParent )
- {
- aCells[0] = oParent ;
- return aCells ;
- }
- }
-
- for ( var i = 0 ; i < oSelection.rangeCount ; i++ )
- {
- var oRange = oSelection.getRangeAt(i) ;
- var oCell = oRange.startContainer.childNodes[ oRange.startOffset ] ;
-
- if ( oCell.tagName == 'TD' )
- aCells[aCells.length] = oCell ;
- }
-
- return aCells ;
-}
diff --git a/lib/editor/_source/internals/fcktablehandler_ie.js b/lib/editor/_source/internals/fcktablehandler_ie.js
deleted file mode 100644
index 15e6c7b..0000000
--- a/lib/editor/_source/internals/fcktablehandler_ie.js
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
- * FCKeditor - The text editor for internet
- * Copyright (C) 2003-2004 Frederico Caldeira Knabben
- *
- * Licensed under the terms of the GNU Lesser General Public License:
- * http://www.opensource.org/licenses/lgpl-license.php
- *
- * For further information visit:
- * http://www.fckeditor.net/
- *
- * File Name: fcktablehandler_ie.js
- * Manage table operations (IE specific).
- *
- * Version: 2.0 RC2
- * Modified: 2004-09-05 02:17:58
- *
- * File Authors:
- * Frederico Caldeira Knabben (fredck@fckeditor.net)
- */
-
-FCKTableHandler.GetSelectedCells = function()
-{
- var aCells = new Array() ;
-
- var oRange = FCK.EditorDocument.selection.createRange() ;
- var oParent = oRange.parentElement() ;
-
- if ( oParent && oParent.tagName == "TD" )
- aCells[0] = oParent ;
- else
- {
- var oParent = FCKSelection.MoveToAncestorNode( "TABLE" ) ;
-
- if ( oParent )
- {
- // Loops throw all cells checking if the cell is, or part of it, is inside the selection
- // and then add it to the selected cells collection.
- for ( var i = 0 ; i < oParent.cells.length ; i++ )
- {
- var oCellRange = FCK.EditorDocument.selection.createRange() ;
- oCellRange.moveToElementText( oParent.cells[i] ) ;
-
- if ( oRange.inRange( oCellRange )
- || ( oRange.compareEndPoints('StartToStart',oCellRange) >= 0 && oRange.compareEndPoints('StartToEnd',oCellRange) <= 0 )
- || ( oRange.compareEndPoints('EndToStart',oCellRange) >= 0 && oRange.compareEndPoints('EndToEnd',oCellRange) <= 0 ) )
- {
- aCells[aCells.length] = oParent.cells[i] ;
- }
- }
- }
- }
-
- return aCells ;
-}
diff --git a/lib/editor/_source/internals/fcktoolbaritems.js b/lib/editor/_source/internals/fcktoolbaritems.js
deleted file mode 100644
index 8ab26ae..0000000
--- a/lib/editor/_source/internals/fcktoolbaritems.js
+++ /dev/null
@@ -1,101 +0,0 @@
-/*
- * FCKeditor - The text editor for internet
- * Copyright (C) 2003-2004 Frederico Caldeira Knabben
- *
- * Licensed under the terms of the GNU Lesser General Public License:
- * http://www.opensource.org/licenses/lgpl-license.php
- *
- * For further information visit:
- * http://www.fckeditor.net/
- *
- * File Name: fcktoolbaritems.js
- * Toolbar items definitions.
- *
- * Version: 2.0 RC2
- * Modified: 2004-11-23 19:42:05
- *
- * File Authors:
- * Frederico Caldeira Knabben (fredck@fckeditor.net)
- */
-
-var FCKToolbarItems = new Object() ;
-FCKToolbarItems.LoadedItems = new Object() ;
-
-FCKToolbarItems.RegisterItem = function( itemName, item )
-{
- this.LoadedItems[ itemName ] = item ;
-}
-
-FCKToolbarItems.GetItem = function( itemName )
-{
- var oItem = FCKToolbarItems.LoadedItems[ itemName ] ;
-
- if ( oItem )
- return oItem ;
-
- switch ( itemName )
- {
- case 'Source' : oItem = new FCKToolbarButton( 'Source' , FCKLang.Source, null, FCK_TOOLBARITEM_ICONTEXT, true ) ; break ;
- case 'Save' : oItem = new FCKToolbarButton( 'Save' , FCKLang.Save, null, null, true ) ; break ;
- case 'NewPage' : oItem = new FCKToolbarButton( 'NewPage' , FCKLang.NewPage, null, null, true ) ; break ;
- case 'Preview' : oItem = new FCKToolbarButton( 'Preview' , FCKLang.Preview, null, null, true ) ; break ;
- case 'About' : oItem = new FCKToolbarButton( 'About' , FCKLang.About ) ; break ;
-
- case 'Cut' : oItem = new FCKToolbarButton( 'Cut' , FCKLang.Cut, null, null, true ) ; break ;
- case 'Copy' : oItem = new FCKToolbarButton( 'Copy' , FCKLang.Copy, null, null, true ) ; break ;
- case 'Paste' : oItem = new FCKToolbarButton( 'Paste' , FCKLang.Paste, null, null, true ) ; break ;
- case 'PasteText' : oItem = new FCKToolbarButton( 'PasteText' , FCKLang.PasteText ) ; break ;
- case 'PasteWord' : oItem = new FCKToolbarButton( 'PasteWord' , FCKLang.PasteWord ) ; break ;
- case 'Print' : oItem = new FCKToolbarButton( 'Print' , FCKLang.Print, null, null, true ) ; break ;
- case 'Undo' : oItem = new FCKToolbarButton( 'Undo' , FCKLang.Undo, null, null, true ) ; break ;
- case 'Redo' : oItem = new FCKToolbarButton( 'Redo' , FCKLang.Redo, null, null, true ) ; break ;
- case 'SelectAll' : oItem = new FCKToolbarButton( 'SelectAll' , FCKLang.SelectAll, null, null, true ) ; break ;
- case 'RemoveFormat' : oItem = new FCKToolbarButton( 'RemoveFormat', FCKLang.RemoveFormat ) ; break ;
-
- case 'Bold' : oItem = new FCKToolbarButton( 'Bold' , FCKLang.Bold ) ; break ;
- case 'Italic' : oItem = new FCKToolbarButton( 'Italic' , FCKLang.Italic ) ; break ;
- case 'Underline' : oItem = new FCKToolbarButton( 'Underline' , FCKLang.Underline ) ; break ;
- case 'StrikeThrough' : oItem = new FCKToolbarButton( 'StrikeThrough' , FCKLang.StrikeThrough ) ; break ;
- case 'Subscript' : oItem = new FCKToolbarButton( 'Subscript' , FCKLang.Subscript ) ; break ;
- case 'Superscript' : oItem = new FCKToolbarButton( 'Superscript' , FCKLang.Superscript ) ; break ;
-
- case 'OrderedList' : oItem = new FCKToolbarButton( 'InsertOrderedList' , FCKLang.NumberedListLbl, FCKLang.NumberedList ) ; break ;
- case 'UnorderedList' : oItem = new FCKToolbarButton( 'InsertUnorderedList' , FCKLang.BulletedListLbl, FCKLang.BulletedList ) ; break ;
- case 'Outdent' : oItem = new FCKToolbarButton( 'Outdent' , FCKLang.DecreaseIndent ) ; break ;
- case 'Indent' : oItem = new FCKToolbarButton( 'Indent' , FCKLang.IncreaseIndent ) ; break ;
-
- case 'Link' : oItem = new FCKToolbarButton( 'Link' , FCKLang.InsertLinkLbl, FCKLang.InsertLink ) ; break ;
- case 'Unlink' : oItem = new FCKToolbarButton( 'Unlink' , FCKLang.RemoveLink ) ; break ;
-
- case 'Image' : oItem = new FCKToolbarButton( 'Image' , FCKLang.InsertImageLbl, FCKLang.InsertImage ) ; break ;
- case 'Table' : oItem = new FCKToolbarButton( 'Table' , FCKLang.InsertTableLbl, FCKLang.InsertTable ) ; break ;
- case 'SpecialChar' : oItem = new FCKToolbarButton( 'SpecialChar' , FCKLang.InsertSpecialCharLbl, FCKLang.InsertSpecialChar ) ; break ;
- case 'Smiley' : oItem = new FCKToolbarButton( 'Smiley' , FCKLang.InsertSmileyLbl, FCKLang.InsertSmiley ) ; break ;
-
- case 'Rule' : oItem = new FCKToolbarButton( 'InsertHorizontalRule', FCKLang.InsertLineLbl, FCKLang.InsertLine ) ; break ;
-
- case 'JustifyLeft' : oItem = new FCKToolbarButton( 'JustifyLeft' , FCKLang.LeftJustify ) ; break ;
- case 'JustifyCenter' : oItem = new FCKToolbarButton( 'JustifyCenter' , FCKLang.CenterJustify ) ; break ;
- case 'JustifyRight' : oItem = new FCKToolbarButton( 'JustifyRight' , FCKLang.RightJustify ) ; break ;
- case 'JustifyFull' : oItem = new FCKToolbarButton( 'JustifyFull' , FCKLang.BlockJustify ) ; break ;
-
- case 'Style' : oItem = new FCKToolbarStyleCombo() ; break ;
- case 'FontName' : oItem = new FCKToolbarFontsCombo() ; break ;
- case 'FontSize' : oItem = new FCKToolbarFontSizeCombo() ; break ;
- case 'FontFormat' : oItem = new FCKToolbarFontFormatCombo() ; break ;
-
- case 'TextColor' : oItem = new FCKToolbarPanelButton( 'TextColor', FCKLang.TextColor ) ; break ;
- case 'BGColor' : oItem = new FCKToolbarPanelButton( 'BGColor' , FCKLang.BGColor ) ; break ;
-
- case 'Find' : oItem = new FCKToolbarButton( 'Find' , FCKLang.Find ) ; break ;
- case 'Replace' : oItem = new FCKToolbarButton( 'Replace' , FCKLang.Replace ) ; break ;
-
- default:
- alert( FCKLang.UnknownToolbarItem.replace( /%1/g, itemName ) ) ;
- return ;
- }
-
- FCKToolbarItems.LoadedItems[ itemName ] = oItem ;
-
- return oItem ;
-} \ No newline at end of file
diff --git a/lib/editor/_source/internals/fcktoolbarset.js b/lib/editor/_source/internals/fcktoolbarset.js
deleted file mode 100644
index 784035d..0000000
--- a/lib/editor/_source/internals/fcktoolbarset.js
+++ /dev/null
@@ -1,121 +0,0 @@
-/*
- * FCKeditor - The text editor for internet
- * Copyright (C) 2003-2004 Frederico Caldeira Knabben
- *
- * Licensed under the terms of the GNU Lesser General Public License:
- * http://www.opensource.org/licenses/lgpl-license.php
- *
- * For further information visit:
- * http://www.fckeditor.net/
- *
- * File Name: fcktoolbarset.js
- * Defines the FCKToolbarSet object that is used to load and draw the
- * toolbar.
- *
- * Version: 2.0 RC2
- * Modified: 2004-11-23 19:53:19
- *
- * File Authors:
- * Frederico Caldeira Knabben (fredck@fckeditor.net)
- */
-
-var FCKToolbarSet = FCK.ToolbarSet = new Object() ;
-
-document.getElementById( 'ExpandHandle' ).title = FCKLang.ToolbarExpand ;
-document.getElementById( 'CollapseHandle' ).title = FCKLang.ToolbarCollapse ;
-
-FCKToolbarSet.Toolbars = new Array() ;
-
-FCKToolbarSet.Expand = function()
-{
- document.getElementById( 'Collapsed' ).style.display = 'none' ;
- document.getElementById( 'Expanded' ).style.display = '' ;
-
- if ( ! FCKBrowserInfo.IsIE )
- {
- // I had to use "setTimeout" because Gecko was not responding in a right
- // way when calling window.onresize() directly.
- window.setTimeout( "window.onresize()", 1 ) ;
- }
-}
-
-FCKToolbarSet.Collapse = function()
-{
- document.getElementById( 'Collapsed' ).style.display = '' ;
- document.getElementById( 'Expanded' ).style.display = 'none' ;
-
- if ( ! FCKBrowserInfo.IsIE )
- {
- // I had to use "setTimeout" because Gecko was not responding in a right
- // way when calling window.onresize() directly.
- window.setTimeout( "window.onresize()", 1 ) ;
- }
-}
-
-FCKToolbarSet.Restart = function()
-{
- if ( !FCKConfig.ToolbarCanCollapse || FCKConfig.ToolbarStartExpanded )
- this.Expand() ;
- else
- this.Collapse() ;
-
- document.getElementById( 'CollapseHandle' ).style.display = FCKConfig.ToolbarCanCollapse ? '' : 'none' ;
-}
-
-FCKToolbarSet.Load = function( toolbarSetName )
-{
- this.DOMElement = document.getElementById( 'eToolbar' ) ;
-
- var ToolbarSet = FCKConfig.ToolbarSets[toolbarSetName] ;
-
- if (! ToolbarSet)
- {
- alert( FCKLang.UnknownToolbarSet.replace( /%1/g, toolbarSetName ) ) ;
- return ;
- }
-
- this.Toolbars = new Array() ;
-
- for ( var x = 0 ; x < ToolbarSet.length ; x++ )
- {
- var oToolbar = new FCKToolbar() ;
-
- for ( var j = 0 ; j < ToolbarSet[x].length ; j++ )
- {
- var sItem = ToolbarSet[x][j] ;
-
- if ( sItem == '-')
- oToolbar.AddSeparator() ;
- else
- {
- var oItem = FCKToolbarItems.GetItem( sItem ) ;
- if ( oItem )
- oToolbar.AddItem( oItem ) ;
- }
- }
-
- oToolbar.AddTerminator() ;
-
- this.Toolbars[ this.Toolbars.length ] = oToolbar ;
- }
-
- this.Redraw() ;
-}
-
-FCKToolbarSet.Redraw = function()
-{
-}
-
-FCKToolbarSet.RefreshItemsState = function()
-{
-
- for ( var i = 0 ; i < FCKToolbarSet.Toolbars.length ; i++ )
- {
- var oToolbar = FCKToolbarSet.Toolbars[i] ;
- for ( var j = 0 ; j < oToolbar.Items.length ; j++ )
- {
- oToolbar.Items[j].RefreshState() ;
- }
- }
-}
-
diff --git a/lib/editor/_source/internals/fcktools.js b/lib/editor/_source/internals/fcktools.js
deleted file mode 100644
index f5acd8b..0000000
--- a/lib/editor/_source/internals/fcktools.js
+++ /dev/null
@@ -1,192 +0,0 @@
-/*
- * FCKeditor - The text editor for internet
- * Copyright (C) 2003-2004 Frederico Caldeira Knabben
- *
- * Licensed under the terms of the GNU Lesser General Public License:
- * http://www.opensource.org/licenses/lgpl-license.php
- *
- * For further information visit:
- * http://www.fckeditor.net/
- *
- * File Name: fcktools.js
- * Utility functions.
- *
- * Version: 2.0 RC2
- * Modified: 2004-11-23 20:35:40
- *
- * File Authors:
- * Frederico Caldeira Knabben (fredck@fckeditor.net)
- */
-
-var FCKTools = new Object() ;
-
-//**
-// FCKTools.GetLinkedFieldValue: Gets the value of the hidden INPUT element
-// that is associated to the editor. This element has its ID set to the
-// editor's instance name so the user reffers to the instance name when getting
-// the posted data.
-FCKTools.GetLinkedFieldValue = function()
-{
- return FCK.LinkedField.value ;
-}
-
-//**
-// FCKTools.SetLinkedFieldValue: Sets the value of the hidden INPUT element
-// that is associated to the editor. This element has its ID set to the
-// editor's instance name so the user reffers to the instance name when getting
-// the posted data.
-FCKTools.SetLinkedFieldValue = function( value )
-{
- FCK.LinkedField.value = value ;
-}
-
-//**
-// FCKTools.AttachToLinkedFieldFormSubmit: attaches a function call to the
-// submit event of the linked field form. This function us generally used to
-// update the linked field value before submitting the form.
-FCKTools.AttachToLinkedFieldFormSubmit = function( functionPointer )
-{
- // Gets the linked field form
- var oForm = FCK.LinkedField.form ;
-
- // Return now if no form is available
- if (!oForm) return ;
-
- // Attaches the functionPointer call to the onsubmit event
- if ( FCKBrowserInfo.IsIE )
- oForm.attachEvent( "onsubmit", functionPointer ) ;
- else
- oForm.addEventListener( 'submit', functionPointer, true ) ;
-
- //**
- // Attaches the functionPointer call to the submit method
- // This is done because IE doesn't fire onsubmit when the submit method is called
- // BEGIN --
-
- // Creates a Array in the form object that will hold all Attached function call
- // (in the case there are more than one editor in the same page)
- if (! oForm.updateFCKEditor) oForm.updateFCKEditor = new Array() ;
-
- // Adds the function pointer to the array of functions to call when "submit" is called
- oForm.updateFCKEditor[oForm.updateFCKEditor.length] = functionPointer ;
-
- // Switches the original submit method with a new one that first call all functions
- // on the above array and the call the original submit
- if (! oForm.originalSubmit && ! oForm.submit.tagName )
- {
- // Creates a copy of the original submit
- oForm.originalSubmit = oForm.submit ;
-
- // Creates our replacement for the submit
- oForm.submit = function()
- {
- if (this.updateFCKEditor)
- {
- // Calls all functions in the functions array
- for (var i = 0 ; i < this.updateFCKEditor.length ; i++)
- this.updateFCKEditor[i]() ;
- }
- // Calls the original "submit"
- this.originalSubmit() ;
- }
- }
- // END --
-}
-
-//**
-// FCKTools.AddSelectOption: Adds a option to a SELECT element.
-FCKTools.AddSelectOption = function( targetDocument, selectElement, optionText, optionValue )
-{
- var oOption = targetDocument.createElement("OPTION") ;
-
- oOption.text = optionText ;
- oOption.value = optionValue ;
-
- selectElement.options.add(oOption) ;
-
- return oOption ;
-}
-
-FCKTools.RemoveAllSelectOptions = function( selectElement )
-{
- for ( var i = selectElement.options.length - 1 ; i >= 0 ; i-- )
- {
- selectElement.options.remove(i) ;
- }
-}
-
-FCKTools.SelectNoCase = function( selectElement, value, defaultValue )
-{
- var sNoCaseValue = value.toString().toLowerCase() ;
-
- for ( var i = 0 ; i < selectElement.options.length ; i++ )
- {
- if ( sNoCaseValue == selectElement.options[i].value.toLowerCase() )
- {
- selectElement.selectedIndex = i ;
- return ;
- }
- }
-
- if ( defaultValue != null ) FCKTools.SelectNoCase( selectElement, defaultValue ) ;
-}
-
-FCKTools.HTMLEncode = function( text )
-{
- text = text.replace( /&/g, "&amp;" ) ;
- text = text.replace( /"/g, "&quot;" ) ;
- text = text.replace( /</g, "&lt;" ) ;
- text = text.replace( />/g, "&gt;" ) ;
- text = text.replace( /'/g, "&#39;" ) ;
-
- return text ;
-}
-
-//**
-// FCKTools.GetResultingArray: Gets a array from a string (where the elements
-// are separated by a character), a fuction (that returns a array) or a array.
-FCKTools.GetResultingArray = function( arraySource, separator )
-{
- switch ( typeof( arraySource ) )
- {
- case "string" :
- return arraySource.split( separator ) ;
- case "function" :
- return separator() ;
- default :
- if ( isArray( arraySource ) ) return arraySource ;
- else return new Array() ;
- }
-}
-
-FCKTools.GetElementPosition = function( el )
-{
- // Initializes the Coordinates object that will be returned by the function.
- var c = { X:0, Y:0 } ;
-
- // Loop throw the offset chain.
- while ( el )
- {
- c.X += el.offsetLeft ;
- c.Y += el.offsetTop ;
-
- el = el.offsetParent ;
- }
-
- // Return the Coordinates object
- return c ;
-}
-
-FCKTools.GetElementAscensor = function( element, ascensorTagName )
-{
- var e = element.parentNode ;
-
- while ( e )
- {
- if ( e.nodeName == ascensorTagName )
- return e ;
-
- e = e.parentNode ;
- }
-}
-
diff --git a/lib/editor/_source/internals/fcktools_gecko.js b/lib/editor/_source/internals/fcktools_gecko.js
deleted file mode 100644
index 0330bf3..0000000
--- a/lib/editor/_source/internals/fcktools_gecko.js
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
- * FCKeditor - The text editor for internet
- * Copyright (C) 2003-2004 Frederico Caldeira Knabben
- *
- * Licensed under the terms of the GNU Lesser General Public License:
- * http://www.opensource.org/licenses/lgpl-license.php
- *
- * For further information visit:
- * http://www.fckeditor.net/
- *
- * File Name: fcktools_gecko.js
- * Utility functions. (Gecko version).
- *
- * Version: 2.0 RC2
- * Modified: 2004-11-18 00:55:13
- *
- * File Authors:
- * Frederico Caldeira Knabben (fredck@fckeditor.net)
- */
-
-// Appends a CSS file to a document.
-FCKTools.AppendStyleSheet = function( documentElement, cssFileUrl )
-{
- var e = documentElement.createElement( 'LINK' ) ;
- e.rel = 'stylesheet' ;
- e.type = 'text/css' ;
- e.href = cssFileUrl ;
- documentElement.getElementsByTagName("HEAD")[0].appendChild( e ) ;
-}
-
-// Removes all attributes and values from the element.
-FCKTools.ClearElementAttributes = function( element )
-{
- // Loop throw all attributes in the element
- for ( var i = 0 ; i < element.attributes.length ; i++ )
- {
- // Remove the element by name.
- element.removeAttribute( element.attributes[i].name, 0 ) ; // 0 : Case Insensitive
- }
-}
-
-// Returns an Array of strings with all defined in the elements inside another element.
-FCKTools.GetAllChildrenIds = function( parentElement )
-{
- // Create the array that will hold all Ids.
- var aIds = new Array() ;
-
- // Define a recursive function that search for the Ids.
- var fGetIds = function( parent )
- {
- for ( var i = 0 ; i < parent.childNodes.length ; i++ )
- {
- var sId = parent.childNodes[i].id ;
-
- // Check if the Id is defined for the element.
- if ( sId && sId.length > 0 ) aIds[ aIds.length ] = sId ;
-
- // Recursive call.
- fGetIds( parent.childNodes[i] ) ;
- }
- }
-
- // Start the recursive calls.
- fGetIds( parentElement ) ;
-
- return aIds ;
-}
-
-FCKTools.RemoveOuterTags = function( e )
-{
- var oFragment = e.ownerDocument.createDocumentFragment() ;
-
- for ( var i = 0 ; i < e.childNodes.length ; i++ )
- oFragment.appendChild( e.childNodes[i] ) ;
-
- e.parentNode.replaceChild( oFragment, e ) ;
-} \ No newline at end of file
diff --git a/lib/editor/_source/internals/fcktools_ie.js b/lib/editor/_source/internals/fcktools_ie.js
deleted file mode 100644
index 57ff9f5..0000000
--- a/lib/editor/_source/internals/fcktools_ie.js
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * FCKeditor - The text editor for internet
- * Copyright (C) 2003-2004 Frederico Caldeira Knabben
- *
- * Licensed under the terms of the GNU Lesser General Public License:
- * http://www.opensource.org/licenses/lgpl-license.php
- *
- * For further information visit:
- * http://www.fckeditor.net/
- *
- * File Name: fcktools_ie.js
- * Utility functions. (IE version).
- *
- * Version: 2.0 RC2
- * Modified: 2004-11-18 00:54:37
- *
- * File Authors:
- * Frederico Caldeira Knabben (fredck@fckeditor.net)
- */
-
-// Appends a CSS file to a document.
-FCKTools.AppendStyleSheet = function( documentElement, cssFileUrl )
-{
- return documentElement.createStyleSheet( cssFileUrl ) ;
-}
-
-// Removes all attributes and values from the element.
-FCKTools.ClearElementAttributes = function( element )
-{
- element.clearAttributes() ;
-}
-
-FCKTools.GetAllChildrenIds = function( parentElement )
-{
- var aIds = new Array() ;
- for ( var i = 0 ; i < parentElement.all.length ; i++ )
- {
- var sId = parentElement.all[i].id ;
- if ( sId && sId.length > 0 )
- aIds[ aIds.length ] = sId ;
- }
- return aIds ;
-}
-
-FCKTools.RemoveOuterTags = function( e )
-{
- e.insertAdjacentHTML( 'beforeBegin', e.innerHTML ) ;
- e.parentNode.removeChild( e ) ;
-} \ No newline at end of file
diff --git a/lib/editor/_source/internals/fckurlparams.js b/lib/editor/_source/internals/fckurlparams.js
deleted file mode 100644
index 31c6ec2..0000000
--- a/lib/editor/_source/internals/fckurlparams.js
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- * FCKeditor - The text editor for internet
- * Copyright (C) 2003-2004 Frederico Caldeira Knabben
- *
- * Licensed under the terms of the GNU Lesser General Public License:
- * http://www.opensource.org/licenses/lgpl-license.php
- *
- * For further information visit:
- * http://www.fckeditor.net/
- *
- * File Name: fckurlparams.js
- * Defines the FCKURLParams object that is used to get all parameters
- * passed by the URL QueryString (after the "?").
- *
- * Version: 2.0 RC2
- * Modified: 2004-05-31 23:07:51
- *
- * File Authors:
- * Frederico Caldeira Knabben (fredck@fckeditor.net)
- */
-
-// #### URLParams: holds all URL passed parameters (like ?Param1=Value1&Param2=Value2)
-var FCKURLParams = new Object() ;
-
-var aParams = document.location.search.substr(1).split('&') ;
-for ( i = 0 ; i < aParams.length ; i++ )
-{
- var aParam = aParams[i].split('=') ;
- var sParamName = aParam[0] ;
- var sParamValue = aParam[1] ;
-
- FCKURLParams[ sParamName ] = sParamValue ;
-} \ No newline at end of file
diff --git a/lib/editor/_source/internals/fckxhtml.js b/lib/editor/_source/internals/fckxhtml.js
deleted file mode 100644
index 74b0b29..0000000
--- a/lib/editor/_source/internals/fckxhtml.js
+++ /dev/null
@@ -1,280 +0,0 @@
-/*
- * FCKeditor - The text editor for internet
- * Copyright (C) 2003-2004 Frederico Caldeira Knabben
- *
- * Licensed under the terms of the GNU Lesser General Public License:
- * http://www.opensource.org/licenses/lgpl-license.php
- *
- * For further information visit:
- * http://www.fckeditor.net/
- *
- * File Name: fckxhtml.js
- * Defines the FCKXHtml object, responsible for the XHTML operations.
- *
- * Version: 2.0 RC2
- * Modified: 2004-12-12 17:31:20
- *
- * File Authors:
- * Frederico Caldeira Knabben (fredck@fckeditor.net)
- */
-
-var FCKXHtml = new Object() ;
-
-FCKXHtml.EmptyElementsRegex = /^(?:BASE|META|LINK|HR|BR|PARAM|IMG|AREA|INPUT)$/i ;
-
-FCKXHtml.GetXHTML = function( node )
-{
- // Create the XML DOMDocument objetc.
- if ( window.ActiveXObject ) // IE
- this.XML = new ActiveXObject( 'Msxml2.DOMDocument' ) ;
- else // Gecko
- this.XML = document.implementation.createDocument( '', '', null ) ;
-
- // Add a root element that holds all child nodes.
- this.MainNode = this.XML.appendChild( this.XML.createElement( 'xhtml' ) ) ;
-
- // Start recursivelly calling the _AppendNode function.
- this._AppendChildNodes( this.MainNode, node ) ;
-
- // Get the resulting XHTML as a string.
- var sXHTML = FCKBrowserInfo.IsIE ? this.MainNode.xml : FCKXHtml._GetGeckoNodeXml( this.MainNode ) ;
-
- if ( FCKConfig.ForceSimpleAmpersand )
- sXHTML = sXHTML.replace( /___FCKAmp___/g, '&' ) ;
-
- // Strip the "XHTML" root node.
- return sXHTML.substr( 7, sXHTML.length - 15 ) ;
-}
-
-FCKXHtml._GetGeckoNodeXml = function( node )
-{
- // Create the XMLSerializer.
- var oSerializer = new XMLSerializer() ;
-
- // Return the serialized XML as a string.
- // Due to a BUG on Gecko, the special chars sequence "#?-:" must be replaced with "&"
- // for the XHTML entities.
- return oSerializer.serializeToString( node ).replace( FCKXHtmlEntities.GeckoEntitiesMarkerRegex, '&' ) ;
-}
-
-FCKXHtml._AppendAttribute = function( xmlNode, attributeName, attributeValue )
-{
- // There is a bug in Mozilla that returns '_moz_dirty' as specified.
- if ( FCKBrowserInfo.IsGecko && attributeName.indexOf( '_moz' ) == 0 )
- return ;
-
- // Create the attribute.
- var oXmlAtt = this.XML.createAttribute( attributeName ) ;
-
- // XHTML doens't support attribute minimization like "CHECKED". It must be trasformed to cheched="checked".
- if ( attributeValue === true )
- oXmlAtt.value = attributeName ;
- else
- oXmlAtt.value = attributeValue ;
-
- // Set the attribute in the node.
- xmlNode.attributes.setNamedItem( oXmlAtt ) ;
-}
-
-FCKXHtml._AppendChildNodes = function( xmlNode, htmlNode )
-{
- // Get all children nodes.
- var oChildren = htmlNode.childNodes ;
-
- var i = 0 ;
- while ( i < oChildren.length )
- {
- i += this._AppendNode( xmlNode, oChildren[i] ) ;
- }
-
- // We can't use short representation of empty elements that are not marked
- // as empty in th XHTML DTD.
- if ( i == 0 && ! this.EmptyElementsRegex.test( htmlNode.nodeName ) )
- xmlNode.appendChild( this.XML.createTextNode('') ) ;
-}
-
-FCKXHtml._AppendNode = function( xmlNode, htmlNode )
-{
- var iAddedNodes = 1 ;
-
- switch ( htmlNode.nodeType )
- {
- // Element Node.
- case 1 :
- // Mozilla insert custom nodes in the DOM.
- if ( FCKBrowserInfo.IsGecko && htmlNode.hasAttribute('_moz_editor_bogus_node') )
- return ;
-
- // Create the Element.
- var sNodeName = htmlNode.nodeName.toLowerCase() ;
-
- // If the nodeName starts with a slash, it is a orphan closing tag.
- if ( sNodeName.substr(0,1) == '/' )
- break ;
-
- var oNode = this.XML.createElement( sNodeName ) ;
-
- // Add all attributes.
- var oAttributes = htmlNode.attributes ;
- for ( var n = 0 ; n < oAttributes.length ; n++ )
- {
- var oAttribute = oAttributes[n] ;
- if ( oAttribute.specified )
- {
- var sAttName = oAttribute.nodeName.toLowerCase() ;
-
- // The following must be done because of a bug on IE regarding the style
- // attribute. It returns "null" for the nodeValue.
- if ( FCKBrowserInfo.IsIE && sAttName == 'style' )
- var sAttValue = htmlNode.style.cssText ;
- // There are two cases when the oAttribute.nodeValue must be used:
- // - for the "class" attribute
- // - for events attributes (on IE only).
- else if ( sAttName == 'class' || ( FCKBrowserInfo.IsIE && sAttName.indexOf('on') == 0 ) )
- var sAttValue = oAttribute.nodeValue ;
- else
- var sAttValue = htmlNode.getAttribute( sAttName, 2 ) ; // We must use getAttribute to get it exactly as it is defined.
-
- if ( FCKConfig.ForceSimpleAmpersand && sAttValue.replace )
- sAttValue = sAttValue.replace( /&/g, '___FCKAmp___' ) ;
-
- this._AppendAttribute( oNode, sAttName, sAttValue ) ;
- }
- }
-
- var bProcessChild = true ;
-
- // Proccess the node.
- switch ( sNodeName )
- {
- case "img" :
- // The "ALT" attribute is required in XHTML.
- if ( ! oNode.attributes.getNamedItem( 'alt' ) )
- this._AppendAttribute( oNode, 'alt', '' ) ;
-
- bProcessChild = false ;
-
- break ;
-
- // IE automaticaly changes <FONT> tags to <FONT size=+0>
- case "font" :
- if ( FCKBrowserInfo.IsIE && oNode.attributes.length == 0 )
- oNode = this.XML.createDocumentFragment() ;
- break ;
-
- // IE doens't see the value attribute as an attribute for the <INPUT> tag.
- case "input" :
- if ( FCKBrowserInfo.IsIE && htmlNode.value && !oNode.attributes.getNamedItem( 'value' ) )
- this._AppendAttribute( oNode, 'value', htmlNode.value ) ;
-
- bProcessChild = false ;
-
- break ;
-
- // There is a BUG in IE regarding the ABBR tag.
- case "abbr" :
- if ( FCKBrowserInfo.IsIE )
- {
- var oNextNode = htmlNode.nextSibling ;
- while ( true )
- {
- iAddedNodes++ ;
- if ( oNextNode && oNextNode.nodeName != '/ABBR' )
- {
- this._AppendNode( oNode, oNextNode ) ;
- oNextNode = oNextNode.nextSibling ;
- }
- else
- break ;
- }
- bProcessChild = false ;
- }
- break ;
-
- // IE ignores the "COORDS" attribute so we must add it manually.
- case "area" :
- if ( FCKBrowserInfo.IsIE && ! oNode.attributes.getNamedItem( 'coords' ) )
- {
- var sCoords = htmlNode.getAttribute( 'coords', 2 ) ;
- if ( sCoords && sCoords != '0,0,0' )
- this._AppendAttribute( oNode, 'coords', sCoords ) ;
- }
- break ;
-
- // "SCRIPT" and "STYLE" must be a CDATA.
- case "script" :
- // The "TYPE" attribute is required in XHTML.
- if ( ! oNode.attributes.getNamedItem( 'type' ) )
- this._AppendAttribute( oNode, 'type', 'text/javascript' ) ;
-
- oNode.appendChild( this.XML.createTextNode( '\n' + htmlNode.text.trim() + '\n' ) ) ;
-
- bProcessChild = false ;
- break ;
-
- case "style" :
- // The "TYPE" attribute is required in XHTML.
- if ( ! oNode.attributes.getNamedItem( 'type' ) )
- this._AppendAttribute( oNode, 'type', 'text/css' ) ;
-
- oNode.appendChild( this.XML.createTextNode( '\n' + htmlNode.innerHTML.trim() + '\n' ) ) ;
-
- bProcessChild = false ;
- break ;
- }
-
- // Recursivelly call the function.
- if ( bProcessChild )
- this._AppendChildNodes( oNode, htmlNode ) ;
-
- xmlNode.appendChild( oNode ) ;
-
- break ;
-
- // Text Node.
- case 3 :
- // We can't just replace the special chars with entities and create a
- // text node with it. We must split the text isolating the special chars
- // and add each piece a time.
- var asPieces = htmlNode.nodeValue.match( FCKXHtmlEntities.EntitiesRegex ) ;
-
- if ( asPieces )
- {
- for ( var i = 0 ; i < asPieces.length ; i++ )
- {
- if ( asPieces[i].length == 1 )
- {
- var sEntity = FCKXHtmlEntities.Entities[ asPieces[i] ] ;
- if ( sEntity != null )
- {
- // There is a BUG on Gecko... createEntityReference returns null.
- if ( FCKBrowserInfo.IsIE )
- var oEnt = this.XML.createEntityReference( sEntity ) ;
- else
- var oEnt = this.XML.createTextNode( '#?-:' + sEntity + ';' ) ;
- xmlNode.appendChild( oEnt ) ;
- continue ;
- }
- }
- xmlNode.appendChild( this.XML.createTextNode( asPieces[i] ) ) ;
- }
- }
-
- // This is the original code. It doesn't care about the entities.
- //xmlNode.appendChild( this.XML.createTextNode( htmlNode.nodeValue ) ) ;
-
- break ;
-
- // Comment
- case 8 :
- xmlNode.appendChild( this.XML.createComment( htmlNode.nodeValue ) ) ;
- break ;
-
- // Unknown Node type.
- default :
- xmlNode.appendChild( this.XML.createComment( "Element not supported - Type: " + htmlNode.nodeType + " Name: " + htmlNode.nodeName ) ) ;
- break ;
- }
-
- return iAddedNodes ;
-} \ No newline at end of file
diff --git a/lib/editor/_source/internals/fckxhtmlentities.js b/lib/editor/_source/internals/fckxhtmlentities.js
deleted file mode 100644
index 3574124..0000000
--- a/lib/editor/_source/internals/fckxhtmlentities.js
+++ /dev/null
@@ -1,295 +0,0 @@
-/*
- * FCKeditor - The text editor for internet
- * Copyright (C) 2003-2004 Frederico Caldeira Knabben
- *
- * Licensed under the terms of the GNU Lesser General Public License:
- * http://www.opensource.org/licenses/lgpl-license.php
- *
- * For further information visit:
- * http://www.fckeditor.net/
- *
- * File Name: fckxhtmlentities.js
- * This file define the HTML entities handled by the editor.
- *
- * Version: 2.0 RC2
- * Modified: 2004-11-22 16:23:11
- *
- * File Authors:
- * Frederico Caldeira Knabben (fredck@fckeditor.net)
- */
-
-FCKXHtmlEntities = new Object();
-
-FCKXHtmlEntities.Entities = {
- // Latin-1 Entities
- ' ':'nbsp',
- '¡':'iexcl',
- '¢':'cent',
- '£':'pound',
- '¤':'curren',
- '¥':'yen',
- '¦':'brvbar',
- '§':'sect',
- '¨':'uml',
- '©':'copy',
- 'ª':'ordf',
- '«':'laquo',
- '¬':'not',
- '­':'shy',
- '®':'reg',
- '¯':'macr',
- '°':'deg',
- '±':'plusmn',
- '²':'sup2',
- '³':'sup3',
- '´':'acute',
- 'µ':'micro',
- '¶':'para',
- '·':'middot',
- '¸':'cedil',
- '¹':'sup1',
- 'º':'ordm',
- '»':'raquo',
- '¼':'frac14',
- '½':'frac12',
- '¾':'frac34',
- '¿':'iquest',
- 'À':'Agrave',
- 'Á':'Aacute',
- 'Â':'Acirc',
- 'Ã':'Atilde',
- 'Ä':'Auml',
- 'Å':'Aring',
- 'Æ':'AElig',
- 'Ç':'Ccedil',
- 'È':'Egrave',
- 'É':'Eacute',
- 'Ê':'Ecirc',
- 'Ë':'Euml',
- 'Ì':'Igrave',
- 'Í':'Iacute',
- 'Î':'Icirc',
- 'Ï':'Iuml',
- 'Ð':'ETH',
- 'Ñ':'Ntilde',
- 'Ò':'Ograve',
- 'Ó':'Oacute',
- 'Ô':'Ocirc',
- 'Õ':'Otilde',
- 'Ö':'Ouml',
- '×':'times',
- 'Ø':'Oslash',
- 'Ù':'Ugrave',
- 'Ú':'Uacute',
- 'Û':'Ucirc',
- 'Ü':'Uuml',
- 'Ý':'Yacute',
- 'Þ':'THORN',
- 'ß':'szlig',
- 'à':'agrave',
- 'á':'aacute',
- 'â':'acirc',
- 'ã':'atilde',
- 'ä':'auml',
- 'å':'aring',
- 'æ':'aelig',
- 'ç':'ccedil',
- 'è':'egrave',
- 'é':'eacute',
- 'ê':'ecirc',
- 'ë':'euml',
- 'ì':'igrave',
- 'í':'iacute',
- 'î':'icirc',
- 'ï':'iuml',
- 'ð':'eth',
- 'ñ':'ntilde',
- 'ò':'ograve',
- 'ó':'oacute',
- 'ô':'ocirc',
- 'õ':'otilde',
- 'ö':'ouml',
- '÷':'divide',
- 'ø':'oslash',
- 'ù':'ugrave',
- 'ú':'uacute',
- 'û':'ucirc',
- 'ü':'uuml',
- 'ý':'yacute',
- 'þ':'thorn',
- 'ÿ':'yuml',
-
- // Symbols and Greek Letters
-
- 'ƒ':'fnof',
- 'Α':'Alpha',
- 'Β':'Beta',
- 'Γ':'Gamma',
- 'Δ':'Delta',
- 'Ε':'Epsilon',
- 'Ζ':'Zeta',
- 'Η':'Eta',
- 'Θ':'Theta',
- 'Ι':'Iota',
- 'Κ':'Kappa',
- 'Λ':'Lambda',
- 'Μ':'Mu',
- 'Ν':'Nu',
- 'Ξ':'Xi',
- 'Ο':'Omicron',
- 'Π':'Pi',
- 'Ρ':'Rho',
- 'Σ':'Sigma',
- 'Τ':'Tau',
- 'Υ':'Upsilon',
- 'Φ':'Phi',
- 'Χ':'Chi',
- 'Ψ':'Psi',
- 'Ω':'Omega',
- 'α':'alpha',
- 'β':'beta',
- 'γ':'gamma',
- 'δ':'delta',
- 'ε':'epsilon',
- 'ζ':'zeta',
- 'η':'eta',
- 'θ':'theta',
- 'ι':'iota',
- 'κ':'kappa',
- 'λ':'lambda',
- 'μ':'mu',
- 'ν':'nu',
- 'ξ':'xi',
- 'ο':'omicron',
- 'π':'pi',
- 'ρ':'rho',
- 'ς':'sigmaf',
- 'σ':'sigma',
- 'τ':'tau',
- 'υ':'upsilon',
- 'φ':'phi',
- 'χ':'chi',
- 'ψ':'psi',
- 'ω':'omega',
- 'ϑ':'thetasym',
- 'ϒ':'upsih',
- 'ϖ':'piv',
- '•':'bull',
- '…':'hellip',
- '′':'prime',
- '″':'Prime',
- '‾':'oline',
- '⁄':'frasl',
- '℘':'weierp',
- 'ℑ':'image',
- 'ℜ':'real',
- '™':'trade',
- 'ℵ':'alefsym',
- '←':'larr',
- '↑':'uarr',
- '→':'rarr',
- '↓':'darr',
- '↔':'harr',
- '↵':'crarr',
- '⇐':'lArr',
- '⇑':'uArr',
- '⇒':'rArr',
- '⇓':'dArr',
- '⇔':'hArr',
- '∀':'forall',
- '∂':'part',
- '∃':'exist',
- '∅':'empty',
- '∇':'nabla',
- '∈':'isin',
- '∉':'notin',
- '∋':'ni',
- '∏':'prod',
- '∑':'sum',
- '−':'minus',
- '∗':'lowast',
- '√':'radic',
- '∝':'prop',
- '∞':'infin',
- '∠':'ang',
- '∧':'and',
- '∨':'or',
- '∩':'cap',
- '∪':'cup',
- '∫':'int',
- '∴':'there4',
- '∼':'sim',
- '≅':'cong',
- '≈':'asymp',
- '≠':'ne',
- '≡':'equiv',
- '≤':'le',
- '≥':'ge',
- '⊂':'sub',
- '⊃':'sup',
- '⊄':'nsub',
- '⊆':'sube',
- '⊇':'supe',
- '⊕':'oplus',
- '⊗':'otimes',
- '⊥':'perp',
- '⋅':'sdot',
- '⌈':'lceil',
- '⌉':'rceil',
- '⌊':'lfloor',
- '⌋':'rfloor',
- '〈':'lang',
- '〉':'rang',
- '◊':'loz',
- '♠':'spades',
- '♣':'clubs',
- '♥':'hearts',
- '♦':'diams',
-
- // Other Special Characters
-
- '"':'quot',
-// '&':'amp', // This entity is automatically handled by the XHTML parser.
-// '<':'lt', // This entity is automatically handled by the XHTML parser.
-// '>':'gt', // This entity is automatically handled by the XHTML parser.
- 'Œ':'OElig',
- 'œ':'oelig',
- 'Š':'Scaron',
- 'š':'scaron',
- 'Ÿ':'Yuml',
- 'ˆ':'circ',
- '˜':'tilde',
- ' ':'ensp',
- ' ':'emsp',
- ' ':'thinsp',
- '‌':'zwnj',
- '‍':'zwj',
- '‎':'lrm',
- '‏':'rlm',
- '–':'ndash',
- '—':'mdash',
- '‘':'lsquo',
- '’':'rsquo',
- '‚':'sbquo',
- '“':'ldquo',
- '”':'rdquo',
- '„':'bdquo',
- '†':'dagger',
- '‡':'Dagger',
- '‰':'permil',
- '‹':'lsaquo',
- '›':'rsaquo',
- '€':'euro'
-
-} ;
-
-FCKXHtmlEntities.Chars = '' ;
-
-for ( var e in FCKXHtmlEntities.Entities )
- FCKXHtmlEntities.Chars += e ;
-
-FCKXHtmlEntities.EntitiesRegex = new RegExp('','') ;
-
-FCKXHtmlEntities.EntitiesRegex.compile( '[' + FCKXHtmlEntities.Chars + ']|[^' + FCKXHtmlEntities.Chars + ']+', 'g' ) ;
-
-FCKXHtmlEntities.GeckoEntitiesMarkerRegex = /#\?-\:/g ; \ No newline at end of file
diff --git a/lib/editor/css/fck_editorarea.css b/lib/editor/css/fck_editorarea.css
deleted file mode 100644
index 8476bd1..0000000
--- a/lib/editor/css/fck_editorarea.css
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
- * FCKeditor - The text editor for internet
- * Copyright (C) 2003-2004 Frederico Caldeira Knabben
- *
- * Licensed under the terms of the GNU Lesser General Public License:
- * http://www.opensource.org/licenses/lgpl-license.php
- *
- * For further information visit:
- * http://www.fckeditor.net/
- *
- * File Name: fck_editorarea.css
- * This is the default CSS file used by the editor area. It defines the
- * initial font of the editor and background color.
- *
- * A user can configure the editor to use another CSS file. Just change
- * the value of the FCKConfig.EditorAreaCSS key in the configuration
- * file.
- *
- * Version: 2.0 RC2
- * Modified: 2004-12-17 00:01:51
- *
- * File Authors:
- * Frederico Caldeira Knabben (fredck@fckeditor.net)
- */
-
-body
-{
- font-family: Arial, Verdana, Sans-Serif;
- font-size: 12px;
- padding: 5px 5px 5px 5px;
- margin: 0px;
- border-style: none;
- background-color: #ffffff;
-}
-
-.Bold
-{
- font-weight: bold;
-}
-
-.Title
-{
- font-weight: bold;
- font-size: 18px;
- color: #cc3300;
-}
-
-.Code
-{
- border: #8b4513 1px solid;
- padding-right: 5px;
- padding-left: 5px;
- color: #000066;
- font-family: 'Courier New' , Monospace;
- background-color: #ff9933;
-} \ No newline at end of file
diff --git a/lib/editor/dialog/css/common.css b/lib/editor/dialog/css/common.css
deleted file mode 100644
index 668317b..0000000
--- a/lib/editor/dialog/css/common.css
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
- * FCKeditor - The text editor for internet
- * Copyright (C) 2003-2004 Frederico Caldeira Knabben
- *
- * Licensed under the terms of the GNU Lesser General Public License:
- * http://www.opensource.org/licenses/lgpl-license.php
- *
- * For further information visit:
- * http://www.fckeditor.net/
- *
- * File Name: common.css
- * This is the CSS file used for interface details in some dialog
- * windows.
- *
- * Version: 2.0 RC2
- * Modified: 2004-11-30 12:00:05
- *
- * File Authors:
- * Frederico Caldeira Knabben (fredck@fckeditor.net)
- */
-
-.ImagePreviewArea
-{
- border: #000000 1px solid;
- padding: 5px;
- overflow: auto;
- width: 100%;
- height: 170px;
- background-color: #ffffff;
-}
-
-.BtnReset
-{
- float: left;
- background-position: center center;
- background-image: url(../images/reset.gif);
- width: 16px;
- height: 16px;
- background-repeat: no-repeat;
- border: 1px none;
- font-size: 1px ;
-}
-
-.BtnLocked, .BtnUnlocked
-{
- float: left;
- background-position: center center;
- background-image: url(../images/locked.gif);
- width: 16px;
- height: 16px;
- background-repeat: no-repeat;
- border: 1px none;
- font-size: 1px ;
-}
-
-.BtnUnlocked
-{
- background-image: url(../images/unlocked.gif);
-}
-
-.BtnOver
-{
- border: 1px outset;
- cursor: pointer;
- cursor: hand;
-}
diff --git a/lib/editor/dialog/fck_about.html b/lib/editor/dialog/fck_about.html
deleted file mode 100644
index 61cdb96..0000000
--- a/lib/editor/dialog/fck_about.html
+++ /dev/null
@@ -1,122 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-<!--
- * FCKeditor - The text editor for internet
- * Copyright (C) 2003-2004 Frederico Caldeira Knabben
- *
- * Licensed under the terms of the GNU Lesser General Public License:
- * http://www.opensource.org/licenses/lgpl-license.php
- *
- * For further information visit:
- * http://www.fckeditor.net/
- *
- * File Name: fck_about.html
- * "About" dialog window.
- *
- * Version: 2.0 RC2
- * Modified: 2004-11-30 11:38:53
- *
- * File Authors:
- * Frederico Caldeira Knabben (fredck@fckeditor.net)
--->
-<html>
- <head>
- <meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
- <meta name="robots" content="noindex, nofollow">
- <script src="js/fck_dialog_common.js" type="text/javascript"></script>
- <script language="javascript">
-
-var oEditor = window.parent.InnerDialogLoaded() ;
-
-window.parent.AddTab( 'About', 'About' ) ;
-window.parent.AddTab( 'BrowserInfo', 'Browser Info' ) ;
-
-// Function called when a dialog tag is selected.
-function OnDialogTabChange( tabCode )
-{
- ShowE('divAbout', ( tabCode == 'About' ) ) ;
- ShowE('divInfo' , ( tabCode == 'BrowserInfo' ) ) ;
-}
-
-function SendEMail()
-{
- var eMail = 'mailto:' ;
- eMail += 'fredck' ;
- eMail += '@' ;
- eMail += 'fckeditor' ;
- eMail += '.' ;
- eMail += 'net' ;
-
- window.location = eMail ;
-}
-
-window.onload = function()
-{
- // Translate the dialog box texts.
- oEditor.FCKLanguageManager.TranslatePage(document) ;
-
- window.parent.SetAutoSize( true ) ;
-}
-
- </script>
- </head>
- <body scroll="no" style="OVERFLOW: hidden">
- <div id="divAbout">
- <table cellpadding="0" cellspacing="0" border="0" width="100%" height="100%">
- <tr>
- <td>
- <img alt="" src="images/logo_fckeditor.gif" width="236" height="41" align="left">
- <table width="80" border="0" cellspacing="0" cellpadding="5" bgcolor="#ffffff" align="right">
- <tr>
- <td align="center" style="BORDER-RIGHT: #000000 1px solid; BORDER-TOP: #000000 1px solid; BORDER-LEFT: #000000 1px solid; BORDER-BOTTOM: #000000 1px solid">
- <span fckLang="DlgAboutVersion">version</span>
- <br>
- <b>2.0 RC2</b></td>
- </tr>
- </table>
- </td>
- </tr>
- <tr height="100%">
- <td align="center">
- Copyright (C) 2003-2004 <a href="#" onclick="SendEMail();">Frederico Caldeira
- Knabben</a>
- <br>
- <br>
- <span fckLang="DlgAboutLicense">Licensed under the terms of the GNU Lesser General
- Public License</span>
- <br>
- <a href="http://www.opensource.org/licenses/lgpl-license.php" target="_blank">http://www.opensource.org/licenses/lgpl-license.php</a>
- <br>
- <br>
- <span fckLang="DlgAboutInfo">For further information go to</span> <a href="http://www.fckeditor.net/" target="_blank">
- http://www.fckeditor.net/</a>.
- </td>
- </tr>
- <tr>
- <td align="center">
- <img alt="" src="images/logo_fredck.gif" width="87" height="36">
- </td>
- </tr>
- </table>
- </div>
- <div id="divInfo" style="DISPLAY: none">
- <script language="javascript">
-<!--
-document.write( '<b>User Agent: </b>' + window.navigator.userAgent + '<br><br>' ) ;
-document.write( '<b>Browser: </b>' + window.navigator.appName + ' ' + window.navigator.appVersion + '<br><br>' ) ;
-document.write( '<b>Platform: </b>' + window.navigator.platform + '<br><br>' ) ;
-
-var sUserLang = '?' ;
-
-if ( window.navigator.language )
- sUserLang = window.navigator.language.toLowerCase() ;
-else if ( window.navigator.userLanguage )
- sUserLang = window.navigator.userLanguage.toLowerCase() ;
-
-document.write( '<b>User Language: </b>' + sUserLang ) ;
-//-->
-</script>
-
- </div>
- </body>
-</html>
diff --git a/lib/editor/dialog/fck_colorselector.html b/lib/editor/dialog/fck_colorselector.html
deleted file mode 100644
index 34c7b15..0000000
--- a/lib/editor/dialog/fck_colorselector.html
+++ /dev/null
@@ -1,168 +0,0 @@
-<!--
- * FCKeditor - The text editor for internet
- * Copyright (C) 2003-2004 Frederico Caldeira Knabben
- *
- * Licensed under the terms of the GNU Lesser General Public License:
- * http://www.opensource.org/licenses/lgpl-license.php
- *
- * For further information visit:
- * http://www.fckeditor.net/
- *
- * File Name: fck_colorselector.html
- * Color Selection dialog window.
- *
- * Version: 2.0 RC2
- * Modified: 2004-12-19 23:16:57
- *
- * File Authors:
- * Frederico Caldeira Knabben (fredck@fckeditor.net)
--->
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
-<html>
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <meta name="robots" content="noindex, nofollow" />
- <style TYPE="text/css">
- #ColorTable { cursor: pointer ; cursor: hand ; }
- #hicolor { height: 74px ; width: 74px ; border-width: 1px ; border-style: solid ; }
- #hicolortext { width: 75px ; text-align: right ; margin-bottom: 7px ; }
- #selhicolor { height: 20px ; width: 74px ; border-width: 1px ; border-style: solid ; }
- #selcolor { width: 75px ; height: 20px ; margin-top: 0px ; margin-bottom: 7px ; }
- #btnClear { width: 75px ; height: 22px ; margin-bottom: 6px ; }
- .ColorCell { height: 15px ; width: 15px ; }
- </style>
- <script type="text/javascript">
-
-var oEditor = window.parent.InnerDialogLoaded() ;
-
-function OnLoad()
-{
- // First of all, translate the dialog box texts
- oEditor.FCKLanguageManager.TranslatePage(document) ;
-
- CreateColorTable() ;
-
- window.parent.SetOkButton( true ) ;
- window.parent.SetAutoSize( true ) ;
-}
-
-function CreateColorTable()
-{
- // Get the target table.
- var oTable = document.getElementById('ColorTable') ;
-
- // Create the base colors array.
- var aColors = ['00','33','66','99','cc','ff'] ;
-
- // This function combines two ranges of three values from the color array into a row.
- function AppendColorRow( rangeA, rangeB )
- {
- for ( var i = rangeA ; i < rangeA + 3 ; i++ )
- {
- var oRow = oTable.insertRow(-1) ;
-
- for ( var j = rangeB ; j < rangeB + 3 ; j++ )
- {
- for ( var n = 0 ; n < 6 ; n++ )
- {
- AppendColorCell( oRow, '#' + aColors[j] + aColors[n] + aColors[i] ) ;
- }
- }
- }
- }
-
- // This function create a single color cell in the color table.
- function AppendColorCell( targetRow, color )
- {
- var oCell = targetRow.insertCell(-1) ;
- oCell.className = 'ColorCell' ;
- oCell.bgColor = color ;
-
- oCell.onmouseover = function()
- {
- document.getElementById('hicolor').style.backgroundColor = this.bgColor ;
- document.getElementById('hicolortext').innerHTML = this.bgColor ;
- }
-
- oCell.onclick = function()
- {
- document.getElementById('selhicolor').style.backgroundColor = this.bgColor ;
- document.getElementById('selcolor').value = this.bgColor ;
- }
- }
-
- AppendColorRow( 0, 0 ) ;
- AppendColorRow( 3, 0 ) ;
- AppendColorRow( 0, 3 ) ;
- AppendColorRow( 3, 3 ) ;
-
- // Create the last row.
- var oRow = oTable.insertRow(-1) ;
-
- // Create the gray scale colors cells.
- for ( var n = 0 ; n < 6 ; n++ )
- {
- AppendColorCell( oRow, '#' + aColors[n] + aColors[n] + aColors[n] ) ;
- }
-
- // Fill the row with black cells.
- for ( var i = 0 ; i < 12 ; i++ )
- {
- AppendColorCell( oRow, '#000000' ) ;
- }
-}
-
-function Clear()
-{
- document.getElementById('selhicolor').style.backgroundColor = '' ;
- document.getElementById('selcolor').value = '' ;
-}
-
-function ClearActual()
-{
- document.getElementById('hicolor').style.backgroundColor = '' ;
- document.getElementById('hicolortext').innerHTML = '&nbsp;' ;
-}
-
-function UpdateColor()
-{
- try { document.getElementById('selhicolor').style.backgroundColor = document.getElementById('selcolor').value ; }
- catch (e) { Clear() ; }
-}
-
-function Ok()
-{
- if ( typeof(window.parent.dialogArguments.CustomValue) == 'function' )
- window.parent.dialogArguments.CustomValue( document.getElementById('selcolor').value ) ;
-
- return true ;
-}
- </script>
- </head>
- <body onload="OnLoad()" scroll="no" style="OVERFLOW: hidden">
- <table cellpadding="0" cellspacing="0" border="0" width="100%" height="100%">
- <tr>
- <td align="center" valign="middle">
- <table border="0" cellspacing="5" cellpadding="0" width="100%">
- <tr>
- <td valign="top" align="center" nowrap width="100%">
- <table id="ColorTable" border="0" cellspacing="0" cellpadding="0" width="270" onmouseout="ClearActual();">
- </table>
- </td>
- <td valign="top" align="left" nowrap>
- <span fckLang="DlgColorHighlight">Highlight</span>
- <div id="hicolor"></div>
- <div id="hicolortext">&nbsp;</div>
- <span fckLang="DlgColorSelected">Selected</span>
- <div id="selhicolor"></div>
- <input id="selcolor" type="text" maxlength="20" onchange="UpdateColor();">
- <br>
- <input id="btnClear" type="button" fckLang="DlgColorBtnClear" value="Clear" onclick="Clear();" />
- </td>
- </tr>
- </table>
- </td>
- </tr>
- </table>
- </body>
-</html>
diff --git a/lib/editor/dialog/fck_find.html b/lib/editor/dialog/fck_find.html
deleted file mode 100644
index e2eaab4..0000000
--- a/lib/editor/dialog/fck_find.html
+++ /dev/null
@@ -1,163 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-<!--
- * FCKeditor - The text editor for internet
- * Copyright (C) 2003-2004 Frederico Caldeira Knabben
- *
- * Licensed under the terms of the GNU Lesser General Public License:
- * http://www.opensource.org/licenses/lgpl-license.php
- *
- * For further information visit:
- * http://www.fckeditor.net/
- *
- * File Name: fck_find.html
- * "Find" dialog window.
- *
- * Version: 2.0 RC2
- * Modified: 2004-11-30 10:26:37
- *
- * File Authors:
- * Frederico Caldeira Knabben (fredck@fckeditor.net)
--->
-<html>
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
- <meta content="noindex, nofollow" name="robots">
- <script type="text/javascript">
-
-var oEditor = window.parent.InnerDialogLoaded() ;
-
-function OnLoad()
-{
- // Whole word is available on IE only.
- if ( oEditor.FCKBrowserInfo.IsIE )
- document.getElementById('divWord').style.display = '' ;
-
- // First of all, translate the dialog box texts.
- oEditor.FCKLanguageManager.TranslatePage( document ) ;
-
- window.parent.SetAutoSize( true ) ;
-}
-
-function btnStat(frm)
-{
- document.getElementById('btnFind').disabled =
- ( document.getElementById('txtFind').value.length == 0 ) ;
-}
-
-function ReplaceTextNodes( parentNode, regex, replaceValue, replaceAll )
-{
- for ( var i = 0 ; i < parentNode.childNodes.length ; i++ )
- {
- var oNode = parentNode.childNodes[i] ;
- if ( oNode.nodeType == 3 )
- {
- var sReplaced = oNode.nodeValue.replace( regex, replaceValue ) ;
- if ( oNode.nodeValue != sReplaced )
- {
- oNode.nodeValue = sReplaced ;
- if ( ! replaceAll )
- return true ;
- }
- }
- else
- {
- if ( ReplaceTextNodes( oNode, regex, replaceValue ) )
- return true ;
- }
- }
- return false ;
-}
-
-function GetRegexExpr()
-{
- if ( document.getElementById('chkWord').checked )
- var sExpr = '\\b' + document.getElementById('txtFind').value + '\\b' ;
- else
- var sExpr = document.getElementById('txtFind').value ;
-
- return sExpr ;
-}
-
-function GetCase()
-{
- return ( document.getElementById('chkCase').checked ? '' : 'i' ) ;
-}
-
-var oRange = oEditor.FCK.EditorDocument.body.createTextRange() ;
-
-function Ok()
-{
- if ( document.getElementById('txtFind').value.length == 0 )
- return ;
-
- if ( oEditor.FCKBrowserInfo.IsIE )
- FindIE() ;
- else
- FindGecko() ;
-}
-
-function FindIE()
-{
- var iFlags = 0 ;
-
- if ( chkCase.checked )
- iFlags = iFlags | 4 ;
-
- if ( chkWord.checked )
- iFlags = iFlags | 2 ;
-
- var bFound = oRange.findText( document.getElementById('txtFind').value, 1, iFlags ) ;
-
- if ( bFound )
- {
- oRange.scrollIntoView() ;
- oRange.select() ;
- oRange.collapse(false) ;
- oLastRangeFound = oRange ;
- }
- else
- {
- oRange = oEditor.FCK.EditorDocument.body.createTextRange() ;
- alert( oEditor.FCKLang.DlgFindNotFoundMsg ) ;
- }
-}
-
-function FindGecko()
-{
- var bCase = document.getElementById('chkCase').checked ;
- var bWord = document.getElementById('chkWord').checked ;
-
- // window.find( searchString, caseSensitive, backwards, wrapAround, wholeWord, searchInFrames, showDialog ) ;
- oEditor.FCK.EditorWindow.find( document.getElementById('txtFind').value, bCase, false, false, bWord, false, false ) ;
-
-}
- </script>
- </head>
- <body onload="OnLoad()" scroll="no" style="OVERFLOW: hidden">
- <table cellSpacing="3" cellPadding="2" width="100%" border="0">
- <tr>
- <td nowrap>
- <label for="txtFind" fckLang="DlgReplaceFindLbl">Find what:</label>&nbsp;
- </td>
- <td width="100%">
- <input id="txtFind" onkeyup="btnStat(this.form)" style="WIDTH: 100%" tabIndex="1" type="text">
- </td>
- <td>
- <input id="btnFind" style="WIDTH: 100%; PADDING-RIGHT: 5px; PADDING-LEFT: 5px" disabled
- onclick="Ok();" type="button" value="Find" fckLang="DlgFindFindBtn">
- </td>
- </tr>
- <tr>
- <td valign="bottom" colSpan="3">
- &nbsp;<input id="chkCase" tabIndex="3" type="checkbox"><label for="chkCase" fckLang="DlgReplaceCaseChk">Match
- case</label>
- <br>
- <div id="divWord" style="DISPLAY: none">
- &nbsp;<input id="chkWord" tabIndex="4" type="checkbox"><label for="chkWord" fckLang="DlgReplaceWordChk">Match
- whole word</label>
- </div>
- </td>
- </tr>
- </table>
- </body>
-</html>
diff --git a/lib/editor/dialog/fck_image.html b/lib/editor/dialog/fck_image.html
deleted file mode 100644
index 065c3cc..0000000
--- a/lib/editor/dialog/fck_image.html
+++ /dev/null
@@ -1,209 +0,0 @@
-<!--
- * FCKeditor - The text editor for internet
- * Copyright (C) 2003-2004 Frederico Caldeira Knabben
- *
- * Licensed under the terms of the GNU Lesser General Public License:
- * http://www.opensource.org/licenses/lgpl-license.php
- *
- * For further information visit:
- * http://www.fckeditor.net/
- *
- * File Name: fck_image.html
- * Image Properties dialog window.
- *
- * Version: 2.0 RC2
- * Modified: 2004-11-30 12:08:59
- *
- * File Authors:
- * Frederico Caldeira Knabben (fredck@fckeditor.net)
--->
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-<html>
- <head>
- <title>Image Properties</title>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
- <meta name="robots" content="noindex, nofollow">
- <script src="js/fck_dialog_common.js" type="text/javascript"></script>
- <script src="js/fck_image.js" type="text/javascript"></script>
- <link href="css/common.css" rel="stylesheet" type="text/css" />
- </head>
- <body scroll="no" style="OVERFLOW: hidden">
- <div id="divInfo">
- <table cellspacing="1" cellpadding="1" border="0" width="100%" height="100%">
- <tr>
- <td>
- <table cellspacing="0" cellpadding="0" width="100%" border="0">
- <tr>
- <td width="100%">
- <span fckLang="DlgImgURL">URL</span>
- </td>
- <td id="tdBrowse" style="DISPLAY: none" nowrap rowspan="2">
- &nbsp;
- <input id="btnBrowse" onclick="BrowseServer();" type="button"
- value="Browse Server" fckLang="DlgImgBtnBrowse" NAME="btnBrowse">
- </td>
- </tr>
- <tr>
- <td valign="top">
- <input id="txtUrl" style="WIDTH: 100%" type="text" onblur="UpdatePreview();">
- </td>
- </tr>
- </table>
- </td>
- </tr>
- <tr>
- <td>
- <span fckLang="DlgImgAlt">Short Description</span><br>
- <input id="txtAlt" style="WIDTH: 100%" type="text"><br>
- </td>
- </tr>
- <tr height="100%">
- <td valign="top">
- <table cellspacing="0" cellpadding="0" width="100%" border="0" height="100%">
- <tr>
- <td valign="top">
- <br>
- <table cellspacing="0" cellpadding="0" border="0">
- <tr>
- <td><span fckLang="DlgImgWidth">Width</span>&nbsp;</td>
- <td>
- <input type="text" size="3" id="txtWidth" onkeyup="OnSizeChanged('Width',this.value);"></td>
- <td rowspan="2">
- <div id="btnLockSizes" class="BtnLocked" onmouseover="this.className = (bLockRatio ? 'BtnLocked' : 'BtnUnlocked' ) + ' BtnOver';" onmouseout="this.className = (bLockRatio ? 'BtnLocked' : 'BtnUnlocked' );"
- title="Lock Sizes" onclick="SwitchLock(this);"></div>
- <div id="btnResetSize" class="BtnReset" onmouseover="this.className='BtnReset BtnOver';" onmouseout="this.className='BtnReset';"
- title="Reset Size" onclick="ResetSizes();"></div>
- </td>
- </tr>
- <tr>
- <td><span fckLang="DlgImgHeight">Height</span>&nbsp;</td>
- <td>
- <input type="text" size="3" id="txtHeight" onkeyup="OnSizeChanged('Height',this.value);"></td>
- </tr>
- </table>
- <br>
- <table cellspacing="0" cellpadding="0" border="0">
- <tr>
- <td><span fckLang="DlgImgBorder">Border</span>&nbsp;</td>
- <td>
- <input type="text" size="2" value="" id="txtBorder" onkeyup="UpdatePreview();"></td>
- </tr>
- <tr>
- <td><span fckLang="DlgImgHSpace">HSpace</span>&nbsp;</td>
- <td>
- <input type="text" size="2" id="txtHSpace" onkeyup="UpdatePreview();"></td>
- </tr>
- <tr>
- <td><span fckLang="DlgImgVSpace">VSpace</span>&nbsp;</td>
- <td>
- <input type="text" size="2" id="txtVSpace" onkeyup="UpdatePreview();"></td>
- </tr>
- <tr>
- <td><span fckLang="DlgImgAlign">Align</span>&nbsp;</td>
- <td><select id="cmbAlign" onchange="UpdatePreview();">
- <option value="" selected></option>
- <option fckLang="DlgImgAlignLeft" value="left">Left</option>
- <option fckLang="DlgImgAlignAbsBottom" value="absBottom">Abs Bottom</option>
- <option fckLang="DlgImgAlignAbsMiddle" value="absMiddle">Abs Middle</option>
- <option fckLang="DlgImgAlignBaseline" value="baseline">Baseline</option>
- <option fckLang="DlgImgAlignBottom" value="bottom">Bottom</option>
- <option fckLang="DlgImgAlignMiddle" value="middle">Middle</option>
- <option fckLang="DlgImgAlignRight" value="right">Right</option>
- <option fckLang="DlgImgAlignTextTop" value="textTop">Text Top</option>
- <option fckLang="DlgImgAlignTop" value="top">Top</option>
- </select>
- </td>
- </tr>
- </table>
- </td>
- <td>&nbsp;&nbsp;&nbsp;</td>
- <td width="100%" valign="top">
- <table cellpadding="0" cellspacing="0" width="100%" style="TABLE-LAYOUT: fixed">
- <tr>
- <td><span fckLang="DlgImgPreview">Preview</span></td>
- </tr>
- <tr>
- <td valign="top">
- <div class="ImagePreviewArea">
- <img id="imgPreview" style="DISPLAY: none">Magnus es, domine, et laudabilis
- valde: magna virtus tua, et sapientiae tuae non est numerus. et laudare te vult
- homo, aliqua portio creaturae tuae, et homo circumferens mortalitem suam,
- circumferens testimonium peccati sui et testimonium, quia superbis resistis: et
- tamen laudare te vult homo, aliqua portio creaturae tuae.tu excitas, ut laudare
- te delectet, quia fecisti nos ad te et inquietum est cor nostrum, donec
- requiescat in te. da mihi, domine, scire et intellegere, utrum sit prius
- invocare te an laudare te, et scire te prius sit an invocare te. sed quis te
- invocat nesciens te? aliud enim pro alio potest invocare nesciens. an potius
- invocaris, ut sciaris? quomodo autem invocabunt, in quem non crediderunt? aut
- quomodo credent sine praedicante? et laudabunt dominum qui requirunt eum.
- quaerentes enim inveniunt eum et invenientes laudabunt eum. quaeram te, domine,
- invocans te, et invocem te credens in te: praedicatus enim es nobis. invocat
- te, domine, fides mea, quam dedisti mihi, quam inspirasti mihi per humanitatem
- filii tui, per ministerium praedicatoris tui.
- </div>
- </td>
- </tr>
- </table>
- </td>
- </tr>
- </table>
- </td>
- </tr>
- </table>
- </div>
- <div id="divAdvanced" style="DISPLAY: none">
- <table cellspacing="0" cellpadding="0" width="100%" align="center" border="0">
- <tr>
- <td valign="top" width="50%">
- <span fckLang="DlgGenId">Id</span><br>
- <input id="txtAttId" style="WIDTH: 100%" type="text">
- </td>
- <td width="1">&nbsp;&nbsp;</td>
- <td valign="top">
- <table cellspacing="0" cellpadding="0" width="100%" align="center" border="0">
- <tr>
- <td width="60%">
- <span fckLang="DlgGenLangDir">Language Direction</span><br>
- <select id="cmbAttLangDir" style="WIDTH: 100%">
- <option value="" fckLang="DlgGenNotSet" selected>&lt;not set&gt;</option>
- <option value="ltr" fckLang="DlgGenLangDirLtr">Left to Right (LTR)</option>
- <option value="rtl" fckLang="DlgGenLangDirRtl">Right to Left (RTL)</option>
- </select>
- </td>
- <td width="1%">&nbsp;&nbsp;</td>
- <td nowrap>
- <span fckLang="DlgGenLangCode">Language Code</span><br>
- <input id="txtAttLangCode" style="WIDTH: 100%" type="text">&nbsp;
- </td>
- </tr>
- </table>
- </td>
- </tr>
- <tr>
- <td colspan="3">&nbsp;</td>
- </tr>
- <tr>
- <td colspan="3">
- <span fckLang="DlgGenLongDescr">Long Description URL</span><br>
- <input id="txtLongDesc" style="WIDTH: 100%" type="text">
- </td>
- </tr>
- <tr>
- <td colspan="3">&nbsp;</td>
- </tr>
- <tr>
- <td valign="top">
- <span fckLang="DlgGenClass">Stylesheet Classes</span><br>
- <input id="txtAttClasses" style="WIDTH: 100%" type="text">
- </td>
- <td></td>
- <td valign="top">&nbsp;<span fckLang="DlgGenTitle">Advisory Title</span><br>
- <input id="txtAttTitle" style="WIDTH: 100%" type="text">
- </td>
- </tr>
- </table>
- <span fckLang="DlgGenStyle">Style</span><br>
- <input id="txtAttStyle" style="WIDTH: 100%" type="text">
- </div>
- </body>
-</html>
diff --git a/lib/editor/dialog/fck_link.html b/lib/editor/dialog/fck_link.html
deleted file mode 100644
index 71f8941..0000000
--- a/lib/editor/dialog/fck_link.html
+++ /dev/null
@@ -1,290 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-<!--
- * FCKeditor - The text editor for internet
- * Copyright (C) 2003-2004 Frederico Caldeira Knabben
- *
- * Licensed under the terms of the GNU Lesser General Public License:
- * http://www.opensource.org/licenses/lgpl-license.php
- *
- * For further information visit:
- * http://www.fckeditor.net/
- *
- * File Name: fck_link.html
- * Link dialog window.
- *
- * Version: 2.0 RC2
- * Modified: 2004-11-30 10:33:35
- *
- * File Authors:
- * Frederico Caldeira Knabben (fredck@fckeditor.net)
--->
-<html>
- <head>
- <title>Link Properties</title>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <meta name="robots" content="noindex, nofollow" />
- <script src="js/fck_dialog_common.js" type="text/javascript"></script>
- <script src="js/fck_link.js" type="text/javascript"></script>
- </head>
- <body scroll="no" style="OVERFLOW: hidden">
- <div id="divInfo" style="DISPLAY: none">
- <span fckLang="DlgLnkType">Link Type</span><br />
- <select id="cmbLinkType" onchange="SetLinkType(this.value);">
- <option value="url" fckLang="DlgLnkTypeURL" selected="selected">URL</option>
- <option value="anchor" fckLang="DlgLnkTypeAnchor">Anchor in this page</option>
- <option value="email" fckLang="DlgLnkTypeEMail">E-Mail</option>
- </select>
- <br />
- <br />
- <div id="divLinkTypeUrl">
- <table cellspacing="0" cellpadding="0" width="100%" border="0">
- <tr>
- <td nowrap="nowrap">
- <span fckLang="DlgLnkProto">Protocol</span><br />
- <select id="cmbLinkProtocol">
- <option value="http://" selected="selected">http://</option>
- <option value="https://">https://</option>
- <option value="ftp://">ftp://</option>
- <option value="news://">news://</option>
- <option value="" fckLang="DlgLnkProtoOther">&lt;other&gt;</option>
- </select>
- </td>
- <td nowrap="nowrap">&nbsp;</td>
- <td nowrap="nowrap" width="100%">
- <span fckLang="DlgLnkURL">URL</span><br />
- <input id="txtUrl" style="WIDTH: 100%" type="text" onkeyup="OnUrlChange();" onchange="OnUrlChange();" />
- </td>
- </tr>
- </table>
- <br />
- <div id="divBrowseServer">
- <input type="button" value="Browse Server" fckLang="DlgLnkBtnBrowse" onclick="BrowseServer();" />
- </div>
- </div>
- <div id="divLinkTypeAnchor" style="DISPLAY: none" align="center">
- <div id="divSelAnchor" style="DISPLAY: none">
- <table cellspacing="0" cellpadding="0" border="0" width="70%">
- <tr>
- <td colspan="3">
- <span fckLang="DlgLnkAnchorSel">Select an Anchor</span>
- </td>
- </tr>
- <tr>
- <td width="50%">
- <span fckLang="DlgLnkAnchorByName">By Anchor Name</span><br />
- <select id="cmbAnchorName" onchange="GetE('cmbAnchorId').value='';" style="WIDTH: 100%">
- <option value="" selected="selected"></option>
- </select>
- </td>
- <td>&nbsp;&nbsp;&nbsp;</td>
- <td width="50%">
- <span fckLang="DlgLnkAnchorById">By Element Id</span><br />
- <select id="cmbAnchorId" onchange="GetE('cmbAnchorName').value='';" style="WIDTH: 100%">
- <option value="" selected="selected"></option>
- </select>
- </td>
- </tr>
- </table>
- </div>
- <div id="divNoAnchor" style="DISPLAY: none">
- <span fckLang="DlgLnkNoAnchors">&lt;No anchors available in the document&gt;</span>
- </div>
- </div>
- <div id="divLinkTypeEMail" style="DISPLAY: none">
- <span fckLang="DlgLnkEMail">E-Mail Address</span><br />
- <input id="txtEMailAddress" style="WIDTH: 100%" type="text" /><br />
- <span fckLang="DlgLnkEMailSubject">Message Subject</span><br />
- <input id="txtEMailSubject" style="WIDTH: 100%" type="text" /><br />
- <span fckLang="DlgLnkEMailBody">Message Body</span><br />
- <textarea id="txtEMailBody" style="WIDTH: 100%" rows="3" cols="20"></textarea>
- </div>
- </div>
- <div id="divUpload" style="DISPLAY: none">
- <form method="post" target="UploadWindow" enctype="multipart/form-data" action="">
- <span fckLang="DlgLnkUpload">Upload</span><br />
- <input style="WIDTH: 100%" type="file" size="40" /><br />
- <br />
- <input id="btnUpload" onclick="uploadFile();" type="button" value="Send it to the Server"
- fckLang="DlgLnkBtnUpload" />
- </form>
- </div>
- <div id="divTarget" style="DISPLAY: none">
- <table cellspacing="0" cellpadding="0" width="100%" border="0">
- <tr>
- <td nowrap="nowrap">
- <span fckLang="DlgLnkTarget">Target</span><br />
- <select id="cmbTarget" onchange="SetTarget(this.value);">
- <option value="" fckLang="DlgGenNotSet" selected="selected">&lt;not set&gt;</option>
- <option value="frame" fckLang="DlgLnkTargetFrame">&lt;frame&gt;</option>
- <option value="popup" fckLang="DlgLnkTargetPopup">&lt;popup window&gt;</option>
- <option value="_blank" fckLang="DlgLnkTargetBlank">New Window (_blank)</option>
- <option value="_top" fckLang="DlgLnkTargetTop">Topmost Window (_top)</option>
- <option value="_self" fckLang="DlgLnkTargetSelf">Same Window (_self)</option>
- <option value="_parent" fckLang="DlgLnkTargetParent">Parent Window (_parent)</option>
- </select>
- </td>
- <td>&nbsp;</td>
- <td id="tdTargetFrame" nowrap="nowrap" width="100%">
- <span fckLang="DlgLnkTargetFrame">Target Frame Name</span><br />
- <input id="txtTargetFrame" style="WIDTH: 100%" type="text" onkeyup="OnTargetNameChange();"
- onchange="OnTargetNameChange();" />
- </td>
- <td id="tdPopupName" style="DISPLAY: none" nowrap="nowrap" width="100%">
- <span fckLang="DlgLnkPopWinName">Popup Window Name</span><br />
- <input id="txtPopupName" style="WIDTH: 100%" type="text" />
- </td>
- </tr>
- </table>
- <br />
- <table id="tablePopupFeatures" style="DISPLAY: none" cellspacing="0" cellpadding="0" align="center"
- border="0">
- <tr>
- <td>
- <span fckLang="DlgLnkPopWinFeat">Popup Window Features</span><br />
- <table cellspacing="0" cellpadding="0" border="0">
- <tr>
- <td valign="top" nowrap="nowrap" width="50%">
- <input id="chkPopupResizable" name="chkFeature" value="resizable" type="checkbox" /><label for="chkPopupResizable" fckLang="DlgLnkPopResize">Resizable</label><br />
- <input id="chkPopupLocationBar" name="chkFeature" value="location" type="checkbox" /><label for="chkPopupLocationBar" fckLang="DlgLnkPopLocation">Location
- Bar</label><br />
- <input id="chkPopupManuBar" name="chkFeature" value="menubar" type="checkbox" /><label for="chkPopupManuBar" fckLang="DlgLnkPopMenu">Menu
- Bar</label><br />
- <input id="chkPopupScrollBars" name="chkFeature" value="scrollbars" type="checkbox" /><label for="chkPopupScrollBars" fckLang="DlgLnkPopScroll">Scroll
- Bars</label>
- </td>
- <td></td>
- <td valign="top" nowrap="nowrap" width="50%">
- <input id="chkPopupStatusBar" name="chkFeature" value="status" type="checkbox" /><label for="chkPopupStatusBar" fckLang="DlgLnkPopStatus">Status
- Bar</label><br />
- <input id="chkPopupToolbar" name="chkFeature" value="toolbar" type="checkbox" /><label for="chkPopupToolbar" fckLang="DlgLnkPopToolbar">Toolbar</label><br />
- <input id="chkPopupFullScreen" name="chkFeature" value="fullscreen" type="checkbox" /><label for="chkPopupFullScreen" fckLang="DlgLnkPopFullScrn">Full
- Screen (IE)</label><br />
- <input id="chkPopupDependent" name="chkFeature" value="dependent" type="checkbox" /><label for="chkPopupDependent" fckLang="DlgLnkPopDependent">Dependent
- (Netscape)</label>
- </td>
- </tr>
- <tr>
- <td valign="top" nowrap="nowrap" width="50%">&nbsp;</td>
- <td></td>
- <td valign="top" nowrap="nowrap" width="50%"></td>
- </tr>
- <tr>
- <td valign="top">
- <table cellspacing="0" cellpadding="0" border="0">
- <tr>
- <td nowrap="nowrap"><span fckLang="DlgLnkPopWidth">Width</span></td>
- <td>&nbsp;<input id="txtPopupWidth" type="text" maxlength="4" size="4" /></td>
- </tr>
- <tr>
- <td nowrap="nowrap"><span fckLang="DlgLnkPopHeight">Height</span></td>
- <td>&nbsp;<input id="txtPopupHeight" type="text" maxlength="4" size="4" /></td>
- </tr>
- </table>
- </td>
- <td>&nbsp;&nbsp;</td>
- <td valign="top">
- <table cellspacing="0" cellpadding="0" border="0">
- <tr>
- <td nowrap="nowrap"><span fckLang="DlgLnkPopLeft">Left Position</span></td>
- <td>&nbsp;<input id="txtPopupLeft" type="text" maxlength="4" size="4" /></td>
- </tr>
- <tr>
- <td nowrap="nowrap"><span fckLang="DlgLnkPopTop">Top Position</span></td>
- <td>&nbsp;<input id="txtPopupTop" type="text" maxlength="4" size="4" /></td>
- </tr>
- </table>
- </td>
- </tr>
- </table>
- </td>
- </tr>
- </table>
- </div>
- <div id="divAttribs" style="DISPLAY: none">
- <table cellspacing="0" cellpadding="0" width="100%" align="center" border="0">
- <tr>
- <td valign="top" width="50%">
- <span fckLang="DlgGenId">Id</span><br />
- <input id="txtAttId" style="WIDTH: 100%" type="text" />
- </td>
- <td width="1"></td>
- <td valign="top">
- <table cellspacing="0" cellpadding="0" width="100%" align="center" border="0">
- <tr>
- <td width="60%">
- <span fckLang="DlgGenLangDir">Language Direction</span><br />
- <select id="cmbAttLangDir" style="WIDTH: 100%">
- <option value="" fckLang="DlgGenNotSet" selected>&lt;not set&gt;</option>
- <option value="ltr" fckLang="DlgGenLangDirLtr">Left to Right (LTR)</option>
- <option value="rtl" fckLang="DlgGenLangDirRtl">Right to Left (RTL)</option>
- </select>
- </td>
- <td width="1%">&nbsp;&nbsp;&nbsp;</td>
- <td nowrap="nowrap"><span fckLang="DlgGenAccessKey">Access Key</span><br />
- <input id="txtAttAccessKey" style="WIDTH: 100%" type="text" maxlength="1" size="1" />
- </td>
- </tr>
- </table>
- </td>
- </tr>
- <tr>
- <td valign="top" width="50%">
- <span fckLang="DlgGenName">Name</span><br />
- <input id="txtAttName" style="WIDTH: 100%" type="text" />
- </td>
- <td width="1"></td>
- <td valign="top">
- <table cellspacing="0" cellpadding="0" width="100%" align="center" border="0">
- <tr>
- <td width="60%">
- <span fckLang="DlgGenLangCode">Language Code</span><br />
- <input id="txtAttLangCode" style="WIDTH: 100%" type="text" />
- </td>
- <td width="1%">&nbsp;&nbsp;&nbsp;</td>
- <td nowrap="nowrap">
- <span fckLang="DlgGenTabIndex">Tab Index</span><br />
- <input id="txtAttTabIndex" style="WIDTH: 100%" type="text" maxlength="5" size="5" />
- </td>
- </tr>
- </table>
- </td>
- </tr>
- <tr>
- <td valign="top" width="50%">&nbsp;</td>
- <td width="1"></td>
- <td valign="top"></td>
- </tr>
- <tr>
- <td valign="top" width="50%">
- <span fckLang="DlgGenTitle">Advisory Title</span><br />
- <input id="txtAttTitle" style="WIDTH: 100%" type="text" />
- </td>
- <td width="1">&nbsp;&nbsp;&nbsp;</td>
- <td valign="top">
- <span fckLang="DlgGenContType">Advisory Content Type</span><br />
- <input id="txtAttContentType" style="WIDTH: 100%" type="text" />
- </td>
- </tr>
- <tr>
- <td valign="top">
- <span fckLang="DlgGenClass">Stylesheet Classes</span><br />
- <input id="txtAttClasses" style="WIDTH: 100%" type="text" />
- </td>
- <td></td>
- <td valign="top">
- <span fckLang="DlgGenLinkCharset">Linked Resource Charset</span><br />
- <input id="txtAttCharSet" style="WIDTH: 100%" type="text" />
- </td>
- </tr>
- </table>
- <table cellspacing="0" cellpadding="0" width="100%" align="center" border="0">
- <tr>
- <td>
- <span fckLang="DlgGenStyle">Style</span><br />
- <input id="txtAttStyle" style="WIDTH: 100%" type="text" />
- </td>
- </tr>
- </table>
- </div>
- </body>
-</html>
diff --git a/lib/editor/dialog/fck_paste.html b/lib/editor/dialog/fck_paste.html
deleted file mode 100644
index 028bbf0..0000000
--- a/lib/editor/dialog/fck_paste.html
+++ /dev/null
@@ -1,84 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-<!--
- * FCKeditor - The text editor for internet
- * Copyright (C) 2003-2004 Frederico Caldeira Knabben
- *
- * Licensed under the terms of the GNU Lesser General Public License:
- * http://www.opensource.org/licenses/lgpl-license.php
- *
- * For further information visit:
- * http://www.fckeditor.net/
- *
- * File Name: fck_paste.html
- * This dialog is shown when, for some reason (usually security settings),
- * the user is not able to paste data from the clipboard to the editor using
- * the toolbar buttons or the context menu.
- *
- * Version: 2.0 RC2
- * Modified: 2004-11-30 10:26:37
- *
- * File Authors:
- * Frederico Caldeira Knabben (fredck@fckeditor.net)
--->
-<html>
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
- <meta name="robots" content="noindex, nofollow">
- <script language="javascript">
-var oEditor = window.parent.InnerDialogLoaded() ;
-
-window.onload = function ()
-{
- // First of all, translate the dialog box texts
- oEditor.FCKLanguageManager.TranslatePage(document) ;
-
- window.parent.SetOkButton( true ) ;
-
- if ( window.parent.dialogArguments.CustomValue == 'Word' )
- {
- var oFrame = document.getElementById('frmData')
- oFrame.style.display = '' ;
- oFrame.contentDocument.designMode = 'on' ;
- }
- else
- document.getElementById('txtData').style.display = '' ;
-}
-
-function Ok()
-{
- if ( window.parent.dialogArguments.CustomValue == 'Word' )
- {
- var sHtml = document.getElementById('frmData').contentDocument.body.innerHTML ;
- oEditor.FCK.CleanAndPaste( sHtml ) ;
- }
- else
- {
- var sText = oEditor.FCKTools.HTMLEncode( document.getElementById('txtData').value ) ;
- sText = sText.replace( /\n/g, '<BR>' ) ;
- oEditor.FCK.InsertHtml( sText ) ;
- }
-
- return true ;
-}
- </script>
- </head>
- <body scroll="no" style="OVERFLOW: hidden">
- <table height="98%" cellspacing="0" cellpadding="0" width="100%" border="0">
- <tr>
- <td>
- <span fckLang="DlgPasteMsg">The editor was not able to automaticaly execute pasting
- because of the <STRONG>security settings</STRONG> of your browser.
- <BR>
- Please paste inside the following box using the keyboard (<STRONG>Ctrl+V</STRONG>)
- and hit <STRONG>OK</STRONG>.</span>
- </td>
- </tr>
- <tr>
- <td valign="top" height="100%" style="BORDER-RIGHT: #000000 1px solid; BORDER-TOP: #000000 1px solid; BORDER-LEFT: #000000 1px solid; BORDER-BOTTOM: #000000 1px solid">
- <textarea id="txtData" style="BORDER-RIGHT: #000000 1px; BORDER-TOP: #000000 1px; DISPLAY: none; BORDER-LEFT: #000000 1px; WIDTH: 99%; BORDER-BOTTOM: #000000 1px; HEIGHT: 98%"></textarea>
- <iframe id="frmData" height="98%" width="99%" frameborder="no" style="BORDER-RIGHT: #000000 1px; BORDER-TOP: #000000 1px; DISPLAY: none; BORDER-LEFT: #000000 1px; BORDER-BOTTOM: #000000 1px; BACKGROUND-COLOR: #ffffff"></iframe>
- </td>
- </tr>
- </table>
- </body>
-</html>
diff --git a/lib/editor/dialog/fck_replace.html b/lib/editor/dialog/fck_replace.html
deleted file mode 100644
index 1bca7fa..0000000
--- a/lib/editor/dialog/fck_replace.html
+++ /dev/null
@@ -1,130 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-<!--
- * FCKeditor - The text editor for internet
- * Copyright (C) 2003-2004 Frederico Caldeira Knabben
- *
- * Licensed under the terms of the GNU Lesser General Public License:
- * http://www.opensource.org/licenses/lgpl-license.php
- *
- * For further information visit:
- * http://www.fckeditor.net/
- *
- * File Name: fck_replace.html
- * "Replace" dialog box window.
- *
- * Version: 2.0 RC2
- * Modified: 2004-11-30 10:26:37
- *
- * File Authors:
- * Frederico Caldeira Knabben (fredck@fckeditor.net)
- * Abdul-Aziz A. Al-Oraij (aziz.oraij.com)
--->
-<html>
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
- <meta content="noindex, nofollow" name="robots">
- <script type="text/javascript">
-
-var oEditor = window.parent.InnerDialogLoaded() ;
-
-function OnLoad()
-{
- // First of all, translate the dialog box texts
- oEditor.FCKLanguageManager.TranslatePage( document ) ;
-
- window.parent.SetAutoSize( true ) ;
-}
-
-function btnStat(frm)
-{
- document.getElementById('btnReplace').disabled =
- document.getElementById('btnReplaceAll').disabled =
- ( document.getElementById('txtFind').value.length == 0 ) ;
-}
-
-function ReplaceTextNodes( parentNode, regex, replaceValue, replaceAll, hasFound )
-{
- for ( var i = 0 ; i < parentNode.childNodes.length ; i++ )
- {
- var oNode = parentNode.childNodes[i] ;
- if ( oNode.nodeType == 3 )
- {
- var sReplaced = oNode.nodeValue.replace( regex, replaceValue ) ;
- if ( oNode.nodeValue != sReplaced )
- {
- oNode.nodeValue = sReplaced ;
- if ( ! replaceAll )
- return true ;
- hasFound = true ;
- }
- }
-
- hasFound = ReplaceTextNodes( oNode, regex, replaceValue, replaceAll, hasFound ) ;
- if ( ! replaceAll && hasFound )
- return true ;
- }
-
- return hasFound ;
-}
-
-function GetRegexExpr()
-{
- if ( document.getElementById('chkWord').checked )
- var sExpr = '\\b' + document.getElementById('txtFind').value + '\\b' ;
- else
- var sExpr = document.getElementById('txtFind').value ;
-
- return sExpr ;
-}
-
-function GetCase()
-{
- return ( document.getElementById('chkCase').checked ? '' : 'i' ) ;
-}
-
-function Replace()
-{
- var oRegex = new RegExp( GetRegexExpr(), GetCase() ) ;
- ReplaceTextNodes( oEditor.FCK.EditorDocument.body, oRegex, document.getElementById('txtReplace').value, false, false ) ;
-}
-
-function ReplaceAll()
-{
- var oRegex = new RegExp( GetRegexExpr(), GetCase() + 'g' ) ;
- ReplaceTextNodes( oEditor.FCK.EditorDocument.body, oRegex, document.getElementById('txtReplace').value, true, false ) ;
- window.parent.Cancel() ;
-}
- </script>
- </head>
- <body onload="OnLoad()" scroll="no" style="OVERFLOW: hidden">
- <table cellSpacing="3" cellPadding="2" width="100%" border="0">
- <tr>
- <td noWrap><label for="txtFind" fckLang="DlgReplaceFindLbl">Find what:</label>
- </td>
- <td width="100%"><input id="txtFind" onkeyup="btnStat(this.form)" style="WIDTH: 100%" tabIndex="1" type="text">
- </td>
- <td><input id="btnReplace" style="WIDTH: 100%" disabled onclick="Replace();" type="button"
- value="Replace" fckLang="DlgReplaceReplaceBtn">
- </td>
- </tr>
- <tr>
- <td vAlign="top" noWrap><label for="txtReplace" fckLang="DlgReplaceReplaceLbl">Replace
- with:</label>
- </td>
- <td vAlign="top"><input id="txtReplace" style="WIDTH: 100%" tabIndex="2" type="text">
- </td>
- <td><input id="btnReplaceAll" disabled onclick="ReplaceAll()" type="button" value="Replace All"
- fckLang="DlgReplaceReplAllBtn">
- </td>
- </tr>
- <tr>
- <td vAlign="bottom" colSpan="3">&nbsp;<input id="chkCase" tabIndex="3" type="checkbox"><label for="chkCase" fckLang="DlgReplaceCaseChk">Match
- case</label>
- <br>
- &nbsp;<input id="chkWord" tabIndex="4" type="checkbox"><label for="chkWord" fckLang="DlgReplaceWordChk">Match
- whole word</label>
- </td>
- </tr>
- </table>
- </body>
-</html>
diff --git a/lib/editor/dialog/fck_smiley.html b/lib/editor/dialog/fck_smiley.html
deleted file mode 100644
index 45f8ecc..0000000
--- a/lib/editor/dialog/fck_smiley.html
+++ /dev/null
@@ -1,91 +0,0 @@
-<!--
- * FCKeditor - The text editor for internet
- * Copyright (C) 2003-2004 Frederico Caldeira Knabben
- *
- * Licensed under the terms of the GNU Lesser General Public License:
- * http://www.opensource.org/licenses/lgpl-license.php
- *
- * For further information visit:
- * http://www.fckeditor.net/
- *
- * File Name: fck_smiley.html
- * Smileys (emoticons) dialog window.
- *
- * Version: 2.0 RC2
- * Modified: 2004-12-20 14:09:08
- *
- * File Authors:
- * Frederico Caldeira Knabben (fredck@fckeditor.net)
--->
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
-<html>
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <meta name="robots" content="noindex, nofollow" />
- <style type="text/css">
- .HandIE { cursor: hand ; }
- .HandMozilla { cursor: pointer ; }
- </style>
- <script type="text/javascript">
-
-var oEditor = window.parent.InnerDialogLoaded() ;
-
-function setDefaults()
-{
- // First of all, translate the dialog box texts
- oEditor.FCKLanguageManager.TranslatePage(document) ;
-}
-
-function InsertSmiley( url )
-{
- var oImg = oEditor.FCK.CreateElement( 'IMG' ) ;
- oImg.src = url ;
-
- window.parent.Cancel() ;
-}
-
-function over(td)
-{
- td.className = 'LightBackground HandIE HandMozilla' ;
-}
-
-function out(td)
-{
- td.className = 'DarkBackground HandIE HandMozilla' ;
-}
- </script>
- </head>
- <body onload="setDefaults()" scroll="no">
- <table cellpadding="2" cellspacing="2" align="center" border="0" width="100%" height="100%">
- <script type="text/javascript">
-<!--
-var FCKConfig = oEditor.FCKConfig ;
-
-var sBasePath = FCKConfig.SmileyPath ;
-var aImages = FCKConfig.SmileyImages ;
-var cols = FCKConfig.SmileyColumns ;
-
-var i = 0 ;
-while (i < aImages.length)
-{
- document.write("<TR>") ;
- for(var j = 0 ; j < cols ; j++)
- {
- if (aImages[i])
- {
- var sUrl = sBasePath + aImages[i] ;
- document.write("<TD width='1%' align='center' class='DarkBackground HandIE HandMozilla' onclick='InsertSmiley(\"" + sUrl.replace(/"/g, '\\"' ) + "\")' onmouseover='over(this)' onmouseout='out(this)'>") ;
- document.write("<img src='" + sUrl + "' border='0'>") ;
- }
- else
- document.write("<TD width='1%' class='DarkBackground'>&nbsp;") ;
- document.write("</TD>") ;
- i++ ;
- }
- document.write("</TR>") ;
-}
-//-->
- </script>
- </table>
- </body>
-</html>
diff --git a/lib/editor/dialog/fck_specialchar.html b/lib/editor/dialog/fck_specialchar.html
deleted file mode 100644
index 430a6a5..0000000
--- a/lib/editor/dialog/fck_specialchar.html
+++ /dev/null
@@ -1,106 +0,0 @@
-<!--
- * FCKeditor - The text editor for internet
- * Copyright (C) 2003-2004 Frederico Caldeira Knabben
- *
- * Licensed under the terms of the GNU Lesser General Public License:
- * http://www.opensource.org/licenses/lgpl-license.php
- *
- * For further information visit:
- * http://www.fckeditor.net/
- *
- * File Name: fck_specialchar.html
- * Special Chars Selector dialog window.
- *
- * Version: 2.0 RC2
- * Modified: 2004-11-16 01:23:03
- *
- * File Authors:
- * Frederico Caldeira Knabben (fredck@fckeditor.net)
--->
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
-<html>
- <head>
- <meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
- <style type="text/css">
- .HandIE { cursor: hand ; }
- .HandMozilla { cursor: pointer ; }
- .Sample { font-size: 24px; }
- </style>
- <script type="text/javascript">
-
-var oEditor = window.parent.InnerDialogLoaded() ;
-
-var oSample ;
-
-function insertChar(charValue)
-{
- oEditor.FCK.InsertHtml( charValue || "" ) ;
- window.parent.Cancel() ;
-}
-
-function over(td)
-{
- oSample.innerHTML = td.innerHTML ;
- td.className = 'LightBackground HandIE HandMozilla' ;
-}
-
-function out(td)
-{
- oSample.innerHTML = "&nbsp;" ;
- td.className = 'DarkBackground HandIE HandMozilla' ;
-}
-
-function setDefaults()
-{
- // Gets the sample placeholder.
- oSample = document.getElementById("SampleTD") ;
-
- // First of all, translates the dialog box texts.
- oEditor.FCKLanguageManager.TranslatePage(document) ;
-}
-
- </script>
- </HEAD>
- <BODY onload="setDefaults()" scroll="no">
- <table cellpadding="0" cellspacing="0" width="100%" height="100%">
- <tr>
- <td width="100%">
- <table cellpadding="1" cellspacing="1" align="center" border="0" width="100%" height="100%">
- <script type="text/javascript">
-var aChars = ["!","&quot;","#","$","%","&","\\'","(",")","*","+","-",".","/","0","1","2","3","4","5","6","7","8","9",":",";","&lt;","=","&gt;","?","@","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","[","]","^","_","`","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","{","|","}","~","&euro;","&lsquo;","&rsquo;","&rsquo;","&ldquo;","&rdquo;","&ndash;","&mdash;","&iexcl;","&cent;","&pound;","&curren;","&yen;","&brvbar;","&sect;","&uml;","&copy;","&ordf;","&laquo;","&not;","&reg;","&macr;","&deg;","&plusmn;","&sup2;","&sup3;","&acute;","&micro;","&para;","&middot;","&cedil;","&sup1;","&ordm;","&raquo;","&frac14;","&frac12;","&frac34;","&iquest;","&Agrave;","&Aacute;","&Acirc;","&Atilde;","&Auml;","&Aring;","&AElig;","&Ccedil;","&Egrave;","&Eacute;","&Ecirc;","&Euml;","&Igrave;","&Iacute;","&Icirc;","&Iuml;","&ETH;","&Ntilde;","&Ograve;","&Oacute;","&Ocirc;","&Otilde;","&Ouml;","&times;","&Oslash;","&Ugrave;","&Uacute;","&Ucirc;","&Uuml;","&Yacute;","&THORN;","&szlig;","&agrave;","&aacute;","&acirc;","&atilde;","&auml;","&aring;","&aelig;","&ccedil;","&egrave;","&eacute;","&ecirc;","&euml;","&igrave;","&iacute;","&icirc;","&iuml;","&eth;","&ntilde;","&ograve;","&oacute;","&ocirc;","&otilde;","&ouml;","&divide;","&oslash;","&ugrave;","&uacute;","&ucirc;","&uuml;","&uuml;","&yacute;","&thorn;","&yuml;"] ;
-
-var cols = 20 ;
-
-var i = 0 ;
-while (i < aChars.length)
-{
- document.write("<TR>") ;
- for(var j = 0 ; j < cols ; j++)
- {
- if (aChars[i])
- {
- document.write('<TD width="1%" class="DarkBackground HandIE HandMozilla" align="center" onclick="insertChar(\'' + aChars[i].replace(/&/g, "&amp;") + '\')" onmouseover="over(this)" onmouseout="out(this)">') ;
- document.write(aChars[i]) ;
- }
- else
- document.write("<TD class='DarkBackground'>&nbsp;") ;
- document.write("</TD>") ;
- i++ ;
- }
- document.write("</TR>") ;
-}
- </script>
- </table>
- </td>
- <td nowrap>&nbsp;&nbsp;&nbsp;&nbsp;</td>
- <td valign="top">
- <table width="40" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td id="SampleTD" width="40" height="40" align="center" class="DarkBackground Sample">&nbsp;</td>
- </tr>
- </table>
- </td>
- </tr>
- </table>
- </BODY>
-</HTML> \ No newline at end of file
diff --git a/lib/editor/dialog/fck_table.html b/lib/editor/dialog/fck_table.html
deleted file mode 100644
index cca9bb4..0000000
--- a/lib/editor/dialog/fck_table.html
+++ /dev/null
@@ -1,253 +0,0 @@
-<!--
- * FCKeditor - The text editor for internet
- * Copyright (C) 2003-2004 Frederico Caldeira Knabben
- *
- * Licensed under the terms of the GNU Lesser General Public License:
- * http://www.opensource.org/licenses/lgpl-license.php
- *
- * For further information visit:
- * http://www.fckeditor.net/
- *
- * File Name: fck_table.html
- * Table dialog window.
- *
- * Version: 2.0 RC2
- * Modified: 2004-12-19 22:38:24
- *
- * File Authors:
- * Frederico Caldeira Knabben (fredck@fckeditor.net)
--->
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
-<html>
- <head>
- <title>Table Properties</title>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <meta name="robots" content="noindex, nofollow" />
- <script type="text/javascript">
-
-var oEditor = window.parent.InnerDialogLoaded() ;
-
-// Gets the document DOM
-var oDOM = oEditor.FCK.EditorDocument ;
-
-// Gets the table if there is one selected.
-var table ;
-var e = oEditor.FCKSelection.GetSelectedElement() ;
-
-if ( ! e && document.location.search.substr(1) == 'Parent' )
- e = oEditor.FCKSelection.MoveToAncestorNode( 'TABLE' ) ;
-
-if ( e && e.tagName == "TABLE" )
- table = e ;
-
-// Fired when the window loading process is finished. It sets the fields with the
-// actual values if a table is selected in the editor.
-function OnLoad()
-{
- // First of all, translate the dialog box texts
- oEditor.FCKLanguageManager.TranslatePage(document) ;
-
- if (table)
- {
- document.getElementById('txtRows').value = table.rows.length ;
- document.getElementById('txtColumns').value = table.rows[0].cells.length ;
-
- // Gets the value from the Width or the Style attribute
- var iWidth = (table.style.width ? table.style.width : table.width ) ;
- var iHeight = (table.style.height ? table.style.height : table.height ) ;
-
- if (iWidth.indexOf('%') >= 0) // Percentual = %
- {
- iWidth = parseInt( iWidth.substr(0,iWidth.length - 1) ) ;
- document.getElementById('selWidthType').value = "percent" ;
- }
- else if (iWidth.indexOf('px') >= 0) // Style Pixel = px
- { //
- iWidth = iWidth.substr(0,iWidth.length - 2);
- document.getElementById('selWidthType').value = "pixels" ;
- }
-
- if (iHeight && iHeight.indexOf('px') >= 0) // Style Pixel = px
- iHeight = iHeight.substr(0,iHeight.length - 2);
-
- document.getElementById('txtWidth').value = iWidth ;
- document.getElementById('txtHeight').value = iHeight ;
- document.getElementById('txtBorder').value = table.border ;
- document.getElementById('selAlignment').value = table.align ;
- document.getElementById('txtCellPadding').value = table.cellPadding ;
- document.getElementById('txtCellSpacing').value = table.cellSpacing ;
-// document.getElementById('cmbFontStyle').value = table.className ;
-
- if (table.caption) document.getElementById('txtCaption').value = table.caption.innerText ;
-
- document.getElementById('txtRows').disabled = true ;
- document.getElementById('txtColumns').disabled = true ;
- }
-
- window.parent.SetOkButton( true ) ;
- window.parent.SetAutoSize( true ) ;
-}
-
-// Fired when the user press the OK button
-function Ok()
-{
- var bExists = ( table != null ) ;
-
- if ( ! bExists )
- {
- table = document.createElement( "TABLE" ) ;
- }
-
- // Removes the Width and Height styles
- if ( bExists && table.style.width ) table.style.width = null ; //.removeAttribute("width") ;
- if ( bExists && table.style.height ) table.style.height = null ; //.removeAttribute("height") ;
-
- table.width = document.getElementById('txtWidth').value + ( document.getElementById('selWidthType').value == "percent" ? "%" : "") ;
- table.height = document.getElementById('txtHeight').value ;
- table.border = document.getElementById('txtBorder').value ;
- table.align = document.getElementById('selAlignment').value ;
- table.cellPadding = document.getElementById('txtCellPadding').value ;
- table.cellSpacing = document.getElementById('txtCellSpacing').value ;
-// table.className = cmbFontStyle.value ;
-
- if ( document.getElementById('txtCaption').value != '')
- {
- if (! table.caption) table.createCaption() ;
- table.caption.innerText = document.getElementById('txtCaption').value ;
- }
-// else if ( bExists && table.caption )
-// table.deleteCaption() ; // TODO: It causes an IE internal error.
-
- if (! bExists)
- {
- var iRows = document.getElementById('txtRows').value ;
- var iCols = document.getElementById('txtColumns').value ;
-
- for ( var r = 0 ; r < iRows ; r++ )
- {
- var oRow = table.insertRow(-1) ;
- for ( var c = 0 ; c < iCols ; c++ )
- {
- var oCell = oRow.insertCell(-1) ;
- oCell.innerHTML = "&nbsp;" ;
- }
- }
-
- oEditor.FCK.InsertElement( table ) ;
- }
-
- return true ;
-}
-
-function IsDigit( e )
-{
- e = e || event ;
- var iCode = ( e.keyCode || e.charCode ) ;
- return
- (
- ( iCode >= 48 && iCode <= 57 ) // Numbers
- || (iCode >= 37 && iCode <= 40) // Arrows
- || iCode == 8 // Backspace
- || iCode == 46 // Delete
- ) ;
-}
-
- </script>
- </head>
- <body bottommargin="5" leftmargin="5" topmargin="5" rightmargin="5" onload="OnLoad()" scroll="no" style="OVERFLOW: hidden">
- <table id="otable" cellSpacing="0" cellPadding="0" width="100%" border="0" height="100%">
- <tr>
- <td>
- <table cellSpacing="1" cellPadding="1" width="100%" border="0">
- <tr>
- <td valign="top">
- <table cellSpacing="0" cellPadding="0" border="0">
- <tr>
- <td><span fckLang="DlgTableRows">Rows</span>:</td>
- <td>&nbsp;<input id="txtRows" type="text" maxLength="3" size="2" value="3" name="txtRows" onkeypress="return IsDigit(event);"></td>
- </tr>
- <tr>
- <td><span fckLang="DlgTableColumns">Columns</span>:</td>
- <td>&nbsp;<input id="txtColumns" type="text" maxLength="2" size="2" value="2" name="txtColumns" onkeypress="return IsDigit(event);"></td>
- </tr>
- <tr>
- <td>&nbsp;</td>
- <td>&nbsp;</td>
- </tr>
- <tr>
- <td><span fckLang="DlgTableBorder">Border size</span>:</td>
- <td>&nbsp;<INPUT id="txtBorder" type="text" maxLength="2" size="2" value="1" name="txtBorder" onkeypress="return IsDigit(event);"></td>
- </tr>
- <tr>
- <td><span fckLang="DlgTableAlign">Alignment</span>:</td>
- <td>&nbsp;<select id="selAlignment" name="selAlignment">
- <option fckLang="DlgTableAlignNotSet" value="" selected>&lt;Not set&gt;</option>
- <option fckLang="DlgTableAlignLeft" value="left">Left</option>
- <option fckLang="DlgTableAlignCenter" value="center">Center</option>
- <option fckLang="DlgTableAlignRight" value="right">Right</option>
- </select></td>
- </tr>
- </table>
- </td>
- <td>&nbsp;&nbsp;&nbsp;</td>
- <td align="right" valign="top">
- <table cellSpacing="0" cellPadding="0" border="0">
- <tr>
- <td><span fckLang="DlgTableWidth">Width</span>:</td>
- <td>&nbsp;<input id="txtWidth" type="text" maxLength="4" size="3" value="200" name="txtWidth" onkeypress="return IsDigit(event);"></td>
- <td>&nbsp;<select id="selWidthType" name="selWidthType">
- <option fckLang="DlgTableWidthPx" value="pixels" selected>pixels</option>
- <option fckLang="DlgTableWidthPc" value="percent">percent</option>
- </select></td>
- </tr>
- <tr>
- <td><span fckLang="DlgTableHeight">Height</span>:</td>
- <td>&nbsp;<INPUT id="txtHeight" type="text" maxLength="4" size="3" name="txtHeight" onkeypress="return IsDigit(event);"></td>
- <td>&nbsp;<span fckLang="DlgTableWidthPx">pixels</span></td>
- </tr>
- <tr>
- <td>&nbsp;</td>
- <td>&nbsp;</td>
- <td>&nbsp;</td>
- </tr>
- <tr>
- <td nowrap><span fckLang="DlgTableCellSpace">Cell spacing</span>:</td>
- <td>&nbsp;<input id="txtCellSpacing" type="text" maxLength="2" size="2" value="1" name="txtCellSpacing"
- onkeypress="return IsDigit(event);"></td>
- <td>&nbsp;</td>
- </tr>
- <tr>
- <td nowrap><span fckLang="DlgTableCellPad">Cell padding</span>:</td>
- <td>&nbsp;<input id="txtCellPadding" type="text" maxLength="2" size="2" value="1" name="txtCellPadding"
- onkeypress="return IsDigit(event);"></td>
- <td>&nbsp;</td>
- </tr>
- </table>
- </td>
- </tr>
- </table>
- <table cellSpacing="0" cellPadding="0" width="100%" border="0">
- <!--
- <tr>
- <td nowrap>
- <span fcklang="DlgClassName">Class Name</span>:</td>
- <td>&nbsp;</td>
- <td>
- <script type="text/javascript">
-// var tbstyles = new TBCombo( "FontStyle" , "null" , "", oEditor.config.StyleNames, oEditor.config.StyleValues, 'CheckStyle("cmbFontStyle")');
-// document.write(tbstyles.GetHTML());
- </script></td>
- </tr>
- -->
- <tr>
- <td><span fckLang="DlgTableCaption">Caption</span>:</td>
- <td>&nbsp;</td>
- <td width="100%">&nbsp;
- <input id="txtCaption" type="text" style="WIDTH: 100%"></td>
- </tr>
- </table>
- </td>
- </tr>
- </table>
- </body>
-</html>
diff --git a/lib/editor/dialog/fck_tablecell.html b/lib/editor/dialog/fck_tablecell.html
deleted file mode 100644
index 9bff239..0000000
--- a/lib/editor/dialog/fck_tablecell.html
+++ /dev/null
@@ -1,218 +0,0 @@
-<!--
- * FCKeditor - The text editor for internet
- * Copyright (C) 2003-2004 Frederico Caldeira Knabben
- *
- * Licensed under the terms of the GNU Lesser General Public License:
- * http://www.opensource.org/licenses/lgpl-license.php
- *
- * For further information visit:
- * http://www.fckeditor.net/
- *
- * File Name: fck_tablecell.html
- * Cell properties dialog window.
- *
- * Version: 2.0 RC2
- * Modified: 2004-12-19 23:47:03
- *
- * File Authors:
- * Frederico Caldeira Knabben (fredck@fckeditor.net)
--->
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
-<html>
- <head>
- <title>Table Cell Properties</title>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <meta name="robots" content="noindex, nofollow" />
- <script src="js/fck_dialog_common.js" type="text/javascript"></script>
- <script type="text/javascript">
-
-var oEditor = window.parent.InnerDialogLoaded() ;
-
-// Gets the document DOM
-var oDOM = oEditor.FCK.EditorDocument ;
-
-// Array of selected Cells
-var aCells = oEditor.FCKTableHandler.GetSelectedCells() ;
-
-window.onload = function()
-{
- // First of all, translate the dialog box texts
- oEditor.FCKLanguageManager.TranslatePage( document ) ;
-
- SetStartupValue() ;
-
- window.parent.SetOkButton( true ) ;
- window.parent.SetAutoSize( true ) ;
-}
-
-function SetStartupValue()
-{
- if ( aCells.length > 0 )
- {
- var oCell = aCells[0] ;
- var iWidth = GetAttribute( oCell, 'width' ) ;
-
- if ( iWidth.indexOf && iWidth.indexOf( '%' ) >= 0 )
- {
- iWidth = iWidth.substr( 0, iWidth.length - 1 ) ;
- GetE('selWidthType').value = 'percent' ;
- }
-
- if ( oCell.attributes['noWrap'] != null && oCell.attributes['noWrap'].specified )
- GetE('selWordWrap').value = !oCell.noWrap ;
-
- GetE('txtWidth').value = iWidth ;
- GetE('txtHeight').value = GetAttribute( oCell, 'height' ) ;
- GetE('selHAlign').value = GetAttribute( oCell, 'align' ) ;
- GetE('selVAlign').value = GetAttribute( oCell, 'vAlign' ) ;
- GetE('txtRowSpan').value = GetAttribute( oCell, 'rowSpan' ) ;
- GetE('txtCollSpan').value = GetAttribute( oCell, 'colSpan' ) ;
- GetE('txtBackColor').value = GetAttribute( oCell, 'bgColor' ) ;
- GetE('txtBorderColor').value = GetAttribute( oCell, 'borderColor' ) ;
-// GetE('cmbFontStyle').value = oCell.className ;
- }
-}
-
-// Fired when the user press the OK button
-function Ok()
-{
- for( i = 0 ; i < aCells.length ; i++ )
- {
- if ( GetE('txtWidth').value.length > 0 )
- aCells[i].width = GetE('txtWidth').value + ( GetE('selWidthType').value == 'percent' ? '%' : '') ;
- else
- aCells[i].removeAttribute( 'width', 0 ) ;
-
- if ( GetE('selWordWrap').value == 'false' )
- aCells[i].noWrap = true ;
- else
- aCells[i].removeAttribute( 'noWrap' ) ;
-
- SetAttribute( aCells[i], 'height' , GetE('txtHeight').value ) ;
- SetAttribute( aCells[i], 'align' , GetE('selHAlign').value ) ;
- SetAttribute( aCells[i], 'vAlign' , GetE('selVAlign').value ) ;
- SetAttribute( aCells[i], 'rowSpan' , GetE('txtRowSpan').value ) ;
- SetAttribute( aCells[i], 'colSpan' , GetE('txtCollSpan').value ) ;
- SetAttribute( aCells[i], 'bgColor' , GetE('txtBackColor').value ) ;
- SetAttribute( aCells[i], 'borderColor' , GetE('txtBorderColor').value ) ;
-// SetAttribute( aCells[i], 'className' , GetE('cmbFontStyle').value ) ;
- }
-
- return true ;
-}
-
-function SelectBackColor( color )
-{
- if ( color && color.length > 0 )
- GetE('txtBackColor').value = color ;
-}
-
-function SelectBorderColor( color )
-{
- if ( color && color.length > 0 )
- GetE('txtBorderColor').value = color ;
-}
-
-function SelectColor( wich )
-{
- oEditor.FCKDialog.OpenDialog( 'FCKDialog_Color', oEditor.FCKLang.DlgColorTitle, 'dialog/fck_colorselector.html', 400, 330, wich == 'Back' ? SelectBackColor : SelectBorderColor, window ) ;
-}
-
- </script>
- </head>
- <body scroll="no" style="OVERFLOW: hidden">
- <table cellSpacing="0" cellPadding="0" width="100%" border="0" height="100%">
- <tr>
- <td>
- <table cellSpacing="1" cellPadding="1" width="100%" border="0">
- <tr>
- <td>
- <table cellSpacing="0" cellPadding="0" border="0">
- <tr>
- <td nowrap><span fckLang="DlgCellWidth">Width</span>:</td>
- <td>&nbsp;<input onkeypress="return IsDigit();" id="txtWidth" type="text" maxLength="4"
- size="3" name="txtWidth">&nbsp;<select id="selWidthType" name="selWidthType">
- <option fckLang="DlgCellWidthPx" value="pixels" selected>pixels</option>
- <option fckLang="DlgCellWidthPc" value="percent">percent</option>
- </select></td>
- </tr>
- <tr>
- <td nowrap><span fckLang="DlgCellHeight">Height</span>:</td>
- <td>&nbsp;<INPUT id="txtHeight" type="text" maxLength="4" size="3" name="txtHeight" onkeypress="return IsDigit();">&nbsp;<span fckLang="DlgCellWidthPx">pixels</span></td>
- </tr>
- <tr>
- <td>&nbsp;</td>
- <td>&nbsp;</td>
- </tr>
- <tr>
- <td nowrap><span fckLang="DlgCellWordWrap">Word Wrap</span>:</td>
- <td>&nbsp;<select id="selWordWrap" name="selAlignment">
- <option fckLang="DlgCellWordWrapNotSet" value="" selected>&lt;Not set&gt;</option>
- <option fckLang="DlgCellWordWrapYes" value="true">Yes</option>
- <option fckLang="DlgCellWordWrapNo" value="false">No</option>
- </select></td>
- </tr>
- <tr>
- <td>&nbsp;</td>
- <td>&nbsp;</td>
- </tr>
- <tr>
- <td nowrap><span fckLang="DlgCellHorAlign">Horizontal Alignment</span>:</td>
- <td>&nbsp;<select id="selHAlign" name="selAlignment">
- <option fckLang="DlgCellHorAlignNotSet" value="" selected>&lt;Not set&gt;</option>
- <option fckLang="DlgCellHorAlignLeft" value="left">Left</option>
- <option fckLang="DlgCellHorAlignCenter" value="center">Center</option>
- <option fckLang="DlgCellHorAlignRight" value="right">Right</option>
- </select></td>
- </tr>
- <tr>
- <td nowrap><span fckLang="DlgCellVerAlign">Vertival Alignement</span>:</td>
- <td>&nbsp;<select id="selVAlign" name="selAlignment">
- <option fckLang="DlgCellVerAlignNotSet" value="" selected>&lt;Not set&gt;</option>
- <option fckLang="DlgCellVerAlignTop" value="top">Top</option>
- <option fckLang="DlgCellVerAlignMiddle" value="middle">Middle</option>
- <option fckLang="DlgCellVerAlignBottom" value="bottom">Bottom</option>
- <option fckLang="DlgCellVerAlignBaseline" value="baseline">Baseline</option>
- </select></td>
- </tr>
- </table>
- </td>
- <td>&nbsp;&nbsp;&nbsp;</td>
- <td align="right">
- <table cellSpacing="0" cellPadding="0" border="0">
- <tr>
- <td nowrap><span fckLang="DlgCellRowSpan">Rows Span</span>:</td>
- <td>&nbsp; <input onkeypress="return IsDigit();" id="txtRowSpan" type="text" maxLength="3"
- size="2" name="txtRows"></td>
- <td></td>
- </tr>
- <tr>
- <td nowrap><span fckLang="DlgCellCollSpan">Columns Span</span>:</td>
- <td>&nbsp; <input onkeypress="return IsDigit();" id="txtCollSpan" type="text" maxLength="2"
- size="2" name="txtColumns"></td>
- <td></td>
- </tr>
- <tr>
- <td>&nbsp;</td>
- <td>&nbsp;</td>
- <td>&nbsp;</td>
- </tr>
- <tr>
- <td nowrap><span fckLang="DlgCellBackColor">Background Color</span>:</td>
- <td>&nbsp;<input id="txtBackColor" type="text" size="8" name="txtCellSpacing"></td>
- <td>&nbsp; <input type="button" fckLang="DlgCellBtnSelect" value="Select..." onclick="SelectColor( 'Back' )"></td>
- </tr>
- <tr>
- <td nowrap><span fckLang="DlgCellBorderColor">Border Color</span>:</td>
- <td>&nbsp;<input id="txtBorderColor" type="text" size="8" name="txtCellPadding"></td>
- <td>&nbsp; <input type="button" fckLang="DlgCellBtnSelect" value="Select..." onclick="SelectColor( 'Border' )"></td>
- </tr>
- </table>
- </td>
- </tr>
- </table>
- </td>
- </tr>
- </table>
- </body>
-</html>
diff --git a/lib/editor/dialog/images/locked.gif b/lib/editor/dialog/images/locked.gif
deleted file mode 100644
index ea07870..0000000
--- a/lib/editor/dialog/images/locked.gif
+++ /dev/null
Binary files differ
diff --git a/lib/editor/dialog/images/logo_fckeditor.gif b/lib/editor/dialog/images/logo_fckeditor.gif
deleted file mode 100644
index b7d6bc6..0000000
--- a/lib/editor/dialog/images/logo_fckeditor.gif
+++ /dev/null
Binary files differ
diff --git a/lib/editor/dialog/images/logo_fredck.gif b/lib/editor/dialog/images/logo_fredck.gif
deleted file mode 100644
index 3108dd9..0000000
--- a/lib/editor/dialog/images/logo_fredck.gif
+++ /dev/null
Binary files differ
diff --git a/lib/editor/dialog/images/reset.gif b/lib/editor/dialog/images/reset.gif
deleted file mode 100644
index 5e9a2fc..0000000
--- a/lib/editor/dialog/images/reset.gif
+++ /dev/null
Binary files differ
diff --git a/lib/editor/dialog/images/unlocked.gif b/lib/editor/dialog/images/unlocked.gif
deleted file mode 100644
index 801e423..0000000
--- a/lib/editor/dialog/images/unlocked.gif
+++ /dev/null
Binary files differ
diff --git a/lib/editor/dialog/js/fck_dialog_common.js b/lib/editor/dialog/js/fck_dialog_common.js
deleted file mode 100644
index 96bbd90..0000000
--- a/lib/editor/dialog/js/fck_dialog_common.js
+++ /dev/null
@@ -1,88 +0,0 @@
-/*
- * FCKeditor - The text editor for internet
- * Copyright (C) 2003-2004 Frederico Caldeira Knabben
- *
- * Licensed under the terms of the GNU Lesser General Public License:
- * http://www.opensource.org/licenses/lgpl-license.php
- *
- * For further information visit:
- * http://www.fckeditor.net/
- *
- * File Name: fck_dialog_common.js
- * Useful functions used by almost all dialog window pages.
- *
- * Version: 2.0 RC2
- * Modified: 2004-12-19 23:37:29
- *
- * File Authors:
- * Frederico Caldeira Knabben (fredck@fckeditor.net)
- */
-
-// Gets a element by its Id. Used for shorter coding.
-function GetE( elementId )
-{
- return document.getElementById( elementId ) ;
-}
-
-function ShowE( element, isVisible )
-{
- if ( typeof( element ) == 'string' )
- element = GetE( element ) ;
- element.style.display = isVisible ? '' : 'none' ;
-}
-
-function SetAttribute( element, attName, attValue )
-{
- if ( attValue == null || attValue.length == 0 )
- element.removeAttribute( attName, 0 ) ; // 0 : Case Insensitive
- else
- element.setAttribute( attName, attValue, 0 ) ; // 0 : Case Insensitive
-
-}
-
-function GetAttribute( element, attName, valueIfNull )
-{
- var oAtt = element.attributes[attName] ;
-
- if ( oAtt == null || !oAtt.specified )
- return valueIfNull ? valueIfNull : '' ;
-
- var oValue = element.getAttribute( attName, 2 ) ;
-
- return ( oValue == null ? valueIfNull : oValue ) ;
-}
-
-// Functions used by text fiels to accept numbers only.
-function IsDigit( e )
-{
- e = e || event ;
- var iCode = ( e.keyCode || e.charCode ) ;
-
- event.returnValue =
- (
- ( iCode >= 48 && iCode <= 57 ) // Numbers
- || (iCode >= 37 && iCode <= 40) // Arrows
- || iCode == 8 // Backspace
- || iCode == 46 // Delete
- ) ;
-
- return event.returnValue ;
-}
-
-String.prototype.startsWith = function( value )
-{
- return ( this.substr( 0, value.length ) == value ) ;
-}
-
-String.prototype.remove = function( start, length )
-{
- var s = '' ;
-
- if ( start > 0 )
- s = this.substring( 0, start ) ;
-
- if ( start + length < this.length )
- s += this.substring( start + length , this.length ) ;
-
- return s ;
-} \ No newline at end of file
diff --git a/lib/editor/dialog/js/fck_image.js b/lib/editor/dialog/js/fck_image.js
deleted file mode 100644
index 5b95759..0000000
--- a/lib/editor/dialog/js/fck_image.js
+++ /dev/null
@@ -1,258 +0,0 @@
-/*
- * FCKeditor - The text editor for internet
- * Copyright (C) 2003-2004 Frederico Caldeira Knabben
- *
- * Licensed under the terms of the GNU Lesser General Public License:
- * http://www.opensource.org/licenses/lgpl-license.php
- *
- * For further information visit:
- * http://www.fckeditor.net/
- *
- * File Name: fck_image.js
- * Scripts related to the Link dialog window (see fck_link.html).
- *
- * Version: 2.0 RC2
- * Modified: 2004-12-20 14:11:04
- *
- * File Authors:
- * Frederico Caldeira Knabben (fredck@fckeditor.net)
- */
-
-var oEditor = window.parent.InnerDialogLoaded() ;
-var FCK = oEditor.FCK ;
-
-//#### Dialog Tabs
-
-// Set the dialog tabs.
-window.parent.AddTab( 'Info', oEditor.FCKLang.DlgImgInfoTab ) ;
-// TODO : Enable File Upload (1/3).
-//window.parent.AddTab( 'Upload', 'Upload', true ) ;
-window.parent.AddTab( 'Advanced', oEditor.FCKLang.DlgAdvancedTag ) ;
-
-// Function called when a dialog tag is selected.
-function OnDialogTabChange( tabCode )
-{
- ShowE('divInfo' , ( tabCode == 'Info' ) ) ;
-// TODO : Enable File Upload (2/3).
-// ShowE('divUpload' , ( tabCode == 'Upload' ) ) ;
- ShowE('divAdvanced' , ( tabCode == 'Advanced' ) ) ;
-}
-
-// Get the selected image (if available).
-var oImage = FCK.Selection.GetSelectedElement( 'IMG' ) ;
-
-var oImageOriginal ;
-
-function UpdateOriginal( resetSize )
-{
- oImageOriginal = document.createElement( 'IMG' ) ; // new Image() ;
-
- if ( resetSize )
- {
- oImageOriginal.onload = function()
- {
- this.onload = null ;
- ResetSizes() ;
- }
- }
-
- oImageOriginal.src = GetE('imgPreview').src ;
-}
-
-window.onload = function()
-{
- // Translate the dialog box texts.
- oEditor.FCKLanguageManager.TranslatePage(document) ;
-
- GetE('btnLockSizes').title = oEditor.FCKLang.DlgImgLockRatio ;
- GetE('btnResetSize').title = oEditor.FCKLang.DlgBtnResetSize ;
-
- // Load the selected element information (if any).
- LoadSelection() ;
-
- // Show/Hide the "Browse Server" button.
- GetE('tdBrowse').style.display = oEditor.FCKConfig.ImageBrowser ? '' : 'none' ;
-
- UpdateOriginal() ;
-
- window.parent.SetAutoSize( true ) ;
-
- // Activate the "OK" button.
- window.parent.SetOkButton( true ) ;
-}
-
-function LoadSelection()
-{
- if ( ! oImage ) return ;
-
- var sUrl = GetAttribute( oImage, 'src', '' ) ;
-
- // TODO: Wait stable version and remove the following commented lines.
-// if ( sUrl.startsWith( FCK.BaseUrl ) )
-// sUrl = sUrl.remove( 0, FCK.BaseUrl.length ) ;
-
- GetE('txtUrl').value = sUrl ;
- GetE('txtAlt').value = GetAttribute( oImage, 'alt', '' ) ;
- GetE('txtVSpace').value = GetAttribute( oImage, 'vspace', '' ) ;
- GetE('txtHSpace').value = GetAttribute( oImage, 'hspace', '' ) ;
- GetE('txtBorder').value = GetAttribute( oImage, 'border', '' ) ;
- GetE('cmbAlign').value = GetAttribute( oImage, 'align', '' ) ;
-
- if ( oImage.style.pixelWidth > 0 )
- GetE('txtWidth').value = oImage.style.pixelWidth ;
- else
- GetE('txtWidth').value = GetAttribute( oImage, "width", '' ) ;
-
- if ( oImage.style.pixelHeight > 0 )
- GetE('txtHeight').value = oImage.style.pixelHeight ;
- else
- GetE('txtHeight').value = GetAttribute( oImage, "height", '' ) ;
-
- // Get Advances Attributes
- GetE('txtAttId').value = oImage.id ;
- GetE('cmbAttLangDir').value = oImage.dir ;
- GetE('txtAttLangCode').value = oImage.lang ;
- GetE('txtAttTitle').value = oImage.title ;
- GetE('txtAttClasses').value = oImage.getAttribute('class',2) || '' ;
- GetE('txtLongDesc').value = oImage.longDesc ;
-
- if ( oEditor.FCKBrowserInfo.IsIE )
- GetE('txtAttStyle').value = oImage.style.cssText ;
- else
- GetE('txtAttStyle').value = oImage.getAttribute('style',2) ;
-
- UpdatePreview() ;
-}
-
-//#### The OK button was hit.
-function Ok()
-{
- if ( GetE('txtUrl').value.length == 0 )
- {
- window.parent.SetSelectedTab( 'Info' ) ;
- GetE('txtUrl').focus() ;
-
- alert( oEditor.FCKLang.DlgImgAlertUrl ) ;
-
- return false ;
- }
-
- if ( !oImage )
- oImage = FCK.CreateElement( 'IMG' ) ;
-
- UpdateImage( oImage ) ;
-
- return true ;
-}
-
-function UpdateImage( e, skipId )
-{
- e.src = GetE('txtUrl').value ;
- SetAttribute( e, "alt" , GetE('txtAlt').value ) ;
- SetAttribute( e, "width" , GetE('txtWidth').value ) ;
- SetAttribute( e, "height", GetE('txtHeight').value ) ;
- SetAttribute( e, "vspace", GetE('txtVSpace').value ) ;
- SetAttribute( e, "hspace", GetE('txtHSpace').value ) ;
- SetAttribute( e, "border", GetE('txtBorder').value ) ;
- SetAttribute( e, "align" , GetE('cmbAlign').value ) ;
-
- // Advances Attributes
-
- if ( ! skipId )
- SetAttribute( e, 'id', GetE('txtAttId').value ) ;
-
- SetAttribute( e, 'dir' , GetE('cmbAttLangDir').value ) ;
- SetAttribute( e, 'lang' , GetE('txtAttLangCode').value ) ;
- SetAttribute( e, 'title' , GetE('txtAttTitle').value ) ;
- SetAttribute( e, 'class' , GetE('txtAttClasses').value ) ;
- SetAttribute( e, 'longDesc' , GetE('txtLongDesc').value ) ;
-
- if ( oEditor.FCKBrowserInfo.IsIE )
- e.style.cssText = GetE('txtAttStyle').value ;
- else
- SetAttribute( e, 'style', GetE('txtAttStyle').value ) ;
-}
-
-function UpdatePreview()
-{
- if ( GetE('txtUrl').value.length == 0 )
- GetE('imgPreview').style.display = 'none' ;
- else
- UpdateImage( GetE('imgPreview'), true ) ;
-}
-
-var bLockRatio = true ;
-
-function SwitchLock( lockButton )
-{
- bLockRatio = !bLockRatio ;
- lockButton.className = bLockRatio ? 'BtnLocked' : 'BtnUnlocked' ;
- lockButton.title = bLockRatio ? 'Lock sizes' : 'Unlock sizes' ;
-
- if ( bLockRatio )
- {
- if ( GetE('txtWidth').value.length > 0 )
- OnSizeChanged( 'Width', GetE('txtWidth').value ) ;
- else
- OnSizeChanged( 'Height', GetE('txtHeight').value ) ;
- }
-}
-
-// Fired when the width or height input texts change
-function OnSizeChanged( dimension, value )
-{
- // Verifies if the aspect ration has to be mantained
- if ( oImageOriginal && bLockRatio )
- {
- if ( value.length == 0 || isNaN( value ) )
- {
- GetE('txtHeight').value = GetE('txtWidth').value = '' ;
- return ;
- }
-
- if ( dimension == 'Width' )
- GetE('txtHeight').value = Math.round( oImageOriginal.height * ( value / oImageOriginal.width ) ) ;
- else
- GetE('txtWidth').value = Math.round( oImageOriginal.width * ( value / oImageOriginal.height ) ) ;
- }
-
- UpdatePreview() ;
-}
-
-// Fired when the Reset Size button is clicked
-function ResetSizes()
-{
- if ( ! oImageOriginal ) return ;
-
- GetE('txtWidth').value = oImageOriginal.width ;
- GetE('txtHeight').value = oImageOriginal.height ;
-
- UpdatePreview() ;
-}
-
-function BrowseServer()
-{
- // Set the browser window feature.
- var iWidth = oEditor.FCKConfig.ImageBrowserWindowWidth ;
- var iHeight = oEditor.FCKConfig.ImageBrowserWindowHeight ;
-
- var iLeft = (screen.width - iWidth) / 2 ;
- var iTop = (screen.height - iHeight) / 2 ;
-
- var sOptions = "toolbar=no,status=no,resizable=yes,dependent=yes" ;
- sOptions += ",width=" + iWidth ;
- sOptions += ",height=" + iHeight ;
- sOptions += ",left=" + iLeft ;
- sOptions += ",top=" + iTop ;
-
- // Open the browser window.
- var oWindow = window.open( oEditor.FCKConfig.ImageBrowserURL, "FCKBrowseWindow", sOptions ) ;
-}
-
-function SetUrl( url )
-{
- document.getElementById('txtUrl').value = url ;
- GetE('txtHeight').value = GetE('txtWidth').value = '' ;
- UpdatePreview() ;
- UpdateOriginal( true ) ;
-} \ No newline at end of file
diff --git a/lib/editor/dialog/js/fck_link.js b/lib/editor/dialog/js/fck_link.js
deleted file mode 100644
index 956354d..0000000
--- a/lib/editor/dialog/js/fck_link.js
+++ /dev/null
@@ -1,512 +0,0 @@
-/*
- * FCKeditor - The text editor for internet
- * Copyright (C) 2003-2004 Frederico Caldeira Knabben
- *
- * Licensed under the terms of the GNU Lesser General Public License:
- * http://www.opensource.org/licenses/lgpl-license.php
- *
- * For further information visit:
- * http://www.fckeditor.net/
- *
- * File Name: fck_link.js
- * Scripts related to the Link dialog window (see fck_link.html).
- *
- * Version: 2.0 RC2
- * Modified: 2004-12-21 01:56:13
- *
- * File Authors:
- * Frederico Caldeira Knabben (fredck@fckeditor.net)
- */
-
-var oEditor = window.parent.InnerDialogLoaded() ;
-var FCK = oEditor.FCK ;
-var FCKLang = oEditor.FCKLang ;
-
-//#### Dialog Tabs
-
-// Set the dialog tabs.
-window.parent.AddTab( 'Info', FCKLang.DlgLnkInfoTab ) ;
-window.parent.AddTab( 'Target', FCKLang.DlgLnkTargetTab, true ) ;
-// TODO : Enable File Upload (1/3).
-//window.parent.AddTab( 'Upload', 'Upload', true ) ;
-window.parent.AddTab( 'Advanced', FCKLang.DlgAdvancedTag ) ;
-
-// Function called when a dialog tag is selected.
-function OnDialogTabChange( tabCode )
-{
- ShowE('divInfo' , ( tabCode == 'Info' ) ) ;
- ShowE('divTarget' , ( tabCode == 'Target' ) ) ;
-// TODO : Enable File Upload (2/3).
-// ShowE('divUpload' , ( tabCode == 'Upload' ) ) ;
- ShowE('divAttribs' , ( tabCode == 'Advanced' ) ) ;
-}
-
-//#### Regular Expressions library.
-var oRegex = new Object() ;
-
-oRegex.UriProtocol = new RegExp('') ;
-oRegex.UriProtocol.compile( '^(((http|https|ftp|news):\/\/)|mailto:)', 'gi' ) ;
-
-oRegex.UrlOnChangeProtocol = new RegExp('') ;
-oRegex.UrlOnChangeProtocol.compile( '^(http|https|ftp|news)://(?=.)', 'gi' ) ;
-
-oRegex.UrlOnChangeTestOther = new RegExp('') ;
-oRegex.UrlOnChangeTestOther.compile( '^(javascript:|#|/)', 'gi' ) ;
-
-oRegex.ReserveTarget = new RegExp('') ;
-oRegex.ReserveTarget.compile( '^_(blank|self|top|parent)$', 'i' ) ;
-
-oRegex.PopupUri = new RegExp('') ;
-oRegex.PopupUri.compile( "^javascript:void\\(\\s*window.open\\(\\s*'([^']+)'\\s*,\\s*(?:'([^']*)'|null)\\s*,\\s*'([^']*)'\\s*\\)\\s*\\)\\s*$" ) ;
-
-oRegex.PopupFeatures = new RegExp('') ;
-oRegex.PopupFeatures.compile( '(?:^|,)([^=]+)=(\\d+|yes|no)', 'gi' ) ;
-
-//#### Parser Functions
-
-var oParser = new Object() ;
-
-oParser.ParseEMailUrl = function( emailUrl )
-{
- // Initializes the EMailInfo object.
- var oEMailInfo = new Object() ;
- oEMailInfo.Address = '' ;
- oEMailInfo.Subject = '' ;
- oEMailInfo.Body = '' ;
-
- var oParts = emailUrl.match( /^([^\?]+)\??(.+)?/ ) ;
- if ( oParts )
- {
- // Set the e-mail address.
- oEMailInfo.Address = oParts[1] ;
-
- // Look for the optional e-mail parameters.
- if ( oParts[2] )
- {
- var oMatch = oParts[2].match( /(^|&)subject=([^&]+)/i ) ;
- if ( oMatch ) oEMailInfo.Subject = unescape( oMatch[2] ) ;
-
- oMatch = oParts[2].match( /(^|&)body=([^&]+)/i ) ;
- if ( oMatch ) oEMailInfo.Body = unescape( oMatch[2] ) ;
- }
- }
-
- return oEMailInfo ;
-}
-
-oParser.CreateEMailUri = function( address, subject, body )
-{
- var sBaseUri = 'mailto:' + address ;
-
- var sParams = '' ;
-
- if ( subject.length > 0 )
- sParams = '?subject=' + escape( subject ) ;
-
- if ( body.length > 0 )
- {
- sParams += ( sParams.length == 0 ? '?' : '&' ) ;
- sParams += 'body=' + escape( body ) ;
- }
-
- return sBaseUri + sParams ;
-}
-
-//#### Initialization Code
-
-// oLink: The actual selected link in the editor.
-var oLink = FCK.Selection.MoveToAncestorNode( 'A' ) ;
-if ( oLink )
- FCK.Selection.MoveToNode( oLink ) ;
-
-window.onload = function()
-{
- // Translate the dialog box texts.
- oEditor.FCKLanguageManager.TranslatePage(document) ;
-
- // Fill the Anchor Names and Ids combos.
- LoadAnchorNamesAndIds() ;
-
- // Load the selected link information (if any).
- LoadSelection() ;
-
- // Update the dialog box.
- SetLinkType( GetE('cmbLinkType').value ) ;
-
- // Show/Hide the "Browse Server" button.
- GetE('divBrowseServer').style.display = oEditor.FCKConfig.LinkBrowser ? '' : 'none' ;
-
- // Show the initial dialog content.
- GetE('divInfo').style.display = '' ;
-
- // Activate the "OK" button.
- window.parent.SetOkButton( true ) ;
-}
-
-var bHasAnchors ;
-
-function LoadAnchorNamesAndIds()
-{
- var aAnchors = oEditor.FCK.EditorDocument.anchors ;
- var aIds = oEditor.FCKTools.GetAllChildrenIds( oEditor.FCK.EditorDocument.body ) ;
-
- bHasAnchors = ( aAnchors.length > 0 || aIds.length > 0 ) ;
-
- for ( var i = 0 ; i < aAnchors.length ; i++ )
- {
- var sName = aAnchors[i].name ;
- if ( sName && sName.length > 0 )
- oEditor.FCKTools.AddSelectOption( document, GetE('cmbAnchorName'), sName, sName ) ;
- }
-
- for ( var i = 0 ; i < aIds.length ; i++ )
- {
- oEditor.FCKTools.AddSelectOption( document, GetE('cmbAnchorId'), aIds[i], aIds[i] ) ;
- }
-
- ShowE( 'divSelAnchor' , bHasAnchors ) ;
- ShowE( 'divNoAnchor' , !bHasAnchors ) ;
-}
-
-function LoadSelection()
-{
- if ( !oLink ) return ;
-
- var sType = 'url' ;
-
- // Get the actual Link href.
- var sHRef = oLink.getAttribute('href',2) + '' ;
-
- // TODO: Wait stable version and remove the following commented lines.
-// if ( sHRef.startsWith( FCK.BaseUrl ) )
-// sHRef = sHRef.remove( 0, FCK.BaseUrl.length ) ;
-
- // Look for a popup javascript link.
- var oPopupMatch = oRegex.PopupUri.exec( sHRef ) ;
- if( oPopupMatch )
- {
- GetE('cmbTarget').value = 'popup' ;
- sHRef = oPopupMatch[1] ;
- FillPopupFields( oPopupMatch[2], oPopupMatch[3] ) ;
- SetTarget( 'popup' ) ;
- }
-
- // Search for the protocol.
- var sProtocol = oRegex.UriProtocol.exec( sHRef ) ;
-
- if ( sProtocol )
- {
- sProtocol = sProtocol[0].toLowerCase() ;
- GetE('cmbLinkProtocol').value = sProtocol ;
-
- // Remove the protocol and get the remainig URL.
- var sUrl = sHRef.replace( oRegex.UriProtocol, '' ) ;
-
- if ( sProtocol == 'mailto:' ) // It is an e-mail link.
- {
- sType = 'email' ;
-
- var oEMailInfo = oParser.ParseEMailUrl( sUrl ) ;
- GetE('txtEMailAddress').value = oEMailInfo.Address ;
- GetE('txtEMailSubject').value = oEMailInfo.Subject ;
- GetE('txtEMailBody').value = oEMailInfo.Body ;
- }
- else // It is a normal link.
- {
- sType = 'url' ;
- GetE('txtUrl').value = sUrl ;
- }
- }
- else if ( sHRef.substr(0,1) == '#' && sHRef.length > 2 ) // It is an anchor link.
- {
- sType = 'anchor' ;
- GetE('cmbAnchorName').value = GetE('cmbAnchorId').value = sHRef.substr(1) ;
- }
- else // It is another type of link.
- {
- sType = 'url' ;
-
- GetE('cmbLinkProtocol').value = '' ;
- GetE('txtUrl').value = sHRef ;
- }
-
- if ( !oPopupMatch )
- {
- // Get the target.
- var sTarget = oLink.target ;
-
- if ( sTarget && sTarget.length > 0 )
- {
- if ( oRegex.ReserveTarget.test( sTarget ) )
- {
- sTarget = sTarget.toLowerCase() ;
- GetE('cmbTarget').value = sTarget ;
- }
- else
- GetE('cmbTarget').value = 'frame' ;
- GetE('txtTargetFrame').value = sTarget ;
- }
- }
-
- // Get Advances Attributes
- GetE('txtAttId').value = oLink.id ;
- GetE('txtAttName').value = oLink.name ;
- GetE('cmbAttLangDir').value = oLink.dir ;
- GetE('txtAttLangCode').value = oLink.lang ;
- GetE('txtAttAccessKey').value = oLink.accessKey ;
- GetE('txtAttTabIndex').value = oLink.tabIndex <= 0 ? '' : oLink.tabIndex ;
- GetE('txtAttTitle').value = oLink.title ;
- GetE('txtAttContentType').value = oLink.type ;
- GetE('txtAttCharSet').value = oLink.charset ;
-
- if ( oEditor.FCKBrowserInfo.IsIE )
- {
- GetE('txtAttClasses').value = oLink.getAttribute('className',2) || '' ;
- GetE('txtAttStyle').value = oLink.style.cssText ;
- }
- else
- {
- GetE('txtAttClasses').value = oLink.getAttribute('class',2) || '' ;
- GetE('txtAttStyle').value = oLink.getAttribute('style',2) ;
- }
-
- // Update the Link type combo.
- GetE('cmbLinkType').value = sType ;
-}
-
-//#### Link type selection.
-function SetLinkType( linkType )
-{
- ShowE('divLinkTypeUrl' , (linkType == 'url') ) ;
- ShowE('divLinkTypeAnchor' , (linkType == 'anchor') ) ;
- ShowE('divLinkTypeEMail' , (linkType == 'email') ) ;
-
- window.parent.SetTabVisibility( 'Target' , (linkType == 'url') ) ;
-// TODO : Enable File Upload (3/3).
-// window.parent.SetTabVisibility( 'Upload' , (linkType == 'url') ) ;
- window.parent.SetTabVisibility( 'Advanced' , (linkType != 'anchor' || bHasAnchors) ) ;
-
- if ( linkType == 'email' )
- window.parent.SetAutoSize( true ) ;
-}
-
-//#### Target type selection.
-function SetTarget( targetType )
-{
- GetE('tdTargetFrame').style.display = ( targetType == 'popup' ? 'none' : '' ) ;
- GetE('tdPopupName').style.display =
- GetE('tablePopupFeatures').style.display = ( targetType == 'popup' ? '' : 'none' ) ;
-
- switch ( targetType )
- {
- case "_blank" :
- case "_self" :
- case "_parent" :
- case "_top" :
- GetE('txtTargetFrame').value = targetType ;
- break ;
- case "" :
- GetE('txtTargetFrame').value = '' ;
- break ;
- }
-
- if ( targetType == 'popup' )
- window.parent.SetAutoSize( true ) ;
-}
-
-//#### Called while the user types the URL.
-function OnUrlChange()
-{
- var sUrl = GetE('txtUrl').value ;
- var sProtocol = oRegex.UrlOnChangeProtocol.exec( sUrl ) ;
-
- if ( sProtocol )
- {
- sUrl = sUrl.substr( sProtocol[0].length ) ;
- GetE('txtUrl').value = sUrl ;
- GetE('cmbLinkProtocol').value = sProtocol[0].toLowerCase() ;
- }
- else if ( oRegex.UrlOnChangeTestOther.test( sUrl ) )
- {
- GetE('cmbLinkProtocol').value = '' ;
- }
-}
-
-//#### Called while the user types the target name.
-function OnTargetNameChange()
-{
- var sFrame = GetE('txtTargetFrame').value ;
-
- if ( sFrame.length == 0 )
- GetE('cmbTarget').value = '' ;
- else if ( oRegex.ReserveTarget.test( sFrame ) )
- GetE('cmbTarget').value = sFrame.toLowerCase() ;
- else
- GetE('cmbTarget').value = 'frame' ;
-}
-
-//#### Builds the javascript URI to open a popup to the specified URI.
-function BuildPopupUri( uri )
-{
- var oReg = new RegExp( "'", "g" ) ;
- var sWindowName = "'" + GetE('txtPopupName').value.replace(oReg, "\\'") + "'" ;
-
- var sFeatures = '' ;
- var aChkFeatures = document.getElementsByName('chkFeature') ;
- for ( var i = 0 ; i < aChkFeatures.length ; i++ )
- {
- if ( i > 0 ) sFeatures += ',' ;
- sFeatures += aChkFeatures[i].value + '=' + ( aChkFeatures[i].checked ? 'yes' : 'no' ) ;
- }
-
- if ( GetE('txtPopupWidth').value.length > 0 ) sFeatures += ',width=' + GetE('txtPopupWidth').value ;
- if ( GetE('txtPopupHeight').value.length > 0 ) sFeatures += ',height=' + GetE('txtPopupHeight').value ;
- if ( GetE('txtPopupLeft').value.length > 0 ) sFeatures += ',left=' + GetE('txtPopupLeft').value ;
- if ( GetE('txtPopupTop').value.length > 0 ) sFeatures += ',top=' + GetE('txtPopupTop').value ;
-
- return ( "javascript:void(window.open('" + uri + "'," + sWindowName + ",'" + sFeatures + "'))" ) ;
-}
-
-//#### Fills all Popup related fields.
-function FillPopupFields( windowName, features )
-{
- if ( windowName )
- GetE('txtPopupName').value = windowName ;
-
- var oFeatures = new Object() ;
- var oFeaturesMatch ;
- while( ( oFeaturesMatch = oRegex.PopupFeatures.exec( features ) ) != null )
- {
- var sValue = oFeaturesMatch[2] ;
- if ( sValue == ( 'yes' || '1' ) )
- oFeatures[ oFeaturesMatch[1] ] = true ;
- else if ( ! isNaN( sValue ) && sValue != 0 )
- oFeatures[ oFeaturesMatch[1] ] = sValue ;
- }
-
- // Update all features check boxes.
- var aChkFeatures = document.getElementsByName('chkFeature') ;
- for ( var i = 0 ; i < aChkFeatures.length ; i++ )
- {
- if ( oFeatures[ aChkFeatures[i].value ] )
- aChkFeatures[i].checked = true ;
- }
-
- // Update position and size text boxes.
- if ( oFeatures['width'] ) GetE('txtPopupWidth').value = oFeatures['width'] ;
- if ( oFeatures['height'] ) GetE('txtPopupHeight').value = oFeatures['height'] ;
- if ( oFeatures['left'] ) GetE('txtPopupLeft').value = oFeatures['left'] ;
- if ( oFeatures['top'] ) GetE('txtPopupTop').value = oFeatures['top'] ;
-}
-
-//#### The OK button was hit.
-function Ok()
-{
- var sUri ;
-
- switch ( GetE('cmbLinkType').value )
- {
- case 'url' :
- sUri = GetE('txtUrl').value ;
-
- if ( sUri.length == 0 )
- {
- alert( FCKLang.DlnLnkMsgNoUrl ) ;
- return false ;
- }
-
- sUri = GetE('cmbLinkProtocol').value + sUri ;
-
- if( GetE('cmbTarget').value == 'popup' )
- sUri = BuildPopupUri( sUri ) ;
-
- break ;
-
- case 'email' :
- sUri = GetE('txtEMailAddress').value ;
-
- if ( sUri.length == 0 )
- {
- alert( FCKLang.DlnLnkMsgNoEMail ) ;
- return false ;
- }
-
- sUri = oParser.CreateEMailUri(
- sUri,
- GetE('txtEMailSubject').value,
- GetE('txtEMailBody').value ) ;
- break ;
-
- case 'anchor' :
- var sAnchor = GetE('cmbAnchorName').value ;
- if ( sAnchor.length == 0 ) sAnchor = GetE('cmbAnchorId').value ;
-
- if ( sAnchor.length == 0 )
- {
- alert( FCKLang.DlnLnkMsgNoAnchor ) ;
- return false ;
- }
-
- sUri = '#' + sAnchor ;
- break ;
- }
-
- if ( oLink ) // Modifying an existent link.
- oLink.href = sUri ;
- else // Creating a new link.
- {
- oLink = oEditor.FCK.CreateLink( sUri ) ;
- if ( ! oLink )
- return true ;
- }
-
- // Target
- if( GetE('cmbTarget').value != 'popup' )
- SetAttribute( oLink, 'target', GetE('txtTargetFrame').value ) ;
- else
- SetAttribute( oLink, 'target', null ) ;
-
- // Advances Attributes
- SetAttribute( oLink, 'id' , GetE('txtAttId').value ) ;
- SetAttribute( oLink, 'name' , GetE('txtAttName').value ) ; // No IE. Set but doesnt't update the outerHTML.
- SetAttribute( oLink, 'dir' , GetE('cmbAttLangDir').value ) ;
- SetAttribute( oLink, 'lang' , GetE('txtAttLangCode').value ) ;
- SetAttribute( oLink, 'accesskey', GetE('txtAttAccessKey').value ) ;
- SetAttribute( oLink, 'tabindex' , ( GetE('txtAttTabIndex').value > 0 ? GetE('txtAttTabIndex').value : null ) ) ;
- SetAttribute( oLink, 'title' , GetE('txtAttTitle').value ) ;
- SetAttribute( oLink, 'class' , GetE('txtAttClasses').value ) ;
- SetAttribute( oLink, 'type' , GetE('txtAttContentType').value ) ;
- SetAttribute( oLink, 'charset' , GetE('txtAttCharSet').value ) ;
-
- if ( oEditor.FCKBrowserInfo.IsIE )
- oLink.style.cssText = GetE('txtAttStyle').value ;
- else
- SetAttribute( oLink, 'style', GetE('txtAttStyle').value ) ;
-
- return true ;
-}
-
-function BrowseServer()
-{
- // Set the browser window feature.
- var iWidth = oEditor.FCKConfig.LinkBrowserWindowWidth ;
- var iHeight = oEditor.FCKConfig.LinkBrowserWindowHeight ;
-
- var iLeft = (screen.width - iWidth) / 2 ;
- var iTop = (screen.height - iHeight) / 2 ;
-
- var sOptions = "toolbar=no,status=no,resizable=yes,dependent=yes" ;
- sOptions += ",width=" + iWidth ;
- sOptions += ",height=" + iHeight ;
- sOptions += ",left=" + iLeft ;
- sOptions += ",top=" + iTop ;
-
- // Open the browser window.
- var oWindow = window.open( oEditor.FCKConfig.LinkBrowserURL, "FCKBrowseWindow", sOptions ) ;
-}
-
-function SetUrl( url )
-{
- document.getElementById('txtUrl').value = url ;
- OnUrlChange() ;
-} \ No newline at end of file
diff --git a/lib/editor/fckdebug.html b/lib/editor/fckdebug.html
deleted file mode 100644
index 46ad361..0000000
--- a/lib/editor/fckdebug.html
+++ /dev/null
@@ -1,110 +0,0 @@
-<!--
- * FCKeditor - The text editor for internet
- * Copyright (C) 2003-2004 Frederico Caldeira Knabben
- *
- * Licensed under the terms of the GNU Lesser General Public License:
- * http://www.opensource.org/licenses/lgpl-license.php
- *
- * For further information visit:
- * http://www.fckeditor.net/
- *
- * File Name: fckdebug.html
- * This is the Debug window.
- * It automatically popups if the Debug = true in the configuration file.
- *
- * Version: 2.0 RC2
- * Modified: 2004-05-31 23:07:52
- *
- * File Authors:
- * Frederico Caldeira Knabben (fredck@fckeditor.net)
--->
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-<html>
- <head>
- <meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
- <meta name="ROBOTS" content="NOINDEX, NOFOLLOW">
- <title>FCKeditor Debug Window</title>
- <script type="text/javascript">
-
-var oWindow ;
-var oDiv ;
-
-if ( !window.FCKMessages )
- window.FCKMessages = new Array() ;
-
-function Initialize()
-{
- oWindow = window.frames[ 'eOutput' ]
- oWindow.document.open() ;
- oWindow.document.write( '<div id="divMsg"></div>' ) ;
- oWindow.document.close() ;
- oDiv = oWindow.document.getElementById('divMsg') ;
-}
-
-function Output( message, color )
-{
- if ( color )
- message = '<font color="' + color + '">' + message + '</font>' ;
-
- window.FCKMessages[ window.FCKMessages.length ] = message ;
- StartTimer() ;
-}
-
-function StartTimer()
-{
- window.setTimeout( 'CheckMessages()', 100 ) ;
-}
-
-function CheckMessages()
-{
- if ( window.FCKMessages.length > 0 )
- {
- // Get the first item in the queue
- var sMessage = window.FCKMessages[0] ;
-
- // Removes the first item from the queue
- var oTempArray = new Array() ;
- for ( i = 1 ; i < window.FCKMessages.length ; i++ )
- oTempArray[ i - 1 ] = window.FCKMessages[ i ] ;
- window.FCKMessages = oTempArray ;
-
- var d = new Date() ;
- var sTime =
- ( d.getHours() + 100 + '' ).substr( 1,2 ) + ':' +
- ( d.getMinutes() + 100 + '' ).substr( 1,2 ) + ':' +
- ( d.getSeconds() + 100 + '' ).substr( 1,2 ) + ':' +
- ( d.getMilliseconds() + 1000 + '' ).substr( 1,3 ) ;
-
- var oMsgDiv = oWindow.document.createElement( 'div' ) ;
- oMsgDiv.innerHTML = sTime + ': <b>' + sMessage + '</b>' ;
- oDiv.appendChild( oMsgDiv ) ;
- oMsgDiv.scrollIntoView() ;
- }
-}
-
-function Clear()
-{
- oDiv.innerHTML = '' ;
-}
- </script>
- </head>
- <body onload="Initialize();" bottomMargin="10" leftMargin="10" topMargin="10" rightMargin="10">
- <TABLE height="100%" cellSpacing="5" cellPadding="0" width="100%" border="0">
- <TR>
- <TD>
- <TABLE cellSpacing="0" cellPadding="0" width="100%" border="0">
- <TR>
- <TD><FONT size="+2"><STRONG>FCKeditor Debug Window</STRONG></FONT></TD>
- <TD align="right"><INPUT type="button" value="Clear" onclick="Clear();"></TD>
- </TR>
- </TABLE>
- </TD>
- </TR>
- <TR>
- <TD height="100%" style="BORDER-RIGHT: #696969 1px solid; BORDER-TOP: #696969 1px solid; BORDER-LEFT: #696969 1px solid; BORDER-BOTTOM: #696969 1px solid">
- <iframe id="eOutput" name="eOutput" width="100%" height="100%" scrolling="auto" src="about:blank" frameborder="no"></iframe>
- </TD>
- </TR>
- </TABLE>
- </body>
-</html> \ No newline at end of file
diff --git a/lib/editor/fckdialog.html b/lib/editor/fckdialog.html
deleted file mode 100644
index 6f58dee..0000000
--- a/lib/editor/fckdialog.html
+++ /dev/null
@@ -1,299 +0,0 @@
-<!--
- * FCKeditor - The text editor for internet
- * Copyright (C) 2003-2004 Frederico Caldeira Knabben
- *
- * Licensed under the terms of the GNU Lesser General Public License:
- * http://www.opensource.org/licenses/lgpl-license.php
- *
- * For further information visit:
- * http://www.fckeditor.net/
- *
- * File Name: fckdialog.html
- * This page is used by all dialog box as the container.
- *
- * Version: 2.0 RC2
- * Modified: 2004-12-20 00:48:49
- *
- * File Authors:
- * Frederico Caldeira Knabben (fredck@fckeditor.net)
--->
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-<html>
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <meta name="robots" content="noindex, nofollow" />
- <script type="text/javascript">
-<!--
-
-// On some Gecko browsers (probably over slow connections) the
-// "dialogArguments" are not set so we must get it from the opener window.
-if ( !dialogArguments )
- dialogArguments = window.opener.FCKLastDialogInfo ;
-
-// Sets the Skin CSS
-document.write( '<link href="' + dialogArguments.Editor.FCKConfig.SkinPath + 'fck_dialog.css" type="text/css" rel="stylesheet">' ) ;
-
-// Sets the language direction.
-window.document.dir = dialogArguments.Editor.FCKLang.Dir ;
-
-var sTitle = dialogArguments.Title ;
-document.write( '<title>' + sTitle + '</title>' ) ;
-
-function LoadInnerDialog()
-{
- if ( window.onresize )
- window.onresize() ;
-
- // First of all, translate the dialog box contents.
- dialogArguments.Editor.FCKLanguageManager.TranslatePage( document ) ;
-
- window.frames["frmMain"].document.location.href = dialogArguments.Page ;
-}
-
-function InnerDialogLoaded()
-{
- var oInnerDoc = document.getElementById('frmMain').contentWindow.document ;
-
- // Set the language direction.
- oInnerDoc.dir = dialogArguments.Editor.FCKLang.Dir ;
-
- // Sets the Skin CSS.
- oInnerDoc.write( '<link href="' + dialogArguments.Editor.FCKConfig.SkinPath + 'fck_dialog.css" type="text/css" rel="stylesheet">' ) ;
-
- SetOnKeyDown( oInnerDoc ) ;
- DisableContextMenu( oInnerDoc ) ;
-
- return dialogArguments.Editor ;
-}
-
-function SetOkButton( showIt )
-{
- document.getElementById('btnOk').style.visibility = ( showIt ? '' : 'hidden' ) ;
-}
-
-var bAutoSize = false ;
-
-function SetAutoSize( autoSize )
-{
- bAutoSize = autoSize ;
- RefreshSize() ;
-}
-
-function RefreshSize()
-{
- if ( bAutoSize )
- {
- var oInnerDoc = document.getElementById('frmMain').contentWindow.document ;
-
- if ( document.all )
- var iFrameHeight = oInnerDoc.body.offsetHeight ;
- else
- var iFrameHeight = document.getElementById('frmMain').contentWindow.innerHeight ;
-
- var iInnerHeight = oInnerDoc.body.scrollHeight ;
-
- var iDiff = iInnerHeight - iFrameHeight ;
-
- if ( iDiff > 0 )
- {
- if ( document.all )
- window.dialogHeight = ( parseInt( window.dialogHeight ) + iDiff ) + 'px' ;
- else
- window.resizeBy( 0, iDiff ) ;
- }
- }
-}
-
-function Ok()
-{
- if ( window.frames["frmMain"].Ok && window.frames["frmMain"].Ok() )
- Cancel() ;
-}
-
-function Cancel()
-{
- window.close() ;
-}
-
-// Object that holds all available tabs.
-var oTabs = new Object() ;
-
-function AddTab( tabCode, tabText, startHidden )
-{
- if ( typeof( oTabs[ tabCode ] ) != 'undefined' )
- return ;
-
- var eTabsRow = document.getElementById( 'Tabs' ) ;
-
- var oCell = eTabsRow.insertCell( eTabsRow.cells.length - 1 ) ;
- oCell.noWrap = true ;
-
- var oDiv = document.createElement( 'DIV' ) ;
- oDiv.className = 'PopupTab' ;
- oDiv.innerHTML = tabText ;
- oDiv.TabCode = tabCode ;
- oDiv.onclick = function()
- {
- SetSelectedTab( this.TabCode ) ;
- }
-
- if ( startHidden )
- oDiv.style.display = 'none' ;
-
- var eTabsRow = document.getElementById( 'TabsRow' ) ;
-
- oCell.appendChild( oDiv ) ;
-
- if ( eTabsRow.style.display == 'none' )
- {
- var eTitleArea = document.getElementById( 'TitleArea' ) ;
- eTitleArea.className = 'PopupTitle' ;
-
- oDiv.className = 'PopupTabSelected' ;
- eTabsRow.style.display = '' ;
-
- if ( ! dialogArguments.Editor.FCKBrowserInfo.IsIE )
- window.onresize() ;
- }
-
- oTabs[ tabCode ] = oDiv ;
- oTabs[ tabCode ].Index = oTabs.length - 1 ;
-}
-
-function SetSelectedTab( tabCode )
-{
- for ( var sCode in oTabs )
- {
- if ( sCode == tabCode )
- oTabs[sCode].className = 'PopupTabSelected' ;
- else
- oTabs[sCode].className = 'PopupTab' ;
- }
-
- if ( typeof( window.frames["frmMain"].OnDialogTabChange ) == 'function' )
- window.frames["frmMain"].OnDialogTabChange( tabCode ) ;
-}
-
-function SetTabVisibility( tabCode, isVisible )
-{
- var oTab = oTabs[ tabCode ] ;
- oTab.style.display = isVisible ? '' : 'none' ;
-
- if ( ! isVisible && oTab.className == 'PopupTabSelected' )
- {
- for ( var sCode in oTabs )
- {
- if ( oTabs[sCode].style.display != 'none' )
- {
- SetSelectedTab( sCode ) ;
- break ;
- }
- }
- }
-}
-
-function SetOnKeyDown( targetDocument )
-{
- targetDocument.onkeydown = function ( e )
- {
- var e = e || event || this.parentWindow.event ;
- switch ( e.keyCode )
- {
- case 13 : // ENTER
- var oTarget = e.srcElement || e.target ;
- if ( oTarget.tagName == 'TEXTAREA' ) return ;
- Ok() ;
- return false ;
- case 27 : // ESC
- Cancel() ;
- return false ;
- break ;
- }
- }
-}
-SetOnKeyDown( document ) ;
-
-function DisableContextMenu( targetDocument )
-{
- if ( dialogArguments.Editor.FCKBrowserInfo.IsIE ) return ;
-
- // Disable Right-Click
- var oOnContextMenu = function( e )
- {
- var sTagName = e.target.tagName ;
- if ( ! ( ( sTagName == "INPUT" && e.target.type == "text" ) || sTagName == "TEXTAREA" ) )
- e.preventDefault() ;
- }
- targetDocument.addEventListener( 'contextmenu', oOnContextMenu, true ) ;
-}
-DisableContextMenu( document ) ;
-
-if ( ! dialogArguments.Editor.FCKBrowserInfo.IsIE )
-{
- window.onresize = function()
- {
- var oFrame = document.getElementById("frmMain") ;
-
- if ( ! oFrame )
- return ;
-
- oFrame.height = 0 ;
-
- var oCell = document.getElementById("FrameCell") ;
- var iHeight = oCell.offsetHeight ;
-
- oFrame.height = iHeight - 2 ;
- }
-}
-
-window.onfocus = function()
-{
- document.getElementById('frmMain').contentWindow.focus() ;
-}
-
-//-->
- </script>
- </head>
- <body onload="LoadInnerDialog();" class="PopupBody">
- <table height="100%" cellspacing="0" cellpadding="0" width="100%" border="0">
- <tr>
- <td id="TitleArea" class="PopupTitle PopupTitleBorder">
- <script type="text/javascript">
-<!--
-document.write( sTitle ) ;
-//-->
- </script>
- </td>
- </tr>
- <tr id="TabsRow" style="DISPLAY: none">
- <td class="PopupTabArea">
- <table border="0" cellpadding="0" cellspacing="0" width="100%">
- <tr id="Tabs" onselectstart="return false;">
- <td class="PopupTabEmptyArea">&nbsp;</td>
- <td class="PopupTabEmptyArea" width="100%">&nbsp;</td>
- </tr>
- </table>
- </td>
- </tr>
- <tr>
- <td id="FrameCell" height="100%" valign="top">
- <iframe id="frmMain" name="frmMain" frameborder="0" height="100%" width="100%" scrolling="auto">
- </iframe>
- </td>
- </tr>
- <tr>
- <td class="PopupButtons">
- <table border="0" cellpadding="0" cellspacing="0">
- <tr>
- <td width="100%">&nbsp;</td>
- <td nowrap="nowrap">
- <input id="btnOk" style="VISIBILITY: hidden; WIDTH: 100px" type="button" value="Ok" class="Button"
- onclick="Ok();" fckLang="DlgBtnOK" />&nbsp; <input type="button" value="Cancel" class="Button" onclick="Cancel();" fckLang="DlgBtnCancel" />
- </td>
- </tr>
- </table>
- </td>
- </tr>
- </table>
- </body>
-</html> \ No newline at end of file
diff --git a/lib/editor/fckeditor.html b/lib/editor/fckeditor.html
deleted file mode 100644
index 82bdcdf..0000000
--- a/lib/editor/fckeditor.html
+++ /dev/null
@@ -1,59 +0,0 @@
-<!--
- * FCKeditor - The text editor for internet
- * Copyright (C) 2003-2004 Frederico Caldeira Knabben
- *
- * Licensed under the terms of the GNU Lesser General Public License:
- * http://www.opensource.org/licenses/lgpl-license.php
- *
- * For further information visit:
- * http://www.fckeditor.net/
- *
- * File Name: fckeditor.html
- * Main page that holds the editor.
- *
- * Version: 2.0 RC2
- * Modified: 2004-12-17 00:00:32
- *
- * File Authors:
- * Frederico Caldeira Knabben (fredck@fckeditor.net)
--->
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-<html>
- <head>
- <title>FCKeditor</title>
- <meta name="robots" content="noindex, nofollow" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <script type="text/javascript" src="lang/fcklanguagemanager.js"></script>
- <meta http-equiv="Cache-Control" content="public">
- <script type="text/javascript" src="js/fck_startup.js"></script>
- </head>
- <body>
- <table height="100%" width="100%" cellpadding="0" cellspacing="0" border="0" style="TABLE-LAYOUT: fixed">
- <tr>
- <td unselectable="on" style="OVERFLOW: hidden">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr id="Collapsed" style="DISPLAY: none">
- <td id="ExpandHandle" class="TB_Expand" unselectable="on" colspan="3" onclick="FCKToolbarSet.Expand();return false;"><img class="TB_ExpandImg" src="images/spacer.gif" width="8" height="4" unselectable="on"></td>
- </tr>
- <tr id="Expanded" style="DISPLAY: none">
- <td id="CollapseHandle" style="DISPLAY: none" class="TB_Collapse"
- unselectable="on" valign="bottom" onclick="FCKToolbarSet.Collapse();return false;"><img class="TB_CollapseImg" src="images/spacer.gif" width="8" height="4" unselectable="on"></td>
- <td id="eToolbar" class="TB_ToolbarSet" unselectable="on"></td>
- <td width="1" style="BACKGROUND-COLOR: #696969"></td>
- </tr>
- </table>
- </td>
- </tr>
- <tr id="eWysiwyg">
- <td id="eWysiwygCell" height="100%" valign="top">
- <iframe id="eEditorArea" name="eEditorArea" height="100%" width="100%" frameborder="no" src="fckeditorarea.html"></iframe>
- </td>
- </tr>
- <tr id="eSource" style="DISPLAY: none">
- <td class="Source" height="100%" valign="top">
- <textarea id="eSourceField" style="WIDTH: 100%; HEIGHT: 100%"></textarea>
- </td>
- </tr>
- </table>
- </body>
-</html>
diff --git a/lib/editor/fckeditor.original.html b/lib/editor/fckeditor.original.html
deleted file mode 100644
index 2294d6b..0000000
--- a/lib/editor/fckeditor.original.html
+++ /dev/null
@@ -1,75 +0,0 @@
-<!--
- * FCKeditor - The text editor for internet
- * Copyright (C) 2003-2004 Frederico Caldeira Knabben
- *
- * Licensed under the terms of the GNU Lesser General Public License:
- * http://www.opensource.org/licenses/lgpl-license.php
- *
- * For further information visit:
- * http://www.fckeditor.net/
- *
- * File Name: fckeditor.original.html
- * Main page that holds the editor.
- *
- * Version: 2.0 RC2
- * Modified: 2004-12-17 00:00:32
- *
- * File Authors:
- * Frederico Caldeira Knabben (fredck@fckeditor.net)
--->
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-<html>
- <head>
- <title>FCKeditor</title>
- <meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5"> <!-- @Packager.RemoveLine -->
- <meta name="robots" content="noindex, nofollow" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <script type="text/javascript" src="lang/fcklanguagemanager.js"></script>
- <!-- @Packager.RemoveLine
- <meta http-equiv="Cache-Control" content="public">
- @Packager.RemoveLine -->
- <!-- @Packager.Remove.Start -->
- <script type="text/javascript" src="_source/internals/fckcoreextensions.js"></script>
- <script type="text/javascript" src="_source/globals/fck_constants.js"></script>
- <script type="text/javascript" src="_source/internals/fckbrowserinfo.js"></script>
- <script type="text/javascript" src="_source/internals/fckscriptloader.js"></script>
- <script type="text/javascript" src="_source/internals/fckurlparams.js"></script>
- <script type="text/javascript" src="_source/internals/fck.js"></script>
- <script type="text/javascript" src="_source/internals/fckconfig.js"></script>
- <script type="text/javascript" src="_source/globals/fckeditorapi.js"></script>
- <script type="text/javascript" src="_source/internals/fck_onload.js"></script>
- <!-- @Packager.Remove.End -->
- <!-- @Packager.RemoveLine
- <script type="text/javascript" src="js/fck_startup.js"></script>
- @Packager.RemoveLine -->
- </head>
- <body>
- <table height="100%" width="100%" cellpadding="0" cellspacing="0" border="0" style="TABLE-LAYOUT: fixed">
- <tr>
- <td unselectable="on" style="OVERFLOW: hidden">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr id="Collapsed" style="DISPLAY: none">
- <td id="ExpandHandle" class="TB_Expand" unselectable="on" colspan="3" onclick="FCKToolbarSet.Expand();return false;"><img class="TB_ExpandImg" src="images/spacer.gif" width="8" height="4" unselectable="on"></td>
- </tr>
- <tr id="Expanded" style="DISPLAY: none">
- <td id="CollapseHandle" style="DISPLAY: none" class="TB_Collapse"
- unselectable="on" valign="bottom" onclick="FCKToolbarSet.Collapse();return false;"><img class="TB_CollapseImg" src="images/spacer.gif" width="8" height="4" unselectable="on"></td>
- <td id="eToolbar" class="TB_ToolbarSet" unselectable="on"></td>
- <td width="1" style="BACKGROUND-COLOR: #696969"></td>
- </tr>
- </table>
- </td>
- </tr>
- <tr id="eWysiwyg">
- <td id="eWysiwygCell" height="100%" valign="top">
- <iframe id="eEditorArea" name="eEditorArea" height="100%" width="100%" frameborder="no" src="fckeditorarea.html"></iframe>
- </td>
- </tr>
- <tr id="eSource" style="DISPLAY: none">
- <td class="Source" height="100%" valign="top">
- <textarea id="eSourceField" style="WIDTH: 100%; HEIGHT: 100%"></textarea>
- </td>
- </tr>
- </table>
- </body>
-</html>
diff --git a/lib/editor/fckeditorarea.html b/lib/editor/fckeditorarea.html
deleted file mode 100644
index 837c2c9..0000000
--- a/lib/editor/fckeditorarea.html
+++ /dev/null
@@ -1,8 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html>
- <head>
- <title>FCKeditor - Editor Area</title>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- </head>
- <body></body>
-</html>
diff --git a/lib/editor/filemanager/browser/default/Browser.css b/lib/editor/filemanager/browser/default/Browser.css
deleted file mode 100644
index 17bffa1..0000000
--- a/lib/editor/filemanager/browser/default/Browser.css
+++ /dev/null
@@ -1,85 +0,0 @@
-/*
- * FCKeditor - The text editor for internet
- * Copyright (C) 2003-2004 Frederico Caldeira Knabben
- *
- * Licensed under the terms of the GNU Lesser General Public License:
- * http://www.opensource.org/licenses/lgpl-license.php
- *
- * For further information visit:
- * http://www.fckeditor.net/
- *
- * File Name: Browser.css
- * CSS styles used by all pages that compose the File Browser.
- *
- * Version: 2.0 RC2
- * Modified: 2004-05-31 23:07:52
- *
- * File Authors:
- * Frederico Caldeira Knabben (fredck@fckeditor.net)
- */
-
-body
-{
- background-color: #f1f1e3;
-}
-
-form
-{
- margin: 0px 0px 0px 0px ;
- padding: 0px 0px 0px 0px ;
-}
-
-.Frame
-{
- background-color: #f1f1e3;
- border-color: #f1f1e3;
- border-right: thin inset;
- border-top: thin inset;
- border-left: thin inset;
- border-bottom: thin inset;
-}
-
-body.FileArea
-{
-
- background-color: #ffffff;
-}
-
-body, td, input, select
-{
- font-size: 11px;
- font-family: 'Microsoft Sans Serif' , Arial, Helvetica, Verdana;
-}
-
-.ActualFolder
-{
- font-weight: bold;
- font-size: 14px;
-}
-
-.PopupButtons
-{
- border-top: #d5d59d 1px solid;
- background-color: #e3e3c7;
- padding: 7px 10px 7px 10px;
-}
-
-.Button, button
-{
- border-right: #737357 1px solid;
- border-top: #737357 1px solid;
- border-left: #737357 1px solid;
- color: #3b3b1f;
- border-bottom: #737357 1px solid;
- background-color: #c7c78f;
-}
-
-.FolderListCurrentFolder img
-{
- background-image: url(images/FolderOpened.gif);
-}
-
-.FolderListFolder img
-{
- background-image: url(images/Folder.gif);
-} \ No newline at end of file
diff --git a/lib/editor/filemanager/browser/default/browser.html b/lib/editor/filemanager/browser/default/browser.html
deleted file mode 100644
index efb58dd..0000000
--- a/lib/editor/filemanager/browser/default/browser.html
+++ /dev/null
@@ -1,114 +0,0 @@
-<!--
- * FCKeditor - The text editor for internet
- * Copyright (C) 2003-2004 Frederico Caldeira Knabben
- *
- * Licensed under the terms of the GNU Lesser General Public License:
- * http://www.opensource.org/licenses/lgpl-license.php
- *
- * For further information visit:
- * http://www.fckeditor.net/
- *
- * File Name: browser.html
- * This page compose the File Browser dialog frameset.
- *
- * Version: 2.0 RC2
- * Modified: 2004-11-29 02:03:05
- *
- * File Authors:
- * Frederico Caldeira Knabben (fredck@fckeditor.net)
--->
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-<html>
- <head>
- <title>FCKeditor - Resources Browser</title>
- <meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
- <link href="Browser.css" type="text/css" rel="stylesheet">
- <script type="text/javascript" src="js/fckxml.js"></script>
- <script language="javascript">
-
-function GetUrlParam( paramName )
-{
- var oRegex = new RegExp( '[\?&]' + paramName + '=([^&]+)', 'i' ) ;
- var oMatch = oRegex.exec( window.top.location.search ) ;
-
- if ( oMatch && oMatch.length > 1 )
- return oMatch[1] ;
- else
- return '' ;
-}
-
-var oConnector = new Object() ;
-oConnector.CurrentFolder = '/' ;
-
-var sConnUrl = GetUrlParam( 'Connector' ) ;
-
-// Gecko has some problems when using relative URLs (not starting with slash).
-if ( sConnUrl.substr(0,1) != '/' && sConnUrl.indexOf( '://' ) < 0 )
- sConnUrl = window.location.href.replace( /browser.html.*$/, '' ) + sConnUrl ;
-
-oConnector.ConnectorUrl = sConnUrl + '?' ;
-
-var sServerPath = GetUrlParam( 'ServerPath' ) ;
-if ( sServerPath.length > 0 )
- oConnector.ConnectorUrl += 'ServerPath=' + escape( sServerPath ) + '&' ;
-
-oConnector.ResourceType = GetUrlParam( 'Type' ) ;
-oConnector.ShowAllTypes = ( oConnector.ResourceType.length == 0 ) ;
-
-if ( oConnector.ShowAllTypes )
- oConnector.ResourceType = 'File' ;
-
-oConnector.SendCommand = function( command, params, callBackFunction )
-{
- var sUrl = this.ConnectorUrl + 'Command=' + command ;
- sUrl += '&Type=' + this.ResourceType ;
- sUrl += '&CurrentFolder=' + escape( this.CurrentFolder ) ;
-
- if ( params ) sUrl += '&' + params ;
-
- var oXML = new FCKXml() ;
-
- if ( callBackFunction )
- oXML.LoadUrl( sUrl, callBackFunction ) ; // Asynchronous load.
- else
- return oXML.LoadUrl( sUrl ) ;
-}
-
-var oIcons = new Object() ;
-
-oIcons.AvailableIconsArray = [
- 'ai','avi','bmp','cs','dll','doc','exe','fla','gif','htm','html','jpg','js',
- 'mdb','mp3','pdf','ppt','rdp','swf','swt','txt','vsd','xls','xml','zip' ] ;
-
-oIcons.AvailableIcons = new Object() ;
-
-for ( var i = 0 ; i < oIcons.AvailableIconsArray.length ; i++ )
- oIcons.AvailableIcons[ oIcons.AvailableIconsArray[i] ] = true ;
-
-oIcons.GetIcon = function( fileName )
-{
- var sExtension = fileName.substr( fileName.lastIndexOf('.') + 1 ).toLowerCase() ;
-
- if ( this.AvailableIcons[ sExtension ] == true )
- return sExtension ;
- else
- return 'default.icon' ;
-}
- </script>
- </head>
- <frameset cols="150,*" class="Frame" framespacing="3" bordercolor="#f1f1e3" frameborder="yes">
- <frameset rows="50,*" framespacing="0">
- <frame src="frmresourcetype.html" scrolling="no" frameborder="no">
- <frame name="frmFolders" src="frmfolders.html" scrolling="auto" frameborder="yes">
- </frameset>
- <frameset rows="50,*,50" framespacing="0">
- <frame name="frmActualFolder" src="frmactualfolder.html" scrolling="no" frameborder="no">
- <frame name="frmResourcesList" src="frmresourceslist.html" scrolling="auto" frameborder="yes">
- <frameset cols="150,*,0" framespacing="0" frameborder="no">
- <frame name="frmCreateFolder" src="frmcreatefolder.html" scrolling="no" frameborder="no">
- <frame name="frmUpload" src="frmupload.html" scrolling="no" frameborder="no">
- <frame name="frmUploadWorker" src="" scrolling="no" frameborder="no">
- </frameset>
- </frameset>
- </frameset>
-</html>
diff --git a/lib/editor/filemanager/browser/default/connectors/asp/basexml.asp b/lib/editor/filemanager/browser/default/connectors/asp/basexml.asp
deleted file mode 100644
index 9ef8d22..0000000
--- a/lib/editor/filemanager/browser/default/connectors/asp/basexml.asp
+++ /dev/null
@@ -1,35 +0,0 @@
-<!--
- * FCKeditor - The text editor for internet
- * Copyright (C) 2003-2004 Frederico Caldeira Knabben
- *
- * Licensed under the terms of the GNU Lesser General Public License:
- * http://www.opensource.org/licenses/lgpl-license.php
- *
- * For further information visit:
- * http://www.fckeditor.net/
- *
- * File Name: basexml.asp
- * This file include the functions that create the base XML output.
- *
- * Version: 2.0 RC2
- * Modified: 2004-12-10 17:00:56
- *
- * File Authors:
- * Frederico Caldeira Knabben (fredck@fckeditor.net)
--->
-<%
-Sub CreateXmlHeader( command, resourceType, currentFolder )
- ' Create the XML document header.
- Response.Write "<?xml version=""1.0"" encoding=""utf-8"" ?>"
-
- ' Create the main "Connector" node.
- Response.Write "<Connector command=""" & command & """ resourceType=""" & resourceType & """>"
-
- ' Add the current folder node.
- Response.Write "<CurrentFolder path=""" & ConvertToXmlAttribute( currentFolder ) & """ url=""" & ConvertToXmlAttribute( GetUrlFromPath( resourceType, currentFolder) ) & """ />"
-End Sub
-
-Sub CreateXmlFooter()
- Response.Write "</Connector>"
-End Sub
-%> \ No newline at end of file
diff --git a/lib/editor/filemanager/browser/default/connectors/asp/class_upload.asp b/lib/editor/filemanager/browser/default/connectors/asp/class_upload.asp
deleted file mode 100644
index e2394d9..0000000
--- a/lib/editor/filemanager/browser/default/connectors/asp/class_upload.asp
+++ /dev/null
@@ -1,166 +0,0 @@
-<!--
- * FCKeditor - The text editor for internet
- * Copyright (C) 2003-2004 Frederico Caldeira Knabben
- *
- * Licensed under the terms of the GNU Lesser General Public License:
- * http://www.opensource.org/licenses/lgpl-license.php
- *
- * For further information visit:
- * http://www.fckeditor.net/
- *
- * File Name: class_upload.asp
- * Is are the classes used to handle ASP upload without using third
- * part components (OCX/DLL).
- *
- * Version: 2.0 RC2
- * Modified: 2004-11-29 02:19:23
- *
- * File Authors:
- * Frederico Caldeira Knabben (fredck@fckeditor.net)
--->
-<%
-'***************************************
-' File: Upload.asp
-' Author: Jacob "Beezle" Gilley
-' Email: avis7@airmail.net
-' Date: 12/07/2000
-' Comments: The code for the Upload, CByteString,
-' CWideString subroutines was originally
-' written by Philippe Collignon...or so
-' he claims. Also, I am not responsible
-' for any ill effects this script may
-' cause and provide this script "AS IS".
-' Enjoy!
-'****************************************
-
-Class FileUploader
- Public Files
- Private mcolFormElem
-
- Private Sub Class_Initialize()
- Set Files = Server.CreateObject("Scripting.Dictionary")
- Set mcolFormElem = Server.CreateObject("Scripting.Dictionary")
- End Sub
-
- Private Sub Class_Terminate()
- If IsObject(Files) Then
- Files.RemoveAll()
- Set Files = Nothing
- End If
- If IsObject(mcolFormElem) Then
- mcolFormElem.RemoveAll()
- Set mcolFormElem = Nothing
- End If
- End Sub
-
- Public Property Get Form(sIndex)
- Form = ""
- If mcolFormElem.Exists(LCase(sIndex)) Then Form = mcolFormElem.Item(LCase(sIndex))
- End Property
-
- Public Default Sub Upload()
- Dim biData, sInputName
- Dim nPosBegin, nPosEnd, nPos, vDataBounds, nDataBoundPos
- Dim nPosFile, nPosBound
-
- biData = Request.BinaryRead(Request.TotalBytes)
- nPosBegin = 1
- nPosEnd = InstrB(nPosBegin, biData, CByteString(Chr(13)))
-
- If (nPosEnd-nPosBegin) <= 0 Then Exit Sub
-
- vDataBounds = MidB(biData, nPosBegin, nPosEnd-nPosBegin)
- nDataBoundPos = InstrB(1, biData, vDataBounds)
-
- Do Until nDataBoundPos = InstrB(biData, vDataBounds & CByteString("--"))
-
- nPos = InstrB(nDataBoundPos, biData, CByteString("Content-Disposition"))
- nPos = InstrB(nPos, biData, CByteString("name="))
- nPosBegin = nPos + 6
- nPosEnd = InstrB(nPosBegin, biData, CByteString(Chr(34)))
- sInputName = CWideString(MidB(biData, nPosBegin, nPosEnd-nPosBegin))
- nPosFile = InstrB(nDataBoundPos, biData, CByteString("filename="))
- nPosBound = InstrB(nPosEnd, biData, vDataBounds)
-
- If nPosFile <> 0 And nPosFile < nPosBound Then
- Dim oUploadFile, sFileName
- Set oUploadFile = New UploadedFile
-
- nPosBegin = nPosFile + 10
- nPosEnd = InstrB(nPosBegin, biData, CByteString(Chr(34)))
- sFileName = CWideString(MidB(biData, nPosBegin, nPosEnd-nPosBegin))
- oUploadFile.FileName = Right(sFileName, Len(sFileName)-InStrRev(sFileName, "\"))
-
- nPos = InstrB(nPosEnd, biData, CByteString("Content-Type:"))
- nPosBegin = nPos + 14
- nPosEnd = InstrB(nPosBegin, biData, CByteString(Chr(13)))
-
- oUploadFile.ContentType = CWideString(MidB(biData, nPosBegin, nPosEnd-nPosBegin))
-
- nPosBegin = nPosEnd+4
- nPosEnd = InstrB(nPosBegin, biData, vDataBounds) - 2
- oUploadFile.FileData = MidB(biData, nPosBegin, nPosEnd-nPosBegin)
-
- If oUploadFile.FileSize > 0 Then Files.Add LCase(sInputName), oUploadFile
- Else
- nPos = InstrB(nPos, biData, CByteString(Chr(13)))
- nPosBegin = nPos + 4
- nPosEnd = InstrB(nPosBegin, biData, vDataBounds) - 2
- If Not mcolFormElem.Exists(LCase(sInputName)) Then mcolFormElem.Add LCase(sInputName), CWideString(MidB(biData, nPosBegin, nPosEnd-nPosBegin))
- End If
-
- nDataBoundPos = InstrB(nDataBoundPos + LenB(vDataBounds), biData, vDataBounds)
- Loop
- End Sub
-
- 'String to byte string conversion
- Private Function CByteString(sString)
- Dim nIndex
- For nIndex = 1 to Len(sString)
- CByteString = CByteString & ChrB(AscB(Mid(sString,nIndex,1)))
- Next
- End Function
-
- 'Byte string to string conversion
- Private Function CWideString(bsString)
- Dim nIndex
- CWideString =""
- For nIndex = 1 to LenB(bsString)
- CWideString = CWideString & Chr(AscB(MidB(bsString,nIndex,1)))
- Next
- End Function
-End Class
-
-Class UploadedFile
- Public ContentType
- Public FileName
- Public FileData
-
- Public Property Get FileSize()
- FileSize = LenB(FileData)
- End Property
-
- Public Sub SaveToDisk(sFilePath)
- Dim oFS, oFile
- Dim nIndex
-
- Set oFS = Server.CreateObject("Scripting.FileSystemObject")
- Set oFile = oFS.CreateTextFile(sFilePath, True)
-
- For nIndex = 1 to LenB(FileData)
- oFile.Write Chr(AscB(MidB(FileData,nIndex,1)))
- Next
-
- oFile.Close
- End Sub
-
- Public Sub SaveToDatabase(ByRef oField)
- If LenB(FileData) = 0 Then Exit Sub
-
- If IsObject(oField) Then
- oField.AppendChunk FileData
- End If
- End Sub
-
-End Class
-%> \ No newline at end of file
diff --git a/lib/editor/filemanager/browser/default/connectors/asp/commands.asp b/lib/editor/filemanager/browser/default/connectors/asp/commands.asp
deleted file mode 100644
index 1714324..0000000
--- a/lib/editor/filemanager/browser/default/connectors/asp/commands.asp
+++ /dev/null
@@ -1,182 +0,0 @@
-<!--
- * FCKeditor - The text editor for internet
- * Copyright (C) 2003-2004 Frederico Caldeira Knabben
- *
- * Licensed under the terms of the GNU Lesser General Public License:
- * http://www.opensource.org/licenses/lgpl-license.php
- *
- * For further information visit:
- * http://www.fckeditor.net/
- *
- * File Name: commands.asp
- * This file include the functions that handle the Command requests
- * in the ASP Connector.
- *
- * Version: 2.0 RC2
- * Modified: 2004-12-10 17:00:56
- *
- * File Authors:
- * Frederico Caldeira Knabben (fredck@fckeditor.net)
--->
-<%
-Sub GetFolders( resourceType, currentFolder )
- ' Map the virtual path to the local server path.
- Dim sServerDir
- sServerDir = ServerMapFolder( resourceType, currentFolder )
-
- ' Open the "Folders" node.
- Response.Write "<Folders>"
-
- Dim oFSO, oCurrentFolder, oFolders, oFolder
- Set oFSO = Server.CreateObject( "Scripting.FileSystemObject" )
- Set oCurrentFolder = oFSO.GetFolder( sServerDir )
- Set oFolders = oCurrentFolder.SubFolders
-
- For Each oFolder in oFolders
- Response.Write "<Folder name=""" & ConvertToXmlAttribute( oFolder.name ) & """ />"
- Next
-
- Set oFSO = Nothing
-
- ' Close the "Folders" node.
- Response.Write "</Folders>"
-End Sub
-
-Sub GetFoldersAndFiles( resourceType, currentFolder )
- ' Map the virtual path to the local server path.
- Dim sServerDir
- sServerDir = ServerMapFolder( resourceType, currentFolder )
-
- Dim oFSO, oCurrentFolder, oFolders, oFolder, oFiles, oFile
- Set oFSO = Server.CreateObject( "Scripting.FileSystemObject" )
- Set oCurrentFolder = oFSO.GetFolder( sServerDir )
- Set oFolders = oCurrentFolder.SubFolders
- Set oFiles = oCurrentFolder.Files
-
- ' Open the "Folders" node.
- Response.Write "<Folders>"
-
- For Each oFolder in oFolders
- Response.Write "<Folder name=""" & ConvertToXmlAttribute( oFolder.name ) & """ />"
- Next
-
- ' Close the "Folders" node.
- Response.Write "</Folders>"
-
- ' Open the "Files" node.
- Response.Write "<Files>"
-
- For Each oFile in oFiles
- Dim iFileSize
- iFileSize = Round( oFile.size / 1024 )
- If ( iFileSize < 1 AND oFile.size <> 0 ) Then iFileSize = 1
-
- Response.Write "<File name=""" & ConvertToXmlAttribute( oFile.name ) & """ size=""" & iFileSize & """ />"
- Next
-
- ' Close the "Files" node.
- Response.Write "</Files>"
-End Sub
-
-Sub CreateFolder( resourceType, currentFolder )
- Dim sErrorNumber
-
- Dim sNewFolderName
- sNewFolderName = Request.QueryString( "NewFolderName" )
-
- If ( sNewFolderName = "" ) Then
- sErrorNumber = "102"
- Else
- ' Map the virtual path to the local server path of the current folder.
- Dim sServerDir
- sServerDir = ServerMapFolder( resourceType, currentFolder & "/" & sNewFolderName )
-
- On Error Resume Next
-
- CreateServerFolder sServerDir
-
- Dim iErrNumber, sErrDescription
- iErrNumber = err.number
- sErrDescription = err.Description
-
- On Error Goto 0
-
- Select Case iErrNumber
- Case 0
- sErrorNumber = "0"
- Case 52
- sErrorNumber = "102" ' Invalid Folder Name.
- Case 70
- sErrorNumber = "103" ' Security Error.
- Case 76
- sErrorNumber = "102" ' Path too long.
- Case Else
- sErrorNumber = "110"
- End Select
- End If
-
- ' Create the "Error" node.
- Response.Write "<Error number=""" & sErrorNumber & """ originalNumber=""" & iErrNumber & """ originalDescription=""" & ConvertToXmlAttribute( sErrDescription ) & """ />"
-End Sub
-
-Sub FileUpload( resourceType, currentFolder )
- Dim oUploader
- Set oUploader = New FileUploader
- oUploader.Upload
-
- Dim oFile
-
- If ( oUploader.Files.Count > 0 ) Then
- ' Get the first file (this was the only way it worked).
- For Each oFile in oUploader.Files.Items
- Exit For
- Next
- End If
-
- Dim sErrorNumber
- sErrorNumber = "0"
-
- Dim sFileName, sOriginalFileName
- sFileName = ""
-
- If ( IsEmpty( oFile ) = False ) Then
- ' Map the virtual path to the local server path.
- Dim sServerDir
- sServerDir = ServerMapFolder( resourceType, currentFolder )
-
- Dim oFSO
- Set oFSO = Server.CreateObject( "Scripting.FileSystemObject" )
-
- ' Get the uploaded file name.
- sFileName = oFSO.GetFileName( oFile.FileName )
- sOriginalFileName = sFileName
-
- Dim iCounter
- iCounter = 0
-
- Do While ( True )
- Dim sFilePath
- sFilePath = sServerDir & sFileName
-
- If ( oFSO.FileExists( sFilePath ) ) Then
- iCounter = iCounter + 1
- sFileName = RemoveExtension( sOriginalFileName ) & "(" & iCounter & ")." & oFSO.GetExtensionName( sFileName )
- sErrorNumber = "201"
- Else
- oFile.SaveToDisk( sFilePath )
- Exit Do
- End If
- Loop
- Else
- sErrorNumber = "202"
- End If
-
- Response.Clear
-
- Response.Write "<script type=""text/javascript"">"
- Response.Write "window.parent.frames['frmUpload'].OnUploadCompleted(" & sErrorNumber & ",'" & Replace( sFileName, "'", "\'" ) & "') ;"
- Response.Write "</script>"
-
- Response.End
-End Sub
-%> \ No newline at end of file
diff --git a/lib/editor/filemanager/browser/default/connectors/asp/connector.asp b/lib/editor/filemanager/browser/default/connectors/asp/connector.asp
deleted file mode 100644
index 9bb85c5..0000000
--- a/lib/editor/filemanager/browser/default/connectors/asp/connector.asp
+++ /dev/null
@@ -1,99 +0,0 @@
-<%@ CodePage=65001 Language="VBScript"%>
-<%
-Option Explicit
-%>
-<!--
- * FCKeditor - The text editor for internet
- * Copyright (C) 2003-2004 Frederico Caldeira Knabben
- *
- * Licensed under the terms of the GNU Lesser General Public License:
- * http://www.opensource.org/licenses/lgpl-license.php
- *
- * For further information visit:
- * http://www.fckeditor.net/
- *
- * File Name: connector.asp
- * This is the File Manager Connector for ASP.
- *
- * Version: 2.0 RC2
- * Modified: 2004-12-10 16:43:33
- *
- * File Authors:
- * Frederico Caldeira Knabben (fredck@fckeditor.net)
--->
-<!--#include file="util.asp"-->
-<!--#include file="io.asp"-->
-<!--#include file="basexml.asp"-->
-<!--#include file="commands.asp"-->
-<!--#include file="class_upload.asp"-->
-<%
-' Get the "UserFiles" path.
-Dim sUserFilesPath
-sUserFilesPath = Request.QueryString("ServerPath")
-
-If ( sUserFilesPath = "" ) Then
- sUserFilesPath = "/UserFiles/"
-ElseIf ( Right( sUserFilesPath, 1 ) <> "/" ) Then
- sUserFilesPath = sUserFilesPath & "/"
-End If
-
-' Map the "UserFiles" path to a local directory.
-Dim sUserFilesDirectory
-sUserFilesDirectory = Server.MapPath( sUserFilesPath )
-
-If ( Right( sUserFilesDirectory, 1 ) <> "\" ) Then
- sUserFilesDirectory = sUserFilesDirectory & "\"
-End If
-
-DoResponse
-
-Sub DoResponse()
- Dim sCommand, sResourceType, sCurrentFolder
-
- ' Get the main request informaiton.
- sCommand = Request.QueryString("Command")
- If ( sCommand = "" ) Then Exit Sub
-
- sResourceType = Request.QueryString("Type")
- If ( sResourceType = "" ) Then Exit Sub
-
- sCurrentFolder = Request.QueryString("CurrentFolder")
- If ( sCurrentFolder = "" ) Then Exit Sub
-
- ' Check the current folder syntax (must begin and start with a slash).
- If ( Right( sCurrentFolder, 1 ) <> "/" ) Then sCurrentFolder = sCurrentFolder & "/"
- If ( Left( sCurrentFolder, 1 ) <> "/" ) Then sCurrentFolder = "/" & sCurrentFolder
-
- ' File Upload doesn't have to Return XML, so it must be intercepted before anything.
- If ( sCommand = "FileUpload" ) Then
- FileUpload sResourceType, sCurrentFolder
- Exit Sub
- End If
-
- ' Cleans the response buffer.
- Response.Clear()
-
- ' Prevent the browser from caching the result.
- Response.CacheControl = "no-cache"
-
- ' Set the response format.
- Response.CharSet = "UTF-8"
- Response.ContentType = "text/xml"
-
- CreateXmlHeader sCommand, sResourceType, sCurrentFolder
-
- ' Execute the required command.
- Select Case sCommand
- Case "GetFolders"
- GetFolders sResourceType, sCurrentFolder
- Case "GetFoldersAndFiles"
- GetFoldersAndFiles sResourceType, sCurrentFolder
- Case "CreateFolder"
- CreateFolder sResourceType, sCurrentFolder
- End Select
-
- CreateXmlFooter
-
- Response.End
-End Sub
-%> \ No newline at end of file
diff --git a/lib/editor/filemanager/browser/default/connectors/asp/io.asp b/lib/editor/filemanager/browser/default/connectors/asp/io.asp
deleted file mode 100644
index b909fdd..0000000
--- a/lib/editor/filemanager/browser/default/connectors/asp/io.asp
+++ /dev/null
@@ -1,61 +0,0 @@
-<!--
- * FCKeditor - The text editor for internet
- * Copyright (C) 2003-2004 Frederico Caldeira Knabben
- *
- * Licensed under the terms of the GNU Lesser General Public License:
- * http://www.opensource.org/licenses/lgpl-license.php
- *
- * For further information visit:
- * http://www.fckeditor.net/
- *
- * File Name: io.asp
- * This file include IO specific functions used by the ASP Connector.
- *
- * Version: 2.0 RC2
- * Modified: 2004-11-29 02:16:56
- *
- * File Authors:
- * Frederico Caldeira Knabben (fredck@fckeditor.net)
--->
-<%
-Function GetUrlFromPath( resourceType, folderPath )
- If resourceType = "" Then
- GetUrlFromPath = RemoveFromEnd( sUserFilesPath, "/" ) & folderPath
- Else
- GetUrlFromPath = sUserFilesPath & resourceType & folderPath
- End If
-End Function
-
-Function RemoveExtension( fileName )
- RemoveExtension = Left( fileName, InStrRev( fileName, "." ) - 1 )
-End Function
-
-Function ServerMapFolder( resourceType, folderPath )
- ' Get the resource type directory.
- Dim sResourceTypePath
- sResourceTypePath = sUserFilesDirectory & resourceType & "\"
-
- ' Ensure that the directory exists.
- CreateServerFolder sResourceTypePath
-
- ' Return the resource type directory combined with the required path.
- ServerMapFolder = sResourceTypePath & RemoveFromStart( folderPath, "/" )
-End Function
-
-Sub CreateServerFolder( folderPath )
- Dim oFSO
- Set oFSO = Server.CreateObject( "Scripting.FileSystemObject" )
-
- Dim sParent
- sParent = oFSO.GetParentFolderName( folderPath )
-
- ' Check if the parent exists, or create it.
- If ( NOT oFSO.FolderExists( sParent ) ) Then CreateServerFolder( sParent )
-
- If ( oFSO.FolderExists( folderPath ) = False ) Then
- oFSO.CreateFolder( folderPath )
- End If
-
- Set oFSO = Nothing
-End Sub
-%> \ No newline at end of file
diff --git a/lib/editor/filemanager/browser/default/connectors/asp/util.asp b/lib/editor/filemanager/browser/default/connectors/asp/util.asp
deleted file mode 100644
index d751222..0000000
--- a/lib/editor/filemanager/browser/default/connectors/asp/util.asp
+++ /dev/null
@@ -1,40 +0,0 @@
-<!--
- * FCKeditor - The text editor for internet
- * Copyright (C) 2003-2004 Frederico Caldeira Knabben
- *
- * Licensed under the terms of the GNU Lesser General Public License:
- * http://www.opensource.org/licenses/lgpl-license.php
- *
- * For further information visit:
- * http://www.fckeditor.net/
- *
- * File Name: util.asp
- * This file include generic functions used by the ASP Connector.
- *
- * Version: 2.0 RC2
- * Modified: 2004-12-10 17:02:49
- *
- * File Authors:
- * Frederico Caldeira Knabben (fredck@fckeditor.net)
--->
-<%
-Function RemoveFromStart( sourceString, charToRemove )
- Dim oRegex
- Set oRegex = New RegExp
- oRegex.Pattern = "^" & charToRemove & "+"
-
- RemoveFromStart = oRegex.Replace( sourceString, "" )
-End Function
-
-Function RemoveFromEnd( sourceString, charToRemove )
- Dim oRegex
- Set oRegex = New RegExp
- oRegex.Pattern = charToRemove & "+$"
-
- RemoveFromEnd = oRegex.Replace( sourceString, "" )
-End Function
-
-Function ConvertToXmlAttribute( value )
- ConvertToXmlAttribute = Replace( value, "&", "&amp;" )
-End Function
-%> \ No newline at end of file
diff --git a/lib/editor/filemanager/browser/default/connectors/aspx/connector.aspx b/lib/editor/filemanager/browser/default/connectors/aspx/connector.aspx
deleted file mode 100644
index 0df6695..0000000
--- a/lib/editor/filemanager/browser/default/connectors/aspx/connector.aspx
+++ /dev/null
@@ -1,23 +0,0 @@
-<%@ Page language="c#" Inherits="FredCK.FCKeditorV2.FileBrowserConnector" AutoEventWireup="false" %>
-<%--
- * FCKeditor - The text editor for internet
- * Copyright (C) 2003-2004 Frederico Caldeira Knabben
- *
- * Licensed under the terms of the GNU Lesser General Public License:
- * http://www.opensource.org/licenses/lgpl-license.php
- *
- * For further information visit:
- * http://www.fckeditor.net/
- *
- * File Name: connector.aspx
- * This is the File Browser Connector for ASP.NET.
- *
- * The code of this page if included in the FredCK.FCKeditorV2.dll file. So to
- * use it you must include the DLL in your "bin" directory.
- *
- * Version: 2.0 RC2
- * Modified: 2004-11-26 23:16:40
- *
- * File Authors:
- * Frederico Caldeira Knabben (fredck@fckeditor.net)
---%> \ No newline at end of file
diff --git a/lib/editor/filemanager/browser/default/connectors/cfm/connector.cfm b/lib/editor/filemanager/browser/default/connectors/cfm/connector.cfm
deleted file mode 100644
index b118c9c..0000000
--- a/lib/editor/filemanager/browser/default/connectors/cfm/connector.cfm
+++ /dev/null
@@ -1,299 +0,0 @@
-<cfsetting enablecfoutputonly="true" showdebugoutput="false">
-<!---
- * FCKeditor - The text editor for internet
- * Copyright (C) 2003-2004 Frederico Caldeira Knabben
- *
- * Licensed under the terms of the GNU Lesser General Public License:
- * http://www.opensource.org/licenses/lgpl-license.php
- *
- * For further information visit:
- * http://www.fckeditor.net/
- *
- * File Name: connector.cfm
- * This is the File Browser Connector for ColdFusion.
- *
- * Notice:
- * FCKEditor needs an UTF-8 encoded XML packet.
- * Only CFMX can encode in UTF-8. If this browser doesn't work in CF 4.0/4.5/5,
- * please send me a notice. We then can use an more object oriented approach (CFC)
- * to clean up this code :)
- *
- * Please declare the base path (e.g. /UserFiles/) as an Application or Server variable
- * Directory structure (with optional subdirectories built by the user).
- * The "Type" subdirectory is automatically submitted by FCKEditor:
- * /UserFiles/Image/
- * /UserFiles/Flash/
- * /UserFiles/File/
- * /UserFiles/Media/
- *
- * Version: 2.0 RC2
- * Modified: 2004-12-07 12:01:46
- *
- * File Authors:
- * Hendrik Kramer (hk@lwd.de)
---->
-<cfparam name="URL.Command" type="string">
-<cfparam name="URL.Type" type="string">
-<cfparam name="URL.CurrentFolder" type="string">
-
-<!--- ::
- * Get base url path to the userfiles directory (may be set in Application.cfm or anywhere else)
- :: --->
-<cfif isDefined('APPLICATION.userFilesPath')>
- <cflock scope="Application" type="readonly" timeout="3">
- <cfset sUserFilesURL = APPLICATION.userFilesPath>
- </cflock>
-<cfelseif isDefined('SERVER.userFilesPath')>
- <cflock scope="SERVER" type="readonly" timeout="3">
- <cfset sUserFilesURL = SERVER.userFilesPath>
- </cflock>
-<cfelse>
- <!--- :: then use default :: --->
- <cfset sUserFilesURL = "/UserFiles/">
-</cfif>
-
-<cfif not len( sUserFilesURL )>
- <cfthrow type="fckeditor.connector" message="You must supply a full path to the userFiles base URL in APPLICATION or SERVER Scope.">
-</cfif>
-
-<cfscript>
- /**
- * We must extract the physical server directory for the webroot of this project to append the base url path
- * e.g.
- * PATH=c:\inetpub\wwwroot\project1\fckeditor\editor\filemanager\browser\default\connectors\cfm\connector.cfm
- * URL =/fckeditor/editor/filemanager/browser/default/connectors/cfm/connector.cfm
- * ROOT=c:\inetpub\wwwroot\project1\
- *
- * This may fail if you use an symbolic link inside your webroot
- */
- sRootDir = replace( getBaseTemplatePath(), "\", "/", "ALL");
- iLen = listLen( cgi.script_name, '/' );
- for( i=iLen; i GTE 1; i=i-1 )
- {
- iPos = listFindNoCase( sRootDir, listGetAt( cgi.script_name, i, '/' ), '/' );
- if( iPos GT 0 )
- sRootDir = listDeleteAt( sRootDir, iPos, '/' );
- }
-
- // replace backslashes in URL with normal slashes
- sUserFilesURL = replace( sUserFilesURL, "\", "/", "ALL");
-
- // Check the base folder syntax (must end with a slash).
- if( compare( right( sUserFilesURL, 1), "/" ) )
- sUserFilesURL = sUserFilesURL & "/";
-
- // Create the physical path to the media root directory
- sUserFilesPath = sRootDir & sUserFilesURL;
- sUserFilesPath = replace( sUserFilesPath, '//', '/', 'ALL' );
-
- // Check the current folder syntax (must begin and start with a slash).
- if( compare( left( URL.CurrentFolder, 1), "/" ) )
- URL.CurrentFolder = "/" & URL.CurrentFolder;
- if( compare( right( URL.CurrentFolder, 1), "/" ) )
- URL.CurrentFolder = URL.CurrentFolder & "/";
-
- /**
- * Prepare the XML Header and Footer
- */
- sXMLHeader = '<?xml version="1.0" encoding="utf-8" ?><Connector command="#URL.Command#" resourceType="#URL.Type#">';
- sXMLHeader = sXMLHeader & '<CurrentFolder path="#URL.CurrentFolder#" url="#sUserFilesURL##URL.Type##URL.CurrentFolder#" />';
- sXMLFooter = '</Connector>';
- sXMLContent = '';
-</cfscript>
-
-<!--- :: Make sure that current base path exists as a directory :: --->
-<cfif not directoryExists( sUserFilesPath & URL.Type & URL.CurrentFolder )>
- <cfdirectory
- action="create"
- directory="#sUserFilesPath##URL.Type##URL.CurrentFolder#"
- >
-</cfif>
-
-<!--- :: Switch command arguments :: --->
-<cfswitch expression="#URL.Command#">
-<cfcase value="FileUpload">
-
- <cfset sFileName = "">
- <cfset sFileExt = "">
-
- <cftry>
- <!--- :: first upload the file with an unique filename :: --->
- <cffile action="UPLOAD"
- fileField="NewFile"
- destination="#sUserFilesPath##URL.Type##URL.CurrentFolder#"
- nameConflict="MAKEUNIQUE"
- >
-
- <cfscript>
- sErrorNumber = 0;
- sFileName = CFFILE.ClientFileName;
- sFileExt = CFFILE.ServerFileExt;
-
- /**
- * Validate filename for html download. Only a-z, 0-9, _, - and . are allowed.
- */
- if( reFind("[^A-Za-z0-9_\-\.]", sFileName) )
- {
- sFilename = reReplace(sFilename, "[^A-Za-z0-9\-\.]", "_", "ALL");
- sFilename = reReplace(sFilename, "_{2,}", "_", "ALL");
- sFilename = reReplace(sFilename, "([^_]+)_+$", "\1", "ALL");
- sFilename = reReplace(sFilename, "$_([^_]+)$", "\1", "ALL");
- }
-
- // When the original filename already exists, add numbers (0), (1), (2), ... at the end of the filename.
- if( compare( CFFILE.ServerFileName, sFileName ) )
- {
- iCounter = 0;
- sTmpFileName = sFileName;
- while( fileExists('#sUserFilesPath##URL.Type##URL.CurrentFolder##sFilename#.#sFileExt#') )
- {
- iCounter=iCounter+1;
- sFileName = sTmpFileName & '(#iCounter#)';
- }
- }
- </cfscript>
-
- <!--- :: Rename the uploaded file, if neccessary --->
- <cfif compare( CFFILE.ServerFileName, sFileName )>
- <cfset sErrorNumber = "201">
- <cffile
- action="RENAME"
- source="#sUserFilesPath##URL.Type##URL.CurrentFolder##CFFILE.ServerFileName#.#CFFILE.ServerFileExt#"
- destination="#sUserFilesPath##URL.Type##URL.CurrentFolder##sFileName#.#sFileExt#"
- mode="644"
- attributes="normal"
- >
- </cfif>
-
- <cfcatch type="Any">
- <cfset sErrorNumber = "202">
- </cfcatch>
- </cftry>
-
- <cfif sErrorNumber eq 201>
- <!--- :: file was changed (201), submit the new filename :: --->
- <cfoutput>
- <script type="text/javascript">
- window.parent.frames['frmUpload'].OnUploadCompleted(#sErrorNumber#,'#replace( sFileName & "." & sFileExt, "'", "\'", "ALL")#');
- </script>
- </cfoutput>
- <cfelse>
- <!--- :: file was uploaded succesfully(0) or an error occured(202). Submit only the error code. :: --->
- <cfoutput>
- <script type="text/javascript">
- window.parent.frames['frmUpload'].OnUploadCompleted(#sErrorNumber#);
- </script>
- </cfoutput>
- </cfif>
-
- <cfabort>
-
-</cfcase>
-<cfcase value="GetFolders">
-
- <!--- :: Sort directories first, name ascending :: --->
- <cfdirectory
- action="LIST"
- directory="#sUserFilesPath##URL.Type##URL.CurrentFolder#"
- name="qDir"
- sort="type,name"
- >
-
- <cfscript>
- iLen = qDir.recordCount;
- i=1;
- sFolders = '';
-
- while( i LTE iLen )
- {
- if( not compareNoCase( qDir.type[i], "FILE" ))
- break;
- if( not listFind(".,..", qDir.name[i]) )
- sFolders = sFolders & '<Folder name="#qDir.name[i]#" />';
- i=i+1;
- }
-
- sXMLContent = sXMLContent & '<Folders>' & sFolders & '</Folders>';
- </cfscript>
-
-</cfcase>
-<cfcase value="GetFoldersAndFiles">
-
- <!--- :: Sort directories first, name ascending :: --->
- <cfdirectory
- action="LIST"
- directory="#sUserFilesPath##URL.Type##URL.CurrentFolder#"
- name="qDir"
- sort="type,name"
- >
- <cfscript>
- iLen = qDir.recordCount;
- i=1;
- sFolders = '';
- sFiles = '';
-
- while( i LTE iLen )
- {
- if( not compareNoCase( qDir.type[i], "DIR" ) and not listFind(".,..", qDir.name[i]) )
- {
- sFolders = sFolders & '<Folder name="#qDir.name[i]#" />';
- }
- else if( not compareNoCase( qDir.type[i], "FILE" ) )
- {
- iFileSize = int( qDir.size[i] / 1024 );
- sFiles = sFiles & '<File name="#qDir.name[i]#" size="#IIf( iFileSize GT 0, DE( iFileSize ), 1)#" />';
- }
- i=i+1;
- }
-
- sXMLContent = sXMLContent & '<Folders>' & sFolders & '</Folders>';
- sXMLContent = sXMLContent & '<Files>' & sFiles & '</Files>';
- </cfscript>
-
-</cfcase>
-<cfcase value="CreateFolder">
-
- <cfparam name="URL.NewFolderName" default="">
-
- <cfif not len( URL.NewFolderName ) or len( URL.NewFolderName ) GT 255>
- <cfset iErrorNumber = 102>
- <cfelseif directoryExists( sUserFilesPath & URL.Type & URL.CurrentFolder & URL.NewFolderName )>
- <cfset iErrorNumber = 101>
- <cfelseif reFind( "^\.\.", URL.NewFolderName )>
- <cfset iErrorNumber = 103>
- <cfelse>
- <cfset iErrorNumber = 0>
-
- <cftry>
- <cfdirectory
- action="CREATE"
- directory="#sUserFilesPath##URL.Type##URL.CurrentFolder##URL.NewFolderName#"
- >
- <cfcatch>
- <!--- ::
- * Not resolvable ERROR-Numbers in ColdFusion:
- * 102 : Invalid folder name.
- * 103 : You have no permissions to create the folder.
- :: --->
- <cfset iErrorNumber = 110>
- </cfcatch>
- </cftry>
- </cfif>
-
- <cfset sXMLContent = sXMLContent & '<Error number="#iErrorNumber#" />'>
-
-</cfcase>
-<cfdefaultcase>
- <cfthrow type="fckeditor.connector" message="Illegal command: #URL.Command#">
-</cfdefaultcase>
-</cfswitch>
-
-<!--- ::
- * output XML (no content caching)
- :: --->
-<cfheader name="Pragma" value="no-cache">
-<cfheader name="Cache-Control" value="no-cache, no-store, must-revalidate">
-<cfcontent reset="true" type="text/xml; charset=UTF-8">
-<cfoutput>#sXMLHeader##sXMLContent##sXMLFooter#</cfoutput>
-
-<cfsetting enablecfoutputonly="false"> \ No newline at end of file
diff --git a/lib/editor/filemanager/browser/default/connectors/php/basexml.php b/lib/editor/filemanager/browser/default/connectors/php/basexml.php
deleted file mode 100644
index d6618fc..0000000
--- a/lib/editor/filemanager/browser/default/connectors/php/basexml.php
+++ /dev/null
@@ -1,37 +0,0 @@
-<?php /*
- * FCKeditor - The text editor for internet
- * Copyright (C) 2003-2004 Frederico Caldeira Knabben
- *
- * Licensed under the terms of the GNU Lesser General Public License:
- * http://www.opensource.org/licenses/lgpl-license.php
- *
- * For further information visit:
- * http://www.fckeditor.net/
- *
- * File Name: basexml.php
- * This is the File Manager Connector for ASP.
- *
- * Version: 2.0 RC2
- * Modified: 2004-12-10 17:49:19
- *
- * File Authors:
- * Frederico Caldeira Knabben (fredck@fckeditor.net)
- */
-
-function CreateXmlHeader( $command, $resourceType, $currentFolder )
-{
- // Create the XML document header.
- echo '<?xml version="1.0" encoding="utf-8" ?>' ;
-
- // Create the main "Connector" node.
- echo '<Connector command="' . $command . '" resourceType="' . $resourceType . '">' ;
-
- // Add the current folder node.
- echo '<CurrentFolder path="' . ConvertToXmlAttribute( $currentFolder ) . '" url="' . ConvertToXmlAttribute( GetUrlFromPath( $resourceType, $currentFolder ) ) . '" />' ;
-}
-
-function CreateXmlFooter()
-{
- echo '</Connector>' ;
-}
-?> \ No newline at end of file
diff --git a/lib/editor/filemanager/browser/default/connectors/php/commands.php b/lib/editor/filemanager/browser/default/connectors/php/commands.php
deleted file mode 100644
index 94426f9..0000000
--- a/lib/editor/filemanager/browser/default/connectors/php/commands.php
+++ /dev/null
@@ -1,170 +0,0 @@
-<?php /*
- * FCKeditor - The text editor for internet
- * Copyright (C) 2003-2004 Frederico Caldeira Knabben
- *
- * Licensed under the terms of the GNU Lesser General Public License:
- * http://www.opensource.org/licenses/lgpl-license.php
- *
- * For further information visit:
- * http://www.fckeditor.net/
- *
- * File Name: commands.php
- * This is the File Manager Connector for ASP.
- *
- * Version: 2.0 RC2
- * Modified: 2004-12-10 17:49:19
- *
- * File Authors:
- * Frederico Caldeira Knabben (fredck@fckeditor.net)
- */
-
-function GetFolders( $resourceType, $currentFolder )
-{
- // Map the virtual path to the local server path.
- $sServerDir = ServerMapFolder( $resourceType, $currentFolder ) ;
-
- // Open the "Folders" node.
- echo "<Folders>" ;
-
- $oCurrentFolder = opendir( $sServerDir ) ;
-
- while ( $sFile = readdir( $oCurrentFolder ) )
- {
- if ( $sFile != '.' && $sFile != '..' && is_dir( $sServerDir . $sFile ) )
- echo '<Folder name="' . ConvertToXmlAttribute( $sFile ) . '" />' ;
- }
-
- closedir( $oCurrentFolder ) ;
-
- // Close the "Folders" node.
- echo "</Folders>" ;
-}
-
-function GetFoldersAndFiles( $resourceType, $currentFolder )
-{
- // Map the virtual path to the local server path.
- $sServerDir = ServerMapFolder( $resourceType, $currentFolder ) ;
-
- // Initialize the output buffers for "Folders" and "Files".
- $sFolders = '<Folders>' ;
- $sFiles = '<Files>' ;
-
- $oCurrentFolder = opendir( $sServerDir ) ;
-
- while ( $sFile = readdir( $oCurrentFolder ) )
- {
- if ( $sFile != '.' && $sFile != '..' )
- {
- if ( is_dir( $sServerDir . $sFile ) )
- $sFolders .= '<Folder name="' . ConvertToXmlAttribute( $sFile ) . '" />' ;
- else
- {
- $iFileSize = filesize( $sServerDir . $sFile ) ;
- if ( $iFileSize > 0 )
- {
- $iFileSize = round( $iFileSize / 1024 ) ;
- if ( $iFileSize < 1 ) $iFileSize = 1 ;
- }
-
- $sFiles .= '<File name="' . ConvertToXmlAttribute( $sFile ) . '" size="' . $iFileSize . '" />' ;
- }
- }
- }
-
- echo $sFolders ;
- // Close the "Folders" node.
- echo '</Folders>' ;
-
- echo $sFiles ;
- // Close the "Files" node.
- echo '</Files>' ;
-}
-
-function CreateFolder( $resourceType, $currentFolder )
-{
- $sErrorNumber = '0' ;
- $sErrorMsg = '' ;
-
- if ( isset( $_GET['NewFolderName'] ) )
- {
- $sNewFolderName = $_GET['NewFolderName'] ;
-
- // Map the virtual path to the local server path of the current folder.
- $sServerDir = ServerMapFolder( $resourceType, $currentFolder ) ;
-
- if ( is_writable( $sServerDir ) )
- {
- $sServerDir .= $sNewFolderName ;
-
- $sErrorMsg = CreateServerFolder( $sServerDir ) ;
-
- switch ( $sErrorMsg )
- {
- case '' :
- $sErrorNumber = '0' ;
- break ;
- case 'Invalid argument' :
- case 'No such file or directory' :
- $sErrorNumber = '102' ; // Path too long.
- break ;
- default :
- $sErrorNumber = '110' ;
- break ;
- }
- }
- else
- $sErrorNumber = '103' ;
- }
- else
- $sErrorNumber = '102' ;
-
- // Create the "Error" node.
- echo '<Error number="' . $sErrorNumber . '" originalDescription="' . ConvertToXmlAttribute( $sErrorMsg ) . '" />' ;
-}
-
-function FileUpload( $resourceType, $currentFolder )
-{
- $sErrorNumber = '0' ;
- $sFileName = '' ;
-
- if ( isset( $_FILES['NewFile'] ) && !is_null( $_FILES['NewFile']['tmp_name'] ) )
- {
- $oFile = $_FILES['NewFile'] ;
-
- // Map the virtual path to the local server path.
- $sServerDir = ServerMapFolder( $resourceType, $currentFolder ) ;
-
- // Get the uploaded file name.
- $sFileName = $oFile['name'] ;
- $sOriginalFileName = $sFileName ;
-
- $iCounter = 0 ;
-
- while ( true )
- {
- $sFilePath = $sServerDir . $sFileName ;
-
- if ( is_file( $sFilePath ) )
- {
- $iCounter++ ;
- $oPathInfo = pathinfo( $sFilePath ) ;
- $sFileName = RemoveExtension( $sOriginalFileName ) . '(' . $iCounter . ').' . $oPathInfo['extension'] ;
- $sErrorNumber = '201' ;
- }
- else
- {
- move_uploaded_file( $oFile['tmp_name'], $sFilePath ) ;
- break ;
- }
- }
- }
- else
- $sErrorNumber = '202' ;
-
- echo '<script type="text/javascript">' ;
- echo 'window.parent.frames["frmUpload"].OnUploadCompleted(' . $sErrorNumber . ',"' . str_replace( '"', '\\"', $sFileName ) . '") ;' ;
- echo '</script>' ;
-
- exit ;
-}
-?> \ No newline at end of file
diff --git a/lib/editor/filemanager/browser/default/connectors/php/connector.php b/lib/editor/filemanager/browser/default/connectors/php/connector.php
deleted file mode 100644
index ab309ff..0000000
--- a/lib/editor/filemanager/browser/default/connectors/php/connector.php
+++ /dev/null
@@ -1,99 +0,0 @@
-<?php /*
- * FCKeditor - The text editor for internet
- * Copyright (C) 2003-2004 Frederico Caldeira Knabben
- *
- * Licensed under the terms of the GNU Lesser General Public License:
- * http://www.opensource.org/licenses/lgpl-license.php
- *
- * For further information visit:
- * http://www.fckeditor.net/
- *
- * File Name: connector.php
- * This is the File Manager Connector for ASP.
- *
- * Version: 2.0 RC2
- * Modified: 2004-12-17 07:47:40
- *
- * File Authors:
- * Frederico Caldeira Knabben (fredck@fckeditor.net)
- */
-
-include('util.php') ;
-include('io.php') ;
-include('basexml.php') ;
-include('commands.php') ;
-
-// Get the "UserFiles" path.
-$GLOBALS["UserFilesPath"] = '' ;
-
-if ( isset( $_GET['ServerPath'] ) )
-{
- $GLOBALS["UserFilesPath"] = $_GET['ServerPath'] ;
- if ( ! ereg( '/$', $GLOBALS["UserFilesPath"] ) )
- $GLOBALS["UserFilesPath"] .= '/' ;
-}
-else
- $GLOBALS["UserFilesPath"] = '/UserFiles/' ;
-
-// Map the "UserFiles" path to a local directory.
-//$GLOBALS["UserFilesDirectory"] = GetRootPath() . str_replace( '/', '\\', $GLOBALS["UserFilesPath"] ) ;
-$GLOBALS["UserFilesDirectory"] = GetRootPath() . $GLOBALS["UserFilesPath"] ;
-
-DoResponse() ;
-
-function DoResponse()
-{
- if ( !isset( $_GET['Command'] ) || !isset( $_GET['Type'] ) || !isset( $_GET['CurrentFolder'] ) )
- return ;
-
- // Get the main request informaiton.
- $sCommand = $_GET['Command'] ;
- $sResourceType = $_GET['Type'] ;
- $sCurrentFolder = $_GET['CurrentFolder'] ;
-
- // Check the current folder syntax (must begin and start with a slash).
- if ( ! ereg( '/$', $sCurrentFolder ) ) $sCurrentFolder .= '/' ;
- if ( strpos( $sCurrentFolder, '/' ) !== 0 ) $sCurrentFolder = '/' . $sCurrentFolder ;
-
- // File Upload doesn't have to Return XML, so it must be intercepted before anything.
- if ( $sCommand == 'FileUpload' )
- {
- FileUpload( $sResourceType, $sCurrentFolder ) ;
- return ;
- }
-
- // Prevent the browser from caching the result.
- // Date in the past
- header('Expires: Mon, 26 Jul 1997 05:00:00 GMT') ;
- // always modified
- header('Last-Modified: ' . gmdate('D, d M Y H:i:s') . ' GMT') ;
- // HTTP/1.1
- header('Cache-Control: no-store, no-cache, must-revalidate') ;
- header('Cache-Control: post-check=0, pre-check=0', false) ;
- // HTTP/1.0
- header('Pragma: no-cache') ;
-
- // Set the response format.
- header( 'Content-Type:text/xml; charset=utf-8' ) ;
-
- CreateXmlHeader( $sCommand, $sResourceType, $sCurrentFolder ) ;
-
- // Execute the required command.
- switch ( $sCommand )
- {
- case 'GetFolders' :
- GetFolders( $sResourceType, $sCurrentFolder ) ;
- break ;
- case 'GetFoldersAndFiles' :
- GetFoldersAndFiles( $sResourceType, $sCurrentFolder ) ;
- break ;
- case 'CreateFolder' :
- CreateFolder( $sResourceType, $sCurrentFolder ) ;
- break ;
- }
-
- CreateXmlFooter() ;
-
- exit ;
-}
-?> \ No newline at end of file
diff --git a/lib/editor/filemanager/browser/default/connectors/php/io.php b/lib/editor/filemanager/browser/default/connectors/php/io.php
deleted file mode 100644
index 30d4c8d..0000000
--- a/lib/editor/filemanager/browser/default/connectors/php/io.php
+++ /dev/null
@@ -1,98 +0,0 @@
-<?php /*
- * FCKeditor - The text editor for internet
- * Copyright (C) 2003-2004 Frederico Caldeira Knabben
- *
- * Licensed under the terms of the GNU Lesser General Public License:
- * http://www.opensource.org/licenses/lgpl-license.php
- *
- * For further information visit:
- * http://www.fckeditor.net/
- *
- * File Name: io.php
- * This is the File Manager Connector for ASP.
- *
- * Version: 2.0 RC2
- * Modified: 2004-12-17 07:50:01
- *
- * File Authors:
- * Frederico Caldeira Knabben (fredck@fckeditor.net)
- */
-
-function GetUrlFromPath( $resourceType, $folderPath )
-{
- if ( $resourceType == '' )
- return RemoveFromEnd( $GLOBALS["UserFilesPath"], '/' ) . $folderPath ;
- else
- return $GLOBALS["UserFilesPath"] . $resourceType . $folderPath ;
-}
-
-function RemoveExtension( $fileName )
-{
- return substr( $fileName, 0, strrpos( $fileName, '.' ) ) ;
-}
-
-function ServerMapFolder( $resourceType, $folderPath )
-{
- // Get the resource type directory.
-// $sResourceTypePath = $GLOBALS["UserFilesDirectory"] . $resourceType . '\\' ;
- $sResourceTypePath = $GLOBALS["UserFilesDirectory"] . $resourceType . '/' ;
-
- // Ensure that the directory exists.
- CreateServerFolder( $sResourceTypePath ) ;
-
- // Return the resource type directory combined with the required path.
-// return $sResourceTypePath . str_replace( '/', '\\', RemoveFromStart( $folderPath, '/' ) ) ;
- return $sResourceTypePath . RemoveFromStart( $folderPath, '/' ) ;
-}
-
-function GetParentFolder( $folderPath )
-{
- $sPattern = "-[/\\\\][^/\\\\]+[/\\\\]?$-" ;
- return preg_replace( $sPattern, '', $folderPath ) ;
-}
-
-function CreateServerFolder( $folderPath )
-{
- $sParent = GetParentFolder( $folderPath ) ;
-
- // Check if the parent exists, or create it.
- if ( !file_exists( $sParent ) )
- {
- $sErrorMsg = CreateServerFolder( $sParent ) ;
- if ( $sErrorMsg != '' )
- return $sErrorMsg ;
- }
-
- if ( !file_exists( $folderPath ) )
- {
- // Turn off all error reporting.
- error_reporting( 0 ) ;
- // Enable error tracking to catch the error.
- ini_set( 'track_errors', '1' ) ;
-
- mkdir( $folderPath, 0777 ) ;
-
- $sErrorMsg = $php_errormsg ;
-
- // Restore the configurations.
- ini_restore( 'track_errors' ) ;
- ini_restore( 'error_reporting' ) ;
-
- return $sErrorMsg ;
- }
- else
- return '' ;
-}
-
-function GetRootPath()
-{
- $sRealPath = realpath( './' ) ;
-
-// $sSelfPath = str_replace( '/', '\\', $_SERVER['PHP_SELF'] ) ;
- $sSelfPath = $_SERVER['PHP_SELF'] ;
-// $sSelfPath = substr( $sSelfPath, 0, strrpos( $sSelfPath, '\\' ) ) ;
- $sSelfPath = substr( $sSelfPath, 0, strrpos( $sSelfPath, '/' ) ) ;
-
- return substr( $sRealPath, 0, strlen( $sRealPath ) - strlen( $sSelfPath ) ) ;
-}
-?> \ No newline at end of file
diff --git a/lib/editor/filemanager/browser/default/connectors/php/util.php b/lib/editor/filemanager/browser/default/connectors/php/util.php
deleted file mode 100644
index 928f2d8..0000000
--- a/lib/editor/filemanager/browser/default/connectors/php/util.php
+++ /dev/null
@@ -1,37 +0,0 @@
-<?php /*
- * FCKeditor - The text editor for internet
- * Copyright (C) 2003-2004 Frederico Caldeira Knabben
- *
- * Licensed under the terms of the GNU Lesser General Public License:
- * http://www.opensource.org/licenses/lgpl-license.php
- *
- * For further information visit:
- * http://www.fckeditor.net/
- *
- * File Name: util.php
- * This is the File Manager Connector for ASP.
- *
- * Version: 2.0 RC2
- * Modified: 2004-12-10 17:46:39
- *
- * File Authors:
- * Frederico Caldeira Knabben (fredck@fckeditor.net)
- */
-
-function RemoveFromStart( $sourceString, $charToRemove )
-{
- $sPattern = '|^' . $charToRemove . '+|' ;
- return preg_replace( $sPattern, '', $sourceString ) ;
-}
-
-function RemoveFromEnd( $sourceString, $charToRemove )
-{
- $sPattern = '|' . $charToRemove . '+$|' ;
- return preg_replace( $sPattern, '', $sourceString ) ;
-}
-
-function ConvertToXmlAttribute( $value )
-{
- return utf8_encode( htmlspecialchars( $value ) ) ;
-}
-?> \ No newline at end of file
diff --git a/lib/editor/filemanager/browser/default/connectors/test.html b/lib/editor/filemanager/browser/default/connectors/test.html
deleted file mode 100644
index 85ef3ab..0000000
--- a/lib/editor/filemanager/browser/default/connectors/test.html
+++ /dev/null
@@ -1,147 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-<html>
- <head>
- <title>FCKeditor - Connectors Tests</title>
- <meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
- <script language="javascript">
-
-function BuildBaseUrl( command )
-{
- var sUrl =
- document.getElementById('cmbConnector').value +
- '?Command=' + command +
- '&Type=' + document.getElementById('cmbType').value +
- '&CurrentFolder=' + document.getElementById('txtFolder').value ;
-
- var sServerPath = document.getElementById('txtServerPath').value ;
- if ( sServerPath.length > 0 && sServerPath.toLowerCase() != '/userfiles/' )
- sUrl += '&ServerPath=' + sServerPath ;
-
- return sUrl ;
-}
-
-function SetFrameUrl( url )
-{
- if ( document.all )
- eRunningFrame.document.location = url ;
- else
- document.getElementById('eRunningFrame').src = url ;
-
- document.getElementById('eUrl').innerHTML = url ;
-}
-
-function GetFolders()
-{
- SetFrameUrl( BuildBaseUrl( 'GetFolders' ) ) ;
- return false ;
-}
-
-function GetFoldersAndFiles()
-{
- SetFrameUrl( BuildBaseUrl( 'GetFoldersAndFiles' ) ) ;
- return false ;
-}
-
-function CreateFolder()
-{
- var sFolder = prompt( 'Type the folder name:', 'Test Folder' ) ;
-
- if ( ! sFolder )
- return ;
-
- var sUrl = BuildBaseUrl( 'CreateFolder' ) ;
- sUrl += '&NewFolderName=' + escape( sFolder ) ;
-
- SetFrameUrl( sUrl ) ;
- return false ;
-}
-
-function OnUploadCompleted( errorNumber, fileName )
-{
- switch ( errorNumber )
- {
- case 0 :
- alert( 'File uploaded with no errors' ) ;
- break ;
- case 201 :
- GetFoldersAndFiles()
- alert( 'A file with the same name is already available. The uploaded file has been renamed to "' + fileName + '"' ) ;
- break ;
- case 202 :
- alert( 'Invalid file' ) ;
- break ;
- default :
- alert( 'Error on file upload. Error number: ' + errorNumber ) ;
- break ;
- }
-}
-
-this.frames.frmUpload = this ;
-
-function SetAction()
-{
- var sUrl = BuildBaseUrl( 'FileUpload' ) ;
- document.getElementById('eUrl').innerHTML = sUrl ;
- document.getElementById('frmUpload').action = sUrl ;
-}
-
- </script>
- </head>
- <body>
- <table height="100%" cellSpacing="0" cellPadding="0" width="100%" border="0">
- <tr>
- <td>
- <table cellSpacing="0" cellPadding="0" border="0">
- <tr>
- <td>Connector:<br>
- <select id="cmbConnector" name="cmbConnector">
- <option value="asp/connector.asp" selected>ASP</option>
- <option value="aspx/connector.aspx">ASP.Net</option>
- <option value="cfm/connector.cfm">ColdFusion</option>
- <option value="php/connector.php">PHP</option>
- </select></td>
- <td>&nbsp;&nbsp;&nbsp;</td>
- <td>Current Folder<BR>
- <INPUT id="txtFolder" type="text" value="/" name="txtFolder"></td>
- <td>&nbsp;&nbsp;&nbsp;</td>
- <td>Resource Type<BR>
- <select id="cmbType" name="cmbType">
- <option value="File" selected>File</option>
- <option value="Image">Image</option>
- <option value="Flash">Flash</option>
- <option value="Media">Media</option>
- </select></td>
- <TD>&nbsp;&nbsp;&nbsp;</TD>
- <TD>Server Path<BR>
- <INPUT id="txtServerPath" type="text" value="/UserFiles/" /></TD>
- </tr>
- </table>
- <br>
- <table cellSpacing="0" cellPadding="0" border="0">
- <tr>
- <td valign="top"><a href="#" onclick="GetFolders();">Get Folders</a></td>
- <td>&nbsp;&nbsp;&nbsp;</td>
- <td valign="top"><a href="#" onclick="GetFoldersAndFiles();">Get Folders and Files</a></td>
- <td>&nbsp;&nbsp;&nbsp;</td>
- <td valign="top"><a href="#" onclick="CreateFolder();">Create Folder</a></td>
- <td>&nbsp;&nbsp;&nbsp;</td>
- <td valign="top">
- <form id="frmUpload" action="" target="eRunningFrame" method="post" enctype="multipart/form-data">
- File Upload<br>
- <input id="txtFileUpload" type="file" name="NewFile"> <input type="submit" value="Upload" onclick="SetAction();">
- </form>
- </td>
- </tr>
- </table>
- <br>
- URL: <span id="eUrl"></span>
- </td>
- </tr>
- <tr>
- <td height="100%" vAlign="top">
- <iframe id="eRunningFrame" name="eRunningFrame" width="100%" height="100%"></iframe>
- </td>
- </tr>
- </table>
- </body>
-</html>
diff --git a/lib/editor/filemanager/browser/default/frmactualfolder.html b/lib/editor/filemanager/browser/default/frmactualfolder.html
deleted file mode 100644
index d1c6d07..0000000
--- a/lib/editor/filemanager/browser/default/frmactualfolder.html
+++ /dev/null
@@ -1,65 +0,0 @@
-<!--
- * FCKeditor - The text editor for internet
- * Copyright (C) 2003-2004 Frederico Caldeira Knabben
- *
- * Licensed under the terms of the GNU Lesser General Public License:
- * http://www.opensource.org/licenses/lgpl-license.php
- *
- * For further information visit:
- * http://www.fckeditor.net/
- *
- * File Name: frmactualfolder.html
- * This page shows the actual folder path.
- *
- * Version: 2.0 RC2
- * Modified: 2004-05-31 23:07:52
- *
- * File Authors:
- * Frederico Caldeira Knabben (fredck@fckeditor.net)
--->
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-<html>
- <head>
- <meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
- <link href="Browser.css" type="text/css" rel="stylesheet">
- <script type="text/javascript">
-
-function OnResize()
-{
- divName.style.width = "1px" ;
- divName.style.width = tdName.offsetWidth + "px" ;
-}
-
-function SetCurrentFolder( resourceType, folderPath )
-{
- document.getElementById('tdName').innerHTML = folderPath ;
-}
-
-window.onload = function()
-{
- window.top.IsLoadedActualFolder = true ;
-}
-
- </script>
- </head>
- <body bottomMargin="0" topMargin="0">
- <table height="100%" cellSpacing="0" cellPadding="0" width="100%" border="0">
- <tr>
- <td>
- <button style="WIDTH: 100%" type="button">
- <table cellSpacing="0" cellPadding="0" width="100%" border="0">
- <tr>
- <td><img height="32" alt="" src="images/FolderOpened32.gif" width="32"></td>
- <td>&nbsp;</td>
- <td id="tdName" width="100%" nowrap class="ActualFolder">/</td>
- <td>&nbsp;</td>
- <td><img height="8" src="images/ButtonArrow.gif" width="12"></td>
- <td>&nbsp;</td>
- </tr>
- </table>
- </button>
- </td>
- </tr>
- </table>
- </body>
-</html>
diff --git a/lib/editor/filemanager/browser/default/frmcreatefolder.html b/lib/editor/filemanager/browser/default/frmcreatefolder.html
deleted file mode 100644
index 288bca9..0000000
--- a/lib/editor/filemanager/browser/default/frmcreatefolder.html
+++ /dev/null
@@ -1,106 +0,0 @@
-<!--
- * FCKeditor - The text editor for internet
- * Copyright (C) 2003-2004 Frederico Caldeira Knabben
- *
- * Licensed under the terms of the GNU Lesser General Public License:
- * http://www.opensource.org/licenses/lgpl-license.php
- *
- * For further information visit:
- * http://www.fckeditor.net/
- *
- * File Name: frmcreatefolder.html
- * Page used to create new folders in the current folder.
- *
- * Version: 2.0 RC2
- * Modified: 2004-11-27 00:04:24
- *
- * File Authors:
- * Frederico Caldeira Knabben (fredck@fckeditor.net)
--->
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-<html>
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
- <meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
- <link href="Browser.css" type="text/css" rel="stylesheet">
- <script type="text/javascript" src="js/common.js"></script>
- <script language="javascript">
-
-function SetCurrentFolder( resourceType, folderPath )
-{
- oConnector.ResourceType = resourceType ;
- oConnector.CurrentFolder = folderPath
-}
-
-function CreateFolder()
-{
- var sFolderName ;
-
- while ( true )
- {
- sFolderName = prompt( 'Type the name of the new folder:', '' ) ;
-
- if ( sFolderName == null )
- return ;
- else if ( sFolderName.length == 0 )
- alert( 'Please type the folder name' ) ;
- else
- break ;
- }
-
- oConnector.SendCommand( 'CreateFolder', 'NewFolderName=' + escape( sFolderName) , CreateFolderCallBack ) ;
-}
-
-function CreateFolderCallBack( fckXml )
-{
- // Get the current folder path.
- var oNode = fckXml.SelectSingleNode( 'Connector/Error' ) ;
- var iErrorNumber = parseInt( oNode.attributes.getNamedItem('number').value ) ;
-
- switch ( iErrorNumber )
- {
- case 0 :
- window.parent.frames['frmResourcesList'].Refresh() ;
- break ;
- case 101 :
- alert( 'Folder already exists' ) ;
- break ;
- case 102 :
- alert( 'Invalid folder name' ) ;
- break ;
- case 103 :
- alert( 'You have no permissions to create the folder' ) ;
- break ;
- case 110 :
- alert( 'Unknown error creating folder' ) ;
- break ;
- default :
- alert( 'Error creating folder. Error number: ' + iErrorNumber ) ;
- break ;
- }
-}
-
-window.onload = function()
-{
- window.top.IsLoadedCreateFolder = true ;
-}
- </script>
- </head>
- <body bottomMargin="0" topMargin="0">
- <table height="100%" cellSpacing="0" cellPadding="0" width="100%" border="0">
- <tr>
- <td>
- <button type="button" style="WIDTH: 100%" onclick="CreateFolder();">
- <table cellSpacing="0" cellPadding="0" border="0">
- <tr>
- <td><img height="16" alt="" src="images/Folder.gif" width="16"></td>
- <td>&nbsp;</td>
- <td nowrap>Create New Folder</td>
- </tr>
- </table>
- </button>
- </td>
- </tr>
- </table>
- </body>
-</html>
diff --git a/lib/editor/filemanager/browser/default/frmfolders.html b/lib/editor/filemanager/browser/default/frmfolders.html
deleted file mode 100644
index 3d3a90c..0000000
--- a/lib/editor/filemanager/browser/default/frmfolders.html
+++ /dev/null
@@ -1,191 +0,0 @@
-<!--
- * FCKeditor - The text editor for internet
- * Copyright (C) 2003-2004 Frederico Caldeira Knabben
- *
- * Licensed under the terms of the GNU Lesser General Public License:
- * http://www.opensource.org/licenses/lgpl-license.php
- *
- * For further information visit:
- * http://www.fckeditor.net/
- *
- * File Name: frmfolders.html
- * This page shows the list of folders available in the parent folder
- * of the current folder.
- *
- * Version: 2.0 RC2
- * Modified: 2004-11-27 00:35:52
- *
- * File Authors:
- * Frederico Caldeira Knabben (fredck@fckeditor.net)
--->
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-<html>
- <head>
- <meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
- <link href="Browser.css" type="text/css" rel="stylesheet">
- <script type="text/javascript" src="js/common.js"></script>
- <script language="javascript">
-
-var sActiveFolder ;
-
-var bIsLoaded = false ;
-var iIntervalId ;
-
-var oListManager = new Object() ;
-
-oListManager.Init = function()
-{
- this.Table = document.getElementById('tableFiles') ;
- this.UpRow = document.getElementById('trUp') ;
-
- this.TableRows = new Object() ;
-}
-
-oListManager.Clear = function()
-{
- // Remove all other rows available.
- while ( this.Table.rows.length > 1 )
- this.Table.deleteRow(1) ;
-
- // Reset the TableRows collection.
- this.TableRows = new Object() ;
-}
-
-oListManager.AddItem = function( folderName, folderPath )
-{
- // Create the new row.
- var oRow = this.Table.insertRow(-1) ;
- oRow.className = 'FolderListFolder' ;
-
- // Build the link to view the folder.
- var sLink = '<a href="#" onclick="OpenFolder(\'' + folderPath + '\');return false;">' ;
-
- // Add the folder icon cell.
- var oCell = oRow.insertCell(-1) ;
- oCell.width = 16 ;
- oCell.innerHTML = sLink + '<img alt="" src="images/spacer.gif" width="16" height="16" border="0"></a>' ;
-
- // Add the folder name cell.
- oCell = oRow.insertCell(-1) ;
- oCell.noWrap = true ;
- oCell.innerHTML = '&nbsp;' + sLink + folderName + '</a>' ;
-
- this.TableRows[ folderPath ] = oRow ;
-}
-
-oListManager.ShowUpFolder = function( upFolderPath )
-{
- this.UpRow.style.display = ( upFolderPath != null ? '' : 'none' ) ;
-
- if ( upFolderPath != null )
- {
- document.getElementById('linkUpIcon').onclick = document.getElementById('linkUp').onclick = function()
- {
- LoadFolders( upFolderPath ) ;
- return false ;
- }
- }
-}
-
-function CheckLoaded()
-{
- if ( window.top.IsLoadedActualFolder
- && window.top.IsLoadedCreateFolder
- && window.top.IsLoadedUpload
- && window.top.IsLoadedResourcesList )
- {
- window.clearInterval( iIntervalId ) ;
- bIsLoaded = true ;
- OpenFolder( sActiveFolder ) ;
- }
-}
-
-function OpenFolder( folderPath )
-{
- sActiveFolder = folderPath ;
-
- if ( ! bIsLoaded )
- {
- if ( ! iIntervalId )
- iIntervalId = window.setInterval( CheckLoaded, 100 ) ;
- return ;
- }
-
- // Change the style for the select row (to show the opened folder).
- for ( var sFolderPath in oListManager.TableRows )
- {
- oListManager.TableRows[ sFolderPath ].className =
- ( sFolderPath == folderPath ? 'FolderListCurrentFolder' : 'FolderListFolder' ) ;
- }
-
- // Set the current folder in all frames.
- window.parent.frames['frmActualFolder'].SetCurrentFolder( oConnector.ResourceType, folderPath ) ;
- window.parent.frames['frmCreateFolder'].SetCurrentFolder( oConnector.ResourceType, folderPath ) ;
- window.parent.frames['frmUpload'].SetCurrentFolder( oConnector.ResourceType, folderPath ) ;
-
- // Load the resources list for this folder.
- window.parent.frames['frmResourcesList'].LoadResources( oConnector.ResourceType, folderPath ) ;
-}
-
-function LoadFolders( folderPath )
-{
- // Clear the folders list.
- oListManager.Clear() ;
-
- // Get the parent folder path.
- var sParentFolderPath ;
- if ( folderPath != '/' )
- sParentFolderPath = folderPath.substring( 0, folderPath.lastIndexOf( '/', folderPath.length - 2 ) + 1 ) ;
-
- // Show/Hide the Up Folder.
- oListManager.ShowUpFolder( sParentFolderPath ) ;
-
- if ( folderPath != '/' )
- {
- sActiveFolder = folderPath ;
- oConnector.CurrentFolder = sParentFolderPath
- oConnector.SendCommand( 'GetFolders', null, GetFoldersCallBack ) ;
- }
- else
- OpenFolder( '/' ) ;
-}
-
-function GetFoldersCallBack( fckXml )
-{
- // Get the current folder path.
- var oNode = fckXml.SelectSingleNode( 'Connector/CurrentFolder' ) ;
- var sCurrentFolderPath = oNode.attributes.getNamedItem('path').value ;
-
- var oNodes = fckXml.SelectNodes( 'Connector/Folders/Folder' ) ;
-
- for ( var i = 0 ; i < oNodes.length ; i++ )
- {
- var sFolderName = oNodes[i].attributes.getNamedItem('name').value ;
- oListManager.AddItem( sFolderName, sCurrentFolderPath + sFolderName + "/" ) ;
- }
-
- OpenFolder( sActiveFolder ) ;
-}
-
-function SetResourceType( type )
-{
- oConnector.ResourceType = type ;
- LoadFolders( '/' ) ;
-}
-
-window.onload = function()
-{
- oListManager.Init() ;
- LoadFolders( '/' ) ;
-}
- </script>
- </head>
- <body class="FileArea" bottomMargin="10" leftMargin="10" topMargin="10" rightMargin="10">
- <table id="tableFiles" cellSpacing="0" cellPadding="0" width="100%" border="0">
- <tr id="trUp" style="DISPLAY: none">
- <td width="16"><a id="linkUpIcon" href="#"><img alt="" src="images/FolderUp.gif" width="16" height="16" border="0"></a></td>
- <td nowrap width="100%">&nbsp;<a id="linkUp" href="#">..</a></td>
- </tr>
- </table>
- </body>
-</html>
diff --git a/lib/editor/filemanager/browser/default/frmresourceslist.html b/lib/editor/filemanager/browser/default/frmresourceslist.html
deleted file mode 100644
index a99e738..0000000
--- a/lib/editor/filemanager/browser/default/frmresourceslist.html
+++ /dev/null
@@ -1,151 +0,0 @@
-<!--
- * FCKeditor - The text editor for internet
- * Copyright (C) 2003-2004 Frederico Caldeira Knabben
- *
- * Licensed under the terms of the GNU Lesser General Public License:
- * http://www.opensource.org/licenses/lgpl-license.php
- *
- * For further information visit:
- * http://www.fckeditor.net/
- *
- * File Name: frmresourceslist.html
- * This page shows all resources available in a folder in the File Browser.
- *
- * Version: 2.0 RC2
- * Modified: 2004-11-27 00:29:09
- *
- * File Authors:
- * Frederico Caldeira Knabben (fredck@fckeditor.net)
--->
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-<html>
- <head>
- <meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
- <link href="Browser.css" type="text/css" rel="stylesheet">
- <script type="text/javascript" src="js/common.js"></script>
- <script language="javascript">
-
-var oListManager = new Object() ;
-
-oListManager.Init = function()
-{
- this.Table = document.getElementById('tableFiles') ;
-}
-
-oListManager.Clear = function()
-{
- // Remove all other rows available.
- while ( this.Table.rows.length > 0 )
- this.Table.deleteRow(0) ;
-}
-
-oListManager.AddFolder = function( folderName, folderPath )
-{
- // Create the new row.
- var oRow = this.Table.insertRow(-1) ;
-
- // Build the link to view the folder.
- var sLink = '<a href="#" onclick="OpenFolder(\'' + folderPath + '\');return false;">' ;
-
- // Add the folder icon cell.
- var oCell = oRow.insertCell(-1) ;
- oCell.width = 16 ;
- oCell.innerHTML = sLink + '<img alt="" src="images/Folder.gif" width="16" height="16" border="0"></a>' ;
-
- // Add the folder name cell.
- oCell = oRow.insertCell(-1) ;
- oCell.noWrap = true ;
- oCell.colSpan = 2 ;
- oCell.innerHTML = '&nbsp;' + sLink + folderName + '</a>' ;
-}
-
-oListManager.AddFile = function( fileName, fileUrl, fileSize )
-{
- // Create the new row.
- var oRow = this.Table.insertRow(-1) ;
-
- // Build the link to view the folder.
- var sLink = '<a href="#" onclick="OpenFile(\'' + fileUrl + '\');return false;">' ;
-
- // Get the file icon.
- var sIcon = oIcons.GetIcon( fileName ) ;
-
- // Add the file icon cell.
- var oCell = oRow.insertCell(-1) ;
- oCell.width = 16 ;
- oCell.innerHTML = sLink + '<img alt="" src="images/icons/' + sIcon + '.gif" width="16" height="16" border="0"></a>' ;
-
- // Add the file name cell.
- oCell = oRow.insertCell(-1) ;
- oCell.innerHTML = '&nbsp;' + sLink + fileName + '</a>' ;
-
- // Add the file size cell.
- oCell = oRow.insertCell(-1) ;
- oCell.noWrap = true ;
- oCell.align = 'right' ;
- oCell.innerHTML = '&nbsp;' + fileSize + ' KB' ;
-}
-
-function OpenFolder( folderPath )
-{
- // Load the resources list for this folder.
- window.parent.frames['frmFolders'].LoadFolders( folderPath ) ;
-}
-
-function OpenFile( fileUrl )
-{
- window.top.opener.SetUrl( fileUrl ) ;
- window.top.close() ;
- window.top.opener.focus() ;
-}
-
-function LoadResources( resourceType, folderPath )
-{
- oListManager.Clear() ;
- oConnector.ResourceType = resourceType ;
- oConnector.CurrentFolder = folderPath
- oConnector.SendCommand( 'GetFoldersAndFiles', null, GetFoldersAndFilesCallBack ) ;
-}
-
-function Refresh()
-{
- LoadResources( oConnector.ResourceType, oConnector.CurrentFolder ) ;
-}
-
-function GetFoldersAndFilesCallBack( fckXml )
-{
- // Get the current folder path.
- var oNode = fckXml.SelectSingleNode( 'Connector/CurrentFolder' ) ;
- var sCurrentFolderPath = oNode.attributes.getNamedItem('path').value ;
- var sCurrentFolderUrl = oNode.attributes.getNamedItem('url').value ;
-
- // Add the Folders.
- var oNodes = fckXml.SelectNodes( 'Connector/Folders/Folder' ) ;
- for ( var i = 0 ; i < oNodes.length ; i++ )
- {
- var sFolderName = oNodes[i].attributes.getNamedItem('name').value ;
- oListManager.AddFolder( sFolderName, sCurrentFolderPath + sFolderName + "/" ) ;
- }
-
- // Add the Files.
- var oNodes = fckXml.SelectNodes( 'Connector/Files/File' ) ;
- for ( var i = 0 ; i < oNodes.length ; i++ )
- {
- var sFileName = oNodes[i].attributes.getNamedItem('name').value ;
- var sFileSize = oNodes[i].attributes.getNamedItem('size').value ;
- oListManager.AddFile( sFileName, sCurrentFolderUrl + sFileName, sFileSize ) ;
- }
-}
-
-window.onload = function()
-{
- oListManager.Init() ;
- window.top.IsLoadedResourcesList = true ;
-}
- </script>
- </head>
- <body class="FileArea" bottomMargin="10" leftMargin="10" topMargin="10" rightMargin="10">
- <table id="tableFiles" cellSpacing="1" cellPadding="0" width="100%" border="0">
- </table>
- </body>
-</html>
diff --git a/lib/editor/filemanager/browser/default/frmresourcetype.html b/lib/editor/filemanager/browser/default/frmresourcetype.html
deleted file mode 100644
index 92a8da8..0000000
--- a/lib/editor/filemanager/browser/default/frmresourcetype.html
+++ /dev/null
@@ -1,63 +0,0 @@
-<!--
- * FCKeditor - The text editor for internet
- * Copyright (C) 2003-2004 Frederico Caldeira Knabben
- *
- * Licensed under the terms of the GNU Lesser General Public License:
- * http://www.opensource.org/licenses/lgpl-license.php
- *
- * For further information visit:
- * http://www.fckeditor.net/
- *
- * File Name: frmresourcetype.html
- * This page shows the list of available resource types.
- *
- * Version: 2.0 RC2
- * Modified: 2004-11-27 00:34:50
- *
- * File Authors:
- * Frederico Caldeira Knabben (fredck@fckeditor.net)
--->
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-<html>
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
- <meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
- <link href="Browser.css" type="text/css" rel="stylesheet">
- <script type="text/javascript" src="js/common.js"></script>
- <script language="javascript">
-
-function SetResourceType( type )
-{
- window.parent.frames["frmFolders"].SetResourceType( type ) ;
-}
-
-var aTypes = [
- ['File','File'],
- ['Image','Image'],
- ['Flash','Flash'],
- ['Media','Media']
-] ;
-
-window.onload = function()
-{
- for ( var i = 0 ; i < aTypes.length ; i++ )
- {
- if ( oConnector.ShowAllTypes || aTypes[i][0] == oConnector.ResourceType )
- AddSelectOption( document.getElementById('cmbType'), aTypes[i][1], aTypes[i][0] ) ;
- }
-}
-
- </script>
- </head>
- <body bottomMargin="0" topMargin="0">
- <table height="100%" cellSpacing="0" cellPadding="0" width="100%" border="0">
- <tr>
- <td nowrap>
- Resource Type<BR>
- <select id="cmbType" style="WIDTH: 100%" onchange="SetResourceType(this.value);">
- </select>
- </td>
- </tr>
- </table>
- </body>
-</html>
diff --git a/lib/editor/filemanager/browser/default/frmupload.html b/lib/editor/filemanager/browser/default/frmupload.html
deleted file mode 100644
index 5fda21a..0000000
--- a/lib/editor/filemanager/browser/default/frmupload.html
+++ /dev/null
@@ -1,107 +0,0 @@
-<!--
- * FCKeditor - The text editor for internet
- * Copyright (C) 2003-2004 Frederico Caldeira Knabben
- *
- * Licensed under the terms of the GNU Lesser General Public License:
- * http://www.opensource.org/licenses/lgpl-license.php
- *
- * For further information visit:
- * http://www.fckeditor.net/
- *
- * File Name: frmupload.html
- * Page used to upload new files in the current folder.
- *
- * Version: 2.0 RC2
- * Modified: 2004-11-29 16:04:32
- *
- * File Authors:
- * Frederico Caldeira Knabben (fredck@fckeditor.net)
--->
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-<html>
- <head>
- <link href="Browser.css" type="text/css" rel="stylesheet" />
- <script type="text/javascript" src="js/common.js"></script>
- <script language="javascript">
-
-function SetCurrentFolder( resourceType, folderPath )
-{
- var sUrl = oConnector.ConnectorUrl +'Command=FileUpload' ;
- sUrl += '&Type=' + resourceType ;
- sUrl += '&CurrentFolder=' + folderPath ;
-
- document.getElementById('frmUpload').action = sUrl ;
-}
-
-function OnSubmit()
-{
- if ( document.getElementById('NewFile').value.length == 0 )
- {
- alert( 'Please select a file from your computer' ) ;
- return false ;
- }
-
- // Set the interface elements.
- document.getElementById('eUploadMessage').innerHTML = 'Upload a new file in this folder (Upload in progress, please wait...)' ;
- document.getElementById('btnUpload').disabled = true ;
-
- return true ;
-}
-
-function OnUploadCompleted( errorNumber, fileName )
-{
- // Reset the Upload Worker Frame.
- window.parent.frames['frmUploadWorker'].location = 'about:blank' ;
-
- // Reset the upload form (On IE we must do a little trick to avout problems).
- if ( document.all )
- document.getElementById('NewFile').outerHTML = '<input id="NewFile" name="NewFile" style="WIDTH: 100%" type="file">' ;
- else
- document.getElementById('frmUpload').reset() ;
-
- // Reset the interface elements.
- document.getElementById('eUploadMessage').innerHTML = 'Upload a new file in this folder' ;
- document.getElementById('btnUpload').disabled = false ;
-
- switch ( errorNumber )
- {
- case 0 :
- window.parent.frames['frmResourcesList'].Refresh() ;
- break ;
- case 201 :
- window.parent.frames['frmResourcesList'].Refresh() ;
- alert( 'A file with the same name is already available. The uploaded file has been renamed to "' + fileName + '"' ) ;
- break ;
- case 202 :
- alert( 'Invalid file' ) ;
- break ;
- default :
- alert( 'Error on file upload. Error number: ' + errorNumber ) ;
- break ;
- }
-}
-
-window.onload = function()
-{
- window.top.IsLoadedUpload = true ;
-}
- </script>
- </head>
- <body bottomMargin="0" topMargin="0">
- <form id="frmUpload" action="" target="frmUploadWorker" method="post" enctype="multipart/form-data" onsubmit="return OnSubmit();">
- <table height="100%" cellSpacing="0" cellPadding="0" width="100%" border="0">
- <tr>
- <td nowrap>
- <span id="eUploadMessage">Upload a new file in this folder</span><br>
- <table cellSpacing="0" cellPadding="0" width="100%" border="0">
- <tr>
- <td width="100%"><input id="NewFile" name="NewFile" style="WIDTH: 100%" type="file"></td>
- <td nowrap>&nbsp;<input id="btnUpload" type="submit" value="Upload"></td>
- </tr>
- </table>
- </td>
- </tr>
- </table>
- </form>
- </body>
-</html>
diff --git a/lib/editor/filemanager/browser/default/images/ButtonArrow.gif b/lib/editor/filemanager/browser/default/images/ButtonArrow.gif
deleted file mode 100644
index a355e5a..0000000
--- a/lib/editor/filemanager/browser/default/images/ButtonArrow.gif
+++ /dev/null
Binary files differ
diff --git a/lib/editor/filemanager/browser/default/images/Folder.gif b/lib/editor/filemanager/browser/default/images/Folder.gif
deleted file mode 100644
index ab6824d..0000000
--- a/lib/editor/filemanager/browser/default/images/Folder.gif
+++ /dev/null
Binary files differ
diff --git a/lib/editor/filemanager/browser/default/images/Folder32.gif b/lib/editor/filemanager/browser/default/images/Folder32.gif
deleted file mode 100644
index b93b752..0000000
--- a/lib/editor/filemanager/browser/default/images/Folder32.gif
+++ /dev/null
Binary files differ
diff --git a/lib/editor/filemanager/browser/default/images/FolderOpened.gif b/lib/editor/filemanager/browser/default/images/FolderOpened.gif
deleted file mode 100644
index 0c5dd41..0000000
--- a/lib/editor/filemanager/browser/default/images/FolderOpened.gif
+++ /dev/null
Binary files differ
diff --git a/lib/editor/filemanager/browser/default/images/FolderOpened32.gif b/lib/editor/filemanager/browser/default/images/FolderOpened32.gif
deleted file mode 100644
index 3e3fcf5..0000000
--- a/lib/editor/filemanager/browser/default/images/FolderOpened32.gif
+++ /dev/null
Binary files differ
diff --git a/lib/editor/filemanager/browser/default/images/FolderUp.gif b/lib/editor/filemanager/browser/default/images/FolderUp.gif
deleted file mode 100644
index ad5bc20..0000000
--- a/lib/editor/filemanager/browser/default/images/FolderUp.gif
+++ /dev/null
Binary files differ
diff --git a/lib/editor/filemanager/browser/default/images/icons/32/ai.gif b/lib/editor/filemanager/browser/default/images/icons/32/ai.gif
deleted file mode 100644
index 699e6a3..0000000
--- a/lib/editor/filemanager/browser/default/images/icons/32/ai.gif
+++ /dev/null
Binary files differ
diff --git a/lib/editor/filemanager/browser/default/images/icons/32/avi.gif b/lib/editor/filemanager/browser/default/images/icons/32/avi.gif
deleted file mode 100644
index 97025bb..0000000
--- a/lib/editor/filemanager/browser/default/images/icons/32/avi.gif
+++ /dev/null
Binary files differ
diff --git a/lib/editor/filemanager/browser/default/images/icons/32/bmp.gif b/lib/editor/filemanager/browser/default/images/icons/32/bmp.gif
deleted file mode 100644
index f3c7f82..0000000
--- a/lib/editor/filemanager/browser/default/images/icons/32/bmp.gif
+++ /dev/null
Binary files differ
diff --git a/lib/editor/filemanager/browser/default/images/icons/32/cs.gif b/lib/editor/filemanager/browser/default/images/icons/32/cs.gif
deleted file mode 100644
index b62bd02..0000000
--- a/lib/editor/filemanager/browser/default/images/icons/32/cs.gif
+++ /dev/null
Binary files differ
diff --git a/lib/editor/filemanager/browser/default/images/icons/32/default.icon.gif b/lib/editor/filemanager/browser/default/images/icons/32/default.icon.gif
deleted file mode 100644
index 976997b..0000000
--- a/lib/editor/filemanager/browser/default/images/icons/32/default.icon.gif
+++ /dev/null
Binary files differ
diff --git a/lib/editor/filemanager/browser/default/images/icons/32/dll.gif b/lib/editor/filemanager/browser/default/images/icons/32/dll.gif
deleted file mode 100644
index 9b54964..0000000
--- a/lib/editor/filemanager/browser/default/images/icons/32/dll.gif
+++ /dev/null
Binary files differ
diff --git a/lib/editor/filemanager/browser/default/images/icons/32/doc.gif b/lib/editor/filemanager/browser/default/images/icons/32/doc.gif
deleted file mode 100644
index b557568..0000000
--- a/lib/editor/filemanager/browser/default/images/icons/32/doc.gif
+++ /dev/null
Binary files differ
diff --git a/lib/editor/filemanager/browser/default/images/icons/32/exe.gif b/lib/editor/filemanager/browser/default/images/icons/32/exe.gif
deleted file mode 100644
index 7584993..0000000
--- a/lib/editor/filemanager/browser/default/images/icons/32/exe.gif
+++ /dev/null
Binary files differ
diff --git a/lib/editor/filemanager/browser/default/images/icons/32/fla.gif b/lib/editor/filemanager/browser/default/images/icons/32/fla.gif
deleted file mode 100644
index 923079f..0000000
--- a/lib/editor/filemanager/browser/default/images/icons/32/fla.gif
+++ /dev/null
Binary files differ
diff --git a/lib/editor/filemanager/browser/default/images/icons/32/gif.gif b/lib/editor/filemanager/browser/default/images/icons/32/gif.gif
deleted file mode 100644
index df5f579..0000000
--- a/lib/editor/filemanager/browser/default/images/icons/32/gif.gif
+++ /dev/null
Binary files differ
diff --git a/lib/editor/filemanager/browser/default/images/icons/32/htm.gif b/lib/editor/filemanager/browser/default/images/icons/32/htm.gif
deleted file mode 100644
index a9bdf00..0000000
--- a/lib/editor/filemanager/browser/default/images/icons/32/htm.gif
+++ /dev/null
Binary files differ
diff --git a/lib/editor/filemanager/browser/default/images/icons/32/html.gif b/lib/editor/filemanager/browser/default/images/icons/32/html.gif
deleted file mode 100644
index a9bdf00..0000000
--- a/lib/editor/filemanager/browser/default/images/icons/32/html.gif
+++ /dev/null
Binary files differ
diff --git a/lib/editor/filemanager/browser/default/images/icons/32/jpg.gif b/lib/editor/filemanager/browser/default/images/icons/32/jpg.gif
deleted file mode 100644
index de78363..0000000
--- a/lib/editor/filemanager/browser/default/images/icons/32/jpg.gif
+++ /dev/null
Binary files differ
diff --git a/lib/editor/filemanager/browser/default/images/icons/32/js.gif b/lib/editor/filemanager/browser/default/images/icons/32/js.gif
deleted file mode 100644
index fe0c98e..0000000
--- a/lib/editor/filemanager/browser/default/images/icons/32/js.gif
+++ /dev/null
Binary files differ
diff --git a/lib/editor/filemanager/browser/default/images/icons/32/mdb.gif b/lib/editor/filemanager/browser/default/images/icons/32/mdb.gif
deleted file mode 100644
index d3af9e8..0000000
--- a/lib/editor/filemanager/browser/default/images/icons/32/mdb.gif
+++ /dev/null
Binary files differ
diff --git a/lib/editor/filemanager/browser/default/images/icons/32/mp3.gif b/lib/editor/filemanager/browser/default/images/icons/32/mp3.gif
deleted file mode 100644
index 7d6360f..0000000
--- a/lib/editor/filemanager/browser/default/images/icons/32/mp3.gif
+++ /dev/null
Binary files differ
diff --git a/lib/editor/filemanager/browser/default/images/icons/32/pdf.gif b/lib/editor/filemanager/browser/default/images/icons/32/pdf.gif
deleted file mode 100644
index 4950ec8..0000000
--- a/lib/editor/filemanager/browser/default/images/icons/32/pdf.gif
+++ /dev/null
Binary files differ
diff --git a/lib/editor/filemanager/browser/default/images/icons/32/ppt.gif b/lib/editor/filemanager/browser/default/images/icons/32/ppt.gif
deleted file mode 100644
index 023431c..0000000
--- a/lib/editor/filemanager/browser/default/images/icons/32/ppt.gif
+++ /dev/null
Binary files differ
diff --git a/lib/editor/filemanager/browser/default/images/icons/32/rdp.gif b/lib/editor/filemanager/browser/default/images/icons/32/rdp.gif
deleted file mode 100644
index b9eace7..0000000
--- a/lib/editor/filemanager/browser/default/images/icons/32/rdp.gif
+++ /dev/null
Binary files differ
diff --git a/lib/editor/filemanager/browser/default/images/icons/32/swf.gif b/lib/editor/filemanager/browser/default/images/icons/32/swf.gif
deleted file mode 100644
index 5df7de5..0000000
--- a/lib/editor/filemanager/browser/default/images/icons/32/swf.gif
+++ /dev/null
Binary files differ
diff --git a/lib/editor/filemanager/browser/default/images/icons/32/swt.gif b/lib/editor/filemanager/browser/default/images/icons/32/swt.gif
deleted file mode 100644
index 7807c07..0000000
--- a/lib/editor/filemanager/browser/default/images/icons/32/swt.gif
+++ /dev/null
Binary files differ
diff --git a/lib/editor/filemanager/browser/default/images/icons/32/txt.gif b/lib/editor/filemanager/browser/default/images/icons/32/txt.gif
deleted file mode 100644
index 4e2c2e3..0000000
--- a/lib/editor/filemanager/browser/default/images/icons/32/txt.gif
+++ /dev/null
Binary files differ
diff --git a/lib/editor/filemanager/browser/default/images/icons/32/vsd.gif b/lib/editor/filemanager/browser/default/images/icons/32/vsd.gif
deleted file mode 100644
index 7624697..0000000
--- a/lib/editor/filemanager/browser/default/images/icons/32/vsd.gif
+++ /dev/null
Binary files differ
diff --git a/lib/editor/filemanager/browser/default/images/icons/32/xls.gif b/lib/editor/filemanager/browser/default/images/icons/32/xls.gif
deleted file mode 100644
index afe724a..0000000
--- a/lib/editor/filemanager/browser/default/images/icons/32/xls.gif
+++ /dev/null
Binary files differ
diff --git a/lib/editor/filemanager/browser/default/images/icons/32/xml.gif b/lib/editor/filemanager/browser/default/images/icons/32/xml.gif
deleted file mode 100644
index 4fae356..0000000
--- a/lib/editor/filemanager/browser/default/images/icons/32/xml.gif
+++ /dev/null
Binary files differ
diff --git a/lib/editor/filemanager/browser/default/images/icons/32/zip.gif b/lib/editor/filemanager/browser/default/images/icons/32/zip.gif
deleted file mode 100644
index 7157f72..0000000
--- a/lib/editor/filemanager/browser/default/images/icons/32/zip.gif
+++ /dev/null
Binary files differ
diff --git a/lib/editor/filemanager/browser/default/images/icons/ai.gif b/lib/editor/filemanager/browser/default/images/icons/ai.gif
deleted file mode 100644
index ba5a913..0000000
--- a/lib/editor/filemanager/browser/default/images/icons/ai.gif
+++ /dev/null
Binary files differ
diff --git a/lib/editor/filemanager/browser/default/images/icons/avi.gif b/lib/editor/filemanager/browser/default/images/icons/avi.gif
deleted file mode 100644
index 6f3bac9..0000000
--- a/lib/editor/filemanager/browser/default/images/icons/avi.gif
+++ /dev/null
Binary files differ
diff --git a/lib/editor/filemanager/browser/default/images/icons/bmp.gif b/lib/editor/filemanager/browser/default/images/icons/bmp.gif
deleted file mode 100644
index 7708dd8..0000000
--- a/lib/editor/filemanager/browser/default/images/icons/bmp.gif
+++ /dev/null
Binary files differ
diff --git a/lib/editor/filemanager/browser/default/images/icons/cs.gif b/lib/editor/filemanager/browser/default/images/icons/cs.gif
deleted file mode 100644
index 4d92723..0000000
--- a/lib/editor/filemanager/browser/default/images/icons/cs.gif
+++ /dev/null
Binary files differ
diff --git a/lib/editor/filemanager/browser/default/images/icons/default.icon.gif b/lib/editor/filemanager/browser/default/images/icons/default.icon.gif
deleted file mode 100644
index 6ce26a4..0000000
--- a/lib/editor/filemanager/browser/default/images/icons/default.icon.gif
+++ /dev/null
Binary files differ
diff --git a/lib/editor/filemanager/browser/default/images/icons/dll.gif b/lib/editor/filemanager/browser/default/images/icons/dll.gif
deleted file mode 100644
index 48d445a..0000000
--- a/lib/editor/filemanager/browser/default/images/icons/dll.gif
+++ /dev/null
Binary files differ
diff --git a/lib/editor/filemanager/browser/default/images/icons/doc.gif b/lib/editor/filemanager/browser/default/images/icons/doc.gif
deleted file mode 100644
index 6535b4c..0000000
--- a/lib/editor/filemanager/browser/default/images/icons/doc.gif
+++ /dev/null
Binary files differ
diff --git a/lib/editor/filemanager/browser/default/images/icons/exe.gif b/lib/editor/filemanager/browser/default/images/icons/exe.gif
deleted file mode 100644
index 315817f..0000000
--- a/lib/editor/filemanager/browser/default/images/icons/exe.gif
+++ /dev/null
Binary files differ
diff --git a/lib/editor/filemanager/browser/default/images/icons/fla.gif b/lib/editor/filemanager/browser/default/images/icons/fla.gif
deleted file mode 100644
index 8f91a98..0000000
--- a/lib/editor/filemanager/browser/default/images/icons/fla.gif
+++ /dev/null
Binary files differ
diff --git a/lib/editor/filemanager/browser/default/images/icons/gif.gif b/lib/editor/filemanager/browser/default/images/icons/gif.gif
deleted file mode 100644
index a5e3e6c..0000000
--- a/lib/editor/filemanager/browser/default/images/icons/gif.gif
+++ /dev/null
Binary files differ
diff --git a/lib/editor/filemanager/browser/default/images/icons/htm.gif b/lib/editor/filemanager/browser/default/images/icons/htm.gif
deleted file mode 100644
index 0b5d6ba..0000000
--- a/lib/editor/filemanager/browser/default/images/icons/htm.gif
+++ /dev/null
Binary files differ
diff --git a/lib/editor/filemanager/browser/default/images/icons/html.gif b/lib/editor/filemanager/browser/default/images/icons/html.gif
deleted file mode 100644
index 0b5d6ba..0000000
--- a/lib/editor/filemanager/browser/default/images/icons/html.gif
+++ /dev/null
Binary files differ
diff --git a/lib/editor/filemanager/browser/default/images/icons/jpg.gif b/lib/editor/filemanager/browser/default/images/icons/jpg.gif
deleted file mode 100644
index 634b386..0000000
--- a/lib/editor/filemanager/browser/default/images/icons/jpg.gif
+++ /dev/null
Binary files differ
diff --git a/lib/editor/filemanager/browser/default/images/icons/js.gif b/lib/editor/filemanager/browser/default/images/icons/js.gif
deleted file mode 100644
index 4ea17d4..0000000
--- a/lib/editor/filemanager/browser/default/images/icons/js.gif
+++ /dev/null
Binary files differ
diff --git a/lib/editor/filemanager/browser/default/images/icons/mdb.gif b/lib/editor/filemanager/browser/default/images/icons/mdb.gif
deleted file mode 100644
index 0d7c102..0000000
--- a/lib/editor/filemanager/browser/default/images/icons/mdb.gif
+++ /dev/null
Binary files differ
diff --git a/lib/editor/filemanager/browser/default/images/icons/mp3.gif b/lib/editor/filemanager/browser/default/images/icons/mp3.gif
deleted file mode 100644
index 6f3bac9..0000000
--- a/lib/editor/filemanager/browser/default/images/icons/mp3.gif
+++ /dev/null
Binary files differ
diff --git a/lib/editor/filemanager/browser/default/images/icons/pdf.gif b/lib/editor/filemanager/browser/default/images/icons/pdf.gif
deleted file mode 100644
index ca1f94a..0000000
--- a/lib/editor/filemanager/browser/default/images/icons/pdf.gif
+++ /dev/null
Binary files differ
diff --git a/lib/editor/filemanager/browser/default/images/icons/ppt.gif b/lib/editor/filemanager/browser/default/images/icons/ppt.gif
deleted file mode 100644
index 877a8c8..0000000
--- a/lib/editor/filemanager/browser/default/images/icons/ppt.gif
+++ /dev/null
Binary files differ
diff --git a/lib/editor/filemanager/browser/default/images/icons/rdp.gif b/lib/editor/filemanager/browser/default/images/icons/rdp.gif
deleted file mode 100644
index 916cd7e..0000000
--- a/lib/editor/filemanager/browser/default/images/icons/rdp.gif
+++ /dev/null
Binary files differ
diff --git a/lib/editor/filemanager/browser/default/images/icons/swf.gif b/lib/editor/filemanager/browser/default/images/icons/swf.gif
deleted file mode 100644
index 314469d..0000000
--- a/lib/editor/filemanager/browser/default/images/icons/swf.gif
+++ /dev/null
Binary files differ
diff --git a/lib/editor/filemanager/browser/default/images/icons/swt.gif b/lib/editor/filemanager/browser/default/images/icons/swt.gif
deleted file mode 100644
index 314469d..0000000
--- a/lib/editor/filemanager/browser/default/images/icons/swt.gif
+++ /dev/null
Binary files differ
diff --git a/lib/editor/filemanager/browser/default/images/icons/txt.gif b/lib/editor/filemanager/browser/default/images/icons/txt.gif
deleted file mode 100644
index 1511ba3..0000000
--- a/lib/editor/filemanager/browser/default/images/icons/txt.gif
+++ /dev/null
Binary files differ
diff --git a/lib/editor/filemanager/browser/default/images/icons/vsd.gif b/lib/editor/filemanager/browser/default/images/icons/vsd.gif
deleted file mode 100644
index 9be3daa..0000000
--- a/lib/editor/filemanager/browser/default/images/icons/vsd.gif
+++ /dev/null
Binary files differ
diff --git a/lib/editor/filemanager/browser/default/images/icons/xls.gif b/lib/editor/filemanager/browser/default/images/icons/xls.gif
deleted file mode 100644
index f57715d..0000000
--- a/lib/editor/filemanager/browser/default/images/icons/xls.gif
+++ /dev/null
Binary files differ
diff --git a/lib/editor/filemanager/browser/default/images/icons/xml.gif b/lib/editor/filemanager/browser/default/images/icons/xml.gif
deleted file mode 100644
index 4559928..0000000
--- a/lib/editor/filemanager/browser/default/images/icons/xml.gif
+++ /dev/null
Binary files differ
diff --git a/lib/editor/filemanager/browser/default/images/icons/zip.gif b/lib/editor/filemanager/browser/default/images/icons/zip.gif
deleted file mode 100644
index b1e2492..0000000
--- a/lib/editor/filemanager/browser/default/images/icons/zip.gif
+++ /dev/null
Binary files differ
diff --git a/lib/editor/filemanager/browser/default/images/spacer.gif b/lib/editor/filemanager/browser/default/images/spacer.gif
deleted file mode 100644
index 35d42e8..0000000
--- a/lib/editor/filemanager/browser/default/images/spacer.gif
+++ /dev/null
Binary files differ
diff --git a/lib/editor/filemanager/browser/default/js/common.js b/lib/editor/filemanager/browser/default/js/common.js
deleted file mode 100644
index f16886a..0000000
--- a/lib/editor/filemanager/browser/default/js/common.js
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * FCKeditor - The text editor for internet
- * Copyright (C) 2003-2004 Frederico Caldeira Knabben
- *
- * Licensed under the terms of the GNU Lesser General Public License:
- * http://www.opensource.org/licenses/lgpl-license.php
- *
- * For further information visit:
- * http://www.fckeditor.net/
- *
- * File Name: common.js
- * Common objects and functions shared by all pages that compose the
- * File Browser dialog window.
- *
- * Version: 2.0 RC2
- * Modified: 2004-11-27 00:03:05
- *
- * File Authors:
- * Frederico Caldeira Knabben (fredck@fckeditor.net)
- */
-
-function AddSelectOption( selectElement, optionText, optionValue )
-{
- var oOption = document.createElement("OPTION") ;
-
- oOption.text = optionText ;
- oOption.value = optionValue ;
-
- selectElement.options.add(oOption) ;
-
- return oOption ;
-}
-
-var oConnector = window.parent.oConnector ;
-var oIcons = window.parent.oIcons ; \ No newline at end of file
diff --git a/lib/editor/filemanager/browser/default/js/fckxml.js b/lib/editor/filemanager/browser/default/js/fckxml.js
deleted file mode 100644
index 3db3d76..0000000
--- a/lib/editor/filemanager/browser/default/js/fckxml.js
+++ /dev/null
@@ -1,110 +0,0 @@
-/*
- * FCKeditor - The text editor for internet
- * Copyright (C) 2003-2004 Frederico Caldeira Knabben
- *
- * Licensed under the terms of the GNU Lesser General Public License:
- * http://www.opensource.org/licenses/lgpl-license.php
- *
- * For further information visit:
- * http://www.fckeditor.net/
- *
- * File Name: fckxml.js
- * Defines the FCKXml object that is used for XML data calls
- * and XML processing.
- * This script is shared by almost all pages that compose the
- * File Browser frameset.
- *
- * Version: 2.0 RC2
- * Modified: 2004-11-26 23:55:13
- *
- * File Authors:
- * Frederico Caldeira Knabben (fredck@fckeditor.net)
- */
-
-var FCKXml = function()
-{}
-
-FCKXml.prototype.GetHttpRequest = function()
-{
- if ( window.XMLHttpRequest ) // Gecko
- return new XMLHttpRequest() ;
- else if ( window.ActiveXObject ) // IE
- return new ActiveXObject("MsXml2.XmlHttp") ;
-}
-
-FCKXml.prototype.LoadUrl = function( urlToCall, asyncFunctionPointer )
-{
- var oFCKXml = this ;
-
- var bAsync = ( typeof(asyncFunctionPointer) == 'function' ) ;
-
- var oXmlHttp = this.GetHttpRequest() ;
-
- oXmlHttp.open( "GET", urlToCall, bAsync ) ;
-
- if ( bAsync )
- {
- oXmlHttp.onreadystatechange = function()
- {
- if ( oXmlHttp.readyState == 4 )
- {
- oFCKXml.DOMDocument = oXmlHttp.responseXML ;
- if ( oXmlHttp.status == 200 )
- asyncFunctionPointer( oFCKXml ) ;
- else
- alert( 'XML request error: ' + oXmlHttp.statusText + ' (' + oXmlHttp.status + ')' ) ;
- }
- }
- }
-
- oXmlHttp.send( null ) ;
-
- if ( ! bAsync )
- {
- if ( oXmlHttp.status == 200 )
- this.DOMDocument = oXmlHttp.responseXML ;
- else
- {
- alert( 'XML request error: ' + oXmlHttp.statusText + ' (' + oXmlHttp.status + ')' ) ;
- }
- }
-}
-
-FCKXml.prototype.SelectNodes = function( xpath )
-{
- if ( document.all ) // IE
- return this.DOMDocument.selectNodes( xpath ) ;
- else // Gecko
- {
- var aNodeArray = new Array();
-
- var xPathResult = this.DOMDocument.evaluate( xpath, this.DOMDocument,
- this.DOMDocument.createNSResolver(this.DOMDocument.documentElement), XPathResult.ORDERED_NODE_ITERATOR_TYPE, null) ;
- if ( xPathResult )
- {
- var oNode = xPathResult.iterateNext() ;
- while( oNode )
- {
- aNodeArray[aNodeArray.length] = oNode ;
- oNode = xPathResult.iterateNext();
- }
- }
- return aNodeArray ;
- }
-}
-
-FCKXml.prototype.SelectSingleNode = function( xpath )
-{
- if ( document.all ) // IE
- return this.DOMDocument.selectSingleNode( xpath ) ;
- else // Gecko
- {
- var xPathResult = this.DOMDocument.evaluate( xpath, this.DOMDocument,
- this.DOMDocument.createNSResolver(this.DOMDocument.documentElement), 9, null);
-
- if ( xPathResult && xPathResult.singleNodeValue )
- return xPathResult.singleNodeValue ;
- else
- return null ;
- }
-}
diff --git a/lib/editor/images/smiley/fun/aiua.gif b/lib/editor/images/smiley/fun/aiua.gif
deleted file mode 100644
index 63a1aba..0000000
--- a/lib/editor/images/smiley/fun/aiua.gif
+++ /dev/null
Binary files differ
diff --git a/lib/editor/images/smiley/fun/ak.gif b/lib/editor/images/smiley/fun/ak.gif
deleted file mode 100644
index 4072380..0000000
--- a/lib/editor/images/smiley/fun/ak.gif
+++ /dev/null
Binary files differ
diff --git a/lib/editor/images/smiley/fun/alien.gif b/lib/editor/images/smiley/fun/alien.gif
deleted file mode 100644
index 8fb0ed6..0000000
--- a/lib/editor/images/smiley/fun/alien.gif
+++ /dev/null
Binary files differ
diff --git a/lib/editor/images/smiley/fun/alien2.gif b/lib/editor/images/smiley/fun/alien2.gif
deleted file mode 100644
index 3c84a06..0000000
--- a/lib/editor/images/smiley/fun/alien2.gif
+++ /dev/null
Binary files differ
diff --git a/lib/editor/images/smiley/fun/angry.gif b/lib/editor/images/smiley/fun/angry.gif
deleted file mode 100644
index c36b285..0000000
--- a/lib/editor/images/smiley/fun/angry.gif
+++ /dev/null
Binary files differ
diff --git a/lib/editor/images/smiley/fun/angry1.gif b/lib/editor/images/smiley/fun/angry1.gif
deleted file mode 100644
index 488fb6e..0000000
--- a/lib/editor/images/smiley/fun/angry1.gif
+++ /dev/null
Binary files differ
diff --git a/lib/editor/images/smiley/fun/apophys.gif b/lib/editor/images/smiley/fun/apophys.gif
deleted file mode 100644
index 2734348..0000000
--- a/lib/editor/images/smiley/fun/apophys.gif
+++ /dev/null
Binary files differ
diff --git a/lib/editor/images/smiley/fun/assjani.gif b/lib/editor/images/smiley/fun/assjani.gif
deleted file mode 100644
index 3df8800..0000000
--- a/lib/editor/images/smiley/fun/assjani.gif
+++ /dev/null
Binary files differ
diff --git a/lib/editor/images/smiley/fun/asthanos.gif b/lib/editor/images/smiley/fun/asthanos.gif
deleted file mode 100644
index ea9b61b..0000000
--- a/lib/editor/images/smiley/fun/asthanos.gif
+++ /dev/null
Binary files differ
diff --git a/lib/editor/images/smiley/fun/bazuzeus.gif b/lib/editor/images/smiley/fun/bazuzeus.gif
deleted file mode 100644
index ac8bf22..0000000
--- a/lib/editor/images/smiley/fun/bazuzeus.gif
+++ /dev/null
Binary files differ
diff --git a/lib/editor/images/smiley/fun/beaute.gif b/lib/editor/images/smiley/fun/beaute.gif
deleted file mode 100644
index 55f8474..0000000
--- a/lib/editor/images/smiley/fun/beaute.gif
+++ /dev/null
Binary files differ
diff --git a/lib/editor/images/smiley/fun/bigsmile.gif b/lib/editor/images/smiley/fun/bigsmile.gif
deleted file mode 100644
index 068d5a1..0000000
--- a/lib/editor/images/smiley/fun/bigsmile.gif
+++ /dev/null
Binary files differ
diff --git a/lib/editor/images/smiley/fun/blush.gif b/lib/editor/images/smiley/fun/blush.gif
deleted file mode 100644
index 17afd39..0000000
--- a/lib/editor/images/smiley/fun/blush.gif
+++ /dev/null
Binary files differ
diff --git a/lib/editor/images/smiley/fun/boid.gif b/lib/editor/images/smiley/fun/boid.gif
deleted file mode 100644
index 9d2c73f..0000000
--- a/lib/editor/images/smiley/fun/boid.gif
+++ /dev/null
Binary files differ
diff --git a/lib/editor/images/smiley/fun/bonk.gif b/lib/editor/images/smiley/fun/bonk.gif
deleted file mode 100644
index d770efe..0000000
--- a/lib/editor/images/smiley/fun/bonk.gif
+++ /dev/null
Binary files differ
diff --git a/lib/editor/images/smiley/fun/bored.gif b/lib/editor/images/smiley/fun/bored.gif
deleted file mode 100644
index 58de953..0000000
--- a/lib/editor/images/smiley/fun/bored.gif
+++ /dev/null
Binary files differ
diff --git a/lib/editor/images/smiley/fun/borg.gif b/lib/editor/images/smiley/fun/borg.gif
deleted file mode 100644
index 18e5edc..0000000
--- a/lib/editor/images/smiley/fun/borg.gif
+++ /dev/null
Binary files differ
diff --git a/lib/editor/images/smiley/fun/capo.gif b/lib/editor/images/smiley/fun/capo.gif
deleted file mode 100644
index f145423..0000000
--- a/lib/editor/images/smiley/fun/capo.gif
+++ /dev/null
Binary files differ
diff --git a/lib/editor/images/smiley/fun/confused.gif b/lib/editor/images/smiley/fun/confused.gif
deleted file mode 100644
index fb93a50..0000000
--- a/lib/editor/images/smiley/fun/confused.gif
+++ /dev/null
Binary files differ
diff --git a/lib/editor/images/smiley/fun/cool.gif b/lib/editor/images/smiley/fun/cool.gif
deleted file mode 100644
index cead030..0000000
--- a/lib/editor/images/smiley/fun/cool.gif
+++ /dev/null
Binary files differ
diff --git a/lib/editor/images/smiley/fun/crazy.gif b/lib/editor/images/smiley/fun/crazy.gif
deleted file mode 100644
index 659fbb6..0000000
--- a/lib/editor/images/smiley/fun/crazy.gif
+++ /dev/null
Binary files differ
diff --git a/lib/editor/images/smiley/fun/cwm14.gif b/lib/editor/images/smiley/fun/cwm14.gif
deleted file mode 100644
index c2e8547..0000000
--- a/lib/editor/images/smiley/fun/cwm14.gif
+++ /dev/null
Binary files differ
diff --git a/lib/editor/images/smiley/fun/demis_roussos.gif b/lib/editor/images/smiley/fun/demis_roussos.gif
deleted file mode 100644
index 3e3c4f5..0000000
--- a/lib/editor/images/smiley/fun/demis_roussos.gif
+++ /dev/null
Binary files differ
diff --git a/lib/editor/images/smiley/fun/devil.gif b/lib/editor/images/smiley/fun/devil.gif
deleted file mode 100644
index da2dfcd..0000000
--- a/lib/editor/images/smiley/fun/devil.gif
+++ /dev/null
Binary files differ
diff --git a/lib/editor/images/smiley/fun/devil2.gif b/lib/editor/images/smiley/fun/devil2.gif
deleted file mode 100644
index 7a57c15..0000000
--- a/lib/editor/images/smiley/fun/devil2.gif
+++ /dev/null
Binary files differ
diff --git a/lib/editor/images/smiley/fun/double0smile.gif b/lib/editor/images/smiley/fun/double0smile.gif
deleted file mode 100644
index 65b3c76..0000000
--- a/lib/editor/images/smiley/fun/double0smile.gif
+++ /dev/null
Binary files differ
diff --git a/lib/editor/images/smiley/fun/eek3.gif b/lib/editor/images/smiley/fun/eek3.gif
deleted file mode 100644
index f799acd..0000000
--- a/lib/editor/images/smiley/fun/eek3.gif
+++ /dev/null
Binary files differ
diff --git a/lib/editor/images/smiley/fun/eltaf.gif b/lib/editor/images/smiley/fun/eltaf.gif
deleted file mode 100644
index 66bc075..0000000
--- a/lib/editor/images/smiley/fun/eltaf.gif
+++ /dev/null
Binary files differ
diff --git a/lib/editor/images/smiley/fun/gele.gif b/lib/editor/images/smiley/fun/gele.gif
deleted file mode 100644
index c7dbd04..0000000
--- a/lib/editor/images/smiley/fun/gele.gif
+++ /dev/null
Binary files differ
diff --git a/lib/editor/images/smiley/fun/halm.gif b/lib/editor/images/smiley/fun/halm.gif
deleted file mode 100644
index a239fb1..0000000
--- a/lib/editor/images/smiley/fun/halm.gif
+++ /dev/null
Binary files differ
diff --git a/lib/editor/images/smiley/fun/happy.gif b/lib/editor/images/smiley/fun/happy.gif
deleted file mode 100644
index fcaf0e5..0000000
--- a/lib/editor/images/smiley/fun/happy.gif
+++ /dev/null
Binary files differ
diff --git a/lib/editor/images/smiley/fun/icon12.gif b/lib/editor/images/smiley/fun/icon12.gif
deleted file mode 100644
index d0b786b..0000000
--- a/lib/editor/images/smiley/fun/icon12.gif
+++ /dev/null
Binary files differ
diff --git a/lib/editor/images/smiley/fun/icon23.gif b/lib/editor/images/smiley/fun/icon23.gif
deleted file mode 100644
index a65d12e..0000000
--- a/lib/editor/images/smiley/fun/icon23.gif
+++ /dev/null
Binary files differ
diff --git a/lib/editor/images/smiley/fun/icon26.gif b/lib/editor/images/smiley/fun/icon26.gif
deleted file mode 100644
index 4d9a1dd..0000000
--- a/lib/editor/images/smiley/fun/icon26.gif
+++ /dev/null
Binary files differ
diff --git a/lib/editor/images/smiley/fun/icon_angel.gif b/lib/editor/images/smiley/fun/icon_angel.gif
deleted file mode 100644
index 4121e58..0000000
--- a/lib/editor/images/smiley/fun/icon_angel.gif
+++ /dev/null
Binary files differ
diff --git a/lib/editor/images/smiley/fun/icon_bandit.gif b/lib/editor/images/smiley/fun/icon_bandit.gif
deleted file mode 100644
index 98d674b..0000000
--- a/lib/editor/images/smiley/fun/icon_bandit.gif
+++ /dev/null
Binary files differ
diff --git a/lib/editor/images/smiley/fun/icon_bravo.gif b/lib/editor/images/smiley/fun/icon_bravo.gif
deleted file mode 100644
index aab5693..0000000
--- a/lib/editor/images/smiley/fun/icon_bravo.gif
+++ /dev/null
Binary files differ
diff --git a/lib/editor/images/smiley/fun/icon_clown.gif b/lib/editor/images/smiley/fun/icon_clown.gif
deleted file mode 100644
index 45e2665..0000000
--- a/lib/editor/images/smiley/fun/icon_clown.gif
+++ /dev/null
Binary files differ
diff --git a/lib/editor/images/smiley/fun/jesors.gif b/lib/editor/images/smiley/fun/jesors.gif
deleted file mode 100644
index f756d4f..0000000
--- a/lib/editor/images/smiley/fun/jesors.gif
+++ /dev/null
Binary files differ
diff --git a/lib/editor/images/smiley/fun/jesors1.gif b/lib/editor/images/smiley/fun/jesors1.gif
deleted file mode 100644
index bfdfb29..0000000
--- a/lib/editor/images/smiley/fun/jesors1.gif
+++ /dev/null
Binary files differ
diff --git a/lib/editor/images/smiley/fun/lol3.gif b/lib/editor/images/smiley/fun/lol3.gif
deleted file mode 100644
index f477054..0000000
--- a/lib/editor/images/smiley/fun/lol3.gif
+++ /dev/null
Binary files differ
diff --git a/lib/editor/images/smiley/fun/love.gif b/lib/editor/images/smiley/fun/love.gif
deleted file mode 100644
index 1006369..0000000
--- a/lib/editor/images/smiley/fun/love.gif
+++ /dev/null
Binary files differ
diff --git a/lib/editor/images/smiley/fun/mad.gif b/lib/editor/images/smiley/fun/mad.gif
deleted file mode 100644
index f62eb17..0000000
--- a/lib/editor/images/smiley/fun/mad.gif
+++ /dev/null
Binary files differ
diff --git a/lib/editor/images/smiley/fun/megaphone.gif b/lib/editor/images/smiley/fun/megaphone.gif
deleted file mode 100644
index a641989..0000000
--- a/lib/editor/images/smiley/fun/megaphone.gif
+++ /dev/null
Binary files differ
diff --git a/lib/editor/images/smiley/fun/mmm.gif b/lib/editor/images/smiley/fun/mmm.gif
deleted file mode 100644
index ef3e906..0000000
--- a/lib/editor/images/smiley/fun/mmm.gif
+++ /dev/null
Binary files differ
diff --git a/lib/editor/images/smiley/fun/music.gif b/lib/editor/images/smiley/fun/music.gif
deleted file mode 100644
index 9b77a2a..0000000
--- a/lib/editor/images/smiley/fun/music.gif
+++ /dev/null
Binary files differ
diff --git a/lib/editor/images/smiley/fun/notify.gif b/lib/editor/images/smiley/fun/notify.gif
deleted file mode 100644
index d0e1b44..0000000
--- a/lib/editor/images/smiley/fun/notify.gif
+++ /dev/null
Binary files differ
diff --git a/lib/editor/images/smiley/fun/nuts.gif b/lib/editor/images/smiley/fun/nuts.gif
deleted file mode 100644
index df69c2c..0000000
--- a/lib/editor/images/smiley/fun/nuts.gif
+++ /dev/null
Binary files differ
diff --git a/lib/editor/images/smiley/fun/obanon.gif b/lib/editor/images/smiley/fun/obanon.gif
deleted file mode 100644
index 230dbb6..0000000
--- a/lib/editor/images/smiley/fun/obanon.gif
+++ /dev/null
Binary files differ
diff --git a/lib/editor/images/smiley/fun/ouaip.gif b/lib/editor/images/smiley/fun/ouaip.gif
deleted file mode 100644
index 67c7a04..0000000
--- a/lib/editor/images/smiley/fun/ouaip.gif
+++ /dev/null
Binary files differ
diff --git a/lib/editor/images/smiley/fun/pleure.gif b/lib/editor/images/smiley/fun/pleure.gif
deleted file mode 100644
index ba78f6e..0000000
--- a/lib/editor/images/smiley/fun/pleure.gif
+++ /dev/null
Binary files differ
diff --git a/lib/editor/images/smiley/fun/plugin.gif b/lib/editor/images/smiley/fun/plugin.gif
deleted file mode 100644
index 754fa21..0000000
--- a/lib/editor/images/smiley/fun/plugin.gif
+++ /dev/null
Binary files differ
diff --git a/lib/editor/images/smiley/fun/question.gif b/lib/editor/images/smiley/fun/question.gif
deleted file mode 100644
index 9d07226..0000000
--- a/lib/editor/images/smiley/fun/question.gif
+++ /dev/null
Binary files differ
diff --git a/lib/editor/images/smiley/fun/question2.gif b/lib/editor/images/smiley/fun/question2.gif
deleted file mode 100644
index d81046f..0000000
--- a/lib/editor/images/smiley/fun/question2.gif
+++ /dev/null
Binary files differ
diff --git a/lib/editor/images/smiley/fun/rasta2.gif b/lib/editor/images/smiley/fun/rasta2.gif
deleted file mode 100644
index c9ebdb2..0000000
--- a/lib/editor/images/smiley/fun/rasta2.gif
+++ /dev/null
Binary files differ
diff --git a/lib/editor/images/smiley/fun/rastapop.gif b/lib/editor/images/smiley/fun/rastapop.gif
deleted file mode 100644
index 3c1a0dc..0000000
--- a/lib/editor/images/smiley/fun/rastapop.gif
+++ /dev/null
Binary files differ
diff --git a/lib/editor/images/smiley/fun/rosebud.gif b/lib/editor/images/smiley/fun/rosebud.gif
deleted file mode 100644
index 868f204..0000000
--- a/lib/editor/images/smiley/fun/rosebud.gif
+++ /dev/null
Binary files differ
diff --git a/lib/editor/images/smiley/fun/sad.gif b/lib/editor/images/smiley/fun/sad.gif
deleted file mode 100644
index 52ff5b9..0000000
--- a/lib/editor/images/smiley/fun/sad.gif
+++ /dev/null
Binary files differ
diff --git a/lib/editor/images/smiley/fun/sad2.gif b/lib/editor/images/smiley/fun/sad2.gif
deleted file mode 100644
index 559c960..0000000
--- a/lib/editor/images/smiley/fun/sad2.gif
+++ /dev/null
Binary files differ
diff --git a/lib/editor/images/smiley/fun/shocked.gif b/lib/editor/images/smiley/fun/shocked.gif
deleted file mode 100644
index 8311599..0000000
--- a/lib/editor/images/smiley/fun/shocked.gif
+++ /dev/null
Binary files differ
diff --git a/lib/editor/images/smiley/fun/sick.gif b/lib/editor/images/smiley/fun/sick.gif
deleted file mode 100644
index 61c6646..0000000
--- a/lib/editor/images/smiley/fun/sick.gif
+++ /dev/null
Binary files differ
diff --git a/lib/editor/images/smiley/fun/sick2.gif b/lib/editor/images/smiley/fun/sick2.gif
deleted file mode 100644
index b8d1944..0000000
--- a/lib/editor/images/smiley/fun/sick2.gif
+++ /dev/null
Binary files differ
diff --git a/lib/editor/images/smiley/fun/slaap.gif b/lib/editor/images/smiley/fun/slaap.gif
deleted file mode 100644
index 46b746b..0000000
--- a/lib/editor/images/smiley/fun/slaap.gif
+++ /dev/null
Binary files differ
diff --git a/lib/editor/images/smiley/fun/sleep.gif b/lib/editor/images/smiley/fun/sleep.gif
deleted file mode 100644
index 1ea1245..0000000
--- a/lib/editor/images/smiley/fun/sleep.gif
+++ /dev/null
Binary files differ
diff --git a/lib/editor/images/smiley/fun/smile.gif b/lib/editor/images/smiley/fun/smile.gif
deleted file mode 100644
index 7b1f6d3..0000000
--- a/lib/editor/images/smiley/fun/smile.gif
+++ /dev/null
Binary files differ
diff --git a/lib/editor/images/smiley/fun/smiley_peur.gif b/lib/editor/images/smiley/fun/smiley_peur.gif
deleted file mode 100644
index 560a88e..0000000
--- a/lib/editor/images/smiley/fun/smiley_peur.gif
+++ /dev/null
Binary files differ
diff --git a/lib/editor/images/smiley/fun/sors.gif b/lib/editor/images/smiley/fun/sors.gif
deleted file mode 100644
index f8c0ae0..0000000
--- a/lib/editor/images/smiley/fun/sors.gif
+++ /dev/null
Binary files differ
diff --git a/lib/editor/images/smiley/fun/sovxx.gif b/lib/editor/images/smiley/fun/sovxx.gif
deleted file mode 100644
index 49836c5..0000000
--- a/lib/editor/images/smiley/fun/sovxx.gif
+++ /dev/null
Binary files differ
diff --git a/lib/editor/images/smiley/fun/spamafote.gif b/lib/editor/images/smiley/fun/spamafote.gif
deleted file mode 100644
index d0cce23..0000000
--- a/lib/editor/images/smiley/fun/spamafote.gif
+++ /dev/null
Binary files differ
diff --git a/lib/editor/images/smiley/fun/tap67.gif b/lib/editor/images/smiley/fun/tap67.gif
deleted file mode 100644
index 45f6a38..0000000
--- a/lib/editor/images/smiley/fun/tap67.gif
+++ /dev/null
Binary files differ
diff --git a/lib/editor/images/smiley/fun/thumbdown.gif b/lib/editor/images/smiley/fun/thumbdown.gif
deleted file mode 100644
index e023349..0000000
--- a/lib/editor/images/smiley/fun/thumbdown.gif
+++ /dev/null
Binary files differ
diff --git a/lib/editor/images/smiley/fun/thumbup.gif b/lib/editor/images/smiley/fun/thumbup.gif
deleted file mode 100644
index 651d761..0000000
--- a/lib/editor/images/smiley/fun/thumbup.gif
+++ /dev/null
Binary files differ
diff --git a/lib/editor/images/smiley/fun/tigi.gif b/lib/editor/images/smiley/fun/tigi.gif
deleted file mode 100644
index 487eb01..0000000
--- a/lib/editor/images/smiley/fun/tigi.gif
+++ /dev/null
Binary files differ
diff --git a/lib/editor/images/smiley/fun/toad666.gif b/lib/editor/images/smiley/fun/toad666.gif
deleted file mode 100644
index 480fd81..0000000
--- a/lib/editor/images/smiley/fun/toad666.gif
+++ /dev/null
Binary files differ
diff --git a/lib/editor/images/smiley/fun/tongue.gif b/lib/editor/images/smiley/fun/tongue.gif
deleted file mode 100644
index 1a50ac1..0000000
--- a/lib/editor/images/smiley/fun/tongue.gif
+++ /dev/null
Binary files differ
diff --git a/lib/editor/images/smiley/fun/tuffgong.gif b/lib/editor/images/smiley/fun/tuffgong.gif
deleted file mode 100644
index 5859936..0000000
--- a/lib/editor/images/smiley/fun/tuffgong.gif
+++ /dev/null
Binary files differ
diff --git a/lib/editor/images/smiley/fun/urgeman.gif b/lib/editor/images/smiley/fun/urgeman.gif
deleted file mode 100644
index 26f22ce..0000000
--- a/lib/editor/images/smiley/fun/urgeman.gif
+++ /dev/null
Binary files differ
diff --git a/lib/editor/images/smiley/fun/vanadium.gif b/lib/editor/images/smiley/fun/vanadium.gif
deleted file mode 100644
index 7a0a536..0000000
--- a/lib/editor/images/smiley/fun/vanadium.gif
+++ /dev/null
Binary files differ
diff --git a/lib/editor/images/smiley/fun/wink.gif b/lib/editor/images/smiley/fun/wink.gif
deleted file mode 100644
index d148288..0000000
--- a/lib/editor/images/smiley/fun/wink.gif
+++ /dev/null
Binary files differ
diff --git a/lib/editor/images/smiley/fun/worship.gif b/lib/editor/images/smiley/fun/worship.gif
deleted file mode 100644
index 04cc5a1..0000000
--- a/lib/editor/images/smiley/fun/worship.gif
+++ /dev/null
Binary files differ
diff --git a/lib/editor/images/smiley/fun/wouaf.gif b/lib/editor/images/smiley/fun/wouaf.gif
deleted file mode 100644
index f62ed31..0000000
--- a/lib/editor/images/smiley/fun/wouaf.gif
+++ /dev/null
Binary files differ
diff --git a/lib/editor/images/smiley/fun/wow.gif b/lib/editor/images/smiley/fun/wow.gif
deleted file mode 100644
index 94762b6..0000000
--- a/lib/editor/images/smiley/fun/wow.gif
+++ /dev/null
Binary files differ
diff --git a/lib/editor/images/smiley/fun/xp1700.gif b/lib/editor/images/smiley/fun/xp1700.gif
deleted file mode 100644
index 9c0d10a..0000000
--- a/lib/editor/images/smiley/fun/xp1700.gif
+++ /dev/null
Binary files differ
diff --git a/lib/editor/images/smiley/fun/yltype.gif b/lib/editor/images/smiley/fun/yltype.gif
deleted file mode 100644
index 40095b4..0000000
--- a/lib/editor/images/smiley/fun/yltype.gif
+++ /dev/null
Binary files differ
diff --git a/lib/editor/images/smiley/fun/yopyopyop.gif b/lib/editor/images/smiley/fun/yopyopyop.gif
deleted file mode 100644
index e661454..0000000
--- a/lib/editor/images/smiley/fun/yopyopyop.gif
+++ /dev/null
Binary files differ
diff --git a/lib/editor/images/smiley/fun/youpi.gif b/lib/editor/images/smiley/fun/youpi.gif
deleted file mode 100644
index 19ba508..0000000
--- a/lib/editor/images/smiley/fun/youpi.gif
+++ /dev/null
Binary files differ
diff --git a/lib/editor/images/smiley/fun/zoor.gif b/lib/editor/images/smiley/fun/zoor.gif
deleted file mode 100644
index cb5ddef..0000000
--- a/lib/editor/images/smiley/fun/zoor.gif
+++ /dev/null
Binary files differ
diff --git a/lib/editor/images/smiley/msn/angel_smile.gif b/lib/editor/images/smiley/msn/angel_smile.gif
deleted file mode 100644
index a95e053..0000000
--- a/lib/editor/images/smiley/msn/angel_smile.gif
+++ /dev/null
Binary files differ
diff --git a/lib/editor/images/smiley/msn/angry_smile.gif b/lib/editor/images/smiley/msn/angry_smile.gif
deleted file mode 100644
index c667c5d..0000000
--- a/lib/editor/images/smiley/msn/angry_smile.gif
+++ /dev/null
Binary files differ
diff --git a/lib/editor/images/smiley/msn/broken_heart.gif b/lib/editor/images/smiley/msn/broken_heart.gif
deleted file mode 100644
index 938cce1..0000000
--- a/lib/editor/images/smiley/msn/broken_heart.gif
+++ /dev/null
Binary files differ
diff --git a/lib/editor/images/smiley/msn/cake.gif b/lib/editor/images/smiley/msn/cake.gif
deleted file mode 100644
index f6489d7..0000000
--- a/lib/editor/images/smiley/msn/cake.gif
+++ /dev/null
Binary files differ
diff --git a/lib/editor/images/smiley/msn/confused_smile.gif b/lib/editor/images/smiley/msn/confused_smile.gif
deleted file mode 100644
index aeb0539..0000000
--- a/lib/editor/images/smiley/msn/confused_smile.gif
+++ /dev/null
Binary files differ
diff --git a/lib/editor/images/smiley/msn/cry_smile.gif b/lib/editor/images/smiley/msn/cry_smile.gif
deleted file mode 100644
index 0758f42..0000000
--- a/lib/editor/images/smiley/msn/cry_smile.gif
+++ /dev/null
Binary files differ
diff --git a/lib/editor/images/smiley/msn/devil_smile.gif b/lib/editor/images/smiley/msn/devil_smile.gif
deleted file mode 100644
index 15518d7..0000000
--- a/lib/editor/images/smiley/msn/devil_smile.gif
+++ /dev/null
Binary files differ
diff --git a/lib/editor/images/smiley/msn/embaressed_smile.gif b/lib/editor/images/smiley/msn/embaressed_smile.gif
deleted file mode 100644
index c431946..0000000
--- a/lib/editor/images/smiley/msn/embaressed_smile.gif
+++ /dev/null
Binary files differ
diff --git a/lib/editor/images/smiley/msn/envelope.gif b/lib/editor/images/smiley/msn/envelope.gif
deleted file mode 100644
index 66d3656..0000000
--- a/lib/editor/images/smiley/msn/envelope.gif
+++ /dev/null
Binary files differ
diff --git a/lib/editor/images/smiley/msn/heart.gif b/lib/editor/images/smiley/msn/heart.gif
deleted file mode 100644
index 305714f..0000000
--- a/lib/editor/images/smiley/msn/heart.gif
+++ /dev/null
Binary files differ
diff --git a/lib/editor/images/smiley/msn/kiss.gif b/lib/editor/images/smiley/msn/kiss.gif
deleted file mode 100644
index f840ea6..0000000
--- a/lib/editor/images/smiley/msn/kiss.gif
+++ /dev/null
Binary files differ
diff --git a/lib/editor/images/smiley/msn/lightbulb.gif b/lib/editor/images/smiley/msn/lightbulb.gif
deleted file mode 100644
index 863be6e..0000000
--- a/lib/editor/images/smiley/msn/lightbulb.gif
+++ /dev/null
Binary files differ
diff --git a/lib/editor/images/smiley/msn/omg_smile.gif b/lib/editor/images/smiley/msn/omg_smile.gif
deleted file mode 100644
index aabc7fd..0000000
--- a/lib/editor/images/smiley/msn/omg_smile.gif
+++ /dev/null
Binary files differ
diff --git a/lib/editor/images/smiley/msn/regular_smile.gif b/lib/editor/images/smiley/msn/regular_smile.gif
deleted file mode 100644
index 33f297e..0000000
--- a/lib/editor/images/smiley/msn/regular_smile.gif
+++ /dev/null
Binary files differ
diff --git a/lib/editor/images/smiley/msn/sad_smile.gif b/lib/editor/images/smiley/msn/sad_smile.gif
deleted file mode 100644
index dfb78ef..0000000
--- a/lib/editor/images/smiley/msn/sad_smile.gif
+++ /dev/null
Binary files differ
diff --git a/lib/editor/images/smiley/msn/shades_smile.gif b/lib/editor/images/smiley/msn/shades_smile.gif
deleted file mode 100644
index 157df77..0000000
--- a/lib/editor/images/smiley/msn/shades_smile.gif
+++ /dev/null
Binary files differ
diff --git a/lib/editor/images/smiley/msn/teeth_smile.gif b/lib/editor/images/smiley/msn/teeth_smile.gif
deleted file mode 100644
index 26b5a55..0000000
--- a/lib/editor/images/smiley/msn/teeth_smile.gif
+++ /dev/null
Binary files differ
diff --git a/lib/editor/images/smiley/msn/thumbs_down.gif b/lib/editor/images/smiley/msn/thumbs_down.gif
deleted file mode 100644
index f53ee72..0000000
--- a/lib/editor/images/smiley/msn/thumbs_down.gif
+++ /dev/null
Binary files differ
diff --git a/lib/editor/images/smiley/msn/thumbs_up.gif b/lib/editor/images/smiley/msn/thumbs_up.gif
deleted file mode 100644
index 7e8c746..0000000
--- a/lib/editor/images/smiley/msn/thumbs_up.gif
+++ /dev/null
Binary files differ
diff --git a/lib/editor/images/smiley/msn/tounge_smile.gif b/lib/editor/images/smiley/msn/tounge_smile.gif
deleted file mode 100644
index b87ec44..0000000
--- a/lib/editor/images/smiley/msn/tounge_smile.gif
+++ /dev/null
Binary files differ
diff --git a/lib/editor/images/smiley/msn/whatchutalkingabout_smile.gif b/lib/editor/images/smiley/msn/whatchutalkingabout_smile.gif
deleted file mode 100644
index c074122..0000000
--- a/lib/editor/images/smiley/msn/whatchutalkingabout_smile.gif
+++ /dev/null
Binary files differ
diff --git a/lib/editor/images/smiley/msn/wink_smile.gif b/lib/editor/images/smiley/msn/wink_smile.gif
deleted file mode 100644
index eefe61d..0000000
--- a/lib/editor/images/smiley/msn/wink_smile.gif
+++ /dev/null
Binary files differ
diff --git a/lib/editor/images/spacer.gif b/lib/editor/images/spacer.gif
deleted file mode 100644
index 5bfd67a..0000000
--- a/lib/editor/images/spacer.gif
+++ /dev/null
Binary files differ
diff --git a/lib/editor/js/fck_startup.js b/lib/editor/js/fck_startup.js
deleted file mode 100644
index c29d1b8..0000000
--- a/lib/editor/js/fck_startup.js
+++ /dev/null
@@ -1,24 +0,0 @@
-/*
- * FCKeditor - The text editor for internet
- * Copyright (C) 2003-2004 Frederico Caldeira Knabben
- *
- * Licensed under the terms of the GNU Lesser General Public License:
- * http://www.opensource.org/licenses/lgpl-license.php
- *
- * For further information visit:
- * http://www.fckeditor.net/
- *
- * This file has been compacted for best loading performance.
- *
- * Version: 2.0 RC2
- * Created: 2004-12-21 23:53:24
- */
-Array.prototype.addItem=function(item){this[this.length]=item;};Array.prototype.indexOf=function(value){for (var i=0;i<this.length;i++){if (this[i]==value) return i;};return-1;};String.prototype.startsWith=function(value){return (this.substr(0,value.length)==value);};String.prototype.endsWith=function(value){var L1=this.length;var L2=value.length;if (L2>L1) return false;return (L2==0||this.substr(L1-L2,L2)==value);};String.prototype.remove=function(start,length){var s='';if (start>0) s=this.substring(0,start);if (start+length<this.length) s+=this.substring(start+length,this.length);return s;};String.prototype.trim=function(){return this.replace(/(^\s*)|(\s*$)/g,'');}
-FCK_STATUS_NOTLOADED=window.parent.FCK_STATUS_NOTLOADED=0;FCK_STATUS_ACTIVE=window.parent.FCK_STATUS_ACTIVE=1;FCK_STATUS_COMPLETE=window.parent.FCK_STATUS_COMPLETE=2;FCK_TRISTATE_OFF=window.parent.FCK_TRISTATE_OFF=0;FCK_TRISTATE_ON=window.parent.FCK_TRISTATE_ON=1;FCK_TRISTATE_DISABLED=window.parent.FCK_TRISTATE_DISABLED=-1;FCK_UNKNOWN=window.parent.FCK_UNKNOWN=-1000;FCK_TOOLBARITEM_ONLYICON=window.parent.FCK_TOOLBARITEM_ONLYTEXT=0;FCK_TOOLBARITEM_ONLYTEXT=window.parent.FCK_TOOLBARITEM_ONLYTEXT=1;FCK_TOOLBARITEM_ICONTEXT=window.parent.FCK_TOOLBARITEM_ONLYTEXT=2;FCK_EDITMODE_WYSIWYG=window.parent.FCK_EDITMODE_WYSIWYG=0;FCK_EDITMODE_SOURCE=window.parent.FCK_EDITMODE_SOURCE=1;
-var FCKBrowserInfo=new Object();var sAgent=navigator.userAgent.toLowerCase();FCKBrowserInfo.IsIE=sAgent.indexOf("msie")!=-1;FCKBrowserInfo.IsGecko=!FCKBrowserInfo.IsIE;FCKBrowserInfo.IsNetscape=sAgent.indexOf("netscape")!=-1;if (FCKBrowserInfo.IsIE){FCKBrowserInfo.MajorVer=navigator.appVersion.match(/MSIE (.)/)[1];FCKBrowserInfo.MinorVer=navigator.appVersion.match(/MSIE .\.(.)/)[1];}else{FCKBrowserInfo.MajorVer=0;FCKBrowserInfo.MinorVer=0;};FCKBrowserInfo.IsIE55OrMore=FCKBrowserInfo.IsIE&&(FCKBrowserInfo.MajorVer>5||FCKBrowserInfo.MinorVer>=5);
-var FCKScriptLoader=new Object();FCKScriptLoader.IsLoading=false;FCKScriptLoader.Queue=new Array();FCKScriptLoader.AddScript=function(scriptPath){FCKScriptLoader.Queue[FCKScriptLoader.Queue.length]=scriptPath;if (!this.IsLoading) this.CheckQueue();};FCKScriptLoader.CheckQueue=function(){if (this.Queue.length>0){this.IsLoading=true;var sScriptPath=this.Queue[0];var oTempArray=new Array();for (i=1;i<this.Queue.length;i++) oTempArray[i-1]=this.Queue[i];this.Queue=oTempArray;var e;if (sScriptPath.lastIndexOf('.css')>0){e=document.createElement('LINK');e.rel='stylesheet';e.type='text/css';}else{e=document.createElement("script");e.type="text/javascript";};document.getElementsByTagName("head")[0].appendChild(e);var oEvent=function(){if (this.tagName=='LINK'||!this.readyState||this.readyState=='loaded') FCKScriptLoader.CheckQueue();};if (e.tagName=='LINK'){if (FCKBrowserInfo.IsIE) e.onload=oEvent;else FCKScriptLoader.CheckQueue();e.href=sScriptPath;}else{e.onload=e.onreadystatechange=oEvent;e.src=sScriptPath;};}else{this.IsLoading=false;if (this.OnEmpty) this.OnEmpty();};}
-var FCKURLParams=new Object();var aParams=document.location.search.substr(1).split('&');for (i=0;i<aParams.length;i++){var aParam=aParams[i].split('=');var sParamName=aParam[0];var sParamValue=aParam[1];FCKURLParams[sParamName]=sParamValue;}
-var FCK=new Object();FCK.Name=FCKURLParams['InstanceName'];FCK.LinkedField=window.parent.document.getElementById(FCK.Name);FCK.Status=FCK_STATUS_NOTLOADED;FCK.EditMode=FCK_EDITMODE_WYSIWYG;FCK.PasteEnabled=false;
-var FCKConfig=FCK.Config=new Object();if (document.location.protocol=='file:'){FCKConfig.BasePath=document.location.pathname.substr(1);FCKConfig.BasePath=FCKConfig.BasePath.replace(/\\/gi,'/');FCKConfig.BasePath='file://'+FCKConfig.BasePath.substring(0,FCKConfig.BasePath.lastIndexOf('/')+1);}else FCKConfig.BasePath=document.location.pathname.substring(0,document.location.pathname.lastIndexOf('/')+1);FCKConfig.LoadHiddenField=function(){var oConfigField=window.parent.document.getElementById(FCK.Name+'___Config');if (!oConfigField) return;var aCouples=oConfigField.value.split('&');for (var i=0;i<aCouples.length;i++){if (aCouples[i].length==0) continue;var aConfig=aCouples[i].split('=');var sConfigName=aConfig[0];var sConfigValue=aConfig[1];if (sConfigValue.toLowerCase()=="true") FCKConfig[sConfigName]=true;else if (sConfigValue.toLowerCase()=="false") FCKConfig[sConfigName]=false;else if (!isNaN(sConfigValue)) FCKConfig[sConfigName]=parseInt(sConfigValue);else FCKConfig[sConfigName]=sConfigValue;};};FCKConfig.ToolbarSets=new Object();FCKConfig.Plugins=new Object();FCKConfig.Plugins.Items=new Array();FCKConfig.Plugins.Add=function(name,langs){FCKConfig.Plugins.Items.addItem([name,langs]);}
-var FCKeditorAPI;if (!window.parent.FCKeditorAPI){FCKeditorAPI=window.parent.FCKeditorAPI=new Object();FCKeditorAPI.__Instances=new Object();FCKeditorAPI.Version='2.0 RC2';FCKeditorAPI.GetInstance=function(instanceName){return this.__Instances[instanceName];};}else FCKeditorAPI=window.parent.FCKeditorAPI;FCKeditorAPI.__Instances[FCK.Name]=FCK;
-window.document.oncontextmenu=function(e){if (e) e.preventDefault();return false;};if (!FCKBrowserInfo.IsIE){window.onresize=function(){var oFrame=document.getElementById('eEditorArea');oFrame.height=0;var oCell=document.getElementById(FCK.EditMode==FCK_EDITMODE_WYSIWYG?'eWysiwygCell':'eSource');var iHeight=oCell.offsetHeight;oFrame.height=iHeight-2;};};window.onload=function(){if (FCKBrowserInfo.IsNetscape) document.getElementById('eWysiwygCell').style.paddingRight='2px';FCKScriptLoader.OnEmpty=function(){FCKScriptLoader.OnEmpty=null;FCKConfig.LoadHiddenField();if (FCKConfig.CustomConfigurationsPath.length>0) FCKScriptLoader.AddScript(FCKConfig.CustomConfigurationsPath);LoadStyles();};FCKScriptLoader.AddScript('../fckconfig.js');};function LoadStyles(){FCKScriptLoader.OnEmpty=LoadScripts;FCKScriptLoader.AddScript(FCKConfig.SkinPath+'fck_editor.css');FCKScriptLoader.AddScript(FCKConfig.SkinPath+'fck_contextmenu.css');};function LoadScripts(){FCKScriptLoader.OnEmpty=null;if (FCKBrowserInfo.IsIE) FCKScriptLoader.AddScript('js/fckeditorcode_ie_1.js');else FCKScriptLoader.AddScript('js/fckeditorcode_gecko_1.js');};function LoadLanguageFile(){FCKScriptLoader.OnEmpty=function(){FCKScriptLoader.OnEmpty=null;if (FCKLang) window.document.dir=FCKLang.Dir;FCK.StartEditor();};FCKScriptLoader.AddScript('lang/'+FCKLanguageManager.ActiveLanguage.Code+'.js');}
diff --git a/lib/editor/js/fckeditorcode_gecko_1.js b/lib/editor/js/fckeditorcode_gecko_1.js
deleted file mode 100644
index e89d727..0000000
--- a/lib/editor/js/fckeditorcode_gecko_1.js
+++ /dev/null
@@ -1,25 +0,0 @@
-/*
- * FCKeditor - The text editor for internet
- * Copyright (C) 2003-2004 Frederico Caldeira Knabben
- *
- * Licensed under the terms of the GNU Lesser General Public License:
- * http://www.opensource.org/licenses/lgpl-license.php
- *
- * For further information visit:
- * http://www.fckeditor.net/
- *
- * This file has been compacted for best loading performance.
- *
- * Version: 2.0 RC2
- * Created: 2004-12-21 23:53:24
- */
-var FCKDebug=new Object();if (FCKConfig.Debug){FCKDebug.Output=function(message,color){if (!FCKConfig.Debug) return;if (message!=null&&isNaN(message)) message=message.replace(/</g,"&lt;");if (!this.DebugWindow||this.DebugWindow.closed) this.DebugWindow=window.open('fckdebug.html','FCKeditorDebug','menubar=no,scrollbars=no,resizable=yes,location=no,toolbar=no,width=600,height=500',true);if (this.DebugWindow.Output) this.DebugWindow.Output(message,color);};}else FCKDebug.Output=function() {};
-var FCKTools=new Object();FCKTools.GetLinkedFieldValue=function(){return FCK.LinkedField.value;};FCKTools.SetLinkedFieldValue=function(value){FCK.LinkedField.value=value;};FCKTools.AttachToLinkedFieldFormSubmit=function(functionPointer){var oForm=FCK.LinkedField.form;if (!oForm) return;if (FCKBrowserInfo.IsIE) oForm.attachEvent("onsubmit",functionPointer);else oForm.addEventListener('submit',functionPointer,true);if (!oForm.updateFCKEditor) oForm.updateFCKEditor=new Array();oForm.updateFCKEditor[oForm.updateFCKEditor.length]=functionPointer;if (!oForm.originalSubmit&&!oForm.submit.tagName){oForm.originalSubmit=oForm.submit;oForm.submit=function(){if (this.updateFCKEditor){for (var i=0;i<this.updateFCKEditor.length;i++) this.updateFCKEditor[i]();};this.originalSubmit();};};};FCKTools.AddSelectOption=function(targetDocument,selectElement,optionText,optionValue){var oOption=targetDocument.createElement("OPTION");oOption.text=optionText;oOption.value=optionValue;selectElement.options.add(oOption);return oOption;};FCKTools.RemoveAllSelectOptions=function(selectElement){for (var i=selectElement.options.length-1;i>=0;i--){selectElement.options.remove(i);};};FCKTools.SelectNoCase=function(selectElement,value,defaultValue){var sNoCaseValue=value.toString().toLowerCase();for (var i=0;i<selectElement.options.length;i++){if (sNoCaseValue==selectElement.options[i].value.toLowerCase()){selectElement.selectedIndex=i;return;};};if (defaultValue!=null) FCKTools.SelectNoCase(selectElement,defaultValue);};FCKTools.HTMLEncode=function(text){text=text.replace(/&/g,"&amp;");text=text.replace(/"/g,"&quot;");text=text.replace(/</g,"&lt;");text=text.replace(/>/g,"&gt;");text=text.replace(/'/g,"&#39;");return text;};FCKTools.GetResultingArray=function(arraySource,separator){switch (typeof(arraySource)){case "string":return arraySource.split(separator);case "function":return separator();default:if (isArray(arraySource)) return arraySource;else return new Array();};};FCKTools.GetElementPosition=function(el){var c={ X:0,Y:0 };while (el){c.X+=el.offsetLeft;c.Y+=el.offsetTop;el=el.offsetParent;};return c;};FCKTools.GetElementAscensor=function(element,ascensorTagName){var e=element.parentNode;while (e){if (e.nodeName==ascensorTagName) return e;e=e.parentNode;};};
-FCKTools.AppendStyleSheet=function(documentElement,cssFileUrl){var e=documentElement.createElement('LINK');e.rel='stylesheet';e.type='text/css';e.href=cssFileUrl;documentElement.getElementsByTagName("HEAD")[0].appendChild(e);};FCKTools.ClearElementAttributes=function(element){for (var i=0;i<element.attributes.length;i++){element.removeAttribute(element.attributes[i].name,0);};};FCKTools.GetAllChildrenIds=function(parentElement){var aIds=new Array();var fGetIds=function(parent){for (var i=0;i<parent.childNodes.length;i++){var sId=parent.childNodes[i].id;if (sId&&sId.length>0) aIds[aIds.length]=sId;fGetIds(parent.childNodes[i]);};};fGetIds(parentElement);return aIds;};FCKTools.RemoveOuterTags=function(e){var oFragment=e.ownerDocument.createDocumentFragment();for (var i=0;i<e.childNodes.length;i++) oFragment.appendChild(e.childNodes[i]);e.parentNode.replaceChild(oFragment,e);}
-var FCKRegexLib=new Object();FCKRegexLib.AposEntity=/&apos;/gi;FCKRegexLib.ObjectElements=/^(?:IMG|TABLE|TR|TD|INPUT|SELECT|TEXTAREA|HR|OBJECT)$/i;FCKRegexLib.NamedCommands=/^(?:Cut|Copy|Paste|Print|SelectAll|RemoveFormat|Unlink|Undo|Redo|Bold|Italic|Underline|StrikeThrough|Subscript|Superscript|JustifyLeft|JustifyCenter|JustifyRight|JustifyFull|Outdent|Indent|InsertOrderedList|InsertUnorderedList|InsertHorizontalRule)$/i;
-FCKLanguageManager.GetActiveLanguage=function(){if (FCKConfig.AutoDetectLanguage){var sUserLang;if (navigator.userLanguage) sUserLang=navigator.userLanguage.toLowerCase();else if (navigator.language) sUserLang=navigator.language.toLowerCase();else{return FCKConfig.DefaultLanguage;};FCKDebug.Output('Navigator Language = '+sUserLang);if (sUserLang.length>=5){sUserLang=sUserLang.substr(0,5);if (this.AvailableLanguages[sUserLang]) return sUserLang;};if (sUserLang.length>=2){sUserLang=sUserLang.substr(0,2);if (this.AvailableLanguages[sUserLang]) return sUserLang;};};return this.DefaultLanguage;};FCKLanguageManager.TranslateElements=function(targetDocument,tag,propertyToSet){var aInputs=targetDocument.getElementsByTagName(tag);for (var i=0;i<aInputs.length;i++){var oAtt=aInputs[i].attributes['fckLang'];if (oAtt){var s=FCKLang[oAtt.value];if (s) eval('aInputs[i].'+propertyToSet+' = s');};};};FCKLanguageManager.TranslatePage=function(targetDocument){this.TranslateElements(targetDocument,'INPUT','value');this.TranslateElements(targetDocument,'SPAN','innerHTML');this.TranslateElements(targetDocument,'LABEL','innerHTML');this.TranslateElements(targetDocument,'OPTION','innerHTML');};if (FCKLanguageManager.AvailableLanguages[FCKConfig.DefaultLanguage]) FCKLanguageManager.DefaultLanguage=FCKConfig.DefaultLanguage;else FCKLanguageManager.DefaultLanguage='en';FCKLanguageManager.ActiveLanguage=new Object();FCKLanguageManager.ActiveLanguage.Code=FCKLanguageManager.GetActiveLanguage();FCKLanguageManager.ActiveLanguage.Name=FCKLanguageManager.AvailableLanguages[FCKLanguageManager.ActiveLanguage.Code];FCK.Language=FCKLanguageManager;LoadLanguageFile();
-var FCKEvents=function(eventsOwner){this.Owner=eventsOwner;this.RegisteredEvents=new Object();};FCKEvents.prototype.AttachEvent=function(eventName,functionPointer,params){if (!this.RegisteredEvents[eventName]) this.RegisteredEvents[eventName]=new Array();this.RegisteredEvents[eventName][this.RegisteredEvents[eventName].length]=functionPointer;};FCKEvents.prototype.FireEvent=function(eventName,params){var bReturnValue=true;FCKDebug.Output('Firing event: '+eventName,'Fuchsia');var oCalls=this.RegisteredEvents[eventName];if (oCalls){for (var i=0;i<oCalls.length;i++){if (typeof(oCalls[i])=="function") bReturnValue=(bReturnValue&&oCalls[i](params));else bReturnValue=(bReturnValue&&eval(oCalls[i]));};};return bReturnValue;};
-FCKXHtmlEntities=new Object();FCKXHtmlEntities.Entities={' ':'nbsp','¡':'iexcl','¢':'cent','£':'pound','¤':'curren','¥':'yen','¦':'brvbar','§':'sect','¨':'uml','©':'copy','ª':'ordf','«':'laquo','¬':'not','­':'shy','®':'reg','¯':'macr','°':'deg','±':'plusmn','²':'sup2','³':'sup3','´':'acute','µ':'micro','¶':'para','·':'middot','¸':'cedil','¹':'sup1','º':'ordm','»':'raquo','¼':'frac14','½':'frac12','¾':'frac34','¿':'iquest','À':'Agrave','Á':'Aacute','Â':'Acirc','Ã':'Atilde','Ä':'Auml','Å':'Aring','Æ':'AElig','Ç':'Ccedil','È':'Egrave','É':'Eacute','Ê':'Ecirc','Ë':'Euml','Ì':'Igrave','Í':'Iacute','Î':'Icirc','Ï':'Iuml','Ð':'ETH','Ñ':'Ntilde','Ò':'Ograve','Ó':'Oacute','Ô':'Ocirc','Õ':'Otilde','Ö':'Ouml','×':'times','Ø':'Oslash','Ù':'Ugrave','Ú':'Uacute','Û':'Ucirc','Ü':'Uuml','Ý':'Yacute','Þ':'THORN','ß':'szlig','à':'agrave','á':'aacute','â':'acirc','ã':'atilde','ä':'auml','å':'aring','æ':'aelig','ç':'ccedil','è':'egrave','é':'eacute','ê':'ecirc','ë':'euml','ì':'igrave','í':'iacute','î':'icirc','ï':'iuml','ð':'eth','ñ':'ntilde','ò':'ograve','ó':'oacute','ô':'ocirc','õ':'otilde','ö':'ouml','÷':'divide','ø':'oslash','ù':'ugrave','ú':'uacute','û':'ucirc','ü':'uuml','ý':'yacute','þ':'thorn','ÿ':'yuml','ƒ':'fnof','Α':'Alpha','Β':'Beta','Γ':'Gamma','Δ':'Delta','Ε':'Epsilon','Ζ':'Zeta','Η':'Eta','Θ':'Theta','Ι':'Iota','Κ':'Kappa','Λ':'Lambda','Μ':'Mu','Ν':'Nu','Ξ':'Xi','Ο':'Omicron','Π':'Pi','Ρ':'Rho','Σ':'Sigma','Τ':'Tau','Υ':'Upsilon','Φ':'Phi','Χ':'Chi','Ψ':'Psi','Ω':'Omega','α':'alpha','β':'beta','γ':'gamma','δ':'delta','ε':'epsilon','ζ':'zeta','η':'eta','θ':'theta','ι':'iota','κ':'kappa','λ':'lambda','μ':'mu','ν':'nu','ξ':'xi','ο':'omicron','π':'pi','ρ':'rho','ς':'sigmaf','σ':'sigma','τ':'tau','υ':'upsilon','φ':'phi','χ':'chi','ψ':'psi','ω':'omega','ϑ':'thetasym','ϒ':'upsih','ϖ':'piv','•':'bull','…':'hellip','′':'prime','″':'Prime','‾':'oline','⁄':'frasl','℘':'weierp','ℑ':'image','ℜ':'real','™':'trade','ℵ':'alefsym','←':'larr','↑':'uarr','→':'rarr','↓':'darr','↔':'harr','↵':'crarr','⇐':'lArr','⇑':'uArr','⇒':'rArr','⇓':'dArr','⇔':'hArr','∀':'forall','∂':'part','∃':'exist','∅':'empty','∇':'nabla','∈':'isin','∉':'notin','∋':'ni','∏':'prod','∑':'sum','−':'minus','∗':'lowast','√':'radic','∝':'prop','∞':'infin','∠':'ang','∧':'and','∨':'or','∩':'cap','∪':'cup','∫':'int','∴':'there4','∼':'sim','≅':'cong','≈':'asymp','≠':'ne','≡':'equiv','≤':'le','≥':'ge','⊂':'sub','⊃':'sup','⊄':'nsub','⊆':'sube','⊇':'supe','⊕':'oplus','⊗':'otimes','⊥':'perp','⋅':'sdot','⌈':'lceil','⌉':'rceil','⌊':'lfloor','⌋':'rfloor','〈':'lang','〉':'rang','◊':'loz','♠':'spades','♣':'clubs','♥':'hearts','♦':'diams','"':'quot','Œ':'OElig','œ':'oelig','Š':'Scaron','š':'scaron','Ÿ':'Yuml','ˆ':'circ','˜':'tilde',' ':'ensp',' ':'emsp',' ':'thinsp','‌':'zwnj','‍':'zwj','‎':'lrm','‏':'rlm','–':'ndash','—':'mdash','‘':'lsquo','’':'rsquo','‚':'sbquo','“':'ldquo','”':'rdquo','„':'bdquo','†':'dagger','‡':'Dagger','‰':'permil','‹':'lsaquo','›':'rsaquo','€':'euro'};FCKXHtmlEntities.Chars='';for (var e in FCKXHtmlEntities.Entities) FCKXHtmlEntities.Chars+=e;FCKXHtmlEntities.EntitiesRegex=new RegExp('','');FCKXHtmlEntities.EntitiesRegex.compile('['+FCKXHtmlEntities.Chars+']|[^'+FCKXHtmlEntities.Chars+']+','g');FCKXHtmlEntities.GeckoEntitiesMarkerRegex=/#\?-\:/g;
-var FCKXHtml=new Object();FCKXHtml.EmptyElementsRegex=/^(?:BASE|META|LINK|HR|BR|PARAM|IMG|AREA|INPUT)$/i;FCKXHtml.GetXHTML=function(node){if (window.ActiveXObject) this.XML=new ActiveXObject('Msxml2.DOMDocument');else this.XML=document.implementation.createDocument('','',null);this.MainNode=this.XML.appendChild(this.XML.createElement('xhtml'));this._AppendChildNodes(this.MainNode,node);var sXHTML=FCKBrowserInfo.IsIE?this.MainNode.xml:FCKXHtml._GetGeckoNodeXml(this.MainNode);if (FCKConfig.ForceSimpleAmpersand) sXHTML=sXHTML.replace(/___FCKAmp___/g,'&');return sXHTML.substr(7,sXHTML.length-15);};FCKXHtml._GetGeckoNodeXml=function(node){var oSerializer=new XMLSerializer();return oSerializer.serializeToString(node).replace(FCKXHtmlEntities.GeckoEntitiesMarkerRegex,'&');};FCKXHtml._AppendAttribute=function(xmlNode,attributeName,attributeValue){if (FCKBrowserInfo.IsGecko&&attributeName.indexOf('_moz')==0) return;var oXmlAtt=this.XML.createAttribute(attributeName);if (attributeValue===true) oXmlAtt.value=attributeName;else oXmlAtt.value=attributeValue;xmlNode.attributes.setNamedItem(oXmlAtt);};FCKXHtml._AppendChildNodes=function(xmlNode,htmlNode){var oChildren=htmlNode.childNodes;var i=0;while (i<oChildren.length){i+=this._AppendNode(xmlNode,oChildren[i]);};if (i==0&&!this.EmptyElementsRegex.test(htmlNode.nodeName)) xmlNode.appendChild(this.XML.createTextNode(''));};FCKXHtml._AppendNode=function(xmlNode,htmlNode){var iAddedNodes=1;switch (htmlNode.nodeType){case 1:if (FCKBrowserInfo.IsGecko&&htmlNode.hasAttribute('_moz_editor_bogus_node')) return;var sNodeName=htmlNode.nodeName.toLowerCase();if (sNodeName.substr(0,1)=='/') break;var oNode=this.XML.createElement(sNodeName);var oAttributes=htmlNode.attributes;for (var n=0;n<oAttributes.length;n++){var oAttribute=oAttributes[n];if (oAttribute.specified){var sAttName=oAttribute.nodeName.toLowerCase();if (FCKBrowserInfo.IsIE&&sAttName=='style') var sAttValue=htmlNode.style.cssText;else if (sAttName=='class'||(FCKBrowserInfo.IsIE&&sAttName.indexOf('on')==0)) var sAttValue=oAttribute.nodeValue;else var sAttValue=htmlNode.getAttribute(sAttName,2);if (FCKConfig.ForceSimpleAmpersand&&sAttValue.replace) sAttValue=sAttValue.replace(/&/g,'___FCKAmp___');this._AppendAttribute(oNode,sAttName,sAttValue);};};var bProcessChild=true;switch (sNodeName){case "img":if (!oNode.attributes.getNamedItem('alt')) this._AppendAttribute(oNode,'alt','');bProcessChild=false;break;case "font":if (FCKBrowserInfo.IsIE&&oNode.attributes.length==0) oNode=this.XML.createDocumentFragment();break;case "input":if (FCKBrowserInfo.IsIE&&htmlNode.value&&!oNode.attributes.getNamedItem('value')) this._AppendAttribute(oNode,'value',htmlNode.value);bProcessChild=false;break;case "abbr":if (FCKBrowserInfo.IsIE){var oNextNode=htmlNode.nextSibling;while (true){iAddedNodes++;if (oNextNode&&oNextNode.nodeName!='/ABBR'){this._AppendNode(oNode,oNextNode);oNextNode=oNextNode.nextSibling;}else break;};bProcessChild=false;};break;case "area":if (FCKBrowserInfo.IsIE&&!oNode.attributes.getNamedItem('coords')){var sCoords=htmlNode.getAttribute('coords',2);if (sCoords&&sCoords!='0,0,0') this._AppendAttribute(oNode,'coords',sCoords);};break;case "script":if (!oNode.attributes.getNamedItem('type')) this._AppendAttribute(oNode,'type','text/javascript');oNode.appendChild(this.XML.createTextNode('\n'+htmlNode.text.trim()+'\n'));bProcessChild=false;break;case "style":if (!oNode.attributes.getNamedItem('type')) this._AppendAttribute(oNode,'type','text/css');oNode.appendChild(this.XML.createTextNode('\n'+htmlNode.innerHTML.trim()+'\n'));bProcessChild=false;break;};if (bProcessChild) this._AppendChildNodes(oNode,htmlNode);xmlNode.appendChild(oNode);break;case 3:var asPieces=htmlNode.nodeValue.match(FCKXHtmlEntities.EntitiesRegex);if (asPieces){for (var i=0;i<asPieces.length;i++){if (asPieces[i].length==1){var sEntity=FCKXHtmlEntities.Entities[asPieces[i]];if (sEntity!=null){if (FCKBrowserInfo.IsIE) var oEnt=this.XML.createEntityReference(sEntity);else var oEnt=this.XML.createTextNode('#?-:'+sEntity+';');xmlNode.appendChild(oEnt);continue;};};xmlNode.appendChild(this.XML.createTextNode(asPieces[i]));};};break;case 8:xmlNode.appendChild(this.XML.createComment(htmlNode.nodeValue));break;default:xmlNode.appendChild(this.XML.createComment("Element not supported - Type: "+htmlNode.nodeType+" Name: "+htmlNode.nodeName));break;};return iAddedNodes;}
-FCK.Events=new FCKEvents(FCK);FCK.Toolbar=null;FCK.StartEditor=function(){this.EditorWindow=window.frames['eEditorArea'];this.EditorDocument=this.EditorWindow.document;this.SetHTML(FCKTools.GetLinkedFieldValue());FCKTools.AppendStyleSheet(this.EditorDocument,FCKConfig.EditorAreaCSS);FCKTools.AttachToLinkedFieldFormSubmit(this.UpdateLinkedField);this.InitializeBehaviors();};FCK.SetStatus=function(newStatus){this.Status=newStatus;if (newStatus==FCK_STATUS_ACTIVE){window.onfocus=window.document.body.onfocus=FCK.Focus;if (FCKConfig.StartupFocus) FCK.Focus();if (FCKBrowserInfo.IsIE) FCKScriptLoader.AddScript('js/fckeditorcode_ie_2.js');else FCKScriptLoader.AddScript('js/fckeditorcode_gecko_2.js');};this.Events.FireEvent('OnStatusChange',newStatus);if (this.OnStatusChange) this.OnStatusChange(newStatus);};FCK.GetHTML=function(){if (FCK.EditMode==FCK_EDITMODE_WYSIWYG){return this.EditorDocument.body.innerHTML;}else return document.getElementById('eSourceField').value;};FCK.GetXHTML=function(){var bSource=(FCK.EditMode==FCK_EDITMODE_SOURCE);if (bSource) this.SwitchEditMode();var sXHTML=FCKXHtml.GetXHTML(this.EditorDocument.body);if (bSource) this.SwitchEditMode();return sXHTML;};FCK.UpdateLinkedField=function(){if (FCKConfig.EnableXHTML) FCKTools.SetLinkedFieldValue(FCK.GetXHTML());else FCKTools.SetLinkedFieldValue(FCK.GetHTML());};FCK.ShowContextMenu=function(x,y){if (this.Status!=FCK_STATUS_COMPLETE) return;FCKContextMenu.Show(x,y);this.Events.FireEvent("OnContextMenu");};
-FCK.Description="FCKeditor for Gecko Browsers";FCK.InitializeBehaviors=function(){var oOnContextMenu=function(e){e.preventDefault();FCK.ShowContextMenu(e.clientX,e.clientY);};this.EditorDocument.addEventListener('contextmenu',oOnContextMenu,true);var oOnKeyDown=function(e){if (e.ctrlKey&&!e.shiftKey&&!e.altKey){if (e.which==86||e.which==118){if (FCK.Status==FCK_STATUS_COMPLETE){if (!FCK.Events.FireEvent("OnPaste")) e.preventDefault();}else e.preventDefault();};};};this.EditorDocument.addEventListener('keydown',oOnKeyDown,true);var oOnSelectionChange=function(e){FCK.Events.FireEvent("OnSelectionChange");};this.EditorDocument.addEventListener('mouseup',oOnSelectionChange,false);this.EditorDocument.addEventListener('keyup',oOnSelectionChange,false);this.MakeEditable();this.SetStatus(FCK_STATUS_ACTIVE);};FCK.MakeEditable=function(){this.EditorDocument.designMode='on';this.EditorDocument.execCommand('useCSS',false,!FCKConfig.GeckoUseSPAN);};FCK.Focus=function(){try{FCK.EditorWindow.focus();}catch(e) {};};FCK.SetHTML=function(html,forceWYSIWYG){if (forceWYSIWYG||FCK.EditMode==FCK_EDITMODE_WYSIWYG){FCK.EditorDocument.body.innerHTML=html;}else document.getElementById('eSourceField').value=html;};
diff --git a/lib/editor/js/fckeditorcode_gecko_2.js b/lib/editor/js/fckeditorcode_gecko_2.js
deleted file mode 100644
index b8aa480..0000000
--- a/lib/editor/js/fckeditorcode_gecko_2.js
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
- * FCKeditor - The text editor for internet
- * Copyright (C) 2003-2004 Frederico Caldeira Knabben
- *
- * Licensed under the terms of the GNU Lesser General Public License:
- * http://www.opensource.org/licenses/lgpl-license.php
- *
- * For further information visit:
- * http://www.fckeditor.net/
- *
- * This file has been compacted for best loading performance.
- *
- * Version: 2.0 RC2
- * Created: 2004-12-21 23:53:26
- */
-FCK.RedirectNamedCommands=new Object();FCK.ExecuteNamedCommand=function(commandName,commandParameter){if (FCK.RedirectNamedCommands[commandName]!=null) FCK.ExecuteRedirectedNamedCommand(commandName,commandParameter);else{FCK.Focus();FCK.EditorDocument.execCommand(commandName,false,commandParameter);FCK.Events.FireEvent('OnSelectionChange');};};FCK.GetNamedCommandState=function(commandName){try{if (!FCK.EditorDocument.queryCommandEnabled(commandName)) return FCK_TRISTATE_DISABLED;else return FCK.EditorDocument.queryCommandState(commandName)?FCK_TRISTATE_ON:FCK_TRISTATE_OFF;}catch (e){return FCK_TRISTATE_OFF;};};FCK.GetNamedCommandValue=function(commandName){var sValue='';var eState=FCK.GetNamedCommandState(commandName);if (eState==FCK_TRISTATE_DISABLED) return null;try{sValue=this.EditorDocument.queryCommandValue(commandName);}catch(e) {};return sValue?sValue:'';};FCK.CleanAndPaste=function(html){html=html.replace(/<\/?SPAN[^>]*>/gi,"");html=html.replace(/<(\w[^>]*) class=([^ |>]*)([^>]*)/gi,"<$1$3");html=html.replace(/<(\w[^>]*) style="([^"]*)"([^>]*)/gi,"<$1$3");html=html.replace(/<(\w[^>]*) lang=([^ |>]*)([^>]*)/gi,"<$1$3");html=html.replace(/<\\?\?xml[^>]*>/gi,"");html=html.replace(/<\/?\w+:[^>]*>/gi,"");html=html.replace(/&nbsp;/," ");var re=new RegExp("(<P)([^>]*>.*?)(<\/P>)","gi");html=html.replace(re,"<div$2</div>");FCK.InsertHtml(html);};FCK.Preview=function(){var oWindow=window.open('',null,'toolbar=yes,location=yes,status=yes,menubar=yes,scrollbars=yes,resizable=yes');var sHTML='<html><head><link href="'+FCKConfig.EditorAreaCSS+'" rel="stylesheet" type="text/css" /></head><body>'+FCK.GetHTML()+'</body></html>';oWindow.document.write(sHTML);oWindow.document.close();};FCK.SwitchEditMode=function(){var bWYSIWYG=(FCK.EditMode==FCK_EDITMODE_WYSIWYG);document.getElementById('eWysiwyg').style.display=bWYSIWYG?'none':'';document.getElementById('eSource').style.display=bWYSIWYG?'':'none';if (bWYSIWYG) document.getElementById('eSourceField').value=(FCKConfig.EnableXHTML&&FCKConfig.EnableSourceXHTML?FCK.GetXHTML():FCK.GetHTML());else{FCK.SetHTML(FCK.GetHTML(),true);if (FCKBrowserInfo.IsGecko) FCK.MakeEditable();};FCK.EditMode=bWYSIWYG?FCK_EDITMODE_SOURCE:FCK_EDITMODE_WYSIWYG;FCK.Focus();FCKToolbarSet.RefreshItemsState();};FCK.CreateElement=function(tag){var e=FCK.EditorDocument.createElement(tag);e.setAttribute('__FCKTempLabel','1');this.InsertElement(e);var aEls=FCK.EditorDocument.getElementsByTagName(tag);for (var i=0;i<aEls.length;i++){if (aEls[i].attributes['__FCKTempLabel']){aEls[i].removeAttribute('__FCKTempLabel');return aEls[i];};};};
-FCK._BaseGetNamedCommandState=FCK.GetNamedCommandState;FCK.GetNamedCommandState=function(commandName){switch (commandName){case 'Unlink':return FCKSelection.HasAncestorNode('A')?FCK_TRISTATE_OFF:FCK_TRISTATE_DISABLED;default:return FCK._BaseGetNamedCommandState(commandName);};};FCK.RedirectNamedCommands={Print:true,Paste:true,Cut:true,Copy:true};FCK.ExecuteRedirectedNamedCommand=function(commandName,commandParameter){switch (commandName){case 'Print':FCK.EditorWindow.print();break;case 'Paste':try { if (FCK.Paste()) FCK._BaseExecuteNamedCommand('Paste');}catch (e) { alert(FCKLang.PasteErrorPaste);};break;case 'Cut':try { FCK._BaseExecuteNamedCommand('Cut');}catch (e) { alert(FCKLang.PasteErrorCut);};break;case 'Copy':try { FCK._BaseExecuteNamedCommand('Copy');}catch (e) { alert(FCKLang.PasteErrorCopy);};break;default:FCK.ExecuteNamedCommand(commandName,commandParameter);};};FCK.AttachToOnSelectionChange=function(functionPointer){this.Events.AttachEvent('OnSelectionChange',functionPointer);};FCK.Paste=function(){if (FCKConfig.ForcePasteAsPlainText){FCK.PasteAsPlainText();return false;}else if (FCKConfig.AutoDetectPasteFromWord&&FCKBrowserInfo.IsIE55OrMore){var sHTML=FCK.GetClipboardHTML();var re=/<\w[^>]* class="?MsoNormal"?/gi;if (re.test(sHTML)){if (confirm(FCKLang["PasteWordConfirm"])){FCK.CleanAndPaste(sHTML);return false;};};}else return true;};FCK.InsertHtml=function(html){var oSel=FCKSelection.Delete();var oRange=oSel.getRangeAt(0);var oFragment=oRange.createContextualFragment(html);var oLastNode=oFragment.lastChild;oRange.insertNode(oFragment);oRange.setEndAfter(oLastNode);oRange.setStartAfter(oLastNode);oSel.removeAllRanges();oSel=FCK.EditorWindow.getSelection();oSel.addRange(oRange);this.Focus();};FCK.InsertElement=function(element){var oSel=FCKSelection.Delete();var oRange=oSel.getRangeAt(0);oRange.insertNode(element);oRange.setEndAfter(element);oRange.setStartAfter(element);this.Focus();};FCK.PasteAsPlainText=function(){FCKDialog.OpenDialog('FCKDialog_Paste',FCKLang.PasteAsText,'dialog/fck_paste.html',400,330,'PlainText');};FCK.PasteFromWord=function(){FCKDialog.OpenDialog('FCKDialog_Paste',FCKLang.PasteFromWord,'dialog/fck_paste.html',400,330,'Word');};FCK.GetClipboardHTML=function(){return '';};FCK.CreateLink=function(url){FCK.ExecuteNamedCommand('Unlink');if (url.length>0){var sTempUrl='javascript:void(0);/*'+(new Date().getTime())+'*/';FCK.ExecuteNamedCommand('CreateLink',sTempUrl);var oLink=document.evaluate("//a[@href='"+sTempUrl+"']",this.EditorDocument.body,null,9,null).singleNodeValue;if (oLink){oLink.href=url;return oLink;};};};
-var FCKSelection=new Object();FCK.Selection=FCKSelection;
-FCKSelection.GetType=function(){this._Type='Text';var oSel=FCK.EditorWindow.getSelection();if (oSel&&oSel.rangeCount==1){var oRange=oSel.getRangeAt(0);if (oRange.startContainer==oRange.endContainer&&(oRange.endOffset-oRange.startOffset)==1) this._Type='Control';};return this._Type;};FCKSelection.GetSelectedElement=function(){if (this.GetType()=='Control'){var oSel=FCK.EditorWindow.getSelection();return oSel.anchorNode.childNodes[oSel.anchorOffset];};};FCKSelection.GetParentElement=function(){if (this.GetType()=='Control') return FCKSelection.GetSelectedElement().parentElement;else{var oNode=FCK.EditorWindow.getSelection().anchorNode;while (oNode&&oNode.nodeType!=1) oNode=oNode.parentNode;return oNode;};};FCKSelection.MoveToNode=function(node){var oSel=FCK.EditorWindow.getSelection();for (i=oSel.rangeCount-1;i>=0;i--){if (i==0) oSel.getRangeAt(i).selectNodeContents(node);else oSel.removeRange(oSel.getRangeAt(i));};};FCKSelection.HasAncestorNode=function(nodeTagName){var oContainer=this.GetSelectedElement();if (!oContainer&&FCK.EditorWindow){try { oContainer=FCK.EditorWindow.getSelection().getRangeAt(0).startContainer;}catch(e){};};while (oContainer){if (oContainer.tagName==nodeTagName) return true;oContainer=oContainer.parentNode;};return false;};FCKSelection.MoveToAncestorNode=function(nodeTagName){var oNode;var oContainer=this.GetSelectedElement();if (!oContainer) oContainer=FCK.EditorWindow.getSelection().getRangeAt(0).startContainer;while (oContainer){if (oContainer.tagName==nodeTagName) return oContainer;oContainer=oContainer.parentNode;};};FCKSelection.Delete=function(){var oSel=FCK.EditorWindow.getSelection();for (var i=0;i<oSel.rangeCount;i++){oSel.getRangeAt(i).deleteContents();};return oSel;}
-var FCKPanel=function(parentWindow){if (parentWindow) this.Window=parentWindow;else{this.Window=window;while (this.Window!=window.top&&this.Window.parent.document.body.tagName!='FRAMESET'){this.Window=this.Window.parent;};};};FCKPanel.prototype.Create=function(){this._IFrame=this.Window.document.body.appendChild(this.Window.document.createElement('IFRAME'));this._IFrame.src='about:blank';this._IFrame.frameBorder='0';this._IFrame.scrolling='no';this._IFrame.style.left='0px';this._IFrame.style.top='0px';this._IFrame.width=10;this._IFrame.height=10;this._IFrame.style.position='absolute';this._IFrame.style.visibility='hidden';this._IFrame.IsFCKPanel=true;this._IFrame.Panel=this;this.Document=this._IFrame.contentWindow.document;this.Document.open();this.Document.write('<html><head></head><body><\/body><\/html>');this.Document.close();this.Document.body.style.margin=this.Document.body.style.padding='0px';if (this.StyleSheet) FCKTools.AppendStyleSheet(this.Document,this.StyleSheet);this.OuterDiv=this.Document.body.appendChild(this.Document.createElement('DIV'));this.OuterDiv.style.cssFloat='left';this.PanelDiv=this.OuterDiv.appendChild(this.Document.createElement('DIV'));this.PanelDiv.className='FCK_Panel';this.Created=true;};FCKPanel.prototype.Show=function(panelX,panelY,relElement,width,height,autoSize){if (!this.Created) this.Create();if (width!=null&&autoSize&&width<this.OuterDiv.offsetWidth) this.PanelDiv.style.width=width;if (height!=null&&autoSize&&height<this.PanelDiv.offsetHeight) this.PanelDiv.style.height=height+'px';var oPos=this.GetElementPosition(relElement);panelX+=oPos.X;panelY+=oPos.Y;if (panelX+this.OuterDiv.offsetWidth>this.Window.innerWidth){panelX-=panelX+this.OuterDiv.offsetWidth-this.Window.innerWidth;};this._IFrame.style.left=panelX+'px';this._IFrame.style.top=panelY+'px';function SetOnClickListener(targetWindow,targetFunction){if (targetWindow==null||(targetWindow.frameElement&&targetWindow.frameElement.IsFCKPanel)) return;targetWindow.document.addEventListener('click',targetFunction,false);for (var i=0;i<targetWindow.frames.length;i++) SetOnClickListener(targetWindow.frames[i],targetFunction);};SetOnClickListener(window.top,FCKPanelEventHandlers.OnDocumentClick);this._IFrame.width=this.OuterDiv.offsetWidth;this._IFrame.height=this.OuterDiv.offsetHeight;this._IFrame.style.visibility='';};FCKPanel.prototype.GetElementPosition=function(el){var c={ X:0,Y:0 };while (el){c.X+=el.offsetLeft;c.Y+=el.offsetTop;if (el.offsetParent==null&&el.ownerDocument.defaultView!=this.Window) el=el.ownerDocument.defaultView.frameElement;else el=el.offsetParent;};return c;};FCKPanel.prototype.Hide=function(){this._IFrame.style.visibility='hidden';};var FCKPanelEventHandlers=new Object();FCKPanelEventHandlers.OnDocumentClick=function(e){var oWindow=e.target.ownerDocument.defaultView;if (!oWindow.IsFCKPanel){function RemoveOnClickListener(targetWindow){if (targetWindow==null) return;if (targetWindow.frameElement&&targetWindow.frameElement.IsFCKPanel) targetWindow.frameElement.Panel.Hide();else targetWindow.document.removeEventListener('click',FCKPanelEventHandlers.OnDocumentClick,false);for (var i=0;i<targetWindow.frames.length;i++) RemoveOnClickListener(targetWindow.frames[i]);};RemoveOnClickListener(window.top);};}
-var FCKTableHandler=new Object();FCKTableHandler.InsertRow=function(){var oRow=FCKSelection.MoveToAncestorNode("TR");if (!oRow) return;var oNewRow=oRow.cloneNode(true);oRow.parentNode.insertBefore(oNewRow,oRow);FCKTableHandler.ClearRow(oRow);};FCKTableHandler.DeleteRows=function(row){if (!row) row=FCKSelection.MoveToAncestorNode("TR");if (!row) return;var oTable=FCKTools.GetElementAscensor(row,'TABLE');if (oTable.rows.length==1){FCKTableHandler.DeleteTable(oTable);return;};row.parentNode.removeChild(row);};FCKTableHandler.DeleteTable=function(table){if (!table) table=FCKSelection.MoveToAncestorNode("TABLE");if (!table) return;table.parentNode.removeChild(table);};FCKTableHandler.InsertColumn=function(){var oCell=FCKSelection.MoveToAncestorNode("TD");if (!oCell) return;var oTable=FCKTools.GetElementAscensor(oCell,'TABLE');var iIndex=oCell.cellIndex+1;for (var i=0;i<oTable.rows.length;i++){var oRow=oTable.rows[i];if (oRow.cells.length<iIndex) continue;oCell=FCK.EditorDocument.createElement('TD');oCell.innerHTML='&nbsp;';var oBaseCell=oRow.cells[iIndex];if (oBaseCell){oRow.insertBefore(oCell,oBaseCell);}else{oRow.appendChild(oCell);};};};FCKTableHandler.DeleteColumns=function(){var oCell=FCKSelection.MoveToAncestorNode("TD");if (!oCell) return;var oTable=FCKTools.GetElementAscensor(oCell,'TABLE');var iIndex=oCell.cellIndex;for (var i=oTable.rows.length-1;i>=0;i--){var oRow=oTable.rows[i];if (iIndex==0&&oRow.cells.length==1){FCKTableHandler.DeleteRows(oRow);continue;};if (oRow.cells[iIndex]) oRow.removeChild(oRow.cells[iIndex]);};};FCKTableHandler.InsertCell=function(cell){var oCell=cell?cell:FCKSelection.MoveToAncestorNode("TD");if (!oCell) return;var oNewCell=FCK.EditorDocument.createElement("TD");oNewCell.innerHTML="&nbsp;";if (oCell.cellIndex==oCell.parentNode.cells.lenght-1){oCell.parentNode.appendChild(oNewCell);}else{oCell.parentNode.insertBefore(oNewCell,oCell.nextSibling);};return oNewCell;};FCKTableHandler.DeleteCell=function(cell){if (cell.parentNode.cells.length==1){FCKTableHandler.DeleteRows(FCKTools.GetElementAscensor(cell,'TR'));return;};cell.parentNode.removeChild(cell);};FCKTableHandler.DeleteCells=function(){var aCells=FCKTableHandler.GetSelectedCells();for (var i=aCells.length-1;i>=0;i--){FCKTableHandler.DeleteCell(aCells[i]);};};FCKTableHandler.MergeCells=function(){var aCells=FCKTableHandler.GetSelectedCells();if (aCells.length<2) return;if (aCells[0].parentNode!=aCells[aCells.length-1].parentNode) return;var iColSpan=isNaN(aCells[0].colSpan)?1:aCells[0].colSpan;var sHtml='';for (var i=aCells.length-1;i>0;i--){iColSpan+=isNaN(aCells[i].colSpan)?1:aCells[i].colSpan;sHtml=aCells[i].innerHTML+sHtml;FCKTableHandler.DeleteCell(aCells[i]);};aCells[0].colSpan=iColSpan;aCells[0].innerHTML+=sHtml;};FCKTableHandler.SplitCell=function(){var aCells=FCKTableHandler.GetSelectedCells();if (aCells.length!=1) return;var aMap=this._CreateTableMap(aCells[0].parentNode.parentNode);var iCellIndex=FCKTableHandler._GetCellIndexSpan(aMap,aCells[0].parentNode.rowIndex,aCells[0]);var aCollCells=this._GetCollumnCells(aMap,iCellIndex);for (var i=0;i<aCollCells.length;i++){if (aCollCells[i]==aCells[0]){var oNewCell=this.InsertCell(aCells[0]);if (!isNaN(aCells[0].rowSpan)&&aCells[0].rowSpan>1) oNewCell.rowSpan=aCells[0].rowSpan;}else{if (isNaN(aCollCells[i].colSpan)) aCollCells[i].colSpan=2;else aCollCells[i].colSpan+=1;};};};FCKTableHandler._GetCellIndexSpan=function(tableMap,rowIndex,cell){if (tableMap.length<rowIndex+1) return;var oRow=tableMap[rowIndex];for (var c=0;c<oRow.length;c++){if (oRow[c]==cell) return c;};};FCKTableHandler._GetCollumnCells=function(tableMap,collumnIndex){var aCollCells=new Array();for (var r=0;r<tableMap.length;r++){var oCell=tableMap[r][collumnIndex];if (oCell&&(aCollCells.length==0||aCollCells[aCollCells.length-1]!=oCell)) aCollCells[aCollCells.length]=oCell;};return aCollCells;};FCKTableHandler._CreateTableMap=function(table){var aRows=table.rows;var r=-1;var aMap=new Array();for (var i=0;i<aRows.length;i++){r++;if (!aMap[r]) aMap[r]=new Array();var c=-1;for (var j=0;j<aRows[i].cells.length;j++){var oCell=aRows[i].cells[j];c++;while (aMap[r][c]) c++;var iColSpan=isNaN(oCell.colSpan)?1:oCell.colSpan;var iRowSpan=isNaN(oCell.rowSpan)?1:oCell.rowSpan;for (var rs=0;rs<iRowSpan;rs++){if (!aMap[r+rs]) aMap[r+rs]=new Array();for (var cs=0;cs<iColSpan;cs++){aMap[r+rs][c+cs]=aRows[i].cells[j];};};c+=iColSpan-1;};};return aMap;};FCKTableHandler.ClearRow=function(tr){var aCells=tr.cells;for (var i=0;i<aCells.length;i++){aCells[i].innerHTML='&nbsp;';};}
-FCKTableHandler.GetSelectedCells=function(){var aCells=new Array();var oSelection=FCK.EditorWindow.getSelection();if (oSelection.rangeCount==1&&oSelection.anchorNode.nodeType==3){var oParent=FCKTools.GetElementAscensor(oSelection.anchorNode,'TD');if (oParent){aCells[0]=oParent;return aCells;};};for (var i=0;i<oSelection.rangeCount;i++){var oRange=oSelection.getRangeAt(i);var oCell=oRange.startContainer.childNodes[oRange.startOffset];if (oCell.tagName=='TD') aCells[aCells.length]=oCell;};return aCells;};
-var FCKXml=function(){};FCKXml.prototype.GetHttpRequest=function(){if (window.XMLHttpRequest) return new XMLHttpRequest();else if (window.ActiveXObject) return new ActiveXObject("MsXml2.XmlHttp");};FCKXml.prototype.LoadUrl=function(urlToCall,asyncFunctionPointer){var oFCKXml=this;var bAsync=(typeof(asyncFunctionPointer)=='function');var oXmlHttp=this.GetHttpRequest();oXmlHttp.open("GET",urlToCall,bAsync);if (bAsync){oXmlHttp.onreadystatechange=function(){if (oXmlHttp.readyState==4){oFCKXml.DOMDocument=oXmlHttp.responseXML;asyncFunctionPointer(oFCKXml);};};};oXmlHttp.send(null);if (!bAsync&&oXmlHttp.status&&oXmlHttp.status==200) this.DOMDocument=oXmlHttp.responseXML;else throw('Error loading "'+urlToCall+'"');};FCKXml.prototype.SelectNodes=function(xpath,contextNode){if (document.all){if (contextNode) return contextNode.selectNodes(xpath);else return this.DOMDocument.selectNodes(xpath);}else{var aNodeArray=new Array();var xPathResult=this.DOMDocument.evaluate(xpath,contextNode?contextNode:this.DOMDocument,this.DOMDocument.createNSResolver(this.DOMDocument.documentElement),XPathResult.ORDERED_NODE_ITERATOR_TYPE,null);if (xPathResult){var oNode=xPathResult.iterateNext();while(oNode){aNodeArray[aNodeArray.length]=oNode;oNode=xPathResult.iterateNext();};};return aNodeArray;};};FCKXml.prototype.SelectSingleNode=function(xpath,contextNode){if (document.all){if (contextNode) return contextNode.selectSingleNode(xpath);else return this.DOMDocument.selectSingleNode(xpath);}else{var xPathResult=this.DOMDocument.evaluate(xpath,contextNode?contextNode:this.DOMDocument,this.DOMDocument.createNSResolver(this.DOMDocument.documentElement),9,null);if (xPathResult&&xPathResult.singleNodeValue) return xPathResult.singleNodeValue;else return null;};};
-var FCKStyleDef=function(name,element){this.Name=name;this.Element=element.toUpperCase();this.IsObjectElement=FCKRegexLib.ObjectElements.test(this.Element);this.Attributes=new Object();};FCKStyleDef.prototype.AddAttribute=function(name,value){this.Attributes[name]=value;};FCKStyleDef.prototype.GetOpenerTag=function(){var s='<'+this.Element;for (var a in this.Attributes) s+=' '+a+'="'+this.Attributes[a]+'"';return s+'>';};FCKStyleDef.prototype.GetCloserTag=function(){return '</'+this.Element+'>';};FCKStyleDef.prototype.RemoveFromSelection=function(){if (FCKSelection.GetType()=='Control') this._RemoveMe(FCKSelection.GetSelectedElement());else this._RemoveMe(FCKSelection.GetParentElement());}
-FCKStyleDef.prototype.ApplyToSelection=function(){if (FCKSelection.GetType()=='Text'&&!this.IsObjectElement){var oSelection=FCK.EditorWindow.getSelection();var e=FCK.EditorDocument.createElement(this.Element);for (var i=0;i<oSelection.rangeCount;i++){e.appendChild(oSelection.getRangeAt(i).extractContents());};this._AddAttributes(e);this._RemoveDuplicates(e);var oRange=oSelection.getRangeAt(0);oRange.insertNode(e);}else{var oControl=FCKSelection.GetSelectedElement();if (oControl.tagName==this.Element) this._AddAttributes(oControl);};};FCKStyleDef.prototype._AddAttributes=function(targetElement){for (var a in this.Attributes) targetElement.setAttribute(a,this.Attributes[a],0);};FCKStyleDef.prototype._RemoveDuplicates=function(parent){for (var i=0;i<parent.childNodes.length;i++){var oChild=parent.childNodes[i];if (oChild.nodeType!=1) continue;this._RemoveDuplicates(oChild);if (this.IsEqual(oChild)) FCKTools.RemoveOuterTags(oChild);};};FCKStyleDef.prototype.IsEqual=function(e){if (e.tagName!=this.Element) return false;for (var a in this.Attributes){if (e.getAttribute(a)!=this.Attributes[a]) return false;};return true;};FCKStyleDef.prototype._RemoveMe=function(elementToCheck){if (!elementToCheck) return;var oParent=elementToCheck.parentNode;if (elementToCheck.nodeType==1&&this.IsEqual(elementToCheck)){if (this.IsObjectElement){for (var a in this.Attributes) elementToCheck.removeAttribute(a,0);return;}else FCKTools.RemoveOuterTags(elementToCheck);};this._RemoveMe(oParent);}
-var FCKStylesLoader=function(){this.Styles=new Object();this.StyleGroups=new Object();this.Loaded=false;this.HasObjectElements=false;};FCKStylesLoader.prototype.Load=function(stylesXmlUrl){var oXml=new FCKXml();oXml.LoadUrl(stylesXmlUrl);var aStyleNodes=oXml.SelectNodes('Styles/Style');for (var i=0;i<aStyleNodes.length;i++){var sElement=aStyleNodes[i].attributes.getNamedItem('element').value.toUpperCase();var oStyleDef=new FCKStyleDef(aStyleNodes[i].attributes.getNamedItem('name').value,sElement);if (oStyleDef.IsObjectElement) this.HasObjectElements=true;var aAttNodes=oXml.SelectNodes('Attribute',aStyleNodes[i]);for (var j=0;j<aAttNodes.length;j++){var sAttName=aAttNodes[j].attributes.getNamedItem('name').value;var sAttValue=aAttNodes[j].attributes.getNamedItem('value').value;if (sAttName.toLowerCase()=='style'){var oTempE=document.createElement('SPAN');oTempE.style.cssText=sAttValue;sAttValue=oTempE.style.cssText;};oStyleDef.AddAttribute(sAttName,sAttValue);};this.Styles[oStyleDef.Name]=oStyleDef;var aGroup=this.StyleGroups[sElement];if (aGroup==null){this.StyleGroups[sElement]=new Array();aGroup=this.StyleGroups[sElement];};aGroup[aGroup.length]=oStyleDef;};this.Loaded=true;}
-var FCKNamedCommand=function(commandName){this.Name=commandName;};FCKNamedCommand.prototype.Execute=function(){FCK.ExecuteNamedCommand(this.Name);};FCKNamedCommand.prototype.GetState=function(){return FCK.GetNamedCommandState(this.Name);};
-var FCKDialogCommand=function(name,title,url,width,height,getStateFunction,getStateParam){this.Name=name;this.Title=title;this.Url=url;this.Width=width;this.Height=height;this.GetStateFunction=getStateFunction;this.GetStateParam=getStateParam;};FCKDialogCommand.prototype.Execute=function(){FCKDialog.OpenDialog('FCKDialog_'+this.Name,this.Title,this.Url,this.Width,this.Height);};FCKDialogCommand.prototype.GetState=function(){if (this.GetStateFunction) return this.GetStateFunction(this.GetStateParam);else return FCK_TRISTATE_OFF;};var FCKUndefinedCommand=function(){this.Name='Undefined';};FCKUndefinedCommand.prototype.Execute=function(){alert(FCKLang.NotImplemented);};FCKUndefinedCommand.prototype.GetState=function(){return FCK_TRISTATE_OFF;};var FCKFontNameCommand=function(){this.Name='FontName';};FCKFontNameCommand.prototype.Execute=function(fontName){if (fontName==null||fontName==""){}else FCK.ExecuteNamedCommand('FontName',fontName);};FCKFontNameCommand.prototype.GetState=function(){return FCK.GetNamedCommandValue('FontName');};var FCKFontSizeCommand=function(){this.Name='FontSize';};FCKFontSizeCommand.prototype.Execute=function(fontSize){if (typeof(fontSize)=='string') fontSize=parseInt(fontSize);if (fontSize==null||fontSize==''){FCK.ExecuteNamedCommand('FontSize',3);}else FCK.ExecuteNamedCommand('FontSize',fontSize);};FCKFontSizeCommand.prototype.GetState=function(){return FCK.GetNamedCommandValue('FontSize');};var FCKFormatBlockCommand=function(){this.Name='FormatBlock';};FCKFormatBlockCommand.prototype.Execute=function(formatName){if (formatName==null||formatName=='') FCK.ExecuteNamedCommand('FormatBlock','<P>');else FCK.ExecuteNamedCommand('FormatBlock','<'+formatName+'>');};FCKFormatBlockCommand.prototype.GetState=function(){return FCK.GetNamedCommandValue('FormatBlock');};var FCKPreviewCommand=function(){this.Name='Preview';};FCKPreviewCommand.prototype.Execute=function(){FCK.Preview();};FCKPreviewCommand.prototype.GetState=function(){return FCK_TRISTATE_OFF;};var FCKSaveCommand=function(){this.Name='Save';};FCKSaveCommand.prototype.Execute=function(){var oForm=FCK.LinkedField.form;oForm.submit();};FCKSaveCommand.prototype.GetState=function(){return FCK_TRISTATE_OFF;};var FCKNewPageCommand=function(){this.Name='NewPage';};FCKNewPageCommand.prototype.Execute=function(){FCK.SetHTML(FCKBrowserInfo.IsGecko?'&nbsp;':'');};FCKNewPageCommand.prototype.GetState=function(){return FCK_TRISTATE_OFF;};var FCKSourceCommand=function(){this.Name="Source";};FCKSourceCommand.prototype.Execute=function(){FCK.SwitchEditMode();};FCKSourceCommand.prototype.GetState=function(){return (FCK.EditMode==FCK_EDITMODE_WYSIWYG?FCK_TRISTATE_OFF:FCK_TRISTATE_ON);}
-var FCKTextColorCommand=function(type){this.Name=type=='ForeColor'?'TextColor':'BGColor';this.Type=type;this._Panel=new FCKPanel();this._Panel.StyleSheet=FCKConfig.SkinPath+'fck_contextmenu.css';this._Panel.Create();this._CreatePanelBody(this._Panel.Document,this._Panel.PanelDiv);};FCKTextColorCommand.prototype.Execute=function(panelX,panelY,relElement){FCK._ActiveColorPanelType=this.Type;this._Panel.Show(panelX,panelY,relElement);};FCKTextColorCommand.prototype.SetColor=function(color){if (FCK._ActiveColorPanelType=='ForeColor') FCK.ExecuteNamedCommand('ForeColor',color);else if (FCKBrowserInfo.IsGecko) FCK.ExecuteNamedCommand('hilitecolor',color);else FCK.ExecuteNamedCommand('BackColor',color);delete FCK._ActiveColorPanelType;};FCKTextColorCommand.prototype.GetState=function(){return FCK_TRISTATE_OFF;};FCKTextColorCommand.prototype._CreatePanelBody=function(targetDocument,targetDiv){function CreateSelectionDiv(){var oDiv=targetDocument.createElement("DIV");oDiv.className='ColorDeselected';oDiv.onmouseover=function() { this.className='ColorSelected';};oDiv.onmouseout=function() { this.className='ColorDeselected';};return oDiv;};var oTable=targetDiv.appendChild(targetDocument.createElement("TABLE"));oTable.style.tableLayout='fixed';oTable.cellPadding=0;oTable.cellSpacing=0;oTable.border=0;oTable.width=150;var oCell=oTable.insertRow(-1).insertCell(-1);oCell.colSpan=8;var oDiv=oCell.appendChild(CreateSelectionDiv());oDiv.innerHTML='<table cellspacing="0" cellpadding="0" width="100%" border="0">\ <tr>\ <td><div class="ColorBoxBorder"><div class="ColorBox" style="background-color: #000000"></div></div></td>\ <td nowrap width="100%" align="center" unselectable="on">'+FCKLang.ColorAutomatic+'</td>\ </tr>\ </table>';oDiv.Command=this;oDiv.onclick=function(){this.className='ColorDeselected';this.Command.SetColor('');this.Command._Panel.Hide();};var aColors=FCKConfig.FontColors.split(',');var iCounter=0;while (iCounter<aColors.length){var oRow=oTable.insertRow(-1);for (var i=0;i<8&&iCounter<aColors.length;i++,iCounter++){var oDiv=oRow.insertCell(-1).appendChild(CreateSelectionDiv());oDiv.Color=aColors[iCounter];oDiv.innerHTML='<div class="ColorBoxBorder"><div class="ColorBox" style="background-color: #'+aColors[iCounter]+'"></div></div>';oDiv.Command=this;oDiv.onclick=function(){this.className='ColorDeselected';this.Command.SetColor('#'+this.Color);this.Command._Panel.Hide();};};};var oCell=oTable.insertRow(-1).insertCell(-1);oCell.colSpan=8;var oDiv=oCell.appendChild(CreateSelectionDiv());oDiv.innerHTML='<table width="100%" cellpadding="0" cellspacing="0" border="0"><tr><td nowrap align="center">'+FCKLang.ColorMoreColors+'</td></tr></table>';oDiv.Command=this;oDiv.onclick=function(){this.className='ColorDeselected';this.Command._Panel.Hide();FCKDialog.OpenDialog('FCKDialog_Color',FCKLang.DlgColorTitle,'dialog/fck_colorselector.html',400,330,this.Command.SetColor);};}
-var FCKPastePlainTextCommand=function(){this.Name='PasteText';};FCKPastePlainTextCommand.prototype.Execute=function(){FCK.PasteAsPlainText();};FCKPastePlainTextCommand.prototype.GetState=function(){return FCK.GetNamedCommandState('Paste');};
-var FCKPasteWordCommand=function(){this.Name='PasteWord';};FCKPasteWordCommand.prototype.Execute=function(){FCK.PasteFromWord();};FCKPasteWordCommand.prototype.GetState=function(){return FCK.GetNamedCommandState('Paste');};
-var FCKTableCommand=function(command){this.Name=command;};FCKTableCommand.prototype.Execute=function(){switch (this.Name){case 'TableInsertRow':FCKTableHandler.InsertRow();break;case 'TableDeleteRows':FCKTableHandler.DeleteRows();break;case 'TableInsertColumn':FCKTableHandler.InsertColumn();break;case 'TableDeleteColumns':FCKTableHandler.DeleteColumns();break;case 'TableInsertCell':FCKTableHandler.InsertCell();break;case 'TableDeleteCells':FCKTableHandler.DeleteCells();break;case 'TableMergeCells':FCKTableHandler.MergeCells();break;case 'TableSplitCell':FCKTableHandler.SplitCell();break;default:alert(FCKLang.UnknownCommand.replace(/%1/g,this.Name));};};FCKTableCommand.prototype.GetState=function(){return FCK_TRISTATE_OFF;}
-var FCKStyleCommand=function(){this.Name='Style';this.StylesLoader=new FCKStylesLoader();this.StylesLoader.Load(FCKConfig.StylesXmlPath);this.Styles=this.StylesLoader.Styles;};FCKStyleCommand.prototype.Execute=function(styleName,styleComboItem){if (styleComboItem.Selected) styleComboItem.Style.RemoveFromSelection();else styleComboItem.Style.ApplyToSelection();FCK.Focus();FCK.Events.FireEvent("OnSelectionChange");};FCKStyleCommand.prototype.GetState=function(){var oSelection=FCK.EditorDocument.selection;if (FCKSelection.GetType()=='Control'){var e=FCKSelection.GetSelectedElement();if (e) return this.StylesLoader.StyleGroups[e.tagName]?FCK_TRISTATE_OFF:FCK_TRISTATE_DISABLED;else FCK_TRISTATE_OFF;}else return FCK_TRISTATE_OFF;};FCKStyleCommand.prototype.GetActiveStyles=function(){var aActiveStyles=new Array();if (FCKSelection.GetType()=='Control') this._CheckStyle(FCKSelection.GetSelectedElement(),aActiveStyles,false);else this._CheckStyle(FCKSelection.GetParentElement(),aActiveStyles,true);return aActiveStyles;};FCKStyleCommand.prototype._CheckStyle=function(element,targetArray,checkParent){if (!element) return;if (element.nodeType==1){var aStyleGroup=this.StylesLoader.StyleGroups[element.tagName];if (aStyleGroup){for (var i=0;i<aStyleGroup.length;i++){if (aStyleGroup[i].IsEqual(element)) targetArray[targetArray.length]=aStyleGroup[i];};};};if (checkParent) this._CheckStyle(element.parentNode,targetArray,checkParent);}
-var FCKCommands=FCK.Commands=new Object();FCKCommands.LoadedCommands=new Object();FCKCommands.RegisterCommand=function(commandName,command){this.LoadedCommands[commandName]=command;};FCKCommands.GetCommand=function(commandName){var oCommand=FCKCommands.LoadedCommands[commandName];if (oCommand) return oCommand;switch (commandName){case 'Link':oCommand=new FCKDialogCommand('Link',FCKLang.DlgLnkWindowTitle,'dialog/fck_link.html',400,330,FCK.GetNamedCommandState,'CreateLink');break;case 'About':oCommand=new FCKDialogCommand('About',FCKLang.About,'dialog/fck_about.html',400,330);break;case 'Find':oCommand=new FCKDialogCommand('Find',FCKLang.DlgFindTitle,'dialog/fck_find.html',340,170);break;case 'Replace':oCommand=new FCKDialogCommand('Replace',FCKLang.DlgReplaceTitle,'dialog/fck_replace.html',340,200);break;case 'Image':oCommand=new FCKDialogCommand('Image',FCKLang.DlgImgTitle,'dialog/fck_image.html',450,400,FCK.GetNamedCommandState,'InsertImage');break;case 'SpecialChar':oCommand=new FCKDialogCommand('SpecialChar',FCKLang.DlgSpecialCharTitle,'dialog/fck_specialchar.html',400,300,FCK.GetNamedCommandState,'InsertImage');break;case 'Smiley':oCommand=new FCKDialogCommand('Smiley',FCKLang.DlgSmileyTitle,'dialog/fck_smiley.html',FCKConfig.SmileyWindowWidth,FCKConfig.SmileyWindowHeight,FCK.GetNamedCommandState,'InsertImage');break;case 'Table':oCommand=new FCKDialogCommand('Table',FCKLang.DlgTableTitle,'dialog/fck_table.html',400,250);break;case 'TableProp':oCommand=new FCKDialogCommand('Table',FCKLang.DlgTableTitle,'dialog/fck_table.html?Parent',400,250);break;case 'TableCellProp':oCommand=new FCKDialogCommand('TableCell',FCKLang.DlgCellTitle,'dialog/fck_tablecell.html',500,250);break;case 'Style':oCommand=new FCKStyleCommand();break;case 'FontName':oCommand=new FCKFontNameCommand();break;case 'FontSize':oCommand=new FCKFontSizeCommand();break;case 'FontFormat':oCommand=new FCKFormatBlockCommand();break;case 'Source':oCommand=new FCKSourceCommand();break;case 'Preview':oCommand=new FCKPreviewCommand();break;case 'Save':oCommand=new FCKSaveCommand();break;case 'NewPage':oCommand=new FCKNewPageCommand();break;case 'TextColor':oCommand=new FCKTextColorCommand('ForeColor');break;case 'BGColor':oCommand=new FCKTextColorCommand('BackColor');break;case 'PasteText':oCommand=new FCKPastePlainTextCommand();break;case 'PasteWord':oCommand=new FCKPasteWordCommand();break;case 'TableInsertRow':oCommand=new FCKTableCommand('TableInsertRow');break;case 'TableDeleteRows':oCommand=new FCKTableCommand('TableDeleteRows');break;case 'TableInsertColumn':oCommand=new FCKTableCommand('TableInsertColumn');break;case 'TableDeleteColumns':oCommand=new FCKTableCommand('TableDeleteColumns');break;case 'TableInsertCell':oCommand=new FCKTableCommand('TableInsertCell');break;case 'TableDeleteCells':oCommand=new FCKTableCommand('TableDeleteCells');break;case 'TableMergeCells':oCommand=new FCKTableCommand('TableMergeCells');break;case 'TableSplitCell':oCommand=new FCKTableCommand('TableSplitCell');break;case 'Undefined':oCommand=new FCKUndefinedCommand();break;default:if (FCKRegexLib.NamedCommands.test(commandName)) oCommand=new FCKNamedCommand(commandName);else{alert(FCKLang.UnknownCommand.replace(/%1/g,commandName));return;};};FCKCommands.LoadedCommands[commandName]=oCommand;return oCommand;};
-var FCKToolbarButton=function(commandName,label,tooltip,style,sourceView){this.Command=FCKCommands.GetCommand(commandName);this.Label=label?label:commandName;this.Tooltip=tooltip?tooltip:(label?label:commandName);this.Style=style?style:FCK_TOOLBARITEM_ONLYICON;this.SourceView=sourceView?true:false;this.IconPath=FCKConfig.SkinPath+'toolbar/button.'+commandName.toLowerCase()+'.gif';this.State=FCK_UNKNOWN;};FCKToolbarButton.prototype.CreateInstance=function(parentToolbar){this.DOMDiv=document.createElement('div');this.DOMDiv.className='TB_Button_Off';this.DOMDiv.FCKToolbarButton=this;this.DOMDiv.onmouseover=function(){if (this.FCKToolbarButton.State!=FCK_TRISTATE_DISABLED){this.className='TB_Button_On';};};this.DOMDiv.onmouseout=function(){if (this.FCKToolbarButton.State!=FCK_TRISTATE_DISABLED&&this.FCKToolbarButton.State!=FCK_TRISTATE_ON){this.className='TB_Button_Off';};};this.DOMDiv.onclick=function(){if (this.FCKToolbarButton.State!=FCK_TRISTATE_DISABLED) this.FCKToolbarButton.Command.Execute();return false;};var sClass;switch (this.Style){case FCK_TOOLBARITEM_ONLYICON:sClass='TB_ButtonType_Icon';break;case FCK_TOOLBARITEM_ONLYTEXT:sClass='TB_ButtonType_Text';break;case FCK_TOOLBARITEM_ICONTEXT:sClass='';break;};this.DOMDiv.innerHTML='<table title="'+this.Tooltip+'" class="'+sClass+'" cellspacing="0" cellpadding="0" border="0" unselectable="on">'+'<tr>'+'<td class="TB_Icon" unselectable="on"><img src="'+this.IconPath+'" width="21" height="21" unselectable="on"></td>'+'<td class="TB_Text" unselectable="on">'+this.Label+'</td>'+'</tr>'+'</table>';var oCell=parentToolbar.DOMRow.insertCell(-1);oCell.appendChild(this.DOMDiv);this.RefreshState();};FCKToolbarButton.prototype.RefreshState=function(){var eState;if (FCK.EditMode==FCK_EDITMODE_SOURCE&&!this.SourceView) eState=FCK_TRISTATE_DISABLED;else eState=this.Command.GetState();if (eState==this.State) return;this.State=eState;switch (this.State){case FCK_TRISTATE_ON:this.DOMDiv.className='TB_Button_On';break;case FCK_TRISTATE_OFF:this.DOMDiv.className='TB_Button_Off';break;default:this.DOMDiv.className='TB_Button_Disabled';break;};}
-var FCKToolbarCombo=function(commandName,label,itemsValues,itemsNames,tooltip,style,firstIsBlank,itemsSeparator,sourceView){this.Command=FCKCommands.GetCommand(commandName);this.Label=label?label:commandName;this.Tooltip=tooltip?tooltip:(label?label:commandName);this.Style=style?style:FCK_TOOLBARITEM_ICONTEXT;this.SourceView=sourceView?true:false;this.State=FCK_UNKNOWN;this.ItemsValues=itemsValues;this.ItemsNames=itemsNames?itemsNames:itemsValues;this.ItemsSeparator=itemsSeparator?itemsSeparator:';';this.FirstIsBlank=firstIsBlank!=null?firstIsBlank:true;};FCKToolbarCombo.prototype.CreateInstance=function(parentToolbar){this.DOMDiv=document.createElement('div');this.DOMDiv.className='TB_Combo_Off';var sClass;switch (this.Style){case FCK_TOOLBARITEM_ONLYICON:sClass='TB_ButtonType_Icon';break;case FCK_TOOLBARITEM_ONLYTEXT:sClass='TB_ButtonType_Text';break;case FCK_TOOLBARITEM_ICONTEXT:sClass='';break;};this.DOMDiv.innerHTML='<table class="'+sClass+'" cellspacing="0" cellpadding="0" border="0" unselectable="on">'+'<tr>'+'<td class="TB_Text" unselectable="on" nowrap>'+this.Label+'</td>'+'<td unselectable="on"><select title="'+this.Tooltip+'"></select></td>'+'</tr>'+'</table>';this.SelectElement=this.DOMDiv.firstChild.firstChild.firstChild.childNodes.item(1).firstChild;this.SelectElement.FCKToolbarCombo=this;this.SelectElement.onchange=function(){this.FCKToolbarCombo.Command.Execute(this.value);return false;};var oCell=parentToolbar.DOMRow.insertCell(-1);oCell.appendChild(this.DOMDiv);this.RefreshItems();this.RefreshState();};FCKToolbarCombo.prototype.RefreshItems=function(){var aNames=FCKTools.GetResultingArray(this.ItemsNames,this.ItemsSeparator);var aValues=FCKTools.GetResultingArray(this.ItemsValues,this.ItemsSeparator);FCKTools.RemoveAllSelectOptions(this.SelectElement);if (this.FirstIsBlank) FCKTools.AddSelectOption(document,this.SelectElement,'','');for (var i=0;i<aValues.length;i++){FCKTools.AddSelectOption(document,this.SelectElement,aNames[i],aValues[i]);};};FCKToolbarCombo.prototype.RefreshState=function(){var eState;if (FCK.EditMode==FCK_EDITMODE_SOURCE&&!this.SourceView){eState=FCK_TRISTATE_DISABLED;this.SelectElement.value='';}else{var sValue=this.Command.GetState();FCKTools.SelectNoCase(this.SelectElement,sValue?sValue:'','');eState=sValue==null?FCK_TRISTATE_DISABLED:FCK_TRISTATE_ON;};if (eState==this.State) return;this.State=eState;this.DOMDiv.className=(eState==FCK_TRISTATE_ON?'TB_Combo_Off':'TB_Combo_Disabled');this.SelectElement.disabled=(eState==FCK_TRISTATE_DISABLED);};
-var FCKSpecialCombo=function(caption){this.FieldWidth=80;this.PanelWidth=130;this.PanelMaxHeight=150;this.Label='&nbsp;';this.Caption=caption;this.Enabled=true;this.Items=new Object();this._Panel=new FCKPanel();this._Panel.StyleSheet=FCKConfig.SkinPath+'fck_contextmenu.css';this._Panel.Create();this._Panel.PanelDiv.className+=' SC_Panel';this._Panel.PanelDiv.innerHTML='<table cellpadding="0" cellspacing="0" width="100%" style="TABLE-LAYOUT: fixed"><tr><td nowrap></td></tr></table>';this._ItemsHolderEl=this._Panel.PanelDiv.getElementsByTagName('TD')[0];};FCKSpecialCombo.prototype.AddItem=function(id,html,label){var oDiv=this._ItemsHolderEl.appendChild(this._Panel.Document.createElement('DIV'));oDiv.className=oDiv.originalClass='SC_Item';oDiv.innerHTML=html;oDiv.FCKItemID=id;oDiv.FCKItemLabel=label?label:id;oDiv.FCKSpecialCombo=this;oDiv.Selected=false;oDiv.onmouseover=function(){this.className+=' SC_ItemOver';};oDiv.onmouseout=function(){this.className=this.originalClass;};oDiv.onclick=function(){this.FCKSpecialCombo._Panel.Hide();this.FCKSpecialCombo.SetLabel(this.FCKItemLabel);if (typeof(this.FCKSpecialCombo.OnSelect)=='function') this.FCKSpecialCombo.OnSelect(this.FCKItemID,this);};this.Items[id.toString().toLowerCase()]=oDiv;return oDiv;};FCKSpecialCombo.prototype.SelectItem=function(itemId){itemId=itemId?itemId.toString().toLowerCase():'';var oDiv=this.Items[itemId];if (oDiv){oDiv.className=oDiv.originalClass='SC_ItemSelected';oDiv.Selected=true;};};FCKSpecialCombo.prototype.DeselectAll=function(){for (var i in this.Items){this.Items[i].className=this.Items[i].originalClass='SC_Item';this.Items[i].Selected=false;};};FCKSpecialCombo.prototype.SetLabelById=function(id){FCKDebug.Output(this.Caption+': '+id,'#0000FF');id=id?id.toString().toLowerCase():'';var oDiv=this.Items[id];this.SetLabel(oDiv?oDiv.FCKItemLabel:'');};FCKSpecialCombo.prototype.SetLabel=function(text){this.Label=text.length==0?'&nbsp;':text;if (this._LabelEl) this._LabelEl.innerHTML=this.Label;};FCKSpecialCombo.prototype.SetEnabled=function(isEnabled){this.Enabled=isEnabled;this._OuterTable.className=isEnabled?'':'SC_FieldDisabled';};FCKSpecialCombo.prototype.Create=function(targetElement){this._OuterTable=targetElement.appendChild(document.createElement('TABLE'));this._OuterTable.cellPadding=0;this._OuterTable.cellSpacing=0;this._OuterTable.insertRow(-1);if (this.Caption&&this.Caption.length>0){var oCaptionCell=this._OuterTable.rows[0].insertCell(-1);oCaptionCell.unselectable='on';oCaptionCell.innerHTML=this.Caption;oCaptionCell.className='SC_FieldCaption';};var oField=this._OuterTable.rows[0].insertCell(-1).appendChild(document.createElement('DIV'));oField.className='SC_Field';oField.style.width=this.FieldWidth+'px';oField.innerHTML='<table width="100%" cellpadding="0" cellspacing="0" style="TABLE-LAYOUT: fixed;" unselectable="on"><tbody><tr><td class="SC_FieldLabel" unselectable="on"><label unselectable="on">&nbsp;</label></td><td class="SC_FieldButton" unselectable="on">&nbsp;</td></tr></tbody></table>';this._LabelEl=oField.getElementsByTagName('label')[0];this._LabelEl.innerHTML=this.Label;oField.SpecialCombo=this;oField.onmouseover=function(){if (this.SpecialCombo.Enabled) this.className='SC_Field SC_FieldOver';};oField.onmouseout=function(){this.className='SC_Field';};oField.onclick=function(e){if (e){e.stopPropagation();FCKPanelEventHandlers.OnDocumentClick(e);};if (this.SpecialCombo.Enabled){if (typeof(this.SpecialCombo.OnBeforeClick)=='function') this.SpecialCombo.OnBeforeClick(this.SpecialCombo);if (this.SpecialCombo._ItemsHolderEl.offsetHeight>this.SpecialCombo.PanelMaxHeight) this.SpecialCombo._Panel.PanelDiv.style.height=this.SpecialCombo.PanelMaxHeight+'px';else this.SpecialCombo._Panel.PanelDiv.style.height=this.SpecialCombo._ItemsHolderEl.offsetHeight+'px';this.SpecialCombo._Panel.PanelDiv.style.width=this.SpecialCombo.PanelWidth+'px';this.SpecialCombo._Panel.Show(0,this.offsetHeight,this,null,this.SpecialCombo.PanelMaxHeight,true);};return false;};};
-var FCKToolbarSpecialCombo=function(){};FCKToolbarSpecialCombo.prototype.CreateInstance=function(parentToolbar){this._Combo=new FCKSpecialCombo(this.GetLabel());this._Combo.FieldWidth=100;this._Combo.PanelWidth=150;this._Combo.PanelMaxHeight=150;this.CreateItems(this._Combo);this._Combo.Create(parentToolbar.DOMRow.insertCell(-1));this._Combo.Command=this.Command;this._Combo.OnSelect=function(itemId,item){this.Command.Execute(itemId,item);};};FCKToolbarSpecialCombo.prototype.RefreshState=function(){var eState;if (FCK.EditMode==FCK_EDITMODE_SOURCE&&!this.SourceView) eState=FCK_TRISTATE_DISABLED;else{var sValue=this.Command.GetState();if (sValue!=FCK_TRISTATE_DISABLED){eState=FCK_TRISTATE_ON;if (typeof(this.RefreshActiveItems)=='function') this.RefreshActiveItems(this._Combo);else{this._Combo.DeselectAll();this._Combo.SelectItem(sValue);this._Combo.SetLabelById(sValue);};}else eState=FCK_TRISTATE_DISABLED;};if (eState==this.State) return;if (eState==FCK_TRISTATE_DISABLED){this._Combo.DeselectAll();this._Combo.SetLabel('');};this.State=eState;this._Combo.SetEnabled(eState!=FCK_TRISTATE_DISABLED);}
-var FCKToolbarFontsCombo=function(){this.Command=FCKCommands.GetCommand('FontName');};FCKToolbarFontsCombo.prototype=new FCKToolbarSpecialCombo;FCKToolbarFontsCombo.prototype.GetLabel=function(){return FCKLang.Font;};FCKToolbarFontsCombo.prototype.CreateItems=function(targetSpecialCombo){var aFonts=FCKConfig.FontNames.split(';');for (var i=0;i<aFonts.length;i++) this._Combo.AddItem(aFonts[i],'<span style="font-family: \''+aFonts[i]+'\'; font-size: 12px;">'+aFonts[i]+'</span>');}
-var FCKToolbarFontSizeCombo=function(){this.Command=FCKCommands.GetCommand('FontSize');};FCKToolbarFontSizeCombo.prototype=new FCKToolbarSpecialCombo;FCKToolbarFontSizeCombo.prototype.GetLabel=function(){return FCKLang.FontSize;};FCKToolbarFontSizeCombo.prototype.CreateItems=function(targetSpecialCombo){targetSpecialCombo.FieldWidth=70;var aSizes=FCKConfig.FontSizes.split(';');for (var i=0;i<aSizes.length;i++){var aSizeParts=aSizes[i].split('/');this._Combo.AddItem(aSizeParts[0],'<font size="'+aSizeParts[0]+'">'+aSizeParts[1]+'</font>',aSizeParts[1]);};}
-var FCKToolbarFontFormatCombo=function(){this.Command=FCKCommands.GetCommand('FontFormat');};FCKToolbarFontFormatCombo.prototype=new FCKToolbarSpecialCombo;FCKToolbarFontFormatCombo.prototype.GetLabel=function(){return FCKLang.FontFormat;};FCKToolbarFontFormatCombo.prototype.CreateItems=function(targetSpecialCombo){var aNames=FCKLang['FontFormats'].split(';');var oNames={p:aNames[0],pre:aNames[1],address:aNames[2],h1:aNames[3],h2:aNames[4],h3:aNames[5],h4:aNames[6],h5:aNames[7],h6:aNames[8],div:aNames[9]};var aTags=FCKConfig.FontFormats.split(';');for (var i=0;i<aTags.length;i++){if (aTags[i]=='div'&&FCKBrowserInfo.IsGecko) continue;this._Combo.AddItem(aTags[i],'<'+aTags[i]+'>'+oNames[aTags[i]]+'</'+aTags[i]+'>',oNames[aTags[i]]);};}
-var FCKToolbarStyleCombo=function(){this.Command=FCKCommands.GetCommand('Style');};FCKToolbarStyleCombo.prototype=new FCKToolbarSpecialCombo;FCKToolbarStyleCombo.prototype.GetLabel=function(){return FCKLang.Style;};FCKToolbarStyleCombo.prototype.CreateItems=function(targetSpecialCombo){FCKTools.AppendStyleSheet(targetSpecialCombo._Panel.Document,FCKConfig.EditorAreaCSS);if (!FCKBrowserInfo.IsGecko) targetSpecialCombo.OnBeforeClick=this.RefreshVisibleItems;for (var s in this.Command.Styles){var oStyle=this.Command.Styles[s];if (oStyle.IsObjectElement) var oItem=targetSpecialCombo.AddItem(s,s);else var oItem=targetSpecialCombo.AddItem(s,oStyle.GetOpenerTag()+s+oStyle.GetCloserTag());oItem.Style=oStyle;};};FCKToolbarStyleCombo.prototype.RefreshActiveItems=function(targetSpecialCombo){targetSpecialCombo.DeselectAll();var aStyles=this.Command.GetActiveStyles();if (aStyles.length>0){for (var i=0;i<aStyles.length;i++) targetSpecialCombo.SelectItem(aStyles[i].Name);targetSpecialCombo.SetLabelById(aStyles[0].Name);}else targetSpecialCombo.SetLabel('');};FCKToolbarStyleCombo.prototype.RefreshVisibleItems=function(targetSpecialCombo){if (FCKSelection.GetType()=='Control') var sTagName=FCKSelection.GetSelectedElement().tagName;for (var i in targetSpecialCombo.Items){var oItem=targetSpecialCombo.Items[i];if ((sTagName&&oItem.Style.Element==sTagName)||(!sTagName&&!oItem.Style.IsObjectElement)) oItem.style.display='';else oItem.style.display='none';};}
-var FCKToolbarPanelButton=function(commandName,label,tooltip,style){this.Command=FCKCommands.GetCommand(commandName);this.Label=label?label:commandName;this.Tooltip=tooltip?tooltip:(label?label:commandName);this.Style=style?style:FCK_TOOLBARITEM_ONLYICON;this.State=FCK_UNKNOWN;};FCKToolbarPanelButton.prototype.CreateInstance=function(parentToolbar){this.DOMDiv=document.createElement('div');this.DOMDiv.className='TB_Button_Off';this.DOMDiv.FCKToolbarButton=this;this.DOMDiv.onmouseover=function(){if (this.FCKToolbarButton.State!=FCK_TRISTATE_DISABLED){this.className='TB_Button_On';};};this.DOMDiv.onmouseout=function(){if (this.FCKToolbarButton.State!=FCK_TRISTATE_DISABLED&&this.FCKToolbarButton.State!=FCK_TRISTATE_ON){this.className='TB_Button_Off';};};this.DOMDiv.onclick=function(e){if (e){e.stopPropagation();FCKPanelEventHandlers.OnDocumentClick(e);};if (this.FCKToolbarButton.State!=FCK_TRISTATE_DISABLED){this.FCKToolbarButton.Command.Execute(0,this.FCKToolbarButton.DOMDiv.offsetHeight,this.FCKToolbarButton.DOMDiv);};return false;};var sClass;switch (this.Style){case FCK_TOOLBARITEM_ONLYICON:sClass='TB_ButtonType_Icon';break;case FCK_TOOLBARITEM_ONLYTEXT:sClass='TB_ButtonType_Text';break;case FCK_TOOLBARITEM_ICONTEXT:sClass='';break;};this.DOMDiv.innerHTML='<table title="'+this.Tooltip+'" class="'+sClass+'" cellspacing="0" cellpadding="0" border="0" unselectable="on">'+'<tr>'+'<td class="TB_Icon" unselectable="on"><img src="'+FCKConfig.SkinPath+'toolbar/button.'+this.Command.Name.toLowerCase()+'.gif" width="21" height="21" unselectable="on"></td>'+'<td class="TB_Text" unselectable="on">'+this.Label+'</td>'+'<td class="TB_ButtonArrow" unselectable="on"><img src="'+FCKConfig.SkinPath+'images/toolbar.buttonarrow.gif" width="5" height="3"></td>'+'</tr>'+'</table>';var oCell=parentToolbar.DOMRow.insertCell(-1);oCell.appendChild(this.DOMDiv);this.RefreshState();};FCKToolbarPanelButton.prototype.RefreshState=FCKToolbarButton.prototype.RefreshState;
-var FCKToolbarItems=new Object();FCKToolbarItems.LoadedItems=new Object();FCKToolbarItems.RegisterItem=function(itemName,item){this.LoadedItems[itemName]=item;};FCKToolbarItems.GetItem=function(itemName){var oItem=FCKToolbarItems.LoadedItems[itemName];if (oItem) return oItem;switch (itemName){case 'Source':oItem=new FCKToolbarButton('Source',FCKLang.Source,null,FCK_TOOLBARITEM_ICONTEXT,true);break;case 'Save':oItem=new FCKToolbarButton('Save',FCKLang.Save,null,null,true);break;case 'NewPage':oItem=new FCKToolbarButton('NewPage',FCKLang.NewPage,null,null,true);break;case 'Preview':oItem=new FCKToolbarButton('Preview',FCKLang.Preview,null,null,true);break;case 'About':oItem=new FCKToolbarButton('About',FCKLang.About);break;case 'Cut':oItem=new FCKToolbarButton('Cut',FCKLang.Cut,null,null,true);break;case 'Copy':oItem=new FCKToolbarButton('Copy',FCKLang.Copy,null,null,true);break;case 'Paste':oItem=new FCKToolbarButton('Paste',FCKLang.Paste,null,null,true);break;case 'PasteText':oItem=new FCKToolbarButton('PasteText',FCKLang.PasteText);break;case 'PasteWord':oItem=new FCKToolbarButton('PasteWord',FCKLang.PasteWord);break;case 'Print':oItem=new FCKToolbarButton('Print',FCKLang.Print,null,null,true);break;case 'Undo':oItem=new FCKToolbarButton('Undo',FCKLang.Undo,null,null,true);break;case 'Redo':oItem=new FCKToolbarButton('Redo',FCKLang.Redo,null,null,true);break;case 'SelectAll':oItem=new FCKToolbarButton('SelectAll',FCKLang.SelectAll,null,null,true);break;case 'RemoveFormat':oItem=new FCKToolbarButton('RemoveFormat',FCKLang.RemoveFormat);break;case 'Bold':oItem=new FCKToolbarButton('Bold',FCKLang.Bold);break;case 'Italic':oItem=new FCKToolbarButton('Italic',FCKLang.Italic);break;case 'Underline':oItem=new FCKToolbarButton('Underline',FCKLang.Underline);break;case 'StrikeThrough':oItem=new FCKToolbarButton('StrikeThrough',FCKLang.StrikeThrough);break;case 'Subscript':oItem=new FCKToolbarButton('Subscript',FCKLang.Subscript);break;case 'Superscript':oItem=new FCKToolbarButton('Superscript',FCKLang.Superscript);break;case 'OrderedList':oItem=new FCKToolbarButton('InsertOrderedList',FCKLang.NumberedListLbl,FCKLang.NumberedList);break;case 'UnorderedList':oItem=new FCKToolbarButton('InsertUnorderedList',FCKLang.BulletedListLbl,FCKLang.BulletedList);break;case 'Outdent':oItem=new FCKToolbarButton('Outdent',FCKLang.DecreaseIndent);break;case 'Indent':oItem=new FCKToolbarButton('Indent',FCKLang.IncreaseIndent);break;case 'Link':oItem=new FCKToolbarButton('Link',FCKLang.InsertLinkLbl,FCKLang.InsertLink);break;case 'Unlink':oItem=new FCKToolbarButton('Unlink',FCKLang.RemoveLink);break;case 'Image':oItem=new FCKToolbarButton('Image',FCKLang.InsertImageLbl,FCKLang.InsertImage);break;case 'Table':oItem=new FCKToolbarButton('Table',FCKLang.InsertTableLbl,FCKLang.InsertTable);break;case 'SpecialChar':oItem=new FCKToolbarButton('SpecialChar',FCKLang.InsertSpecialCharLbl,FCKLang.InsertSpecialChar);break;case 'Smiley':oItem=new FCKToolbarButton('Smiley',FCKLang.InsertSmileyLbl,FCKLang.InsertSmiley);break;case 'Rule':oItem=new FCKToolbarButton('InsertHorizontalRule',FCKLang.InsertLineLbl,FCKLang.InsertLine);break;case 'JustifyLeft':oItem=new FCKToolbarButton('JustifyLeft',FCKLang.LeftJustify);break;case 'JustifyCenter':oItem=new FCKToolbarButton('JustifyCenter',FCKLang.CenterJustify);break;case 'JustifyRight':oItem=new FCKToolbarButton('JustifyRight',FCKLang.RightJustify);break;case 'JustifyFull':oItem=new FCKToolbarButton('JustifyFull',FCKLang.BlockJustify);break;case 'Style':oItem=new FCKToolbarStyleCombo();break;case 'FontName':oItem=new FCKToolbarFontsCombo();break;case 'FontSize':oItem=new FCKToolbarFontSizeCombo();break;case 'FontFormat':oItem=new FCKToolbarFontFormatCombo();break;case 'TextColor':oItem=new FCKToolbarPanelButton('TextColor',FCKLang.TextColor);break;case 'BGColor':oItem=new FCKToolbarPanelButton('BGColor',FCKLang.BGColor);break;case 'Find':oItem=new FCKToolbarButton('Find',FCKLang.Find);break;case 'Replace':oItem=new FCKToolbarButton('Replace',FCKLang.Replace);break;default:alert(FCKLang.UnknownToolbarItem.replace(/%1/g,itemName));return;};FCKToolbarItems.LoadedItems[itemName]=oItem;return oItem;}
-var FCKToolbar=function(){this.Items=new Array();this.DOMTable=document.createElement('table');this.DOMTable.className='TB_Toolbar';with (this.DOMTable){style.styleFloat=style.cssFloat=FCKLang.Dir=='rtl'?'right':'left';cellPadding=0;cellSpacing=0;border=0;};this.DOMRow=this.DOMTable.insertRow(-1);var oCell=this.DOMRow.insertCell(-1);oCell.className='TB_Start';oCell.innerHTML='<img src="'+FCKConfig.SkinPath+'images/toolbar.start.gif" width="7" height="21" style="VISIBILITY: hidden" onload="this.style.visibility = \'\';" unselectable="on">';FCKToolbarSet.DOMElement.appendChild(this.DOMTable);};FCKToolbar.prototype.AddItem=function(toolbarItem){this.Items[this.Items.length]=toolbarItem;toolbarItem.CreateInstance(this);};FCKToolbar.prototype.AddSeparator=function(){var oCell=this.DOMRow.insertCell(-1);oCell.unselectable='on';oCell.innerHTML='<img src="'+FCKConfig.SkinPath+'images/toolbar.separator.gif" width="5" height="21" style="VISIBILITY: hidden" onload="this.style.visibility = \'\';" unselectable="on">';};FCKToolbar.prototype.AddTerminator=function(){var oCell=this.DOMRow.insertCell(-1);oCell.className='TB_End';oCell.innerHTML='<img src="'+FCKConfig.SkinPath+'images/toolbar.end.gif" width="12" height="21" style="VISIBILITY: hidden" onload="this.style.visibility = \'\';" unselectable="on">';};
-var FCKToolbarSet=FCK.ToolbarSet=new Object();document.getElementById('ExpandHandle').title=FCKLang.ToolbarExpand;document.getElementById('CollapseHandle').title=FCKLang.ToolbarCollapse;FCKToolbarSet.Toolbars=new Array();FCKToolbarSet.Expand=function(){document.getElementById('Collapsed').style.display='none';document.getElementById('Expanded').style.display='';if (!FCKBrowserInfo.IsIE){window.setTimeout("window.onresize()",1);};};FCKToolbarSet.Collapse=function(){document.getElementById('Collapsed').style.display='';document.getElementById('Expanded').style.display='none';if (!FCKBrowserInfo.IsIE){window.setTimeout("window.onresize()",1);};};FCKToolbarSet.Restart=function(){if (!FCKConfig.ToolbarCanCollapse||FCKConfig.ToolbarStartExpanded) this.Expand();else this.Collapse();document.getElementById('CollapseHandle').style.display=FCKConfig.ToolbarCanCollapse?'':'none';};FCKToolbarSet.Load=function(toolbarSetName){this.DOMElement=document.getElementById('eToolbar');var ToolbarSet=FCKConfig.ToolbarSets[toolbarSetName];if (!ToolbarSet){alert(FCKLang.UnknownToolbarSet.replace(/%1/g,toolbarSetName));return;};this.Toolbars=new Array();for (var x=0;x<ToolbarSet.length;x++){var oToolbar=new FCKToolbar();for (var j=0;j<ToolbarSet[x].length;j++){var sItem=ToolbarSet[x][j];if (sItem=='-') oToolbar.AddSeparator();else{var oItem=FCKToolbarItems.GetItem(sItem);if (oItem) oToolbar.AddItem(oItem);};};oToolbar.AddTerminator();this.Toolbars[this.Toolbars.length]=oToolbar;};this.Redraw();};FCKToolbarSet.Redraw=function(){};FCKToolbarSet.RefreshItemsState=function(){for (var i=0;i<FCKToolbarSet.Toolbars.length;i++){var oToolbar=FCKToolbarSet.Toolbars[i];for (var j=0;j<oToolbar.Items.length;j++){oToolbar.Items[j].RefreshState();};};};
-var FCKDialog=new Object();FCKDialog.OpenDialog=function(dialogName,dialogTitle,dialogPage,width,height,customValue,parentWindow){var oDialogInfo=new Object();oDialogInfo.Title=dialogTitle;oDialogInfo.Page=dialogPage;oDialogInfo.Editor=window;oDialogInfo.CustomValue=customValue;var sUrl=FCKConfig.BasePath+'fckdialog.html';this.Show(oDialogInfo,dialogName,sUrl,width,height,parentWindow);};
-FCKDialog.Show=function(dialogInfo,dialogName,pageUrl,dialogWidth,dialogHeight,parentWindow){var iTop=(screen.height-dialogHeight) / 2;var iLeft=(screen.width - dialogWidth) / 2;var sOption="location=no,menubar=no,resizable=no,toolbar=no,dependent=yes,dialog=yes,minimizable=no,modal=yes,alwaysRaised=yes"+",width="+dialogWidth+",height="+dialogHeight+",top="+iTop+",left="+iLeft;if (!parentWindow) parentWindow=window;var oWindow=parentWindow.open('','FCKEditorDialog_'+dialogName,sOption,true);oWindow.moveTo(iLeft,iTop);oWindow.resizeTo(dialogWidth,dialogHeight);oWindow.focus();oWindow.location.href=pageUrl;oWindow.dialogArguments=dialogInfo;parentWindow.FCKLastDialogInfo=dialogInfo;this.Window=oWindow;window.top.captureEvents(Event.CLICK|Event.MOUSEDOWN|Event.MOUSEUP|Event.FOCUS);window.top.parent.addEventListener('mousedown',this.CheckFocus,true);window.top.parent.addEventListener('mouseup',this.CheckFocus,true);window.top.parent.addEventListener('click',this.CheckFocus,true);window.top.parent.addEventListener('focus',this.CheckFocus,true);};FCKDialog.CheckFocus=function(){if (FCKDialog.Window&&!FCKDialog.Window.closed){FCKDialog.Window.focus();return false;}else{window.top.releaseEvents(Event.CLICK|Event.MOUSEDOWN|Event.MOUSEUP|Event.FOCUS);window.top.parent.removeEventListener('onmousedown',FCKDialog.CheckFocus,true);window.top.parent.removeEventListener('mouseup',FCKDialog.CheckFocus,true);window.top.parent.removeEventListener('click',FCKDialog.CheckFocus,true);window.top.parent.removeEventListener('onfocus',FCKDialog.CheckFocus,true);};};
-var FCKContextMenuItem=function(contextMenu,commandName,label,hasIcon){this.ContextMenu=contextMenu;this.Command=FCKCommands.GetCommand(commandName);this.Label=label?label:commandName;this.HasIcon=hasIcon?true:false;};FCKContextMenuItem.prototype.CreateTableRow=function(targetTable){this._Row=targetTable.insertRow(-1);this._Row.className='CM_Disabled';this._Row.FCKContextMenuItem=this;this._Row.onmouseover=function(){if (this.className!='CM_Disabled') this.className='CM_Over';};this._Row.onmouseout=function(){if (this.className!='CM_Disabled') this.className='CM_Option';};this._Row.onclick=function(){this.FCKContextMenuItem.ContextMenu.Hide();this.FCKContextMenuItem.Command.Execute();return false;};var oCell=this._Row.insertCell(-1);oCell.className='CM_Icon';if (this.HasIcon) oCell.innerHTML='<img alt="" src="'+FCKConfig.SkinPath+'toolbar/button.'+this.Command.Name.toLowerCase()+'.gif" width="21" height="20" unselectable="on">';oCell=this._Row.insertCell(-1);oCell.className='CM_Label';oCell.unselectable='on';oCell.noWrap=true;oCell.innerHTML=this.Label;};FCKContextMenuItem.prototype.SetVisible=function(isVisible){this._Row.style.display=isVisible?'':'none';};FCKContextMenuItem.prototype.RefreshState=function(){switch (this.Command.GetState()){case FCK_TRISTATE_ON:case FCK_TRISTATE_OFF:this._Row.className='CM_Option';break;default:this._Row.className='CM_Disabled';break;};};
-var FCKContextMenuSeparator=function(){};FCKContextMenuSeparator.prototype.CreateTableRow=function(targetTable){this._Row=targetTable.insertRow(-1);this._Row.className='CM_Separator';var oCell=this._Row.insertCell(-1);oCell.className='CM_Icon';oCell=this._Row.insertCell(-1);oCell.className='CM_Label';oCell.innerHTML='<div></div>';};FCKContextMenuSeparator.prototype.SetVisible=function(isVisible){this._Row.style.display=isVisible?'':'none';};FCKContextMenuSeparator.prototype.RefreshState=function(){};
-var FCKContextMenuGroup=function(){this.IsVisible=true;this.Items=new Array();this.ValidationFunction=null;};FCKContextMenuGroup.prototype.Add=function(contextMenuItem){this.Items[this.Items.length]=contextMenuItem;};FCKContextMenuGroup.prototype.CreateTableRows=function(table){for (var i=0;i<this.Items.length;i++){this.Items[i].CreateTableRow(table);};};FCKContextMenuGroup.prototype.SetVisible=function(isVisible){for (var i=0;i<this.Items.length;i++){this.Items[i].SetVisible(isVisible);};this.IsVisible=isVisible;};FCKContextMenuGroup.prototype.RefreshState=function(){if (!this.IsVisible) return;for (var i=0;i<this.Items.length;i++){this.Items[i].RefreshState();};}
-var FCKContextMenu=new Object();FCKContextMenu._IsLoaded=false;FCKContextMenu.Reload=function(){this._Div=this._Document.createElement('DIV');this._Div.className='CM_ContextMenu';this._Div.style.position='absolute';this._Div.style.visibility='hidden';this._Document.body.appendChild(this._Div);var oTable=this._Document.createElement('TABLE');oTable.cellSpacing=0;oTable.cellPadding=0;oTable.border=0;this._Div.appendChild(oTable);this.Groups=new Object();this.Groups['Generic']=new FCKContextMenuGroup();with (this.Groups['Generic']){Add(new FCKContextMenuItem(this,'Cut',FCKLang.Cut,true));Add(new FCKContextMenuItem(this,'Copy',FCKLang.Copy,true));Add(new FCKContextMenuItem(this,'Paste',FCKLang.Paste,true));};this.Groups['Link']=new FCKContextMenuGroup();with (this.Groups['Link']){Add(new FCKContextMenuSeparator());Add(new FCKContextMenuItem(this,'Link',FCKLang.EditLink,true));Add(new FCKContextMenuItem(this,'Unlink',FCKLang.RemoveLink,true));};this.Groups['TableCell']=new FCKContextMenuGroup();with (this.Groups['TableCell']){Add(new FCKContextMenuSeparator());Add(new FCKContextMenuItem(this,'TableInsertRow',FCKLang.InsertRow,true));Add(new FCKContextMenuItem(this,'TableDeleteRows',FCKLang.DeleteRows,true));Add(new FCKContextMenuSeparator());Add(new FCKContextMenuItem(this,'TableInsertColumn',FCKLang.InsertColumn,true));Add(new FCKContextMenuItem(this,'TableDeleteColumns',FCKLang.DeleteColumns,true));Add(new FCKContextMenuSeparator());Add(new FCKContextMenuItem(this,'TableInsertCell',FCKLang.InsertCell,true));Add(new FCKContextMenuItem(this,'TableDeleteCells',FCKLang.DeleteCells,true));Add(new FCKContextMenuItem(this,'TableMergeCells',FCKLang.MergeCells,true));Add(new FCKContextMenuItem(this,'TableSplitCell',FCKLang.SplitCell,true));Add(new FCKContextMenuSeparator());Add(new FCKContextMenuItem(this,'TableCellProp',FCKLang.CellProperties,true));Add(new FCKContextMenuItem(this,'TableProp',FCKLang.TableProperties,true));};this.Groups['Table']=new FCKContextMenuGroup();with (this.Groups['Table']){Add(new FCKContextMenuSeparator());Add(new FCKContextMenuItem(this,'Table',FCKLang.TableProperties,true));};this.Groups['Image']=new FCKContextMenuGroup();with (this.Groups['Image']){Add(new FCKContextMenuSeparator());Add(new FCKContextMenuItem(this,'Image',FCKLang.ImageProperties,true));};this.Groups['Select']=new FCKContextMenuGroup();with (this.Groups['Select']){Add(new FCKContextMenuSeparator());Add(new FCKContextMenuItem(this,'Undefined',"Selection Field Properties"));};this.Groups['Textarea']=new FCKContextMenuGroup();with (this.Groups['Textarea']){Add(new FCKContextMenuSeparator());Add(new FCKContextMenuItem(this,'Undefined',"Textarea Properties"));};for (var o in this.Groups){this.Groups[o].CreateTableRows(oTable);};this._IsLoaded=true;};FCKContextMenu.RefreshState=function(){var oTag=FCKSelection.GetSelectedElement();var sTagName;if (oTag){sTagName=oTag.tagName;};this.Groups['Link'].SetVisible(FCK.GetNamedCommandState('Unlink')!=FCK_TRISTATE_DISABLED);this.Groups['TableCell'].SetVisible(sTagName!='TABLE'&&FCKSelection.HasAncestorNode('TABLE'));this.Groups['Table'].SetVisible(sTagName=='TABLE');this.Groups['Image'].SetVisible(sTagName=='IMG');this.Groups['Select'].SetVisible(sTagName=='SELECT');this.Groups['Textarea'].SetVisible(sTagName=='TEXTAREA');for (var o in this.Groups){this.Groups[o].RefreshState();};};
-FCKTools.AppendStyleSheet(window.parent.document,FCKConfig.SkinPath+'fck_contextmenu.css');FCKContextMenu.Show=function(x,y){if (!this._Document){this._Document=window.parent.document;};if (!this._IsLoaded){this.Reload();this._Div.style.zIndex=10000;this._Div.oncontextmenu=function() { return false;};};this.RefreshState();var oCoordsA=FCKTools.GetElementPosition(FCK.EditorWindow.frameElement);var oCoordsB=FCKTools.GetElementPosition(window.frameElement);x+=oCoordsA.X+oCoordsB.X;y+=oCoordsA.Y+oCoordsB.Y;var iXSpace=x+this._Div.offsetWidth-this._Div.ownerDocument.defaultView.innerWidth;var iYSpace=y+this._Div.offsetHeight-this._Div.ownerDocument.defaultView.innerHeight;if (iXSpace>0) x-=this._Div.offsetWidth;if (iYSpace>0) y-=this._Div.offsetHeight;this._Div.style.left=x+'px';this._Div.style.top=y+'px';var oActualWindow=FCK.EditorWindow;while (oActualWindow){oActualWindow.document.addEventListener('click',FCKContextMenu._OnDocumentClick,false);if (oActualWindow!=oActualWindow.parent) oActualWindow=oActualWindow.parent;else if (oActualWindow.opener==null) oActualWindow=oActualWindow.opener;else break;};this._Div.style.visibility='';};FCKContextMenu._OnDocumentClick=function(event){var e=event.target;while (e){if (e==FCKContextMenu._Div) return;e=e.parentNode;};FCKContextMenu.Hide();};FCKContextMenu.Hide=function(){this._Div.style.visibility='hidden';this._Div.style.left=this._Div.style.top='1px';}
-if (!FCKConfig.PluginsPath.endsWith('/')) FCKConfig.PluginsPath+='/';var FCKPlugin=function(name,availableLangs){this.Name=name;this.Path=FCKConfig.PluginsPath+name+'/';if (availableLangs.length==0) this.AvailableLangs=new Array();else this.AvailableLangs=availableLangs.split(',');};FCKPlugin.prototype.Load=function(){if (this.AvailableLangs.length>0){if (this.AvailableLangs.indexOf(FCKLanguageManager.ActiveLanguage.Code)>=0) var sLang=FCKLanguageManager.ActiveLanguage.Code;else var sLang=this.AvailableLangs[0];FCKScriptLoader.AddScript(this.Path+'lang/'+sLang+'.js');};FCKScriptLoader.AddScript(this.Path+'fckplugin.js');}
-var FCKPlugins=FCK.Plugins=new Object();FCKPlugins.Loaded=false;FCKPlugins.Items=new Array();for (var i=0;i<FCKConfig.Plugins.Items.length;i++){var oItem=FCKConfig.Plugins.Items[i];FCKPlugins.Items.addItem(new FCKPlugin(oItem[0],oItem[1]));};FCKPlugins.Load=function(){for (var i=0;i<this.Items.length;i++) this.Items[i].Load();this.Loaded=true;FCKPlugins.Load=null;}
-if (FCKLang&&window.document.dir.toLowerCase()!=FCKLang.Dir.toLowerCase()) window.document.dir=FCKLang.Dir;if (FCKConfig.ForcePasteAsPlainText) FCK.Events.AttachEvent("OnPaste",FCK.Paste);if (FCKPlugins.Items.length>0){FCKScriptLoader.OnEmpty=CompleteLoading;FCKPlugins.Load();}else CompleteLoading();function CompleteLoading(){FCKToolbarSet.Name=FCKURLParams['Toolbar']||'Default';FCKToolbarSet.Load(FCKToolbarSet.Name);FCKToolbarSet.Restart();FCK.AttachToOnSelectionChange(FCKToolbarSet.RefreshItemsState);FCK.SetStatus(FCK_STATUS_COMPLETE);if (typeof(window.parent.FCKeditor_OnComplete)=='function') window.parent.FCKeditor_OnComplete(FCK);}
diff --git a/lib/editor/js/fckeditorcode_ie_1.js b/lib/editor/js/fckeditorcode_ie_1.js
deleted file mode 100644
index f1debab..0000000
--- a/lib/editor/js/fckeditorcode_ie_1.js
+++ /dev/null
@@ -1,25 +0,0 @@
-/*
- * FCKeditor - The text editor for internet
- * Copyright (C) 2003-2004 Frederico Caldeira Knabben
- *
- * Licensed under the terms of the GNU Lesser General Public License:
- * http://www.opensource.org/licenses/lgpl-license.php
- *
- * For further information visit:
- * http://www.fckeditor.net/
- *
- * This file has been compacted for best loading performance.
- *
- * Version: 2.0 RC2
- * Created: 2004-12-21 23:53:24
- */
-var FCKDebug=new Object();if (FCKConfig.Debug){FCKDebug.Output=function(message,color){if (!FCKConfig.Debug) return;if (message!=null&&isNaN(message)) message=message.replace(/</g,"&lt;");if (!this.DebugWindow||this.DebugWindow.closed) this.DebugWindow=window.open('fckdebug.html','FCKeditorDebug','menubar=no,scrollbars=no,resizable=yes,location=no,toolbar=no,width=600,height=500',true);if (this.DebugWindow.Output) this.DebugWindow.Output(message,color);};}else FCKDebug.Output=function() {};
-var FCKTools=new Object();FCKTools.GetLinkedFieldValue=function(){return FCK.LinkedField.value;};FCKTools.SetLinkedFieldValue=function(value){FCK.LinkedField.value=value;};FCKTools.AttachToLinkedFieldFormSubmit=function(functionPointer){var oForm=FCK.LinkedField.form;if (!oForm) return;if (FCKBrowserInfo.IsIE) oForm.attachEvent("onsubmit",functionPointer);else oForm.addEventListener('submit',functionPointer,true);if (!oForm.updateFCKEditor) oForm.updateFCKEditor=new Array();oForm.updateFCKEditor[oForm.updateFCKEditor.length]=functionPointer;if (!oForm.originalSubmit&&!oForm.submit.tagName){oForm.originalSubmit=oForm.submit;oForm.submit=function(){if (this.updateFCKEditor){for (var i=0;i<this.updateFCKEditor.length;i++) this.updateFCKEditor[i]();};this.originalSubmit();};};};FCKTools.AddSelectOption=function(targetDocument,selectElement,optionText,optionValue){var oOption=targetDocument.createElement("OPTION");oOption.text=optionText;oOption.value=optionValue;selectElement.options.add(oOption);return oOption;};FCKTools.RemoveAllSelectOptions=function(selectElement){for (var i=selectElement.options.length-1;i>=0;i--){selectElement.options.remove(i);};};FCKTools.SelectNoCase=function(selectElement,value,defaultValue){var sNoCaseValue=value.toString().toLowerCase();for (var i=0;i<selectElement.options.length;i++){if (sNoCaseValue==selectElement.options[i].value.toLowerCase()){selectElement.selectedIndex=i;return;};};if (defaultValue!=null) FCKTools.SelectNoCase(selectElement,defaultValue);};FCKTools.HTMLEncode=function(text){text=text.replace(/&/g,"&amp;");text=text.replace(/"/g,"&quot;");text=text.replace(/</g,"&lt;");text=text.replace(/>/g,"&gt;");text=text.replace(/'/g,"&#39;");return text;};FCKTools.GetResultingArray=function(arraySource,separator){switch (typeof(arraySource)){case "string":return arraySource.split(separator);case "function":return separator();default:if (isArray(arraySource)) return arraySource;else return new Array();};};FCKTools.GetElementPosition=function(el){var c={ X:0,Y:0 };while (el){c.X+=el.offsetLeft;c.Y+=el.offsetTop;el=el.offsetParent;};return c;};FCKTools.GetElementAscensor=function(element,ascensorTagName){var e=element.parentNode;while (e){if (e.nodeName==ascensorTagName) return e;e=e.parentNode;};};
-FCKTools.AppendStyleSheet=function(documentElement,cssFileUrl){return documentElement.createStyleSheet(cssFileUrl);};FCKTools.ClearElementAttributes=function(element){element.clearAttributes();};FCKTools.GetAllChildrenIds=function(parentElement){var aIds=new Array();for (var i=0;i<parentElement.all.length;i++){var sId=parentElement.all[i].id;if (sId&&sId.length>0) aIds[aIds.length]=sId;};return aIds;};FCKTools.RemoveOuterTags=function(e){e.insertAdjacentHTML('beforeBegin',e.innerHTML);e.parentNode.removeChild(e);}
-var FCKRegexLib=new Object();FCKRegexLib.AposEntity=/&apos;/gi;FCKRegexLib.ObjectElements=/^(?:IMG|TABLE|TR|TD|INPUT|SELECT|TEXTAREA|HR|OBJECT)$/i;FCKRegexLib.NamedCommands=/^(?:Cut|Copy|Paste|Print|SelectAll|RemoveFormat|Unlink|Undo|Redo|Bold|Italic|Underline|StrikeThrough|Subscript|Superscript|JustifyLeft|JustifyCenter|JustifyRight|JustifyFull|Outdent|Indent|InsertOrderedList|InsertUnorderedList|InsertHorizontalRule)$/i;
-FCKLanguageManager.GetActiveLanguage=function(){if (FCKConfig.AutoDetectLanguage){var sUserLang;if (navigator.userLanguage) sUserLang=navigator.userLanguage.toLowerCase();else if (navigator.language) sUserLang=navigator.language.toLowerCase();else{return FCKConfig.DefaultLanguage;};FCKDebug.Output('Navigator Language = '+sUserLang);if (sUserLang.length>=5){sUserLang=sUserLang.substr(0,5);if (this.AvailableLanguages[sUserLang]) return sUserLang;};if (sUserLang.length>=2){sUserLang=sUserLang.substr(0,2);if (this.AvailableLanguages[sUserLang]) return sUserLang;};};return this.DefaultLanguage;};FCKLanguageManager.TranslateElements=function(targetDocument,tag,propertyToSet){var aInputs=targetDocument.getElementsByTagName(tag);for (var i=0;i<aInputs.length;i++){var oAtt=aInputs[i].attributes['fckLang'];if (oAtt){var s=FCKLang[oAtt.value];if (s) eval('aInputs[i].'+propertyToSet+' = s');};};};FCKLanguageManager.TranslatePage=function(targetDocument){this.TranslateElements(targetDocument,'INPUT','value');this.TranslateElements(targetDocument,'SPAN','innerHTML');this.TranslateElements(targetDocument,'LABEL','innerHTML');this.TranslateElements(targetDocument,'OPTION','innerHTML');};if (FCKLanguageManager.AvailableLanguages[FCKConfig.DefaultLanguage]) FCKLanguageManager.DefaultLanguage=FCKConfig.DefaultLanguage;else FCKLanguageManager.DefaultLanguage='en';FCKLanguageManager.ActiveLanguage=new Object();FCKLanguageManager.ActiveLanguage.Code=FCKLanguageManager.GetActiveLanguage();FCKLanguageManager.ActiveLanguage.Name=FCKLanguageManager.AvailableLanguages[FCKLanguageManager.ActiveLanguage.Code];FCK.Language=FCKLanguageManager;LoadLanguageFile();
-var FCKEvents=function(eventsOwner){this.Owner=eventsOwner;this.RegisteredEvents=new Object();};FCKEvents.prototype.AttachEvent=function(eventName,functionPointer,params){if (!this.RegisteredEvents[eventName]) this.RegisteredEvents[eventName]=new Array();this.RegisteredEvents[eventName][this.RegisteredEvents[eventName].length]=functionPointer;};FCKEvents.prototype.FireEvent=function(eventName,params){var bReturnValue=true;FCKDebug.Output('Firing event: '+eventName,'Fuchsia');var oCalls=this.RegisteredEvents[eventName];if (oCalls){for (var i=0;i<oCalls.length;i++){if (typeof(oCalls[i])=="function") bReturnValue=(bReturnValue&&oCalls[i](params));else bReturnValue=(bReturnValue&&eval(oCalls[i]));};};return bReturnValue;};
-FCKXHtmlEntities=new Object();FCKXHtmlEntities.Entities={' ':'nbsp','¡':'iexcl','¢':'cent','£':'pound','¤':'curren','¥':'yen','¦':'brvbar','§':'sect','¨':'uml','©':'copy','ª':'ordf','«':'laquo','¬':'not','­':'shy','®':'reg','¯':'macr','°':'deg','±':'plusmn','²':'sup2','³':'sup3','´':'acute','µ':'micro','¶':'para','·':'middot','¸':'cedil','¹':'sup1','º':'ordm','»':'raquo','¼':'frac14','½':'frac12','¾':'frac34','¿':'iquest','À':'Agrave','Á':'Aacute','Â':'Acirc','Ã':'Atilde','Ä':'Auml','Å':'Aring','Æ':'AElig','Ç':'Ccedil','È':'Egrave','É':'Eacute','Ê':'Ecirc','Ë':'Euml','Ì':'Igrave','Í':'Iacute','Î':'Icirc','Ï':'Iuml','Ð':'ETH','Ñ':'Ntilde','Ò':'Ograve','Ó':'Oacute','Ô':'Ocirc','Õ':'Otilde','Ö':'Ouml','×':'times','Ø':'Oslash','Ù':'Ugrave','Ú':'Uacute','Û':'Ucirc','Ü':'Uuml','Ý':'Yacute','Þ':'THORN','ß':'szlig','à':'agrave','á':'aacute','â':'acirc','ã':'atilde','ä':'auml','å':'aring','æ':'aelig','ç':'ccedil','è':'egrave','é':'eacute','ê':'ecirc','ë':'euml','ì':'igrave','í':'iacute','î':'icirc','ï':'iuml','ð':'eth','ñ':'ntilde','ò':'ograve','ó':'oacute','ô':'ocirc','õ':'otilde','ö':'ouml','÷':'divide','ø':'oslash','ù':'ugrave','ú':'uacute','û':'ucirc','ü':'uuml','ý':'yacute','þ':'thorn','ÿ':'yuml','ƒ':'fnof','Α':'Alpha','Β':'Beta','Γ':'Gamma','Δ':'Delta','Ε':'Epsilon','Ζ':'Zeta','Η':'Eta','Θ':'Theta','Ι':'Iota','Κ':'Kappa','Λ':'Lambda','Μ':'Mu','Ν':'Nu','Ξ':'Xi','Ο':'Omicron','Π':'Pi','Ρ':'Rho','Σ':'Sigma','Τ':'Tau','Υ':'Upsilon','Φ':'Phi','Χ':'Chi','Ψ':'Psi','Ω':'Omega','α':'alpha','β':'beta','γ':'gamma','δ':'delta','ε':'epsilon','ζ':'zeta','η':'eta','θ':'theta','ι':'iota','κ':'kappa','λ':'lambda','μ':'mu','ν':'nu','ξ':'xi','ο':'omicron','π':'pi','ρ':'rho','ς':'sigmaf','σ':'sigma','τ':'tau','υ':'upsilon','φ':'phi','χ':'chi','ψ':'psi','ω':'omega','ϑ':'thetasym','ϒ':'upsih','ϖ':'piv','•':'bull','…':'hellip','′':'prime','″':'Prime','‾':'oline','⁄':'frasl','℘':'weierp','ℑ':'image','ℜ':'real','™':'trade','ℵ':'alefsym','←':'larr','↑':'uarr','→':'rarr','↓':'darr','↔':'harr','↵':'crarr','⇐':'lArr','⇑':'uArr','⇒':'rArr','⇓':'dArr','⇔':'hArr','∀':'forall','∂':'part','∃':'exist','∅':'empty','∇':'nabla','∈':'isin','∉':'notin','∋':'ni','∏':'prod','∑':'sum','−':'minus','∗':'lowast','√':'radic','∝':'prop','∞':'infin','∠':'ang','∧':'and','∨':'or','∩':'cap','∪':'cup','∫':'int','∴':'there4','∼':'sim','≅':'cong','≈':'asymp','≠':'ne','≡':'equiv','≤':'le','≥':'ge','⊂':'sub','⊃':'sup','⊄':'nsub','⊆':'sube','⊇':'supe','⊕':'oplus','⊗':'otimes','⊥':'perp','⋅':'sdot','⌈':'lceil','⌉':'rceil','⌊':'lfloor','⌋':'rfloor','〈':'lang','〉':'rang','◊':'loz','♠':'spades','♣':'clubs','♥':'hearts','♦':'diams','"':'quot','Œ':'OElig','œ':'oelig','Š':'Scaron','š':'scaron','Ÿ':'Yuml','ˆ':'circ','˜':'tilde',' ':'ensp',' ':'emsp',' ':'thinsp','‌':'zwnj','‍':'zwj','‎':'lrm','‏':'rlm','–':'ndash','—':'mdash','‘':'lsquo','’':'rsquo','‚':'sbquo','“':'ldquo','”':'rdquo','„':'bdquo','†':'dagger','‡':'Dagger','‰':'permil','‹':'lsaquo','›':'rsaquo','€':'euro'};FCKXHtmlEntities.Chars='';for (var e in FCKXHtmlEntities.Entities) FCKXHtmlEntities.Chars+=e;FCKXHtmlEntities.EntitiesRegex=new RegExp('','');FCKXHtmlEntities.EntitiesRegex.compile('['+FCKXHtmlEntities.Chars+']|[^'+FCKXHtmlEntities.Chars+']+','g');FCKXHtmlEntities.GeckoEntitiesMarkerRegex=/#\?-\:/g;
-var FCKXHtml=new Object();FCKXHtml.EmptyElementsRegex=/^(?:BASE|META|LINK|HR|BR|PARAM|IMG|AREA|INPUT)$/i;FCKXHtml.GetXHTML=function(node){if (window.ActiveXObject) this.XML=new ActiveXObject('Msxml2.DOMDocument');else this.XML=document.implementation.createDocument('','',null);this.MainNode=this.XML.appendChild(this.XML.createElement('xhtml'));this._AppendChildNodes(this.MainNode,node);var sXHTML=FCKBrowserInfo.IsIE?this.MainNode.xml:FCKXHtml._GetGeckoNodeXml(this.MainNode);if (FCKConfig.ForceSimpleAmpersand) sXHTML=sXHTML.replace(/___FCKAmp___/g,'&');return sXHTML.substr(7,sXHTML.length-15);};FCKXHtml._GetGeckoNodeXml=function(node){var oSerializer=new XMLSerializer();return oSerializer.serializeToString(node).replace(FCKXHtmlEntities.GeckoEntitiesMarkerRegex,'&');};FCKXHtml._AppendAttribute=function(xmlNode,attributeName,attributeValue){if (FCKBrowserInfo.IsGecko&&attributeName.indexOf('_moz')==0) return;var oXmlAtt=this.XML.createAttribute(attributeName);if (attributeValue===true) oXmlAtt.value=attributeName;else oXmlAtt.value=attributeValue;xmlNode.attributes.setNamedItem(oXmlAtt);};FCKXHtml._AppendChildNodes=function(xmlNode,htmlNode){var oChildren=htmlNode.childNodes;var i=0;while (i<oChildren.length){i+=this._AppendNode(xmlNode,oChildren[i]);};if (i==0&&!this.EmptyElementsRegex.test(htmlNode.nodeName)) xmlNode.appendChild(this.XML.createTextNode(''));};FCKXHtml._AppendNode=function(xmlNode,htmlNode){var iAddedNodes=1;switch (htmlNode.nodeType){case 1:if (FCKBrowserInfo.IsGecko&&htmlNode.hasAttribute('_moz_editor_bogus_node')) return;var sNodeName=htmlNode.nodeName.toLowerCase();if (sNodeName.substr(0,1)=='/') break;var oNode=this.XML.createElement(sNodeName);var oAttributes=htmlNode.attributes;for (var n=0;n<oAttributes.length;n++){var oAttribute=oAttributes[n];if (oAttribute.specified){var sAttName=oAttribute.nodeName.toLowerCase();if (FCKBrowserInfo.IsIE&&sAttName=='style') var sAttValue=htmlNode.style.cssText;else if (sAttName=='class'||(FCKBrowserInfo.IsIE&&sAttName.indexOf('on')==0)) var sAttValue=oAttribute.nodeValue;else var sAttValue=htmlNode.getAttribute(sAttName,2);if (FCKConfig.ForceSimpleAmpersand&&sAttValue.replace) sAttValue=sAttValue.replace(/&/g,'___FCKAmp___');this._AppendAttribute(oNode,sAttName,sAttValue);};};var bProcessChild=true;switch (sNodeName){case "img":if (!oNode.attributes.getNamedItem('alt')) this._AppendAttribute(oNode,'alt','');bProcessChild=false;break;case "font":if (FCKBrowserInfo.IsIE&&oNode.attributes.length==0) oNode=this.XML.createDocumentFragment();break;case "input":if (FCKBrowserInfo.IsIE&&htmlNode.value&&!oNode.attributes.getNamedItem('value')) this._AppendAttribute(oNode,'value',htmlNode.value);bProcessChild=false;break;case "abbr":if (FCKBrowserInfo.IsIE){var oNextNode=htmlNode.nextSibling;while (true){iAddedNodes++;if (oNextNode&&oNextNode.nodeName!='/ABBR'){this._AppendNode(oNode,oNextNode);oNextNode=oNextNode.nextSibling;}else break;};bProcessChild=false;};break;case "area":if (FCKBrowserInfo.IsIE&&!oNode.attributes.getNamedItem('coords')){var sCoords=htmlNode.getAttribute('coords',2);if (sCoords&&sCoords!='0,0,0') this._AppendAttribute(oNode,'coords',sCoords);};break;case "script":if (!oNode.attributes.getNamedItem('type')) this._AppendAttribute(oNode,'type','text/javascript');oNode.appendChild(this.XML.createTextNode('\n'+htmlNode.text.trim()+'\n'));bProcessChild=false;break;case "style":if (!oNode.attributes.getNamedItem('type')) this._AppendAttribute(oNode,'type','text/css');oNode.appendChild(this.XML.createTextNode('\n'+htmlNode.innerHTML.trim()+'\n'));bProcessChild=false;break;};if (bProcessChild) this._AppendChildNodes(oNode,htmlNode);xmlNode.appendChild(oNode);break;case 3:var asPieces=htmlNode.nodeValue.match(FCKXHtmlEntities.EntitiesRegex);if (asPieces){for (var i=0;i<asPieces.length;i++){if (asPieces[i].length==1){var sEntity=FCKXHtmlEntities.Entities[asPieces[i]];if (sEntity!=null){if (FCKBrowserInfo.IsIE) var oEnt=this.XML.createEntityReference(sEntity);else var oEnt=this.XML.createTextNode('#?-:'+sEntity+';');xmlNode.appendChild(oEnt);continue;};};xmlNode.appendChild(this.XML.createTextNode(asPieces[i]));};};break;case 8:xmlNode.appendChild(this.XML.createComment(htmlNode.nodeValue));break;default:xmlNode.appendChild(this.XML.createComment("Element not supported - Type: "+htmlNode.nodeType+" Name: "+htmlNode.nodeName));break;};return iAddedNodes;}
-FCK.Events=new FCKEvents(FCK);FCK.Toolbar=null;FCK.StartEditor=function(){this.EditorWindow=window.frames['eEditorArea'];this.EditorDocument=this.EditorWindow.document;this.SetHTML(FCKTools.GetLinkedFieldValue());FCKTools.AppendStyleSheet(this.EditorDocument,FCKConfig.EditorAreaCSS);FCKTools.AttachToLinkedFieldFormSubmit(this.UpdateLinkedField);this.InitializeBehaviors();};FCK.SetStatus=function(newStatus){this.Status=newStatus;if (newStatus==FCK_STATUS_ACTIVE){window.onfocus=window.document.body.onfocus=FCK.Focus;if (FCKConfig.StartupFocus) FCK.Focus();if (FCKBrowserInfo.IsIE) FCKScriptLoader.AddScript('js/fckeditorcode_ie_2.js');else FCKScriptLoader.AddScript('js/fckeditorcode_gecko_2.js');};this.Events.FireEvent('OnStatusChange',newStatus);if (this.OnStatusChange) this.OnStatusChange(newStatus);};FCK.GetHTML=function(){if (FCK.EditMode==FCK_EDITMODE_WYSIWYG){return this.EditorDocument.body.innerHTML;}else return document.getElementById('eSourceField').value;};FCK.GetXHTML=function(){var bSource=(FCK.EditMode==FCK_EDITMODE_SOURCE);if (bSource) this.SwitchEditMode();var sXHTML=FCKXHtml.GetXHTML(this.EditorDocument.body);if (bSource) this.SwitchEditMode();return sXHTML;};FCK.UpdateLinkedField=function(){if (FCKConfig.EnableXHTML) FCKTools.SetLinkedFieldValue(FCK.GetXHTML());else FCKTools.SetLinkedFieldValue(FCK.GetHTML());};FCK.ShowContextMenu=function(x,y){if (this.Status!=FCK_STATUS_COMPLETE) return;FCKContextMenu.Show(x,y);this.Events.FireEvent("OnContextMenu");};
-FCK.Description="FCKeditor for Internet Explorer 5.5+";FCK.InitializeBehaviors=function(){this.EditorDocument.onmousedown=this.EditorDocument.onmouseup=function(){FCK.Focus();FCK.EditorWindow.event.cancelBubble=true;FCK.EditorWindow.event.returnValue=false;};this.EditorDocument.body.onpaste=function(){if (FCK.Status==FCK_STATUS_COMPLETE) return FCK.Events.FireEvent("OnPaste");else return false;};this.EditorDocument.oncontextmenu=function(){var e=this.parentWindow.event;FCK.ShowContextMenu(e.screenX,e.screenY);return false;};if (FCKConfig.UseBROnCarriageReturn||FCKConfig.TabSpaces>0){if (FCKConfig.TabSpaces>0){window.FCKTabHTML='';for (i=0;i<FCKConfig.TabSpaces;i++) window.FCKTabHTML+="&nbsp;";};this.EditorDocument.onkeydown=function(){var e=FCK.EditorWindow.event;if (e.keyCode==13&&FCKConfig.UseBROnCarriageReturn){if ((e.ctrlKey||e.altKey||e.shiftKey)) return true;else{if (FCK.EditorDocument.queryCommandState('InsertOrderedList')||FCK.EditorDocument.queryCommandState('InsertUnorderedList')) return true;FCK.InsertHtml("<br>&nbsp;");var oRange=FCK.EditorDocument.selection.createRange();oRange.moveStart('character',-1);oRange.select();FCK.EditorDocument.selection.clear();return false;};}else if (e.keyCode==9&&FCKConfig.TabSpaces>0&&!(e.ctrlKey||e.altKey||e.shiftKey)){FCK.InsertHtml(window.FCKTabHTML);return false;};return true;};};this.EditorDocument.onselectionchange=function(){FCK.Events.FireEvent("OnSelectionChange");};this.EditorDocument.body.contentEditable=true;this.SetStatus(FCK_STATUS_ACTIVE);};FCK.Focus=function(){try{if (FCK.EditMode==FCK_EDITMODE_WYSIWYG) FCK.EditorDocument.body.focus();else document.getElementById('eSource').focus();}catch(e) {};};FCK.SetHTML=function(html,forceWYSIWYG){if (forceWYSIWYG||FCK.EditMode==FCK_EDITMODE_WYSIWYG){this.EditorDocument.body.innerHTML='';if (html&&html.length>0) this.EditorDocument.write(html);}else document.getElementById('eSourceField').value=html;};FCK.InsertHtml=function(html){FCK.Focus();var oSel=FCK.EditorDocument.selection;if (oSel.type.toLowerCase()!="none") oSel.clear();oSel.createRange().pasteHTML(html);};
diff --git a/lib/editor/js/fckeditorcode_ie_2.js b/lib/editor/js/fckeditorcode_ie_2.js
deleted file mode 100644
index af8601d..0000000
--- a/lib/editor/js/fckeditorcode_ie_2.js
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
- * FCKeditor - The text editor for internet
- * Copyright (C) 2003-2004 Frederico Caldeira Knabben
- *
- * Licensed under the terms of the GNU Lesser General Public License:
- * http://www.opensource.org/licenses/lgpl-license.php
- *
- * For further information visit:
- * http://www.fckeditor.net/
- *
- * This file has been compacted for best loading performance.
- *
- * Version: 2.0 RC2
- * Created: 2004-12-21 23:53:25
- */
-FCK.RedirectNamedCommands=new Object();FCK.ExecuteNamedCommand=function(commandName,commandParameter){if (FCK.RedirectNamedCommands[commandName]!=null) FCK.ExecuteRedirectedNamedCommand(commandName,commandParameter);else{FCK.Focus();FCK.EditorDocument.execCommand(commandName,false,commandParameter);FCK.Events.FireEvent('OnSelectionChange');};};FCK.GetNamedCommandState=function(commandName){try{if (!FCK.EditorDocument.queryCommandEnabled(commandName)) return FCK_TRISTATE_DISABLED;else return FCK.EditorDocument.queryCommandState(commandName)?FCK_TRISTATE_ON:FCK_TRISTATE_OFF;}catch (e){return FCK_TRISTATE_OFF;};};FCK.GetNamedCommandValue=function(commandName){var sValue='';var eState=FCK.GetNamedCommandState(commandName);if (eState==FCK_TRISTATE_DISABLED) return null;try{sValue=this.EditorDocument.queryCommandValue(commandName);}catch(e) {};return sValue?sValue:'';};FCK.CleanAndPaste=function(html){html=html.replace(/<\/?SPAN[^>]*>/gi,"");html=html.replace(/<(\w[^>]*) class=([^ |>]*)([^>]*)/gi,"<$1$3");html=html.replace(/<(\w[^>]*) style="([^"]*)"([^>]*)/gi,"<$1$3");html=html.replace(/<(\w[^>]*) lang=([^ |>]*)([^>]*)/gi,"<$1$3");html=html.replace(/<\\?\?xml[^>]*>/gi,"");html=html.replace(/<\/?\w+:[^>]*>/gi,"");html=html.replace(/&nbsp;/," ");var re=new RegExp("(<P)([^>]*>.*?)(<\/P>)","gi");html=html.replace(re,"<div$2</div>");FCK.InsertHtml(html);};FCK.Preview=function(){var oWindow=window.open('',null,'toolbar=yes,location=yes,status=yes,menubar=yes,scrollbars=yes,resizable=yes');var sHTML='<html><head><link href="'+FCKConfig.EditorAreaCSS+'" rel="stylesheet" type="text/css" /></head><body>'+FCK.GetHTML()+'</body></html>';oWindow.document.write(sHTML);oWindow.document.close();};FCK.SwitchEditMode=function(){var bWYSIWYG=(FCK.EditMode==FCK_EDITMODE_WYSIWYG);document.getElementById('eWysiwyg').style.display=bWYSIWYG?'none':'';document.getElementById('eSource').style.display=bWYSIWYG?'':'none';if (bWYSIWYG) document.getElementById('eSourceField').value=(FCKConfig.EnableXHTML&&FCKConfig.EnableSourceXHTML?FCK.GetXHTML():FCK.GetHTML());else{FCK.SetHTML(FCK.GetHTML(),true);if (FCKBrowserInfo.IsGecko) FCK.MakeEditable();};FCK.EditMode=bWYSIWYG?FCK_EDITMODE_SOURCE:FCK_EDITMODE_WYSIWYG;FCK.Focus();FCKToolbarSet.RefreshItemsState();};FCK.CreateElement=function(tag){var e=FCK.EditorDocument.createElement(tag);e.setAttribute('__FCKTempLabel','1');this.InsertElement(e);var aEls=FCK.EditorDocument.getElementsByTagName(tag);for (var i=0;i<aEls.length;i++){if (aEls[i].attributes['__FCKTempLabel']){aEls[i].removeAttribute('__FCKTempLabel');return aEls[i];};};};
-FCK.Paste=function(){if (FCKConfig.ForcePasteAsPlainText){FCK.PasteAsPlainText();return false;}else if (FCKConfig.AutoDetectPasteFromWord&&FCKBrowserInfo.IsIE55OrMore){var sHTML=FCK.GetClipboardHTML();var re=/<\w[^>]* class="?MsoNormal"?/gi;if (re.test(sHTML)){if (confirm(FCKLang["PasteWordConfirm"])){FCK.CleanAndPaste(sHTML);return false;};};}else return true;};FCK.PasteAsPlainText=function(){var sText=FCKTools.HTMLEncode(clipboardData.getData("Text"));sText=sText.replace(/\n/g,'<BR>');this.InsertHtml(sText);};FCK.PasteFromWord=function(){FCK.CleanAndPaste(FCK.GetClipboardHTML());};FCK.InsertElement=function(element){FCK.InsertHtml(element.outerHTML);};FCK.GetClipboardHTML=function(){var oDiv=document.getElementById('___FCKHiddenDiv');if (!oDiv){var oDiv=document.createElement('DIV');oDiv.id='___FCKHiddenDiv';oDiv.style.visibility='hidden';oDiv.style.overflow='hidden';oDiv.style.position='absolute';oDiv.style.width=1;oDiv.style.height=1;document.body.appendChild(oDiv);};oDiv.innerHTML='';var oTextRange=document.body.createTextRange();oTextRange.moveToElementText(oDiv);oTextRange.execCommand('Paste');var sData=oDiv.innerHTML;oDiv.innerHTML='';return sData;};FCK.AttachToOnSelectionChange=function(functionPointer){FCK.EditorDocument.attachEvent('onselectionchange',functionPointer);};FCK.CreateLink=function(url){FCK.ExecuteNamedCommand('Unlink');if (url.length>0){var sTempUrl='javascript:void(0);/*'+(new Date().getTime())+'*/';FCK.ExecuteNamedCommand('CreateLink',sTempUrl);var oLinks=this.EditorDocument.links;for (i=0;i<oLinks.length;i++){if (oLinks[i].href==sTempUrl){oLinks[i].href=url;return oLinks[i];};};};};
-var FCKSelection=new Object();FCK.Selection=FCKSelection;
-FCKSelection.GetType=function(){return FCK.EditorDocument.selection.type;};FCKSelection.GetSelectedElement=function(){if (this.GetType()=='Control'){var oRange=FCK.EditorDocument.selection.createRange();if (oRange&&oRange.item) return FCK.EditorDocument.selection.createRange().item(0);};};FCKSelection.GetParentElement=function(){if (this.GetType()=='Control') return FCKSelection.GetSelectedElement().parentElement;else return FCK.EditorDocument.selection.createRange().parentElement();};FCKSelection.MoveToNode=function(node){FCK.EditorDocument.selection.empty();var oRange=FCK.EditorDocument.selection.createRange();oRange.moveToElementText(node);oRange.select();};FCKSelection.HasAncestorNode=function(nodeTagName){var oContainer;if (FCK.EditorDocument.selection.type=="Control"){oContainer=this.GetSelectedElement();}else{var oRange=FCK.EditorDocument.selection.createRange();oContainer=oRange.parentElement();};while (oContainer){if (oContainer.tagName==nodeTagName) return true;oContainer=oContainer.parentNode;};return false;};FCKSelection.MoveToAncestorNode=function(nodeTagName){var oNode;if (FCK.EditorDocument.selection.type=="Control"){var oRange=FCK.EditorDocument.selection.createRange();for (i=0;i<oRange.length;i++){if (oRange(i).parentNode){oNode=oRange(i).parentNode;break;};};}else{var oRange=FCK.EditorDocument.selection.createRange();oNode=oRange.parentElement();};while (oNode&&oNode.nodeName!=nodeTagName) oNode=oNode.parentNode;return oNode;};FCKSelection.Delete=function(){var oSel=FCK.EditorDocument.selection;if (oSel.type.toLowerCase()!="none"){oSel.clear();};return oSel;}
-var FCKPanel=function(parentWindow){this.Window=parentWindow?parentWindow:window;};FCKPanel.prototype.Create=function(){this._Popup=this.Window.createPopup();this.Document=this._Popup.document;this.Document.oncontextmenu=function() { return false;};if (this.StyleSheet) FCKTools.AppendStyleSheet(this.Document,this.StyleSheet);this.PanelDiv=this.Document.body.appendChild(this.Document.createElement('DIV'));this.PanelDiv.className='FCK_Panel';this.Created=true;};FCKPanel.prototype.Show=function(panelX,panelY,relElement,width,height,autoSize){if (!this.Created) this._Create();this._Popup.show(panelX,panelY,0,0,relElement);if (width==null||(autoSize&&width>this.PanelDiv.offsetWidth)) var iWidth=this.PanelDiv.offsetWidth;else var iWidth=width;if (height==null||(autoSize&&height>this.PanelDiv.offsetHeight)) var iHeight=this.PanelDiv.offsetHeight;else var iHeight=height;this.PanelDiv.style.height=iHeight;this._Popup.show(panelX,panelY,iWidth,iHeight,relElement);};FCKPanel.prototype.Hide=function(){if (this._Popup) this._Popup.hide();}
-var FCKTableHandler=new Object();FCKTableHandler.InsertRow=function(){var oRow=FCKSelection.MoveToAncestorNode("TR");if (!oRow) return;var oNewRow=oRow.cloneNode(true);oRow.parentNode.insertBefore(oNewRow,oRow);FCKTableHandler.ClearRow(oRow);};FCKTableHandler.DeleteRows=function(row){if (!row) row=FCKSelection.MoveToAncestorNode("TR");if (!row) return;var oTable=FCKTools.GetElementAscensor(row,'TABLE');if (oTable.rows.length==1){FCKTableHandler.DeleteTable(oTable);return;};row.parentNode.removeChild(row);};FCKTableHandler.DeleteTable=function(table){if (!table) table=FCKSelection.MoveToAncestorNode("TABLE");if (!table) return;table.parentNode.removeChild(table);};FCKTableHandler.InsertColumn=function(){var oCell=FCKSelection.MoveToAncestorNode("TD");if (!oCell) return;var oTable=FCKTools.GetElementAscensor(oCell,'TABLE');var iIndex=oCell.cellIndex+1;for (var i=0;i<oTable.rows.length;i++){var oRow=oTable.rows[i];if (oRow.cells.length<iIndex) continue;oCell=FCK.EditorDocument.createElement('TD');oCell.innerHTML='&nbsp;';var oBaseCell=oRow.cells[iIndex];if (oBaseCell){oRow.insertBefore(oCell,oBaseCell);}else{oRow.appendChild(oCell);};};};FCKTableHandler.DeleteColumns=function(){var oCell=FCKSelection.MoveToAncestorNode("TD");if (!oCell) return;var oTable=FCKTools.GetElementAscensor(oCell,'TABLE');var iIndex=oCell.cellIndex;for (var i=oTable.rows.length-1;i>=0;i--){var oRow=oTable.rows[i];if (iIndex==0&&oRow.cells.length==1){FCKTableHandler.DeleteRows(oRow);continue;};if (oRow.cells[iIndex]) oRow.removeChild(oRow.cells[iIndex]);};};FCKTableHandler.InsertCell=function(cell){var oCell=cell?cell:FCKSelection.MoveToAncestorNode("TD");if (!oCell) return;var oNewCell=FCK.EditorDocument.createElement("TD");oNewCell.innerHTML="&nbsp;";if (oCell.cellIndex==oCell.parentNode.cells.lenght-1){oCell.parentNode.appendChild(oNewCell);}else{oCell.parentNode.insertBefore(oNewCell,oCell.nextSibling);};return oNewCell;};FCKTableHandler.DeleteCell=function(cell){if (cell.parentNode.cells.length==1){FCKTableHandler.DeleteRows(FCKTools.GetElementAscensor(cell,'TR'));return;};cell.parentNode.removeChild(cell);};FCKTableHandler.DeleteCells=function(){var aCells=FCKTableHandler.GetSelectedCells();for (var i=aCells.length-1;i>=0;i--){FCKTableHandler.DeleteCell(aCells[i]);};};FCKTableHandler.MergeCells=function(){var aCells=FCKTableHandler.GetSelectedCells();if (aCells.length<2) return;if (aCells[0].parentNode!=aCells[aCells.length-1].parentNode) return;var iColSpan=isNaN(aCells[0].colSpan)?1:aCells[0].colSpan;var sHtml='';for (var i=aCells.length-1;i>0;i--){iColSpan+=isNaN(aCells[i].colSpan)?1:aCells[i].colSpan;sHtml=aCells[i].innerHTML+sHtml;FCKTableHandler.DeleteCell(aCells[i]);};aCells[0].colSpan=iColSpan;aCells[0].innerHTML+=sHtml;};FCKTableHandler.SplitCell=function(){var aCells=FCKTableHandler.GetSelectedCells();if (aCells.length!=1) return;var aMap=this._CreateTableMap(aCells[0].parentNode.parentNode);var iCellIndex=FCKTableHandler._GetCellIndexSpan(aMap,aCells[0].parentNode.rowIndex,aCells[0]);var aCollCells=this._GetCollumnCells(aMap,iCellIndex);for (var i=0;i<aCollCells.length;i++){if (aCollCells[i]==aCells[0]){var oNewCell=this.InsertCell(aCells[0]);if (!isNaN(aCells[0].rowSpan)&&aCells[0].rowSpan>1) oNewCell.rowSpan=aCells[0].rowSpan;}else{if (isNaN(aCollCells[i].colSpan)) aCollCells[i].colSpan=2;else aCollCells[i].colSpan+=1;};};};FCKTableHandler._GetCellIndexSpan=function(tableMap,rowIndex,cell){if (tableMap.length<rowIndex+1) return;var oRow=tableMap[rowIndex];for (var c=0;c<oRow.length;c++){if (oRow[c]==cell) return c;};};FCKTableHandler._GetCollumnCells=function(tableMap,collumnIndex){var aCollCells=new Array();for (var r=0;r<tableMap.length;r++){var oCell=tableMap[r][collumnIndex];if (oCell&&(aCollCells.length==0||aCollCells[aCollCells.length-1]!=oCell)) aCollCells[aCollCells.length]=oCell;};return aCollCells;};FCKTableHandler._CreateTableMap=function(table){var aRows=table.rows;var r=-1;var aMap=new Array();for (var i=0;i<aRows.length;i++){r++;if (!aMap[r]) aMap[r]=new Array();var c=-1;for (var j=0;j<aRows[i].cells.length;j++){var oCell=aRows[i].cells[j];c++;while (aMap[r][c]) c++;var iColSpan=isNaN(oCell.colSpan)?1:oCell.colSpan;var iRowSpan=isNaN(oCell.rowSpan)?1:oCell.rowSpan;for (var rs=0;rs<iRowSpan;rs++){if (!aMap[r+rs]) aMap[r+rs]=new Array();for (var cs=0;cs<iColSpan;cs++){aMap[r+rs][c+cs]=aRows[i].cells[j];};};c+=iColSpan-1;};};return aMap;};FCKTableHandler.ClearRow=function(tr){var aCells=tr.cells;for (var i=0;i<aCells.length;i++){aCells[i].innerHTML='&nbsp;';};}
-FCKTableHandler.GetSelectedCells=function(){var aCells=new Array();var oRange=FCK.EditorDocument.selection.createRange();var oParent=oRange.parentElement();if (oParent&&oParent.tagName=="TD") aCells[0]=oParent;else{var oParent=FCKSelection.MoveToAncestorNode("TABLE");if (oParent){for (var i=0;i<oParent.cells.length;i++){var oCellRange=FCK.EditorDocument.selection.createRange();oCellRange.moveToElementText(oParent.cells[i]);if (oRange.inRange(oCellRange)||(oRange.compareEndPoints('StartToStart',oCellRange)>=0&&oRange.compareEndPoints('StartToEnd',oCellRange)<=0)||(oRange.compareEndPoints('EndToStart',oCellRange)>=0&&oRange.compareEndPoints('EndToEnd',oCellRange)<=0)){aCells[aCells.length]=oParent.cells[i];};};};};return aCells;};
-var FCKXml=function(){};FCKXml.prototype.GetHttpRequest=function(){if (window.XMLHttpRequest) return new XMLHttpRequest();else if (window.ActiveXObject) return new ActiveXObject("MsXml2.XmlHttp");};FCKXml.prototype.LoadUrl=function(urlToCall,asyncFunctionPointer){var oFCKXml=this;var bAsync=(typeof(asyncFunctionPointer)=='function');var oXmlHttp=this.GetHttpRequest();oXmlHttp.open("GET",urlToCall,bAsync);if (bAsync){oXmlHttp.onreadystatechange=function(){if (oXmlHttp.readyState==4){oFCKXml.DOMDocument=oXmlHttp.responseXML;asyncFunctionPointer(oFCKXml);};};};oXmlHttp.send(null);if (!bAsync&&oXmlHttp.status&&oXmlHttp.status==200) this.DOMDocument=oXmlHttp.responseXML;else throw('Error loading "'+urlToCall+'"');};FCKXml.prototype.SelectNodes=function(xpath,contextNode){if (document.all){if (contextNode) return contextNode.selectNodes(xpath);else return this.DOMDocument.selectNodes(xpath);}else{var aNodeArray=new Array();var xPathResult=this.DOMDocument.evaluate(xpath,contextNode?contextNode:this.DOMDocument,this.DOMDocument.createNSResolver(this.DOMDocument.documentElement),XPathResult.ORDERED_NODE_ITERATOR_TYPE,null);if (xPathResult){var oNode=xPathResult.iterateNext();while(oNode){aNodeArray[aNodeArray.length]=oNode;oNode=xPathResult.iterateNext();};};return aNodeArray;};};FCKXml.prototype.SelectSingleNode=function(xpath,contextNode){if (document.all){if (contextNode) return contextNode.selectSingleNode(xpath);else return this.DOMDocument.selectSingleNode(xpath);}else{var xPathResult=this.DOMDocument.evaluate(xpath,contextNode?contextNode:this.DOMDocument,this.DOMDocument.createNSResolver(this.DOMDocument.documentElement),9,null);if (xPathResult&&xPathResult.singleNodeValue) return xPathResult.singleNodeValue;else return null;};};
-var FCKStyleDef=function(name,element){this.Name=name;this.Element=element.toUpperCase();this.IsObjectElement=FCKRegexLib.ObjectElements.test(this.Element);this.Attributes=new Object();};FCKStyleDef.prototype.AddAttribute=function(name,value){this.Attributes[name]=value;};FCKStyleDef.prototype.GetOpenerTag=function(){var s='<'+this.Element;for (var a in this.Attributes) s+=' '+a+'="'+this.Attributes[a]+'"';return s+'>';};FCKStyleDef.prototype.GetCloserTag=function(){return '</'+this.Element+'>';};FCKStyleDef.prototype.RemoveFromSelection=function(){if (FCKSelection.GetType()=='Control') this._RemoveMe(FCKSelection.GetSelectedElement());else this._RemoveMe(FCKSelection.GetParentElement());}
-FCKStyleDef.prototype.ApplyToSelection=function(){var oSelection=FCK.EditorDocument.selection;if (oSelection.type=='Text'){var oRange=oSelection.createRange();var e=document.createElement(this.Element);e.innerHTML=oRange.htmlText;this._AddAttributes(e);this._RemoveDuplicates(e);oRange.pasteHTML(e.outerHTML);}else if (oSelection.type=='Control'){var oControl=FCKSelection.GetSelectedElement();if (oControl.tagName==this.Element) this._AddAttributes(oControl);};};FCKStyleDef.prototype._AddAttributes=function(targetElement){for (var a in this.Attributes){if (a.toLowerCase()=='style') targetElement.style.cssText=this.Attributes[a];else targetElement.setAttribute(a,this.Attributes[a],0);};};FCKStyleDef.prototype._RemoveDuplicates=function(parent){for (var i=0;i<parent.children.length;i++){var oChild=parent.children[i];this._RemoveDuplicates(oChild);if (this.IsEqual(oChild)){oChild.insertAdjacentHTML('beforeBegin',oChild.innerHTML);oChild.parentElement.removeChild(oChild);};};};FCKStyleDef.prototype.IsEqual=function(e){if (e.tagName!=this.Element) return false;for (var a in this.Attributes){switch (a.toLowerCase()){case 'style':if (e.style.cssText.toLowerCase()!=this.Attributes[a].toLowerCase()) return false;break;case 'class':if (e.getAttribute('className',0)!=this.Attributes[a]) return false;break;default:if (e.getAttribute(a,0)!=this.Attributes[a]) return false;};};return true;};FCKStyleDef.prototype._RemoveMe=function(elementToCheck){if (!elementToCheck) return;var oParent=elementToCheck.parentElement;if (this.IsEqual(elementToCheck)){if (this.IsObjectElement){for (var a in this.Attributes){switch (a.toLowerCase()){case 'class':elementToCheck.removeAttribute('className',0);break;default:elementToCheck.removeAttribute(a,0);};};return;}else FCKTools.RemoveOuterTags(elementToCheck);};this._RemoveMe(oParent);}
-var FCKStylesLoader=function(){this.Styles=new Object();this.StyleGroups=new Object();this.Loaded=false;this.HasObjectElements=false;};FCKStylesLoader.prototype.Load=function(stylesXmlUrl){var oXml=new FCKXml();oXml.LoadUrl(stylesXmlUrl);var aStyleNodes=oXml.SelectNodes('Styles/Style');for (var i=0;i<aStyleNodes.length;i++){var sElement=aStyleNodes[i].attributes.getNamedItem('element').value.toUpperCase();var oStyleDef=new FCKStyleDef(aStyleNodes[i].attributes.getNamedItem('name').value,sElement);if (oStyleDef.IsObjectElement) this.HasObjectElements=true;var aAttNodes=oXml.SelectNodes('Attribute',aStyleNodes[i]);for (var j=0;j<aAttNodes.length;j++){var sAttName=aAttNodes[j].attributes.getNamedItem('name').value;var sAttValue=aAttNodes[j].attributes.getNamedItem('value').value;if (sAttName.toLowerCase()=='style'){var oTempE=document.createElement('SPAN');oTempE.style.cssText=sAttValue;sAttValue=oTempE.style.cssText;};oStyleDef.AddAttribute(sAttName,sAttValue);};this.Styles[oStyleDef.Name]=oStyleDef;var aGroup=this.StyleGroups[sElement];if (aGroup==null){this.StyleGroups[sElement]=new Array();aGroup=this.StyleGroups[sElement];};aGroup[aGroup.length]=oStyleDef;};this.Loaded=true;}
-var FCKNamedCommand=function(commandName){this.Name=commandName;};FCKNamedCommand.prototype.Execute=function(){FCK.ExecuteNamedCommand(this.Name);};FCKNamedCommand.prototype.GetState=function(){return FCK.GetNamedCommandState(this.Name);};
-var FCKDialogCommand=function(name,title,url,width,height,getStateFunction,getStateParam){this.Name=name;this.Title=title;this.Url=url;this.Width=width;this.Height=height;this.GetStateFunction=getStateFunction;this.GetStateParam=getStateParam;};FCKDialogCommand.prototype.Execute=function(){FCKDialog.OpenDialog('FCKDialog_'+this.Name,this.Title,this.Url,this.Width,this.Height);};FCKDialogCommand.prototype.GetState=function(){if (this.GetStateFunction) return this.GetStateFunction(this.GetStateParam);else return FCK_TRISTATE_OFF;};var FCKUndefinedCommand=function(){this.Name='Undefined';};FCKUndefinedCommand.prototype.Execute=function(){alert(FCKLang.NotImplemented);};FCKUndefinedCommand.prototype.GetState=fun