* Removed the Kevin Roth rich text editor and replaced it with TinyMCE.
authorArt Cancro <ajc@citadel.org>
Mon, 26 Sep 2005 02:47:36 +0000 (02:47 +0000)
committerArt Cancro <ajc@citadel.org>
Mon, 26 Sep 2005 02:47:36 +0000 (02:47 +0000)
678 files changed:
webcit/ChangeLog
webcit/README.txt
webcit/messages.c
webcit/static/head.html
webcit/static/richtext.js [deleted file]
webcit/tiny_mce/blank.htm [new file with mode: 0644]
webcit/tiny_mce/langs/ar.js [new file with mode: 0644]
webcit/tiny_mce/langs/ca.js [new file with mode: 0644]
webcit/tiny_mce/langs/cs.js [new file with mode: 0644]
webcit/tiny_mce/langs/da.js [new file with mode: 0644]
webcit/tiny_mce/langs/de.js [new file with mode: 0644]
webcit/tiny_mce/langs/el.js [new file with mode: 0644]
webcit/tiny_mce/langs/en.js [new file with mode: 0644]
webcit/tiny_mce/langs/es.js [new file with mode: 0644]
webcit/tiny_mce/langs/fa.js [new file with mode: 0644]
webcit/tiny_mce/langs/fi.js [new file with mode: 0644]
webcit/tiny_mce/langs/fr.js [new file with mode: 0644]
webcit/tiny_mce/langs/fr_ca.js [new file with mode: 0644]
webcit/tiny_mce/langs/he.js [new file with mode: 0644]
webcit/tiny_mce/langs/hu.js [new file with mode: 0644]
webcit/tiny_mce/langs/it.js [new file with mode: 0644]
webcit/tiny_mce/langs/ja.js [new file with mode: 0644]
webcit/tiny_mce/langs/ko.js [new file with mode: 0644]
webcit/tiny_mce/langs/nl.js [new file with mode: 0644]
webcit/tiny_mce/langs/no.js [new file with mode: 0644]
webcit/tiny_mce/langs/pl.js [new file with mode: 0644]
webcit/tiny_mce/langs/pt.js [new file with mode: 0644]
webcit/tiny_mce/langs/pt_br.js [new file with mode: 0644]
webcit/tiny_mce/langs/readme.txt [new file with mode: 0644]
webcit/tiny_mce/langs/ru.js [new file with mode: 0644]
webcit/tiny_mce/langs/sv.js [new file with mode: 0644]
webcit/tiny_mce/langs/th.js [new file with mode: 0644]
webcit/tiny_mce/langs/zh_cn.js [new file with mode: 0644]
webcit/tiny_mce/license.txt [new file with mode: 0644]
webcit/tiny_mce/plugins/_template/editor_plugin.js [new file with mode: 0644]
webcit/tiny_mce/plugins/_template/editor_plugin_src.js [new file with mode: 0644]
webcit/tiny_mce/plugins/_template/images/template.gif [new file with mode: 0644]
webcit/tiny_mce/plugins/_template/langs/en.js [new file with mode: 0644]
webcit/tiny_mce/plugins/_template/langs/fr_ca.js [new file with mode: 0644]
webcit/tiny_mce/plugins/_template/langs/zh_cn.js [new file with mode: 0644]
webcit/tiny_mce/plugins/_template/popup.htm [new file with mode: 0644]
webcit/tiny_mce/plugins/_template/readme.txt [new file with mode: 0644]
webcit/tiny_mce/plugins/advhr/editor_plugin.js [new file with mode: 0644]
webcit/tiny_mce/plugins/advhr/editor_plugin_src.js [new file with mode: 0644]
webcit/tiny_mce/plugins/advhr/images/advhr.gif [new file with mode: 0644]
webcit/tiny_mce/plugins/advhr/jscripts/rule.js [new file with mode: 0644]
webcit/tiny_mce/plugins/advhr/langs/cs.js [new file with mode: 0644]
webcit/tiny_mce/plugins/advhr/langs/de.js [new file with mode: 0644]
webcit/tiny_mce/plugins/advhr/langs/en.js [new file with mode: 0644]
webcit/tiny_mce/plugins/advhr/langs/fa.js [new file with mode: 0644]
webcit/tiny_mce/plugins/advhr/langs/fr.js [new file with mode: 0644]
webcit/tiny_mce/plugins/advhr/langs/fr_ca.js [new file with mode: 0644]
webcit/tiny_mce/plugins/advhr/langs/he.js [new file with mode: 0644]
webcit/tiny_mce/plugins/advhr/langs/nl.js [new file with mode: 0644]
webcit/tiny_mce/plugins/advhr/langs/pl.js [new file with mode: 0644]
webcit/tiny_mce/plugins/advhr/langs/pt_br.js [new file with mode: 0644]
webcit/tiny_mce/plugins/advhr/langs/sv.js [new file with mode: 0644]
webcit/tiny_mce/plugins/advhr/langs/zh_cn.js [new file with mode: 0644]
webcit/tiny_mce/plugins/advhr/readme.txt [new file with mode: 0644]
webcit/tiny_mce/plugins/advhr/rule.htm [new file with mode: 0644]
webcit/tiny_mce/plugins/advimage/css/advimage.css [new file with mode: 0644]
webcit/tiny_mce/plugins/advimage/editor_plugin.js [new file with mode: 0644]
webcit/tiny_mce/plugins/advimage/editor_plugin_src.js [new file with mode: 0644]
webcit/tiny_mce/plugins/advimage/image.htm [new file with mode: 0644]
webcit/tiny_mce/plugins/advimage/images/sample.gif [new file with mode: 0644]
webcit/tiny_mce/plugins/advimage/jscripts/functions.js [new file with mode: 0644]
webcit/tiny_mce/plugins/advimage/langs/cs.js [new file with mode: 0644]
webcit/tiny_mce/plugins/advimage/langs/de.js [new file with mode: 0644]
webcit/tiny_mce/plugins/advimage/langs/en.js [new file with mode: 0644]
webcit/tiny_mce/plugins/advimage/langs/fa.js [new file with mode: 0644]
webcit/tiny_mce/plugins/advimage/langs/fa_ca.js [new file with mode: 0644]
webcit/tiny_mce/plugins/advimage/langs/fr.js [new file with mode: 0644]
webcit/tiny_mce/plugins/advimage/langs/fr_ca.js [new file with mode: 0644]
webcit/tiny_mce/plugins/advimage/langs/he.js [new file with mode: 0644]
webcit/tiny_mce/plugins/advimage/langs/ko.js [new file with mode: 0644]
webcit/tiny_mce/plugins/advimage/langs/nl.js [new file with mode: 0644]
webcit/tiny_mce/plugins/advimage/langs/pl.js [new file with mode: 0644]
webcit/tiny_mce/plugins/advimage/langs/pt_br.js [new file with mode: 0644]
webcit/tiny_mce/plugins/advimage/langs/sv.js [new file with mode: 0644]
webcit/tiny_mce/plugins/advimage/langs/zh_cn.js [new file with mode: 0644]
webcit/tiny_mce/plugins/advimage/readme.txt [new file with mode: 0644]
webcit/tiny_mce/plugins/advlink/css/advlink.css [new file with mode: 0644]
webcit/tiny_mce/plugins/advlink/editor_plugin.js [new file with mode: 0644]
webcit/tiny_mce/plugins/advlink/editor_plugin_src.js [new file with mode: 0644]
webcit/tiny_mce/plugins/advlink/jscripts/functions.js [new file with mode: 0644]
webcit/tiny_mce/plugins/advlink/langs/cs.js [new file with mode: 0644]
webcit/tiny_mce/plugins/advlink/langs/de.js [new file with mode: 0644]
webcit/tiny_mce/plugins/advlink/langs/en.js [new file with mode: 0644]
webcit/tiny_mce/plugins/advlink/langs/fa.js [new file with mode: 0644]
webcit/tiny_mce/plugins/advlink/langs/fr.js [new file with mode: 0644]
webcit/tiny_mce/plugins/advlink/langs/fr_ca.js [new file with mode: 0644]
webcit/tiny_mce/plugins/advlink/langs/he.js [new file with mode: 0644]
webcit/tiny_mce/plugins/advlink/langs/ko.js [new file with mode: 0644]
webcit/tiny_mce/plugins/advlink/langs/nl.js [new file with mode: 0644]
webcit/tiny_mce/plugins/advlink/langs/pl.js [new file with mode: 0644]
webcit/tiny_mce/plugins/advlink/langs/pt_br.js [new file with mode: 0644]
webcit/tiny_mce/plugins/advlink/langs/sv.js [new file with mode: 0644]
webcit/tiny_mce/plugins/advlink/langs/zh_cn.js [new file with mode: 0644]
webcit/tiny_mce/plugins/advlink/link.htm [new file with mode: 0644]
webcit/tiny_mce/plugins/advlink/readme.txt [new file with mode: 0644]
webcit/tiny_mce/plugins/autosave/editor_plugin.js [new file with mode: 0644]
webcit/tiny_mce/plugins/autosave/editor_plugin_src.js [new file with mode: 0644]
webcit/tiny_mce/plugins/autosave/langs/cs.js [new file with mode: 0644]
webcit/tiny_mce/plugins/autosave/langs/en.js [new file with mode: 0644]
webcit/tiny_mce/plugins/autosave/langs/sv.js [new file with mode: 0644]
webcit/tiny_mce/plugins/autosave/readme.txt [new file with mode: 0644]
webcit/tiny_mce/plugins/contextmenu/css/contextmenu.css [new file with mode: 0644]
webcit/tiny_mce/plugins/contextmenu/editor_plugin.js [new file with mode: 0644]
webcit/tiny_mce/plugins/contextmenu/editor_plugin_src.js [new file with mode: 0644]
webcit/tiny_mce/plugins/contextmenu/images/spacer.gif [new file with mode: 0644]
webcit/tiny_mce/plugins/contextmenu/readme.txt [new file with mode: 0644]
webcit/tiny_mce/plugins/directionality/editor_plugin.js [new file with mode: 0644]
webcit/tiny_mce/plugins/directionality/editor_plugin_src.js [new file with mode: 0644]
webcit/tiny_mce/plugins/directionality/images/ltr.gif [new file with mode: 0644]
webcit/tiny_mce/plugins/directionality/images/rtl.gif [new file with mode: 0644]
webcit/tiny_mce/plugins/directionality/langs/cs.js [new file with mode: 0644]
webcit/tiny_mce/plugins/directionality/langs/en.js [new file with mode: 0644]
webcit/tiny_mce/plugins/directionality/langs/fr_ca.js [new file with mode: 0644]
webcit/tiny_mce/plugins/directionality/langs/he.js [new file with mode: 0644]
webcit/tiny_mce/plugins/directionality/langs/sv.js [new file with mode: 0644]
webcit/tiny_mce/plugins/directionality/langs/zh_cn.js [new file with mode: 0644]
webcit/tiny_mce/plugins/directionality/readme.txt [new file with mode: 0644]
webcit/tiny_mce/plugins/emotions/editor_plugin.js [new file with mode: 0644]
webcit/tiny_mce/plugins/emotions/editor_plugin_src.js [new file with mode: 0644]
webcit/tiny_mce/plugins/emotions/emotions.htm [new file with mode: 0644]
webcit/tiny_mce/plugins/emotions/images/emotions.gif [new file with mode: 0644]
webcit/tiny_mce/plugins/emotions/images/readme.txt [new file with mode: 0644]
webcit/tiny_mce/plugins/emotions/images/smiley-cool.gif [new file with mode: 0644]
webcit/tiny_mce/plugins/emotions/images/smiley-cry.gif [new file with mode: 0644]
webcit/tiny_mce/plugins/emotions/images/smiley-embarassed.gif [new file with mode: 0644]
webcit/tiny_mce/plugins/emotions/images/smiley-foot-in-mouth.gif [new file with mode: 0644]
webcit/tiny_mce/plugins/emotions/images/smiley-frown.gif [new file with mode: 0644]
webcit/tiny_mce/plugins/emotions/images/smiley-innocent.gif [new file with mode: 0644]
webcit/tiny_mce/plugins/emotions/images/smiley-kiss.gif [new file with mode: 0644]
webcit/tiny_mce/plugins/emotions/images/smiley-laughing.gif [new file with mode: 0644]
webcit/tiny_mce/plugins/emotions/images/smiley-money-mouth.gif [new file with mode: 0644]
webcit/tiny_mce/plugins/emotions/images/smiley-sealed.gif [new file with mode: 0644]
webcit/tiny_mce/plugins/emotions/images/smiley-smile.gif [new file with mode: 0644]
webcit/tiny_mce/plugins/emotions/images/smiley-surprised.gif [new file with mode: 0644]
webcit/tiny_mce/plugins/emotions/images/smiley-tongue-out.gif [new file with mode: 0644]
webcit/tiny_mce/plugins/emotions/images/smiley-undecided.gif [new file with mode: 0644]
webcit/tiny_mce/plugins/emotions/images/smiley-wink.gif [new file with mode: 0644]
webcit/tiny_mce/plugins/emotions/images/smiley-yell.gif [new file with mode: 0644]
webcit/tiny_mce/plugins/emotions/jscripts/functions.js [new file with mode: 0644]
webcit/tiny_mce/plugins/emotions/langs/cs.js [new file with mode: 0644]
webcit/tiny_mce/plugins/emotions/langs/de.js [new file with mode: 0644]
webcit/tiny_mce/plugins/emotions/langs/el.js [new file with mode: 0644]
webcit/tiny_mce/plugins/emotions/langs/en.js [new file with mode: 0644]
webcit/tiny_mce/plugins/emotions/langs/fa.js [new file with mode: 0644]
webcit/tiny_mce/plugins/emotions/langs/fr.js [new file with mode: 0644]
webcit/tiny_mce/plugins/emotions/langs/fr_ca.js [new file with mode: 0644]
webcit/tiny_mce/plugins/emotions/langs/he.js [new file with mode: 0644]
webcit/tiny_mce/plugins/emotions/langs/it.js [new file with mode: 0644]
webcit/tiny_mce/plugins/emotions/langs/ko.js [new file with mode: 0644]
webcit/tiny_mce/plugins/emotions/langs/nl.js [new file with mode: 0644]
webcit/tiny_mce/plugins/emotions/langs/pl.js [new file with mode: 0644]
webcit/tiny_mce/plugins/emotions/langs/pt_br.js [new file with mode: 0644]
webcit/tiny_mce/plugins/emotions/langs/sv.js [new file with mode: 0644]
webcit/tiny_mce/plugins/emotions/langs/zh_cn.js [new file with mode: 0644]
webcit/tiny_mce/plugins/emotions/readme.txt [new file with mode: 0644]
webcit/tiny_mce/plugins/flash/css/content.css [new file with mode: 0644]
webcit/tiny_mce/plugins/flash/css/flash.css [new file with mode: 0644]
webcit/tiny_mce/plugins/flash/editor_plugin.js [new file with mode: 0644]
webcit/tiny_mce/plugins/flash/editor_plugin_src.js [new file with mode: 0644]
webcit/tiny_mce/plugins/flash/flash.htm [new file with mode: 0644]
webcit/tiny_mce/plugins/flash/images/flash.gif [new file with mode: 0644]
webcit/tiny_mce/plugins/flash/jscripts/flash.js [new file with mode: 0644]
webcit/tiny_mce/plugins/flash/langs/cs.js [new file with mode: 0644]
webcit/tiny_mce/plugins/flash/langs/de.js [new file with mode: 0644]
webcit/tiny_mce/plugins/flash/langs/en.js [new file with mode: 0644]
webcit/tiny_mce/plugins/flash/langs/fa.js [new file with mode: 0644]
webcit/tiny_mce/plugins/flash/langs/fr.js [new file with mode: 0644]
webcit/tiny_mce/plugins/flash/langs/fr_ca.js [new file with mode: 0644]
webcit/tiny_mce/plugins/flash/langs/he.js [new file with mode: 0644]
webcit/tiny_mce/plugins/flash/langs/nl.js [new file with mode: 0644]
webcit/tiny_mce/plugins/flash/langs/pl.js [new file with mode: 0644]
webcit/tiny_mce/plugins/flash/langs/pt_br.js [new file with mode: 0644]
webcit/tiny_mce/plugins/flash/langs/sv.js [new file with mode: 0644]
webcit/tiny_mce/plugins/flash/langs/zh_cn.js [new file with mode: 0644]
webcit/tiny_mce/plugins/flash/readme.txt [new file with mode: 0644]
webcit/tiny_mce/plugins/fullscreen/editor_plugin.js [new file with mode: 0644]
webcit/tiny_mce/plugins/fullscreen/editor_plugin_src.js [new file with mode: 0644]
webcit/tiny_mce/plugins/fullscreen/fullscreen.htm [new file with mode: 0644]
webcit/tiny_mce/plugins/fullscreen/images/fullscreen.gif [new file with mode: 0644]
webcit/tiny_mce/plugins/fullscreen/langs/cs.js [new file with mode: 0644]
webcit/tiny_mce/plugins/fullscreen/langs/en.js [new file with mode: 0644]
webcit/tiny_mce/plugins/fullscreen/langs/fr_ca.js [new file with mode: 0644]
webcit/tiny_mce/plugins/fullscreen/langs/he.js [new file with mode: 0644]
webcit/tiny_mce/plugins/fullscreen/langs/sv.js [new file with mode: 0644]
webcit/tiny_mce/plugins/fullscreen/langs/zh_cn.js [new file with mode: 0644]
webcit/tiny_mce/plugins/fullscreen/readme.txt [new file with mode: 0644]
webcit/tiny_mce/plugins/iespell/editor_plugin.js [new file with mode: 0644]
webcit/tiny_mce/plugins/iespell/editor_plugin_src.js [new file with mode: 0644]
webcit/tiny_mce/plugins/iespell/images/iespell.gif [new file with mode: 0644]
webcit/tiny_mce/plugins/iespell/langs/cs.js [new file with mode: 0644]
webcit/tiny_mce/plugins/iespell/langs/de.js [new file with mode: 0644]
webcit/tiny_mce/plugins/iespell/langs/el.js [new file with mode: 0644]
webcit/tiny_mce/plugins/iespell/langs/en.js [new file with mode: 0644]
webcit/tiny_mce/plugins/iespell/langs/fr.js [new file with mode: 0644]
webcit/tiny_mce/plugins/iespell/langs/fr_ca.js [new file with mode: 0644]
webcit/tiny_mce/plugins/iespell/langs/he.js [new file with mode: 0644]
webcit/tiny_mce/plugins/iespell/langs/it.js [new file with mode: 0644]
webcit/tiny_mce/plugins/iespell/langs/ko.js [new file with mode: 0644]
webcit/tiny_mce/plugins/iespell/langs/nl.js [new file with mode: 0644]
webcit/tiny_mce/plugins/iespell/langs/pl.js [new file with mode: 0644]
webcit/tiny_mce/plugins/iespell/langs/pt_br.js [new file with mode: 0644]
webcit/tiny_mce/plugins/iespell/langs/sv.js [new file with mode: 0644]
webcit/tiny_mce/plugins/iespell/langs/zh_cn.js [new file with mode: 0644]
webcit/tiny_mce/plugins/iespell/readme.txt [new file with mode: 0644]
webcit/tiny_mce/plugins/inlinepopups/css/inlinepopup.css [new file with mode: 0644]
webcit/tiny_mce/plugins/inlinepopups/editor_plugin.js [new file with mode: 0644]
webcit/tiny_mce/plugins/inlinepopups/editor_plugin_src.js [new file with mode: 0644]
webcit/tiny_mce/plugins/inlinepopups/images/spacer.gif [new file with mode: 0644]
webcit/tiny_mce/plugins/inlinepopups/images/window_close.gif [new file with mode: 0644]
webcit/tiny_mce/plugins/inlinepopups/images/window_maximize.gif [new file with mode: 0644]
webcit/tiny_mce/plugins/inlinepopups/images/window_minimize.gif [new file with mode: 0644]
webcit/tiny_mce/plugins/inlinepopups/images/window_resize.gif [new file with mode: 0644]
webcit/tiny_mce/plugins/inlinepopups/jscripts/mcwindows.js [new file with mode: 0644]
webcit/tiny_mce/plugins/inlinepopups/readme.txt [new file with mode: 0644]
webcit/tiny_mce/plugins/insertdatetime/editor_plugin.js [new file with mode: 0644]
webcit/tiny_mce/plugins/insertdatetime/editor_plugin_src.js [new file with mode: 0644]
webcit/tiny_mce/plugins/insertdatetime/images/insertdate.gif [new file with mode: 0644]
webcit/tiny_mce/plugins/insertdatetime/images/inserttime.gif [new file with mode: 0644]
webcit/tiny_mce/plugins/insertdatetime/langs/cs.js [new file with mode: 0644]
webcit/tiny_mce/plugins/insertdatetime/langs/de.js [new file with mode: 0644]
webcit/tiny_mce/plugins/insertdatetime/langs/el.js [new file with mode: 0644]
webcit/tiny_mce/plugins/insertdatetime/langs/en.js [new file with mode: 0644]
webcit/tiny_mce/plugins/insertdatetime/langs/fa.js [new file with mode: 0644]
webcit/tiny_mce/plugins/insertdatetime/langs/fr.js [new file with mode: 0644]
webcit/tiny_mce/plugins/insertdatetime/langs/fr_ca.js [new file with mode: 0644]
webcit/tiny_mce/plugins/insertdatetime/langs/he.js [new file with mode: 0644]
webcit/tiny_mce/plugins/insertdatetime/langs/it.js [new file with mode: 0644]
webcit/tiny_mce/plugins/insertdatetime/langs/ko.js [new file with mode: 0644]
webcit/tiny_mce/plugins/insertdatetime/langs/nl.js [new file with mode: 0644]
webcit/tiny_mce/plugins/insertdatetime/langs/pl.js [new file with mode: 0644]
webcit/tiny_mce/plugins/insertdatetime/langs/pt_br.js [new file with mode: 0644]
webcit/tiny_mce/plugins/insertdatetime/langs/sv.js [new file with mode: 0644]
webcit/tiny_mce/plugins/insertdatetime/langs/zh_cn.js [new file with mode: 0644]
webcit/tiny_mce/plugins/insertdatetime/readme.txt [new file with mode: 0644]
webcit/tiny_mce/plugins/noneditable/css/noneditable.css [new file with mode: 0644]
webcit/tiny_mce/plugins/noneditable/editor_plugin.js [new file with mode: 0644]
webcit/tiny_mce/plugins/noneditable/editor_plugin_src.js [new file with mode: 0644]
webcit/tiny_mce/plugins/noneditable/readme.txt [new file with mode: 0644]
webcit/tiny_mce/plugins/paste/blank.htm [new file with mode: 0644]
webcit/tiny_mce/plugins/paste/css/blank.css [new file with mode: 0644]
webcit/tiny_mce/plugins/paste/css/pasteword.css [new file with mode: 0644]
webcit/tiny_mce/plugins/paste/editor_plugin.js [new file with mode: 0644]
webcit/tiny_mce/plugins/paste/editor_plugin_src.js [new file with mode: 0644]
webcit/tiny_mce/plugins/paste/images/pastetext.gif [new file with mode: 0644]
webcit/tiny_mce/plugins/paste/images/pasteword.gif [new file with mode: 0644]
webcit/tiny_mce/plugins/paste/images/selectall.gif [new file with mode: 0644]
webcit/tiny_mce/plugins/paste/jscripts/pastetext.js [new file with mode: 0644]
webcit/tiny_mce/plugins/paste/jscripts/pasteword.js [new file with mode: 0644]
webcit/tiny_mce/plugins/paste/langs/cs.js [new file with mode: 0644]
webcit/tiny_mce/plugins/paste/langs/en.js [new file with mode: 0644]
webcit/tiny_mce/plugins/paste/langs/fr_ca.js [new file with mode: 0644]
webcit/tiny_mce/plugins/paste/langs/he.js [new file with mode: 0644]
webcit/tiny_mce/plugins/paste/langs/sv.js [new file with mode: 0644]
webcit/tiny_mce/plugins/paste/langs/zh_cn.js [new file with mode: 0644]
webcit/tiny_mce/plugins/paste/pastetext.htm [new file with mode: 0644]
webcit/tiny_mce/plugins/paste/pasteword.htm [new file with mode: 0644]
webcit/tiny_mce/plugins/paste/readme.txt [new file with mode: 0644]
webcit/tiny_mce/plugins/preview/editor_plugin.js [new file with mode: 0644]
webcit/tiny_mce/plugins/preview/editor_plugin_src.js [new file with mode: 0644]
webcit/tiny_mce/plugins/preview/example.html [new file with mode: 0644]
webcit/tiny_mce/plugins/preview/images/preview.gif [new file with mode: 0644]
webcit/tiny_mce/plugins/preview/langs/cs.js [new file with mode: 0644]
webcit/tiny_mce/plugins/preview/langs/de.js [new file with mode: 0644]
webcit/tiny_mce/plugins/preview/langs/el.js [new file with mode: 0644]
webcit/tiny_mce/plugins/preview/langs/en.js [new file with mode: 0644]
webcit/tiny_mce/plugins/preview/langs/fa.js [new file with mode: 0644]
webcit/tiny_mce/plugins/preview/langs/fr.js [new file with mode: 0644]
webcit/tiny_mce/plugins/preview/langs/fr_ca.js [new file with mode: 0644]
webcit/tiny_mce/plugins/preview/langs/he.js [new file with mode: 0644]
webcit/tiny_mce/plugins/preview/langs/it.js [new file with mode: 0644]
webcit/tiny_mce/plugins/preview/langs/ko.js [new file with mode: 0644]
webcit/tiny_mce/plugins/preview/langs/nl.js [new file with mode: 0644]
webcit/tiny_mce/plugins/preview/langs/pl.js [new file with mode: 0644]
webcit/tiny_mce/plugins/preview/langs/pt.js [new file with mode: 0644]
webcit/tiny_mce/plugins/preview/langs/pt_br.js [new file with mode: 0644]
webcit/tiny_mce/plugins/preview/langs/sv.js [new file with mode: 0644]
webcit/tiny_mce/plugins/preview/langs/zh_cn.js [new file with mode: 0644]
webcit/tiny_mce/plugins/preview/readme.txt [new file with mode: 0644]
webcit/tiny_mce/plugins/print/editor_plugin.js [new file with mode: 0644]
webcit/tiny_mce/plugins/print/editor_plugin_src.js [new file with mode: 0644]
webcit/tiny_mce/plugins/print/images/print.gif [new file with mode: 0644]
webcit/tiny_mce/plugins/print/langs/cs.js [new file with mode: 0644]
webcit/tiny_mce/plugins/print/langs/de.js [new file with mode: 0644]
webcit/tiny_mce/plugins/print/langs/en.js [new file with mode: 0644]
webcit/tiny_mce/plugins/print/langs/fa.js [new file with mode: 0644]
webcit/tiny_mce/plugins/print/langs/fr.js [new file with mode: 0644]
webcit/tiny_mce/plugins/print/langs/fr_ca.js [new file with mode: 0644]
webcit/tiny_mce/plugins/print/langs/he.js [new file with mode: 0644]
webcit/tiny_mce/plugins/print/langs/nl.js [new file with mode: 0644]
webcit/tiny_mce/plugins/print/langs/pl.js [new file with mode: 0644]
webcit/tiny_mce/plugins/print/langs/pt_br.js [new file with mode: 0644]
webcit/tiny_mce/plugins/print/langs/sv.js [new file with mode: 0644]
webcit/tiny_mce/plugins/print/langs/zh_cn.js [new file with mode: 0644]
webcit/tiny_mce/plugins/print/readme.txt [new file with mode: 0644]
webcit/tiny_mce/plugins/readme.txt [new file with mode: 0644]
webcit/tiny_mce/plugins/save/editor_plugin.js [new file with mode: 0644]
webcit/tiny_mce/plugins/save/editor_plugin_src.js [new file with mode: 0644]
webcit/tiny_mce/plugins/save/images/save.gif [new file with mode: 0644]
webcit/tiny_mce/plugins/save/langs/cs.js [new file with mode: 0644]
webcit/tiny_mce/plugins/save/langs/de.js [new file with mode: 0644]
webcit/tiny_mce/plugins/save/langs/en.js [new file with mode: 0644]
webcit/tiny_mce/plugins/save/langs/fa.js [new file with mode: 0644]
webcit/tiny_mce/plugins/save/langs/fr.js [new file with mode: 0644]
webcit/tiny_mce/plugins/save/langs/fr_ca.js [new file with mode: 0644]
webcit/tiny_mce/plugins/save/langs/he.js [new file with mode: 0644]
webcit/tiny_mce/plugins/save/langs/nl.js [new file with mode: 0644]
webcit/tiny_mce/plugins/save/langs/pl.js [new file with mode: 0644]
webcit/tiny_mce/plugins/save/langs/pt_br.js [new file with mode: 0644]
webcit/tiny_mce/plugins/save/langs/sv.js [new file with mode: 0644]
webcit/tiny_mce/plugins/save/langs/zh_cn.js [new file with mode: 0644]
webcit/tiny_mce/plugins/save/readme.txt [new file with mode: 0644]
webcit/tiny_mce/plugins/searchreplace/editor_plugin.js [new file with mode: 0644]
webcit/tiny_mce/plugins/searchreplace/editor_plugin_src.js [new file with mode: 0644]
webcit/tiny_mce/plugins/searchreplace/images/replace.gif [new file with mode: 0644]
webcit/tiny_mce/plugins/searchreplace/images/search.gif [new file with mode: 0644]
webcit/tiny_mce/plugins/searchreplace/jscripts/replace.js [new file with mode: 0644]
webcit/tiny_mce/plugins/searchreplace/jscripts/search.js [new file with mode: 0644]
webcit/tiny_mce/plugins/searchreplace/langs/cs.js [new file with mode: 0644]
webcit/tiny_mce/plugins/searchreplace/langs/de.js [new file with mode: 0644]
webcit/tiny_mce/plugins/searchreplace/langs/en.js [new file with mode: 0644]
webcit/tiny_mce/plugins/searchreplace/langs/fa.js [new file with mode: 0644]
webcit/tiny_mce/plugins/searchreplace/langs/fr.js [new file with mode: 0644]
webcit/tiny_mce/plugins/searchreplace/langs/fr_ca.js [new file with mode: 0644]
webcit/tiny_mce/plugins/searchreplace/langs/he.js [new file with mode: 0644]
webcit/tiny_mce/plugins/searchreplace/langs/nl.js [new file with mode: 0644]
webcit/tiny_mce/plugins/searchreplace/langs/pl.js [new file with mode: 0644]
webcit/tiny_mce/plugins/searchreplace/langs/pt_br.js [new file with mode: 0644]
webcit/tiny_mce/plugins/searchreplace/langs/sv.js [new file with mode: 0644]
webcit/tiny_mce/plugins/searchreplace/langs/zh_cn.js [new file with mode: 0644]
webcit/tiny_mce/plugins/searchreplace/readme.txt [new file with mode: 0644]
webcit/tiny_mce/plugins/searchreplace/replace.htm [new file with mode: 0644]
webcit/tiny_mce/plugins/searchreplace/search.htm [new file with mode: 0644]
webcit/tiny_mce/plugins/table/cell.htm [new file with mode: 0644]
webcit/tiny_mce/plugins/table/css/cell.css [new file with mode: 0644]
webcit/tiny_mce/plugins/table/css/row.css [new file with mode: 0644]
webcit/tiny_mce/plugins/table/css/table.css [new file with mode: 0644]
webcit/tiny_mce/plugins/table/editor_plugin.js [new file with mode: 0644]
webcit/tiny_mce/plugins/table/editor_plugin_src.js [new file with mode: 0644]
webcit/tiny_mce/plugins/table/images/buttons.gif [new file with mode: 0644]
webcit/tiny_mce/plugins/table/images/table.gif [new file with mode: 0644]
webcit/tiny_mce/plugins/table/images/table_cell_props.gif [new file with mode: 0644]
webcit/tiny_mce/plugins/table/images/table_delete.gif [new file with mode: 0644]
webcit/tiny_mce/plugins/table/images/table_delete_col.gif [new file with mode: 0644]
webcit/tiny_mce/plugins/table/images/table_delete_row.gif [new file with mode: 0644]
webcit/tiny_mce/plugins/table/images/table_insert_col_after.gif [new file with mode: 0644]
webcit/tiny_mce/plugins/table/images/table_insert_col_before.gif [new file with mode: 0644]
webcit/tiny_mce/plugins/table/images/table_insert_row_after.gif [new file with mode: 0644]
webcit/tiny_mce/plugins/table/images/table_insert_row_before.gif [new file with mode: 0644]
webcit/tiny_mce/plugins/table/images/table_merge_cells.gif [new file with mode: 0644]
webcit/tiny_mce/plugins/table/images/table_row_props.gif [new file with mode: 0644]
webcit/tiny_mce/plugins/table/images/table_split_cells.gif [new file with mode: 0644]
webcit/tiny_mce/plugins/table/jscripts/cell.js [new file with mode: 0644]
webcit/tiny_mce/plugins/table/jscripts/merge_cells.js [new file with mode: 0644]
webcit/tiny_mce/plugins/table/jscripts/row.js [new file with mode: 0644]
webcit/tiny_mce/plugins/table/jscripts/table.js [new file with mode: 0644]
webcit/tiny_mce/plugins/table/langs/ar.js [new file with mode: 0644]
webcit/tiny_mce/plugins/table/langs/cs.js [new file with mode: 0644]
webcit/tiny_mce/plugins/table/langs/da.js [new file with mode: 0644]
webcit/tiny_mce/plugins/table/langs/de.js [new file with mode: 0644]
webcit/tiny_mce/plugins/table/langs/el.js [new file with mode: 0644]
webcit/tiny_mce/plugins/table/langs/en.js [new file with mode: 0644]
webcit/tiny_mce/plugins/table/langs/es.js [new file with mode: 0644]
webcit/tiny_mce/plugins/table/langs/fa.js [new file with mode: 0644]
webcit/tiny_mce/plugins/table/langs/fi.js [new file with mode: 0644]
webcit/tiny_mce/plugins/table/langs/fr.js [new file with mode: 0644]
webcit/tiny_mce/plugins/table/langs/fr_ca.js [new file with mode: 0644]
webcit/tiny_mce/plugins/table/langs/he.js [new file with mode: 0644]
webcit/tiny_mce/plugins/table/langs/hu.js [new file with mode: 0644]
webcit/tiny_mce/plugins/table/langs/it.js [new file with mode: 0644]
webcit/tiny_mce/plugins/table/langs/ja.js [new file with mode: 0644]
webcit/tiny_mce/plugins/table/langs/ko.js [new file with mode: 0644]
webcit/tiny_mce/plugins/table/langs/nl.js [new file with mode: 0644]
webcit/tiny_mce/plugins/table/langs/no.js [new file with mode: 0644]
webcit/tiny_mce/plugins/table/langs/pl.js [new file with mode: 0644]
webcit/tiny_mce/plugins/table/langs/pt.js [new file with mode: 0644]
webcit/tiny_mce/plugins/table/langs/readme.txt [new file with mode: 0644]
webcit/tiny_mce/plugins/table/langs/sv.js [new file with mode: 0644]
webcit/tiny_mce/plugins/table/langs/tw.js [new file with mode: 0644]
webcit/tiny_mce/plugins/table/langs/zh_cn.js [new file with mode: 0644]
webcit/tiny_mce/plugins/table/merge_cells.htm [new file with mode: 0644]
webcit/tiny_mce/plugins/table/readme.txt [new file with mode: 0644]
webcit/tiny_mce/plugins/table/row.htm [new file with mode: 0644]
webcit/tiny_mce/plugins/table/table.htm [new file with mode: 0644]
webcit/tiny_mce/plugins/zoom/editor_plugin.js [new file with mode: 0644]
webcit/tiny_mce/plugins/zoom/editor_plugin_src.js [new file with mode: 0644]
webcit/tiny_mce/plugins/zoom/langs/he.js [new file with mode: 0644]
webcit/tiny_mce/plugins/zoom/readme.txt [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/about.htm [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/anchor.htm [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/charmap.htm [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/color_picker.htm [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/css/editor_content.css [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/css/editor_popup.css [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/css/editor_ui.css [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/docs/cs/about.htm [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/docs/cs/common_buttons.htm [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/docs/cs/images/insert_image_window.png [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/docs/cs/images/insert_link_window.png [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/docs/cs/images/insert_table_window.png [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/docs/cs/index.htm [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/docs/cs/insert_image_button.htm [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/docs/cs/insert_link_button.htm [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/docs/cs/insert_table_button.htm [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/docs/cs/style.css [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/docs/de/about.htm [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/docs/de/common_buttons.htm [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/docs/de/images/insert_image_window.gif [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/docs/de/images/insert_link_window.gif [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/docs/de/index.htm [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/docs/de/insert_image_button.htm [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/docs/de/insert_link_button.htm [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/docs/de/style.css [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/docs/en/about.htm [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/docs/en/common_buttons.htm [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/docs/en/images/insert_anchor_window.gif [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/docs/en/images/insert_image_window.gif [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/docs/en/images/insert_link_window.gif [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/docs/en/images/insert_table_window.gif [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/docs/en/index.htm [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/docs/en/insert_anchor_button.htm [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/docs/en/insert_image_button.htm [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/docs/en/insert_link_button.htm [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/docs/en/insert_table_button.htm [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/docs/en/style.css [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/docs/es/about.htm [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/docs/es/common_buttons.htm [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/docs/es/images/insert_image_window.gif [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/docs/es/images/insert_link_window.gif [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/docs/es/images/insert_table_window.gif [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/docs/es/index.htm [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/docs/es/insert_image_button.htm [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/docs/es/insert_link_button.htm [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/docs/es/insert_table_button.htm [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/docs/es/style.css [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/docs/fi/about.htm [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/docs/fi/common_buttons.htm [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/docs/fi/images/insert_image_window.gif [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/docs/fi/images/insert_link_window.gif [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/docs/fi/images/insert_table_window.gif [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/docs/fi/index.htm [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/docs/fi/insert_image_button.htm [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/docs/fi/insert_link_button.htm [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/docs/fi/insert_table_button.htm [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/docs/fi/style.css [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/docs/fr/about.htm [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/docs/fr/common_buttons.htm [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/docs/fr/images/insert_image_window.gif [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/docs/fr/images/insert_link_window.gif [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/docs/fr/images/insert_table_window.gif [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/docs/fr/index.htm [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/docs/fr/insert_image_button.htm [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/docs/fr/insert_link_button.htm [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/docs/fr/insert_table_button.htm [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/docs/fr/style.css [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/docs/fr_ca/about.htm [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/docs/fr_ca/common_buttons.htm [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/docs/fr_ca/images/insert_anchor_window.gif [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/docs/fr_ca/images/insert_image_window.gif [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/docs/fr_ca/images/insert_link_window.gif [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/docs/fr_ca/images/insert_table_window.gif [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/docs/fr_ca/index.htm [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/docs/fr_ca/insert_anchor_button.htm [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/docs/fr_ca/insert_image_button.htm [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/docs/fr_ca/insert_link_button.htm [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/docs/fr_ca/insert_table_button.htm [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/docs/fr_ca/style.css [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/docs/hu/about.htm [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/docs/hu/common_buttons.htm [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/docs/hu/images/insert_image_window.gif [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/docs/hu/images/insert_link_window.gif [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/docs/hu/index.htm [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/docs/hu/insert_image_button.htm [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/docs/hu/insert_link_button.htm [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/docs/hu/style.css [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/docs/images/table.gif [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/docs/images/table_delete_col.gif [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/docs/images/table_delete_row.gif [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/docs/images/table_insert_col_after.gif [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/docs/images/table_insert_col_before.gif [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/docs/images/table_insert_row_after.gif [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/docs/images/table_insert_row_before.gif [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/docs/it/about.htm [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/docs/it/common_buttons.htm [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/docs/it/images/insert_anchor_window.gif [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/docs/it/images/insert_image_window.gif [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/docs/it/images/insert_link_window.gif [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/docs/it/images/insert_table_window.gif [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/docs/it/index.htm [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/docs/it/insert_anchor_button.htm [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/docs/it/insert_image_button.htm [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/docs/it/insert_link_button.htm [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/docs/it/insert_table_button.htm [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/docs/it/style.css [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/docs/nl/about.htm [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/docs/nl/common_buttons.htm [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/docs/nl/images/html_source_window.gif [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/docs/nl/images/insert_anchor_window.gif [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/docs/nl/images/insert_image_window.gif [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/docs/nl/images/insert_link_window.gif [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/docs/nl/images/insert_specchar_window.gif [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/docs/nl/images/insert_table_window.gif [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/docs/nl/index.htm [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/docs/nl/insert_anchor_button.htm [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/docs/nl/insert_image_button.htm [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/docs/nl/insert_link_button.htm [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/docs/nl/insert_specchar_button.htm [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/docs/nl/insert_table_button.htm [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/docs/nl/style.css [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/docs/pl/about.htm [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/docs/pl/common_buttons.htm [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/docs/pl/images/insert_anchor_window.gif [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/docs/pl/images/insert_image_window.gif [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/docs/pl/images/insert_link_window.gif [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/docs/pl/images/insert_table_window.gif [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/docs/pl/index.htm [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/docs/pl/insert_anchor_button.htm [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/docs/pl/insert_image_button.htm [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/docs/pl/insert_link_button.htm [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/docs/pl/insert_table_button.htm [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/docs/pl/style.css [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/docs/sv/about.htm [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/docs/sv/common_buttons.htm [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/docs/sv/images/insert_anchor_window.gif [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/docs/sv/images/insert_image_window.gif [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/docs/sv/images/insert_link_window.gif [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/docs/sv/images/insert_table_window.gif [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/docs/sv/index.htm [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/docs/sv/insert_anchor_button.htm [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/docs/sv/insert_image_button.htm [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/docs/sv/insert_link_button.htm [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/docs/sv/insert_table_button.htm [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/docs/sv/style.css [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/docs/zh_cn/about.htm [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/docs/zh_cn/common_buttons.htm [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/docs/zh_cn/images/insert_anchor_window.gif [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/docs/zh_cn/images/insert_image_window.gif [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/docs/zh_cn/images/insert_link_window.gif [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/docs/zh_cn/images/insert_table_window.gif [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/docs/zh_cn/index.htm [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/docs/zh_cn/insert_anchor_button.htm [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/docs/zh_cn/insert_image_button.htm [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/docs/zh_cn/insert_link_button.htm [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/docs/zh_cn/insert_table_button.htm [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/docs/zh_cn/style.css [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/editor_template.js [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/editor_template_src.js [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/image.htm [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/images/anchor.gif [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/images/anchor_symbol.gif [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/images/backcolor.gif [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/images/bold.gif [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/images/bold_de_se.gif [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/images/bold_fr.gif [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/images/bold_ru.gif [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/images/browse.gif [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/images/bullist.gif [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/images/buttons.gif [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/images/cancel_button_bg.gif [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/images/center.gif [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/images/charmap.gif [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/images/cleanup.gif [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/images/close.gif [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/images/code.gif [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/images/color.gif [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/images/copy.gif [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/images/custom_1.gif [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/images/cut.gif [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/images/forecolor.gif [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/images/full.gif [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/images/help.gif [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/images/hr.gif [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/images/image.gif [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/images/indent.gif [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/images/insert_button_bg.gif [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/images/italic.gif [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/images/italic_de_se.gif [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/images/italic_ru.gif [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/images/left.gif [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/images/link.gif [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/images/newdocument.gif [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/images/numlist.gif [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/images/outdent.gif [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/images/paste.gif [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/images/redo.gif [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/images/removeformat.gif [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/images/right.gif [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/images/spacer.gif [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/images/statusbar_resize.gif [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/images/strikethrough.gif [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/images/sub.gif [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/images/sup.gif [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/images/table.gif [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/images/table_delete_col.gif [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/images/table_delete_row.gif [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/images/table_insert_col_after.gif [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/images/table_insert_col_before.gif [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/images/table_insert_row_after.gif [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/images/table_insert_row_before.gif [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/images/underline.gif [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/images/underline_fr.gif [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/images/underline_ru.gif [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/images/undo.gif [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/images/unlink.gif [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/images/visualaid.gif [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/images/xp/tab_bg.gif [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/images/xp/tab_end.gif [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/images/xp/tab_sel_bg.gif [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/images/xp/tab_sel_end.gif [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/images/xp/tabs_bg.gif [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/jscripts/about.js [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/jscripts/anchor.js [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/jscripts/charmap.js [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/jscripts/color_picker.js [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/jscripts/image.js [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/jscripts/link.js [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/jscripts/source_editor.js [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/langs/ar.js [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/langs/ca.js [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/langs/cs.js [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/langs/da.js [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/langs/de.js [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/langs/el.js [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/langs/en.js [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/langs/es.js [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/langs/fa.js [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/langs/fi.js [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/langs/fr.js [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/langs/fr_ca.js [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/langs/he.js [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/langs/hu.js [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/langs/it.js [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/langs/ja.js [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/langs/ko.js [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/langs/nl.js [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/langs/no.js [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/langs/pl.js [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/langs/pt.js [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/langs/pt_br.js [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/langs/readme.txt [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/langs/sv.js [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/langs/tw.js [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/langs/zh_cn.js [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/link.htm [new file with mode: 0644]
webcit/tiny_mce/themes/advanced/source_editor.htm [new file with mode: 0644]
webcit/tiny_mce/themes/simple/css/editor_content.css [new file with mode: 0644]
webcit/tiny_mce/themes/simple/css/editor_popup.css [new file with mode: 0644]
webcit/tiny_mce/themes/simple/css/editor_ui.css [new file with mode: 0644]
webcit/tiny_mce/themes/simple/editor_template.js [new file with mode: 0644]
webcit/tiny_mce/themes/simple/editor_template_src.js [new file with mode: 0644]
webcit/tiny_mce/themes/simple/images/bold.gif [new file with mode: 0644]
webcit/tiny_mce/themes/simple/images/bold_de_se.gif [new file with mode: 0644]
webcit/tiny_mce/themes/simple/images/bold_fr.gif [new file with mode: 0644]
webcit/tiny_mce/themes/simple/images/bold_ru.gif [new file with mode: 0644]
webcit/tiny_mce/themes/simple/images/bullist.gif [new file with mode: 0644]
webcit/tiny_mce/themes/simple/images/cleanup.gif [new file with mode: 0644]
webcit/tiny_mce/themes/simple/images/italic.gif [new file with mode: 0644]
webcit/tiny_mce/themes/simple/images/italic_de_se.gif [new file with mode: 0644]
webcit/tiny_mce/themes/simple/images/italic_ru.gif [new file with mode: 0644]
webcit/tiny_mce/themes/simple/images/numlist.gif [new file with mode: 0644]
webcit/tiny_mce/themes/simple/images/redo.gif [new file with mode: 0644]
webcit/tiny_mce/themes/simple/images/spacer.gif [new file with mode: 0644]
webcit/tiny_mce/themes/simple/images/strikethrough.gif [new file with mode: 0644]
webcit/tiny_mce/themes/simple/images/underline.gif [new file with mode: 0644]
webcit/tiny_mce/themes/simple/images/underline_fr.gif [new file with mode: 0644]
webcit/tiny_mce/themes/simple/images/underline_ru.gif [new file with mode: 0644]
webcit/tiny_mce/themes/simple/images/undo.gif [new file with mode: 0644]
webcit/tiny_mce/tiny_mce.js [new file with mode: 0644]
webcit/tiny_mce/tiny_mce_popup.js [new file with mode: 0644]
webcit/tiny_mce/tiny_mce_src.js [new file with mode: 0644]
webcit/tiny_mce/utils/form_utils.js [new file with mode: 0644]
webcit/tiny_mce/utils/mctabs.js [new file with mode: 0644]
webcit/tiny_mce/utils/validate.js [new file with mode: 0644]
webcit/webcit.c

index a32e9f45365637a1687fb11d24efa704363dde67..01a24b6f2caf2df0702a69e80a3612bf81d16931 100644 (file)
@@ -1,4 +1,7 @@
 $Log$
+Revision 625.22  2005/09/26 02:45:06  ajc
+* Removed the Kevin Roth rich text editor and replaced it with TinyMCE.
+
 Revision 625.21  2005/09/25 20:58:56  ajc
 * Generalized the way we handle static content directories so that we may
   have more than one of them (i.e. not just "static/")
@@ -3056,4 +3059,3 @@ Sun Dec  6 19:50:55 EST 1998 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
 
 1998-12-03 Nathan Bryant <bryant@cs.usm.maine.edu>
        * webserver.c: warning fix
-
index c0362ca0233e75c1daef84a2dd318b8562287f92..8c5be237b8e804ac2e1197e6b67c1bedef3642fc 100644 (file)
@@ -7,7 +7,6 @@
        Wilifried Goesgens
        Nick Grossman
        Andru Luvisi
-        Kevin Roth
        Dave Lindquist
        Martin Mouritzen
 
    Thomas Fuchs [http://script.aculo.us, http://mir.aculo.us].  These
    components are licensed to you under the terms of an MIT-style license.
 
+   WebCit bundles the TinyMCE text editor, written by Moxiecode Systems AB
+   (http://tinymce.moxiecode.com/tinymce/docs/credits.html).  This component
+   is licensed to you under the terms of the GNU Lesser General Public
+   License.
+
    The Citadel logo was designed by Lisa Aurigemma.
 
  
index 552e62e4d5b8315602e6afe8064527e62fcf5838..aa4b32561b0cb94b41868c5c66df9cb852224db0 100644 (file)
@@ -2417,7 +2417,6 @@ void display_enter(void)
        wprintf("<form enctype=\"multipart/form-data\" "
                "method=\"POST\" action=\"/post\" "
                "name=\"enterform\""
-               "onSubmit=\"return submitForm();\""
                ">\n");
        wprintf("<input type=\"hidden\" name=\"postseq\" value=\"%ld\">\n", now);
 
@@ -2486,19 +2485,10 @@ void display_enter(void)
                "<input type=\"submit\" name=\"cancel_button\" value=\"%s\">\n", _("Cancel"));
        wprintf("</td></tr></table>\n");
 
-       wprintf("<center><script type=\"text/javascript\" "
-               "src=\"static/richtext.js\"></script>\n"
-               "<script type=\"text/javascript\">\n"
-               "function submitForm() { \n"
-               "  updateRTE('msgtext'); \n"
-               "  return true; \n"
-               "} \n"
-               "  \n"
-               "initRTE(\"static/\", \"static/\", \"\"); \n"
-               "</script> \n"
-               "<noscript>JavaScript must be enabled.</noscript> \n"
-               "<script type=\"text/javascript\"> \n"
-               "writeRichText('msgtext', '");
+       wprintf("<center>");
+
+       wprintf("<textarea name=\"msgtext\" cols=\"80\" rows=\"15\">");
+
        msgescputs(bstr("msgtext"));
        if (atol(bstr("pullquote")) > 0L) {
                wprintf("<br><div align=center><i>");
@@ -2506,8 +2496,21 @@ void display_enter(void)
                wprintf("</i></div><br>");
                pullquote_message(atol(bstr("pullquote")), 1);
        }
-       wprintf("', '96%%', '200', true, false); \n"
-               "</script></center><br />\n");
+       wprintf("</textarea>");
+       wprintf("</center><br />\n");
+
+       /*
+        * The following script embeds the TinyMCE richedit control, and automatically
+        * transforms the textarea into a richedit textarea.
+        */
+       wprintf(
+               "<script language=\"javascript\" type=\"text/javascript\" src=\"tiny_mce/tiny_mce.js\"></script>\n"
+               "<script language=\"javascript\" type=\"text/javascript\">"
+               "tinyMCE.init({"
+               "       mode : \"textareas\", width : \"100%%\" "
+               "});"
+               "</script>\n"
+       );
 
        /* Enumerate any attachments which are already in place... */
        wprintf("<img src=\"/static/diskette_24x.gif\" border=0 "
index 4f80ba5366dcd96cad49e1c7dfb4864fbf881efb..4766dbfae55b06eb74588f5fab2213d28eff31c8 100644 (file)
@@ -4,8 +4,6 @@
 <head>
 <?REFRESHTAG>
 <title><?SERV_HUMANNODE></title>
-<meta http-equiv="Pragma" content="no-cache" />
-<meta http-equiv="expires" content="28-May-1971 18:10:00 GMT" />
 <meta name="MSSmartTagsPreventParsing" content="TRUE" />
 <link href="/static/webcit.css" rel="stylesheet" type="text/css">
 <script type="text/javascript" src="static/wclib.js"></script>
diff --git a/webcit/static/richtext.js b/webcit/static/richtext.js
deleted file mode 100644 (file)
index dedd531..0000000
+++ /dev/null
@@ -1,621 +0,0 @@
-// Cross-Browser Rich Text Editor
-// http://www.kevinroth.com/rte/demo.htm
-// Written by Kevin Roth (kevin@NOSPAMkevinroth.com - remove NOSPAM)
-// Visit the support forums at http://www.kevinroth.com/forums/index.php?c=2
-
-//init variables
-var isRichText = false;
-var rng;
-var currentRTE;
-var allRTEs = "";
-
-var isIE;
-var isGecko;
-var isSafari;
-var isKonqueror;
-
-var imagesPath;
-var includesPath;
-var cssFile;
-
-
-function initRTE(imgPath, incPath, css) {
-       //set browser vars
-       var ua = navigator.userAgent.toLowerCase();
-       isIE = ((ua.indexOf("msie") != -1) && (ua.indexOf("opera") == -1) && (ua.indexOf("webtv") == -1)); 
-       isGecko = (ua.indexOf("gecko") != -1);
-       isSafari = (ua.indexOf("safari") != -1);
-       isKonqueror = (ua.indexOf("konqueror") != -1);
-       
-       //check to see if designMode mode is available
-       if (document.getElementById && document.designMode && !isSafari && !isKonqueror) {
-               isRichText = true;
-       }
-       
-       if (!isIE) document.captureEvents(Event.MOUSEOVER | Event.MOUSEOUT | Event.MOUSEDOWN | Event.MOUSEUP);
-       document.onmouseover = raiseButton;
-       document.onmouseout  = normalButton;
-       document.onmousedown = lowerButton;
-       document.onmouseup   = raiseButton;
-       
-       //set paths vars
-       imagesPath = imgPath;
-       includesPath = incPath;
-       cssFile = css;
-       
-       if (isRichText) document.writeln('<style type="text/css">@import "' + includesPath + 'rte.css";</style>');
-       
-       //for testing standard textarea, uncomment the following line
-       //isRichText = false;
-}
-
-function writeRichText(rte, html, width, height, buttons, readOnly) {
-       if (isRichText) {
-               if (allRTEs.length > 0) allRTEs += ";";
-               allRTEs += rte;
-               writeRTE(rte, html, width, height, buttons, readOnly);
-       } else {
-               writeDefault(rte, html, width, height, buttons, readOnly);
-       }
-}
-
-function writeDefault(rte, html, width, height, buttons, readOnly) {
-       if (!readOnly) {
-               document.writeln('<textarea name="' + rte + '" id="' + rte + '" style="width: ' + width + 'px; height: ' + height + 'px;">' + html + '</textarea>');
-       } else {
-               document.writeln('<textarea name="' + rte + '" id="' + rte + '" style="width: ' + width + 'px; height: ' + height + 'px;" readonly>' + html + '</textarea>');
-       }
-}
-
-function raiseButton(e) {
-       if (isIE) {
-               var el = window.event.srcElement;
-       } else {
-               var el= e.target;
-       }
-       
-       className = el.className;
-       if (className == 'rteImage' || className == 'rteImageLowered') {
-               el.className = 'rteImageRaised';
-       }
-}
-
-function normalButton(e) {
-       if (isIE) {
-               var el = window.event.srcElement;
-       } else {
-               var el= e.target;
-       }
-       
-       className = el.className;
-       if (className == 'rteImageRaised' || className == 'rteImageLowered') {
-               el.className = 'rteImage';
-       }
-}
-
-function lowerButton(e) {
-       if (isIE) {
-               var el = window.event.srcElement;
-       } else {
-               var el= e.target;
-       }
-       
-       className = el.className;
-       if (className == 'rteImage' || className == 'rteImageRaised') {
-               el.className = 'rteImageLowered';
-       }
-}
-
-function writeRTE(rte, html, width, height, buttons, readOnly) {
-       if (readOnly) buttons = false;
-       
-       //adjust minimum table widths
-       if (isIE) {
-               if (buttons && (width < 600)) width = 600;
-               var tablewidth = width;
-       } else {
-               if (buttons && (width < 500)) width = 500;
-               var tablewidth = width + 4;
-       }
-       
-       if (buttons == true) {
-               document.writeln('<table class="rteBack" cellpadding=2 cellspacing=0 id="Buttons1_' + rte + '" width="' + tablewidth + '">');
-               document.writeln('      <tr>');
-               document.writeln('              <td>');
-               document.writeln('                      <select id="formatblock_' + rte + '" onchange="Select(\'' + rte + '\', this.id);">');
-               document.writeln('                              <option value="">[Style]</option>');
-               document.writeln('                              <option value="<p>">Paragraph</option>');
-               document.writeln('                              <option value="<h1>">Heading 1 <h1></option>');
-               document.writeln('                              <option value="<h2>">Heading 2 <h2></option>');
-               document.writeln('                              <option value="<h3>">Heading 3 <h3></option>');
-               document.writeln('                              <option value="<h4>">Heading 4 <h4></option>');
-               document.writeln('                              <option value="<h5>">Heading 5 <h5></option>');
-               document.writeln('                              <option value="<h6>">Heading 6 <h6></option>');
-               document.writeln('                              <option value="<address>">Address <ADDR></option>');
-               document.writeln('                              <option value="<pre>">Formatted <pre></option>');
-               document.writeln('                      </select>');
-               document.writeln('              </td>');
-               document.writeln('              <td>');
-               document.writeln('                      <select id="fontname_' + rte + '" onchange="Select(\'' + rte + '\', this.id)">');
-               document.writeln('                              <option value="Font" selected>[Font]</option>');
-               document.writeln('                              <option value="Arial, Helvetica, sans-serif">Arial</option>');
-               document.writeln('                              <option value="Courier New, Courier, mono">Courier New</option>');
-               document.writeln('                              <option value="Times New Roman, Times, serif">Times New Roman</option>');
-               document.writeln('                              <option value="Verdana, Arial, Helvetica, sans-serif">Verdana</option>');
-               document.writeln('                      </select>');
-               document.writeln('              </td>');
-               document.writeln('              <td>');
-               document.writeln('                      <select unselectable="on" id="fontsize_' + rte + '" onchange="Select(\'' + rte + '\', this.id);">');
-               document.writeln('                              <option value="Size">[Size]</option>');
-               document.writeln('                              <option value="1">1</option>');
-               document.writeln('                              <option value="2">2</option>');
-               document.writeln('                              <option value="3">3</option>');
-               document.writeln('                              <option value="4">4</option>');
-               document.writeln('                              <option value="5">5</option>');
-               document.writeln('                              <option value="6">6</option>');
-               document.writeln('                              <option value="7">7</option>');
-               document.writeln('                      </select>');
-               document.writeln('              </td>');
-               document.writeln('              <td width="100%">');
-               document.writeln('              </td>');
-               document.writeln('      </tr>');
-               document.writeln('</table>');
-               document.writeln('<table class="rteBack" cellpadding="0" cellspacing="0" id="Buttons2_' + rte + '" width="' + tablewidth + '">');
-               document.writeln('      <tr>');
-               document.writeln('              <td><img class="rteImage" src="' + imagesPath + 'bold.gif" width="25" height="24" alt="Bold" title="Bold" onClick="FormatText(\'' + rte + '\', \'bold\', \'\')"></td>');
-               document.writeln('              <td><img class="rteImage" src="' + imagesPath + 'italic.gif" width="25" height="24" alt="Italic" title="Italic" onClick="FormatText(\'' + rte + '\', \'italic\', \'\')"></td>');
-               document.writeln('              <td><img class="rteImage" src="' + imagesPath + 'underline.gif" width="25" height="24" alt="Underline" title="Underline" onClick="FormatText(\'' + rte + '\', \'underline\', \'\')"></td>');
-               document.writeln('              <td><img class="rteVertSep" src="' + imagesPath + 'blackdot.gif" width="1" height="20" border="0" alt=""></td>');
-               document.writeln('              <td><img class="rteImage" src="' + imagesPath + 'left_just.gif" width="25" height="24" alt="Align Left" title="Align Left" onClick="FormatText(\'' + rte + '\', \'justifyleft\', \'\')"></td>');
-               document.writeln('              <td><img class="rteImage" src="' + imagesPath + 'centre.gif" width="25" height="24" alt="Center" title="Center" onClick="FormatText(\'' + rte + '\', \'justifycenter\', \'\')"></td>');
-               document.writeln('              <td><img class="rteImage" src="' + imagesPath + 'right_just.gif" width="25" height="24" alt="Align Right" title="Align Right" onClick="FormatText(\'' + rte + '\', \'justifyright\', \'\')"></td>');
-               document.writeln('              <td><img class="rteImage" src="' + imagesPath + 'justifyfull.gif" width="25" height="24" alt="Justify Full" title="Justify Full" onclick="FormatText(\'' + rte + '\', \'justifyfull\', \'\')"></td>');
-               document.writeln('              <td><img class="rteVertSep" src="' + imagesPath + 'blackdot.gif" width="1" height="20" border="0" alt=""></td>');
-               document.writeln('              <td><img class="rteImage" src="' + imagesPath + 'hr.gif" width="25" height="24" alt="Horizontal Rule" title="Horizontal Rule" onClick="FormatText(\'' + rte + '\', \'inserthorizontalrule\', \'\')"></td>');
-               document.writeln('              <td><img class="rteVertSep" src="' + imagesPath + 'blackdot.gif" width="1" height="20" border="0" alt=""></td>');
-               document.writeln('              <td><img class="rteImage" src="' + imagesPath + 'numbered_list.gif" width="25" height="24" alt="Ordered List" title="Ordered List" onClick="FormatText(\'' + rte + '\', \'insertorderedlist\', \'\')"></td>');
-               document.writeln('              <td><img class="rteImage" src="' + imagesPath + 'list.gif" width="25" height="24" alt="Unordered List" title="Unordered List" onClick="FormatText(\'' + rte + '\', \'insertunorderedlist\', \'\')"></td>');
-               document.writeln('              <td><img class="rteVertSep" src="' + imagesPath + 'blackdot.gif" width="1" height="20" border="0" alt=""></td>');
-               document.writeln('              <td><img class="rteImage" src="' + imagesPath + 'outdent.gif" width="25" height="24" alt="Outdent" title="Outdent" onClick="FormatText(\'' + rte + '\', \'outdent\', \'\')"></td>');
-               document.writeln('              <td><img class="rteImage" src="' + imagesPath + 'indent.gif" width="25" height="24" alt="Indent" title="Indent" onClick="FormatText(\'' + rte + '\', \'indent\', \'\')"></td>');
-               document.writeln('              <td><div id="forecolor_' + rte + '"><img class="rteImage" src="' + imagesPath + 'textcolor.gif" width="25" height="24" alt="Text Color" title="Text Color" onClick="FormatText(\'' + rte + '\', \'forecolor\', \'\')"></div></td>');
-               document.writeln('              <td><div id="hilitecolor_' + rte + '"><img class="rteImage" src="' + imagesPath + 'bgcolor.gif" width="25" height="24" alt="Background Color" title="Background Color" onClick="FormatText(\'' + rte + '\', \'hilitecolor\', \'\')"></div></td>');
-               document.writeln('              <td><img class="rteVertSep" src="' + imagesPath + 'blackdot.gif" width="1" height="20" border="0" alt=""></td>');
-               document.writeln('              <td><img class="rteImage" src="' + imagesPath + 'hyperlink.gif" width="25" height="24" alt="Insert Link" title="Insert Link" onClick="FormatText(\'' + rte + '\', \'createlink\')"></td>');
-               document.writeln('              <td><img class="rteImage" src="' + imagesPath + 'image.gif" width="25" height="24" alt="Add Image" title="Add Image" onClick="AddImage(\'' + rte + '\')"></td>');
-               if (isIE) {
-                       document.writeln('              <td><img class="rteImage" src="' + imagesPath + 'spellcheck.gif" width="25" height="24" alt="Spell Check" title="Spell Check" onClick="checkspell()"></td>');
-               }
-//             document.writeln('              <td><img class="rteVertSep" src="' + imagesPath + 'blackdot.gif" width="1" height="20" border="0" alt=""></td>');
-//             document.writeln('              <td><img class="rteImage" src="' + imagesPath + 'cut.gif" width="25" height="24" alt="Cut" title="Cut" onClick="FormatText(\'' + rte + '\', \'cut\')"></td>');
-//             document.writeln('              <td><img class="rteImage" src="' + imagesPath + 'copy.gif" width="25" height="24" alt="Copy" title="Copy" onClick="FormatText(\'' + rte + '\', \'copy\')"></td>');
-//             document.writeln('              <td><img class="rteImage" src="' + imagesPath + 'paste.gif" width="25" height="24" alt="Paste" title="Paste" onClick="FormatText(\'' + rte + '\', \'paste\')"></td>');
-//             document.writeln('              <td><img class="rteVertSep" src="' + imagesPath + 'blackdot.gif" width="1" height="20" border="0" alt=""></td>');
-//             document.writeln('              <td><img class="rteImage" src="' + imagesPath + 'undo.gif" width="25" height="24" alt="Undo" title="Undo" onClick="FormatText(\'' + rte + '\', \'undo\')"></td>');
-//             document.writeln('              <td><img class="rteImage" src="' + imagesPath + 'redo.gif" width="25" height="24" alt="Redo" title="Redo" onClick="FormatText(\'' + rte + '\', \'redo\')"></td>');
-               document.writeln('              <td width="100%"></td>');
-               document.writeln('      </tr>');
-               document.writeln('</table>');
-       }
-       document.writeln('<iframe id="' + rte + '" name="' + rte + '" width="' + width + 'px" height="' + height + 'px" src="' + includesPath + 'blank.htm"></iframe>');
-       if (!readOnly) document.writeln('<br /><input type="checkbox" id="chkSrc' + rte + '" onclick="toggleHTMLSrc(\'' + rte + '\');" />&nbsp;View Source');
-       document.writeln('<iframe width="154" height="104" id="cp' + rte + '" src="' + includesPath + 'palette.htm" marginwidth="0" marginheight="0" scrolling="no" style="visibility:hidden; display: none; position: absolute;"></iframe>');
-       document.writeln('<input type="hidden" id="hdn' + rte + '" name="' + rte + '" value="">');
-       document.getElementById('hdn' + rte).value = html;
-       enableDesignMode(rte, html, readOnly);
-}
-
-function enableDesignMode(rte, html, readOnly) {
-       var frameHtml = "<html id=\"" + rte + "\">\n";
-       frameHtml += "<head>\n";
-       //to reference your stylesheet, set href property below to your stylesheet path and uncomment
-       if (cssFile.length > 0) {
-               frameHtml += "<link media=\"all\" type=\"text/css\" href=\"" + cssFile + "\" rel=\"stylesheet\">\n";
-       } else {
-               frameHtml += "<style>\n";
-               frameHtml += "body {\n";
-               frameHtml += "  background: #FFFFFF;\n";
-               frameHtml += "  margin: 0px;\n";
-               frameHtml += "  padding: 0px;\n";
-               frameHtml += "}\n";
-               frameHtml += "</style>\n";
-       }
-       frameHtml += "</head>\n";
-       frameHtml += "<body>\n";
-       frameHtml += html + "\n";
-       frameHtml += "</body>\n";
-       frameHtml += "</html>";
-       
-       if (document.all) {
-               var oRTE = frames[rte].document;
-               oRTE.open();
-               oRTE.write(frameHtml);
-               oRTE.close();
-               if (!readOnly) oRTE.designMode = "On";
-       } else {
-               try {
-                       if (!readOnly) document.getElementById(rte).contentDocument.designMode = "on";
-                       try {
-                               var oRTE = document.getElementById(rte).contentWindow.document;
-                               oRTE.open();
-                               oRTE.write(frameHtml);
-                               oRTE.close();
-                               if (isGecko && !readOnly) {
-                                       //attach a keyboard handler for gecko browsers to make keyboard shortcuts work
-                                       oRTE.addEventListener("keypress", kb_handler, true);
-                               }
-                       } catch (e) {
-                               alert("Error preloading content.");
-                       }
-               } catch (e) {
-                       //gecko may take some time to enable design mode.
-                       //Keep looping until able to set.
-                       if (isGecko) {
-                               setTimeout("enableDesignMode('" + rte + "', '" + html + "', " + readOnly + ");", 10);
-                       } else {
-                               return false;
-                       }
-               }
-       }
-       //contributed by TotalJSNoob and archv1le (thanks guys!)
-       //if the following gets uncommented, indenting and list items will not function correctly
-//     if (isIE) {
-//             var hack = function () {rteKeyPress(document.getElementById(rte).contentWindow);};
-//             var oRTE = document.getElementById(rte).contentWindow;
-//             oRTE.document.onkeypress = hack;
-//     }
-}
-
-function updateRTEs() {
-       var vRTEs = allRTEs.split(";");
-       for (var i = 0; i < vRTEs.length; i++) {
-               updateRTE(vRTEs[i]);
-       }
-}
-
-function updateRTE(rte) {
-       if (!isRichText) return;
-       
-       //set message value
-       var oHdnMessage = document.getElementById('hdn' + rte);
-       var oRTE = document.getElementById(rte);
-       var readOnly = false;
-       
-       //check for readOnly mode
-       if (document.all) {
-               if (frames[rte].document.designMode != "On") readOnly = true;
-       } else {
-               if (document.getElementById(rte).contentDocument.designMode != "on") readOnly = true;
-       }
-       
-       if (isRichText && !readOnly) {
-               //if viewing source, switch back to design view
-               if (document.getElementById("chkSrc" + rte).checked) {
-                       document.getElementById("chkSrc" + rte).checked = false;
-                       toggleHTMLSrc(rte);
-               }
-               
-               if (oHdnMessage.value == null) oHdnMessage.value = "";
-               if (document.all) {
-                       oHdnMessage.value = frames[rte].document.body.innerHTML;
-               } else {
-                       oHdnMessage.value = oRTE.contentWindow.document.body.innerHTML;
-               }
-               
-               //if there is no content (other than formatting) set value to nothing
-               if (stripHTML(oHdnMessage.value.replace("&nbsp;", " ")) == "" 
-                       && oHdnMessage.value.toLowerCase().search("<hr") == -1
-                       && oHdnMessage.value.toLowerCase().search("<img") == -1) oHdnMessage.value = "";
-               //fix for gecko
-               if (escape(oHdnMessage.value) == "%3Cbr%3E%0D%0A%0D%0A%0D%0A") oHdnMessage.value = "";
-       }
-}
-
-function toggleHTMLSrc(rte) {
-       //contributed by Bob Hutzel (thanks Bob!)
-       var oRTE;
-       if (document.all) {
-               oRTE = frames[rte].document;
-       } else {
-               oRTE = document.getElementById(rte).contentWindow.document;
-       }
-       
-       if (document.getElementById("chkSrc" + rte).checked) {
-               document.getElementById("Buttons1_" + rte).style.visibility = "hidden";
-               document.getElementById("Buttons2_" + rte).style.visibility = "hidden";
-               if (document.all) {
-                       oRTE.body.innerText = oRTE.body.innerHTML;
-               } else {
-                       var htmlSrc = oRTE.createTextNode(oRTE.body.innerHTML);
-                       oRTE.body.innerHTML = "";
-                       oRTE.body.appendChild(htmlSrc);
-               }
-       } else {
-               document.getElementById("Buttons1_" + rte).style.visibility = "visible";
-               document.getElementById("Buttons2_" + rte).style.visibility = "visible";
-               if (document.all) {
-                       //fix for IE
-                       var output = escape(oRTE.body.innerText);
-                       output = output.replace("%3CP%3E%0D%0A%3CHR%3E", "%3CHR%3E");
-                       output = output.replace("%3CHR%3E%0D%0A%3C/P%3E", "%3CHR%3E");
-                       
-                       oRTE.body.innerHTML = unescape(output);
-               } else {
-                       var htmlSrc = oRTE.body.ownerDocument.createRange();
-                       htmlSrc.selectNodeContents(oRTE.body);
-                       oRTE.body.innerHTML = htmlSrc.toString();
-               }
-       }
-}
-
-//Function to format text in the text box
-function FormatText(rte, command, option) {
-       var oRTE;
-       if (document.all) {
-               oRTE = frames[rte];
-               
-               //get current selected range
-               var selection = oRTE.document.selection; 
-               if (selection != null) {
-                       rng = selection.createRange();
-               }
-       } else {
-               oRTE = document.getElementById(rte).contentWindow;
-               
-               //get currently selected range
-               var selection = oRTE.getSelection();
-               rng = selection.getRangeAt(selection.rangeCount - 1).cloneRange();
-       }
-       
-       try {
-               if ((command == "forecolor") || (command == "hilitecolor")) {
-                       //save current values
-                       parent.command = command;
-                       currentRTE = rte;
-                       
-                       //position and show color palette
-                       buttonElement = document.getElementById(command + '_' + rte);
-                       // Ernst de Moor: Fix the amount of digging parents up, in case the RTE editor itself is displayed in a div.
-                       document.getElementById('cp' + rte).style.left = getOffsetLeft(buttonElement, 4) + "px";
-                       document.getElementById('cp' + rte).style.top = (getOffsetTop(buttonElement, 4) + buttonElement.offsetHeight + 4) + "px";
-                       if (document.getElementById('cp' + rte).style.visibility == "hidden") {
-                               document.getElementById('cp' + rte).style.visibility = "visible";
-                               document.getElementById('cp' + rte).style.display = "inline";
-                       } else {
-                               document.getElementById('cp' + rte).style.visibility = "hidden";
-                               document.getElementById('cp' + rte).style.display = "none";
-                       }
-               } else if (command == "createlink") {
-                       var szURL = prompt("Enter a URL:", "");
-                       try {
-                               //ignore error for blank urls
-                               oRTE.document.execCommand("Unlink", false, null);
-                               oRTE.document.execCommand("CreateLink", false, szURL);
-                       } catch (e) {
-                               //do nothing
-                       }
-               } else {
-                       oRTE.focus();
-                       oRTE.document.execCommand(command, false, option);
-                       oRTE.focus();
-               }
-       } catch (e) {
-               alert(e);
-       }
-}
-
-//Function to set color
-function setColor(color) {
-       var rte = currentRTE;
-       var oRTE;
-       if (document.all) {
-               oRTE = frames[rte];
-       } else {
-               oRTE = document.getElementById(rte).contentWindow;
-       }
-       
-       var parentCommand = parent.command;
-       if (document.all) {
-               //retrieve selected range
-               var sel = oRTE.document.selection; 
-               if (parentCommand == "hilitecolor") parentCommand = "backcolor";
-               if (sel != null) {
-                       var newRng = sel.createRange();
-                       newRng = rng;
-                       newRng.select();
-               }
-       }
-       oRTE.focus();
-       oRTE.document.execCommand(parentCommand, false, color);
-       oRTE.focus();
-       document.getElementById('cp' + rte).style.visibility = "hidden";
-       document.getElementById('cp' + rte).style.display = "none";
-}
-
-//Function to add image
-function AddImage(rte) {
-       var oRTE;
-       if (document.all) {
-               oRTE = frames[rte];
-               
-               //get current selected range
-               var selection = oRTE.document.selection; 
-               if (selection != null) {
-                       rng = selection.createRange();
-               }
-       } else {
-               oRTE = document.getElementById(rte).contentWindow;
-               
-               //get currently selected range
-               var selection = oRTE.getSelection();
-               rng = selection.getRangeAt(selection.rangeCount - 1).cloneRange();
-       }
-       
-       imagePath = prompt('Enter Image URL:', 'http://');                              
-       if ((imagePath != null) && (imagePath != "")) {
-               oRTE.focus();
-               oRTE.document.execCommand('InsertImage', false, imagePath);
-               oRTE.focus();
-       }
-}
-
-//function to perform spell check
-function checkspell() {
-       try {
-               var tmpis = new ActiveXObject("ieSpell.ieSpellExtension");
-               tmpis.CheckAllLinkedDocuments(document);
-       }
-       catch(exception) {
-               if(exception.number==-2146827859) {
-                       if (confirm("ieSpell not detected.  Click Ok to go to download page."))
-                               window.open("http://www.iespell.com/download.php","DownLoad");
-               } else {
-                       alert("Error Loading ieSpell: Exception " + exception.number);
-               }
-       }
-}
-
-// Ernst de Moor: Fix the amount of digging parents up, in case the RTE editor itself is displayed in a div.
-function getOffsetTop(elm, parents_up) {
-       var mOffsetTop = elm.offsetTop;
-       var mOffsetParent = elm.offsetParent;
-       
-       if(!parents_up) {
-               parents_up = 10000; // arbitrary big number
-       }
-       while(parents_up>0 && mOffsetParent) {
-               mOffsetTop += mOffsetParent.offsetTop;
-               mOffsetParent = mOffsetParent.offsetParent;
-               parents_up--;
-       }
-       
-       return mOffsetTop;
-}
-
-// Ernst de Moor: Fix the amount of digging parents up, in case the RTE editor itself is displayed in a div.
-function getOffsetLeft(elm, parents_up) {
-       var mOffsetLeft = elm.offsetLeft;
-       var mOffsetParent = elm.offsetParent;
-       
-       if(!parents_up) {
-               parents_up = 10000; // arbitrary big number
-       }
-       while(parents_up>0 && mOffsetParent) {
-               mOffsetLeft += mOffsetParent.offsetLeft;
-               mOffsetParent = mOffsetParent.offsetParent;
-               parents_up--;
-       }
-       
-       return mOffsetLeft;
-}
-
-function Select(rte, selectname) {
-       var oRTE;
-       if (document.all) {
-               oRTE = frames[rte];
-               
-               //get current selected range
-               var selection = oRTE.document.selection; 
-               if (selection != null) {
-                       rng = selection.createRange();
-               }
-       } else {
-               oRTE = document.getElementById(rte).contentWindow;
-               
-               //get currently selected range
-               var selection = oRTE.getSelection();
-               rng = selection.getRangeAt(selection.rangeCount - 1).cloneRange();
-       }
-       
-       var idx = document.getElementById(selectname).selectedIndex;
-       // First one is always a label
-       if (idx != 0) {
-               var selected = document.getElementById(selectname).options[idx].value;
-               var cmd = selectname.replace('_' + rte, '');
-               oRTE.focus();
-               oRTE.document.execCommand(cmd, false, selected);
-               oRTE.focus();
-               document.getElementById(selectname).selectedIndex = 0;
-       }
-}
-
-function kb_handler(evt) {
-       var rte = evt.target.id;
-       
-       //contributed by Anti Veeranna (thanks Anti!)
-       if (evt.ctrlKey) {
-               var key = String.fromCharCode(evt.charCode).toLowerCase();
-               var cmd = '';
-               switch (key) {
-                       case 'b': cmd = "bold"; break;
-                       case 'i': cmd = "italic"; break;
-                       case 'u': cmd = "underline"; break;
-               };
-
-               if (cmd) {
-                       FormatText(rte, cmd, true);
-                       //evt.target.ownerDocument.execCommand(cmd, false, true);
-                       // stop the event bubble
-                       evt.preventDefault();
-                       evt.stopPropagation();
-               }
-       }
-}
-
-function docChanged (evt) {
-       alert('changed');
-}
-
-function stripHTML(oldString) {
-       var newString = oldString.replace(/(<([^>]+)>)/ig,"");
-       
-       //replace carriage returns and line feeds
-   newString = newString.replace(/\r\n/g," ");
-   newString = newString.replace(/\n/g," ");
-   newString = newString.replace(/\r/g," ");
-       
-       //trim string
-       newString = trim(newString);
-       
-       return newString;
-}
-
-function trim(inputString) {
-   // Removes leading and trailing spaces from the passed string. Also removes
-   // consecutive spaces and replaces it with one space. If something besides
-   // a string is passed in (null, custom object, etc.) then return the input.
-   if (typeof inputString != "string") return inputString;
-   var retValue = inputString;
-   var ch = retValue.substring(0, 1);
-       
-   while (ch == " ") { // Check for spaces at the beginning of the string
-      retValue = retValue.substring(1, retValue.length);
-      ch = retValue.substring(0, 1);
-   }
-   ch = retValue.substring(retValue.length-1, retValue.length);
-       
-   while (ch == " ") { // Check for spaces at the end of the string
-      retValue = retValue.substring(0, retValue.length-1);
-      ch = retValue.substring(retValue.length-1, retValue.length);
-   }
-       
-       // Note that there are two spaces in the string - look for multiple spaces within the string
-   while (retValue.indexOf("  ") != -1) {
-               // Again, there are two spaces in each of the strings
-      retValue = retValue.substring(0, retValue.indexOf("  ")) + retValue.substring(retValue.indexOf("  ")+1, retValue.length);
-   }
-   return retValue; // Return the trimmed string back to the user
-}
-
-//contributed by archv1le (thanks archv1le!)
-function rteKeyPress(window) {
-       if (window.event.keyCode == 13) {
-               var range = window.document.selection.createRange();
-               var obj = range.parentElement();
-               if (obj.tagName != "LI") {
-                       window.event.returnValue = false; // cancel Standard-event
-                       range.pasteHTML('<br>');
-                       range.select(); // re-sets the cursor to the right position
-               }
-       }
-}
diff --git a/webcit/tiny_mce/blank.htm b/webcit/tiny_mce/blank.htm
new file mode 100644 (file)
index 0000000..c1ff835
--- /dev/null
@@ -0,0 +1,9 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+       <title>blank_page</title>
+       <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+</head>
+<body class="mceContentBody">
+
+</body>
+</html>
diff --git a/webcit/tiny_mce/langs/ar.js b/webcit/tiny_mce/langs/ar.js
new file mode 100644 (file)
index 0000000..bb5804c
--- /dev/null
@@ -0,0 +1,43 @@
+// arabic lang variables
+// Toolbar Items and Context Menu
+
+tinyMCE.addToLang('',{
+dir : 'rtl',
+bold_desc : '&#1594;&#1575;&#1605;&#1602;',
+italic_desc : '&#1605;&#1575;&#1574;&#1604;',
+underline_desc : '&#1578;&#1587;&#1591;&#1610;&#1585;',
+striketrough_desc : '&#1610;&#1578;&#1608;&#1587;&#1591;&#1607; &#1582;&#1591;',
+justifyleft_desc : '&#1605;&#1581;&#1575;&#1584;&#1575;&#1577; &#1573;&#1604;&#1609; &#1575;&#1604;&#1610;&#1587;&#1575;&#1585;',
+justifycenter_desc : '&#1578;&#1608;&#1587;&#1610;&#1591;',
+justifyright_desc : '&#1605;&#1581;&#1575;&#1584;&#1575;&#1577; &#1573;&#1604;&#1609; &#1575;&#1604;&#1610;&#1605;&#1610;&#1606;',
+justifyfull_desc : '&#1590;&#1576;&#1591;',
+bullist_desc : '&#1578;&#1593;&#1583;&#1575;&#1583; &#1606;&#1602;&#1591;&#1610;',
+numlist_desc : '&#1578;&#1593;&#1583;&#1575;&#1583; &#1585;&#1602;&#1605;&#1610;',
+outdent_desc : '&#1573;&#1606;&#1602;&#1575;&#1589; &#1575;&#1604;&#1605;&#1587;&#1575;&#1601;&#1577; &#1575;&#1604;&#1576;&#1575;&#1583;&#1574;&#1577;',
+indent_desc : '&#1586;&#1610;&#1575;&#1583;&#1577; &#1575;&#1604;&#1605;&#1587;&#1575;&#1601;&#1577; &#1575;&#1604;&#1576;&#1575;&#1583;&#1574;&#1577;',
+undo_desc : '&#1578;&#1585;&#1575;&#1580;&#1593;',
+redo_desc : '&#1573;&#1593;&#1575;&#1583;&#1577;',
+link_desc : '&#1573;&#1583;&#1585;&#1575;&#1580;/&#1578;&#1581;&#1585;&#1610;&#1585; &#1585;&#1575;&#1576;&#1591;',
+unlink_desc : '&#1573;&#1586;&#1575;&#1604;&#1577; &#1585;&#1575;&#1576;&#1591;',
+image_desc : '&#1573;&#1583;&#1585;&#1575;&#1580;/&#1578;&#1581;&#1585;&#1610;&#1585; &#1589;&#1608;&#1585;&#1577;',
+cleanup_desc : 'Cleanup messy code',
+focus_alert : 'A editor instance must be focused before using this command.',
+edit_confirm : 'Do you want to use the WYSIWYG mode for this textarea?',
+insert_link_title : '&#1573;&#1583;&#1585;&#1575;&#1580;/&#1578;&#1581;&#1585;&#1610;&#1585; &#1585;&#1575;&#1576;&#1591;',
+insert : '&#1573;&#1583;&#1585;&#1575;&#1580;',
+update : '&#1573;&#1583;&#1585;&#1575;&#1580;',
+cancel : '&#1571;&#1604;&#1594;&#1610;',
+insert_link_url : '&#1585;&#1575;&#1576;&#1591; URL',
+insert_link_target : '&#1575;&#1604;&#1607;&#1583;&#1601;',
+insert_link_target_same : '&#1606;&#1601;&#1587; &#1575;&#1604;&#1573;&#1591;&#1575;&#1585;',
+insert_link_target_blank : '&#1573;&#1591;&#1575;&#1585; &#1580;&#1583;&#1610;&#1583; (_blank)',
+insert_image_title : '&#1573;&#1583;&#1585;&#1575;&#1580;/&#1578;&#1581;&#1585;&#1610;&#1585; &#1589;&#1608;&#1585;&#1577;',
+insert_image_src : '&#1589;&#1608;&#1585;&#1577; URL',
+insert_image_alt : '&#1575;&#1604;&#1608;&#1589;&#1601;',
+help_desc : '&#1575;&#1604;&#1605;&#1587;&#1575;&#1593;&#1583;&#1577;',
+bold_img : 'bold.gif',
+italic_img : 'italic.gif',
+underline_img : "underline.gif",
+clipboard_msg : 'Copy/Cut/Paste is not available in Mozilla and Firefox.\nDo you want more information about this issue?',
+popup_blocked : 'Sorry, but we have noticed that your popup-blocker has disabled a window that provides application functionality. You will need to disable popup blocking on this site in order to fully utilize this tool.'
+});
diff --git a/webcit/tiny_mce/langs/ca.js b/webcit/tiny_mce/langs/ca.js
new file mode 100644 (file)
index 0000000..3a896fc
--- /dev/null
@@ -0,0 +1,41 @@
+// CA lang variables by Marc Bria
+
+tinyMCE.addToLang('',{
+bold_desc : 'Negreta',
+italic_desc : 'Cursiva',
+underline_desc : 'Subratllat',
+striketrough_desc : 'Tatxat',
+justifyleft_desc : 'Alinear a l´esquerra',
+justifycenter_desc : 'Alinear al centre',
+justifyright_desc : 'Alinear a la dreta',
+justifyfull_desc : 'Alinear justificat',
+bullist_desc : 'Llista sense ordenar',
+numlist_desc : 'Llista ordenada',
+outdent_desc : 'Disminueix sangria',
+indent_desc : 'Augmentar sangria',
+undo_desc : 'Desfer',
+redo_desc : 'Refer',
+link_desc : 'Insertar enllaç',
+unlink_desc : 'Treure enllaç',
+image_desc : 'Insertar imatge',
+cleanup_desc : 'Netejar codi',
+focus_alert : 'L´àrea de l´editor ha de ser enfocada abans d´executar aquesta comanda.',
+edit_confirm : 'Vols utilitzar el modus WYSIWYG per a aquesta àrea de text?',
+insert_link_title : 'Insertar/editar enllaç',
+insert : 'Insertar',
+update : 'Insertar',
+cancel : 'Cancel·lar',
+insert_link_url : 'Adreça de l´enllaç',
+insert_link_target : 'Destí',
+insert_link_target_same : 'Obrir enllaç a la mateixa finestra',
+insert_link_target_blank : 'Obrir enllaç en una finestra nova',
+insert_image_title : 'Insertar/editar imatge',
+insert_image_src : 'URL de l´imatge',
+insert_image_alt : 'Descripció de la imatge',
+help_desc : 'Ajut',
+bold_img : "bold.gif",
+italic_img : "italic.gif",
+underline_img : "underline.gif",
+clipboard_msg : 'Copiar/Tallar/Enganxar no és possible amb Mozilla i Firefox.\nVols més informació sobre aquest problema de seguretat?',
+popup_blocked : 'Sorry, but we have noticed that your popup-blocker has disabled a window that provides application functionality. You will need to disable popup blocking on this site in order to fully utilize this tool.'
+});
diff --git a/webcit/tiny_mce/langs/cs.js b/webcit/tiny_mce/langs/cs.js
new file mode 100644 (file)
index 0000000..b6c3418
--- /dev/null
@@ -0,0 +1,52 @@
+/**
+ * Czech lang variables 
+ * encoding: utf-8
+ * 
+ * @author Michi   
+ * @author Pavel Novák
+ * @author Josef Klimosz
+ *    
+ * $Id$ 
+ */  
+
+
+tinyMCE.addToLang('',{
+bold_desc : 'Tučně',
+italic_desc : 'Kurzíva',
+underline_desc : 'Podtržení',
+striketrough_desc : 'Přeškrtnutí',
+justifyleft_desc : 'Zarovnání vlevo',
+justifycenter_desc : 'Zarovnání na střed',
+justifyright_desc : 'Zarovnání vpravo',
+justifyfull_desc : 'Zarovnání do bloku',
+bullist_desc : 'Seznam s odrážkami',
+numlist_desc : 'Číslovaný seznam',
+outdent_desc : 'Snížit odsazení',
+indent_desc : 'Zvýšit odsazení',
+undo_desc : 'Zpět',
+redo_desc : 'Znovu',
+link_desc : 'Vložit odkaz',
+unlink_desc : 'Zrušit odkaz',
+image_desc : 'Vložit obrázek',
+cleanup_desc : 'Vyčistit kód',
+focus_alert : 'Před použitím tohoto příkazu musí být kurzor v okně editoru.',
+edit_confirm : 'Chcete použít WYSIWYG editaci pro tento text?',
+insert_link_title : 'Vložit/upravit odkaz',
+insert : 'Vložit',
+update : 'Změnit',
+cancel : 'Zrušit',
+insert_link_url : 'URL odkazu',
+insert_link_target : 'Cíl',
+insert_link_target_same : 'Otevřít odkaz ve stejném okně',
+insert_link_target_blank : 'Otevřít odkaz v novém okně',
+insert_image_title : 'Vložit/upravit obrázek',
+insert_image_src : 'URL obrázku',
+insert_image_alt : 'Popis obrázku',
+help_desc : 'Nápověda',
+bold_img : 'bold.gif',
+italic_img : 'italic.gif',
+underline_img : "underline.gif",
+clipboard_msg : 'Funkce Kopírovat/vyjmout/vložit nejsou použitelné v Mozille a Firefoxu.\nChcete více informací o tomto problému?',
+popup_blocked : 'Omlouváme se, ale blokovač vyskakovacích oken neumožnil otevřít okno, které zprostředkovává funkčnost aplikace. Musíte vypnout blokování vyskakovacích oken na tomto webu, abyste využili plné funkčnosti.'
+});
+
diff --git a/webcit/tiny_mce/langs/da.js b/webcit/tiny_mce/langs/da.js
new file mode 100644 (file)
index 0000000..f631114
--- /dev/null
@@ -0,0 +1,41 @@
+// DK lang variables contributed by Jan Moelgaard
+
+tinyMCE.addToLang('',{
+bold_desc : 'Fed',
+italic_desc : 'Kursiv',
+underline_desc : 'Understreg',
+striketrough_desc : 'Gennemstreg',
+justifyleft_desc : 'Venstrestil',
+justifycenter_desc : 'Centrer',
+justifyright_desc : 'H&#248;jrestil',
+justifyfull_desc : 'Lige margin',
+bullist_desc : 'Bulletliste',
+numlist_desc : 'Nummerliste',
+outdent_desc : 'Ryk til venstre',
+indent_desc : 'Ryk til h&#248;jre',
+undo_desc : 'Fortryd',
+redo_desc : 'G&#248;r igen',
+link_desc : 'Inds&#230;t link',
+unlink_desc : 'Fjern link',
+image_desc : 'Inds&#230;t billede',
+cleanup_desc : 'Ryd op i koden',
+focus_alert : 'Der skal s&#230;ttes fokus p&#229; sessionen, f&#248;r man kan bruge denne kommando',
+edit_confirm : 'Vil du bruge WYSIWYG mode til dette textomr&#229;de?',
+insert_link_title : 'Inds&#230;t eller rediger link',
+insert : 'Inds&#230;t',
+update : 'Opdater',
+cancel : 'Fortryd',
+insert_link_url : 'Linkadresse',
+insert_link_target : 'Target',
+insert_link_target_same : 'Luk linket op i samme vindue',
+insert_link_target_blank : 'Luk linket op i et nyt vindue',
+insert_image_title : 'Inds&#230;t / rediger billede',
+insert_image_src : 'Billedets adresse',
+insert_image_alt : 'Alternativ tekst',
+help_desc : 'Hj&#230;lp',
+bold_img : "bold.gif",
+italic_img : "italic.gif",
+underline_img : "underline.gif",
+clipboard_msg : 'Copy/Cut/Paste is not available in Mozilla and Firefox.\nDo you want more information about this issue?',
+popup_blocked : 'Sorry, but we have noticed that your popup-blocker has disabled a window that provides application functionality. You will need to disable popup blocking on this site in order to fully utilize this tool.'
+});
diff --git a/webcit/tiny_mce/langs/de.js b/webcit/tiny_mce/langs/de.js
new file mode 100644 (file)
index 0000000..b26cf14
--- /dev/null
@@ -0,0 +1,41 @@
+// DE lang variables
+
+tinyMCE.addToLang('',{
+bold_desc : 'Fett',
+italic_desc : 'Kursiv',
+underline_desc : 'Unterstrichen',
+striketrough_desc : 'Durchgestrichen',
+justifyleft_desc : 'Linksb&uuml;ndig',
+justifycenter_desc : 'Zentriert',
+justifyright_desc : 'Rechtsb&uuml;ndig',
+justifyfull_desc : 'Blocksatz',
+bullist_desc : 'Aufz&auml;hlungszeichen',
+numlist_desc : 'Nummerierung',
+outdent_desc : 'Einzug verkleinern',
+indent_desc : 'Einzug vergr&ouml;ssern',
+undo_desc : 'R&uuml;ckg&auml;ngig',
+redo_desc : 'Wiederholen',
+link_desc : 'Link einf&uuml;gen/bearbeiten',
+unlink_desc : 'Link entfernen',
+image_desc : 'Bild einf&uuml;gen/bearbeiten',
+cleanup_desc : 'unsauberen Code aufr&auml;umen',
+focus_alert : 'Eine Bearbeitungsinstanz muss f&uuml;r diesen Befehl hervorgehoben.',
+edit_confirm : 'Wollen Sie den WYSIWYG Modus f&uuml;r dieses Textfeld benutzen?',
+insert_link_title : 'Link einf&uuml;gen/bearbeiten',
+insert : 'Einf&uuml;gen',
+update : 'Aktualisieren',
+cancel : 'Abbrechen',
+insert_link_url : 'Link URL',
+insert_link_target : 'Ziel',
+insert_link_target_same : 'Link in gleichen Fester &ouml;ffnen',
+insert_link_target_blank : 'Link in neuen Fenster &ouml;ffnen',
+insert_image_title : 'Bild einf&uuml;gen/bearbeiten',
+insert_image_src : 'Bild URL',
+insert_image_alt : 'Bild Beschreibung',
+help_desc : 'Hilfe',
+bold_img : "bold_de_se.gif",
+italic_img : "italic_de_se.gif",
+underline_img : "underline.gif",
+clipboard_msg : 'Kopieren/Ausschneiten/Einf&uuml;gen ist mit Mozilla und Firefox nicht verf&uuml;gbar.\nWollen Sie mehr Informationen dar&uuml;ber erhalten?',
+popup_blocked : 'Sorry, but we have noticed that your popup-blocker has disabled a window that provides application functionality. You will need to disable popup blocking on this site in order to fully utilize this tool.'
+});
diff --git a/webcit/tiny_mce/langs/el.js b/webcit/tiny_mce/langs/el.js
new file mode 100644 (file)
index 0000000..09a8f8a
--- /dev/null
@@ -0,0 +1,41 @@
+// Greek lang variables by Jacaranda Bill
+
+tinyMCE.addToLang('',{
+bold_desc : '¸íôïíç ãñá&ouml;Þ',
+italic_desc : 'ÐëÜãéá ãñá&ouml;Þ',
+underline_desc : 'ÕðïãñÜììéóç',
+striketrough_desc : '&Auml;éáêñéôÞ &auml;éáãñá&ouml;Þ',
+justifyleft_desc : 'Óôïß÷éóç áñéóô&aring;ñÜ',
+justifycenter_desc : 'Óôïß÷éóç óôï êÝíôñï',
+justifyright_desc : 'Óôïß÷éóç &auml;&aring;îéÜ',
+justifyfull_desc : 'ÐëÞñçò óôïß÷éóç',
+bullist_desc : 'Êïõêêß&auml;&aring;ò',
+numlist_desc : 'Áñßèìçóç',
+outdent_desc : 'Ì&aring;ßùóç &aring;óï÷Þò',
+indent_desc : 'Áýîçóç &aring;óï÷Þò',
+undo_desc : 'Áíáßñ&aring;óç',
+redo_desc : 'Áêýñùóç áíáßñ&aring;óçò',
+link_desc : '&Auml;çìéïõñãßá/&Auml;éüñèùóç õð&aring;ñ-óýí&auml;&aring;óçò',
+unlink_desc : '&Auml;éáãñá&ouml;Þ õð&aring;ñ-óýí&auml;&aring;óçò',
+image_desc : '&Aring;éóáãùãÞ/&Auml;éüñèùóç &aring;éêüíáò',
+cleanup_desc : 'ÊáèÜñéóìá êþ&auml;éêá',
+focus_alert : 'ÐñÝð&aring;é íá õðÜñ÷&aring;é &aring;í&aring;ñãüò êÜðïéïò &aring;ð&aring;î&aring;ñãáóôÞò ê&aring;éìÝíïõ ðñéí íá ÷ñçóéìïðïéÞó&aring;ô&aring; áõôÞ ôçí &aring;íôïëÞ.',
+edit_confirm : 'ÈÝë&aring;ô&aring; íá ÷ñçóéìïðïéÞó&aring;ô&aring; ôçí êáôÜóôáóç WYSIWYG ãéá ôï óõãê&aring;êñéìÝíï ðëáßóéï ê&aring;éìÝíïõ;',
+insert_link_title : '&Auml;çìéïõñãßá/&Auml;éüñèùóç õð&aring;ñ-óýí&auml;&aring;óçò',
+insert : '&Aring;éóáãùãÞ',
+update : '&Aring;éóáãùãÞ',
+cancel : 'Áêýñùóç',
+insert_link_url : '&Auml;é&aring;ýèõíóç',
+insert_link_target : 'Óôü÷ïò',
+insert_link_target_same : '¢íïéãìá ôçò &auml;é&aring;ýèõíóçò óôï ß&auml;éï ðáñÜèõñï',
+insert_link_target_blank : '¢íïéãìá ôçò &auml;é&aring;ýèõíóçò ó&aring; íÝï ðáñÜèõñï',
+insert_image_title : '&Aring;éóáãùãÞ/&Auml;éüñèùóç &aring;éêüíáò',
+insert_image_src : '&Auml;é&aring;ýèõíóç',
+insert_image_alt : 'Ð&aring;ñéãñá&ouml;Þ',
+help_desc : 'ÂïÞè&aring;éá',
+bold_img : "bold.gif",
+italic_img : "italic.gif",
+underline_img : "underline.gif",
+clipboard_msg : 'Copy/Cut/Paste is not available in Mozilla and Firefox.\nDo you want more information about this issue?',
+popup_blocked : 'Sorry, but we have noticed that your popup-blocker has disabled a window that provides application functionality. You will need to disable popup blocking on this site in order to fully utilize this tool.'
+});
diff --git a/webcit/tiny_mce/langs/en.js b/webcit/tiny_mce/langs/en.js
new file mode 100644 (file)
index 0000000..86ea2a7
--- /dev/null
@@ -0,0 +1,41 @@
+// UK lang variables
+
+tinyMCE.addToLang('',{
+bold_desc : 'Bold',
+italic_desc : 'Italic',
+underline_desc : 'Underline',
+striketrough_desc : 'Striketrough',
+justifyleft_desc : 'Align left',
+justifycenter_desc : 'Align center',
+justifyright_desc : 'Align right',
+justifyfull_desc : 'Align full',
+bullist_desc : 'Unordered list',
+numlist_desc : 'Ordered list',
+outdent_desc : 'Outdent',
+indent_desc : 'Indent',
+undo_desc : 'Undo',
+redo_desc : 'Redo',
+link_desc : 'Insert/edit link',
+unlink_desc : 'Unlink',
+image_desc : 'Insert/edit image',
+cleanup_desc : 'Cleanup messy code',
+focus_alert : 'A editor instance must be focused before using this command.',
+edit_confirm : 'Do you want to use the WYSIWYG mode for this textarea?',
+insert_link_title : 'Insert/edit link',
+insert : 'Insert',
+update : 'Update',
+cancel : 'Cancel',
+insert_link_url : 'Link URL',
+insert_link_target : 'Target',
+insert_link_target_same : 'Open link in the same window',
+insert_link_target_blank : 'Open link in a new window',
+insert_image_title : 'Insert/edit image',
+insert_image_src : 'Image URL',
+insert_image_alt : 'Image description',
+help_desc : 'Help',
+bold_img : "bold.gif",
+italic_img : "italic.gif",
+underline_img : "underline.gif",
+clipboard_msg : 'Copy/Cut/Paste is not available in Mozilla and Firefox.\nDo you want more information about this issue?',
+popup_blocked : 'Sorry, but we have noticed that your popup-blocker has disabled a window that provides application functionality. You will need to disable popup blocking on this site in order to fully utilize this tool.'
+});
diff --git a/webcit/tiny_mce/langs/es.js b/webcit/tiny_mce/langs/es.js
new file mode 100644 (file)
index 0000000..67e8920
--- /dev/null
@@ -0,0 +1,41 @@
+// ES lang variables by Alvaro Velasco
+
+tinyMCE.addToLang('',{
+bold_desc : 'Negrita',
+italic_desc : 'Cursiva',
+underline_desc : 'Subrayado',
+striketrough_desc : 'Tachado',
+justifyleft_desc : 'Alinear a la izquierda',
+justifycenter_desc : 'Alinear al centro',
+justifyright_desc : 'Alinear a la derecha',
+justifyfull_desc : 'Alinear justificado',
+bullist_desc : 'Lista sin ordenar',
+numlist_desc : 'Lista ordenada',
+outdent_desc : 'Disminuye sangria',
+indent_desc : 'Aumentar sangria',
+undo_desc : 'Deshacer',
+redo_desc : 'Rehacer',
+link_desc : 'Insertar enlace',
+unlink_desc : 'Quitar enlace',
+image_desc : 'Insertar imagen',
+cleanup_desc : 'Limpiar codigo',
+focus_alert : 'Una instanacia del editor debe ser enfocada antes de usar este comando.',
+edit_confirm : 'Quieres usar el modo WYSIWYG para esta area de texto?',
+insert_link_title : 'Insertar/editar enlace',
+insert : 'Insertar',
+update : 'Insertar',
+cancel : 'Cancelar',
+insert_link_url : 'Direccion del enlace',
+insert_link_target : 'Destino',
+insert_link_target_same : 'Abrir enlace en la misma ventana',
+insert_link_target_blank : 'Abrir enlace en una ventana nueva',
+insert_image_title : 'Insertar/editar imagen',
+insert_image_src : 'URL de la imagen',
+insert_image_alt : 'Descripcion de la imagen',
+help_desc : 'Ayuda',
+bold_img : "bold.gif",
+italic_img : "italic.gif",
+underline_img : "underline.gif",
+clipboard_msg : 'Copy/Cut/Paste is not available in Mozilla and Firefox.\nDo you want more information about this issue?',
+popup_blocked : 'Sorry, but we have noticed that your popup-blocker has disabled a window that provides application functionality. You will need to disable popup blocking on this site in order to fully utilize this tool.'
+});
diff --git a/webcit/tiny_mce/langs/fa.js b/webcit/tiny_mce/langs/fa.js
new file mode 100644 (file)
index 0000000..cb34669
--- /dev/null
@@ -0,0 +1,46 @@
+// IR lang variables
+// Persian (Farsi) language pack (for IRAN)
+// By: Morteza Zafari
+// Lost@LostLord.com
+// http://www.LostLord.com
+
+tinyMCE.addToLang('',{
+dir : 'rtl',
+bold_desc : '????',
+italic_desc : '????',
+underline_desc : '??? ?? ???',
+striketrough_desc : '?? ?????',
+justifyleft_desc : '?? ???',
+justifycenter_desc : '??? ???',
+justifyright_desc : '???? ???',
+justifyfull_desc : '????? ???',
+bullist_desc : '????',
+numlist_desc : '???? ????',
+outdent_desc : '???? ?????',
+indent_desc : '?????? ?????',
+undo_desc : '????????',
+redo_desc : '????????',
+link_desc : '??? ? ?????? ????',
+unlink_desc : '??? ????',
+image_desc : '??? ? ?????? ???',
+cleanup_desc : '??????? ??',
+focus_alert : 'A editor instance must be focused before using this command.',
+edit_confirm : 'Do you want to use the WYSIWYG mode for this textarea?',
+insert_link_title : '??? ? ?????? ????',
+insert : '  ?????  ',
+update : '  ?????  ',
+cancel : ' ?????? ',
+insert_link_url : 'URL ????',
+insert_link_target : '????',
+insert_link_target_same : '???? ?? ?? ???? ???? ??? ??',
+insert_link_target_blank : '???? ?? ?? ???? ???? ??? ??',
+insert_image_title : '??? ? ?????? ???',
+insert_image_src : 'URL ???',
+insert_image_alt : '?????',
+help_desc : '??????',
+bold_img : "bold.gif",
+italic_img : "italic.gif",
+underline_img : "underline.gif",
+clipboard_msg : 'Copy/Cut/Paste is not available in Mozilla and Firefox.\nDo you want more information about this issue?',
+popup_blocked : 'Sorry, but we have noticed that your popup-blocker has disabled a window that provides application functionality. You will need to disable popup blocking on this site in order to fully utilize this tool.'
+});
diff --git a/webcit/tiny_mce/langs/fi.js b/webcit/tiny_mce/langs/fi.js
new file mode 100644 (file)
index 0000000..87e148a
--- /dev/null
@@ -0,0 +1,41 @@
+// FI lang variables by Urho Konttori from Absolutions
+
+tinyMCE.addToLang('',{
+bold_desc : 'Lihavoi',
+italic_desc : 'Kursivoi',
+underline_desc : 'Alleviivaa',
+striketrough_desc : 'Yliviivaa',
+justifyleft_desc : 'Vasen tasaus',
+justifycenter_desc : 'Keskitys',
+justifyright_desc : 'Oikea tasaus',
+justifyfull_desc : 'Pakotettu tasaus',
+bullist_desc : 'Numeroimaton lista',
+numlist_desc : 'Numeroitu lista',
+outdent_desc : 'Poista sisennyt',
+indent_desc : 'Sisennys',
+undo_desc : 'Peruuta',
+redo_desc : 'Suorita uudelleen',
+link_desc : 'Lis&auml;&auml; linkki',
+unlink_desc : 'Poista linkki',
+image_desc : 'Lis&auml;&auml; kuva',
+cleanup_desc : 'Siisti koodi',
+focus_alert : 'Teksink&auml;sittelyalueella t&auml;ytyy olla fokus ennen t&auml;m&auml;n komennon suorittamista.',
+edit_confirm : 'Haluatko k&auml;ytt&auml;&auml; WYSIWYG moodia t&auml;h&auml;n tekstialueeseen?',
+insert_link_title : 'Lis&auml;&auml;/muokkaa linkki&auml;',
+insert : 'Lis&auml;&auml;',
+update : 'Lis&auml;&auml;',
+cancel : 'Peruuta',
+insert_link_url : 'Linkin URL',
+insert_link_target : 'Kohde',
+insert_link_target_same : 'Avaa linkki samassa ikkunassa',
+insert_link_target_blank : 'Avaa linkki uudessa ikkunassa',
+insert_image_title : 'Lis&auml;&auml;/muokkaa kuvaa',
+insert_image_src : 'Kuvan URL',
+insert_image_alt : 'Kuvan selite',
+help_desc : 'Apua',
+bold_img : "bold.gif",
+italic_img : "italic.gif",
+underline_img : "underline.gif",
+clipboard_msg : 'Copy/Cut/Paste is not available in Mozilla and Firefox.\nDo you want more information about this issue?',
+popup_blocked : 'Sorry, but we have noticed that your popup-blocker has disabled a window that provides application functionality. You will need to disable popup blocking on this site in order to fully utilize this tool.'
+});
diff --git a/webcit/tiny_mce/langs/fr.js b/webcit/tiny_mce/langs/fr.js
new file mode 100644 (file)
index 0000000..7fdf1de
--- /dev/null
@@ -0,0 +1,42 @@
+// FR lang variables by Pat Boens
+// Modify by Laurent Dran
+
+tinyMCE.addToLang('',{
+bold_desc : 'Gras',
+italic_desc : 'Italique',
+underline_desc : 'Soulign&eacute;',
+striketrough_desc : 'Barré',
+justifyleft_desc : 'Aligner &agrave; gauche',
+justifycenter_desc : 'Aligner au centre',
+justifyright_desc : 'Aligner &agrave; droite',
+justifyfull_desc : 'Justifier',
+bullist_desc : 'Liste désordonn&eacute;e (puces)',
+numlist_desc : 'Liste ordonn&eacute;e (num&eacute;ros)',
+outdent_desc : 'Diminuer le retrait',
+indent_desc : 'Augmenter le retrait',
+undo_desc : 'D&eacute;faire',
+redo_desc : 'Refaire',
+link_desc : 'Ins&eacute;rer/éditer le lien',
+unlink_desc : 'Enlever le lien',
+image_desc : 'Ins&eacute;rer/éditer une image',
+cleanup_desc : 'Nettoyer le code',
+focus_alert : 'Une instance de l\&eacute;diteur doit avoir le focus avant d\'utiliser cette commande.',
+edit_confirm : 'Voulez-vous utiliser le mode WYSIWYG pour cette zone de texte (textarea) ?',
+insert_link_title : 'Insertion/&eacute;dition lien',
+insert : 'Insertion',
+update : 'Insertion',
+cancel : 'Annuler',
+insert_link_url : 'Lien URL',
+insert_link_target : 'Cible',
+insert_link_target_same : 'Ouvrir le lien dans la même fen&ecirc;tre',
+insert_link_target_blank : 'Ouvrir le lien dans une nouvelle fen&ecirc;tre',
+insert_image_title : 'Insertion/&eacute;dition d\'une image',
+insert_image_src : 'URL de l\'image',
+insert_image_alt : 'Description de l\'image',
+help_desc : 'Aide',
+bold_img : "bold.gif",
+italic_img : "italic.gif",
+underline_img : "underline.gif",
+clipboard_msg : 'Copier/Couper/Coller ne sont pas disponibles pour Mozilla et Firefox.\nVoulez vous plus d\'informatios à ce sujet?',
+popup_blocked : 'Sorry, but we have noticed that your popup-blocker has disabled a window that provides application functionality. You will need to disable popup blocking on this site in order to fully utilize this tool.'
+});
diff --git a/webcit/tiny_mce/langs/fr_ca.js b/webcit/tiny_mce/langs/fr_ca.js
new file mode 100644 (file)
index 0000000..2023bee
--- /dev/null
@@ -0,0 +1,40 @@
+// Canadian French lang variables by Virtuelcom
+
+tinyMCE.addToLang('',{
+bold_desc : 'Gras',
+italic_desc : 'Italique',
+underline_desc : 'Souligner',
+striketrough_desc : 'Barrer',
+justifyleft_desc : 'Aligner à gauche',
+justifycenter_desc : 'Aligner au centre',
+justifyright_desc : 'Aligner à droite',
+justifyfull_desc : 'Justifier',
+bullist_desc : 'Puces',
+numlist_desc : 'Numérotation',
+outdent_desc : 'Réduire le retrait',
+indent_desc : 'Augmenter le retrait',
+undo_desc : 'Annuler la dernière action',
+redo_desc : 'Refaire la dernière action annulée',
+link_desc : 'Insérer un hyperlien',
+unlink_desc : 'Supprimer un hyperlien',
+image_desc : 'Insérer une image',
+cleanup_desc : 'Nettoyer le code',
+focus_alert : 'Un éditeur doit être sélectionné pour utiliser cette fonction.',
+edit_confirm : 'Désirez-vous utiliser l\'éditeur pour modifier cette zone?',
+insert_link_title : 'Insérer / Modifier un hyperlien',
+insert : 'Insérer',
+update : 'Insérer',
+cancel : 'Annuler',
+insert_link_url : 'Adresse URL',
+insert_link_target : 'Destination',
+insert_link_target_same : 'Ouvrir dans la même fenêtre',
+insert_link_target_blank : 'Ouvrir dans une nouvelle fenêtre',
+insert_image_title : 'Insérer / Modifier une image',
+insert_image_src : 'Adresse de l\'image',
+insert_image_alt : 'Description de l\'image',
+help_desc : 'Aide',
+bold_img : "bold_fr.gif",
+italic_img : "italic.gif",
+underline_img : "underline_fr.gif",
+clipboard_msg : 'Copier/Couper/Coller ne sont pas disponibles dans Mozilla et FireFox.\nDésirez-vous consulter de plus amples informations à ce sujet?'
+});
diff --git a/webcit/tiny_mce/langs/he.js b/webcit/tiny_mce/langs/he.js
new file mode 100644 (file)
index 0000000..49e56eb
--- /dev/null
@@ -0,0 +1,41 @@
+// HE lang variables by Liron Newman, http://eesh.net
+
+tinyMCE.addToLang('',{
+bold_desc : 'î&aring;ãâù',
+italic_desc : 'ðè&aring;é',
+underline_desc : '÷&aring; úçúé',
+striketrough_desc : '÷&aring; ç&aring;&ouml;&auml;',
+justifyleft_desc : 'éùø ìùîàì',
+justifycenter_desc : 'éùø ìîøëæ',
+justifyright_desc : 'éùø ìéîéï',
+justifyfull_desc : 'éùø ìùðé &auml;&ouml;ããéí',
+bullist_desc : 'øùéî&auml; çñøú ñãø',
+numlist_desc : 'øùéî&auml; îñ&aring;ãøú',
+outdent_desc : '&auml;÷èï ëðéñ&auml;',
+indent_desc : '&auml;âãì ëðéñ&auml;',
+undo_desc : 'áèì',
+redo_desc : 'á&ouml;ò ù&aring;á',
+link_desc : '&auml;ëðñ/òø&aring;ê ÷éù&aring;ø',
+unlink_desc : 'áèì ÷éù&aring;ø',
+image_desc : '&auml;ëðñ/òø&aring;ê úî&aring;ð&auml;',
+cleanup_desc : 'ð÷&auml; ÷&aring;ã îá&aring;ìâï',
+focus_alert : 'éù ìáç&aring;ø áùã&auml; òøéë&auml; ìôðé ùðéúï ì&auml;ùúîù áô÷&aring;ã&auml; æ&aring;.',
+edit_confirm : '&auml;àí áø&ouml;&aring;ðê ì&auml;ùúîù áî&ouml;á òøéë&auml; òùéø&auml; (WYSIWYG) òá&aring;ø ùã&auml; è÷ñè æ&auml;?',
+insert_link_title : '&auml;ëðñ/òø&aring;ê ÷éù&aring;ø',
+insert : '&auml;ëðñ',
+update : 'òãëï',
+cancel : 'áèì',
+insert_link_url : 'ëú&aring;áú (URL) &auml;÷éù&aring;ø',
+insert_link_target : 'éòã',
+insert_link_target_same : 'ôúç àú &auml;÷éù&aring;ø áà&aring;ú&aring; çì&aring;ï',
+insert_link_target_blank : 'ôúç àú &auml;÷éù&aring;ø áçì&aring;ï çãù',
+insert_image_title : '&auml;ëðñ/òø&aring;ê úî&aring;ð&auml;',
+insert_image_src : 'ëú&aring;áú (URL) &auml;úî&aring;ð&auml;',
+insert_image_alt : 'úéà&aring;ø &auml;úî&aring;ð&auml;',
+help_desc : 'òæø&auml;',
+bold_img : "bold.gif",
+italic_img : "italic.gif",
+underline_img : "underline.gif",
+clipboard_msg : 'ôò&aring;ì&aring;ú &auml;òú÷&auml;/âæéø&auml;/&auml;ãá÷&auml; àéðï ðúîë&aring;ú úçú Mozilla &aring;-Firefox.\n&auml;àí áø&ouml;&aring;ðê ì÷áì îéãò ð&aring;ñó à&aring;ã&aring;ú ð&aring;ùà æ&auml;?',
+popup_blocked : 'ñìéç&auml;, àê ùîð&aring; ìá ëé ç&aring;ñí &auml;çì&aring;ð&aring;ú &auml;÷&aring;ô&ouml;éí ùìê çñí çì&aring;ï ùî&auml;&aring;&aring;&auml; çì÷ î&auml;ééù&aring;í. ú&ouml;èøê ìáèì àú çñéîú &auml;çì&aring;ð&aring;ú &auml;÷&aring;ô&ouml;éí áàúø æ&auml; ëãé ìð&ouml;ì ëìé æ&auml; áîì&aring;à&aring;.'
+});
diff --git a/webcit/tiny_mce/langs/hu.js b/webcit/tiny_mce/langs/hu.js
new file mode 100644 (file)
index 0000000..8944f4e
--- /dev/null
@@ -0,0 +1,42 @@
+// HU lang variables
+// Edited by 2XP (2xp@dino.hu)
+
+tinyMCE.addToLang('',{
+bold_desc : 'F&#233;lk&#246;v&#233;r',
+italic_desc : 'D&#245;lt',
+underline_desc : 'Al&#225;h&#250;zott',
+striketrough_desc : '&#193;th&#250;zott',
+justifyleft_desc : 'Balra igaz&#237;t&#225;s',
+justifycenter_desc : 'K&#246;z&#233;pre igaz&#237;t&#225;s',
+justifyright_desc : 'Jobbra igaz&#237;t&#225;s',
+justifyfull_desc : 'Sorkiz&#225;rt',
+bullist_desc : 'Felsorol&#225;s',
+numlist_desc : 'Sz&#225;mozott lista',
+outdent_desc : 'Beh&#250;z&#225;s balra',
+indent_desc : 'Beh&#250;z&#225;s jobbra',
+undo_desc : 'Visszavon&#225;s',
+redo_desc : 'Ism&#233;tl&#233;s',
+link_desc : 'Link felv&#233;tele',
+unlink_desc : 'Link t&#246;rl&#233;se',
+image_desc : 'K&#233;p beilleszt&#233;se',
+cleanup_desc : 'K&#243;d tiszt&#237;t&#225;sa',
+focus_alert : 'Miel\u00F5tt haszn\u00E1lja ezt a funkci\u00F3t, ki kell jel\u00F6lnie a szerkeszteni k\u00EDv\u00E1nt ter\u00FCletet.',
+edit_confirm : 'K\u00EDv\u00E1nja a WYSIWYG m\u00F3dot erre a sz\u00F6vegter\u00FCletre alkalmazni??',
+insert_link_title : 'Link beilleszt&#233;se/szerkeszt&#233;se',
+insert : 'Beilleszt&#233;s',
+update : 'Beilleszt&#233;s',
+cancel : 'M&#233;gsem',
+insert_link_url : 'Link URL',
+insert_link_target : 'C&#233;l',
+insert_link_target_same : 'Link megnyit&#225;sa azonos ablakban',
+insert_link_target_blank : 'Link megnyit&#225;sa &#250;j ablakban',
+insert_image_title : 'K&#233;p beilleszt&#233;se/szerkeszt&#233;se',
+insert_image_src : 'K&#233;p URL',
+insert_image_alt : 'K&#233;ple&#237;r&#225;s',
+help_desc : 'Seg&#237;t&#233;g',
+bold_img : 'bold.gif',
+italic_img : 'italic.gif',
+underline_img : "underline.gif",
+clipboard_msg : 'Copy/Cut/Paste is not available in Mozilla and Firefox.\nDo you want more information about this issue?',
+popup_blocked : 'Sorry, but we have noticed that your popup-blocker has disabled a window that provides application functionality. You will need to disable popup blocking on this site in order to fully utilize this tool.'
+});
diff --git a/webcit/tiny_mce/langs/it.js b/webcit/tiny_mce/langs/it.js
new file mode 100644 (file)
index 0000000..c83a0d7
--- /dev/null
@@ -0,0 +1,41 @@
+// Variabili lingua IT - fabrix.xm@lombardiacom.it
+
+tinyMCE.addToLang('',{
+bold_desc : 'Grassetto',
+italic_desc : 'Corsivo',
+underline_desc : 'Sottolineato',
+striketrough_desc : 'Barrato',
+justifyleft_desc : 'Allinea a sinistra',
+justifycenter_desc : 'Allinea centrato',
+justifyright_desc : 'Allinea a destra',
+justifyfull_desc : 'Giustifica',
+bullist_desc : 'Lista non ordinata',
+numlist_desc : 'Lista ordinata',
+outdent_desc : 'Rientra',
+indent_desc : 'Indenta',
+undo_desc : 'Annulla',
+redo_desc : 'Ripeti',
+link_desc : 'Inserisci link',
+unlink_desc : 'Elimina link',
+image_desc : 'Inserisci immagine',
+cleanup_desc : 'Pulisci il  codice',
+focus_alert : 'Una istanza dell\' editor deve essere selezionata prima di usare questo comando.',
+edit_confirm : 'Vuoi usare la modalit\u00E0 WYSIWYG per questa textarea?',
+insert_link_title : 'Inserisci/modifica link',
+insert : 'Inserisci',
+update : 'Inserisci',
+cancel : 'Cancella',
+insert_link_url : 'Link URL',
+insert_link_target : 'Target',
+insert_link_target_same : 'Apri il link nella stessa finestra',
+insert_link_target_blank : 'Apri il link in una nuova finestra',
+insert_image_title : 'Inserisci/modifica immagine',
+insert_image_src : 'URL immagine',
+insert_image_alt : 'Descrizione dell\'immagine',
+help_desc : 'Guida',
+bold_img : "bold.gif",
+italic_img : "italic.gif",
+underline_img : "underline.gif",
+clipboard_msg : 'Copy/Cut/Paste is not available in Mozilla and Firefox.\nDo you want more information about this issue?',
+popup_blocked : 'Sorry, but we have noticed that your popup-blocker has disabled a window that provides application functionality. You will need to disable popup blocking on this site in order to fully utilize this tool.'
+});
diff --git a/webcit/tiny_mce/langs/ja.js b/webcit/tiny_mce/langs/ja.js
new file mode 100644 (file)
index 0000000..dc796cb
--- /dev/null
@@ -0,0 +1,41 @@
+// JP lang variables
+
+tinyMCE.addToLang('',{
+bold_desc : '\e$BB@;z\e(B',
+italic_desc : '\e$B<PBN\e(B',
+underline_desc : '\e$B2<@~\e(B',
+striketrough_desc : '\e$BKu>C@~\e(B',
+justifyleft_desc : '\e$B:85M$a\e(B',
+justifycenter_desc : '\e$BCf1{9g$o$;\e(B',
+justifyright_desc : '\e$B1&5M$a\e(B',
+justifyfull_desc : '\e$B9TB7$(\e(B',
+bullist_desc : '\e$B2U>r=q\e(B',
+numlist_desc : '\e$BHV9fIU$-2U>r=q\e(B',
+outdent_desc : '\e$B;z>e$2\e(B',
+indent_desc : '\e$B;z2<$2\e(B',
+undo_desc : '\e$B$d$j$J$*$7\e(B',
+redo_desc : '\e$B:F<B9T\e(B',
+link_desc : '\e$B%j%s%/$NA^F~\e(B/\e$BJT=8\e(B',
+unlink_desc : '\e$B%j%s%/$N:o=|\e(B',
+image_desc : '\e$B2hA|$NA^F~\e(B/\e$BJT=8\e(B',
+cleanup_desc : '\e$B%3!<%I@0M}\e(B',
+focus_alert : '\e$B$3$N%3%^%s%I$r;H$&A0$K%(%G%#%?>e$N$I$3$+$rA*Br$9$kI,MW$,$"$j$^$9!#\e(B',
+edit_confirm : 'WYSIWYG\e$B%b!<%I$G$3$N%F%-%9%H%(%j%"$rJT=8$7$^$9$+!)\e(B',
+insert_link_title : '\e$B%j%s%/$NA^F~\e(B/\e$BJT=8\e(B',
+insert : '\e$BA^F~\e(B',
+update : '\e$BA^F~\e(B',
+cancel : '\e$B<h$j>C$7\e(B',
+insert_link_url : '\e$B%j%s%/@h\e(BURL',
+insert_link_target : '\e$B%?!<%2%C%H\e(B',
+insert_link_target_same : '\e$BF1$8Ak$G%j%s%/$r3+$/\e(B',
+insert_link_target_blank : '\e$B?7$7$$Ak$G%j%s%/$r3+$/\e(B',
+insert_image_title : '\e$B2hA|$NA^F~\e(B/\e$BJT=8\e(B',
+insert_image_src : '\e$B2hA|$N\e(BURL',
+insert_image_alt : '\e$B2hA|$N@bL@\e(B',
+help_desc : '\e$B%X%k%W\e(B',
+bold_img : "bold.gif",
+italic_img : "italic.gif",
+underline_img : "underline.gif",
+clipboard_msg : 'Copy/Cut/Paste is not available in Mozilla and Firefox.\nDo you want more information about this issue?',
+popup_blocked : 'Sorry, but we have noticed that your popup-blocker has disabled a window that provides application functionality. You will need to disable popup blocking on this site in order to fully utilize this tool.'
+});
diff --git a/webcit/tiny_mce/langs/ko.js b/webcit/tiny_mce/langs/ko.js
new file mode 100644 (file)
index 0000000..48d5386
--- /dev/null
@@ -0,0 +1,40 @@
+// KO lang variables by Setzer Gabbiani
+
+tinyMCE.addToLang('',{
+bold_desc : 'ÁøÇÏ°Ô',
+italic_desc : '±â¿ïÀÓ',
+underline_desc : '¹ØÁÙ',
+striketrough_desc : '°¡·ÎÁÙ',
+justifyleft_desc : '¿ÞÂÊ Á¤·&Auml;',
+justifycenter_desc : '°¡¿îµ¥ Á¤·&Auml;',
+justifyright_desc : '¿À¸¥ÂÊ Á¤·&Auml;',
+justifyfull_desc : '¾çÂÊ Á¤·&Auml;',
+bullist_desc : '¸ñÂ÷ ¸&Aring;±â±â',
+numlist_desc : '¹øÈ£ ¸&Aring;±â±â',
+outdent_desc : '³»¾î¾²±â',
+indent_desc : 'µé¿©¾²±â',
+undo_desc : '½ÇÇàÃë¼Ò',
+redo_desc : 'Àç½ÇÇà',
+link_desc : '¸µ&Aring;© ³&Ouml;±â/°í&Auml;¡±â',
+unlink_desc : '¸µ&Aring;© ÇØÁ¦',
+image_desc : '±×¸² ³&Ouml;±â/°í&Auml;¡±â',
+cleanup_desc : '&Auml;Úµ&aring;¸¦ ±ò²ûÇÏ°Ô',
+focus_alert : 'ÀÌ ¸í·ÉÀ» ½ÇÇàÇϱâ Àü¿¡ ¹Ýµ&aring;½Ã ¿¡µð&Aring;Í ³»ÀÇ ¾îµò°¡¿¡ &Auml;¿¼­°¡ À&Ouml;¾î¾ß ÇÕ´Ï´Ù.',
+edit_confirm : 'ÀÌ &Aring;ؽºÆ® ¹Ú½º¿¡¼­ HTML ¿¡µð&Aring;͸¦ »ç¿ëÇϱ栿øÇϽʴϱî?',
+insert_link_title : '¸µ&Aring;© ³&Ouml;±â/°í&Auml;¡±â',
+insert : '»ðÀÔ',
+update : '»ðÀÔ',
+cancel : 'Ãë¼Ò',
+insert_link_url : 'URL ¸µ&Aring;©',
+insert_link_target : '&Aring;¸°Ù',
+insert_link_target_same : '°°Àº Ã¢¿¡¼­ ¸µ&Aring;© ¿­±â',
+insert_link_target_blank : '»õ Ã¢¿¡¼­ ¸µ&Aring;© ¿­±â',
+insert_image_title : '±×¸² ³&Ouml;±â/°í&Auml;¡±â',
+insert_image_src : '±×¸² URL',
+insert_image_alt : '±×¸² ¼³¸í',
+help_desc : 'µµ¿ò¸»',
+bold_img : "bold.gif",
+italic_img : "italic.gif",
+underline_img : "underline.gif",
+popup_blocked : 'Sorry, but we have noticed that your popup-blocker has disabled a window that provides application functionality. You will need to disable popup blocking on this site in order to fully utilize this tool.'
+});
diff --git a/webcit/tiny_mce/langs/nl.js b/webcit/tiny_mce/langs/nl.js
new file mode 100644 (file)
index 0000000..dd28df8
--- /dev/null
@@ -0,0 +1,41 @@
+// NL lang variables thanks to "Meint Post"
+
+tinyMCE.addToLang('',{
+bold_desc : 'Vet',
+italic_desc : 'Schuin',
+underline_desc : 'Onderstrepen',
+striketrough_desc : 'Doorhalen',
+justifyleft_desc : 'Links uitlijnen',
+justifycenter_desc : 'Centreren',
+justifyright_desc : 'Rechts uitlijnen',
+justifyfull_desc : 'Volledig uitlijnen',
+bullist_desc : 'Ongeordende lijst',
+numlist_desc : 'Geordende lijst',
+outdent_desc : 'Uitspringen',
+indent_desc : 'Inspringen',
+undo_desc : 'Ongedaan maken',
+redo_desc : 'Opnieuw uitvoeren',
+link_desc : 'Link invoegen',
+unlink_desc : 'Link verwijderen',
+image_desc : 'Afbeelding invoegen',
+cleanup_desc : 'Slordige code verbeteren',
+focus_alert : 'Verplaats de focus naar de editor voor het uitvoeren van dit commado.',
+edit_confirm : 'Wilt u de WYSIWYG mode voor deze textarea gebruiken?',
+insert_link_title : 'Link invoegen/bewerken',
+insert : 'Invoegen',
+update : 'Bewerken',
+cancel : 'Afbreken',
+insert_link_url : 'URL link',
+insert_link_target : 'Bestemming',
+insert_link_target_same : 'Open link in hetzelfde venster',
+insert_link_target_blank : 'Open link in een nieuw venster',
+insert_image_title : 'Afbeelding invoegen/bewerken',
+insert_image_src : 'Afbeelding',
+insert_image_alt : 'Beschrijving',
+help_desc : 'Help',
+bold_img : "bold.gif",
+italic_img : "italic.gif",
+underline_img : "underline.gif",
+clipboard_msg : 'Copy/Cut/Paste is not available in Mozilla and Firefox.\nDo you want more information about this issue?',
+popup_blocked : 'Sorry, but we have noticed that your popup-blocker has disabled a window that provides application functionality. You will need to disable popup blocking on this site in order to fully utilize this tool.'
+});
diff --git a/webcit/tiny_mce/langs/no.js b/webcit/tiny_mce/langs/no.js
new file mode 100644 (file)
index 0000000..fd90c8c
--- /dev/null
@@ -0,0 +1,40 @@
+// NO lang variables made by Sten Aksel Heien
+
+tinyMCE.addToLang('',{
+bold_desc : 'Uthevet',
+italic_desc : 'Kursiv',
+underline_desc : 'Understreket',
+striketrough_desc : 'Gjennomstreket',
+justifyleft_desc : 'Vensterestille',
+justifycenter_desc : 'Sentrere',
+justifyright_desc : 'Høyerestille',
+justifyfull_desc : 'Fyll',
+bullist_desc : 'Punktliste',
+numlist_desc : 'Nummerliste',
+outdent_desc : 'Undrag',
+indent_desc : 'Indrag',
+undo_desc : 'Angre',
+redo_desc : 'Gjør om',
+link_desc : 'Opprett/endre lenke',
+unlink_desc : 'Fjern lenke',
+image_desc : 'Sett inn/endre bilde',
+cleanup_desc : 'Rens grisete kode',
+focus_alert : 'Editoren m&aring; være i fokus før du benytter denne kommando.',
+edit_confirm : 'Vil du benytte WYSIWYG editoren for dette tekstfelt?',
+insert_link_title : 'Opprett/endre lenke',
+insert : 'Opprett',
+update : 'Opprett',
+cancel : 'Avbryt',
+insert_link_url : 'Lenkens URL',
+insert_link_target : 'Vindu',
+insert_link_target_same : '&Aring;pne i samme vindu',
+insert_link_target_blank : '&Aring;pne i nytt vindu',
+insert_image_title : 'Opprett/endre bilde',
+insert_image_src : 'Bildets URL',
+insert_image_alt : 'Bildets beskrivelse',
+help_desc : 'Hjelp',
+bold_img : 'bold_de_se.gif',
+italic_img : 'italic_de_se.gif',
+underline_img : 'underline.gif',
+popup_blocked : 'Sorry, but we have noticed that your popup-blocker has disabled a window that provides application functionality. You will need to disable popup blocking on this site in order to fully utilize this tool.'
+});
diff --git a/webcit/tiny_mce/langs/pl.js b/webcit/tiny_mce/langs/pl.js
new file mode 100644 (file)
index 0000000..4f28455
--- /dev/null
@@ -0,0 +1,41 @@
+// PL lang variables
+
+tinyMCE.addToLang('',{
+bold_desc : 'Pogrubienie',
+italic_desc : 'Kursywa',
+underline_desc : 'Podkreslenie',
+striketrough_desc : 'Przekreslenie',
+justifyleft_desc : 'Otaczanie z lewej',
+justifycenter_desc : 'Wysrodkowanie',
+justifyright_desc : 'Otaczanie z prawej',
+justifyfull_desc : 'Justowanie',
+bullist_desc : 'Lista nie numerowana',
+numlist_desc : 'Lista numerowana',
+outdent_desc : 'Zmniejsz wciecie',
+indent_desc : 'Zwieksz wciecie',
+undo_desc : 'Cofnij',
+redo_desc : 'Ponów',
+link_desc : 'Wstaw/Edytuj link',
+unlink_desc : 'Skasuj link',
+image_desc : 'Wstaw/Edytuj obrazek',
+cleanup_desc : 'Wyczysc niepotrzebny kod',
+focus_alert : 'Musisz zaznaczyc cokolwiek przed uzyciem tej komendy.',
+edit_confirm : 'Czy chcesz uzyc edytora WYSIWIG dla tego pola ?',
+insert_link_title : 'Wstaw/Edytuj Link',
+insert : 'Wstaw',
+update : 'Zmien',
+cancel : 'Wyjdz',
+insert_link_url : 'Adres URL',
+insert_link_target : 'Cel',
+insert_link_target_same : 'Otwórz w tym samym oknie',
+insert_link_target_blank : 'Otwórz w nowym oknie',
+insert_image_title : 'Wstaw/Edytuj obrazek',
+insert_image_src : 'Adres URL obrazka',
+insert_image_alt : 'Opis obrazka',
+help_desc : 'Pomoc',
+bold_img : "bold.gif",
+italic_img : "italic.gif",
+underline_img : "underline.gif",
+clipboard_msg : 'Kopiowanie/Wycinanie/Wklejanie nie jest obslugiwane w przegladarkach Mozilla and Firefox.\nPotrzebujesz wiecej informacji na ten temat?',
+popup_blocked : 'Sorry, but we have noticed that your popup-blocker has disabled a window that provides application functionality. You will need to disable popup blocking on this site in order to fully utilize this tool.'
+});
diff --git a/webcit/tiny_mce/langs/pt.js b/webcit/tiny_mce/langs/pt.js
new file mode 100644 (file)
index 0000000..9e9cc26
--- /dev/null
@@ -0,0 +1,42 @@
+// PT lang variables
+
+tinyMCE.addToLang('',{
+bold_desc : 'Negrito',
+italic_desc : 'Itálico',
+underline_desc : 'Sublinhar',
+striketrough_desc : 'Riscado',
+justifyleft_desc : 'Alinhar á esquerda',
+justifycenter_desc : 'Alinhar ao centro',
+justifyright_desc : 'Alinhar á direita',
+justifyfull_desc : 'Justificado',
+bullist_desc : 'Lista não ordenada',
+numlist_desc : 'Lista ordenada',
+outdent_desc : 'Retirar indentação',
+indent_desc : 'Indentar',
+undo_desc : 'Desfazer',
+redo_desc : 'Refazer',
+link_desc : 'Inserir Hiperligação',
+unlink_desc : 'Remover hiperligação',
+image_desc : 'Inserir Referência a imagem externa',
+object_desc : 'Inserir Objecto Multimédia da Galeria',
+cleanup_desc : 'Limpeza de código',
+focus_alert : 'Uma instância do editor deverá estar seleccionada antes de utilizar este comando.',
+edit_confirm : 'Deseja utilizar o modo visual de edição para ezta área de texto?',
+insert_link_title : 'Inserir/editar hiperligação',
+insert : 'Inserir',
+update : 'Actualizar',
+cancel : 'Cancelar',
+insert_link_url : 'URL de hiperligação',
+insert_link_target : 'Destino',
+insert_link_target_same : 'Abrir endereço na mesma janela',
+insert_link_target_blank : 'Abrir endereço numa nova janela',
+insert_image_title : 'Inserir/editar imagem',
+insert_image_src : 'Endereço da imagem',
+insert_image_alt : 'Descrição alt.',
+help_desc : 'Ajuda',
+bold_img : "bold.gif",
+italic_img : "italic.gif",
+underline_img : "underline.gif",
+clipboard_msg : 'Copiar/Cortar/Colar não está disponível em Mozilla and Firefox.\nPretende obter mais informação acerca desta questão?',
+popup_blocked : 'Sorry, but we have noticed that your popup-blocker has disabled a window that provides application functionality. You will need to disable popup blocking on this site in order to fully utilize this tool.'
+});
diff --git a/webcit/tiny_mce/langs/pt_br.js b/webcit/tiny_mce/langs/pt_br.js
new file mode 100644 (file)
index 0000000..d000c05
--- /dev/null
@@ -0,0 +1,42 @@
+// PT lang variables
+
+tinyMCE.addToLang('',{
+bold_desc : 'Negrito',
+italic_desc : 'Itálico',
+underline_desc : 'Sublinhar',
+striketrough_desc : 'Riscado',
+justifyleft_desc : 'Alinhar à esquerda',
+justifycenter_desc : 'Alinhar ao centro',
+justifyright_desc : 'Alinhar à direita',
+justifyfull_desc : 'Justificado',
+bullist_desc : 'Lista não ordenada',
+numlist_desc : 'Lista ordenada',
+outdent_desc : 'Retirar indentação',
+indent_desc : 'Indentar',
+undo_desc : 'Desfazer',
+redo_desc : 'Refazer',
+link_desc : 'Inserir Hiperligação',
+unlink_desc : 'Remover hiperligação',
+image_desc : 'Inserir Referência a imagem externa',
+object_desc : 'Inserir Objeto Multimídia da Galeria',
+cleanup_desc : 'Limpeza de código',
+focus_alert : 'Uma instância do editor deverá estar selecionada antes de utilizar este comando.',
+edit_confirm : 'Deseja utilizar o modo visual de edição para ezta área de texto?',
+insert_link_title : 'Inserir/editar hiperligação',
+insert : 'Inserir',
+update : 'Atualizar',
+cancel : 'Cancelar',
+insert_link_url : 'URL de hiperligação',
+insert_link_target : 'Destino',
+insert_link_target_same : 'Abrir endereço na mesma janela',
+insert_link_target_blank : 'Abrir endereço numa nova janela',
+insert_image_title : 'Inserir/editar imagem',
+insert_image_src : 'Endereço da imagem',
+insert_image_alt : 'Descrição alt.',
+help_desc : 'Ajuda',
+bold_img : "bold.gif",
+italic_img : "italic.gif",
+underline_img : "underline.gif",
+clipboard_msg : 'Copiar/Cortar/Colar não está disponível no Mozilla e Firefox.\nPretende obter mais informação acerca desta questão?',
+popup_blocked : 'Sorry, but we have noticed that your popup-blocker has disabled a window that provides application functionality. You will need to disable popup blocking on this site in order to fully utilize this tool.'
+});
diff --git a/webcit/tiny_mce/langs/readme.txt b/webcit/tiny_mce/langs/readme.txt
new file mode 100644 (file)
index 0000000..2e1965c
--- /dev/null
@@ -0,0 +1,2 @@
+The language pack codes are based on ISO-639-2
+http://www.loc.gov/standards/iso639-2/englangn.html
diff --git a/webcit/tiny_mce/langs/ru.js b/webcit/tiny_mce/langs/ru.js
new file mode 100644 (file)
index 0000000..55f3c68
--- /dev/null
@@ -0,0 +1,43 @@
+// Russian translation by Roman Filippov
+// romanf@terrahost.ca
+// www.hunox.ca
+
+tinyMCE.addToLang('',{
+bold_desc : 'Ïîëóæèðíûé',
+italic_desc : 'Êóðñèâ',
+underline_desc : 'Ïî&auml;÷&aring;ðêèâàíè&aring;',
+striketrough_desc : 'Ï&aring;ð&aring;÷&aring;ðêèâàíè&aring;',
+justifyleft_desc : 'Âûðâíèâàíè&aring; âë&aring;âî',
+justifycenter_desc : 'Âûðâíèâàíè&aring; ïî &ouml;&aring;íòðó',
+justifyright_desc : 'Âûðâíèâàíè&aring; âïðàâî',
+justifyfull_desc : 'Âûðâíèâàíè&aring; ðàâíîì&aring;ðíî',
+bullist_desc : 'Ìàðêèðîâàííûé ñïèñîê',
+numlist_desc : 'Íóì&aring;ðîâàííûé ñïèñîê',
+outdent_desc : 'Óì&aring;íüøèòü îòñòóï',
+indent_desc : 'Óâ&aring;ëè÷èòü îòñïóò',
+undo_desc : 'Îòì&aring;íèòü',
+redo_desc : 'Â&aring;ðíóòü',
+link_desc : 'Âñòàâèòü/èçì&aring;íèòü ññûëêó',
+unlink_desc : 'Óáðàòü ññûëêó',
+image_desc : 'Âñòàâèòü/èçì&aring;íèòü èçîáðàæ&aring;íè&aring;',
+cleanup_desc : 'Âû÷èñòèòü ãðÿçíûé êî&auml;',
+focus_alert : 'Âû &auml;îëæíû íàõî&auml;èòñÿ â ïîë&aring; ð&aring;&auml;àêòîðà ï&aring;ð&aring;&auml; èñïîëüçîâàíè&aring;ì &auml;àííîé êîìàí&auml;û.',
+edit_confirm : 'Õîòèò&aring; ëè Âû âîñïîëüçîâàòüñÿ WYSIWYG ð&aring;&auml;àêòîðîì &auml;ëÿ ýòîãî ïîëÿ ââî&auml;à?',
+insert_link_title : 'Âñòàâèòü/èçì&aring;íèòü ññûëêó',
+insert : 'Âñòàâèòü',
+update : 'Âñòàâèòü',
+cancel : 'Îòì&aring;íèòü',
+insert_link_url : 'À&auml;ð&aring;ñ',
+insert_link_target : 'Îòêðûòü â...:',
+insert_link_target_same : 'òîì æ&aring; îêí&aring;',
+insert_link_target_blank : 'íîâîì îêí&aring;',
+insert_image_title : 'Âñòàâèòü/èçì&aring;íèòü èçîáðàæ&aring;íè&aring;',
+insert_image_src : 'À&auml;ð&aring;ñ',
+insert_image_alt : 'Îïèñàíè&aring;',
+help_desc : 'Ïîìîùü',
+bold_img : "bold_ru.gif",
+italic_img : "italic_ru.gif",
+underline_img : "underline_ru.gif",
+clipboard_msg : 'Copy/Cut/Paste is not available in Mozilla and Firefox.\nDo you want more information about this issue?',
+popup_blocked : 'Sorry, but we have noticed that your popup-blocker has disabled a window that provides application functionality. You will need to disable popup blocking on this site in order to fully utilize this tool.'
+});
diff --git a/webcit/tiny_mce/langs/sv.js b/webcit/tiny_mce/langs/sv.js
new file mode 100644 (file)
index 0000000..22feb7e
--- /dev/null
@@ -0,0 +1,43 @@
+// SE lang variables
+
+tinyMCE.addToLang('',{
+bold_desc : 'Fet',
+italic_desc : 'Kursiv',
+underline_desc : 'Understruken',
+striketrough_desc : 'Genomstruken',
+justifyleft_desc : 'V&auml;nsterjustera',
+justifycenter_desc : 'Centrera',
+justifyright_desc : 'H&ouml;gerjustera',
+justifyfull_desc : 'Kantjustera',
+bullist_desc : 'Punktlista',
+numlist_desc : 'Nummerlista',
+outdent_desc : 'Utdrag',
+indent_desc : 'Indrag',
+undo_desc : '&Aring;ngra',
+redo_desc : 'G&ouml;r om',
+link_desc : 'Skapa l&auml;nk',
+unlink_desc : 'Ta bort l&auml;nk',
+image_desc : 'Skapa/redigera bild',
+cleanup_desc : 'Rensa skr&auml;pkod',
+focus_alert : 'Flytta mark&ouml;ren till en textyta innan du anv&auml;nder detta kommando.',
+edit_confirm : 'Vill du anv&auml;nda WYSIWYG-editorn f&ouml;r detta textf&auml;lt?',
+insert_link_title : 'Skapa/redigera l&auml;nk',
+insert : 'Skapa',
+update : 'Uppdatera',
+cancel : 'Avbryt',
+insert_link_url : 'L&auml;nkens URL',
+insert_link_target : 'F&ouml;nster',
+insert_link_target_same : '&Ouml;ppna l&auml;nken i samma f&ouml;nster',
+insert_link_target_blank : '&Ouml;ppna l&auml;nken i ett nytt f&ouml;nster',
+insert_link_delta_width : 20,
+insert_link_delta_height : 10,
+insert_image_title : 'Skapa/redigera bild',
+insert_image_src : 'Bildens URL',
+insert_image_alt : 'Bildens beskrivning',
+bold_img : 'bold_de_se.gif',
+italic_img : 'italic_de_se.gif',
+underline_img : "underline.gif",
+clipboard_msg : 'Klipput/Kopiera/Klistra fungerar inte Mozilla och Firefox. Vill du veta mer om detta?',
+help_desc : "Hj&auml;lp",
+popup_blocked : 'Sorry, but we have noticed that your popup-blocker has disabled a window that provides application functionality. You will need to disable popup blocking on this site in order to fully utilize this tool.'
+});
diff --git a/webcit/tiny_mce/langs/th.js b/webcit/tiny_mce/langs/th.js
new file mode 100644 (file)
index 0000000..3b78806
--- /dev/null
@@ -0,0 +1,40 @@
+// TH lang variables Thai contributed by Innozent
+
+tinyMCE.addToLang('',{
+bold_desc : 'µÑÇ˹Ò',
+italic_desc : 'µÑÇéàÍÕ§',
+underline_desc : '¢Õ´àÊé¹ãµé',
+striketrough_desc : '¢Õ´¤&Aring;èÍÁ',
+justifyleft_desc : 'ªÔ´¢Íº«éÒÂ',
+justifycenter_desc : '¡&Ouml;觡&Aring;Ò§',
+justifyright_desc : 'ªÔ´¢Íº¢ÇÒ',
+justifyfull_desc : '¨Ñ´ªÔ´¢Íº',
+bullist_desc : 'ÊÑ­&Aring;ѡɳìáÊ´§ËÑÇ¢éÍÂèÍÂ',
+numlist_desc : '&Aring;ӴѺà&Aring;¢',
+outdent_desc : '&Aring;´¡ÒÃàÂ×éͧ',
+indent_desc : 'à¾ÔèÁ¡ÒÃàÂ×éͧ',
+undo_desc : 'à&Aring;Ô¡·Ó',
+redo_desc : '·ÓãËÁè',
+link_desc : 'à¾ÔèÁ&Aring;Ô§¤ì',
+unlink_desc : '&Aring;º&Aring;Ô§¤ì',
+image_desc : 'ãÊèÃÙ»',
+cleanup_desc : '·Ó¤ÇÒÁÊÐÍÒ´¢éͤÇÒÁ',
+focus_alert : 'µéͧà&Aring;×Í¡¡&Aring;èͧ¢éͤÇÒÁ¡è͹·Õè¨Ðãªé¤ÓÊÑ觹Õé',
+edit_confirm : '¤Ø³µéͧ¡Ò÷Õè¨Ðãªé WYSIWYG mode ÊÓËÃѺ¡&Aring;èͧ¢éͤÇÒÁ¹ÕéËÃ×Í&auml;Áè?',
+insert_link_title : 'à¾ÔèÁ/á¡é&auml;¢ &Aring;Ô§¤ì',
+insert : 'à¾ÔèÁ',
+cancel : '¡à&Aring;Ô¡',
+insert_link_url : 'Link URL',
+insert_link_target : 'à»Ô´&Aring;Ô§¤ìã¹',
+insert_link_target_same : '˹éÒµèÒ§à´ÕÂǡѹ',
+insert_link_target_blank : '˹éÒµèÒ§ãËÁè',
+insert_image_title : 'à¾ÔèÁ/á¡é&auml;¢ ÃÙ»',
+insert_image_src : 'URL ¢Í§ÃÙ»',
+insert_image_alt : '¤Ó͸ԺÒÂÃÙ»',
+help_desc : 'ªèÇÂàË&Aring;×Í',
+bold_img : "bold.gif",
+italic_img : "italic.gif",
+underline_img : "underline.gif",
+clipboard_msg : 'Copy/Cut/Paste is not available in Mozilla and Firefox.\nDo you want more information about this issue?',
+popup_blocked : 'Sorry, but we have noticed that your popup-blocker has disabled a window that provides application functionality. You will need to disable popup blocking on this site in order to fully utilize this tool.'
+});
diff --git a/webcit/tiny_mce/langs/zh_cn.js b/webcit/tiny_mce/langs/zh_cn.js
new file mode 100644 (file)
index 0000000..7e9803d
--- /dev/null
@@ -0,0 +1,42 @@
+// Simplified Chinese lang variables contributed by cube316 (cube316@gmail.com)
+//Çë·ÃÎÊ http://www.cube316.net/ ÒÔ»ñÈ¡TinyMCEµ&Auml;&Ouml;ÐÎ&Auml;&Ouml;§³&Ouml;
+
+tinyMCE.addToLang('',{
+bold_desc : '´&Ouml;Ì&aring;',
+italic_desc : 'бÌ&aring;',
+underline_desc : 'Ï»®Ïß',
+striketrough_desc : 'ɾ³ýÏß',
+justifyleft_desc : '×ó¶ÔÆë',
+justifycenter_desc : '¾Ó&Ouml;жÔÆë',
+justifyright_desc : 'ÓÒ¶ÔÆë',
+justifyfull_desc : 'Á½¶Ë¶ÔÆë',
+bullist_desc : 'ÎÞÐòÁбí',
+numlist_desc : 'ÓÐÐòÁбí',
+outdent_desc : '¼õÉÙËõ½ø',
+indent_desc : 'Ô&ouml;¼ÓËõ½ø',
+undo_desc : '³·Ïû',
+redo_desc : '&Ouml;Ø×&ouml;',
+link_desc : '²&aring;Èë/±à¼­ Á´½Ó',
+unlink_desc : 'ɾ³ýÁ´½Ó',
+image_desc : '²&aring;Èë/±à¼­ Í¼Ïñ',
+cleanup_desc : 'Ç&aring;³ýÈßÓà´úÂë',
+focus_alert : 'ÔÚʹÓôËÃüÁîÇ°&Auml;³¸&ouml;±à¼­Æ÷±ØÐëÏÈ»ñµÃ½¹µã£¡',
+edit_confirm : '&Auml;ãÏëÔÚ´ËTextAreaÉÏʹÓÃËù¼û¼´ËùµÃ±à¼­Æ÷ô£¿',
+insert_link_title : '²&aring;Èë/±à¼­ Á´½Ó',
+insert : '²&aring;Èë',
+update : '¸üÐÂ',
+cancel : 'È¡Ïû',
+insert_link_url : 'Á´½ÓµØ&Ouml;·',
+insert_link_target : '&Auml;¿±ê',
+insert_link_target_same : 'ÔÚͬһ´°¿Ú&Ouml;дò¿ªÁ´½Ó',
+insert_link_target_blank : 'ÔÚд°¿Ú&Ouml;дò¿ªÁ´½Ó',
+insert_image_title : '²&aring;Èë/±à¼­ Í¼Ïñ',
+insert_image_src : 'ͼÏñµØ&Ouml;·',
+insert_image_alt : 'ͼÏñÃèÊ&ouml;',
+help_desc : '°ï&Ouml;ú',
+bold_img : "bold.gif",
+italic_img : "italic.gif",
+underline_img : "underline.gif",
+clipboard_msg : '¼ôÇÐ/¸´&Ouml;Æ/Õ³Ìù¹¦&Auml;ÜÔÚMozillaºÍFirefoxÉÏÉв»¿ÉÓá£\n&Auml;ãÏëÁ˽â¹ØÓÚÕâ¸&ouml;ÎÊÌâµ&Auml;¸ü¶àÐ&Aring;Ï¢Âð£¿',
+popup_blocked : 'Sorry, but we have noticed that your popup-blocker has disabled a window that provides application functionality. You will need to disable popup blocking on this site in order to fully utilize this tool.'
+});
diff --git a/webcit/tiny_mce/license.txt b/webcit/tiny_mce/license.txt
new file mode 100644 (file)
index 0000000..32c3aa4
--- /dev/null
@@ -0,0 +1,437 @@
+                 GNU LIBRARY GENERAL PUBLIC LICENSE
+                      Version 2, June 1991
+
+ Copyright (C) 1991 Free Software Foundation, Inc.
+ 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+[This is the first released version of the library GPL.  It is
+ numbered 2 because it goes with version 2 of the ordinary GPL.]
+
+                           Preamble
+
+  The licenses for most software are designed to take away your
+freedom to share and change it.  By contrast, the GNU General Public
+Licenses are intended to guarantee your freedom to share and change
+free software--to make sure the software is free for all its users.
+
+  This license, the Library General Public License, applies to some
+specially designated Free Software Foundation software, and to any
+other libraries whose authors decide to use it.  You can use it for
+your libraries, too.
+
+  When we speak of free software, we are referring to freedom, not
+price.  Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+this service if you wish), that you receive source code or can get it
+if you want it, that you can change the software or use pieces of it
+in new free programs; and that you know you can do these things.
+
+  To protect your rights, we need to make restrictions that forbid
+anyone to deny you these rights or to ask you to surrender the rights.
+These restrictions translate to certain responsibilities for you if
+you distribute copies of the library, or if you modify it.
+
+  For example, if you distribute copies of the library, whether gratis
+or for a fee, you must give the recipients all the rights that we gave
+you.  You must make sure that they, too, receive or can get the source
+code.  If you link a program with the library, you must provide
+complete object files to the recipients so that they can relink them
+with the library, after making changes to the library and recompiling
+it.  And you must show them these terms so they know their rights.
+
+  Our method of protecting your rights has two steps: (1) copyright
+the library, and (2) offer you this license which gives you legal
+permission to copy, distribute and/or modify the library.
+
+  Also, for each distributor's protection, we want to make certain
+that everyone understands that there is no warranty for this free
+library.  If the library is modified by someone else and passed on, we
+want its recipients to know that what they have is not the original
+version, so that any problems introduced by others will not reflect on
+the original authors' reputations.
+.
+  Finally, any free program is threatened constantly by software
+patents.  We wish to avoid the danger that companies distributing free
+software will individually obtain patent licenses, thus in effect
+transforming the program into proprietary software.  To prevent this,
+we have made it clear that any patent must be licensed for everyone's
+free use or not licensed at all.
+
+  Most GNU software, including some libraries, is covered by the ordinary
+GNU General Public License, which was designed for utility programs.  This
+license, the GNU Library General Public License, applies to certain
+designated libraries.  This license is quite different from the ordinary
+one; be sure to read it in full, and don't assume that anything in it is
+the same as in the ordinary license.
+
+  The reason we have a separate public license for some libraries is that
+they blur the distinction we usually make between modifying or adding to a
+program and simply using it.  Linking a program with a library, without
+changing the library, is in some sense simply using the library, and is
+analogous to running a utility program or application program.  However, in
+a textual and legal sense, the linked executable is a combined work, a
+derivative of the original library, and the ordinary General Public License
+treats it as such.
+
+  Because of this blurred distinction, using the ordinary General
+Public License for libraries did not effectively promote software
+sharing, because most developers did not use the libraries.  We
+concluded that weaker conditions might promote sharing better.
+
+  However, unrestricted linking of non-free programs would deprive the
+users of those programs of all benefit from the free status of the
+libraries themselves.  This Library General Public License is intended to
+permit developers of non-free programs to use free libraries, while
+preserving your freedom as a user of such programs to change the free
+libraries that are incorporated in them.  (We have not seen how to achieve
+this as regards changes in header files, but we have achieved it as regards
+changes in the actual functions of the Library.)  The hope is that this
+will lead to faster development of free libraries.
+
+  The precise terms and conditions for copying, distribution and
+modification follow.  Pay close attention to the difference between a
+"work based on the library" and a "work that uses the library".  The
+former contains code derived from the library, while the latter only
+works together with the library.
+
+  Note that it is possible for a library to be covered by the ordinary
+General Public License rather than by this special one.
+.
+                 GNU LIBRARY GENERAL PUBLIC LICENSE
+   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+  0. This License Agreement applies to any software library which
+contains a notice placed by the copyright holder or other authorized
+party saying it may be distributed under the terms of this Library
+General Public License (also called "this License").  Each licensee is
+addressed as "you".
+
+  A "library" means a collection of software functions and/or data
+prepared so as to be conveniently linked with application programs
+(which use some of those functions and data) to form executables.
+
+  The "Library", below, refers to any such software library or work
+which has been distributed under these terms.  A "work based on the
+Library" means either the Library or any derivative work under
+copyright law: that is to say, a work containing the Library or a
+portion of it, either verbatim or with modifications and/or translated
+straightforwardly into another language.  (Hereinafter, translation is
+included without limitation in the term "modification".)
+
+  "Source code" for a work means the preferred form of the work for
+making modifications to it.  For a library, complete source code means
+all the source code for all modules it contains, plus any associated
+interface definition files, plus the scripts used to control compilation
+and installation of the library.
+
+  Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope.  The act of
+running a program using the Library is not restricted, and output from
+such a program is covered only if its contents constitute a work based
+on the Library (independent of the use of the Library in a tool for
+writing it).  Whether that is true depends on what the Library does
+and what the program that uses the Library does.
+  
+  1. You may copy and distribute verbatim copies of the Library's
+complete source code as you receive it, in any medium, provided that
+you conspicuously and appropriately publish on each copy an
+appropriate copyright notice and disclaimer of warranty; keep intact
+all the notices that refer to this License and to the absence of any
+warranty; and distribute a copy of this License along with the
+Library.
+
+  You may charge a fee for the physical act of transferring a copy,
+and you may at your option offer warranty protection in exchange for a
+fee.
+.
+  2. You may modify your copy or copies of the Library or any portion
+of it, thus forming a work based on the Library, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+    a) The modified work must itself be a software library.
+
+    b) You must cause the files modified to carry prominent notices
+    stating that you changed the files and the date of any change.
+
+    c) You must cause the whole of the work to be licensed at no
+    charge to all third parties under the terms of this License.
+
+    d) If a facility in the modified Library refers to a function or a
+    table of data to be supplied by an application program that uses
+    the facility, other than as an argument passed when the facility
+    is invoked, then you must make a good faith effort to ensure that,
+    in the event an application does not supply such function or
+    table, the facility still operates, and performs whatever part of
+    its purpose remains meaningful.
+
+    (For example, a function in a library to compute square roots has
+    a purpose that is entirely well-defined independent of the
+    application.  Therefore, Subsection 2d requires that any
+    application-supplied function or table used by this function must
+    be optional: if the application does not supply it, the square
+    root function must still compute square roots.)
+
+These requirements apply to the modified work as a whole.  If
+identifiable sections of that work are not derived from the Library,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works.  But when you
+distribute the same sections as part of a whole which is a work based
+on the Library, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote
+it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Library.
+
+In addition, mere aggregation of another work not based on the Library
+with the Library (or with a work based on the Library) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+  3. You may opt to apply the terms of the ordinary GNU General Public
+License instead of this License to a given copy of the Library.  To do
+this, you must alter all the notices that refer to this License, so
+that they refer to the ordinary GNU General Public License, version 2,
+instead of to this License.  (If a newer version than version 2 of the
+ordinary GNU General Public License has appeared, then you can specify
+that version instead if you wish.)  Do not make any other change in
+these notices.
+.
+  Once this change is made in a given copy, it is irreversible for
+that copy, so the ordinary GNU General Public License applies to all
+subsequent copies and derivative works made from that copy.
+
+  This option is useful when you wish to copy part of the code of
+the Library into a program that is not a library.
+
+  4. You may copy and distribute the Library (or a portion or
+derivative of it, under Section 2) in object code or executable form
+under the terms of Sections 1 and 2 above provided that you accompany
+it with the complete corresponding machine-readable source code, which
+must be distributed under the terms of Sections 1 and 2 above on a
+medium customarily used for software interchange.
+
+  If distribution of object code is made by offering access to copy
+from a designated place, then offering equivalent access to copy the
+source code from the same place satisfies the requirement to
+distribute the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+  5. A program that contains no derivative of any portion of the
+Library, but is designed to work with the Library by being compiled or
+linked with it, is called a "work that uses the Library".  Such a
+work, in isolation, is not a derivative work of the Library, and
+therefore falls outside the scope of this License.
+
+  However, linking a "work that uses the Library" with the Library
+creates an executable that is a derivative of the Library (because it
+contains portions of the Library), rather than a "work that uses the
+library".  The executable is therefore covered by this License.
+Section 6 states terms for distribution of such executables.
+
+  When a "work that uses the Library" uses material from a header file
+that is part of the Library, the object code for the work may be a
+derivative work of the Library even though the source code is not.
+Whether this is true is especially significant if the work can be
+linked without the Library, or if the work is itself a library.  The
+threshold for this to be true is not precisely defined by law.
+
+  If such an object file uses only numerical parameters, data
+structure layouts and accessors, and small macros and small inline
+functions (ten lines or less in length), then the use of the object
+file is unrestricted, regardless of whether it is legally a derivative
+work.  (Executables containing this object code plus portions of the
+Library will still fall under Section 6.)
+
+  Otherwise, if the work is a derivative of the Library, you may
+distribute the object code for the work under the terms of Section 6.
+Any executables containing that work also fall under Section 6,
+whether or not they are linked directly with the Library itself.
+.
+  6. As an exception to the Sections above, you may also compile or
+link a "work that uses the Library" with the Library to produce a
+work containing portions of the Library, and distribute that work
+under terms of your choice, provided that the terms permit
+modification of the work for the customer's own use and reverse
+engineering for debugging such modifications.
+
+  You must give prominent notice with each copy of the work that the
+Library is used in it and that the Library and its use are covered by
+this License.  You must supply a copy of this License.  If the work
+during execution displays copyright notices, you must include the
+copyright notice for the Library among them, as well as a reference
+directing the user to the copy of this License.  Also, you must do one
+of these things:
+
+    a) Accompany the work with the complete corresponding
+    machine-readable source code for the Library including whatever
+    changes were used in the work (which must be distributed under
+    Sections 1 and 2 above); and, if the work is an executable linked
+    with the Library, with the complete machine-readable "work that
+    uses the Library", as object code and/or source code, so that the
+    user can modify the Library and then relink to produce a modified
+    executable containing the modified Library.  (It is understood
+    that the user who changes the contents of definitions files in the
+    Library will not necessarily be able to recompile the application
+    to use the modified definitions.)
+
+    b) Accompany the work with a written offer, valid for at
+    least three years, to give the same user the materials
+    specified in Subsection 6a, above, for a charge no more
+    than the cost of performing this distribution.
+
+    c) If distribution of the work is made by offering access to copy
+    from a designated place, offer equivalent access to copy the above
+    specified materials from the same place.
+
+    d) Verify that the user has already received a copy of these
+    materials or that you have already sent this user a copy.
+
+  For an executable, the required form of the "work that uses the
+Library" must include any data and utility programs needed for
+reproducing the executable from it.  However, as a special exception,
+the source code distributed need not include anything that is normally
+distributed (in either source or binary form) with the major
+components (compiler, kernel, and so on) of the operating system on
+which the executable runs, unless that component itself accompanies
+the executable.
+
+  It may happen that this requirement contradicts the license
+restrictions of other proprietary libraries that do not normally
+accompany the operating system.  Such a contradiction means you cannot
+use both them and the Library together in an executable that you
+distribute.
+.
+  7. You may place library facilities that are a work based on the
+Library side-by-side in a single library together with other library
+facilities not covered by this License, and distribute such a combined
+library, provided that the separate distribution of the work based on
+the Library and of the other library facilities is otherwise
+permitted, and provided that you do these two things:
+
+    a) Accompany the combined library with a copy of the same work
+    based on the Library, uncombined with any other library
+    facilities.  This must be distributed under the terms of the
+    Sections above.
+
+    b) Give prominent notice with the combined library of the fact
+    that part of it is a work based on the Library, and explaining
+    where to find the accompanying uncombined form of the same work.
+
+  8. You may not copy, modify, sublicense, link with, or distribute
+the Library except as expressly provided under this License.  Any
+attempt otherwise to copy, modify, sublicense, link with, or
+distribute the Library is void, and will automatically terminate your
+rights under this License.  However, parties who have received copies,
+or rights, from you under this License will not have their licenses
+terminated so long as such parties remain in full compliance.
+
+  9. You are not required to accept this License, since you have not
+signed it.  However, nothing else grants you permission to modify or
+distribute the Library or its derivative works.  These actions are
+prohibited by law if you do not accept this License.  Therefore, by
+modifying or distributing the Library (or any work based on the
+Library), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Library or works based on it.
+
+  10. Each time you redistribute the Library (or any work based on the
+Library), the recipient automatically receives a license from the
+original licensor to copy, distribute, link with or modify the Library
+subject to these terms and conditions.  You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties to
+this License.
+.
+  11. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License.  If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Library at all.  For example, if a patent
+license would not permit royalty-free redistribution of the Library by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Library.
+
+If any portion of this section is held invalid or unenforceable under any
+particular circumstance, the balance of the section is intended to apply,
+and the section as a whole is intended to apply in other circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system which is
+implemented by public license practices.  Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+  12. If the distribution and/or use of the Library is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Library under this License may add
+an explicit geographical distribution limitation excluding those countries,
+so that distribution is permitted only in or among countries not thus
+excluded.  In such case, this License incorporates the limitation as if
+written in the body of this License.
+
+  13. The Free Software Foundation may publish revised and/or new
+versions of the Library General Public License from time to time.
+Such new versions will be similar in spirit to the present version,
+but may differ in detail to address new problems or concerns.
+
+Each version is given a distinguishing version number.  If the Library
+specifies a version number of this License which applies to it and
+"any later version", you have the option of following the terms and
+conditions either of that version or of any later version published by
+the Free Software Foundation.  If the Library does not specify a
+license version number, you may choose any version ever published by
+the Free Software Foundation.
+.
+  14. If you wish to incorporate parts of the Library into other free
+programs whose distribution conditions are incompatible with these,
+write to the author to ask for permission.  For software which is
+copyrighted by the Free Software Foundation, write to the Free
+Software Foundation; we sometimes make exceptions for this.  Our
+decision will be guided by the two goals of preserving the free status
+of all derivatives of our free software and of promoting the sharing
+and reuse of software generally.
+
+                           NO WARRANTY
+
+  15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
+WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
+EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
+OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
+KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
+LIBRARY IS WITH YOU.  SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
+THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+  16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
+WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
+AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
+FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
+CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
+LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
+RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
+FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
+SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
+DAMAGES.
+
+                    END OF TERMS AND CONDITIONS
diff --git a/webcit/tiny_mce/plugins/_template/editor_plugin.js b/webcit/tiny_mce/plugins/_template/editor_plugin.js
new file mode 100644 (file)
index 0000000..19eefd4
--- /dev/null
@@ -0,0 +1,118 @@
+/* Import plugin specific language pack */
+tinyMCE.importPluginLanguagePack('template', 'en'); // <- Add a comma separated list of all supported languages
+
+/****
+ * Steps for creating a plugin from this template:
+ *
+ * 1. Change all "template" to the name of your plugin.
+ * 2. Remove all the callbacks in this file that you don't need.
+ * 3. Remove the popup.htm file if you don't need any popups.
+ * 4. Add your custom logic to the callbacks you needed.
+ * 5. Write documentation in a readme.txt file on how to use the plugin.
+ * 6. Upload it under the "Plugins" section at sourceforge.
+ *
+ ****/
+
+/**
+ * Gets executed when a editor instance is initialized
+ */
+function TinyMCE_template_initInstance(inst) {
+       // You can take out plugin specific parameters
+       alert("Initialization parameter:" + tinyMCE.getParam("template_someparam", false));
+}
+
+/**
+ * Gets executed when a editor needs to generate a button.
+ */
+function TinyMCE_template_getControlHTML(control_name) {
+       switch (control_name) {
+               case "template":
+                       return '<img id="{$editor_id}_template" src="{$pluginurl}/images/template.gif" title="{$lang_template_desc}" width="20" height="20" class="mceButtonNormal" onmouseover="tinyMCE.switchClass(this,\'mceButtonOver\');" onmouseout="tinyMCE.restoreClass(this);" onmousedown="tinyMCE.restoreAndSwitchClass(this,\'mceButtonDown\');tinyMCE.execInstanceCommand(\'{$editor_id}\',\'mceTemplate\', true);" />';
+       }
+
+       return "";
+}
+
+/**
+ * Gets executed when a command is called.
+ */
+function TinyMCE_template_execCommand(editor_id, element, command, user_interface, value) {
+       // Handle commands
+       switch (command) {
+               // Remember to have the "mce" prefix for commands so they don't intersect with built in ones in the browser.
+               case "mceTemplate":
+                       // Show UI/Popup
+                       if (user_interface) {
+                               // Open a popup window and send in some custom data in a window argument
+                               var template = new Array();
+
+                               template['file'] = '../../plugins/template/popup.htm'; // Relative to theme
+                               template['width'] = 300;
+                               template['height'] = 200;
+
+                               tinyMCE.openWindow(template, {editor_id : editor_id, some_custom_arg : "somecustomdata"});
+
+                               // Let TinyMCE know that something was modified
+                               tinyMCE.triggerNodeChange(false);
+                       } else {
+                               // Do a command this gets called from the template popup
+                               alert("execCommand: mceTemplate gets called from popup.");
+                       }
+
+                       return true;
+       }
+
+       // Pass to next handler in chain
+       return false;
+}
+
+/**
+ * Gets executed when the selection/cursor position was changed.
+ */
+function TinyMCE_template_handleNodeChange(editor_id, node, undo_index, undo_levels, visual_aid, any_selection) {
+       // Deselect template button
+       tinyMCE.switchClassSticky(editor_id + '_template', 'mceButtonNormal');
+
+       // Select template button if parent node is a strong or b
+       if (node.parentNode.nodeName == "STRONG" || node.parentNode.nodeName == "B")
+               tinyMCE.switchClassSticky(editor_id + '_template', 'mceButtonSelected');
+
+       return true;
+}
+
+/**
+ * Gets executed when contents is inserted / retrived.
+ */
+function TinyMCE_template_cleanup(type, content) {
+       switch (type) {
+               case "get_from_editor":
+                       alert("[FROM] Value HTML string: " + content);
+
+                       // Do custom cleanup code here
+
+                       break;
+
+               case "insert_to_editor":
+                       alert("[TO] Value HTML string: " + content);
+
+                       // Do custom cleanup code here
+
+                       break;
+
+               case "get_from_editor_dom":
+                       alert("[FROM] Value DOM Element " + content.innerHTML);
+
+                       // Do custom cleanup code here
+
+                       break;
+
+               case "insert_to_editor_dom":
+                       alert("[TO] Value DOM Element: " + content.innerHTML);
+
+                       // Do custom cleanup code here
+
+                       break;
+       }
+
+       return content;
+}
diff --git a/webcit/tiny_mce/plugins/_template/editor_plugin_src.js b/webcit/tiny_mce/plugins/_template/editor_plugin_src.js
new file mode 100644 (file)
index 0000000..a09ed9a
--- /dev/null
@@ -0,0 +1,131 @@
+/* Import plugin specific language pack */
+tinyMCE.importPluginLanguagePack('template', 'en'); // <- Add a comma separated list of all supported languages
+
+/****
+ * Steps for creating a plugin from this template:
+ *
+ * 1. Change all "template" to the name of your plugin.
+ * 2. Remove all the callbacks in this file that you don't need.
+ * 3. Remove the popup.htm file if you don't need any popups.
+ * 4. Add your custom logic to the callbacks you needed.
+ * 5. Write documentation in a readme.txt file on how to use the plugin.
+ * 6. Upload it under the "Plugins" section at sourceforge.
+ *
+ ****/
+
+/**
+ * Information about the plugin.
+ */
+function TinyMCE_template_getInfo() {
+       return {
+               longname : 'Template plugin',
+               author : 'Your name',
+               authorurl : 'http://www.yoursite.com',
+               infourl : 'http://www.yoursite.com/docs/template.html',
+               version : "1.0"
+       };
+};
+
+/**
+ * Gets executed when a editor instance is initialized
+ */
+function TinyMCE_template_initInstance(inst) {
+       // You can take out plugin specific parameters
+       alert("Initialization parameter:" + tinyMCE.getParam("template_someparam", false));
+}
+
+/**
+ * Gets executed when a editor needs to generate a button.
+ */
+function TinyMCE_template_getControlHTML(control_name) {
+       switch (control_name) {
+               case "template":
+                       return '<a href="javascript:tinyMCE.execInstanceCommand(\'{$editor_id}\',\'mceTemplate\', true);" onmousedown="return false;"><img id="{$editor_id}_template" src="{$pluginurl}/images/template.gif" title="{$lang_template_desc}" width="20" height="20" class="mceButtonNormal" onmouseover="tinyMCE.switchClass(this,\'mceButtonOver\');" onmouseout="tinyMCE.restoreClass(this);" onmousedown="tinyMCE.restoreAndSwitchClass(this,\'mceButtonDown\');" /></a>';
+       }
+
+       return "";
+}
+
+/**
+ * Gets executed when a command is called.
+ */
+function TinyMCE_template_execCommand(editor_id, element, command, user_interface, value) {
+       // Handle commands
+       switch (command) {
+               // Remember to have the "mce" prefix for commands so they don't intersect with built in ones in the browser.
+               case "mceTemplate":
+                       // Show UI/Popup
+                       if (user_interface) {
+                               // Open a popup window and send in some custom data in a window argument
+                               var template = new Array();
+
+                               template['file'] = '../../plugins/template/popup.htm'; // Relative to theme
+                               template['width'] = 300;
+                               template['height'] = 200;
+
+                               tinyMCE.openWindow(template, {editor_id : editor_id, some_custom_arg : "somecustomdata"});
+
+                               // Let TinyMCE know that something was modified
+                               tinyMCE.triggerNodeChange(false);
+                       } else {
+                               // Do a command this gets called from the template popup
+                               alert("execCommand: mceTemplate gets called from popup.");
+                       }
+
+                       return true;
+       }
+
+       // Pass to next handler in chain
+       return false;
+}
+
+/**
+ * Gets executed when the selection/cursor position was changed.
+ */
+function TinyMCE_template_handleNodeChange(editor_id, node, undo_index, undo_levels, visual_aid, any_selection) {
+       // Deselect template button
+       tinyMCE.switchClassSticky(editor_id + '_template', 'mceButtonNormal');
+
+       // Select template button if parent node is a strong or b
+       if (node.parentNode.nodeName == "STRONG" || node.parentNode.nodeName == "B")
+               tinyMCE.switchClassSticky(editor_id + '_template', 'mceButtonSelected');
+
+       return true;
+}
+
+/**
+ * Gets executed when contents is inserted / retrived.
+ */
+function TinyMCE_template_cleanup(type, content) {
+       switch (type) {
+               case "get_from_editor":
+                       alert("[FROM] Value HTML string: " + content);
+
+                       // Do custom cleanup code here
+
+                       break;
+
+               case "insert_to_editor":
+                       alert("[TO] Value HTML string: " + content);
+
+                       // Do custom cleanup code here
+
+                       break;
+
+               case "get_from_editor_dom":
+                       alert("[FROM] Value DOM Element " + content.innerHTML);
+
+                       // Do custom cleanup code here
+
+                       break;
+
+               case "insert_to_editor_dom":
+                       alert("[TO] Value DOM Element: " + content.innerHTML);
+
+                       // Do custom cleanup code here
+
+                       break;
+       }
+
+       return content;
+}
diff --git a/webcit/tiny_mce/plugins/_template/images/template.gif b/webcit/tiny_mce/plugins/_template/images/template.gif
new file mode 100644 (file)
index 0000000..1ab5da4
Binary files /dev/null and b/webcit/tiny_mce/plugins/_template/images/template.gif differ
diff --git a/webcit/tiny_mce/plugins/_template/langs/en.js b/webcit/tiny_mce/plugins/_template/langs/en.js
new file mode 100644 (file)
index 0000000..fb1cdc6
--- /dev/null
@@ -0,0 +1,8 @@
+// UK lang variables
+
+/* Remember to namespace the language parameters lang_<your plugin>_<some name> */
+
+tinyMCE.addToLang('',{
+template_title : 'This is just a template popup',
+template_desc : 'This is just a template button'
+});
diff --git a/webcit/tiny_mce/plugins/_template/langs/fr_ca.js b/webcit/tiny_mce/plugins/_template/langs/fr_ca.js
new file mode 100644 (file)
index 0000000..91c1332
--- /dev/null
@@ -0,0 +1,8 @@
+// Canadian French lang variables by Virtuelcom   last modification: 2005-06-15
+
+/* Remember to namespace the language parameters <your plugin>_<some name> */
+
+tinyMCE.addToLang('',{
+template_title : 'Ceci est un exmple pour le gabarit de popup',
+template_desc : 'Ceci est un exmple pour le gabarit d\'un bouton'
+});
diff --git a/webcit/tiny_mce/plugins/_template/langs/zh_cn.js b/webcit/tiny_mce/plugins/_template/langs/zh_cn.js
new file mode 100644 (file)
index 0000000..15d909f
--- /dev/null
@@ -0,0 +1,9 @@
+// Simplified Chinese lang variables contributed by cube316 (cube316@gmail.com)
+//Çë·ÃÎÊ http://www.cube316.net/ ÒÔ»ñÈ¡TinyMCEµ&Auml;&Ouml;ÐÎ&Auml;&Ouml;§³&Ouml;
+
+/* Remember to namespace the language parameters <your plugin>_<some name> */
+
+tinyMCE.addToLang('',{
+template_title : 'Õâ½&ouml;ÊÇ&Auml;£°&aring;µ&Auml;µ¯³&ouml;´°¿Ú',
+template_desc : 'Õâ½&ouml;ÊÇ&Auml;£°&aring;µ&Auml;°´&Aring;¥'
+});
diff --git a/webcit/tiny_mce/plugins/_template/popup.htm b/webcit/tiny_mce/plugins/_template/popup.htm
new file mode 100644 (file)
index 0000000..68cea32
--- /dev/null
@@ -0,0 +1,47 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+       <title>{$lang_template_title}</title>
+       <script language="javascript" type="text/javascript" src="../../tiny_mce_popup.js"></script>
+       <script language="javascript" type="text/javascript">
+       <!--
+               function init() {
+                       var inst = tinyMCE.selectedInstance;
+                       var elm = inst.getFocusElement();
+
+                       alert("Got a window argument from plugin: " + tinyMCE.getWindowArg('some_custom_arg'));
+
+                       // Set the form item value to the selected node element name
+                       document.forms[0].nodename.value = elm.nodeName;
+               }
+
+               function insertSomething() {
+                       // Execute the mceTemplate command without UI this time
+                       tinyMCEPopup.execCommand('mceTemplate');
+
+                       // Close the dialog
+                       tinyMCEPopup.close();
+               }
+       //-->
+       </script>
+</head>
+<body onload="init();"> 
+       <form onsubmit="insert();return false;">
+               <h3>{$lang_template_title}</h3>
+
+               <!-- Gets filled with the selected elements name -->
+               <div style="margin-top: 10px; margin-bottom: 10px">
+                       The selected element name: <input type="text" name="nodename" />
+               </div>
+
+               <div class="mceActionPanel">
+                       <div style="float: left">
+                               <input type="button" id="insert" name="insert" value="{$lang_insert}" onclick="insertSomething();" />
+                       </div>
+
+                       <div style="float: right">
+                               <input type="button" id="cancel" name="cancel" value="{$lang_cancel}" onclick="tinyMCEPopup.close();" />
+                       </div>
+               </div>
+       </form>
+</body> 
+</html> 
diff --git a/webcit/tiny_mce/plugins/_template/readme.txt b/webcit/tiny_mce/plugins/_template/readme.txt
new file mode 100644 (file)
index 0000000..2ee1505
--- /dev/null
@@ -0,0 +1 @@
+This is a template/tutorial plugin that where created to help you in the development of own plugins for TinyMCE.
\ No newline at end of file
diff --git a/webcit/tiny_mce/plugins/advhr/editor_plugin.js b/webcit/tiny_mce/plugins/advhr/editor_plugin.js
new file mode 100644 (file)
index 0000000..d6cbee6
--- /dev/null
@@ -0,0 +1,2 @@
+/* Import plugin specific language pack */
+ tinyMCE.importPluginLanguagePack('advhr','en,de,sv,zh_cn,cs,fa,fr_ca,fr,pl,pt_br,nl');function TinyMCE_advhr_getInfo(){return{longname:'Advanced HR',author:'Moxiecode Systems',authorurl:'http://tinymce.moxiecode.com',infourl:'http://tinymce.moxiecode.com/tinymce/docs/plugin_advhr.html',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion};};function TinyMCE_advhr_getControlHTML(control_name){switch(control_name){case "advhr":return '<a href="javascript:tinyMCE.execInstanceCommand(\'{$editor_id}\',\'mceAdvancedHr\');" onmousedown="return false;"><img id="{$editor_id}_advhr" src="{$pluginurl}/images/advhr.gif" title="{$lang_insert_advhr_desc}" width="20" height="20" class="mceButtonNormal" onmouseover="tinyMCE.switchClass(this,\'mceButtonOver\');" onmouseout="tinyMCE.restoreClass(this);" onmousedown="tinyMCE.restoreAndSwitchClass(this,\'mceButtonDown\');" /></a>';}return "";}function TinyMCE_advhr_execCommand(editor_id,element,command,user_interface,value){switch(command){case "mceAdvancedHr":var template=new Array();template['file']='../../plugins/advhr/rule.htm';template['width']=270;template['height']=180;template['width']+=tinyMCE.getLang('lang_advhr_delta_width',0);template['height']+=tinyMCE.getLang('lang_advhr_delta_height',0);var size="",width="",noshade="";if(tinyMCE.selectedElement!=null&&tinyMCE.selectedElement.nodeName.toLowerCase()=="hr"){tinyMCE.hrElement=tinyMCE.selectedElement;if(tinyMCE.hrElement){size=tinyMCE.hrElement.getAttribute('size')?tinyMCE.hrElement.getAttribute('size'):"";width=tinyMCE.hrElement.getAttribute('width')?tinyMCE.hrElement.getAttribute('width'):"";noshade=tinyMCE.hrElement.getAttribute('noshade')?tinyMCE.hrElement.getAttribute('noshade'):"";}tinyMCE.openWindow(template,{editor_id:editor_id,size:size,width:width,noshade:noshade,mceDo:'update'});}else{if(tinyMCE.isMSIE){tinyMCE.execInstanceCommand(editor_id,'mceInsertContent',false,'<hr />');}else{tinyMCE.openWindow(template,{editor_id:editor_id,inline:"yes",size:size,width:width,noshade:noshade,mceDo:'insert'});}}return true;}return false;}function TinyMCE_advhr_handleNodeChange(editor_id,node,undo_index,undo_levels,visual_aid,any_selection){tinyMCE.switchClassSticky(editor_id+'_advhr','mceButtonNormal');if(node==null)return;do{if(node.nodeName.toLowerCase()=="hr")tinyMCE.switchClassSticky(editor_id+'_advhr','mceButtonSelected');}while((node=node.parentNode));return true;}
\ No newline at end of file
diff --git a/webcit/tiny_mce/plugins/advhr/editor_plugin_src.js b/webcit/tiny_mce/plugins/advhr/editor_plugin_src.js
new file mode 100644 (file)
index 0000000..634f777
--- /dev/null
@@ -0,0 +1,74 @@
+/* Import plugin specific language pack */
+tinyMCE.importPluginLanguagePack('advhr', 'en,de,sv,zh_cn,cs,fa,fr_ca,fr,pl,pt_br,nl');
+
+function TinyMCE_advhr_getInfo() {
+       return {
+               longname : 'Advanced HR',
+               author : 'Moxiecode Systems',
+               authorurl : 'http://tinymce.moxiecode.com',
+               infourl : 'http://tinymce.moxiecode.com/tinymce/docs/plugin_advhr.html',
+               version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion
+       };
+};
+
+function TinyMCE_advhr_getControlHTML(control_name) {
+    switch (control_name) {
+        case "advhr":
+            return '<a href="javascript:tinyMCE.execInstanceCommand(\'{$editor_id}\',\'mceAdvancedHr\');" onmousedown="return false;"><img id="{$editor_id}_advhr" src="{$pluginurl}/images/advhr.gif" title="{$lang_insert_advhr_desc}" width="20" height="20" class="mceButtonNormal" onmouseover="tinyMCE.switchClass(this,\'mceButtonOver\');" onmouseout="tinyMCE.restoreClass(this);" onmousedown="tinyMCE.restoreAndSwitchClass(this,\'mceButtonDown\');" /></a>';
+    }
+
+    return "";
+}
+
+/**
+ * Executes the mceAdvanceHr command.
+ */
+function TinyMCE_advhr_execCommand(editor_id, element, command, user_interface, value) {
+    // Handle commands
+    switch (command) {
+        case "mceAdvancedHr":
+            var template = new Array();
+
+            template['file']   = '../../plugins/advhr/rule.htm'; // Relative to theme
+            template['width']  = 270;
+            template['height'] = 180;
+
+                       template['width']  += tinyMCE.getLang('lang_advhr_delta_width', 0);
+                       template['height'] += tinyMCE.getLang('lang_advhr_delta_height', 0);
+
+            var size = "", width = "", noshade = "";
+            if (tinyMCE.selectedElement != null && tinyMCE.selectedElement.nodeName.toLowerCase() == "hr"){
+                tinyMCE.hrElement = tinyMCE.selectedElement;
+                if (tinyMCE.hrElement) {
+                    size    = tinyMCE.hrElement.getAttribute('size') ? tinyMCE.hrElement.getAttribute('size') : "";
+                    width   = tinyMCE.hrElement.getAttribute('width') ? tinyMCE.hrElement.getAttribute('width') : "";
+                    noshade = tinyMCE.hrElement.getAttribute('noshade') ? tinyMCE.hrElement.getAttribute('noshade') : "";
+                }
+                tinyMCE.openWindow(template, {editor_id : editor_id, size : size, width : width, noshade : noshade, mceDo : 'update'});
+            } else {
+                if (tinyMCE.isMSIE) {
+                    tinyMCE.execInstanceCommand(editor_id, 'mceInsertContent', false,'<hr />');
+                } else {
+                    tinyMCE.openWindow(template, {editor_id : editor_id, inline : "yes", size : size, width : width, noshade : noshade, mceDo : 'insert'});
+                }
+            }
+                    
+       return true;
+   }
+   // Pass to next handler in chain
+   return false;
+}
+
+function TinyMCE_advhr_handleNodeChange(editor_id, node, undo_index, undo_levels, visual_aid, any_selection) {
+       tinyMCE.switchClassSticky(editor_id + '_advhr', 'mceButtonNormal');
+
+       if (node == null)
+               return;
+
+       do {
+               if (node.nodeName.toLowerCase() == "hr")
+                       tinyMCE.switchClassSticky(editor_id + '_advhr', 'mceButtonSelected');
+       } while ((node = node.parentNode));
+
+       return true;
+}
\ No newline at end of file
diff --git a/webcit/tiny_mce/plugins/advhr/images/advhr.gif b/webcit/tiny_mce/plugins/advhr/images/advhr.gif
new file mode 100644 (file)
index 0000000..e2f8658
Binary files /dev/null and b/webcit/tiny_mce/plugins/advhr/images/advhr.gif differ
diff --git a/webcit/tiny_mce/plugins/advhr/jscripts/rule.js b/webcit/tiny_mce/plugins/advhr/jscripts/rule.js
new file mode 100644 (file)
index 0000000..38998a5
--- /dev/null
@@ -0,0 +1,41 @@
+function init() {
+       var formObj = document.forms[0];
+       formObj.width.value  = tinyMCE.getWindowArg('width');
+       formObj.size.value   = tinyMCE.getWindowArg('size');
+       formObj.insert.value = tinyMCE.getLang('lang_' + tinyMCE.getWindowArg('mceDo'));
+       if (tinyMCE.getWindowArg('noshade')) {
+               formObj.noshade.checked = true;
+       }
+       if (tinyMCE.getWindowArg('width').lastIndexOf('%')!=-1) {
+               formObj.width2.value = "%";
+               formObj.width.value  = formObj.width.value.substring(0,formObj.width.value.length-1);
+       }
+}
+
+function insertHR() {
+       var formObj = document.forms[0];
+       var width   = formObj.width.value;
+       var size    = formObj.size.value;
+       var html = '<hr';
+       if (size!='' && size!=0) {
+               html += ' size="' + size + '"';
+       }
+       if (width!='' && width!=0) {
+               html += ' width="' + width;
+               if (formObj.width2.value=='%') {
+                       html += '%';
+               }
+               html += '"';
+       }
+       if (formObj.noshade.checked==true) {
+               html += ' noshade';
+       }
+       html += ' />';
+
+       tinyMCEPopup.execCommand("mceInsertContent", true, html);
+       tinyMCEPopup.close();
+}
+
+function cancelAction() {
+       tinyMCEPopup.close();
+}
diff --git a/webcit/tiny_mce/plugins/advhr/langs/cs.js b/webcit/tiny_mce/plugins/advhr/langs/cs.js
new file mode 100644 (file)
index 0000000..fbd2bf6
--- /dev/null
@@ -0,0 +1,14 @@
+/**
+ * Czech lang variables 
+ * encoding: utf-8
+ *  
+ * $Id$ 
+ */  
+
+tinyMCE.addToLang('',{
+insert_advhr_desc : 'Vložit/editovat vodorovný oddělovač',
+insert_advhr_width : 'Šířka',
+insert_advhr_size : 'Výška',
+insert_advhr_noshade : 'Nestínovat'
+});
+
diff --git a/webcit/tiny_mce/plugins/advhr/langs/de.js b/webcit/tiny_mce/plugins/advhr/langs/de.js
new file mode 100644 (file)
index 0000000..7288efd
--- /dev/null
@@ -0,0 +1,8 @@
+// DE lang variables
+
+tinyMCE.addToLang('',{
+insert_advhr_desc : 'Horizontale Linie einf&uuml;gen / bearbeiten',
+insert_advhr_width : 'Breite',
+insert_advhr_size : 'H&ouml;he',
+insert_advhr_noshade : 'Keinen Schatten'
+});
diff --git a/webcit/tiny_mce/plugins/advhr/langs/en.js b/webcit/tiny_mce/plugins/advhr/langs/en.js
new file mode 100644 (file)
index 0000000..9e652f1
--- /dev/null
@@ -0,0 +1,8 @@
+// UK lang variables
+
+tinyMCE.addToLang('',{
+insert_advhr_desc : 'Insert / edit Horizontale Rule',
+insert_advhr_width : 'Width',
+insert_advhr_size : 'Height',
+insert_advhr_noshade : 'No shadow'
+});
diff --git a/webcit/tiny_mce/plugins/advhr/langs/fa.js b/webcit/tiny_mce/plugins/advhr/langs/fa.js
new file mode 100644 (file)
index 0000000..ad03383
--- /dev/null
@@ -0,0 +1,13 @@
+// IR lang variables
+// Persian (Farsi) language pack (for IRAN)
+// By: Morteza Zafari
+// Lost@LostLord.com
+// http://www.LostLord.com
+
+tinyMCE.addToLang('',{
+dir : 'rtl',
+insert_advhr_desc : '??? ? ?????? ?? ????',
+insert_advhr_width : '???',
+insert_advhr_size : '??????',
+insert_advhr_noshade : '???? ????'
+});
diff --git a/webcit/tiny_mce/plugins/advhr/langs/fr.js b/webcit/tiny_mce/plugins/advhr/langs/fr.js
new file mode 100644 (file)
index 0000000..097b430
--- /dev/null
@@ -0,0 +1,8 @@
+// French lang variables by Laurent Dran
+
+tinyMCE.addToLang('',{
+insert_advhr_desc : 'Ins&eacute;rer / &eacute;diter une R&#269;gle Horizontale',
+insert_advhr_width : 'Largeur',
+insert_advhr_size : 'Hauteur',
+insert_advhr_noshade : 'Sans ombre'
+});
diff --git a/webcit/tiny_mce/plugins/advhr/langs/fr_ca.js b/webcit/tiny_mce/plugins/advhr/langs/fr_ca.js
new file mode 100644 (file)
index 0000000..b277e6e
--- /dev/null
@@ -0,0 +1,8 @@
+// CA_FR lang variables
+
+tinyMCE.addToLang('',{
+insert_advhr_desc : 'Insérer / Modifier Séparateur Horizontal',
+insert_advhr_width : 'Largeur',
+insert_advhr_size : 'Hauteur',
+insert_advhr_noshade : 'Sans ombrage'
+});
diff --git a/webcit/tiny_mce/plugins/advhr/langs/he.js b/webcit/tiny_mce/plugins/advhr/langs/he.js
new file mode 100644 (file)
index 0000000..a8a71cf
--- /dev/null
@@ -0,0 +1,8 @@
+// HE lang variables by Liron Newman, http://eesh.net
+
+tinyMCE.addToLang('',{
+insert_advhr_desc : '&auml;ëðñ/òø&aring;ê ÷&aring; à&aring;ô÷é',
+insert_advhr_width : 'ø&aring;çá',
+insert_advhr_size : 'â&aring;á&auml;',
+insert_advhr_noshade : 'ììà &ouml;ì'
+});
diff --git a/webcit/tiny_mce/plugins/advhr/langs/nl.js b/webcit/tiny_mce/plugins/advhr/langs/nl.js
new file mode 100644 (file)
index 0000000..98cd22d
--- /dev/null
@@ -0,0 +1,8 @@
+// NL lang variables
+
+tinyMCE.addToLang('',{
+insert_advhr_desc : 'Invoegen / wijzigen Horizontale lijn',
+insert_advhr_width : 'Breedte',
+insert_advhr_size : 'Hoogte',
+insert_advhr_noshade : 'Geen schaduw'
+});
diff --git a/webcit/tiny_mce/plugins/advhr/langs/pl.js b/webcit/tiny_mce/plugins/advhr/langs/pl.js
new file mode 100644 (file)
index 0000000..5aec3c2
--- /dev/null
@@ -0,0 +1,8 @@
+// PL lang variables
+
+tinyMCE.addToLang('',{
+insert_advhr_desc : 'Wstaw/Edytuj pozioma linie',
+insert_advhr_width : 'Szerokosc',
+insert_advhr_size : 'Wysokosc',
+insert_advhr_noshade : 'Brak cienia'
+});
diff --git a/webcit/tiny_mce/plugins/advhr/langs/pt_br.js b/webcit/tiny_mce/plugins/advhr/langs/pt_br.js
new file mode 100644 (file)
index 0000000..11537ce
--- /dev/null
@@ -0,0 +1,8 @@
+// pt_BR lang variables
+
+tinyMCE.addToLang('',{
+insert_advhr_desc : 'Inserir / editar Linha Horizontal',
+insert_advhr_width : 'Largura',
+insert_advhr_size : 'Altura',
+insert_advhr_noshade : 'Sem Sombra'
+});
diff --git a/webcit/tiny_mce/plugins/advhr/langs/sv.js b/webcit/tiny_mce/plugins/advhr/langs/sv.js
new file mode 100644 (file)
index 0000000..ed33011
--- /dev/null
@@ -0,0 +1,8 @@
+// SE lang variables
+
+tinyMCE.addToLang('',{
+insert_advhr_desc : 'Skapa/Redigera horisontell linje',
+insert_advhr_width : 'Bredd',
+insert_advhr_size : 'H&ouml;jd',
+insert_advhr_noshade : 'Ingen skugga'
+});
diff --git a/webcit/tiny_mce/plugins/advhr/langs/zh_cn.js b/webcit/tiny_mce/plugins/advhr/langs/zh_cn.js
new file mode 100644 (file)
index 0000000..dc4ce83
--- /dev/null
@@ -0,0 +1,9 @@
+// Simplified Chinese lang variables contributed by cube316 (cube316@gmail.com)
+//Çë·ÃÎÊ http://www.cube316.net/ ÒÔ»ñÈ¡TinyMCEµ&Auml;&Ouml;ÐÎ&Auml;&Ouml;§³&Ouml;
+
+tinyMCE.addToLang('',{
+insert_advhr_desc : '²&aring;Èë/±à¼­ Ë®Æ½±ê³ß',
+insert_advhr_width : '¿í¶È',
+insert_advhr_size : '¸ß¶È',
+insert_advhr_noshade : 'ÎÞÒõÓ°'
+});
diff --git a/webcit/tiny_mce/plugins/advhr/readme.txt b/webcit/tiny_mce/plugins/advhr/readme.txt
new file mode 100644 (file)
index 0000000..6bc6d7d
--- /dev/null
@@ -0,0 +1 @@
+Check the TinyMCE documentation for details on this plugin.
diff --git a/webcit/tiny_mce/plugins/advhr/rule.htm b/webcit/tiny_mce/plugins/advhr/rule.htm
new file mode 100644 (file)
index 0000000..91098b6
--- /dev/null
@@ -0,0 +1,56 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+       <title>{$lang_insert_link_title}</title>
+       <script language="javascript" type="text/javascript" src="../../tiny_mce_popup.js"></script>
+       <script language="javascript" type="text/javascript" src="jscripts/rule.js"></script>
+       <style type="text/css">
+       <!--
+          input.radio {
+                       border: 1px none #000000;
+                       background-color: transparent;
+                       vertical-align: middle;
+          }
+       -->
+       </style>
+</head>
+<body onload="init();">
+    <form onsubmit="insertHR();return false;" action="#">
+        <table border="0" cellpadding="0" cellspacing="0" width="100%">
+            <tr>
+                <td align="center" valign="middle"><table border="0" cellpadding="4" cellspacing="0">
+                    <tr>
+                        <td colspan="2" class="title">{$lang_insert_advhr_desc}</td>
+                    </tr>
+                    <tr>
+                        <td align="right">{$lang_insert_advhr_width}:</td>
+                        <td nowrap="nowrap">
+                            <input name="width" type="text" id="width" value="" style="width: 50px; vertical-align: middle;" />
+                            <select name="width2" id="width2" style="width: 50px; vertical-align: middle;">
+                                <option value="">px</option>
+                                <option value="%">%</option>
+                            </select>
+                        </td>
+                    </tr>
+                    <tr>
+                        <td align="right" valign="top">{$lang_insert_advhr_size}:</td>
+                        <td><select id="size" name="size" style="width: 100px;">
+                            <option value="">Normal</option>
+                            <option value="1">1</option>
+                            <option value="2">2</option>
+                            <option value="3">3</option>
+                            <option value="4">4</option>
+                            <option value="5">5</option>
+                        </select></td>
+                    <tr>
+                        <td align="right" valign="top"><input type="checkbox" name="noshade" id="noshade" class="radio" /></td>
+                        <td><label for="noshade">{$lang_insert_advhr_noshade}</label></td>
+                    </tr>
+                    <tr>
+                        <td><input type="button" name="insert" value="{$lang_insert}" onclick="insertHR();" id="insert" /></td>
+                        <td align="right"><input type="button" name="cancel" value="{$lang_cancel}" onclick="cancelAction();" id="cancel" /></td>
+                    </tr>
+                </table></td>
+            </tr>
+        </table>
+    </form>
+</body>
+</html>
diff --git a/webcit/tiny_mce/plugins/advimage/css/advimage.css b/webcit/tiny_mce/plugins/advimage/css/advimage.css
new file mode 100644 (file)
index 0000000..5a3c22d
--- /dev/null
@@ -0,0 +1,62 @@
+/* CSS file for advimage plugin popup */
+
+.mceImageList {
+       width: 280px;
+}
+
+.mceActionPanel {
+       margin-top: 7px;
+}
+
+.alignPreview {
+       border: 1px solid black;
+       width: 140px;
+       height: 140px;
+       overflow: hidden;
+       padding: 5px;
+}
+
+.checkbox {
+       border: 0px;
+}
+
+.panel_wrapper div.current {
+       height: 305px;
+}
+
+#prev {
+       margin:0px;
+       border: 1px
+       solid black;
+       width: 99%;
+       height:150px;
+       overflow: auto;
+}
+
+#align, #classlist {
+       width: 150px;
+}
+
+#width, #height {
+       vertical-align: middle;
+       width: 50px;
+       text-align: center;
+}
+
+#vspace, #hspace, #border {
+       vertical-align: middle;
+       width: 30px;
+       text-align: center;
+}
+
+input {
+       width: 280px;
+}
+
+#constrain, #onmousemovecheck {
+       width: auto;
+}
+
+#id, #dir, #lang, #usemap, #longdesc {
+       width: 200px;
+}
diff --git a/webcit/tiny_mce/plugins/advimage/editor_plugin.js b/webcit/tiny_mce/plugins/advimage/editor_plugin.js
new file mode 100644 (file)
index 0000000..3d17bbb
--- /dev/null
@@ -0,0 +1,2 @@
+/* Import plugin specific language pack */
+ tinyMCE.importPluginLanguagePack('advimage','en,de,sv,zh_cn,cs,fa,fr_ca,fr,pl,pt_br,nl');function TinyMCE_advimage_getInfo(){return{longname:'Advanced image',author:'Moxiecode Systems',authorurl:'http://tinymce.moxiecode.com',infourl:'http://tinymce.moxiecode.com/tinymce/docs/plugin_advimage.html',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion};};function TinyMCE_advimage_getControlHTML(control_name){switch(control_name){case "image":return '<a href="javascript:tinyMCE.execInstanceCommand(\'{$editor_id}\',\'mceAdvImage\');" onmousedown="return false;"><img id="{$editor_id}_advimage" src="{$themeurl}/images/image.gif" title="{$lang_image_desc}" width="20" height="20" class="mceButtonNormal" onmouseover="tinyMCE.switchClass(this,\'mceButtonOver\');" onmouseout="tinyMCE.restoreClass(this);" onmousedown="tinyMCE.restoreClass(this);" /></a>';}return "";}function TinyMCE_advimage_execCommand(editor_id,element,command,user_interface,value){switch(command){case "mceAdvImage":var template=new Array();template['file']='../../plugins/advimage/image.htm';template['width']=480;template['height']=380;template['width']+=tinyMCE.getLang('lang_advimage_delta_width',0);template['height']+=tinyMCE.getLang('lang_advimage_delta_height',0);tinyMCE.openWindow(template,{editor_id:editor_id,inline:"yes"});return true;}return false;}function TinyMCE_advimage_cleanup(type,content){switch(type){case "insert_to_editor_dom":var imgs=content.getElementsByTagName("img");for(var i=0;i<imgs.length;i++){var onmouseover=tinyMCE.cleanupEventStr(tinyMCE.getAttrib(imgs[i],'onmouseover'));var onmouseout=tinyMCE.cleanupEventStr(tinyMCE.getAttrib(imgs[i],'onmouseout'));if((src=tinyMCE.getImageSrc(onmouseover))!=""){src=tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings['base_href'],src);imgs[i].setAttribute('onmouseover',"this.src='"+src+"';");}if((src=tinyMCE.getImageSrc(onmouseout))!=""){src=tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings['base_href'],src);imgs[i].setAttribute('onmouseout',"this.src='"+src+"';");}}break;case "get_from_editor_dom":var imgs=content.getElementsByTagName("img");for(var i=0;i<imgs.length;i++){var onmouseover=tinyMCE.cleanupEventStr(tinyMCE.getAttrib(imgs[i],'onmouseover'));var onmouseout=tinyMCE.cleanupEventStr(tinyMCE.getAttrib(imgs[i],'onmouseout'));if((src=tinyMCE.getImageSrc(onmouseover))!=""){src=eval(tinyMCE.settings['urlconverter_callback']+"(src, null, true);");imgs[i].setAttribute('onmouseover',"this.src='"+src+"';");}if((src=tinyMCE.getImageSrc(onmouseout))!=""){src=eval(tinyMCE.settings['urlconverter_callback']+"(src, null, true);");imgs[i].setAttribute('onmouseout',"this.src='"+src+"';");}}break;}return content;}function TinyMCE_advimage_handleNodeChange(editor_id,node,undo_index,undo_levels,visual_aid,any_selection){tinyMCE.switchClassSticky(editor_id+'_advimage','mceButtonNormal');if(node==null)return;do{if(node.nodeName=="IMG"&&tinyMCE.getAttrib(node,'class').indexOf('mceItem')==-1)tinyMCE.switchClassSticky(editor_id+'_advimage','mceButtonSelected');}while((node=node.parentNode));return true;}
\ No newline at end of file
diff --git a/webcit/tiny_mce/plugins/advimage/editor_plugin_src.js b/webcit/tiny_mce/plugins/advimage/editor_plugin_src.js
new file mode 100644 (file)
index 0000000..c49e8e7
--- /dev/null
@@ -0,0 +1,98 @@
+/* Import plugin specific language pack */
+tinyMCE.importPluginLanguagePack('advimage', 'en,de,sv,zh_cn,cs,fa,fr_ca,fr,pl,pt_br,nl');
+
+function TinyMCE_advimage_getInfo() {
+       return {
+               longname : 'Advanced image',
+               author : 'Moxiecode Systems',
+               authorurl : 'http://tinymce.moxiecode.com',
+               infourl : 'http://tinymce.moxiecode.com/tinymce/docs/plugin_advimage.html',
+               version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion
+       };
+};
+
+function TinyMCE_advimage_getControlHTML(control_name) {
+       switch (control_name) {
+               case "image":
+                       return '<a href="javascript:tinyMCE.execInstanceCommand(\'{$editor_id}\',\'mceAdvImage\');" onmousedown="return false;"><img id="{$editor_id}_advimage" src="{$themeurl}/images/image.gif" title="{$lang_image_desc}" width="20" height="20" class="mceButtonNormal" onmouseover="tinyMCE.switchClass(this,\'mceButtonOver\');" onmouseout="tinyMCE.restoreClass(this);" onmousedown="tinyMCE.restoreClass(this);" /></a>';
+       }
+
+       return "";
+}
+
+function TinyMCE_advimage_execCommand(editor_id, element, command, user_interface, value) {
+       switch (command) {
+               case "mceAdvImage":
+                       var template = new Array();
+
+                       template['file']   = '../../plugins/advimage/image.htm';
+                       template['width']  = 480;
+                       template['height'] = 380;
+
+                       // Language specific width and height addons
+                       template['width']  += tinyMCE.getLang('lang_advimage_delta_width', 0);
+                       template['height'] += tinyMCE.getLang('lang_advimage_delta_height', 0);
+
+                       tinyMCE.openWindow(template, {editor_id : editor_id, inline : "yes"});
+
+                       return true;
+       }
+
+       return false;
+}
+
+function TinyMCE_advimage_cleanup(type, content) {
+       switch (type) {
+               case "insert_to_editor_dom":
+                       var imgs = content.getElementsByTagName("img");
+                       for (var i=0; i<imgs.length; i++) {
+                               var onmouseover = tinyMCE.cleanupEventStr(tinyMCE.getAttrib(imgs[i], 'onmouseover'));
+                               var onmouseout = tinyMCE.cleanupEventStr(tinyMCE.getAttrib(imgs[i], 'onmouseout'));
+
+                               if ((src = tinyMCE.getImageSrc(onmouseover)) != "") {
+                                       src = tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings['base_href'], src);
+                                       imgs[i].setAttribute('onmouseover', "this.src='" + src + "';");
+                               }
+
+                               if ((src = tinyMCE.getImageSrc(onmouseout)) != "") {
+                                       src = tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings['base_href'], src);
+                                       imgs[i].setAttribute('onmouseout', "this.src='" + src + "';");
+                               }
+                       }
+                       break;
+
+               case "get_from_editor_dom":
+                       var imgs = content.getElementsByTagName("img");
+                       for (var i=0; i<imgs.length; i++) {
+                               var onmouseover = tinyMCE.cleanupEventStr(tinyMCE.getAttrib(imgs[i], 'onmouseover'));
+                               var onmouseout = tinyMCE.cleanupEventStr(tinyMCE.getAttrib(imgs[i], 'onmouseout'));
+
+                               if ((src = tinyMCE.getImageSrc(onmouseover)) != "") {
+                                       src = eval(tinyMCE.settings['urlconverter_callback'] + "(src, null, true);");
+                                       imgs[i].setAttribute('onmouseover', "this.src='" + src + "';");
+                               }
+
+                               if ((src = tinyMCE.getImageSrc(onmouseout)) != "") {
+                                       src = eval(tinyMCE.settings['urlconverter_callback'] + "(src, null, true);");
+                                       imgs[i].setAttribute('onmouseout', "this.src='" + src + "';");
+                               }
+                       }
+                       break;
+       }
+
+       return content;
+}
+
+function TinyMCE_advimage_handleNodeChange(editor_id, node, undo_index, undo_levels, visual_aid, any_selection) {
+       tinyMCE.switchClassSticky(editor_id + '_advimage', 'mceButtonNormal');
+
+       if (node == null)
+               return;
+
+       do {
+               if (node.nodeName == "IMG" && tinyMCE.getAttrib(node, 'class').indexOf('mceItem') == -1)
+                       tinyMCE.switchClassSticky(editor_id + '_advimage', 'mceButtonSelected');
+       } while ((node = node.parentNode));
+
+       return true;
+}
diff --git a/webcit/tiny_mce/plugins/advimage/image.htm b/webcit/tiny_mce/plugins/advimage/image.htm
new file mode 100644 (file)
index 0000000..85a8920
--- /dev/null
@@ -0,0 +1,230 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+       <title>{$lang_insert_image_title}</title>
+       <script language="javascript" type="text/javascript" src="../../tiny_mce_popup.js"></script>
+       <script language="javascript" type="text/javascript" src="../../utils/mctabs.js"></script>
+       <script language="javascript" type="text/javascript" src="../../utils/form_utils.js"></script>
+       <script language="javascript" type="text/javascript" src="jscripts/functions.js"></script>
+       <link href="css/advimage.css" rel="stylesheet" type="text/css" />
+</head>
+<body id="advimage" onload="init();" style="display: none">
+    <form onsubmit="insertAction();return false;" action="#"> 
+               <div class="tabs">
+                       <ul>
+                               <li id="general_tab" class="current"><span><a href="javascript:mcTabs.displayTab('general_tab','general_panel');" onmousedown="return false;">{$lang_advimage_tab_general}</a></span></li>
+                               <li id="appearance_tab"><span><a href="javascript:mcTabs.displayTab('appearance_tab','appearance_panel');" onmousedown="return false;">{$lang_advimage_tab_appearance}</a></span></li>
+                               <li id="advanced_tab"><span><a href="javascript:mcTabs.displayTab('advanced_tab','advanced_panel');" onmousedown="return false;">{$lang_advimage_tab_advanced}</a></span></li>
+                       </ul>
+               </div>
+
+               <div class="panel_wrapper">
+                       <div id="general_panel" class="panel current">
+                               <fieldset>
+                                               <legend>{$lang_advimage_general}</legend>
+
+                                               <table class="properties">
+                                                       <tr>
+                                                               <td class="column1"><label id="srclabel" for="src">{$lang_insert_image_src}</label></td>
+                                                               <td colspan="2"><table border="0" cellspacing="0" cellpadding="0">
+                                                                       <tr> 
+                                                                         <td><input name="src" type="text" id="src" value="" onchange="showPreviewImage(this.value);" /></td> 
+                                                                         <td><script language="javascript" type="text/javascript">renderBrowser('srcbrowser','src','image','advimage');</script></td>
+                                                                       </tr>
+                                                                 </table></td>
+                                                       </tr>
+                                                       <script language="javascript" type="text/javascript">renderImageList('imagelistsrc','src','onSelectMainImage');</script>
+                                                       <tr> 
+                                                               <td class="column1"><label id="altlabel" for="alt">{$lang_insert_image_alt}</label></td> 
+                                                               <td colspan="2"><input id="alt" name="alt" type="text" value="" /></td> 
+                                                       </tr> 
+                                                       <tr> 
+                                                               <td class="column1"><label id="titlelabel" for="title">{$lang_advimage_title}</label></td> 
+                                                               <td colspan="2"><input id="title" name="title" type="text" value="" /></td> 
+                                                       </tr>
+                                               </table>
+                               </fieldset>
+
+                               <fieldset>
+                                       <legend>{$lang_advimage_preview}</legend>
+                                       <div id="prev"></div>
+                               </fieldset>
+                       </div>
+
+                       <div id="appearance_panel" class="panel">
+                               <fieldset>
+                                       <legend>{$lang_advimage_tab_appearance}</legend>
+
+                                       <table border="0" cellpadding="4" cellspacing="0">
+                                               <tr> 
+                                                       <td class="column1"><label id="alignlabel" for="align">{$lang_insert_image_align}</label></td> 
+                                                       <td><select id="align" name="align" onchange="changeAppearance();"> 
+                                                                       <option value="">{$lang_insert_image_align_default}</option> 
+                                                                       <option value="baseline">{$lang_insert_image_align_baseline}</option> 
+                                                                       <option value="top">{$lang_insert_image_align_top}</option> 
+                                                                       <option value="middle">{$lang_insert_image_align_middle}</option> 
+                                                                       <option value="bottom">{$lang_insert_image_align_bottom}</option> 
+                                                                       <option value="texttop">{$lang_insert_image_align_texttop}</option> 
+                                                                       <option value="absmiddle">{$lang_insert_image_align_absmiddle}</option> 
+                                                                       <option value="absbottom">{$lang_insert_image_align_absbottom}</option> 
+                                                                       <option value="left">{$lang_insert_image_align_left}</option> 
+                                                                       <option value="right">{$lang_insert_image_align_right}</option> 
+                                                               </select> 
+                                                       </td>
+                                                       <td rowspan="7" valign="top">
+                                                               <div class="alignPreview">
+                                                                       <img id="alignSampleImg" src="images/sample.gif" alt="{$lang_advimage_example_img}" />
+                                                                       Lorem ipsum, Dolor sit amet, consectetuer adipiscing loreum ipsum edipiscing elit, sed diam
+                                                                       nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat.Loreum ipsum
+                                                                       edipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam
+                                                                       erat volutpat.
+                                                               </div>
+                                                       </td>
+                                               </tr>
+
+                                               <tr>
+                                                       <td><label id="classlabel" for="classlist">{$lang_class_name}</label></td>
+                                                       <td>
+                                                                <select id="classlist" name="classlist">
+                                                                       <option value="" selected>{$lang_not_set}</option>
+                                                                </select>
+                                                       </td>
+                                               </tr>
+
+                                               <tr>
+                                                       <td class="column1"><label id="widthlabel" for="width">{$lang_insert_image_dimensions}</label></td>
+                                                       <td nowrap="nowrap">
+                                                               <input name="width" type="text" id="width" value="" size="5" maxlength="5" onchange="changeHeight();" /> x 
+                                                               <input name="height" type="text" id="height" value="" size="5" maxlength="5" onchange="changeWidth();" /> px
+                                                       </td>
+                                               </tr>
+
+                                               <tr>
+                                                       <td>&nbsp;</td>
+                                                       <td><table border="0" cellpadding="0" cellspacing="0">
+                                                                       <tr>
+                                                                               <td><input id="constrain" type="checkbox" name="constrain" class="checkbox" /></td>
+                                                                               <td><label id="constrainlabel" for="constrain">{$lang_advimage_constrain_proportions}</label></td>
+                                                                       </tr>
+                                                               </table></td>
+                                               </tr>
+
+                                               <tr>
+                                                       <td class="column1"><label id="vspacelabel" for="vspace">{$lang_insert_image_vspace}</label></td> 
+                                                       <td><input name="vspace" type="text" id="vspace" value="" size="3" maxlength="3" onchange="changeAppearance();updateStyle();" />
+                                                       </td>
+                                               </tr>
+
+                                               <tr> 
+                                                       <td class="column1"><label id="hspacelabel" for="hspace">{$lang_insert_image_hspace}</label></td> 
+                                                       <td><input name="hspace" type="text" id="hspace" value="" size="3" maxlength="3" onchange="changeAppearance();updateStyle();" /></td> 
+                                               </tr>
+
+                                               <tr>
+                                                       <td class="column1"><label id="borderlabel" for="border">{$lang_insert_image_border}</label></td> 
+                                                       <td><input id="border" name="border" type="text" value="" size="3" maxlength="3" onchange="changeAppearance();updateStyle();" /></td> 
+                                               </tr>
+
+                                               <tr>
+                                                       <td class="column1"><label id="stylelabel" for="style">{$lang_advimage_style}</label></td> 
+                                                       <td colspan="2"><input id="style" name="style" type="text" value="" onchange="styleUpdated();" /></td> 
+                                               </tr>
+
+                                               <!-- <tr>
+                                                       <td class="column1"><label id="classeslabel" for="classes">{$lang_advimage_classes}</label></td> 
+                                                       <td colspan="2"><input id="classes" name="classes" type="text" value="" onchange="selectByValue(this.form,'classlist',this.value,true);" /></td> 
+                                               </tr> -->
+                                       </table>
+                               </fieldset>
+                       </div>
+
+                       <div id="advanced_panel" class="panel">
+                               <fieldset>
+                                       <legend>{$lang_advimage_swap_image}</legend>
+
+                                       <input type="checkbox" id="onmousemovecheck" name="onmousemovecheck" class="checkbox" onclick="changeMouseMove();" />
+                                       <label id="onmousemovechecklabel" for="onmousemovecheck">{$lang_advimage_alt_image}</label>
+
+                                       <table border="0" cellpadding="4" cellspacing="0" width="100%">
+                                                       <tr>
+                                                               <td class="column1"><label id="onmouseoversrclabel" for="onmouseoversrc">{$lang_advimage_mouseover}</label></td> 
+                                                               <td><table border="0" cellspacing="0" cellpadding="0"> 
+                                                                       <tr> 
+                                                                         <td><input id="onmouseoversrc" name="onmouseoversrc" type="text" value="" /></td> 
+                                                                         <td><script language="javascript" type="text/javascript">renderBrowser('overbrowser','onmouseoversrc','image','advimage');</script></td>
+                                                                       </tr>
+                                                                 </table></td>
+                                                       </tr>
+                                                       <script language="javascript" type="text/javascript">renderImageList('imagelistover','onmouseoversrc');</script>
+                                                       <tr> 
+                                                               <td class="column1"><label id="onmouseoutsrclabel" for="onmouseoutsrc">{$lang_advimage_mouseout}</label></td> 
+                                                               <td class="column2"><table border="0" cellspacing="0" cellpadding="0"> 
+                                                                       <tr> 
+                                                                         <td><input id="onmouseoutsrc" name="onmouseoutsrc" type="text" value="" /></td> 
+                                                                         <td><script language="javascript" type="text/javascript">renderBrowser('outbrowser','onmouseoutsrc','image','advimage');</script></td>
+                                                                       </tr> 
+                                                                 </table></td> 
+                                                       </tr>
+                                                       <script language="javascript" type="text/javascript">renderImageList('imagelistout','onmouseoutsrc');</script>
+                                       </table>
+                               </fieldset>
+
+                               <fieldset>
+                                       <legend>{$lang_advimage_misc}</legend>
+
+                                       <table border="0" cellpadding="4" cellspacing="0">
+                                               <tr>
+                                                       <td class="column1"><label id="idlabel" for="id">{$lang_advimage_id}</label></td> 
+                                                       <td><input id="id" name="id" type="text" value="" /></td> 
+                                               </tr>
+
+                                               <tr>
+                                                       <td class="column1"><label id="dirlabel" for="dir">{$lang_advimage_langdir}</label></td> 
+                                                       <td>
+                                                               <select id="dir" name="dir" onchange="changeAppearance();"> 
+                                                                               <option value="">{$lang_not_set}</option> 
+                                                                               <option value="ltr">{$lang_advimage_ltr}</option> 
+                                                                               <option value="rtl">{$lang_advimage_rtl}</option> 
+                                                               </select>
+                                                       </td> 
+                                               </tr>
+
+                                               <tr>
+                                                       <td class="column1"><label id="langlabel" for="lang">{$lang_advimage_langcode}</label></td> 
+                                                       <td>
+                                                               <input id="lang" name="lang" type="text" value="" />
+                                                       </td> 
+                                               </tr>
+
+                                               <tr>
+                                                       <td class="column1"><label id="usemaplabel" for="usemap">{$lang_advimage_image_map}</label></td> 
+                                                       <td>
+                                                               <input id="usemap" name="usemap" type="text" value="" />
+                                                       </td> 
+                                               </tr>
+
+                                               <tr>
+                                                       <td class="column1"><label id="longdesclabel" for="longdesc">{$lang_advimage_long_desc}</label></td>
+                                                       <td><table border="0" cellspacing="0" cellpadding="0">
+                                                                       <tr>
+                                                                         <td><input id="longdesc" name="longdesc" type="text" value="" /></td>
+                                                                         <td><script language="javascript" type="text/javascript">renderBrowser('longdescbrowser','longdesc','file','advimage');</script></td>
+                                                                       </tr>
+                                                               </table></td> 
+                                               </tr>
+                                       </table>
+                               </fieldset>
+                       </div>
+               </div>
+
+               <div class="mceActionPanel">
+                       <div style="float: left">
+                               <input type="button" id="insert" name="insert" value="{$lang_insert}" onclick="insertAction();" />
+                       </div>
+
+                       <div style="float: right">
+                               <input type="button" id="cancel" name="cancel" value="{$lang_cancel}" onclick="cancelAction();" />
+                       </div>
+               </div>
+    </form>
+</body> 
+</html> 
diff --git a/webcit/tiny_mce/plugins/advimage/images/sample.gif b/webcit/tiny_mce/plugins/advimage/images/sample.gif
new file mode 100644 (file)
index 0000000..58e7897
Binary files /dev/null and b/webcit/tiny_mce/plugins/advimage/images/sample.gif differ
diff --git a/webcit/tiny_mce/plugins/advimage/jscripts/functions.js b/webcit/tiny_mce/plugins/advimage/jscripts/functions.js
new file mode 100644 (file)
index 0000000..fdbbdef
--- /dev/null
@@ -0,0 +1,475 @@
+/* Functions for the advimage plugin popup */
+
+var preloadImg = null;
+
+function preinit() {
+       // Initialize
+       tinyMCE.setWindowArg('mce_windowresize', false);
+
+       // Import external list url javascript
+       var url = tinyMCE.getParam("external_image_list_url");
+       if (url != null) {
+               // Fix relative
+               if (url.charAt(0) != '/')
+                       url = tinyMCE.documentBasePath + "/" + url;
+
+               document.write('<sc'+'ript language="javascript" type="text/javascript" src="' + url + '"></sc'+'ript>');
+       }
+}
+
+function convertURL(url, node, on_save) {
+       return eval("tinyMCEPopup.windowOpener." + tinyMCE.settings['urlconverter_callback'] + "(url, node, on_save);");
+}
+
+function getImageSrc(str) {
+       var pos = -1;
+
+       if (!str)
+               return "";
+
+       if ((pos = str.indexOf('this.src=')) != -1) {
+               var src = str.substring(pos + 10);
+
+               src = src.substring(0, src.indexOf('\''));
+
+               return src;
+       }
+
+       return "";
+}
+
+function getStyle(elm, st, attrib, style) {
+       var val = tinyMCE.getAttrib(elm, attrib);
+
+       if (typeof(style) == 'undefined')
+               style = attrib;
+
+       return val == '' ? (st[style] ? st[style].replace('px', '') : '') : val;
+}
+
+function init() {
+       tinyMCEPopup.resizeToInnerSize();
+
+       var formObj = document.forms[0];
+       var inst = tinyMCE.getInstanceById(tinyMCE.getWindowArg('editor_id'));
+       var elm = inst.getFocusElement();
+       var action = "insert";
+
+       // Resize some elements
+       if (isVisible('srcbrowser'))
+               document.getElementById('src').style.width = '260px';
+
+       if (isVisible('overbrowser'))
+               document.getElementById('onmouseoversrc').style.width = '260px';
+
+       if (isVisible('outbrowser'))
+               document.getElementById('onmouseoutsrc').style.width = '260px';
+
+       if (isVisible('longdescbrowser'))
+               document.getElementById('longdesc').style.width = '180px';
+
+       // Check action
+       if (elm != null && elm.nodeName == "IMG")
+               action = "update";
+
+       formObj.insert.value = tinyMCE.getLang('lang_' + action, 'Insert', true); 
+
+       if (action == "update") {
+               var src = tinyMCE.getAttrib(elm, 'src');
+               var onmouseoversrc = getImageSrc(tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'onmouseover')));
+               var onmouseoutsrc = getImageSrc(tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'onmouseout')));
+
+               // Fix for drag-drop/copy paste bug in Mozilla
+               mceRealSrc = tinyMCE.getAttrib(elm, 'mce_real_src');
+               if (mceRealSrc != "")
+                       src = mceRealSrc;
+
+               src = convertURL(src, elm, true);
+
+               if (onmouseoversrc != "")
+                       onmouseoversrc = convertURL(onmouseoversrc, elm, true);
+
+               if (onmouseoutsrc != "")
+                       onmouseoutsrc = convertURL(onmouseoutsrc, elm, true);
+
+               // Setup form data
+               var style = tinyMCE.parseStyle(elm.style.cssText);
+               formObj.src.value    = src;
+               formObj.alt.value    = tinyMCE.getAttrib(elm, 'alt');
+               formObj.title.value  = tinyMCE.getAttrib(elm, 'title');
+               formObj.border.value = getStyle(elm, style, 'border', 'border-width');
+               formObj.vspace.value = tinyMCE.getAttrib(elm, 'vspace');
+               formObj.hspace.value = tinyMCE.getAttrib(elm, 'hspace');
+               formObj.width.value  = getStyle(elm, style, 'width');
+               formObj.height.value = getStyle(elm, style, 'height');
+               formObj.onmouseoversrc.value = onmouseoversrc;
+               formObj.onmouseoutsrc.value  = onmouseoutsrc;
+               formObj.id.value  = tinyMCE.getAttrib(elm, 'id');
+               formObj.dir.value  = tinyMCE.getAttrib(elm, 'dir');
+               formObj.lang.value  = tinyMCE.getAttrib(elm, 'lang');
+               formObj.longdesc.value  = tinyMCE.getAttrib(elm, 'longdesc');
+               formObj.usemap.value  = tinyMCE.getAttrib(elm, 'usemap');
+               formObj.style.value  = tinyMCE.serializeStyle(style);
+
+               // Select by the values
+               if (tinyMCE.isMSIE)
+                       selectByValue(formObj, 'align', getStyle(elm, style, 'align', 'styleFloat'));
+               else
+                       selectByValue(formObj, 'align', getStyle(elm, style, 'align', 'cssFloat'));
+
+               selectByValue(formObj, 'classlist', tinyMCE.getAttrib(elm, 'class'));
+               selectByValue(formObj, 'imagelistsrc', src);
+               selectByValue(formObj, 'imagelistover', onmouseoversrc);
+               selectByValue(formObj, 'imagelistout', onmouseoutsrc);
+
+               updateStyle();
+               showPreviewImage(src);
+               changeAppearance();
+
+               window.focus();
+       }
+
+       addClassesToList('classlist', 'advimage_styles');
+
+       // If option enabled default contrain proportions to checked
+       if (tinyMCE.getParam("advimage_constrain_proportions", true))
+               formObj.constrain.checked = true;
+
+       // Check swap image if valid data
+       if (formObj.onmouseoversrc.value != "" || formObj.onmouseoutsrc.value != "")
+               setSwapImageDisabled(false);
+       else
+               setSwapImageDisabled(true);
+}
+
+function setSwapImageDisabled(state) {
+       var formObj = document.forms[0];
+
+       formObj.onmousemovecheck.checked = !state;
+
+       setBrowserDisabled('overbrowser', state);
+       setBrowserDisabled('outbrowser', state);
+
+       if (formObj.imagelistover)
+               formObj.imagelistover.disabled = state;
+
+       if (formObj.imagelistout)
+               formObj.imagelistout.disabled = state;
+
+       formObj.onmouseoversrc.disabled = state;
+       formObj.onmouseoutsrc.disabled  = state;
+}
+
+function setAttrib(elm, attrib, value) {
+       var formObj = document.forms[0];
+       var valueElm = formObj.elements[attrib];
+
+       if (typeof(value) == "undefined" || value == null) {
+               value = "";
+
+               if (valueElm)
+                       value = valueElm.value;
+       }
+
+       if (value != "") {
+               elm.setAttribute(attrib, value);
+
+               if (attrib == "style")
+                       attrib = "style.cssText";
+
+               if (attrib == "longdesc")
+                       attrib = "longDesc";
+
+               if (attrib == "width") {
+                       attrib = "style.width";
+                       value = value + "px";
+               }
+
+               if (attrib == "height") {
+                       attrib = "style.height";
+                       value = value + "px";
+               }
+
+               if (attrib == "class")
+                       attrib = "className";
+
+               eval('elm.' + attrib + "=value;");
+       } else
+               elm.removeAttribute(attrib);
+}
+
+function makeAttrib(attrib, value) {
+       var formObj = document.forms[0];
+       var valueElm = formObj.elements[attrib];
+
+       if (typeof(value) == "undefined" || value == null) {
+               value = "";
+
+               if (valueElm)
+                       value = valueElm.value;
+       }
+
+       if (value == "")
+               return "";
+
+       // XML encode it
+       value = value.replace(/&/g, '&amp;');
+       value = value.replace(/\"/g, '&quot;');
+       value = value.replace(/</g, '&lt;');
+       value = value.replace(/>/g, '&gr;');
+
+       return ' ' + attrib + '="' + value + '"';
+}
+
+function insertAction() {
+       var inst = tinyMCE.getInstanceById(tinyMCE.getWindowArg('editor_id'));
+       var elm = inst.getFocusElement();
+       var formObj = document.forms[0];
+       var src = formObj.src.value;
+       var onmouseoversrc = formObj.onmouseoversrc.value;
+       var onmouseoutsrc = formObj.onmouseoutsrc.value;
+
+       // Fix output URLs
+       src = convertURL(src, tinyMCE.imgElement);
+
+       if (onmouseoversrc && onmouseoversrc != "")
+               onmouseoversrc = "this.src='" + convertURL(onmouseoversrc, tinyMCE.imgElement) + "';";
+
+       if (onmouseoutsrc && onmouseoutsrc != "")
+               onmouseoutsrc = "this.src='" + convertURL(onmouseoutsrc, tinyMCE.imgElement) + "';";
+
+       if (elm != null && elm.nodeName == "IMG") {
+               setAttrib(elm, 'src', src);
+               setAttrib(elm, 'mce_real_src', src);
+               setAttrib(elm, 'alt');
+               setAttrib(elm, 'title');
+               setAttrib(elm, 'border');
+               setAttrib(elm, 'vspace');
+               setAttrib(elm, 'hspace');
+               setAttrib(elm, 'width');
+               setAttrib(elm, 'height');
+               setAttrib(elm, 'onmouseover', onmouseoversrc);
+               setAttrib(elm, 'onmouseout', onmouseoutsrc);
+               setAttrib(elm, 'id');
+               setAttrib(elm, 'dir');
+               setAttrib(elm, 'lang');
+               setAttrib(elm, 'longdesc');
+               setAttrib(elm, 'usemap');
+               setAttrib(elm, 'style');
+               setAttrib(elm, 'class', getSelectValue(formObj, 'classlist'));
+               setAttrib(elm, 'align', getSelectValue(formObj, 'align'));
+
+               //tinyMCEPopup.execCommand("mceRepaint");
+
+               // Refresh in old MSIE
+               if (tinyMCE.isMSIE5)
+                       elm.outerHTML = elm.outerHTML;
+       } else {
+               var html = "<img";
+
+               html += makeAttrib('src', src);
+               html += makeAttrib('alt');
+               html += makeAttrib('title');
+               html += makeAttrib('border');
+               html += makeAttrib('vspace');
+               html += makeAttrib('hspace');
+               html += makeAttrib('width');
+               html += makeAttrib('height');
+               html += makeAttrib('onmouseover', onmouseoutsrc);
+               html += makeAttrib('onmouseout', onmouseoutsrc);
+               html += makeAttrib('id');
+               html += makeAttrib('dir');
+               html += makeAttrib('lang');
+               html += makeAttrib('longdesc');
+               html += makeAttrib('usemap');
+               html += makeAttrib('style');
+               html += makeAttrib('class', getSelectValue(formObj, 'classlist'));
+               html += makeAttrib('align', getSelectValue(formObj, 'align'));
+               html += " />";
+
+               tinyMCEPopup.execCommand("mceInsertContent", false, html);
+       }
+
+       tinyMCEPopup.close();
+}
+
+function cancelAction() {
+       tinyMCEPopup.close();
+}
+
+function changeAppearance() {
+       var formObj = document.forms[0];
+       var img = document.getElementById('alignSampleImg');
+
+       if (img) {
+               img.align = formObj.align.value;
+               img.border = formObj.border.value;
+               img.hspace = formObj.hspace.value;
+               img.vspace = formObj.vspace.value;
+       }
+}
+
+function changeMouseMove() {
+       var formObj = document.forms[0];
+
+       setSwapImageDisabled(!formObj.onmousemovecheck.checked);
+}
+
+function updateStyle() {
+       var formObj = document.forms[0];
+       var st = tinyMCE.parseStyle(formObj.style.value);
+
+       if (tinyMCE.getParam('inline_styles', false)) {
+               st['width'] = formObj.width.value == '' ? '' : formObj.width.value + "px";
+               st['height'] = formObj.height.value == '' ? '' : formObj.height.value + "px";
+               st['border-width'] = formObj.border.value == '' ? '' : formObj.border.value + "px";
+               st['margin-top'] = formObj.vspace.value == '' ? '' : formObj.vspace.value + "px";
+               st['margin-bottom'] = formObj.vspace.value == '' ? '' : formObj.vspace.value + "px";
+               st['margin-left'] = formObj.hspace.value == '' ? '' : formObj.hspace.value + "px";
+               st['margin-right'] = formObj.hspace.value == '' ? '' : formObj.hspace.value + "px";
+       } else {
+               st['width'] = st['height'] = st['border-width'] = null;
+
+               if (st['margin-top'] == st['margin-bottom'])
+                       st['margin-top'] = st['margin-bottom'] = null;
+
+               if (st['margin-left'] == st['margin-right'])
+                       st['margin-left'] = st['margin-right'] = null;
+       }
+
+       formObj.style.value = tinyMCE.serializeStyle(st);
+}
+
+function styleUpdated() {
+       var formObj = document.forms[0];
+       var st = tinyMCE.parseStyle(formObj.style.value);
+
+       if (st['width'])
+               formObj.width.value = st['width'].replace('px', '');
+
+       if (st['height'])
+               formObj.height.value = st['height'].replace('px', '');
+
+       if (st['margin-top'] && st['margin-top'] == st['margin-bottom'])
+               formObj.vspace.value = st['margin-top'].replace('px', '');
+
+       if (st['margin-left'] && st['margin-left'] == st['margin-right'])
+               formObj.hspace.value = st['margin-left'].replace('px', '');
+
+       if (st['border-width'])
+               formObj.border.value = st['border-width'].replace('px', '');
+}
+
+function changeHeight() {
+       var formObj = document.forms[0];
+
+       if (!formObj.constrain.checked || !preloadImg) {
+               updateStyle();
+               return;
+       }
+
+       var temp = (formObj.width.value / preloadImg.width) * preloadImg.height;
+       formObj.height.value = temp.toFixed(0);
+       updateStyle();
+}
+
+function changeWidth() {
+       var formObj = document.forms[0];
+
+       if (!formObj.constrain.checked || !preloadImg) {
+               updateStyle();
+               return;
+       }
+
+       var temp = (formObj.height.value / preloadImg.height) * preloadImg.width;
+       formObj.width.value = temp.toFixed(0);
+       updateStyle();
+}
+
+function onSelectMainImage(target_form_element, name, value) {
+       var formObj = document.forms[0];
+
+       formObj.alt.value = name;
+       formObj.title.value = name;
+
+       resetImageData();
+       showPreviewImage(formObj.elements[target_form_element].value);
+}
+
+function showPreviewImage(src) {
+       selectByValue(document.forms[0], 'imagelistsrc', src);
+
+       var elm = document.getElementById('prev');
+       var src = src == "" ? src : tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings['base_href'], src);
+
+       if (src == "")
+               elm.innerHTML = "";
+       else
+               elm.innerHTML = '<img src="' + src + '" border="0" />'
+
+       getImageData(src);
+}
+
+function getImageData(src) {
+       preloadImg = new Image();
+
+       tinyMCE.addEvent(preloadImg, "load", updateImageData);
+       tinyMCE.addEvent(preloadImg, "error", resetImageData);
+
+       preloadImg.src = src;
+}
+
+function updateImageData() {
+       var formObj = document.forms[0];
+
+       if (formObj.width.value == "")
+               formObj.width.value = preloadImg.width;
+
+       if (formObj.height.value == "")
+               formObj.height.value = preloadImg.height;
+
+       updateStyle();
+}
+
+function resetImageData() {
+       var formObj = document.forms[0];
+       formObj.width.value = formObj.height.value = "";        
+}
+
+function getSelectValue(form_obj, field_name) {
+       var elm = form_obj.elements[field_name];
+
+       if (elm == null || elm.options == null)
+               return "";
+
+       return elm.options[elm.selectedIndex].value;
+}
+
+function renderImageList(elm_id, target_form_element, onchange_func) {
+       if (typeof(tinyMCEImageList) == "undefined" || tinyMCEImageList.length == 0)
+               return;
+
+       var html = "";
+
+       html += '<tr><td class="column1"><label for="' + elm_id + '">{$lang_image_list}</label></td>';
+       html += '<td colspan="2"><select id="' + elm_id + '" name="' + elm_id + '"';
+       html += ' class="mceImageList" onfocus="tinyMCE.addSelectAccessibility(event, this, window);" onchange="this.form.' + target_form_element + '.value=';
+       html += 'this.options[this.selectedIndex].value;';
+
+       if (typeof(onchange_func) != "undefined")
+               html += onchange_func + '(\'' + target_form_element + '\',this.options[this.selectedIndex].text,this.options[this.selectedIndex].value);';
+
+       html += '"><option value="">---</option>';
+
+       for (var i=0; i<tinyMCEImageList.length; i++)
+               html += '<option value="' + tinyMCEImageList[i][1] + '">' + tinyMCEImageList[i][0] + '</option>';
+
+       html += '</select></td></tr>';
+
+       document.write(html);
+
+       // tinyMCE.debug('-- image list start --', html, '-- image list end --');
+}
+
+// While loading
+preinit();
diff --git a/webcit/tiny_mce/plugins/advimage/langs/cs.js b/webcit/tiny_mce/plugins/advimage/langs/cs.js
new file mode 100644 (file)
index 0000000..ccf65c1
--- /dev/null
@@ -0,0 +1,8 @@
+// UK lang variables
+
+tinyMCE.addToLang('',{
+insert_image_alt2 : 'Název obrázku',
+insert_image_onmousemove : 'Alternativní obrázek',
+insert_image_mouseover : 'pøi najetí my\9ai',
+insert_image_mouseout : 'pøi odjetí my\9ai'
+});
diff --git a/webcit/tiny_mce/plugins/advimage/langs/de.js b/webcit/tiny_mce/plugins/advimage/langs/de.js
new file mode 100644 (file)
index 0000000..0212c25
--- /dev/null
@@ -0,0 +1,8 @@
+// DE lang variables
+
+tinyMCE.addToLang('',{
+insert_image_alt2 : 'Titel des Bildes',
+insert_image_onmousemove : 'Alternatives Bild',
+insert_image_mouseover : 'f&uuml;r Maus dar&uuml;ber',
+insert_image_mouseout : 'f&uuml;r Maus ausserhalb'
+});
diff --git a/webcit/tiny_mce/plugins/advimage/langs/en.js b/webcit/tiny_mce/plugins/advimage/langs/en.js
new file mode 100644 (file)
index 0000000..93999ec
--- /dev/null
@@ -0,0 +1,26 @@
+// UK lang variables
+
+tinyMCE.addToLang('advimage',{
+tab_general : 'General',
+tab_appearance : 'Appearance',
+tab_advanced : 'Advanced',
+general : 'General',
+title : 'Title',
+preview : 'Preview',
+constrain_proportions : 'Constrain proportions',
+langdir : 'Language direction',
+langcode : 'Language code',
+long_desc : 'Long description link',
+style : 'Style',
+classes : 'Classes',
+ltr : 'Left to right',
+rtl : 'Right to left',
+id : 'Id',
+image_map : 'Image map',
+swap_image : 'Swap image',
+alt_image : 'Alternative image',
+mouseover : 'for mouse over',
+mouseout : 'for mouse out',
+misc : 'Miscellaneous',
+example_img : 'Appearance&nbsp;preview&nbsp;image'
+});
diff --git a/webcit/tiny_mce/plugins/advimage/langs/fa.js b/webcit/tiny_mce/plugins/advimage/langs/fa.js
new file mode 100644 (file)
index 0000000..81fbee0
--- /dev/null
@@ -0,0 +1,13 @@
+// IR lang variables
+// Persian (Farsi) language pack (for IRAN)
+// By: Morteza Zafari
+// Lost@LostLord.com
+// http://www.LostLord.com
+
+tinyMCE.addToLang('',{
+dir : 'rtl',
+insert_image_alt2 : '????? ???',
+insert_image_onmousemove : '??? ???????',
+insert_image_mouseover : '??? ??????? ????? ???? ?????? ????',
+insert_image_mouseout : '??? ??????? ????? ???? ?????? ????'
+});
diff --git a/webcit/tiny_mce/plugins/advimage/langs/fa_ca.js b/webcit/tiny_mce/plugins/advimage/langs/fa_ca.js
new file mode 100644 (file)
index 0000000..f4dea43
--- /dev/null
@@ -0,0 +1,8 @@
+// CA_FR lang variables
+
+tinyMCE.addToLang('',{
+insert_image_alt2 : 'Titre de l\'image',
+insert_image_onmousemove : 'Image alternative',
+insert_image_mouseover : 'pour le «mouse over»',
+insert_image_mouseout : 'pour le «mouse out»'
+});
diff --git a/webcit/tiny_mce/plugins/advimage/langs/fr.js b/webcit/tiny_mce/plugins/advimage/langs/fr.js
new file mode 100644 (file)
index 0000000..2bfe086
--- /dev/null
@@ -0,0 +1,8 @@
+// French lang variables by Laurent Dran
+
+tinyMCE.addToLang('',{
+insert_image_alt2 : 'Titre de l\'image',
+insert_image_onmousemove : 'Image alternative',
+insert_image_mouseover : 'Pour la souris au dessus',
+insert_image_mouseout : 'Pour la souris en dehors'
+});
diff --git a/webcit/tiny_mce/plugins/advimage/langs/fr_ca.js b/webcit/tiny_mce/plugins/advimage/langs/fr_ca.js
new file mode 100644 (file)
index 0000000..f4dea43
--- /dev/null
@@ -0,0 +1,8 @@
+// CA_FR lang variables
+
+tinyMCE.addToLang('',{
+insert_image_alt2 : 'Titre de l\'image',
+insert_image_onmousemove : 'Image alternative',
+insert_image_mouseover : 'pour le «mouse over»',
+insert_image_mouseout : 'pour le «mouse out»'
+});
diff --git a/webcit/tiny_mce/plugins/advimage/langs/he.js b/webcit/tiny_mce/plugins/advimage/langs/he.js
new file mode 100644 (file)
index 0000000..3d2971b
--- /dev/null
@@ -0,0 +1,8 @@
+// HE lang variables by Liron Newman, http://eesh.net
+
+tinyMCE.addToLang('',{
+insert_image_alt2 : 'ë&aring;úøú &auml;úî&aring;ð&auml;',
+insert_image_onmousemove : 'úî&aring;ð&auml; çì&aring;ôéú',
+insert_image_mouseover : 'ëùñîï &auml;òëáø îòì &auml;úî&aring;ð&auml;',
+insert_image_mouseout : 'ëùñîï &auml;òëáø ò&aring;æá àú &auml;úî&aring;ð&auml;'
+});
diff --git a/webcit/tiny_mce/plugins/advimage/langs/ko.js b/webcit/tiny_mce/plugins/advimage/langs/ko.js
new file mode 100644 (file)
index 0000000..5a270b0
--- /dev/null
@@ -0,0 +1,8 @@
+// KO lang variables
+
+tinyMCE.addToLang('',{
+insert_image_alt2 : '±×¸² Á¦¸ñ',
+insert_image_onmousemove : '´ëü À̹ÌÁ&ouml;',
+insert_image_mouseover : '¸¶¿ì½º¸¦ ¿Ã·ÈÀ» ¶§',
+insert_image_mouseout : '¸¶¿ì½º¸¦ ³»·ÈÀ» ¶§'
+});
diff --git a/webcit/tiny_mce/plugins/advimage/langs/nl.js b/webcit/tiny_mce/plugins/advimage/langs/nl.js
new file mode 100644 (file)
index 0000000..3fae6dc
--- /dev/null
@@ -0,0 +1,8 @@
+// UK lang variables
+
+tinyMCE.addToLang('',{
+insert_image_alt2 : 'Titel plaatje',
+insert_image_onmousemove : 'Alternatief plaatje',
+insert_image_mouseover : 'voor muis over',
+insert_image_mouseout : 'voor muis out'
+});
diff --git a/webcit/tiny_mce/plugins/advimage/langs/pl.js b/webcit/tiny_mce/plugins/advimage/langs/pl.js
new file mode 100644 (file)
index 0000000..d42530e
--- /dev/null
@@ -0,0 +1,8 @@
+// PL lang variables
+
+tinyMCE.addToLang('',{
+insert_image_alt2 : 'Tytul obrazka',
+insert_image_onmousemove : 'Obrazek zastepczy',
+insert_image_mouseover : 'po najechaniu myszy',
+insert_image_mouseout : 'po odjechaniu myszy'
+});
diff --git a/webcit/tiny_mce/plugins/advimage/langs/pt_br.js b/webcit/tiny_mce/plugins/advimage/langs/pt_br.js
new file mode 100644 (file)
index 0000000..952d723
--- /dev/null
@@ -0,0 +1,8 @@
+// pt_BR lang variables
+
+tinyMCE.addToLang('',{
+insert_image_alt2 : 'Título da Imagem',
+insert_image_onmousemove : 'Imagem Alternativa',
+insert_image_mouseover : 'para quando mouse sobre',
+insert_image_mouseout : 'para quando mouse fora'
+});
diff --git a/webcit/tiny_mce/plugins/advimage/langs/sv.js b/webcit/tiny_mce/plugins/advimage/langs/sv.js
new file mode 100644 (file)
index 0000000..dc0466d
--- /dev/null
@@ -0,0 +1,26 @@
+// SE lang variables
+
+tinyMCE.addToLang('advimage',{
+tab_general : 'Generella inst&auml;llningar',
+tab_appearance : 'Visuella inst&auml;llningar',
+tab_advanced : 'Avancerade inst&auml;llningar',
+general : 'Generella',
+title : 'Titel',
+preview : 'F&ouml;rhandsgranskning',
+constrain_proportions : 'Beh&aring;ll proportionerna',
+langdir : 'Skrift riktning',
+langcode : 'Spr&aring;k k&aring;d',
+long_desc : 'Long beskrivning',
+style : 'Stil',
+classes : 'CSS Classer',
+ltr : 'V&auml;nster till h&ouml;ger',
+rtl : 'H&ouml;ger till v&auml;nster',
+id : 'Id',
+image_map : 'Bild karta',
+swap_image : 'Byt bild',
+alt_image : 'Alternativ bild',
+mouseover : 'n&auml;r pekaren &auml;r &ouml;ver',
+mouseout : 'n&auml;r pekaren &auml;r utanf&ouml;r',
+misc : '&Ouml;vrigt',
+example_img : 'F&ouml;rhandsgransknings bild'
+});
diff --git a/webcit/tiny_mce/plugins/advimage/langs/zh_cn.js b/webcit/tiny_mce/plugins/advimage/langs/zh_cn.js
new file mode 100644 (file)
index 0000000..ce3a0be
--- /dev/null
@@ -0,0 +1,9 @@
+// Simplified Chinese lang variables contributed by cube316 (cube316@gmail.com)
+//Çë·ÃÎÊ http://www.cube316.net/ ÒÔ»ñÈ¡TinyMCEµ&Auml;&Ouml;ÐÎ&Auml;&Ouml;§³&Ouml;
+
+tinyMCE.addToLang('',{
+insert_image_alt2 : 'ͼƬ±êÌâ',
+insert_image_onmousemove : 'Ìæ´úͼÏñ',
+insert_image_mouseover : 'Êó±êÒÆÉÏʱ',
+insert_image_mouseout : 'Êó±êÒÆ¿ªÊ±'
+});
diff --git a/webcit/tiny_mce/plugins/advimage/readme.txt b/webcit/tiny_mce/plugins/advimage/readme.txt
new file mode 100644 (file)
index 0000000..6bc6d7d
--- /dev/null
@@ -0,0 +1 @@
+Check the TinyMCE documentation for details on this plugin.
diff --git a/webcit/tiny_mce/plugins/advlink/css/advlink.css b/webcit/tiny_mce/plugins/advlink/css/advlink.css
new file mode 100644 (file)
index 0000000..246162d
--- /dev/null
@@ -0,0 +1,35 @@
+/* CSS file for advimage plugin popup */
+
+.mceLinkList, .mceAnchorList, #targetlist {
+       width: 280px;
+}
+
+.mceActionPanel {
+       margin-top: 7px;
+}
+
+.panel_wrapper div.current {
+       height: 320px;
+}
+
+#classlist, #title, #href {
+       width: 280px;
+}
+
+#popupurl, #popupname {
+       width: 200px;
+}
+
+#popupwidth, #popupheight, #popupleft, #popuptop {
+       width: 30px;
+       vertical-align: middle;
+       text-align: center;
+}
+
+#id, #style, #classes, #target, #dir, #hreflang, #lang, #charset, #type, #rel, #rev, #tabindex, #accesskey {
+       width: 200px;
+}
+
+#events_panel input {
+       width: 200px;
+}
diff --git a/webcit/tiny_mce/plugins/advlink/editor_plugin.js b/webcit/tiny_mce/plugins/advlink/editor_plugin.js
new file mode 100644 (file)
index 0000000..a6dc068
--- /dev/null
@@ -0,0 +1,2 @@
+/* Import plugin specific language pack */
+ tinyMCE.importPluginLanguagePack('advlink','en,de,sv,zh_cn,cs,fa,fr_ca,fr,pl,pt_br,nl');function TinyMCE_advlink_getInfo(){return{longname:'Advanced link',author:'Moxiecode Systems',authorurl:'http://tinymce.moxiecode.com',infourl:'http://tinymce.moxiecode.com/tinymce/docs/plugin_advlink.html',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion};};function TinyMCE_advlink_getControlHTML(control_name){switch(control_name){case "link":return '<a href="javascript:tinyMCE.execInstanceCommand(\'{$editor_id}\',\'mceAdvLink\');" onmousedown="return false;"><img id="{$editor_id}_advlink" src="{$themeurl}/images/link.gif" title="{$lang_link_desc}" width="20" height="20" class="mceButtonNormal" onmouseover="tinyMCE.switchClass(this,\'mceButtonOver\');" onmouseout="tinyMCE.restoreClass(this);" onmousedown="tinyMCE.restoreClass(this);" /></a>';}return "";}function TinyMCE_advlink_execCommand(editor_id,element,command,user_interface,value){switch(command){case "mceAdvLink":var anySelection=false;var inst=tinyMCE.getInstanceById(editor_id);var focusElm=inst.getFocusElement();if(tinyMCE.selectedElement)anySelection=(tinyMCE.selectedElement.nodeName.toLowerCase()=="img")||(selectedText&&selectedText.length>0);if(anySelection||(focusElm!=null&&focusElm.nodeName=="A")){var template=new Array();template['file']='../../plugins/advlink/link.htm';template['width']=480;template['height']=400;template['width']+=tinyMCE.getLang('lang_advlink_delta_width',0);template['height']+=tinyMCE.getLang('lang_advlink_delta_height',0);tinyMCE.openWindow(template,{editor_id:editor_id,inline:"yes"});}return true;}return false;}function TinyMCE_advlink_handleNodeChange(editor_id,node,undo_index,undo_levels,visual_aid,any_selection){tinyMCE.switchClassSticky(editor_id+'_advlink','mceButtonDisabled',true);if(node==null)return;if(any_selection)tinyMCE.switchClassSticky(editor_id+'_advlink','mceButtonNormal',false);do{if(node.nodeName=="A"&&tinyMCE.getAttrib(node,'href')!="")tinyMCE.switchClassSticky(editor_id+'_advlink','mceButtonSelected',false);}while((node=node.parentNode));return true;}
\ No newline at end of file
diff --git a/webcit/tiny_mce/plugins/advlink/editor_plugin_src.js b/webcit/tiny_mce/plugins/advlink/editor_plugin_src.js
new file mode 100644 (file)
index 0000000..d290ec8
--- /dev/null
@@ -0,0 +1,68 @@
+/* Import plugin specific language pack */
+tinyMCE.importPluginLanguagePack('advlink', 'en,de,sv,zh_cn,cs,fa,fr_ca,fr,pl,pt_br,nl');
+
+function TinyMCE_advlink_getInfo() {
+       return {
+               longname : 'Advanced link',
+               author : 'Moxiecode Systems',
+               authorurl : 'http://tinymce.moxiecode.com',
+               infourl : 'http://tinymce.moxiecode.com/tinymce/docs/plugin_advlink.html',
+               version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion
+       };
+};
+
+function TinyMCE_advlink_getControlHTML(control_name) {
+       switch (control_name) {
+               case "link":
+                       return '<a href="javascript:tinyMCE.execInstanceCommand(\'{$editor_id}\',\'mceAdvLink\');" onmousedown="return false;"><img id="{$editor_id}_advlink" src="{$themeurl}/images/link.gif" title="{$lang_link_desc}" width="20" height="20" class="mceButtonNormal" onmouseover="tinyMCE.switchClass(this,\'mceButtonOver\');" onmouseout="tinyMCE.restoreClass(this);" onmousedown="tinyMCE.restoreClass(this);" /></a>';
+       }
+
+       return "";
+}
+
+function TinyMCE_advlink_execCommand(editor_id, element, command, user_interface, value) {
+       switch (command) {
+               case "mceAdvLink":
+                       var anySelection = false;
+                       var inst = tinyMCE.getInstanceById(editor_id);
+                       var focusElm = inst.getFocusElement();
+
+                       if (tinyMCE.selectedElement)
+                               anySelection = (tinyMCE.selectedElement.nodeName.toLowerCase() == "img") || (selectedText && selectedText.length > 0);
+
+                       if (anySelection || (focusElm != null && focusElm.nodeName == "A")) {
+                               var template = new Array();
+
+                               template['file']   = '../../plugins/advlink/link.htm';
+                               template['width']  = 480;
+                               template['height'] = 400;
+
+                               // Language specific width and height addons
+                               template['width']  += tinyMCE.getLang('lang_advlink_delta_width', 0);
+                               template['height'] += tinyMCE.getLang('lang_advlink_delta_height', 0);
+
+                               tinyMCE.openWindow(template, {editor_id : editor_id, inline : "yes"});
+                       }
+
+                       return true;
+       }
+
+       return false;
+}
+
+function TinyMCE_advlink_handleNodeChange(editor_id, node, undo_index, undo_levels, visual_aid, any_selection) {
+       tinyMCE.switchClassSticky(editor_id + '_advlink', 'mceButtonDisabled', true);
+
+       if (node == null)
+               return;
+
+       if (any_selection)
+               tinyMCE.switchClassSticky(editor_id + '_advlink', 'mceButtonNormal', false);
+
+       do {
+               if (node.nodeName == "A" && tinyMCE.getAttrib(node, 'href') != "")
+                       tinyMCE.switchClassSticky(editor_id + '_advlink', 'mceButtonSelected', false);
+       } while ((node = node.parentNode));
+
+       return true;
+}
diff --git a/webcit/tiny_mce/plugins/advlink/jscripts/functions.js b/webcit/tiny_mce/plugins/advlink/jscripts/functions.js
new file mode 100644 (file)
index 0000000..e0e6b63
--- /dev/null
@@ -0,0 +1,537 @@
+/* Functions for the advlink plugin popup */
+
+var templates = {
+       "window.open" : "window.open('${url}','${target}','${options}')"
+};
+
+function preinit() {
+       // Initialize
+       tinyMCE.setWindowArg('mce_windowresize', false);
+
+       // Import external list url javascript
+       var url = tinyMCE.getParam("external_link_list_url");
+       if (url != null) {
+               // Fix relative
+               if (url.charAt(0) != '/')
+                       url = tinyMCE.documentBasePath + "/" + url;
+
+               document.write('<sc'+'ript language="javascript" type="text/javascript" src="' + url + '"></sc'+'ript>');
+       }
+}
+
+function changeClass() {
+       var formObj = document.forms[0];
+       formObj.classes.value = getSelectValue(formObj, 'classlist');
+}
+
+function init() {
+       tinyMCEPopup.resizeToInnerSize();
+
+       var formObj = document.forms[0];
+       var inst = tinyMCE.getInstanceById(tinyMCE.getWindowArg('editor_id'));
+       var elm = inst.getFocusElement();
+       var action = "insert";
+
+       // Resize some elements
+       if (isVisible('hrefbrowser'))
+               document.getElementById('href').style.width = '260px';
+
+       if (isVisible('popupurlbrowser'))
+               document.getElementById('popupurl').style.width = '180px';
+
+       elm = tinyMCE.getParentElement(elm, "a");
+       if (elm != null && elm.nodeName == "A")
+               action = "update";
+
+       formObj.insert.value = tinyMCE.getLang('lang_' + action, 'Insert', true); 
+
+       setPopupControlsDisabled(true);
+
+       if (action == "update") {
+               var href = tinyMCE.getAttrib(elm, 'href');
+
+               // Fix for drag-drop/copy paste bug in Mozilla
+               mceRealHref = tinyMCE.getAttrib(elm, 'mce_real_href');
+               if (mceRealHref != "")
+                       href = mceRealHref;
+
+               href = convertURL(href, elm, true);
+
+               var onclick = tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'onclick'));
+               if (onclick == null || onclick == "")
+                       onclick = tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'mce_onclick'));
+
+               // Setup form data
+               setFormValue('href', href);
+               setFormValue('title', tinyMCE.getAttrib(elm, 'title'));
+               setFormValue('id', tinyMCE.getAttrib(elm, 'id'));
+               setFormValue('style', elm.style.cssText.toLowerCase());
+               setFormValue('rel', tinyMCE.getAttrib(elm, 'rel'));
+               setFormValue('rev', tinyMCE.getAttrib(elm, 'rev'));
+               setFormValue('charset', tinyMCE.getAttrib(elm, 'charset'));
+               setFormValue('hreflang', tinyMCE.getAttrib(elm, 'hreflang'));
+               setFormValue('dir', tinyMCE.getAttrib(elm, 'dir'));
+               setFormValue('lang', tinyMCE.getAttrib(elm, 'lang'));
+               setFormValue('tabindex', tinyMCE.getAttrib(elm, 'tabindex', typeof(elm.tabindex) != "undefined" ? elm.tabindex : ""));
+               setFormValue('accesskey', tinyMCE.getAttrib(elm, 'accesskey', typeof(elm.accesskey) != "undefined" ? elm.accesskey : ""));
+               setFormValue('type', tinyMCE.getAttrib(elm, 'type'));
+               setFormValue('onfocus', tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'onfocus')));
+               setFormValue('onblur', tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'onblur')));
+               setFormValue('onclick', onclick);
+               setFormValue('ondblclick', tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'ondblclick')));
+               setFormValue('onmousedown', tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'onmousedown')));
+               setFormValue('onmouseup', tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'onmouseup')));
+               setFormValue('onmouseover', tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'onmouseover')));
+               setFormValue('onmousemove', tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'onmousemove')));
+               setFormValue('onmouseout', tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'onmouseout')));
+               setFormValue('onkeypress', tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'onkeypress')));
+               setFormValue('onkeydown', tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'onkeydown')));
+               setFormValue('onkeyup', tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'onkeyup')));
+               setFormValue('target', tinyMCE.getAttrib(elm, 'target'));
+               setFormValue('classes', tinyMCE.getAttrib(elm, 'class'));
+
+               // Parse onclick data
+               if (onclick != null && onclick.indexOf('window.open') != -1)
+                       parseWindowOpen(onclick);
+               else
+                       parseFunction(onclick);
+
+               // Select by the values
+               selectByValue(formObj, 'dir', tinyMCE.getAttrib(elm, 'dir'));
+               selectByValue(formObj, 'rel', tinyMCE.getAttrib(elm, 'rel'));
+               selectByValue(formObj, 'rev', tinyMCE.getAttrib(elm, 'rev'));
+               selectByValue(formObj, 'linklisthref', href);
+
+               if (href.charAt(0) == '#')
+                       selectByValue(formObj, 'anchorlist', href);
+
+               selectByValue(formObj, 'classlist', tinyMCE.getAttrib(elm, 'class'), true);
+               selectByValue(formObj, 'targetlist', tinyMCE.getAttrib(elm, 'target'), true);
+       }
+
+       addClassesToList('classlist', 'advlink_styles');
+
+       window.focus();
+}
+
+function setFormValue(name, value) {
+       document.forms[0].elements[name].value = value;
+}
+
+function convertURL(url, node, on_save) {
+       return eval("tinyMCEPopup.windowOpener." + tinyMCE.settings['urlconverter_callback'] + "(url, node, on_save);");
+}
+
+function parseWindowOpen(onclick) {
+       var formObj = document.forms[0];
+
+       // Preprocess center code
+       if (onclick.indexOf('return false;') != -1) {
+               formObj.popupreturn.checked = true;
+               onclick = onclick.replace('return false;', '');
+       }
+
+       var onClickData = parseLink(onclick);
+
+       if (onClickData != null) {
+               formObj.ispopup.checked = true;
+               setPopupControlsDisabled(false);
+
+               var onClickWindowOptions = parseOptions(onClickData['options']);
+
+               formObj.popupname.value = onClickData['target'];
+               formObj.popupurl.value = onClickData['url'];
+               formObj.popupwidth.value = getOption(onClickWindowOptions, 'width');
+               formObj.popupheight.value = getOption(onClickWindowOptions, 'height');
+
+               formObj.popupleft.value = getOption(onClickWindowOptions, 'left');
+               formObj.popuptop.value = getOption(onClickWindowOptions, 'top');
+
+               if (formObj.popupleft.value.indexOf('screen') != -1)
+                       formObj.popupleft.value = "c";
+
+               if (formObj.popuptop.value.indexOf('screen') != -1)
+                       formObj.popuptop.value = "c";
+
+               formObj.popuplocation.checked = getOption(onClickWindowOptions, 'location') == "yes";
+               formObj.popupscrollbars.checked = getOption(onClickWindowOptions, 'scrollbars') == "yes";
+               formObj.popupmenubar.checked = getOption(onClickWindowOptions, 'menubar') == "yes";
+               formObj.popupresizable.checked = getOption(onClickWindowOptions, 'resizable') == "yes";
+               formObj.popuptoolbar.checked = getOption(onClickWindowOptions, 'toolbar') == "yes";
+               formObj.popupstatus.checked = getOption(onClickWindowOptions, 'status') == "yes";
+               formObj.popupdependent.checked = getOption(onClickWindowOptions, 'dependent') == "yes";
+       }
+}
+
+function parseFunction(onclick) {
+       var formObj = document.forms[0];
+       var onClickData = parseLink(onclick);
+
+       // TODO: Add stuff here
+}
+
+function getOption(opts, name) {
+       return typeof(opts[name]) == "undefined" ? "" : opts[name];
+}
+
+function setPopupControlsDisabled(state) {
+       var formObj = document.forms[0];
+
+       formObj.popupname.disabled = state;
+       formObj.popupurl.disabled = state;
+       formObj.popupwidth.disabled = state;
+       formObj.popupheight.disabled = state;
+       formObj.popupleft.disabled = state;
+       formObj.popuptop.disabled = state;
+       formObj.popuplocation.disabled = state;
+       formObj.popupscrollbars.disabled = state;
+       formObj.popupmenubar.disabled = state;
+       formObj.popupresizable.disabled = state;
+       formObj.popuptoolbar.disabled = state;
+       formObj.popupstatus.disabled = state;
+       formObj.popupreturn.disabled = state;
+       formObj.popupdependent.disabled = state;
+
+       setBrowserDisabled('popupurlbrowser', state);
+}
+
+function parseLink(link) {
+       link = link.replace(new RegExp('&#39;', 'g'), "'");
+
+       var fnName = link.replace(new RegExp("\\s*([A-Za-z0-9\.]*)\\s*\\(.*", "gi"), "$1");
+
+       // Is function name a template function
+       var template = templates[fnName];
+       if (template) {
+               // Build regexp
+               var variableNames = template.match(new RegExp("'?\\$\\{[A-Za-z0-9\.]*\\}'?", "gi"));
+               var regExp = "\\s*[A-Za-z0-9\.]*\\s*\\(";
+               var replaceStr = "";
+               for (var i=0; i<variableNames.length; i++) {
+                       // Is string value
+                       if (variableNames[i].indexOf("'${") != -1)
+                               regExp += "'(.*)'";
+                       else // Number value
+                               regExp += "([0-9]*)";
+
+                       replaceStr += "$" + (i+1);
+
+                       // Cleanup variable name
+                       variableNames[i] = variableNames[i].replace(new RegExp("[^A-Za-z0-9]", "gi"), "");
+
+                       if (i != variableNames.length-1) {
+                               regExp += "\\s*,\\s*";
+                               replaceStr += "<delim>";
+                       } else
+                               regExp += ".*";
+               }
+
+               regExp += "\\);?";
+
+               // Build variable array
+               var variables = new Array();
+               variables["_function"] = fnName;
+               var variableValues = link.replace(new RegExp(regExp, "gi"), replaceStr).split('<delim>');
+               for (var i=0; i<variableNames.length; i++)
+                       variables[variableNames[i]] = variableValues[i];
+
+               return variables;
+       }
+
+       return null;
+}
+
+function parseOptions(opts) {
+       if (opts == null || opts == "")
+               return new Array();
+
+       // Cleanup the options
+       opts = opts.toLowerCase();
+       opts = opts.replace(/;/g, ",");
+       opts = opts.replace(/[^0-9a-z=,]/g, "");
+
+       var optionChunks = opts.split(',');
+       var options = new Array();
+
+       for (var i=0; i<optionChunks.length; i++) {
+               var parts = optionChunks[i].split('=');
+
+               if (parts.length == 2)
+                       options[parts[0]] = parts[1];
+       }
+
+       return options;
+}
+
+function buildOnClick() {
+       var formObj = document.forms[0];
+
+       if (!formObj.ispopup.checked) {
+               formObj.onclick.value = "";
+               return;
+       }
+
+       var onclick = "window.open('";
+
+       onclick += formObj.popupurl.value + "','";
+       onclick += formObj.popupname.value + "','";
+
+       if (formObj.popuplocation.checked)
+               onclick += "location=yes,";
+
+       if (formObj.popupscrollbars.checked)
+               onclick += "scrollbars=yes,";
+
+       if (formObj.popupmenubar.checked)
+               onclick += "menubar=yes,";
+
+       if (formObj.popupresizable.checked)
+               onclick += "resizable=yes,";
+
+       if (formObj.popuptoolbar.checked)
+               onclick += "toolbar=yes,";
+
+       if (formObj.popupstatus.checked)
+               onclick += "status=yes,";
+
+       if (formObj.popupdependent.checked)
+               onclick += "dependent=yes,";
+
+       if (formObj.popupwidth.value != "")
+               onclick += "width=" + formObj.popupwidth.value + ",";
+
+       if (formObj.popupheight.value != "")
+               onclick += "height=" + formObj.popupheight.value + ",";
+
+       if (formObj.popupleft.value != "") {
+               if (formObj.popupleft.value != "c")
+                       onclick += "left=" + formObj.popupleft.value + ",";
+               else
+                       onclick += "left='+(screen.availWidth/2-" + (formObj.popupwidth.value/2) + ")+',";
+       }
+
+       if (formObj.popuptop.value != "") {
+               if (formObj.popuptop.value != "c")
+                       onclick += "top=" + formObj.popuptop.value + ",";
+               else
+                       onclick += "top='+(screen.availHeight/2-" + (formObj.popupheight.value/2) + ")+',";
+       }
+
+       if (onclick.charAt(onclick.length-1) == ',')
+               onclick = onclick.substring(0, onclick.length-1);
+
+       onclick += "');";
+
+       if (formObj.popupreturn.checked)
+               onclick += "return false;";
+
+       // tinyMCE.debug(onclick);
+
+       formObj.onclick.value = onclick;
+}
+
+function setAttrib(elm, attrib, value) {
+       var formObj = document.forms[0];
+       var valueElm = formObj.elements[attrib.toLowerCase()];
+
+       if (typeof(value) == "undefined" || value == null) {
+               value = "";
+
+               if (valueElm)
+                       value = valueElm.value;
+       }
+
+       if (value != "") {
+               elm.setAttribute(attrib.toLowerCase(), value);
+
+               if (attrib == "style")
+                       attrib = "style.cssText";
+
+               if (attrib == "href")
+                       elm.setAttribute("mce_real_href", value);
+
+               if (attrib.substring(0, 2) == 'on')
+                       value = 'return true;' + value;
+
+               if (attrib == "class")
+                       attrib = "className";
+
+               eval('elm.' + attrib + "=value;");
+       } else
+               elm.removeAttribute(attrib);
+}
+
+function renderAnchorList(id, target) {
+       var inst = tinyMCE.getInstanceById(tinyMCE.getWindowArg('editor_id'));
+       var nodes = inst.getBody().getElementsByTagName("a");
+
+       var html = "";
+
+       html += '<tr><td class="column1"><label for="' + id + '">{$lang_advlink_anchor_names}</label></td><td>';
+       html += '<select id="' + id + '" name="' + id + '" class="mceAnchorList" onfocus="tinyMCE.addSelectAccessibility(event, this, window);" onchange="this.form.' + target + '.value=';
+       html += 'this.options[this.selectedIndex].value;">';
+       html += '<option value="">---</option>';
+
+       for (var i=0; i<nodes.length; i++) {
+               if ((name = tinyMCE.getAttrib(nodes[i], "name")) != "")
+                       html += '<option value="#' + name + '">' + name + '</option>';
+       }
+
+       html += '</select>';
+
+       document.write(html);
+}
+
+function insertAction() {
+       var inst = tinyMCE.getInstanceById(tinyMCE.getWindowArg('editor_id'));
+       var elm = inst.getFocusElement();
+
+       elm = tinyMCE.getParentElement(elm, "a");
+
+       tinyMCEPopup.execCommand("mceBeginUndoLevel");
+
+       // Create new anchor elements
+       if (elm == null) {
+               if (tinyMCE.isSafari)
+                       tinyMCEPopup.execCommand("mceInsertContent", false, '<a href="#mce_temp_url#">' + inst.getSelectedHTML() + '</a>');
+               else
+                       tinyMCEPopup.execCommand("createlink", false, "#mce_temp_url#");
+
+               var elementArray = tinyMCE.getElementsByAttributeValue(inst.getBody(), "a", "href", "#mce_temp_url#");
+               for (var i=0; i<elementArray.length; i++) {
+                       var elm = elementArray[i];
+
+                       // Move cursor behind the new anchor
+                       if (tinyMCE.isGecko) {
+                               var sp = inst.getDoc().createTextNode(" ");
+
+                               if (elm.nextSibling)
+                                       elm.parentNode.insertBefore(sp, elm.nextSibling);
+                               else
+                                       elm.parentNode.appendChild(sp);
+
+                               // Set range after link
+                               var rng = inst.getDoc().createRange();
+                               rng.setStartAfter(elm);
+                               rng.setEndAfter(elm);
+
+                               // Update selection
+                               var sel = inst.getSel();
+                               sel.removeAllRanges();
+                               sel.addRange(rng);
+                       }
+
+                       setAllAttribs(elm);
+               }
+       } else
+               setAllAttribs(elm);
+
+       tinyMCEPopup.execCommand("mceEndUndoLevel");
+       tinyMCEPopup.close();
+}
+
+function setAllAttribs(elm) {
+       var formObj = document.forms[0];
+       var href = formObj.href.value;
+
+       href = convertURL(href, elm);
+
+       setAttrib(elm, 'href', href);
+       setAttrib(elm, 'title');
+       setAttrib(elm, 'target', getSelectValue(formObj, 'targetlist'));
+       setAttrib(elm, 'id');
+       setAttrib(elm, 'style');
+       setAttrib(elm, 'class', getSelectValue(formObj, 'classlist'));
+       setAttrib(elm, 'rel');
+       setAttrib(elm, 'rev');
+       setAttrib(elm, 'charset');
+       setAttrib(elm, 'hreflang');
+       setAttrib(elm, 'dir');
+       setAttrib(elm, 'lang');
+       setAttrib(elm, 'tabindex');
+       setAttrib(elm, 'accesskey');
+       setAttrib(elm, 'type');
+       setAttrib(elm, 'onfocus');
+       setAttrib(elm, 'onblur');
+       setAttrib(elm, 'onclick');
+       setAttrib(elm, 'ondblclick');
+       setAttrib(elm, 'onmousedown');
+       setAttrib(elm, 'onmouseup');
+       setAttrib(elm, 'onmouseover');
+       setAttrib(elm, 'onmousemove');
+       setAttrib(elm, 'onmouseout');
+       setAttrib(elm, 'onkeypress');
+       setAttrib(elm, 'onkeydown');
+       setAttrib(elm, 'onkeyup');
+
+       // Refresh in old MSIE
+       if (tinyMCE.isMSIE5)
+               elm.outerHTML = elm.outerHTML;
+}
+
+function getSelectValue(form_obj, field_name) {
+       var elm = form_obj.elements[field_name];
+
+       if (elm == null || elm.options == null)
+               return "";
+
+       return elm.options[elm.selectedIndex].value;
+}
+
+function renderLinkList(elm_id, target_form_element, onchange_func) {
+       if (typeof(tinyMCELinkList) == "undefined" || tinyMCELinkList.length == 0)
+               return;
+
+       var html = "";
+
+       html += '<tr><td class="column1"><label for="' + elm_id + '">{$lang_link_list}</label></td>';
+       html += '<td colspan="2"><select id="' + elm_id + '" name="' + elm_id + '"';
+       html += ' class="mceLinkList" onfocus="tinyMCE.addSelectAccessibility(event, this, window);" onchange="this.form.' + target_form_element + '.value=';
+       html += 'this.options[this.selectedIndex].value;';
+
+       if (typeof(onchange_func) != "undefined")
+               html += onchange_func + '(\'' + target_form_element + '\',this.options[this.selectedIndex].text,this.options[this.selectedIndex].value);';
+
+       html += '"><option value="">---</option>';
+
+       for (var i=0; i<tinyMCELinkList.length; i++)
+               html += '<option value="' + tinyMCELinkList[i][1] + '">' + tinyMCELinkList[i][0] + '</option>';
+
+       html += '</select></td></tr>';
+
+       document.write(html);
+
+       // tinyMCE.debug('-- image list start --', html, '-- image list end --');
+}
+
+function renderTargetList(elm_id, target_form_element) {
+       var targets = tinyMCE.getParam('theme_advanced_link_targets', '').split(';');
+       var html = '';
+
+       html += '<select id="' + elm_id + '" name="' + elm_id + '" onfocus="tinyMCE.addSelectAccessibility(event, this, window);" onchange="this.form.' + target_form_element + '.value=';
+       html += 'this.options[this.selectedIndex].value;">';
+
+       html += '<option value="_self">' + tinyMCE.getLang('lang_advlink_target_same') + '</option>';
+       html += '<option value="_blank">' + tinyMCE.getLang('lang_advlink_target_blank') + ' (_blank)</option>';
+       html += '<option value="_parent">' + tinyMCE.getLang('lang_advlink_target_parent') + ' (_parent)</option>';
+       html += '<option value="_top">' + tinyMCE.getLang('lang_advlink_target_top') + ' (_top)</option>';
+
+       for (var i=0; i<targets.length; i++) {
+               var key, value;
+
+               if (targets[i] == "")
+                       continue;
+
+               key = targets[i].split('=')[0];
+               value = targets[i].split('=')[1];
+
+               html += '<option value="' + key + '">' + value + ' (' + key + ')</option>';
+       }
+
+       html += '</select>';
+
+       document.write(html);
+}
+
+// While loading
+preinit();
diff --git a/webcit/tiny_mce/plugins/advlink/langs/cs.js b/webcit/tiny_mce/plugins/advlink/langs/cs.js
new file mode 100644 (file)
index 0000000..9f5b734
--- /dev/null
@@ -0,0 +1,28 @@
+/**
+ * Czech lang variables 
+ * encoding: utf-8
+ *  
+ * $Id$ 
+ */  
+
+tinyMCE.addToLang('',{
+insert_link_target_same : 'Otevřít ve stejném okně/rámu',
+insert_link_target_parent : 'Otevřít v rodičovském okně/rámu',
+insert_link_target_top : 'Otevřít v nejvyšším rámu (přepíše všechny rámy)',
+insert_link_target_blank : 'Otevřít v novém okně',
+insert_link_target_named : 'Otevřít v okně',
+insert_link_popup : 'JS-Popup',
+insert_link_popup_url : 'Popup URL',
+insert_link_popup_name : 'Název okna',
+insert_link_popup_return : 'Vložit \'return false\'',
+insert_link_popup_scrollbars : 'Ukázat posuvníky',
+insert_link_popup_statusbar : 'Ukázat stavový řádek',
+insert_link_popup_toolbar : 'Ukázat ovládací lištu',
+insert_link_popup_menubar : 'Ukázat menu',
+insert_link_popup_location : 'Ukázat lištu umístění',
+insert_link_popup_resizable : 'Proměnná velikost okna',
+insert_link_popup_size : 'Velikost',
+insert_link_popup_position : 'Umístění (X/Y)',
+insert_link_popup_missingtarget : 'Vložte název cíle nebo vyberte jinou volbu.'
+});
+
diff --git a/webcit/tiny_mce/plugins/advlink/langs/de.js b/webcit/tiny_mce/plugins/advlink/langs/de.js
new file mode 100644 (file)
index 0000000..3bbd770
--- /dev/null
@@ -0,0 +1,22 @@
+// DE lang variables
+
+tinyMCE.addToLang('',{
+insert_link_target_same : 'Im selben Frame &ouml;ffnen',
+insert_link_target_parent : 'Im dar&uuml;ber liegenden Frame &ouml;ffnen',
+insert_link_target_top : 'Im obersten Frame &ouml;ffnen',
+insert_link_target_blank : 'In einem neuen Fenster &ouml;ffnen',
+insert_link_target_named : '&Ouml;ffnen im Fenster/Frame',
+insert_link_popup : 'JS-Popup',
+insert_link_popup_url : 'Popup URL',
+insert_link_popup_name : 'Fenstername',
+insert_link_popup_return : 'mit \'return false\'',
+insert_link_popup_scrollbars : 'Scrollbars anzeigen',
+insert_link_popup_statusbar : 'Statusbar anzeigen',
+insert_link_popup_toolbar : 'Toolbars anzeigen',
+insert_link_popup_menubar : 'Menu anzeigen',
+insert_link_popup_location : 'Adresszeile anzeigen',
+insert_link_popup_resizable : 'Gr&ouml;&szlig;e &auml;nderbar',
+insert_link_popup_size : 'Gr&ouml;&szlig;e',
+insert_link_popup_position : 'Position (X/Y)',
+insert_link_popup_missingtarget : 'Bitte geben Sie einen Namen f&uuml;r das Ziel an oder w&auml;hlen Sie eine andere Option.'
+});
diff --git a/webcit/tiny_mce/plugins/advlink/langs/en.js b/webcit/tiny_mce/plugins/advlink/langs/en.js
new file mode 100644 (file)
index 0000000..933a2c7
--- /dev/null
@@ -0,0 +1,46 @@
+// UK lang variables
+
+tinyMCE.addToLang('advlink',{
+general_tab : 'General',
+popup_tab : 'Popup',
+events_tab : 'Events',
+advanced_tab : 'Advanced',
+general_props : 'General properties',
+popup_props : 'Popup properties',
+event_props : 'Events',
+advanced_props : 'Advanced properties',
+popup_opts : 'Options',
+anchor_names : 'Anchors',
+target_same : 'Open in this window / frame',
+target_parent : 'Open in parent window / frame',
+target_top : 'Open in top frame (replaces all frames)',
+target_blank : 'Open in new window',
+popup : 'Javascript popup',
+popup_url : 'Popup URL',
+popup_name : 'Window name',
+popup_return : 'Insert \'return false\'',
+popup_scrollbars : 'Show scrollbars',
+popup_statusbar : 'Show status bar',
+popup_toolbar : 'Show toolbars',
+popup_menubar : 'Show menu bar',
+popup_location : 'Show location bar',
+popup_resizable : 'Make window resizable',
+popup_dependent : 'Dependent (Mozilla/Firefox only)',
+popup_size : 'Size',
+popup_position : 'Position (X/Y)',
+id : 'Id',
+style: 'Style',
+classes : 'Classes',
+target_name : 'Target name',
+langdir : 'Language direction',
+target_langcode : 'Target language',
+langcode : 'Language code',
+encoding : 'Target character encoding',
+mime : 'Target MIME type',
+rel : 'Relationship page to target',
+rev : 'Relationship target to page',
+tabindex : 'Tabindex',
+accesskey : 'Accesskey',
+ltr : 'Left to right',
+rtl : 'Right to left'
+});
diff --git a/webcit/tiny_mce/plugins/advlink/langs/fa.js b/webcit/tiny_mce/plugins/advlink/langs/fa.js
new file mode 100644 (file)
index 0000000..b2652a0
--- /dev/null
@@ -0,0 +1,27 @@
+// IR lang variables
+// Persian (Farsi) language pack (for IRAN)
+// By: Morteza Zafari
+// Lost@LostLord.com
+// http://www.LostLord.com
+
+tinyMCE.addToLang('',{
+dir : 'rtl',
+insert_link_target_same : '?? ???? ???? / ???? ??? ??',
+insert_link_target_parent : '?? ???? / ???? ???? ??? ??',
+insert_link_target_top : '?? ???? ???? ??? ?? (??? ?????? ?????? ????? ?????)',
+insert_link_target_blank : '?? ???? ???? ??? ??',
+insert_link_target_named : '?? ????? ??? ??',
+insert_link_popup : 'JS-Popup',
+insert_link_popup_url : 'URL ?????',
+insert_link_popup_name : '??? ?????',
+insert_link_popup_return : '?????? \'return false\'',
+insert_link_popup_scrollbars : '????? scrollbars',
+insert_link_popup_statusbar : '????? statusbar',
+insert_link_popup_toolbar : '????? toolbars',
+insert_link_popup_menubar : '????? menubar',
+insert_link_popup_location : '????? locationbar',
+insert_link_popup_resizable : '???? ????? ?????? ????',
+insert_link_popup_size : '??????',
+insert_link_popup_position : '?????? (X/Y)',
+insert_link_popup_missingtarget : '???? ?? ??? ???? ???? ?????? ???? ?? ??? ??? ???? ????? ????? ?? ?????? ??????.'
+});
diff --git a/webcit/tiny_mce/plugins/advlink/langs/fr.js b/webcit/tiny_mce/plugins/advlink/langs/fr.js
new file mode 100644 (file)
index 0000000..2b11e3d
--- /dev/null
@@ -0,0 +1,22 @@
+// French lang variables by Laurent Dran
+
+tinyMCE.addToLang('',{
+insert_link_target_same : 'Ouvre dans la fen&#281;tre / Cadre(frame)',
+insert_link_target_parent : 'Ouvre dans fen&#281;tre parente / Cadres(frame)',
+insert_link_target_top : 'Ouvre dans le Top frame (remplace toutes les cadres(frames))',
+insert_link_target_blank : 'Ouvre dans la fen&#281;tre',
+insert_link_target_named : 'Ouvre dans la fen&#281;tre',
+insert_link_popup : 'JS-Popup',
+insert_link_popup_url : 'URL de la Popup',
+insert_link_popup_name : 'Nom de la fen&#281;tre',
+insert_link_popup_return : 'Insert \'return false\'',
+insert_link_popup_scrollbars : 'Montrer la barre de d&eacute;filement ',
+insert_link_popup_statusbar : 'Montrer la barre d\'&eacute;tat',
+insert_link_popup_toolbar : 'Montrer la barre d\'outils',
+insert_link_popup_menubar : 'Montrer la barre du menu',
+insert_link_popup_location : 'Montre la barre d\'adresse',
+insert_link_popup_resizable : 'Fabriquer une fen&#281;tre redimensionnable',
+insert_link_popup_size : 'Taille',
+insert_link_popup_position : 'Position (X/Y)',
+insert_link_popup_missingtarget : 'Veuillez ins&eacute;rer un nom pour la cible ou choisissez une autre option.'
+});
diff --git a/webcit/tiny_mce/plugins/advlink/langs/fr_ca.js b/webcit/tiny_mce/plugins/advlink/langs/fr_ca.js
new file mode 100644 (file)
index 0000000..09715ea
--- /dev/null
@@ -0,0 +1,22 @@
+// CA_FR lang variables
+
+tinyMCE.addToLang('',{
+insert_link_target_same : 'Ouvrir dans la même fenêtre',
+insert_link_target_parent : 'Ouvrir dans la fenêtre parent',
+insert_link_target_top : 'Ouvrir dans le cadre supérieur',
+insert_link_target_blank : 'Ouvrir dans une nouvelle fenêtre',
+insert_link_target_named : 'Ouvrir à la destination',
+insert_link_popup : 'JS-Popup',
+insert_link_popup_url : 'URL du popup',
+insert_link_popup_name : 'Nom de la fenêtre',
+insert_link_popup_return : 'Insérer le script \'return false\'',
+insert_link_popup_scrollbars : 'Barres de défilement',
+insert_link_popup_statusbar : 'Barre de statut',
+insert_link_popup_toolbar : 'Barres d\'outils',
+insert_link_popup_menubar : 'Barre de menu',
+insert_link_popup_location : 'Barre d\'adresse',
+insert_link_popup_resizable : 'Fenêtre redimensionnable',
+insert_link_popup_size : 'Dimensions',
+insert_link_popup_position : 'Position (X/Y)',
+insert_link_popup_missingtarget : 'S.v.p., entrer un nom de destination ou choisir une autre option.'
+});
diff --git a/webcit/tiny_mce/plugins/advlink/langs/he.js b/webcit/tiny_mce/plugins/advlink/langs/he.js
new file mode 100644 (file)
index 0000000..b099454
--- /dev/null
@@ -0,0 +1,22 @@
+// HE lang variables by Liron Newman, http://eesh.net
+
+tinyMCE.addToLang('',{
+insert_link_target_same : 'ôúç áçì&aring;ï æ&auml; à&aring; îñâøú æ&aring;',
+insert_link_target_parent : 'ôúç áçì&aring;ï à&aring; áîñâøú &auml;î÷&aring;øééí',
+insert_link_target_top : 'ôúç áîñâøú &auml;òìé&aring;ð&auml; (îçìéó àú ëì &auml;îñâø&aring;ú)',
+insert_link_target_blank : 'ôúç áçì&aring;ï çãù',
+insert_link_target_named : 'ôúç áçì&aring;ï',
+insert_link_popup : 'çì&aring;ï ÷&aring;ôõ JS',
+insert_link_popup_url : 'ëú&aring;áú (URL) &auml;çì&aring;ï &auml;÷&aring;ôõ',
+insert_link_popup_name : 'ùí &auml;çì&aring;ï',
+insert_link_popup_return : 'insert \'return false\'',
+insert_link_popup_scrollbars : '&auml;&ouml;â ôñé âìéì&auml;',
+insert_link_popup_statusbar : '&auml;&ouml;â ù&aring;øú î&ouml;á',
+insert_link_popup_toolbar : '&auml;&ouml;â ñøâìé ëìéí',
+insert_link_popup_menubar : '&auml;&ouml;â ù&aring;øú úôøéèéí',
+insert_link_popup_location : '&auml;&ouml;â ù&aring;øú ëú&aring;áú',
+insert_link_popup_resizable : 'çì&aring;ï ùðéúï ì&auml;âãéì &aring;ì&auml;÷èéï',
+insert_link_popup_size : 'â&aring;ãì',
+insert_link_popup_position : 'îé÷&aring;í (X/Y)',
+insert_link_popup_missingtarget : 'àðà &auml;ëðñ àú ùí &auml;éòã à&aring; áçø àôùø&aring;ú àçøú.'
+});
diff --git a/webcit/tiny_mce/plugins/advlink/langs/ko.js b/webcit/tiny_mce/plugins/advlink/langs/ko.js
new file mode 100644 (file)
index 0000000..bc4bfee
--- /dev/null
@@ -0,0 +1,21 @@
+// KO lang variables
+
+tinyMCE.addToLang('',{
+insert_link_target_same : '°°Àº Ã¢¿¡¼­ ¸µ&Aring;©/ÇÁ·¹ÀÓ ¿­±â',
+insert_link_target_parent : 'ºÎ¸ð Ã¢¿¡¼­ ¸µ&Aring;©/ÇÁ·¹ÀÓ ¿­±â',
+insert_link_target_top : 'TOP ÇÁ·¹ÀÓ¿¡¼­ ¿­±â (¸ðµç ÇÁ·¹ÀÓÀ» ´ëü)',
+insert_link_target_blank : '»õ Ã¢¿¡¼­ ¿­±â',
+insert_link_target_named : '»õ Ã¢¿¡¼­ ¿­±â',
+insert_link_popup : 'JS-Popup',
+insert_link_popup_url : 'Æ˾÷ URL',
+insert_link_popup_name : 'â À̸§',
+insert_link_popup_return : '\'return false\' ³&Ouml;±â',
+insert_link_popup_scrollbars : '½º&Aring;©·Ñ¹Ù¸¦ º¸¿©ÁÜ',
+insert_link_popup_statusbar : '»ó&Aring;ÂâÀ» º¸¿©ÁÜ',
+insert_link_popup_toolbar : '&Aring;ø¹Ù¸¦ º¸¿©ÁÜ',
+insert_link_popup_menubar : '¸Þ´º¹Ù¸¦ º¸¿©ÁÜ',
+insert_link_popup_location : 'À§&Auml;¡ Ç¥½ÃÁÙÀ» º¸¿©ÁÜ',
+insert_link_popup_resizable : '&Aring;©±â Á¶Àý °¡´ÉÇÑ À©µµ¿ì »ý¼º',
+insert_link_popup_size : '&Aring;©±â',
+insert_link_popup_position : 'À§&Auml;¡ (X/Y)'
+});
diff --git a/webcit/tiny_mce/plugins/advlink/langs/nl.js b/webcit/tiny_mce/plugins/advlink/langs/nl.js
new file mode 100644 (file)
index 0000000..67b73da
--- /dev/null
@@ -0,0 +1,22 @@
+// NL lang variables
+
+tinyMCE.addToLang('',{
+insert_link_target_same : 'Open in dit window / frame',
+insert_link_target_parent : 'Open in parent window / frame',
+insert_link_target_top : 'Open in top frame (vervangt alle frames)',
+insert_link_target_blank : 'Open in nieuw window',
+insert_link_target_named : 'Open in het window',
+insert_link_popup : 'JS-Popup',
+insert_link_popup_url : 'Popup URL',
+insert_link_popup_name : 'Window naam',
+insert_link_popup_return : 'invoegen \'return false\'',
+insert_link_popup_scrollbars : 'Laat scrollbars zien',
+insert_link_popup_statusbar : 'Laat statusbar zien',
+insert_link_popup_toolbar : 'Laat toolbars zien',
+insert_link_popup_menubar : 'Laat menubar zien',
+insert_link_popup_location : 'Laat locatiebar zien',
+insert_link_popup_resizable : 'Maak window resizable',
+insert_link_popup_size : 'Grootte',
+insert_link_popup_position : 'Positie (X/Y)',
+insert_link_popup_missingtarget : 'Geef de naam van het target window of kies een andere optie.'
+});
diff --git a/webcit/tiny_mce/plugins/advlink/langs/pl.js b/webcit/tiny_mce/plugins/advlink/langs/pl.js
new file mode 100644 (file)
index 0000000..ebd9169
--- /dev/null
@@ -0,0 +1,24 @@
+// PL lang variables
+
+tinyMCE.addToLang('',{
+insert_link_target_same : 'Otwórz w tym samym oknie',
+insert_link_target_parent : 'Open in parent window / frame',
+insert_link_target_top : 'Open in top frame (replaces all frames)',
+insert_link_target_blank : 'Otwórz w nowym oknie',
+insert_link_target_named : 'Open in the window',
+insert_link_popup : 'JS-Popup',
+insert_link_popup_url : 'Popup URL',
+insert_link_popup_name : 'Window name',
+insert_link_popup_return : 'insert \'return false\'',
+insert_link_popup_scrollbars : 'Show scrollbars',
+insert_link_popup_statusbar : 'Show statusbar',
+insert_link_popup_toolbar : 'Show toolbars',
+insert_link_popup_menubar : 'Show menubar',
+insert_link_popup_location : 'Show locationbar',
+insert_link_popup_resizable : 'Make window resizable',
+insert_link_popup_size : 'Size',
+insert_link_popup_position : 'Position (X/Y)',
+insert_link_popup_missingtarget : 'Please insert a name for the target or choose another option.',
+insert_link_url : 'Adres URL',
+insert_link_target : 'Cel'
+});
diff --git a/webcit/tiny_mce/plugins/advlink/langs/pt_br.js b/webcit/tiny_mce/plugins/advlink/langs/pt_br.js
new file mode 100644 (file)
index 0000000..b3bba8b
--- /dev/null
@@ -0,0 +1,22 @@
+// pt_BR lang variables
+
+tinyMCE.addToLang('',{
+insert_link_target_same : 'Abrir nesta mesma janela / frame',
+insert_link_target_parent : 'Abrir na janela / frame prévia',
+insert_link_target_top : 'Abrir no frame superior (substitui todos os frames)',
+insert_link_target_blank : 'Abrir em nova janela',
+insert_link_target_named : 'Abrir na janela',
+insert_link_popup : 'JS-Popup',
+insert_link_popup_url : 'Popup URL endereço',
+insert_link_popup_name : 'Nome da janela',
+insert_link_popup_return : 'inserir \'retorna falso\'',
+insert_link_popup_scrollbars : 'Mostra barras de rolagem',
+insert_link_popup_statusbar : 'Mostra barra de status',
+insert_link_popup_toolbar : 'Mostra barras de ferramentas',
+insert_link_popup_menubar : 'Mostra barra de menu',
+insert_link_popup_location : 'Mostra barra de endereço',
+insert_link_popup_resizable : 'Permite redimensionamento da janela',
+insert_link_popup_size : 'Tamanho',
+insert_link_popup_position : 'Posição (X/Y)',
+insert_link_popup_missingtarget : 'Por Favor insira um nome para o alvo ou escolha outra opção.'
+});
diff --git a/webcit/tiny_mce/plugins/advlink/langs/sv.js b/webcit/tiny_mce/plugins/advlink/langs/sv.js
new file mode 100644 (file)
index 0000000..71a351e
--- /dev/null
@@ -0,0 +1,46 @@
+// UK lang variables
+
+tinyMCE.addToLang('advlink',{
+general_tab : 'Generella inst&auml;llningar',
+popup_tab : 'Popup',
+events_tab : 'H&auml;ndelser',
+advanced_tab : 'Avancerade inst&auml;llningar',
+general_props : 'Generella inst&auml;llningar',
+popup_props : 'Popup inst&auml;llningar',
+event_props : 'H&auml;ndelser',
+advanced_props : 'Generella inst&auml;llningar',
+popup_opts : 'Inst&auml;llningar',
+anchor_names : 'Bokm&auml;rken',
+target_same : '&Ouml;ppna i samma f&ouml;nster / ram',
+target_parent : '&Ouml;ppna i underliggande f&ouml;nster / ram',
+target_top : '&Ouml;ppna i toppramen (ers&auml;tter alla ramar)',
+target_blank : '&Ouml;ppna i ett nytt f&ouml;nster',
+popup : 'Javascript popup',
+popup_url : 'Popup URL',
+popup_name : 'F&ouml;nster namn',
+popup_return : 'S&auml;ttin \'return false\'',
+popup_scrollbars : 'Visa scrollbars',
+popup_statusbar : 'Visa status bar',
+popup_toolbar : 'Visa toolbars',
+popup_menubar : 'Visa menu bar',
+popup_location : 'Visa location bar',
+popup_resizable : 'G&ouml;r f&ouml;nstret skalbart',
+popup_dependent : 'Beroende f&ouml;nster (&Auml;ndast i Mozilla/Firefox)',
+popup_size : 'Storek',
+popup_position : 'Position (X/Y)',
+id : 'Id',
+style: 'Stil',
+classes : 'CSS Classer',
+target_name : 'M&aring;l namn',
+langdir : 'Skrift riktning',
+target_langcode : 'M&aring;l spr&aring;k',
+langcode : 'Spr&aring;k k&aring;d',
+encoding : 'Tecken konvertering',
+mime : 'M&aring;lets MIME typ',
+rel : 'Relation sida till m&aring;l',
+rev : 'Relation m&aring;l till sida',
+tabindex : 'Tabindex',
+accesskey : 'Accesskey',
+ltr : 'V&auml;nster till h&ouml;ger',
+rtl : 'H&ouml;ger till v&auml;nster'
+});
diff --git a/webcit/tiny_mce/plugins/advlink/langs/zh_cn.js b/webcit/tiny_mce/plugins/advlink/langs/zh_cn.js
new file mode 100644 (file)
index 0000000..d417442
--- /dev/null
@@ -0,0 +1,23 @@
+// Simplified Chinese lang variables contributed by cube316 (cube316@gmail.com)
+//Çë·ÃÎÊ http://www.cube316.net/ ÒÔ»ñÈ¡TinyMCEµ&Auml;&Ouml;ÐÎ&Auml;&Ouml;§³&Ouml;
+
+tinyMCE.addToLang('',{
+insert_link_target_same : 'ÔÚ±¾´°¿Ú/¿ò¼Ü&Ouml;дò¿ª',
+insert_link_target_parent : 'ÔÚ¸¸´°¿Ú/¿ò¼Ü&Ouml;дò¿ª',
+insert_link_target_top : 'ÔÚ¸ù¿ò¼Ü&Ouml;дò¿ª£¨Ìæ»»ËùÓпò¼Ü£©',
+insert_link_target_blank : 'ÔÚд°¿Ú&Ouml;дò¿ª',
+insert_link_target_named : 'ÔÚ´Ë´°¿Ú&Ouml;дò¿ª',
+insert_link_popup : 'JavaScriptµ¯³&ouml;´°¿Ú',
+insert_link_popup_url : 'µ¯³&ouml;´°¿ÚµØ&Ouml;·',
+insert_link_popup_name : '´°¿ÚÃû³Æ',
+insert_link_popup_return : '²&aring;Èë \'return false\'',
+insert_link_popup_scrollbars : 'ÏÔʾ¹&ouml;¶¯Ìõ',
+insert_link_popup_statusbar : 'ÏÔʾ״̬À¸',
+insert_link_popup_toolbar : 'ÏÔʾ¹¤¾ßÀ¸',
+insert_link_popup_menubar : 'ÏÔʾ²Ëµ¥À¸',
+insert_link_popup_location : 'ÏÔʾµØ&Ouml;·À¸',
+insert_link_popup_resizable : '¿É&Ouml;ض¨Ò&aring;´°¿Ú´óС',
+insert_link_popup_size : '³ß´ç',
+insert_link_popup_position : 'λ&Ouml;Ã(X/Y)',
+insert_link_popup_missingtarget : 'Çë²&aring;Èë&Auml;¿±êÃû³Æ»òÕßÑ¡ÔñÁíÍâµ&Auml;Ñ¡Ïî¡£'
+});
diff --git a/webcit/tiny_mce/plugins/advlink/link.htm b/webcit/tiny_mce/plugins/advlink/link.htm
new file mode 100644 (file)
index 0000000..f4d251f
--- /dev/null
@@ -0,0 +1,327 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+       <title>{$lang_insert_link_title}</title>
+       <script language="javascript" type="text/javascript" src="../../tiny_mce_popup.js"></script>
+       <script language="javascript" type="text/javascript" src="../../utils/mctabs.js"></script>
+       <script language="javascript" type="text/javascript" src="../../utils/form_utils.js"></script>
+       <script language="javascript" type="text/javascript" src="jscripts/functions.js"></script>
+       <link href="css/advlink.css" rel="stylesheet" type="text/css" />
+</head>
+<body id="advlink" onload="init();" style="display: none">
+    <form onsubmit="insertAction();return false;" action="#">
+               <div class="tabs">
+                       <ul>
+                               <li id="general_tab" class="current"><span><a href="javascript:mcTabs.displayTab('general_tab','general_panel');" onmousedown="return false;">{$lang_advlink_general_tab}</a></span></li>
+                               <li id="popup_tab"><span><a href="javascript:mcTabs.displayTab('popup_tab','popup_panel');" onmousedown="return false;">{$lang_advlink_popup_tab}</a></span></li>
+                               <li id="events_tab"><span><a href="javascript:mcTabs.displayTab('events_tab','events_panel');" onmousedown="return false;">{$lang_advlink_events_tab}</a></span></li>
+                               <li id="advanced_tab"><span><a href="javascript:mcTabs.displayTab('advanced_tab','advanced_panel');" onmousedown="return false;">{$lang_advlink_advanced_tab}</a></span></li>
+                       </ul>
+               </div>
+
+               <div class="panel_wrapper">
+                       <div id="general_panel" class="panel current">
+                               <fieldset>
+                                       <legend>{$lang_advlink_general_props}</legend>
+
+                                       <table border="0" cellpadding="4" cellspacing="0">
+                                               <tr>
+                                                 <td nowrap="nowrap"><label id="hreflabel" for="href">{$lang_insert_link_url}</label></td>
+                                                 <td><table border="0" cellspacing="0" cellpadding="0">
+                                                               <tr>
+                                                                 <td><input id="href" name="href" type="text" value="" onchange="selectByValue(this.form,'linklisthref',this.value);" /></td>
+                                                                 <td><script language="javascript" type="text/javascript">renderBrowser('hrefbrowser','href','file','advlink');</script></td>
+                                                               </tr>
+                                                         </table></td>
+                                               </tr>
+                                               <script language="javascript" type="text/javascript">renderLinkList('linklisthref','href');</script>
+                                               <script language="javascript" type="text/javascript">renderAnchorList('anchorlist','href');</script>
+                                               <tr>
+                                                       <td><label id="targetlistlabel" for="targetlist">{$lang_insert_link_target}</label></td>
+                                                       <td><script language="javascript" type="text/javascript">renderTargetList('targetlist','target');</script></td>
+                                               </tr>
+                                               <tr>
+                                                       <td nowrap="nowrap"><label id="titlelabel" for="title">{$lang_theme_insert_link_titlefield}</label></td>
+                                                       <td><input id="title" name="title" type="text" value="" /></td>
+                                               </tr>
+                                               <tr>
+                                                       <td><label id="classlabel" for="classlist">{$lang_class_name}</label></td>
+                                                       <td>
+                                                                <select id="classlist" name="classlist" onchange="changeClass();">
+                                                                       <option value="" selected>{$lang_not_set}</option>
+                                                                </select>
+                                                       </td>
+                                               </tr>
+                                       </table>
+                               </fieldset>
+                       </div>
+
+                       <div id="popup_panel" class="panel">
+                               <fieldset>
+                                       <legend>{$lang_advlink_popup_props}</legend>
+
+                                       <input type="checkbox" id="ispopup" name="ispopup" class="radio" onclick="setPopupControlsDisabled(!this.checked);buildOnClick();" />
+                                       <label id="ispopuplabel" for="ispopup">{$lang_advlink_popup}</label>
+
+                                       <table border="0" cellpadding="0" cellspacing="4">
+                                               <tr>
+                                                       <td nowrap="nowrap"><label for="popupurl">{$lang_advlink_popup_url}</label>&nbsp;</td>
+                                                       <td>
+                                                               <table border="0" cellspacing="0" cellpadding="0">
+                                                                       <tr>
+                                                                               <td><input type="text" name="popupurl" id="popupurl" value="" onchange="buildOnClick();" /></td>
+                                                                               <td><script language="javascript" type="text/javascript">renderBrowser('popupurlbrowser','popupurl','file','advlink');</script></td>
+                                                                       </tr>
+                                                               </table>
+                                                       </td>
+                                               </tr>
+                                               <tr>
+                                                       <td nowrap="nowrap"><label for="popupname">{$lang_advlink_popup_name}</label>&nbsp;</td>
+                                                       <td><input type="text" name="popupname" id="popupname" value="" onchange="buildOnClick();" /></td>
+                                               </tr>
+                                               <tr>
+                                                       <td nowrap="nowrap"><label>{$lang_advlink_popup_size}</label>&nbsp;</td>
+                                                       <td nowrap="nowrap">
+                                                               <input type="text" id="popupwidth" name="popupwidth" value="" onchange="buildOnClick();" /> x
+                                                               <input type="text" id="popupheight" name="popupheight" value="" onchange="buildOnClick();" /> px
+                                                       </td>
+                                               </tr>
+                                               <tr>
+                                                       <td nowrap="nowrap" id="labelleft"><label>{$lang_advlink_popup_position}</label>&nbsp;</td>
+                                                       <td nowrap="nowrap">
+                                                               <input type="text" id="popupleft" name="popupleft" value="" onchange="buildOnClick();" /> /                                
+                                                               <input type="text" id="popuptop" name="popuptop" value="" onchange="buildOnClick();" /> (c /c = center)
+                                                       </td>
+                                               </tr>
+                                       </table>
+
+                                       <fieldset>
+                                               <legend>{$lang_advlink_popup_opts}</legend>
+
+                                               <table border="0" cellpadding="0" cellspacing="4">
+                                                       <tr>
+                                                               <td><input type="checkbox" id="popuplocation" name="popuplocation" class="checkbox" onchange="buildOnClick();" /></td>
+                                                               <td nowrap="nowrap"><label id="popuplocationlabel" for="popuplocation">{$lang_advlink_popup_location}</label></td>
+                                                               <td><input type="checkbox" id="popupscrollbars" name="popupscrollbars" class="checkbox" onchange="buildOnClick();" /></td>
+                                                               <td nowrap="nowrap"><label id="popupscrollbarslabel" for="popupscrollbars">{$lang_advlink_popup_scrollbars}</label></td>
+                                                       </tr>
+                                                       <tr>
+                                                               <td><input type="checkbox" id="popupmenubar" name="popupmenubar" class="checkbox" onchange="buildOnClick();" /></td>
+                                                               <td nowrap="nowrap"><label id="popupmenubarlabel" for="popupmenubar">{$lang_advlink_popup_menubar}</label></td>
+                                                               <td><input type="checkbox" id="popupresizable" name="popupresizable" class="checkbox" onchange="buildOnClick();" /></td>
+                                                               <td nowrap="nowrap"><label id="popupresizablelabel" for="popupresizable">{$lang_advlink_popup_resizable}</label></td>
+                                                       </tr>
+                                                       <tr>
+                                                               <td><input type="checkbox" id="popuptoolbar" name="popuptoolbar" class="checkbox" onchange="buildOnClick();" /></td>
+                                                               <td nowrap="nowrap"><label id="popuptoolbarlabel" for="popuptoolbar">{$lang_advlink_popup_toolbar}</label></td>
+                                                               <td><input type="checkbox" id="popupdependent" name="popupdependent" class="checkbox" onchange="buildOnClick();" /></td>
+                                                               <td nowrap="nowrap"><label id="popupdependentlabel" for="popupdependent">{$lang_advlink_popup_dependent}</label></td>
+                                                       </tr>
+                                                       <tr>
+                                                               <td><input type="checkbox" id="popupstatus" name="popupstatus" class="checkbox" onchange="buildOnClick();" /></td>
+                                                               <td nowrap="nowrap"><label id="popupstatuslabel" for="popupstatus">{$lang_advlink_popup_statusbar}</label></td>
+                                                               <td><input type="checkbox" id="popupreturn" name="popupreturn" class="checkbox" onchange="buildOnClick();" /></td>
+                                                               <td nowrap="nowrap"><label id="popupreturnlabel" for="popupreturn">{$lang_advlink_popup_return}</label></td>
+                                                       </tr>
+                                               </table>
+                                       </fieldset>
+                               </fieldset>
+                       </div>
+
+                       <div id="advanced_panel" class="panel">
+                       <fieldset>
+                                       <legend>{$lang_advlink_advanced_props}</legend>
+
+                                       <table border="0" cellpadding="0" cellspacing="4">
+                                               <tr>
+                                                       <td class="column1"><label id="idlabel" for="id">{$lang_advlink_id}</label></td> 
+                                                       <td><input id="id" name="id" type="text" value="" /></td> 
+                                               </tr>
+
+                                               <tr>
+                                                       <td><label id="stylelabel" for="style">{$lang_advlink_style}</label></td>
+                                                       <td><input type="text" id="style" name="style" value="" /></td>
+                                               </tr>
+
+                                               <tr>
+                                                       <td><label id="classeslabel" for="classes">{$lang_advlink_classes}</label></td>
+                                                       <td><input type="text" id="classes" name="classes" value="" onchange="selectByValue(this.form,'classlist',this.value,true);" /></td>
+                                               </tr>
+
+                                               <tr>
+                                                       <td><label id="targetlabel" for="target">{$lang_advlink_target_name}</label></td>
+                                                       <td><input type="text" id="target" name="target" value="" onchange="selectByValue(this.form,'targetlist',this.value,true);" /></td>
+                                               </tr>
+
+                                               <tr>
+                                                       <td class="column1"><label id="dirlabel" for="dir">{$lang_advlink_langdir}</label></td> 
+                                                       <td>
+                                                               <select id="dir" name="dir"> 
+                                                                               <option value="">{$lang_not_set}</option> 
+                                                                               <option value="ltr">{$lang_advlink_ltr}</option> 
+                                                                               <option value="rtl">{$lang_advlink_rtl}</option> 
+                                                               </select>
+                                                       </td> 
+                                               </tr>
+
+                                               <tr>
+                                                       <td><label id="hreflanglabel" for="hreflang">{$lang_advlink_target_langcode}</label></td>
+                                                       <td><input type="text" id="hreflang" name="hreflang" value="" /></td>
+                                               </tr>
+
+                                               <tr>
+                                                       <td class="column1"><label id="langlabel" for="lang">{$lang_advlink_langcode}</label></td> 
+                                                       <td>
+                                                               <input id="lang" name="lang" type="text" value="" />
+                                                       </td> 
+                                               </tr>
+
+                                               <tr>
+                                                       <td><label id="charsetlabel" for="charset">{$lang_advlink_encoding}</label></td>
+                                                       <td><input type="text" id="charset" name="charset" value="" /></td>
+                                               </tr>
+
+                                               <tr>
+                                                       <td><label id="typelabel" for="type">{$lang_advlink_mime}</label></td>
+                                                       <td><input type="text" id="type" name="type" value="" /></td>
+                                               </tr>
+
+                                               <tr>
+                                                       <td><label id="rellabel" for="rel">{$lang_advlink_rel}</label></td>
+                                                       <td><select id="rel" name="rel"> 
+                                                                       <option value="">{$lang_not_set}</option> 
+                                                                       <option value="alternate">Alternate</option> 
+                                                                       <option value="designates">Designates</option> 
+                                                                       <option value="stylesheet">Stylesheet</option> 
+                                                                       <option value="start">Start</option> 
+                                                                       <option value="next">Next</option> 
+                                                                       <option value="prev">Prev</option> 
+                                                                       <option value="contents">Contents</option> 
+                                                                       <option value="index">Index</option> 
+                                                                       <option value="glossary">Glossary</option> 
+                                                                       <option value="copyright">Copyright</option> 
+                                                                       <option value="chapter">Chapter</option> 
+                                                                       <option value="subsection">Subsection</option> 
+                                                                       <option value="appendix">Appendix</option> 
+                                                                       <option value="help">Help</option> 
+                                                                       <option value="bookmark">Bookmark</option> 
+                                                               </select> 
+                                                       </td>
+                                               </tr>
+
+                                               <tr>
+                                                       <td><label id="revlabel" for="rev">{$lang_advlink_rev}</label></td>
+                                                       <td><select id="rev" name="rev"> 
+                                                                       <option value="">{$lang_not_set}</option> 
+                                                                       <option value="alternate">Alternate</option> 
+                                                                       <option value="designates">Designates</option> 
+                                                                       <option value="stylesheet">Stylesheet</option> 
+                                                                       <option value="start">Start</option> 
+                                                                       <option value="next">Next</option> 
+                                                                       <option value="prev">Prev</option> 
+                                                                       <option value="contents">Contents</option> 
+                                                                       <option value="index">Index</option> 
+                                                                       <option value="glossary">Glossary</option> 
+                                                                       <option value="copyright">Copyright</option> 
+                                                                       <option value="chapter">Chapter</option> 
+                                                                       <option value="subsection">Subsection</option> 
+                                                                       <option value="appendix">Appendix</option> 
+                                                                       <option value="help">Help</option> 
+                                                                       <option value="bookmark">Bookmark</option> 
+                                                               </select> 
+                                                       </td>
+                                               </tr>
+
+                                               <tr>
+                                                       <td><label id="tabindexlabel" for="tabindex">{$lang_advlink_tabindex}</label></td>
+                                                       <td><input type="text" id="tabindex" name="tabindex" value="" /></td>
+                                               </tr>
+
+                                               <tr>
+                                                       <td><label id="accesskeylabel" for="accesskey">{$lang_advlink_accesskey}</label></td>
+                                                       <td><input type="text" id="accesskey" name="accesskey" value="" /></td>
+                                               </tr>
+                                       </table>
+                               </fieldset>
+                       </div>
+
+                       <div id="events_panel" class="panel">
+                       <fieldset>
+                                       <legend>{$lang_advlink_event_props}</legend>
+
+                                       <table border="0" cellpadding="0" cellspacing="4">
+                                               <tr>
+                                                       <td class="column1"><label for="onfocus">onfocus</label></td> 
+                                                       <td><input id="onfocus" name="onfocus" type="text" value="" /></td> 
+                                               </tr>
+
+                                               <tr>
+                                                       <td class="column1"><label for="onblur">onblur</label></td> 
+                                                       <td><input id="onblur" name="onblur" type="text" value="" /></td> 
+                                               </tr>
+
+                                               <tr>
+                                                       <td class="column1"><label for="onclick">onclick</label></td> 
+                                                       <td><input id="onclick" name="onclick" type="text" value="" /></td> 
+                                               </tr>
+
+                                               <tr>
+                                                       <td class="column1"><label for="ondblclick">ondblclick</label></td> 
+                                                       <td><input id="ondblclick" name="ondblclick" type="text" value="" /></td> 
+                                               </tr>
+
+                                               <tr>
+                                                       <td class="column1"><label for="onmousedown">onmousedown</label></td> 
+                                                       <td><input id="onmousedown" name="onmousedown" type="text" value="" /></td> 
+                                               </tr>
+
+                                               <tr>
+                                                       <td class="column1"><label for="onmouseup">onmouseup</label></td> 
+                                                       <td><input id="onmouseup" name="onmouseup" type="text" value="" /></td> 
+                                               </tr>
+
+                                               <tr>
+                                                       <td class="column1"><label for="onmouseover">onmouseover</label></td> 
+                                                       <td><input id="onmouseover" name="onmouseover" type="text" value="" /></td> 
+                                               </tr>
+
+                                               <tr>
+                                                       <td class="column1"><label for="onmousemove">onmousemove</label></td> 
+                                                       <td><input id="onmousemove" name="onmousemove" type="text" value="" /></td> 
+                                               </tr>
+
+                                               <tr>
+                                                       <td class="column1"><label for="onmouseout">onmouseout</label></td> 
+                                                       <td><input id="onmouseout" name="onmouseout" type="text" value="" /></td> 
+                                               </tr>
+
+                                               <tr>
+                                                       <td class="column1"><label for="onkeypress">onkeypress</label></td> 
+                                                       <td><input id="onkeypress" name="onkeypress" type="text" value="" /></td> 
+                                               </tr>
+
+                                               <tr>
+                                                       <td class="column1"><label for="onkeydown">onkeydown</label></td> 
+                                                       <td><input id="onkeydown" name="onkeydown" type="text" value="" /></td> 
+                                               </tr>
+
+                                               <tr>
+                                                       <td class="column1"><label for="onkeyup">onkeyup</label></td> 
+                                                       <td><input id="onkeyup" name="onkeyup" type="text" value="" /></td> 
+                                               </tr>
+                                       </table>
+                               </fieldset>
+                       </div>
+               </div>
+
+               <div class="mceActionPanel">
+                       <div style="float: left">
+                               <input type="button" id="insert" name="insert" value="{$lang_insert}" onclick="insertAction();" />
+                       </div>
+
+                       <div style="float: right">
+                               <input type="button" id="cancel" name="cancel" value="{$lang_cancel}" onclick="tinyMCEPopup.close();" />
+                       </div>
+               </div>
+    </form>
+</body>
+</html>
diff --git a/webcit/tiny_mce/plugins/advlink/readme.txt b/webcit/tiny_mce/plugins/advlink/readme.txt
new file mode 100644 (file)
index 0000000..6bc6d7d
--- /dev/null
@@ -0,0 +1 @@
+Check the TinyMCE documentation for details on this plugin.
diff --git a/webcit/tiny_mce/plugins/autosave/editor_plugin.js b/webcit/tiny_mce/plugins/autosave/editor_plugin.js
new file mode 100644 (file)
index 0000000..9cff136
--- /dev/null
@@ -0,0 +1,2 @@
+/* Import plugin specific language pack */
+ tinyMCE.importPluginLanguagePack('autosave','en,sv,cs');function TinyMCE_autosave_getInfo(){return{longname:'Auto save',author:'Moxiecode Systems',authorurl:'http://tinymce.moxiecode.com',infourl:'http://tinymce.moxiecode.com/tinymce/docs/plugin_autosave.html',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion};};function TinyMCE_autosave_beforeUnloadHandler(){var msg=tinyMCE.getLang("lang_autosave_unload_msg");var anyDirty=false;for(var n in tinyMCE.instances){var inst=tinyMCE.instances[n];if(inst.isDirty())return msg;}return;}window.onbeforeunload=TinyMCE_autosave_beforeUnloadHandler;
\ No newline at end of file
diff --git a/webcit/tiny_mce/plugins/autosave/editor_plugin_src.js b/webcit/tiny_mce/plugins/autosave/editor_plugin_src.js
new file mode 100644 (file)
index 0000000..0c7b901
--- /dev/null
@@ -0,0 +1,28 @@
+/* Import plugin specific language pack */
+tinyMCE.importPluginLanguagePack('autosave', 'en,sv,cs');
+
+function TinyMCE_autosave_getInfo() {
+       return {
+               longname : 'Auto save',
+               author : 'Moxiecode Systems',
+               authorurl : 'http://tinymce.moxiecode.com',
+               infourl : 'http://tinymce.moxiecode.com/tinymce/docs/plugin_autosave.html',
+               version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion
+       };
+};
+
+function TinyMCE_autosave_beforeUnloadHandler() {
+       var msg = tinyMCE.getLang("lang_autosave_unload_msg");
+
+       var anyDirty = false;
+       for (var n in tinyMCE.instances) {
+               var inst = tinyMCE.instances[n];
+
+               if (inst.isDirty())
+                       return msg;
+       }
+
+       return;
+}
+
+window.onbeforeunload = TinyMCE_autosave_beforeUnloadHandler;
diff --git a/webcit/tiny_mce/plugins/autosave/langs/cs.js b/webcit/tiny_mce/plugins/autosave/langs/cs.js
new file mode 100644 (file)
index 0000000..f8bdbe3
--- /dev/null
@@ -0,0 +1,11 @@
+/**
+ * Czech lang variables 
+ * encoding: utf-8
+ *  
+ * $Id$ 
+ */  
+
+tinyMCE.addToLang('',{
+autosave_unload_msg : 'Změny, které jste udělal(a) budou ztraceny, jestliže opustíte tuto stránku.'
+});
+
diff --git a/webcit/tiny_mce/plugins/autosave/langs/en.js b/webcit/tiny_mce/plugins/autosave/langs/en.js
new file mode 100644 (file)
index 0000000..a184933
--- /dev/null
@@ -0,0 +1,5 @@
+// EN lang variables
+
+tinyMCE.addToLang('',{
+autosave_unload_msg : 'The changes you made will be lost if you navigate away from this page.'
+});
diff --git a/webcit/tiny_mce/plugins/autosave/langs/sv.js b/webcit/tiny_mce/plugins/autosave/langs/sv.js
new file mode 100644 (file)
index 0000000..27b0693
--- /dev/null
@@ -0,0 +1,6 @@
+// SE lang variables
+
+tinyMCE.addToLang('',{
+autosave_unload_msg : 'F&ouml;r&auml;ndringarna du gjorde kommer att g&aring; f&ouml;rlorade om du v&auml;ljer att l&auml;mna denna sida.'
+});
+
diff --git a/webcit/tiny_mce/plugins/autosave/readme.txt b/webcit/tiny_mce/plugins/autosave/readme.txt
new file mode 100644 (file)
index 0000000..6bc6d7d
--- /dev/null
@@ -0,0 +1 @@
+Check the TinyMCE documentation for details on this plugin.
diff --git a/webcit/tiny_mce/plugins/contextmenu/css/contextmenu.css b/webcit/tiny_mce/plugins/contextmenu/css/contextmenu.css
new file mode 100644 (file)
index 0000000..1466e0e
--- /dev/null
@@ -0,0 +1,60 @@
+.contextMenuIEPopup {
+       padding: 0px;
+       margin: 0px;
+       border: 0px;
+       overflow: hidden;
+}
+
+.contextMenu {
+       position: absolute;
+       cursor: default;
+       z-index: 1000;
+       border: 1px solid #D4D0C8;
+       background-color: #FFFFFF;
+}
+
+.contextMenuItem, .contextMenuItemOver {
+}
+
+.contextMenuItemOver {
+       background-color: #B6BDD2;
+}
+
+.contextMenuSeparator {
+       width: 100%;
+       background-color: #D4D0C8;
+       border: 0px;
+}
+
+.contextMenuImage, .contextMenuItemDisabled {
+       border: 0px;
+}
+
+.contextMenuIcon {
+       background-color: #F0F0EE;
+}
+
+.contextMenuItemOver .contextMenuIcon {
+       background-color: #B6BDD2;
+}
+
+.contextMenuIcon {
+       background-color: #F0F0EE;
+}
+
+.contextMenuItemDisabled img {
+       filter:progid:DXImageTransform.Microsoft.Alpha(opacity=30);
+       -moz-opacity:0.3;
+       opacity: 0.3;
+}
+
+.contextMenuText {
+       font-family: Tahoma, Verdana, Arial, Helvetica;
+       font-size: 11px;
+       margin-left: 5px;
+       margin-right: 10px;
+}
+
+.contextMenuItemDisabled {
+       color: #AAAAAA;
+}
diff --git a/webcit/tiny_mce/plugins/contextmenu/editor_plugin.js b/webcit/tiny_mce/plugins/contextmenu/editor_plugin.js
new file mode 100644 (file)
index 0000000..20b4e69
--- /dev/null
@@ -0,0 +1,2 @@
+/* Import plugin specific language pack */
+ if(!tinyMCE.settings['contextmenu_skip_plugin_css'])tinyMCE.loadCSS(tinyMCE.baseURL+"/plugins/contextmenu/css/contextmenu.css");var TinyMCE_contextmenu_contextMenu=null;function TinyMCE_contextmenu_getInfo(){return{longname:'Context menus',author:'Moxiecode Systems',authorurl:'http://tinymce.moxiecode.com',infourl:'http://tinymce.moxiecode.com/tinymce/docs/plugin_contextmenu.html',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion};};function TinyMCE_contextmenu_initInstance(inst){if(tinyMCE.isMSIE5_0)return;tinyMCE.addEvent(inst.getDoc(),"click",TinyMCE_contextmenu_hideContextMenu);tinyMCE.addEvent(inst.getDoc(),"keypress",TinyMCE_contextmenu_hideContextMenu);tinyMCE.addEvent(inst.getDoc(),"keydown",TinyMCE_contextmenu_hideContextMenu);tinyMCE.addEvent(document,"click",TinyMCE_contextmenu_hideContextMenu);tinyMCE.addEvent(document,"keypress",TinyMCE_contextmenu_hideContextMenu);tinyMCE.addEvent(document,"keydown",TinyMCE_contextmenu_hideContextMenu);var contextMenu=new ContextMenu({commandhandler:"TinyMCE_contextmenu_commandHandler",spacer_image:tinyMCE.baseURL+"/plugins/contextmenu/images/spacer.gif"});TinyMCE_contextmenu_contextMenu=contextMenu;if(tinyMCE.isGecko){tinyMCE.addEvent(inst.getDoc(),"contextmenu",function(e){TinyMCE_contextmenu_showContextMenu(tinyMCE.isMSIE?inst.contentWindow.event:e,inst);});}else tinyMCE.addEvent(inst.getDoc(),"contextmenu",TinyMCE_contextmenu_onContextMenu);}function TinyMCE_contextmenu_onContextMenu(e){var elm=tinyMCE.isMSIE?e.srcElement:e.target;var targetInst,body;if((body=tinyMCE.getParentElement(elm,"body"))!=null){for(var n in tinyMCE.instances){var inst=tinyMCE.instances[n];if(body==inst.getBody()){targetInst=inst;break;}}return TinyMCE_contextmenu_showContextMenu(tinyMCE.isMSIE?targetInst.contentWindow.event:e,targetInst);}}function TinyMCE_contextmenu_showContextMenu(e,inst){function getAttrib(elm,name){return elm.getAttribute(name)?elm.getAttribute(name):"";}var x,y,elm,contextMenu;var pos=tinyMCE.getAbsPosition(inst.iframeElement);x=tinyMCE.isMSIE?e.screenX:pos.absLeft+(e.pageX-inst.getBody().scrollLeft);y=tinyMCE.isMSIE?e.screenY:pos.absTop+(e.pageY-inst.getBody().scrollTop);elm=tinyMCE.isMSIE?e.srcElement:e.target;contextMenu=TinyMCE_contextmenu_contextMenu;contextMenu.inst=inst;window.setTimeout(function(){var theme=tinyMCE.getParam("theme");contextMenu.clearAll();var sel=inst.getSelectedText().length!=0||elm.nodeName=="IMG";contextMenu.addItem(tinyMCE.baseURL+"/themes/"+theme+"/images/cut.gif","$lang_cut_desc","Cut","",!sel);contextMenu.addItem(tinyMCE.baseURL+"/themes/"+theme+"/images/copy.gif","$lang_copy_desc","Copy","",!sel);contextMenu.addItem(tinyMCE.baseURL+"/themes/"+theme+"/images/paste.gif","$lang_paste_desc","Paste","",false);elm=tinyMCE.getParentElement(elm,"img,table,td");if(elm){switch(elm.nodeName){case "IMG":contextMenu.addSeparator();if(tinyMCE.getAttrib(elm,'class').indexOf('mceItemFlash')==0)contextMenu.addItem(tinyMCE.baseURL+"/plugins/flash/images/flash.gif","$lang_flash_props","mceFlash");else contextMenu.addItem(tinyMCE.baseURL+"/themes/"+theme+"/images/image.gif","$lang_image_props_desc",typeof(TinyMCE_advimage_getControlHTML)!="undefined"?"mceAdvImage":"mceImage");break;case "TABLE":case "TD":if(typeof(TinyMCE_table_getControlHTML)!="undefined"){var colspan=(elm.nodeName=="TABLE")?"":getAttrib(elm,"colspan");var rowspan=(elm.nodeName=="TABLE")?"":getAttrib(elm,"rowspan");colspan=colspan==""?"1":colspan;rowspan=rowspan==""?"1":rowspan;contextMenu.addSeparator();contextMenu.addItem(tinyMCE.baseURL+"/themes/"+theme+"/images/cut.gif","$lang_table_cut_row_desc","mceTableCutRow");contextMenu.addItem(tinyMCE.baseURL+"/themes/"+theme+"/images/copy.gif","$lang_table_copy_row_desc","mceTableCopyRow");contextMenu.addItem(tinyMCE.baseURL+"/themes/"+theme+"/images/paste.gif","$lang_table_paste_row_before_desc","mceTablePasteRowBefore","",inst.tableRowClipboard==null);contextMenu.addItem(tinyMCE.baseURL+"/themes/"+theme+"/images/paste.gif","$lang_table_paste_row_after_desc","mceTablePasteRowAfter","",inst.tableRowClipboard==null);contextMenu.addSeparator();contextMenu.addItem(tinyMCE.baseURL+"/plugins/table/images/table.gif","$lang_table_desc","mceInsertTable","insert");contextMenu.addItem(tinyMCE.baseURL+"/plugins/table/images/table.gif","$lang_table_props_desc","mceInsertTable");contextMenu.addItem(tinyMCE.baseURL+"/plugins/table/images/table_cell_props.gif","$lang_table_cell_desc","mceTableCellProps");contextMenu.addItem(tinyMCE.baseURL+"/plugins/table/images/table_delete.gif","$lang_table_del","mceTableDelete");contextMenu.addSeparator();contextMenu.addItem(tinyMCE.baseURL+"/plugins/table/images/table_row_props.gif","$lang_table_row_desc","mceTableRowProps");contextMenu.addItem(tinyMCE.baseURL+"/plugins/table/images/table_insert_row_before.gif","$lang_table_row_before_desc","mceTableInsertRowBefore");contextMenu.addItem(tinyMCE.baseURL+"/plugins/table/images/table_insert_row_after.gif","$lang_table_row_after_desc","mceTableInsertRowAfter");contextMenu.addItem(tinyMCE.baseURL+"/plugins/table/images/table_delete_row.gif","$lang_table_delete_row_desc","mceTableDeleteRow");contextMenu.addSeparator();contextMenu.addItem(tinyMCE.baseURL+"/plugins/table/images/table_insert_col_before.gif","$lang_table_col_before_desc","mceTableInsertColBefore");contextMenu.addItem(tinyMCE.baseURL+"/plugins/table/images/table_insert_col_after.gif","$lang_table_col_after_desc","mceTableInsertColAfter");contextMenu.addItem(tinyMCE.baseURL+"/plugins/table/images/table_delete_col.gif","$lang_table_delete_col_desc","mceTableDeleteCol");contextMenu.addSeparator();contextMenu.addItem(tinyMCE.baseURL+"/plugins/table/images/table_split_cells.gif","$lang_table_split_cells_desc","mceTableSplitCells","",(colspan=="1"&&rowspan=="1"));contextMenu.addItem(tinyMCE.baseURL+"/plugins/table/images/table_merge_cells.gif","$lang_table_merge_cells_desc","mceTableMergeCells","",false);}break;}}else{if(typeof(TinyMCE_table_getControlHTML)!="undefined"){contextMenu.addSeparator();contextMenu.addItem(tinyMCE.baseURL+"/plugins/table/images/table.gif","$lang_table_desc","mceInsertTable","insert");}}contextMenu.show(x,y);},10);tinyMCE.cancelEvent(e);return false;}function TinyMCE_contextmenu_hideContextMenu(){TinyMCE_contextmenu_contextMenu.hide();return true;}function TinyMCE_contextmenu_commandHandler(command,value){TinyMCE_contextmenu_contextMenu.hide();var ui=false;if(command=="mceInsertTable"||command=="mceTableCellProps"||command=="mceTableRowProps"||command=="mceTableMergeCells")ui=true;if(command=="Paste")value=null;TinyMCE_contextmenu_contextMenu.inst.execCommand(command,ui,value);}function ContextMenu(settings){function defParam(key,def_val){settings[key]=typeof(settings[key])!="undefined"?settings[key]:def_val;}var self=this;this.isMSIE=(navigator.appName=="Microsoft Internet Explorer");this.contextMenuDiv=document.createElement("div");this.contextMenuDiv.className="contextMenu";this.contextMenuDiv.setAttribute("class","contextMenu");this.contextMenuDiv.style.display="none";this.contextMenuDiv.style.position='absolute';this.contextMenuDiv.style.zindex=1000;this.contextMenuDiv.style.left='0px';this.contextMenuDiv.style.top='0px';this.contextMenuDiv.unselectable="on";document.body.appendChild(this.contextMenuDiv);defParam("commandhandler","");defParam("spacer_image","images/spacer.gif");this.items=new Array();this.settings=settings;this.html="";if(tinyMCE.isMSIE&&!tinyMCE.isMSIE5_0){this.pop=window.createPopup();doc=this.pop.document;doc.open();doc.write('<html><head><link href="'+tinyMCE.baseURL+'/plugins/contextmenu/css/contextmenu.css" rel="stylesheet" type="text/css" /></head><body unselectable="yes" class="contextMenuIEPopup"></body></html>');doc.close();}};ContextMenu.prototype.clearAll=function(){this.html="";this.contextMenuDiv.innerHTML="";};ContextMenu.prototype.addSeparator=function(){this.html+='<tr class="contextMenuItem"><td class="contextMenuIcon"><img src="'+this.settings['spacer_image']+'" width="20" height="1" class="contextMenuImage" /></td><td><img class="contextMenuSeparator" width="1" height="1" src="'+this.settings['spacer_image']+'" /></td></tr>';};ContextMenu.prototype.addItem=function(icon,title,command,value,disabled){if(title.charAt(0)=='$')title=tinyMCE.getLang(title.substring(1));var onMouseDown='';var html='';if(tinyMCE.isMSIE&&!tinyMCE.isMSIE5_0)onMouseDown='contextMenu.execCommand(\''+command+'\', \''+value+'\');return false;';else onMouseDown=this.settings['commandhandler']+'(\''+command+'\', \''+value+'\');return false;';if(icon=="")icon=this.settings['spacer_image'];if(!disabled)html+='<tr class="contextMenuItem" onmousedown="'+onMouseDown+'" onmouseover="tinyMCE.switchClass(this,\'contextMenuItemOver\');" onmouseout="tinyMCE.switchClass(this,\'contextMenuItem\');">';else html+='<tr class="contextMenuItemDisabled">';html+='<td class="contextMenuIcon"><img src="'+icon+'" width="20" height="20" class="contextMenuImage" /></td>';html+='<td><div class="contextMenuText">';html+=title;html+='</div></td>';html+='</tr>';this.html+=html;};ContextMenu.prototype.show=function(x,y){if(this.html=="")return;var html='';html+='<table border="0" cellpadding="0" cellspacing="0">';html+=this.html;html+='</table>';this.contextMenuDiv.innerHTML=html;if(tinyMCE.isMSIE&&!tinyMCE.isMSIE5_0){var width,height;this.contextMenuDiv.style.display="block";width=this.contextMenuDiv.offsetWidth;height=this.contextMenuDiv.offsetHeight;this.contextMenuDiv.style.display="none";this.pop.document.body.innerHTML='<div class="contextMenu">'+html+"</div>";this.pop.document.tinyMCE=tinyMCE;this.pop.document.contextMenu=this;this.pop.show(x,y,width,height);}else{this.contextMenuDiv.style.left=x+'px';this.contextMenuDiv.style.top=y+'px';this.contextMenuDiv.style.display="block";}};ContextMenu.prototype.hide=function(){if(tinyMCE.isMSIE&&!tinyMCE.isMSIE5_0)this.pop.hide();else this.contextMenuDiv.style.display="none";};ContextMenu.prototype.execCommand=function(command,value){eval(this.settings['commandhandler']+"(command, value);");};
\ No newline at end of file
diff --git a/webcit/tiny_mce/plugins/contextmenu/editor_plugin_src.js b/webcit/tiny_mce/plugins/contextmenu/editor_plugin_src.js
new file mode 100644 (file)
index 0000000..b815329
--- /dev/null
@@ -0,0 +1,309 @@
+/* Import plugin specific language pack */
+//tinyMCE.importPluginLanguagePack('contextmenu', 'en,zh_cn,cs,fa,fr_ca,fr,de');
+if (!tinyMCE.settings['contextmenu_skip_plugin_css'])
+       tinyMCE.loadCSS(tinyMCE.baseURL + "/plugins/contextmenu/css/contextmenu.css");
+
+// Global contextmenu class instance
+var TinyMCE_contextmenu_contextMenu = null;
+
+function TinyMCE_contextmenu_getInfo() {
+       return {
+               longname : 'Context menus',
+               author : 'Moxiecode Systems',
+               authorurl : 'http://tinymce.moxiecode.com',
+               infourl : 'http://tinymce.moxiecode.com/tinymce/docs/plugin_contextmenu.html',
+               version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion
+       };
+};
+
+function TinyMCE_contextmenu_initInstance(inst) {
+       // Is not working on MSIE 5.0
+       if (tinyMCE.isMSIE5_0)
+               return;
+
+       // Add hide event handles
+       tinyMCE.addEvent(inst.getDoc(), "click", TinyMCE_contextmenu_hideContextMenu);
+       tinyMCE.addEvent(inst.getDoc(), "keypress", TinyMCE_contextmenu_hideContextMenu);
+       tinyMCE.addEvent(inst.getDoc(), "keydown", TinyMCE_contextmenu_hideContextMenu);
+       tinyMCE.addEvent(document, "click", TinyMCE_contextmenu_hideContextMenu);
+       tinyMCE.addEvent(document, "keypress", TinyMCE_contextmenu_hideContextMenu);
+       tinyMCE.addEvent(document, "keydown", TinyMCE_contextmenu_hideContextMenu);
+
+       var contextMenu = new ContextMenu({
+               commandhandler : "TinyMCE_contextmenu_commandHandler",
+               spacer_image : tinyMCE.baseURL + "/plugins/contextmenu/images/spacer.gif"
+       });
+
+       // Register global reference
+       TinyMCE_contextmenu_contextMenu = contextMenu;
+
+       // Attach contextmenu event
+       if (tinyMCE.isGecko) {
+               tinyMCE.addEvent(inst.getDoc(), "contextmenu", function(e) {TinyMCE_contextmenu_showContextMenu(tinyMCE.isMSIE ? inst.contentWindow.event : e, inst);});
+       } else
+               tinyMCE.addEvent(inst.getDoc(), "contextmenu", TinyMCE_contextmenu_onContextMenu);
+}
+
+function TinyMCE_contextmenu_onContextMenu(e) {
+       var elm = tinyMCE.isMSIE ? e.srcElement : e.target;
+       var targetInst, body;
+
+       // Find instance
+       if ((body = tinyMCE.getParentElement(elm, "body")) != null) {
+               for (var n in tinyMCE.instances) {
+                       var inst = tinyMCE.instances[n];
+
+                       if (body == inst.getBody()) {
+                               targetInst = inst;
+                               break;
+                       }
+               }
+
+               return TinyMCE_contextmenu_showContextMenu(tinyMCE.isMSIE ? targetInst.contentWindow.event : e, targetInst);
+       }
+}
+
+function TinyMCE_contextmenu_showContextMenu(e, inst) {
+       function getAttrib(elm, name) {
+               return elm.getAttribute(name) ? elm.getAttribute(name) : "";
+       }
+
+       var x, y, elm, contextMenu;
+       var pos = tinyMCE.getAbsPosition(inst.iframeElement);
+
+       x = tinyMCE.isMSIE ? e.screenX : pos.absLeft + (e.pageX - inst.getBody().scrollLeft);
+       y = tinyMCE.isMSIE ? e.screenY : pos.absTop + (e.pageY - inst.getBody().scrollTop);
+       elm = tinyMCE.isMSIE ? e.srcElement : e.target;
+       contextMenu = TinyMCE_contextmenu_contextMenu;
+       contextMenu.inst = inst;
+
+       // Mozilla needs some time
+       window.setTimeout(function () {
+               var theme = tinyMCE.getParam("theme");
+
+               contextMenu.clearAll();
+               var sel = inst.getSelectedText().length != 0 || elm.nodeName == "IMG";
+
+               // Default items
+               contextMenu.addItem(tinyMCE.baseURL + "/themes/" + theme + "/images/cut.gif", "$lang_cut_desc", "Cut", "", !sel);
+               contextMenu.addItem(tinyMCE.baseURL + "/themes/" + theme + "/images/copy.gif", "$lang_copy_desc", "Copy", "", !sel);
+               contextMenu.addItem(tinyMCE.baseURL + "/themes/" + theme + "/images/paste.gif", "$lang_paste_desc", "Paste", "", false);
+
+               // Get element
+               elm = tinyMCE.getParentElement(elm, "img,table,td");
+               if (elm) {
+                       switch (elm.nodeName) {
+                               case "IMG":
+                                       contextMenu.addSeparator();
+
+                                       // If flash
+                                       if (tinyMCE.getAttrib(elm, 'class').indexOf('mceItemFlash') == 0)
+                                               contextMenu.addItem(tinyMCE.baseURL + "/plugins/flash/images/flash.gif", "$lang_flash_props", "mceFlash");
+                                       else
+                                               contextMenu.addItem(tinyMCE.baseURL + "/themes/" + theme + "/images/image.gif", "$lang_image_props_desc", typeof(TinyMCE_advimage_getControlHTML) != "undefined" ? "mceAdvImage" : "mceImage");
+                                       break;
+
+                               case "TABLE":
+                               case "TD":
+                                       // Is table plugin loaded
+                                       if (typeof(TinyMCE_table_getControlHTML) != "undefined") {
+                                               var colspan = (elm.nodeName == "TABLE") ? "" : getAttrib(elm, "colspan");
+                                               var rowspan = (elm.nodeName == "TABLE") ? "" : getAttrib(elm, "rowspan");
+
+                                               colspan = colspan == "" ? "1" : colspan;
+                                               rowspan = rowspan == "" ? "1" : rowspan;
+
+                                               contextMenu.addSeparator();
+                                               contextMenu.addItem(tinyMCE.baseURL + "/themes/" + theme + "/images/cut.gif", "$lang_table_cut_row_desc", "mceTableCutRow");
+                                               contextMenu.addItem(tinyMCE.baseURL + "/themes/" + theme + "/images/copy.gif", "$lang_table_copy_row_desc", "mceTableCopyRow");
+                                               contextMenu.addItem(tinyMCE.baseURL + "/themes/" + theme + "/images/paste.gif", "$lang_table_paste_row_before_desc", "mceTablePasteRowBefore", "", inst.tableRowClipboard == null);
+                                               contextMenu.addItem(tinyMCE.baseURL + "/themes/" + theme + "/images/paste.gif", "$lang_table_paste_row_after_desc", "mceTablePasteRowAfter", "", inst.tableRowClipboard == null);
+
+/*                                             contextMenu.addItem(tinyMCE.baseURL + "/themes/" + theme + "/images/left.gif", "$lang_justifyleft_desc", "JustifyLeft", "", false);
+                                               contextMenu.addItem(tinyMCE.baseURL + "/themes/" + theme + "/images/center.gif", "$lang_justifycenter_desc", "JustifyCenter", "", false);
+                                               contextMenu.addItem(tinyMCE.baseURL + "/themes/" + theme + "/images/right.gif", "$lang_justifyright_desc", "JustifyRight", "", false);
+                                               contextMenu.addItem(tinyMCE.baseURL + "/themes/" + theme + "/images/full.gif", "$lang_justifyfull_desc", "JustifyFull", "", false);*/
+                                               contextMenu.addSeparator();
+                                               contextMenu.addItem(tinyMCE.baseURL + "/plugins/table/images/table.gif", "$lang_table_desc", "mceInsertTable", "insert");
+                                               contextMenu.addItem(tinyMCE.baseURL + "/plugins/table/images/table.gif", "$lang_table_props_desc", "mceInsertTable");
+                                               contextMenu.addItem(tinyMCE.baseURL + "/plugins/table/images/table_cell_props.gif", "$lang_table_cell_desc", "mceTableCellProps");
+                                               contextMenu.addItem(tinyMCE.baseURL + "/plugins/table/images/table_delete.gif", "$lang_table_del", "mceTableDelete");
+                                               contextMenu.addSeparator();
+                                               contextMenu.addItem(tinyMCE.baseURL + "/plugins/table/images/table_row_props.gif", "$lang_table_row_desc", "mceTableRowProps");
+                                               contextMenu.addItem(tinyMCE.baseURL + "/plugins/table/images/table_insert_row_before.gif", "$lang_table_row_before_desc", "mceTableInsertRowBefore");
+                                               contextMenu.addItem(tinyMCE.baseURL + "/plugins/table/images/table_insert_row_after.gif", "$lang_table_row_after_desc", "mceTableInsertRowAfter");
+                                               contextMenu.addItem(tinyMCE.baseURL + "/plugins/table/images/table_delete_row.gif", "$lang_table_delete_row_desc", "mceTableDeleteRow");
+                                               contextMenu.addSeparator();
+                                               contextMenu.addItem(tinyMCE.baseURL + "/plugins/table/images/table_insert_col_before.gif", "$lang_table_col_before_desc", "mceTableInsertColBefore");
+                                               contextMenu.addItem(tinyMCE.baseURL + "/plugins/table/images/table_insert_col_after.gif", "$lang_table_col_after_desc", "mceTableInsertColAfter");
+                                               contextMenu.addItem(tinyMCE.baseURL + "/plugins/table/images/table_delete_col.gif", "$lang_table_delete_col_desc", "mceTableDeleteCol");
+                                               contextMenu.addSeparator();
+                                               contextMenu.addItem(tinyMCE.baseURL + "/plugins/table/images/table_split_cells.gif", "$lang_table_split_cells_desc", "mceTableSplitCells", "", (colspan == "1" && rowspan == "1"));
+                                               contextMenu.addItem(tinyMCE.baseURL + "/plugins/table/images/table_merge_cells.gif", "$lang_table_merge_cells_desc", "mceTableMergeCells", "", false);
+                                       }
+                                       break;
+                       }
+               }  else {
+                       // Add table specific
+                       if (typeof(TinyMCE_table_getControlHTML) != "undefined") {
+                               contextMenu.addSeparator();
+                               contextMenu.addItem(tinyMCE.baseURL + "/plugins/table/images/table.gif", "$lang_table_desc", "mceInsertTable", "insert");
+                       }
+               }
+
+               contextMenu.show(x, y);
+       }, 10);
+
+       // Cancel default handeling
+       tinyMCE.cancelEvent(e);
+       return false;
+}
+
+function TinyMCE_contextmenu_hideContextMenu() {
+       TinyMCE_contextmenu_contextMenu.hide();
+
+       return true;
+}
+
+function TinyMCE_contextmenu_commandHandler(command, value) {
+       TinyMCE_contextmenu_contextMenu.hide();
+
+       // UI must be true on these
+       var ui = false;
+       if (command == "mceInsertTable" || command == "mceTableCellProps" || command == "mceTableRowProps" || command == "mceTableMergeCells")
+               ui = true;
+
+       if (command == "Paste")
+               value = null;
+
+       TinyMCE_contextmenu_contextMenu.inst.execCommand(command, ui, value);
+}
+
+// Context menu class
+
+function ContextMenu(settings) {
+       // Default value function
+       function defParam(key, def_val) {
+               settings[key] = typeof(settings[key]) != "undefined" ? settings[key] : def_val;
+       }
+
+       var self = this;
+
+       this.isMSIE = (navigator.appName == "Microsoft Internet Explorer");
+
+       // Setup contextmenu div
+       this.contextMenuDiv = document.createElement("div");
+       this.contextMenuDiv.className = "contextMenu";
+       this.contextMenuDiv.setAttribute("class", "contextMenu");
+       this.contextMenuDiv.style.display = "none";
+       this.contextMenuDiv.style.position = 'absolute';
+       this.contextMenuDiv.style.zindex = 1000;
+       this.contextMenuDiv.style.left = '0px';
+       this.contextMenuDiv.style.top = '0px';
+       this.contextMenuDiv.unselectable = "on";
+
+       document.body.appendChild(this.contextMenuDiv);
+
+       // Setup default values
+       defParam("commandhandler", "");
+       defParam("spacer_image", "images/spacer.gif");
+
+       this.items = new Array();
+       this.settings = settings;
+       this.html = "";
+
+       // IE Popup
+       if (tinyMCE.isMSIE && !tinyMCE.isMSIE5_0) {
+               this.pop = window.createPopup();
+               doc = this.pop.document;
+               doc.open();
+               doc.write('<html><head><link href="' + tinyMCE.baseURL + '/plugins/contextmenu/css/contextmenu.css" rel="stylesheet" type="text/css" /></head><body unselectable="yes" class="contextMenuIEPopup"></body></html>');
+               doc.close();
+       }
+};
+
+ContextMenu.prototype.clearAll = function() {
+       this.html = "";
+       this.contextMenuDiv.innerHTML = "";
+};
+
+ContextMenu.prototype.addSeparator = function() {
+       this.html += '<tr class="contextMenuItem"><td class="contextMenuIcon"><img src="' + this.settings['spacer_image'] + '" width="20" height="1" class="contextMenuImage" /></td><td><img class="contextMenuSeparator" width="1" height="1" src="' + this.settings['spacer_image'] + '" /></td></tr>';
+};
+
+ContextMenu.prototype.addItem = function(icon, title, command, value, disabled) {
+       if (title.charAt(0) == '$')
+               title = tinyMCE.getLang(title.substring(1));
+
+       var onMouseDown = '';
+       var html = '';
+
+       if (tinyMCE.isMSIE && !tinyMCE.isMSIE5_0)
+               onMouseDown = 'contextMenu.execCommand(\'' + command + '\', \'' + value + '\');return false;';
+       else
+               onMouseDown = this.settings['commandhandler'] + '(\'' + command + '\', \'' + value + '\');return false;';
+
+       if (icon == "")
+               icon = this.settings['spacer_image'];
+
+       if (!disabled)
+               html += '<tr class="contextMenuItem" onmousedown="' + onMouseDown + '" onmouseover="tinyMCE.switchClass(this,\'contextMenuItemOver\');" onmouseout="tinyMCE.switchClass(this,\'contextMenuItem\');">';
+       else
+               html += '<tr class="contextMenuItemDisabled">';
+
+       html += '<td class="contextMenuIcon"><img src="' + icon + '" width="20" height="20" class="contextMenuImage" /></td>';
+       html += '<td><div class="contextMenuText">';
+
+       // Add text
+       html += title;
+
+       html += '</div></td>';
+       html += '</tr>';
+
+       // Add to main
+       this.html += html;
+};
+
+ContextMenu.prototype.show = function(x, y) {
+       if (this.html == "")
+               return;
+
+       var html = '';
+
+       html += '<table border="0" cellpadding="0" cellspacing="0">';
+       html += this.html;
+       html += '</table>';
+
+       this.contextMenuDiv.innerHTML = html;
+
+       if (tinyMCE.isMSIE && !tinyMCE.isMSIE5_0) {
+               var width, height;
+
+               // Get dimensions
+               this.contextMenuDiv.style.display = "block";
+               width = this.contextMenuDiv.offsetWidth;
+               height = this.contextMenuDiv.offsetHeight;
+               this.contextMenuDiv.style.display = "none";
+
+               // Setup popup and show
+               this.pop.document.body.innerHTML = '<div class="contextMenu">' + html + "</div>";
+               this.pop.document.tinyMCE = tinyMCE;
+               this.pop.document.contextMenu = this;
+               this.pop.show(x, y, width, height);
+       } else {
+               this.contextMenuDiv.style.left = x + 'px';
+               this.contextMenuDiv.style.top = y + 'px';
+               this.contextMenuDiv.style.display = "block";
+       }
+};
+
+ContextMenu.prototype.hide = function() {
+       if (tinyMCE.isMSIE && !tinyMCE.isMSIE5_0)
+               this.pop.hide();
+       else
+               this.contextMenuDiv.style.display = "none";
+};
+
+ContextMenu.prototype.execCommand = function(command, value) {
+       eval(this.settings['commandhandler'] + "(command, value);");
+};
diff --git a/webcit/tiny_mce/plugins/contextmenu/images/spacer.gif b/webcit/tiny_mce/plugins/contextmenu/images/spacer.gif
new file mode 100644 (file)
index 0000000..3884865
Binary files /dev/null and b/webcit/tiny_mce/plugins/contextmenu/images/spacer.gif differ
diff --git a/webcit/tiny_mce/plugins/contextmenu/readme.txt b/webcit/tiny_mce/plugins/contextmenu/readme.txt
new file mode 100644 (file)
index 0000000..6bc6d7d
--- /dev/null
@@ -0,0 +1 @@
+Check the TinyMCE documentation for details on this plugin.
diff --git a/webcit/tiny_mce/plugins/directionality/editor_plugin.js b/webcit/tiny_mce/plugins/directionality/editor_plugin.js
new file mode 100644 (file)
index 0000000..b1046e7
--- /dev/null
@@ -0,0 +1,2 @@
+/* Import plugin specific language pack */
+ tinyMCE.importPluginLanguagePack('directionality','en,sv,fr_ca,zh_cn,cs');function TinyMCE_directionality_getInfo(){return{longname:'Directionality',author:'Moxiecode Systems',authorurl:'http://tinymce.moxiecode.com',infourl:'http://tinymce.moxiecode.com/tinymce/docs/plugin_directionality.html',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion};};function TinyMCE_directionality_getControlHTML(control_name){switch(control_name){case "ltr":return '<a href="javascript:tinyMCE.execInstanceCommand(\'{$editor_id}\',\'mceDirectionLTR\');" onmousedown="return false;"><img id="{$editor_id}_ltr" src="{$pluginurl}/images/ltr.gif" title="{$lang_directionality_ltr_desc}" width="20" height="20" class="mceButtonNormal" onmouseover="tinyMCE.switchClass(this,\'mceButtonOver\');" onmouseout="tinyMCE.restoreClass(this);" onmousedown="tinyMCE.restoreAndSwitchClass(this,\'mceButtonDown\');" /></a>';case "rtl":return '<a href="javascript:tinyMCE.execInstanceCommand(\'{$editor_id}\',\'mceDirectionRTL\');" onmousedown="return false;"><img id="{$editor_id}_rtl" src="{$pluginurl}/images/rtl.gif" title="{$lang_directionality_rtl_desc}" width="20" height="20" class="mceButtonNormal" onmouseover="tinyMCE.switchClass(this,\'mceButtonOver\');" onmouseout="tinyMCE.restoreClass(this);" onmousedown="tinyMCE.restoreAndSwitchClass(this,\'mceButtonDown\');" /></a>';}return "";}function TinyMCE_directionality_execCommand(editor_id,element,command,user_interface,value){switch(command){case "mceDirectionLTR":var inst=tinyMCE.getInstanceById(editor_id);var elm=tinyMCE.getParentElement(inst.getFocusElement(),"p,div,td,h1,h2,h3,h4,h5,h6,pre,address");if(elm)elm.setAttribute("dir","ltr");tinyMCE.triggerNodeChange(false);return true;case "mceDirectionRTL":var inst=tinyMCE.getInstanceById(editor_id);var elm=tinyMCE.getParentElement(inst.getFocusElement(),"p,div,td,h1,h2,h3,h4,h5,h6,pre,address");if(elm)elm.setAttribute("dir","rtl");tinyMCE.triggerNodeChange(false);return true;}return false;}function TinyMCE_directionality_handleNodeChange(editor_id,node,undo_index,undo_levels,visual_aid,any_selection){function getAttrib(elm,name){return elm.getAttribute(name)?elm.getAttribute(name):"";}tinyMCE.switchClassSticky(editor_id+'_ltr','mceButtonNormal',false);tinyMCE.switchClassSticky(editor_id+'_rtl','mceButtonNormal',false);if(node==null)return;var elm=tinyMCE.getParentElement(node,"p,div,td,h1,h2,h3,h4,h5,h6,pre,address");if(!elm){tinyMCE.switchClassSticky(editor_id+'_ltr','mceButtonDisabled',true);tinyMCE.switchClassSticky(editor_id+'_rtl','mceButtonDisabled',true);return;}var dir=getAttrib(elm,"dir");if(dir=="ltr"||dir=="")tinyMCE.switchClassSticky(editor_id+'_ltr','mceButtonSelected',false);else tinyMCE.switchClassSticky(editor_id+'_rtl','mceButtonSelected',false);return true;}
\ No newline at end of file
diff --git a/webcit/tiny_mce/plugins/directionality/editor_plugin_src.js b/webcit/tiny_mce/plugins/directionality/editor_plugin_src.js
new file mode 100644 (file)
index 0000000..594b0f8
--- /dev/null
@@ -0,0 +1,79 @@
+/* Import plugin specific language pack */
+tinyMCE.importPluginLanguagePack('directionality', 'en,sv,fr_ca,zh_cn,cs');
+
+function TinyMCE_directionality_getInfo() {
+       return {
+               longname : 'Directionality',
+               author : 'Moxiecode Systems',
+               authorurl : 'http://tinymce.moxiecode.com',
+               infourl : 'http://tinymce.moxiecode.com/tinymce/docs/plugin_directionality.html',
+               version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion
+       };
+};
+
+function TinyMCE_directionality_getControlHTML(control_name) {
+    switch (control_name) {
+        case "ltr":
+            return '<a href="javascript:tinyMCE.execInstanceCommand(\'{$editor_id}\',\'mceDirectionLTR\');" onmousedown="return false;"><img id="{$editor_id}_ltr" src="{$pluginurl}/images/ltr.gif" title="{$lang_directionality_ltr_desc}" width="20" height="20" class="mceButtonNormal" onmouseover="tinyMCE.switchClass(this,\'mceButtonOver\');" onmouseout="tinyMCE.restoreClass(this);" onmousedown="tinyMCE.restoreAndSwitchClass(this,\'mceButtonDown\');" /></a>';
+
+        case "rtl":
+            return '<a href="javascript:tinyMCE.execInstanceCommand(\'{$editor_id}\',\'mceDirectionRTL\');" onmousedown="return false;"><img id="{$editor_id}_rtl" src="{$pluginurl}/images/rtl.gif" title="{$lang_directionality_rtl_desc}" width="20" height="20" class="mceButtonNormal" onmouseover="tinyMCE.switchClass(this,\'mceButtonOver\');" onmouseout="tinyMCE.restoreClass(this);" onmousedown="tinyMCE.restoreAndSwitchClass(this,\'mceButtonDown\');" /></a>';
+    }
+
+    return "";
+}
+
+function TinyMCE_directionality_execCommand(editor_id, element, command, user_interface, value) {
+       // Handle commands
+       switch (command) {
+               case "mceDirectionLTR":
+                       var inst = tinyMCE.getInstanceById(editor_id);
+                       var elm = tinyMCE.getParentElement(inst.getFocusElement(), "p,div,td,h1,h2,h3,h4,h5,h6,pre,address");
+
+                       if (elm)
+                               elm.setAttribute("dir", "ltr");
+
+                       tinyMCE.triggerNodeChange(false);
+                       return true;
+
+               case "mceDirectionRTL":
+                       var inst = tinyMCE.getInstanceById(editor_id);
+                       var elm = tinyMCE.getParentElement(inst.getFocusElement(), "p,div,td,h1,h2,h3,h4,h5,h6,pre,address");
+
+                       if (elm)
+                               elm.setAttribute("dir", "rtl");
+
+                       tinyMCE.triggerNodeChange(false);
+                       return true;
+       }
+
+       // Pass to next handler in chain
+       return false;
+}
+
+function TinyMCE_directionality_handleNodeChange(editor_id, node, undo_index, undo_levels, visual_aid, any_selection) {
+       function getAttrib(elm, name) {
+               return elm.getAttribute(name) ? elm.getAttribute(name) : "";
+       }
+
+       tinyMCE.switchClassSticky(editor_id + '_ltr', 'mceButtonNormal', false);
+       tinyMCE.switchClassSticky(editor_id + '_rtl', 'mceButtonNormal', false);
+
+       if (node == null)
+               return;
+
+       var elm = tinyMCE.getParentElement(node, "p,div,td,h1,h2,h3,h4,h5,h6,pre,address");
+       if (!elm) {
+               tinyMCE.switchClassSticky(editor_id + '_ltr', 'mceButtonDisabled', true);
+               tinyMCE.switchClassSticky(editor_id + '_rtl', 'mceButtonDisabled', true);
+               return;
+       }
+
+       var dir = getAttrib(elm, "dir");
+       if (dir == "ltr" || dir == "")
+               tinyMCE.switchClassSticky(editor_id + '_ltr', 'mceButtonSelected', false);
+       else
+               tinyMCE.switchClassSticky(editor_id + '_rtl', 'mceButtonSelected', false);
+
+       return true;
+}
diff --git a/webcit/tiny_mce/plugins/directionality/images/ltr.gif b/webcit/tiny_mce/plugins/directionality/images/ltr.gif
new file mode 100644 (file)
index 0000000..ac8f30c
Binary files /dev/null and b/webcit/tiny_mce/plugins/directionality/images/ltr.gif differ
diff --git a/webcit/tiny_mce/plugins/directionality/images/rtl.gif b/webcit/tiny_mce/plugins/directionality/images/rtl.gif
new file mode 100644 (file)
index 0000000..8930d3d
Binary files /dev/null and b/webcit/tiny_mce/plugins/directionality/images/rtl.gif differ
diff --git a/webcit/tiny_mce/plugins/directionality/langs/cs.js b/webcit/tiny_mce/plugins/directionality/langs/cs.js
new file mode 100644 (file)
index 0000000..4dd3eac
--- /dev/null
@@ -0,0 +1,12 @@
+/**
+ * Czech lang variables 
+ * encoding: utf-8
+ *  
+ * $Id$ 
+ */  
+
+tinyMCE.addToLang('',{
+directionality_ltr_desc : 'Směr z leva doprava',
+directionality_rtl_desc : 'Směr z prava doleva'
+});
+
diff --git a/webcit/tiny_mce/plugins/directionality/langs/en.js b/webcit/tiny_mce/plugins/directionality/langs/en.js
new file mode 100644 (file)
index 0000000..1a1aa53
--- /dev/null
@@ -0,0 +1,6 @@
+// UK lang variables
+
+tinyMCE.addToLang('',{
+directionality_ltr_desc : 'Direction left to right',
+directionality_rtl_desc : 'Direction right to left'
+});
diff --git a/webcit/tiny_mce/plugins/directionality/langs/fr_ca.js b/webcit/tiny_mce/plugins/directionality/langs/fr_ca.js
new file mode 100644 (file)
index 0000000..2cc0eac
--- /dev/null
@@ -0,0 +1,6 @@
+// fr_ca lang variables
+
+tinyMCE.addToLang('',{
+directionality_ltr_desc : 'Direction de la gauche vers la droite',
+directionality_rtl_desc : 'Direction de la droite vers la gauche'
+});
diff --git a/webcit/tiny_mce/plugins/directionality/langs/he.js b/webcit/tiny_mce/plugins/directionality/langs/he.js
new file mode 100644 (file)
index 0000000..817551f
--- /dev/null
@@ -0,0 +1,6 @@
+// HE lang variables by Liron Newman, http://eesh.net
+
+tinyMCE.addToLang('',{
+directionality_ltr_desc : 'ëé&aring;&aring;ï ùîàì ìéîéï',
+directionality_rtl_desc : 'ëé&aring;&aring;ï éîéï ìùîàì'
+});
diff --git a/webcit/tiny_mce/plugins/directionality/langs/sv.js b/webcit/tiny_mce/plugins/directionality/langs/sv.js
new file mode 100644 (file)
index 0000000..e43fcf1
--- /dev/null
@@ -0,0 +1,6 @@
+// SV lang variables
+
+tinyMCE.addToLang('',{
+directionality_ltr_desc : 'Riktning fr&aring;n v&auml;nster till h&ouml;ger',
+directionality_rtl_desc : 'Riktning fr&aring;n h&ouml;ger till v&auml;nster'
+});
diff --git a/webcit/tiny_mce/plugins/directionality/langs/zh_cn.js b/webcit/tiny_mce/plugins/directionality/langs/zh_cn.js
new file mode 100644 (file)
index 0000000..135f3b0
--- /dev/null
@@ -0,0 +1,7 @@
+// Simplified Chinese lang variables contributed by cube316 (cube316@gmail.com)
+//Çë·ÃÎÊ http://www.cube316.net/ ÒÔ»ñÈ¡TinyMCEµ&Auml;&Ouml;ÐÎ&Auml;&Ouml;§³&Ouml;
+
+tinyMCE.addToLang('',{
+directionality_ltr_desc : '´Ó×óÍùÓÒµ&Auml;·½Ïò',
+directionality_rtl_desc : '´ÓÓÒÍù×óµ&Auml;·½Ïò'
+});
diff --git a/webcit/tiny_mce/plugins/directionality/readme.txt b/webcit/tiny_mce/plugins/directionality/readme.txt
new file mode 100644 (file)
index 0000000..6bc6d7d
--- /dev/null
@@ -0,0 +1 @@
+Check the TinyMCE documentation for details on this plugin.
diff --git a/webcit/tiny_mce/plugins/emotions/editor_plugin.js b/webcit/tiny_mce/plugins/emotions/editor_plugin.js
new file mode 100644 (file)
index 0000000..412af78
--- /dev/null
@@ -0,0 +1,2 @@
+/* Import plugin specific language pack */
+ tinyMCE.importPluginLanguagePack('emotions','en,sv,zh_cn,cs,fa,fr_ca,fr,de,pl,pt_br,nl');function TinyMCE_emotions_getInfo(){return{longname:'Emotions',author:'Moxiecode Systems',authorurl:'http://tinymce.moxiecode.com',infourl:'http://tinymce.moxiecode.com/tinymce/docs/plugin_emotions.html',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion};};function TinyMCE_emotions_getControlHTML(control_name){switch(control_name){case "emotions":return '<a href="javascript:tinyMCE.execInstanceCommand(\'{$editor_id}\',\'mceEmotion\');" onmousedown="return false;"><img id="{$editor_id}_emotions" src="{$pluginurl}/images/emotions.gif" title="{$lang_emotions_desc}" width="20" height="20" class="mceButtonNormal" onmouseover="tinyMCE.switchClass(this,\'mceButtonOver\');" onmouseout="tinyMCE.restoreClass(this);" onmousedown="tinyMCE.restoreAndSwitchClass(this,\'mceButtonDown\');" /></a>';}return "";}function TinyMCE_emotions_execCommand(editor_id,element,command,user_interface,value){switch(command){case "mceEmotion":var template=new Array();template['file']='../../plugins/emotions/emotions.htm';template['width']=160;template['height']=160;template['width']+=tinyMCE.getLang('lang_emotions_delta_width',0);template['height']+=tinyMCE.getLang('lang_emotions_delta_height',0);tinyMCE.openWindow(template,{editor_id:editor_id,inline:"yes"});return true;}return false;}
\ No newline at end of file
diff --git a/webcit/tiny_mce/plugins/emotions/editor_plugin_src.js b/webcit/tiny_mce/plugins/emotions/editor_plugin_src.js
new file mode 100644 (file)
index 0000000..afa01b2
--- /dev/null
@@ -0,0 +1,50 @@
+/* Import plugin specific language pack */
+tinyMCE.importPluginLanguagePack('emotions', 'en,sv,zh_cn,cs,fa,fr_ca,fr,de,pl,pt_br,nl');
+
+function TinyMCE_emotions_getInfo() {
+       return {
+               longname : 'Emotions',
+               author : 'Moxiecode Systems',
+               authorurl : 'http://tinymce.moxiecode.com',
+               infourl : 'http://tinymce.moxiecode.com/tinymce/docs/plugin_emotions.html',
+               version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion
+       };
+};
+
+/**
+ * Returns the HTML contents of the emotions control.
+ */
+function TinyMCE_emotions_getControlHTML(control_name) {
+       switch (control_name) {
+               case "emotions":
+                       return '<a href="javascript:tinyMCE.execInstanceCommand(\'{$editor_id}\',\'mceEmotion\');" onmousedown="return false;"><img id="{$editor_id}_emotions" src="{$pluginurl}/images/emotions.gif" title="{$lang_emotions_desc}" width="20" height="20" class="mceButtonNormal" onmouseover="tinyMCE.switchClass(this,\'mceButtonOver\');" onmouseout="tinyMCE.restoreClass(this);" onmousedown="tinyMCE.restoreAndSwitchClass(this,\'mceButtonDown\');" /></a>';
+       }
+
+       return "";
+}
+
+/**
+ * Executes the mceEmotion command.
+ */
+function TinyMCE_emotions_execCommand(editor_id, element, command, user_interface, value) {
+       // Handle commands
+       switch (command) {
+               case "mceEmotion":
+                       var template = new Array();
+
+                       template['file'] = '../../plugins/emotions/emotions.htm'; // Relative to theme
+                       template['width'] = 160;
+                       template['height'] = 160;
+
+                       // Language specific width and height addons
+                       template['width'] += tinyMCE.getLang('lang_emotions_delta_width', 0);
+                       template['height'] += tinyMCE.getLang('lang_emotions_delta_height', 0);
+
+                       tinyMCE.openWindow(template, {editor_id : editor_id, inline : "yes"});
+
+                       return true;
+       }
+
+       // Pass to next handler in chain
+       return false;
+}
diff --git a/webcit/tiny_mce/plugins/emotions/emotions.htm b/webcit/tiny_mce/plugins/emotions/emotions.htm
new file mode 100644 (file)
index 0000000..af75bca
--- /dev/null
@@ -0,0 +1,39 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+       <title>{$lang_emotions_title}</title>
+       <script language="javascript" type="text/javascript" src="../../tiny_mce_popup.js"></script>
+       <script language="javascript" type="text/javascript" src="jscripts/functions.js"></script>
+</head>
+<body style="display: none">
+       <div align="center">
+               <div class="title">{$lang_emotions_title}:<br /><br /></div>
+
+               <table border="0" cellspacing="0" cellpadding="4">
+                 <tr>
+                       <td><a href="javascript:insertEmotion('smiley-cool.gif','lang_emotions_cool');"><img src="images/smiley-cool.gif" width="18" height="18" border="0" alt="{$lang_emotions_cool}" title="{$lang_emotions_cool}" /></a></td>
+                       <td><a href="javascript:insertEmotion('smiley-cry.gif','lang_emotions_cry');"><img src="images/smiley-cry.gif" width="18" height="18" border="0" alt="{$lang_emotions_cry}" title="{$lang_emotions_cry}" /></a></td>
+                       <td><a href="javascript:insertEmotion('smiley-embarassed.gif','lang_emotions_embarassed');"><img src="images/smiley-embarassed.gif" width="18" height="18" border="0" alt="{$lang_emotions_embarassed}" title="{$lang_emotions_embarassed}" /></a></td>
+                       <td><a href="javascript:insertEmotion('smiley-foot-in-mouth.gif','lang_emotions_foot_in_mouth');"><img src="images/smiley-foot-in-mouth.gif" width="18" height="18" border="0" alt="{$lang_emotions_foot_in_mouth}" title="{$lang_emotions_foot_in_mouth}" /></a></td>
+                 </tr>
+                 <tr>
+                       <td><a href="javascript:insertEmotion('smiley-frown.gif','lang_emotions_frown');"><img src="images/smiley-frown.gif" width="18" height="18" border="0" alt="{$lang_emotions_frown}" title="{$lang_emotions_frown}" /></a></td>
+                       <td><a href="javascript:insertEmotion('smiley-innocent.gif','lang_emotions_innocent');"><img src="images/smiley-innocent.gif" width="18" height="18" border="0" alt="{$lang_emotions_innocent}" title="{$lang_emotions_innocent}" /></a></td>
+                       <td><a href="javascript:insertEmotion('smiley-kiss.gif','lang_emotions_kiss');"><img src="images/smiley-kiss.gif" width="18" height="18" border="0" alt="{$lang_emotions_kiss}" title="{$lang_emotions_kiss}" /></a></td>
+                       <td><a href="javascript:insertEmotion('smiley-laughing.gif','lang_emotions_laughing');"><img src="images/smiley-laughing.gif" width="18" height="18" border="0" alt="{$lang_emotions_laughing}" title="{$lang_emotions_laughing}" /></a></td>
+                 </tr>
+                 <tr>
+                       <td><a href="javascript:insertEmotion('smiley-money-mouth.gif','lang_emotions_money-mouth');"><img src="images/smiley-money-mouth.gif" width="18" height="18" border="0" alt="{$lang_emotions_money-mouth}" title="{$lang_emotions_money_mouth}" /></a></td>
+                       <td><a href="javascript:insertEmotion('smiley-sealed.gif','lang_emotions_sealed');"><img src="images/smiley-sealed.gif" width="18" height="18" border="0" alt="{$lang_emotions_sealed}" title="{$lang_emotions_sealed}" /></a></td>
+                       <td><a href="javascript:insertEmotion('smiley-smile.gif','lang_emotions_smile');"><img src="images/smiley-smile.gif" width="18" height="18" border="0" alt="{$lang_emotions_smile}" title="{$lang_emotions_smile}" /></a></td>
+                       <td><a href="javascript:insertEmotion('smiley-surprised.gif','lang_emotions_surprised');"><img src="images/smiley-surprised.gif" width="18" height="18" border="0" alt="{$lang_emotions_surprised}" title="{$lang_emotions_surprised}" /></a></td>
+                 </tr>
+                 <tr>
+                       <td><a href="javascript:insertEmotion('smiley-tongue-out.gif','lang_emotions_tongue_out');"><img src="images/smiley-tongue-out.gif" width="18" height="18" border="0" alt="{$lang_emotions_tongue-out}" title="{$lang_emotions_tongue_out}" /></a></td>
+                       <td><a href="javascript:insertEmotion('smiley-undecided.gif','lang_emotions_undecided');"><img src="images/smiley-undecided.gif" width="18" height="18" border="0" alt="{$lang_emotions_undecided}" title="{$lang_emotions_undecided}" /></a></td>
+                       <td><a href="javascript:insertEmotion('smiley-wink.gif','lang_emotions_wink');"><img src="images/smiley-wink.gif" width="18" height="18" border="0" alt="{$lang_emotions_wink}" title="{$lang_emotions_wink}" /></a></td>
+                       <td><a href="javascript:insertEmotion('smiley-yell.gif','lang_emotions_yell');"><img src="images/smiley-yell.gif" width="18" height="18" border="0" alt="{$lang_emotions_yell}" title="{$lang_emotions_yell}" /></a></td>
+                 </tr>
+               </table>
+       </div>
+</body>
+</html>
diff --git a/webcit/tiny_mce/plugins/emotions/images/emotions.gif b/webcit/tiny_mce/plugins/emotions/images/emotions.gif
new file mode 100644 (file)
index 0000000..8016c30
Binary files /dev/null and b/webcit/tiny_mce/plugins/emotions/images/emotions.gif differ
diff --git a/webcit/tiny_mce/plugins/emotions/images/readme.txt b/webcit/tiny_mce/plugins/emotions/images/readme.txt
new file mode 100644 (file)
index 0000000..cc2cf3f
--- /dev/null
@@ -0,0 +1,2 @@
+These emotions where taken from Mozilla Thunderbird.
+I hope they don't get angry if I use them here after all this is a open source project aswell.
diff --git a/webcit/tiny_mce/plugins/emotions/images/smiley-cool.gif b/webcit/tiny_mce/plugins/emotions/images/smiley-cool.gif
new file mode 100644 (file)
index 0000000..208f6a1
Binary files /dev/null and b/webcit/tiny_mce/plugins/emotions/images/smiley-cool.gif differ
diff --git a/webcit/tiny_mce/plugins/emotions/images/smiley-cry.gif b/webcit/tiny_mce/plugins/emotions/images/smiley-cry.gif
new file mode 100644 (file)
index 0000000..7bf03f9
Binary files /dev/null and b/webcit/tiny_mce/plugins/emotions/images/smiley-cry.gif differ
diff --git a/webcit/tiny_mce/plugins/emotions/images/smiley-embarassed.gif b/webcit/tiny_mce/plugins/emotions/images/smiley-embarassed.gif
new file mode 100644 (file)
index 0000000..cfc9a03
Binary files /dev/null and b/webcit/tiny_mce/plugins/emotions/images/smiley-embarassed.gif differ
diff --git a/webcit/tiny_mce/plugins/emotions/images/smiley-foot-in-mouth.gif b/webcit/tiny_mce/plugins/emotions/images/smiley-foot-in-mouth.gif
new file mode 100644 (file)
index 0000000..32324d0
Binary files /dev/null and b/webcit/tiny_mce/plugins/emotions/images/smiley-foot-in-mouth.gif differ
diff --git a/webcit/tiny_mce/plugins/emotions/images/smiley-frown.gif b/webcit/tiny_mce/plugins/emotions/images/smiley-frown.gif
new file mode 100644 (file)
index 0000000..eb5c2e3
Binary files /dev/null and b/webcit/tiny_mce/plugins/emotions/images/smiley-frown.gif differ
diff --git a/webcit/tiny_mce/plugins/emotions/images/smiley-innocent.gif b/webcit/tiny_mce/plugins/emotions/images/smiley-innocent.gif
new file mode 100644 (file)
index 0000000..3e99798
Binary files /dev/null and b/webcit/tiny_mce/plugins/emotions/images/smiley-innocent.gif differ
diff --git a/webcit/tiny_mce/plugins/emotions/images/smiley-kiss.gif b/webcit/tiny_mce/plugins/emotions/images/smiley-kiss.gif
new file mode 100644 (file)
index 0000000..a8afc8b
Binary files /dev/null and b/webcit/tiny_mce/plugins/emotions/images/smiley-kiss.gif differ
diff --git a/webcit/tiny_mce/plugins/emotions/images/smiley-laughing.gif b/webcit/tiny_mce/plugins/emotions/images/smiley-laughing.gif
new file mode 100644 (file)
index 0000000..98472c3
Binary files /dev/null and b/webcit/tiny_mce/plugins/emotions/images/smiley-laughing.gif differ
diff --git a/webcit/tiny_mce/plugins/emotions/images/smiley-money-mouth.gif b/webcit/tiny_mce/plugins/emotions/images/smiley-money-mouth.gif
new file mode 100644 (file)
index 0000000..64db2e0
Binary files /dev/null and b/webcit/tiny_mce/plugins/emotions/images/smiley-money-mouth.gif differ
diff --git a/webcit/tiny_mce/plugins/emotions/images/smiley-sealed.gif b/webcit/tiny_mce/plugins/emotions/images/smiley-sealed.gif
new file mode 100644 (file)
index 0000000..e4d61b9
Binary files /dev/null and b/webcit/tiny_mce/plugins/emotions/images/smiley-sealed.gif differ
diff --git a/webcit/tiny_mce/plugins/emotions/images/smiley-smile.gif b/webcit/tiny_mce/plugins/emotions/images/smiley-smile.gif
new file mode 100644 (file)
index 0000000..90c970a
Binary files /dev/null and b/webcit/tiny_mce/plugins/emotions/images/smiley-smile.gif differ
diff --git a/webcit/tiny_mce/plugins/emotions/images/smiley-surprised.gif b/webcit/tiny_mce/plugins/emotions/images/smiley-surprised.gif
new file mode 100644 (file)
index 0000000..0bfcace
Binary files /dev/null and b/webcit/tiny_mce/plugins/emotions/images/smiley-surprised.gif differ
diff --git a/webcit/tiny_mce/plugins/emotions/images/smiley-tongue-out.gif b/webcit/tiny_mce/plugins/emotions/images/smiley-tongue-out.gif
new file mode 100644 (file)
index 0000000..314ad21
Binary files /dev/null and b/webcit/tiny_mce/plugins/emotions/images/smiley-tongue-out.gif differ
diff --git a/webcit/tiny_mce/plugins/emotions/images/smiley-undecided.gif b/webcit/tiny_mce/plugins/emotions/images/smiley-undecided.gif
new file mode 100644 (file)
index 0000000..abd1479
Binary files /dev/null and b/webcit/tiny_mce/plugins/emotions/images/smiley-undecided.gif differ
diff --git a/webcit/tiny_mce/plugins/emotions/images/smiley-wink.gif b/webcit/tiny_mce/plugins/emotions/images/smiley-wink.gif
new file mode 100644 (file)
index 0000000..ccc55d9
Binary files /dev/null and b/webcit/tiny_mce/plugins/emotions/images/smiley-wink.gif differ
diff --git a/webcit/tiny_mce/plugins/emotions/images/smiley-yell.gif b/webcit/tiny_mce/plugins/emotions/images/smiley-yell.gif
new file mode 100644 (file)
index 0000000..648e6e8
Binary files /dev/null and b/webcit/tiny_mce/plugins/emotions/images/smiley-yell.gif differ
diff --git a/webcit/tiny_mce/plugins/emotions/jscripts/functions.js b/webcit/tiny_mce/plugins/emotions/jscripts/functions.js
new file mode 100644 (file)
index 0000000..16bc2b7
--- /dev/null
@@ -0,0 +1,8 @@
+function init() {
+       tinyMCEPopup.resizeToInnerSize();
+}
+
+function insertEmotion(file_name, title) {
+       tinyMCE.insertImage(tinyMCE.baseURL + "/plugins/emotions/images/" + file_name, tinyMCE.getLang(title));
+       tinyMCEPopup.close();
+}
diff --git a/webcit/tiny_mce/plugins/emotions/langs/cs.js b/webcit/tiny_mce/plugins/emotions/langs/cs.js
new file mode 100644 (file)
index 0000000..2c5db8b
--- /dev/null
@@ -0,0 +1,12 @@
+/**
+ * Czech lang variables 
+ * encoding: utf-8
+ *  
+ * $Id$ 
+ */  
+
+tinyMCE.addToLang('',{
+insert_emotions_title : 'Vložit emotikonu',
+emotions_desc : 'Emotikony'
+});
+
diff --git a/webcit/tiny_mce/plugins/emotions/langs/de.js b/webcit/tiny_mce/plugins/emotions/langs/de.js
new file mode 100644 (file)
index 0000000..3b6424a
--- /dev/null
@@ -0,0 +1,6 @@
+// DE lang variables
+
+tinyMCE.addToLang('',{
+insert_emotions_title : 'Emotion einf&uuml;gen',
+emotions_desc : 'Emotion'
+});
diff --git a/webcit/tiny_mce/plugins/emotions/langs/el.js b/webcit/tiny_mce/plugins/emotions/langs/el.js
new file mode 100644 (file)
index 0000000..2f4e0bc
--- /dev/null
@@ -0,0 +1,6 @@
+// Greek lang variables by Jacaranda Bill
+
+tinyMCE.addToLang('',{
+insert_emotions_title : '&Aring;éóáãùãÞ &aring;íüò &aring;éêïíé&auml;ßïõ emoticon',
+emotions_desc : '&Aring;éêïíß&auml;éá emoticons'
+});
diff --git a/webcit/tiny_mce/plugins/emotions/langs/en.js b/webcit/tiny_mce/plugins/emotions/langs/en.js
new file mode 100644 (file)
index 0000000..5d9ee60
--- /dev/null
@@ -0,0 +1,22 @@
+// UK lang variables
+
+tinyMCE.addToLang('emotions',{
+title : 'Insert emotion',
+desc : 'Emotions',
+cool : 'Cool',
+cry : 'Cry',
+embarassed : 'Embarassed',
+foot_in_mouth : 'Foot in mouth',
+frown : 'Frown',
+innocent : 'Innocent',
+kiss : 'Kiss',
+laughing : 'Laughing',
+money_mouth : 'Money mouth',
+sealed : 'Sealed',
+smile : 'Smile',
+surprised : 'Surprised',
+tongue_out : 'Tongue out',
+undecided : 'Undecided',
+wink : 'Wink',
+yell : 'Yell'
+});
diff --git a/webcit/tiny_mce/plugins/emotions/langs/fa.js b/webcit/tiny_mce/plugins/emotions/langs/fa.js
new file mode 100644 (file)
index 0000000..f1b9c6e
--- /dev/null
@@ -0,0 +1,11 @@
+// IR lang variables
+// Persian (Farsi) language pack (for IRAN)
+// By: Morteza Zafari
+// Lost@LostLord.com
+// http://www.LostLord.com
+
+tinyMCE.addToLang('',{
+dir : 'rtl',
+insert_emotions_title : '?????? ????',
+emotions_desc : '??????'
+});
diff --git a/webcit/tiny_mce/plugins/emotions/langs/fr.js b/webcit/tiny_mce/plugins/emotions/langs/fr.js
new file mode 100644 (file)
index 0000000..45f9feb
--- /dev/null
@@ -0,0 +1,6 @@
+// French lang variables by Laurent Dran
+
+tinyMCE.addToLang('',{
+insert_emotions_title : 'Ins&egrave;rer un &eacute;moticon',
+emotions_desc : '&Eacute;moticons'
+});
diff --git a/webcit/tiny_mce/plugins/emotions/langs/fr_ca.js b/webcit/tiny_mce/plugins/emotions/langs/fr_ca.js
new file mode 100644 (file)
index 0000000..d84cb6f
--- /dev/null
@@ -0,0 +1,6 @@
+// Canadian French lang variables by Virtuelcom   last modification: 2005-06-15
+
+tinyMCE.addToLang('',{
+insert_emotions_title : 'Insérer un émoticon',
+emotions_desc : 'Émoticons'
+});
diff --git a/webcit/tiny_mce/plugins/emotions/langs/he.js b/webcit/tiny_mce/plugins/emotions/langs/he.js
new file mode 100644 (file)
index 0000000..169bdef
--- /dev/null
@@ -0,0 +1,6 @@
+// HE lang variables by Liron Newman, http://eesh.net
+
+tinyMCE.addToLang('',{
+insert_emotions_title : '&auml;ëðñ ôø&ouml;&aring;ô&aring;ï',
+emotions_desc : 'ôø&ouml;&aring;ô&aring;ðéí'
+});
diff --git a/webcit/tiny_mce/plugins/emotions/langs/it.js b/webcit/tiny_mce/plugins/emotions/langs/it.js
new file mode 100644 (file)
index 0000000..59e9b05
--- /dev/null
@@ -0,0 +1,6 @@
+//IT lang variables
+
+tinyMCE.addToLang('',{
+insert_emotions_title : 'Inserisci una emoticon',
+emotions_desc : 'Emoticon'
+});
diff --git a/webcit/tiny_mce/plugins/emotions/langs/ko.js b/webcit/tiny_mce/plugins/emotions/langs/ko.js
new file mode 100644 (file)
index 0000000..25aabd8
--- /dev/null
@@ -0,0 +1,6 @@
+// KO lang variables
+
+tinyMCE.addToLang('',{
+insert_emotions_title : 'À̸ðƼ&Auml;Ü ³&Ouml;±â',
+emotions_desc : 'À̸ðƼ&Auml;Ü'
+});
diff --git a/webcit/tiny_mce/plugins/emotions/langs/nl.js b/webcit/tiny_mce/plugins/emotions/langs/nl.js
new file mode 100644 (file)
index 0000000..5228390
--- /dev/null
@@ -0,0 +1,6 @@
+// NL lang variables
+
+tinyMCE.addToLang('',{
+insert_emotions_title : 'Emotion invoegen',
+emotions_desc : 'Smilie'
+});
diff --git a/webcit/tiny_mce/plugins/emotions/langs/pl.js b/webcit/tiny_mce/plugins/emotions/langs/pl.js
new file mode 100644 (file)
index 0000000..830eed0
--- /dev/null
@@ -0,0 +1,6 @@
+// PL lang variables
+
+tinyMCE.addToLang('',{
+insert_emotions_title : 'Wstaw emtoicone',
+emotions_desc : 'Emtoicony'
+});
diff --git a/webcit/tiny_mce/plugins/emotions/langs/pt_br.js b/webcit/tiny_mce/plugins/emotions/langs/pt_br.js
new file mode 100644 (file)
index 0000000..e304a96
--- /dev/null
@@ -0,0 +1,6 @@
+// pt_BR lang variables
+
+tinyMCE.addToLang('',{
+insert_emotions_title : 'Inserir Emoticon',
+emotions_desc : 'Emoticons'
+});
diff --git a/webcit/tiny_mce/plugins/emotions/langs/sv.js b/webcit/tiny_mce/plugins/emotions/langs/sv.js
new file mode 100644 (file)
index 0000000..f339ea9
--- /dev/null
@@ -0,0 +1,22 @@
+// SE lang variables
+
+tinyMCE.addToLang('emotions',{
+title : 'Klistra in k&auml;nsla',
+desc : 'K&auml;nslor',
+cool : 'Cool',
+cry : 'Gr&aring;ter',
+embarassed : 'Generad',
+foot_in_mouth : 'Fot i munnnen',
+frown : 'Ledsen',
+innocent : 'Oskyldig',
+kiss : 'Kyss',
+laughing : 'Skrattande',
+money_mouth : 'Penga mun',
+sealed : 'Hemlis',
+smile : 'Glad',
+surprised : 'F&ouml;rv&aring;nad',
+tongue_out : 'R&auml;cka ut tungan',
+undecided : 'Fundersam',
+wink : 'Fl&ouml;rt',
+yell : 'Skrikandes'
+});
diff --git a/webcit/tiny_mce/plugins/emotions/langs/zh_cn.js b/webcit/tiny_mce/plugins/emotions/langs/zh_cn.js
new file mode 100644 (file)
index 0000000..0a1756b
--- /dev/null
@@ -0,0 +1,7 @@
+// Simplified Chinese lang variables contributed by cube316 (cube316@gmail.com)
+//Çë·ÃÎÊ http://www.cube316.net/ ÒÔ»ñÈ¡TinyMCEµ&Auml;&Ouml;ÐÎ&Auml;&Ouml;§³&Ouml;
+
+tinyMCE.addToLang('',{
+insert_emotions_title : '²&aring;Èë±íÇé',
+emotions_desc : '±íÇé'
+});
diff --git a/webcit/tiny_mce/plugins/emotions/readme.txt b/webcit/tiny_mce/plugins/emotions/readme.txt
new file mode 100644 (file)
index 0000000..6bc6d7d
--- /dev/null
@@ -0,0 +1 @@
+Check the TinyMCE documentation for details on this plugin.
diff --git a/webcit/tiny_mce/plugins/flash/css/content.css b/webcit/tiny_mce/plugins/flash/css/content.css
new file mode 100644 (file)
index 0000000..9980217
--- /dev/null
@@ -0,0 +1,7 @@
+.mceItemFlash {
+       border: 1px dotted #cc0000;
+       background-image: url('../images/flash.gif');
+       background-position: center;
+       background-repeat: no-repeat;
+       background-color: #ffffcc;
+}
diff --git a/webcit/tiny_mce/plugins/flash/css/flash.css b/webcit/tiny_mce/plugins/flash/css/flash.css
new file mode 100644 (file)
index 0000000..2fa558e
--- /dev/null
@@ -0,0 +1,11 @@
+.panel_wrapper div.current {
+       height: 100px;
+}
+
+#width, #height {
+       width: 50px;
+}
+
+#file {
+       width: 250px;
+}
diff --git a/webcit/tiny_mce/plugins/flash/editor_plugin.js b/webcit/tiny_mce/plugins/flash/editor_plugin.js
new file mode 100644 (file)
index 0000000..30f1b90
--- /dev/null
@@ -0,0 +1,2 @@
+/* Import plugin specific language pack */
+ tinyMCE.importPluginLanguagePack('flash','en,de,sv,zh_cn,cs,fa,fr_ca,fr,pl,pt_br,nl');function TinyMCE_flash_getInfo(){return{longname:'Flash',author:'Moxiecode Systems',authorurl:'http://tinymce.moxiecode.com',infourl:'http://tinymce.moxiecode.com/tinymce/docs/plugin_flash.html',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion};};function TinyMCE_flash_initInstance(inst){if(!tinyMCE.settings['flash_skip_plugin_css'])tinyMCE.importCSS(inst.getDoc(),tinyMCE.baseURL+"/plugins/flash/css/content.css");}function TinyMCE_flash_getControlHTML(control_name){switch(control_name){case "flash":return '<a href="javascript:tinyMCE.execInstanceCommand(\'{$editor_id}\',\'mceFlash\');" onmousedown="return false;"><img id="{$editor_id}_flash" src="{$pluginurl}/images/flash.gif" title="{$lang_flash_desc}" width="20" height="20" class="mceButtonNormal" onmouseover="tinyMCE.switchClass(this,\'mceButtonOver\');" onmouseout="tinyMCE.restoreClass(this);" onmousedown="tinyMCE.restoreAndSwitchClass(this,\'mceButtonDown\');" /></a>';}return "";}function TinyMCE_flash_parseAttributes(attribute_string){var attributeName="";var attributeValue="";var withInName;var withInValue;var attributes=new Array();var whiteSpaceRegExp=new RegExp('^[ \n\r\t]+','g');if(attribute_string==null||attribute_string.length<2)return null;withInName=withInValue=false;for(var i=0;i<attribute_string.length;i++){var chr=attribute_string.charAt(i);if((chr=='"'||chr=="'")&&!withInValue)withInValue=true;else if((chr=='"'||chr=="'")&&withInValue){withInValue=false;var pos=attributeName.lastIndexOf(' ');if(pos!=-1)attributeName=attributeName.substring(pos+1);attributes[attributeName.toLowerCase()]=attributeValue.substring(1);attributeName="";attributeValue="";}else if(!whiteSpaceRegExp.test(chr)&&!withInName&&!withInValue)withInName=true;if(chr=='='&&withInName)withInName=false;if(withInName)attributeName+=chr;if(withInValue)attributeValue+=chr;}return attributes;}function TinyMCE_flash_execCommand(editor_id,element,command,user_interface,value){switch(command){case "mceFlash":var name="",swffile="",swfwidth="",swfheight="",action="insert";var template=new Array();var inst=tinyMCE.getInstanceById(editor_id);var focusElm=inst.getFocusElement();template['file']='../../plugins/flash/flash.htm';template['width']=430;template['height']=175;template['width']+=tinyMCE.getLang('lang_flash_delta_width',0);template['height']+=tinyMCE.getLang('lang_flash_delta_height',0);if(focusElm!=null&&focusElm.nodeName.toLowerCase()=="img"){name=tinyMCE.getAttrib(focusElm,'class');if(name.indexOf('mceItemFlash')==-1)return true;swffile=tinyMCE.getAttrib(focusElm,'alt');swffile=eval(tinyMCE.settings['urlconverter_callback']+"(swffile, null, true);");swfwidth=tinyMCE.getAttrib(focusElm,'width');swfheight=tinyMCE.getAttrib(focusElm,'height');action="update";}tinyMCE.openWindow(template,{editor_id:editor_id,inline:"yes",swffile:swffile,swfwidth:swfwidth,swfheight:swfheight,action:action});return true;}return false;}function TinyMCE_flash_cleanup(type,content){switch(type){case "insert_to_editor_dom":var imgs=content.getElementsByTagName("img");for(var i=0;i<imgs.length;i++){if(tinyMCE.getAttrib(imgs[i],"class")=="mceItemFlash"){var src=tinyMCE.getAttrib(imgs[i],"alt");src=tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings['base_href'],src);imgs[i].setAttribute('alt',src);}}break;case "get_from_editor_dom":var imgs=content.getElementsByTagName("img");for(var i=0;i<imgs.length;i++){if(tinyMCE.getAttrib(imgs[i],"class")=="mceItemFlash"){var src=tinyMCE.getAttrib(imgs[i],"alt");src=eval(tinyMCE.settings['urlconverter_callback']+"(src, null, true);");imgs[i].setAttribute('alt',src);}}break;case "insert_to_editor":var startPos=0;var embedList=new Array();content=content.replace(new RegExp('<[ ]*embed','gi'),'<embed');content=content.replace(new RegExp('<[ ]*/embed[ ]*>','gi'),'</embed>');content=content.replace(new RegExp('<[ ]*object','gi'),'<object');content=content.replace(new RegExp('<[ ]*/object[ ]*>','gi'),'</object>');while((startPos=content.indexOf('<embed',startPos+1))!=-1){var endPos=content.indexOf('>',startPos);var attribs=TinyMCE_flash_parseAttributes(content.substring(startPos+6,endPos));embedList[embedList.length]=attribs;}var index=0;while((startPos=content.indexOf('<object',startPos))!=-1){if(index>=embedList.length)break;var attribs=embedList[index];endPos=content.indexOf('</object>',startPos);endPos+=9;var contentAfter=content.substring(endPos);content=content.substring(0,startPos);content+='<img width="'+attribs["width"]+'" height="'+attribs["height"]+'"';content+=' src="'+(tinyMCE.getParam("theme_href")+'/images/spacer.gif')+'" title="'+attribs["src"]+'"';content+=' alt="'+attribs["src"]+'" class="mceItemFlash" />'+content.substring(endPos);content+=contentAfter;index++;startPos++;}break;case "get_from_editor":var startPos=-1;while((startPos=content.indexOf('<img',startPos+1))!=-1){var endPos=content.indexOf('/>',startPos);var attribs=TinyMCE_flash_parseAttributes(content.substring(startPos+4,endPos));if(attribs['class']!="mceItemFlash")continue;endPos+=2;var embedHTML='';var wmode=tinyMCE.getParam("flash_wmode","");var quality=tinyMCE.getParam("flash_quality","high");var menu=tinyMCE.getParam("flash_menu","false");embedHTML+='<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"';embedHTML+=' codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0"';embedHTML+=' width="'+attribs["width"]+'" height="'+attribs["height"]+'">';embedHTML+='<param name="movie" value="'+attribs["title"]+'" />';embedHTML+='<param name="quality" value="'+quality+'" />';embedHTML+='<param name="menu" value="'+menu+'" />';embedHTML+='<param name="wmode" value="'+wmode+'" />';embedHTML+='<embed src="'+attribs["title"]+'" wmode="'+wmode+'" quality="'+quality+'" menu="'+menu+'" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="'+attribs["width"]+'" height="'+attribs["height"]+'"></embed></object>';chunkBefore=content.substring(0,startPos);chunkAfter=content.substring(endPos);content=chunkBefore+embedHTML+chunkAfter;}break;}return content;}function TinyMCE_flash_handleNodeChange(editor_id,node,undo_index,undo_levels,visual_aid,any_selection){tinyMCE.switchClassSticky(editor_id+'_flash','mceButtonNormal');if(node==null)return;do{if(node.nodeName.toLowerCase()=="img"&&tinyMCE.getAttrib(node,'class').indexOf('mceItemFlash')==0)tinyMCE.switchClassSticky(editor_id+'_flash','mceButtonSelected');}while((node=node.parentNode));return true;}
\ No newline at end of file
diff --git a/webcit/tiny_mce/plugins/flash/editor_plugin_src.js b/webcit/tiny_mce/plugins/flash/editor_plugin_src.js
new file mode 100644 (file)
index 0000000..f190d62
--- /dev/null
@@ -0,0 +1,234 @@
+/* Import plugin specific language pack */
+tinyMCE.importPluginLanguagePack('flash', 'en,de,sv,zh_cn,cs,fa,fr_ca,fr,pl,pt_br,nl');
+
+function TinyMCE_flash_getInfo() {
+       return {
+               longname : 'Flash',
+               author : 'Moxiecode Systems',
+               authorurl : 'http://tinymce.moxiecode.com',
+               infourl : 'http://tinymce.moxiecode.com/tinymce/docs/plugin_flash.html',
+               version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion
+       };
+};
+
+function TinyMCE_flash_initInstance(inst) {
+       if (!tinyMCE.settings['flash_skip_plugin_css'])
+               tinyMCE.importCSS(inst.getDoc(), tinyMCE.baseURL + "/plugins/flash/css/content.css");
+}
+
+function TinyMCE_flash_getControlHTML(control_name) {
+    switch (control_name) {
+        case "flash":
+            return '<a href="javascript:tinyMCE.execInstanceCommand(\'{$editor_id}\',\'mceFlash\');" onmousedown="return false;"><img id="{$editor_id}_flash" src="{$pluginurl}/images/flash.gif" title="{$lang_flash_desc}" width="20" height="20" class="mceButtonNormal" onmouseover="tinyMCE.switchClass(this,\'mceButtonOver\');" onmouseout="tinyMCE.restoreClass(this);" onmousedown="tinyMCE.restoreAndSwitchClass(this,\'mceButtonDown\');" /></a>';
+    }
+
+    return "";
+}
+
+function TinyMCE_flash_parseAttributes(attribute_string) {
+       var attributeName = "";
+       var attributeValue = "";
+       var withInName;
+       var withInValue;
+       var attributes = new Array();
+       var whiteSpaceRegExp = new RegExp('^[ \n\r\t]+', 'g');
+
+       if (attribute_string == null || attribute_string.length < 2)
+               return null;
+
+       withInName = withInValue = false;
+
+       for (var i=0; i<attribute_string.length; i++) {
+               var chr = attribute_string.charAt(i);
+
+               if ((chr == '"' || chr == "'") && !withInValue)
+                       withInValue = true;
+               else if ((chr == '"' || chr == "'") && withInValue) {
+                       withInValue = false;
+
+                       var pos = attributeName.lastIndexOf(' ');
+                       if (pos != -1)
+                               attributeName = attributeName.substring(pos+1);
+
+                       attributes[attributeName.toLowerCase()] = attributeValue.substring(1);
+
+                       attributeName = "";
+                       attributeValue = "";
+               } else if (!whiteSpaceRegExp.test(chr) && !withInName && !withInValue)
+                       withInName = true;
+
+               if (chr == '=' && withInName)
+                       withInName = false;
+
+               if (withInName)
+                       attributeName += chr;
+
+               if (withInValue)
+                       attributeValue += chr;
+       }
+
+       return attributes;
+}
+
+function TinyMCE_flash_execCommand(editor_id, element, command, user_interface, value) {
+    // Handle commands
+    switch (command) {
+        case "mceFlash":
+                       var name = "", swffile = "", swfwidth = "", swfheight = "", action = "insert";
+            var template = new Array();
+                       var inst = tinyMCE.getInstanceById(editor_id);
+                       var focusElm = inst.getFocusElement();
+
+            template['file']   = '../../plugins/flash/flash.htm'; // Relative to theme
+            template['width']  = 430;
+            template['height'] = 175;
+
+                       template['width'] += tinyMCE.getLang('lang_flash_delta_width', 0);
+                       template['height'] += tinyMCE.getLang('lang_flash_delta_height', 0);
+
+                       // Is selection a image
+            if (focusElm != null && focusElm.nodeName.toLowerCase() == "img") {
+                               name = tinyMCE.getAttrib(focusElm, 'class');
+
+                               if (name.indexOf('mceItemFlash') == -1) // Not a Flash
+                                       return true;
+
+                               // Get rest of Flash items
+                               swffile = tinyMCE.getAttrib(focusElm, 'alt');
+                               swffile = eval(tinyMCE.settings['urlconverter_callback'] + "(swffile, null, true);");
+                               swfwidth = tinyMCE.getAttrib(focusElm, 'width');
+                               swfheight = tinyMCE.getAttrib(focusElm, 'height');
+                               action = "update";
+            }
+
+            tinyMCE.openWindow(template, {editor_id : editor_id, inline : "yes", swffile : swffile, swfwidth : swfwidth, swfheight : swfheight, action : action});
+               return true;
+   }
+
+   // Pass to next handler in chain
+   return false;
+}
+
+function TinyMCE_flash_cleanup(type, content) {
+       switch (type) {
+               case "insert_to_editor_dom":
+                       var imgs = content.getElementsByTagName("img");
+                       for (var i=0; i<imgs.length; i++) {
+                               if (tinyMCE.getAttrib(imgs[i], "class") == "mceItemFlash") {
+                                       var src = tinyMCE.getAttrib(imgs[i], "alt");
+
+                                       src = tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings['base_href'], src);
+
+                                       imgs[i].setAttribute('alt', src);
+                               }
+                       }
+                       break;
+
+               case "get_from_editor_dom":
+                       var imgs = content.getElementsByTagName("img");
+                       for (var i=0; i<imgs.length; i++) {
+                               if (tinyMCE.getAttrib(imgs[i], "class") == "mceItemFlash") {
+                                       var src = tinyMCE.getAttrib(imgs[i], "alt");
+
+                                       src = eval(tinyMCE.settings['urlconverter_callback'] + "(src, null, true);");
+
+                                       imgs[i].setAttribute('alt', src);
+                               }
+                       }
+                       break;
+
+               case "insert_to_editor":
+                       var startPos = 0;
+                       var embedList = new Array();
+
+                       // Fix the embed and object elements
+                       content = content.replace(new RegExp('<[ ]*embed','gi'),'<embed');
+                       content = content.replace(new RegExp('<[ ]*/embed[ ]*>','gi'),'</embed>');
+                       content = content.replace(new RegExp('<[ ]*object','gi'),'<object');
+                       content = content.replace(new RegExp('<[ ]*/object[ ]*>','gi'),'</object>');
+
+                       // Parse all embed tags
+                       while ((startPos = content.indexOf('<embed', startPos+1)) != -1) {
+                               var endPos = content.indexOf('>', startPos);
+                               var attribs = TinyMCE_flash_parseAttributes(content.substring(startPos + 6, endPos));
+                               embedList[embedList.length] = attribs;
+                       }
+
+                       // Parse all object tags and replace them with images from the embed data
+                       var index = 0;
+                       while ((startPos = content.indexOf('<object', startPos)) != -1) {
+                               if (index >= embedList.length)
+                                       break;
+
+                               var attribs = embedList[index];
+
+                               // Find end of object
+                               endPos = content.indexOf('</object>', startPos);
+                               endPos += 9;
+
+                               // Insert image
+                               var contentAfter = content.substring(endPos);
+                               content = content.substring(0, startPos);
+                               content += '<img width="' + attribs["width"] + '" height="' + attribs["height"] + '"';
+                               content += ' src="' + (tinyMCE.getParam("theme_href") + '/images/spacer.gif') + '" title="' + attribs["src"] + '"';
+                               content += ' alt="' + attribs["src"] + '" class="mceItemFlash" />' + content.substring(endPos);
+                               content += contentAfter;
+                               index++;
+
+                               startPos++;
+                       }
+                       break;
+
+               case "get_from_editor":
+                       // Parse all img tags and replace them with object+embed
+                       var startPos = -1;
+                       while ((startPos = content.indexOf('<img', startPos+1)) != -1) {
+                               var endPos = content.indexOf('/>', startPos);
+                               var attribs = TinyMCE_flash_parseAttributes(content.substring(startPos + 4, endPos));
+
+                               // Is not flash, skip it
+                               if (attribs['class'] != "mceItemFlash")
+                                       continue;
+
+                               endPos += 2;
+
+                               var embedHTML = '';
+                               var wmode = tinyMCE.getParam("flash_wmode", "");
+                               var quality = tinyMCE.getParam("flash_quality", "high");
+                               var menu = tinyMCE.getParam("flash_menu", "false");
+
+                               // Insert object + embed
+                               embedHTML += '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"';
+                               embedHTML += ' codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0"';
+                               embedHTML += ' width="' + attribs["width"] + '" height="' + attribs["height"] + '">';
+                               embedHTML += '<param name="movie" value="' + attribs["title"] + '" />';
+                               embedHTML += '<param name="quality" value="' + quality + '" />';
+                               embedHTML += '<param name="menu" value="' + menu + '" />';
+                               embedHTML += '<param name="wmode" value="' + wmode + '" />';
+                               embedHTML += '<embed src="' + attribs["title"] + '" wmode="' + wmode + '" quality="' + quality + '" menu="' + menu + '" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="' + attribs["width"] + '" height="' + attribs["height"] + '"></embed></object>';
+
+                               // Insert embed/object chunk
+                               chunkBefore = content.substring(0, startPos);
+                               chunkAfter = content.substring(endPos);
+                               content = chunkBefore + embedHTML + chunkAfter;
+                       }
+                       break;
+       }
+
+       // Pass through to next handler in chain
+       return content;
+}
+
+function TinyMCE_flash_handleNodeChange(editor_id, node, undo_index, undo_levels, visual_aid, any_selection) {
+       tinyMCE.switchClassSticky(editor_id + '_flash', 'mceButtonNormal');
+
+       if (node == null)
+               return;
+
+       do {
+               if (node.nodeName.toLowerCase() == "img" && tinyMCE.getAttrib(node, 'class').indexOf('mceItemFlash') == 0)
+                       tinyMCE.switchClassSticky(editor_id + '_flash', 'mceButtonSelected');
+       } while ((node = node.parentNode));
+
+       return true;
+}
diff --git a/webcit/tiny_mce/plugins/flash/flash.htm b/webcit/tiny_mce/plugins/flash/flash.htm
new file mode 100644 (file)
index 0000000..705a70d
--- /dev/null
@@ -0,0 +1,66 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+       <title>{$lang_flash_title}</title>
+       <script language="javascript" type="text/javascript" src="../../tiny_mce_popup.js"></script>
+       <script language="javascript" type="text/javascript" src="jscripts/flash.js"></script>
+       <script language="javascript" type="text/javascript" src="../../utils/mctabs.js"></script>
+       <script language="javascript" type="text/javascript" src="../../utils/form_utils.js"></script>
+       <link href="css/flash.css" rel="stylesheet" type="text/css" />
+</head>
+<body onload="init();" style="display: none">
+    <form onsubmit="insertFlash();return false;" action="#">
+               <div class="tabs">
+                       <ul>
+                               <li id="general_tab" class="current"><span><a href="javascript:mcTabs.displayTab('general_tab','general_panel');" onmousedown="return false;">{$lang_flash_general}</a></span></li>
+                       </ul>
+               </div>
+
+               <div class="panel_wrapper">
+                       <div id="general_panel" class="panel current">
+                               <fieldset>
+                                       <legend>{$lang_flash_general}</legend>
+
+                                       <table border="0" cellpadding="4" cellspacing="0">
+                                                       <tr>
+                                                       <td nowrap="nowrap"><label for="file">{$lang_flash_file}</label></td>
+                                                         <td nowrap="nowrap">
+                                                                       <table border="0" cellspacing="0" cellpadding="0">
+                                                                         <tr>
+                                                                               <td><input id="file" name="file" type="text" value="" onfocus="this.select();" /></td>
+                                                                               <td><script language="javascript" type="text/javascript">renderBrowser('filebrowser','file','flash','flash');</script></td>
+                                                                         </tr>
+                                                                       </table>
+                                                               </td>
+                                                       </tr>
+                                                       <script language="javascript" type="text/javascript">renderFlashList();</script>
+                                                       <tr>
+                                                               <td nowrap="nowrap"><label>{$lang_flash_size}</label></td>
+                                                               <td nowrap="nowrap">
+                                                                       <input type="text" id="width" name="width" value="" onfocus="this.select();" />
+                                                                       <select name="width2" id="width2" style="width: 50px; vertical-align: middle;">
+                                                                               <option value="">px</option>
+                                                                               <option value="%">%</option>
+                                                                       </select>&nbsp;x&nbsp;<input id="height" name="height" type="text"  value="" onfocus="this.select();" />
+                                                                       <select name="height2" id="height2" style="width: 50px; vertical-align: middle;">
+                                                                               <option value="">px</option>
+                                                                               <option value="%">%</option>
+                                                                       </select>
+                                                               </td>
+                                                       </tr>
+                                       </table>
+                               </fieldset>
+                       </div>
+               </div>
+
+               <div class="mceActionPanel">
+                       <div style="float: left">
+                               <input type="button" id="insert" name="insert" value="{$lang_insert}" onclick="insertFlash();" />
+                       </div>
+
+                       <div style="float: right">
+                               <input type="button" id="cancel" name="cancel" value="{$lang_cancel}" onclick="tinyMCEPopup.close();" />
+                       </div>
+               </div>
+       </form>
+</body>
+</html>
diff --git a/webcit/tiny_mce/plugins/flash/images/flash.gif b/webcit/tiny_mce/plugins/flash/images/flash.gif
new file mode 100644 (file)
index 0000000..c50c89f
Binary files /dev/null and b/webcit/tiny_mce/plugins/flash/images/flash.gif differ
diff --git a/webcit/tiny_mce/plugins/flash/jscripts/flash.js b/webcit/tiny_mce/plugins/flash/jscripts/flash.js
new file mode 100644 (file)
index 0000000..73cdffa
--- /dev/null
@@ -0,0 +1,97 @@
+var url = tinyMCE.getParam("flash_external_list_url");
+if (url != null) {
+       // Fix relative
+       if (url.charAt(0) != '/')
+               url = tinyMCE.documentBasePath + "/" + url;
+
+       document.write('<sc'+'ript language="javascript" type="text/javascript" src="' + url + '"></sc'+'ript>');
+}
+
+function init() {
+       tinyMCEPopup.resizeToInnerSize();
+
+       var formObj = document.forms[0];
+       var swffile   = tinyMCE.getWindowArg('swffile');
+       var swfwidth  = '' + tinyMCE.getWindowArg('swfwidth');
+       var swfheight = '' + tinyMCE.getWindowArg('swfheight');
+
+       if (swfwidth.indexOf('%')!=-1) {
+               formObj.width2.value = "%";
+               formObj.width.value  = swfwidth.substring(0,swfwidth.length-1);
+       } else {
+               formObj.width2.value = "px";
+               formObj.width.value  = swfwidth;
+       }
+
+       if (swfheight.indexOf('%')!=-1) {
+               formObj.height2.value = "%";
+               formObj.height.value  = swfheight.substring(0,swfheight.length-1);
+       } else {
+               formObj.height2.value = "px";
+               formObj.height.value  = swfheight;
+       }
+
+       formObj.file.value = swffile;
+       formObj.insert.value = tinyMCE.getLang('lang_' + tinyMCE.getWindowArg('action'), 'Insert', true);
+
+       selectByValue(formObj, 'link_list', swffile);
+
+       // Handle file browser
+       if (isVisible('filebrowser'))
+               document.getElementById('file').style.width = '230px';
+
+       // Auto select flash in list
+       if (typeof(tinyMCEFlashList) != "undefined" && tinyMCEFlashList.length > 0) {
+               for (var i=0; i<formObj.link_list.length; i++) {
+                       if (formObj.link_list.options[i].value == tinyMCE.getWindowArg('swffile'))
+                               formObj.link_list.options[i].selected = true;
+               }
+       }
+}
+
+function renderFlashList() {
+       if (typeof(tinyMCEFlashList) != "undefined" && tinyMCEFlashList.length > 0) {
+               var html = "";
+
+               html += '<tr><td><label for="link_list">{$lang_flash_list}</label></td>';
+               html += '<td><select id="link_list" name="link_list" style="width: 250px" onfocus="tinyMCE.addSelectAccessibility(event, this, window);" onchange="this.form.file.value=this.options[this.selectedIndex].value;">';
+               html += '<option value="">---</option>';
+
+               for (var i=0; i<tinyMCEFlashList.length; i++)
+                       html += '<option value="' + tinyMCEFlashList[i][1] + '">' + tinyMCEFlashList[i][0] + '</option>';
+
+               html += '</select></td></tr>';
+
+               document.write(html);
+       }
+}
+
+function insertFlash() {
+       var formObj = document.forms[0];
+       var html      = '';
+       var file      = formObj.file.value;
+       var width     = formObj.width.value;
+       var height    = formObj.height.value;
+       if (formObj.width2.value=='%') {
+               width = width + '%';
+       }
+       if (formObj.height2.value=='%') {
+               height = height + '%';
+       }
+
+       if (width == "")
+               width = 100;
+
+       if (height == "")
+               height = 100;
+
+       html += ''
+               + '<img src="' + (tinyMCE.getParam("theme_href") + "/images/spacer.gif") + '" '
+               + 'width="' + width + '" height="' + height + '" '
+               + 'border="0" alt="' + file + '" title="' + file + '" class="mceItemFlash" />';
+
+       tinyMCEPopup.execCommand("mceInsertContent", true, html);
+       tinyMCE.selectedInstance.repaint();
+
+       tinyMCEPopup.close();
+}
diff --git a/webcit/tiny_mce/plugins/flash/langs/cs.js b/webcit/tiny_mce/plugins/flash/langs/cs.js
new file mode 100644 (file)
index 0000000..5439860
--- /dev/null
@@ -0,0 +1,14 @@
+/**
+ * Czech lang variables 
+ * encoding: utf-8
+ *  
+ * $Id$ 
+ */  
+
+tinyMCE.addToLang('',{
+insert_flash : 'Vlo\9eit/editovat Flash Movie',
+insert_flash_file : 'Flash soubor (.swf)',
+insert_flash_size : 'Velikost',
+insert_flash_list : 'Seznam',
+flash_props : 'Vlastnosti Flash'
+});
diff --git a/webcit/tiny_mce/plugins/flash/langs/de.js b/webcit/tiny_mce/plugins/flash/langs/de.js
new file mode 100644 (file)
index 0000000..bf77d15
--- /dev/null
@@ -0,0 +1,9 @@
+// DE lang variables
+
+tinyMCE.addToLang('',{
+insert_flash : 'Flash Movie einf&uuml;gen / bearbeiten',
+insert_flash_file : 'Flash-Datei',
+insert_flash_size : 'Gr&ouml;&szlig;e',
+insert_flash_list : 'Flash Dateien',
+flash_props : 'Flash properties'
+});
diff --git a/webcit/tiny_mce/plugins/flash/langs/en.js b/webcit/tiny_mce/plugins/flash/langs/en.js
new file mode 100644 (file)
index 0000000..03ccdff
--- /dev/null
@@ -0,0 +1,11 @@
+// UK lang variables
+
+tinyMCE.addToLang('flash',{
+title : 'Insert / edit Flash Movie',
+desc : 'Insert / edit Flash Movie',
+file : 'Flash-File (.swf)',
+size : 'Size',
+list : 'Flash files',
+props : 'Flash properties',
+general : 'General'
+});
diff --git a/webcit/tiny_mce/plugins/flash/langs/fa.js b/webcit/tiny_mce/plugins/flash/langs/fa.js
new file mode 100644 (file)
index 0000000..f714640
--- /dev/null
@@ -0,0 +1,13 @@
+// IR lang variables
+// Persian (Farsi) language pack (for IRAN)
+// By: Morteza Zafari
+// Lost@LostLord.com
+// http://www.LostLord.com
+
+tinyMCE.addToLang('',{
+dir : 'rtl',
+insert_flash : '?????? ? ?????? ???? ???',
+insert_flash_file : '???? ??? (.swf)',
+insert_flash_size : '?????',
+flash_props : 'Flash properties'
+});
diff --git a/webcit/tiny_mce/plugins/flash/langs/fr.js b/webcit/tiny_mce/plugins/flash/langs/fr.js
new file mode 100644 (file)
index 0000000..76c8ea1
--- /dev/null
@@ -0,0 +1,9 @@
+// French lang variables by Laurent Dran
+
+tinyMCE.addToLang('',{
+insert_flash : 'Ins&eacute;rer / &eacute;diter une animation Flash',
+insert_flash_file : 'Fichier-Flash (.swf)',
+insert_flash_size : 'Taille',
+insert_flash_list : 'Fichiers Flash',
+flash_props : 'Flash properties'
+});
diff --git a/webcit/tiny_mce/plugins/flash/langs/fr_ca.js b/webcit/tiny_mce/plugins/flash/langs/fr_ca.js
new file mode 100644 (file)
index 0000000..49439a6
--- /dev/null
@@ -0,0 +1,9 @@
+// Canadian French lang variables by Virtuelcom   last modification: 2005-06-15
+
+tinyMCE.addToLang('',{
+insert_flash : 'Insérer / Modifier une animation Flash',
+insert_flash_file : 'Fichier Flash (.swf)',
+insert_flash_size : 'Dimension',
+insert_flash_list : 'Fichiers Flash',
+flash_props : 'Propriétés Flash'
+});
diff --git a/webcit/tiny_mce/plugins/flash/langs/he.js b/webcit/tiny_mce/plugins/flash/langs/he.js
new file mode 100644 (file)
index 0000000..4dace82
--- /dev/null
@@ -0,0 +1,9 @@
+// HE lang variables by Liron Newman, http://eesh.net
+
+tinyMCE.addToLang('',{
+insert_flash : '&auml;ëðñ/òø&aring;ê ñøè&aring;ï Flash',
+insert_flash_file : '÷&aring;áõ Flash (.swf)',
+insert_flash_size : 'â&aring;ãì',
+insert_flash_list : '÷á&ouml;é ôìàù Flash',
+flash_props : 'îàôééðé Flash'
+});
diff --git a/webcit/tiny_mce/plugins/flash/langs/nl.js b/webcit/tiny_mce/plugins/flash/langs/nl.js
new file mode 100644 (file)
index 0000000..66ed25d
--- /dev/null
@@ -0,0 +1,7 @@
+// NL lang variables
+
+tinyMCE.addToLang('',{
+insert_flash : 'Invoegen / wijzigen Flash Movie',
+insert_flash_file : 'Flash-Bestand (.swf)',
+insert_flash_size : 'Grootte'
+});
diff --git a/webcit/tiny_mce/plugins/flash/langs/pl.js b/webcit/tiny_mce/plugins/flash/langs/pl.js
new file mode 100644 (file)
index 0000000..99cb8f5
--- /dev/null
@@ -0,0 +1,9 @@
+// PL lang variables
+
+tinyMCE.addToLang('',{
+insert_flash : 'Wstaw/Edytuj animacje Flash',
+insert_flash_file : 'Plik Flash (.swf)',
+insert_flash_size : 'Rozmiar',
+insert_flash_list : 'Pliki Flash',
+flash_props : 'Wlasciwosci animacji Flash'
+});
diff --git a/webcit/tiny_mce/plugins/flash/langs/pt_br.js b/webcit/tiny_mce/plugins/flash/langs/pt_br.js
new file mode 100644 (file)
index 0000000..707cb08
--- /dev/null
@@ -0,0 +1,9 @@
+// pt_BR lang variables
+
+tinyMCE.addToLang('',{
+insert_flash : 'Inserir / editar Arquivo Flash',
+insert_flash_file : 'Arquivo Flash (.swf)',
+insert_flash_size : 'Tamanho',
+insert_flash_list : 'Lista de arquivos Flash',
+flash_props : 'Propriedades Flash'
+});
diff --git a/webcit/tiny_mce/plugins/flash/langs/sv.js b/webcit/tiny_mce/plugins/flash/langs/sv.js
new file mode 100644 (file)
index 0000000..1334d8a
--- /dev/null
@@ -0,0 +1,11 @@
+// SE lang variables
+
+tinyMCE.addToLang('flash',{
+title : 'Skapa/uppdatera flash-film',
+desc : 'Skapa/uppdatera flash-film',
+file : 'Flash-film (.swf)',
+size : 'Storlek',
+list : 'Flash-filer',
+props : 'Flash egenskaper',
+general : 'Generella inst&auml;llningar'
+});
diff --git a/webcit/tiny_mce/plugins/flash/langs/zh_cn.js b/webcit/tiny_mce/plugins/flash/langs/zh_cn.js
new file mode 100644 (file)
index 0000000..254bd86
--- /dev/null
@@ -0,0 +1,10 @@
+// Simplified Chinese lang variables contributed by cube316 (cube316@gmail.com)
+//Çë·ÃÎÊ http://www.cube316.net/ ÒÔ»ñÈ¡TinyMCEµ&Auml;&Ouml;ÐÎ&Auml;&Ouml;§³&Ouml;
+
+tinyMCE.addToLang('',{
+insert_flash : '²&aring;Èë/±à¼­ FlashµçÓ°',
+insert_flash_file : 'FlashÎ&Auml;¼þ(.swf)',
+insert_flash_size : '³ß´ç',
+insert_flash_list : 'FlashÎ&Auml;¼þÁбí',
+flash_props : 'FlashÊôÐÔ'
+});
diff --git a/webcit/tiny_mce/plugins/flash/readme.txt b/webcit/tiny_mce/plugins/flash/readme.txt
new file mode 100644 (file)
index 0000000..6bc6d7d
--- /dev/null
@@ -0,0 +1 @@
+Check the TinyMCE documentation for details on this plugin.
diff --git a/webcit/tiny_mce/plugins/fullscreen/editor_plugin.js b/webcit/tiny_mce/plugins/fullscreen/editor_plugin.js
new file mode 100644 (file)
index 0000000..6ee5f5c
--- /dev/null
@@ -0,0 +1,2 @@
+/* Import plugin specific language pack */
+ tinyMCE.importPluginLanguagePack('fullscreen','en,sv,cs,fr_ca,zh_cn');function TinyMCE_fullscreen_getInfo(){return{longname:'Fullscreen',author:'Moxiecode Systems',authorurl:'http://tinymce.moxiecode.com',infourl:'http://tinymce.moxiecode.com/tinymce/docs/plugin_fullscreen.html',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion};};function TinyMCE_fullscreen_getControlHTML(control_name){switch(control_name){case "fullscreen":return '<a href="javascript:tinyMCE.execInstanceCommand(\'{$editor_id}\',\'mceFullScreen\');" onmousedown="return false;"><img id="{$editor_id}_fullscreen" src="{$pluginurl}/images/fullscreen.gif" title="{$lang_fullscreen_desc}" width="20" height="20" class="mceButton'+(tinyMCE.getParam('fullscreen_is_enabled')?'Selected':'Normal')+'" onmouseover="tinyMCE.switchClass(this,\'mceButtonOver\');" onmouseout="tinyMCE.restoreClass(this);" onmousedown="tinyMCE.restoreAndSwitchClass(this,\'mceButtonDown\');" /></a>';}return "";}function TinyMCE_fullscreen_execCommand(editor_id,element,command,user_interface,value){switch(command){case "mceFullScreen":if(tinyMCE.getParam('fullscreen_is_enabled')){window.opener.tinyMCE.execInstanceCommand(tinyMCE.getParam('fullscreen_editor_id'),'mceSetContent',false,tinyMCE.getContent(editor_id));top.close();}else{tinyMCE.setWindowArg('editor_id',editor_id);var win=window.open(tinyMCE.baseURL+"/plugins/fullscreen/fullscreen.htm","mceFullScreenPopup","fullscreen=yes,menubar=no,toolbar=no,scrollbars=no,resizable=yes,left=0,top=0,width="+screen.availWidth+",height="+screen.availHeight);}return true;}return false;}
\ No newline at end of file
diff --git a/webcit/tiny_mce/plugins/fullscreen/editor_plugin_src.js b/webcit/tiny_mce/plugins/fullscreen/editor_plugin_src.js
new file mode 100644 (file)
index 0000000..8af48fc
--- /dev/null
@@ -0,0 +1,44 @@
+/* Import plugin specific language pack */
+tinyMCE.importPluginLanguagePack('fullscreen', 'en,sv,cs,fr_ca,zh_cn');
+
+function TinyMCE_fullscreen_getInfo() {
+       return {
+               longname : 'Fullscreen',
+               author : 'Moxiecode Systems',
+               authorurl : 'http://tinymce.moxiecode.com',
+               infourl : 'http://tinymce.moxiecode.com/tinymce/docs/plugin_fullscreen.html',
+               version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion
+       };
+};
+
+function TinyMCE_fullscreen_getControlHTML(control_name) {
+       switch (control_name) {
+               case "fullscreen":
+                       return '<a href="javascript:tinyMCE.execInstanceCommand(\'{$editor_id}\',\'mceFullScreen\');" onmousedown="return false;"><img id="{$editor_id}_fullscreen" src="{$pluginurl}/images/fullscreen.gif" title="{$lang_fullscreen_desc}" width="20" height="20" class="mceButton' + (tinyMCE.getParam('fullscreen_is_enabled') ? 'Selected' : 'Normal') + '" onmouseover="tinyMCE.switchClass(this,\'mceButtonOver\');" onmouseout="tinyMCE.restoreClass(this);" onmousedown="tinyMCE.restoreAndSwitchClass(this,\'mceButtonDown\');" /></a>';
+       }
+
+       return "";
+}
+
+function TinyMCE_fullscreen_execCommand(editor_id, element, command, user_interface, value) {
+       // Handle commands
+       switch (command) {
+               case "mceFullScreen":
+                       if (tinyMCE.getParam('fullscreen_is_enabled')) {
+                               // In fullscreen mode
+                               window.opener.tinyMCE.execInstanceCommand(tinyMCE.getParam('fullscreen_editor_id'), 'mceSetContent', false, tinyMCE.getContent(editor_id));
+                               top.close();
+                       } else {
+                               tinyMCE.setWindowArg('editor_id', editor_id);
+
+                               var win = window.open(tinyMCE.baseURL + "/plugins/fullscreen/fullscreen.htm", "mceFullScreenPopup", "fullscreen=yes,menubar=no,toolbar=no,scrollbars=no,resizable=yes,left=0,top=0,width=" + screen.availWidth + ",height="  + screen.availHeight);
+                       }
+       
+                       return true;
+       }
+
+       // Pass to next handler in chain
+       return false;
+}
+
+
diff --git a/webcit/tiny_mce/plugins/fullscreen/fullscreen.htm b/webcit/tiny_mce/plugins/fullscreen/fullscreen.htm
new file mode 100644 (file)
index 0000000..3b1f8a2
--- /dev/null
@@ -0,0 +1,72 @@
+<html>
+<title></title>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+<script language="javascript" type="text/javascript" src="../../tiny_mce.js"></script>
+<script language="javascript" type="text/javascript">
+       function patchCallback(settings, key) {
+               if (settings[key])
+                       settings[key] = "window.opener." + settings[key];
+       }
+
+       var settings = new Array();
+
+       // Clone array
+       for (var name in window.opener.tinyMCE.settings)
+               settings[name] = window.opener.tinyMCE.settings[name];
+
+       // Override options for fullscreen
+       for (var name in window.opener.tinyMCE.settings.fullscreen_settings)
+               settings[name] = window.opener.tinyMCE.settings.fullscreen_settings[name];
+
+       // Patch callbacks, make them point to window.opener
+       patchCallback(settings, 'urlconverter_callback');
+       patchCallback(settings, 'insertlink_callback');
+       patchCallback(settings, 'insertimage_callback');
+       patchCallback(settings, 'setupcontent_callback');
+       patchCallback(settings, 'save_callback');
+       patchCallback(settings, 'onchange_callback');
+       patchCallback(settings, 'init_instance_callback');
+       patchCallback(settings, 'file_browser_callback');
+       patchCallback(settings, 'cleanup_callback');
+       patchCallback(settings, 'oninit');
+
+       // Set options
+       settings['mode'] = 'exact';
+       settings['elements'] = 'fullscreenarea';
+       settings['ask'] = false;
+       settings['setupcontent_callback'] = 'setupContent';
+       settings['fullscreen_is_enabled'] = true;
+       settings['fullscreen_editor_id'] = window.opener.tinyMCE.getWindowArg("editor_id");
+       settings['theme_advanced_resizing'] = false;
+
+       // Init
+       tinyMCE.init(settings);
+       tinyMCE.documentBasePath = window.opener.tinyMCE.documentBasePath;
+
+       function setupContent(editor_id, body, doc) {
+               var inst = tinyMCE.getInstanceById(editor_id);
+               var backInst = window.opener.tinyMCE.getInstanceById(tinyMCE.getParam('fullscreen_editor_id'));
+
+               // Setup title
+               var divElm = document.createElement("div");
+               divElm.innerHTML = tinyMCELang['lang_fullscreen_title'];
+               document.title = divElm.innerHTML;
+
+               // Get content
+               inst.getBody().innerHTML = backInst.getBody().innerHTML;
+       }
+
+       function unloadHandler(e) {
+               window.opener.tinyMCE.execInstanceCommand(tinyMCE.getParam('fullscreen_editor_id'), 'mceSetContent', false, tinyMCE.getContent("mce_editor_0"));
+       }
+
+       // Add onunload
+       tinyMCE.addEvent(window, "beforeunload", unloadHandler);
+</script>
+</head>
+<body style="margin: 0px; overflow: hidden; height: 100%" scrolling="no" scroll="no">
+
+<textarea id="fullscreenarea" style="width: 100%; height: 100%"></textarea>
+
+</body>
+</html>
diff --git a/webcit/tiny_mce/plugins/fullscreen/images/fullscreen.gif b/webcit/tiny_mce/plugins/fullscreen/images/fullscreen.gif
new file mode 100644 (file)
index 0000000..f0a0a30
Binary files /dev/null and b/webcit/tiny_mce/plugins/fullscreen/images/fullscreen.gif differ
diff --git a/webcit/tiny_mce/plugins/fullscreen/langs/cs.js b/webcit/tiny_mce/plugins/fullscreen/langs/cs.js
new file mode 100644 (file)
index 0000000..9d8c67c
--- /dev/null
@@ -0,0 +1,12 @@
+/**
+ * Czech lang variables 
+ * encoding: utf-8
+ *  
+ * $Id$ 
+ */  
+
+tinyMCE.addToLang('',{
+fullscreen_title : 'Na celou obrazovku',
+fullscreen_desc : 'Přepnout na celou obrazovku'
+});
+
diff --git a/webcit/tiny_mce/plugins/fullscreen/langs/en.js b/webcit/tiny_mce/plugins/fullscreen/langs/en.js
new file mode 100644 (file)
index 0000000..6bde923
--- /dev/null
@@ -0,0 +1,6 @@
+// UK lang variables
+
+tinyMCE.addToLang('',{
+fullscreen_title : 'Fullscreen mode',
+fullscreen_desc : 'Toggle fullscreen mode'
+});
diff --git a/webcit/tiny_mce/plugins/fullscreen/langs/fr_ca.js b/webcit/tiny_mce/plugins/fullscreen/langs/fr_ca.js
new file mode 100644 (file)
index 0000000..fe86d85
--- /dev/null
@@ -0,0 +1,6 @@
+// Canadian French lang variables by Virtuelcom   last modification: 2005-06-15
+
+tinyMCE.addToLang('',{
+fullscreen_title : 'Mode plein écran',
+fullscreen_desc : 'Basculer le mode plein écrans'
+});
diff --git a/webcit/tiny_mce/plugins/fullscreen/langs/he.js b/webcit/tiny_mce/plugins/fullscreen/langs/he.js
new file mode 100644 (file)
index 0000000..7bbd749
--- /dev/null
@@ -0,0 +1,6 @@
+// HE lang variables by Liron Newman, http://eesh.net
+
+tinyMCE.addToLang('',{
+fullscreen_title : 'î&ouml;á îñê îìà',
+fullscreen_desc : '&auml;çìó î&ouml;á îñê îìà'
+});
diff --git a/webcit/tiny_mce/plugins/fullscreen/langs/sv.js b/webcit/tiny_mce/plugins/fullscreen/langs/sv.js
new file mode 100644 (file)
index 0000000..dec358e
--- /dev/null
@@ -0,0 +1,6 @@
+// SV lang variables
+
+tinyMCE.addToLang('',{
+fullscreen_title : 'Fullsk&auml;rmsl&auml;ge',
+fullscreen_desc : 'Hoppa fr&aring;n/till fullsk&auml;rmsl&auml;ge'
+});
diff --git a/webcit/tiny_mce/plugins/fullscreen/langs/zh_cn.js b/webcit/tiny_mce/plugins/fullscreen/langs/zh_cn.js
new file mode 100644 (file)
index 0000000..c003425
--- /dev/null
@@ -0,0 +1,7 @@
+// Simplified Chinese lang variables contributed by cube316 (cube316@gmail.com)
+//Çë·ÃÎÊ http://www.cube316.net/ ÒÔ»ñÈ¡TinyMCEµ&Auml;&Ouml;ÐÎ&Auml;&Ouml;§³&Ouml;
+
+tinyMCE.addToLang('',{
+fullscreen_title : 'È«ÆÁ&Auml;£Ê½',
+fullscreen_desc : 'Çл»È«ÆÁ&Auml;£Ê½'
+});
diff --git a/webcit/tiny_mce/plugins/fullscreen/readme.txt b/webcit/tiny_mce/plugins/fullscreen/readme.txt
new file mode 100644 (file)
index 0000000..6bc6d7d
--- /dev/null
@@ -0,0 +1 @@
+Check the TinyMCE documentation for details on this plugin.
diff --git a/webcit/tiny_mce/plugins/iespell/editor_plugin.js b/webcit/tiny_mce/plugins/iespell/editor_plugin.js
new file mode 100644 (file)
index 0000000..519cbd0
--- /dev/null
@@ -0,0 +1,2 @@
+/* Import plugin specific language pack */
+ tinyMCE.importPluginLanguagePack('iespell','cs,el,en,fr_ca,it,ko,sv,zh_cn,fr,de,pl,pt_br,nl');function TinyMCE_iespell_getInfo(){return{longname:'IESpell',author:'Moxiecode Systems',authorurl:'http://tinymce.moxiecode.com',infourl:'http://tinymce.moxiecode.com/tinymce/docs/plugin_iespell.html',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion};};function TinyMCE_iespell_getControlHTML(control_name){if(control_name=="iespell"&&tinyMCE.isMSIE)return '<a href="javascript:tinyMCE.execInstanceCommand(\'{$editor_id}\',\'mceIESpell\');" onmousedown="return false;"><img id="{$editor_id}_iespell" src="{$pluginurl}/images/iespell.gif" title="{$lang_iespell_desc}" width="20" height="20" class="mceButtonNormal" onmouseover="tinyMCE.switchClass(this,\'mceButtonOver\');" onmouseout="tinyMCE.restoreClass(this);" onmousedown="tinyMCE.restoreAndSwitchClass(this,\'mceButtonDown\');" /></a>';return "";}function TinyMCE_iespell_execCommand(editor_id,element,command,user_interface,value){if(command=="mceIESpell"){try{var ieSpell=new ActiveXObject("ieSpell.ieSpellExtension");ieSpell.CheckDocumentNode(tinyMCE.getInstanceById(editor_id).contentDocument.documentElement);}catch(e){if(e.number==-2146827859){if(confirm(tinyMCE.getLang("lang_iespell_download","",true)))window.open('http://www.iespell.com/download.php','ieSpellDownload','');}else alert("Error Loading ieSpell: Exception "+e.number);}return true;}return false;}
\ No newline at end of file
diff --git a/webcit/tiny_mce/plugins/iespell/editor_plugin_src.js b/webcit/tiny_mce/plugins/iespell/editor_plugin_src.js
new file mode 100644 (file)
index 0000000..0c0884d
--- /dev/null
@@ -0,0 +1,47 @@
+/* Import plugin specific language pack */
+tinyMCE.importPluginLanguagePack('iespell', 'cs,el,en,fr_ca,it,ko,sv,zh_cn,fr,de,pl,pt_br,nl');
+
+function TinyMCE_iespell_getInfo() {
+       return {
+               longname : 'IESpell',
+               author : 'Moxiecode Systems',
+               authorurl : 'http://tinymce.moxiecode.com',
+               infourl : 'http://tinymce.moxiecode.com/tinymce/docs/plugin_iespell.html',
+               version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion
+       };
+};
+
+/**
+ * Returns the HTML contents of the iespell control.
+ */
+function TinyMCE_iespell_getControlHTML(control_name) {
+       // Is it the iespell control and is the brower MSIE.
+       if (control_name == "iespell" && tinyMCE.isMSIE)
+               return '<a href="javascript:tinyMCE.execInstanceCommand(\'{$editor_id}\',\'mceIESpell\');" onmousedown="return false;"><img id="{$editor_id}_iespell" src="{$pluginurl}/images/iespell.gif" title="{$lang_iespell_desc}" width="20" height="20" class="mceButtonNormal" onmouseover="tinyMCE.switchClass(this,\'mceButtonOver\');" onmouseout="tinyMCE.restoreClass(this);" onmousedown="tinyMCE.restoreAndSwitchClass(this,\'mceButtonDown\');" /></a>';
+
+       return "";
+}
+
+/**
+ * Executes the mceIESpell command.
+ */
+function TinyMCE_iespell_execCommand(editor_id, element, command, user_interface, value) {
+       // Handle ieSpellCommand
+       if (command == "mceIESpell") {
+               try {
+                       var ieSpell = new ActiveXObject("ieSpell.ieSpellExtension");
+                       ieSpell.CheckDocumentNode(tinyMCE.getInstanceById(editor_id).contentDocument.documentElement);
+               } catch (e) {
+                       if (e.number == -2146827859) {
+                               if (confirm(tinyMCE.getLang("lang_iespell_download", "", true)))
+                                       window.open('http://www.iespell.com/download.php', 'ieSpellDownload', '');
+                       } else
+                               alert("Error Loading ieSpell: Exception " + e.number);
+               }
+
+               return true;
+       }
+
+       // Pass to next handler in chain
+       return false;
+}
\ No newline at end of file
diff --git a/webcit/tiny_mce/plugins/iespell/images/iespell.gif b/webcit/tiny_mce/plugins/iespell/images/iespell.gif
new file mode 100644 (file)
index 0000000..a9a2891
Binary files /dev/null and b/webcit/tiny_mce/plugins/iespell/images/iespell.gif differ
diff --git a/webcit/tiny_mce/plugins/iespell/langs/cs.js b/webcit/tiny_mce/plugins/iespell/langs/cs.js
new file mode 100644 (file)
index 0000000..1ccd58f
--- /dev/null
@@ -0,0 +1,12 @@
+/**
+ * Czech lang variables 
+ * encoding: utf-8
+ *  
+ * $Id$ 
+ */  
+
+tinyMCE.addToLang('',{
+iespell_desc : 'Spustit kontrolu pravopisu',
+iespell_download : "ieSpell nedetekován. Klikněte na OK a otevřete stahovací stránku."
+});
+
diff --git a/webcit/tiny_mce/plugins/iespell/langs/de.js b/webcit/tiny_mce/plugins/iespell/langs/de.js
new file mode 100644 (file)
index 0000000..7ae1661
--- /dev/null
@@ -0,0 +1,7 @@
+// DE lang variables by Tobias Heer
+
+tinyMCE.addToLang('',{
+iespell_desc : 'Rechtschreibpr&uuml;fung',
+iespell_download : "ieSpell nicht gefunden. Klicken Sie OK um auf die Download Seite zu gelangen."
+});
+
diff --git a/webcit/tiny_mce/plugins/iespell/langs/el.js b/webcit/tiny_mce/plugins/iespell/langs/el.js
new file mode 100644 (file)
index 0000000..c4d8018
--- /dev/null
@@ -0,0 +1,7 @@
+// Greek lang variables by Jacaranda Bill
+
+tinyMCE.addToLang('',{
+iespell_desc : 'Ïñèïãñá&ouml;éêüò Ýë&aring;ã÷ïò',
+iespell_download : "Ôï ðñüãñáììá ieSpell &auml;&aring;í âñÝèçê&aring;. ÐáôÞóô&aring; OK ãéá íá ì&aring;ôáâ&aring;ßô&aring; óôçí éóôïó&aring;ëß&auml;á ëÞøçò ôïõ ðñïãñÜììáôïò."
+});
+
diff --git a/webcit/tiny_mce/plugins/iespell/langs/en.js b/webcit/tiny_mce/plugins/iespell/langs/en.js
new file mode 100644 (file)
index 0000000..119bce9
--- /dev/null
@@ -0,0 +1,7 @@
+// UK lang variables
+
+tinyMCE.addToLang('',{
+iespell_desc : 'Run spell checking',
+iespell_download : "ieSpell not detected. Click OK to go to download page."
+});
+
diff --git a/webcit/tiny_mce/plugins/iespell/langs/fr.js b/webcit/tiny_mce/plugins/iespell/langs/fr.js
new file mode 100644 (file)
index 0000000..abf0cba
--- /dev/null
@@ -0,0 +1,6 @@
+// French lang variables by Laurent Dran
+
+tinyMCE.addToLang('',{
+iespell_desc : 'Executer le v&eacute;rificateur d\'orthographe',
+iespell_download : "ieSpell n\'a pas &eacute;t&eacute; trouv&eacute;. Cliquez sur OK pour aller au site de t&eacute;l&eacute;chargement."
+});
diff --git a/webcit/tiny_mce/plugins/iespell/langs/fr_ca.js b/webcit/tiny_mce/plugins/iespell/langs/fr_ca.js
new file mode 100644 (file)
index 0000000..3585474
--- /dev/null
@@ -0,0 +1,6 @@
+// Canadian French lang variables by Virtuelcom   last modification: 2005-06-15
+
+tinyMCE.addToLang('',{
+iespell_desc : 'Executer le vérificateur d\'orthographe',
+iespell_download : "ieSpell n\'a pas été trouvé. Cliquez sur OK pour aller au site de téléchargement."
+});
diff --git a/webcit/tiny_mce/plugins/iespell/langs/he.js b/webcit/tiny_mce/plugins/iespell/langs/he.js
new file mode 100644 (file)
index 0000000..e670482
--- /dev/null
@@ -0,0 +1,6 @@
+// HE lang variables by Liron Newman, http://eesh.net
+
+tinyMCE.addToLang('',{
+iespell_desc : '&auml;ôòì áãé÷ú àé&aring;ú',
+iespell_download : "ìà ðî&ouml;à ieSpell. ìçõ òì àéù&aring;ø ëãé ì&auml;âéò ìãó &auml;&auml;&aring;øã&auml;."
+});
diff --git a/webcit/tiny_mce/plugins/iespell/langs/it.js b/webcit/tiny_mce/plugins/iespell/langs/it.js
new file mode 100644 (file)
index 0000000..7ec0d49
--- /dev/null
@@ -0,0 +1,7 @@
+// IT lang variables
+
+tinyMCE.addToLang('',{
+iespell_desc : 'Avvia il controllo ortografico',
+iespell_download : "ieSpell non trovato. Clicca OK per andare alla pagina di download."
+});
+
diff --git a/webcit/tiny_mce/plugins/iespell/langs/ko.js b/webcit/tiny_mce/plugins/iespell/langs/ko.js
new file mode 100644 (file)
index 0000000..9c75e03
--- /dev/null
@@ -0,0 +1,7 @@
+// KO lang variables
+
+tinyMCE.addToLang('',{
+iespell_desc : '¸ÂÃã¹ý °Ë»ç ½ÇÇà',
+iespell_download : "ieSpellÀ» Ã£À» ¼&ouml; ¾ø½À´Ï´Ù. OK¸¦ ´©¸£¸é ´Ù¿î·Îµ&aring; Æ&auml;ÀÌÁ&ouml;·Î À̵¿ÇÕ´Ï´Ù."
+});
+
diff --git a/webcit/tiny_mce/plugins/iespell/langs/nl.js b/webcit/tiny_mce/plugins/iespell/langs/nl.js
new file mode 100644 (file)
index 0000000..23f5d47
--- /dev/null
@@ -0,0 +1,6 @@
+// NL lang variables
+
+tinyMCE.addToLang('',{
+iespell_desc : 'Spelling checker',
+iespell_download : "ieSpell niet gedetecteerd. Klik OK om naar de download pagina te gaan."
+});
diff --git a/webcit/tiny_mce/plugins/iespell/langs/pl.js b/webcit/tiny_mce/plugins/iespell/langs/pl.js
new file mode 100644 (file)
index 0000000..d02b354
--- /dev/null
@@ -0,0 +1,6 @@
+// PL lang variables
+
+tinyMCE.addToLang('',{
+iespell_desc : 'Uruchom sprawdzanie pisowni',
+iespell_download : "Nie wykryto pluginu, kliknij aby przejsc do strony z pluginami."
+});
diff --git a/webcit/tiny_mce/plugins/iespell/langs/pt_br.js b/webcit/tiny_mce/plugins/iespell/langs/pt_br.js
new file mode 100644 (file)
index 0000000..96117e3
--- /dev/null
@@ -0,0 +1,6 @@
+// pt_BR lang variables
+
+tinyMCE.addToLang('',{
+iespell_desc : 'Executar verificação ortográfica',
+iespell_download : "Verificador ieSpell não detectado. Click OK para ir à página de download."
+});
diff --git a/webcit/tiny_mce/plugins/iespell/langs/sv.js b/webcit/tiny_mce/plugins/iespell/langs/sv.js
new file mode 100644 (file)
index 0000000..190d7ea
--- /dev/null
@@ -0,0 +1,6 @@
+// SE lang variables
+
+tinyMCE.addToLang('',{
+iespell_desc : 'K&ouml;r r&auml;ttstavningskontroll',
+iespell_download : "ieSpell verkar inte vara installerad. Klicka OK f&ouml;r att ladda hem."
+});
diff --git a/webcit/tiny_mce/plugins/iespell/langs/zh_cn.js b/webcit/tiny_mce/plugins/iespell/langs/zh_cn.js
new file mode 100644 (file)
index 0000000..da61e58
--- /dev/null
@@ -0,0 +1,7 @@
+// Simplified Chinese lang variables contributed by cube316 (cube316@gmail.com)
+//Çë·ÃÎÊ http://www.cube316.net/ ÒÔ»ñÈ¡TinyMCEµ&Auml;&Ouml;ÐÎ&Auml;&Ouml;§³&Ouml;
+
+tinyMCE.addToLang('',{
+iespell_desc : 'ÔËÐÐƴд¼ì²é',
+iespell_download : "δ¼ì²âµ½ieSpellƴд¼ì²é£¬µã»÷ OK Ç°ÍùÏÂÔØÒ³Ãæ¡£"
+});
diff --git a/webcit/tiny_mce/plugins/iespell/readme.txt b/webcit/tiny_mce/plugins/iespell/readme.txt
new file mode 100644 (file)
index 0000000..6bc6d7d
--- /dev/null
@@ -0,0 +1 @@
+Check the TinyMCE documentation for details on this plugin.
diff --git a/webcit/tiny_mce/plugins/inlinepopups/css/inlinepopup.css b/webcit/tiny_mce/plugins/inlinepopups/css/inlinepopup.css
new file mode 100644 (file)
index 0000000..cee335b
--- /dev/null
@@ -0,0 +1,69 @@
+/* Window classes */
+
+.mceWindow {
+       position: absolute;
+       left: 0px;
+       top: 0px;
+       border: 1px solid black;
+       background-color: #D4D0C8;
+}
+
+.mceWindowHead {
+       background-color: #334F8D;
+       width: 100%;
+       height: 18px;
+       cursor: move;
+       overflow: hidden;
+}
+
+.mceWindowBody {
+       clear: both;
+       background-color: white;
+}
+
+.mceWindowStatusbar {
+       background-color: #D4D0C8;
+       height: 12px;
+       border-top: 1px solid black;
+}
+
+.mceWindowTitle {
+       float: left;
+       font-family: "MS Sans Serif";
+       font-size: 9pt;
+       font-weight: bold;
+       line-height: 18px;
+       color: white;
+       margin-left: 2px;
+       overflow: hidden;
+}
+
+.mceWindowHeadTools {
+       margin-right: 2px;
+}
+
+.mceWindowClose, .mceWindowMinimize, .mceWindowMaximize {
+       display: block;
+       float: right;
+       overflow: hidden;
+       margin-top: 2px;
+}
+
+.mceWindowClose {
+       margin-left: 2px;
+}
+
+.mceWindowMinimize {
+}
+
+.mceWindowMaximize {
+}
+
+.mceWindowResize {
+       display: block;
+       float: right;
+       overflow: hidden;
+       cursor: se-resize;
+       width: 12px;
+       height: 12px;
+}
diff --git a/webcit/tiny_mce/plugins/inlinepopups/editor_plugin.js b/webcit/tiny_mce/plugins/inlinepopups/editor_plugin.js
new file mode 100644 (file)
index 0000000..55cef49
--- /dev/null
@@ -0,0 +1,11 @@
+/**
+ * $RCSfile$
+ * $Revision$
+ * $Date$
+ *
+ * Moxiecode DHTML Windows script.
+ *
+ * @author Moxiecode
+ * @copyright Copyright © 2004, Moxiecode Systems AB, All rights reserved.
+ */
+ function TinyMCE_inlinepopups_getInfo(){return{longname:'Inline Popups',author:'Moxiecode Systems',authorurl:'http://tinymce.moxiecode.com',infourl:'http://tinymce.moxiecode.com/tinymce/docs/plugin_inlinepopups.html',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion};};TinyMCE.prototype.orgOpenWindow=TinyMCE.prototype.openWindow;TinyMCE.prototype.openWindow=function(template,args){if(args['inline']!="yes"){mcWindows.selectedWindow=null;args['mce_inside_iframe']=false;this.orgOpenWindow(template,args);return;}var url,resizable,scrollbars;args['mce_inside_iframe']=true;tinyMCE.windowArgs=args;if(template['file'].charAt(0)!='/'&&template['file'].indexOf('://')==-1)url=tinyMCE.baseURL+"/themes/"+tinyMCE.getParam("theme")+"/"+template['file'];else url=template['file'];if(!(width=parseInt(template['width'])))width=320;if(!(height=parseInt(template['height'])))height=200;resizable=(args&&args['resizable'])?args['resizable']:"no";scrollbars=(args&&args['scrollbars'])?args['scrollbars']:"no";height+=18;for(var name in args)url=tinyMCE.replaceVar(url,name,escape(args[name]));var elm=document.getElementById(this.selectedInstance.editorId+'_parent');var pos=tinyMCE.getAbsPosition(elm);pos.absLeft+=Math.round((elm.firstChild.clientWidth/2)-(width/2));pos.absTop+=Math.round((elm.firstChild.clientHeight/2)-(height/2));mcWindows.open(url,mcWindows.idCounter++,"modal=yes,width="+width+",height="+height+",resizable="+resizable+",scrollbars="+scrollbars+",statusbar="+resizable+",left="+pos.absLeft+",top="+pos.absTop);};TinyMCE.prototype.orgCloseWindow=TinyMCE.prototype.closeWindow;TinyMCE.prototype.closeWindow=function(win){if(mcWindows.selectedWindow!=null)mcWindows.selectedWindow.close();else this.orgCloseWindow(win);};TinyMCE.prototype.setWindowTitle=function(win_ref,title){for(var n in mcWindows.windows){var win=mcWindows.windows[n];if(win_ref.name==win.id+"_iframe")window.frames[win.id+"_iframe"].document.getElementById(win.id+'_title').innerHTML=title;}};function MCWindows(){this.settings=new Array();this.windows=new Array();this.isMSIE=(navigator.appName=="Microsoft Internet Explorer");this.isGecko=navigator.userAgent.indexOf('Gecko')!=-1;this.isSafari=navigator.userAgent.indexOf('Safari')!=-1;this.isMac=navigator.userAgent.indexOf('Mac')!=-1;this.isMSIE5_0=this.isMSIE&&(navigator.userAgent.indexOf('MSIE 5.0')!=-1);this.action="none";this.selectedWindow=null;this.lastSelectedWindow=null;this.zindex=100;this.mouseDownScreenX=0;this.mouseDownScreenY=0;this.mouseDownLayerX=0;this.mouseDownLayerY=0;this.mouseDownWidth=0;this.mouseDownHeight=0;this.idCounter=0;};MCWindows.prototype.init=function(settings){this.settings=settings;if(this.isMSIE)this.addEvent(document,"mousemove",mcWindows.eventDispatcher);else this.addEvent(window,"mousemove",mcWindows.eventDispatcher);this.addEvent(document,"mouseup",mcWindows.eventDispatcher);this.doc=document;};MCWindows.prototype.getParam=function(name,default_value){var value=null;value=(typeof(this.settings[name])=="undefined")?default_value:this.settings[name];if(value=="true"||value=="false")return(value=="true");return value;};MCWindows.prototype.eventDispatcher=function(e){e=typeof(e)=="undefined"?window.event:e;if(mcWindows.selectedWindow==null)return;if(mcWindows.isGecko&&e.type=="mousedown"){var elm=e.currentTarget;for(var n in mcWindows.windows){var win=mcWindows.windows[n];if(win.headElement==elm||win.resizeElement==elm){win.focus();break;}}}switch(e.type){case "mousemove":mcWindows.selectedWindow.onMouseMove(e);break;case "mouseup":mcWindows.selectedWindow.onMouseUp(e);break;case "mousedown":mcWindows.selectedWindow.onMouseDown(e);break;case "focus":mcWindows.selectedWindow.onFocus(e);break;}};MCWindows.prototype.addEvent=function(obj,name,handler){if(this.isMSIE)obj.attachEvent("on"+name,handler);else obj.addEventListener(name,handler,true);};MCWindows.prototype.cancelEvent=function(e){if(this.isMSIE){e.returnValue=false;e.cancelBubble=true;}else e.preventDefault();};MCWindows.prototype.parseFeatures=function(opts){opts=opts.toLowerCase();opts=opts.replace(/;/g,",");opts=opts.replace(/[^0-9a-z=,]/g,"");var optionChunks=opts.split(',');var options=new Array();options['left']="10";options['top']="10";options['width']="300";options['height']="300";options['resizable']="yes";options['minimizable']="yes";options['maximizable']="yes";options['close']="yes";options['movable']="yes";options['statusbar']="yes";options['scrollbars']="auto";options['modal']="no";if(opts=="")return options;for(var i=0;i<optionChunks.length;i++){var parts=optionChunks[i].split('=');if(parts.length==2)options[parts[0]]=parts[1];}options['left']=parseInt(options['left']);options['top']=parseInt(options['top']);options['width']=parseInt(options['width']);options['height']=parseInt(options['height']);return options;};MCWindows.prototype.open=function(url,name,features){this.lastSelectedWindow=this.selectedWindow;var win=new MCWindow();var winDiv,html="",id;var imgPath=this.getParam("images_path");features=this.parseFeatures(features);id="mcWindow_"+name;win.deltaHeight=18;if(features['statusbar']=="yes"){win.deltaHeight+=13;if(this.isMSIE)win.deltaHeight+=1;}width=parseInt(features['width']);height=parseInt(features['height'])-win.deltaHeight;if(this.isMSIE)width-=2;win.id=id;win.url=url;win.name=name;win.features=features;this.windows[name]=win;iframeWidth=width;iframeHeight=height;html+='<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">';html+='<html>';html+='<head>';html+='<title>Wrapper iframe</title>';html+='<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">';html+='<link href="'+this.getParam("css_file")+'" rel="stylesheet" type="text/css" />';html+='</head>';html+='<body onload="parent.mcWindows.onLoad(\''+name+'\');">';html+='<div id="'+id+'_container" class="mceWindow">';html+='<div id="'+id+'_head" class="mceWindowHead" onmousedown="parent.mcWindows.windows[\''+name+'\'].focus();">';html+='  <div id="'+id+'_title" class="mceWindowTitle"';html+='  onselectstart="return false;" unselectable="on" style="-moz-user-select: none !important;"></div>';html+='    <div class="mceWindowHeadTools">';html+='      <a href="javascript:parent.mcWindows.windows[\''+name+'\'].close();" onmousedown="return false;" class="mceWindowClose"><img border="0" src="'+imgPath+'/window_close.gif" /></a>';html+='    </div>';html+='</div><div id="'+id+'_body" class="mceWindowBody" style="width: '+width+'px; height: '+height+'px;">';html+='<iframe id="'+id+'_iframe" name="'+id+'_iframe" frameborder="0" width="'+iframeWidth+'" height="'+iframeHeight+'" src="'+url+'" class="mceWindowBodyIframe" scrolling="'+features['scrollbars']+'"></iframe></div>';if(features['statusbar']=="yes"){html+='<div id="'+id+'_statusbar" class="mceWindowStatusbar" onmousedown="parent.mcWindows.windows[\''+name+'\'].focus();">';if(features['resizable']=="yes"){if(this.isGecko)html+='<div id="'+id+'_resize" class="mceWindowResize"><div style="background-image: url(\''+imgPath+'/window_resize.gif\'); width: 12px; height: 12px;"></div></div>';else html+='<div id="'+id+'_resize" class="mceWindowResize"><img onmousedown="parent.mcWindows.windows[\''+name+'\'].focus();" border="0" src="'+imgPath+'/window_resize.gif" /></div>';}html+='</div>';}html+='</div>';html+='</body>';html+='</html>';this.createFloatingIFrame(id,features['left'],features['top'],features['width'],features['height'],html);};MCWindows.prototype.setDocumentLock=function(state){if(state){var elm=document.getElementById('mcWindowEventBlocker');if(elm==null){elm=document.createElement("div");elm.id="mcWindowEventBlocker";elm.style.position="absolute";elm.style.left="0px";elm.style.top="0px";document.body.appendChild(elm);}elm.style.display="none";var imgPath=this.getParam("images_path");var width=document.body.clientWidth;var height=document.body.clientHeight;elm.style.width=width;elm.style.height=height;elm.innerHTML='<img src="'+imgPath+'/spacer.gif" width="'+width+'" height="'+height+'" />';elm.style.zIndex=mcWindows.zindex-1;elm.style.display="block";}else{var elm=document.getElementById('mcWindowEventBlocker');if(mcWindows.windows.length==0)elm.parentNode.removeChild(elm);else elm.style.zIndex=mcWindows.zindex-1;}};MCWindows.prototype.onLoad=function(name){var win=mcWindows.windows[name];var id="mcWindow_"+name;var wrapperIframe=window.frames[id+"_iframe"].frames[0];var wrapperDoc=window.frames[id+"_iframe"].document;var doc=window.frames[id+"_iframe"].document;var winDiv=document.getElementById("mcWindow_"+name+"_div");var realIframe=window.frames[id+"_iframe"].frames[0];win.id="mcWindow_"+name;win.winElement=winDiv;win.bodyElement=doc.getElementById(id+'_body');win.iframeElement=doc.getElementById(id+'_iframe');win.headElement=doc.getElementById(id+'_head');win.titleElement=doc.getElementById(id+'_title');win.resizeElement=doc.getElementById(id+'_resize');win.containerElement=doc.getElementById(id+'_container');win.left=win.features['left'];win.top=win.features['top'];win.frame=window.frames[id+'_iframe'].frames[0];win.wrapperFrame=window.frames[id+'_iframe'];win.wrapperIFrameElement=document.getElementById(id+"_iframe");mcWindows.addEvent(win.headElement,"mousedown",mcWindows.eventDispatcher);if(win.resizeElement!=null)mcWindows.addEvent(win.resizeElement,"mousedown",mcWindows.eventDispatcher);if(mcWindows.isMSIE){mcWindows.addEvent(realIframe.document,"mousemove",mcWindows.eventDispatcher);mcWindows.addEvent(realIframe.document,"mouseup",mcWindows.eventDispatcher);}else{mcWindows.addEvent(realIframe,"mousemove",mcWindows.eventDispatcher);mcWindows.addEvent(realIframe,"mouseup",mcWindows.eventDispatcher);mcWindows.addEvent(realIframe,"focus",mcWindows.eventDispatcher);}for(var i=0;i<window.frames.length;i++){if(!window.frames[i]._hasMouseHandlers){if(mcWindows.isMSIE){mcWindows.addEvent(window.frames[i].document,"mousemove",mcWindows.eventDispatcher);mcWindows.addEvent(window.frames[i].document,"mouseup",mcWindows.eventDispatcher);}else{mcWindows.addEvent(window.frames[i],"mousemove",mcWindows.eventDispatcher);mcWindows.addEvent(window.frames[i],"mouseup",mcWindows.eventDispatcher);}window.frames[i]._hasMouseHandlers=true;}}if(mcWindows.isMSIE){mcWindows.addEvent(win.frame.document,"mousemove",mcWindows.eventDispatcher);mcWindows.addEvent(win.frame.document,"mouseup",mcWindows.eventDispatcher);}else{mcWindows.addEvent(win.frame,"mousemove",mcWindows.eventDispatcher);mcWindows.addEvent(win.frame,"mouseup",mcWindows.eventDispatcher);mcWindows.addEvent(win.frame,"focus",mcWindows.eventDispatcher);}var func=this.getParam("on_open_window","");if(func!="")eval(func+"(win);");win.focus();if(win.features['modal']=="yes")mcWindows.setDocumentLock(true);};MCWindows.prototype.createFloatingIFrame=function(id_prefix,left,top,width,height,html){var iframe=document.createElement("iframe");var div=document.createElement("div");width=parseInt(width);height=parseInt(height)+1;div.setAttribute("id",id_prefix+"_div");div.setAttribute("width",width);div.setAttribute("height",(height));div.style.position="absolute";div.style.left=left+"px";div.style.top=top+"px";div.style.width=width+"px";div.style.height=(height)+"px";div.style.backgroundColor="white";div.style.display="none";if(this.isGecko){iframeWidth=width+2;iframeHeight=height+2;}else{iframeWidth=width;iframeHeight=height+1;}iframe.setAttribute("id",id_prefix+"_iframe");iframe.setAttribute("name",id_prefix+"_iframe");iframe.setAttribute("border","0");iframe.setAttribute("frameBorder","0");iframe.setAttribute("marginWidth","0");iframe.setAttribute("marginHeight","0");iframe.setAttribute("leftMargin","0");iframe.setAttribute("topMargin","0");iframe.setAttribute("width",iframeWidth);iframe.setAttribute("height",iframeHeight);iframe.setAttribute("scrolling","no");iframe.style.width=iframeWidth+"px";iframe.style.height=iframeHeight+"px";iframe.style.backgroundColor="white";div.appendChild(iframe);document.body.appendChild(div);div.innerHTML=div.innerHTML;if(this.isSafari){window.setTimeout(function(){doc=window.frames[id_prefix+'_iframe'].document;doc.open();doc.write(html);doc.close();},10);}else{doc=window.frames[id_prefix+'_iframe'].window.document;doc.open();doc.write(html);doc.close();}div.style.display="block";return div;};function MCWindow(){};MCWindow.prototype.focus=function(){if(this!=mcWindows.selectedWindow){this.winElement.style.zIndex=++mcWindows.zindex;mcWindows.lastSelectedWindow=mcWindows.selectedWindow;mcWindows.selectedWindow=this;}};MCWindow.prototype.minimize=function(){};MCWindow.prototype.maximize=function(){};MCWindow.prototype.startResize=function(){mcWindows.action="resize";};MCWindow.prototype.startMove=function(e){mcWindows.action="move";};MCWindow.prototype.close=function(){if(mcWindows.lastSelectedWindow!=null)mcWindows.lastSelectedWindow.focus();var mcWindowsNew=new Array();for(var n in mcWindows.windows){var win=mcWindows.windows[n];if(win.name!=this.name)mcWindowsNew[n]=win;}mcWindows.windows=mcWindowsNew;var e=mcWindows.doc.getElementById(this.id+"_iframe");e.parentNode.removeChild(e);var e=mcWindows.doc.getElementById(this.id+"_div");e.parentNode.removeChild(e);mcWindows.setDocumentLock(false);};MCWindow.prototype.onMouseMove=function(e){var scrollX=0;var scrollY=0;var dx=e.screenX-mcWindows.mouseDownScreenX;var dy=e.screenY-mcWindows.mouseDownScreenY;switch(mcWindows.action){case "resize":width=mcWindows.mouseDownWidth+(e.screenX-mcWindows.mouseDownScreenX);height=mcWindows.mouseDownHeight+(e.screenY-mcWindows.mouseDownScreenY);width=width<100?100:width;height=height<100?100:height;this.wrapperIFrameElement.style.width=width+2;this.wrapperIFrameElement.style.height=height+2;this.wrapperIFrameElement.width=width+2;this.wrapperIFrameElement.height=height+2;this.winElement.style.width=width;this.winElement.style.height=height;height=height-this.deltaHeight;this.containerElement.style.width=width;this.iframeElement.style.width=width;this.iframeElement.style.height=height;this.bodyElement.style.width=width;this.bodyElement.style.height=height;this.headElement.style.width=width;mcWindows.cancelEvent(e);break;case "move":this.left=mcWindows.mouseDownLayerX+(e.screenX-mcWindows.mouseDownScreenX);this.top=mcWindows.mouseDownLayerY+(e.screenY-mcWindows.mouseDownScreenY);this.winElement.style.left=this.left+"px";this.winElement.style.top=this.top+"px";mcWindows.cancelEvent(e);break;}};function debug(msg){document.getElementById('debug').value+=msg+"\n";}MCWindow.prototype.onMouseUp=function(e){mcWindows.action="none";};MCWindow.prototype.onFocus=function(e){var winRef=e.currentTarget;for(var n in mcWindows.windows){var win=mcWindows.windows[n];if(winRef.name==win.id+"_iframe"){win.focus();return;}}};MCWindow.prototype.onMouseDown=function(e){var elm=mcWindows.isMSIE?this.wrapperFrame.event.srcElement:e.target;var scrollX=0;var scrollY=0;mcWindows.mouseDownScreenX=e.screenX;mcWindows.mouseDownScreenY=e.screenY;mcWindows.mouseDownLayerX=this.left;mcWindows.mouseDownLayerY=this.top;mcWindows.mouseDownWidth=parseInt(this.winElement.style.width);mcWindows.mouseDownHeight=parseInt(this.winElement.style.height);if(this.resizeElement!=null&&elm==this.resizeElement.firstChild)this.startResize(e);else this.startMove(e);mcWindows.cancelEvent(e);};var mcWindows=new MCWindows();mcWindows.init({images_path:tinyMCE.baseURL+"/plugins/inlinepopups/images",css_file:tinyMCE.baseURL+"/plugins/inlinepopups/css/inlinepopup.css"});
\ No newline at end of file
diff --git a/webcit/tiny_mce/plugins/inlinepopups/editor_plugin_src.js b/webcit/tiny_mce/plugins/inlinepopups/editor_plugin_src.js
new file mode 100644 (file)
index 0000000..23cdea2
--- /dev/null
@@ -0,0 +1,643 @@
+/**
+ * $RCSfile$
+ * $Revision$
+ * $Date$
+ *
+ * Moxiecode DHTML Windows script.
+ *
+ * @author Moxiecode
+ * @copyright Copyright © 2004, Moxiecode Systems AB, All rights reserved.
+ */
+
+// Patch openWindow, closeWindow TinyMCE functions
+
+function TinyMCE_inlinepopups_getInfo() {
+       return {
+               longname : 'Inline Popups',
+               author : 'Moxiecode Systems',
+               authorurl : 'http://tinymce.moxiecode.com',
+               infourl : 'http://tinymce.moxiecode.com/tinymce/docs/plugin_inlinepopups.html',
+               version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion
+       };
+};
+
+TinyMCE.prototype.orgOpenWindow = TinyMCE.prototype.openWindow;
+
+TinyMCE.prototype.openWindow = function(template, args) {
+       // Does the caller support inline
+       if (args['inline'] != "yes") {
+               mcWindows.selectedWindow = null;
+               args['mce_inside_iframe'] = false;
+               this.orgOpenWindow(template, args);
+               return;
+       }
+
+       var url, resizable, scrollbars;
+
+       args['mce_inside_iframe'] = true;
+       tinyMCE.windowArgs = args;
+
+       if (template['file'].charAt(0) != '/' && template['file'].indexOf('://') == -1)
+               url = tinyMCE.baseURL + "/themes/" + tinyMCE.getParam("theme") + "/" + template['file'];
+       else
+               url = template['file'];
+
+       if (!(width = parseInt(template['width'])))
+               width = 320;
+
+       if (!(height = parseInt(template['height'])))
+               height = 200;
+
+       resizable = (args && args['resizable']) ? args['resizable'] : "no";
+       scrollbars = (args && args['scrollbars']) ? args['scrollbars'] : "no";
+
+       height += 18;
+
+       // Replace all args as variables in URL
+       for (var name in args)
+               url = tinyMCE.replaceVar(url, name, escape(args[name]));
+
+       var elm = document.getElementById(this.selectedInstance.editorId + '_parent');
+       var pos = tinyMCE.getAbsPosition(elm);
+
+       // Center div in editor area
+       pos.absLeft += Math.round((elm.firstChild.clientWidth / 2) - (width / 2));
+       pos.absTop += Math.round((elm.firstChild.clientHeight / 2) - (height / 2));
+
+       mcWindows.open(url, mcWindows.idCounter++, "modal=yes,width=" + width+ ",height=" + height + ",resizable=" + resizable + ",scrollbars=" + scrollbars + ",statusbar=" + resizable + ",left=" + pos.absLeft + ",top=" + pos.absTop);
+};
+
+TinyMCE.prototype.orgCloseWindow = TinyMCE.prototype.closeWindow;
+
+TinyMCE.prototype.closeWindow = function(win) {
+       if (mcWindows.selectedWindow != null)
+               mcWindows.selectedWindow.close();
+       else
+               this.orgCloseWindow(win);
+};
+
+TinyMCE.prototype.setWindowTitle = function(win_ref, title) {
+       for (var n in mcWindows.windows) {
+               var win = mcWindows.windows[n];
+
+               if (win_ref.name == win.id + "_iframe")
+                       window.frames[win.id + "_iframe"].document.getElementById(win.id + '_title').innerHTML = title;
+       }
+};
+
+// * * * * * MCWindows classes below
+
+// Windows handler
+function MCWindows() {
+       this.settings = new Array();
+       this.windows = new Array();
+       this.isMSIE = (navigator.appName == "Microsoft Internet Explorer");
+       this.isGecko = navigator.userAgent.indexOf('Gecko') != -1;
+       this.isSafari = navigator.userAgent.indexOf('Safari') != -1;
+       this.isMac = navigator.userAgent.indexOf('Mac') != -1;
+       this.isMSIE5_0 = this.isMSIE && (navigator.userAgent.indexOf('MSIE 5.0') != -1);
+       this.action = "none";
+       this.selectedWindow = null;
+       this.lastSelectedWindow = null;
+       this.zindex = 100;
+       this.mouseDownScreenX = 0;
+       this.mouseDownScreenY = 0;
+       this.mouseDownLayerX = 0;
+       this.mouseDownLayerY = 0;
+       this.mouseDownWidth = 0;
+       this.mouseDownHeight = 0;
+       this.idCounter = 0;
+};
+
+MCWindows.prototype.init = function(settings) {
+       this.settings = settings;
+
+       if (this.isMSIE)
+               this.addEvent(document, "mousemove", mcWindows.eventDispatcher);
+       else
+               this.addEvent(window, "mousemove", mcWindows.eventDispatcher);
+
+       this.addEvent(document, "mouseup", mcWindows.eventDispatcher);
+
+       this.doc = document;
+};
+
+MCWindows.prototype.getParam = function(name, default_value) {
+       var value = null;
+
+       value = (typeof(this.settings[name]) == "undefined") ? default_value : this.settings[name];
+
+       // Fix bool values
+       if (value == "true" || value == "false")
+               return (value == "true");
+
+       return value;
+};
+
+MCWindows.prototype.eventDispatcher = function(e) {
+       e = typeof(e) == "undefined" ? window.event : e;
+
+       if (mcWindows.selectedWindow == null)
+               return;
+
+       // Switch focus
+       if (mcWindows.isGecko && e.type == "mousedown") {
+               var elm = e.currentTarget;
+
+               for (var n in mcWindows.windows) {
+                       var win = mcWindows.windows[n];
+
+                       if (win.headElement == elm || win.resizeElement == elm) {
+                               win.focus();
+                               break;
+                       }
+               }
+       }
+
+       switch (e.type) {
+               case "mousemove":
+                       mcWindows.selectedWindow.onMouseMove(e);
+                       break;
+
+               case "mouseup":
+                       mcWindows.selectedWindow.onMouseUp(e);
+                       break;
+
+               case "mousedown":
+                       mcWindows.selectedWindow.onMouseDown(e);
+                       break;
+
+               case "focus":
+                       mcWindows.selectedWindow.onFocus(e);
+                       break;
+       }
+};
+
+MCWindows.prototype.addEvent = function(obj, name, handler) {
+       if (this.isMSIE)
+               obj.attachEvent("on" + name, handler);
+       else
+               obj.addEventListener(name, handler, true);
+};
+
+MCWindows.prototype.cancelEvent = function(e) {
+       if (this.isMSIE) {
+               e.returnValue = false;
+               e.cancelBubble = true;
+       } else
+               e.preventDefault();
+};
+
+MCWindows.prototype.parseFeatures = function(opts) {
+       // Cleanup the options
+       opts = opts.toLowerCase();
+       opts = opts.replace(/;/g, ",");
+       opts = opts.replace(/[^0-9a-z=,]/g, "");
+
+       var optionChunks = opts.split(',');
+       var options = new Array();
+
+       options['left'] = "10";
+       options['top'] = "10";
+       options['width'] = "300";
+       options['height'] = "300";
+       options['resizable'] = "yes";
+       options['minimizable'] = "yes";
+       options['maximizable'] = "yes";
+       options['close'] = "yes";
+       options['movable'] = "yes";
+       options['statusbar'] = "yes";
+       options['scrollbars'] = "auto";
+       options['modal'] = "no";
+
+       if (opts == "")
+               return options;
+
+       for (var i=0; i<optionChunks.length; i++) {
+               var parts = optionChunks[i].split('=');
+
+               if (parts.length == 2)
+                       options[parts[0]] = parts[1];
+       }
+
+       options['left'] = parseInt(options['left']);
+       options['top'] = parseInt(options['top']);
+       options['width'] = parseInt(options['width']);
+       options['height'] = parseInt(options['height']);
+
+       return options;
+};
+
+MCWindows.prototype.open = function(url, name, features) {
+       this.lastSelectedWindow = this.selectedWindow;
+
+       var win = new MCWindow();
+       var winDiv, html = "", id;
+       var imgPath = this.getParam("images_path");
+
+       features = this.parseFeatures(features);
+
+       // Create div
+       id = "mcWindow_" + name;
+       win.deltaHeight = 18;
+
+       if (features['statusbar'] == "yes") {
+               win.deltaHeight += 13;
+
+               if (this.isMSIE)
+                       win.deltaHeight += 1;
+       }
+
+       width = parseInt(features['width']);
+       height = parseInt(features['height'])-win.deltaHeight;
+
+       if (this.isMSIE)
+               width -= 2;
+
+       // Setup first part of window
+       win.id = id;
+       win.url = url;
+       win.name = name;
+       win.features = features;
+       this.windows[name] = win;
+
+       iframeWidth = width;
+       iframeHeight = height;
+
+       // Create inner content
+       html += '<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">';
+       html += '<html>';
+       html += '<head>';
+       html += '<title>Wrapper iframe</title>';
+       html += '<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">';
+       html += '<link href="' + this.getParam("css_file") + '" rel="stylesheet" type="text/css" />';
+       html += '</head>';
+       html += '<body onload="parent.mcWindows.onLoad(\'' + name + '\');">';
+
+       html += '<div id="' + id + '_container" class="mceWindow">';
+       html += '<div id="' + id + '_head" class="mceWindowHead" onmousedown="parent.mcWindows.windows[\'' + name + '\'].focus();">';
+       html += '  <div id="' + id + '_title" class="mceWindowTitle"';
+       html += '  onselectstart="return false;" unselectable="on" style="-moz-user-select: none !important;"></div>';
+       html += '    <div class="mceWindowHeadTools">';
+       html += '      <a href="javascript:parent.mcWindows.windows[\'' + name + '\'].close();" onmousedown="return false;" class="mceWindowClose"><img border="0" src="' + imgPath + '/window_close.gif" /></a>';
+//     html += '      <a href="javascript:mcWindows.windows[\'' + name + '\'].maximize();" onmousedown="return false;" class="mceWindowMaximize"></a>';
+//     html += '      <a href="javascript:mcWindows.windows[\'' + name + '\'].minimize();" onmousedown="return false;" class="mceWindowMinimize"></a>';
+       html += '    </div>';
+       html += '</div><div id="' + id + '_body" class="mceWindowBody" style="width: ' + width + 'px; height: ' + height + 'px;">';
+       html += '<iframe id="' + id + '_iframe" name="' + id + '_iframe" frameborder="0" width="' + iframeWidth + '" height="' + iframeHeight + '" src="' + url + '" class="mceWindowBodyIframe" scrolling="' + features['scrollbars'] + '"></iframe></div>';
+
+       if (features['statusbar'] == "yes") {
+               html += '<div id="' + id + '_statusbar" class="mceWindowStatusbar" onmousedown="parent.mcWindows.windows[\'' + name + '\'].focus();">';
+
+               if (features['resizable'] == "yes") {
+                       if (this.isGecko)
+                               html += '<div id="' + id + '_resize" class="mceWindowResize"><div style="background-image: url(\'' + imgPath + '/window_resize.gif\'); width: 12px; height: 12px;"></div></div>';
+                       else
+                               html += '<div id="' + id + '_resize" class="mceWindowResize"><img onmousedown="parent.mcWindows.windows[\'' + name + '\'].focus();" border="0" src="' + imgPath + '/window_resize.gif" /></div>';
+               }
+
+               html += '</div>';
+       }
+
+       html += '</div>';
+
+       html += '</body>';
+       html += '</html>';
+
+       // Create iframe
+       this.createFloatingIFrame(id, features['left'], features['top'], features['width'], features['height'], html);
+};
+
+// Blocks the document events by placing a image over the whole document
+MCWindows.prototype.setDocumentLock = function(state) {
+       if (state) {
+               var elm = document.getElementById('mcWindowEventBlocker');
+               if (elm == null) {
+                       elm = document.createElement("div");
+
+                       elm.id = "mcWindowEventBlocker";
+                       elm.style.position = "absolute";
+                       elm.style.left = "0px";
+                       elm.style.top = "0px";
+
+                       document.body.appendChild(elm);
+               }
+
+               elm.style.display = "none";
+
+               var imgPath = this.getParam("images_path");
+               var width = document.body.clientWidth;
+               var height = document.body.clientHeight;
+
+               elm.style.width = width;
+               elm.style.height = height;
+               elm.innerHTML = '<img src="' + imgPath + '/spacer.gif" width="' + width + '" height="' + height + '" />';
+
+               elm.style.zIndex = mcWindows.zindex-1;
+               elm.style.display = "block";
+       } else {
+               var elm = document.getElementById('mcWindowEventBlocker');
+
+               if (mcWindows.windows.length == 0)
+                       elm.parentNode.removeChild(elm);
+               else
+                       elm.style.zIndex = mcWindows.zindex-1;
+       }
+};
+
+// Gets called when wrapper iframe is initialized
+MCWindows.prototype.onLoad = function(name) {
+       var win = mcWindows.windows[name];
+       var id = "mcWindow_" + name;
+       var wrapperIframe = window.frames[id + "_iframe"].frames[0];
+       var wrapperDoc = window.frames[id + "_iframe"].document;
+       var doc = window.frames[id + "_iframe"].document;
+       var winDiv = document.getElementById("mcWindow_" + name + "_div");
+       var realIframe = window.frames[id + "_iframe"].frames[0];
+
+       // Set window data
+       win.id = "mcWindow_" + name;
+       win.winElement = winDiv;
+       win.bodyElement = doc.getElementById(id + '_body');
+       win.iframeElement = doc.getElementById(id + '_iframe');
+       win.headElement = doc.getElementById(id + '_head');
+       win.titleElement = doc.getElementById(id + '_title');
+       win.resizeElement = doc.getElementById(id + '_resize');
+       win.containerElement = doc.getElementById(id + '_container');
+       win.left = win.features['left'];
+       win.top = win.features['top'];
+       win.frame = window.frames[id + '_iframe'].frames[0];
+       win.wrapperFrame = window.frames[id + '_iframe'];
+       win.wrapperIFrameElement = document.getElementById(id + "_iframe");
+
+       // Add event handlers
+       mcWindows.addEvent(win.headElement, "mousedown", mcWindows.eventDispatcher);
+
+       if (win.resizeElement != null)
+               mcWindows.addEvent(win.resizeElement, "mousedown", mcWindows.eventDispatcher);
+
+       if (mcWindows.isMSIE) {
+               mcWindows.addEvent(realIframe.document, "mousemove", mcWindows.eventDispatcher);
+               mcWindows.addEvent(realIframe.document, "mouseup", mcWindows.eventDispatcher);
+       } else {
+               mcWindows.addEvent(realIframe, "mousemove", mcWindows.eventDispatcher);
+               mcWindows.addEvent(realIframe, "mouseup", mcWindows.eventDispatcher);
+               mcWindows.addEvent(realIframe, "focus", mcWindows.eventDispatcher);
+       }
+
+       for (var i=0; i<window.frames.length; i++) {
+               if (!window.frames[i]._hasMouseHandlers) {
+                       if (mcWindows.isMSIE) {
+                               mcWindows.addEvent(window.frames[i].document, "mousemove", mcWindows.eventDispatcher);
+                               mcWindows.addEvent(window.frames[i].document, "mouseup", mcWindows.eventDispatcher);
+                       } else {
+                               mcWindows.addEvent(window.frames[i], "mousemove", mcWindows.eventDispatcher);
+                               mcWindows.addEvent(window.frames[i], "mouseup", mcWindows.eventDispatcher);
+                       }
+
+                       window.frames[i]._hasMouseHandlers = true;
+               }
+       }
+
+       if (mcWindows.isMSIE) {
+               mcWindows.addEvent(win.frame.document, "mousemove", mcWindows.eventDispatcher);
+               mcWindows.addEvent(win.frame.document, "mouseup", mcWindows.eventDispatcher);
+       } else {
+               mcWindows.addEvent(win.frame, "mousemove", mcWindows.eventDispatcher);
+               mcWindows.addEvent(win.frame, "mouseup", mcWindows.eventDispatcher);
+               mcWindows.addEvent(win.frame, "focus", mcWindows.eventDispatcher);
+       }
+
+       // Dispatch open window event
+       var func = this.getParam("on_open_window", "");
+       if (func != "")
+               eval(func + "(win);");
+
+       win.focus();
+
+       if (win.features['modal'] == "yes")
+               mcWindows.setDocumentLock(true);
+};
+
+MCWindows.prototype.createFloatingIFrame = function(id_prefix, left, top, width, height, html) {
+       var iframe = document.createElement("iframe");
+       var div = document.createElement("div");
+
+       width = parseInt(width);
+       height = parseInt(height)+1;
+
+       // Create wrapper div
+       div.setAttribute("id", id_prefix + "_div");
+       div.setAttribute("width", width);
+       div.setAttribute("height", (height));
+       div.style.position = "absolute";
+       div.style.left = left + "px";
+       div.style.top = top + "px";
+       div.style.width = width + "px";
+       div.style.height = (height) + "px";
+       div.style.backgroundColor = "white";
+       div.style.display = "none";
+
+       if (this.isGecko) {
+               iframeWidth = width + 2;
+               iframeHeight = height + 2;
+       } else {
+               iframeWidth = width;
+               iframeHeight = height + 1;
+       }
+
+       // Create iframe
+       iframe.setAttribute("id", id_prefix + "_iframe");
+       iframe.setAttribute("name", id_prefix + "_iframe");
+       iframe.setAttribute("border", "0");
+       iframe.setAttribute("frameBorder", "0");
+       iframe.setAttribute("marginWidth", "0");
+       iframe.setAttribute("marginHeight", "0");
+       iframe.setAttribute("leftMargin", "0");
+       iframe.setAttribute("topMargin", "0");
+       iframe.setAttribute("width", iframeWidth);
+       iframe.setAttribute("height", iframeHeight);
+//     iframe.setAttribute("src", "../jscripts/tiny_mce/blank.htm");
+       // iframe.setAttribute("allowtransparency", "false");
+       iframe.setAttribute("scrolling", "no");
+       iframe.style.width = iframeWidth + "px";
+       iframe.style.height = iframeHeight + "px";
+       iframe.style.backgroundColor = "white";
+       div.appendChild(iframe);
+
+       document.body.appendChild(div);
+
+       // Fixed MSIE 5.0 issue
+       div.innerHTML = div.innerHTML;
+
+       if (this.isSafari) {
+               // Give Safari some time to setup
+               window.setTimeout(function() {
+                       doc = window.frames[id_prefix + '_iframe'].document;
+                       doc.open();
+                       doc.write(html);
+                       doc.close();
+               }, 10);
+       } else {
+               doc = window.frames[id_prefix + '_iframe'].window.document;
+               doc.open();
+               doc.write(html);
+               doc.close();
+       }
+
+       div.style.display = "block";
+
+       return div;
+};
+
+// Window instance
+function MCWindow() {
+};
+
+MCWindow.prototype.focus = function() {
+       if (this != mcWindows.selectedWindow) {
+               this.winElement.style.zIndex = ++mcWindows.zindex;
+               mcWindows.lastSelectedWindow = mcWindows.selectedWindow;
+               mcWindows.selectedWindow = this;
+       }
+};
+
+MCWindow.prototype.minimize = function() {
+};
+
+MCWindow.prototype.maximize = function() {
+       
+};
+
+MCWindow.prototype.startResize = function() {
+       mcWindows.action = "resize";
+};
+
+MCWindow.prototype.startMove = function(e) {
+       mcWindows.action = "move";
+};
+
+MCWindow.prototype.close = function() {
+       if (mcWindows.lastSelectedWindow != null)
+               mcWindows.lastSelectedWindow.focus();
+
+       var mcWindowsNew = new Array();
+       for (var n in mcWindows.windows) {
+               var win = mcWindows.windows[n];
+
+               if (win.name != this.name)
+                       mcWindowsNew[n] = win;
+       }
+
+       mcWindows.windows = mcWindowsNew;
+
+//     alert(mcWindows.doc.getElementById(this.id + "_iframe"));
+
+       var e = mcWindows.doc.getElementById(this.id + "_iframe");
+       e.parentNode.removeChild(e);
+
+       var e = mcWindows.doc.getElementById(this.id + "_div");
+       e.parentNode.removeChild(e);
+
+       mcWindows.setDocumentLock(false);
+};
+
+MCWindow.prototype.onMouseMove = function(e) {
+       var scrollX = 0;//this.doc.body.scrollLeft;
+       var scrollY = 0;//this.doc.body.scrollTop;
+
+       // Calculate real X, Y
+       var dx = e.screenX - mcWindows.mouseDownScreenX;
+       var dy = e.screenY - mcWindows.mouseDownScreenY;
+
+       switch (mcWindows.action) {
+               case "resize":
+                       width = mcWindows.mouseDownWidth + (e.screenX - mcWindows.mouseDownScreenX);
+                       height = mcWindows.mouseDownHeight + (e.screenY - mcWindows.mouseDownScreenY);
+
+                       width = width < 100 ? 100 : width;
+                       height = height < 100 ? 100 : height;
+
+                       this.wrapperIFrameElement.style.width = width+2;
+                       this.wrapperIFrameElement.style.height = height+2;
+                       this.wrapperIFrameElement.width = width+2;
+                       this.wrapperIFrameElement.height = height+2;
+                       this.winElement.style.width = width;
+                       this.winElement.style.height = height;
+
+                       height = height - this.deltaHeight;
+
+                       this.containerElement.style.width = width;
+
+                       this.iframeElement.style.width = width;
+                       this.iframeElement.style.height = height;
+                       this.bodyElement.style.width = width;
+                       this.bodyElement.style.height = height;
+                       this.headElement.style.width = width;
+                       //this.statusElement.style.width = width;
+
+                       mcWindows.cancelEvent(e);
+                       break;
+
+               case "move":
+                       this.left = mcWindows.mouseDownLayerX + (e.screenX - mcWindows.mouseDownScreenX);
+                       this.top = mcWindows.mouseDownLayerY + (e.screenY - mcWindows.mouseDownScreenY);
+                       this.winElement.style.left = this.left + "px";
+                       this.winElement.style.top = this.top + "px";
+
+                       mcWindows.cancelEvent(e);
+                       break;
+       }
+};
+
+function debug(msg) {
+       document.getElementById('debug').value += msg + "\n";
+}
+
+MCWindow.prototype.onMouseUp = function(e) {
+       mcWindows.action = "none";
+};
+
+MCWindow.prototype.onFocus = function(e) {
+       // Gecko only handler
+       var winRef = e.currentTarget;
+
+       for (var n in mcWindows.windows) {
+               var win = mcWindows.windows[n];
+
+               if (winRef.name == win.id + "_iframe") {
+                       win.focus();
+                       return;
+               }
+       }
+};
+
+MCWindow.prototype.onMouseDown = function(e) {
+       var elm = mcWindows.isMSIE ? this.wrapperFrame.event.srcElement : e.target;
+
+       var scrollX = 0;//this.doc.body.scrollLeft;
+       var scrollY = 0;//this.doc.body.scrollTop;
+
+       mcWindows.mouseDownScreenX = e.screenX;
+       mcWindows.mouseDownScreenY = e.screenY;
+       mcWindows.mouseDownLayerX = this.left;
+       mcWindows.mouseDownLayerY = this.top;
+       mcWindows.mouseDownWidth = parseInt(this.winElement.style.width);
+       mcWindows.mouseDownHeight = parseInt(this.winElement.style.height);
+
+       if (this.resizeElement != null && elm == this.resizeElement.firstChild)
+               this.startResize(e);
+       else
+               this.startMove(e);
+
+       mcWindows.cancelEvent(e);
+};
+
+// Global instance
+var mcWindows = new MCWindows();
+
+// Initialize windows
+mcWindows.init({
+       images_path : tinyMCE.baseURL + "/plugins/inlinepopups/images",
+       css_file : tinyMCE.baseURL + "/plugins/inlinepopups/css/inlinepopup.css"
+});
diff --git a/webcit/tiny_mce/plugins/inlinepopups/images/spacer.gif b/webcit/tiny_mce/plugins/inlinepopups/images/spacer.gif
new file mode 100644 (file)
index 0000000..fc25609
Binary files /dev/null and b/webcit/tiny_mce/plugins/inlinepopups/images/spacer.gif differ
diff --git a/webcit/tiny_mce/plugins/inlinepopups/images/window_close.gif b/webcit/tiny_mce/plugins/inlinepopups/images/window_close.gif
new file mode 100644 (file)
index 0000000..3469e5a
Binary files /dev/null and b/webcit/tiny_mce/plugins/inlinepopups/images/window_close.gif differ
diff --git a/webcit/tiny_mce/plugins/inlinepopups/images/window_maximize.gif b/webcit/tiny_mce/plugins/inlinepopups/images/window_maximize.gif
new file mode 100644 (file)
index 0000000..fcae73e
Binary files /dev/null and b/webcit/tiny_mce/plugins/inlinepopups/images/window_maximize.gif differ
diff --git a/webcit/tiny_mce/plugins/inlinepopups/images/window_minimize.gif b/webcit/tiny_mce/plugins/inlinepopups/images/window_minimize.gif
new file mode 100644 (file)
index 0000000..94f167a
Binary files /dev/null and b/webcit/tiny_mce/plugins/inlinepopups/images/window_minimize.gif differ
diff --git a/webcit/tiny_mce/plugins/inlinepopups/images/window_resize.gif b/webcit/tiny_mce/plugins/inlinepopups/images/window_resize.gif
new file mode 100644 (file)
index 0000000..6c402d0
Binary files /dev/null and b/webcit/tiny_mce/plugins/inlinepopups/images/window_resize.gif differ
diff --git a/webcit/tiny_mce/plugins/inlinepopups/jscripts/mcwindows.js b/webcit/tiny_mce/plugins/inlinepopups/jscripts/mcwindows.js
new file mode 100644 (file)
index 0000000..3461b6b
--- /dev/null
@@ -0,0 +1,455 @@
+/**
+ * $RCSfile$
+ * $Revision$
+ * $Date$
+ *
+ * Moxiecode DHTML Windows script.
+ *
+ * @author Moxiecode
+ * @copyright Copyright © 2004, Moxiecode Systems AB, All rights reserved.
+ */
+
+// Windows handler
+function MCWindows() {
+       this.settings = new Array();
+       this.windows = new Array();
+       this.isMSIE = (navigator.appName == "Microsoft Internet Explorer");
+       this.isGecko = navigator.userAgent.indexOf('Gecko') != -1;
+       this.isSafari = navigator.userAgent.indexOf('Safari') != -1;
+       this.isMac = navigator.userAgent.indexOf('Mac') != -1;
+       this.isMSIE5_0 = this.isMSIE && (navigator.userAgent.indexOf('MSIE 5.0') != -1);
+       this.action = "none";
+       this.selectedWindow = null;
+       this.zindex = 100;
+       this.mouseDownScreenX = 0;
+       this.mouseDownScreenY = 0;
+       this.mouseDownLayerX = 0;
+       this.mouseDownLayerY = 0;
+       this.mouseDownWidth = 0;
+       this.mouseDownHeight = 0;
+};
+
+MCWindows.prototype.init = function(settings) {
+       this.settings = settings;
+
+       if (this.isMSIE)
+               this.addEvent(document, "mousemove", mcWindows.eventDispatcher);
+       else
+               this.addEvent(window, "mousemove", mcWindows.eventDispatcher);
+
+       this.addEvent(document, "mouseup", mcWindows.eventDispatcher);
+};
+
+MCWindows.prototype.getParam = function(name, default_value) {
+       var value = null;
+
+       value = (typeof(this.settings[name]) == "undefined") ? default_value : this.settings[name];
+
+       // Fix bool values
+       if (value == "true" || value == "false")
+               return (value == "true");
+
+       return value;
+};
+
+MCWindows.prototype.eventDispatcher = function(e) {
+       e = typeof(e) == "undefined" ? window.event : e;
+
+       if (mcWindows.selectedWindow == null)
+               return;
+
+       // Switch focus
+       if (mcWindows.isGecko && e.type == "mousedown") {
+               var elm = e.currentTarget;
+
+               for (var n in mcWindows.windows) {
+                       var win = mcWindows.windows[n];
+
+                       if (win.headElement == elm || win.resizeElement == elm) {
+                               win.focus();
+                               break;
+                       }
+               }
+       }
+
+       switch (e.type) {
+               case "mousemove":
+                       mcWindows.selectedWindow.onMouseMove(e);
+                       break;
+
+               case "mouseup":
+                       mcWindows.selectedWindow.onMouseUp(e);
+                       break;
+
+               case "mousedown":
+                       mcWindows.selectedWindow.onMouseDown(e);
+                       break;
+
+               case "focus":
+                       mcWindows.selectedWindow.onFocus(e);
+                       break;
+       }
+}
+
+MCWindows.prototype.addEvent = function(obj, name, handler) {
+       if (this.isMSIE)
+               obj.attachEvent("on" + name, handler);
+       else
+               obj.addEventListener(name, handler, true);
+};
+
+MCWindows.prototype.cancelEvent = function(e) {
+       if (this.isMSIE) {
+               e.returnValue = false;
+               e.cancelBubble = true;
+       } else
+               e.preventDefault();
+};
+
+MCWindows.prototype.parseFeatures = function(opts) {
+       // Cleanup the options
+       opts = opts.toLowerCase();
+       opts = opts.replace(/;/g, ",");
+       opts = opts.replace(/[^0-9a-z=,]/g, "");
+
+       var optionChunks = opts.split(',');
+       var options = new Array();
+
+       options['left'] = 10;
+       options['top'] = 10;
+       options['width'] = 300;
+       options['height'] = 300;
+       options['resizable'] = true;
+       options['minimizable'] = true;
+       options['maximizable'] = true;
+       options['close'] = true;
+       options['movable'] = true;
+
+       if (opts == "")
+               return options;
+
+       for (var i=0; i<optionChunks.length; i++) {
+               var parts = optionChunks[i].split('=');
+
+               if (parts.length == 2)
+                       options[parts[0]] = parts[1];
+       }
+
+       return options;
+};
+
+MCWindows.prototype.open = function(url, name, features) {
+       var win = new MCWindow();
+       var winDiv, html = "", id;
+
+       features = this.parseFeatures(features);
+
+       // Create div
+       id = "mcWindow_" + name;
+
+       width = parseInt(features['width']);
+       height = parseInt(features['height'])-12-19;
+
+       if (this.isMSIE)
+               width -= 2;
+
+       // Setup first part of window
+       win.id = id;
+       win.url = url;
+       win.name = name;
+       win.features = features;
+       this.windows[name] = win;
+
+       iframeWidth = width;
+       iframeHeight = height;
+
+       // Create inner content
+       html += '<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">';
+       html += '<html>';
+       html += '<head>';
+       html += '<title>Wrapper iframe</title>';
+       html += '<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">';
+       html += '<link href="../jscripts/tiny_mce/themes/advanced/css/editor_ui.css" rel="stylesheet" type="text/css" />';
+       html += '</head>';
+       html += '<body onload="parent.mcWindows.onLoad(\'' + name + '\');">';
+
+       html += '<div id="' + id + '_container" class="mceWindow">';
+       html += '<div id="' + id + '_head" class="mceWindowHead" onmousedown="parent.mcWindows.windows[\'' + name + '\'].focus();">';
+       html += '  <div id="' + id + '_title" class="mceWindowTitle"';
+       html += '  onselectstart="return false;" unselectable="on" style="-moz-user-select: none !important;">No name window</div>';
+       html += '    <div class="mceWindowHeadTools">';
+       html += '      <a href="javascript:parent.mcWindows.windows[\'' + name + '\'].close();" onmousedown="return false;" class="mceWindowClose"><img border="0" src="../jscripts/tiny_mce/themes/advanced/images/window_close.gif" /></a>';
+//     html += '      <a href="javascript:mcWindows.windows[\'' + name + '\'].maximize();" onmousedown="return false;" class="mceWindowMaximize"></a>';
+//     html += '      <a href="javascript:mcWindows.windows[\'' + name + '\'].minimize();" onmousedown="return false;" class="mceWindowMinimize"></a>';
+       html += '    </div>';
+       html += '</div><div id="' + id + '_body" class="mceWindowBody" style="width: ' + width + 'px; height: ' + height + 'px;">';
+       html += '<iframe id="' + id + '_iframe" name="' + id + '_iframe" onfocus="parent.mcWindows.windows[\'' + name + '\'].focus();" frameborder="0" width="' + iframeWidth + '" height="' + iframeHeight + '" src="' + url + '" class="mceWindowBodyIframe"></iframe></div>';
+       html += '<div id="' + id + '_statusbar" class="mceWindowStatusbar" onmousedown="parent.mcWindows.windows[\'' + name + '\'].focus();">';
+       html += '<div id="' + id + '_resize" class="mceWindowResize"><img onmousedown="parent.mcWindows.windows[\'' + name + '\'].focus();" border="0" src="../jscripts/tiny_mce/themes/advanced/images/window_resize.gif" /></div>';
+       html += '</div>';
+       html += '</div>';
+
+       html += '</body>';
+       html += '</html>';
+
+       // Create iframe
+       this.createFloatingIFrame(id, features['left'], features['top'], features['width'], features['height'], html);
+};
+
+// Gets called when wrapper iframe is initialized
+MCWindows.prototype.onLoad = function(name) {
+       var win = mcWindows.windows[name];
+       var id = "mcWindow_" + name;
+       var wrapperIframe = window.frames[id + "_iframe"].frames[0];
+       var wrapperDoc = window.frames[id + "_iframe"].document;
+       var doc = window.frames[id + "_iframe"].document;
+       var winDiv = document.getElementById("mcWindow_" + name + "_div");
+       var realIframe = window.frames[id + "_iframe"].frames[0];
+
+       // Set window data
+       win.id = "mcWindow_" + name + "_iframe";
+       win.winElement = winDiv;
+       win.bodyElement = doc.getElementById(id + '_body');
+       win.iframeElement = doc.getElementById(id + '_iframe');
+       win.headElement = doc.getElementById(id + '_head');
+       win.titleElement = doc.getElementById(id + '_title');
+       win.resizeElement = doc.getElementById(id + '_resize');
+       win.containerElement = doc.getElementById(id + '_container');
+       win.left = win.features['left'];
+       win.top = win.features['top'];
+       win.frame = window.frames[id + '_iframe'].frames[0];
+       win.wrapperFrame = window.frames[id + '_iframe'];
+       win.wrapperIFrameElement = document.getElementById(id + "_iframe");
+
+       // Add event handlers
+       mcWindows.addEvent(win.headElement, "mousedown", mcWindows.eventDispatcher);
+       mcWindows.addEvent(win.resizeElement, "mousedown", mcWindows.eventDispatcher);
+
+       if (mcWindows.isMSIE) {
+               mcWindows.addEvent(realIframe.document, "mousemove", mcWindows.eventDispatcher);
+               mcWindows.addEvent(realIframe.document, "mouseup", mcWindows.eventDispatcher);
+       } else {
+               mcWindows.addEvent(realIframe, "mousemove", mcWindows.eventDispatcher);
+               mcWindows.addEvent(realIframe, "mouseup", mcWindows.eventDispatcher);
+               mcWindows.addEvent(realIframe, "focus", mcWindows.eventDispatcher);
+       }
+
+       for (var i=0; i<window.frames.length; i++) {
+               if (!window.frames[i]._hasMouseHandlers) {
+                       if (mcWindows.isMSIE) {
+                               mcWindows.addEvent(window.frames[i].document, "mousemove", mcWindows.eventDispatcher);
+                               mcWindows.addEvent(window.frames[i].document, "mouseup", mcWindows.eventDispatcher);
+                       } else {
+                               mcWindows.addEvent(window.frames[i], "mousemove", mcWindows.eventDispatcher);
+                               mcWindows.addEvent(window.frames[i], "mouseup", mcWindows.eventDispatcher);
+                       }
+
+                       window.frames[i]._hasMouseHandlers = true;
+               }
+       }
+
+       if (mcWindows.isMSIE) {
+               mcWindows.addEvent(win.frame.document, "mousemove", mcWindows.eventDispatcher);
+               mcWindows.addEvent(win.frame.document, "mouseup", mcWindows.eventDispatcher);
+       } else {
+               mcWindows.addEvent(win.frame, "mousemove", mcWindows.eventDispatcher);
+               mcWindows.addEvent(win.frame, "mouseup", mcWindows.eventDispatcher);
+               mcWindows.addEvent(win.frame, "focus", mcWindows.eventDispatcher);
+       }
+
+       this.selectedWindow = win;
+};
+
+MCWindows.prototype.createFloatingIFrame = function(id_prefix, left, top, width, height, html) {
+       var iframe = document.createElement("iframe");
+       var div = document.createElement("div");
+
+       width = parseInt(width);
+       height = parseInt(height)+1;
+
+       // Create wrapper div
+       div.setAttribute("id", id_prefix + "_div");
+       div.setAttribute("width", width);
+       div.setAttribute("height", (height));
+       div.style.position = "absolute";
+       div.style.left = left + "px";
+       div.style.top = top + "px";
+       div.style.width = width + "px";
+       div.style.height = (height) + "px";
+       div.style.backgroundColor = "white";
+       div.style.display = "none";
+
+       if (this.isGecko) {
+               iframeWidth = width + 2;
+               iframeHeight = height + 2;
+       } else {
+               iframeWidth = width;
+               iframeHeight = height + 1;
+       }
+
+       // Create iframe
+       iframe.setAttribute("id", id_prefix + "_iframe");
+       iframe.setAttribute("name", id_prefix + "_iframe");
+       iframe.setAttribute("border", "0");
+       iframe.setAttribute("frameBorder", "0");
+       iframe.setAttribute("marginWidth", "0");
+       iframe.setAttribute("marginHeight", "0");
+       iframe.setAttribute("leftMargin", "0");
+       iframe.setAttribute("topMargin", "0");
+       iframe.setAttribute("width", iframeWidth);
+       iframe.setAttribute("height", iframeHeight);
+//     iframe.setAttribute("src", "../jscripts/tiny_mce/blank.htm");
+       // iframe.setAttribute("allowtransparency", "false");
+       iframe.setAttribute("scrolling", "no");
+       iframe.style.width = iframeWidth + "px";
+       iframe.style.height = iframeHeight + "px";
+       iframe.style.backgroundColor = "white";
+       div.appendChild(iframe);
+
+       document.body.appendChild(div);
+
+       // Fixed MSIE 5.0 issue
+       div.innerHTML = div.innerHTML;
+
+       if (this.isSafari) {
+               // Give Safari some time to setup
+               window.setTimeout(function() {
+                       doc = window.frames[id_prefix + '_iframe'].document;
+                       doc.open();
+                       doc.write(html);
+                       doc.close();
+               }, 10);
+       } else {
+               doc = window.frames[id_prefix + '_iframe'].window.document
+               doc.open();
+               doc.write(html);
+               doc.close();
+       }
+
+       div.style.display = "block";
+
+       return div;
+};
+
+// Window instance
+function MCWindow() {
+};
+
+MCWindow.prototype.focus = function() {
+       this.winElement.style.zIndex = mcWindows.zindex++;
+       mcWindows.selectedWindow = this;
+};
+
+MCWindow.prototype.minimize = function() {
+};
+
+MCWindow.prototype.maximize = function() {
+       
+};
+
+MCWindow.prototype.startResize = function() {
+       mcWindows.action = "resize";
+};
+
+MCWindow.prototype.startMove = function(e) {
+       mcWindows.action = "move";
+};
+
+MCWindow.prototype.close = function() {
+       document.body.removeChild(this.winElement);
+       mcWindows.windows[this.name] = null;
+};
+
+MCWindow.prototype.onMouseMove = function(e) {
+       var scrollX = 0;//this.doc.body.scrollLeft;
+       var scrollY = 0;//this.doc.body.scrollTop;
+
+       // Calculate real X, Y
+       var dx = e.screenX - mcWindows.mouseDownScreenX;
+       var dy = e.screenY - mcWindows.mouseDownScreenY;
+
+       switch (mcWindows.action) {
+               case "resize":
+                       width = mcWindows.mouseDownWidth + (e.screenX - mcWindows.mouseDownScreenX);
+                       height = mcWindows.mouseDownHeight + (e.screenY - mcWindows.mouseDownScreenY);
+
+                       width = width < 100 ? 100 : width;
+                       height = height < 100 ? 100 : height;
+
+                       this.wrapperIFrameElement.style.width = width+2;
+                       this.wrapperIFrameElement.style.height = height+2;
+                       this.wrapperIFrameElement.width = width+2;
+                       this.wrapperIFrameElement.height = height+2;
+                       this.winElement.style.width = width;
+                       this.winElement.style.height = height;
+
+                       height = height-12-19;
+
+                       this.containerElement.style.width = width;
+
+                       this.iframeElement.style.width = width;
+                       this.iframeElement.style.height = height;
+                       this.bodyElement.style.width = width;
+                       this.bodyElement.style.height = height;
+                       this.headElement.style.width = width;
+                       //this.statusElement.style.width = width;
+
+                       mcWindows.cancelEvent(e);
+                       break;
+
+               case "move":
+                       this.left = mcWindows.mouseDownLayerX + (e.screenX - mcWindows.mouseDownScreenX);
+                       this.top = mcWindows.mouseDownLayerY + (e.screenY - mcWindows.mouseDownScreenY);
+                       this.winElement.style.left = this.left + "px";
+                       this.winElement.style.top = this.top + "px";
+
+                       mcWindows.cancelEvent(e);
+                       break;
+       }
+};
+
+function debug(msg) {
+       document.getElementById('debug').value += msg + "\n";
+}
+
+MCWindow.prototype.onMouseUp = function(e) {
+       mcWindows.action = "none";
+};
+
+MCWindow.prototype.onFocus = function(e) {
+       // Gecko only handler
+       var winRef = e.currentTarget;
+
+       for (var n in mcWindows.windows) {
+               var win = mcWindows.windows[n];
+
+               if (winRef.name == win.id) {
+                       win.focus();
+                       return;
+               }
+       }
+};
+
+MCWindow.prototype.onMouseDown = function(e) {
+       var elm = mcWindows.isMSIE ? this.wrapperFrame.event.srcElement : e.target;
+
+       var scrollX = 0;//this.doc.body.scrollLeft;
+       var scrollY = 0;//this.doc.body.scrollTop;
+
+       mcWindows.mouseDownScreenX = e.screenX;
+       mcWindows.mouseDownScreenY = e.screenY;
+       mcWindows.mouseDownLayerX = this.left;
+       mcWindows.mouseDownLayerY = this.top;
+       mcWindows.mouseDownWidth = parseInt(this.winElement.style.width);
+       mcWindows.mouseDownHeight = parseInt(this.winElement.style.height);
+
+       if (elm == this.resizeElement.firstChild)
+               this.startResize(e);
+       else
+               this.startMove(e);
+
+       mcWindows.cancelEvent(e);
+};
+
+// Global instance
+var mcWindows = new MCWindows();
diff --git a/webcit/tiny_mce/plugins/inlinepopups/readme.txt b/webcit/tiny_mce/plugins/inlinepopups/readme.txt
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/webcit/tiny_mce/plugins/insertdatetime/editor_plugin.js b/webcit/tiny_mce/plugins/insertdatetime/editor_plugin.js
new file mode 100644 (file)
index 0000000..12adf3e
--- /dev/null
@@ -0,0 +1,2 @@
+/* Import plugin specific language pack */
+ tinyMCE.importPluginLanguagePack('insertdatetime','cs,el,en,fr_ca,it,ko,sv,zh_cn,fa,fr,de,pl,pt_br,nl');function TinyMCE_insertdatetime_getInfo(){return{longname:'Insert date/time',author:'Moxiecode Systems',authorurl:'http://tinymce.moxiecode.com',infourl:'http://tinymce.moxiecode.com/tinymce/docs/plugin_insertdatetime.html',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion};};function TinyMCE_insertdatetime_getControlHTML(control_name){switch(control_name){case "insertdate":return '<a href="javascript:tinyMCE.execInstanceCommand(\'{$editor_id}\',\'mceInsertDate\');" onmousedown="return false;"><img id="{$editor_id}_insertdate" src="{$pluginurl}/images/insertdate.gif" title="{$lang_insertdate_desc}" width="20" height="20" class="mceButtonNormal" onmouseover="tinyMCE.switchClass(this,\'mceButtonOver\');" onmouseout="tinyMCE.restoreClass(this);" onmousedown="tinyMCE.restoreAndSwitchClass(this,\'mceButtonDown\');" /></a>';case "inserttime":return '<a href="javascript:tinyMCE.execInstanceCommand(\'{$editor_id}\',\'mceInsertTime\');" onmousedown="return false;"><img id="{$editor_id}_inserttime" src="{$pluginurl}/images/inserttime.gif" title="{$lang_inserttime_desc}" width="20" height="20" class="mceButtonNormal" onmouseover="tinyMCE.switchClass(this,\'mceButtonOver\');" onmouseout="tinyMCE.restoreClass(this);" onmousedown="tinyMCE.restoreAndSwitchClass(this,\'mceButtonDown\');" /></a>';}return "";}function TinyMCE_insertdatetime_execCommand(editor_id,element,command,user_interface,value){function addZeros(value,len){value=""+value;if(value.length<len){for(var i=0;i<(len-value.length);i++)value="0"+value;}return value;}function getDateTime(date,format){format=tinyMCE.regexpReplace(format,"%D","%m/%d/%y");format=tinyMCE.regexpReplace(format,"%r","%I:%M:%S %p");format=tinyMCE.regexpReplace(format,"%Y",""+date.getFullYear());format=tinyMCE.regexpReplace(format,"%y",""+date.getYear());format=tinyMCE.regexpReplace(format,"%m",addZeros(date.getMonth()+1,2));format=tinyMCE.regexpReplace(format,"%d",addZeros(date.getDate(),2));format=tinyMCE.regexpReplace(format,"%H",""+addZeros(date.getHours(),2));format=tinyMCE.regexpReplace(format,"%M",""+addZeros(date.getMinutes(),2));format=tinyMCE.regexpReplace(format,"%S",""+addZeros(date.getSeconds(),2));format=tinyMCE.regexpReplace(format,"%I",""+(date.getHours()<12?(date.getHours()+1):24-date.getHours()));format=tinyMCE.regexpReplace(format,"%p",""+(date.getHours()<12?"AM":"PM"));format=tinyMCE.regexpReplace(format,"%B",""+tinyMCE.getLang("lang_inserttime_months_long")[date.getMonth()]);format=tinyMCE.regexpReplace(format,"%b",""+tinyMCE.getLang("lang_inserttime_months_short")[date.getMonth()]);format=tinyMCE.regexpReplace(format,"%A",""+tinyMCE.getLang("lang_inserttime_day_long")[date.getDay()]);format=tinyMCE.regexpReplace(format,"%a",""+tinyMCE.getLang("lang_inserttime_day_short")[date.getDay()]);format=tinyMCE.regexpReplace(format,"%%","%");return format;}switch(command){case "mceInsertDate":tinyMCE.execInstanceCommand(editor_id,'mceInsertContent',false,getDateTime(new Date(),tinyMCE.getParam("plugin_insertdate_dateFormat",tinyMCE.getLang('lang_insertdate_def_fmt'))));return true;case "mceInsertTime":tinyMCE.execInstanceCommand(editor_id,'mceInsertContent',false,getDateTime(new Date(),tinyMCE.getParam("plugin_insertdate_timeFormat",tinyMCE.getLang('lang_inserttime_def_fmt'))));return true;}return false;}
\ No newline at end of file
diff --git a/webcit/tiny_mce/plugins/insertdatetime/editor_plugin_src.js b/webcit/tiny_mce/plugins/insertdatetime/editor_plugin_src.js
new file mode 100644 (file)
index 0000000..386ae87
--- /dev/null
@@ -0,0 +1,80 @@
+/* Import plugin specific language pack */
+tinyMCE.importPluginLanguagePack('insertdatetime', 'cs,el,en,fr_ca,it,ko,sv,zh_cn,fa,fr,de,pl,pt_br,nl');
+
+function TinyMCE_insertdatetime_getInfo() {
+       return {
+               longname : 'Insert date/time',
+               author : 'Moxiecode Systems',
+               authorurl : 'http://tinymce.moxiecode.com',
+               infourl : 'http://tinymce.moxiecode.com/tinymce/docs/plugin_insertdatetime.html',
+               version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion
+       };
+};
+
+/**
+ * Returns the HTML contents of the insertdate, inserttime controls.
+ */
+function TinyMCE_insertdatetime_getControlHTML(control_name) {
+       switch (control_name) {
+               case "insertdate":
+                       return '<a href="javascript:tinyMCE.execInstanceCommand(\'{$editor_id}\',\'mceInsertDate\');" onmousedown="return false;"><img id="{$editor_id}_insertdate" src="{$pluginurl}/images/insertdate.gif" title="{$lang_insertdate_desc}" width="20" height="20" class="mceButtonNormal" onmouseover="tinyMCE.switchClass(this,\'mceButtonOver\');" onmouseout="tinyMCE.restoreClass(this);" onmousedown="tinyMCE.restoreAndSwitchClass(this,\'mceButtonDown\');" /></a>';
+
+               case "inserttime":
+                       return '<a href="javascript:tinyMCE.execInstanceCommand(\'{$editor_id}\',\'mceInsertTime\');" onmousedown="return false;"><img id="{$editor_id}_inserttime" src="{$pluginurl}/images/inserttime.gif" title="{$lang_inserttime_desc}" width="20" height="20" class="mceButtonNormal" onmouseover="tinyMCE.switchClass(this,\'mceButtonOver\');" onmouseout="tinyMCE.restoreClass(this);" onmousedown="tinyMCE.restoreAndSwitchClass(this,\'mceButtonDown\');" /></a>';
+       }
+
+       return "";
+}
+
+/**
+ * Executes the mceInsertDate command.
+ */
+function TinyMCE_insertdatetime_execCommand(editor_id, element, command, user_interface, value) {
+       /* Adds zeros infront of value */
+       function addZeros(value, len) {
+               value = "" + value;
+
+               if (value.length < len) {
+                       for (var i=0; i<(len-value.length); i++)
+                               value = "0" + value;
+               }
+
+               return value;
+       }
+
+       /* Returns the date object in the specified format */
+       function getDateTime(date, format) {
+               format = tinyMCE.regexpReplace(format, "%D", "%m/%d/%y");
+               format = tinyMCE.regexpReplace(format, "%r", "%I:%M:%S %p");
+               format = tinyMCE.regexpReplace(format, "%Y", "" + date.getFullYear());
+               format = tinyMCE.regexpReplace(format, "%y", "" + date.getYear());
+               format = tinyMCE.regexpReplace(format, "%m", addZeros(date.getMonth()+1, 2));
+               format = tinyMCE.regexpReplace(format, "%d", addZeros(date.getDate(), 2));
+               format = tinyMCE.regexpReplace(format, "%H", "" + addZeros(date.getHours(), 2));
+               format = tinyMCE.regexpReplace(format, "%M", "" + addZeros(date.getMinutes(), 2));
+               format = tinyMCE.regexpReplace(format, "%S", "" + addZeros(date.getSeconds(), 2));
+               format = tinyMCE.regexpReplace(format, "%I", "" + (date.getHours() < 12 ? (date.getHours()+1) : 24-date.getHours()));
+               format = tinyMCE.regexpReplace(format, "%p", "" + (date.getHours() < 12 ? "AM" : "PM"));
+               format = tinyMCE.regexpReplace(format, "%B", "" + tinyMCE.getLang("lang_inserttime_months_long")[date.getMonth()]);
+               format = tinyMCE.regexpReplace(format, "%b", "" + tinyMCE.getLang("lang_inserttime_months_short")[date.getMonth()]);
+               format = tinyMCE.regexpReplace(format, "%A", "" + tinyMCE.getLang("lang_inserttime_day_long")[date.getDay()]);
+               format = tinyMCE.regexpReplace(format, "%a", "" + tinyMCE.getLang("lang_inserttime_day_short")[date.getDay()]);
+               format = tinyMCE.regexpReplace(format, "%%", "%");
+
+               return format;
+       }
+
+       // Handle commands
+       switch (command) {
+               case "mceInsertDate":
+                       tinyMCE.execInstanceCommand(editor_id, 'mceInsertContent', false, getDateTime(new Date(), tinyMCE.getParam("plugin_insertdate_dateFormat", tinyMCE.getLang('lang_insertdate_def_fmt'))));
+                       return true;
+
+               case "mceInsertTime":
+                       tinyMCE.execInstanceCommand(editor_id, 'mceInsertContent', false, getDateTime(new Date(), tinyMCE.getParam("plugin_insertdate_timeFormat", tinyMCE.getLang('lang_inserttime_def_fmt'))));
+                       return true;
+       }
+
+       // Pass to next handler in chain
+       return false;
+}
diff --git a/webcit/tiny_mce/plugins/insertdatetime/images/insertdate.gif b/webcit/tiny_mce/plugins/insertdatetime/images/insertdate.gif
new file mode 100644 (file)
index 0000000..00c2718
Binary files /dev/null and b/webcit/tiny_mce/plugins/insertdatetime/images/insertdate.gif differ
diff --git a/webcit/tiny_mce/plugins/insertdatetime/images/inserttime.gif b/webcit/tiny_mce/plugins/insertdatetime/images/inserttime.gif
new file mode 100644 (file)
index 0000000..27bdff1
Binary files /dev/null and b/webcit/tiny_mce/plugins/insertdatetime/images/inserttime.gif differ
diff --git a/webcit/tiny_mce/plugins/insertdatetime/langs/cs.js b/webcit/tiny_mce/plugins/insertdatetime/langs/cs.js
new file mode 100644 (file)
index 0000000..02e3f14
--- /dev/null
@@ -0,0 +1,18 @@
+/**
+ * Czech lang variables 
+ * encoding: utf-8
+ *  
+ * $Id$ 
+ */  
+
+tinyMCE.addToLang('',{
+insertdate_def_fmt : '%Y-%m-%d',
+inserttime_def_fmt : '%H:%M:%S',
+insertdate_desc : 'Vložit datum',
+inserttime_desc : 'Vložit čas',
+inserttime_months_long : new Array('Leden','Únor','Březen','Duben','Květen','Červen','Červenec','Srpen','Září','Říjen','Listopad','Prosinec'),
+inserttime_months_short : new Array('Led','Úno','Bře','Dub','Kvě','Črv','Čvc','Srp','Zář','Říj','Lis','Pro'),
+inserttime_day_long : new Array('Neděle','Pondělí','Úterý','Středa','Čtvrtek','Pátek','Sobota','Neděle'),
+inserttime_day_short : new Array('Ne','Po','Út','St','Čt','Pá','So','Ne')
+});
+
diff --git a/webcit/tiny_mce/plugins/insertdatetime/langs/de.js b/webcit/tiny_mce/plugins/insertdatetime/langs/de.js
new file mode 100644 (file)
index 0000000..ac5f6d4
--- /dev/null
@@ -0,0 +1,12 @@
+// DE lang variables 
+
+tinyMCE.addToLang('',{
+insertdate_def_fmt : '%Y-%m-%d',
+inserttime_def_fmt : '%H:%M:%S',
+insertdate_desc : 'Datum einf&uuml;gen',
+inserttime_desc : 'Zeit einf&uuml;gen',
+inserttime_months_long : new Array("Januar", "Februar", "M\u00e4rz", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember"),
+inserttime_months_short : new Array("Jan", "Feb", "M\u00e4r", "Apr", "Mai", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dez"),
+inserttime_day_long : new Array("Sonntag", "Montag", "Dienstag", "Mittwoch", "Donnerstag", "Freitag", "Samstag", "Sonntag"),
+inserttime_day_short : new Array("So", "Mo", "Di", "Mi", "Do", "Fr", "Sa", "So")
+});
diff --git a/webcit/tiny_mce/plugins/insertdatetime/langs/el.js b/webcit/tiny_mce/plugins/insertdatetime/langs/el.js
new file mode 100644 (file)
index 0000000..9f8920b
--- /dev/null
@@ -0,0 +1,12 @@
+// Greek lang variables by Jacaranda Bill
+
+tinyMCE.addToLang('',{
+insertdate_def_fmt : '%Y-%m-%d',
+inserttime_def_fmt : '%H:%M:%S',
+insertdate_desc : '&Aring;éóáãùãÞ çì&aring;ñïìçíßáò',
+inserttime_desc : '&Aring;éóáãùãÞ þñáò',
+inserttime_months_long : new Array("January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"),
+inserttime_months_short : new Array("Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"),
+inserttime_day_long : new Array("Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"),
+inserttime_day_short : new Array("Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun")
+});
diff --git a/webcit/tiny_mce/plugins/insertdatetime/langs/en.js b/webcit/tiny_mce/plugins/insertdatetime/langs/en.js
new file mode 100644 (file)
index 0000000..939438f
--- /dev/null
@@ -0,0 +1,12 @@
+// UK lang variables
+
+tinyMCE.addToLang('',{
+insertdate_def_fmt : '%Y-%m-%d',
+inserttime_def_fmt : '%H:%M:%S',
+insertdate_desc : 'Insert date',
+inserttime_desc : 'Insert time',
+inserttime_months_long : new Array("January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"),
+inserttime_months_short : new Array("Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"),
+inserttime_day_long : new Array("Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"),
+inserttime_day_short : new Array("Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun")
+});
diff --git a/webcit/tiny_mce/plugins/insertdatetime/langs/fa.js b/webcit/tiny_mce/plugins/insertdatetime/langs/fa.js
new file mode 100644 (file)
index 0000000..28990af
--- /dev/null
@@ -0,0 +1,13 @@
+// IR lang variables
+// Persian (Farsi) language pack (for IRAN)
+// By: Morteza Zafari
+// Lost@LostLord.com
+// http://www.LostLord.com
+
+tinyMCE.addToLang('',{
+insertdate_def_fmt : '%Y-%m-%d',
+inserttime_def_fmt : '%H:%M:%S',
+dir : 'rtl',
+insertdate_desc : '?????? ?????',
+inserttime_desc : '?????? ????'
+});
diff --git a/webcit/tiny_mce/plugins/insertdatetime/langs/fr.js b/webcit/tiny_mce/plugins/insertdatetime/langs/fr.js
new file mode 100644 (file)
index 0000000..ae9061c
--- /dev/null
@@ -0,0 +1,12 @@
+// French lang variables by Laurent Dran
+
+tinyMCE.addToLang('',{
+insertdate_def_fmt : '%Y-%m-%d',
+inserttime_def_fmt : '%H:%M:%S',
+insertdate_desc : 'Ins&egrave;rer la date',
+inserttime_desc : 'Ins&egrave;rer l\'heure',
+inserttime_months_long : new Array("Janvier", "Février", "Mars", "Avril", "Mai", "Juin", "Juillet", "Août", "Septembre", "Octobre", "Novembre", "Décembre"),
+inserttime_months_short : new Array("Jan", "Fev", "Mar", "Avr", "Mai", "Juin", "Juil", "Aout", "Sep", "Oct", "Nov", "Dec"),
+inserttime_day_long : new Array("Dimanche", "Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi", "Samedi", "Dimanche"),
+inserttime_day_short : new Array("Lun", "Mar", "Mer", "Jeu", "Thu", "Ven", "Sam", "Dim")
+});
diff --git a/webcit/tiny_mce/plugins/insertdatetime/langs/fr_ca.js b/webcit/tiny_mce/plugins/insertdatetime/langs/fr_ca.js
new file mode 100644 (file)
index 0000000..ef288f2
--- /dev/null
@@ -0,0 +1,10 @@
+// Canadian French lang variables by Virtuelcom
+
+tinyMCE.addToLang('',{
+insertdate_desc : 'Insérer la date',
+inserttime_desc : 'Insérer l\'heure',
+inserttime_months_long : new Array("Janvier", "Février", "Mars", "Avril", "Mai", "Juin", "Juillet", "Août", "Septembre", "Octobre", "Novembre", "Décembre"),
+inserttime_months_short : new Array("Jan", "Fev", "Mar", "Avr", "Mai", "Juin", "Juil", "Aout", "Sep", "Oct", "Nov", "Dec"),
+inserttime_day_long : new Array("Dimanche", "Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi", "Samedi", "Dimanche"),
+inserttime_day_short : new Array("Lun", "Mar", "Mer", "Jeu", "Thu", "Ven", "Sam", "Dim")
+});
diff --git a/webcit/tiny_mce/plugins/insertdatetime/langs/he.js b/webcit/tiny_mce/plugins/insertdatetime/langs/he.js
new file mode 100644 (file)
index 0000000..5f18851
--- /dev/null
@@ -0,0 +1,12 @@
+// HE lang variables by Liron Newman, http://eesh.net
+
+tinyMCE.addToLang('',{
+insertdate_def_fmt : '%Y-%m-%d',
+inserttime_def_fmt : '%H:%M:%S',
+insertdate_desc : '&auml;ëðñ úàøéê',
+inserttime_desc : '&auml;ëðñ ùò&auml;',
+inserttime_months_long : new Array("éð&aring;àø", "ôáø&aring;àø", "îøõ", "àôøéì", "îàé", "é&aring;ðé", "é&aring;ìé", "à&aring;ë&aring;ñè", "ñôèîáø", "à&aring;÷è&aring;áø", "ð&aring;áîáø", "ã&ouml;îáø"),
+inserttime_months_short : new Array("éð&aring;", "ôáø", "îøõ", "àôø", "îàé", "é&aring;ð", "é&aring;ì", "à&aring;â", "ñôè", "à&aring;÷", "ð&aring;á", "ã&ouml;î"),
+inserttime_day_long : new Array("é&aring;í øàù&aring;ï", "é&aring;í ùðé", "é&aring;í ùìéùé", "é&aring;í øáéòé", "é&aring;í çîéùé", "é&aring;í ùéùé", "é&aring;í ùáú", "é&aring;í øàù&aring;ï"),
+inserttime_day_short : new Array("à'", "á'", "â'", "ã'", "&auml;'", "&aring;'", "ù'", "à'")
+});
diff --git a/webcit/tiny_mce/plugins/insertdatetime/langs/it.js b/webcit/tiny_mce/plugins/insertdatetime/langs/it.js
new file mode 100644 (file)
index 0000000..6b86459
--- /dev/null
@@ -0,0 +1,12 @@
+// IT lang variables
+
+tinyMCE.addToLang('',{
+insertdate_def_fmt : '%Y-%m-%d',
+inserttime_def_fmt : '%H:%M:%S',
+insertdate_desc : 'Inserisci data',
+inserttime_desc : 'Inserisci ora',
+inserttime_months_long : new Array("Gennaio", "Febbraio", "Marzo", "Aprile", "Maggio", "Giugno", "Luglio", "Agosto", "Settembre", "Ottobre", "Novembre", "Dicembre"),
+inserttime_months_short : new Array("Gen", "Feb", "Mar", "Apr", "Mag", "Giu", "Lug", "Ago", "Set", "Ott", "Nov", "Dic"),
+inserttime_day_long : new Array("Domenica", "Lunedì", "Martedì", "Mercoledì", "Giovedì", "Venerdì", "Sabato", "Domenica"),
+inserttime_day_short : new Array("Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun")
+});
diff --git a/webcit/tiny_mce/plugins/insertdatetime/langs/ko.js b/webcit/tiny_mce/plugins/insertdatetime/langs/ko.js
new file mode 100644 (file)
index 0000000..cedaeaa
--- /dev/null
@@ -0,0 +1,12 @@
+// KO lang variables
+
+tinyMCE.addToLang('',{
+insertdate_def_fmt : '%Y-%m-%d',
+inserttime_def_fmt : '%H:%M:%S',
+insertdate_desc : '³¯Â¥ ³&Ouml;±â',
+inserttime_desc : '½Ã°£ ³&Ouml;±â',
+inserttime_months_long : new Array("1¿ù", "2¿ù", "3¿ù", "4¿ù", "5¿ù", "6¿ù", "7¿ù", "8¿ù", "9¿ù", "10¿ù", "11¿ù", "12¿ù"),
+inserttime_months_short : new Array("1¿ù", "2¿ù", "3¿ù", "4¿ù", "5¿ù", "6¿ù", "7¿ù", "8¿ù", "9¿ù", "10¿ù", "11¿ù", "12¿ù"),
+inserttime_day_long : new Array("ÀÏ¿&auml;ÀÏ", "¿ù¿&auml;ÀÏ", "È­¿&auml;ÀÏ", "¼&ouml;¿&auml;ÀÏ", "¸ñ¿&auml;ÀÏ", "±Ý¿&auml;ÀÏ", "&Aring;&auml;¿&auml;ÀÏ", "ÀÏ¿&auml;ÀÏ"),
+inserttime_day_short : new Array("ÀÏ", "¿ù", "È­", "¼&ouml;", "¸ñ", "±Ý", "&Aring;&auml;", "ÀÏ")
+});
diff --git a/webcit/tiny_mce/plugins/insertdatetime/langs/nl.js b/webcit/tiny_mce/plugins/insertdatetime/langs/nl.js
new file mode 100644 (file)
index 0000000..fe6fc46
--- /dev/null
@@ -0,0 +1,8 @@
+// UK lang variables
+
+tinyMCE.addToLang('',{
+insertdate_def_fmt : '%Y-%m-%d',
+inserttime_def_fmt : '%H:%M:%S',
+insertdate_desc : 'Datum invoegen',
+inserttime_desc : 'Tijd invoegen'
+});
diff --git a/webcit/tiny_mce/plugins/insertdatetime/langs/pl.js b/webcit/tiny_mce/plugins/insertdatetime/langs/pl.js
new file mode 100644 (file)
index 0000000..46277c4
--- /dev/null
@@ -0,0 +1,12 @@
+// PL lang variables
+
+tinyMCE.addToLang('',{
+insertdate_def_fmt : '%Y-%m-%d',
+inserttime_def_fmt : '%H:%M:%S',
+insertdate_desc : 'Wstaw aktualna date',
+inserttime_desc : 'Wstaw aktualny czas',
+inserttime_months_long : new Array("Styczen", "Luty", "Marzec", "Kwiecien", "Maj", "Czerwiec", "Lipiec", "Sierpien", "Wrzesien", "Pazdziernik", "Listopad", "Grudzien"),
+inserttime_months_short : new Array("Stcz", "Lut", "Mar", "Kwi", "Maj", "Czer", "Lip", "Sier", "Wrze", "Paz", "List", "Grudz"),
+inserttime_day_long : new Array("Niedziela", "Poniedzialek", "Wtorek", "Sroda", "Czwartek", "Piatek", "Sobota", "Niedziela"),
+inserttime_day_short : new Array("Nie", "Pon", "Wto", "Sro", "Czw", "Pia", "Sob", "Nie")
+});
diff --git a/webcit/tiny_mce/plugins/insertdatetime/langs/pt_br.js b/webcit/tiny_mce/plugins/insertdatetime/langs/pt_br.js
new file mode 100644 (file)
index 0000000..d566cd0
--- /dev/null
@@ -0,0 +1,10 @@
+// pt_BR lang variables
+
+tinyMCE.addToLang('',{
+insertdate_desc : 'Inserir data',
+inserttime_desc : 'Inserir hora',
+inserttime_months_long : new Array("Janeiro", "Fevereiro", "Março", "Abril", "Maio", "Junho", "Julho", "Agosto", "Setembro", "Outubro", "Novembro", "Dezembro"),
+inserttime_months_short : new Array("Jan", "Fev", "Mar", "Abr", "Mai", "Jun", "Jul", "Ago", "Set", "Out", "Nov", "Dez"),
+inserttime_day_long : new Array("Domindo", "Segunda-Feira", "Terça-Feira", "Quarta-Feira", "Quinta-Feira", "Sexta-Feira", "Sábado", "Domingo"),
+inserttime_day_short : new Array("Dom", "Seg", "Ter", "Qua", "Qui", "Sex", "Sab", "Dom")
+});
diff --git a/webcit/tiny_mce/plugins/insertdatetime/langs/sv.js b/webcit/tiny_mce/plugins/insertdatetime/langs/sv.js
new file mode 100644 (file)
index 0000000..29c9e4d
--- /dev/null
@@ -0,0 +1,12 @@
+// SE lang variables
+
+tinyMCE.addToLang('',{
+insertdate_def_fmt : '%Y-%m-%d',
+inserttime_def_fmt : '%H:%M:%S',
+insertdate_desc : 'Klistra in datum',
+inserttime_desc : 'Klistra in tid',
+inserttime_months_long  : new Array("Januari", "Februari", "Mars", "April", "Maj", "Juni", "Juli", "Augusti", "September", "Oktober", "November", "December"),
+inserttime_months_short  : new Array("Jan","Feb", "Mar", "Apr", "Maj", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dec"),
+inserttime_day_long  : new Array("S&ouml;ndag", "M&aring;ndag", "Tisdag", "Onsdag", "Torsdag", "Fredag", "L&ouml;rdag", "S&ouml;ndag"),
+inserttime_day_short  : new Array("S&ouml;n", "M&aring;n", "Tis", "Ons", "Tor", "Fre", "L&ouml;r", "S&ouml;n")
+});
diff --git a/webcit/tiny_mce/plugins/insertdatetime/langs/zh_cn.js b/webcit/tiny_mce/plugins/insertdatetime/langs/zh_cn.js
new file mode 100644 (file)
index 0000000..2d0aee6
--- /dev/null
@@ -0,0 +1,11 @@
+// Simplified Chinese lang variables contributed by cube316 (cube316@gmail.com)
+//Çë·ÃÎÊ http://www.cube316.net/ ÒÔ»ñÈ¡TinyMCEµ&Auml;&Ouml;ÐÎ&Auml;&Ouml;§³&Ouml;
+
+tinyMCE.addToLang('',{
+insertdate_desc : '²&aring;È뵱ǰÈÕÆÚ',
+inserttime_desc : '²&aring;È뵱ǰʱ¼&auml;',
+inserttime_months_long : new Array("Ò»Ô·Ý", "¶þÔ·Ý", "ÈýÔ·Ý", "Ë&Auml;Ô·Ý", "Î&aring;Ô·Ý", "ÁùÔ·Ý", "ÆßÔ·Ý", "°ËÔ·Ý", "¾&Aring;Ô·Ý", "ʮԷÝ", "ʮһÔ·Ý", "Ê®¶þÔ·Ý"),
+inserttime_months_short : new Array("Ò»ÔÂ", "¶þÔÂ", "ÈýÔÂ", "Ë&Auml;ÔÂ", "Î&aring;ÔÂ", "ÁùÔÂ", "ÆßÔÂ", "°ËÔÂ", "¾&Aring;ÔÂ", "Ê®ÔÂ", "ʮһÔÂ", "Ê®¶þÔÂ"),
+inserttime_day_long : new Array("ÐÇÆÚÈÕ", "ÐÇÆÚÒ»", "ÐÇÆÚ¶þ", "ÐÇÆÚÈý", "ÐÇÆÚË&Auml;", "ÐÇÆÚÎ&aring;", "ÐÇÆÚÁù", "ÐÇÆÚÈÕ"),
+inserttime_day_short : new Array("&Ouml;ÜÈÕ", "&Ouml;ÜÒ»", "&Ouml;ܶþ", "&Ouml;ÜÈý", "&Ouml;ÜË&Auml;", "&Ouml;ÜÎ&aring;", "&Ouml;ÜÁù", "&Ouml;ÜÈÕ")
+});
diff --git a/webcit/tiny_mce/plugins/insertdatetime/readme.txt b/webcit/tiny_mce/plugins/insertdatetime/readme.txt
new file mode 100644 (file)
index 0000000..6bc6d7d
--- /dev/null
@@ -0,0 +1 @@
+Check the TinyMCE documentation for details on this plugin.
diff --git a/webcit/tiny_mce/plugins/noneditable/css/noneditable.css b/webcit/tiny_mce/plugins/noneditable/css/noneditable.css
new file mode 100644 (file)
index 0000000..2de3b8f
--- /dev/null
@@ -0,0 +1,17 @@
+/* This is the CSS file for the noneditable elements plugin */
+
+.mceItemEditable {
+       /*border: 1px dotted #0000cc;*/
+       -moz-user-focus: none;
+       -moz-user-input: auto;
+       -moz-user-modify: auto;
+       -moz-user-select: text;
+}
+
+.mceItemNonEditable {
+       /*border: 1px dotted #cc0000;*/
+       -moz-user-focus: ignore;
+       /*-moz-user-input: disabled;*/
+       -moz-user-modify: read-only;
+       -moz-user-select: all;
+}
diff --git a/webcit/tiny_mce/plugins/noneditable/editor_plugin.js b/webcit/tiny_mce/plugins/noneditable/editor_plugin.js
new file mode 100644 (file)
index 0000000..37beb47
--- /dev/null
@@ -0,0 +1 @@
+function TinyMCE_noneditable_getInfo(){return{longname:'Non editable elements',author:'Moxiecode Systems',authorurl:'http://tinymce.moxiecode.com',infourl:'http://tinymce.moxiecode.com/tinymce/docs/plugin_noneditable.html',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion};};function TinyMCE_noneditable_initInstance(inst){tinyMCE.importCSS(inst.getDoc(),tinyMCE.baseURL+"/plugins/noneditable/css/noneditable.css");if(tinyMCE.isMSIE5_0)tinyMCE.settings['plugins']=tinyMCE.settings['plugins'].replace(/noneditable/gi,'Noneditable');if(tinyMCE.isGecko){tinyMCE.addEvent(inst.getDoc(),"keyup",TinyMCE_noneditable_fixKeyUp);}}function TinyMCE_noneditable_fixKeyUp(e){var inst=tinyMCE.selectedInstance;var sel=inst.getSel();var rng=inst.getRng();var an=sel.anchorNode;if((e.keyCode==38||e.keyCode==37||e.keyCode==40||e.keyCode==39)&&(elm=TinyMCE_noneditable_isNonEditable(an))!=null){rng=inst.getDoc().createRange();rng.selectNode(elm);rng.collapse(true);sel.removeAllRanges();sel.addRange(rng);tinyMCE.cancelEvent(e);}}function TinyMCE_noneditable_selectAll(e){var inst=tinyMCE.selectedInstance;var sel=inst.getSel();var doc=inst.getDoc();if((elm=TinyMCE_noneditable_isNonEditable(sel.focusNode))!=null){inst.selectNode(elm,false);tinyMCE.cancelEvent(e);return;}if((elm=TinyMCE_noneditable_isNonEditable(sel.anchorNode))!=null){inst.selectNode(elm,false);tinyMCE.cancelEvent(e);return;}}function TinyMCE_noneditable_isNonEditable(elm){var editClass=tinyMCE.getParam("noneditable_editable_class","mceItemEditable");var nonEditClass=tinyMCE.getParam("noneditable_noneditable_class","mceItemNonEditable");if(!elm)return;do{var className=elm.className?elm.className:"";if(className.indexOf(editClass)!=-1)return null;if(className.indexOf(nonEditClass)!=-1)return elm;}while(elm=elm.parentNode);return null;}function TinyMCE_noneditable_cleanup(type,content,inst){switch(type){case "insert_to_editor_dom":var nodes=tinyMCE.getNodeTree(content,new Array(),1);var editClass=tinyMCE.getParam("noneditable_editable_class","mceItemEditable");var nonEditClass=tinyMCE.getParam("noneditable_noneditable_class","mceItemNonEditable");for(var i=0;i<nodes.length;i++){var elm=nodes[i];var editable=tinyMCE.getAttrib(elm,"contenteditable");if(new RegExp("true|false","gi").test(editable))TinyMCE_noneditable_setEditable(elm,editable=="true");if(tinyMCE.isMSIE){var className=elm.className?elm.className:"";if(className.indexOf(editClass)!=-1)elm.contentEditable=true;if(className.indexOf(nonEditClass)!=-1)elm.contentEditable=false;}}break;case "insert_to_editor":if(tinyMCE.isMSIE){var editClass=tinyMCE.getParam("noneditable_editable_class","mceItemEditable");var nonEditClass=tinyMCE.getParam("noneditable_noneditable_class","mceItemNonEditable");content=content.replace(new RegExp("<(.*?)class=\"(.*?)("+editClass+")(.*?)\"(.*?)>","gi"),'<$1class="$2$3$4" contenteditable="true"$5>');content=content.replace(new RegExp("<(.*?)class=\"(.*?)("+nonEditClass+")(.*?)\"(.*?)>","gi"),'<$1class="$2$3$4" contenteditable="false"$5>');}break;case "get_from_editor_dom":if(tinyMCE.getParam("noneditable_leave_contenteditable",false)){var nodes=tinyMCE.getNodeTree(content,new Array(),1);for(var i=0;i<nodes.length;i++)nodes[i].removeAttribute("contenteditable");}break;}return content;}function TinyMCE_noneditable_setEditable(elm,state){var editClass=tinyMCE.getParam("noneditable_editable_class","mceItemEditable");var nonEditClass=tinyMCE.getParam("noneditable_noneditable_class","mceItemNonEditable");var className=elm.className?elm.className:"";if(className.indexOf(editClass)!=-1||className.indexOf(nonEditClass)!=-1)return;if((className=tinyMCE.getAttrib(elm,"class"))!="")className+=" ";className+=state?editClass:nonEditClass;elm.setAttribute("class",className);elm.className=className;}
\ No newline at end of file
diff --git a/webcit/tiny_mce/plugins/noneditable/editor_plugin_src.js b/webcit/tiny_mce/plugins/noneditable/editor_plugin_src.js
new file mode 100644 (file)
index 0000000..80121c1
--- /dev/null
@@ -0,0 +1,149 @@
+function TinyMCE_noneditable_getInfo() {
+       return {
+               longname : 'Non editable elements',
+               author : 'Moxiecode Systems',
+               authorurl : 'http://tinymce.moxiecode.com',
+               infourl : 'http://tinymce.moxiecode.com/tinymce/docs/plugin_noneditable.html',
+               version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion
+       };
+};
+
+function TinyMCE_noneditable_initInstance(inst) {
+       tinyMCE.importCSS(inst.getDoc(), tinyMCE.baseURL + "/plugins/noneditable/css/noneditable.css");
+
+       // Ugly hack
+       if (tinyMCE.isMSIE5_0)
+               tinyMCE.settings['plugins'] = tinyMCE.settings['plugins'].replace(/noneditable/gi, 'Noneditable');
+
+       if (tinyMCE.isGecko) {
+               tinyMCE.addEvent(inst.getDoc(), "keyup", TinyMCE_noneditable_fixKeyUp);
+//             tinyMCE.addEvent(inst.getDoc(), "keypress", TinyMCE_noneditable_selectAll);
+//             tinyMCE.addEvent(inst.getDoc(), "mouseup", TinyMCE_noneditable_selectAll);
+       }
+}
+
+function TinyMCE_noneditable_fixKeyUp(e) {
+       var inst = tinyMCE.selectedInstance;
+       var sel = inst.getSel();
+       var rng = inst.getRng();
+       var an = sel.anchorNode;
+
+       // Move cursor outside non editable fields
+       if ((e.keyCode == 38 || e.keyCode == 37 || e.keyCode == 40 || e.keyCode == 39) && (elm = TinyMCE_noneditable_isNonEditable(an)) != null) {
+               rng = inst.getDoc().createRange();
+               rng.selectNode(elm);
+               rng.collapse(true);
+               sel.removeAllRanges();
+               sel.addRange(rng);
+               tinyMCE.cancelEvent(e);
+       }
+}
+
+function TinyMCE_noneditable_selectAll(e) {
+       var inst = tinyMCE.selectedInstance;
+       var sel = inst.getSel();
+       var doc = inst.getDoc();
+
+       if ((elm = TinyMCE_noneditable_isNonEditable(sel.focusNode)) != null) {
+               inst.selectNode(elm, false);
+               tinyMCE.cancelEvent(e);
+               return;
+       }
+
+       if ((elm = TinyMCE_noneditable_isNonEditable(sel.anchorNode)) != null) {
+               inst.selectNode(elm, false);
+               tinyMCE.cancelEvent(e);
+               return;
+       }
+}
+
+function TinyMCE_noneditable_isNonEditable(elm) {
+       var editClass = tinyMCE.getParam("noneditable_editable_class", "mceItemEditable");
+       var nonEditClass = tinyMCE.getParam("noneditable_noneditable_class", "mceItemNonEditable");
+
+       if (!elm)
+               return;
+
+       do {
+               var className = elm.className ? elm.className : "";
+
+               if (className.indexOf(editClass) != -1)
+                       return null;
+
+               if (className.indexOf(nonEditClass) != -1)
+                       return elm;
+       } while (elm = elm.parentNode);
+
+       return null;
+}
+
+function TinyMCE_noneditable_cleanup(type, content, inst) {
+       switch (type) {
+               case "insert_to_editor_dom":
+                       var nodes = tinyMCE.getNodeTree(content, new Array(), 1);
+                       var editClass = tinyMCE.getParam("noneditable_editable_class", "mceItemEditable");
+                       var nonEditClass = tinyMCE.getParam("noneditable_noneditable_class", "mceItemNonEditable");
+
+                       for (var i=0; i<nodes.length; i++) {
+                               var elm = nodes[i];
+
+                               // Convert contenteditable to classes
+                               var editable = tinyMCE.getAttrib(elm, "contenteditable");
+                               if (new RegExp("true|false","gi").test(editable))
+                                       TinyMCE_noneditable_setEditable(elm, editable == "true");
+
+                               if (tinyMCE.isMSIE) {
+                                       var className = elm.className ? elm.className : "";
+
+                                       if (className.indexOf(editClass) != -1)
+                                               elm.contentEditable = true;
+
+                                       if (className.indexOf(nonEditClass) != -1)
+                                               elm.contentEditable = false;
+                               }
+                       }
+
+                       break;
+
+               case "insert_to_editor":
+                       if (tinyMCE.isMSIE) {
+                               var editClass = tinyMCE.getParam("noneditable_editable_class", "mceItemEditable");
+                               var nonEditClass = tinyMCE.getParam("noneditable_noneditable_class", "mceItemNonEditable");
+
+                               content = content.replace(new RegExp("<(.*?)class=\"(.*?)(" + editClass + ")(.*?)\"(.*?)>", "gi"), '<$1class="$2$3$4" contenteditable="true"$5>');
+                               content = content.replace(new RegExp("<(.*?)class=\"(.*?)(" + nonEditClass + ")(.*?)\"(.*?)>", "gi"), '<$1class="$2$3$4" contenteditable="false"$5>');
+                       }
+
+                       break;
+
+               case "get_from_editor_dom":
+                       if (tinyMCE.getParam("noneditable_leave_contenteditable", false)) {
+                               var nodes = tinyMCE.getNodeTree(content, new Array(), 1);
+
+                               for (var i=0; i<nodes.length; i++)
+                                       nodes[i].removeAttribute("contenteditable");
+                       }
+
+                       break;
+       }
+
+       return content;
+}
+
+function TinyMCE_noneditable_setEditable(elm, state) {
+       var editClass = tinyMCE.getParam("noneditable_editable_class", "mceItemEditable");
+       var nonEditClass = tinyMCE.getParam("noneditable_noneditable_class", "mceItemNonEditable");
+
+       var className = elm.className ? elm.className : "";
+
+       if (className.indexOf(editClass) != -1 || className.indexOf(nonEditClass) != -1)
+               return;
+
+       if ((className = tinyMCE.getAttrib(elm, "class")) != "")
+               className += " ";
+
+       className += state ? editClass : nonEditClass;
+
+       elm.setAttribute("class", className);
+       elm.className = className;
+}
diff --git a/webcit/tiny_mce/plugins/noneditable/readme.txt b/webcit/tiny_mce/plugins/noneditable/readme.txt
new file mode 100644 (file)
index 0000000..6bc6d7d
--- /dev/null
@@ -0,0 +1 @@
+Check the TinyMCE documentation for details on this plugin.
diff --git a/webcit/tiny_mce/plugins/paste/blank.htm b/webcit/tiny_mce/plugins/paste/blank.htm
new file mode 100644 (file)
index 0000000..02f22f4
--- /dev/null
@@ -0,0 +1,18 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+       <title>blank_page</title>
+       <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+       <script language="javascript">
+               function init() {
+                       document.body.contentEditable = true;
+                       document.designMode = 'on';
+                       parent.initIframe(document);
+                       window.focus();
+               }
+       </script>
+       <link href="css/blank.css" rel="stylesheet" type="text/css" />
+</head>
+<body onload="init();">
+
+</body>
+</html>
diff --git a/webcit/tiny_mce/plugins/paste/css/blank.css b/webcit/tiny_mce/plugins/paste/css/blank.css
new file mode 100644 (file)
index 0000000..89b0303
--- /dev/null
@@ -0,0 +1,13 @@
+body {
+       background-color: #FFFFFF;
+       font-family: Verdana, Arial, Helvetica, sans-serif;
+       font-size: 10px;
+       scrollbar-3dlight-color: #F0F0EE;
+       scrollbar-arrow-color: #676662;
+       scrollbar-base-color: #F0F0EE;
+       scrollbar-darkshadow-color: #DDDDDD;
+       scrollbar-face-color: #E0E0DD;
+       scrollbar-highlight-color: #F0F0EE;
+       scrollbar-shadow-color: #F0F0EE;
+       scrollbar-track-color: #F5F5F5;
+}
diff --git a/webcit/tiny_mce/plugins/paste/css/pasteword.css b/webcit/tiny_mce/plugins/paste/css/pasteword.css
new file mode 100644 (file)
index 0000000..77685fd
--- /dev/null
@@ -0,0 +1,3 @@
+.sourceIframe {
+       border: 1px solid #808080;
+}
diff --git a/webcit/tiny_mce/plugins/paste/editor_plugin.js b/webcit/tiny_mce/plugins/paste/editor_plugin.js
new file mode 100644 (file)
index 0000000..c51c1a5
--- /dev/null
@@ -0,0 +1,2 @@
+/* Import plugin specific language pack */
+ tinyMCE.importPluginLanguagePack('paste','en,sv,cs,zh_cn,fr_ca');function TinyMCE_paste_getInfo(){return{longname:'Paste text/word',author:'Moxiecode Systems',authorurl:'http://tinymce.moxiecode.com',infourl:'http://tinymce.moxiecode.com/tinymce/docs/plugin_paste.html',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion};};function TinyMCE_paste_initInstance(inst){if(tinyMCE.isMSIE&&tinyMCE.getParam("paste_auto_cleanup_on_paste",false))tinyMCE.addEvent(inst.getBody(),"paste",TinyMCE_paste_handleEvent);}function TinyMCE_paste_handleEvent(e){switch(e.type){case "paste":var html=TinyMCE_paste__clipboardHTML();tinyMCE.execCommand('delete');if(html&&html.length>0)tinyMCE.execCommand('mcePasteWord',false,html);tinyMCE.cancelEvent(e);return false;}return true;}function TinyMCE_paste_getControlHTML(control_name){switch(control_name){case "pastetext":return '<a href="javascript:tinyMCE.execInstanceCommand(\'{$editor_id}\',\'mcePasteText\', true);" onmousedown="return false;"><img id="{$editor_id}pastetext" src="{$pluginurl}/images/pastetext.gif" title="{$lang_paste_text_desc}" width="20" height="20" class="mceButtonNormal" onmouseover="tinyMCE.switchClass(this,\'mceButtonOver\');" onmouseout="tinyMCE.restoreClass(this);" onmousedown="tinyMCE.restoreClass(this);" /></a>';case "pasteword":return '<a href="javascript:tinyMCE.execInstanceCommand(\'{$editor_id}\',\'mcePasteWord\', true);" onmousedown="return false;"><img id="{$editor_id}pasteword" src="{$pluginurl}/images/pasteword.gif" title="{$lang_paste_word_desc}" width="20" height="20" class="mceButtonNormal" onmouseover="tinyMCE.switchClass(this,\'mceButtonOver\');" onmouseout="tinyMCE.restoreClass(this);" onmousedown="tinyMCE.restoreClass(this);" /></a>';case "selectall":return '<a href="javascript:tinyMCE.execInstanceCommand(\'{$editor_id}\',\'mceSelectAll\');" onmousedown="return false;"><img id="{$editor_id}selectall" src="{$pluginurl}/images/selectall.gif" title="{$lang_selectall_desc}" width="20" height="20" class="mceButtonNormal" onmouseover="tinyMCE.switchClass(this,\'mceButtonOver\');" onmouseout="tinyMCE.restoreClass(this);" onmousedown="tinyMCE.restoreClass(this);" /></a>';}return '';}function TinyMCE_paste_execCommand(editor_id,element,command,user_interface,value){switch(command){case "mcePasteText":if(user_interface){if(tinyMCE.isMSIE&&!tinyMCE.getParam('paste_use_dialog',false))TinyMCE_paste__insertText(clipboardData.getData("Text"),true);else{var template=new Array();template['file']='../../plugins/paste/pastetext.htm';template['width']=450;template['height']=400;var plain_text="";tinyMCE.openWindow(template,{editor_id:editor_id,plain_text:plain_text,resizable:"yes",scrollbars:"no",inline:"yes",mceDo:'insert'});}}else TinyMCE_paste__insertText(value['html'],value['linebreaks']);return true;case "mcePasteWord":if(user_interface){if(tinyMCE.isMSIE&&!tinyMCE.getParam('paste_use_dialog',false)){var html=TinyMCE_paste__clipboardHTML();if(html&&html.length>0)TinyMCE_paste__insertWordContent(html);}else{var template=new Array();template['file']='../../plugins/paste/pasteword.htm';template['width']=450;template['height']=400;var plain_text="";tinyMCE.openWindow(template,{editor_id:editor_id,plain_text:plain_text,resizable:"yes",scrollbars:"no",inline:"yes",mceDo:'insert'});}}else TinyMCE_paste__insertWordContent(value);return true;case "mceSelectAll":tinyMCE.execInstanceCommand(editor_id,'selectall');return true;}return false;}function TinyMCE_paste__insertText(content,bLinebreaks){if(content&&content.length>0){if(bLinebreaks){if(tinyMCE.getParam("plaintext_create_paragraphs",true)){content=tinyMCE.regexpReplace(content,"\r\n\r\n","</p><p>","gi");content=tinyMCE.regexpReplace(content,"\r\r","</p><p>","gi");content=tinyMCE.regexpReplace(content,"\n\n","</p><p>","gi");if((pos=content.indexOf('</p><p>'))!=-1){tinyMCE.execCommand("Delete");var node=tinyMCE.selectedInstance.getFocusElement();var breakElms=new Array();do{if(node.nodeType==1){if(node.nodeName=="TD"||node.nodeName=="BODY")break;breakElms[breakElms.length]=node;}}while(node=node.parentNode);var before="",after="</p>";before+=content.substring(0,pos);for(var i=0;i<breakElms.length;i++){before+="</"+breakElms[i].nodeName+">";after+="<"+breakElms[(breakElms.length-1)-i].nodeName+">";}before+="<p>";content=before+content.substring(pos+7)+after;}}content=tinyMCE.regexpReplace(content,"\r\n","<br />","gi");content=tinyMCE.regexpReplace(content,"\r","<br />","gi");content=tinyMCE.regexpReplace(content,"\n","<br />","gi");}tinyMCE.execCommand("mceInsertRawHTML",false,content);}}function TinyMCE_paste__insertWordContent(content){if(content&&content.length>0){var bull=String.fromCharCode(8226);var middot=String.fromCharCode(183);if(tinyMCE.getParam("paste_convert_headers_to_strong",false)){content=content.replace(new RegExp('<p class=MsoHeading.*?>(.*?)<\/p>','gi'),'<p><b>$1</b></p>');}content=content.replace(new RegExp('tab-stops: list [0-9]+.0pt">','gi'),'">'+"--list--");content=content.replace(new RegExp(bull+"(.*?)<BR>","gi"),"<p>"+middot+"$1</p>");content=content.replace(new RegExp('<SPAN style="mso-list: Ignore">','gi'),"<span>"+bull);content=content.replace(/<o:p><\/o:p>/gi,"");content=content.replace(new RegExp('<br style="page-break-before: always;.*>','gi'),'-- page break --');content=content.replace(new RegExp('<(!--)([^>]*)(--)>','g'),"");content=content.replace(/<\/?span[^>]*>/gi,"");content=content.replace(new RegExp('<(\w[^>]*) style="([^"]*)"([^>]*)','gi'),"<$1$3");content=content.replace(/<\/?font[^>]*>/gi,"");content=content.replace(/<(\w[^>]*)class=([^|>]*)([^>]*)/gi,"<$1$3");content=content.replace(/<(\w[^>]*)lang=([^|>]*)([^>]*)/gi,"<$1$3");content=content.replace(/<\\?\?xml[^>]*>/gi,"");content=content.replace(/<\/?\w+:[^>]*>/gi,"");content=content.replace(/--page break--\s*<p>&nbsp;<\/p>/gi,"");content=content.replace(/--page break--/gi,"");if(!tinyMCE.settings['force_p_newlines']){content=content.replace('','','gi');content=content.replace('</p>','<br /><br />','gi');}if(!tinyMCE.isMSIE&&!tinyMCE.settings['force_p_newlines']){content=content.replace(/<\/?p[^>]*>/gi,"");}content=content.replace(/<\/?div[^>]*>/gi,"");if(tinyMCE.getParam("paste_convert_middot_lists",true)){var div=document.createElement("div");div.innerHTML=content;var className=tinyMCE.getParam("paste_unindented_list_class","unIndentedList");while(TinyMCE_paste_convertMiddots(div,"--list--"));while(TinyMCE_paste_convertMiddots(div,middot,className));while(TinyMCE_paste_convertMiddots(div,bull));content=div.innerHTML;}if(tinyMCE.getParam("paste_convert_headers_to_strong",false)){content=content.replace(/<h[1-6]>&nbsp;<\/h[1-6]>/gi,'<p>&nbsp;&nbsp;</p>');content=content.replace(/<h[1-6]>/gi,'<p><b>');content=content.replace(/<\/h[1-6]>/gi,'</b></p>');content=content.replace(/<b>&nbsp;<\/b>/gi,'<b>&nbsp;&nbsp;</b>');content=content.replace(/^(&nbsp;)*/gi,'');}content=content.replace(/--list--/gi,"");tinyMCE.execCommand("mceInsertContent",false,content);tinyMCE.execCommand("mceCleanup");}}function TinyMCE_paste_convertMiddots(div,search,class_name){var mdot=String.fromCharCode(183);var bull=String.fromCharCode(8226);var nodes=div.getElementsByTagName("p");for(var i=0;i<nodes.length;i++){var p=nodes[i];if(p.innerHTML.indexOf(search)!=-1){var ul=document.createElement("ul");if(class_name)ul.className=class_name;var li=document.createElement("li");li.innerHTML=p.innerHTML.replace(new RegExp(''+mdot+'|'+bull+'|--list--|&nbsp;',"gi"),'');ul.appendChild(li);var np=p.nextSibling;while(np){if(np.nodeType!=1||np.innerHTML.indexOf(search)==-1)break;var cp=np.nextSibling;var li=document.createElement("li");li.innerHTML=np.innerHTML.replace(new RegExp(''+mdot+'|'+bull+'|--list--|&nbsp;',"gi"),'');np.parentNode.removeChild(np);ul.appendChild(li);np=cp;}p.parentNode.replaceChild(ul,p);return true;}}return false;}function TinyMCE_paste__clipboardHTML(){var div=document.getElementById('_TinyMCE_clipboardHTML');if(!div){var div=document.createElement('DIV');div.id='_TinyMCE_clipboardHTML';with(div.style){visibility='hidden';overflow='hidden';position='absolute';width=1;height=1;}document.body.appendChild(div);}div.innerHTML='';var rng=document.body.createTextRange();rng.moveToElementText(div);rng.execCommand('Paste');var html=div.innerHTML;div.innerHTML='';return html;}
\ No newline at end of file
diff --git a/webcit/tiny_mce/plugins/paste/editor_plugin_src.js b/webcit/tiny_mce/plugins/paste/editor_plugin_src.js
new file mode 100644 (file)
index 0000000..047a444
--- /dev/null
@@ -0,0 +1,292 @@
+/* Import plugin specific language pack */ 
+tinyMCE.importPluginLanguagePack('paste', 'en,sv,cs,zh_cn,fr_ca'); 
+
+function TinyMCE_paste_getInfo() {
+       return {
+               longname : 'Paste text/word',
+               author : 'Moxiecode Systems',
+               authorurl : 'http://tinymce.moxiecode.com',
+               infourl : 'http://tinymce.moxiecode.com/tinymce/docs/plugin_paste.html',
+               version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion
+       };
+};
+
+function TinyMCE_paste_initInstance(inst) {
+       if (tinyMCE.isMSIE && tinyMCE.getParam("paste_auto_cleanup_on_paste", false))
+               tinyMCE.addEvent(inst.getBody(), "paste", TinyMCE_paste_handleEvent);
+}
+
+function TinyMCE_paste_handleEvent(e) {
+       switch (e.type) {
+               case "paste":
+                       var html = TinyMCE_paste__clipboardHTML();
+
+                       // Removes italic, strong etc
+                       tinyMCE.execCommand('delete');
+
+                       if (html && html.length > 0)
+                               tinyMCE.execCommand('mcePasteWord', false, html);
+
+                       tinyMCE.cancelEvent(e);
+                       return false;
+       }
+
+       return true;
+}
+
+function TinyMCE_paste_getControlHTML(control_name) { 
+       switch (control_name) { 
+               case "pastetext": 
+                       return '<a href="javascript:tinyMCE.execInstanceCommand(\'{$editor_id}\',\'mcePasteText\', true);" onmousedown="return false;"><img id="{$editor_id}pastetext" src="{$pluginurl}/images/pastetext.gif" title="{$lang_paste_text_desc}" width="20" height="20" class="mceButtonNormal" onmouseover="tinyMCE.switchClass(this,\'mceButtonOver\');" onmouseout="tinyMCE.restoreClass(this);" onmousedown="tinyMCE.restoreClass(this);" /></a>'; 
+
+               case "pasteword": 
+                       return '<a href="javascript:tinyMCE.execInstanceCommand(\'{$editor_id}\',\'mcePasteWord\', true);" onmousedown="return false;"><img id="{$editor_id}pasteword" src="{$pluginurl}/images/pasteword.gif" title="{$lang_paste_word_desc}" width="20" height="20" class="mceButtonNormal" onmouseover="tinyMCE.switchClass(this,\'mceButtonOver\');" onmouseout="tinyMCE.restoreClass(this);" onmousedown="tinyMCE.restoreClass(this);" /></a>'; 
+
+               case "selectall": 
+                       return '<a href="javascript:tinyMCE.execInstanceCommand(\'{$editor_id}\',\'mceSelectAll\');" onmousedown="return false;"><img id="{$editor_id}selectall" src="{$pluginurl}/images/selectall.gif" title="{$lang_selectall_desc}" width="20" height="20" class="mceButtonNormal" onmouseover="tinyMCE.switchClass(this,\'mceButtonOver\');" onmouseout="tinyMCE.restoreClass(this);" onmousedown="tinyMCE.restoreClass(this);" /></a>'; 
+       } 
+
+       return ''; 
+} 
+
+function TinyMCE_paste_execCommand(editor_id, element, command, user_interface, value) { 
+       switch (command) { 
+               case "mcePasteText": 
+                       if (user_interface) {
+                               if (tinyMCE.isMSIE && !tinyMCE.getParam('paste_use_dialog', false))
+                                       TinyMCE_paste__insertText(clipboardData.getData("Text"), true); 
+                               else { 
+                                       var template = new Array(); 
+                                       template['file']        = '../../plugins/paste/pastetext.htm'; // Relative to theme 
+                                       template['width']  = 450; 
+                                       template['height'] = 400; 
+                                       var plain_text = ""; 
+                                       tinyMCE.openWindow(template, {editor_id : editor_id, plain_text: plain_text, resizable : "yes", scrollbars : "no", inline : "yes", mceDo : 'insert'}); 
+                               }
+                       } else
+                               TinyMCE_paste__insertText(value['html'], value['linebreaks']);
+
+                       return true;
+
+               case "mcePasteWord": 
+                       if (user_interface) {
+                               if (tinyMCE.isMSIE && !tinyMCE.getParam('paste_use_dialog', false)) {
+                                       var html = TinyMCE_paste__clipboardHTML();
+
+                                       if (html && html.length > 0)
+                                               TinyMCE_paste__insertWordContent(html);
+                               } else { 
+                                       var template = new Array(); 
+                                       template['file']        = '../../plugins/paste/pasteword.htm'; // Relative to theme 
+                                       template['width']  = 450; 
+                                       template['height'] = 400; 
+                                       var plain_text = ""; 
+                                       tinyMCE.openWindow(template, {editor_id : editor_id, plain_text: plain_text, resizable : "yes", scrollbars : "no", inline : "yes", mceDo : 'insert'});
+                               }
+                       } else
+                               TinyMCE_paste__insertWordContent(value);
+
+                       return true;
+
+               case "mceSelectAll":
+                       tinyMCE.execInstanceCommand(editor_id, 'selectall'); 
+                       return true; 
+
+       } 
+
+       // Pass to next handler in chain 
+       return false; 
+} 
+
+function TinyMCE_paste__insertText(content, bLinebreaks) { 
+       if (content && content.length > 0) {
+               if (bLinebreaks) { 
+                       // Special paragraph treatment 
+                       if (tinyMCE.getParam("plaintext_create_paragraphs", true)) { 
+                               content = tinyMCE.regexpReplace(content, "\r\n\r\n", "</p><p>", "gi"); 
+                               content = tinyMCE.regexpReplace(content, "\r\r", "</p><p>", "gi"); 
+                               content = tinyMCE.regexpReplace(content, "\n\n", "</p><p>", "gi"); 
+
+                               // Has paragraphs 
+                               if ((pos = content.indexOf('</p><p>')) != -1) { 
+                                       tinyMCE.execCommand("Delete"); 
+
+                                       var node = tinyMCE.selectedInstance.getFocusElement(); 
+
+                                       // Get list of elements to break 
+                                       var breakElms = new Array(); 
+
+                                       do { 
+                                               if (node.nodeType == 1) { 
+                                                       // Don't break tables and break at body 
+                                                       if (node.nodeName == "TD" || node.nodeName == "BODY") 
+                                                               break; 
+       
+                                                       breakElms[breakElms.length] = node; 
+                                               } 
+                                       } while(node = node.parentNode); 
+
+                                       var before = "", after = "</p>"; 
+                                       before += content.substring(0, pos); 
+
+                                       for (var i=0; i<breakElms.length; i++) { 
+                                               before += "</" + breakElms[i].nodeName + ">"; 
+                                               after += "<" + breakElms[(breakElms.length-1)-i].nodeName + ">"; 
+                                       } 
+
+                                       before += "<p>"; 
+                                       content = before + content.substring(pos+7) + after; 
+                               } 
+                       } 
+
+                       content = tinyMCE.regexpReplace(content, "\r\n", "<br />", "gi"); 
+                       content = tinyMCE.regexpReplace(content, "\r", "<br />", "gi"); 
+                       content = tinyMCE.regexpReplace(content, "\n", "<br />", "gi"); 
+               } 
+       
+               tinyMCE.execCommand("mceInsertRawHTML", false, content); 
+       }
+}
+
+function TinyMCE_paste__insertWordContent(content) { 
+       if (content && content.length > 0) {
+               // Cleanup Word content
+               var bull = String.fromCharCode(8226);
+               var middot = String.fromCharCode(183);
+
+               if (tinyMCE.getParam("paste_convert_headers_to_strong", false)) {
+                       content = content.replace(new RegExp('<p class=MsoHeading.*?>(.*?)<\/p>', 'gi'), '<p><b>$1</b></p>');
+               }
+
+               content = content.replace(new RegExp('tab-stops: list [0-9]+.0pt">', 'gi'), '">' + "--list--");
+               content = content.replace(new RegExp(bull + "(.*?)<BR>", "gi"), "<p>" + middot + "$1</p>");
+               content = content.replace(new RegExp('<SPAN style="mso-list: Ignore">', 'gi'), "<span>" + bull); // Covert to bull list
+               content = content.replace(/<o:p><\/o:p>/gi, "");
+               content = content.replace(new RegExp('<br style="page-break-before: always;.*>', 'gi'), '-- page break --'); // Replace pagebreaks
+               content = content.replace(new RegExp('<(!--)([^>]*)(--)>', 'g'), "");  // Word comments
+               content = content.replace(/<\/?span[^>]*>/gi, "");
+               content = content.replace(new RegExp('<(\w[^>]*) style="([^"]*)"([^>]*)', 'gi'), "<$1$3");
+               content = content.replace(/<\/?font[^>]*>/gi, "");
+               content = content.replace(/<(\w[^>]*) class=([^ |>]*)([^>]*)/gi, "<$1$3");
+               content = content.replace(/<(\w[^>]*) lang=([^ |>]*)([^>]*)/gi, "<$1$3");
+               content = content.replace(/<\\?\?xml[^>]*>/gi, "");
+               content = content.replace(/<\/?\w+:[^>]*>/gi, "");
+               content = content.replace(/-- page break --\s*<p>&nbsp;<\/p>/gi, ""); // Remove pagebreaks
+               content = content.replace(/-- page break --/gi, ""); // Remove pagebreaks
+
+//             content = content.replace(/\/?&nbsp;*/gi, ""); &nbsp;
+//             content = content.replace(/<p>&nbsp;<\/p>/gi, '');
+
+               if (!tinyMCE.settings['force_p_newlines']) {
+                       content = content.replace('', '' ,'gi');
+                       content = content.replace('</p>', '<br /><br />' ,'gi');
+               }
+
+               if (!tinyMCE.isMSIE && !tinyMCE.settings['force_p_newlines']) {
+                       content = content.replace(/<\/?p[^>]*>/gi, "");
+               }
+
+               content = content.replace(/<\/?div[^>]*>/gi, "");
+
+               // Convert all middlot lists to UL lists
+               if (tinyMCE.getParam("paste_convert_middot_lists", true)) {
+                       var div = document.createElement("div");
+                       div.innerHTML = content;
+
+                       // Convert all middot paragraphs to li elements
+                       var className = tinyMCE.getParam("paste_unindented_list_class", "unIndentedList");
+
+                       while (TinyMCE_paste_convertMiddots(div, "--list--")) ; // bull
+                       while (TinyMCE_paste_convertMiddots(div, middot, className)) ; // Middot
+                       while (TinyMCE_paste_convertMiddots(div, bull)) ; // bull
+
+                       content = div.innerHTML;
+               }
+
+               // Replace all headers with strong and fix some other issues
+               if (tinyMCE.getParam("paste_convert_headers_to_strong", false)) {
+                       content = content.replace(/<h[1-6]>&nbsp;<\/h[1-6]>/gi, '<p>&nbsp;&nbsp;</p>');
+                       content = content.replace(/<h[1-6]>/gi, '<p><b>');
+                       content = content.replace(/<\/h[1-6]>/gi, '</b></p>');
+                       content = content.replace(/<b>&nbsp;<\/b>/gi, '<b>&nbsp;&nbsp;</b>');
+                       content = content.replace(/^(&nbsp;)*/gi, '');
+               }
+
+               content = content.replace(/--list--/gi, ""); // Remove --list--
+
+               // Insert cleaned content
+               tinyMCE.execCommand("mceInsertContent", false, content);
+               tinyMCE.execCommand("mceCleanup"); // Do normal cleanup
+       }
+}
+
+function TinyMCE_paste_convertMiddots(div, search, class_name) {
+       var mdot = String.fromCharCode(183);
+       var bull = String.fromCharCode(8226);
+
+       var nodes = div.getElementsByTagName("p");
+       for (var i=0; i<nodes.length; i++) {
+               var p = nodes[i];
+
+               // Is middot
+               if (p.innerHTML.indexOf(search) != -1) {
+                       var ul = document.createElement("ul");
+
+                       if (class_name)
+                               ul.className = class_name;
+
+                       // Add the first one
+                       var li = document.createElement("li");
+                       li.innerHTML = p.innerHTML.replace(new RegExp('' + mdot + '|' + bull + '|--list--|&nbsp;', "gi"), '');
+                       ul.appendChild(li);
+
+                       // Add the rest
+                       var np = p.nextSibling;
+                       while (np) {
+                               // Not element or middot paragraph
+                               if (np.nodeType != 1 || np.innerHTML.indexOf(search) == -1)
+                                       break;
+
+                               var cp = np.nextSibling;
+                               var li = document.createElement("li");
+                               li.innerHTML = np.innerHTML.replace(new RegExp('' + mdot + '|' + bull + '|--list--|&nbsp;', "gi"), '');
+                               np.parentNode.removeChild(np);
+                               ul.appendChild(li);
+                               np = cp;
+                       }
+
+                       p.parentNode.replaceChild(ul, p);
+
+                       return true;
+               }
+       }
+
+       return false;
+}
+
+function TinyMCE_paste__clipboardHTML() {
+       var div = document.getElementById('_TinyMCE_clipboardHTML');
+
+       if (!div) {
+               var div = document.createElement('DIV');
+               div.id = '_TinyMCE_clipboardHTML';
+
+               with (div.style) {
+                       visibility = 'hidden';
+                       overflow = 'hidden';
+                       position = 'absolute';
+                       width = 1;
+                       height = 1;
+               }
+
+               document.body.appendChild(div);
+       }
+
+       div.innerHTML = '';
+       var rng = document.body.createTextRange();
+       rng.moveToElementText(div);
+       rng.execCommand('Paste');
+       var html = div.innerHTML;
+       div.innerHTML = '';
+       return html;
+}
diff --git a/webcit/tiny_mce/plugins/paste/images/pastetext.gif b/webcit/tiny_mce/plugins/paste/images/pastetext.gif
new file mode 100644 (file)
index 0000000..03b9531
Binary files /dev/null and b/webcit/tiny_mce/plugins/paste/images/pastetext.gif differ
diff --git a/webcit/tiny_mce/plugins/paste/images/pasteword.gif b/webcit/tiny_mce/plugins/paste/images/pasteword.gif
new file mode 100644 (file)
index 0000000..7343716
Binary files /dev/null and b/webcit/tiny_mce/plugins/paste/images/pasteword.gif differ
diff --git a/webcit/tiny_mce/plugins/paste/images/selectall.gif b/webcit/tiny_mce/plugins/paste/images/selectall.gif
new file mode 100644 (file)
index 0000000..ed2b4a6
Binary files /dev/null and b/webcit/tiny_mce/plugins/paste/images/selectall.gif differ
diff --git a/webcit/tiny_mce/plugins/paste/jscripts/pastetext.js b/webcit/tiny_mce/plugins/paste/jscripts/pastetext.js
new file mode 100644 (file)
index 0000000..624c485
--- /dev/null
@@ -0,0 +1,34 @@
+function saveContent() {
+       if (document.forms[0].htmlSource.value == '') {
+               tinyMCEPopup.close();
+               return false;
+       }
+
+       tinyMCEPopup.execCommand('mcePasteText', false, {
+               html : document.forms[0].htmlSource.value,
+               linebreaks : document.forms[0].linebreaks.checked
+       });
+
+       tinyMCEPopup.close();
+}
+
+function onLoadInit() {
+       tinyMCEPopup.resizeToInnerSize();
+
+       resizeInputs();
+}
+
+var wHeight=0, wWidth=0, owHeight=0, owWidth=0;
+
+function resizeInputs() {
+       if (!tinyMCE.isMSIE) {
+               wHeight = self.innerHeight-80;
+               wWidth = self.innerWidth-17;
+       } else {
+               wHeight = document.body.clientHeight-80;
+               wWidth = document.body.clientWidth-17;
+       }
+
+       document.forms[0].htmlSource.style.height = Math.abs(wHeight) + 'px';
+       document.forms[0].htmlSource.style.width  = Math.abs(wWidth) + 'px';
+}
diff --git a/webcit/tiny_mce/plugins/paste/jscripts/pasteword.js b/webcit/tiny_mce/plugins/paste/jscripts/pasteword.js
new file mode 100644 (file)
index 0000000..319d5f9
--- /dev/null
@@ -0,0 +1,43 @@
+function saveContent() {
+       var html = document.getElementById("frmData").contentWindow.document.body.innerHTML;
+
+       if (html == ''){
+               tinyMCEPopup.close();
+               return false;
+       }
+
+       tinyMCEPopup.execCommand('mcePasteWord', false, html);
+       tinyMCEPopup.close();
+}
+
+function onLoadInit() {
+       tinyMCEPopup.resizeToInnerSize();
+
+       // Fix for endless reloading in FF
+       window.setTimeout('createIFrame();', 10);
+}
+
+function createIFrame() {
+       document.getElementById('iframecontainer').innerHTML = '<iframe id="frmData" name="frmData" class="sourceIframe" src="blank.htm" height="280" width="400" frameborder="0" style="background-color:#FFFFFF; width:100%;" dir="ltr" wrap="soft"></iframe>';
+}
+
+var wHeight=0, wWidth=0, owHeight=0, owWidth=0;
+
+function initIframe(doc) {
+       var dir = tinyMCE.selectedInstance.settings['directionality'];
+       doc.body.dir = dir;
+       resizeInputs();
+}
+
+function resizeInputs() {
+       if (!tinyMCE.isMSIE) {
+               wHeight = self.innerHeight - 80;
+               wWidth = self.innerWidth - 18;
+       } else {
+               wHeight = document.body.clientHeight - 80;
+               wWidth = document.body.clientWidth - 18;
+       }
+
+       document.getElementById('frmData').style.height = Math.abs(wHeight) + 'px';
+       document.getElementById('frmData').style.width  = Math.abs(wWidth) + 'px';
+}
diff --git a/webcit/tiny_mce/plugins/paste/langs/cs.js b/webcit/tiny_mce/plugins/paste/langs/cs.js
new file mode 100644 (file)
index 0000000..7a3eacb
--- /dev/null
@@ -0,0 +1,16 @@
+/**
+ * Czech lang variables 
+ * encoding: utf-8
+ *  
+ * $Id$ 
+ */  
+
+tinyMCE.addToLang('',{
+paste_text_desc : 'Vložit neformátovaný text',
+paste_text_title : 'Použij CTRL + V na klávesnici pro vložení textu do okna.',
+paste_text_linebreaks : 'Nechej přerušení řádků',
+paste_word_desc : 'Vložit text z aplikace Word',
+paste_word_title : 'Použij CTRL + V na klávesnici pro vložení textu do okna.',
+selectall_desc : 'Označit vše'
+});
+
diff --git a/webcit/tiny_mce/plugins/paste/langs/en.js b/webcit/tiny_mce/plugins/paste/langs/en.js
new file mode 100644 (file)
index 0000000..76fce8f
--- /dev/null
@@ -0,0 +1,10 @@
+// UK lang variables
+
+tinyMCE.addToLang('',{
+paste_text_desc : 'Paste as Plain Text',
+paste_text_title : 'Use CTRL+V on your keyboard to paste the text into the window.',
+paste_text_linebreaks : 'Keep linebreaks',
+paste_word_desc : 'Paste from Word',
+paste_word_title : 'Use CTRL+V on your keyboard to paste the text into the window.',
+selectall_desc : 'Select All'
+});
diff --git a/webcit/tiny_mce/plugins/paste/langs/fr_ca.js b/webcit/tiny_mce/plugins/paste/langs/fr_ca.js
new file mode 100644 (file)
index 0000000..5183378
--- /dev/null
@@ -0,0 +1,10 @@
+// Canadian French lang variables by Virtuelcom   last modification: 2005-06-15
+
+tinyMCE.addToLang('',{
+paste_text_desc : 'Coller texte seulement',
+paste_text_title : 'Utilisez CTRL+V sur votre clavier pour coller le texte dans la fenêtre.',
+paste_text_linebreaks : 'Garder les sauts de ligne',
+paste_word_desc : 'Coller à partir de Word',
+paste_word_title : 'Utilisez CTRL+V sur votre clavier pour coller le texte dans la fenêtre.',
+selectall_desc : 'Selectionner tout'
+});
diff --git a/webcit/tiny_mce/plugins/paste/langs/he.js b/webcit/tiny_mce/plugins/paste/langs/he.js
new file mode 100644 (file)
index 0000000..3ea7a08
--- /dev/null
@@ -0,0 +1,10 @@
+// HE lang variables by Liron Newman, http://eesh.net
+
+tinyMCE.addToLang('',{
+paste_text_desc : '&auml;ãá÷ ëè÷ñè øâéì',
+paste_text_title : '&auml;ùúîù á-CTRL+V ùòì &auml;î÷ìãú ùìê ëãé ì&auml;ãáé÷ àú &auml;è÷ñè ìçì&aring;ï.',
+paste_text_linebreaks : 'ùî&aring;ø òì îòáøé ù&aring;ø&auml;',
+paste_word_desc : '&auml;ãá÷ î-Word',
+paste_word_title : '&auml;ùúîù á-CTRL+V ùòì &auml;î÷ìãú ùìê ëãé ì&auml;ãáé÷ àú &auml;è÷ñè ìçì&aring;ï.',
+selectall_desc : 'áçø &auml;ëì'
+});
diff --git a/webcit/tiny_mce/plugins/paste/langs/sv.js b/webcit/tiny_mce/plugins/paste/langs/sv.js
new file mode 100644 (file)
index 0000000..2a84ce1
--- /dev/null
@@ -0,0 +1,10 @@
+// SV lang variables
+
+tinyMCE.addToLang('',{
+paste_text_desc : 'Klistra in som vanlig text',
+paste_text_title : 'Anv&auml;nd CTRL+V p&aring; ditt tangentbord f&ouml;r att klistra in i detta f&ouml;nster.',
+paste_text_linebreaks : 'Spara radbrytningar',
+paste_word_desc : 'Klistra in fr&aring;n Word',
+paste_word_title : 'Anv&auml;nd CTRL+V p&aring; ditt tangentbord f&ouml;r att klistra in i detta f&ouml;nster.',
+selectall_desc : 'Select All'
+});
diff --git a/webcit/tiny_mce/plugins/paste/langs/zh_cn.js b/webcit/tiny_mce/plugins/paste/langs/zh_cn.js
new file mode 100644 (file)
index 0000000..a56f7cb
--- /dev/null
@@ -0,0 +1,11 @@
+// Simplified Chinese lang variables contributed by cube316 (cube316@gmail.com)
+//Çë·ÃÎÊ http://www.cube316.net/ ÒÔ»ñÈ¡TinyMCEµ&Auml;&Ouml;ÐÎ&Auml;&Ouml;§³&Ouml;
+
+tinyMCE.addToLang('',{
+paste_text_desc : '×÷Ϊ´¿Î&Auml;±¾Õ³Ìù',
+paste_text_title : 'ʹÓÿì½Ý¼ü CTRL+V ½«Î&Auml;±¾Õ³Ìùµ½ÒÔÏ´°¿Ú&Ouml;Ð.',
+paste_text_linebreaks : '±£Áô»»Ðзû',
+paste_word_desc : '´ÓWordÕ³Ìù',
+paste_word_title : 'ʹÓÿì½Ý¼ü CTRL+V ½«Î&Auml;±¾Õ³Ìùµ½ÒÔÏ´°¿Ú&Ouml;Ð.',
+selectall_desc : 'ȫѡ'
+});
diff --git a/webcit/tiny_mce/plugins/paste/pastetext.htm b/webcit/tiny_mce/plugins/paste/pastetext.htm
new file mode 100644 (file)
index 0000000..9ef2a54
--- /dev/null
@@ -0,0 +1,33 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+       <title>{$lang_paste_text_desc}</title>
+       <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+       <script language="javascript" type="text/javascript" src="../../tiny_mce_popup.js"></script>
+       <script language="javascript" type="text/javascript" src="jscripts/pastetext.js"></script>
+</head>
+<body onload="onLoadInit();" onresize="resizeInputs();" style="display: none">
+<form name="source" onsubmit="saveContent();">
+       <div style="float: left" class="title">{$lang_paste_text_desc}</div>
+
+       <div style="float: right">
+               <input type="checkbox" name="linebreaks" id="linebreaks" class="wordWrapCode" checked="checked" /><label for="linebreaks">{$lang_paste_text_linebreaks}</label>
+       </div>
+
+       <br style="clear: both" />
+
+       <div>{$lang_paste_text_title}</div>
+
+       <textarea name="htmlSource" id="htmlSource" rows="15" cols="100" style="width: 100%; height: 100%; font-family: 'Courier New',Courier,mono; font-size: 12px;" dir="ltr" wrap="soft"></textarea>
+
+       <div class="mceActionPanel">
+               <div style="float: left">
+                       <input type="button" name="insert" value="{$lang_insert}" onclick="saveContent();" id="insert" />
+               </div>
+
+               <div style="float: right">
+                       <input type="button" name="cancel" value="{$lang_cancel}" onclick="tinyMCEPopup.close();" id="cancel" />
+               </div>
+       </div>
+</form>
+</body> 
+</html>
\ No newline at end of file
diff --git a/webcit/tiny_mce/plugins/paste/pasteword.htm b/webcit/tiny_mce/plugins/paste/pasteword.htm
new file mode 100644 (file)
index 0000000..50f4221
--- /dev/null
@@ -0,0 +1,28 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+       <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+       <title>{$lang_paste_word_desc}</title>
+       <script language="javascript" type="text/javascript" src="../../tiny_mce_popup.js"></script>
+       <script language="javascript" type="text/javascript" src="jscripts/pasteword.js"></script>
+       <link href="css/pasteword.css" rel="stylesheet" type="text/css" />
+</head>
+<body onload="onLoadInit();" onresize="resizeInputs();" style="display: none">
+       <form name="source" onsubmit="saveContent();" action="#">
+               <div class="title">{$lang_paste_word_desc}</div>
+
+               <div>{$lang_paste_word_title}</div>
+
+               <div id="iframecontainer"></div>
+
+               <div class="mceActionPanel">
+                       <div style="float: left">
+                               <input type="button" id="insert" name="insert" value="{$lang_insert}" onclick="saveContent();" />
+                       </div>
+
+                       <div style="float: right">
+                               <input type="button" id="cancel" name="cancel" value="{$lang_cancel}" onclick="tinyMCEPopup.close();" />
+                       </div>
+               </div>
+       </form>
+</body>
+</html>
diff --git a/webcit/tiny_mce/plugins/paste/readme.txt b/webcit/tiny_mce/plugins/paste/readme.txt
new file mode 100644 (file)
index 0000000..6bc6d7d
--- /dev/null
@@ -0,0 +1 @@
+Check the TinyMCE documentation for details on this plugin.
diff --git a/webcit/tiny_mce/plugins/preview/editor_plugin.js b/webcit/tiny_mce/plugins/preview/editor_plugin.js
new file mode 100644 (file)
index 0000000..03ed32e
--- /dev/null
@@ -0,0 +1,2 @@
+/* Import plugin specific language pack */
+ tinyMCE.importPluginLanguagePack('preview','cs,de,el,en,fr_ca,it,ko,pt,sv,zh_cn,fa,fr,pl,pt_br,nl');function TinyMCE_preview_getInfo(){return{longname:'Preview',author:'Moxiecode Systems',authorurl:'http://tinymce.moxiecode.com',infourl:'http://tinymce.moxiecode.com/tinymce/docs/plugin_preview.html',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion};};function TinyMCE_preview_getControlHTML(control_name){switch(control_name){case "preview":return '<a href="javascript:tinyMCE.execInstanceCommand(\'{$editor_id}\',\'mcePreview\');" onmousedown="return false;"><img id="{$editor_id}_preview" src="{$pluginurl}/images/preview.gif" title="{$lang_preview_desc}" width="20" height="20" class="mceButtonNormal" onmouseover="tinyMCE.switchClass(this,\'mceButtonOver\');" onmouseout="tinyMCE.restoreClass(this);" onmousedown="tinyMCE.restoreAndSwitchClass(this,\'mceButtonDown\');" /></a>';}return "";}function TinyMCE_preview_execCommand(editor_id,element,command,user_interface,value){switch(command){case "mcePreview":var previewPage=tinyMCE.getParam("plugin_preview_pageurl",null);var previewWidth=tinyMCE.getParam("plugin_preview_width","550");var previewHeight=tinyMCE.getParam("plugin_preview_height","600");if(previewPage){var template=new Array();template['file']=previewPage;template['width']=previewWidth;template['height']=previewHeight;tinyMCE.openWindow(template,{editor_id:editor_id,resizable:"yes",scrollbars:"yes",inline:"yes",content:tinyMCE.getContent(),content_css:tinyMCE.getParam("content_css")});}else{var win=window.open("","mcePreview","menubar=no,toolbar=no,scrollbars=yes,resizable=yes,left=20,top=20,width="+previewWidth+",height="+previewHeight);var html="";html+='<!doctype html public "-//w3c//dtd html 4.0 transitional//en">';html+='<html>';html+='<head>';html+='<title>'+tinyMCE.getLang('lang_preview_desc')+'</title>';html+='<base href="'+tinyMCE.getParam("document_base_url")+'">';html+='<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">';html+='<link href="'+tinyMCE.getParam("content_css")+'" rel="stylesheet" type="text/css">';html+='</head>';html+='<body>';html+=tinyMCE.getContent();html+='</body>';html+='</html>';win.document.write(html);win.document.close();}return true;}return false;}
\ No newline at end of file
diff --git a/webcit/tiny_mce/plugins/preview/editor_plugin_src.js b/webcit/tiny_mce/plugins/preview/editor_plugin_src.js
new file mode 100644 (file)
index 0000000..4339c5e
--- /dev/null
@@ -0,0 +1,71 @@
+/* Import plugin specific language pack */
+tinyMCE.importPluginLanguagePack('preview', 'cs,de,el,en,fr_ca,it,ko,pt,sv,zh_cn,fa,fr,pl,pt_br,nl');
+
+function TinyMCE_preview_getInfo() {
+       return {
+               longname : 'Preview',
+               author : 'Moxiecode Systems',
+               authorurl : 'http://tinymce.moxiecode.com',
+               infourl : 'http://tinymce.moxiecode.com/tinymce/docs/plugin_preview.html',
+               version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion
+       };
+};
+
+/**
+ * Returns the HTML contents of the preview control.
+ */
+function TinyMCE_preview_getControlHTML(control_name) {
+       switch (control_name) {
+               case "preview":
+                       return '<a href="javascript:tinyMCE.execInstanceCommand(\'{$editor_id}\',\'mcePreview\');" onmousedown="return false;"><img id="{$editor_id}_preview" src="{$pluginurl}/images/preview.gif" title="{$lang_preview_desc}" width="20" height="20" class="mceButtonNormal" onmouseover="tinyMCE.switchClass(this,\'mceButtonOver\');" onmouseout="tinyMCE.restoreClass(this);" onmousedown="tinyMCE.restoreAndSwitchClass(this,\'mceButtonDown\');" /></a>';
+       }
+
+       return "";
+}
+
+/**
+ * Executes the mcePreview command.
+ */
+function TinyMCE_preview_execCommand(editor_id, element, command, user_interface, value) {
+       // Handle commands
+       switch (command) {
+               case "mcePreview":
+                       var previewPage = tinyMCE.getParam("plugin_preview_pageurl", null);
+                       var previewWidth = tinyMCE.getParam("plugin_preview_width", "550");
+                       var previewHeight = tinyMCE.getParam("plugin_preview_height", "600");
+
+                       // Use a custom preview page
+                       if (previewPage) {
+                               var template = new Array();
+
+                               template['file'] = previewPage;
+                               template['width'] = previewWidth;
+                               template['height'] = previewHeight;
+
+                               tinyMCE.openWindow(template, {editor_id : editor_id, resizable : "yes", scrollbars : "yes", inline : "yes", content : tinyMCE.getContent(), content_css : tinyMCE.getParam("content_css")});
+                       } else {
+                               var win = window.open("", "mcePreview", "menubar=no,toolbar=no,scrollbars=yes,resizable=yes,left=20,top=20,width=" + previewWidth + ",height="  + previewHeight);
+                               var html = "";
+
+                               html += '<!doctype html public "-//w3c//dtd html 4.0 transitional//en">';
+                               html += '<html>';
+                               html += '<head>';
+                               html += '<title>' + tinyMCE.getLang('lang_preview_desc') + '</title>';
+                               html += '<base href="' + tinyMCE.getParam("document_base_url") + '">';
+                               html += '<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">';
+                               html += '<link href="' + tinyMCE.getParam("content_css") + '" rel="stylesheet" type="text/css">';
+                               html += '</head>';
+                               html += '<body>';
+                               html += tinyMCE.getContent();
+                               html += '</body>';
+                               html += '</html>';
+
+                               win.document.write(html);
+                               win.document.close();
+                       }
+
+                       return true;
+       }
+
+       return false;
+}
diff --git a/webcit/tiny_mce/plugins/preview/example.html b/webcit/tiny_mce/plugins/preview/example.html
new file mode 100644 (file)
index 0000000..c7225ac
--- /dev/null
@@ -0,0 +1,13 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<script language="javascript" src="../../tiny_mce_popup.js"></script>
+<title>Example of a custom preview page</title>
+<link href="{$content_css}" rel="stylesheet" type="text/css">
+</head>
+<body>
+
+Editor contents: <br />
+{$content}
+
+</body>
+</html>
diff --git a/webcit/tiny_mce/plugins/preview/images/preview.gif b/webcit/tiny_mce/plugins/preview/images/preview.gif
new file mode 100644 (file)
index 0000000..88f9443
Binary files /dev/null and b/webcit/tiny_mce/plugins/preview/images/preview.gif differ
diff --git a/webcit/tiny_mce/plugins/preview/langs/cs.js b/webcit/tiny_mce/plugins/preview/langs/cs.js
new file mode 100644 (file)
index 0000000..ed2b770
--- /dev/null
@@ -0,0 +1,11 @@
+/**
+ * Czech lang variables 
+ * encoding: utf-8
+ *  
+ * $Id$ 
+ */  
+
+tinyMCE.addToLang('',{
+preview_desc : 'Náhled'
+});
+
diff --git a/webcit/tiny_mce/plugins/preview/langs/de.js b/webcit/tiny_mce/plugins/preview/langs/de.js
new file mode 100644 (file)
index 0000000..55ecac8
--- /dev/null
@@ -0,0 +1,5 @@
+// DE lang variables by Tobias Heer
+
+tinyMCE.addToLang('',{
+preview_desc : 'Vorschau'
+});
diff --git a/webcit/tiny_mce/plugins/preview/langs/el.js b/webcit/tiny_mce/plugins/preview/langs/el.js
new file mode 100644 (file)
index 0000000..69a4a23
--- /dev/null
@@ -0,0 +1,5 @@
+// Greek lang variables by Jacaranda Bill
+
+tinyMCE.addToLang('',{
+preview_desc : 'Ðñï&aring;ðéóêüðçóç éóôïó&aring;ëß&auml;áò'
+});
diff --git a/webcit/tiny_mce/plugins/preview/langs/en.js b/webcit/tiny_mce/plugins/preview/langs/en.js
new file mode 100644 (file)
index 0000000..35918eb
--- /dev/null
@@ -0,0 +1,5 @@
+// UK lang variables
+
+tinyMCE.addToLang('',{
+preview_desc : 'Preview'
+});
diff --git a/webcit/tiny_mce/plugins/preview/langs/fa.js b/webcit/tiny_mce/plugins/preview/langs/fa.js
new file mode 100644 (file)
index 0000000..84bf304
--- /dev/null
@@ -0,0 +1,10 @@
+// IR lang variables
+// Persian (Farsi) language pack (for IRAN)
+// By: Morteza Zafari
+// Lost@LostLord.com
+// http://www.LostLord.com
+
+tinyMCE.addToLang('',{
+dir : 'rtl',
+preview_desc : '??? ?????'
+});
diff --git a/webcit/tiny_mce/plugins/preview/langs/fr.js b/webcit/tiny_mce/plugins/preview/langs/fr.js
new file mode 100644 (file)
index 0000000..c9ffd4a
--- /dev/null
@@ -0,0 +1,5 @@
+// French lang variables by Laurent Dran
+
+tinyMCE.addToLang('',{
+preview_desc : 'Pr&eacute;visualisation'
+});
diff --git a/webcit/tiny_mce/plugins/preview/langs/fr_ca.js b/webcit/tiny_mce/plugins/preview/langs/fr_ca.js
new file mode 100644 (file)
index 0000000..04f92dc
--- /dev/null
@@ -0,0 +1,5 @@
+// Canadian French lang variables by Virtuelcom   last modification: 2005-06-15
+
+tinyMCE.addToLang('',{
+preview_desc : 'Prévisualisation'
+});
diff --git a/webcit/tiny_mce/plugins/preview/langs/he.js b/webcit/tiny_mce/plugins/preview/langs/he.js
new file mode 100644 (file)
index 0000000..75b6842
--- /dev/null
@@ -0,0 +1,5 @@
+// HE lang variables by Liron Newman, http://eesh.net
+
+tinyMCE.addToLang('',{
+preview_desc : 'ú&ouml;&aring;â&auml; î÷ãéî&auml;'
+});
diff --git a/webcit/tiny_mce/plugins/preview/langs/it.js b/webcit/tiny_mce/plugins/preview/langs/it.js
new file mode 100644 (file)
index 0000000..2fe61bf
--- /dev/null
@@ -0,0 +1,5 @@
+// IT lang variables
+
+tinyMCE.addToLang('',{
+preview_desc : 'Anteprima'
+});
diff --git a/webcit/tiny_mce/plugins/preview/langs/ko.js b/webcit/tiny_mce/plugins/preview/langs/ko.js
new file mode 100644 (file)
index 0000000..fa26884
--- /dev/null
@@ -0,0 +1,5 @@
+// KO lang variables
+
+tinyMCE.addToLang('',{
+preview_desc : '¹Ì¸®º¸±â'
+});
diff --git a/webcit/tiny_mce/plugins/preview/langs/nl.js b/webcit/tiny_mce/plugins/preview/langs/nl.js
new file mode 100644 (file)
index 0000000..357ebd3
--- /dev/null
@@ -0,0 +1,5 @@
+// UK lang variables
+
+tinyMCE.addToLang('',{
+preview_desc : 'Voorbeeld'
+});
diff --git a/webcit/tiny_mce/plugins/preview/langs/pl.js b/webcit/tiny_mce/plugins/preview/langs/pl.js
new file mode 100644 (file)
index 0000000..0ee82dc
--- /dev/null
@@ -0,0 +1,5 @@
+// PL lang variables
+
+tinyMCE.addToLang('',{
+preview_desc : 'Podglad'
+});
diff --git a/webcit/tiny_mce/plugins/preview/langs/pt.js b/webcit/tiny_mce/plugins/preview/langs/pt.js
new file mode 100644 (file)
index 0000000..3a49fe3
--- /dev/null
@@ -0,0 +1,5 @@
+// UK lang variables
+
+tinyMCE.addToLang('',{
+preview_desc : 'Pré-visualização'
+});
diff --git a/webcit/tiny_mce/plugins/preview/langs/pt_br.js b/webcit/tiny_mce/plugins/preview/langs/pt_br.js
new file mode 100644 (file)
index 0000000..4298774
--- /dev/null
@@ -0,0 +1,5 @@
+// pt_BR lang variables
+
+tinyMCE.addToLang('',{
+preview_desc : 'Visualizar'
+});
diff --git a/webcit/tiny_mce/plugins/preview/langs/sv.js b/webcit/tiny_mce/plugins/preview/langs/sv.js
new file mode 100644 (file)
index 0000000..7f9cbb1
--- /dev/null
@@ -0,0 +1,5 @@
+// SE lang variables
+
+tinyMCE.addToLang('',{
+preview_desc : 'F&ouml;rhandsgranska'
+});
diff --git a/webcit/tiny_mce/plugins/preview/langs/zh_cn.js b/webcit/tiny_mce/plugins/preview/langs/zh_cn.js
new file mode 100644 (file)
index 0000000..8aeaee3
--- /dev/null
@@ -0,0 +1,5 @@
+// Simplified Chinese lang variables contributed by cube316 (cube316@etang.com)
+
+tinyMCE.addToLang('',{
+preview_desc : 'Ô¤ÀÀ'
+});
diff --git a/webcit/tiny_mce/plugins/preview/readme.txt b/webcit/tiny_mce/plugins/preview/readme.txt
new file mode 100644 (file)
index 0000000..6bc6d7d
--- /dev/null
@@ -0,0 +1 @@
+Check the TinyMCE documentation for details on this plugin.
diff --git a/webcit/tiny_mce/plugins/print/editor_plugin.js b/webcit/tiny_mce/plugins/print/editor_plugin.js
new file mode 100644 (file)
index 0000000..54636cb
--- /dev/null
@@ -0,0 +1,2 @@
+/* Import theme        specific language pack */
+ tinyMCE.importPluginLanguagePack('print','en,sv,zh_cn,fa,fr_ca,fr,de,pl,pt_br,cs,nl');function TinyMCE_print_getInfo(){return{longname:'Print',author:'Moxiecode Systems',authorurl:'http://tinymce.moxiecode.com',infourl:'http://tinymce.moxiecode.com/tinymce/docs/plugin_print.html',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion};};function TinyMCE_print_getControlHTML(control_name){switch(control_name){case "print":return '<a href="javascript:tinyMCE.execInstanceCommand(\'{$editor_id}\',\'mcePrint\',true);" onmousedown="return false;"><img id="{$editor_id}_print" src="{$pluginurl}/images/print.gif" title="{$lang_print_desc}" width="20" height="20" class="mceButtonNormal" onmouseover="tinyMCE.switchClass(this,\'mceButtonOver\');" onmouseout="tinyMCE.restoreClass(this);" onmousedown="tinyMCE.restoreAndSwitchClass(this,\'mceButtonDown\');" /></a>';}return "";}function TinyMCE_print_execCommand(editor_id,element,command,user_interface,value){switch(command){case "mcePrint":tinyMCE.getInstanceById(editor_id).contentWindow.print();return true;}return false;}
\ No newline at end of file
diff --git a/webcit/tiny_mce/plugins/print/editor_plugin_src.js b/webcit/tiny_mce/plugins/print/editor_plugin_src.js
new file mode 100644 (file)
index 0000000..09ff0e7
--- /dev/null
@@ -0,0 +1,36 @@
+/* Import theme        specific language pack */
+tinyMCE.importPluginLanguagePack('print', 'en,sv,zh_cn,fa,fr_ca,fr,de,pl,pt_br,cs,nl');
+
+function TinyMCE_print_getInfo() {
+       return {
+               longname : 'Print',
+               author : 'Moxiecode Systems',
+               authorurl : 'http://tinymce.moxiecode.com',
+               infourl : 'http://tinymce.moxiecode.com/tinymce/docs/plugin_print.html',
+               version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion
+       };
+};
+
+function TinyMCE_print_getControlHTML(control_name)    {
+       switch (control_name) {
+               case "print":
+                       return '<a href="javascript:tinyMCE.execInstanceCommand(\'{$editor_id}\',\'mcePrint\',true);" onmousedown="return false;"><img id="{$editor_id}_print" src="{$pluginurl}/images/print.gif" title="{$lang_print_desc}" width="20" height="20" class="mceButtonNormal" onmouseover="tinyMCE.switchClass(this,\'mceButtonOver\');" onmouseout="tinyMCE.restoreClass(this);" onmousedown="tinyMCE.restoreAndSwitchClass(this,\'mceButtonDown\');" /></a>';
+       }
+
+       return "";
+}
+
+/**
+ * Executes    the     search/replace commands.
+ */
+function TinyMCE_print_execCommand(editor_id, element, command,        user_interface, value) {
+       // Handle commands
+       switch (command) {
+               case "mcePrint":
+                       tinyMCE.getInstanceById(editor_id).contentWindow.print();
+                       return true;
+       }
+
+       // Pass to next handler in chain
+       return false;
+}
diff --git a/webcit/tiny_mce/plugins/print/images/print.gif b/webcit/tiny_mce/plugins/print/images/print.gif
new file mode 100644 (file)
index 0000000..f909f7c
Binary files /dev/null and b/webcit/tiny_mce/plugins/print/images/print.gif differ
diff --git a/webcit/tiny_mce/plugins/print/langs/cs.js b/webcit/tiny_mce/plugins/print/langs/cs.js
new file mode 100644 (file)
index 0000000..b53f545
--- /dev/null
@@ -0,0 +1,11 @@
+/**
+ * Czech lang variables 
+ * encoding: utf-8
+ *  
+ * $Id$ 
+ */  
+
+tinyMCE.addToLang('',{
+print_desc : 'Tisk'
+});
+
diff --git a/webcit/tiny_mce/plugins/print/langs/de.js b/webcit/tiny_mce/plugins/print/langs/de.js
new file mode 100644 (file)
index 0000000..2709d9e
--- /dev/null
@@ -0,0 +1,5 @@
+// DE lang variables 
+
+tinyMCE.addToLang('',{
+print_desc : 'Drucken'
+});
diff --git a/webcit/tiny_mce/plugins/print/langs/en.js b/webcit/tiny_mce/plugins/print/langs/en.js
new file mode 100644 (file)
index 0000000..bf55a1e
--- /dev/null
@@ -0,0 +1,5 @@
+// UK lang variables
+
+tinyMCE.addToLang('',{
+print_desc : 'Print'
+});
diff --git a/webcit/tiny_mce/plugins/print/langs/fa.js b/webcit/tiny_mce/plugins/print/langs/fa.js
new file mode 100644 (file)
index 0000000..d9b2627
--- /dev/null
@@ -0,0 +1,10 @@
+// IR lang variables
+// Persian (Farsi) language pack (for IRAN)
+// By: Morteza Zafari
+// Lost@LostLord.com
+// http://www.LostLord.com
+
+tinyMCE.addToLang('',{
+dir : 'rtl',
+print_desc : '???'
+});
diff --git a/webcit/tiny_mce/plugins/print/langs/fr.js b/webcit/tiny_mce/plugins/print/langs/fr.js
new file mode 100644 (file)
index 0000000..f2adbbe
--- /dev/null
@@ -0,0 +1,5 @@
+// French lang variables by Laurent Dran
+
+tinyMCE.addToLang('',{
+print_desc : 'Imprimer'
+});
diff --git a/webcit/tiny_mce/plugins/print/langs/fr_ca.js b/webcit/tiny_mce/plugins/print/langs/fr_ca.js
new file mode 100644 (file)
index 0000000..8e9eb33
--- /dev/null
@@ -0,0 +1,5 @@
+// Canadian French lang variables by Virtuelcom   last modification: 2005-06-15
+
+tinyMCE.addToLang('',{
+print_desc : 'Imprimer'
+});
diff --git a/webcit/tiny_mce/plugins/print/langs/he.js b/webcit/tiny_mce/plugins/print/langs/he.js
new file mode 100644 (file)
index 0000000..36d83ae
--- /dev/null
@@ -0,0 +1,5 @@
+// HE lang variables by Liron Newman, http://eesh.net
+
+tinyMCE.addToLang('',{
+print_desc : '&auml;ãôñ'
+});
diff --git a/webcit/tiny_mce/plugins/print/langs/nl.js b/webcit/tiny_mce/plugins/print/langs/nl.js
new file mode 100644 (file)
index 0000000..5bcf970
--- /dev/null
@@ -0,0 +1,5 @@
+// UK lang variables
+
+tinyMCE.addToLang('',{
+print_desc : 'Afdrukken'
+});
diff --git a/webcit/tiny_mce/plugins/print/langs/pl.js b/webcit/tiny_mce/plugins/print/langs/pl.js
new file mode 100644 (file)
index 0000000..030caf7
--- /dev/null
@@ -0,0 +1,5 @@
+// PL lang variables
+
+tinyMCE.addToLang('',{
+print_desc : 'Drukuj'
+});
diff --git a/webcit/tiny_mce/plugins/print/langs/pt_br.js b/webcit/tiny_mce/plugins/print/langs/pt_br.js
new file mode 100644 (file)
index 0000000..c962b33
--- /dev/null
@@ -0,0 +1,5 @@
+// pt_BR lang variables
+
+tinyMCE.addToLang('',{
+print_desc : 'Imprimir'
+});
diff --git a/webcit/tiny_mce/plugins/print/langs/sv.js b/webcit/tiny_mce/plugins/print/langs/sv.js
new file mode 100644 (file)
index 0000000..7b1057d
--- /dev/null
@@ -0,0 +1,5 @@
+// SE lang variables
+
+tinyMCE.addToLang('',{
+print_desc : 'Skriv ut'
+});
diff --git a/webcit/tiny_mce/plugins/print/langs/zh_cn.js b/webcit/tiny_mce/plugins/print/langs/zh_cn.js
new file mode 100644 (file)
index 0000000..0f52670
--- /dev/null
@@ -0,0 +1,6 @@
+// Simplified Chinese lang variables contributed by cube316 (cube316@gmail.com)
+//Çë·ÃÎÊ http://www.cube316.net/ ÒÔ»ñÈ¡TinyMCEµ&Auml;&Ouml;ÐÎ&Auml;&Ouml;§³&Ouml;
+
+tinyMCE.addToLang('',{
+print_desc : '´òÓ¡'
+});
diff --git a/webcit/tiny_mce/plugins/print/readme.txt b/webcit/tiny_mce/plugins/print/readme.txt
new file mode 100644 (file)
index 0000000..6bc6d7d
--- /dev/null
@@ -0,0 +1 @@
+Check the TinyMCE documentation for details on this plugin.
diff --git a/webcit/tiny_mce/plugins/readme.txt b/webcit/tiny_mce/plugins/readme.txt
new file mode 100644 (file)
index 0000000..9192b26
--- /dev/null
@@ -0,0 +1 @@
+This is the location you place TinyMCE plugins.
diff --git a/webcit/tiny_mce/plugins/save/editor_plugin.js b/webcit/tiny_mce/plugins/save/editor_plugin.js
new file mode 100644 (file)
index 0000000..4b75c76
--- /dev/null
@@ -0,0 +1,2 @@
+/* Import plugin specific language pack */
+ tinyMCE.importPluginLanguagePack('save','en,sv,zh_cn,cs,fa,fr_ca,fr,de,pl,pt_br,nl,he');function TinyMCE_save_getInfo(){return{longname:'Save',author:'Moxiecode Systems',authorurl:'http://tinymce.moxiecode.com',infourl:'http://tinymce.moxiecode.com/tinymce/docs/plugin_save.html',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion};};function TinyMCE_save_getControlHTML(control_name){switch(control_name){case "save":return '<a href="javascript:tinyMCE.execInstanceCommand(\'{$editor_id}\',\'mceSave\');" onmousedown="return false;"><img id="{$editor_id}_save" src="{$pluginurl}/images/save.gif" title="{$lang_save_desc}" width="20" height="20" class="mceButtonNormal" onmouseover="tinyMCE.switchClass(this,\'mceButtonOver\');" onmouseout="tinyMCE.switchClass(this,\'mceButtonNormal\');" onmousedown="tinyMCE.switchClass(this,\'mceButtonDown\');" /></a>';}return "";}function TinyMCE_save_execCommand(editor_id,element,command,user_interface,value){switch(command){case "mceSave":var formObj=tinyMCE.selectedInstance.formElement.form;if(formObj){tinyMCE.triggerSave();for(var i=0;i<formObj.elements.length;i++){var elementId=formObj.elements[i].name?formObj.elements[i].name:formObj.elements[i].id;if(elementId.indexOf('mce_editor_')==0)formObj.elements[i].disabled=true;}tinyMCE.isNotDirty=true;tinyMCE.selectedInstance.formElement.form.submit();}else alert("Error: No form element found.");return true;}return false;}
\ No newline at end of file
diff --git a/webcit/tiny_mce/plugins/save/editor_plugin_src.js b/webcit/tiny_mce/plugins/save/editor_plugin_src.js
new file mode 100644 (file)
index 0000000..7966553
--- /dev/null
@@ -0,0 +1,55 @@
+/* Import plugin specific language pack */
+tinyMCE.importPluginLanguagePack('save', 'en,sv,zh_cn,cs,fa,fr_ca,fr,de,pl,pt_br,nl,he');
+
+function TinyMCE_save_getInfo() {
+       return {
+               longname : 'Save',
+               author : 'Moxiecode Systems',
+               authorurl : 'http://tinymce.moxiecode.com',
+               infourl : 'http://tinymce.moxiecode.com/tinymce/docs/plugin_save.html',
+               version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion
+       };
+};
+
+/**
+ * Returns the HTML contents of the save control.
+ */
+function TinyMCE_save_getControlHTML(control_name) {
+       switch (control_name) {
+               case "save":
+                       return '<a href="javascript:tinyMCE.execInstanceCommand(\'{$editor_id}\',\'mceSave\');" onmousedown="return false;"><img id="{$editor_id}_save" src="{$pluginurl}/images/save.gif" title="{$lang_save_desc}" width="20" height="20" class="mceButtonNormal" onmouseover="tinyMCE.switchClass(this,\'mceButtonOver\');" onmouseout="tinyMCE.switchClass(this,\'mceButtonNormal\');" onmousedown="tinyMCE.switchClass(this,\'mceButtonDown\');" /></a>';
+       }
+
+       return "";
+}
+
+/**
+ * Executes the save command.
+ */
+function TinyMCE_save_execCommand(editor_id, element, command, user_interface, value) {
+       // Handle commands
+       switch (command) {
+               case "mceSave":
+                       var formObj = tinyMCE.selectedInstance.formElement.form;
+
+                       if (formObj) {
+                               tinyMCE.triggerSave();
+
+                               // Disable all UI form elements that TinyMCE created
+                               for (var i=0; i<formObj.elements.length; i++) {
+                                       var elementId = formObj.elements[i].name ? formObj.elements[i].name : formObj.elements[i].id;
+
+                                       if (elementId.indexOf('mce_editor_') == 0)
+                                               formObj.elements[i].disabled = true;
+                               }
+
+                               tinyMCE.isNotDirty = true;
+                               tinyMCE.selectedInstance.formElement.form.submit();
+                       } else
+                               alert("Error: No form element found.");
+
+                       return true;
+       }
+       // Pass to next handler in chain
+       return false;
+}
\ No newline at end of file
diff --git a/webcit/tiny_mce/plugins/save/images/save.gif b/webcit/tiny_mce/plugins/save/images/save.gif
new file mode 100644 (file)
index 0000000..2777beb
Binary files /dev/null and b/webcit/tiny_mce/plugins/save/images/save.gif differ
diff --git a/webcit/tiny_mce/plugins/save/langs/cs.js b/webcit/tiny_mce/plugins/save/langs/cs.js
new file mode 100644 (file)
index 0000000..02ba82d
--- /dev/null
@@ -0,0 +1,11 @@
+/**
+ * Czech lang variables 
+ * encoding: utf-8
+ *  
+ * $Id$ 
+ */  
+
+tinyMCE.addToLang('',{
+save_desc : 'Uložit'
+});
+
diff --git a/webcit/tiny_mce/plugins/save/langs/de.js b/webcit/tiny_mce/plugins/save/langs/de.js
new file mode 100644 (file)
index 0000000..2ee4530
--- /dev/null
@@ -0,0 +1,5 @@
+// DE lang variables 
+
+tinyMCE.addToLang('',{
+save_desc : 'Speichern'
+});
diff --git a/webcit/tiny_mce/plugins/save/langs/en.js b/webcit/tiny_mce/plugins/save/langs/en.js
new file mode 100644 (file)
index 0000000..61a2620
--- /dev/null
@@ -0,0 +1,5 @@
+// UK lang variables
+
+tinyMCE.addToLang('',{
+save_desc : 'Save'
+});
diff --git a/webcit/tiny_mce/plugins/save/langs/fa.js b/webcit/tiny_mce/plugins/save/langs/fa.js
new file mode 100644 (file)
index 0000000..91f91ae
--- /dev/null
@@ -0,0 +1,11 @@
+// IR lang variables
+// Persian (Farsi) language pack (for IRAN)
+// By: Morteza Zafari
+// Lost@LostLord.com
+// http://www.LostLord.com
+
+tinyMCE.addToLang('',{
+dir : 'rtl',
+save_desc : '???'
+});
\ No newline at end of file
diff --git a/webcit/tiny_mce/plugins/save/langs/fr.js b/webcit/tiny_mce/plugins/save/langs/fr.js
new file mode 100644 (file)
index 0000000..f2967b3
--- /dev/null
@@ -0,0 +1,5 @@
+// French lang variables by Laurent Dran
+
+tinyMCE.addToLang('',{
+save_desc : 'Sauver'
+});
diff --git a/webcit/tiny_mce/plugins/save/langs/fr_ca.js b/webcit/tiny_mce/plugins/save/langs/fr_ca.js
new file mode 100644 (file)
index 0000000..66d64d0
--- /dev/null
@@ -0,0 +1,6 @@
+// Canadian French lang variables by Virtuelcom   last modification: 2005-06-15
+
+tinyMCE.addToLang('',{
+save_desc : 'Enregistrer'
+});
+, 
\ No newline at end of file
diff --git a/webcit/tiny_mce/plugins/save/langs/he.js b/webcit/tiny_mce/plugins/save/langs/he.js
new file mode 100644 (file)
index 0000000..95f5d47
--- /dev/null
@@ -0,0 +1,5 @@
+// HE lang variables by Liron Newman, http://eesh.net
+
+tinyMCE.addToLang('',{
+save_desc : 'ùî&aring;ø'
+});
diff --git a/webcit/tiny_mce/plugins/save/langs/nl.js b/webcit/tiny_mce/plugins/save/langs/nl.js
new file mode 100644 (file)
index 0000000..2b6d16b
--- /dev/null
@@ -0,0 +1,5 @@
+// UK lang variables
+
+tinyMCE.addToLang('',{
+save_desc : 'Opslaan'
+});
diff --git a/webcit/tiny_mce/plugins/save/langs/pl.js b/webcit/tiny_mce/plugins/save/langs/pl.js
new file mode 100644 (file)
index 0000000..3fa9e40
--- /dev/null
@@ -0,0 +1,5 @@
+// PL lang variables
+
+tinyMCE.addToLang('',{
+save_desc : 'Zachowaj'
+});
diff --git a/webcit/tiny_mce/plugins/save/langs/pt_br.js b/webcit/tiny_mce/plugins/save/langs/pt_br.js
new file mode 100644 (file)
index 0000000..07aecb0
--- /dev/null
@@ -0,0 +1,5 @@
+// pt_BR lang variables
+
+tinyMCE.addToLang('',{
+save_desc : 'Salvar'
+});
diff --git a/webcit/tiny_mce/plugins/save/langs/sv.js b/webcit/tiny_mce/plugins/save/langs/sv.js
new file mode 100644 (file)
index 0000000..7217d64
--- /dev/null
@@ -0,0 +1,5 @@
+// SV lang variables
+
+tinyMCE.addToLang('save',{
+desc : 'Spara'
+});
diff --git a/webcit/tiny_mce/plugins/save/langs/zh_cn.js b/webcit/tiny_mce/plugins/save/langs/zh_cn.js
new file mode 100644 (file)
index 0000000..4210932
--- /dev/null
@@ -0,0 +1,7 @@
+// Simplified Chinese lang variables contributed by cube316 (cube316@gmail.com)
+//Çë·ÃÎÊ http://www.cube316.net/ ÒÔ»ñÈ¡TinyMCEµ&Auml;&Ouml;ÐÎ&Auml;&Ouml;§³&Ouml;
+
+tinyMCE.addToLang('',{
+save_desc : '±£´æ'
+});
\ No newline at end of file
diff --git a/webcit/tiny_mce/plugins/save/readme.txt b/webcit/tiny_mce/plugins/save/readme.txt
new file mode 100644 (file)
index 0000000..6bc6d7d
--- /dev/null
@@ -0,0 +1 @@
+Check the TinyMCE documentation for details on this plugin.
diff --git a/webcit/tiny_mce/plugins/searchreplace/editor_plugin.js b/webcit/tiny_mce/plugins/searchreplace/editor_plugin.js
new file mode 100644 (file)
index 0000000..24ff50c
--- /dev/null
@@ -0,0 +1,2 @@
+/* Import theme        specific language pack */
+ tinyMCE.importPluginLanguagePack('searchreplace','en,sv,zh_cn,fa,fr_ca,fr,de,pl,pt_br,cs,nl');function TinyMCE_searchreplace_getInfo(){return{longname:'Search/Replace',author:'Moxiecode Systems',authorurl:'http://tinymce.moxiecode.com',infourl:'http://tinymce.moxiecode.com/tinymce/docs/plugin_searchreplace.html',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion};};function TinyMCE_searchreplace_getControlHTML(control_name){switch(control_name){case "search":return '<a href="javascript:tinyMCE.execInstanceCommand(\'{$editor_id}\',\'mceSearch\',true);" onmousedown="return false;"><img id="{$editor_id}_search" src="{$pluginurl}/images/search.gif" title="{$lang_searchreplace_search_desc}" width="20" height="20" class="mceButtonNormal" onmouseover="tinyMCE.switchClass(this,\'mceButtonOver\');" onmouseout="tinyMCE.restoreClass(this);" onmousedown="tinyMCE.restoreAndSwitchClass(this,\'mceButtonDown\');" /></a>';case "replace":return '<a href="javascript:tinyMCE.execInstanceCommand(\'{$editor_id}\',\'mceSearchReplace\',true);" onmousedown="return false;"><img id="{$editor_id}_replace" src="{$pluginurl}/images/replace.gif" title="{$lang_searchreplace_replace_desc}" width="20" height="20" class="mceButtonNormal" onmouseover="tinyMCE.switchClass(this,\'mceButtonOver\');" onmouseout="tinyMCE.restoreClass(this);" onmousedown="tinyMCE.restoreAndSwitchClass(this,\'mceButtonDown\');" /></a>';}return "";}function TinyMCE_searchreplace_execCommand(editor_id,element,command,user_interface,value){function defValue(key,default_value){value[key]=typeof(value[key])=="undefined"?default_value:value[key];}function replaceSel(search_str,str){if(!tinyMCE.isMSIE){var sel=instance.contentWindow.getSelection();var rng=sel.getRangeAt(0);}else{var rng=instance.contentWindow.document.selection.createRange();}if(!tinyMCE.isMSIE){var doc=instance.contentWindow.document;if(str.indexOf(search_str)==-1){rng.deleteContents();rng.insertNode(rng.createContextualFragment(str));rng.collapse(false);}else{doc.execCommand("insertimage",false,"#mce_temp_url#");var elm=tinyMCE.getElementByAttributeValue(doc.body,"img","src","#mce_temp_url#");elm.parentNode.replaceChild(doc.createTextNode(str),elm);}}else{if(rng.item)rng.item(0).outerHTML=str;else rng.pasteHTML(str);}}var instance=tinyMCE.getInstanceById(editor_id);if(!value)value=new Array();defValue("editor_id",editor_id);defValue("searchstring","");defValue("replacestring",null);defValue("replacemode","none");defValue("casesensitive",false);defValue("backwards",false);defValue("wrap",false);defValue("wholeword",false);defValue("inline","yes");switch(command){case "mceResetSearch":tinyMCE.lastSearchRng=null;return true;case "mceSearch":if(user_interface){var template=new Array();if(value['replacestring']!=null){template['file']='../../plugins/searchreplace/replace.htm';template['width']=320;template['height']=120;}else{template['file']='../../plugins/searchreplace/search.htm';template['width']=310;template['height']=105;}tinyMCE.openWindow(template,value);}else{var win=tinyMCE.getInstanceById(editor_id).contentWindow;var doc=tinyMCE.getInstanceById(editor_id).contentWindow.document;var body=tinyMCE.getInstanceById(editor_id).contentWindow.document.body;if(body.innerHTML==""){alert(tinyMCE.getLang('lang_searchreplace_notfound'));return true;}if(value['replacemode']=="current"){replaceSel(value['string'],value['replacestring']);value['replacemode']="none";tinyMCE.execInstanceCommand(editor_id,'mceSearch',user_interface,value,false);return true;}if(tinyMCE.isMSIE){var rng=tinyMCE.lastSearchRng?tinyMCE.lastSearchRng:doc.selection.createRange();var flags=0;if(value['wholeword'])flags=flags|2;if(value['casesensitive'])flags=flags|4;if(value['replacemode']=="all"){while(rng.findText(value['string'],value['backwards']?-1:1,flags)){rng.scrollIntoView();rng.select();rng.collapse(false);replaceSel(value['string'],value['replacestring']);}alert(tinyMCE.getLang('lang_searchreplace_allreplaced'));return true;}if(rng.findText(value['string'],value['backwards']?-1:1,flags)){rng.scrollIntoView();rng.select();rng.collapse(value['backwards']);tinyMCE.lastSearchRng=rng;}else alert(tinyMCE.getLang('lang_searchreplace_notfound'));}else{if(value['replacemode']=="all"){while(win.find(value['string'],value['casesensitive'],value['backwards'],value['wrap'],value['wholeword'],false,false))replaceSel(value['string'],value['replacestring']);alert(tinyMCE.getLang('lang_searchreplace_allreplaced'));return true;}if(!win.find(value['string'],value['casesensitive'],value['backwards'],value['wrap'],value['wholeword'],false,false))alert(tinyMCE.getLang('lang_searchreplace_notfound'));}}return true;case "mceSearchReplace":value['replacestring']="";tinyMCE.execInstanceCommand(editor_id,'mceSearch',user_interface,value,false);return true;}return false;}function TinyMCE_searchreplace_handleNodeChange(editor_id,node,undo_index,undo_levels,visual_aid,any_selection){return true;}
\ No newline at end of file
diff --git a/webcit/tiny_mce/plugins/searchreplace/editor_plugin_src.js b/webcit/tiny_mce/plugins/searchreplace/editor_plugin_src.js
new file mode 100644 (file)
index 0000000..efd5ded
--- /dev/null
@@ -0,0 +1,184 @@
+/* Import theme        specific language pack */
+tinyMCE.importPluginLanguagePack('searchreplace', 'en,sv,zh_cn,fa,fr_ca,fr,de,pl,pt_br,cs,nl');
+
+function TinyMCE_searchreplace_getInfo() {
+       return {
+               longname : 'Search/Replace',
+               author : 'Moxiecode Systems',
+               authorurl : 'http://tinymce.moxiecode.com',
+               infourl : 'http://tinymce.moxiecode.com/tinymce/docs/plugin_searchreplace.html',
+               version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion
+       };
+};
+
+function TinyMCE_searchreplace_getControlHTML(control_name)    {
+       switch (control_name) {
+               case "search":
+                       return '<a href="javascript:tinyMCE.execInstanceCommand(\'{$editor_id}\',\'mceSearch\',true);" onmousedown="return false;"><img id="{$editor_id}_search" src="{$pluginurl}/images/search.gif" title="{$lang_searchreplace_search_desc}" width="20" height="20" class="mceButtonNormal" onmouseover="tinyMCE.switchClass(this,\'mceButtonOver\');" onmouseout="tinyMCE.restoreClass(this);" onmousedown="tinyMCE.restoreAndSwitchClass(this,\'mceButtonDown\');" /></a>';
+
+               case "replace":
+                       return '<a href="javascript:tinyMCE.execInstanceCommand(\'{$editor_id}\',\'mceSearchReplace\',true);" onmousedown="return false;"><img id="{$editor_id}_replace" src="{$pluginurl}/images/replace.gif" title="{$lang_searchreplace_replace_desc}" width="20" height="20" class="mceButtonNormal" onmouseover="tinyMCE.switchClass(this,\'mceButtonOver\');" onmouseout="tinyMCE.restoreClass(this);" onmousedown="tinyMCE.restoreAndSwitchClass(this,\'mceButtonDown\');" /></a>';
+       }
+
+       return "";
+}
+
+/**
+ * Executes    the     search/replace commands.
+ */
+function TinyMCE_searchreplace_execCommand(editor_id, element, command,        user_interface, value) {
+       function defValue(key, default_value) {
+               value[key] = typeof(value[key]) == "undefined" ? default_value : value[key];
+       }
+
+       function replaceSel(search_str, str) {
+               // Get current selection
+               if (!tinyMCE.isMSIE) {
+                       var sel = instance.contentWindow.getSelection();
+                       var rng = sel.getRangeAt(0);
+               } else {
+                       var rng = instance.contentWindow.document.selection.createRange();
+               }
+
+               // Replace current one
+               if (!tinyMCE.isMSIE) {
+                       var doc = instance.contentWindow.document;
+
+                       // This way works when the replace doesn't contain the search string
+                       if (str.indexOf(search_str) == -1) {
+                               rng.deleteContents();
+                               rng.insertNode(rng.createContextualFragment(str));
+                               rng.collapse(false);
+                       } else {
+                               // Insert content ugly way! Needed to move selection to after replace item
+                               doc.execCommand("insertimage", false, "#mce_temp_url#");
+                               var elm = tinyMCE.getElementByAttributeValue(doc.body, "img", "src", "#mce_temp_url#");
+                               elm.parentNode.replaceChild(doc.createTextNode(str), elm);
+                       }
+               } else {
+                       if (rng.item)
+                               rng.item(0).outerHTML = str;
+                       else
+                               rng.pasteHTML(str);
+               }
+       }
+
+       var instance = tinyMCE.getInstanceById(editor_id);
+
+       if (!value)
+               value = new Array();
+
+       // Setup defualt values
+       defValue("editor_id", editor_id);
+       defValue("searchstring", "");
+       defValue("replacestring", null);
+       defValue("replacemode", "none");
+       defValue("casesensitive", false);
+       defValue("backwards", false);
+       defValue("wrap", false);
+       defValue("wholeword", false);
+       defValue("inline", "yes");
+
+       // Handle commands
+       switch (command) {
+               case "mceResetSearch":
+                       tinyMCE.lastSearchRng = null;
+                       return true;
+
+               case "mceSearch":
+                       if (user_interface) {
+                               // Open search dialog
+                               var template = new Array();
+
+                               if (value['replacestring'] != null) {
+                                       template['file'] = '../../plugins/searchreplace/replace.htm'; // Relative to theme
+                                       template['width'] = 320;
+                                       template['height'] = 120;
+                               } else {
+                                       template['file'] = '../../plugins/searchreplace/search.htm'; // Relative to theme
+                                       template['width'] = 310;
+                                       template['height'] = 105;
+                               }
+
+                               tinyMCE.openWindow(template, value);
+                       } else {
+                               var win = tinyMCE.getInstanceById(editor_id).contentWindow;
+                               var doc = tinyMCE.getInstanceById(editor_id).contentWindow.document;
+                               var body = tinyMCE.getInstanceById(editor_id).contentWindow.document.body;
+
+                               // Whats the point
+                               if (body.innerHTML == "") {
+                                       alert(tinyMCE.getLang('lang_searchreplace_notfound'));
+                                       return true;
+                               }
+
+                               // Handle replace current
+                               if (value['replacemode'] == "current") {
+                                       replaceSel(value['string'], value['replacestring']);
+
+                                       // Search next one
+                                       value['replacemode'] = "none";
+                                       tinyMCE.execInstanceCommand(editor_id, 'mceSearch', user_interface, value, false);
+
+                                       return true;
+                               }
+
+                               if (tinyMCE.isMSIE) {
+                                       var rng = tinyMCE.lastSearchRng ? tinyMCE.lastSearchRng : doc.selection.createRange();
+                                       var flags = 0;
+
+                                       if (value['wholeword'])
+                                               flags = flags | 2;
+
+                                       if (value['casesensitive'])
+                                               flags = flags | 4;
+
+                                       // Handle replace all mode
+                                       if (value['replacemode'] == "all") {
+                                               while (rng.findText(value['string'], value['backwards'] ? -1 : 1, flags)) {
+                                                       rng.scrollIntoView();
+                                                       rng.select();
+                                                       rng.collapse(false);
+                                                       replaceSel(value['string'], value['replacestring']);
+                                               }
+
+                                               alert(tinyMCE.getLang('lang_searchreplace_allreplaced'));
+                                               return true;
+                                       }
+
+                                       if (rng.findText(value['string'], value['backwards'] ? -1 : 1, flags)) {
+                                               rng.scrollIntoView();
+                                               rng.select();
+                                               rng.collapse(value['backwards']);
+                                               tinyMCE.lastSearchRng = rng;
+                                       } else
+                                               alert(tinyMCE.getLang('lang_searchreplace_notfound'));
+                               } else {
+                                       if (value['replacemode'] == "all") {
+                                               while (win.find(value['string'], value['casesensitive'], value['backwards'], value['wrap'], value['wholeword'], false, false))
+                                                       replaceSel(value['string'], value['replacestring']);
+
+                                               alert(tinyMCE.getLang('lang_searchreplace_allreplaced'));
+                                               return true;
+                                       }
+
+                                       if (!win.find(value['string'], value['casesensitive'], value['backwards'], value['wrap'], value['wholeword'], false, false))
+                                               alert(tinyMCE.getLang('lang_searchreplace_notfound'));
+                               }
+                       }
+                       return true;
+
+               case "mceSearchReplace":
+                       value['replacestring'] = "";
+
+                       tinyMCE.execInstanceCommand(editor_id, 'mceSearch', user_interface, value, false);
+                       return true;
+       }
+
+       // Pass to next handler in chain
+       return false;
+}
+
+function TinyMCE_searchreplace_handleNodeChange(editor_id, node, undo_index, undo_levels, visual_aid, any_selection) {
+       return true;
+}
diff --git a/webcit/tiny_mce/plugins/searchreplace/images/replace.gif b/webcit/tiny_mce/plugins/searchreplace/images/replace.gif
new file mode 100644 (file)
index 0000000..572821e
Binary files /dev/null and b/webcit/tiny_mce/plugins/searchreplace/images/replace.gif differ
diff --git a/webcit/tiny_mce/plugins/searchreplace/images/search.gif b/webcit/tiny_mce/plugins/searchreplace/images/search.gif
new file mode 100644 (file)
index 0000000..cfe76b5
Binary files /dev/null and b/webcit/tiny_mce/plugins/searchreplace/images/search.gif differ
diff --git a/webcit/tiny_mce/plugins/searchreplace/jscripts/replace.js b/webcit/tiny_mce/plugins/searchreplace/jscripts/replace.js
new file mode 100644 (file)
index 0000000..939c1bc
--- /dev/null
@@ -0,0 +1,38 @@
+function init() {
+       tinyMCEPopup.resizeToInnerSize();
+
+       var formObj = document.forms[0];
+
+       formObj.searchstring.value = tinyMCE.getWindowArg("searchstring");
+       formObj.replacestring.value = tinyMCE.getWindowArg("replacestring");
+       formObj.casesensitivebox.checked = tinyMCE.getWindowArg("casesensitive");
+       formObj.backwards[0].checked = tinyMCE.getWindowArg("backwards");
+       formObj.backwards[1].checked = !tinyMCE.getWindowArg("backwards");
+//             formObj.wrapatend.checked = tinyMCE.getWindowArg("wrap");
+//             formObj.wholeword.checked = tinyMCE.getWindowArg("wholeword");
+
+       tinyMCEPopup.execCommand("mceResetSearch", false, {dummy : ""}, false);
+}
+
+function searchNext(replacemode) {
+       var formObj = document.forms[0];
+
+       // Whats the point?
+       if (formObj.searchstring.value == "" || formObj.searchstring.value == formObj.replacestring.value)
+               return;
+
+       // Do search
+       tinyMCEPopup.execCommand('mceSearch', false, { 
+               string : formObj.searchstring.value,
+               replacestring : formObj.replacestring.value,
+               replacemode : replacemode,
+               casesensitive : formObj.casesensitivebox.checked,
+               backwards : formObj.backwards[0].checked
+//                     wrap : formObj.wrapatend.checked,
+//                     wholeword : formObj.wholeword.checked
+               }, false);
+}
+
+function cancelAction() {
+       tinyMCEPopup.close();
+}
diff --git a/webcit/tiny_mce/plugins/searchreplace/jscripts/search.js b/webcit/tiny_mce/plugins/searchreplace/jscripts/search.js
new file mode 100644 (file)
index 0000000..2badd58
--- /dev/null
@@ -0,0 +1,34 @@
+function init() {
+       tinyMCEPopup.resizeToInnerSize();
+
+       var formObj = document.forms[0];
+
+       formObj.searchstring.value = tinyMCE.getWindowArg("searchstring");
+       formObj.casesensitivebox.checked = tinyMCE.getWindowArg("casesensitive");
+       formObj.backwards[0].checked = tinyMCE.getWindowArg("backwards");
+       formObj.backwards[1].checked = !tinyMCE.getWindowArg("backwards");
+//             formObj.wrapatend.checked = tinyMCE.getWindowArg("wrap");
+//             formObj.wholeword.checked = tinyMCE.getWindowArg("wholeword");
+
+       tinyMCEPopup.execCommand("mceResetSearch", false, {dummy : ""}, false);
+}
+
+function searchNext() {
+       var formObj = document.forms[0];
+
+       if (formObj.searchstring.value == "")
+               return;
+
+       // Do search
+       tinyMCEPopup.execCommand('mceSearch', false, { 
+               string : formObj.searchstring.value,
+               casesensitive : formObj.casesensitivebox.checked,
+               backwards : formObj.backwards[0].checked
+//                     wrap : formObj.wrapatend.checked,
+//                     wholeword : formObj.wholeword.checked
+               }, false);
+}
+
+function cancelAction() {
+       tinyMCEPopup.close();
+}
diff --git a/webcit/tiny_mce/plugins/searchreplace/langs/cs.js b/webcit/tiny_mce/plugins/searchreplace/langs/cs.js
new file mode 100644 (file)
index 0000000..fb14ac2
--- /dev/null
@@ -0,0 +1,27 @@
+/**
+ * Czech lang variables 
+ * encoding: utf-8
+ *  
+ * $Id$ 
+ */  
+
+tinyMCE.addToLang('',{
+searchreplace_search_desc : 'Najdi',
+searchreplace_searchnext_desc : 'Najdi znova',
+searchreplace_replace_desc : 'Najdi/Nahradit',
+searchreplace_notfound : 'Vyhledávaní ukončeno. Řetězec nemusel být nalezen.',
+searchreplace_search_title : 'Najdi',
+searchreplace_replace_title : 'Najdi/Nahradit',
+searchreplace_allreplaced : 'Všechny výskyty řetězce byly změněny.',
+searchreplace_findwhat : 'Najít',
+searchreplace_replacewith : 'Nahradit',
+searchreplace_direction : 'Směr',
+searchreplace_up : 'Nahoru',
+searchreplace_down : 'Dolů',
+searchreplace_case : 'Přesná shoda',
+searchreplace_findnext : 'Najdi&nbsp;další',
+searchreplace_replace : 'Nahradit',
+searchreplace_replaceall : 'Nahradit&nbsp;vše',
+searchreplace_cancel : 'Zrušit'
+});
+
diff --git a/webcit/tiny_mce/plugins/searchreplace/langs/de.js b/webcit/tiny_mce/plugins/searchreplace/langs/de.js
new file mode 100644 (file)
index 0000000..4f90a4f
--- /dev/null
@@ -0,0 +1,21 @@
+// DE lang variables 
+
+tinyMCE.addToLang('',{
+searchreplace_search_desc : 'Suchen',
+searchreplace_searchnext_desc : 'Erneut suchen',
+searchreplace_replace_desc : 'Suchen/Ersetzen',
+searchreplace_notfound : 'Die Suche wurde abgeschlossen. Das Suchwort wurde nicht gefunden.',
+searchreplace_search_title : 'Suchen',
+searchreplace_replace_title : 'Suchen/Ersetzen',
+searchreplace_allreplaced : 'Die Suche wurde abgeschlossen. Alle Vorkommen wurden ersetzt.',
+searchreplace_findwhat : 'Suchen nach',
+searchreplace_replacewith : 'Ersetzem durch',
+searchreplace_direction : 'Suchrichtung',
+searchreplace_up : 'R&uuml;ckw&auml;rts',
+searchreplace_down : 'Vorw&auml;rts',
+searchreplace_case : 'Gro&szlig;-/Kleinschreibung beachten',
+searchreplace_findnext : 'Weiter suchen',
+searchreplace_replace : 'Ersetzen',
+searchreplace_replaceall : 'Alle ersetzen',
+searchreplace_cancel : 'Abbrechen'
+});
diff --git a/webcit/tiny_mce/plugins/searchreplace/langs/en.js b/webcit/tiny_mce/plugins/searchreplace/langs/en.js
new file mode 100644 (file)
index 0000000..6860f46
--- /dev/null
@@ -0,0 +1,21 @@
+// UK lang variables
+
+tinyMCE.addToLang('',{
+searchreplace_search_desc : 'Find',
+searchreplace_searchnext_desc : 'Find again',
+searchreplace_replace_desc : 'Find/Replace',
+searchreplace_notfound : 'The search has been compleated. The search string could not be found.',
+searchreplace_search_title : 'Find',
+searchreplace_replace_title : 'Find/Replace',
+searchreplace_allreplaced : 'All occurrences of the search string was replaced.',
+searchreplace_findwhat : 'Find what',
+searchreplace_replacewith : 'Replace with',
+searchreplace_direction : 'Direction',
+searchreplace_up : 'Up',
+searchreplace_down : 'Down',
+searchreplace_case : 'Match case',
+searchreplace_findnext : 'Find&nbsp;next',
+searchreplace_replace : 'Replace',
+searchreplace_replaceall : 'Replace&nbsp;all',
+searchreplace_cancel : 'Cancel'
+});
diff --git a/webcit/tiny_mce/plugins/searchreplace/langs/fa.js b/webcit/tiny_mce/plugins/searchreplace/langs/fa.js
new file mode 100644 (file)
index 0000000..36e543c
--- /dev/null
@@ -0,0 +1,26 @@
+// IR lang variables
+// Persian (Farsi) language pack (for IRAN)
+// By: Morteza Zafari
+// Lost@LostLord.com
+// http://www.LostLord.com
+
+tinyMCE.addToLang('',{
+dir : 'rtl',
+searchreplace_search_desc : '?????',
+searchreplace_searchnext_desc : '?????? ????',
+searchreplace_replace_desc : '?????/????????',
+searchreplace_notfound : '????? ????? ????. ??? ????? ???? ???.',
+searchreplace_search_title : '?????',
+searchreplace_replace_title : '?????/????????',
+searchreplace_allreplaced : '??? ????? ??????? ?????.',
+searchreplace_findwhat : '????? ?? ?????',
+searchreplace_replacewith : '???????? ??',
+searchreplace_direction : '??? ?????',
+searchreplace_up : '?? ??? ????',
+searchreplace_down : '?? ??? ?????',
+searchreplace_case : '????? ???? ???? ? ????',
+searchreplace_findnext : '????-????',
+searchreplace_replace : '???????-??',
+searchreplace_replaceall : '????????-???',
+searchreplace_cancel : '??????'
+});
diff --git a/webcit/tiny_mce/plugins/searchreplace/langs/fr.js b/webcit/tiny_mce/plugins/searchreplace/langs/fr.js
new file mode 100644 (file)
index 0000000..59a480c
--- /dev/null
@@ -0,0 +1,21 @@
+// Franch lang variables by Laurent Dran
+
+tinyMCE.addToLang('',{
+searchreplace_search_desc : 'Trouver',
+searchreplace_searchnext_desc : 'Trouver encore',
+searchreplace_replace_desc : 'Trouver/Remplacer',
+searchreplace_notfound : 'Votre recherche a &eacute;t&eacute; compl&eacute;&eacute;. La recherche de la chaine pourra ne pas aboutir.',
+searchreplace_search_title : 'Trouver',
+searchreplace_replace_title : 'Trouver/Remplacer',
+searchreplace_allreplaced : 'Toutes les occurences de la chaine ont &eacute;t&eacute; remplc&eacute;es.',
+searchreplace_findwhat : 'Trouver le mot',
+searchreplace_replacewith : 'Remplacer avec',
+searchreplace_direction : 'Direction',
+searchreplace_up : 'Haut',
+searchreplace_down : 'Base',
+searchreplace_case : 'Respecter la casse',
+searchreplace_findnext : 'Trouver le prochain',
+searchreplace_replace : 'Remplacer',
+searchreplace_replaceall : 'Remplacer tout',
+searchreplace_cancel : 'Annuler'
+});
diff --git a/webcit/tiny_mce/plugins/searchreplace/langs/fr_ca.js b/webcit/tiny_mce/plugins/searchreplace/langs/fr_ca.js
new file mode 100644 (file)
index 0000000..6969dc2
--- /dev/null
@@ -0,0 +1,21 @@
+// Canadian French lang variables by Virtuelcom   last modification: 2005-06-15
+
+tinyMCE.addToLang('',{
+searchreplace_search_desc : 'Chercher',
+searchreplace_searchnext_desc : 'Chercher suivant',
+searchreplace_replace_desc : 'Chercher/Remplacer',
+searchreplace_notfound : 'La recherche est terminée.  Aucune occurence trouvée.',
+searchreplace_search_title : 'Chercher',
+searchreplace_replace_title : 'Chercher/Remplacer',
+searchreplace_allreplaced : 'Toutes les occurences ont été remplacées.',
+searchreplace_findwhat : 'Chercher quoi',
+searchreplace_replacewith : 'Remplacer par',
+searchreplace_direction : 'Direction',
+searchreplace_up : 'Monter',
+searchreplace_down : 'Descendre',
+searchreplace_case : 'Sensible à la case',
+searchreplace_findnext : 'Chercher&nbsp,suivant',
+searchreplace_replace : 'Remplacer',
+searchreplace_replaceall : 'Remplacer&nbsp,tous',
+searchreplace_cancel : 'Annuler'
+});
diff --git a/webcit/tiny_mce/plugins/searchreplace/langs/he.js b/webcit/tiny_mce/plugins/searchreplace/langs/he.js
new file mode 100644 (file)
index 0000000..282bb91
--- /dev/null
@@ -0,0 +1,21 @@
+// HE lang variables by Liron Newman, http://eesh.net
+
+tinyMCE.addToLang('',{
+searchreplace_search_desc : 'çôù',
+searchreplace_searchnext_desc : 'çôù ù&aring;á',
+searchreplace_replace_desc : 'çôù/&auml;çìó',
+searchreplace_notfound : '&auml;çéô&aring;ù &auml;&aring;ùìí. îçø&aring;æú &auml;çéô&aring;ù ìà ðî&ouml;à&auml;.',
+searchreplace_search_title : 'çôù',
+searchreplace_replace_title : 'çôù/&auml;çìó',
+searchreplace_allreplaced : 'îçø&aring;æú &auml;çéô&aring;ù &auml;&aring;çìô&auml; áëì î÷&aring;í á&aring; &auml;éà ðî&ouml;à&auml;.',
+searchreplace_findwhat : 'î&auml; ìçôù',
+searchreplace_replacewith : 'ì&auml;çìéó á-',
+searchreplace_direction : 'ëé&aring;&aring;ï',
+searchreplace_up : 'ìîòì&auml;',
+searchreplace_down : 'ìîè&auml;',
+searchreplace_case : '&auml;úàí â&aring;ãì à&aring;úé&aring;ú',
+searchreplace_findnext : 'î&ouml;à&nbsp;àú&nbsp;&auml;áà',
+searchreplace_replace : '&auml;çìó',
+searchreplace_replaceall : '&auml;çìó&nbsp;&auml;ëì',
+searchreplace_cancel : 'áèì'
+});
diff --git a/webcit/tiny_mce/plugins/searchreplace/langs/nl.js b/webcit/tiny_mce/plugins/searchreplace/langs/nl.js
new file mode 100644 (file)
index 0000000..6289954
--- /dev/null
@@ -0,0 +1,21 @@
+// NL lang variables
+
+tinyMCE.addToLang('',{
+searchreplace_search_desc : 'Zoeken',
+searchreplace_searchnext_desc : 'Opnieuw zoeken',
+searchreplace_replace_desc : 'Zoeken/Vervang',
+searchreplace_notfound : 'De zoekopdracht is klaar. Het zoekargument was niet gevonden.',
+searchreplace_search_title : 'Zoeken',
+searchreplace_replace_title : 'Zoeken/Vervangen',
+searchreplace_allreplaced : 'Alle zoekargumenten werden vervangen.',
+searchreplace_findwhat : 'Zoek argument',
+searchreplace_replacewith : 'Vervang met',
+searchreplace_direction : 'Richting',
+searchreplace_up : 'Op',
+searchreplace_down : 'Neer',
+searchreplace_case : 'Identieke hoofdletters',
+searchreplace_findnext : 'Volgende zoeken',
+searchreplace_replace : 'Vervang',
+searchreplace_replaceall : 'Vervang&nbsp;alles',
+searchreplace_cancel : 'Annuleer'
+});
diff --git a/webcit/tiny_mce/plugins/searchreplace/langs/pl.js b/webcit/tiny_mce/plugins/searchreplace/langs/pl.js
new file mode 100644 (file)
index 0000000..f57c814
--- /dev/null
@@ -0,0 +1,21 @@
+// PL lang variables
+
+tinyMCE.addToLang('',{
+searchreplace_search_desc : 'Znajdz',
+searchreplace_searchnext_desc : 'Znajdz ponownie',
+searchreplace_replace_desc : 'Znajdz/Zastap',
+searchreplace_notfound : 'Ukonczono wyszukiwanie. Poszukiwana fraza nie zostala odnaleziona.',
+searchreplace_search_title : 'Znajdz',
+searchreplace_replace_title : 'Znajdz/Zastap',
+searchreplace_allreplaced : 'Wszystkie wystapienia poszukiwanej frazy zostaly zastapione. ',
+searchreplace_findwhat : 'Znajdz',
+searchreplace_replacewith : 'Zastap',
+searchreplace_direction : 'Kierunek',
+searchreplace_up : 'Do góry',
+searchreplace_down : 'Do dolu',
+searchreplace_case : 'Wielkosc liter',
+searchreplace_findnext : 'Znajdz&nbsp;nastepny',
+searchreplace_replace : 'Zastap',
+searchreplace_replaceall : 'Zastap&nbsp;wszystkie',
+searchreplace_cancel : 'Wyjdz'
+});
diff --git a/webcit/tiny_mce/plugins/searchreplace/langs/pt_br.js b/webcit/tiny_mce/plugins/searchreplace/langs/pt_br.js
new file mode 100644 (file)
index 0000000..6464431
--- /dev/null
@@ -0,0 +1,21 @@
+// pt_BR lang variables
+
+tinyMCE.addToLang('',{
+searchreplace_search_desc : 'Procurar',
+searchreplace_searchnext_desc : 'Procurar novamente',
+searchreplace_replace_desc : 'Procurar/Substituir',
+searchreplace_notfound : 'A procura foi concluída. A expressão buscada não foi encontrada.',
+searchreplace_search_title : 'Procurar',
+searchreplace_replace_title : 'Procurar/Substituir',
+searchreplace_allreplaced : 'Todas as ocorrências encontradas foram substituídas.',
+searchreplace_findwhat : 'Procurar por',
+searchreplace_replacewith : 'Substituir com',
+searchreplace_direction : 'Direção',
+searchreplace_up : 'Acima',
+searchreplace_down : 'Abaixo',
+searchreplace_case : 'Procurar exatamente',
+searchreplace_findnext : 'Procurar&nbsp,próxima',
+searchreplace_replace : 'Substituir',
+searchreplace_replaceall : 'Substituir&nbsp,tudo',
+searchreplace_cancel : 'Cancelar'
+});
diff --git a/webcit/tiny_mce/plugins/searchreplace/langs/sv.js b/webcit/tiny_mce/plugins/searchreplace/langs/sv.js
new file mode 100644 (file)
index 0000000..87fb12c
--- /dev/null
@@ -0,0 +1,21 @@
+// SE lang variables
+
+tinyMCE.addToLang('',{
+searchreplace_search_desc : 'S&ouml;k',
+searchreplace_searchnext_desc : 'S&ouml;k igen',
+searchreplace_replace_desc : 'S&ouml;k/Ers&auml;tt',
+searchreplace_notfound : 'S&ouml;kningen &auml;r slutf&ouml;rd. S&ouml;kstr&auml;ngen kunde inte hittas.',
+searchreplace_search_title : 'S&ouml;k',
+searchreplace_replace_title : 'S&ouml;k/Ers&auml;tt',
+searchreplace_allreplaced : 'Alla tr&auml;ffar p&aring; s&ouml;kstr&auml;ngen ersattes',
+searchreplace_findwhat : 'S&ouml;k p&aring;',
+searchreplace_replacewith : 'Ers&auml;tt med',
+searchreplace_direction : 'S&ouml;kriktning',
+searchreplace_up : 'Upp&aring;t',
+searchreplace_down : 'Ner&aring;t',
+searchreplace_case : 'Matcha gemener/VERSALER',
+searchreplace_findnext : 'S&ouml;k&nbsp;n&auml;sta',
+searchreplace_replace : 'Ers&auml;tt',
+searchreplace_replaceall : 'Ers&auml;tt&nbsp;alla',
+searchreplace_cancel : 'Avbryt'
+});
diff --git a/webcit/tiny_mce/plugins/searchreplace/langs/zh_cn.js b/webcit/tiny_mce/plugins/searchreplace/langs/zh_cn.js
new file mode 100644 (file)
index 0000000..935cb87
--- /dev/null
@@ -0,0 +1,22 @@
+// Simplified Chinese lang variables contributed by cube316 (cube316@gmail.com)
+//Çë·ÃÎÊ http://www.cube316.net/ ÒÔ»ñÈ¡TinyMCEµ&Auml;&Ouml;ÐÎ&Auml;&Ouml;§³&Ouml;
+
+tinyMCE.addToLang('',{
+searchreplace_search_desc : '²éÕÒ',
+searchreplace_searchnext_desc : 'ÔٴβéÕÒ',
+searchreplace_replace_desc : '²éÕÒ/Ìæ»»',
+searchreplace_notfound : 'ËÑË÷Íê±Ï£¬Ã»ÓÐÕÒµ½Òª²éÕÒµ&Auml;×&Ouml;·û´®¡£',
+searchreplace_search_title : '²éÕÒ',
+searchreplace_replace_title : '²éÕÒ/Ìæ»»',
+searchreplace_allreplaced : 'ËùÓг&ouml;Ï&Ouml;µ&Auml;×&Ouml;·û´®ÒÑÌæ»»Íê±Ï¡£',
+searchreplace_findwhat : '²éÕÒ',
+searchreplace_replacewith : 'Ì滻Ϊ',
+searchreplace_direction : '·½Ïò',
+searchreplace_up : 'ÏòÉÏ',
+searchreplace_down : 'ÏòÏÂ',
+searchreplace_case : 'Æ¥&Aring;&auml;´óСд',
+searchreplace_findnext : '²éÕÒÏÂÒ»¸&ouml;',
+searchreplace_replace : 'Ìæ»»',
+searchreplace_replaceall : 'È«²¿Ìæ»»',
+searchreplace_cancel : 'È¡Ïû'
+});
diff --git a/webcit/tiny_mce/plugins/searchreplace/readme.txt b/webcit/tiny_mce/plugins/searchreplace/readme.txt
new file mode 100644 (file)
index 0000000..6bc6d7d
--- /dev/null
@@ -0,0 +1 @@
+Check the TinyMCE documentation for details on this plugin.
diff --git a/webcit/tiny_mce/plugins/searchreplace/replace.htm b/webcit/tiny_mce/plugins/searchreplace/replace.htm
new file mode 100644 (file)
index 0000000..a52d944
--- /dev/null
@@ -0,0 +1,48 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+       <title>{$lang_searchreplace_replace_title}</title>
+       <script language="javascript" type="text/javascript" src="../../tiny_mce_popup.js"></script>
+       <script language="javascript" type="text/javascript" src="jscripts/replace.js"></script>
+</head>
+<body onload="init();" style="display: none; margin: 4px;">
+<form onsubmit="searchNext('none');return false;" action="#">
+  <table border="0" cellspacing="0" cellpadding="2">
+         <tr>
+               <td><label for="searchstring">{$lang_searchreplace_findwhat}</label></td>
+               <td><input type="text" id="searchstring" name="searchstring" style="width: 200px" /></td>
+         </tr>
+         <tr>
+               <td><label for="replacestring">{$lang_searchreplace_replacewith}</label></td>
+               <td><input type="text" id="replacestring" name="replacestring" style="width: 200px" /></td>
+         </tr>
+        <tr>
+          <td colspan="2"><table border="0" cellspacing="0" cellpadding="0">
+            <tr>
+              <td><label>{$lang_searchreplace_direction}</label></td>
+              <td><input id="backwardsu" name="backwards" class="radio" type="radio" value="true" /></td>
+              <td><label for="backwardsu">{$lang_searchreplace_up}</label></td>
+              <td><input id="backwardsd" name="backwards" class="radio" type="radio" value="false" /></td>
+              <td><label for="backwardsd">{$lang_searchreplace_down}</label></td>
+            </tr>
+          </table></td>
+        </tr>
+        <tr>
+<td colspan="2"><table border="0" cellspacing="0" cellpadding="0">
+  <tr>
+    <td><input id="casesensitivebox" name="casesensitivebox" class="checkbox" type="checkbox" value="true" /></td>
+    <td><label for="casesensitivebox">{$lang_searchreplace_case}</label></td>
+  </tr>
+</table></td>
+</tr>
+      </table>
+  <table border="0" width="300" cellspacing="0" cellpadding="4">
+    <tr>
+      <td><input id="insertBtn" name="insertBtn" type="button" value="{$lang_searchreplace_findnext}" onclick="searchNext('none');" /></td>
+      <td><input name="replaceBtn" type="button" id="replaceBtn" value="{$lang_searchreplace_replace}" onclick="searchNext('current');" /></td>
+      <td><input name="replaceBtn" type="button" id="replaceAllBtn" value="{$lang_searchreplace_replaceall}" onclick="searchNext('all');" /></td>
+     <td align="right"><input name="cancelBtn" type="button" id="cancelBtn" value="{$lang_searchreplace_cancel}" onclick="cancelAction();" /></td>
+    </tr>
+  </table>
+</form>
+</body>
+</html>
diff --git a/webcit/tiny_mce/plugins/searchreplace/search.htm b/webcit/tiny_mce/plugins/searchreplace/search.htm
new file mode 100644 (file)
index 0000000..396cf8d
--- /dev/null
@@ -0,0 +1,41 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+       <title>{$lang_searchreplace_search_title}</title>
+       <script language="javascript" type="text/javascript" src="../../tiny_mce_popup.js"></script>
+       <script language="javascript" type="text/javascript" src="jscripts/search.js"></script>
+</head>
+<body onload="init();" style="display: none; margin: 4px;">
+<form onsubmit="searchNext();return false;" action="#">
+  <table border="0" cellspacing="0" cellpadding="2">
+        <tr>
+          <td><label for="searchstring">{$lang_searchreplace_findwhat}</label>&nbsp;<input type="text" id="searchstring" name="searchstring" style="width: 200px" /></td>
+        </tr>
+        <tr>
+          <td><table border="0" cellspacing="0" cellpadding="0">
+            <tr>
+              <td><label>{$lang_searchreplace_direction}</label></td>
+              <td><input id="backwardsu" name="backwards" class="radio" type="radio" value="true" /></td>
+              <td><label for="backwardsu">{$lang_searchreplace_up}</label></td>
+              <td><input id="backwardsd" name="backwards" class="radio" type="radio" value="false" /></td>
+              <td><label for="backwardsd">{$lang_searchreplace_down}</label></td>
+            </tr>
+          </table></td>
+        </tr>
+        <tr>
+<td><table border="0" cellspacing="0" cellpadding="0">
+  <tr>
+    <td><input id="casesensitivebox" name="casesensitivebox" class="checkbox" type="checkbox" value="true" /></td>
+    <td><label for="casesensitivebox">{$lang_searchreplace_case}</label></td>
+  </tr>
+</table></td>
+</tr>
+      </table>
+  <table border="0" width="300" cellspacing="0" cellpadding="4">
+    <tr>
+      <td><input id="insert" name="insert" type="submit" value="{$lang_searchreplace_findnext}" /></td>
+      <td align="right"><input id="cancel" name="cancel" type="button" value="{$lang_searchreplace_cancel}" onclick="cancelAction();" /></td>
+    </tr>
+  </table>
+</form>
+</body>
+</html>
diff --git a/webcit/tiny_mce/plugins/table/cell.htm b/webcit/tiny_mce/plugins/table/cell.htm
new file mode 100644 (file)
index 0000000..e098b18
--- /dev/null
@@ -0,0 +1,169 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+       <title>{$lang_table_cell_title}</title>
+       <script language="javascript" type="text/javascript" src="../../tiny_mce_popup.js"></script>
+       <script language="javascript" type="text/javascript" src="../../utils/mctabs.js"></script>
+       <script language="javascript" type="text/javascript" src="../../utils/form_utils.js"></script>
+       <script language="javascript" type="text/javascript" src="jscripts/cell.js"></script>
+       <link href="css/cell.css" rel="stylesheet" type="text/css" />
+</head>
+<body id="tablecell" onload="init();" style="display: none">
+       <form onsubmit="updateAction();return false;">
+               <div class="tabs">
+                       <ul>
+                               <li id="general_tab" class="current"><span><a href="javascript:mcTabs.displayTab('general_tab','general_panel');" onmousedown="return false;">{$lang_table_general_tab}</a></span></li>
+                               <li id="advanced_tab"><span><a href="javascript:mcTabs.displayTab('advanced_tab','advanced_panel');" onmousedown="return false;">{$lang_table_advanced_tab}</a></span></li>
+                       </ul>
+               </div>
+
+               <div class="panel_wrapper">
+                       <div id="general_panel" class="panel current">
+                               <fieldset>
+                                       <legend>{$lang_table_general_props}</legend>
+
+                                       <table border="0" cellpadding="4" cellspacing="0">
+                                               <tr>
+                                                       <td><label for="align">{$lang_table_align}</label></td>
+                                                       <td>
+                                                               <select id="align" name="align">
+                                                                       <option value="">{$lang_not_set}</option>
+                                                                       <option value="center">{$lang_table_align_middle}</option>
+                                                                       <option value="left">{$lang_table_align_left}</option>
+                                                                       <option value="right">{$lang_table_align_right}</option>
+                                                               </select>
+                                                       </td>
+               
+                                                       <td><label for="celltype">{$lang_table_cell_type}</label></td>
+                                                       <td>
+                                                               <select id="celltype" name="celltype">
+                                                                       <option value="td">{$lang_table_td}</option>
+                                                                       <option value="th">{$lang_table_th}</option>
+                                                               </select>
+                                                       </td>
+                                               </tr>
+
+                                               <tr>
+                                                       <td><label for="valign">{$lang_table_valign}</label></td>
+                                                       <td colspan="2">
+                                                               <select id="valign" name="valign">
+                                                                       <option value="">{$lang_not_set}</option>
+                                                                       <option value="top">{$lang_table_align_top}</option>
+                                                                       <option value="middle">{$lang_table_align_middle}</option>
+                                                                       <option value="bottom">{$lang_table_align_bottom}</option>
+                                                               </select>
+                                                       </td>
+                                               </tr>
+
+                                               <tr>
+                                                       <td><label for="width">{$lang_table_width}</label></td>
+                                                       <td><input id="width" name="width" type="text" value="" size="4" maxlength="4" /></td>
+
+                                                       <td><label for="height">{$lang_table_height}</label></td>
+                                                       <td><input id="height" name="height" type="text" value="" size="4" maxlength="4" /></td>
+                                               </tr>
+
+                                               <tr>
+                                                       <td><label for="class">{$lang_class_name}</label></td>
+                                                       <td colspan="2">
+                                                               <select id="class" name="class">
+                                                                       <option value="" selected="selected">{$lang_not_set}</option>
+                                                               </select>
+                                                       </td>
+                                               </tr>
+                                       </table>
+                               </fieldset>
+                       </div>
+
+                       <div id="advanced_panel" class="panel">
+                               <fieldset>
+                                       <legend>{$lang_table_advanced_props}</legend>
+
+                                       <table border="0" cellpadding="0" cellspacing="4">
+                                               <tr>
+                                                       <td class="column1"><label for="id">{$lang_table_id}</label></td> 
+                                                       <td><input id="id" name="id" type="text" value="" style="width: 200px" /></td> 
+                                               </tr>
+
+                                               <tr>
+                                                       <td><label for="style">{$lang_table_style}</label></td>
+                                                       <td><input type="text" id="style" name="style" value="" style="width: 200px;" onchange="changedStyle();" /></td>
+                                               </tr>
+
+                                               <tr>
+                                                       <td class="column1"><label for="dir">{$lang_table_langdir}</label></td> 
+                                                       <td>
+                                                               <select id="dir" name="dir" style="width: 200px"> 
+                                                                               <option value="">{$lang_not_set}</option> 
+                                                                               <option value="ltr">{$lang_table_ltr}</option> 
+                                                                               <option value="rtl">{$lang_table_rtl}</option> 
+                                                               </select>
+                                                       </td> 
+                                               </tr>
+
+                                               <tr>
+                                                       <td class="column1"><label for="lang">{$lang_table_langcode}</label></td> 
+                                                       <td>
+                                                               <input id="lang" name="lang" type="text" value="" style="width: 200px" />
+                                                       </td> 
+                                               </tr>
+
+                                               <tr>
+                                                       <td class="column1"><label for="backgroundimage">{$lang_table_bgimage}</label></td> 
+                                                       <td>
+                                                               <table border="0" cellpadding="0" cellspacing="0">
+                                                                       <tr>
+                                                                               <td><input id="backgroundimage" name="backgroundimage" type="text" value="" style="width: 200px" onchange="changedBackgroundImage();" /></td>
+                                                                               <td><script language="javascript" type="text/javascript">renderBrowser('backgroundimagebrowser','backgroundimage','image','table');</script></td>
+                                                                       </tr>
+                                                               </table>
+                                                       </td> 
+                                               </tr>
+
+                                               <tr>
+                                                       <td class="column1"><label for="bordercolor">{$lang_table_bordercolor}</label></td> 
+                                                       <td>
+                                                               <table border="0" cellpadding="0" cellspacing="0">
+                                                                       <tr>
+                                                                               <td><input id="bordercolor" name="bordercolor" type="text" value="" size="9" onchange="updateColor('bordercolor_pick','bordercolor');" /></td>
+                                                                               <td><script language="javascript" type="text/javascript">renderColorPicker('bordercolor_pick','bordercolor');</script></td>
+                                                                       </tr>
+                                                               </table>
+                                                       </td> 
+                                               </tr>
+
+                                               <tr>
+                                                       <td class="column1"><label for="bgcolor">{$lang_table_bgcolor}</label></td> 
+                                                       <td>
+                                                               <table border="0" cellpadding="0" cellspacing="0">
+                                                                       <tr>
+                                                                               <td><input id="bgcolor" name="bgcolor" type="text" value="" size="9" onchange="updateColor('bgcolor_pick','bgcolor');" /></td>
+                                                                               <td><script language="javascript" type="text/javascript">renderColorPicker('bgcolor_pick','bgcolor');</script></td>
+                                                                       </tr>
+                                                               </table>
+                                                       </td> 
+                                               </tr>
+                                       </table>
+                               </fieldset>
+                       </div>
+               </div>
+
+               <div class="mceActionPanel">
+                       <div>
+                               <select id="action" name="action">
+                                       <option value="cell">{$lang_table_cell_cell}</option>
+                                       <option value="row">{$lang_table_cell_row}</option>
+                                       <option value="all">{$lang_table_cell_all}</option>
+                               </select>
+                       </div>
+
+                       <div style="float: left">
+                               <div><input type="button" id="insert" name="insert" value="{$lang_update}" onclick="updateAction();" /></div>
+                       </div>
+
+                       <div style="float: right">
+                               <input type="button" id="cancel" name="cancel" value="{$lang_cancel}" onclick="tinyMCEPopup.close();" />
+                       </div>
+               </div>
+       </form>
+</body>
+</html>
diff --git a/webcit/tiny_mce/plugins/table/css/cell.css b/webcit/tiny_mce/plugins/table/css/cell.css
new file mode 100644 (file)
index 0000000..157c855
--- /dev/null
@@ -0,0 +1,13 @@
+/* CSS file for cell dialog in the table plugin */
+
+.panel_wrapper div.current {
+       height: 200px;
+}
+
+.advfield {
+       width: 200px;
+}
+
+#action {
+       margin-bottom: 3px;
+}
diff --git a/webcit/tiny_mce/plugins/table/css/row.css b/webcit/tiny_mce/plugins/table/css/row.css
new file mode 100644 (file)
index 0000000..624dd8b
--- /dev/null
@@ -0,0 +1,13 @@
+/* CSS file for row dialog in the table plugin */
+
+.panel_wrapper div.current {
+       height: 200px;
+}
+
+.advfield {
+       width: 200px;
+}
+
+#action {
+       margin-bottom: 3px;
+}
diff --git a/webcit/tiny_mce/plugins/table/css/table.css b/webcit/tiny_mce/plugins/table/css/table.css
new file mode 100644 (file)
index 0000000..9d499c9
--- /dev/null
@@ -0,0 +1,9 @@
+/* CSS file for table dialog in the table plugin */
+
+.panel_wrapper div.current {
+       height: 220px;
+}
+
+.advfield {
+       width: 200px;
+}
diff --git a/webcit/tiny_mce/plugins/table/editor_plugin.js b/webcit/tiny_mce/plugins/table/editor_plugin.js
new file mode 100644 (file)
index 0000000..832282c
--- /dev/null
@@ -0,0 +1,2 @@
+/* Import plugin specific language pack */
+ tinyMCE.importPluginLanguagePack('table','en,ar,cs,da,de,el,es,fi,fr_ca,hu,it,ja,ko,nl,no,pl,pt,sv,tw,zh_cn,fr,de');function TinyMCE_table_getInfo(){return{longname:'Tables',author:'Moxiecode Systems',authorurl:'http://tinymce.moxiecode.com',infourl:'http://tinymce.moxiecode.com/tinymce/docs/plugin_table.html',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion};};function TinyMCE_table_initInstance(inst){if(tinyMCE.isGecko){var doc=inst.getDoc();tinyMCE.addEvent(doc,"mouseup",TinyMCE_table_mouseDownHandler);try{doc.execCommand('enableInlineTableEditing',false,false);}catch(e){}}inst.tableRowClipboard=null;}function TinyMCE_table_mouseDownHandler(e){var elm=tinyMCE.isMSIE?event.srcElement:e.target;var focusElm=tinyMCE.selectedInstance.getFocusElement();if(elm.nodeName=="BODY"&&(focusElm.nodeName=="TD"||focusElm.nodeName=="TH"||(focusElm.parentNode&&focusElm.parentNode.nodeName=="TD")||(focusElm.parentNode&&focusElm.parentNode.nodeName=="TH"))){window.setTimeout(function(){var tableElm=tinyMCE.getParentElement(focusElm,"table");tinyMCE.handleVisualAid(tableElm,true,tinyMCE.settings['visual'],tinyMCE.selectedInstance);},10);}}function TinyMCE_table_getControlHTML(control_name){var controls=new Array(['table','table.gif','{$lang_table_desc}','mceInsertTable',true],['delete_col','table_delete_col.gif','{$lang_table_delete_col_desc}','mceTableDeleteCol'],['delete_row','table_delete_row.gif','{$lang_table_delete_row_desc}','mceTableDeleteRow'],['col_after','table_insert_col_after.gif','{$lang_table_col_after_desc}','mceTableInsertColAfter'],['col_before','table_insert_col_before.gif','{$lang_table_col_before_desc}','mceTableInsertColBefore'],['row_after','table_insert_row_after.gif','{$lang_table_row_after_desc}','mceTableInsertRowAfter'],['row_before','table_insert_row_before.gif','{$lang_table_row_before_desc}','mceTableInsertRowBefore'],['row_props','table_row_props.gif','{$lang_table_row_desc}','mceTableRowProps',true],['cell_props','table_cell_props.gif','{$lang_table_cell_desc}','mceTableCellProps',true],['split_cells','table_split_cells.gif','{$lang_table_split_cells_desc}','mceTableSplitCells',true],['merge_cells','table_merge_cells.gif','{$lang_table_merge_cells_desc}','mceTableMergeCells',true]);for(var i=0;i<controls.length;i++){var but=controls[i];if(but[0]==control_name&&(tinyMCE.isMSIE||!tinyMCE.settings['button_tile_map']))return '<a href="javascript:tinyMCE.execInstanceCommand(\'{$editor_id}\',\''+but[3]+'\', '+(but.length>4?but[4]:false)+(but.length>5?', \''+but[5]+'\'':'')+');" onmousedown="return false;"><img id="{$editor_id}_'+but[0]+'" src="{$pluginurl}/images/'+but[1]+'" title="'+but[2]+'" width="20" height="20" class="mceButtonDisabled" onmouseover="tinyMCE.switchClass(this,\'mceButtonOver\');" onmouseout="tinyMCE.restoreClass(this);" onmousedown="tinyMCE.restoreAndSwitchClass(this,\'mceButtonDown\');" /></a>';else if(but[0]==control_name)return '<a href="javascript:tinyMCE.execInstanceCommand(\'{$editor_id}\',\''+but[3]+'\', '+(but.length>4?but[4]:false)+(but.length>5?', \''+but[5]+'\'':'')+');" onmousedown="return false;"><img id="{$editor_id}_'+but[0]+'" src="{$themeurl}/images/spacer.gif" style="background-image:url({$pluginurl}/images/buttons.gif); background-position: '+(0-(i*20))+'px 0px" title="'+but[2]+'" width="20" height="20" class="mceButtonDisabled" onmouseover="tinyMCE.switchClass(this,\'mceButtonOver\');" onmouseout="tinyMCE.restoreClass(this);" onmousedown="tinyMCE.restoreAndSwitchClass(this,\'mceButtonDown\');" /></a>';}if(control_name=="tablecontrols"){var html="";html+=tinyMCE.getControlHTML("table");html+=tinyMCE.getControlHTML("separator");html+=tinyMCE.getControlHTML("row_props");html+=tinyMCE.getControlHTML("cell_props");html+=tinyMCE.getControlHTML("separator");html+=tinyMCE.getControlHTML("row_before");html+=tinyMCE.getControlHTML("row_after");html+=tinyMCE.getControlHTML("delete_row");html+=tinyMCE.getControlHTML("separator");html+=tinyMCE.getControlHTML("col_before");html+=tinyMCE.getControlHTML("col_after");html+=tinyMCE.getControlHTML("delete_col");html+=tinyMCE.getControlHTML("separator");html+=tinyMCE.getControlHTML("split_cells");html+=tinyMCE.getControlHTML("merge_cells");return html;}return "";}function TinyMCE_table_execCommand(editor_id,element,command,user_interface,value){switch(command){case "mceInsertTable":case "mceTableRowProps":case "mceTableCellProps":case "mceTableSplitCells":case "mceTableMergeCells":case "mceTableInsertRowBefore":case "mceTableInsertRowAfter":case "mceTableDeleteRow":case "mceTableInsertColBefore":case "mceTableInsertColAfter":case "mceTableDeleteCol":case "mceTableCutRow":case "mceTableCopyRow":case "mceTablePasteRowBefore":case "mceTablePasteRowAfter":case "mceTableDelete":var inst=tinyMCE.getInstanceById(editor_id);inst.execCommand('mceBeginUndoLevel');TinyMCE_table_doExecCommand(editor_id,element,command,user_interface,value);inst.execCommand('mceEndUndoLevel');return true;}return false;}function TinyMCE_table_doExecCommand(editor_id,element,command,user_interface,value){var inst=tinyMCE.getInstanceById(editor_id);var focusElm=inst.getFocusElement();var trElm=tinyMCE.getParentElement(focusElm,"tr");var tdElm=tinyMCE.getParentElement(focusElm,"td,th");var tableElm=tinyMCE.getParentElement(focusElm,"table");var doc=inst.contentWindow.document;var tableBorder=tableElm?tableElm.getAttribute("border"):"";if(trElm&&tdElm==null)tdElm=trElm.cells[0];function inArray(ar,v){for(var i=0;i<ar.length;i++){if(ar[i].length>0&&inArray(ar[i],v))return true;if(ar[i]==v)return true;}return false;}function makeTD(){var newTD=doc.createElement("td");newTD.innerHTML="&nbsp;";}function getColRowSpan(td){var colspan=tinyMCE.getAttrib(td,"colspan");var rowspan=tinyMCE.getAttrib(td,"rowspan");colspan=colspan==""?1:parseInt(colspan);rowspan=rowspan==""?1:parseInt(rowspan);return{colspan:colspan,rowspan:rowspan};}function getCellPos(grid,td){for(var y=0;y<grid.length;y++){for(var x=0;x<grid[y].length;x++){if(grid[y][x]==td)return{cellindex:x,rowindex:y};}}return null;}function getCell(grid,row,col){if(grid[row]&&grid[row][col])return grid[row][col];return null;}function getTableGrid(table){var grid=new Array();var rows=table.rows;for(var y=0;y<rows.length;y++){for(var x=0;x<rows[y].cells.length;x++){var td=rows[y].cells[x];var sd=getColRowSpan(td);for(xstart=x;grid[y]&&grid[y][xstart];xstart++);for(var y2=y;y2<y+sd['rowspan'];y2++){if(!grid[y2])grid[y2]=new Array();for(var x2=xstart;x2<xstart+sd['colspan'];x2++){grid[y2][x2]=td;}}}}return grid;}function trimRow(table,tr,td,new_tr){var grid=getTableGrid(table);var cpos=getCellPos(grid,td);if(new_tr.cells.length!=tr.childNodes.length){var cells=tr.childNodes;var lastElm=null;for(var x=0;td=getCell(grid,cpos.rowindex,x);x++){var remove=true;var sd=getColRowSpan(td);if(inArray(cells,td)){new_tr.childNodes[x]._delete=true;}else if((lastElm==null||td!=lastElm)&&sd.colspan>1){for(var i=x;i<x+td.colSpan;i++)new_tr.childNodes[i]._delete=true;}if((lastElm==null||td!=lastElm)&&sd.rowspan>1)td.rowSpan=sd.rowspan+1;lastElm=td;}deleteMarked(tableElm);}}function prevElm(node,name){while((node=node.previousSibling)!=null){if(node.nodeName==name)return node;}return null;}function nextElm(node,names){var namesAr=names.split(',');while((node=node.nextSibling)!=null){for(var i=0;i<namesAr.length;i++){if(node.nodeName.toLowerCase()==namesAr[i].toLowerCase())return node;}}return null;}function deleteMarked(tbl){if(tbl.rows==0)return;var tr=tbl.rows[0];do{var next=nextElm(tr,"TR");if(tr._delete){tr.parentNode.removeChild(tr);continue;}var td=tr.cells[0];if(td.cells>1){do{var nexttd=nextElm(td,"TD,TH");if(td._delete)td.parentNode.removeChild(td);}while((td=nexttd)!=null);}}while((tr=next)!=null);}function addRows(td_elm,tr_elm,rowspan){td_elm.rowSpan=1;var trNext=nextElm(tr_elm,"TR");for(var i=1;i<rowspan&&trNext;i++){var newTD=doc.createElement("td");newTD.innerHTML="&nbsp;";if(tinyMCE.isMSIE)trNext.insertBefore(newTD,trNext.cells(td_elm.cellIndex));else trNext.insertBefore(newTD,trNext.cells[td_elm.cellIndex]);trNext=nextElm(trNext,"TR");}}function copyRow(doc,table,tr){var grid=getTableGrid(table);var newTR=tr.cloneNode(false);var cpos=getCellPos(grid,tr.cells[0]);var lastCell=null;var tableBorder=tinyMCE.getAttrib(table,"border");var tdElm=null;for(var x=0;tdElm=getCell(grid,cpos.rowindex,x);x++){var newTD=null;if(lastCell!=tdElm){for(var i=0;i<tr.cells.length;i++){if(tdElm==tr.cells[i]){newTD=tdElm.cloneNode(true);break;}}}if(newTD==null){newTD=doc.createElement("td");newTD.innerHTML="&nbsp;";}newTD.colSpan=1;newTD.rowSpan=1;newTR.appendChild(newTD);lastCell=tdElm;}return newTR;}switch(command){case "mceTableRowProps":if(trElm==null)return true;if(user_interface){var template=new Array();template['file']='../../plugins/table/row.htm';template['width']=380;template['height']=295;template['width']+=tinyMCE.getLang('lang_table_rowprops_delta_width',0);template['height']+=tinyMCE.getLang('lang_table_rowprops_delta_width',0);tinyMCE.openWindow(template,{editor_id:inst.editorId,inline:"yes"});}return true;case "mceTableCellProps":if(tdElm==null)return true;if(user_interface){var template=new Array();template['file']='../../plugins/table/cell.htm';template['width']=380;template['height']=295;template['width']+=tinyMCE.getLang('lang_table_cellprops_delta_width',0);template['height']+=tinyMCE.getLang('lang_table_cellprops_delta_width',0);tinyMCE.openWindow(template,{editor_id:inst.editorId,inline:"yes"});}return true;case "mceInsertTable":if(user_interface){var template=new Array();template['file']='../../plugins/table/table.htm';template['width']=380;template['height']=295;template['width']+=tinyMCE.getLang('lang_insert_table_delta_width',0);template['height']+=tinyMCE.getLang('lang_insert_table_delta_height',0);tinyMCE.openWindow(template,{editor_id:inst.editorId,inline:"yes",action:value});}return true;case "mceTableDelete":var table=tinyMCE.getParentElement(inst.getFocusElement(),"table");if(table){table.parentNode.removeChild(table);inst.repaint();}return true;case "mceTableSplitCells":case "mceTableMergeCells":case "mceTableInsertRowBefore":case "mceTableInsertRowAfter":case "mceTableDeleteRow":case "mceTableInsertColBefore":case "mceTableInsertColAfter":case "mceTableDeleteCol":case "mceTableCutRow":case "mceTableCopyRow":case "mceTablePasteRowBefore":case "mceTablePasteRowAfter":if(!tableElm)return true;if(tableElm!=trElm.parentNode)tableElm=trElm.parentNode;if(tableElm&&trElm){switch(command){case "mceTableInsertRowBefore":if(!trElm||!tdElm)return true;var grid=getTableGrid(tableElm);var cpos=getCellPos(grid,tdElm);var newTR=doc.createElement("tr");var lastTDElm=null;cpos.rowindex--;if(cpos.rowindex<0)cpos.rowindex=0;for(var x=0;tdElm=getCell(grid,cpos.rowindex,x);x++){if(tdElm!=lastTDElm){var sd=getColRowSpan(tdElm);if(sd['rowspan']==1){var newTD=doc.createElement("td");newTD.innerHTML="&nbsp;";newTD.colSpan=tdElm.colSpan;newTR.appendChild(newTD);}else tdElm.rowSpan=sd['rowspan']+1;lastTDElm=tdElm;}}trElm.parentNode.insertBefore(newTR,trElm);break;case "mceTableCutRow":if(!trElm||!tdElm)return true;inst.tableRowClipboard=copyRow(doc,tableElm,trElm);inst.execCommand("mceTableDeleteRow");break;case "mceTableCopyRow":if(!trElm||!tdElm)return true;inst.tableRowClipboard=copyRow(doc,tableElm,trElm);break;case "mceTablePasteRowBefore":if(!trElm||!tdElm)return true;var newTR=inst.tableRowClipboard.cloneNode(true);var prevTR=prevElm(trElm,"TR");if(prevTR!=null)trimRow(tableElm,prevTR,prevTR.cells[0],newTR);trElm.parentNode.insertBefore(newTR,trElm);break;case "mceTablePasteRowAfter":if(!trElm||!tdElm)return true;var nextTR=nextElm(trElm,"TR");var newTR=inst.tableRowClipboard.cloneNode(true);trimRow(tableElm,trElm,tdElm,newTR);if(nextTR==null)trElm.parentNode.appendChild(newTR);else nextTR.parentNode.insertBefore(newTR,nextTR);break;case "mceTableInsertRowAfter":if(!trElm||!tdElm)return true;var grid=getTableGrid(tableElm);var cpos=getCellPos(grid,tdElm);var newTR=doc.createElement("tr");var lastTDElm=null;for(var x=0;tdElm=getCell(grid,cpos.rowindex,x);x++){if(tdElm!=lastTDElm){var sd=getColRowSpan(tdElm);if(sd['rowspan']==1){var newTD=doc.createElement("td");newTD.innerHTML="&nbsp;";newTD.colSpan=tdElm.colSpan;newTR.appendChild(newTD);}else tdElm.rowSpan=sd['rowspan']+1;lastTDElm=tdElm;}}if(newTR.hasChildNodes()){var nextTR=nextElm(trElm,"TR");if(nextTR)nextTR.parentNode.insertBefore(newTR,nextTR);else tableElm.appendChild(newTR);}break;case "mceTableDeleteRow":if(!trElm||!tdElm)return true;var grid=getTableGrid(tableElm);var cpos=getCellPos(grid,tdElm);if(grid.length==1){tableElm.parentNode.removeChild(tableElm);return true;}var cells=trElm.cells;var nextTR=nextElm(trElm,"TR");for(var x=0;x<cells.length;x++){if(cells[x].rowSpan>1){var newTD=cells[x].cloneNode(true);var sd=getColRowSpan(cells[x]);newTD.rowSpan=sd.rowspan-1;var nextTD=nextTR.cells[x];if(nextTD==null)nextTR.appendChild(newTD);else nextTR.insertBefore(newTD,nextTD);}}var lastTDElm=null;for(var x=0;tdElm=getCell(grid,cpos.rowindex,x);x++){if(tdElm!=lastTDElm){var sd=getColRowSpan(tdElm);if(sd.rowspan>1){tdElm.rowSpan=sd.rowspan-1;}else{trElm=tdElm.parentNode;if(trElm.parentNode)trElm._delete=true;}lastTDElm=tdElm;}}deleteMarked(tableElm);cpos.rowindex--;if(cpos.rowindex<0)cpos.rowindex=0;inst.selectNode(getCell(grid,cpos.rowindex,0),true,true);break;case "mceTableInsertColBefore":if(!trElm||!tdElm)return true;var grid=getTableGrid(tableElm);var cpos=getCellPos(grid,tdElm);var lastTDElm=null;for(var y=0;tdElm=getCell(grid,y,cpos.cellindex);y++){if(tdElm!=lastTDElm){var sd=getColRowSpan(tdElm);if(sd['colspan']==1){var newTD=doc.createElement("td");newTD.innerHTML="&nbsp;";newTD.rowSpan=tdElm.rowSpan;tdElm.parentNode.insertBefore(newTD,tdElm);}else tdElm.colSpan++;lastTDElm=tdElm;}}break;case "mceTableInsertColAfter":if(!trElm||!tdElm)return true;var grid=getTableGrid(tableElm);var cpos=getCellPos(grid,tdElm);var lastTDElm=null;for(var y=0;tdElm=getCell(grid,y,cpos.cellindex);y++){if(tdElm!=lastTDElm){var sd=getColRowSpan(tdElm);if(sd['colspan']==1){var newTD=doc.createElement("td");newTD.innerHTML="&nbsp;";newTD.rowSpan=tdElm.rowSpan;var nextTD=nextElm(tdElm,"TD");if(nextTD==null)tdElm.parentNode.appendChild(newTD);else nextTD.parentNode.insertBefore(newTD,nextTD);}else tdElm.colSpan++;lastTDElm=tdElm;}}break;case "mceTableDeleteCol":if(!trElm||!tdElm)return true;var grid=getTableGrid(tableElm);var cpos=getCellPos(grid,tdElm);var lastTDElm=null;if(grid.length>1&&grid[0].length<=1){tableElm.parentNode.removeChild(tableElm);return true;}for(var y=0;tdElm=getCell(grid,y,cpos.cellindex);y++){if(tdElm!=lastTDElm){var sd=getColRowSpan(tdElm);if(sd['colspan']>1)tdElm.colSpan=sd['colspan']-1;else{if(tdElm.parentNode)tdElm.parentNode.removeChild(tdElm);}lastTDElm=tdElm;}}cpos.cellindex--;if(cpos.cellindex<0)cpos.cellindex=0;inst.selectNode(getCell(grid,0,cpos.cellindex),true,true);break;case "mceTableSplitCells":if(!trElm||!tdElm)return true;var spandata=getColRowSpan(tdElm);var colspan=spandata["colspan"];var rowspan=spandata["rowspan"];if(colspan>1||rowspan>1){tdElm.colSpan=1;for(var i=1;i<colspan;i++){var newTD=doc.createElement("td");newTD.innerHTML="&nbsp;";trElm.insertBefore(newTD,nextElm(tdElm,"TD"));if(rowspan>1)addRows(newTD,trElm,rowspan);}addRows(tdElm,trElm,rowspan);}tableElm=tinyMCE.getParentElement(inst.getFocusElement(),"table");break;case "mceTableMergeCells":var rows=new Array();var sel=inst.getSel();var grid=getTableGrid(tableElm);if(tinyMCE.isMSIE||sel.rangeCount==1){if(user_interface){var template=new Array();var sp=getColRowSpan(tdElm);template['file']='../../plugins/table/merge_cells.htm';template['width']=250;template['height']=105;template['width']+=tinyMCE.getLang('lang_table_merge_cells_delta_width',0);template['height']+=tinyMCE.getLang('lang_table_merge_cells_height',0);tinyMCE.openWindow(template,{editor_id:inst.editorId,inline:"yes",action:"update",numcols:sp.colspan,numrows:sp.rowspan});return true;}else{var numRows=parseInt(value['numrows']);var numCols=parseInt(value['numcols']);var cpos=getCellPos(grid,tdElm);if((""+numRows)=="NaN")numRows=1;if((""+numCols)=="NaN")numCols=1;var tRows=tableElm.rows;for(var y=cpos.rowindex;y<grid.length;y++){var rowCells=new Array();for(var x=cpos.cellindex;x<grid[y].length;x++){var td=getCell(grid,y,x);if(td&&!inArray(rows,td)&&!inArray(rowCells,td)){var cp=getCellPos(grid,td);if(cp.cellindex<cpos.cellindex+numCols&&cp.rowindex<cpos.rowindex+numRows)rowCells[rowCells.length]=td;}}if(rowCells.length>0)rows[rows.length]=rowCells;}}}else{var cells=new Array();var sel=inst.getSel();var lastTR=null;var curRow=null;var x1=-1,y1=-1,x2,y2;if(sel.rangeCount<2)return true;for(var i=0;i<sel.rangeCount;i++){var rng=sel.getRangeAt(i);var tdElm=rng.startContainer.childNodes[rng.startOffset];if(!tdElm)break;if(tdElm.nodeName=="TD")cells[cells.length]=tdElm;}var tRows=tableElm.rows;for(var y=0;y<tRows.length;y++){var rowCells=new Array();for(var x=0;x<tRows[y].cells.length;x++){var td=tRows[y].cells[x];for(var i=0;i<cells.length;i++){if(td==cells[i]){rowCells[rowCells.length]=td;}}}if(rowCells.length>0)rows[rows.length]=rowCells;}var curRow=new Array();var lastTR=null;for(var y=0;y<grid.length;y++){for(var x=0;x<grid[y].length;x++){grid[y][x]._selected=false;for(var i=0;i<cells.length;i++){if(grid[y][x]==cells[i]){if(x1==-1){x1=x;y1=y;}x2=x;y2=y;grid[y][x]._selected=true;}}}}for(var y=y1;y<=y2;y++){for(var x=x1;x<=x2;x++){if(!grid[y][x]._selected){alert("Invalid selection for merge.");return true;}}}}var rowSpan=1,colSpan=1;var lastRowSpan=-1;for(var y=0;y<rows.length;y++){var rowColSpan=0;for(var x=0;x<rows[y].length;x++){var sd=getColRowSpan(rows[y][x]);rowColSpan+=sd['colspan'];if(lastRowSpan!=-1&&sd['rowspan']!=lastRowSpan){alert("Invalid selection for merge.");return true;}lastRowSpan=sd['rowspan'];}if(rowColSpan>colSpan)colSpan=rowColSpan;lastRowSpan=-1;}var lastColSpan=-1;for(var x=0;x<rows[0].length;x++){var colRowSpan=0;for(var y=0;y<rows.length;y++){var sd=getColRowSpan(rows[y][x]);colRowSpan+=sd['rowspan'];if(lastColSpan!=-1&&sd['colspan']!=lastColSpan){alert("Invalid selection for merge.");return true;}lastColSpan=sd['colspan'];}if(colRowSpan>rowSpan)rowSpan=colRowSpan;lastColSpan=-1;}tdElm=rows[0][0];tdElm.rowSpan=rowSpan;tdElm.colSpan=colSpan;for(var y=0;y<rows.length;y++){for(var x=0;x<rows[y].length;x++){var html=rows[y][x].innerHTML;var chk=tinyMCE.regexpReplace(html,"[ \t\r\n]","");if(chk!="<br/>"&&chk!="<br>"&&chk!="&nbsp;"&&(x+y>0))tdElm.innerHTML+=html;if(rows[y][x]!=tdElm&&!rows[y][x]._deleted){var cpos=getCellPos(grid,rows[y][x]);var tr=rows[y][x].parentNode;tr.removeChild(rows[y][x]);rows[y][x]._deleted=true;if(!tr.hasChildNodes()){tr.parentNode.removeChild(tr);var lastCell=null;for(var x=0;cellElm=getCell(grid,cpos.rowindex,x);x++){if(cellElm!=lastCell&&cellElm.rowSpan>1)cellElm.rowSpan--;lastCell=cellElm;}if(tdElm.rowSpan>1)tdElm.rowSpan--;}}}}break;}tableElm=tinyMCE.getParentElement(inst.getFocusElement(),"table");tinyMCE.handleVisualAid(tableElm,true,tinyMCE.settings['visual'],tinyMCE.selectedInstance);tinyMCE.triggerNodeChange();inst.repaint();}return true;}return false;}function TinyMCE_table_handleNodeChange(editor_id,node,undo_index,undo_levels,visual_aid,any_selection){var colspan="1",rowspan="1";var inst=tinyMCE.getInstanceById(editor_id);tinyMCE.switchClassSticky(editor_id+'_table','mceButtonNormal');tinyMCE.switchClassSticky(editor_id+'_row_props','mceButtonDisabled',true);tinyMCE.switchClassSticky(editor_id+'_cell_props','mceButtonDisabled',true);tinyMCE.switchClassSticky(editor_id+'_row_before','mceButtonDisabled',true);tinyMCE.switchClassSticky(editor_id+'_row_after','mceButtonDisabled',true);tinyMCE.switchClassSticky(editor_id+'_delete_row','mceButtonDisabled',true);tinyMCE.switchClassSticky(editor_id+'_col_before','mceButtonDisabled',true);tinyMCE.switchClassSticky(editor_id+'_col_after','mceButtonDisabled',true);tinyMCE.switchClassSticky(editor_id+'_delete_col','mceButtonDisabled',true);tinyMCE.switchClassSticky(editor_id+'_split_cells','mceButtonDisabled',true);tinyMCE.switchClassSticky(editor_id+'_merge_cells','mceButtonDisabled',true);if(tinyMCE.getParentElement(node,"tr"))tinyMCE.switchClassSticky(editor_id+'_row_props','mceButtonSelected',false);if(tdElm=tinyMCE.getParentElement(node,"td,th")){tinyMCE.switchClassSticky(editor_id+'_cell_props','mceButtonSelected',false);tinyMCE.switchClassSticky(editor_id+'_row_before','mceButtonNormal',false);tinyMCE.switchClassSticky(editor_id+'_row_after','mceButtonNormal',false);tinyMCE.switchClassSticky(editor_id+'_delete_row','mceButtonNormal',false);tinyMCE.switchClassSticky(editor_id+'_col_before','mceButtonNormal',false);tinyMCE.switchClassSticky(editor_id+'_col_after','mceButtonNormal',false);tinyMCE.switchClassSticky(editor_id+'_delete_col','mceButtonNormal',false);colspan=tinyMCE.getAttrib(tdElm,"colspan");rowspan=tinyMCE.getAttrib(tdElm,"rowspan");colspan=colspan==""?"1":colspan;rowspan=rowspan==""?"1":rowspan;if(colspan!="1"||rowspan!="1")tinyMCE.switchClassSticky(editor_id+'_split_cells','mceButtonNormal',false);}if(tinyMCE.getParentElement(node,"table")){tinyMCE.switchClassSticky(editor_id+'_table','mceButtonSelected');tinyMCE.switchClassSticky(editor_id+'_merge_cells','mceButtonNormal',false);}}
\ No newline at end of file
diff --git a/webcit/tiny_mce/plugins/table/editor_plugin_src.js b/webcit/tiny_mce/plugins/table/editor_plugin_src.js
new file mode 100644 (file)
index 0000000..26ccb1b
--- /dev/null
@@ -0,0 +1,1049 @@
+/* Import plugin specific language pack */
+tinyMCE.importPluginLanguagePack('table', 'en,ar,cs,da,de,el,es,fi,fr_ca,hu,it,ja,ko,nl,no,pl,pt,sv,tw,zh_cn,fr,de');
+
+function TinyMCE_table_getInfo() {
+       return {
+               longname : 'Tables',
+               author : 'Moxiecode Systems',
+               authorurl : 'http://tinymce.moxiecode.com',
+               infourl : 'http://tinymce.moxiecode.com/tinymce/docs/plugin_table.html',
+               version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion
+       };
+};
+
+function TinyMCE_table_initInstance(inst) {
+       if (tinyMCE.isGecko) {
+               var doc = inst.getDoc();
+
+               tinyMCE.addEvent(doc, "mouseup", TinyMCE_table_mouseDownHandler);
+
+               try {
+                       // For future FF versions
+                       doc.execCommand('enableInlineTableEditing', false, false);
+               } catch (e) {
+                       // Ignore
+               }
+       }
+
+       inst.tableRowClipboard = null;
+}
+
+function TinyMCE_table_mouseDownHandler(e) {
+       var elm = tinyMCE.isMSIE ? event.srcElement : e.target;
+       var focusElm = tinyMCE.selectedInstance.getFocusElement();
+
+       // If press on special Mozilla create TD/TR thingie
+       if (elm.nodeName == "BODY" && (focusElm.nodeName == "TD" || focusElm.nodeName == "TH" || (focusElm.parentNode && focusElm.parentNode.nodeName == "TD") ||(focusElm.parentNode && focusElm.parentNode.nodeName == "TH") )) {
+               window.setTimeout(function() {
+                       var tableElm = tinyMCE.getParentElement(focusElm, "table");
+                       tinyMCE.handleVisualAid(tableElm, true, tinyMCE.settings['visual'], tinyMCE.selectedInstance);
+               }, 10);
+       }
+}
+
+/**
+ * Returns the HTML contents of the table control.
+ */
+function TinyMCE_table_getControlHTML(control_name) {
+       var controls = new Array(
+               ['table', 'table.gif', '{$lang_table_desc}', 'mceInsertTable', true],
+               ['delete_col', 'table_delete_col.gif', '{$lang_table_delete_col_desc}', 'mceTableDeleteCol'],
+               ['delete_row', 'table_delete_row.gif', '{$lang_table_delete_row_desc}', 'mceTableDeleteRow'],
+               ['col_after', 'table_insert_col_after.gif', '{$lang_table_col_after_desc}', 'mceTableInsertColAfter'],
+               ['col_before', 'table_insert_col_before.gif', '{$lang_table_col_before_desc}', 'mceTableInsertColBefore'],
+               ['row_after', 'table_insert_row_after.gif', '{$lang_table_row_after_desc}', 'mceTableInsertRowAfter'],
+               ['row_before', 'table_insert_row_before.gif', '{$lang_table_row_before_desc}', 'mceTableInsertRowBefore'],
+               ['row_props', 'table_row_props.gif', '{$lang_table_row_desc}', 'mceTableRowProps', true],
+               ['cell_props', 'table_cell_props.gif', '{$lang_table_cell_desc}', 'mceTableCellProps', true],
+               ['split_cells', 'table_split_cells.gif', '{$lang_table_split_cells_desc}', 'mceTableSplitCells', true],
+               ['merge_cells', 'table_merge_cells.gif', '{$lang_table_merge_cells_desc}', 'mceTableMergeCells', true]);
+
+       // Render table control
+       for (var i=0; i<controls.length; i++) {
+               var but = controls[i];
+
+               if (but[0] == control_name && (tinyMCE.isMSIE || !tinyMCE.settings['button_tile_map']))
+                       return '<a href="javascript:tinyMCE.execInstanceCommand(\'{$editor_id}\',\'' + but[3] + '\', ' + (but.length > 4 ? but[4] : false) + (but.length > 5 ? ', \'' + but[5] + '\'' : '') + ');" onmousedown="return false;"><img id="{$editor_id}_' + but[0] + '" src="{$pluginurl}/images/' + but[1] + '" title="' + but[2] + '" width="20" height="20" class="mceButtonDisabled" onmouseover="tinyMCE.switchClass(this,\'mceButtonOver\');" onmouseout="tinyMCE.restoreClass(this);" onmousedown="tinyMCE.restoreAndSwitchClass(this,\'mceButtonDown\');" /></a>';
+               else if (but[0] == control_name)
+                       return '<a href="javascript:tinyMCE.execInstanceCommand(\'{$editor_id}\',\'' + but[3] + '\', ' + (but.length > 4 ? but[4] : false) + (but.length > 5 ? ', \'' + but[5] + '\'' : '') + ');" onmousedown="return false;"><img id="{$editor_id}_' + but[0] + '" src="{$themeurl}/images/spacer.gif" style="background-image:url({$pluginurl}/images/buttons.gif); background-position: ' + (0-(i*20)) + 'px 0px" title="' + but[2] + '" width="20" height="20" class="mceButtonDisabled" onmouseover="tinyMCE.switchClass(this,\'mceButtonOver\');" onmouseout="tinyMCE.restoreClass(this);" onmousedown="tinyMCE.restoreAndSwitchClass(this,\'mceButtonDown\');" /></a>';
+       }
+
+       // Special tablecontrols
+       if (control_name == "tablecontrols") {
+               var html = "";
+
+               html += tinyMCE.getControlHTML("table");
+               html += tinyMCE.getControlHTML("separator");
+               html += tinyMCE.getControlHTML("row_props");
+               html += tinyMCE.getControlHTML("cell_props");
+               html += tinyMCE.getControlHTML("separator");
+               html += tinyMCE.getControlHTML("row_before");
+               html += tinyMCE.getControlHTML("row_after");
+               html += tinyMCE.getControlHTML("delete_row");
+               html += tinyMCE.getControlHTML("separator");
+               html += tinyMCE.getControlHTML("col_before");
+               html += tinyMCE.getControlHTML("col_after");
+               html += tinyMCE.getControlHTML("delete_col");
+               html += tinyMCE.getControlHTML("separator");
+               html += tinyMCE.getControlHTML("split_cells");
+               html += tinyMCE.getControlHTML("merge_cells");
+
+               return html;
+       }
+
+       return "";
+}
+
+/**
+ * Executes the table commands.
+ */
+function TinyMCE_table_execCommand(editor_id, element, command, user_interface, value) {
+       // Is table command
+       switch (command) {
+               case "mceInsertTable":
+               case "mceTableRowProps":
+               case "mceTableCellProps":
+               case "mceTableSplitCells":
+               case "mceTableMergeCells":
+               case "mceTableInsertRowBefore":
+               case "mceTableInsertRowAfter":
+               case "mceTableDeleteRow":
+               case "mceTableInsertColBefore":
+               case "mceTableInsertColAfter":
+               case "mceTableDeleteCol":
+               case "mceTableCutRow":
+               case "mceTableCopyRow":
+               case "mceTablePasteRowBefore":
+               case "mceTablePasteRowAfter":
+               case "mceTableDelete":
+                       var inst = tinyMCE.getInstanceById(editor_id);
+
+                       inst.execCommand('mceBeginUndoLevel');
+                       TinyMCE_table_doExecCommand(editor_id, element, command, user_interface, value);
+                       inst.execCommand('mceEndUndoLevel');
+
+                       return true;
+       }
+
+       // Pass to next handler in chain
+       return false;
+}
+
+/**
+ * Executes the table commands.
+ */
+function TinyMCE_table_doExecCommand(editor_id, element, command, user_interface, value) {
+       var inst = tinyMCE.getInstanceById(editor_id);
+       var focusElm = inst.getFocusElement();
+       var trElm = tinyMCE.getParentElement(focusElm, "tr");
+       var tdElm = tinyMCE.getParentElement(focusElm, "td,th");
+       var tableElm = tinyMCE.getParentElement(focusElm, "table");
+       var doc = inst.contentWindow.document;
+       var tableBorder = tableElm ? tableElm.getAttribute("border") : "";
+
+       // Get first TD if no TD found
+       if (trElm && tdElm == null)
+               tdElm = trElm.cells[0];
+
+       // ------- Inner functions ---------
+       function inArray(ar, v) {
+               for (var i=0; i<ar.length; i++) {
+                       // Is array
+                       if (ar[i].length > 0 && inArray(ar[i], v))
+                               return true;
+
+                       // Found value
+                       if (ar[i] == v)
+                               return true;
+               }
+
+               return false;
+       }
+
+       function makeTD() {
+               var newTD = doc.createElement("td");
+               newTD.innerHTML = "&nbsp;";
+       }
+
+       function getColRowSpan(td) {
+               var colspan = tinyMCE.getAttrib(td, "colspan");
+               var rowspan = tinyMCE.getAttrib(td, "rowspan");
+
+               colspan = colspan == "" ? 1 : parseInt(colspan);
+               rowspan = rowspan == "" ? 1 : parseInt(rowspan);
+
+               return {colspan : colspan, rowspan : rowspan};
+       }
+
+       function getCellPos(grid, td) {
+               for (var y=0; y<grid.length; y++) {
+                       for (var x=0; x<grid[y].length; x++) {
+                               if (grid[y][x] == td)
+                                       return {cellindex : x, rowindex : y};
+                       }
+               }
+
+               return null;
+       }
+
+       function getCell(grid, row, col) {
+               if (grid[row] && grid[row][col])
+                       return grid[row][col];
+
+               return null;
+       }
+
+       function getTableGrid(table) {
+               var grid = new Array();
+               var rows = table.rows;
+
+               for (var y=0; y<rows.length; y++) {
+                       for (var x=0; x<rows[y].cells.length; x++) {
+                               var td = rows[y].cells[x];
+                               var sd = getColRowSpan(td);
+
+                               // All ready filled
+                               for (xstart = x; grid[y] && grid[y][xstart]; xstart++) ;
+
+                               // Fill box
+                               for (var y2=y; y2<y+sd['rowspan']; y2++) {
+                                       if (!grid[y2])
+                                               grid[y2] = new Array();
+
+                                       for (var x2=xstart; x2<xstart+sd['colspan']; x2++) {
+                                               grid[y2][x2] = td;
+                                       }
+                               }
+                       }
+               }
+
+               return grid;
+       }
+
+       function trimRow(table, tr, td, new_tr) {
+               var grid = getTableGrid(table);
+               var cpos = getCellPos(grid, td);
+
+               // Time to crop away some
+               if (new_tr.cells.length != tr.childNodes.length) {
+                       var cells = tr.childNodes;
+                       var lastElm = null;
+
+                       for (var x=0; td = getCell(grid, cpos.rowindex, x); x++) {
+                               var remove = true;
+                               var sd = getColRowSpan(td);
+
+                               // Remove due to rowspan
+                               if (inArray(cells, td)) {
+                                       new_tr.childNodes[x]._delete = true;
+                               } else if ((lastElm == null || td != lastElm) && sd.colspan > 1) { // Remove due to colspan
+                                       for (var i=x; i<x+td.colSpan; i++)
+                                               new_tr.childNodes[i]._delete = true;
+                               }
+
+                               if ((lastElm == null || td != lastElm) && sd.rowspan > 1)
+                                       td.rowSpan = sd.rowspan + 1;
+
+                               lastElm = td;
+                       }
+
+                       deleteMarked(tableElm);
+               }
+       }
+
+       function prevElm(node, name) {
+               while ((node = node.previousSibling) != null) {
+                       if (node.nodeName == name)
+                               return node;
+               }
+
+               return null;
+       }
+
+       function nextElm(node, names) {
+
+        var namesAr = names.split(',');
+
+               while ((node = node.nextSibling) != null) {
+            for (var i=0; i<namesAr.length; i++) {
+                if (node.nodeName.toLowerCase() == namesAr[i].toLowerCase() )
+                    return node;
+            }
+               }
+
+               return null;
+       }
+
+       function deleteMarked(tbl) {
+               if (tbl.rows == 0)
+                       return;
+
+               var tr = tbl.rows[0];
+               do {
+                       var next = nextElm(tr, "TR");
+
+                       // Delete row
+                       if (tr._delete) {
+                               tr.parentNode.removeChild(tr);
+                               continue;
+                       }
+
+                       // Delete cells
+                       var td = tr.cells[0];
+                       if (td.cells > 1) {
+                               do {
+                                       var nexttd = nextElm(td, "TD,TH");
+
+                                       if (td._delete)
+                                               td.parentNode.removeChild(td);
+                               } while ((td = nexttd) != null);
+                       }
+               } while ((tr = next) != null);
+       }
+
+       function addRows(td_elm, tr_elm, rowspan) {
+               // Add rows
+               td_elm.rowSpan = 1;
+               var trNext = nextElm(tr_elm, "TR");
+               for (var i=1; i<rowspan && trNext; i++) {
+                       var newTD = doc.createElement("td");
+                       newTD.innerHTML = "&nbsp;";
+
+                       if (tinyMCE.isMSIE)
+                               trNext.insertBefore(newTD, trNext.cells(td_elm.cellIndex));
+                       else
+                               trNext.insertBefore(newTD, trNext.cells[td_elm.cellIndex]);
+
+                       trNext = nextElm(trNext, "TR");
+               }
+       }
+
+       function copyRow(doc, table, tr) {
+               var grid = getTableGrid(table);
+               var newTR = tr.cloneNode(false);
+               var cpos = getCellPos(grid, tr.cells[0]);
+               var lastCell = null;
+               var tableBorder = tinyMCE.getAttrib(table, "border");
+               var tdElm = null;
+
+               for (var x=0; tdElm = getCell(grid, cpos.rowindex, x); x++) {
+                       var newTD = null;
+
+                       if (lastCell != tdElm) {
+                               for (var i=0; i<tr.cells.length; i++) {
+                                       if (tdElm == tr.cells[i]) {
+                                               newTD = tdElm.cloneNode(true);
+                                               break;
+                                       }
+                               }
+                       }
+
+                       if (newTD == null) {
+                               newTD = doc.createElement("td");
+                               newTD.innerHTML = "&nbsp;";
+                       }
+
+                       // Reset col/row span
+                       newTD.colSpan = 1;
+                       newTD.rowSpan = 1;
+
+                       newTR.appendChild(newTD);
+
+                       lastCell = tdElm;
+               }
+
+               return newTR;
+       }
+
+       // ---- Commands -----
+
+       // Handle commands
+       switch (command) {
+               case "mceTableRowProps":
+                       if (trElm == null)
+                               return true;
+
+                       if (user_interface) {
+                               // Setup template
+                               var template = new Array();
+
+                               template['file'] = '../../plugins/table/row.htm';
+                               template['width'] = 380;
+                               template['height'] = 295;
+
+                               // Language specific width and height addons
+                               template['width'] += tinyMCE.getLang('lang_table_rowprops_delta_width', 0);
+                               template['height'] += tinyMCE.getLang('lang_table_rowprops_delta_width', 0);
+
+                               // Open window
+                               tinyMCE.openWindow(template, {editor_id : inst.editorId, inline : "yes"});
+                       }
+
+                       return true;
+
+               case "mceTableCellProps":
+                       if (tdElm == null)
+                               return true;
+
+                       if (user_interface) {
+                               // Setup template
+                               var template = new Array();
+
+                               template['file'] = '../../plugins/table/cell.htm';
+                               template['width'] = 380;
+                               template['height'] = 295;
+
+                               // Language specific width and height addons
+                               template['width'] += tinyMCE.getLang('lang_table_cellprops_delta_width', 0);
+                               template['height'] += tinyMCE.getLang('lang_table_cellprops_delta_width', 0);
+
+                               // Open window
+                               tinyMCE.openWindow(template, {editor_id : inst.editorId, inline : "yes"});
+                       }
+
+                       return true;
+
+               case "mceInsertTable":
+                       if (user_interface) {
+                               // Setup template
+                               var template = new Array();
+
+                               template['file'] = '../../plugins/table/table.htm';
+                               template['width'] = 380;
+                               template['height'] = 295;
+
+                               // Language specific width and height addons
+                               template['width'] += tinyMCE.getLang('lang_insert_table_delta_width', 0);
+                               template['height'] += tinyMCE.getLang('lang_insert_table_delta_height', 0);
+
+                               // Open window
+                               tinyMCE.openWindow(template, {editor_id : inst.editorId, inline : "yes", action : value});
+                       }
+
+                       return true;
+
+               case "mceTableDelete":
+                       var table = tinyMCE.getParentElement(inst.getFocusElement(), "table");
+                       if (table) {
+                               table.parentNode.removeChild(table);
+                               inst.repaint();
+                       }
+                       return true;
+
+               case "mceTableSplitCells":
+               case "mceTableMergeCells":
+               case "mceTableInsertRowBefore":
+               case "mceTableInsertRowAfter":
+               case "mceTableDeleteRow":
+               case "mceTableInsertColBefore":
+               case "mceTableInsertColAfter":
+               case "mceTableDeleteCol":
+               case "mceTableCutRow":
+               case "mceTableCopyRow":
+               case "mceTablePasteRowBefore":
+               case "mceTablePasteRowAfter":
+                       // No table just return (invalid command)
+                       if (!tableElm)
+                               return true;
+
+                       // Table has a tbody use that reference
+                       // Changed logic by ApTest 2005.07.12 (www.aptest.com)
+                       // Now lookk at the focused element and take its parentNode.  That will be a tbody or a table.
+                       if (tableElm != trElm.parentNode)
+                               tableElm = trElm.parentNode;
+
+                       if (tableElm && trElm) {
+                               switch (command) {
+                                       case "mceTableInsertRowBefore":
+                                               if (!trElm || !tdElm)
+                                                       return true;
+
+                                               var grid = getTableGrid(tableElm);
+                                               var cpos = getCellPos(grid, tdElm);
+                                               var newTR = doc.createElement("tr");
+                                               var lastTDElm = null;
+
+                                               cpos.rowindex--;
+                                               if (cpos.rowindex < 0)
+                                                       cpos.rowindex = 0;
+
+                                               // Create cells
+                                               for (var x=0; tdElm = getCell(grid, cpos.rowindex, x); x++) {
+                                                       if (tdElm != lastTDElm) {
+                                                               var sd = getColRowSpan(tdElm);
+
+                                                               if (sd['rowspan'] == 1) {
+                                                                       var newTD = doc.createElement("td");
+
+                                                                       newTD.innerHTML = "&nbsp;";
+                                                                       newTD.colSpan = tdElm.colSpan;
+
+                                                                       newTR.appendChild(newTD);
+                                                               } else
+                                                                       tdElm.rowSpan = sd['rowspan'] + 1;
+
+                                                               lastTDElm = tdElm;
+                                                       }
+                                               }
+
+                                               trElm.parentNode.insertBefore(newTR, trElm);
+                                       break;
+
+                                       case "mceTableCutRow":
+                                               if (!trElm || !tdElm)
+                                                       return true;
+
+                                               inst.tableRowClipboard = copyRow(doc, tableElm, trElm);
+                                               inst.execCommand("mceTableDeleteRow");
+                                               break;
+
+                                       case "mceTableCopyRow":
+                                               if (!trElm || !tdElm)
+                                                       return true;
+
+                                               inst.tableRowClipboard = copyRow(doc, tableElm, trElm);
+                                               break;
+
+                                       case "mceTablePasteRowBefore":
+                                               if (!trElm || !tdElm)
+                                                       return true;
+
+                                               var newTR = inst.tableRowClipboard.cloneNode(true);
+
+                                               var prevTR = prevElm(trElm, "TR");
+                                               if (prevTR != null)
+                                                       trimRow(tableElm, prevTR, prevTR.cells[0], newTR);
+
+                                               trElm.parentNode.insertBefore(newTR, trElm);
+                                               break;
+
+                                       case "mceTablePasteRowAfter":
+                                               if (!trElm || !tdElm)
+                                                       return true;
+                                               
+                                               var nextTR = nextElm(trElm, "TR");
+                                               var newTR = inst.tableRowClipboard.cloneNode(true);
+
+                                               trimRow(tableElm, trElm, tdElm, newTR);
+
+                                               if (nextTR == null)
+                                                       trElm.parentNode.appendChild(newTR);
+                                               else
+                                                       nextTR.parentNode.insertBefore(newTR, nextTR);
+
+                                               break;
+
+                                       case "mceTableInsertRowAfter":
+                                               if (!trElm || !tdElm)
+                                                       return true;
+
+                                               var grid = getTableGrid(tableElm);
+                                               var cpos = getCellPos(grid, tdElm);
+                                               var newTR = doc.createElement("tr");
+                                               var lastTDElm = null;
+
+                                               // Create cells
+                                               for (var x=0; tdElm = getCell(grid, cpos.rowindex, x); x++) {
+                                                       if (tdElm != lastTDElm) {
+                                                               var sd = getColRowSpan(tdElm);
+
+                                                               if (sd['rowspan'] == 1) {
+                                                                       var newTD = doc.createElement("td");
+
+                                                                       newTD.innerHTML = "&nbsp;";
+                                                                       newTD.colSpan = tdElm.colSpan;
+
+                                                                       newTR.appendChild(newTD);
+                                                               } else
+                                                                       tdElm.rowSpan = sd['rowspan'] + 1;
+
+                                                               lastTDElm = tdElm;
+                                                       }
+                                               }
+
+                                               if (newTR.hasChildNodes()) {
+                                                       var nextTR = nextElm(trElm, "TR");
+                                                       if (nextTR)
+                                                               nextTR.parentNode.insertBefore(newTR, nextTR);
+                                                       else
+                                                               tableElm.appendChild(newTR);
+                                               }
+                                       break;
+
+                                       case "mceTableDeleteRow":
+                                               if (!trElm || !tdElm)
+                                                       return true;
+       
+                                               var grid = getTableGrid(tableElm);
+                                               var cpos = getCellPos(grid, tdElm);
+
+                                               // Only one row, remove whole table
+                                               if (grid.length == 1) {
+                                                       tableElm.parentNode.removeChild(tableElm);
+                                                       return true;
+                                               }
+
+                                               // Move down row spanned cells
+                                               var cells = trElm.cells;
+                                               var nextTR = nextElm(trElm, "TR");
+                                               for (var x=0; x<cells.length; x++) {
+                                                       if (cells[x].rowSpan > 1) {
+                                                               var newTD = cells[x].cloneNode(true);
+                                                               var sd = getColRowSpan(cells[x]);
+
+                                                               newTD.rowSpan = sd.rowspan - 1;
+
+                                                               var nextTD = nextTR.cells[x];
+
+                                                               if (nextTD == null)
+                                                                       nextTR.appendChild(newTD);
+                                                               else
+                                                                       nextTR.insertBefore(newTD, nextTD);
+                                                       }
+                                               }
+
+                                               // Delete cells
+                                               var lastTDElm = null;
+                                               for (var x=0; tdElm = getCell(grid, cpos.rowindex, x); x++) {
+                                                       if (tdElm != lastTDElm) {
+                                                               var sd = getColRowSpan(tdElm);
+
+                                                               if (sd.rowspan > 1) {
+                                                                       tdElm.rowSpan = sd.rowspan - 1;
+                                                               } else {
+                                                                       trElm = tdElm.parentNode;
+
+                                                                       if (trElm.parentNode)
+                                                                               trElm._delete = true;
+                                                               }
+
+                                                               lastTDElm = tdElm;
+                                                       }
+                                               }
+
+                                               deleteMarked(tableElm);
+
+                                               cpos.rowindex--;
+                                               if (cpos.rowindex < 0)
+                                                       cpos.rowindex = 0;
+
+                                               inst.selectNode(getCell(grid, cpos.rowindex, 0), true, true);
+                                       break;
+
+                                       case "mceTableInsertColBefore":
+                                               if (!trElm || !tdElm)
+                                                       return true;
+
+                                               var grid = getTableGrid(tableElm);
+                                               var cpos = getCellPos(grid, tdElm);
+                                               var lastTDElm = null;
+
+                                               for (var y=0; tdElm = getCell(grid, y, cpos.cellindex); y++) {
+                                                       if (tdElm != lastTDElm) {
+                                                               var sd = getColRowSpan(tdElm);
+
+                                                               if (sd['colspan'] == 1) {
+                                                                       var newTD = doc.createElement("td");
+
+                                                                       newTD.innerHTML = "&nbsp;";
+                                                                       newTD.rowSpan = tdElm.rowSpan;
+
+                                                                       tdElm.parentNode.insertBefore(newTD, tdElm);
+                                                               } else
+                                                                       tdElm.colSpan++;
+
+                                                               lastTDElm = tdElm;
+                                                       }
+                                               }
+                                       break;
+
+                                       case "mceTableInsertColAfter":
+                                               if (!trElm || !tdElm)
+                                                       return true;
+
+                                               var grid = getTableGrid(tableElm);
+                                               var cpos = getCellPos(grid, tdElm);
+                                               var lastTDElm = null;
+
+                                               for (var y=0; tdElm = getCell(grid, y, cpos.cellindex); y++) {
+                                                       if (tdElm != lastTDElm) {
+                                                               var sd = getColRowSpan(tdElm);
+
+                                                               if (sd['colspan'] == 1) {
+                                                                       var newTD = doc.createElement("td");
+
+                                                                       newTD.innerHTML = "&nbsp;";
+                                                                       newTD.rowSpan = tdElm.rowSpan;
+
+                                                                       var nextTD = nextElm(tdElm, "TD");
+                                                                       if (nextTD == null)
+                                                                               tdElm.parentNode.appendChild(newTD);
+                                                                       else
+                                                                               nextTD.parentNode.insertBefore(newTD, nextTD);
+                                                               } else
+                                                                       tdElm.colSpan++;
+
+                                                               lastTDElm = tdElm;
+                                                       }
+                                               }
+                                       break;
+
+                                       case "mceTableDeleteCol":
+                                               if (!trElm || !tdElm)
+                                                       return true;
+
+                                               var grid = getTableGrid(tableElm);
+                                               var cpos = getCellPos(grid, tdElm);
+                                               var lastTDElm = null;
+
+                                               // Only one col, remove whole table
+                                               if (grid.length > 1 && grid[0].length <= 1) {
+                                                       tableElm.parentNode.removeChild(tableElm);
+                                                       return true;
+                                               }
+
+                                               // Delete cells
+                                               for (var y=0; tdElm = getCell(grid, y, cpos.cellindex); y++) {
+                                                       if (tdElm != lastTDElm) {
+                                                               var sd = getColRowSpan(tdElm);
+
+                                                               if (sd['colspan'] > 1)
+                                                                       tdElm.colSpan = sd['colspan'] - 1;
+                                                               else {
+                                                                       if (tdElm.parentNode)
+                                                                               tdElm.parentNode.removeChild(tdElm);
+                                                               }
+
+                                                               lastTDElm = tdElm;
+                                                       }
+                                               }
+
+                                               cpos.cellindex--;
+                                               if (cpos.cellindex < 0)
+                                                       cpos.cellindex = 0;
+
+                                               inst.selectNode(getCell(grid, 0, cpos.cellindex), true, true);
+                                       break;
+
+                               case "mceTableSplitCells":
+                                       if (!trElm || !tdElm)
+                                               return true;
+
+                                       var spandata = getColRowSpan(tdElm);
+
+                                       var colspan = spandata["colspan"];
+                                       var rowspan = spandata["rowspan"];
+
+                                       // Needs splitting
+                                       if (colspan > 1 || rowspan > 1) {
+                                               // Generate cols
+                                               tdElm.colSpan = 1;
+                                               for (var i=1; i<colspan; i++) {
+                                                       var newTD = doc.createElement("td");
+
+                                                       newTD.innerHTML = "&nbsp;";
+
+                                                       trElm.insertBefore(newTD, nextElm(tdElm, "TD"));
+
+                                                       if (rowspan > 1)
+                                                               addRows(newTD, trElm, rowspan);
+                                               }
+
+                                               addRows(tdElm, trElm, rowspan);
+                                       }
+
+                                       // Apply visual aids
+                                       tableElm = tinyMCE.getParentElement(inst.getFocusElement(), "table");
+                                       break;
+
+                               case "mceTableMergeCells":
+                                       var rows = new Array();
+                                       var sel = inst.getSel();
+                                       var grid = getTableGrid(tableElm);
+
+                                       if (tinyMCE.isMSIE || sel.rangeCount == 1) {
+                                               if (user_interface) {
+                                                       // Setup template
+                                                       var template = new Array();
+                                                       var sp = getColRowSpan(tdElm);
+
+                                                       template['file'] = '../../plugins/table/merge_cells.htm';
+                                                       template['width'] = 250;
+                                                       template['height'] = 105;
+
+                                                       // Language specific width and height addons
+                                                       template['width'] += tinyMCE.getLang('lang_table_merge_cells_delta_width', 0);
+                                                       template['height'] += tinyMCE.getLang('lang_table_merge_cells_height', 0);
+
+                                                       // Open window
+                                                       tinyMCE.openWindow(template, {editor_id : inst.editorId, inline : "yes", action : "update", numcols : sp.colspan, numrows : sp.rowspan});
+
+                                                       return true;
+                                               } else {
+                                                       var numRows = parseInt(value['numrows']);
+                                                       var numCols = parseInt(value['numcols']);
+                                                       var cpos = getCellPos(grid, tdElm);
+
+                                                       if (("" + numRows) == "NaN")
+                                                               numRows = 1;
+
+                                                       if (("" + numCols) == "NaN")
+                                                               numCols = 1;
+
+                                                       // Get rows and cells
+                                                       var tRows = tableElm.rows;
+                                                       for (var y=cpos.rowindex; y<grid.length; y++) {
+                                                               var rowCells = new Array();
+
+                                                               for (var x=cpos.cellindex; x<grid[y].length; x++) {
+                                                                       var td = getCell(grid, y, x);
+
+                                                                       if (td && !inArray(rows, td) && !inArray(rowCells, td)) {
+                                                                               var cp = getCellPos(grid, td);
+
+                                                                               // Within range
+                                                                               if (cp.cellindex < cpos.cellindex+numCols && cp.rowindex < cpos.rowindex+numRows)
+                                                                                       rowCells[rowCells.length] = td;
+                                                                       }
+                                                               }
+
+                                                               if (rowCells.length > 0)
+                                                                       rows[rows.length] = rowCells;
+                                                       }
+
+                                                       //return true;
+                                               }
+                                       } else {
+                                               var cells = new Array();
+                                               var sel = inst.getSel();
+                                               var lastTR = null;
+                                               var curRow = null;
+                                               var x1 = -1, y1 = -1, x2, y2;
+
+                                               // Only one cell selected, whats the point?
+                                               if (sel.rangeCount < 2)
+                                                       return true;
+
+                                               // Get all selected cells
+                                               for (var i=0; i<sel.rangeCount; i++) {
+                                                       var rng = sel.getRangeAt(i);
+                                                       var tdElm = rng.startContainer.childNodes[rng.startOffset];
+
+                                                       if (!tdElm)
+                                                               break;
+
+                                                       if (tdElm.nodeName == "TD")
+                                                               cells[cells.length] = tdElm;
+                                               }
+
+                                               // Get rows and cells
+                                               var tRows = tableElm.rows;
+                                               for (var y=0; y<tRows.length; y++) {
+                                                       var rowCells = new Array();
+
+                                                       for (var x=0; x<tRows[y].cells.length; x++) {
+                                                               var td = tRows[y].cells[x];
+
+                                                               for (var i=0; i<cells.length; i++) {
+                                                                       if (td == cells[i]) {
+                                                                               rowCells[rowCells.length] = td;
+                                                                       }
+                                                               }
+                                                       }
+
+                                                       if (rowCells.length > 0)
+                                                               rows[rows.length] = rowCells;
+                                               }
+
+                                               // Find selected cells in grid and box
+                                               var curRow = new Array();
+                                               var lastTR = null;
+                                               for (var y=0; y<grid.length; y++) {
+                                                       for (var x=0; x<grid[y].length; x++) {
+                                                               grid[y][x]._selected = false;
+
+                                                               for (var i=0; i<cells.length; i++) {
+                                                                       if (grid[y][x] == cells[i]) {
+                                                                               // Get start pos
+                                                                               if (x1 == -1) {
+                                                                                       x1 = x;
+                                                                                       y1 = y;
+                                                                               }
+
+                                                                               // Get end pos
+                                                                               x2 = x;
+                                                                               y2 = y;
+
+                                                                               grid[y][x]._selected = true;
+                                                                       }
+                                                               }
+                                                       }
+                                               }
+
+                                               // Is there gaps, if so deny
+                                               for (var y=y1; y<=y2; y++) {
+                                                       for (var x=x1; x<=x2; x++) {
+                                                               if (!grid[y][x]._selected) {
+                                                                       alert("Invalid selection for merge.");
+                                                                       return true;
+                                                               }
+                                                       }
+                                               }
+                                       }
+
+                                       // Validate selection and get total rowspan and colspan
+                                       var rowSpan = 1, colSpan = 1;
+
+                                       // Validate horizontal and get total colspan
+                                       var lastRowSpan = -1;
+                                       for (var y=0; y<rows.length; y++) {
+                                               var rowColSpan = 0;
+
+                                               for (var x=0; x<rows[y].length; x++) {
+                                                       var sd = getColRowSpan(rows[y][x]);
+
+                                                       rowColSpan += sd['colspan'];
+
+                                                       if (lastRowSpan != -1 && sd['rowspan'] != lastRowSpan) {
+                                                               alert("Invalid selection for merge.");
+                                                               return true;
+                                                       }
+
+                                                       lastRowSpan = sd['rowspan'];
+                                               }
+
+                                               if (rowColSpan > colSpan)
+                                                       colSpan = rowColSpan;
+
+                                               lastRowSpan = -1;
+                                       }
+
+                                       // Validate vertical and get total rowspan
+                                       var lastColSpan = -1;
+                                       for (var x=0; x<rows[0].length; x++) {
+                                               var colRowSpan = 0;
+
+                                               for (var y=0; y<rows.length; y++) {
+                                                       var sd = getColRowSpan(rows[y][x]);
+
+                                                       colRowSpan += sd['rowspan'];
+
+                                                       if (lastColSpan != -1 && sd['colspan'] != lastColSpan) {
+                                                               alert("Invalid selection for merge.");
+                                                               return true;
+                                                       }
+
+                                                       lastColSpan = sd['colspan'];
+                                               }
+
+                                               if (colRowSpan > rowSpan)
+                                                       rowSpan = colRowSpan;
+
+                                               lastColSpan = -1;
+                                       }
+
+                                       // Setup td
+                                       tdElm = rows[0][0];
+                                       tdElm.rowSpan = rowSpan;
+                                       tdElm.colSpan = colSpan;
+
+                                       // Merge cells
+                                       for (var y=0; y<rows.length; y++) {
+                                               for (var x=0; x<rows[y].length; x++) {
+                                                       var html = rows[y][x].innerHTML;
+                                                       var chk = tinyMCE.regexpReplace(html, "[ \t\r\n]", "");
+
+                                                       if (chk != "<br/>" && chk != "<br>" && chk != "&nbsp;" && (x+y > 0))
+                                                               tdElm.innerHTML += html;
+
+                                                       // Not current cell
+                                                       if (rows[y][x] != tdElm && !rows[y][x]._deleted) {
+                                                               var cpos = getCellPos(grid, rows[y][x]);
+                                                               var tr = rows[y][x].parentNode;
+
+                                                               tr.removeChild(rows[y][x]);
+                                                               rows[y][x]._deleted = true;
+
+                                                               // Empty TR, remove it
+                                                               if (!tr.hasChildNodes()) {
+                                                                       tr.parentNode.removeChild(tr);
+
+                                                                       var lastCell = null;
+                                                                       for (var x=0; cellElm = getCell(grid, cpos.rowindex, x); x++) {
+                                                                               if (cellElm != lastCell && cellElm.rowSpan > 1)
+                                                                                       cellElm.rowSpan--;
+
+                                                                               lastCell = cellElm;
+                                                                       }
+
+                                                                       if (tdElm.rowSpan > 1)
+                                                                               tdElm.rowSpan--;
+                                                               }
+                                                       }
+                                               }
+                                       }
+
+                                       break;
+                               }
+
+                               tableElm = tinyMCE.getParentElement(inst.getFocusElement(), "table");
+                               tinyMCE.handleVisualAid(tableElm, true, tinyMCE.settings['visual'], tinyMCE.selectedInstance);
+                               tinyMCE.triggerNodeChange();
+                               inst.repaint();
+                       }
+
+               return true;
+       }
+
+       // Pass to next handler in chain
+       return false;
+}
+
+function TinyMCE_table_handleNodeChange(editor_id, node, undo_index, undo_levels, visual_aid, any_selection) {
+       var colspan = "1", rowspan = "1";
+
+       var inst = tinyMCE.getInstanceById(editor_id);
+
+       // Reset table controls
+       tinyMCE.switchClassSticky(editor_id + '_table', 'mceButtonNormal');
+       tinyMCE.switchClassSticky(editor_id + '_row_props', 'mceButtonDisabled', true);
+       tinyMCE.switchClassSticky(editor_id + '_cell_props', 'mceButtonDisabled', true);
+       tinyMCE.switchClassSticky(editor_id + '_row_before', 'mceButtonDisabled', true);
+       tinyMCE.switchClassSticky(editor_id + '_row_after', 'mceButtonDisabled', true);
+       tinyMCE.switchClassSticky(editor_id + '_delete_row', 'mceButtonDisabled', true);
+       tinyMCE.switchClassSticky(editor_id + '_col_before', 'mceButtonDisabled', true);
+       tinyMCE.switchClassSticky(editor_id + '_col_after', 'mceButtonDisabled', true);
+       tinyMCE.switchClassSticky(editor_id + '_delete_col', 'mceButtonDisabled', true);
+       tinyMCE.switchClassSticky(editor_id + '_split_cells', 'mceButtonDisabled', true);
+       tinyMCE.switchClassSticky(editor_id + '_merge_cells', 'mceButtonDisabled', true);
+
+       // Within a tr element
+       if (tinyMCE.getParentElement(node, "tr"))
+               tinyMCE.switchClassSticky(editor_id + '_row_props', 'mceButtonSelected', false);
+
+       // Within a td element
+       if (tdElm = tinyMCE.getParentElement(node, "td,th")) {
+               tinyMCE.switchClassSticky(editor_id + '_cell_props', 'mceButtonSelected', false);
+               tinyMCE.switchClassSticky(editor_id + '_row_before', 'mceButtonNormal', false);
+               tinyMCE.switchClassSticky(editor_id + '_row_after', 'mceButtonNormal', false);
+               tinyMCE.switchClassSticky(editor_id + '_delete_row', 'mceButtonNormal', false);
+               tinyMCE.switchClassSticky(editor_id + '_col_before', 'mceButtonNormal', false);
+               tinyMCE.switchClassSticky(editor_id + '_col_after', 'mceButtonNormal', false);
+               tinyMCE.switchClassSticky(editor_id + '_delete_col', 'mceButtonNormal', false);
+
+               colspan = tinyMCE.getAttrib(tdElm, "colspan");
+               rowspan = tinyMCE.getAttrib(tdElm, "rowspan");
+
+               colspan = colspan == "" ? "1" : colspan;
+               rowspan = rowspan == "" ? "1" : rowspan;
+
+               if (colspan != "1" || rowspan != "1")
+                       tinyMCE.switchClassSticky(editor_id + '_split_cells', 'mceButtonNormal', false);
+       }
+
+       // Within table
+       if (tinyMCE.getParentElement(node, "table")) {
+               tinyMCE.switchClassSticky(editor_id + '_table', 'mceButtonSelected');
+               tinyMCE.switchClassSticky(editor_id + '_merge_cells', 'mceButtonNormal', false);
+       }
+}
diff --git a/webcit/tiny_mce/plugins/table/images/buttons.gif b/webcit/tiny_mce/plugins/table/images/buttons.gif
new file mode 100644 (file)
index 0000000..6b85dd5
Binary files /dev/null and b/webcit/tiny_mce/plugins/table/images/buttons.gif differ
diff --git a/webcit/tiny_mce/plugins/table/images/table.gif b/webcit/tiny_mce/plugins/table/images/table.gif
new file mode 100644 (file)
index 0000000..5ed9e88
Binary files /dev/null and b/webcit/tiny_mce/plugins/table/images/table.gif differ
diff --git a/webcit/tiny_mce/plugins/table/images/table_cell_props.gif b/webcit/tiny_mce/plugins/table/images/table_cell_props.gif
new file mode 100644 (file)
index 0000000..665f65c
Binary files /dev/null and b/webcit/tiny_mce/plugins/table/images/table_cell_props.gif differ
diff --git a/webcit/tiny_mce/plugins/table/images/table_delete.gif b/webcit/tiny_mce/plugins/table/images/table_delete.gif
new file mode 100644 (file)
index 0000000..2d2ee5a
Binary files /dev/null and b/webcit/tiny_mce/plugins/table/images/table_delete.gif differ
diff --git a/webcit/tiny_mce/plugins/table/images/table_delete_col.gif b/webcit/tiny_mce/plugins/table/images/table_delete_col.gif
new file mode 100644 (file)
index 0000000..3f5b414
Binary files /dev/null and b/webcit/tiny_mce/plugins/table/images/table_delete_col.gif differ
diff --git a/webcit/tiny_mce/plugins/table/images/table_delete_row.gif b/webcit/tiny_mce/plugins/table/images/table_delete_row.gif
new file mode 100644 (file)
index 0000000..6f6b247
Binary files /dev/null and b/webcit/tiny_mce/plugins/table/images/table_delete_row.gif differ
diff --git a/webcit/tiny_mce/plugins/table/images/table_insert_col_after.gif b/webcit/tiny_mce/plugins/table/images/table_insert_col_after.gif
new file mode 100644 (file)
index 0000000..8505808
Binary files /dev/null and b/webcit/tiny_mce/plugins/table/images/table_insert_col_after.gif differ
diff --git a/webcit/tiny_mce/plugins/table/images/table_insert_col_before.gif b/webcit/tiny_mce/plugins/table/images/table_insert_col_before.gif
new file mode 100644 (file)
index 0000000..b669d4f
Binary files /dev/null and b/webcit/tiny_mce/plugins/table/images/table_insert_col_before.gif differ
diff --git a/webcit/tiny_mce/plugins/table/images/table_insert_row_after.gif b/webcit/tiny_mce/plugins/table/images/table_insert_row_after.gif
new file mode 100644 (file)
index 0000000..b9c1446
Binary files /dev/null and b/webcit/tiny_mce/plugins/table/images/table_insert_row_after.gif differ
diff --git a/webcit/tiny_mce/plugins/table/images/table_insert_row_before.gif b/webcit/tiny_mce/plugins/table/images/table_insert_row_before.gif
new file mode 100644 (file)
index 0000000..157d373
Binary files /dev/null and b/webcit/tiny_mce/plugins/table/images/table_insert_row_before.gif differ
diff --git a/webcit/tiny_mce/plugins/table/images/table_merge_cells.gif b/webcit/tiny_mce/plugins/table/images/table_merge_cells.gif
new file mode 100644 (file)
index 0000000..6834e61
Binary files /dev/null and b/webcit/tiny_mce/plugins/table/images/table_merge_cells.gif differ
diff --git a/webcit/tiny_mce/plugins/table/images/table_row_props.gif b/webcit/tiny_mce/plugins/table/images/table_row_props.gif
new file mode 100644 (file)
index 0000000..e5c7cc3
Binary files /dev/null and b/webcit/tiny_mce/plugins/table/images/table_row_props.gif differ
diff --git a/webcit/tiny_mce/plugins/table/images/table_split_cells.gif b/webcit/tiny_mce/plugins/table/images/table_split_cells.gif
new file mode 100644 (file)
index 0000000..8ccb1b5
Binary files /dev/null and b/webcit/tiny_mce/plugins/table/images/table_split_cells.gif differ
diff --git a/webcit/tiny_mce/plugins/table/jscripts/cell.js b/webcit/tiny_mce/plugins/table/jscripts/cell.js
new file mode 100644 (file)
index 0000000..e073373
--- /dev/null
@@ -0,0 +1,168 @@
+function init() {
+       tinyMCEPopup.resizeToInnerSize();
+
+       var inst = tinyMCE.selectedInstance;
+       var tdElm = tinyMCE.getParentElement(inst.getFocusElement(), "td,th");
+       var formObj = document.forms[0];
+       var st = tinyMCE.parseStyle(tdElm.style.cssText);
+
+       // Get table cell data
+       var celltype = tdElm.nodeName.toLowerCase();
+       var align = tinyMCE.getAttrib(tdElm, 'align');
+       var valign = tinyMCE.getAttrib(tdElm, 'valign');
+       var width = tinyMCE.getAttrib(tdElm, 'width');
+       var height = tinyMCE.getAttrib(tdElm, 'height');
+       var className = tinyMCE.getVisualAidClass(tinyMCE.getAttrib(tdElm, 'class'), false);
+       var bordercolor = tinyMCE.getAttrib(tdElm, 'bordercolor');
+       var bgcolor = tinyMCE.getAttrib(tdElm, 'bgcolor');
+       var backgroundimage = getStyle(tdElm, st, 'background', 'background-image').replace(new RegExp("url\\('?([^']*)'?\\)", 'gi'), "$1");;
+       var id = tinyMCE.getAttrib(tdElm, 'id');
+       var lang = tinyMCE.getAttrib(tdElm, 'lang');
+       var dir = tinyMCE.getAttrib(tdElm, 'dir');
+
+       // Setup form
+       addClassesToList('class', 'table_cell_styles');
+       formObj.bordercolor.value = bordercolor;
+       formObj.bgcolor.value = bgcolor;
+       formObj.backgroundimage.value = backgroundimage;
+       formObj.width.value = width;
+       formObj.height.value = height;
+       formObj.id.value = id;
+       formObj.lang.value = lang;
+       formObj.style.value = tinyMCE.serializeStyle(st);
+       selectByValue(formObj, 'align', align);
+       selectByValue(formObj, 'valign', valign);
+       selectByValue(formObj, 'class', className);
+       selectByValue(formObj, 'celltype', celltype);
+       selectByValue(formObj, 'dir', dir);
+
+       // Resize some elements
+       if (isVisible('backgroundimagebrowser'))
+               document.getElementById('backgroundimage').style.width = '180px';
+
+       updateColor('bordercolor_pick', 'bordercolor');
+       updateColor('bgcolor_pick', 'bgcolor');
+}
+
+function updateAction() {
+       var inst = tinyMCE.selectedInstance;
+       var tdElm = tinyMCE.getParentElement(inst.getFocusElement(), "td,th");
+       var trElm = tinyMCE.getParentElement(inst.getFocusElement(), "tr");
+       var tableElm = tinyMCE.getParentElement(inst.getFocusElement(), "table");
+       var formObj = document.forms[0];
+
+       inst.execCommand('mceBeginUndoLevel');
+
+       switch (getSelectValue(formObj, 'action')) {
+               case "cell":
+                       updateCell(tdElm);
+                       break;
+
+               case "row":
+                       var cell = trElm.firstChild;
+
+                       do {
+                               cell = updateCell(cell, true);
+                       } while ((cell = nextCell(cell)));
+
+                       break;
+
+               case "all":
+                       var rows = tableElm.getElementsByTagName("tr");
+
+                       for (var i=0; i<rows.length; i++) {
+                               var cell = rows[i].firstChild;
+
+                               do {
+                                       cell = updateCell(cell, true);
+                               } while ((cell = nextCell(cell)));
+                       }
+
+                       break;
+       }
+
+       tinyMCE.handleVisualAid(inst.getBody(), true, inst.visualAid, inst);
+       tinyMCE.triggerNodeChange();
+       inst.execCommand('mceEndUndoLevel');
+       tinyMCEPopup.close();
+}
+
+function nextCell(elm) {
+       while ((elm = elm.nextSibling)) {
+               if (elm.nodeName == "TD" || elm.nodeName == "TH")
+                       return elm;
+       }
+
+       return null;
+}
+
+function updateCell(td, skip_id) {
+       var inst = tinyMCE.selectedInstance;
+       var formObj = document.forms[0];
+       var curCellType = td.nodeName.toLowerCase();
+       var celltype = getSelectValue(formObj, 'celltype');
+       var doc = inst.getDoc();
+
+       if (!skip_id)
+               td.setAttribute('id', formObj.id.value);
+
+       td.setAttribute('align', formObj.align.value);
+       td.setAttribute('vAlign', formObj.valign.value);
+       td.setAttribute('width', formObj.width.value);
+       td.setAttribute('height', formObj.height.value);
+       td.setAttribute('borderColor', formObj.bordercolor.value);
+       td.setAttribute('bgColor', formObj.bgcolor.value);
+       td.setAttribute('lang', formObj.lang.value);
+       td.setAttribute('dir', getSelectValue(formObj, 'dir'));
+       td.setAttribute('style', tinyMCE.serializeStyle(tinyMCE.parseStyle(formObj.style.value)));
+       tinyMCE.setAttrib(td, 'class', getSelectValue(formObj, 'class'));
+
+       if (curCellType != celltype) {
+               // changing to a different node type
+               var newCell = doc.createElement(celltype);
+
+               for (var c=0; c<td.childNodes.length; c++) {
+                       newCell.appendChild(td.childNodes[c].cloneNode(1));
+               }
+
+               for (var a=0; a<td.attributes.length; a++) {
+                       var attr = td.attributes[a];
+                       newCell.setAttribute(attr.name, attr.value);
+               }
+
+               td.parentNode.replaceChild(newCell, td);
+               td = newCell;
+
+               return newCell;
+       }
+
+       return td;
+}
+
+function getStyle(elm, st, attrib, style) {
+       var val = tinyMCE.getAttrib(elm, attrib);
+
+       if (typeof(style) == 'undefined')
+               style = attrib;
+
+       return val == '' ? (st[style] ? st[style].replace('px', '') : '') : val;
+}
+
+function changedBackgroundImage() {
+       var formObj = document.forms[0];
+       var st = tinyMCE.parseStyle(formObj.style.value);
+
+       st['background-image'] = "url('" + formObj.backgroundimage.value + "')";
+
+       formObj.style.value = tinyMCE.serializeStyle(st);
+}
+
+function changedStyle() {
+       var formObj = document.forms[0];
+       var st = tinyMCE.parseStyle(formObj.style.value);
+
+       if (st['background-image'])
+               formObj.backgroundimage.value = st['background-image'].replace(new RegExp("url\\('?([^']*)'?\\)", 'gi'), "$1");
+       else
+               formObj.backgroundimage.value = '';
+}
diff --git a/webcit/tiny_mce/plugins/table/jscripts/merge_cells.js b/webcit/tiny_mce/plugins/table/jscripts/merge_cells.js
new file mode 100644 (file)
index 0000000..ca379cf
--- /dev/null
@@ -0,0 +1,19 @@
+function init() {
+       tinyMCEPopup.resizeToInnerSize();
+
+       var formObj = document.forms[0];
+
+       formObj.numcols.value = tinyMCE.getWindowArg('numcols', 1);
+       formObj.numrows.value = tinyMCE.getWindowArg('numrows', 1);
+}
+
+function mergeCells() {
+       var args = new Array();
+       var formObj = document.forms[0];
+
+       args["numcols"] = formObj.numcols.value;
+       args["numrows"] = formObj.numrows.value;
+
+       tinyMCEPopup.execCommand("mceTableMergeCells", false, args);
+       tinyMCEPopup.close();
+}
diff --git a/webcit/tiny_mce/plugins/table/jscripts/row.js b/webcit/tiny_mce/plugins/table/jscripts/row.js
new file mode 100644 (file)
index 0000000..1935065
--- /dev/null
@@ -0,0 +1,166 @@
+function init() {
+       tinyMCEPopup.resizeToInnerSize();
+
+       var inst = tinyMCE.selectedInstance;
+       var trElm = tinyMCE.getParentElement(inst.getFocusElement(), "tr");
+       var formObj = document.forms[0];
+       var st = tinyMCE.parseStyle(trElm.style.cssText);
+
+       // Get table row data
+       var rowtype = trElm.parentNode.nodeName.toLowerCase();
+       var align = tinyMCE.getAttrib(trElm, 'align');
+       var valign = tinyMCE.getAttrib(trElm, 'valign');
+       var height = tinyMCE.getAttrib(trElm, 'height');
+       var className = tinyMCE.getVisualAidClass(tinyMCE.getAttrib(trElm, 'class'), false);
+       var bordercolor = tinyMCE.getAttrib(trElm, 'bordercolor');
+       var bgcolor = tinyMCE.getAttrib(trElm, 'bgcolor');
+       var backgroundimage = getStyle(trElm, st, 'background', 'background-image').replace(new RegExp("url\\('?([^']*)'?\\)", 'gi'), "$1");;
+       var id = tinyMCE.getAttrib(trElm, 'id');
+       var lang = tinyMCE.getAttrib(trElm, 'lang');
+       var dir = tinyMCE.getAttrib(trElm, 'dir');
+
+       // Setup form
+       addClassesToList('class', 'table_row_styles');
+       formObj.bordercolor.value = bordercolor;
+       formObj.bgcolor.value = bgcolor;
+       formObj.backgroundimage.value = backgroundimage;
+       formObj.height.value = height;
+       formObj.id.value = id;
+       formObj.lang.value = lang;
+       formObj.style.value = tinyMCE.serializeStyle(st);
+       selectByValue(formObj, 'align', align);
+       selectByValue(formObj, 'valign', valign);
+       selectByValue(formObj, 'class', className);
+       selectByValue(formObj, 'rowtype', rowtype);
+       selectByValue(formObj, 'dir', dir);
+
+       // Resize some elements
+       if (isVisible('backgroundimagebrowser'))
+               document.getElementById('backgroundimage').style.width = '180px';
+
+       updateColor('bordercolor_pick', 'bordercolor');
+       updateColor('bgcolor_pick', 'bgcolor');
+}
+
+function updateAction() {
+       var inst = tinyMCE.selectedInstance;
+       var trElm = tinyMCE.getParentElement(inst.getFocusElement(), "tr");
+       var tableElm = tinyMCE.getParentElement(inst.getFocusElement(), "table");
+       var formObj = document.forms[0];
+       var action = getSelectValue(formObj, 'action');
+
+       inst.execCommand('mceBeginUndoLevel');
+
+       switch (action) {
+               case "row":
+                       updateRow(trElm);
+                       break;
+
+               case "all":
+                       var rows = tableElm.getElementsByTagName("tr");
+
+                       for (var i=0; i<rows.length; i++)
+                               updateRow(rows[i], true);
+
+                       break;
+
+               case "odd":
+               case "even":
+                       var rows = tableElm.getElementsByTagName("tr");
+
+                       for (var i=0; i<rows.length; i++) {
+                               if ((i % 2 == 0 && action == "odd") || (i % 2 != 0 && action == "even"))
+                                       updateRow(rows[i], true, true);
+                       }
+
+                       break;
+       }
+
+       tinyMCE.handleVisualAid(inst.getBody(), true, inst.visualAid, inst);
+       tinyMCE.triggerNodeChange();
+       inst.execCommand('mceEndUndoLevel');
+       tinyMCEPopup.close();
+}
+
+function updateRow(tr_elm, skip_id, skip_parent) {
+       var inst = tinyMCE.selectedInstance;
+       var formObj = document.forms[0];
+       var curRowType = tr_elm.parentNode.nodeName.toLowerCase();
+       var rowtype = getSelectValue(formObj, 'rowtype');
+       var doc = inst.getDoc();
+
+       // Update row element
+       if (!skip_id)
+               tr_elm.setAttribute('id', formObj.id.value);
+
+       tr_elm.setAttribute('align', getSelectValue(formObj, 'align'));
+       tr_elm.setAttribute('vAlign', getSelectValue(formObj, 'valign'));
+       tr_elm.setAttribute('height', formObj.height.value);
+       tr_elm.setAttribute('borderColor', formObj.bordercolor.value);
+       tr_elm.setAttribute('bgColor', formObj.bgcolor.value);
+       tr_elm.setAttribute('lang', formObj.lang.value);
+       tr_elm.setAttribute('dir', getSelectValue(formObj, 'dir'));
+       tr_elm.setAttribute('style', tinyMCE.serializeStyle(tinyMCE.parseStyle(formObj.style.value)));
+       tinyMCE.setAttrib(tr_elm, 'class', getSelectValue(formObj, 'class'));
+
+       // Setup new rowtype
+       if (curRowType != rowtype && !skip_parent) {
+               // first, clone the node we are working on
+               var newRow = tr_elm.cloneNode(1);
+
+               // next, find the parent of its new destination (creating it if necessary)
+               var theTable = tinyMCE.getParentElement(tr_elm, "table");
+               var dest = rowtype;
+               var newParent = null;
+               for (var i = 0; i < theTable.childNodes.length; i++) {
+                       if (theTable.childNodes[i].nodeName.toLowerCase() == dest)
+                               newParent = theTable.childNodes[i];
+               }
+
+               if (newParent == null) {
+                       newParent = doc.createElement(dest);
+
+                       if (dest == "thead")
+                               theTable.insertBefore(newParent, theTable.firstChild);
+                       else
+                               theTable.appendChild(newParent);
+               }
+
+               // append the row to the new parent
+               newParent.appendChild(newRow);
+
+               // remove the original
+               tr_elm.parentNode.removeChild(tr_elm);
+
+               // set tr_elm to the new node
+               tr_elm = newRow;
+       }
+}
+
+function getStyle(elm, st, attrib, style) {
+       var val = tinyMCE.getAttrib(elm, attrib);
+
+       if (typeof(style) == 'undefined')
+               style = attrib;
+
+       return val == '' ? (st[style] ? st[style].replace('px', '') : '') : val;
+}
+
+function changedBackgroundImage() {
+       var formObj = document.forms[0];
+       var st = tinyMCE.parseStyle(formObj.style.value);
+
+       st['background-image'] = "url('" + formObj.backgroundimage.value + "')";
+
+       formObj.style.value = tinyMCE.serializeStyle(st);
+}
+
+function changedStyle() {
+       var formObj = document.forms[0];
+       var st = tinyMCE.parseStyle(formObj.style.value);
+
+       if (st['background-image'])
+               formObj.backgroundimage.value = st['background-image'].replace(new RegExp("url\\('?([^']*)'?\\)", 'gi'), "$1");
+       else
+               formObj.backgroundimage.value = '';
+}
diff --git a/webcit/tiny_mce/plugins/table/jscripts/table.js b/webcit/tiny_mce/plugins/table/jscripts/table.js
new file mode 100644 (file)
index 0000000..ebf41a1
--- /dev/null
@@ -0,0 +1,232 @@
+var action;
+
+function insertTable() {
+       var formObj = document.forms[0];
+       var inst = tinyMCE.selectedInstance;
+       var cols = 2, rows = 2, border = 0, cellpadding = -1, cellspacing = -1, align, width, height, className;
+       var html = '';
+       var elm = tinyMCE.tableElm;
+
+       // Get form data
+       cols = formObj.elements['cols'].value;
+       rows = formObj.elements['rows'].value;
+       border = formObj.elements['border'].value != "" ? formObj.elements['border'].value  : 0;
+       cellpadding = formObj.elements['cellpadding'].value != "" ? formObj.elements['cellpadding'].value : "";
+       cellspacing = formObj.elements['cellspacing'].value != "" ? formObj.elements['cellspacing'].value : "";
+       align = formObj.elements['align'].options[formObj.elements['align'].selectedIndex].value;
+       width = formObj.elements['width'].value;
+       height = formObj.elements['height'].value;
+       bordercolor = formObj.elements['bordercolor'].value;
+       bgcolor = formObj.elements['bgcolor'].value;
+       className = formObj.elements['class'].options[formObj.elements['class'].selectedIndex].value;
+       id = formObj.elements['id'].value;
+       summary = formObj.elements['summary'].value;
+       style = formObj.elements['style'].value;
+       dir = formObj.elements['dir'].value;
+       lang = formObj.elements['lang'].value;
+       background = formObj.elements['backgroundimage'].value;
+
+       // Update table
+       if (action == "update") {
+               inst.execCommand('mceBeginUndoLevel');
+
+               tinyMCE.setAttrib(elm, 'cellPadding', cellpadding, true);
+               tinyMCE.setAttrib(elm, 'cellSpacing', cellspacing, true);
+               tinyMCE.setAttrib(elm, 'border', border, true);
+               tinyMCE.setAttrib(elm, 'width', width, true);
+               tinyMCE.setAttrib(elm, 'height', height, true);
+               tinyMCE.setAttrib(elm, 'borderColor', bordercolor);
+               tinyMCE.setAttrib(elm, 'bgColor', bgcolor);
+               tinyMCE.setAttrib(elm, 'align', align);
+               tinyMCE.setAttrib(elm, 'class', className);
+               tinyMCE.setAttrib(elm, 'style', style);
+               tinyMCE.setAttrib(elm, 'id', id);
+               tinyMCE.setAttrib(elm, 'summary', summary);
+               tinyMCE.setAttrib(elm, 'dir', dir);
+               tinyMCE.setAttrib(elm, 'lang', lang);
+
+               if (background != '')
+                       elm.style.backgroundImage = "url('" + background + "')";
+
+               tinyMCE.handleVisualAid(tinyMCE.tableElm, false, inst.visualAid, inst);
+
+               // Fix for stange MSIE align bug
+               tinyMCE.tableElm.outerHTML = tinyMCE.tableElm.outerHTML;
+
+               tinyMCE.handleVisualAid(inst.getBody(), true, inst.visualAid, inst);
+               tinyMCE.triggerNodeChange();
+               inst.execCommand('mceEndUndoLevel');
+               tinyMCEPopup.close();
+               return true;
+       }
+
+       // Create new table
+       html += '<table';
+
+       html += makeAttrib('id', id);
+       html += makeAttrib('border', border);
+       html += makeAttrib('cellpadding', cellpadding);
+       html += makeAttrib('cellspacing', cellspacing);
+       html += makeAttrib('width', width);
+       html += makeAttrib('height', height);
+       html += makeAttrib('bordercolor', bordercolor);
+       html += makeAttrib('bgcolor', bgcolor);
+       html += makeAttrib('align', align);
+       html += makeAttrib('class', tinyMCE.getVisualAidClass(className, border == 0));
+       html += makeAttrib('style', style);
+       html += makeAttrib('summary', summary);
+       html += makeAttrib('dir', dir);
+       html += makeAttrib('lang', lang);
+
+       html += '>';
+
+       for (var y=0; y<rows; y++) {
+               html += "<tr>";
+
+               for (var x=0; x<cols; x++)
+                       html += '<td>&nbsp;</td>';
+
+               html += "</tr>";
+       }
+
+       html += "</table>";
+
+       inst.execCommand('mceBeginUndoLevel');
+       inst.execCommand('mceInsertContent', false, html);
+       tinyMCE.handleVisualAid(inst.getBody(), true, tinyMCE.settings['visual']);
+       inst.execCommand('mceEndUndoLevel');
+
+       tinyMCEPopup.close();
+}
+
+function makeAttrib(attrib, value) {
+       var formObj = document.forms[0];
+       var valueElm = formObj.elements[attrib];
+
+       if (typeof(value) == "undefined" || value == null) {
+               value = "";
+
+               if (valueElm)
+                       value = valueElm.value;
+       }
+
+       if (value == "")
+               return "";
+
+       // XML encode it
+       value = value.replace(/&/g, '&amp;');
+       value = value.replace(/\"/g, '&quot;');
+       value = value.replace(/</g, '&lt;');
+       value = value.replace(/>/g, '&gr;');
+
+       return ' ' + attrib + '="' + value + '"';
+}
+
+function getStyle(elm, st, attrib, style) {
+       var val = tinyMCE.getAttrib(elm, attrib);
+
+       if (typeof(style) == 'undefined')
+               style = attrib;
+
+       return val == '' ? (st[style] ? st[style].replace('px', '') : '') : val;
+}
+
+function init() {
+       tinyMCEPopup.resizeToInnerSize();
+
+       var cols = 2, rows = 2, border = 0, cellpadding = "", cellspacing = "";
+       var align = "", width = "", height = "", bordercolor = "", bgcolor = "", className = "";
+       var id = "", summary = "", style = "", dir = "", lang = "", background = "", bgcolor = "", bordercolor = "";
+       var inst = tinyMCE.selectedInstance;
+       var formObj = document.forms[0];
+       var elm = tinyMCE.getParentElement(inst.getFocusElement(), "table");
+
+       tinyMCE.tableElm = elm;
+       action = tinyMCE.getWindowArg('action');
+       if (action == null)
+               action = "insert";
+
+       if (tinyMCE.tableElm && action != "insert") {
+               var rowsAr = tinyMCE.tableElm.rows;
+               var cols = 0;
+               for (var i=0; i<rowsAr.length; i++)
+                       if (rowsAr[i].cells.length > cols)
+                               cols = rowsAr[i].cells.length;
+
+               cols = cols;
+               rows = rowsAr.length;
+
+               st = tinyMCE.parseStyle(tinyMCE.tableElm.style.cssText);
+               border = getStyle(elm, st, 'border', 'border-width');
+               cellpadding = tinyMCE.getAttrib(tinyMCE.tableElm, 'cellpadding', "");
+               cellspacing = tinyMCE.getAttrib(tinyMCE.tableElm, 'cellspacing', "");
+               width = getStyle(elm, st, 'width');
+               height = getStyle(elm, st, 'height');
+               bordercolor = getStyle(elm, st, 'bordercolor', 'border-color');
+               bgcolor = getStyle(elm, st, 'bgcolor', 'background-color');
+               align = tinyMCE.getAttrib(tinyMCE.tableElm, 'align', align);
+               className = tinyMCE.getVisualAidClass(tinyMCE.getAttrib(tinyMCE.tableElm, 'class'), false);
+               id = tinyMCE.getAttrib(tinyMCE.tableElm, 'id');
+               summary = tinyMCE.getAttrib(tinyMCE.tableElm, 'summary');
+               style = tinyMCE.serializeStyle(st);
+               dir = tinyMCE.getAttrib(tinyMCE.tableElm, 'dir');
+               lang = tinyMCE.getAttrib(tinyMCE.tableElm, 'lang');
+               background = getStyle(elm, st, 'background', 'background-image').replace(new RegExp("url\\('?([^']*)'?\\)", 'gi'), "$1");
+
+               action = "update";
+       }
+
+       addClassesToList('class', "table_styles");
+
+       // Update form
+       selectByValue(formObj, 'align', align);
+       selectByValue(formObj, 'class', className);
+       formObj.cols.value = cols;
+       formObj.rows.value = rows;
+       formObj.border.value = border;
+       formObj.cellpadding.value = cellpadding;
+       formObj.cellspacing.value = cellspacing;
+       formObj.width.value = width;
+       formObj.height.value = height;
+       formObj.bordercolor.value = bordercolor;
+       formObj.bgcolor.value = bgcolor;
+       formObj.id.value = id;
+       formObj.summary.value = summary;
+       formObj.style.value = style;
+       formObj.dir.value = dir;
+       formObj.lang.value = lang;
+       formObj.backgroundimage.value = background;
+       formObj.insert.value = tinyMCE.getLang('lang_' + action, 'Insert', true); 
+
+       updateColor('bordercolor_pick', 'bordercolor');
+       updateColor('bgcolor_pick', 'bgcolor');
+
+       // Resize some elements
+       if (isVisible('backgroundimagebrowser'))
+               document.getElementById('backgroundimage').style.width = '180px';
+
+       // Disable some fields in update mode
+       if (action == "update") {
+               formObj.cols.disabled = true;
+               formObj.rows.disabled = true;
+       }
+}
+
+function changedBackgroundImage() {
+       var formObj = document.forms[0];
+       var st = tinyMCE.parseStyle(formObj.style.value);
+
+       st['background-image'] = "url('" + formObj.backgroundimage.value + "')";
+
+       formObj.style.value = tinyMCE.serializeStyle(st);
+}
+
+function changedStyle() {
+       var formObj = document.forms[0];
+       var st = tinyMCE.parseStyle(formObj.style.value);
+
+       if (st['background-image'])
+               formObj.backgroundimage.value = st['background-image'].replace(new RegExp("url\\('?([^']*)'?\\)", 'gi'), "$1");
+       else
+               formObj.backgroundimage.value = '';
+}
diff --git a/webcit/tiny_mce/plugins/table/langs/ar.js b/webcit/tiny_mce/plugins/table/langs/ar.js
new file mode 100644 (file)
index 0000000..e115c98
--- /dev/null
@@ -0,0 +1,43 @@
+// Arabic lang variables
+
+tinyMCE.addToLang('',{
+table_desc : '&#1573;&#1583;&#1585;&#1575;&#1580;/&#1578;&#1581;&#1585;&#1610;&#1585; &#1580;&#1583;&#1608;&#1604;',
+table_insert_row_before_desc : 'Insert row before',
+table_insert_row_after_desc : 'Insert row after',
+table_delete_row_desc : '&#1581;&#1584;&#1601; &#1589;&#1601;&#1608;&#1601;',
+table_insert_col_before_desc : 'Insert column before',
+table_insert_col_after_desc : 'Insert column after',
+table_delete_col_desc : '&#1581;&#1584;&#1601; &#1571;&#1593;&#1605;&#1583;&#1577;',
+insert_table_title : '&#1573;&#1583;&#1585;&#1575;&#1580;/&#1578;&#1581;&#1585;&#1610;&#1585; &#1580;&#1583;&#1608;&#1604;',
+insert_table_width : '&#1575;&#1604;&#1593;&#1585;&#1590;',
+insert_table_height : '&#1575;&#1604;&#1575;&#1585;&#1578;&#1601;&#1575;&#1593;',
+insert_table_cols : '&#1571;&#1593;&#1605;&#1583;&#1577;',
+insert_table_rows : '&#1589;&#1601;&#1608;&#1601;',
+insert_table_cellspacing : '&#1578;&#1576;&#1575;&#1593;&#1583; &#1575;&#1604;&#1582;&#1604;&#1575;&#1610;&#1575;',
+insert_table_cellpadding : '&#1575;&#1604;&#1605;&#1587;&#1575;&#1601;&#1577; &#1575;&#1604;&#1576;&#1575;&#1583;&#1574;&#1577;',
+insert_table_border : '&#1587;&#1605;&#1603; &#1575;&#1604;&#1581;&#1583;&#1608;&#1583;',
+insert_table_align : '&#1575;&#1604;&#1605;&#1581;&#1575;&#1584;&#1575;&#1577;',
+insert_table_align_default : 'Default',
+insert_table_align_left : '&#1610;&#1587;&#1575;&#1585;',
+insert_table_align_right : '&#1610;&#1605;&#1610;&#1606;',
+insert_table_align_middle : '&#1608;&#1587;&#1591;',
+insert_table_class : 'Class',
+table_row_title : 'Table row properties',
+table_cell_title : 'Table cell properties',
+table_row_desc : 'Table row properties',
+table_cell_desc : 'Table cell properties',
+insert_table_valign : 'Vertical alignment',
+insert_table_align_top : 'Top',
+insert_table_align_bottom : 'Bottom',
+table_props_desc : 'Table properties',
+table_bordercolor : 'Border color',
+table_bgcolor : 'Bg color',
+table_merge_cells_title : 'Merge table cells',
+table_split_cells_desc : 'Split table cells',
+table_merge_cells_desc : 'Merge table cells',
+table_cut_row_desc : 'Cut table row',
+table_copy_row_desc : 'Copy table row',
+table_paste_row_before_desc : 'Paste table row before',
+table_paste_row_after_desc : 'Paste table row after',
+table_insert_desc : 'Insert a new table'
+});
diff --git a/webcit/tiny_mce/plugins/table/langs/cs.js b/webcit/tiny_mce/plugins/table/langs/cs.js
new file mode 100644 (file)
index 0000000..ffcebf6
--- /dev/null
@@ -0,0 +1,49 @@
+/**
+ * Czech lang variables 
+ * encoding: utf-8
+ *  
+ * $Id$ 
+ */  
+
+tinyMCE.addToLang('',{
+table_desc : 'Vložit novou tabulku',
+table_insert_row_before_desc : 'Vložit řádek před',
+table_insert_row_after_desc : 'Vložit řádek po',
+table_delete_row_desc : 'Smazat řádek',
+table_insert_col_before_desc : 'Vložit sloupec před',
+table_insert_col_after_desc : 'Vložit sloupec po',
+table_delete_col_desc : 'Odstranit sloupec',
+insert_table_title : 'Vložit/upravit tabulku',
+insert_table_width : 'Šířka',
+insert_table_height : 'Výška',
+insert_table_cols : 'Sloupce',
+insert_table_rows : 'Řádky',
+insert_table_cellspacing : 'Vnější okraj buněk',
+insert_table_cellpadding : 'Vnitřní okraj buněk',
+insert_table_border : 'Rámeček',
+insert_table_align : 'Zarovnání',
+insert_table_align_default : 'Výchozí',
+insert_table_align_left : 'Vlevo',
+insert_table_align_right : 'Vpravo',
+insert_table_align_middle : 'Na střed',
+insert_table_class : 'Třída',
+table_row_title : 'Vlastnosti řádku',
+table_cell_title : 'Vlastnosti buňky',
+table_row_desc : 'Vlastnosti řádku',
+table_cell_desc : 'Vlastnosti řádku',
+insert_table_valign : 'Vertikální zarovnání',
+insert_table_align_top : 'Nahoru',
+insert_table_align_bottom : 'Dolů',
+table_props_desc : 'Vlastnosti tabulky',
+table_bordercolor : 'Barva rámečku',
+table_bgcolor : 'Barva pozadí',
+table_merge_cells_title : 'Sloučit buňky',
+table_split_cells_desc : 'Rozdělit buňky',
+table_merge_cells_desc : 'Sloučit buňky',
+table_cut_row_desc : 'Vyjmout řádek',
+table_copy_row_desc : 'Kopírovat řádek',
+table_paste_row_before_desc : 'Vložit řádek před',
+table_paste_row_after_desc : 'Vložit řádek za',
+table_insert_desc : 'Vložit tabulku'
+});
+
diff --git a/webcit/tiny_mce/plugins/table/langs/da.js b/webcit/tiny_mce/plugins/table/langs/da.js
new file mode 100644 (file)
index 0000000..13398eb
--- /dev/null
@@ -0,0 +1,43 @@
+// DK lang variables contributed by Jan Moelgaard
+
+tinyMCE.addToLang('',{
+table_desc : 'Inds&#230;tter en ny tabel',
+table_insert_row_before_desc : 'Inds&#230;t r&#230;kke foran',
+table_insert_row_after_desc : 'Inds&#230;t r&#230;kke efter',
+table_delete_row_desc : 'Slet r&#230;kke',
+table_insert_col_before_desc : 'Inds&#230;t kolonne foran',
+table_insert_col_after_desc : 'Indslt kolonne efter',
+table_delete_col_desc : 'Fjern kolonne',
+insert_table_title : 'Inds&#230;t/rediger tabel',
+insert_table_width : 'Bredde',
+insert_table_height : 'H&#248;jde',
+insert_table_cols : 'Kolonner',
+insert_table_rows : 'R&#230;kker',
+insert_table_cellspacing : 'Afstand mellem celler',
+insert_table_cellpadding : 'Cellemargen',
+insert_table_border : 'Kant',
+insert_table_align : 'Justering',
+insert_table_align_default : 'Standard',
+insert_table_align_left : 'Venstre',
+insert_table_align_right : 'H&#248;jre',
+insert_table_align_middle : 'Midt i',
+insert_table_class : 'Klasse',
+table_row_title : 'Table row properties',
+table_cell_title : 'Table cell properties',
+table_row_desc : 'Table row properties',
+table_cell_desc : 'Table cell properties',
+insert_table_valign : 'Vertical alignment',
+insert_table_align_top : 'Top',
+insert_table_align_bottom : 'Bottom',
+table_props_desc : 'Table properties',
+table_bordercolor : 'Border color',
+table_bgcolor : 'Bg color',
+table_merge_cells_title : 'Merge table cells',
+table_split_cells_desc : 'Split table cells',
+table_merge_cells_desc : 'Merge table cells',
+table_cut_row_desc : 'Cut table row',
+table_copy_row_desc : 'Copy table row',
+table_paste_row_before_desc : 'Paste table row before',
+table_paste_row_after_desc : 'Paste table row after',
+table_insert_desc : 'Insert a new table'
+});
diff --git a/webcit/tiny_mce/plugins/table/langs/de.js b/webcit/tiny_mce/plugins/table/langs/de.js
new file mode 100644 (file)
index 0000000..f913dc9
--- /dev/null
@@ -0,0 +1,43 @@
+// DE lang variables 
+
+tinyMCE.addToLang('',{
+table_desc : 'Neue Tabelle einf&uuml;gen / Tabelle bearbeiten',
+table_insert_row_before_desc : 'Zeile davor einf&uuml;gen',
+table_insert_row_after_desc : 'Zeile danach einf&uuml;gen',
+table_delete_row_desc : 'Zeile l&ouml;schen',
+table_insert_col_before_desc : 'Spalte davor einf&uuml;gen',
+table_insert_col_after_desc : ' Spalte danach einf&uuml;gen',
+table_delete_col_desc : 'Spalte l&ouml;schen',
+insert_table_title : 'Tabelle Einf&uuml;gen/Bearbeiten',
+insert_table_width : 'Breite',
+insert_table_height : 'H&ouml;he',
+insert_table_cols : 'Spalten',
+insert_table_rows : 'Zeilen',
+insert_table_cellspacing : 'Au&szlig;enabstand',
+insert_table_cellpadding : 'Innenabstand',
+insert_table_border : 'Rahmen',
+insert_table_align : 'Ausrichten',
+insert_table_align_default : 'Normal',
+insert_table_align_left : 'Links',
+insert_table_align_right : 'Rechts',
+insert_table_align_middle : 'Zentriert',
+insert_table_class : 'Klasse',
+table_row_title : 'Zeileneigenschaften',
+table_cell_title : 'Zelleneigenschaften',
+table_row_desc : 'Reiheneigenschaften',
+table_cell_desc : 'Zelleneigenschaften',
+insert_table_valign : 'Vertikale Ausrichtung',
+insert_table_align_top : 'Oben',
+insert_table_align_bottom : 'Unten',
+table_props_desc : 'Tabelleneigenschaften',
+table_bordercolor : 'Rahmenfarbe',
+table_bgcolor : 'Hintergrundfarbe',
+table_merge_cells_title : 'Merge table cells',
+table_split_cells_desc : 'Split table cells',
+table_merge_cells_desc : 'Merge table cells',
+table_cut_row_desc : 'Cut table row',
+table_copy_row_desc : 'Copy table row',
+table_paste_row_before_desc : 'Paste table row before',
+table_paste_row_after_desc : 'Paste table row after',
+table_insert_desc : 'Insert a new table'
+});
diff --git a/webcit/tiny_mce/plugins/table/langs/el.js b/webcit/tiny_mce/plugins/table/langs/el.js
new file mode 100644 (file)
index 0000000..51fb895
--- /dev/null
@@ -0,0 +1,43 @@
+// Greek lang variables by Jacaranda Bill
+
+tinyMCE.addToLang('',{
+table_desc : '&Aring;éóáãùãÞ ðßíáêá',
+table_insert_row_before_desc : '&Aring;éóáãùãÞ ãñáììÞò &aring;ðÜíù',
+table_insert_row_after_desc : '&Aring;éóáãùãÞ ãñáììÞò êÜôù',
+table_delete_row_desc : '&Auml;éáãñá&ouml;Þ ãñáììÞò',
+table_insert_col_before_desc : '&Aring;éóáãùãÞ óôÞëçò áñéóô&aring;ñÜ',
+table_insert_col_after_desc : '&Aring;éóáãùãÞ óôÞëçò &auml;&aring;îéÜ',
+table_delete_col_desc : '&Auml;éáãñá&ouml;Þ óôÞëçò',
+insert_table_title : '&Aring;éóáãùãÞ/&Auml;éüñèùóç ðßíáêá',
+insert_table_width : 'ÐëÜôïò',
+insert_table_height : '¾øïò',
+insert_table_cols : 'ÓôÞë&aring;ò',
+insert_table_rows : 'ÃñáììÝò',
+insert_table_cellspacing : '&Auml;éÜóôé÷ï',
+insert_table_cellpadding : 'ÃÝìéóìá',
+insert_table_border : 'Ð&aring;ñßãñáììá',
+insert_table_align : 'Óôïß÷éóç',
+insert_table_align_default : 'Ðñïêáè.',
+insert_table_align_left : 'Áñéóô&aring;ñÜ',
+insert_table_align_right : '&Auml;&aring;îéÜ',
+insert_table_align_middle : 'Óôï êÝíôñï',
+insert_table_class : 'ÊëÜóç',
+table_row_title : 'Table row properties',
+table_cell_title : 'Table cell properties',
+table_row_desc : 'Table row properties',
+table_cell_desc : 'Table cell properties',
+insert_table_valign : 'Vertical alignment',
+insert_table_align_top : 'Top',
+insert_table_align_bottom : 'Bottom',
+table_props_desc : 'Table properties',
+table_bordercolor : 'Border color',
+table_bgcolor : 'Bg color',
+table_merge_cells_title : 'Merge table cells',
+table_split_cells_desc : 'Split table cells',
+table_merge_cells_desc : 'Merge table cells',
+table_cut_row_desc : 'Cut table row',
+table_copy_row_desc : 'Copy table row',
+table_paste_row_before_desc : 'Paste table row before',
+table_paste_row_after_desc : 'Paste table row after',
+table_insert_desc : 'Insert a new table'
+});
diff --git a/webcit/tiny_mce/plugins/table/langs/en.js b/webcit/tiny_mce/plugins/table/langs/en.js
new file mode 100644 (file)
index 0000000..edad5a2
--- /dev/null
@@ -0,0 +1,69 @@
+// UK lang variables
+
+tinyMCE.addToLang('table',{
+general_tab : 'General',
+advanced_tab : 'Advanced',
+general_props : 'General properties',
+advanced_props : 'Advanced properties',
+desc : 'Inserts a new table',
+row_before_desc : 'Insert row before',
+row_after_desc : 'Insert row after',
+delete_row_desc : 'Delete row',
+col_before_desc : 'Insert column before',
+col_after_desc : 'Insert column after',
+delete_col_desc : 'Remove col',
+rowtype : 'Row in table part',
+title : 'Insert/Modify table',
+width : 'Width',
+height : 'Height',
+cols : 'Columns',
+rows : 'Rows',
+cellspacing : 'Cellspacing',
+cellpadding : 'Cellpadding',
+border : 'Border',
+align : 'Alignment',
+align_default : 'Default',
+align_left : 'Left',
+align_right : 'Right',
+align_middle : 'Center',
+row_title : 'Table row properties',
+cell_title : 'Table cell properties',
+cell_type : 'Cell type',
+row_desc : 'Table row properties',
+cell_desc : 'Table cell properties',
+valign : 'Vertical alignment',
+align_top : 'Top',
+align_bottom : 'Bottom',
+props_desc : 'Table properties',
+bordercolor : 'Border color',
+bgcolor : 'Background color',
+merge_cells_title : 'Merge table cells',
+split_cells_desc : 'Split table cells',
+merge_cells_desc : 'Merge table cells',
+cut_row_desc : 'Cut table row',
+copy_row_desc : 'Copy table row',
+paste_row_before_desc : 'Paste table row before',
+paste_row_after_desc : 'Paste table row after',
+id : 'Id',
+style: 'Style',
+langdir : 'Language direction',
+langcode : 'Language code',
+mime : 'Target MIME type',
+ltr : 'Left to right',
+rtl : 'Right to left',
+bgimage : 'Background image',
+summary : 'Summary',
+td : "Data",
+th : "Header",
+cell_cell : 'Update current cell',
+cell_row : 'Update all cells in row',
+cell_all : 'Update all cells in table',
+row_row : 'Update current row',
+row_odd : 'Update odd rows in table',
+row_even : 'Update even rows in table',
+row_all : 'Update all rows in table',
+thead : 'Table Head',
+tbody : 'Table Body',
+tfoot : 'Table Foot',
+del : 'Delete table'
+});
diff --git a/webcit/tiny_mce/plugins/table/langs/es.js b/webcit/tiny_mce/plugins/table/langs/es.js
new file mode 100644 (file)
index 0000000..4e4139f
--- /dev/null
@@ -0,0 +1,43 @@
+// ES lang variables by Alvaro Velasco
+
+tinyMCE.addToLang('',{
+table_desc : 'Insertar una tabla nueva',
+table_insert_row_before_desc : 'Insertar una fila antes',
+table_insert_row_after_desc : 'Insertar una fila despues',
+table_delete_row_desc : 'Eliminar una fila',
+table_insert_col_before_desc : 'Insertar una columna before',
+table_insert_col_after_desc : 'Insertar columna after',
+table_delete_col_desc : 'Eliminar una columna',
+insert_table_title : 'Insertar/Modificar tabla',
+insert_table_width : 'Anchura',
+insert_table_height : 'Altura',
+insert_table_cols : 'Columnas',
+insert_table_rows : 'Filas',
+insert_table_cellspacing : 'Espacio entre celdas',
+insert_table_cellpadding : 'Desplazamiento entre celdas',
+insert_table_border : 'Borde',
+insert_table_align : 'Alineamiento',
+insert_table_align_default : 'Por defecto',
+insert_table_align_left : 'Izquierda',
+insert_table_align_right : 'Derecha',
+insert_table_align_middle : 'Centro',
+insert_table_class : 'Class',
+table_row_title : 'Table row properties',
+table_cell_title : 'Table cell properties',
+table_row_desc : 'Table row properties',
+table_cell_desc : 'Table cell properties',
+insert_table_valign : 'Vertical alignment',
+insert_table_align_top : 'Top',
+insert_table_align_bottom : 'Bottom',
+table_props_desc : 'Table properties',
+table_bordercolor : 'Border color',
+table_bgcolor : 'Bg color',
+table_merge_cells_title : 'Merge table cells',
+table_split_cells_desc : 'Split table cells',
+table_merge_cells_desc : 'Merge table cells',
+table_cut_row_desc : 'Cut table row',
+table_copy_row_desc : 'Copy table row',
+table_paste_row_before_desc : 'Paste table row before',
+table_paste_row_after_desc : 'Paste table row after',
+table_insert_desc : 'Insert a new table'
+});
diff --git a/webcit/tiny_mce/plugins/table/langs/fa.js b/webcit/tiny_mce/plugins/table/langs/fa.js
new file mode 100644 (file)
index 0000000..0069d61
--- /dev/null
@@ -0,0 +1,47 @@
+// IR lang variables
+// Persian (Farsi) language pack (for IRAN)
+// By: Morteza Zafari
+// Lost@LostLord.com
+// http://www.LostLord.com
+
+tinyMCE.addToLang('',{
+table_desc : '??? ???? ????',
+table_insert_row_before_desc : '??? ??? ???? ??? ?? ??? ????',
+table_insert_row_after_desc : '??? ??? ???? ?? ?? ??? ????',
+table_delete_row_desc : '??? ???',
+table_insert_col_before_desc : '??? ???? ???? ??? ?? ???? ????',
+table_insert_col_after_desc : '??? ???? ???? ?? ?? ???? ????',
+table_delete_col_desc : '??? ????',
+insert_table_title : '??? ? ?????? ????',
+insert_table_width : '???',
+insert_table_height : '??????',
+insert_table_cols : '????? ??????',
+insert_table_rows : '????? ?????',
+insert_table_cellspacing : '????? ?? ???? ????',
+insert_table_cellpadding : '????? ??? ?? ?????? ????',
+insert_table_border : '?????',
+insert_table_align : '??? ???? ????',
+insert_table_align_default : '??? ???',
+insert_table_align_left : '??',
+insert_table_align_right : '????',
+insert_table_align_middle : '???',
+insert_table_class : '????',
+table_row_title : 'Table row properties',
+table_cell_title : 'Table cell properties',
+table_row_desc : 'Table row properties',
+table_cell_desc : 'Table cell properties',
+insert_table_valign : 'Vertical alignment',
+insert_table_align_top : 'Top',
+insert_table_align_bottom : 'Bottom',
+table_props_desc : 'Table properties',
+table_bordercolor : 'Border color',
+table_bgcolor : 'Bg color',
+table_merge_cells_title : 'Merge table cells',
+table_split_cells_desc : 'Split table cells',
+table_merge_cells_desc : 'Merge table cells',
+table_cut_row_desc : 'Cut table row',
+table_copy_row_desc : 'Copy table row',
+table_paste_row_before_desc : 'Paste table row before',
+table_paste_row_after_desc : 'Paste table row after',
+table_insert_desc : 'Insert a new table'
+});
diff --git a/webcit/tiny_mce/plugins/table/langs/fi.js b/webcit/tiny_mce/plugins/table/langs/fi.js
new file mode 100644 (file)
index 0000000..bf65f9e
--- /dev/null
@@ -0,0 +1,43 @@
+// FI lang variables by Urho Konttori from Absolutions
+
+tinyMCE.addToLang('',{
+table_desc : 'Lis&auml;&auml; uusi taulu',
+table_insert_row_before_desc : 'Lis&auml;&auml; rivi edelle',
+table_insert_row_after_desc : 'Lis&auml;&auml; rivi j&auml;lkeen',
+table_delete_row_desc : 'Posita rivi',
+table_insert_col_before_desc : 'Lis&auml;&auml; sarake edelle',
+table_insert_col_after_desc : 'Lis&auml;&auml; sarake j&auml;lkeen',
+table_delete_col_desc : 'Poista sarake',
+insert_table_title : 'Lis&auml;&auml;/muokkaa taulua',
+insert_table_width : 'Leveys',
+insert_table_height : 'Korkeus',
+insert_table_cols : 'Sarakkeet',
+insert_table_rows : 'Rivit',
+insert_table_cellspacing : 'Solujen v&auml;li',
+insert_table_cellpadding : 'Solun reunan ja sis&auml;ll&ouml;n v&auml;li',
+insert_table_border : 'Reuna',
+insert_table_align : 'Asettelu',
+insert_table_align_default : 'Oletus',
+insert_table_align_left : 'Vasen',
+insert_table_align_right : 'Oikea',
+insert_table_align_middle : 'Keskelle',
+insert_table_delta_height'] = 20;
+table_row_title : 'Table row properties',
+table_cell_title : 'Table cell properties',
+table_row_desc : 'Table row properties',
+table_cell_desc : 'Table cell properties',
+insert_table_valign : 'Vertical alignment',
+insert_table_align_top : 'Top',
+insert_table_align_bottom : 'Bottom',
+table_props_desc : 'Table properties',
+table_bordercolor : 'Border color',
+table_bgcolor : 'Bg color',
+table_merge_cells_title : 'Merge table cells',
+table_split_cells_desc : 'Split table cells',
+table_merge_cells_desc : 'Merge table cells',
+table_cut_row_desc : 'Cut table row',
+table_copy_row_desc : 'Copy table row',
+table_paste_row_before_desc : 'Paste table row before',
+table_paste_row_after_desc : 'Paste table row after',
+table_insert_desc : 'Insert a new table'
+});
diff --git a/webcit/tiny_mce/plugins/table/langs/fr.js b/webcit/tiny_mce/plugins/table/langs/fr.js
new file mode 100644 (file)
index 0000000..e3d47f6
--- /dev/null
@@ -0,0 +1,43 @@
+// French lang variables by Laurent Dran
+
+tinyMCE.addToLang('',{
+table_desc : 'Ins&eacute;rer un nouveau tableau',
+table_insert_row_before_desc : 'Ins&eacute;rer une ligne avant',
+table_insert_row_after_desc : 'Ins&eacute;rer une ligne apr&eacute;s',
+table_delete_row_desc : 'Supprimer la ligne',
+table_insert_col_before_desc : 'Ins&eacute;rer une colonne avant',
+table_insert_col_after_desc : 'Ins&eacute;rer une colonne apr&eacute;s',
+table_delete_col_desc : 'Supprimer la colonne',
+insert_table_title : 'Ins&eacute;rer/Modifier le tableau',
+insert_table_width : 'Largeur',
+insert_table_height : 'Hauteur',
+insert_table_cols : 'Colonnes',
+insert_table_rows : 'Lignes',
+insert_table_cellspacing : 'Cellspacing',
+insert_table_cellpadding : 'Cellpadding',
+insert_table_border : 'Bordure',
+insert_table_align : 'Alignement',
+insert_table_align_default : 'D&eacute;faut',
+insert_table_align_left : 'Gauche',
+insert_table_align_right : 'Droit',
+insert_table_align_middle : 'Milieu',
+insert_table_class : 'Classe CSS',
+table_row_title : 'Propri&eacute;t&eacute;s de la rang&eacute;e',
+table_cell_title : 'Propri&eacute;t&eacute;s de la cellule',
+table_row_desc : 'Propri&eacute;t&eacute;s de la rang&eacute;e',
+table_cell_desc : 'Propri&eacute;t&eacute;s de la cellule',
+insert_table_valign : 'Alignement Vertical',
+insert_table_align_top : 'Haut',
+insert_table_align_bottom : 'Bas',
+table_props_desc : 'Table properties',
+table_bordercolor : 'Border color',
+table_bgcolor : 'Bg color',
+table_merge_cells_title : 'Merge table cells',
+table_split_cells_desc : 'Split table cells',
+table_merge_cells_desc : 'Merge table cells',
+table_cut_row_desc : 'Cut table row',
+table_copy_row_desc : 'Copy table row',
+table_paste_row_before_desc : 'Paste table row before',
+table_paste_row_after_desc : 'Paste table row after',
+table_insert_desc : 'Insert a new table'
+});
diff --git a/webcit/tiny_mce/plugins/table/langs/fr_ca.js b/webcit/tiny_mce/plugins/table/langs/fr_ca.js
new file mode 100644 (file)
index 0000000..4a5d142
--- /dev/null
@@ -0,0 +1,43 @@
+// Canadian French lang variables by Virtuelcom   last modification: 2005-06-15
+
+tinyMCE.addToLang('',{
+table_desc : 'Insérer un nouveau tableau',
+table_insert_row_before_desc : 'Insérer une ligne avant',
+table_insert_row_after_desc : 'Insérer une ligne après',
+table_delete_row_desc : 'Supprimer la ligne',
+table_insert_col_before_desc : 'Insérer une colonne avant',
+table_insert_col_after_desc : 'Insérer une colonne après',
+table_delete_col_desc : 'Supprimer la colonne',
+insert_table_title : 'Insérer/Modifier le tableau',
+insert_table_width : 'Largeur',
+insert_table_height : 'Hauteur',
+insert_table_cols : 'Colonnes',
+insert_table_rows : 'Lignes',
+insert_table_cellspacing : 'Cellspacing',
+insert_table_cellpadding : 'Cellpadding',
+insert_table_border : 'Bordure',
+insert_table_align : 'Alignement',
+insert_table_align_default : 'Défaut',
+insert_table_align_left : 'Gauche',
+insert_table_align_right : 'Droit',
+insert_table_align_middle : 'Milieu',
+insert_table_class_name : 'Classe CSS',
+table_row_title : 'Propriétés de ligne',
+table_cell_title : 'Propriétés de cellule',
+table_row_desc : 'Propriétés de ligne',
+table_cell_desc : 'Propriétés de cellule',
+insert_table_valign : 'Alignement vertical',
+insert_table_align_top : 'Haut',
+insert_table_align_bottom : 'Bas',
+table_props_desc : 'Table properties',
+table_bordercolor : 'Border color',
+table_bgcolor : 'Bg color',
+table_merge_cells_title : 'Merge table cells',
+table_split_cells_desc : 'Split table cells',
+table_merge_cells_desc : 'Merge table cells',
+table_cut_row_desc : 'Cut table row',
+table_copy_row_desc : 'Copy table row',
+table_paste_row_before_desc : 'Paste table row before',
+table_paste_row_after_desc : 'Paste table row after',
+table_insert_desc : 'Insert a new table'
+});
diff --git a/webcit/tiny_mce/plugins/table/langs/he.js b/webcit/tiny_mce/plugins/table/langs/he.js
new file mode 100644 (file)
index 0000000..f485239
--- /dev/null
@@ -0,0 +1,43 @@
+// HE lang variables by Liron Newman, http://eesh.net
+
+tinyMCE.addToLang('',{
+table_desc : 'îëðéñ èáì&auml; çãù&auml;',
+table_insert_row_before_desc : '&auml;ëðñ ù&aring;ø&auml; ìôðé',
+table_insert_row_after_desc : '&auml;ëðñ ù&aring;ø&auml; àçøé',
+table_delete_row_desc : 'îç÷ ù&aring;ø&auml;',
+table_insert_col_before_desc : '&auml;ëðñ è&aring;ø ìôðé',
+table_insert_col_after_desc : '&auml;ëðñ è&aring;ø àçøé',
+table_delete_col_desc : '&auml;ñø è&aring;ø',
+insert_table_title : '&auml;ëðñ/ùð&auml; èáì&auml;',
+insert_table_width : 'ø&aring;çá',
+insert_table_height : 'â&aring;á&auml;',
+insert_table_cols : 'è&aring;øéí',
+insert_table_rows : 'ù&aring;ø&aring;ú',
+insert_table_cellspacing : 'øé&aring;&aring;ç áéï úàéí',
+insert_table_cellpadding : 'øéô&aring;ã úàéí',
+insert_table_border : 'âá&aring;ì',
+insert_table_align : 'ééù&aring;ø',
+insert_table_align_default : 'áøéøú îçãì',
+insert_table_align_left : 'ùîàì',
+insert_table_align_right : 'éîéï',
+insert_table_align_middle : 'îøëæ',
+insert_table_class : 'îçì÷&auml;',
+table_row_title : 'îàôééðé ù&aring;øú èáì&auml;',
+table_cell_title : 'îàôééðé úà èáì&auml;',
+table_row_desc : 'îàôééðé ù&aring;øú èáì&auml;',
+table_cell_desc : 'îàôééðé úà èáì&auml;',
+insert_table_valign : 'ééù&aring;ø àðëé',
+insert_table_align_top : 'ìîòì&auml;',
+insert_table_align_bottom : 'ìîè&auml;',
+table_props_desc : 'îàôééðé èáì&auml;',
+table_bordercolor : '&ouml;áò âá&aring;ì',
+table_bgcolor : '&ouml;áò ø÷ò',
+table_merge_cells_title : 'îæâ úàéí áèáì&auml;',
+table_split_cells_desc : 'ô&ouml;ì úàéí áèáì&auml;',
+table_merge_cells_desc : 'îæâ úàéí áèáì&auml;',
+table_cut_row_desc : 'âæ&aring;ø ù&aring;ø&auml; î&auml;èáì&auml;',
+table_copy_row_desc : '&auml;òú÷ ù&aring;ø&auml; î&auml;èáì&auml;',
+table_paste_row_before_desc : '&auml;ãá÷ ù&aring;ø&auml; ìèáì&auml; ìôðé',
+table_paste_row_after_desc : '&auml;ãá÷ ù&aring;ø&auml; ìèáì&auml; àçøé',
+table_insert_desc : '&auml;ëðñ èáì&auml; çãù&auml;'
+});
diff --git a/webcit/tiny_mce/plugins/table/langs/hu.js b/webcit/tiny_mce/plugins/table/langs/hu.js
new file mode 100644 (file)
index 0000000..d3705a8
--- /dev/null
@@ -0,0 +1,43 @@
+// HU lang variables, Edited by 2XP (2xp@dino.hu)
+
+tinyMCE.addToLang('',{
+table_desc : '&#218;j t&#225;bl&#225;zat beilleszt&#233;se',
+table_insert_row_before_desc : 'Sor beilleszt&#233;se el&#233;',
+table_insert_row_after_desc : 'Sor beilleszt&#233;se ut&#225;na',
+table_delete_row_desc : 'Sor t&#246;rl&#233;se',
+table_insert_col_before_desc : 'Oszlop beillszt&#233;se el&#233;',
+table_insert_col_after_desc : 'Oszlop beilleszt&#233;se ut&#225;na',
+table_delete_col_desc : 'Oszlop elt&#225;vol&#237;t&#225;sa',
+insert_table_title : 'T&#225;bla beilleszt&#233;se/m&#243;dos&#237;t&#225;sa',
+insert_table_width : 'Sz&#233;less&#233;g',
+insert_table_height : 'Magass&#225;g',
+insert_table_cols : 'Oszlopok',
+insert_table_rows : 'Sorok',
+insert_table_cellspacing : 'Cellspacing',
+insert_table_cellpadding : 'Cellpadding',
+insert_table_border : 'Keret',
+insert_table_align : 'Igaz&#237;t&#225;s',
+insert_table_align_default : 'Alap&#233;rtelmezett',
+insert_table_align_left : 'Balra',
+insert_table_align_right : 'Jobbra',
+insert_table_align_middle : 'K&#246;z&#233;pre',
+insert_table_class : 'Class',
+table_row_title : 'Table row properties',
+table_cell_title : 'Table cell properties',
+table_row_desc : 'Table row properties',
+table_cell_desc : 'Table cell properties',
+insert_table_valign : 'Vertical alignment',
+insert_table_align_top : 'Top',
+insert_table_align_bottom : 'Bottom',
+table_props_desc : 'Table properties',
+table_bordercolor : 'Border color',
+table_bgcolor : 'Bg color',
+table_merge_cells_title : 'Merge table cells',
+table_split_cells_desc : 'Split table cells',
+table_merge_cells_desc : 'Merge table cells',
+table_cut_row_desc : 'Cut table row',
+table_copy_row_desc : 'Copy table row',
+table_paste_row_before_desc : 'Paste table row before',
+table_paste_row_after_desc : 'Paste table row after',
+table_insert_desc : 'Insert a new table'
+});
diff --git a/webcit/tiny_mce/plugins/table/langs/it.js b/webcit/tiny_mce/plugins/table/langs/it.js
new file mode 100644 (file)
index 0000000..404e01e
--- /dev/null
@@ -0,0 +1,43 @@
+// Variabili di lingua IT - fabrix.xm@lombardiacom.it
+
+tinyMCE.addToLang('',{
+table_desc : 'Inserisci una nuova tabella',
+table_insert_row_before_desc : 'Inserisci una riga prima',
+table_insert_row_after_desc : 'Inserisci una riga dopo',
+table_delete_row_desc : 'Cancella riga',
+table_insert_col_before_desc : 'Inserisci colonna prima',
+table_insert_col_after_desc : 'Inserisci colonna dopo',
+table_delete_col_desc : 'Rimuovi colonna',
+insert_table_title : 'Inserisci/modifica tabella',
+insert_table_width : 'Larghezza',
+insert_table_height : 'Altezza',
+insert_table_cols : 'Colonne',
+insert_table_rows : 'Righe',
+insert_table_cellspacing : 'Cellspacing',
+insert_table_cellpadding : 'Cellpadding',
+insert_table_border : 'Bordo',
+insert_table_align : 'Allineamento',
+insert_table_align_default : 'Default',
+insert_table_align_left : 'Sinistra',
+insert_table_align_right : 'Destra',
+insert_table_align_middle : 'Centro',
+insert_table_class : 'Classe',
+table_row_title : 'Table row properties',
+table_cell_title : 'Table cell properties',
+table_row_desc : 'Table row properties',
+table_cell_desc : 'Table cell properties',
+insert_table_valign : 'Vertical alignment',
+insert_table_align_top : 'Top',
+insert_table_align_bottom : 'Bottom',
+table_props_desc : 'Table properties',
+table_bordercolor : 'Border color',
+table_bgcolor : 'Bg color',
+table_merge_cells_title : 'Merge table cells',
+table_split_cells_desc : 'Split table cells',
+table_merge_cells_desc : 'Merge table cells',
+table_cut_row_desc : 'Cut table row',
+table_copy_row_desc : 'Copy table row',
+table_paste_row_before_desc : 'Paste table row before',
+table_paste_row_after_desc : 'Paste table row after',
+table_insert_desc : 'Insert a new table'
+});
diff --git a/webcit/tiny_mce/plugins/table/langs/ja.js b/webcit/tiny_mce/plugins/table/langs/ja.js
new file mode 100644 (file)
index 0000000..8b19fd0
--- /dev/null
@@ -0,0 +1,43 @@
+// JP lang variables
+
+tinyMCE.addToLang('',{
+table_desc : '\e$B%F!<%V%k\e(B',
+table_insert_row_before_desc : '\e$B9TA^F~\e(B(\e$BA0\e(B)',
+table_insert_row_after_desc : '\e$B9TA^F~\e(B(\e$B8e\e(B)',
+table_delete_row_desc : '\e$B9T:o=|\e(B',
+table_insert_col_before_desc : '\e$BNsA^F~\e(B(\e$BA0\e(B)',
+table_insert_col_after_desc : '\e$BNsA^F~\e(B(\e$B8e\e(B)',
+table_delete_col_desc : '\e$BNs:o=|\e(B',
+insert_table_title : '\e$B%F!<%V%k$NA^F~\e(B/\e$BJT=8\e(B',
+insert_table_cols : '\e$BNs?t\e(B',
+insert_table_rows : '\e$B9T?t\e(B',
+insert_table_cellspacing : '\e$B%;%kM>Gr\e(B',
+insert_table_cellpadding : '\e$B%;%k5M$a\e(B',
+insert_table_align : '\e$B0LCVD4@0\e(B',
+insert_table_align_default : '\e$B0EL[\e(B',
+insert_table_align_left : '\e$B:85M$a\e(B',
+insert_table_align_right : '\e$B1&5M$a\e(B',
+insert_table_align_middle : '\e$BCf1{4s$;\e(B',
+insert_table_width : '\e$BI}\e(B',
+insert_table_height : '\e$B9b$5\e(B',
+insert_table_border : '\e$B6-3&@~\e(B',
+insert_table_class : '\e$B%/%i%9\e(B',
+table_row_title : 'Table row properties',
+table_cell_title : 'Table cell properties',
+table_row_desc : 'Table row properties',
+table_cell_desc : 'Table cell properties',
+insert_table_valign : 'Vertical alignment',
+insert_table_align_top : 'Top',
+insert_table_align_bottom : 'Bottom',
+table_props_desc : 'Table properties',
+table_bordercolor : 'Border color',
+table_bgcolor : 'Bg color',
+table_merge_cells_title : 'Merge table cells',
+table_split_cells_desc : 'Split table cells',
+table_merge_cells_desc : 'Merge table cells',
+table_cut_row_desc : 'Cut table row',
+table_copy_row_desc : 'Copy table row',
+table_paste_row_before_desc : 'Paste table row before',
+table_paste_row_after_desc : 'Paste table row after',
+table_insert_desc : 'Insert a new table'
+});
diff --git a/webcit/tiny_mce/plugins/table/langs/ko.js b/webcit/tiny_mce/plugins/table/langs/ko.js
new file mode 100644 (file)
index 0000000..edf946a
--- /dev/null
@@ -0,0 +1,43 @@
+// KO lang variables
+
+tinyMCE.addToLang('',{
+table_desc : 'Ç¥ ³&Ouml;±â',
+table_insert_row_before_desc : '¾Õ¿¡ Çà ³&Ouml;±â',
+table_insert_row_after_desc : 'µÚ¿¡ Çà ³&Ouml;±â',
+table_delete_row_desc : 'Çà Á&ouml;¿ì±â',
+table_insert_col_before_desc : '¾Õ¿¡ ¿­ ³&Ouml;±â',
+table_insert_col_after_desc : 'µÚ¿¡ ¿­ ³&Ouml;±â',
+table_delete_col_desc : '¿­ Á&ouml;¿ì±â',
+insert_table_title : 'Ç¥ ³&Ouml;±â/°í&Auml;¡±â',
+insert_table_width : '³Êºñ',
+insert_table_height : '³ôÀÌ',
+insert_table_cols : 'Çà',
+insert_table_rows : '¿­',
+insert_table_cellspacing : '¼¿ °£°Ý',
+insert_table_cellpadding : '¼¿ ¿©¹é',
+insert_table_border : '&Aring;׵θ®',
+insert_table_align : 'Á¤·&Auml;',
+insert_table_align_default : '±âº»°ª',
+insert_table_align_left : '¿ÞÂÊ',
+insert_table_align_right : '¿À¸¥ÂÊ',
+insert_table_align_middle : '°¡¿îµ¥',
+insert_table_class : '&Aring;¬·¡½º',
+table_row_title : 'Table row properties',
+table_cell_title : 'Table cell properties',
+table_row_desc : 'Table row properties',
+table_cell_desc : 'Table cell properties',
+insert_table_valign : 'Vertical alignment',
+insert_table_align_top : 'Top',
+insert_table_align_bottom : 'Bottom',
+table_props_desc : 'Table properties',
+table_bordercolor : 'Border color',
+table_bgcolor : 'Bg color',
+table_merge_cells_title : 'Merge table cells',
+table_split_cells_desc : 'Split table cells',
+table_merge_cells_desc : 'Merge table cells',
+table_cut_row_desc : 'Cut table row',
+table_copy_row_desc : 'Copy table row',
+table_paste_row_before_desc : 'Paste table row before',
+table_paste_row_after_desc : 'Paste table row after',
+table_insert_desc : 'Insert a new table'
+});
diff --git a/webcit/tiny_mce/plugins/table/langs/nl.js b/webcit/tiny_mce/plugins/table/langs/nl.js
new file mode 100644 (file)
index 0000000..c3d76ac
--- /dev/null
@@ -0,0 +1,43 @@
+// NL lang variables
+
+tinyMCE.addToLang('',{
+table_desc : 'Voeg een nieuwe tabel in',
+table_insert_row_before_desc : 'Voeg rij in voor ...',
+table_insert_row_after_desc : 'Voeg rij in na ...',
+table_delete_row_desc : 'Verwijder rij',
+table_insert_col_before_desc : 'Voeg kolom in voor ...',
+table_insert_col_after_desc : 'Voeg kolom in na ...',
+table_delete_col_desc : 'Verwijder kolom',
+insert_table_title : 'Invoegen/Bewerken tabel',
+insert_table_width : 'Breedte',
+insert_table_height : 'Hoogte',
+insert_table_cols : 'Kolommen',
+insert_table_rows : 'Rijen',
+insert_table_cellspacing : 'Celafstand',
+insert_table_cellpadding : 'Celvulling',
+insert_table_border : 'Omranding',
+insert_table_align : 'Positionering',
+insert_table_align_default : 'Standaard',
+insert_table_align_left : 'Links',
+insert_table_align_right : 'Rechts',
+insert_table_align_middle : 'Midden',
+insert_table_class : 'CSS-Stijl',
+table_row_title : 'Table row properties',
+table_cell_title : 'Table cell properties',
+table_row_desc : 'Table row properties',
+table_cell_desc : 'Table cell properties',
+insert_table_valign : 'Vertical alignment',
+insert_table_align_top : 'Top',
+insert_table_align_bottom : 'Bottom',
+table_props_desc : 'Table properties',
+table_bordercolor : 'Border color',
+table_bgcolor : 'Bg color',
+table_merge_cells_title : 'Merge table cells',
+table_split_cells_desc : 'Split table cells',
+table_merge_cells_desc : 'Merge table cells',
+table_cut_row_desc : 'Cut table row',
+table_copy_row_desc : 'Copy table row',
+table_paste_row_before_desc : 'Paste table row before',
+table_paste_row_after_desc : 'Paste table row after',
+table_insert_desc : 'Insert a new table'
+});
diff --git a/webcit/tiny_mce/plugins/table/langs/no.js b/webcit/tiny_mce/plugins/table/langs/no.js
new file mode 100644 (file)
index 0000000..8b0b030
--- /dev/null
@@ -0,0 +1,43 @@
+// NO lang variables
+
+tinyMCE.addToLang('',{
+table_desc : 'Opprett/endre tabell',
+table_insert_row_before_desc : 'Opprett rad før',
+table_insert_row_after_desc : 'Opprett rad etter',
+table_delete_row_desc : 'Fjern rad',
+table_insert_col_before_desc : 'Opprett kolonne før',
+table_insert_col_after_desc : 'Opprett kolonne etter',
+table_delete_col_desc : 'Fjern kolonne',
+insert_table_title : 'Opprett/endre tabell',
+insert_table_width : 'Bredde',
+insert_table_height : 'Høyde',
+insert_table_cols : 'Kolonner',
+insert_table_rows : 'Rader',
+insert_table_cellspacing : 'Celle-mellomrom',
+insert_table_cellpadding : 'Celle-padding',
+insert_table_border : 'Rammebredde',
+insert_table_align : 'Justering',
+insert_table_align_default : 'Ingen',
+insert_table_align_left : 'Venstre',
+insert_table_align_right : 'Høyre',
+insert_table_align_middle : 'Midten',
+insert_table_class : 'Stil',
+table_row_title : 'Table row properties',
+table_cell_title : 'Table cell properties',
+table_row_desc : 'Table row properties',
+table_cell_desc : 'Table cell properties',
+insert_table_valign : 'Vertical alignment',
+insert_table_align_top : 'Top',
+insert_table_align_bottom : 'Bottom',
+table_props_desc : 'Table properties',
+table_bordercolor : 'Border color',
+table_bgcolor : 'Bg color',
+table_merge_cells_title : 'Merge table cells',
+table_split_cells_desc : 'Split table cells',
+table_merge_cells_desc : 'Merge table cells',
+table_cut_row_desc : 'Cut table row',
+table_copy_row_desc : 'Copy table row',
+table_paste_row_before_desc : 'Paste table row before',
+table_paste_row_after_desc : 'Paste table row after',
+table_insert_desc : 'Insert a new table'
+});
diff --git a/webcit/tiny_mce/plugins/table/langs/pl.js b/webcit/tiny_mce/plugins/table/langs/pl.js
new file mode 100644 (file)
index 0000000..975a0b8
--- /dev/null
@@ -0,0 +1,41 @@
+// PL lang variables
+
+tinyMCE.addToLang('',{
+table_desc : 'Wstaw nowa tabele',
+table_insert_row_before_desc : 'Wstaw wiersz przed',
+table_insert_row_after_desc : 'Wstaw wiersz po',
+table_delete_row_desc : 'Skasuj wiersz',
+table_insert_col_before_desc : 'Wstaw kolumne przed',
+table_insert_col_after_desc : 'Wstaw kolumne po',
+table_delete_col_desc : 'Skasuj kolumne',
+insert_table_title : 'Wstaw/Modyfikuj tabele',
+insert_table_width : 'Szerokosc',
+insert_table_height : 'Wysokosc',
+insert_table_cols : 'Kolumny',
+insert_table_rows : 'Wiersze',
+insert_table_cellspacing : 'Cellspacing',
+insert_table_cellpadding : 'Cellpadding',
+insert_table_border : 'Ramka',
+insert_table_align : 'Wyrównanie',
+insert_table_align_default : 'Domyslny',
+insert_table_align_left : 'Do lewej',
+insert_table_align_right : 'Do prawej',
+insert_table_align_middle : 'Wycentrowanie',
+insert_table_class : 'Klasa',
+table_row_title : 'Wlasciwosci wiersza',
+table_cell_title : 'Wlasciwosci komórki',
+table_row_desc : 'Wlasciwosci wiersza',
+table_cell_desc : 'Wlasciwosci komórki',
+insert_table_valign : 'Wyrównanie pionowe',
+insert_table_align_top : 'do góry',
+insert_table_align_bottom : 'do dolu',
+table_props_desc : 'Wlasciwosci tabeli',
+table_merge_cells_title : 'Merge table cells',
+table_split_cells_desc : 'Split table cells',
+table_merge_cells_desc : 'Merge table cells',
+table_cut_row_desc : 'Cut table row',
+table_copy_row_desc : 'Copy table row',
+table_paste_row_before_desc : 'Paste table row before',
+table_paste_row_after_desc : 'Paste table row after',
+table_insert_desc : 'Insert a new table'
+});
diff --git a/webcit/tiny_mce/plugins/table/langs/pt.js b/webcit/tiny_mce/plugins/table/langs/pt.js
new file mode 100644 (file)
index 0000000..9a267a7
--- /dev/null
@@ -0,0 +1,43 @@
+// PT lang variables
+
+tinyMCE.addToLang('',{
+table_desc : 'Insere uma nova tabela',
+table_insert_row_before_desc : 'Inserir linha antes',
+table_insert_row_after_desc : 'Inserir linha depois',
+table_delete_row_desc : 'Eliminar linha',
+table_insert_col_before_desc : 'Inserir coluna antes',
+table_insert_col_after_desc : 'Inserir coluna depois',
+table_delete_col_desc : 'Remover coluna',
+insert_table_title : 'Inserir/Modificar tabela',
+insert_table_width : 'Largura',
+insert_table_height : 'Altura',
+insert_table_cols : 'Colunas',
+insert_table_rows : 'Linhas',
+insert_table_cellspacing : 'Espaça<br/>mento',
+insert_table_cellpadding : 'Margem interior',
+insert_table_border : 'Borda',
+insert_table_align : 'Alinhamento',
+insert_table_align_default : 'Por omissão',
+insert_table_align_left : 'Esquerda',
+insert_table_align_right : 'Direita',
+insert_table_align_middle : 'Centrado',
+insert_table_class : 'Classe de CSS',
+table_row_title : 'Table row properties',
+table_cell_title : 'Table cell properties',
+table_row_desc : 'Table row properties',
+table_cell_desc : 'Table cell properties',
+insert_table_valign : 'Vertical alignment',
+insert_table_align_top : 'Top',
+insert_table_align_bottom : 'Bottom',
+table_props_desc : 'Table properties',
+table_bordercolor : 'Border color',
+table_bgcolor : 'Bg color',
+table_merge_cells_title : 'Merge table cells',
+table_split_cells_desc : 'Split table cells',
+table_merge_cells_desc : 'Merge table cells',
+table_cut_row_desc : 'Cut table row',
+table_copy_row_desc : 'Copy table row',
+table_paste_row_before_desc : 'Paste table row before',
+table_paste_row_after_desc : 'Paste table row after',
+table_insert_desc : 'Insert a new table'
+});
diff --git a/webcit/tiny_mce/plugins/table/langs/readme.txt b/webcit/tiny_mce/plugins/table/langs/readme.txt
new file mode 100644 (file)
index 0000000..e32bcf0
--- /dev/null
@@ -0,0 +1,4 @@
+Theme specific language packs.
+
+The language pack codes are based on ISO-639-2
+http://www.loc.gov/standards/iso639-2/englangn.html
diff --git a/webcit/tiny_mce/plugins/table/langs/sv.js b/webcit/tiny_mce/plugins/table/langs/sv.js
new file mode 100644 (file)
index 0000000..2ee1967
--- /dev/null
@@ -0,0 +1,70 @@
+// UK lang variables
+
+tinyMCE.addToLang('table',{
+general_tab : 'Generella inst&auml;llningar',
+advanced_tab : 'Avancerade inst&auml;llningar',
+general_props : 'Generella inst&auml;llningar',
+advanced_props : 'Avancerade inst&auml;llningar',
+desc : 'Skapa ny tabell',
+before_desc : 'Skapa rad f&ouml;re',
+after_desc : 'Skapa rad efter',
+row_before_desc : 'Skapa rad f&ouml;re',
+row_after_desc : 'Skapa rad efter',
+delete_row_desc : 'Ta bort rad',
+col_before_desc : 'Skapa kolumn f&ouml;re',
+col_after_desc : 'Skapa kolumn efter',
+delete_col_desc : 'Ta bort kolumn',
+rowtype : 'Rad typ',
+title : 'Skapa/redigera ny tabell',
+width : 'Bredd',
+height : 'H&ouml;jd',
+cols : 'Columner',
+rows : 'Rader',
+cellspacing : 'Cellmellanrum',
+cellpadding : 'Cellutfyllnad',
+border : 'Ram',
+align : 'Justering',
+align_default : 'Ingen',
+align_left : 'V&auml;nster',
+align_right : 'H&ouml;ger',
+align_middle : 'Mitten',
+row_title : 'Tabell radsinst&auml;llningar',
+cell_title : 'Tabell cellsinst&auml;llningar',
+cell_type : 'Cell typ',
+row_desc : 'Tabell rads inst&auml;llningar',
+cell_desc : 'Tabell cells inst&auml;llningar',
+valign : 'Vertical justering',
+align_top : 'Toppen',
+align_bottom : 'Botten',
+props_desc : 'Tabell inst&auml;llningar',
+bordercolor : 'Ram f&auml;rg',
+bgcolor : 'Bakgrundsf&auml;rg',
+merge_cells_title : 'Sammanfoga tabell celler',
+split_cells_desc : 'Delaupp tabell celler',
+merge_cells_desc : 'Sammanfoga tabell celler',
+cut_row_desc : 'Klipput tabell rad',
+copy_row_desc : 'Kopiera tabell rad',
+paste_row_before_desc : 'Klistra in tabell rad f&ouml;re',
+paste_row_after_desc : 'Klistra in tabell rad efter',
+id : 'Id',
+style: 'Stil',
+langdir : 'Skrift riktning',
+langcode : 'Spr&aring;k k&aring;d',
+ltr : 'V&auml;nster till h&ouml;ger',
+rtl : 'H&ouml;ger till v&auml;nster',
+bgimage : 'Bakgrundsbild',
+summary : 'Sammanfattning',
+td : "Data",
+th : "Huvud",
+cell_cell : 'Updatera nuvarande cell',
+cell_row : 'Updatera alla celler i raden',
+cell_all : 'Updatera alla celler t tabellen',
+row_row : 'Updatera nuvarande rad',
+row_odd : 'Updatera udda rader i tabellen',
+row_even : 'Updatera j&auml;mna rader i tabellen',
+row_all : 'Updatera alla rader i tabellen',
+thead : 'Tabell Huvud',
+tbody : 'Tabell Kropp',
+tfoot : 'Tabell Fot',
+del : 'Tabort tabell'
+});
diff --git a/webcit/tiny_mce/plugins/table/langs/tw.js b/webcit/tiny_mce/plugins/table/langs/tw.js
new file mode 100644 (file)
index 0000000..450d538
--- /dev/null
@@ -0,0 +1,43 @@
+// TW lang variables contributed by Jim Kou
+
+tinyMCE.addToLang('',{
+insert_table_align : '¹ï»ô',
+insert_table_align_default : '¼Ð·Ç',
+insert_table_align_left : '»ô¥ª',
+insert_table_align_middle : '¸m¤¤',
+insert_table_align_right : '»ô¥k',
+insert_table_border : '®Ø½u',
+insert_table_cellpadding : '¦r&Aring;é»PÀx¦s®æ¶¡»Ø',
+insert_table_cellspacing : 'Àx¦s®æ¶¡»Ø',
+insert_table_class : '¼Ë¦¡',
+insert_table_cols : '¦æ',
+insert_table_height : '°ª«×',
+insert_table_rows : '¦C',
+insert_table_title : 'ªí®æ¼ÐÃD',
+insert_table_width : '¼e«×',
+table_delete_col_desc : '§R°£¤@¦æÀx¦s®æ',
+table_delete_row_desc : '§R°£¤@¦CÀx¦s®æ',
+table_desc : 'ªí®æ',
+table_insert_col_after_desc : '·s¼W¤@¦æÀx¦s®æ(«á)',
+table_insert_col_before_desc : '·s¼W¤@¦æÀx¦s®æ(«e)',
+table_insert_row_after_desc : '·s¼W¤@¦CÀx¦s®æ(«á)',
+table_insert_row_before_desc : '·s¼W¤@¦CÀx¦s®æ(«e)',
+table_row_title : 'Table row properties',
+table_cell_title : 'Table cell properties',
+table_row_desc : 'Table row properties',
+table_cell_desc : 'Table cell properties',
+insert_table_valign : 'Vertical alignment',
+insert_table_align_top : 'Top',
+insert_table_align_bottom : 'Bottom',
+table_props_desc : 'Table properties',
+table_bordercolor : 'Border color',
+table_bgcolor : 'Bg color',
+table_merge_cells_title : 'Merge table cells',
+table_split_cells_desc : 'Split table cells',
+table_merge_cells_desc : 'Merge table cells',
+table_cut_row_desc : 'Cut table row',
+table_copy_row_desc : 'Copy table row',
+table_paste_row_before_desc : 'Paste table row before',
+table_paste_row_after_desc : 'Paste table row after',
+table_insert_desc : 'Insert a new table'
+});
diff --git a/webcit/tiny_mce/plugins/table/langs/zh_cn.js b/webcit/tiny_mce/plugins/table/langs/zh_cn.js
new file mode 100644 (file)
index 0000000..085feae
--- /dev/null
@@ -0,0 +1,44 @@
+// Simplified Chinese lang variables contributed by cube316 (cube316@gmail.com)
+//Çë·ÃÎÊ http://www.cube316.net/ ÒÔ»ñÈ¡TinyMCEµ&Auml;&Ouml;ÐÎ&Auml;&Ouml;§³&Ouml;
+
+tinyMCE.addToLang('',{
+table_desc : '²&aring;Èëбí¸ñ',
+table_insert_row_before_desc : 'ÔÚÇ°Ãæ²&aring;ÈëÐÐ',
+table_insert_row_after_desc : 'ÔÚºóÃæ²&aring;ÈëÐÐ',
+table_delete_row_desc : 'ɾ³ýÐÐ',
+table_insert_col_before_desc : 'ÔÚÇ°Ãæ²&aring;ÈëÁÐ',
+table_insert_col_after_desc : 'ÔÚºóÃæ²&aring;ÈëÁÐ',
+table_delete_col_desc : 'ɾ³ýÁÐ',
+insert_table_title : '²&aring;Èë/ÐÞ¸&Auml; ±í¸ñ',
+insert_table_width : '¿í¶È',
+insert_table_height : '¸ß¶È',
+insert_table_cols : 'ÁÐÊý',
+insert_table_rows : 'ÐÐÊý',
+insert_table_cellspacing : '¼&auml;¾à',
+insert_table_cellpadding : 'Ìî³&auml;',
+insert_table_border : '±ß¿ò',
+insert_table_align : '¶ÔÆ뷽ʽ',
+insert_table_align_default : '&Auml;¬ÈÏ',
+insert_table_align_left : '×ó¶ÔÆë',
+insert_table_align_right : 'ÓÒ¶ÔÆë',
+insert_table_align_middle : '¾Ó&Ouml;жÔÆë',
+insert_table_class_name : 'Àà',
+table_row_title : '±í¸ñÐÐÊôÐÔ',
+table_cell_title : 'µ¥Ôª¸ñÊôÐÔ',
+table_row_desc : '±í¸ñÐÐÊôÐÔ',
+table_cell_desc : 'µ¥Ôª¸ñÊôÐÔ',
+insert_table_valign : '´¹&Ouml;±¶ÔÆë',
+insert_table_align_top : '¶¥¶Ë',
+insert_table_align_bottom : 'µ×²¿',
+table_props_desc : '±í¸ñÊôÐÔ',
+table_bordercolor : '±ß¿òÑÕÉ«',
+table_bgcolor : '±³¾°ÑÕÉ«',
+table_merge_cells_title : 'ºÏ²¢µ¥Ôª¸ñ',
+table_split_cells_desc : '²ð·&Ouml;µ¥Ôª¸ñ',
+table_merge_cells_desc : 'ºÏ²¢µ¥Ôª¸ñ',
+table_cut_row_desc : '¼ôÇÐÐÐ',
+table_copy_row_desc : '¸´&Ouml;ÆÐÐ',
+table_paste_row_before_desc : 'ÔÚÇ°Ãæ²&aring;ÈëÐÐ',
+table_paste_row_after_desc : 'ÔÚºóÃæ²&aring;ÈëÐÐ',
+table_insert_desc : 'Insert a new table'
+});
diff --git a/webcit/tiny_mce/plugins/table/merge_cells.htm b/webcit/tiny_mce/plugins/table/merge_cells.htm
new file mode 100644 (file)
index 0000000..0d1859c
--- /dev/null
@@ -0,0 +1,36 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+       <title>{$lang_table_merge_cells_title}</title>
+       <script language="javascript" type="text/javascript" src="../../tiny_mce_popup.js"></script>
+       <script language="javascript" type="text/javascript" src="../../utils/mctabs.js"></script>
+       <script language="javascript" type="text/javascript" src="jscripts/merge_cells.js"></script>
+</head>
+<body onload="init();" style="margin: 8px" style="display: none">
+<form onsubmit="insertTable();return false;" action="#">
+       <fieldset>
+               <legend>{$lang_table_merge_cells_title}</legend>
+                 <table border="0" cellpadding="0" cellspacing="3" width="100%">
+                         <tr>
+                               <td>{$lang_table_cols}:</td>
+                               <td align="right"><input type="text" name="numcols" value="" style="width: 30px" /></td>
+                               <td>
+                         </tr>
+                         <tr>
+                               <td>{$lang_table_rows}:</td>
+                               <td align="right"><input type="text" name="numrows" value="" style="width: 30px" /></td>
+                         </tr>
+                 </table>
+       </fieldset>
+
+       <div class="mceActionPanel">
+               <div style="float: left">
+                       <input type="button" id="insert" name="insert" value="{$lang_update}" onclick="mergeCells();" />
+               </div>
+
+               <div style="float: right">
+                       <input type="button" id="cancel" name="cancel" value="{$lang_cancel}" onclick="tinyMCEPopup.close();" />
+               </div>
+       </div>
+</form>
+</body>
+</html>
diff --git a/webcit/tiny_mce/plugins/table/readme.txt b/webcit/tiny_mce/plugins/table/readme.txt
new file mode 100644 (file)
index 0000000..6bc6d7d
--- /dev/null
@@ -0,0 +1 @@
+Check the TinyMCE documentation for details on this plugin.
diff --git a/webcit/tiny_mce/plugins/table/row.htm b/webcit/tiny_mce/plugins/table/row.htm
new file mode 100644 (file)
index 0000000..1525de9
--- /dev/null
@@ -0,0 +1,166 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+       <title>{$lang_table_row_title}</title>
+       <script language="javascript" type="text/javascript" src="../../tiny_mce_popup.js"></script>
+       <script language="javascript" type="text/javascript" src="../../utils/mctabs.js"></script>
+       <script language="javascript" type="text/javascript" src="../../utils/form_utils.js"></script>
+       <script language="javascript" type="text/javascript" src="jscripts/row.js"></script>
+       <link href="css/row.css" rel="stylesheet" type="text/css" />
+</head>
+<body id="tablerow" onload="init();" style="display: none">
+       <form onsubmit="updateAction();return false;">
+               <div class="tabs">
+                       <ul>
+                               <li id="general_tab" class="current"><span><a href="javascript:mcTabs.displayTab('general_tab','general_panel');" onmousedown="return false;">{$lang_table_general_tab}</a></span></li>
+                               <li id="advanced_tab"><span><a href="javascript:mcTabs.displayTab('advanced_tab','advanced_panel');" onmousedown="return false;">{$lang_table_advanced_tab}</a></span></li>
+                       </ul>
+               </div>
+
+               <div class="panel_wrapper">
+                       <div id="general_panel" class="panel current">
+                               <fieldset>
+                                       <legend>{$lang_table_general_props}</legend>
+
+                                       <table border="0" cellpadding="4" cellspacing="0">
+                                               <tr>
+                                                       <td><label for="rowtype">{$lang_table_rowtype}</label></td>
+                                                       <td>
+                                                               <select id="rowtype" name="rowtype">
+                                                                       <option value="thead">{$lang_table_thead}</option>
+                                                                       <option value="tbody">{$lang_table_tbody}</option>
+                                                                       <option value="tfoot">{$lang_table_tfoot}</option>
+                                                               </select>
+                                                       </td>
+                                               </tr>
+
+                                               <tr>
+                                                       <td><label for="align">{$lang_table_align}</label></td>
+                                                       <td>
+                                                               <select id="align" name="align">
+                                                                       <option value="">{$lang_not_set}</option>
+                                                                       <option value="center">{$lang_table_align_middle}</option>
+                                                                       <option value="left">{$lang_table_align_left}</option>
+                                                                       <option value="right">{$lang_table_align_right}</option>
+                                                               </select>
+                                                       </td>
+
+                                                       <td><label for="class">{$lang_class_name}</label></td>
+                                                       <td>
+                                                               <select id="class" name="class">
+                                                                       <option value="" selected="selected">{$lang_not_set}</option>
+                                                               </select>
+                                                       </td>
+                                               </tr>
+
+                                               <tr>
+                                                       <td><label for="valign">{$lang_table_valign}</label></td>
+                                                       <td>
+                                                               <select id="valign" name="valign">
+                                                                       <option value="">{$lang_not_set}</option>
+                                                                       <option value="top">{$lang_table_align_top}</option>
+                                                                       <option value="middle">{$lang_table_align_middle}</option>
+                                                                       <option value="bottom">{$lang_table_align_bottom}</option>
+                                                               </select>
+                                                       </td>
+
+                                                       <td><label for="height">{$lang_table_height}</label></td>
+                                                       <td><input name="height" type="text" id="height" value="" size="4" maxlength="4" /></td>
+                                               </tr>
+                                       </table>
+                               </fieldset>
+                       </div>
+
+                       <div id="advanced_panel" class="panel">
+                               <fieldset>
+                                       <legend>{$lang_table_advanced_props}</legend>
+
+                                       <table border="0" cellpadding="0" cellspacing="4">
+                                               <tr>
+                                                       <td class="column1"><label for="id">{$lang_table_id}</label></td> 
+                                                       <td><input id="id" name="id" type="text" value="" style="width: 200px" /></td> 
+                                               </tr>
+
+                                               <tr>
+                                                       <td><label for="style">{$lang_table_style}</label></td>
+                                                       <td><input type="text" id="style" name="style" value="" style="width: 200px;" onchange="changedStyle();" /></td>
+                                               </tr>
+
+                                               <tr>
+                                                       <td class="column1"><label for="dir">{$lang_table_langdir}</label></td> 
+                                                       <td>
+                                                               <select id="dir" name="dir" style="width: 200px"> 
+                                                                               <option value="">{$lang_not_set}</option> 
+                                                                               <option value="ltr">{$lang_table_ltr}</option> 
+                                                                               <option value="rtl">{$lang_table_rtl}</option> 
+                                                               </select>
+                                                       </td> 
+                                               </tr>
+
+                                               <tr>
+                                                       <td class="column1"><label for="lang">{$lang_table_langcode}</label></td> 
+                                                       <td>
+                                                               <input id="lang" name="lang" type="text" value="" style="width: 200px" />
+                                                       </td> 
+                                               </tr>
+
+                                               <tr>
+                                                       <td class="column1"><label for="backgroundimage">{$lang_table_bgimage}</label></td> 
+                                                       <td>
+                                                               <table border="0" cellpadding="0" cellspacing="0">
+                                                                       <tr>
+                                                                               <td><input id="backgroundimage" name="backgroundimage" type="text" value="" style="width: 200px" onchange="changedBackgroundImage();" /></td>
+                                                                               <td><script language="javascript" type="text/javascript">renderBrowser('backgroundimagebrowser','backgroundimage','image','table');</script></td>
+                                                                       </tr>
+                                                               </table>
+                                                       </td> 
+                                               </tr>
+
+                                               <tr>
+                                                       <td class="column1"><label for="bordercolor">{$lang_table_bordercolor}</label></td> 
+                                                       <td>
+                                                               <table border="0" cellpadding="0" cellspacing="0">
+                                                                       <tr>
+                                                                               <td><input id="bordercolor" name="bordercolor" type="text" value="" size="9" onchange="updateColor('bordercolor_pick','bordercolor');" /></td>
+                                                                               <td><script language="javascript" type="text/javascript">renderColorPicker('bordercolor_pick','bordercolor');</script></td>
+                                                                       </tr>
+                                                               </table>
+                                                       </td> 
+                                               </tr>
+
+                                               <tr>
+                                                       <td class="column1"><label for="bgcolor">{$lang_table_bgcolor}</label></td> 
+                                                       <td>
+                                                               <table border="0" cellpadding="0" cellspacing="0">
+                                                                       <tr>
+                                                                               <td><input id="bgcolor" name="bgcolor" type="text" value="" size="9" onchange="updateColor('bgcolor_pick','bgcolor');" /></td>
+                                                                               <td><script language="javascript" type="text/javascript">renderColorPicker('bgcolor_pick','bgcolor');</script></td>
+                                                                       </tr>
+                                                               </table>
+                                                       </td> 
+                                               </tr>
+                                       </table>
+                               </fieldset>
+                       </div>
+               </div>
+
+               <div class="mceActionPanel">
+                       <div>
+                               <select id="action" name="action">
+                                       <option value="row">{$lang_table_row_row}</option>
+                                       <option value="odd">{$lang_table_row_odd}</option>
+                                       <option value="even">{$lang_table_row_even}</option>
+                                       <option value="all">{$lang_table_row_all}</option>
+                               </select>
+                       </div>
+
+                       <div style="float: left">
+                               <div><input type="button" id="insert" name="insert" value="{$lang_update}" onclick="updateAction();" /></div>
+                       </div>
+
+                       <div style="float: right">
+                               <input type="button" id="cancel" name="cancel" value="{$lang_cancel}" onclick="tinyMCEPopup.close();" />
+                       </div>
+               </div>
+       </form>
+</body>
+</html>
diff --git a/webcit/tiny_mce/plugins/table/table.htm b/webcit/tiny_mce/plugins/table/table.htm
new file mode 100644 (file)
index 0000000..8e86a66
--- /dev/null
@@ -0,0 +1,154 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+       <title>{$lang_table_title}</title>
+       <script language="javascript" type="text/javascript" src="../../tiny_mce_popup.js"></script>
+       <script language="javascript" type="text/javascript" src="../../utils/mctabs.js"></script>
+       <script language="javascript" type="text/javascript" src="../../utils/form_utils.js"></script>
+       <script language="javascript" type="text/javascript" src="jscripts/table.js"></script>
+       <link href="css/table.css" rel="stylesheet" type="text/css" />
+</head>
+<body id="table" onload="init();" style="display: none">
+       <form onsubmit="insertTable();return false;" action="#">
+               <div class="tabs">
+                       <ul>
+                               <li id="general_tab" class="current"><span><a href="javascript:mcTabs.displayTab('general_tab','general_panel');" onmousedown="return false;">{$lang_table_general_tab}</a></span></li>
+                               <li id="advanced_tab"><span><a href="javascript:mcTabs.displayTab('advanced_tab','advanced_panel');" onmousedown="return false;">{$lang_table_advanced_tab}</a></span></li>
+                       </ul>
+               </div>
+
+               <div class="panel_wrapper">
+                       <div id="general_panel" class="panel current">
+                               <fieldset>
+                                       <legend>{$lang_table_general_props}</legend>
+
+                                         <table border="0" cellpadding="4" cellspacing="0" width="100%">
+                                                         <tr>
+                                                               <td><label id="colslabel" for="cols">{$lang_table_cols}</label></td>
+                                                               <td><input id="cols" name="cols" type="text" value="" size="3" maxlength="3" /></td>
+                                                               <td><label id="rowslabel" for="rows">{$lang_table_rows}</label></td>
+                                                               <td><input id="rows" name="rows" type="text" value="" size="3" maxlength="3" /></td>
+                                                         </tr>
+                                                         <tr>
+                                                               <td><label id="cellpaddinglabel" for="cellpadding">{$lang_table_cellpadding}</label></td>
+                                                               <td><input id="cellpadding" name="cellpadding" type="text" value="" size="3" maxlength="3" /></td>
+                                                               <td><label id="cellspacinglabel" for="cellspacing">{$lang_table_cellspacing}</label></td>
+                                                               <td><input id="cellspacing" name="cellspacing" type="text" value="" size="3" maxlength="3" /></td>
+                                                         </tr>
+                                                         <tr>
+                                                               <td><label id="alignlabel" for="align">{$lang_table_align}</label></td>
+                                                               <td><select id="align" name="align">
+                                                                       <option value="">{$lang_not_set}</option>
+                                                                       <option value="center">{$lang_table_align_middle}</option>
+                                                                       <option value="left">{$lang_table_align_left}</option>
+                                                                       <option value="right">{$lang_table_align_right}</option>
+                                                                 </select></td>
+                                                               <td><label id="borderlabel" for="border">{$lang_table_border}</label></td>
+                                                               <td><input id="border" name="border" type="text" value="" size="3" maxlength="3" /></td>
+                                                         </tr>
+                                                         <tr>
+                                                               <td><label id="widthlabel" for="width">{$lang_table_width}</label></td>
+                                                               <td><input name="width" type="text" id="width" value="" size="4" maxlength="4" /></td>
+                                                               <td><label id="heightlabel" for="height">{$lang_table_height}</label></td>
+                                                               <td><input name="height" type="text" id="height" value="" size="4" maxlength="4" /></td>
+                                                         </tr>
+                                                         <tr>
+                                                               <td><label id="classlabel" for="class">{$lang_class_name}</label></td>
+                                                               <td colspan="3">
+                                                                <select id="class" name="class">
+                                                                       <option value="" selected>{$lang_not_set}</option>
+                                                                </select></td>
+                                                         </tr>
+                                                       </table>
+                               </fieldset>
+                       </div>
+
+                       <div id="advanced_panel" class="panel">
+                               <fieldset>
+                                       <legend>{$lang_table_advanced_props}</legend>
+
+                                       <table border="0" cellpadding="0" cellspacing="4">
+                                               <tr>
+                                                       <td class="column1"><label for="id">{$lang_table_id}</label></td> 
+                                                       <td><input id="id" name="id" type="text" value="" class="advfield" /></td> 
+                                               </tr>
+
+                                               <tr>
+                                                       <td class="column1"><label for="summary">{$lang_table_summary}</label></td> 
+                                                       <td><input id="summary" name="summary" type="text" value="" class="advfield" /></td> 
+                                               </tr>
+
+                                               <tr>
+                                                       <td><label for="style">{$lang_table_style}</label></td>
+                                                       <td><input type="text" id="style" name="style" value="" class="advfield" onchange="changedStyle();" /></td>
+                                               </tr>
+
+                                               <tr>
+                                                       <td class="column1"><label for="dir">{$lang_table_langdir}</label></td> 
+                                                       <td>
+                                                               <select id="dir" name="dir" class="advfield"> 
+                                                                               <option value="">{$lang_not_set}</option> 
+                                                                               <option value="ltr">{$lang_table_ltr}</option> 
+                                                                               <option value="rtl">{$lang_table_rtl}</option> 
+                                                               </select>
+                                                       </td> 
+                                               </tr>
+
+                                               <tr>
+                                                       <td class="column1"><label id="langlabel" for="lang">{$lang_table_langcode}</label></td> 
+                                                       <td>
+                                                               <input id="lang" name="lang" type="text" value="" class="advfield" />
+                                                       </td> 
+                                               </tr>
+
+                                               <tr>
+                                                       <td class="column1"><label for="backgroundimage">{$lang_table_bgimage}</label></td> 
+                                                       <td>
+                                                               <table border="0" cellpadding="0" cellspacing="0">
+                                                                       <tr>
+                                                                               <td><input id="backgroundimage" name="backgroundimage" type="text" value="" class="advfield" onchange="changedBackgroundImage();" /></td>
+                                                                               <td><script language="javascript" type="text/javascript">renderBrowser('backgroundimagebrowser','backgroundimage','image','table');</script></td>
+                                                                       </tr>
+                                                               </table>
+                                                       </td> 
+                                               </tr>
+
+                                               <tr>
+                                                       <td class="column1"><label for="bordercolor">{$lang_table_bordercolor}</label></td> 
+                                                       <td>
+                                                               <table border="0" cellpadding="0" cellspacing="0">
+                                                                       <tr>
+                                                                               <td><input id="bordercolor" name="bordercolor" type="text" value="" size="9" onchange="updateColor('bordercolor_pick','bordercolor');" /></td>
+                                                                               <td><script language="javascript" type="text/javascript">renderColorPicker('bordercolor_pick','bordercolor');</script></td>
+                                                                       </tr>
+                                                               </table>
+                                                       </td> 
+                                               </tr>
+
+                                               <tr>
+                                                       <td class="column1"><label for="bgcolor">{$lang_table_bgcolor}</label></td> 
+                                                       <td>
+                                                               <table border="0" cellpadding="0" cellspacing="0">
+                                                                       <tr>
+                                                                               <td><input id="bgcolor" name="bgcolor" type="text" value="" size="9" onchange="updateColor('bgcolor_pick','bgcolor');" /></td>
+                                                                               <td><script language="javascript" type="text/javascript">renderColorPicker('bgcolor_pick','bgcolor');</script></td>
+                                                                       </tr>
+                                                               </table>
+                                                       </td> 
+                                               </tr>
+                                       </table>
+                               </fieldset>
+                       </div>
+               </div>
+
+               <div class="mceActionPanel">
+                       <div style="float: left">
+                               <input type="button" id="insert" name="insert" value="{$lang_insert}" onclick="insertTable();" />
+                       </div>
+
+                       <div style="float: right">
+                               <input type="button" id="cancel" name="cancel" value="{$lang_cancel}" onclick="tinyMCEPopup.close();" />
+                       </div>
+               </div>
+       </form>
+</body>
+</html>
diff --git a/webcit/tiny_mce/plugins/zoom/editor_plugin.js b/webcit/tiny_mce/plugins/zoom/editor_plugin.js
new file mode 100644 (file)
index 0000000..3d89017
--- /dev/null
@@ -0,0 +1,7 @@
+/* Import plugin specific language pack */
+ function TinyMCE_zoom_getInfo(){return{longname:'Zoom',author:'Moxiecode Systems',authorurl:'http://tinymce.moxiecode.com',infourl:'http://tinymce.moxiecode.com/tinymce/docs/plugin_zoom.html',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion};};function TinyMCE_zoom_getControlHTML(control_name){if(!tinyMCE.isMSIE||tinyMCE.isMSIE5_0)return "";switch(control_name){case "zoom":return '<select id="{$editor_id}_formatSelect" name="{$editor_id}_zoomSelect" onfocus="tinyMCE.addSelectAccessibility(event, this, window);" onchange="tinyMCE.execInstanceCommand(\'{$editor_id}\',\'mceZoom\',false,this.options[this.selectedIndex].value);" class="mceSelectList">\
+                                       <option value="100%">+ 100%</option>\
+                                       <option value="150%">+ 150%</option>\
+                                       <option value="200%">+ 200%</option>\
+                                       <option value="250%">+ 250%</option>\
+                                       </select>';}return "";}function TinyMCE_zoom_execCommand(editor_id,element,command,user_interface,value){switch(command){case "mceZoom":tinyMCE.getInstanceById(editor_id).contentDocument.body.style.zoom=value;tinyMCE.getInstanceById(editor_id).contentDocument.body.style.mozZoom=value;return true;}return false;}
\ No newline at end of file
diff --git a/webcit/tiny_mce/plugins/zoom/editor_plugin_src.js b/webcit/tiny_mce/plugins/zoom/editor_plugin_src.js
new file mode 100644 (file)
index 0000000..b98d801
--- /dev/null
@@ -0,0 +1,47 @@
+/* Import plugin specific language pack */
+
+function TinyMCE_zoom_getInfo() {
+       return {
+               longname : 'Zoom',
+               author : 'Moxiecode Systems',
+               authorurl : 'http://tinymce.moxiecode.com',
+               infourl : 'http://tinymce.moxiecode.com/tinymce/docs/plugin_zoom.html',
+               version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion
+       };
+};
+
+/**
+ * Returns the HTML contents of the zoom control.
+ */
+function TinyMCE_zoom_getControlHTML(control_name) {
+       if (!tinyMCE.isMSIE || tinyMCE.isMSIE5_0)
+               return "";
+
+       switch (control_name) {
+               case "zoom":
+                       return '<select id="{$editor_id}_formatSelect" name="{$editor_id}_zoomSelect" onfocus="tinyMCE.addSelectAccessibility(event, this, window);" onchange="tinyMCE.execInstanceCommand(\'{$editor_id}\',\'mceZoom\',false,this.options[this.selectedIndex].value);" class="mceSelectList">\
+                                       <option value="100%">+ 100%</option>\
+                                       <option value="150%">+ 150%</option>\
+                                       <option value="200%">+ 200%</option>\
+                                       <option value="250%">+ 250%</option>\
+                                       </select>';
+       }
+
+       return "";
+}
+
+/**
+ * Executes the mceZoom command.
+ */
+function TinyMCE_zoom_execCommand(editor_id, element, command, user_interface, value) {
+       // Handle commands
+       switch (command) {
+               case "mceZoom":
+                       tinyMCE.getInstanceById(editor_id).contentDocument.body.style.zoom = value;
+                       tinyMCE.getInstanceById(editor_id).contentDocument.body.style.mozZoom = value;
+                       return true;
+       }
+
+       // Pass to next handler in chain
+       return false;
+}
diff --git a/webcit/tiny_mce/plugins/zoom/langs/he.js b/webcit/tiny_mce/plugins/zoom/langs/he.js
new file mode 100644 (file)
index 0000000..aee3003
--- /dev/null
@@ -0,0 +1,5 @@
+// HE lang variables by Liron Newman, http://eesh.net
+
+tinyMCE.addToLang('',{
+zoom_prefix : 'æ&aring;í'
+});
diff --git a/webcit/tiny_mce/plugins/zoom/readme.txt b/webcit/tiny_mce/plugins/zoom/readme.txt
new file mode 100644 (file)
index 0000000..6bc6d7d
--- /dev/null
@@ -0,0 +1 @@
+Check the TinyMCE documentation for details on this plugin.
diff --git a/webcit/tiny_mce/themes/advanced/about.htm b/webcit/tiny_mce/themes/advanced/about.htm
new file mode 100644 (file)
index 0000000..1cc77d6
--- /dev/null
@@ -0,0 +1,52 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+       <title>{$lang_about_title}</title>
+       <script language="javascript" type="text/javascript" src="../../tiny_mce_popup.js"></script>
+       <script language="javascript" type="text/javascript" src="../../utils/mctabs.js"></script>
+       <script language="javascript" type="text/javascript" src="jscripts/about.js"></script>
+       <link href="css/dialog_about.css" rel="stylesheet" type="text/css" />
+</head>
+<body id="about" onload="init();" style="display: none">
+               <div class="tabs">
+                       <ul>
+                               <li id="general_tab" class="current"><span><a href="javascript:mcTabs.displayTab('general_tab','general_panel');" onmousedown="return false;">{$lang_about}</a></span></li>
+                               <li id="help_tab"><span><a href="javascript:mcTabs.displayTab('help_tab','help_panel');" onmousedown="return false;">{$lang_help}</a></span></li>
+                               <li id="plugins_tab"><span><a href="javascript:mcTabs.displayTab('plugins_tab','plugins_panel');" onmousedown="return false;">{$lang_plugins}</a></span></li>
+                       </ul>
+               </div>
+
+               <div class="panel_wrapper">
+                       <div id="general_panel" class="panel current">
+                               <h3>{$lang_about_title}</h3>
+                               <p>Version: {$tinymce_version} ({$tinymce_releasedate})</p>
+                               <p>TinyMCE is a platform independent web based Javascript HTML WYSIWYG editor control released as Open Source under <a href="../../license.txt" target="_blank">LGPL</a>
+                               by Moxiecode Systems AB. It has the ability to convert HTML TEXTAREA fields or other HTML elements to editor instances.</p>
+                               <p>Copyright &copy; 2005, <a href="http://www.moxiecode.com" target="_blank">Moxiecode Systems AB</a>, All rights reserved.</p>
+                               <p>For more information about this software visit the <a href="http://tinymce.moxiecode.com" target="_blank">TinyMCE website</a>.</p>
+
+                               <div id="buttoncontainer"></div>
+                       </div>
+
+                       <div id="plugins_panel" class="panel">
+                               <div id="pluginscontainer">
+                                       <h3>{$lang_loaded_plugins}</h3>
+
+                                       <div id="plugintablecontainer">
+                                       </div>
+
+                                       <p>&nbsp;</p>
+                               </div>
+                       </div>
+
+                       <div id="help_panel" class="panel noscroll" style="overflow: visible;">
+                               <div id="iframecontainer"></div>
+                       </div>
+               </div>
+
+               <div class="mceActionPanel">
+                       <div style="float: right">
+                               <input type="button" id="cancel" name="cancel" value="{$lang_close}" onclick="tinyMCEPopup.close();" />
+                       </div>
+               </div>
+</body>
+</html>
diff --git a/webcit/tiny_mce/themes/advanced/anchor.htm b/webcit/tiny_mce/themes/advanced/anchor.htm
new file mode 100644 (file)
index 0000000..f60eb43
--- /dev/null
@@ -0,0 +1,32 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+       <title>{$lang_insert_anchor_title}</title>
+       <script language="javascript" type="text/javascript" src="../../tiny_mce_popup.js"></script>
+       <script language="javascript" type="text/javascript" src="jscripts/anchor.js"></script>
+</head>
+<body onload="init();" style="display: none">
+<form onsubmit="insertAnchor();return false;" action="#">
+
+       <table border="0" cellpadding="4" cellspacing="0">
+               <tr>
+                       <td colspan="2" class="title">{$lang_insert_anchor_title}</td>
+               </tr>
+               <tr>
+                       <td nowrap="nowrap">{$lang_insert_anchor_name}:</td>
+                       <td><input name="anchorName" type="text" id="anchorName" value="" style="width: 200px" /></td>
+               </tr>
+       </table>
+
+       <div class="mceActionPanel">
+               <div style="float: left">
+                       <input type="button" id="insert" name="insert" value="{$lang_update}" onclick="insertAnchor();" />
+               </div>
+
+               <div style="float: right">
+                       <input type="button" id="cancel" name="cancel" value="{$lang_cancel}" onclick="tinyMCEPopup.close();" />
+               </div>
+       </div>
+
+</form>
+</body>
+</html>
diff --git a/webcit/tiny_mce/themes/advanced/charmap.htm b/webcit/tiny_mce/themes/advanced/charmap.htm
new file mode 100644 (file)
index 0000000..8a170fc
--- /dev/null
@@ -0,0 +1,52 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+       <title>{$lang_theme_charmap_title}</title>
+       <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
+       <script language="javascript" type="text/javascript" src="../../tiny_mce_popup.js"></script>
+       <script language="javascript" type="text/javascript" src="jscripts/charmap.js"></script>
+</head>
+<body onload="init();" style="display: none">
+<table align="center" border="0" cellspacing="0" cellpadding="2">
+    <tr>
+        <td colspan="2" class="title">{$lang_theme_charmap_title}</td>
+    </tr>
+    <tr>
+        <td rowspan="2" align="left" valign="top">
+            <script language="javascript" type="text/javascript">renderCharMapHTML();</script>
+        </td>
+        <td width="100" align="center" valign="top">
+            <table border="0" cellpadding="0" cellspacing="0" width="100" style="height: 100px">
+                <tr>
+                    <td class="charmapOver" style="font-size: 40px; height:80px;" id="codeV">&nbsp;</td>
+                </tr>
+                <tr>
+                    <td style="font-size: 10px; font-family: Arial, Helvetica, sans-serif; text-align:center;" id="codeN">&nbsp;</td>
+                </tr>
+            </table>
+        </td>
+    </tr>
+    <tr>
+        <td valign="bottom" style="padding-bottom: 3px;">
+            <table width="100" align="center" border="0" cellpadding="2" cellspacing="0">
+                <tr>
+                    <td align="center" style="border-left: 1px solid #666699; border-top: 1px solid #666699; border-right: 1px solid #666699;">HTML-Code</td>
+                </tr>
+                <tr>
+                    <td style="font-size: 16px; font-weight: bold; border-left: 1px solid #666699; border-bottom: 1px solid #666699; border-right: 1px solid #666699;" id="codeA" align="center">&nbsp;</td>
+                </tr>
+                <tr>
+                    <td style="font-size: 1px;">&nbsp;</td>
+                </tr>
+                <tr>
+                    <td align="center" style="border-left: 1px solid #666699; border-top: 1px solid #666699; border-right: 1px solid #666699;">NUM-Code</td>
+                </tr>
+                <tr>
+                    <td style="font-size: 16px; font-weight: bold; border-left: 1px solid #666699; border-bottom: 1px solid #666699; border-right: 1px solid #666699;" id="codeB" align="center">&nbsp;</td>
+                </tr>
+            </table>
+        </td>
+    </tr>
+</table>
+
+</body>
+</html>
diff --git a/webcit/tiny_mce/themes/advanced/color_picker.htm b/webcit/tiny_mce/themes/advanced/color_picker.htm
new file mode 100644 (file)
index 0000000..6c79285
--- /dev/null
@@ -0,0 +1,12 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+       <title>{$lang_theme_colorpicker_title}</title>
+       <script language="javascript" type="text/javascript" src="../../tiny_mce_popup.js"></script>
+       <script language="javascript" type="text/javascript" src="jscripts/color_picker.js"></script>
+</head>
+<body onload="init();" marginheight="3" topmargin="3" leftmargin="3" marginwidth="3" style="display: none">
+       <div align="center">
+          <script language="javascript" type="text/javascript">renderColorMap();</script>
+       </div>
+</body>
+</html>
diff --git a/webcit/tiny_mce/themes/advanced/css/editor_content.css b/webcit/tiny_mce/themes/advanced/css/editor_content.css
new file mode 100644 (file)
index 0000000..91b9588
--- /dev/null
@@ -0,0 +1,55 @@
+/* This file contains the CSS data for the editable area(iframe) of TinyMCE */
+/* You can extend this CSS by adding your own CSS file with the the content_css option */
+
+body {
+       background-color: #FFFFFF;
+       font-family: Verdana, Arial, Helvetica, sans-serif;
+       font-size: 10px;
+       scrollbar-3dlight-color: #F0F0EE;
+       scrollbar-arrow-color: #676662;
+       scrollbar-base-color: #F0F0EE;
+       scrollbar-darkshadow-color: #DDDDDD;
+       scrollbar-face-color: #E0E0DD;
+       scrollbar-highlight-color: #F0F0EE;
+       scrollbar-shadow-color: #F0F0EE;
+       scrollbar-track-color: #F5F5F5;
+}
+
+td {
+       font-family: Verdana, Arial, Helvetica, sans-serif;
+       font-size: 10px;
+}
+
+pre {
+       font-family: Verdana, Arial, Helvetica, sans-serif;
+       font-size: 10px;
+}
+
+.mceVisualAid {
+       border: 1px dashed #BBBBBB !important;
+}
+
+.mceItemAnchor {
+       width: 12px;
+       line-height: 6px;
+       overflow: hidden;
+       padding-left: 12px;
+       background-image: url('../images/anchor_symbol.gif');
+       background-position: bottom;
+       background-repeat: no-repeat;
+}
+
+/* Important is needed in Gecko browsers inorder to style links */
+/*
+a {
+       color: green !important;
+}
+*/
+
+/* Style selection range colors in Gecko browsers */
+/*
+::-moz-selection {
+       background-color: red;
+       color: green;
+}
+*/
diff --git a/webcit/tiny_mce/themes/advanced/css/editor_popup.css b/webcit/tiny_mce/themes/advanced/css/editor_popup.css
new file mode 100644 (file)
index 0000000..5c31f10
--- /dev/null
@@ -0,0 +1,319 @@
+/* This file contains the CSS data for all popups in TinyMCE */
+
+body {
+       background-color: #F0F0EE;
+       font-family: Verdana, Arial, Helvetica, sans-serif;
+       font-size: 11px;
+       scrollbar-3dlight-color: #F0F0EE;
+       scrollbar-arrow-color: #676662;
+       scrollbar-base-color: #F0F0EE;
+       scrollbar-darkshadow-color: #DDDDDD;
+       scrollbar-face-color: #E0E0DD;
+       scrollbar-highlight-color: #F0F0EE;
+       scrollbar-shadow-color: #F0F0EE;
+       scrollbar-track-color: #F5F5F5;
+       margin: 8px;
+}
+
+td {
+       font-family: Verdana, Arial, Helvetica, sans-serif;
+       font-size: 11px;
+}
+
+input {
+       background: #FFFFFF;
+       border: 1px solid #cccccc;
+}
+
+td, input, select, textarea {
+       font-family: Verdana, Arial, Helvetica, sans-serif;
+       font-size: 10px;
+}
+
+input, select, textarea {
+       border: 1px solid #808080;
+}
+
+.input_noborder {
+       border: 0px solid #808080;
+}
+
+#insert {
+   font-weight: bold;
+   width: 90px;
+   height: 21px;
+   border: 0px;
+   background-image: url('../images/insert_button_bg.gif');
+   cursor: pointer;
+}
+
+#cancel {
+   font-weight: bold;
+   width: 90px;
+   height: 21px;
+   border: 0px;
+   background-image: url('../images/cancel_button_bg.gif');
+   cursor: pointer;
+}
+
+/* Mozilla only style */
+html>body #insert, html>body #cancel {
+       padding-bottom: 2px;
+}
+
+.title {
+       font-size: 12px;
+       font-weight: bold;
+       color: #2B6FB6;
+}
+
+table.charmap {
+       border-style: solid;
+       border-width: 1px;
+       border-color: #AAAAAA;
+}
+
+td.charmap, td.charmapOver {
+       color: #000000;
+       border-color: #AAAAAA;
+       border-style: solid;
+       border-width: 1px;
+       text-align: center;
+       font-size: 12px;
+}
+
+td.charmapOver {
+       background-color: #CCCCCC;
+       cursor: arrow;
+}
+
+a.charmap {
+       color: #000000;
+       text-decoration: none
+}
+
+.wordWrapCode {
+       vertical-align: middle;
+       border: 1px none #000000;
+       background-color: transparent;
+}
+
+input.radio {
+       border: 1px none #000000;
+       background-color: transparent;
+       vertical-align: middle;
+}
+
+input.checkbox {
+       border: 1px none #000000;
+       background-color: transparent;
+       vertical-align: middle;
+}
+
+.mceButtonNormal, .mceButtonOver, .mceButtonDown, .mceSeparator, .mceButtonDisabled, .mceButtonSelected {
+       margin-left: 1px;
+}
+
+.mceButtonNormal {
+       border-top: 1px solid;
+       border-left: 1px solid;
+       border-bottom: 1px solid;
+       border-right: 1px solid;
+       border-color: #F0F0EE;
+       cursor: arrow;
+}
+
+.mceButtonOver {
+       border: 1px solid #0A246A;
+       cursor: arrow;
+       background-color: #B6BDD2;
+}
+
+.mceButtonDown {
+       cursor: arrow;
+       border: 1px solid #0A246A;
+       background-color: #8592B5;
+}
+
+.mceButtonDisabled {
+       filter:progid:DXImageTransform.Microsoft.Alpha(opacity=30);
+       -moz-opacity:0.3;
+       opacity: 0.3;
+       border-top: 1px solid;
+       border-left: 1px solid;
+       border-bottom: 1px solid;
+       border-right: 1px solid;
+       border-color: #F0F0EE;
+       cursor: arrow;
+}
+
+.mceActionPanel {
+       margin-top: 5px;
+}
+
+/* Tabs classes */
+
+.tabs {
+       float: left;
+       width: 100%;
+       line-height: normal;
+       background-image: url("../images/xp/tabs_bg.gif");
+}
+
+.tabs ul {
+       margin: 0;
+       padding: 0px 0px 0;
+       list-style: none;
+}
+
+.tabs li {
+       float: left;
+       background: url("../images/xp/tab_bg.gif") no-repeat left top;
+       margin: 0;
+       margin-left: 0px;
+       margin-right: 2px;
+       padding: 0 0 0 10px;
+       line-height: 18px;
+}
+
+.tabs li.current {
+       background: url("../images/xp/tab_sel_bg.gif") no-repeat left top;
+       margin-right: 2px;
+}
+
+.tabs span {
+       float: left;
+       display: block;
+       background: url("../images/xp/tab_end.gif") no-repeat right top;
+       padding: 0px 10px 0px 0px;
+}
+
+.tabs .current span {
+       background: url("../images/xp/tab_sel_end.gif") no-repeat right top;
+}
+
+.tabs a {
+       text-decoration: none;
+       font-family: Verdana, Arial;
+       font-size: 10px;
+}
+
+.tabs a:link, .tabs a:visited, .tabs a:hover {
+       color: black;
+}
+
+.tabs a:hover {
+}
+
+.tabs .current {
+}
+
+.tabs .current a, .tabs .current a:link, .tabs .current a:visited {
+}
+
+.panel_wrapper div.panel {
+       display: none;
+}
+
+.panel_wrapper div.current {
+       display: block;
+       width: 100%;
+       height: 300px;
+       overflow: visible; /* Should be auto but that breaks Safari */
+}
+
+.panel_wrapper {
+       border: 1px solid #919B9C;
+       border-top: 0px;
+       padding: 10px;
+       padding-top: 5px;
+       clear: both;
+       background-color: white;
+}
+
+fieldset {
+       border: 1px solid #919B9C;
+       font-family: Verdana, Arial;
+       font-size: 10px;
+       padding: 0px;
+       margin: 0px;
+       padding: 4px;
+}
+
+legend {
+       color: #2B6FB6;
+       font-weight: bold;
+}
+
+.properties {
+       width: 100%;
+}
+
+.properties .column1 {
+}
+
+.properties .column2 {
+       text-align: left;
+}
+
+a:link, a:visited {
+       color: black;
+}
+
+a:hover {
+       color: #2B6FB6;
+}
+
+#plugintable thead {
+       font-weight: bold;
+       background-color: #DDDDDD;
+}
+
+#plugintable, #about #plugintable td {
+       border: 1px solid #919B9C;
+}
+
+#plugintable {
+       width: 99%;
+       margin-top: 10px;
+}
+
+#pluginscontainer {
+       height: 290px;
+       overflow: auto;
+}
+
+/* MSIE Specific styles */
+
+* html .panel_wrapper {
+       width: 100%;
+}
+
+.column {
+       float: left;
+}
+
+h1, h2, h3, h4 {
+       color: #2B6FB6;
+       margin: 0px;
+       padding: 0px;
+       padding-top: 5px;
+}
+
+h3 {
+       font-size: 14px;
+}
+
+/* Disables the advanced tab in the table plugin. */
+/*
+#table #advanced_tab {
+       display: none;
+}
+*/
+
+/* Disables the border input field and label in the table plugin. */
+/*
+#table #border, #table #borderlabel {
+       display: none;
+}
+*/
diff --git a/webcit/tiny_mce/themes/advanced/css/editor_ui.css b/webcit/tiny_mce/themes/advanced/css/editor_ui.css
new file mode 100644 (file)
index 0000000..f350246
--- /dev/null
@@ -0,0 +1,174 @@
+/* This file contains the CSS data for the editor UI of TinyMCE instances */
+
+.mceButtonNormal, .mceButtonOver, .mceButtonDown, .mceSeparator, .mceButtonDisabled, .mceButtonSelected {
+       margin-top: 1px;
+       margin-left: 1px;
+}
+
+.mceButtonNormal {
+       border-top: 1px solid;
+       border-left: 1px solid;
+       border-bottom: 1px solid;
+       border-right: 1px solid;
+       border-color: #F0F0EE;
+       cursor: arrow;
+}
+
+.mceButtonOver {
+       border: 1px solid #0A246A;
+       cursor: arrow;
+       background-color: #B6BDD2;
+}
+
+.mceButtonDown {
+       cursor: arrow;
+       border: 1px solid #0A246A;
+       background-color: #8592B5;
+}
+
+.mceButtonSelected {
+       border: 1px solid;
+       border-color: #C0C0BB;
+       cursor: arrow;
+}
+
+.mceButtonDisabled {
+       filter:progid:DXImageTransform.Microsoft.Alpha(opacity=30);
+       -moz-opacity:0.3;
+       opacity: 0.3;
+       border-top: 1px solid;
+       border-left: 1px solid;
+       border-bottom: 1px solid;
+       border-right: 1px solid;
+       border-color: #F0F0EE;
+       cursor: arrow;
+}
+
+.mceSeparator {
+       border-top: 1px solid buttonhighlight;
+       border-left: 1px solid buttonhighlight;
+       border-bottom: 1px solid buttonshadow;
+       border-right: 1px solid buttonshadow;
+       margin-right: 2px;
+       margin-left: 2px;
+}
+
+.mceSeparatorLine {
+       margin:2px;
+       margin-left: 4px;
+       background-color: #F0F0EE;
+       border-top: 1px solid buttonshadow;
+       border-left: 1px solid buttonshadow;
+       border-bottom: 1px solid buttonhighlight;
+       border-right: 1px solid buttonhighlight;
+       width: 0px;
+       height: 15px;
+}
+
+.mceSelectList {
+       font-family: "MS Sans Serif";
+       font-size: 7pt;
+       font-weight: normal;
+       margin-top: 3px;
+       padding: 0px;
+       display: inline;
+       vertical-align: top;
+       background-color: #F0F0EE
+}
+
+.mceLabel, .mceLabelDisabled {
+       font-family: "MS Sans Serif";
+       font-size: 9pt;
+}
+
+.mceLabel {
+       color: #000000;
+}
+
+.mceLabelDisabled {
+       cursor: text;
+       color: #999999;
+}
+
+.mceEditor {
+       background: #F0F0EE;
+       border: 1px solid #cccccc;
+       padding: 0px;
+       margin: 0px;
+}
+
+.mceEditorArea {
+       font-family: "MS Sans Serif";
+       background: #FFFFFF;
+       padding: 0px;
+       margin: 0px;
+}
+
+.mceToolbarTop, .mceToolbarBottom {
+       background: #F0F0EE;
+}
+
+.mceToolbarTop {
+       border-bottom: 1px solid #cccccc;
+}
+
+.mceToolbarBottom {
+       border-top: 1px solid #cccccc;
+}
+
+.mceStatusbarTop, .mceStatusbarBottom, .mceStatusbar {
+       height: 20px;
+}
+
+.mceStatusbarTop .mceStatusbarPathText, .mceStatusbarBottom .mceStatusbarPathText, .mceStatusbar .mceStatusbarPathText {
+       font-family: "MS Sans Serif";
+       font-size: 9pt;
+       padding: 2px;
+       line-height: 16px;
+       overflow: visible;
+}
+
+.mceStatusbarTop {
+       border-bottom: 1px solid #cccccc;
+}
+
+.mceStatusbarBottom {
+       border-top: 1px solid #cccccc;
+}
+
+.mceStatusbar {
+       border-bottom: 1px solid #cccccc;
+}
+
+.mcePathItem, .mcePathItem:link, .mcePathItem:visited, .mcePathItem:hover {
+       text-decoration: none;
+       font-family: "MS Sans Serif";
+       font-size: 9pt;
+       color: #000000;
+}
+
+.mcePathItem:hover {
+       text-decoration: underline;
+}
+
+.mceStatusbarPathText {
+       float: left;
+}
+
+.mceStatusbarResize {
+       float: right;
+       background-image: url('../images/statusbar_resize.gif');
+       background-repeat: no-repeat;
+       width: 11px;
+       height: 20px;
+       cursor: se-resize;
+}
+
+.mceResizeBox {
+       width: 10px;
+       height: 10px;
+       display: none;
+       border: 1px dotted gray;
+       margin: 0px;
+       padding: 0px;
+}
diff --git a/webcit/tiny_mce/themes/advanced/docs/cs/about.htm b/webcit/tiny_mce/themes/advanced/docs/cs/about.htm
new file mode 100644 (file)
index 0000000..a1c6dff
--- /dev/null
@@ -0,0 +1,31 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<HEAD>
+<TITLE>O TinyMCE</TITLE>
+<meta http-equiv="content-type" content="text/html; charset=iso-8859-2">
+<link href="style.css" rel="stylesheet" type="text/css">
+</HEAD>
+
+<BODY>
+
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pageheader">
+  <tr> 
+    <td><span class="title">O TinyMCE</span></td>
+    <td align="right"><a href="index.htm">Obsah</a></td>
+  </tr>
+</table>
+<hr noshade>
+<br>
+TinyMCE je malý WYSIWYG editor pro webové prohlí¾eèe jako jsou MSIE nebo Mozilla,
+kterým lze HTML obsah upravovat mnohem jednodu¹eji. Obsahuje bì¾né funkce,
+je¾ lze nalézt ve vìt¹inì textových editorù, proto by jeho pou¾ívání nemìlo být slo¾ité.<br>
+<br>
+<hr noshade>
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pagefooter">
+  <tr> 
+    <td>Jdi na: <a href="index.htm">Obsah</a></td>
+    <td align="right"><a href="#">Nahoru</a></td>
+  </tr>
+</table>
+<br>
+</BODY>
+</HTML>
diff --git a/webcit/tiny_mce/themes/advanced/docs/cs/common_buttons.htm b/webcit/tiny_mce/themes/advanced/docs/cs/common_buttons.htm
new file mode 100644 (file)
index 0000000..61a77ea
--- /dev/null
@@ -0,0 +1,170 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<HEAD>
+<TITLE>Bì¾ná tlaèítka</TITLE>
+<meta http-equiv="content-type" content="text/html; charset=iso-8859-2">
+<link href="style.css" rel="stylesheet" type="text/css">
+</HEAD>
+
+<BODY>
+
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pageheader">
+  <tr> 
+    <td><span class="title">Bì¾ná tlaèítka</span></td>
+    <td align="right"><a href="index.htm">Obsah</a></td>
+  </tr>
+</table>
+<hr noshade>
+<br>
+Ní¾e je krátce popsáno ka¾dé tlaèítko.
+<img src="../../images/spacer.gif" width="1" height="1"> 
+<br>
+<br>
+<table border="1" cellpadding="3" cellspacing="0">
+  <tr>
+    <td><img src="../../images/cut.gif" width="20" height="20"></td>
+    <td>Zkopíruje aktuálnì vybraný obsah do schránky. (Ctrl+C)</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/copy.gif" width="20" height="20"></td>
+    <td>Vyjme aktuálnì vybraný obsah do schránky. (Ctrl+X)</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/paste.gif" width="20" height="20"></td>
+    <td>Vlo¾í obsah schránky do okna editoru. (Ctrl+P)</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/bold.gif" width="20" height="20"></td>
+    <td>Ztuèní text.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/italic.gif" width="20" height="20"></td>
+    <td>Naformátuje text kurzívou.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/underline.gif" width="20" height="20"></td>
+    <td>Podtrhne text.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/strikethrough.gif" width="20" height="20"></td>
+    <td>Pøe¹krtne text.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/left.gif" width="20" height="20"></td>
+    <td>Zarovná vlevo.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/center.gif" width="20" height="20"></td>
+    <td>Zarovná na støed.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/right.gif" width="20" height="20"></td>
+    <td>Zarovná vpravo.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/full.gif" width="20" height="20"></td>
+    <td>Zarovná do bloku.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/bullist.gif" width="20" height="20"></td>
+    <td>Neøazený seznam/seznam s odrá¾ky.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/numlist.gif" width="20" height="20"></td>
+    <td>Øazený seznam/èíslovaný seznam.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/outdent.gif" width="20" height="20"></td>
+    <td>Pøedsadí/sní¾í odsazení.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/indent.gif" width="20" height="20"></td>
+    <td>Odsadí/zvý¹í odsazení.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/undo.gif" width="20" height="20"></td>
+    <td>Vrátí zpìt naposledy provedenou akci.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/redo.gif" width="20" height="20"></td>
+    <td>Obnoví poslední akci.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/link.gif" width="20" height="20"></td>
+    <td>Vlo¾í nový odkaz, více o této funkci v èásti <a href="insert_link_button.htm">Vlo¾it odkaz</a>.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/unlink.gif" width="20" height="20"></td>
+    <td>Zru¹í odkaz v aktuálním výbìru/odstranit v¹echny vybrané odkazy.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/image.gif" width="20" height="20"></td>
+    <td>Vlo¾í nový obrázek, více o této funkci v èásti <a href="insert_image_button.htm">Vlo¾it obrázek</a>.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/cleanup.gif" width="20" height="20"></td>
+    <td>Vyèistí kód/odstraní nechtìné formátování. Tato funkce se hodí kdy¾
+      kopírujete obsah napøíklad z kanceláøského balíku.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/help.gif" width="20" height="20"></td>
+    <td>Zobrazí tuto nápovìdu.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/code.gif" width="20" height="20"></td>
+    <td>Otevøe editor s HTML zdrojem. </td>
+  </tr>
+  <tr>
+    <td><img src="../../images/table.gif" width="20" height="20"></td>
+    <td>Do aktuální pozice vlo¾í novou 2x2 tabulku.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/table_insert_row_before.gif" width="20" height="20"></td>
+    <td>Pøidá øádek pøed aktuální. </td>
+  </tr>
+  <tr>
+    <td><img src="../../images/table_insert_row_after.gif" width="20" height="20"></td>
+    <td>Pøidá øádek pod aktuální. </td>
+  </tr>
+  <tr>
+    <td><img src="../../images/table_delete_row.gif" width="20" height="20"></td>
+    <td>Odstraní øádek. </td>
+  </tr>
+  <tr>
+    <td><img src="../../images/table_insert_col_before.gif" width="20" height="20"></td>
+    <td>Pøidá sloupec pøed aktuální.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/table_insert_col_after.gif" width="20" height="20"></td>
+    <td>Pøidá sloupec za aktuální.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/table_delete_col.gif" width="20" height="20"></td>
+    <td>Odstraní aktuální sloupec.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/hr.gif" width="20" height="20"></td>
+    <td>Pøidá nový vodorovný oddìlovaè.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/removeformat.gif" width="20" height="20"></td>
+    <td>Odstraní z výbìru formátování. </td>
+  </tr>
+  <tr>
+    <td><img src="../../images/sub.gif" width="20" height="20"></td>
+    <td>Vytvoøí z vybraného textu dolní index. </td>
+  </tr>
+  <tr>
+    <td><img src="../../images/sup.gif" width="20" height="20"></td>
+    <td>Vytvoøí z vybraného textu horní index. </td>
+  </tr>
+</table>
+<br>
+<hr noshade>
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pagefooter">
+  <tr> 
+    <td>Jdi na: <a href="index.htm">Obsah</a></td>
+    <td align="right"><a href="#">Nahoru</a></td>
+  </tr>
+</table>
+</BODY>
+</HTML>
diff --git a/webcit/tiny_mce/themes/advanced/docs/cs/images/insert_image_window.png b/webcit/tiny_mce/themes/advanced/docs/cs/images/insert_image_window.png
new file mode 100644 (file)
index 0000000..408284b
Binary files /dev/null and b/webcit/tiny_mce/themes/advanced/docs/cs/images/insert_image_window.png differ
diff --git a/webcit/tiny_mce/themes/advanced/docs/cs/images/insert_link_window.png b/webcit/tiny_mce/themes/advanced/docs/cs/images/insert_link_window.png
new file mode 100644 (file)
index 0000000..2313863
Binary files /dev/null and b/webcit/tiny_mce/themes/advanced/docs/cs/images/insert_link_window.png differ
diff --git a/webcit/tiny_mce/themes/advanced/docs/cs/images/insert_table_window.png b/webcit/tiny_mce/themes/advanced/docs/cs/images/insert_table_window.png
new file mode 100644 (file)
index 0000000..e411590
Binary files /dev/null and b/webcit/tiny_mce/themes/advanced/docs/cs/images/insert_table_window.png differ
diff --git a/webcit/tiny_mce/themes/advanced/docs/cs/index.htm b/webcit/tiny_mce/themes/advanced/docs/cs/index.htm
new file mode 100644 (file)
index 0000000..12eea5b
--- /dev/null
@@ -0,0 +1,26 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<HEAD>
+<TITLE>Nápovìda</TITLE>
+<meta http-equiv="content-type" content="text/html; charset=iso-8859-2">
+<link href="style.css" rel="stylesheet" type="text/css">
+</HEAD>
+<BODY onload="window.focus();">
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pageheader">
+  <tr> 
+    <td><span class="title">Obsah</span></td>
+    <td align="right">&nbsp;</td>
+  </tr>
+</table>
+<hr noshade>
+<br>
+Kliknutím na odkazy ní¾e zvolte po¾adovanou èást nápovìdy.
+<ul class="toc_ul">
+  <li class="toc_li"><a href="about.htm">O TinyMCE</a></li>
+  <li class="toc_li"><a href="common_buttons.htm">Bì¾ná tlaèítka</a></li>
+  <li class="toc_li"><a href="insert_image_button.htm">Tlaèítko vlo¾it obrázek</a></li>
+  <li class="toc_li"><a href="insert_link_button.htm">Tlaèítko vlo¾it odkaz</a></li>
+  <li class="toc_li"><a href="insert_table_button.htm">Tlaèítko vlo¾it tabulku</a></li>
+</ul>
+<hr noshade>
+</BODY>
+</HTML>
diff --git a/webcit/tiny_mce/themes/advanced/docs/cs/insert_image_button.htm b/webcit/tiny_mce/themes/advanced/docs/cs/insert_image_button.htm
new file mode 100644 (file)
index 0000000..71f421d
--- /dev/null
@@ -0,0 +1,66 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<HEAD>
+<TITLE>Tlaèítko vlo¾it obrázek</TITLE>
+<meta http-equiv="content-type" content="text/html; charset=iso-8859-2">
+<link href="style.css" rel="stylesheet" type="text/css">
+</HEAD>
+
+<BODY>
+
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pageheader">
+  <tr> 
+    <td><span class="title">Tlaèítko vlo¾it obrázek</span></td>
+    <td align="right"><a href="index.htm">Obsah</a></td>
+  </tr>
+</table>
+<hr noshade>
+<br>
+Tlaèítko vlo¾it obrázek otevøe následující okno.<br>
+<br>
+<img src="images/insert_image_window.png" width="348" height="290"><br>
+<br>
+Jen vlo¾te URL obrázku, který chcete pøidat a zadáte jeho popis, jen¾ bude
+zobrazován jako alternativní popisek obrázku.<br>
+<br>
+<strong>Popis políèek:</strong><br>
+<table border="1" cellspacing="0">
+  <tr>
+    <td width="150"><strong>URL obrázku</strong></td>
+    <td>URL/cesta k obrázku.</td>
+  </tr>
+  <tr>
+    <td width="150"><strong>Popis obrázku</strong></td>
+    <td>Alternativní popis toho, co je na obrázku.</td>
+  </tr>
+  <tr>
+    <td><strong>Rozmìry</strong></td>
+    <td>©íøka/vý¹ka obrázku. </td>
+  </tr>
+  <tr>
+    <td><strong>Zarovnání</strong></td>
+    <td>Zarovnání obrázku, vhodné pro obtékání obrázku textem.</td>
+  </tr>
+  <tr>
+    <td><strong>Rámeèek</strong></td>
+    <td>Tlou¹»ka rámeèku. </td>
+  </tr>
+  <tr>
+    <td><strong>Vertikální okraj</strong></td>
+    <td>Vertikální okraj, vhodné pro zalomení textu kolem obrázku.</td>
+  </tr>
+  <tr>
+    <td><strong>Horizontální okraj</strong></td>
+    <td>Horizontální okraj, vhodné pro zalomení textu kolem obrázku.</td>
+  </tr>
+</table>
+<br>
+<hr noshade>
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pagefooter">
+  <tr> 
+    <td>Jdi na: <a href="index.htm">Obsah</a></td>
+    <td align="right"><a href="#">Nahoru</a></td>
+  </tr>
+</table>
+<br>
+</BODY>
+</HTML>
diff --git a/webcit/tiny_mce/themes/advanced/docs/cs/insert_link_button.htm b/webcit/tiny_mce/themes/advanced/docs/cs/insert_link_button.htm
new file mode 100644 (file)
index 0000000..7d62b62
--- /dev/null
@@ -0,0 +1,34 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<HEAD>
+<TITLE>Tlaèítko vlo¾it odkaz</TITLE>
+<meta http-equiv="content-type" content="text/html; charset=iso-8859-2">
+<link href="style.css" rel="stylesheet" type="text/css">
+</HEAD>
+
+<BODY>
+
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pageheader">
+  <tr> 
+    <td><span class="title">Tlaèítko vlo¾it odkaz</span></td>
+    <td align="right"><a href="index.htm">Obsah</a></td>
+  </tr>
+</table>
+<hr noshade>
+<br>
+Toto tlaèítko otevøe nové okno s mo¾ností vlo¾ení/úpravy odkazu.<br>
+<br>
+<img src="images/insert_link_window.png" width="328" height="160"><br>
+<br>
+V tomto oknì jsou dvì políèka. &quot;URL odkazu&quot; je adresa stránky, na 
+kterou odkazujeme. &quot;Cíl&quot; urèuje, jak má být odkazovaná stránka otevøena.<br>
+<br>
+<hr noshade>
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pagefooter">
+  <tr> 
+    <td>Jdi na: <a href="index.htm">Obsah</a></td>
+    <td align="right"><a href="#">Nahoru</a></td>
+  </tr>
+</table>
+<br>
+</BODY>
+</HTML>
diff --git a/webcit/tiny_mce/themes/advanced/docs/cs/insert_table_button.htm b/webcit/tiny_mce/themes/advanced/docs/cs/insert_table_button.htm
new file mode 100644 (file)
index 0000000..dc7a96d
--- /dev/null
@@ -0,0 +1,68 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<HEAD>
+<TITLE>Tlaèítko vlo¾it tabulku</TITLE>
+<meta http-equiv="content-type" content="text/html; charset=iso-8859-2">
+<link href="style.css" rel="stylesheet" type="text/css">
+</HEAD>
+
+<BODY>
+
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pageheader">
+  <tr> 
+    <td><span class="title">Tlaèítko vlo¾it tabulku</span></td>
+    <td align="right"><a href="index.htm">Obsah</a></td>
+  </tr>
+</table>
+<hr noshade>
+<br>
+Tlaèítko vlo¾it tabulku otevøe následující okno, v nìm¾ mù¾ete definovat novou tabulku.<br>
+<br>
+<img src="images/insert_table_window.png" width="338" height="210"><br>
+<br>
+<strong>Popis políèek:</strong><br>
+<table border="1" cellspacing="0">
+  <tr>
+    <td width="150"><strong>Sloupce</strong></td>
+    <td>Poèet sloupcù v tabulce.</td>
+  </tr>
+  <tr>
+    <td width="150"><strong>Øádky</strong></td>
+    <td>Poèet øádkù v tabulce.</td>
+  </tr>
+  <tr>
+    <td><strong>Vnitøní okraj bunìk</strong></td>
+    <td>Vnitøní okraj bunìk tabulky.</td>
+  </tr>
+  <tr>
+    <td><strong>Vnìj¹í okraj bunìk</strong></td>
+    <td>Vnitøní okraj bunìk tabulky.</td>
+  </tr>
+  <tr>
+    <td><strong>Zarovnání</strong></td>
+    <td>Zarovnání tabulky.</td>
+  </tr>
+  <tr>
+    <td><strong>Rámeèek</strong></td>
+    <td>Tlou¹»ka rámeèku tabulky.</td>
+  </tr>
+  <tr>
+    <td><strong>©íøka</strong></td>
+    <td>©íøka tabulky v pixelech.</td>
+  </tr>
+  <tr>
+    <td><strong>Vý¹ka</strong></td>
+    <td>Vý¹ka tabulky v pixelech.</td>
+  </tr>
+</table>
+<br>
+<br>
+<hr noshade>
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pagefooter">
+  <tr> 
+    <td>Jdi na: <a href="index.htm">Obsah</a></td>
+    <td align="right"><a href="#">Nahoru</a></td>
+  </tr>
+</table>
+<br>
+</BODY>
+</HTML>
diff --git a/webcit/tiny_mce/themes/advanced/docs/cs/style.css b/webcit/tiny_mce/themes/advanced/docs/cs/style.css
new file mode 100644 (file)
index 0000000..59c464d
--- /dev/null
@@ -0,0 +1,28 @@
+body { background-color: #FFFFFF; }
+body, td, .content { font-family: Verdana, Arial, helvetica, sans-serif; font-size: 12px; }
+.title { font-family: Verdana, Arial, helvetica, sans-serif; font-size: 16px; font-weight: bold; }
+.subtitle { font-size: 12px; font-weight: bold; }
+
+.toc_ul, .toc_li { margin-left: 8 px; line-height: 16px; }
+.step_ol, .step_li { margin-left: 11 px; line-height: 16px; }
+img { border: 0; }
+
+a:visited { color: #666666; text-decoration: underline; }
+a:active { color: #666666; text-decoration: underline; }
+a:hover { color: #666666; text-decoration: underline; }
+a { color: #666666; text-decoration: underline; }
+
+.pageheader { border: #E0E0E0 solid 1px; }
+.pagefooter { border: #E0E0E0 solid 1px; }
+.sample { background-color: #FFFFFF; border: #000000 solid 1px; }
+.samplecontent { font-size: 10px; }
+
+.code { background-color: #FFFFFF; border: #000000 solid 1px; }
+.codecontent { font-size: 10px; }
+.codecontent a:visited { color: #666666; text-decoration: none; font-weight: bold }
+.codecontent a:active { color: #666666; text-decoration: none; font-weight: bold  }
+.codecontent a:hover { color: #666666; text-decoration: none; font-weight: bold  }
+.codecontent a { color: #666666; text-decoration: none; font-weight: bold  }
+
+hr { height: 1px; }
+
diff --git a/webcit/tiny_mce/themes/advanced/docs/de/about.htm b/webcit/tiny_mce/themes/advanced/docs/de/about.htm
new file mode 100644 (file)
index 0000000..2074efe
--- /dev/null
@@ -0,0 +1,31 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<HEAD>
+<TITLE>&Uuml;ber TinyMCE</TITLE>
+<link href="style.css" rel="stylesheet" type="text/css">
+</HEAD>
+
+<BODY>
+
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pageheader">
+  <tr> 
+    <td><span class="title">&Uuml;ber TinyMCE</span></td>
+    <td align="right"><a href="index.htm">Inhalt</a></td>
+  </tr>
+</table>
+<hr noshade>
+<br>
+TinyMCE ist ein kompakter WYSIWYG-Editor f&uuml;r Webbrowser wie MSIE oder Mozilla
+der es Ihnen erm&ouml;glicht HTML-Inhalte auf eine benutzerfreundliche Weise zu
+editieren. Es verf&uuml;gt über die wichtigsten Funktionen die in den meisten
+Textverarbeitungen vorkommen und sollte einfach zu benutzen sein.<br>
+<br>
+<hr noshade>
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pagefooter">
+  <tr> 
+    <td>Gehe zu: <a href="index.htm">Inhaltsverzeichnis</a></td>
+    <td align="right"><a href="#">nach oben</a></td>
+  </tr>
+</table>
+<br>
+</BODY>
+</HTML>
diff --git a/webcit/tiny_mce/themes/advanced/docs/de/common_buttons.htm b/webcit/tiny_mce/themes/advanced/docs/de/common_buttons.htm
new file mode 100644 (file)
index 0000000..8e827f2
--- /dev/null
@@ -0,0 +1,107 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<HEAD>
+<TITLE>Allgemeine Schaltfl&auml;chen</TITLE>
+<link href="style.css" rel="stylesheet" type="text/css">
+</HEAD>
+
+<BODY>
+
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pageheader">
+  <tr> 
+    <td><span class="title">Allgemeine Schaltfl&auml;chen</span></td>
+    <td align="right"><a href="index.htm">Inhalt</a></td>
+  </tr>
+</table>
+<hr noshade>
+<br>
+Untenstehend eine kurze Beschreibung jeder Schaltfl&auml;che.<br>
+<br>
+<table border="1" cellpadding="3" cellspacing="0">
+  <tr>
+    <td><img src="../../images/bold_de_se.gif" width="20" height="20"></td>
+    <td>Fetter Text.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/italic_de_se.gif" width="20" height="20"></td>
+    <td>Kursiver Text.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/underline.gif" width="20" height="20"></td>
+    <td>Unterstrichener Text.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/strikethrough.gif" width="20" height="20"></td>
+    <td>Durchgestrichener Text.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/left.gif" width="20" height="20"></td>
+    <td>Linksb&uuml;ndig.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/center.gif" width="20" height="20"></td>
+    <td>Zentriert.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/right.gif" width="20" height="20"></td>
+    <td>Rechtsb&uuml;ndig.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/full.gif" width="20" height="20"></td>
+    <td>Blocksatz.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/bullist.gif" width="20" height="20"></td>
+    <td>Unsortierte Liste / Punktierte Liste.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/numlist.gif" width="20" height="20"></td>
+    <td>Sortierte Liste / Nummerierte Liste.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/outdent.gif" width="20" height="20"></td>
+    <td>Einzug verkleinern.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/indent.gif" width="20" height="20"></td>
+    <td>Einzug vergr&ouml;ssern.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/undo.gif" width="20" height="20"></td>
+    <td>Letzte Aktion r&uuml;ckg&auml;ngig machen.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/redo.gif" width="20" height="20"></td>
+    <td>Letzte Aktion wiederholen.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/link.gif" width="20" height="20"></td>
+    <td>Einen neuen Hyperlink einf&uuml;gen, lesen Sie mehr &uuml;ber diese Funktion im Kapitel <a href="insert_link_button.htm">Hyperlink einf&uuml;gen</a>.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/unlink.gif" width="20" height="20"></td>
+    <td>Den gegenw&auml;rtige markierten Hyperlink entfernen / Alle gegenw&auml;rtig markierten Hyperlinks entfernen.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/image.gif" width="20" height="20"></td>
+    <td>Ein neues Bild einf&uuml;gen, lesen Sie mehr &uuml;ber diese Funktion im Kapitel <a href="insert_image_button.htm">Bild einf&uuml;gen</a>.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/cleanup.gif" width="20" height="20"></td>
+    <td>unsauberen Code aufr&auml;umen / Entfernt ungewollte Formatierungen. Diese Funktion ist n&uuml;tzlich,
+               wenn Sie beispielsweise Inhalte aus einem Office Produkt kopieren.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/help.gif" width="20" height="20"></td>
+    <td>Zeigt diese Hilfe an.</td>
+  </tr>
+</table>
+<br>
+<hr noshade>
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pagefooter">
+  <tr> 
+    <td>Gehe zu: <a href="index.htm">Inhaltsverzeichnis</a></td>
+    <td align="right"><a href="#">nach oben</a></td>
+  </tr>
+</table>
+</BODY>
+</HTML>
diff --git a/webcit/tiny_mce/themes/advanced/docs/de/images/insert_image_window.gif b/webcit/tiny_mce/themes/advanced/docs/de/images/insert_image_window.gif
new file mode 100644 (file)
index 0000000..3650f09
Binary files /dev/null and b/webcit/tiny_mce/themes/advanced/docs/de/images/insert_image_window.gif differ
diff --git a/webcit/tiny_mce/themes/advanced/docs/de/images/insert_link_window.gif b/webcit/tiny_mce/themes/advanced/docs/de/images/insert_link_window.gif
new file mode 100644 (file)
index 0000000..2c0a22d
Binary files /dev/null and b/webcit/tiny_mce/themes/advanced/docs/de/images/insert_link_window.gif differ
diff --git a/webcit/tiny_mce/themes/advanced/docs/de/index.htm b/webcit/tiny_mce/themes/advanced/docs/de/index.htm
new file mode 100644 (file)
index 0000000..cb84977
--- /dev/null
@@ -0,0 +1,24 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<HEAD>
+<TITLE>Inhaltsverzeichnis der Hilfe</TITLE>
+<link href="style.css" rel="stylesheet" type="text/css">
+</HEAD>
+<BODY onload="window.focus();">
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pageheader">
+  <tr> 
+    <td><span class="title">Inhaltsverzeichnis</span></td>
+    <td align="right">&nbsp;</td>
+  </tr>
+</table>
+<hr noshade>
+<br>
+Klicken Sie auf die untenstehenden Links um die verschiedenen Bereiche der Hilfe zu betrachten. 
+<ul class="toc_ul">
+  <li class="toc_li"><a href="about.htm">&Uuml;ber TinyMCE</a></li>
+  <li class="toc_li"><a href="common_buttons.htm">Allgemeine Schaltfl&auml;chen</a></li>
+  <li class="toc_li"><a href="insert_image_button.htm">Schaltfl&auml;che Bild einf&uuml;gen</a></li>
+  <li class="toc_li"><a href="insert_link_button.htm">Schaltfl&auml;che Hyperlink einf&uuml;gen</a></li>
+</ul>
+<hr noshade>
+</BODY>
+</HTML>
diff --git a/webcit/tiny_mce/themes/advanced/docs/de/insert_image_button.htm b/webcit/tiny_mce/themes/advanced/docs/de/insert_image_button.htm
new file mode 100644 (file)
index 0000000..4707d9c
--- /dev/null
@@ -0,0 +1,33 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<HEAD>
+<TITLE>Schaltfl&auml;che Bild einf&uuml;gen</TITLE>
+<link href="style.css" rel="stylesheet" type="text/css">
+</HEAD>
+
+<BODY>
+
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pageheader">
+  <tr> 
+    <td><span class="title">Schaltfl&auml;che Bild einf&uuml;gen</span></td>
+    <td align="right"><a href="index.htm">Inhalt</a></td>
+  </tr>
+</table>
+<hr noshade>
+<br>
+Die Schaltfl&auml;che &quot;Bild einf&uuml;gen&quot; &ouml;ffnet das unten gezeigte Fenster.<br>
+<br>
+<img src="images/insert_image_window.gif" width="350" height="166"><br>
+<br>
+Sie geben einfach die URL zu dem Bild ein, das Sie verknüpfen möchten und eine
+Beschreibung des Bildes, welche dann als alternative Textbeschreibung verwendet wird.
+<br>
+<hr noshade>
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pagefooter">
+  <tr> 
+    <td>Gehe zu: <a href="index.htm">Inhaltsverzeichnis</a></td>
+    <td align="right"><a href="#">nach oben</a></td>
+  </tr>
+</table>
+<br>
+</BODY>
+</HTML>
diff --git a/webcit/tiny_mce/themes/advanced/docs/de/insert_link_button.htm b/webcit/tiny_mce/themes/advanced/docs/de/insert_link_button.htm
new file mode 100644 (file)
index 0000000..d705865
--- /dev/null
@@ -0,0 +1,34 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<HEAD>
+<TITLE>Schaltfl&auml;che Hyperlink einf&uuml;gen</TITLE>
+<link href="style.css" rel="stylesheet" type="text/css">
+</HEAD>
+
+<BODY>
+
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pageheader">
+  <tr> 
+    <td><span class="title">Schaltfl&auml;che Hyperlink einf&uuml;gen</span></td>
+    <td align="right"><a href="index.htm">Inhalt</a></td>
+  </tr>
+</table>
+<hr noshade>
+<br>
+Diese Schaltfl&auml;che &ouml;ffnet das Fenster f&uuml;r die &quot;Hyperlink einf&uuml;gen / bearbeiten&quot;-Funktion.<br>
+<br>
+<img src="images/insert_link_window.gif" width="330" height="166"><br>
+<br>
+Zwei Felder sind in diesem Fenster auszufüllen. Das Erste, &quot;Hyperlink URL&quot;, ist f&uuml;r
+die URL der Verknüpfung. Das &quot;Ziel&quot; erlaubt Ihnen auszuwählen wie die Verkn&uuml;pfung
+ge&ouml;ffnet werden soll.
+<br>
+<hr noshade>
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pagefooter">
+  <tr> 
+    <td>Gehe zu: <a href="index.htm">Inhaltsverzeichnis</a></td>
+    <td align="right"><a href="#">nach oben</a></td>
+  </tr>
+</table>
+<br>
+</BODY>
+</HTML>
diff --git a/webcit/tiny_mce/themes/advanced/docs/de/style.css b/webcit/tiny_mce/themes/advanced/docs/de/style.css
new file mode 100644 (file)
index 0000000..975bc5a
--- /dev/null
@@ -0,0 +1,28 @@
+body { background-color: #FFFFFF; }
+body, td, .content { font-family: Verdana, Arial, helvetica, sans-serif; font-size: 12px; }
+.title { font-family: Verdana, Arial, helvetica, sans-serif; font-size: 16px; font-weight: bold; }
+.subtitle { font-size: 12px; font-weight: bold; }
+
+.toc_ul, .toc_li { margin-left: 8 px; line-height: 16px; }
+.step_ol, .step_li { margin-left: 11 px; line-height: 16px; }
+img { border: #000000 solid 1px; }
+
+a:visited { color: #666666; text-decoration: underline; }
+a:active { color: #666666; text-decoration: underline; }
+a:hover { color: #666666; text-decoration: underline; }
+a { color: #666666; text-decoration: underline; }
+
+.pageheader { border: #E0E0E0 solid 1px; }
+.pagefooter { border: #E0E0E0 solid 1px; }
+.sample { background-color: #FFFFFF; border: #000000 solid 1px; }
+.samplecontent { font-size: 10px; }
+
+.code { background-color: #FFFFFF; border: #000000 solid 1px; }
+.codecontent { font-size: 10px; }
+.codecontent a:visited { color: #666666; text-decoration: none; font-weight: bold }
+.codecontent a:active { color: #666666; text-decoration: none; font-weight: bold  }
+.codecontent a:hover { color: #666666; text-decoration: none; font-weight: bold  }
+.codecontent a { color: #666666; text-decoration: none; font-weight: bold  }
+
+hr { height: 1px; }
+
diff --git a/webcit/tiny_mce/themes/advanced/docs/en/about.htm b/webcit/tiny_mce/themes/advanced/docs/en/about.htm
new file mode 100644 (file)
index 0000000..b3e4342
--- /dev/null
@@ -0,0 +1,31 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<HEAD>
+<TITLE>About TinyMCE</TITLE>
+<link href="style.css" rel="stylesheet" type="text/css">
+</HEAD>
+
+<BODY>
+
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pageheader">
+  <tr> 
+    <td><span class="title">About TinyMCE</span></td>
+    <td align="right"><a href="index.htm"><acronym title="Table of contents">TOC</acronym></a></td>
+  </tr>
+</table>
+<hr noshade>
+<br>
+TinyMCE is a small WYSIWYG editor control for web browsers such as MSIE or Mozilla 
+that enables you to edit HTML contents in a more user friendly way. It has common 
+features that are found in most word processors and should not be difficult to 
+use.<br>
+<br>
+<hr noshade>
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pagefooter">
+  <tr> 
+    <td>Go to: <a href="index.htm">Table of contents</a></td>
+    <td align="right"><a href="#">Top</a></td>
+  </tr>
+</table>
+<br>
+</BODY>
+</HTML>
diff --git a/webcit/tiny_mce/themes/advanced/docs/en/common_buttons.htm b/webcit/tiny_mce/themes/advanced/docs/en/common_buttons.htm
new file mode 100644 (file)
index 0000000..2167758
--- /dev/null
@@ -0,0 +1,162 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<HEAD>
+<TITLE>Common buttons</TITLE>
+<link href="style.css" rel="stylesheet" type="text/css">
+</HEAD>
+
+<BODY>
+
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pageheader">
+  <tr> 
+    <td><span class="title">Common buttons</span></td>
+    <td align="right"><a href="index.htm"><acronym title="Table of contents">TOC</acronym></a></td>
+  </tr>
+</table>
+<hr noshade>
+<br>
+Below is a short description about each button.<img src="../../images/spacer.gif" width="1" height="1"> 
+<br>
+<br>
+<table border="1" cellpadding="3" cellspacing="0">
+  <tr>
+    <td><img src="../../images/bold.gif" width="20" height="20"></td>
+    <td>Bold text style.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/italic.gif" width="20" height="20"></td>
+    <td>Italic text style.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/underline.gif" width="20" height="20"></td>
+    <td>Underline text style.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/strikethrough.gif" width="20" height="20"></td>
+    <td>Strikethrough text style.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/left.gif" width="20" height="20"></td>
+    <td>Align left.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/center.gif" width="20" height="20"></td>
+    <td>Align center.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/right.gif" width="20" height="20"></td>
+    <td>Align right.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/full.gif" width="20" height="20"></td>
+    <td>Align full.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/bullist.gif" width="20" height="20"></td>
+    <td>Unordered list/bullet list.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/numlist.gif" width="20" height="20"></td>
+    <td>Ordered list/numbered list</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/outdent.gif" width="20" height="20"></td>
+    <td>Outdent/decrease indentation.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/indent.gif" width="20" height="20"></td>
+    <td>Indent/incread indentation.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/undo.gif" width="20" height="20"></td>
+    <td>Undo the last operation.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/redo.gif" width="20" height="20"></td>
+    <td>Redo the last operation.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/link.gif" width="20" height="20"></td>
+    <td>Insert a new link, read more about this function in the <a href="insert_link_button.htm">Insert 
+      link section</a>.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/unlink.gif" width="20" height="20"></td>
+    <td>Unlinks the current selection/removes all selected links.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/anchor.gif" width="20" height="20"></td>
+    <td>Insert a new anchor, read more about this function in the <a href="insert_anchor_button.htm">Insert anchor section.</a></td>
+  </tr>
+  <tr>
+    <td><img src="../../images/image.gif" width="20" height="20"></td>
+    <td>Insert a new image, read more about this function in the <a href="insert_image_button.htm">Insert 
+      image section</a>.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/cleanup.gif" width="20" height="20"></td>
+    <td>Cleanup code/Removes unwanted formating. This function is useful when 
+      you copy contents from for example a office product.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/help.gif" width="20" height="20"></td>
+    <td>Shows this help window.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/code.gif" width="20" height="20"></td>
+    <td>Opens HTML source code editor. </td>
+  </tr>
+  <tr>
+    <td><img src="../images/table.gif" width="20" height="20"></td>
+    <td>Inserts a new 2x2 table at the current location. </td>
+  </tr>
+  <tr>
+    <td><img src="../images/table_insert_row_before.gif" width="20" height="20"></td>
+    <td>Adds a row above the current one. </td>
+  </tr>
+  <tr>
+    <td><img src="../images/table_insert_row_after.gif" width="20" height="20"></td>
+    <td>Adds a row under the current one. </td>
+  </tr>
+  <tr>
+    <td><img src="../images/table_delete_row.gif" width="20" height="20"></td>
+    <td>Removes the row. </td>
+  </tr>
+  <tr>
+    <td><img src="../images/table_insert_col_before.gif" width="20" height="20"></td>
+    <td>Adds a column before the current one.</td>
+  </tr>
+  <tr>
+    <td><img src="../images/table_insert_col_after.gif" width="20" height="20"></td>
+    <td>Adds a column after the current one.</td>
+  </tr>
+  <tr>
+    <td><img src="../images/table_delete_col.gif" width="20" height="20"></td>
+    <td>Removes the current  column.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/hr.gif" width="20" height="20"></td>
+    <td>Inserts a new horizontal ruler </td>
+  </tr>
+  <tr>
+    <td><img src="../../images/removeformat.gif" width="20" height="20"></td>
+    <td>Removes formatting from the selection. </td>
+  </tr>
+  <tr>
+    <td><img src="../../images/sub.gif" width="20" height="20"></td>
+    <td>Makes the selection to be subscript. </td>
+  </tr>
+  <tr>
+    <td><img src="../../images/sup.gif" width="20" height="20"></td>
+    <td>Makes the selection to be superscripted. </td>
+  </tr>
+</table>
+<br>
+<hr noshade>
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pagefooter">
+  <tr> 
+    <td>Go to: <a href="index.htm">Table of contents</a></td>
+    <td align="right"><a href="#">Top</a></td>
+  </tr>
+</table>
+</BODY>
+</HTML>
diff --git a/webcit/tiny_mce/themes/advanced/docs/en/images/insert_anchor_window.gif b/webcit/tiny_mce/themes/advanced/docs/en/images/insert_anchor_window.gif
new file mode 100644 (file)
index 0000000..8a6424b
Binary files /dev/null and b/webcit/tiny_mce/themes/advanced/docs/en/images/insert_anchor_window.gif differ
diff --git a/webcit/tiny_mce/themes/advanced/docs/en/images/insert_image_window.gif b/webcit/tiny_mce/themes/advanced/docs/en/images/insert_image_window.gif
new file mode 100644 (file)
index 0000000..26cdccd
Binary files /dev/null and b/webcit/tiny_mce/themes/advanced/docs/en/images/insert_image_window.gif differ
diff --git a/webcit/tiny_mce/themes/advanced/docs/en/images/insert_link_window.gif b/webcit/tiny_mce/themes/advanced/docs/en/images/insert_link_window.gif
new file mode 100644 (file)
index 0000000..dcbf64b
Binary files /dev/null and b/webcit/tiny_mce/themes/advanced/docs/en/images/insert_link_window.gif differ
diff --git a/webcit/tiny_mce/themes/advanced/docs/en/images/insert_table_window.gif b/webcit/tiny_mce/themes/advanced/docs/en/images/insert_table_window.gif
new file mode 100644 (file)
index 0000000..a3c8bc1
Binary files /dev/null and b/webcit/tiny_mce/themes/advanced/docs/en/images/insert_table_window.gif differ
diff --git a/webcit/tiny_mce/themes/advanced/docs/en/index.htm b/webcit/tiny_mce/themes/advanced/docs/en/index.htm
new file mode 100644 (file)
index 0000000..f0c0ef6
--- /dev/null
@@ -0,0 +1,26 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<HEAD>
+<TITLE>Help Index</TITLE>
+<link href="style.css" rel="stylesheet" type="text/css">
+</HEAD>
+<BODY onload="window.focus();">
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pageheader">
+  <tr> 
+    <td><span class="title">Table of contents</span></td>
+    <td align="right">&nbsp;</td>
+  </tr>
+</table>
+<hr noshade>
+<br>
+Click the links below to go to the different help sections. 
+<ul class="toc_ul">
+  <li class="toc_li"><a href="about.htm">About TinyMCE</a></li>
+  <li class="toc_li"><a href="common_buttons.htm">Common buttons</a></li>
+  <li class="toc_li"><a href="insert_image_button.htm">Insert image button</a></li>
+  <li class="toc_li"><a href="insert_link_button.htm">Insert link button</a></li>
+  <li class="toc_li"><a href="insert_anchor_button.htm">Insert anchor button</a></li>
+  <li class="toc_li"><a href="insert_table_button.htm">Insert table button</a></li>
+</ul>
+<hr noshade>
+</BODY>
+</HTML>
diff --git a/webcit/tiny_mce/themes/advanced/docs/en/insert_anchor_button.htm b/webcit/tiny_mce/themes/advanced/docs/en/insert_anchor_button.htm
new file mode 100644 (file)
index 0000000..83d8b09
--- /dev/null
@@ -0,0 +1,32 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<HEAD>
+<TITLE>Insert anchor button</TITLE>
+<link href="style.css" rel="stylesheet" type="text/css">
+</HEAD>
+
+<BODY>
+
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pageheader">
+  <tr> 
+    <td><span class="title">Insert anchor button</span></td>
+    <td align="right"><a href="index.htm"><acronym title="Table of contents">TOC</acronym></a></td>
+  </tr>
+</table>
+<hr noshade>
+<br>
+This button opens a new window with the insert/edit anchor function.<br>
+<br>
+<img src="images/insert_anchor_window.gif" width="330" height="139"><br>
+<br>
+There are one field in this window, this is where you enter the name of you anchor point. Remember the anchor name needs to be unique. <br>
+<br>
+<hr noshade>
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pagefooter">
+  <tr> 
+    <td>Go to: <a href="index.htm">Table of contents</a></td>
+    <td align="right"><a href="#">Top</a></td>
+  </tr>
+</table>
+<br>
+</BODY>
+</HTML>
diff --git a/webcit/tiny_mce/themes/advanced/docs/en/insert_image_button.htm b/webcit/tiny_mce/themes/advanced/docs/en/insert_image_button.htm
new file mode 100644 (file)
index 0000000..503a98b
--- /dev/null
@@ -0,0 +1,65 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<HEAD>
+<TITLE>Insert image button</TITLE>
+<link href="style.css" rel="stylesheet" type="text/css">
+</HEAD>
+
+<BODY>
+
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pageheader">
+  <tr> 
+    <td><span class="title">Insert image button</span></td>
+    <td align="right"><a href="index.htm"><acronym title="Table of contents">TOC</acronym></a></td>
+  </tr>
+</table>
+<hr noshade>
+<br>
+The insert image button opens the window shown below.<br>
+<br>
+<img src="images/insert_image_window.gif"><br>
+<br>
+You simply enter a URL to the image you want to link to and enter a image description, 
+this is then displayed as an alternative text descripton of the image on the page.<br>
+<br>
+<strong>Field descriptions:</strong><br>
+<table border="1" cellspacing="0">
+  <tr>
+    <td width="150"><strong>Image URL </strong></td>
+    <td>URL/path to the image.</td>
+  </tr>
+  <tr>
+    <td width="150"><strong>Image description </strong></td>
+    <td>Alternative description of image contents.</td>
+  </tr>
+  <tr>
+    <td><strong>Dimentions</strong></td>
+    <td>Image width/height. </td>
+  </tr>
+  <tr>
+    <td><strong>Alignment</strong></td>
+    <td>Image alignment, useful when wrapping text around images.</td>
+  </tr>
+  <tr>
+    <td><strong>Border</strong></td>
+    <td>Border thickness. </td>
+  </tr>
+  <tr>
+    <td><strong>VSpace</strong></td>
+    <td>Vertical space, useful when wrapping text around images.</td>
+  </tr>
+  <tr>
+    <td><strong>HSpace</strong></td>
+    <td>Horizontal space, useful when wrapping text around images.</td>
+  </tr>
+</table>
+<br>
+<hr noshade>
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pagefooter">
+  <tr> 
+    <td>Go to: <a href="index.htm">Table of contents</a></td>
+    <td align="right"><a href="#">Top</a></td>
+  </tr>
+</table>
+<br>
+</BODY>
+</HTML>
diff --git a/webcit/tiny_mce/themes/advanced/docs/en/insert_link_button.htm b/webcit/tiny_mce/themes/advanced/docs/en/insert_link_button.htm
new file mode 100644 (file)
index 0000000..822717a
--- /dev/null
@@ -0,0 +1,33 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<HEAD>
+<TITLE>Insert link button</TITLE>
+<link href="style.css" rel="stylesheet" type="text/css">
+</HEAD>
+
+<BODY>
+
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pageheader">
+  <tr> 
+    <td><span class="title">Insert link button</span></td>
+    <td align="right"><a href="index.htm"><acronym title="Table of contents">TOC</acronym></a></td>
+  </tr>
+</table>
+<hr noshade>
+<br>
+This button opens a new window with the insert/edit link function.<br>
+<br>
+<img src="images/insert_link_window.gif" width="330" height="159"><br>
+<br>
+There are two fields in this window the first one &quot;Link URL&quot; is the 
+URL of the link. The target enables you to select how the link is to be opened.<br>
+<br>
+<hr noshade>
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pagefooter">
+  <tr> 
+    <td>Go to: <a href="index.htm">Table of contents</a></td>
+    <td align="right"><a href="#">Top</a></td>
+  </tr>
+</table>
+<br>
+</BODY>
+</HTML>
diff --git a/webcit/tiny_mce/themes/advanced/docs/en/insert_table_button.htm b/webcit/tiny_mce/themes/advanced/docs/en/insert_table_button.htm
new file mode 100644 (file)
index 0000000..2f1e1eb
--- /dev/null
@@ -0,0 +1,71 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<HEAD>
+<TITLE>Insert table button</TITLE>
+<link href="style.css" rel="stylesheet" type="text/css">
+</HEAD>
+
+<BODY>
+
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pageheader">
+  <tr> 
+    <td><span class="title">Insert table button</span></td>
+    <td align="right"><a href="index.htm"><acronym title="Table of contents">TOC</acronym></a></td>
+  </tr>
+</table>
+<hr noshade>
+<br>
+The insert table button opens the window shown below. This action enables you to create tables. <br>
+<br>
+<img src="images/insert_table_window.gif" width="340" height="229" alt="Image of table window" /><br>
+<br>
+<strong>Field descriptions:</strong><br>
+<table border="1" cellspacing="0">
+  <tr>
+    <td width="150"><strong>Columns</strong></td>
+    <td>Number of columns in the  table. </td>
+  </tr>
+  <tr>
+    <td width="150"><strong>Rows</strong></td>
+    <td>Number of rows in the new table.</td>
+  </tr>
+  <tr>
+    <td><strong>Cellpadding</strong></td>
+    <td>Cellpadding of the table . </td>
+  </tr>
+  <tr>
+    <td><strong>Cellspacing</strong></td>
+    <td>Cellspacing of the table .</td>
+  </tr>
+  <tr>
+    <td><strong>Alignment</strong></td>
+    <td>Table alignment . </td>
+  </tr>
+  <tr>
+    <td><strong>Border</strong></td>
+    <td>Border thinkness of table.</td>
+  </tr>
+  <tr>
+    <td><strong>Width</strong></td>
+    <td>Width in pixels of table .</td>
+  </tr>
+  <tr>
+    <td><strong>Height</strong></td>
+    <td>Height in pixels of table.</td>
+  </tr>
+  <tr>
+    <td><strong>Class</strong></td>
+    <td>Style or CSS class of table.</td>
+  </tr>
+</table>
+<br>
+<br>
+<hr noshade>
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pagefooter">
+  <tr> 
+    <td>Go to: <a href="index.htm">Table of contents</a></td>
+    <td align="right"><a href="#">Top</a></td>
+  </tr>
+</table>
+<br>
+</BODY>
+</HTML>
diff --git a/webcit/tiny_mce/themes/advanced/docs/en/style.css b/webcit/tiny_mce/themes/advanced/docs/en/style.css
new file mode 100644 (file)
index 0000000..975bc5a
--- /dev/null
@@ -0,0 +1,28 @@
+body { background-color: #FFFFFF; }
+body, td, .content { font-family: Verdana, Arial, helvetica, sans-serif; font-size: 12px; }
+.title { font-family: Verdana, Arial, helvetica, sans-serif; font-size: 16px; font-weight: bold; }
+.subtitle { font-size: 12px; font-weight: bold; }
+
+.toc_ul, .toc_li { margin-left: 8 px; line-height: 16px; }
+.step_ol, .step_li { margin-left: 11 px; line-height: 16px; }
+img { border: #000000 solid 1px; }
+
+a:visited { color: #666666; text-decoration: underline; }
+a:active { color: #666666; text-decoration: underline; }
+a:hover { color: #666666; text-decoration: underline; }
+a { color: #666666; text-decoration: underline; }
+
+.pageheader { border: #E0E0E0 solid 1px; }
+.pagefooter { border: #E0E0E0 solid 1px; }
+.sample { background-color: #FFFFFF; border: #000000 solid 1px; }
+.samplecontent { font-size: 10px; }
+
+.code { background-color: #FFFFFF; border: #000000 solid 1px; }
+.codecontent { font-size: 10px; }
+.codecontent a:visited { color: #666666; text-decoration: none; font-weight: bold }
+.codecontent a:active { color: #666666; text-decoration: none; font-weight: bold  }
+.codecontent a:hover { color: #666666; text-decoration: none; font-weight: bold  }
+.codecontent a { color: #666666; text-decoration: none; font-weight: bold  }
+
+hr { height: 1px; }
+
diff --git a/webcit/tiny_mce/themes/advanced/docs/es/about.htm b/webcit/tiny_mce/themes/advanced/docs/es/about.htm
new file mode 100644 (file)
index 0000000..ebbb77b
--- /dev/null
@@ -0,0 +1,28 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<HEAD>
+<TITLE>Acerca de TinyMCE</TITLE>
+<link href="style.css" rel="stylesheet" type="text/css">
+</HEAD>
+
+<BODY>
+
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pageheader">
+  <tr> 
+    <td><span class="title">Acerca de  TinyMCE</span></td>
+    <td align="right"><a href="index.htm"><acronym title="Table of contents">TOC</acronym></a></td>
+  </tr>
+</table>
+<hr noshade>
+<br>
+TinyMCE es un editor WYSIWYG para navegadores como  MSIE o Mozilla que te permite editar el contenido HTML de una manera m&aacute;s amigable. Tiene la mayor&iacute;a de las opciones de un procesador de texto y no deber&iacute;a ser dificil de usar.<br>
+<br>
+<hr noshade>
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pagefooter">
+  <tr> 
+    <td>Ir a: <a href="index.htm">Lista de contenidos</a></td>
+    <td align="right"><a href="#">Top</a></td>
+  </tr>
+</table>
+<br>
+</BODY>
+</HTML>
diff --git a/webcit/tiny_mce/themes/advanced/docs/es/common_buttons.htm b/webcit/tiny_mce/themes/advanced/docs/es/common_buttons.htm
new file mode 100644 (file)
index 0000000..96d143d
--- /dev/null
@@ -0,0 +1,155 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<HEAD>
+<TITLE>Botones de uso com&uacute;n</TITLE>
+<link href="style.css" rel="stylesheet" type="text/css">
+</HEAD>
+
+<BODY>
+
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pageheader">
+  <tr> 
+    <td><span class="title">Botones de uso com&uacute;n</span></td>
+    <td align="right"><a href="index.htm"><acronym title="Table of contents">TOC</acronym></a></td>
+  </tr>
+</table>
+<hr noshade>
+<br>
+Peque&ntilde;a descripci&oacute;n de cada boto&oacute;n.<img src="../../images/spacer.gif" width="1" height="1"> 
+<br>
+<br>
+<table border="1" cellpadding="3" cellspacing="0">
+  <tr>
+    <td><img src="../../images/bold.gif" width="20" height="20"></td>
+    <td>Texto en negrita.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/italic.gif" width="20" height="20"></td>
+    <td>Texto en cursiva.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/underline.gif" width="20" height="20"></td>
+    <td>Texto subrayado.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/strikethrough.gif" width="20" height="20"></td>
+    <td>Texto tachado.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/left.gif" width="20" height="20"></td>
+    <td>Alinear a la izquierda.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/center.gif" width="20" height="20"></td>
+    <td>Alinear al centro.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/right.gif" width="20" height="20"></td>
+    <td>Alinear a la derecha.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/full.gif" width="20" height="20"></td>
+    <td>Alinear justificado.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/bullist.gif" width="20" height="20"></td>
+    <td>Lista desordenada/lista por puntos.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/numlist.gif" width="20" height="20"></td>
+    <td>Lista ordenada/lista numerada</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/outdent.gif" width="20" height="20"></td>
+    <td>Disminuir la sangr&iacute;a.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/indent.gif" width="20" height="20"></td>
+    <td>Aumentar la sangr&iacute;a.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/undo.gif" width="20" height="20"></td>
+    <td>Deshacer la &uacute;ltima operaci&oacute;n.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/redo.gif" width="20" height="20"></td>
+    <td>Rehacer la &uacute;ltima operaci&oacute;n.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/link.gif" width="20" height="20"></td>
+    <td>Insertar un enlace, m&aacute;s informaci&oacute;n en <a href="insert_link_button.htm">insertar enlace</a>.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/unlink.gif" width="20" height="20"></td>
+    <td>Quita el enlace al texto seleccionado.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/image.gif" width="20" height="20"></td>
+    <td>Insertar un imagen, m&aacute;s informaci&oacute;n en <a href="insert_image_button.htm">insertar imagen</a>.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/cleanup.gif" width="20" height="20"></td>
+    <td>Limpiar c&oacute;digo, esta funci&oacute;n es &uacute;til cuando copias el c&oacute;digo de otra p&aacute;gina.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/help.gif" width="20" height="20"></td>
+    <td>Muestra esta ventana de ayuda.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/code.gif" width="20" height="20"></td>
+    <td>Abre el editor de HTML. </td>
+  </tr>
+  <tr>
+    <td><img src="../images/table.gif" width="20" height="20"></td>
+    <td>Inserta una nueva tabla de 2x2. </td>
+  </tr>
+  <tr>
+    <td><img src="../images/table_insert_row_before.gif" width="20" height="20"></td>
+    <td>A&ntilde;ade una fila encima. </td>
+  </tr>
+  <tr>
+    <td><img src="../images/table_insert_row_after.gif" width="20" height="20"></td>
+    <td>A&ntilde;ade una fila debajo. </td>
+  </tr>
+  <tr>
+    <td><img src="../images/table_delete_row.gif" width="20" height="20"></td>
+    <td>Elimina una fila. </td>
+  </tr>
+  <tr>
+    <td><img src="../images/table_insert_col_before.gif" width="20" height="20"></td>
+    <td>A&ntilde;ade una columna antes de la actual .</td>
+  </tr>
+  <tr>
+    <td><img src="../images/table_insert_col_after.gif" width="20" height="20"></td>
+    <td>A&ntilde;ade una columna despu&eacute;s de la actual.</td>
+  </tr>
+  <tr>
+    <td><img src="../images/table_delete_col.gif" width="20" height="20"></td>
+    <td>Elimina la columna actual.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/hr.gif" width="20" height="20"></td>
+    <td>Inserta un separador horizontal </td>
+  </tr>
+  <tr>
+    <td><img src="../../images/removeformat.gif" width="20" height="20"></td>
+    <td>Elimina el formato de la selecci&oacute;n. </td>
+  </tr>
+  <tr>
+    <td><img src="../../images/sub.gif" width="20" height="20"></td>
+    <td>Sub&iacute;ndice. </td>
+  </tr>
+  <tr>
+    <td><img src="../../images/sup.gif" width="20" height="20"></td>
+    <td>Super&iacute;ndice. </td>
+  </tr>
+</table>
+<br>
+<hr noshade>
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pagefooter">
+  <tr> 
+    <td>Ir a: <a href="index.htm">Lista de contenidos</a></td>
+    <td align="right"><a href="#">Top</a></td>
+  </tr>
+</table>
+</BODY>
+</HTML>
diff --git a/webcit/tiny_mce/themes/advanced/docs/es/images/insert_image_window.gif b/webcit/tiny_mce/themes/advanced/docs/es/images/insert_image_window.gif
new file mode 100644 (file)
index 0000000..26cdccd
Binary files /dev/null and b/webcit/tiny_mce/themes/advanced/docs/es/images/insert_image_window.gif differ
diff --git a/webcit/tiny_mce/themes/advanced/docs/es/images/insert_link_window.gif b/webcit/tiny_mce/themes/advanced/docs/es/images/insert_link_window.gif
new file mode 100644 (file)
index 0000000..dcbf64b
Binary files /dev/null and b/webcit/tiny_mce/themes/advanced/docs/es/images/insert_link_window.gif differ
diff --git a/webcit/tiny_mce/themes/advanced/docs/es/images/insert_table_window.gif b/webcit/tiny_mce/themes/advanced/docs/es/images/insert_table_window.gif
new file mode 100644 (file)
index 0000000..53be0bb
Binary files /dev/null and b/webcit/tiny_mce/themes/advanced/docs/es/images/insert_table_window.gif differ
diff --git a/webcit/tiny_mce/themes/advanced/docs/es/index.htm b/webcit/tiny_mce/themes/advanced/docs/es/index.htm
new file mode 100644 (file)
index 0000000..f5b5b97
--- /dev/null
@@ -0,0 +1,25 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<HEAD>
+<TITLE>&Iacute;ndice de la ayuda</TITLE>
+<link href="style.css" rel="stylesheet" type="text/css">
+</HEAD>
+<BODY onload="window.focus();">
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pageheader">
+  <tr> 
+    <td><span class="title">Lista de contenidos</span></td>
+    <td align="right">&nbsp;</td>
+  </tr>
+</table>
+<hr noshade>
+<br>
+Selecciona una secci&oacute;n para ver la ayuda. 
+<ul class="toc_ul">
+  <li class="toc_li"><a href="about.htm">Acerca de  TinyMCE</a></li>
+  <li class="toc_li"><a href="common_buttons.htm">Botones</a></li>
+  <li class="toc_li"><a href="insert_image_button.htm">Insertar imagen</a></li>
+  <li class="toc_li"><a href="insert_link_button.htm">Insertar enlaces</a></li>
+  <li class="toc_li"><a href="insert_table_button.htm">Insertar tabla</a></li>
+</ul>
+<hr noshade>
+</BODY>
+</HTML>
diff --git a/webcit/tiny_mce/themes/advanced/docs/es/insert_image_button.htm b/webcit/tiny_mce/themes/advanced/docs/es/insert_image_button.htm
new file mode 100644 (file)
index 0000000..1d66e70
--- /dev/null
@@ -0,0 +1,64 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<HEAD>
+<TITLE>Insertar imagen</TITLE>
+<link href="style.css" rel="stylesheet" type="text/css">
+</HEAD>
+
+<BODY>
+
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pageheader">
+  <tr> 
+    <td><span class="title">Insertar imagen</span></td>
+    <td align="right"><a href="index.htm"><acronym title="Table of contents">TOC</acronym></a></td>
+  </tr>
+</table>
+<hr noshade>
+<br>
+El bot&oacute;n insertar imagen abre la siguiente ventana.<br>
+<br>
+<img src="images/insert_image_window.gif"><br>
+<br>
+Tu s&oacute;lo tienes que escribir la URL de la imagen que quieres que aparezca y escribir una descripci&oacute;n de esta, esta descripci&oacute;n aparecera como un texto alternativo que describa la imagen.<br>
+<br>
+<strong>Descripci&oacute;n de los campos:</strong><br>
+<table border="1" cellspacing="0">
+  <tr>
+    <td width="150"><strong>Image URL </strong></td>
+    <td>URL de la imagen.</td>
+  </tr>
+  <tr>
+    <td width="150"><strong>Image description </strong></td>
+    <td>Descripci&oacute;n alternativa del contenido de la imagen.</td>
+  </tr>
+  <tr>
+    <td><strong>Dimentions</strong></td>
+    <td>Altura/anchura de la imagen. </td>
+  </tr>
+  <tr>
+    <td><strong>Alignment</strong></td>
+    <td>Alineamiento, &uacute;til cuando colocas texto alrededor de la imagen.</td>
+  </tr>
+  <tr>
+    <td><strong>Border</strong></td>
+    <td>Anchura del borde. </td>
+  </tr>
+  <tr>
+    <td><strong>VSpace</strong></td>
+    <td>Espacio vertical, &uacute;til cuando colocas texto alrededor de la imagen.</td>
+  </tr>
+  <tr>
+    <td><strong>HSpace</strong></td>
+    <td>Espacio horizontal, &uacute;til cuando colocas texto alrededor de la imagen.</td>
+  </tr>
+</table>
+<br>
+<hr noshade>
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pagefooter">
+  <tr> 
+    <td>Ir a: <a href="index.htm">Lista de contenidos</a></td>
+    <td align="right"><a href="#">Top</a></td>
+  </tr>
+</table>
+<br>
+</BODY>
+</HTML>
diff --git a/webcit/tiny_mce/themes/advanced/docs/es/insert_link_button.htm b/webcit/tiny_mce/themes/advanced/docs/es/insert_link_button.htm
new file mode 100644 (file)
index 0000000..d34b39d
--- /dev/null
@@ -0,0 +1,32 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<HEAD>
+<TITLE>Insertar enlaces</TITLE>
+<link href="style.css" rel="stylesheet" type="text/css">
+</HEAD>
+
+<BODY>
+
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pageheader">
+  <tr> 
+    <td><span class="title">Insertar enlaces</span></td>
+    <td align="right"><a href="index.htm"><acronym title="Table of contents">TOC</acronym></a></td>
+  </tr>
+</table>
+<hr noshade>
+<br>
+Este bot&oacute;n abre una nueva ventana con la funci&oacute;n insertar/editar enlace.<br>
+<br>
+<img src="images/insert_link_window.gif" width="330" height="159"><br>
+<br>
+Hay dos campos en esta ventana, el primero &quot;Link URL&quot; es donde hay que escribir la direcci&oacute;n del enlace. El segundo &quot;Target&quot; indica c&oacute;mo se abrir&aacute; el enlace.<br>
+<br>
+<hr noshade>
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pagefooter">
+  <tr> 
+    <td>Ir a: <a href="index.htm">Lista de contenidos</a></td>
+    <td align="right"><a href="#">Top</a></td>
+  </tr>
+</table>
+<br>
+</BODY>
+</HTML>
diff --git a/webcit/tiny_mce/themes/advanced/docs/es/insert_table_button.htm b/webcit/tiny_mce/themes/advanced/docs/es/insert_table_button.htm
new file mode 100644 (file)
index 0000000..3f9998b
--- /dev/null
@@ -0,0 +1,67 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<HEAD>
+<TITLE>Insertar tabla</TITLE>
+<link href="style.css" rel="stylesheet" type="text/css">
+</HEAD>
+
+<BODY>
+
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pageheader">
+  <tr> 
+    <td><span class="title">Insertar tabla</span></td>
+    <td align="right"><a href="index.htm"><acronym title="Table of contents">TOC</acronym></a></td>
+  </tr>
+</table>
+<hr noshade>
+<br>
+El bot&oacute;n insertar tabla abre la siguiente ventana. Esta acci&ocaute;n te permite crear tablas.<br>
+<br>
+<img src="images/insert_table_window.gif" width="340" height="209"><br>
+<br>
+<strong>Descripci&oacute;n de los campos:</strong><br>
+<table border="1" cellspacing="0">
+  <tr>
+    <td width="150"><strong>Columns</strong></td>
+    <td>N&uacute;mero de columnas.</td>
+  </tr>
+  <tr>
+    <td width="150"><strong>Rows</strong></td>
+    <td>NA&uacute;mero de filas.</td>
+  </tr>
+  <tr>
+    <td><strong>Cellpadding</strong></td>
+    <td>Desplazamiento entre celdas . </td>
+  </tr>
+  <tr>
+    <td><strong>Cellspacing</strong></td>
+    <td>Espacio entre celdas .</td>
+  </tr>
+  <tr>
+    <td><strong>Alignment</strong></td>
+    <td>Alineamiento de la tabla. </td>
+  </tr>
+  <tr>
+    <td><strong>Border</strong></td>
+    <td>Anchura del borde de la tabla.</td>
+  </tr>
+  <tr>
+    <td><strong>Width</strong></td>
+    <td>Anchura de la tabla en pixels .</td>
+  </tr>
+  <tr>
+    <td><strong>Height</strong></td>
+    <td>Altura de la tabla en pixels.</td>
+  </tr>
+</table>
+<br>
+<br>
+<hr noshade>
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pagefooter">
+  <tr> 
+    <td>Ir a: <a href="index.htm">Tabla de contenidos</a></td>
+    <td align="right"><a href="#">Top</a></td>
+  </tr>
+</table>
+<br>
+</BODY>
+</HTML>
diff --git a/webcit/tiny_mce/themes/advanced/docs/es/style.css b/webcit/tiny_mce/themes/advanced/docs/es/style.css
new file mode 100644 (file)
index 0000000..975bc5a
--- /dev/null
@@ -0,0 +1,28 @@
+body { background-color: #FFFFFF; }
+body, td, .content { font-family: Verdana, Arial, helvetica, sans-serif; font-size: 12px; }
+.title { font-family: Verdana, Arial, helvetica, sans-serif; font-size: 16px; font-weight: bold; }
+.subtitle { font-size: 12px; font-weight: bold; }
+
+.toc_ul, .toc_li { margin-left: 8 px; line-height: 16px; }
+.step_ol, .step_li { margin-left: 11 px; line-height: 16px; }
+img { border: #000000 solid 1px; }
+
+a:visited { color: #666666; text-decoration: underline; }
+a:active { color: #666666; text-decoration: underline; }
+a:hover { color: #666666; text-decoration: underline; }
+a { color: #666666; text-decoration: underline; }
+
+.pageheader { border: #E0E0E0 solid 1px; }
+.pagefooter { border: #E0E0E0 solid 1px; }
+.sample { background-color: #FFFFFF; border: #000000 solid 1px; }
+.samplecontent { font-size: 10px; }
+
+.code { background-color: #FFFFFF; border: #000000 solid 1px; }
+.codecontent { font-size: 10px; }
+.codecontent a:visited { color: #666666; text-decoration: none; font-weight: bold }
+.codecontent a:active { color: #666666; text-decoration: none; font-weight: bold  }
+.codecontent a:hover { color: #666666; text-decoration: none; font-weight: bold  }
+.codecontent a { color: #666666; text-decoration: none; font-weight: bold  }
+
+hr { height: 1px; }
+
diff --git a/webcit/tiny_mce/themes/advanced/docs/fi/about.htm b/webcit/tiny_mce/themes/advanced/docs/fi/about.htm
new file mode 100644 (file)
index 0000000..5ddee2b
--- /dev/null
@@ -0,0 +1,28 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<HEAD>
+<TITLE>About TinyMCE</TITLE>
+<link href="style.css" rel="stylesheet" type="text/css">
+</HEAD>
+
+<BODY>
+
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pageheader">
+  <tr> 
+    <td><span class="title">Lisätietoa TinyMCE:stä</span></td>
+    <td align="right"><a href="index.htm">Sisällysluettelo</a></td>
+  </tr>
+</table>
+<hr noshade>
+<br>
+TinyMCE on pieni WYSIWYG sisällönmuokkausohjain webbiselaimille kuten MSIE tai Mozilla joka mahdollistaa HTML sisällön muokkauksen käyttäjäystävällisellä tavalla. Se tarjoaa yleiset tekstinkäsittelyohjelmien tarjoamat toiminnot eikä ole vaikea käyttää.<br>
+<br>
+<hr noshade>
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pagefooter">
+  <tr> 
+    <td>Mene: <a href="index.htm">Sisällysluetteloon</a></td>
+    <td align="right"><a href="#">Alkuun</a></td>
+  </tr>
+</table>
+<br>
+</BODY>
+</HTML>
diff --git a/webcit/tiny_mce/themes/advanced/docs/fi/common_buttons.htm b/webcit/tiny_mce/themes/advanced/docs/fi/common_buttons.htm
new file mode 100644 (file)
index 0000000..375e67a
--- /dev/null
@@ -0,0 +1,156 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<HEAD>
+<TITLE>Common buttons</TITLE>
+<link href="style.css" rel="stylesheet" type="text/css">
+</HEAD>
+
+<BODY>
+
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pageheader">
+  <tr> 
+    <td><span class="title">Yleiset napit</span></td>
+    <td align="right"><a href="index.htm">Sisällysluettelo</a></td>
+  </tr>
+</table>
+<hr noshade>
+<br>
+Alla on lyhyt selostus kaikista toimintonapeista.<img src="../../images/spacer.gif" width="1" height="1"> 
+<br>
+<br>
+<table border="1" cellpadding="3" cellspacing="0">
+  <tr>
+    <td><img src="../../images/bold.gif" width="20" height="20"></td>
+    <td>Lihavointi.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/italic.gif" width="20" height="20"></td>
+    <td>Kursivointi.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/underline.gif" width="20" height="20"></td>
+    <td>Alleviivaus.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/strikethrough.gif" width="20" height="20"></td>
+    <td>Yliviivaus.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/left.gif" width="20" height="20"></td>
+    <td>vasen tasaus.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/center.gif" width="20" height="20"></td>
+    <td>Keskitys.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/right.gif" width="20" height="20"></td>
+    <td>Oikea tasaus.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/full.gif" width="20" height="20"></td>
+    <td>Pakotettu tasaus.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/bullist.gif" width="20" height="20"></td>
+    <td>Järjestämätön lista.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/numlist.gif" width="20" height="20"></td>
+    <td>Järjestetty lista/numeroitu lista</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/outdent.gif" width="20" height="20"></td>
+    <td>Poista / vähennä sisennystä.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/indent.gif" width="20" height="20"></td>
+    <td>Sisennä.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/undo.gif" width="20" height="20"></td>
+    <td>Peruuta viimeinen muutos.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/redo.gif" width="20" height="20"></td>
+    <td>Tee uudelleen viimeinen peruutettu muutos.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/link.gif" width="20" height="20"></td>
+    <td>Lisää linkki. Lisätietoa tästä toiminnosta <a href="insert_link_button.htm">lisää linkki -osiosta</a>.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/unlink.gif" width="20" height="20"></td>
+    <td>Poista linkki valitusta tekstistä.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/image.gif" width="20" height="20"></td>
+    <td>Lisää kuva. Lue lisää tästä toiminnosta <a href="insert_image_button.htm"> lisää kuva -osiosta</a>.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/cleanup.gif" width="20" height="20"></td>
+    <td>Siisti koodi. Tämä toiminto on käytännöllinen kun liität tekstiä toimistosovelluksista.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/help.gif" width="20" height="20"></td>
+    <td>Näyttäää tämän apuikkunan.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/code.gif" width="20" height="20"></td>
+    <td>Avaa HTML lähdekoodieditorin. </td>
+  </tr>
+  <tr>
+    <td><img src="../images/table.gif" width="20" height="20"></td>
+    <td>Lisää tualu. Lue lisää tästä toiminnosta <a href="insert_table_button.htm"> lisää taulu -osiosta</a>. </td>
+  </tr>
+  <tr>
+    <td><img src="../images/table_insert_row_before.gif" width="20" height="20"></td>
+    <td>Lisää rivi valitun rivin edelle. </td>
+  </tr>
+  <tr>
+    <td><img src="../images/table_insert_row_after.gif" width="20" height="20"></td>
+    <td>Lisää rivi valitun rivin jälkeen. </td>
+  </tr>
+  <tr>
+    <td><img src="../images/table_delete_row.gif" width="20" height="20"></td>
+    <td>Poista valittu rivi. </td>
+  </tr>
+  <tr>
+    <td><img src="../images/table_insert_col_before.gif" width="20" height="20"></td>
+    <td>Lisää saraka valitun sarakkeen jälkeen.</td>
+  </tr>
+  <tr>
+    <td><img src="../images/table_insert_col_after.gif" width="20" height="20"></td>
+    <td>Lisää sarake valitun sarakkeen edelle.</td>
+  </tr>
+  <tr>
+    <td><img src="../images/table_delete_col.gif" width="20" height="20"></td>
+    <td>Poistaa valitun sarakkeen.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/hr.gif" width="20" height="20"></td>
+    <td>Lisää vaakaviiva. </td>
+  </tr>
+  <tr>
+    <td><img src="../../images/removeformat.gif" width="20" height="20"></td>
+    <td>Poista muotoilu valitusta tekstistä. </td>
+  </tr>
+  <tr>
+    <td><img src="../../images/sub.gif" width="20" height="20"></td>
+    <td>Tekee valitusta tekstistä alamääreistä. </td>
+  </tr>
+  <tr>
+    <td><img src="../../images/sup.gif" width="20" height="20"></td>
+    <td>Tekee valitusta tekstistä ylämääreistä. </td>
+  </tr>
+</table>
+<br>
+<hr noshade>
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pagefooter">
+  <tr> 
+    <td>Mene: <a href="index.htm">Sisällysluetteloon</a></td>
+    <td align="right"><a href="#">Alkuun</a></td>
+  </tr>
+</table>
+<br>
+</BODY>
+</HTML>
diff --git a/webcit/tiny_mce/themes/advanced/docs/fi/images/insert_image_window.gif b/webcit/tiny_mce/themes/advanced/docs/fi/images/insert_image_window.gif
new file mode 100644 (file)
index 0000000..d91d9e1
Binary files /dev/null and b/webcit/tiny_mce/themes/advanced/docs/fi/images/insert_image_window.gif differ
diff --git a/webcit/tiny_mce/themes/advanced/docs/fi/images/insert_link_window.gif b/webcit/tiny_mce/themes/advanced/docs/fi/images/insert_link_window.gif
new file mode 100644 (file)
index 0000000..2b1ad92
Binary files /dev/null and b/webcit/tiny_mce/themes/advanced/docs/fi/images/insert_link_window.gif differ
diff --git a/webcit/tiny_mce/themes/advanced/docs/fi/images/insert_table_window.gif b/webcit/tiny_mce/themes/advanced/docs/fi/images/insert_table_window.gif
new file mode 100644 (file)
index 0000000..5570728
Binary files /dev/null and b/webcit/tiny_mce/themes/advanced/docs/fi/images/insert_table_window.gif differ
diff --git a/webcit/tiny_mce/themes/advanced/docs/fi/index.htm b/webcit/tiny_mce/themes/advanced/docs/fi/index.htm
new file mode 100644 (file)
index 0000000..ac5af4c
--- /dev/null
@@ -0,0 +1,25 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<HEAD>
+<TITLE>Apua sisällysluettelo</TITLE>
+<link href="style.css" rel="stylesheet" type="text/css">
+</HEAD>
+<BODY onload="window.focus();">
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pageheader">
+  <tr> 
+    <td><span class="title">Sisällysluettelo</span></td>
+    <td align="right">&nbsp;</td>
+  </tr>
+</table>
+<hr noshade>
+<br>
+Napsauta alla olevista linkeistä mennäksesi eri osa-alueisiin. 
+<ul class="toc_ul">
+  <li class="toc_li"><a href="about.htm">Lisätietoa TinyMCE:stä</a></li>
+  <li class="toc_li"><a href="common_buttons.htm">Toimintonapit</a></li>
+  <li class="toc_li"><a href="insert_image_button.htm">Kuvan lisäysnapit</a></li>
+  <li class="toc_li"><a href="insert_link_button.htm">Linkin lisäysnapit</a></li>
+  <li class="toc_li"><a href="insert_table_button.htm">Taulun lisäysnapit</a></li>
+</ul>
+<hr noshade>
+</BODY>
+</HTML>
diff --git a/webcit/tiny_mce/themes/advanced/docs/fi/insert_image_button.htm b/webcit/tiny_mce/themes/advanced/docs/fi/insert_image_button.htm
new file mode 100644 (file)
index 0000000..7a119c4
--- /dev/null
@@ -0,0 +1,65 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<HEAD>
+<TITLE>Insert image button</TITLE>
+<link href="style.css" rel="stylesheet" type="text/css">
+</HEAD>
+
+<BODY>
+
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pageheader">
+  <tr> 
+    <td><span class="title">Lisää linkki -nappi</span></td>
+    <td align="right"><a href="index.htm"><acronym title="Table of contents">TOC</acronym></a></td>
+  </tr>
+</table>
+<hr noshade>
+<br>
+Lisää linkki -nappi avaa alla näkyvän ikkunan.<br>
+<br>
+<img src="images/insert_image_window.gif"><br>
+<br>
+Kirjoita haluamasi kuvan URL osoite ja lisää kuvalle selite. Selite näytetään vaihtoehtoisena selitteenä sivulla. 
+<br>
+<br>
+<strong>Kenttien selitykset:</strong><br>
+<table border="1" cellspacing="0">
+  <tr>
+    <td width="150"><strong>Kuvan URL</strong></td>
+    <td>Kuvan URL tai polku.</td>
+  </tr>
+  <tr>
+    <td width="150"><strong>Kuvan selite</strong></td>
+    <td>Vaihtoehtoinen selite kuvan sisällöstä.</td>
+  </tr>
+  <tr>
+    <td><strong>Ulottuvuudet</strong></td>
+    <td>Kuvan leveys ja korkeus. </td>
+  </tr>
+  <tr>
+    <td><strong>Asettelu</strong></td>
+    <td>Kuvan asettelu, käytännöllinen kun halutaan tekstin rivittyvän kuvan ympärille.</td>
+  </tr>
+  <tr>
+    <td><strong>Reuna</strong></td>
+    <td>Kuvaa ympäröivän reunan leveys. </td>
+  </tr>
+  <tr>
+    <td><strong>Pystyväli</strong></td>
+    <td>Pystyväli, käytännöllinen kun halutaan tekstin rivittyvän kuvan ympärille.</td>
+  </tr>
+  <tr>
+    <td><strong>Vaakaväli</strong></td>
+    <td>Vaakaväli, useful when wrapping text around images.</td>
+  </tr>
+</table>
+<br>
+<hr noshade>
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pagefooter">
+  <tr> 
+    <td>Mene: <a href="index.htm">Sisällysluetteloon</a></td>
+    <td align="right"><a href="#">Alkuun</a></td>
+  </tr>
+</table>
+<br>
+</BODY>
+</HTML>
diff --git a/webcit/tiny_mce/themes/advanced/docs/fi/insert_link_button.htm b/webcit/tiny_mce/themes/advanced/docs/fi/insert_link_button.htm
new file mode 100644 (file)
index 0000000..3605517
--- /dev/null
@@ -0,0 +1,35 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<HEAD>
+<TITLE>Insert link button</TITLE>
+<link href="style.css" rel="stylesheet" type="text/css">
+</HEAD>
+
+<BODY>
+
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pageheader">
+  <tr> 
+    <td><span class="title">Lisää linkki</span></td>
+    <td align="right"><a href="index.htm">Sisällysluettelo</a></td>
+  </tr>
+</table>
+<hr noshade>
+<br>
+Tämä nappi avaa uuden ikkunan jossa on linkin lisäys- ja muokkaustoiminnallisuus.<br>
+<br>
+<img src="images/insert_link_window.gif" width="336" height="208"><br>
+<br>
+
+Tässä ikkunassa on kaksi kenttää. Ensimmäinen kenttä, &quot;Linkin URL&quot;, on linkin osoittama URL -osoite. 
+Toinen kenttä, &quot;kohde&quot;, vaikuttaa siihen miten linkki avataan. 
+The target enables you to select how the link is to be opened.<br>
+<br>
+<hr noshade>
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pagefooter">
+  <tr> 
+    <td>Mene: <a href="index.htm">Sisällysluetteloon</a></td>
+    <td align="right"><a href="#">Alkuun</a></td>
+  </tr>
+</table>
+<br>
+</BODY>
+</HTML>
diff --git a/webcit/tiny_mce/themes/advanced/docs/fi/insert_table_button.htm b/webcit/tiny_mce/themes/advanced/docs/fi/insert_table_button.htm
new file mode 100644 (file)
index 0000000..b43df36
--- /dev/null
@@ -0,0 +1,67 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<HEAD>
+<TITLE>Insert table button</TITLE>
+<link href="style.css" rel="stylesheet" type="text/css">
+</HEAD>
+
+<BODY>
+
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pageheader">
+  <tr> 
+    <td><span class="title">Lisää taulu -nappi</span></td>
+    <td align="right"><a href="index.htm">Sisällysluettelo</a></td>
+  </tr>
+</table>
+<hr noshade>
+<br>
+Lisää taulu -nappi avaa alla näkyvän ikkunan. Tämä toimonto mahdollistaa taulujen luonnin.<br>
+<br>
+<img src="images/insert_table_window.gif" width="340" height="209"><br>
+<br>
+<strong>Kenttien selitteet:</strong><br>
+<table border="1" cellspacing="0">
+  <tr>
+    <td width="150"><strong>Sarakkeet</strong></td>
+    <td>Taulussa olevien saraakkeiden määrä. </td>
+  </tr>
+  <tr>
+    <td width="150"><strong>Rivit</strong></td>
+    <td>Taulussa olevien rivien määrä.</td>
+  </tr>
+  <tr>
+    <td><strong>Solun reunan ja sisällön väli</strong></td>
+    <td>Taulun sisällä olevan solun reunan ja sisällön väli. </td>
+  </tr>
+  <tr>
+    <td><strong>Solujen väli</strong></td>
+    <td>Taulun sisällä olevien solujen väli.</td>
+  </tr>
+  <tr>
+    <td><strong>Asettelu</strong></td>
+    <td>Taulun asettelu. </td>
+  </tr>
+  <tr>
+    <td><strong>Reuna</strong></td>
+    <td>Reunan leveys.</td>
+  </tr>
+  <tr>
+    <td><strong>Leveys</strong></td>
+    <td>Taulun leveys pikseleinä.</td>
+  </tr>
+  <tr>
+    <td><strong>Korkeus</strong></td>
+    <td>Taulun korkeus pikseleinä.</td>
+  </tr>
+</table>
+<br>
+<br>
+<hr noshade>
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pagefooter">
+  <tr> 
+    <td>Mene: <a href="index.htm">Sisällysluetteloon</a></td>
+    <td align="right"><a href="#">Alkuun</a></td>
+  </tr>
+</table>
+<br>
+</BODY>
+</HTML>
diff --git a/webcit/tiny_mce/themes/advanced/docs/fi/style.css b/webcit/tiny_mce/themes/advanced/docs/fi/style.css
new file mode 100644 (file)
index 0000000..975bc5a
--- /dev/null
@@ -0,0 +1,28 @@
+body { background-color: #FFFFFF; }
+body, td, .content { font-family: Verdana, Arial, helvetica, sans-serif; font-size: 12px; }
+.title { font-family: Verdana, Arial, helvetica, sans-serif; font-size: 16px; font-weight: bold; }
+.subtitle { font-size: 12px; font-weight: bold; }
+
+.toc_ul, .toc_li { margin-left: 8 px; line-height: 16px; }
+.step_ol, .step_li { margin-left: 11 px; line-height: 16px; }
+img { border: #000000 solid 1px; }
+
+a:visited { color: #666666; text-decoration: underline; }
+a:active { color: #666666; text-decoration: underline; }
+a:hover { color: #666666; text-decoration: underline; }
+a { color: #666666; text-decoration: underline; }
+
+.pageheader { border: #E0E0E0 solid 1px; }
+.pagefooter { border: #E0E0E0 solid 1px; }
+.sample { background-color: #FFFFFF; border: #000000 solid 1px; }
+.samplecontent { font-size: 10px; }
+
+.code { background-color: #FFFFFF; border: #000000 solid 1px; }
+.codecontent { font-size: 10px; }
+.codecontent a:visited { color: #666666; text-decoration: none; font-weight: bold }
+.codecontent a:active { color: #666666; text-decoration: none; font-weight: bold  }
+.codecontent a:hover { color: #666666; text-decoration: none; font-weight: bold  }
+.codecontent a { color: #666666; text-decoration: none; font-weight: bold  }
+
+hr { height: 1px; }
+
diff --git a/webcit/tiny_mce/themes/advanced/docs/fr/about.htm b/webcit/tiny_mce/themes/advanced/docs/fr/about.htm
new file mode 100644 (file)
index 0000000..ea3b69d
--- /dev/null
@@ -0,0 +1,32 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<HEAD>
+<TITLE>&Agrave; propos de TinyMCE</TITLE>
+<link href="style.css" rel="stylesheet" type="text/css">
+</HEAD>
+
+<BODY>
+
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pageheader">
+  <tr> 
+    <td><span class="title">&Agrave; propos de TinyMCE</span></td>
+    <td align="right"><a href="index.htm">Table des mati&egrave;res</a></td>
+  </tr>
+</table>
+<hr noshade>
+<br>
+TinyMCE est un petit &eacute;diteur "WYSIWYG" pour page Web comme MSIE ou Mozilla qui
+vous permet de manipuler du contenu HTML d'une fa&ccedil;on plus intuitive.
+Il est simple d'utilisation et poss&egrave;de les fonctionalit&eacute;s ls plus r&eacute;pendues que l'on peut retrouver dans
+les traitements de texte.
+<br>
+<br>
+<hr noshade>
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pagefooter">
+  <tr> 
+    <td>Aller &agrave;: <a href="index.htm">Table des mati&egrave;res</a></td>
+    <td align="right"><a href="#">Haut de page</a></td>
+  </tr>
+</table>
+<br>
+</BODY>
+</HTML>
diff --git a/webcit/tiny_mce/themes/advanced/docs/fr/common_buttons.htm b/webcit/tiny_mce/themes/advanced/docs/fr/common_buttons.htm
new file mode 100644 (file)
index 0000000..d93cebb
--- /dev/null
@@ -0,0 +1,160 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<HEAD>
+<TITLE>Outils communs</TITLE>
+<link href="style.css" rel="stylesheet" type="text/css">
+</HEAD>
+
+<BODY>
+
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pageheader">
+  <tr> 
+    <td><span class="title">Outils communs</span></td>
+    <td align="right"><a href="index.htm">Table des mati&egrave;res</a></td>
+  </tr>
+</table>
+<hr noshade>
+<br>
+Ci-dessous une courte description de chacuns des outils.<img src="../../images/spacer.gif" width="1" height="1"> 
+<br>
+<br>
+<table border="1" cellpadding="3" cellspacing="0">
+  <tr>
+    <td><img src="../../images/bold_fr.gif" width="20" height="20"></td>
+    <td>Met le texte s&eacute;lectionn&eacute; en gras.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/italic.gif" width="20" height="20"></td>
+    <td>Met le texte s&eacute;lectionn&eacute; en italique.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/underline.gif" width="20" height="20"></td>
+    <td>Souligne le texte s&eacute;lectionn&eacute;.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/strikethrough.gif" width="20" height="20"></td>
+    <td>Barre le texte s&eacute;lectionn&eacute;.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/left.gif" width="20" height="20"></td>
+    <td>Alignement &agrave; gauche.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/center.gif" width="20" height="20"></td>
+    <td>Alignement au centr&eacute;.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/right.gif" width="20" height="20"></td>
+    <td>Alignement &agrave; droite.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/full.gif" width="20" height="20"></td>
+    <td>Texte justifi&eacute;.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/bullist.gif" width="20" height="20"></td>
+    <td>Liste &agrave; puces.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/numlist.gif" width="20" height="20"></td>
+    <td>Liste num&eacute;rot&eacute;e</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/outdent.gif" width="20" height="20"></td>
+    <td>R&eacute;duit l'indentation.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/indent.gif" width="20" height="20"></td>
+    <td>Augmente l'indentation.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/undo.gif" width="20" height="20"></td>
+    <td>Annule la derni&egrave;re op&eacute;ration.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/redo.gif" width="20" height="20"></td>
+    <td>Refait la derni&egrave;re op&eacute;ration annul&eacute;e.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/link.gif" width="20" height="20"></td>
+    <td>Ins&egrave;re ou modifie un hyperlien. Allez &agrave; la page <a href="insert_link_button.htm">
+        Outil d'ajout d'hyperliens</a> pour plus de d&eacute;tails.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/unlink.gif" width="20" height="20"></td>
+    <td>Efface les hyperliens qui sont s&eacute;lection&eacute;es.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/image.gif" width="20" height="20"></td>
+    <td>Ins&egrave;re ou modifie une image. Allez &agrave; la page <a href="insert_image_button.htm">
+        Outil d'ajout d'images</a> pour plus de d&eacute;tails.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/cleanup.gif" width="20" height="20"></td>
+    <td>Nettoie le code et retire les param&egrave;tres non d&eacute;sir&eacute;s.  Cet outil
+    est tr&egrave;s utile lorsque vous copiez du contenu provenant de logiciels
+    de bureatique.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/help.gif" width="20" height="20"></td>
+    <td>Affiche cette page d'aide.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/code.gif" width="20" height="20"></td>
+    <td>Ouvre un &eacute;diteur permettant de modifier le code HTML. </td>
+  </tr>
+  <tr>
+    <td><img src="../images/table.gif" width="20" height="20"></td>
+    <td>Ins&egrave;re un nouveau tableau &agrave; la position actuelle.  Allez &agrave; la page <a href="insert_table_button.htm">
+        Outil d'ajout de tableau</a> pour plus de d&eacute;tails.</td>
+  </tr>
+  <tr>
+    <td><img src="../images/table_insert_row_before.gif" width="20" height="20"></td>
+    <td>Ajoute une ligne au tableau avant la ligne courante. </td>
+  </tr>
+  <tr>
+    <td><img src="../images/table_insert_row_after.gif" width="20" height="20"></td>
+    <td>Ajoute une ligne au tableau apr&egrave;s la ligne courante. </td>
+  </tr>
+  <tr>
+    <td><img src="../images/table_delete_row.gif" width="20" height="20"></td>
+    <td>Supprime la ligne courante. </td>
+  </tr>
+  <tr>
+    <td><img src="../images/table_insert_col_before.gif" width="20" height="20"></td>
+    <td>Ajoute une colonne au tableau avant la colonne courante. </td>
+  </tr>
+  <tr>
+    <td><img src="../images/table_insert_col_after.gif" width="20" height="20"></td>
+    <td>Ajoute une colonne au tableau apr&egrave;s la colonne courante. </td>
+  </tr>
+  <tr>
+    <td><img src="../images/table_delete_col.gif" width="20" height="20"></td>
+    <td>Supprime la colonne courante. </td>
+  </tr>
+  <tr>
+    <td><img src="../../images/hr.gif" width="20" height="20"></td>
+    <td>Ins&egrave;re un s&eacute;parateur horizontal. </td>
+  </tr>
+  <tr>
+    <td><img src="../../images/removeformat.gif" width="20" height="20"></td>
+    <td>Supprime les formattages du texte s&eacute;lectionn&eacute;. </td>
+  </tr>
+  <tr>
+    <td><img src="../../images/sub.gif" width="20" height="20"></td>
+    <td>Transforme le texte s&eacute;lectionn&eacute; en texte souscrit. </td>
+  </tr>
+  <tr>
+    <td><img src="../../images/sup.gif" width="20" height="20"></td>
+    <td>Transforme le texte s&eacute;lectionn&eacute; en indice sup&eacute;rieur. </td>
+  </tr>
+</table>
+<br>
+<hr noshade>
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pagefooter">
+  <tr> 
+    <td>Aller &agrave;: <a href="index.htm">Table des mati&egrave;res</a></td>
+    <td align="right"><a href="#">Haut de page</a></td>
+  </tr>
+</table>
+</BODY>
+</HTML>
diff --git a/webcit/tiny_mce/themes/advanced/docs/fr/images/insert_image_window.gif b/webcit/tiny_mce/themes/advanced/docs/fr/images/insert_image_window.gif
new file mode 100644 (file)
index 0000000..1f2edf6
Binary files /dev/null and b/webcit/tiny_mce/themes/advanced/docs/fr/images/insert_image_window.gif differ
diff --git a/webcit/tiny_mce/themes/advanced/docs/fr/images/insert_link_window.gif b/webcit/tiny_mce/themes/advanced/docs/fr/images/insert_link_window.gif
new file mode 100644 (file)
index 0000000..dc79236
Binary files /dev/null and b/webcit/tiny_mce/themes/advanced/docs/fr/images/insert_link_window.gif differ
diff --git a/webcit/tiny_mce/themes/advanced/docs/fr/images/insert_table_window.gif b/webcit/tiny_mce/themes/advanced/docs/fr/images/insert_table_window.gif
new file mode 100644 (file)
index 0000000..be00df4
Binary files /dev/null and b/webcit/tiny_mce/themes/advanced/docs/fr/images/insert_table_window.gif differ
diff --git a/webcit/tiny_mce/themes/advanced/docs/fr/index.htm b/webcit/tiny_mce/themes/advanced/docs/fr/index.htm
new file mode 100644 (file)
index 0000000..2a4b23e
--- /dev/null
@@ -0,0 +1,25 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<HEAD>
+<TITLE>Table des mati&egrave;res de l'aide</TITLE>
+<link href="style.css" rel="stylesheet" type="text/css">
+</HEAD>
+<BODY onload="window.focus();">
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pageheader">
+  <tr> 
+    <td><span class="title">Table des mati&egrave;res</span></td>
+    <td align="right">&nbsp;</td>
+  </tr>
+</table>
+<hr noshade>
+<br>
+Faites votre s&eacute;lection parmis les th&egrave;mes suivants:
+<ul class="toc_ul">
+  <li class="toc_li"><a href="about.htm">&Agrave; propos de TinyMCE</a></li>
+  <li class="toc_li"><a href="common_buttons.htm">Outils communs</a></li>
+  <li class="toc_li"><a href="insert_image_button.htm">Outil d'ajout d'images</a></li>
+  <li class="toc_li"><a href="insert_link_button.htm">Outil d'ajout d'hyperliens</a></li>
+  <li class="toc_li"><a href="insert_table_button.htm">Outil d'ajout de tableau</a></li>
+</ul>
+<hr noshade>
+</BODY>
+</HTML>
diff --git a/webcit/tiny_mce/themes/advanced/docs/fr/insert_image_button.htm b/webcit/tiny_mce/themes/advanced/docs/fr/insert_image_button.htm
new file mode 100644 (file)
index 0000000..95324db
--- /dev/null
@@ -0,0 +1,66 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<HEAD>
+<TITLE>Outil d'ajout d'images</TITLE>
+<link href="style.css" rel="stylesheet" type="text/css">
+</HEAD>
+
+<BODY>
+
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pageheader">
+  <tr> 
+    <td><span class="title">Outil d'ajout d'images</span></td>
+    <td align="right"><a href="index.htm">Table des mati&egrave;res</a></td>
+  </tr>
+</table>
+<hr noshade>
+<br>
+L'outil d'ajout d'images ouvre la fen&ecirc;tre ci-dessous.<br>
+<br>
+<img src="images/insert_image_window.gif"><br>
+<br>
+Vous entrez tout simplement l'adresse de l'image que vous d&eacute;sirez ajouter et
+entrez une description facultative.  La description sera affich&eacute;e en texte alternatif
+sur l'image lorsqu'elle sera publi&eacute;e.<br>
+<br>
+<strong>Description des champs:</strong><br>
+<table border="1" cellspacing="0">
+  <tr>
+    <td width="150"><strong>Adresse de l'image </strong></td>
+    <td>Adresse URL de l'image &agrave; ins&eacute;rer.</td>
+  </tr>
+  <tr>
+    <td width="150"><strong>Description de l'image </strong></td>
+    <td>Description alternative de l'image.</td>
+  </tr>
+  <tr>
+    <td><strong>Dimensions</strong></td>
+    <td>Largeur et Hauteur de l'image en pixel. </td>
+  </tr>
+  <tr>
+    <td><strong>Alignement</strong></td>
+    <td>Alignement de l'image. Tr&egrave;s utile pour faire contourner le texte autour des images.</td>
+  </tr>
+  <tr>
+    <td><strong>Bordure</strong></td>
+    <td>&Eacute;paisseur en pixel de la bordure. </td>
+  </tr>
+  <tr>
+    <td><strong>VSpace</strong></td>
+    <td>Espacement vertical. Tr&egrave;s utile pour faire contourner le texte autour des images.</td>
+  </tr>
+  <tr>
+    <td><strong>HSpace</strong></td>
+    <td>Espacement horizontal. Tr&egrave;s utile pour faire contourner le texte autour des images.</td>
+  </tr>
+</table>
+<br>
+<hr noshade>
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pagefooter">
+  <tr> 
+    <td>Aller &agrave;: <a href="index.htm">Table des mati&egrave;res</a></td>
+    <td align="right"><a href="#">Haut de page</a></td>
+  </tr>
+</table>
+<br>
+</BODY>
+</HTML>
diff --git a/webcit/tiny_mce/themes/advanced/docs/fr/insert_link_button.htm b/webcit/tiny_mce/themes/advanced/docs/fr/insert_link_button.htm
new file mode 100644 (file)
index 0000000..723216d
--- /dev/null
@@ -0,0 +1,34 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<HEAD>
+<TITLE>Outil d'ajout d'hyperliens</TITLE>
+<link href="style.css" rel="stylesheet" type="text/css">
+</HEAD>
+
+<BODY>
+
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pageheader">
+  <tr> 
+    <td><span class="title">Outil d'ajout d'hyperliens</span></td>
+    <td align="right"><a href="index.htm">Table des mati&egrave;res</a></td>
+  </tr>
+</table>
+<hr noshade>
+<br>
+L'outil d'ajout d'hyperlien ouvre la fen&ecirc;tre ci-dessous.<br>
+<br>
+<img src="images/insert_link_window.gif"><br>
+<br>
+Il y a deux champs dans cette fen&ecirc;tre. L'Adresse URL est l'adresse
+de l'hyperlien.  La destination vous permet de choisir de quelle fa&ccedil;on
+l'hyperlien sera ouvert.<br>
+<br>
+<hr noshade>
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pagefooter">
+  <tr> 
+    <td>Aller &agrave;: <a href="index.htm">Table des mati&egrave;res</a></td>
+    <td align="right"><a href="#">Haut de page</a></td>
+  </tr>
+</table>
+<br>
+</BODY>
+</HTML>
diff --git a/webcit/tiny_mce/themes/advanced/docs/fr/insert_table_button.htm b/webcit/tiny_mce/themes/advanced/docs/fr/insert_table_button.htm
new file mode 100644 (file)
index 0000000..59e554b
--- /dev/null
@@ -0,0 +1,71 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<HEAD>
+<TITLE>Outil d'ajout de tableau</TITLE>
+<link href="style.css" rel="stylesheet" type="text/css">
+</HEAD>
+
+<BODY>
+
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pageheader">
+  <tr> 
+    <td><span class="title">Outil d'ajout de tableau</span></td>
+    <td align="right"><a href="index.htm">Table des mati&egrave;res</a></td>
+  </tr>
+</table>
+<hr noshade>
+<br>
+L'outil d'ajout de tableau ouvre la fen&ecirc;tre ci-dessous.  Elle vous permet de créer dfes talbeaux.<br>
+<br>
+<img src="images/insert_table_window.gif"><br>
+<br>
+<strong>Description des champs:</strong><br>
+<table border="1" cellspacing="0">
+  <tr>
+    <td width="150"><strong>Colonnes</strong></td>
+    <td>Nombre de colonnes du tableau. </td>
+  </tr>
+  <tr>
+    <td width="150"><strong>Lignes</strong></td>
+    <td>Nombre de lignes du tableau. </td>
+  </tr>
+  <tr>
+    <td><strong>Cellpadding</strong></td>
+    <td>Marge à l'intérieur des cellules du tableau. </td>
+  </tr>
+  <tr>
+    <td><strong>Cellspacing</strong></td>
+    <td>Espacement entre les cellules du tableau. </td>
+  </tr>
+  <tr>
+    <td><strong>Alignement</strong></td>
+    <td>Alignement du tableau. </td>
+  </tr>
+  <tr>
+    <td><strong>Bordure</strong></td>
+    <td>Épaisseur des bordures du tableau.</td>
+  </tr>
+  <tr>
+    <td><strong>Largeur</strong></td>
+    <td>Largeur en pixel du tableau.</td>
+  </tr>
+  <tr>
+    <td><strong>Hauteur</strong></td>
+    <td>Hauteur en pixel du tableau.</td>
+  </tr>
+  <tr>
+    <td><strong>Classe CSS</strong></td>
+    <td>Nom de la classe CSS pour appliquer un style.</td>
+  </tr>
+</table>
+<br>
+<br>
+<hr noshade>
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pagefooter">
+  <tr> 
+    <td>Aller &agrave;: <a href="index.htm">Table des mati&egrave;res</a></td>
+    <td align="right"><a href="#">Haut de page</a></td>
+  </tr>
+</table>
+<br>
+</BODY>
+</HTML>
diff --git a/webcit/tiny_mce/themes/advanced/docs/fr/style.css b/webcit/tiny_mce/themes/advanced/docs/fr/style.css
new file mode 100644 (file)
index 0000000..975bc5a
--- /dev/null
@@ -0,0 +1,28 @@
+body { background-color: #FFFFFF; }
+body, td, .content { font-family: Verdana, Arial, helvetica, sans-serif; font-size: 12px; }
+.title { font-family: Verdana, Arial, helvetica, sans-serif; font-size: 16px; font-weight: bold; }
+.subtitle { font-size: 12px; font-weight: bold; }
+
+.toc_ul, .toc_li { margin-left: 8 px; line-height: 16px; }
+.step_ol, .step_li { margin-left: 11 px; line-height: 16px; }
+img { border: #000000 solid 1px; }
+
+a:visited { color: #666666; text-decoration: underline; }
+a:active { color: #666666; text-decoration: underline; }
+a:hover { color: #666666; text-decoration: underline; }
+a { color: #666666; text-decoration: underline; }
+
+.pageheader { border: #E0E0E0 solid 1px; }
+.pagefooter { border: #E0E0E0 solid 1px; }
+.sample { background-color: #FFFFFF; border: #000000 solid 1px; }
+.samplecontent { font-size: 10px; }
+
+.code { background-color: #FFFFFF; border: #000000 solid 1px; }
+.codecontent { font-size: 10px; }
+.codecontent a:visited { color: #666666; text-decoration: none; font-weight: bold }
+.codecontent a:active { color: #666666; text-decoration: none; font-weight: bold  }
+.codecontent a:hover { color: #666666; text-decoration: none; font-weight: bold  }
+.codecontent a { color: #666666; text-decoration: none; font-weight: bold  }
+
+hr { height: 1px; }
+
diff --git a/webcit/tiny_mce/themes/advanced/docs/fr_ca/about.htm b/webcit/tiny_mce/themes/advanced/docs/fr_ca/about.htm
new file mode 100644 (file)
index 0000000..ea3b69d
--- /dev/null
@@ -0,0 +1,32 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<HEAD>
+<TITLE>&Agrave; propos de TinyMCE</TITLE>
+<link href="style.css" rel="stylesheet" type="text/css">
+</HEAD>
+
+<BODY>
+
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pageheader">
+  <tr> 
+    <td><span class="title">&Agrave; propos de TinyMCE</span></td>
+    <td align="right"><a href="index.htm">Table des mati&egrave;res</a></td>
+  </tr>
+</table>
+<hr noshade>
+<br>
+TinyMCE est un petit &eacute;diteur "WYSIWYG" pour page Web comme MSIE ou Mozilla qui
+vous permet de manipuler du contenu HTML d'une fa&ccedil;on plus intuitive.
+Il est simple d'utilisation et poss&egrave;de les fonctionalit&eacute;s ls plus r&eacute;pendues que l'on peut retrouver dans
+les traitements de texte.
+<br>
+<br>
+<hr noshade>
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pagefooter">
+  <tr> 
+    <td>Aller &agrave;: <a href="index.htm">Table des mati&egrave;res</a></td>
+    <td align="right"><a href="#">Haut de page</a></td>
+  </tr>
+</table>
+<br>
+</BODY>
+</HTML>
diff --git a/webcit/tiny_mce/themes/advanced/docs/fr_ca/common_buttons.htm b/webcit/tiny_mce/themes/advanced/docs/fr_ca/common_buttons.htm
new file mode 100644 (file)
index 0000000..d93cebb
--- /dev/null
@@ -0,0 +1,160 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<HEAD>
+<TITLE>Outils communs</TITLE>
+<link href="style.css" rel="stylesheet" type="text/css">
+</HEAD>
+
+<BODY>
+
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pageheader">
+  <tr> 
+    <td><span class="title">Outils communs</span></td>
+    <td align="right"><a href="index.htm">Table des mati&egrave;res</a></td>
+  </tr>
+</table>
+<hr noshade>
+<br>
+Ci-dessous une courte description de chacuns des outils.<img src="../../images/spacer.gif" width="1" height="1"> 
+<br>
+<br>
+<table border="1" cellpadding="3" cellspacing="0">
+  <tr>
+    <td><img src="../../images/bold_fr.gif" width="20" height="20"></td>
+    <td>Met le texte s&eacute;lectionn&eacute; en gras.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/italic.gif" width="20" height="20"></td>
+    <td>Met le texte s&eacute;lectionn&eacute; en italique.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/underline.gif" width="20" height="20"></td>
+    <td>Souligne le texte s&eacute;lectionn&eacute;.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/strikethrough.gif" width="20" height="20"></td>
+    <td>Barre le texte s&eacute;lectionn&eacute;.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/left.gif" width="20" height="20"></td>
+    <td>Alignement &agrave; gauche.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/center.gif" width="20" height="20"></td>
+    <td>Alignement au centr&eacute;.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/right.gif" width="20" height="20"></td>
+    <td>Alignement &agrave; droite.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/full.gif" width="20" height="20"></td>
+    <td>Texte justifi&eacute;.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/bullist.gif" width="20" height="20"></td>
+    <td>Liste &agrave; puces.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/numlist.gif" width="20" height="20"></td>
+    <td>Liste num&eacute;rot&eacute;e</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/outdent.gif" width="20" height="20"></td>
+    <td>R&eacute;duit l'indentation.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/indent.gif" width="20" height="20"></td>
+    <td>Augmente l'indentation.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/undo.gif" width="20" height="20"></td>
+    <td>Annule la derni&egrave;re op&eacute;ration.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/redo.gif" width="20" height="20"></td>
+    <td>Refait la derni&egrave;re op&eacute;ration annul&eacute;e.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/link.gif" width="20" height="20"></td>
+    <td>Ins&egrave;re ou modifie un hyperlien. Allez &agrave; la page <a href="insert_link_button.htm">
+        Outil d'ajout d'hyperliens</a> pour plus de d&eacute;tails.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/unlink.gif" width="20" height="20"></td>
+    <td>Efface les hyperliens qui sont s&eacute;lection&eacute;es.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/image.gif" width="20" height="20"></td>
+    <td>Ins&egrave;re ou modifie une image. Allez &agrave; la page <a href="insert_image_button.htm">
+        Outil d'ajout d'images</a> pour plus de d&eacute;tails.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/cleanup.gif" width="20" height="20"></td>
+    <td>Nettoie le code et retire les param&egrave;tres non d&eacute;sir&eacute;s.  Cet outil
+    est tr&egrave;s utile lorsque vous copiez du contenu provenant de logiciels
+    de bureatique.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/help.gif" width="20" height="20"></td>
+    <td>Affiche cette page d'aide.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/code.gif" width="20" height="20"></td>
+    <td>Ouvre un &eacute;diteur permettant de modifier le code HTML. </td>
+  </tr>
+  <tr>
+    <td><img src="../images/table.gif" width="20" height="20"></td>
+    <td>Ins&egrave;re un nouveau tableau &agrave; la position actuelle.  Allez &agrave; la page <a href="insert_table_button.htm">
+        Outil d'ajout de tableau</a> pour plus de d&eacute;tails.</td>
+  </tr>
+  <tr>
+    <td><img src="../images/table_insert_row_before.gif" width="20" height="20"></td>
+    <td>Ajoute une ligne au tableau avant la ligne courante. </td>
+  </tr>
+  <tr>
+    <td><img src="../images/table_insert_row_after.gif" width="20" height="20"></td>
+    <td>Ajoute une ligne au tableau apr&egrave;s la ligne courante. </td>
+  </tr>
+  <tr>
+    <td><img src="../images/table_delete_row.gif" width="20" height="20"></td>
+    <td>Supprime la ligne courante. </td>
+  </tr>
+  <tr>
+    <td><img src="../images/table_insert_col_before.gif" width="20" height="20"></td>
+    <td>Ajoute une colonne au tableau avant la colonne courante. </td>
+  </tr>
+  <tr>
+    <td><img src="../images/table_insert_col_after.gif" width="20" height="20"></td>
+    <td>Ajoute une colonne au tableau apr&egrave;s la colonne courante. </td>
+  </tr>
+  <tr>
+    <td><img src="../images/table_delete_col.gif" width="20" height="20"></td>
+    <td>Supprime la colonne courante. </td>
+  </tr>
+  <tr>
+    <td><img src="../../images/hr.gif" width="20" height="20"></td>
+    <td>Ins&egrave;re un s&eacute;parateur horizontal. </td>
+  </tr>
+  <tr>
+    <td><img src="../../images/removeformat.gif" width="20" height="20"></td>
+    <td>Supprime les formattages du texte s&eacute;lectionn&eacute;. </td>
+  </tr>
+  <tr>
+    <td><img src="../../images/sub.gif" width="20" height="20"></td>
+    <td>Transforme le texte s&eacute;lectionn&eacute; en texte souscrit. </td>
+  </tr>
+  <tr>
+    <td><img src="../../images/sup.gif" width="20" height="20"></td>
+    <td>Transforme le texte s&eacute;lectionn&eacute; en indice sup&eacute;rieur. </td>
+  </tr>
+</table>
+<br>
+<hr noshade>
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pagefooter">
+  <tr> 
+    <td>Aller &agrave;: <a href="index.htm">Table des mati&egrave;res</a></td>
+    <td align="right"><a href="#">Haut de page</a></td>
+  </tr>
+</table>
+</BODY>
+</HTML>
diff --git a/webcit/tiny_mce/themes/advanced/docs/fr_ca/images/insert_anchor_window.gif b/webcit/tiny_mce/themes/advanced/docs/fr_ca/images/insert_anchor_window.gif
new file mode 100644 (file)
index 0000000..8e4104c
Binary files /dev/null and b/webcit/tiny_mce/themes/advanced/docs/fr_ca/images/insert_anchor_window.gif differ
diff --git a/webcit/tiny_mce/themes/advanced/docs/fr_ca/images/insert_image_window.gif b/webcit/tiny_mce/themes/advanced/docs/fr_ca/images/insert_image_window.gif
new file mode 100644 (file)
index 0000000..1f2edf6
Binary files /dev/null and b/webcit/tiny_mce/themes/advanced/docs/fr_ca/images/insert_image_window.gif differ
diff --git a/webcit/tiny_mce/themes/advanced/docs/fr_ca/images/insert_link_window.gif b/webcit/tiny_mce/themes/advanced/docs/fr_ca/images/insert_link_window.gif
new file mode 100644 (file)
index 0000000..dc79236
Binary files /dev/null and b/webcit/tiny_mce/themes/advanced/docs/fr_ca/images/insert_link_window.gif differ
diff --git a/webcit/tiny_mce/themes/advanced/docs/fr_ca/images/insert_table_window.gif b/webcit/tiny_mce/themes/advanced/docs/fr_ca/images/insert_table_window.gif
new file mode 100644 (file)
index 0000000..be00df4
Binary files /dev/null and b/webcit/tiny_mce/themes/advanced/docs/fr_ca/images/insert_table_window.gif differ
diff --git a/webcit/tiny_mce/themes/advanced/docs/fr_ca/index.htm b/webcit/tiny_mce/themes/advanced/docs/fr_ca/index.htm
new file mode 100644 (file)
index 0000000..2a4b23e
--- /dev/null
@@ -0,0 +1,25 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<HEAD>
+<TITLE>Table des mati&egrave;res de l'aide</TITLE>
+<link href="style.css" rel="stylesheet" type="text/css">
+</HEAD>
+<BODY onload="window.focus();">
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pageheader">
+  <tr> 
+    <td><span class="title">Table des mati&egrave;res</span></td>
+    <td align="right">&nbsp;</td>
+  </tr>
+</table>
+<hr noshade>
+<br>
+Faites votre s&eacute;lection parmis les th&egrave;mes suivants:
+<ul class="toc_ul">
+  <li class="toc_li"><a href="about.htm">&Agrave; propos de TinyMCE</a></li>
+  <li class="toc_li"><a href="common_buttons.htm">Outils communs</a></li>
+  <li class="toc_li"><a href="insert_image_button.htm">Outil d'ajout d'images</a></li>
+  <li class="toc_li"><a href="insert_link_button.htm">Outil d'ajout d'hyperliens</a></li>
+  <li class="toc_li"><a href="insert_table_button.htm">Outil d'ajout de tableau</a></li>
+</ul>
+<hr noshade>
+</BODY>
+</HTML>
diff --git a/webcit/tiny_mce/themes/advanced/docs/fr_ca/insert_anchor_button.htm b/webcit/tiny_mce/themes/advanced/docs/fr_ca/insert_anchor_button.htm
new file mode 100644 (file)
index 0000000..a9e8e83
--- /dev/null
@@ -0,0 +1,32 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<HEAD>
+<TITLE>Outil d'ajout d'ancres</TITLE>
+<link href="style.css" rel="stylesheet" type="text/css">
+</HEAD>
+
+<BODY>
+
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pageheader">
+  <tr> 
+    <td><span class="title">Outil d'ajout d'ancres</span></td>
+    <td align="right"><a href="index.htm">Table des mati&egrave;res</a></td>
+  </tr>
+</table>
+<hr noshade>
+<br>
+L'outil d'ajout d'ancres ouvre la fen&ecirc;tre ci-dessous.<br>
+<br>
+<img src="images/insert_anchor_window.gif"><br>
+<br>
+Il y a un seul champ dans cette fenêtre, c'est le nom de cette ancre.  Rappelez-vous, les noms doivent être unique dans la page.<br>
+<br>
+<hr noshade>
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pagefooter">
+  <tr> 
+    <td>Aller &agrave;: <a href="index.htm">Table des mati&egrave;res</a></td>
+    <td align="right"><a href="#">Haut de page</a></td>
+  </tr>
+</table>
+<br>
+</BODY>
+</HTML>
diff --git a/webcit/tiny_mce/themes/advanced/docs/fr_ca/insert_image_button.htm b/webcit/tiny_mce/themes/advanced/docs/fr_ca/insert_image_button.htm
new file mode 100644 (file)
index 0000000..95324db
--- /dev/null
@@ -0,0 +1,66 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<HEAD>
+<TITLE>Outil d'ajout d'images</TITLE>
+<link href="style.css" rel="stylesheet" type="text/css">
+</HEAD>
+
+<BODY>
+
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pageheader">
+  <tr> 
+    <td><span class="title">Outil d'ajout d'images</span></td>
+    <td align="right"><a href="index.htm">Table des mati&egrave;res</a></td>
+  </tr>
+</table>
+<hr noshade>
+<br>
+L'outil d'ajout d'images ouvre la fen&ecirc;tre ci-dessous.<br>
+<br>
+<img src="images/insert_image_window.gif"><br>
+<br>
+Vous entrez tout simplement l'adresse de l'image que vous d&eacute;sirez ajouter et
+entrez une description facultative.  La description sera affich&eacute;e en texte alternatif
+sur l'image lorsqu'elle sera publi&eacute;e.<br>
+<br>
+<strong>Description des champs:</strong><br>
+<table border="1" cellspacing="0">
+  <tr>
+    <td width="150"><strong>Adresse de l'image </strong></td>
+    <td>Adresse URL de l'image &agrave; ins&eacute;rer.</td>
+  </tr>
+  <tr>
+    <td width="150"><strong>Description de l'image </strong></td>
+    <td>Description alternative de l'image.</td>
+  </tr>
+  <tr>
+    <td><strong>Dimensions</strong></td>
+    <td>Largeur et Hauteur de l'image en pixel. </td>
+  </tr>
+  <tr>
+    <td><strong>Alignement</strong></td>
+    <td>Alignement de l'image. Tr&egrave;s utile pour faire contourner le texte autour des images.</td>
+  </tr>
+  <tr>
+    <td><strong>Bordure</strong></td>
+    <td>&Eacute;paisseur en pixel de la bordure. </td>
+  </tr>
+  <tr>
+    <td><strong>VSpace</strong></td>
+    <td>Espacement vertical. Tr&egrave;s utile pour faire contourner le texte autour des images.</td>
+  </tr>
+  <tr>
+    <td><strong>HSpace</strong></td>
+    <td>Espacement horizontal. Tr&egrave;s utile pour faire contourner le texte autour des images.</td>
+  </tr>
+</table>
+<br>
+<hr noshade>
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pagefooter">
+  <tr> 
+    <td>Aller &agrave;: <a href="index.htm">Table des mati&egrave;res</a></td>
+    <td align="right"><a href="#">Haut de page</a></td>
+  </tr>
+</table>
+<br>
+</BODY>
+</HTML>
diff --git a/webcit/tiny_mce/themes/advanced/docs/fr_ca/insert_link_button.htm b/webcit/tiny_mce/themes/advanced/docs/fr_ca/insert_link_button.htm
new file mode 100644 (file)
index 0000000..723216d
--- /dev/null
@@ -0,0 +1,34 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<HEAD>
+<TITLE>Outil d'ajout d'hyperliens</TITLE>
+<link href="style.css" rel="stylesheet" type="text/css">
+</HEAD>
+
+<BODY>
+
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pageheader">
+  <tr> 
+    <td><span class="title">Outil d'ajout d'hyperliens</span></td>
+    <td align="right"><a href="index.htm">Table des mati&egrave;res</a></td>
+  </tr>
+</table>
+<hr noshade>
+<br>
+L'outil d'ajout d'hyperlien ouvre la fen&ecirc;tre ci-dessous.<br>
+<br>
+<img src="images/insert_link_window.gif"><br>
+<br>
+Il y a deux champs dans cette fen&ecirc;tre. L'Adresse URL est l'adresse
+de l'hyperlien.  La destination vous permet de choisir de quelle fa&ccedil;on
+l'hyperlien sera ouvert.<br>
+<br>
+<hr noshade>
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pagefooter">
+  <tr> 
+    <td>Aller &agrave;: <a href="index.htm">Table des mati&egrave;res</a></td>
+    <td align="right"><a href="#">Haut de page</a></td>
+  </tr>
+</table>
+<br>
+</BODY>
+</HTML>
diff --git a/webcit/tiny_mce/themes/advanced/docs/fr_ca/insert_table_button.htm b/webcit/tiny_mce/themes/advanced/docs/fr_ca/insert_table_button.htm
new file mode 100644 (file)
index 0000000..59e554b
--- /dev/null
@@ -0,0 +1,71 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<HEAD>
+<TITLE>Outil d'ajout de tableau</TITLE>
+<link href="style.css" rel="stylesheet" type="text/css">
+</HEAD>
+
+<BODY>
+
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pageheader">
+  <tr> 
+    <td><span class="title">Outil d'ajout de tableau</span></td>
+    <td align="right"><a href="index.htm">Table des mati&egrave;res</a></td>
+  </tr>
+</table>
+<hr noshade>
+<br>
+L'outil d'ajout de tableau ouvre la fen&ecirc;tre ci-dessous.  Elle vous permet de créer dfes talbeaux.<br>
+<br>
+<img src="images/insert_table_window.gif"><br>
+<br>
+<strong>Description des champs:</strong><br>
+<table border="1" cellspacing="0">
+  <tr>
+    <td width="150"><strong>Colonnes</strong></td>
+    <td>Nombre de colonnes du tableau. </td>
+  </tr>
+  <tr>
+    <td width="150"><strong>Lignes</strong></td>
+    <td>Nombre de lignes du tableau. </td>
+  </tr>
+  <tr>
+    <td><strong>Cellpadding</strong></td>
+    <td>Marge à l'intérieur des cellules du tableau. </td>
+  </tr>
+  <tr>
+    <td><strong>Cellspacing</strong></td>
+    <td>Espacement entre les cellules du tableau. </td>
+  </tr>
+  <tr>
+    <td><strong>Alignement</strong></td>
+    <td>Alignement du tableau. </td>
+  </tr>
+  <tr>
+    <td><strong>Bordure</strong></td>
+    <td>Épaisseur des bordures du tableau.</td>
+  </tr>
+  <tr>
+    <td><strong>Largeur</strong></td>
+    <td>Largeur en pixel du tableau.</td>
+  </tr>
+  <tr>
+    <td><strong>Hauteur</strong></td>
+    <td>Hauteur en pixel du tableau.</td>
+  </tr>
+  <tr>
+    <td><strong>Classe CSS</strong></td>
+    <td>Nom de la classe CSS pour appliquer un style.</td>
+  </tr>
+</table>
+<br>
+<br>
+<hr noshade>
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pagefooter">
+  <tr> 
+    <td>Aller &agrave;: <a href="index.htm">Table des mati&egrave;res</a></td>
+    <td align="right"><a href="#">Haut de page</a></td>
+  </tr>
+</table>
+<br>
+</BODY>
+</HTML>
diff --git a/webcit/tiny_mce/themes/advanced/docs/fr_ca/style.css b/webcit/tiny_mce/themes/advanced/docs/fr_ca/style.css
new file mode 100644 (file)
index 0000000..975bc5a
--- /dev/null
@@ -0,0 +1,28 @@
+body { background-color: #FFFFFF; }
+body, td, .content { font-family: Verdana, Arial, helvetica, sans-serif; font-size: 12px; }
+.title { font-family: Verdana, Arial, helvetica, sans-serif; font-size: 16px; font-weight: bold; }
+.subtitle { font-size: 12px; font-weight: bold; }
+
+.toc_ul, .toc_li { margin-left: 8 px; line-height: 16px; }
+.step_ol, .step_li { margin-left: 11 px; line-height: 16px; }
+img { border: #000000 solid 1px; }
+
+a:visited { color: #666666; text-decoration: underline; }
+a:active { color: #666666; text-decoration: underline; }
+a:hover { color: #666666; text-decoration: underline; }
+a { color: #666666; text-decoration: underline; }
+
+.pageheader { border: #E0E0E0 solid 1px; }
+.pagefooter { border: #E0E0E0 solid 1px; }
+.sample { background-color: #FFFFFF; border: #000000 solid 1px; }
+.samplecontent { font-size: 10px; }
+
+.code { background-color: #FFFFFF; border: #000000 solid 1px; }
+.codecontent { font-size: 10px; }
+.codecontent a:visited { color: #666666; text-decoration: none; font-weight: bold }
+.codecontent a:active { color: #666666; text-decoration: none; font-weight: bold  }
+.codecontent a:hover { color: #666666; text-decoration: none; font-weight: bold  }
+.codecontent a { color: #666666; text-decoration: none; font-weight: bold  }
+
+hr { height: 1px; }
+
diff --git a/webcit/tiny_mce/themes/advanced/docs/hu/about.htm b/webcit/tiny_mce/themes/advanced/docs/hu/about.htm
new file mode 100644 (file)
index 0000000..c6bffff
--- /dev/null
@@ -0,0 +1,28 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<HEAD>
+<TITLE>&Uuml;ber TinyMCE</TITLE>
+<link href="style.css" rel="stylesheet" type="text/css">
+</HEAD>
+
+<BODY>
+
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pageheader">
+  <tr> 
+    <td><span class="title">A TinyMCE-r&#337;l</span></td>
+    <td align="right"><a href="index.htm">Tartalom</a></td>
+  </tr>
+</table>
+<hr noshade>
+<br>
+A TinyMCE egy kompakt WYSIWYG-szerkeszt&#337; az MSIE-hoz &eacute;s a Mozill&aacute;hoz hasonl&oacute; webb&ouml;ng&eacute;sz&#337;k sz&aacute;m&aacute;ra, mely lehet&#337;s&eacute;get ny&uacute;jt &ouml;nnek a HTML tartalmak egyszer&#369; szerkeszt&eacute;s&eacute;re. A legt&ouml;bb sz&ouml;vegszerkeszt&#337;ben el&eacute;rhet&#337; funkci&oacute;kat ny&uacute;jtja egyszer&#369;en kezelhet&#337; form&aacute;ban.<br>
+<br>
+<hr noshade>
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pagefooter">
+  <tr> 
+    <td>Ugr&aacute;s a <a href="index.htm">Tartalomjegyz&eacute;kre</a></td>
+    <td align="right"><a href="#">ugr&aacute;s a lap tetej&eacute;re </a></td>
+  </tr>
+</table>
+<br>
+</BODY>
+</HTML>
diff --git a/webcit/tiny_mce/themes/advanced/docs/hu/common_buttons.htm b/webcit/tiny_mce/themes/advanced/docs/hu/common_buttons.htm
new file mode 100644 (file)
index 0000000..2d1dc56
--- /dev/null
@@ -0,0 +1,106 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<HEAD>
+<TITLE>Allgemeine Schaltfl&auml;chen</TITLE>
+<link href="style.css" rel="stylesheet" type="text/css">
+</HEAD>
+
+<BODY>
+
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pageheader">
+  <tr> 
+    <td><span class="title">Allgemeine Schaltfl&auml;chen</span></td>
+    <td align="right"><a href="index.htm">Tartalom</a></td>
+  </tr>
+</table>
+<hr noshade>
+<br>
+Untenstehend eine kurze Beschreibung jeder Schaltfl&auml;che.<br>
+<br>
+<table border="1" cellpadding="3" cellspacing="0">
+  <tr>
+    <td><img src="../../images/bold.gif" width="20" height="20"></td>
+    <td>Félkövér szöveg.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/italic.gif" width="20" height="20"></td>
+    <td>Dõlt szöveg .</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/underline.gif" width="20" height="20"></td>
+    <td>Aláhúzott szöveg .</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/strikethrough.gif" width="20" height="20"></td>
+    <td>Áthúzott szöveg .</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/left.gif" width="20" height="20"></td>
+    <td>Balra igazítás .</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/center.gif" width="20" height="20"></td>
+    <td>Középre igazítás .</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/right.gif" width="20" height="20"></td>
+    <td>Jobbra igazíás .</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/full.gif" width="20" height="20"></td>
+    <td>Sorkizárt.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/bullist.gif" width="20" height="20"></td>
+    <td>Felsorolás / pontozott lista. </td>
+  </tr>
+  <tr>
+    <td><img src="../../images/numlist.gif" width="20" height="20"></td>
+    <td>Felsorolás / számozott lista.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/outdent.gif" width="20" height="20"></td>
+    <td>Behúzás balra .</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/indent.gif" width="20" height="20"></td>
+    <td>behúzás jobbra .</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/undo.gif" width="20" height="20"></td>
+    <td>Utolsó parancs visszavonása .</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/redo.gif" width="20" height="20"></td>
+    <td>Utolsó parancs ismétlése .</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/link.gif" width="20" height="20"></td>
+    <td>Új link beillesztése, bõvebb információért olvassa el a <a href="insert_link_button.htm">Link beillesztését</a>.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/unlink.gif" width="20" height="20"></td>
+    <td>A kijelölt link eltávolítása  / Az összes kijelölt link eltávolítása.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/image.gif" width="20" height="20"></td>
+    <td>Egy új kép beillesztése, bõvebb információért olvassa el a <a href="insert_image_button.htm">Kép beillesztését </a>.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/cleanup.gif" width="20" height="20"></td>
+    <td>Kód tisztítása  / Eltávolítja a nemkívánt formázásokat. Ez a funkció akkor hasznos, ha például Office dokumentumból másol tartalmat.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/help.gif" width="20" height="20"></td>
+    <td>Ennek a segítségnek az elérése.</td>
+  </tr>
+</table>
+<br>
+<hr noshade>
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pagefooter">
+  <tr> 
+    <td>Ugrás a <a href="index.htm">Tartalomjegyzékre</a></td>
+    <td align="right"><a href="#">ugrás a lap tetejére </a></td>
+  </tr>
+</table>
+</BODY>
+</HTML>
diff --git a/webcit/tiny_mce/themes/advanced/docs/hu/images/insert_image_window.gif b/webcit/tiny_mce/themes/advanced/docs/hu/images/insert_image_window.gif
new file mode 100644 (file)
index 0000000..3b7982a
Binary files /dev/null and b/webcit/tiny_mce/themes/advanced/docs/hu/images/insert_image_window.gif differ
diff --git a/webcit/tiny_mce/themes/advanced/docs/hu/images/insert_link_window.gif b/webcit/tiny_mce/themes/advanced/docs/hu/images/insert_link_window.gif
new file mode 100644 (file)
index 0000000..27c00a4
Binary files /dev/null and b/webcit/tiny_mce/themes/advanced/docs/hu/images/insert_link_window.gif differ
diff --git a/webcit/tiny_mce/themes/advanced/docs/hu/index.htm b/webcit/tiny_mce/themes/advanced/docs/hu/index.htm
new file mode 100644 (file)
index 0000000..47e5029
--- /dev/null
@@ -0,0 +1,24 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<HEAD>
+<TITLE>Inhaltsverzeichnis der Hilfe</TITLE>
+<link href="style.css" rel="stylesheet" type="text/css">
+</HEAD>
+<BODY onload="window.focus();">
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pageheader">
+  <tr> 
+    <td><span class="title">Tartalomjegyzék</span></td>
+    <td align="right">&nbsp;</td>
+  </tr>
+</table>
+<hr noshade>
+<br>
+Kattintson az alábbi linkekre a segítség különbözõ részeinek eléréséhez.
+<ul class="toc_ul">
+  <li class="toc_li"><a href="about.htm">A TinyMCE-rõl</a></li>
+  <li class="toc_li"><a href="common_buttons.htm">Általános gombok </a></li>
+  <li class="toc_li"><a href="insert_image_button.htm">Kép beillesztése gomb </a></li>
+  <li class="toc_li"><a href="insert_link_button.htm">Link beillesztése gomb </a></li>
+</ul>
+<hr noshade>
+</BODY>
+</HTML>
diff --git a/webcit/tiny_mce/themes/advanced/docs/hu/insert_image_button.htm b/webcit/tiny_mce/themes/advanced/docs/hu/insert_image_button.htm
new file mode 100644 (file)
index 0000000..351e7d0
--- /dev/null
@@ -0,0 +1,32 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<HEAD>
+<TITLE>Schaltfl&auml;che Bild einf&uuml;gen</TITLE>
+<link href="style.css" rel="stylesheet" type="text/css">
+</HEAD>
+
+<BODY>
+
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pageheader">
+  <tr> 
+    <td><span class="title">K&eacute;p beilleszt&eacute;se gomb </span></td>
+    <td align="right"><a href="index.htm">Tartalom</a></td>
+  </tr>
+</table>
+<hr noshade>
+<br> 
+A K&eacute;p beilleszt&eacute;se gomb az al&aacute;bbi ablakot nyitja meg.
+<br>
+<br>
+<img src="images/insert_image_window.gif" width="350" height="166"><br>
+<br>
+Egyszer&#369;en meg kell adni a beilleszteni k&iacute;v&aacute;nt k&eacute;p el&eacute;r&eacute;s&eacute;nek URL-j&eacute;t, valamint egy r&ouml;vd le&iacute;r&aacute;st, mely alternat&iacute;v sz&ouml;vegk&eacute;nt ker&uuml;l megjelen&iacute;t&eacute;sre (pl. nem grafikus b&ouml;ng&eacute;sz&#337;kben).<br>
+<hr noshade>
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pagefooter">
+  <tr> 
+    <td>Ugr&aacute;s a <a href="index.htm">Tartalomjegyz&eacute;kre</a></td>
+    <td align="right"><a href="#">ugr&aacute;s a lap tetej&eacute;re </a></td>
+  </tr>
+</table>
+<br>
+</BODY>
+</HTML>
diff --git a/webcit/tiny_mce/themes/advanced/docs/hu/insert_link_button.htm b/webcit/tiny_mce/themes/advanced/docs/hu/insert_link_button.htm
new file mode 100644 (file)
index 0000000..ca67885
--- /dev/null
@@ -0,0 +1,31 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<HEAD>
+<TITLE>Schaltfl&auml;che Hyperlink einf&uuml;gen</TITLE>
+<link href="style.css" rel="stylesheet" type="text/css">
+</HEAD>
+
+<BODY>
+
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pageheader">
+  <tr> 
+    <td><span class="title">Link beilleszt&eacute;se gomb </span></td>
+    <td align="right"><a href="index.htm">Tartalom</a></td>
+  </tr>
+</table>
+<hr noshade>
+<br>
+A Link beilleszt&eacute;se gomb az al&aacute;bbi ablakot nyitja meg.<br>
+<br>
+<img src="images/insert_link_window.gif" width="330" height="166"><br>
+<br>
+K&eacute;t mez&#337;t kell kit&ouml;ltenie ebben az ablakban. Az els&#337; - &quot;Link URL&quot; - a hivatkoz&aacute;s URL-je. A m&aacute;sodik lehet&#337;s&eacute;get ad &Ouml;nnek a hivatkozt&aacute;s megjelen&iacute;t&eacute;s&eacute;nek kiv&aacute;laszt&aacute;s&aacute;hoz.<br>
+<hr noshade>
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pagefooter">
+  <tr> 
+    <td>Ugr&aacute;s a <a href="index.htm">Tartalomjegyz&eacute;kre</a></td>
+    <td align="right"><a href="#">ugr&aacute;s a lap tetej&eacute;re </a></td>
+  </tr>
+</table>
+<br>
+</BODY>
+</HTML>
diff --git a/webcit/tiny_mce/themes/advanced/docs/hu/style.css b/webcit/tiny_mce/themes/advanced/docs/hu/style.css
new file mode 100644 (file)
index 0000000..975bc5a
--- /dev/null
@@ -0,0 +1,28 @@
+body { background-color: #FFFFFF; }
+body, td, .content { font-family: Verdana, Arial, helvetica, sans-serif; font-size: 12px; }
+.title { font-family: Verdana, Arial, helvetica, sans-serif; font-size: 16px; font-weight: bold; }
+.subtitle { font-size: 12px; font-weight: bold; }
+
+.toc_ul, .toc_li { margin-left: 8 px; line-height: 16px; }
+.step_ol, .step_li { margin-left: 11 px; line-height: 16px; }
+img { border: #000000 solid 1px; }
+
+a:visited { color: #666666; text-decoration: underline; }
+a:active { color: #666666; text-decoration: underline; }
+a:hover { color: #666666; text-decoration: underline; }
+a { color: #666666; text-decoration: underline; }
+
+.pageheader { border: #E0E0E0 solid 1px; }
+.pagefooter { border: #E0E0E0 solid 1px; }
+.sample { background-color: #FFFFFF; border: #000000 solid 1px; }
+.samplecontent { font-size: 10px; }
+
+.code { background-color: #FFFFFF; border: #000000 solid 1px; }
+.codecontent { font-size: 10px; }
+.codecontent a:visited { color: #666666; text-decoration: none; font-weight: bold }
+.codecontent a:active { color: #666666; text-decoration: none; font-weight: bold  }
+.codecontent a:hover { color: #666666; text-decoration: none; font-weight: bold  }
+.codecontent a { color: #666666; text-decoration: none; font-weight: bold  }
+
+hr { height: 1px; }
+
diff --git a/webcit/tiny_mce/themes/advanced/docs/images/table.gif b/webcit/tiny_mce/themes/advanced/docs/images/table.gif
new file mode 100644 (file)
index 0000000..cf2ca69
Binary files /dev/null and b/webcit/tiny_mce/themes/advanced/docs/images/table.gif differ
diff --git a/webcit/tiny_mce/themes/advanced/docs/images/table_delete_col.gif b/webcit/tiny_mce/themes/advanced/docs/images/table_delete_col.gif
new file mode 100644 (file)
index 0000000..0b2f0fb
Binary files /dev/null and b/webcit/tiny_mce/themes/advanced/docs/images/table_delete_col.gif differ
diff --git a/webcit/tiny_mce/themes/advanced/docs/images/table_delete_row.gif b/webcit/tiny_mce/themes/advanced/docs/images/table_delete_row.gif
new file mode 100644 (file)
index 0000000..a50f05d
Binary files /dev/null and b/webcit/tiny_mce/themes/advanced/docs/images/table_delete_row.gif differ
diff --git a/webcit/tiny_mce/themes/advanced/docs/images/table_insert_col_after.gif b/webcit/tiny_mce/themes/advanced/docs/images/table_insert_col_after.gif
new file mode 100644 (file)
index 0000000..5bbc9b5
Binary files /dev/null and b/webcit/tiny_mce/themes/advanced/docs/images/table_insert_col_after.gif differ
diff --git a/webcit/tiny_mce/themes/advanced/docs/images/table_insert_col_before.gif b/webcit/tiny_mce/themes/advanced/docs/images/table_insert_col_before.gif
new file mode 100644 (file)
index 0000000..6615321
Binary files /dev/null and b/webcit/tiny_mce/themes/advanced/docs/images/table_insert_col_before.gif differ
diff --git a/webcit/tiny_mce/themes/advanced/docs/images/table_insert_row_after.gif b/webcit/tiny_mce/themes/advanced/docs/images/table_insert_row_after.gif
new file mode 100644 (file)
index 0000000..c1cf9f9
Binary files /dev/null and b/webcit/tiny_mce/themes/advanced/docs/images/table_insert_row_after.gif differ
diff --git a/webcit/tiny_mce/themes/advanced/docs/images/table_insert_row_before.gif b/webcit/tiny_mce/themes/advanced/docs/images/table_insert_row_before.gif
new file mode 100644 (file)
index 0000000..78eb954
Binary files /dev/null and b/webcit/tiny_mce/themes/advanced/docs/images/table_insert_row_before.gif differ
diff --git a/webcit/tiny_mce/themes/advanced/docs/it/about.htm b/webcit/tiny_mce/themes/advanced/docs/it/about.htm
new file mode 100644 (file)
index 0000000..ea448cb
--- /dev/null
@@ -0,0 +1,37 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+  <title>Informazioni su TinyMCE</title>
+  <link href="style.css" rel="stylesheet" type="text/css">
+</head>
+<body>
+<table class="pageheader" border="0" cellpadding="1" cellspacing="3"
+ width="100%">
+  <tbody>
+    <tr>
+      <td><span class="title">Informazioni su TinyMCE</span></td>
+      <td align="right"><a href="index.htm"><acronym title="Table of contents">TOC</acronym></a></td>
+    </tr>
+  </tbody>
+</table>
+<hr noshade="noshade">
+<br>
+TinyMCE &egrave; un piccolo WYSIWYG (What You See Is What You Get,
+quello che vedi &egrave; quello che ottieni) editor per i web browser
+come MSIE o Mozilla che permette di editare HTML in modo comodo. Ha le
+funzionalit&agrave; comuni di molti word processor e non dovrebbe
+essere difficile da usare.<br>
+<br>
+<hr noshade="noshade">
+<table class="pagefooter" border="0" cellpadding="1" cellspacing="3"
+ width="100%">
+  <tbody>
+    <tr>
+      <td>Vai a: <a href="index.htm">Tavola dei contenuti</a></td>
+      <td align="right"><a href="#">Su</a></td>
+    </tr>
+  </tbody>
+</table>
+<br>
+<br>
+</body>
+</html>
diff --git a/webcit/tiny_mce/themes/advanced/docs/it/common_buttons.htm b/webcit/tiny_mce/themes/advanced/docs/it/common_buttons.htm
new file mode 100644 (file)
index 0000000..53f4c78
--- /dev/null
@@ -0,0 +1,180 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+  <title>Pulsanti comuni</title>
+  <link href="style.css" rel="stylesheet" type="text/css">
+</head>
+<body>
+<table class="pageheader" border="0" cellpadding="1" cellspacing="3"
+ width="100%">
+  <tbody>
+    <tr>
+      <td><span class="title">Pulsanti comuni<br>
+      </span></td>
+      <td align="right"><a href="index.htm"><acronym title="Table of contents">TOC</acronym></a></td>
+    </tr>
+  </tbody>
+</table>
+<hr noshade="noshade">
+<br>
+Di seguito una breve descrizione di ogni pulsante.<br>
+<br>
+<table border="1" cellpadding="3" cellspacing="0">
+  <tbody>
+    <tr>
+      <td><img src="../../images/bold.gif" height="20" width="20"></td>
+      <td>Testo <span style="font-weight: bold;">grassetto</span>.</td>
+    </tr>
+    <tr>
+      <td><img src="../../images/italic.gif" height="20" width="20"></td>
+      <td>Testo <span style="font-style: italic;">corsivo</span>.</td>
+    </tr>
+    <tr>
+      <td><img src="../../images/underline.gif" height="20" width="20"></td>
+      <td>Testo <span style="text-decoration: underline;">sottolineato</span>.</td>
+    </tr>
+    <tr>
+      <td><img src="../../images/strikethrough.gif" height="20"
+ width="20"></td>
+      <td>Testo <span style="text-decoration: line-through;">barrato</span>.</td>
+    </tr>
+    <tr>
+      <td><img src="../../images/left.gif" height="20" width="20"></td>
+      <td>Allinea a sinistra.</td>
+    </tr>
+    <tr>
+      <td><img src="../../images/center.gif" height="20" width="20"></td>
+      <td>Allinea al centro.</td>
+    </tr>
+    <tr>
+      <td><img src="../../images/right.gif" height="20" width="20"></td>
+      <td>Allinea a destra.</td>
+    </tr>
+    <tr>
+      <td><img src="../../images/full.gif" height="20" width="20"></td>
+      <td>Giustifica.</td>
+    </tr>
+    <tr>
+      <td><img src="../../images/bullist.gif" height="20" width="20"></td>
+      <td>Lista non ordinata.</td>
+    </tr>
+    <tr>
+      <td><img src="../../images/numlist.gif" height="20" width="20"></td>
+      <td>Lista ordianta.<br>
+      </td>
+    </tr>
+    <tr>
+      <td><img src="../../images/outdent.gif" height="20" width="20"></td>
+      <td>Diminuisci l'indentazione.<br>
+      </td>
+    </tr>
+    <tr>
+      <td><img src="../../images/indent.gif" height="20" width="20"></td>
+      <td>Aumenta l'indentazione.</td>
+    </tr>
+    <tr>
+      <td><img src="../../images/undo.gif" height="20" width="20"></td>
+      <td>Annulla l'ultima operazione.</td>
+    </tr>
+    <tr>
+      <td><img src="../../images/redo.gif" height="20" width="20"></td>
+      <td>Ripeti l'ultima operazione.</td>
+    </tr>
+    <tr>
+      <td><img src="../../images/link.gif" height="20" width="20"></td>
+      <td>Inserieci un nuovo collegamento, maggiori informazioni su
+questa funzione nella <a href="insert_link_button.htm">Sezione
+'Inserisci un collegamento'</a></td>
+    </tr>
+    <tr>
+      <td><img src="../../images/unlink.gif" height="20" width="20"></td>
+      <td>Rimuovi tutti i collegamenti selezionati<br>
+      </td>
+    </tr>
+    <tr>
+    <td><img src="../../images/anchor.gif" height="20" width="20"></td>
+    <td>Inserisci una nuova &agrave;ncora, maggiori informazioni su
+questa funzione nella <a href="insert_anchor_button.htm">Sezione 'Inserisci un'&agrave;ncora'.</a></td>
+  </tr>
+    <tr>
+      <td><img src="../../images/image.gif" height="20" width="20"></td>
+      <td>Inserieci una nuova immagine, maggiori informazioni su questa
+funzione nella <a href="insert_image_button.htm">Sezione 'Inserisci
+una immagine'</a>.</td>
+    </tr>
+    <tr>
+      <td><img src="../../images/cleanup.gif" height="20" width="20"></td>
+      <td>Ripulisci il codice/rimuovi la formattazione non voluta.
+Questa funzione &egrave; utile quando si copia per esempio da un
+programma office<br>
+      </td>
+    </tr>
+    <tr>
+      <td><img src="../../images/help.gif" height="20" width="20"></td>
+      <td>Mostra questa guida<br>
+      </td>
+    </tr>
+
+  <tr>
+    <td><img src="../../images/code.gif" width="20" height="20"></td>
+    <td>Apre l'editor del sorgente HTML. </td>
+  </tr>
+  <tr>
+    <td><img src="../images/table.gif" width="20" height="20"></td>
+    <td>Inserisce una nuova tabella 2x2 alla posizione corrente.</td>
+  </tr>
+  <tr>
+    <td><img src="../images/table_insert_row_before.gif" width="20" height="20"></td>
+    <td>Aggiunge una riga sopra quella corrente.</td>
+  </tr>
+  <tr>
+    <td><img src="../images/table_insert_row_after.gif" width="20" height="20"></td>
+    <td>Aggiunge una roga sotto quella corrente.</td>
+  </tr>
+  <tr>
+    <td><img src="../images/table_delete_row.gif" width="20" height="20"></td>
+    <td>Rimuove la riga corrente. </td>
+  </tr>
+  <tr>
+    <td><img src="../images/table_insert_col_before.gif" width="20" height="20"></td>
+    <td>Aggiunge una colonna prima di quella corrente.</td>
+  </tr>
+  <tr>
+    <td><img src="../images/table_insert_col_after.gif" width="20" height="20"></td>
+    <td>Aggiunge una colonna dopo quella corrente.</td>
+  </tr>
+  <tr>
+    <td><img src="../images/table_delete_col.gif" width="20" height="20"></td>
+    <td>Rimuove la colonna corrente.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/hr.gif" width="20" height="20"></td>
+    <td>Inserisce una nuova riga orizzontale.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/removeformat.gif" width="20" height="20"></td>
+    <td>Rimuove la formattazione dalla selezione. </td>
+  </tr>
+  <tr>
+    <td><img src="../../images/sub.gif" width="20" height="20"></td>
+    <td>Formatta la selezione come pedice. </td>
+  </tr>
+  <tr>
+    <td><img src="../../images/sup.gif" width="20" height="20"></td>
+    <td>Formatta la selezione come apice. </td>
+  </tr>
+
+  </tbody>
+</table>
+<br>
+<hr noshade="noshade">
+<table class="pagefooter" border="0" cellpadding="1" cellspacing="3"
+ width="100%">
+  <tbody>
+    <tr>
+      <td>Vai a: <a href="index.htm">Tavola dei contenuti</a></td>
+      <td align="right"><a href="#">Su</a></td>
+    </tr>
+  </tbody>
+</table>
+</body>
+</html>
diff --git a/webcit/tiny_mce/themes/advanced/docs/it/images/insert_anchor_window.gif b/webcit/tiny_mce/themes/advanced/docs/it/images/insert_anchor_window.gif
new file mode 100644 (file)
index 0000000..8bd8ba4
Binary files /dev/null and b/webcit/tiny_mce/themes/advanced/docs/it/images/insert_anchor_window.gif differ
diff --git a/webcit/tiny_mce/themes/advanced/docs/it/images/insert_image_window.gif b/webcit/tiny_mce/themes/advanced/docs/it/images/insert_image_window.gif
new file mode 100644 (file)
index 0000000..5573d1c
Binary files /dev/null and b/webcit/tiny_mce/themes/advanced/docs/it/images/insert_image_window.gif differ
diff --git a/webcit/tiny_mce/themes/advanced/docs/it/images/insert_link_window.gif b/webcit/tiny_mce/themes/advanced/docs/it/images/insert_link_window.gif
new file mode 100644 (file)
index 0000000..0e5eaa8
Binary files /dev/null and b/webcit/tiny_mce/themes/advanced/docs/it/images/insert_link_window.gif differ
diff --git a/webcit/tiny_mce/themes/advanced/docs/it/images/insert_table_window.gif b/webcit/tiny_mce/themes/advanced/docs/it/images/insert_table_window.gif
new file mode 100644 (file)
index 0000000..15f38f2
Binary files /dev/null and b/webcit/tiny_mce/themes/advanced/docs/it/images/insert_table_window.gif differ
diff --git a/webcit/tiny_mce/themes/advanced/docs/it/index.htm b/webcit/tiny_mce/themes/advanced/docs/it/index.htm
new file mode 100644 (file)
index 0000000..4193600
--- /dev/null
@@ -0,0 +1,30 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+  <title>Indice della guida</title>
+  <link href="style.css" rel="stylesheet" type="text/css">
+</head>
+<body onload="window.focus();">
+<table class="pageheader" border="0" cellpadding="1" cellspacing="3"
+ width="100%">
+  <tbody>
+    <tr>
+      <td><span class="title">Tavola dei contenuti<br>
+      </span></td>
+      <td align="right">&nbsp;</td>
+    </tr>
+  </tbody>
+</table>
+<hr noshade="noshade">
+<br>
+Seleziona un argomento:<br>
+<ul class="toc_ul">
+  <li class="toc_li"><a href="about.htm">Informazioni su TinyMCE</a></li>
+  <li class="toc_li"><a href="common_buttons.htm">Pulsanti comuni</a></li>
+  <li class="toc_li"><a href="insert_image_button.htm">Pulsante 'Inserisci immagine'<br></a></li>
+  <li class="toc_li"><a href="insert_link_button.htm">Pulsante 'Inserisci collegamento'</a></li>
+  <li class="toc_li"><a href="insert_anchor_button.htm">Pulsante 'Inserisci &agrave;ncora'</a></li>
+  <li class="toc_li"><a href="insert_table_button.htm">Pulsante 'Inserisci tabella'</a></li>
+</ul>
+<hr noshade="noshade">
+</body>
+</html>
diff --git a/webcit/tiny_mce/themes/advanced/docs/it/insert_anchor_button.htm b/webcit/tiny_mce/themes/advanced/docs/it/insert_anchor_button.htm
new file mode 100644 (file)
index 0000000..aab9135
--- /dev/null
@@ -0,0 +1,32 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<HEAD>
+<TITLE>Bottone 'Inserisci &agrave;ncora'</TITLE>
+<link href="style.css" rel="stylesheet" type="text/css">
+</HEAD>
+
+<BODY>
+
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pageheader">
+  <tr> 
+    <td><span class="title">Bottone 'Inserisci &agrave;ncora'</span></td>
+    <td align="right"><a href="index.htm"><acronym title="Table of contents">TOC</acronym></a></td>
+  </tr>
+</table>
+<hr noshade>
+<br>
+Questo bottone apre una nuova finestra che permette di aggiungere o modificare un'&agrave;ncora<br>
+<br>
+<img src="images/insert_anchor_window.gif" width="326" height="117"><br>
+<br>
+C'&egrave; un solo campo in questa finestra, dove devi inserire il nome del tuo punto di &agrave;ncoraggio. Ricorda che il nome dell' &agrave;ncora deve essere univoco. <br>
+<br>
+<hr noshade>
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pagefooter">
+  <tr> 
+    <td>Vai a: <a href="index.htm">Tavola dei contenuti</a></td>
+    <td align="right"><a href="#">Top</a></td>
+  </tr>
+</table>
+<br>
+</BODY>
+</HTML>
diff --git a/webcit/tiny_mce/themes/advanced/docs/it/insert_image_button.htm b/webcit/tiny_mce/themes/advanced/docs/it/insert_image_button.htm
new file mode 100644 (file)
index 0000000..8a7eabd
--- /dev/null
@@ -0,0 +1,66 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<HEAD>
+<TITLE>Pulsante 'Inserisci immagine'</TITLE>
+<link href="style.css" rel="stylesheet" type="text/css">
+</HEAD>
+
+<BODY>
+
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pageheader">
+  <tr> 
+    <td><span class="title">Pulsante 'Inserisci immagine'</span></td>
+    <td align="right"><a href="index.htm"><acronym title="Table of contents">TOC</acronym></a></td>
+  </tr>
+</table>
+<hr noshade>
+<br>
+Il pulsante 'inserisci immagine' apre la finestra mostrata qui sotto.<br>
+<br>
+<img src="images/insert_image_window.gif"><br>
+<br>
+Si inserisce semplicemente l'url dell'immagine che si vuole collegare e una descrizione di quell'immagine,
+che sar&agrave; mostrato come testo alternativo dell'immagine sulla pagina.
+<br>
+<br>
+<strong>Descrizione dei parametri:</strong><br>
+<table border="1" cellspacing="0">
+  <tr>
+    <td width="150"><strong>URL immagine </strong></td>
+    <td>URL/indirizzo dell'immagine.</td>
+  </tr>
+  <tr>
+    <td width="150"><strong>Descrizione dell'immagine </strong></td>
+    <td>Descrizione alternativa del contenuto dell'immagine.</td>
+  </tr>
+  <tr>
+    <td><strong>Dimensioni</strong></td>
+    <td>Larghezza/Altezza dell'immagine. </td>
+  </tr>
+  <tr>
+    <td><strong>Allineamento</strong></td>
+    <td>Allineamento dell'immagine, utile quando si inserisce del testo attorno all'immagine.</td>
+  </tr>
+  <tr>
+    <td><strong>Bordo</strong></td>
+    <td>Spessore del bordo. </td>
+  </tr>
+  <tr>
+    <td><strong>Spazio verticale</strong></td>
+    <td>Spazio verticale,  utile quando si inserisce del testo attorno all'immagine.</td>
+  </tr>
+  <tr>
+    <td><strong>Spazio orizzontale</strong></td>
+    <td>Spazio orizzontale, utile quando si inserisce del testo attorno all'immagine.</td>
+  </tr>
+</table>
+<br>
+<hr noshade>
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pagefooter">
+  <tr> 
+    <td>Vai a: <a href="index.htm">Tavola dei contenuti</a></td>
+    <td align="right"><a href="#">Su</a></td>
+  </tr>
+</table>
+<br>
+</BODY>
+</HTML>
diff --git a/webcit/tiny_mce/themes/advanced/docs/it/insert_link_button.htm b/webcit/tiny_mce/themes/advanced/docs/it/insert_link_button.htm
new file mode 100644 (file)
index 0000000..64f3e2e
--- /dev/null
@@ -0,0 +1,41 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+  <title>Pulsante 'Inserisci collegamento'</title>
+  <link href="style.css" rel="stylesheet" type="text/css">
+</head>
+<body>
+<table class="pageheader" border="0" cellpadding="1" cellspacing="3"
+ width="100%">
+  <tbody>
+    <tr>
+      <td><span class="title">Pulsante 'Inserisci collegamento'<br>
+      </span></td>
+      <td align="right"><a href="index.htm"><acronym title="Table of contents">TOC</acronym></a></td>
+    </tr>
+  </tbody>
+</table>
+<hr noshade="noshade">
+<br>
+Questo pulsante apre una nuova finstra con le funzioni di
+inserimento/modifica del collegamento.<br>
+<br>
+<img src="images/insert_link_window.gif" height="156" width="326"><br>
+<br>
+Ci sono due campi in questa finestra: il primo, "Link URL" &egrave;
+l'indirizzo del collegamento. Il 'target' permette di selezionare come
+il collegamento deve essere aperto.<br>
+<br>
+<hr noshade="noshade">
+<table class="pagefooter" border="0" cellpadding="1" cellspacing="3"
+ width="100%">
+  <tbody>
+    <tr>
+      <td>Vai a: <a href="index.htm">Tavola dei contenuti</a></td>
+      <td align="right"><a href="#">Su</a></td>
+    </tr>
+  </tbody>
+</table>
+<br>
+<br>
+</body>
+</html>
diff --git a/webcit/tiny_mce/themes/advanced/docs/it/insert_table_button.htm b/webcit/tiny_mce/themes/advanced/docs/it/insert_table_button.htm
new file mode 100644 (file)
index 0000000..7720f95
--- /dev/null
@@ -0,0 +1,71 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<HEAD>
+<TITLE>Pulsante 'Inserisci tabella'</TITLE>
+<link href="style.css" rel="stylesheet" type="text/css">
+</HEAD>
+
+<BODY>
+
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pageheader">
+  <tr> 
+    <td><span class="title">Pulsante 'Inserisci tabella'</span></td>
+    <td align="right"><a href="index.htm"><acronym title="Table of contents">TOC</acronym></a></td>
+  </tr>
+</table>
+<hr noshade>
+<br>
+Il pulsante 'Inserisci tabella' apre la finestra mostrata qui sotto. Questa azione permette di creare tabelle.<br>
+<br>
+<img src="images/insert_table_window.gif" width="346" height="225"><br>
+<br>
+<strong>Descrizione dei parametri:</strong><br>
+<table border="1" cellspacing="0">
+  <tr>
+    <td width="150"><strong>Colonne</strong></td>
+    <td>Numero di colonne nella nuova tabella. </td>
+  </tr>
+  <tr>
+    <td width="150"><strong>Righe</strong></td>
+    <td>Numero di righe nella nuova tabella.</td>
+  </tr>
+  <tr>
+    <td><strong>Cellpadding</strong></td>
+    <td>Spazio tra il bordo di una cella e il suo contenuto. </td>
+  </tr>
+  <tr>
+    <td><strong>Cellspacing</strong></td>
+    <td>Spazio tra le celle della tabella.</td>
+  </tr>
+  <tr>
+    <td><strong>Allineamento</strong></td>
+    <td>Allineamento della tabella. </td>
+  </tr>
+  <tr>
+    <td><strong>Bordo</strong></td>
+    <td>Spessore del bordo della tabella.</td>
+  </tr>
+  <tr>
+    <td><strong>Larghezza</strong></td>
+    <td>Larghezza, in pixel, della tabella.</td>
+  </tr>
+  <tr>
+    <td><strong>Altezza</strong></td>
+    <td>Altezza, in pixel, della tabella.</td>
+  </tr>
+    <tr>
+    <td><strong>Classe</strong></td>
+    <td>Stile o classe CSS della tabella.</td>
+  </tr>
+</table>
+<br>
+<br>
+<hr noshade>
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pagefooter">
+  <tr> 
+    <td>Vai a: <a href="index.htm">Tavola dei contenuti</a></td>
+    <td align="right"><a href="#">Su</a></td>
+  </tr>
+</table>
+<br>
+</BODY>
+</HTML>
diff --git a/webcit/tiny_mce/themes/advanced/docs/it/style.css b/webcit/tiny_mce/themes/advanced/docs/it/style.css
new file mode 100644 (file)
index 0000000..975bc5a
--- /dev/null
@@ -0,0 +1,28 @@
+body { background-color: #FFFFFF; }
+body, td, .content { font-family: Verdana, Arial, helvetica, sans-serif; font-size: 12px; }
+.title { font-family: Verdana, Arial, helvetica, sans-serif; font-size: 16px; font-weight: bold; }
+.subtitle { font-size: 12px; font-weight: bold; }
+
+.toc_ul, .toc_li { margin-left: 8 px; line-height: 16px; }
+.step_ol, .step_li { margin-left: 11 px; line-height: 16px; }
+img { border: #000000 solid 1px; }
+
+a:visited { color: #666666; text-decoration: underline; }
+a:active { color: #666666; text-decoration: underline; }
+a:hover { color: #666666; text-decoration: underline; }
+a { color: #666666; text-decoration: underline; }
+
+.pageheader { border: #E0E0E0 solid 1px; }
+.pagefooter { border: #E0E0E0 solid 1px; }
+.sample { background-color: #FFFFFF; border: #000000 solid 1px; }
+.samplecontent { font-size: 10px; }
+
+.code { background-color: #FFFFFF; border: #000000 solid 1px; }
+.codecontent { font-size: 10px; }
+.codecontent a:visited { color: #666666; text-decoration: none; font-weight: bold }
+.codecontent a:active { color: #666666; text-decoration: none; font-weight: bold  }
+.codecontent a:hover { color: #666666; text-decoration: none; font-weight: bold  }
+.codecontent a { color: #666666; text-decoration: none; font-weight: bold  }
+
+hr { height: 1px; }
+
diff --git a/webcit/tiny_mce/themes/advanced/docs/nl/about.htm b/webcit/tiny_mce/themes/advanced/docs/nl/about.htm
new file mode 100644 (file)
index 0000000..e5146fb
--- /dev/null
@@ -0,0 +1,31 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<HEAD>
+<TITLE>Over TinyMCE</TITLE>
+<link href="style.css" rel="stylesheet" type="text/css">
+</HEAD>
+
+<BODY>
+
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pageheader">
+  <tr> 
+    <td><span class="title">Over TinyMCE</span></td>
+    <td align="right"><a href="index.htm">Inhoudsopgave</a></td>
+  </tr>
+</table>
+<hr noshade>
+<br>
+TinyMCE is een kleine <i>What-You-See-Is-What-You-Get</i> (WYSIWYG)
+editor voor teksten. De bediening vindt plaats in de web browser, zoals MSIE of Mozilla.
+Het werken met deze editor is eenvoudig, omdat de bediening veel lijkt op het werken
+met teksten in (office-)tekstverwerkers.
+<br><br>
+<hr noshade>
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pagefooter">
+  <tr>
+    <td>Ga naar: <a href="index.htm">Inhoudsopgave</a></td>
+    <td align="right"><a href="#">Naar boven</a></td>
+  </tr>
+</table>
+<br>
+</BODY>
+</HTML>
diff --git a/webcit/tiny_mce/themes/advanced/docs/nl/common_buttons.htm b/webcit/tiny_mce/themes/advanced/docs/nl/common_buttons.htm
new file mode 100644 (file)
index 0000000..bd318d4
--- /dev/null
@@ -0,0 +1,188 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<HEAD>
+<TITLE>Functies van TinyMCE</TITLE>
+<link href="style.css" rel="stylesheet" type="text/css">
+</HEAD>
+
+<BODY>
+
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pageheader">
+  <tr>
+    <td><span class="title">Functies van TinyMCE</span></td>
+    <td align="right"><a href="index.htm">Inhoudsopgave</a></td>
+  </tr>
+</table>
+<hr noshade>
+<br>
+Het werken met de editor komt sterk overeen met wat u gewend bent van uw tekstverwerker:
+Dubbel-klik op een woord in de tekst, of trek een kader met de muis terwijl u
+de linkerknop inhoudt om een gedeelte van de tekst te kiezen. Het aldus gemarkeerde woord of
+tekstfragment noemen we 'selecteerd'. Met de knoppen en stijl-keuzelijsten
+in de editor kunt u hiervan vervolgens de opmaak aanpassen of (indien deze reeds was toegekend) verwijderen.
+<br><br>
+De meeste functies voert u eenvoudig uit door het klikken
+van de knoppen (buttons) boven het tekstvenster in de editor. Hieronder vindt u van elk van deze
+knoppen een beknopte beschrijving.
+<br>
+<br>
+<table width=100% border="1" cellpadding="3" cellspacing="0">
+  <tr>
+    <td width=20><img src="../../images/bold.gif" width="20" height="20"></td>
+    <td>Gekozen tekstfragment 'Vet' (Bold) maken.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/italic.gif" width="20" height="20"></td>
+    <td>Gekozen tekstfragment 'Cursief' (Italic) maken.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/underline.gif" width="20" height="20"></td>
+    <td>Gekozen tekstfragment 'Onderstrepen' (Underline).</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/strikethrough.gif" width="20" height="20"></td>
+    <td>Gekozen tekstfragment 'Doorstrepen' (Strikethrough).</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/left.gif" width="20" height="20"></td>
+    <td>Gekozen tekstfragment naar links uitlijnen.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/center.gif" width="20" height="20"></td>
+    <td>Gekozen tekstfragment centreren.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/right.gif" width="20" height="20"></td>
+    <td>Gekozen tekstfragment naar rechts uitlijnen.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/full.gif" width="20" height="20"></td>
+    <td>Gekozen tekstfragment 'uitvullen' tot complete regels.</td>
+  </tr>
+</table>
+<br>
+<table width=100% border="1" cellpadding="3" cellspacing="0">
+  <tr>
+    <td><img src="../../images/bullist.gif" width="20" height="20"></td>
+    <td>Gekozen tekstfragment omzetten naar ongeordende (bullet-)lijst of opsomming.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/numlist.gif" width="20" height="20"></td>
+    <td>Gekozen tekstfragment omzetten naar doorgenummerde lijst.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/outdent.gif" width="20" height="20"></td>
+    <td>Inspringniveau van het gekozen tekstfragment verkleinen.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/indent.gif" width="20" height="20"></td>
+    <td>Inspringniveau van het gekozen tekstfragment vergroten.</td>
+  </tr>
+  <tr>
+    <td width=20><img src="../../images/undo.gif" width="20" height="20"></td>
+    <td>De laaste bewerking ongedaan maken. De toetscombinatie CRTL-Z doet hetzelfde.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/redo.gif" width="20" height="20"></td>
+    <td>De laatste bewerking opnieuw uitvoeren.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/link.gif" width="20" height="20"></td>
+    <td>Invoegen van een <i>Link</i> (Cross-Link) via dialoogmenu.<br>
+                 Zie de beschrijving bij <a href="insert_link_button.htm">Links en verwijzingen in tekst invoegen</a>.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/unlink.gif" width="20" height="20"></td>
+    <td>Verwijdert alle gevonden <i>Links</i> (Cross-Links) uit de tekstselectie.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/anchor.gif" width="20" height="20"></td>
+    <td>Anker aan de tekstselectie toekennen of wijzigen.<br>
+                 Zie de beschrijving bij <a href="insert_anchor_button.htm">Anker Toevoegen.</a></td>
+  </tr>
+  <tr>
+    <td><img src="../../images/image.gif" width="20" height="20"></td>
+    <td>Voegt een afbeelding in.<br>
+                 Zie de beschrijving bij <a href="insert_image_button.htm">Afbeeldingen invoegen</a>.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/cleanup.gif" width="20" height="20"></td>
+    <td>Schoont ongewenste opmaak en codering van de tekstselectie op. Deze functie is erg nuttig na het
+                 overkopi&euml;ren van teksten vanuit uw (Office-)tekstverwerker.</td>
+  </tr>
+       <tr>
+    <td><img src="../../images/help.gif" width="20" height="20"></td>
+    <td>Toont dit helpvenster met uitleg van alle functionaliteit van de editor.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/code.gif" width="20" height="20"></td>
+    <td>Opent het venster met de HTML-broncode voor het direct maken van wijzigingen
+                 in de achterliggende pagina-codering. Kennis van de HTML-taal is vereist.</td>
+  </tr>
+</table>
+
+<br>
+<table width=100% border="1" cellpadding="3" cellspacing="0">
+  <tr>
+    <td><img src="../images/table.gif" width="20" height="20"></td>
+    <td>Voegt een nieuwe tabel met 2 rijen en kolommen in op de huidige positie in te tekst. </td>
+  </tr>
+  <tr>
+    <td><img src="../images/table_insert_row_before.gif" width="20" height="20"></td>
+    <td>Voegt een nieuwe rij toe aan de tabel boven de huidige.</td>
+  </tr>
+  <tr>
+    <td><img src="../images/table_insert_row_after.gif" width="20" height="20"></td>
+    <td>Voegt een nieuwe rij toe aan de tabel onder de huidige.</td>
+  </tr>
+  <tr>
+    <td><img src="../images/table_delete_row.gif" width="20" height="20"></td>
+    <td>Verwijdert de huidige rij uit de tabel.</td>
+  </tr>
+  <tr>
+    <td><img src="../images/table_insert_col_before.gif" width="20" height="20"></td>
+    <td>Voegt een nieuwe kolom toe aan de tabel voor de huidige.</td>
+  </tr>
+  <tr>
+    <td><img src="../images/table_insert_col_after.gif" width="20" height="20"></td>
+    <td>Voegt een nieuwe kolom toe aan de tabel achter de huidige.</td>
+  </tr>
+  <tr>
+    <td><img src="../images/table_delete_col.gif" width="20" height="20"></td>
+    <td>Verwijdert de huidige kolom uit de tabel.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/hr.gif" width="20" height="20"></td>
+    <td>Voegt een horizontale lijn in de tekst toe.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/removeformat.gif" width="20" height="20"></td>
+    <td>Verwijdert alle tekst-opmaak van de tekstselectie.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/visualaid.gif" width="20" height="20"></td>
+    <td>Toon of verberg hulplijnen voor tabellen in het tekstvenster.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/sub.gif" width="20" height="20"></td>
+    <td>Verandert het gekozen tekstfragment in <i>Subscript</i>.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/sup.gif" width="20" height="20"></td>
+    <td>Verandert het gekozen tekstfragment in <i>Superscript</i>.</td>
+  </tr>
+       <tr>
+    <td><img src="../../images/charmap.gif" width="20" height="20"></td>
+    <td>De <i>Karaktertabel</i> maakt het eenvoudig invoegen van bijzondere karakters mogelijk.<br>
+                 Zie de beschrijving bij <a href="insert_specchar_button.htm">Bijzondere karakers in de tekst invoegen.</a></td>
+  </tr>
+</table>
+<br>
+<hr noshade>
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pagefooter">
+  <tr>
+    <td>Ga naar: <a href="index.htm">Inhoudsopgave</a></td>
+    <td align="right"><a href="#">Naar boven</a></td>
+  </tr>
+</table>
+</BODY>
+</HTML>
diff --git a/webcit/tiny_mce/themes/advanced/docs/nl/images/html_source_window.gif b/webcit/tiny_mce/themes/advanced/docs/nl/images/html_source_window.gif
new file mode 100644 (file)
index 0000000..ddfdb06
Binary files /dev/null and b/webcit/tiny_mce/themes/advanced/docs/nl/images/html_source_window.gif differ
diff --git a/webcit/tiny_mce/themes/advanced/docs/nl/images/insert_anchor_window.gif b/webcit/tiny_mce/themes/advanced/docs/nl/images/insert_anchor_window.gif
new file mode 100644 (file)
index 0000000..eb58591
Binary files /dev/null and b/webcit/tiny_mce/themes/advanced/docs/nl/images/insert_anchor_window.gif differ
diff --git a/webcit/tiny_mce/themes/advanced/docs/nl/images/insert_image_window.gif b/webcit/tiny_mce/themes/advanced/docs/nl/images/insert_image_window.gif
new file mode 100644 (file)
index 0000000..a1a7c28
Binary files /dev/null and b/webcit/tiny_mce/themes/advanced/docs/nl/images/insert_image_window.gif differ
diff --git a/webcit/tiny_mce/themes/advanced/docs/nl/images/insert_link_window.gif b/webcit/tiny_mce/themes/advanced/docs/nl/images/insert_link_window.gif
new file mode 100644 (file)
index 0000000..0c6f2ed
Binary files /dev/null and b/webcit/tiny_mce/themes/advanced/docs/nl/images/insert_link_window.gif differ
diff --git a/webcit/tiny_mce/themes/advanced/docs/nl/images/insert_specchar_window.gif b/webcit/tiny_mce/themes/advanced/docs/nl/images/insert_specchar_window.gif
new file mode 100644 (file)
index 0000000..3bcf2bd
Binary files /dev/null and b/webcit/tiny_mce/themes/advanced/docs/nl/images/insert_specchar_window.gif differ
diff --git a/webcit/tiny_mce/themes/advanced/docs/nl/images/insert_table_window.gif b/webcit/tiny_mce/themes/advanced/docs/nl/images/insert_table_window.gif
new file mode 100644 (file)
index 0000000..da13a9e
Binary files /dev/null and b/webcit/tiny_mce/themes/advanced/docs/nl/images/insert_table_window.gif differ
diff --git a/webcit/tiny_mce/themes/advanced/docs/nl/index.htm b/webcit/tiny_mce/themes/advanced/docs/nl/index.htm
new file mode 100644 (file)
index 0000000..6e27526
--- /dev/null
@@ -0,0 +1,27 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<HEAD>
+<TITLE>Help Index</TITLE>
+<link href="style.css" rel="stylesheet" type="text/css">
+</HEAD>
+<BODY onload="window.focus();">
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pageheader">
+  <tr> 
+    <td><span class="title">Inhoudsopgave</span></td>
+    <td align="right">&nbsp;</td>
+  </tr>
+</table>
+<hr noshade>
+<br>
+Klik op de onderwerpen in onderstaande inhoudsopgave voor meer informatie.
+<ul class="toc_ul">
+  <li class="toc_li"><a href="about.htm">Over TinyMCE</a></li>
+  <li class="toc_li"><a href="common_buttons.htm">Functies van TinyMCE</a></li>
+       <li class="toc_li"><a href="insert_image_button.htm">Afbeeldingen invoegen</a></li>
+       <li class="toc_li"><a href="insert_link_button.htm">Links en verwijzingen in tekst invoegen</a></li>
+  <li class="toc_li"><a href="insert_specchar_button.htm">Bijzondere karakers in de tekst invoegen</a></li>
+  <li class="toc_li"><a href="insert_anchor_button.htm">Ankers in de tekst gebruiken</a></li>
+  <li class="toc_li"><a href="insert_table_button.htm">Tabellen invoegen en aanpassen</a></li>
+</ul>
+<hr noshade>
+</BODY>
+</HTML>
diff --git a/webcit/tiny_mce/themes/advanced/docs/nl/insert_anchor_button.htm b/webcit/tiny_mce/themes/advanced/docs/nl/insert_anchor_button.htm
new file mode 100644 (file)
index 0000000..7600c2a
--- /dev/null
@@ -0,0 +1,37 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<HEAD>
+<TITLE>Ankers in de tekst gebruiken</TITLE>
+<link href="style.css" rel="stylesheet" type="text/css">
+</HEAD>
+<BODY>
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pageheader">
+  <tr>
+    <td><span class="title">Ankers in de tekst gebruiken</span></td>
+    <td align="right"><a href="index.htm">Inhoudsopgave</a></td>
+  </tr>
+</table>
+<hr noshade>
+<br>
+Met de knop 'Invoegen Anker' kunt u in de tekst z.g. HTML-ankers invoegen en
+aanpassen. Deze ankers maken het mogelijk snel naar bepaalde tekstfragmenten te springen.
+Door het toevoegen van de ankernaam (voorafgegaan door een '#')
+aan de link naar een pagina (Zie <a href="insert_link_button.htm">'Links en verwijzingen in tekst invoegen'</a>)
+kan op deze wijze desgewenst direct naar een bepaalde passage in een pagina worden doorgelinkt.
+<br><br>
+Voor het toevoegen of aanpassen van een anker wordt onderstaand dialoogvenster getoond.<br>
+<br>
+<center><img src="images/insert_anchor_window.gif"></center>
+<br>
+Bij het veld 'Anker naam' kan de gewenste naam van het anker worden ingevuld.
+Let op: Binnen een complete pagina binnen uw website dient de naam van dit anker uniek zijn.<br>
+<br>
+<hr noshade>
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pagefooter">
+  <tr>
+    <td>Ga naar: <a href="index.htm">Inhoudsopgave</a></td>
+    <td align="right"><a href="#">Naar boven</a></td>
+  </tr>
+</table>
+<br>
+</BODY>
+</HTML>
diff --git a/webcit/tiny_mce/themes/advanced/docs/nl/insert_image_button.htm b/webcit/tiny_mce/themes/advanced/docs/nl/insert_image_button.htm
new file mode 100644 (file)
index 0000000..bca6a16
--- /dev/null
@@ -0,0 +1,65 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<HEAD>
+<TITLE>Afbeeldingen invoegen</TITLE>
+<link href="style.css" rel="stylesheet" type="text/css">
+</HEAD>
+
+<BODY>
+
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pageheader">
+  <tr> 
+    <td><span class="title">Afbeeldingen invoegen</span></td>
+    <td align="right"><a href="index.htm">Inhoudsopgave</a></td>
+  </tr>
+</table>
+<hr noshade>
+<br>
+Voer simpelweg de URL van de afbeelding en de beschrijving in.
+De omschrijvende tekst wordt in sommige browsers bij de muiswijzer getoond
+wanneer deze boven de afbeelding wordt stilgehouden.
+De knop 'Afbeelding Invoegen' opent onderstaand dialoogvenster.<br>
+<br>
+<center><img src="images/insert_image_window.gif"></center>
+<br>
+<strong>Omschrijving van de velden:</strong><br>
+<table border="1" cellspacing="0">
+  <tr>
+    <td width="150"><strong>Afbeelding</strong></td>
+    <td>In dit veld dient u een complete URL op te geven van de afbeelding.</td>
+  </tr>
+  <tr>
+    <td width="150"><strong>Beschrijving</strong></td>
+    <td>Omschrijvende tekst die in sommige browsers bij de muiswijzer wordt getoond wanneer deze boven de afbeelding wordt stilgehouden.</td>
+  </tr>
+  <tr>
+    <td><strong>Uitlijning</strong></td>
+    <td>Uit de lijst kan worden gekozen op welke wijze de afbeelding in de tekst wordt ingebed.</td>
+  </tr>
+       <tr>
+    <td><strong>Afmetingen</strong></td>
+    <td>De breedte en hoogte van de afbeelding in pixels. Laat deze velden leeg als de originele afmetingen gewenst zijn.</td>
+  </tr>
+  <tr>
+    <td><strong>Omranding</strong></td>
+    <td>De dikte (in pixels) van de omranding om de afbeelding.</td>
+  </tr>
+  <tr>
+    <td><strong>Verticale marge</strong></td>
+    <td>De verticale marge (in pixels) gebruikt voor de omloop van teksten om de afbeelding.</td>
+  </tr>
+  <tr>
+    <td><strong>Horizontale marge</strong></td>
+    <td>De horizontale marge (in pixels) gebruikt voor de omloop van teksten om de afbeelding.</td>
+  </tr>
+</table>
+<br>
+<hr noshade>
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pagefooter">
+  <tr>
+    <td>Ga naar: <a href="index.htm">Inhoudsopgave</a></td>
+    <td align="right"><a href="#">Naar boven</a></td>
+  </tr>
+</table>
+<br>
+</BODY>
+</HTML>
diff --git a/webcit/tiny_mce/themes/advanced/docs/nl/insert_link_button.htm b/webcit/tiny_mce/themes/advanced/docs/nl/insert_link_button.htm
new file mode 100644 (file)
index 0000000..ce5e71c
--- /dev/null
@@ -0,0 +1,35 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<HEAD>
+<TITLE>Links en verwijzingen in tekst invoegen</TITLE>
+<link href="style.css" rel="stylesheet" type="text/css">
+</HEAD>
+
+<BODY>
+
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pageheader">
+  <tr> 
+    <td><span class="title">Links en verwijzingen in tekst invoegen</span></td>
+    <td align="right"><a href="index.htm">Inhoudsopgave</a></td>
+  </tr>
+</table>
+<hr noshade>
+<br>
+De knop 'Link Invoegen' leidt u naar onderstaand dialoogvenster waarmee u eenvoudig
+een <i>Link</i> (Cross-Link) kunt aanbrengen in uw teksten.
+<br><br>
+<center><img src="images/insert_link_window.gif"></center>
+<br>
+Bij 'Link URL' dient de de url van
+de link te worden ingevuld (desgewenst voorafgegaan door 'http://' voor een externe
+website), bij 'target' kan worden bepaald hoe de link moet openen.
+<br>
+<hr noshade>
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pagefooter">
+  <tr>
+    <td>Ga naar: <a href="index.htm">Inhoudsopgave</a></td>
+    <td align="right"><a href="#">Naar boven</a></td>
+  </tr>
+</table>
+<br>
+</BODY>
+</HTML>
diff --git a/webcit/tiny_mce/themes/advanced/docs/nl/insert_specchar_button.htm b/webcit/tiny_mce/themes/advanced/docs/nl/insert_specchar_button.htm
new file mode 100644 (file)
index 0000000..ae5245a
--- /dev/null
@@ -0,0 +1,32 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<HEAD>
+<TITLE>Bijzondere karakers in de tekst invoegen</TITLE>
+<link href="style.css" rel="stylesheet" type="text/css">
+</HEAD>
+<BODY>
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pageheader">
+  <tr>
+    <td><span class="title">Bijzondere karakers in de tekst invoegen</span></td>
+    <td align="right"><a href="index.htm">Inhoudsopgave</a></td>
+  </tr>
+</table>
+<hr noshade>
+<br>
+Met de knop 'Bijzondere Karakters' kunt u in de tekst bijzondere karakters, die soms
+op het toetsenbord lastig te vinden zijn, invoegen.
+<br><br>
+Voor het invoegen van een deze karakters wordt onderstaand keuzevenster getoond.
+Door het eenvoudigweg klikken op het gewenste karakter in het overzicht, wordt het op de huidige positie in de tekst ingevoegd.<br>
+<br>
+<center><img src="images/insert_specchar_window.gif"></center>
+<br>
+<hr noshade>
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pagefooter">
+  <tr>
+    <td>Ga naar: <a href="index.htm">Inhoudsopgave</a></td>
+    <td align="right"><a href="#">Naar boven</a></td>
+  </tr>
+</table>
+<br>
+</BODY>
+</HTML>
diff --git a/webcit/tiny_mce/themes/advanced/docs/nl/insert_table_button.htm b/webcit/tiny_mce/themes/advanced/docs/nl/insert_table_button.htm
new file mode 100644 (file)
index 0000000..00858ea
--- /dev/null
@@ -0,0 +1,73 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<HEAD>
+<TITLE>Tabellen invoegen en aanpassen</TITLE>
+<link href="style.css" rel="stylesheet" type="text/css">
+</HEAD>
+
+<BODY>
+
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pageheader">
+  <tr> 
+    <td><span class="title">Tabellen invoegen en aanpassen</span></td>
+    <td align="right"><a href="index.htm">Inhoudsopgave</a></td>
+  </tr>
+</table>
+<hr noshade>
+<br>
+De knop 'Invoegen Tabel' stelt u in staat op de huidige plek een nieuwe tabel
+in uw tekst in te voegen en opent onderstaand dialoogvenster.<br>
+<br>
+<center><img src="images/insert_table_window.gif"></center>
+<br>
+<strong>Omschrijving van de velden:</strong><br>
+<table border="1" cellspacing="0">
+  <tr>
+    <td width="150"><strong>Kolommen</strong></td>
+    <td>Het gewenste aantal kolommen in de tabel.</td>
+  </tr>
+  <tr>
+    <td width="150"><strong>Rijen</strong></td>
+    <td>Het gewenste aantal rijen in de tabel.</td>
+  </tr>
+  <tr>
+    <td><strong>Celvulling</strong></td>
+    <td>De 'Celvulling' (Cellpadding)<br>
+               De opvulmarge rondom binnen elke cel in de tabel in pixels.</td>
+  </tr>
+  <tr>
+    <td><strong>Celafstand</strong></td>
+    <td>De 'Celafstand' (Cellspacing)<br>
+               De ruimte tussen de cellen onderling binnen de tabel in pixels.</td>
+  </tr>
+  <tr>
+    <td><strong>Positionering</strong></td>
+    <td>De positionering van de tabel in de paragraaf.</td>
+  </tr>
+  <tr>
+    <td><strong>Omranding</strong></td>
+    <td>De dikte in pixels van de omranding van de tabel.</td>
+  </tr>
+  <tr>
+    <td><strong>Breedte</strong></td>
+    <td>De breedte van de tabel (in pixels of percentuele notatie).</td>
+  </tr>
+  <tr>
+    <td><strong>Hoogte</strong></td>
+    <td>De breedte van de tabel (in pixels of percentuele notatie).</td>
+  </tr>
+  <tr>
+    <td><strong>CSS-Stijl</strong></td>
+    <td>Optionele stijlkeuze uit de voor de website aangemaakte <i>Cascading Style Sheet</i> (CSS).</td>
+  </tr>
+</table>
+<br>
+<hr noshade>
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pagefooter">
+  <tr>
+    <td>Ga naar: <a href="index.htm">Inhoudsopgave</a></td>
+    <td align="right"><a href="#">Naar boven</a></td>
+  </tr>
+</table>
+<br>
+</BODY>
+</HTML>
diff --git a/webcit/tiny_mce/themes/advanced/docs/nl/style.css b/webcit/tiny_mce/themes/advanced/docs/nl/style.css
new file mode 100644 (file)
index 0000000..9444101
--- /dev/null
@@ -0,0 +1,28 @@
+/* body { background-color: #FFFFFF; } */
+body, td, .content { font-family: Verdana, Arial, helvetica, sans-serif; font-size: 12px; }
+.title { font-family: Verdana, Arial, helvetica, sans-serif; font-size: 16px; font-weight: bold; }
+.subtitle { font-size: 12px; font-weight: bold; }
+
+.toc_ul, .toc_li { margin-left: 8 px; line-height: 16px; }
+.step_ol, .step_li { margin-left: 11 px; line-height: 16px; }
+img { border: #000000 solid 1px; }
+
+a:visited { color: #666666; text-decoration: underline; }
+a:active { color: #666666; text-decoration: underline; }
+a:hover { color: #666666; text-decoration: underline; }
+a { color: #666666; text-decoration: underline; }
+
+.pageheader { border: #E0E0E0 solid 1px; }
+.pagefooter { border: #E0E0E0 solid 1px; }
+.sample { background-color: #FFFFFF; border: #000000 solid 1px; }
+.samplecontent { font-size: 10px; }
+
+.code { background-color: #FFFFFF; border: #000000 solid 1px; }
+.codecontent { font-size: 10px; }
+.codecontent a:visited { color: #666666; text-decoration: none; font-weight: bold }
+.codecontent a:active { color: #666666; text-decoration: none; font-weight: bold  }
+.codecontent a:hover { color: #666666; text-decoration: none; font-weight: bold  }
+.codecontent a { color: #666666; text-decoration: none; font-weight: bold  }
+
+hr { height: 1px; }
+
diff --git a/webcit/tiny_mce/themes/advanced/docs/pl/about.htm b/webcit/tiny_mce/themes/advanced/docs/pl/about.htm
new file mode 100644 (file)
index 0000000..394bb7d
--- /dev/null
@@ -0,0 +1,33 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<HEAD>
+<meta name="generator" content="WebSite PRO 4.3" />
+<meta http-equiv="content-type" content="text/html; charset=iso-8859-2">
+<TITLE>O TinyMCE</TITLE>
+<link href="style.css" rel="stylesheet" type="text/css">
+</HEAD>
+
+<BODY>
+
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pageheader">
+  <tr> 
+    <td><span class="title">O TinyMCE</span></td>
+    <td align="right"><a href="index.htm">Spis tre¶ci</a></td>
+  </tr>
+</table>
+<hr noshade>
+<br>
+TinyMCE jest ma³ym edytorem WYSWIWYG dla przegl±darek internetowych takich jak MSIE
+lub Mozilla, pozwalaj±cym na edytowanie zawarto¶ci strony HTML w sposób przyjazny dla
+u¿ytkownika. Posiada szeref funkcji znanych z popularnych edytorów tekstu, wiêc powinien
+byæ ³atwy w u¿yciu.<br>
+<br>
+<hr noshade>
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pagefooter">
+  <tr> 
+    <td>Go to: <a href="index.htm">Spis tre¶ci</a></td>
+    <td align="right"><a href="#">Do góry</a></td>
+  </tr>
+</table>
+<br>
+</BODY>
+</HTML>
diff --git a/webcit/tiny_mce/themes/advanced/docs/pl/common_buttons.htm b/webcit/tiny_mce/themes/advanced/docs/pl/common_buttons.htm
new file mode 100644 (file)
index 0000000..6df0e95
--- /dev/null
@@ -0,0 +1,164 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<HEAD>
+<meta name="generator" content="WebSite PRO 4.3" />
+<meta http-equiv="content-type" content="text/html; charset=iso-8859-2">
+<TITLE>Wa¿niejsze przyciski</TITLE>
+<link href="style.css" rel="stylesheet" type="text/css">
+</HEAD>
+
+<BODY>
+
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pageheader">
+  <tr> 
+    <td><span class="title">Wa¿niejsze przyciski</span></td>
+    <td align="right"><a href="index.htm">Spis tre¶ci</a></td>
+  </tr>
+</table>
+<hr noshade>
+<br>
+Poni¿ej znajduje siê krótki opis ka¿dego przycisku<img src="../../images/spacer.gif" width="1" height="1">
+<br>
+<br>
+<table border="1" cellpadding="3" cellspacing="0">
+  <tr>
+    <td><img src="../../images/bold.gif" width="20" height="20"></td>
+    <td>Pogrubienie tekstu.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/italic.gif" width="20" height="20"></td>
+    <td>Pochylenie tekstu.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/underline.gif" width="20" height="20"></td>
+    <td>Podkre¶lenie tekstu.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/strikethrough.gif" width="20" height="20"></td>
+    <td>Przekre¶lenie tekstu.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/left.gif" width="20" height="20"></td>
+    <td>Wyrównanie do lewej</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/center.gif" width="20" height="20"></td>
+    <td>Wy¶rodkowanie.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/right.gif" width="20" height="20"></td>
+    <td>Wyrównanie do prawej.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/full.gif" width="20" height="20"></td>
+    <td>Wyjustowanie.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/bullist.gif" width="20" height="20"></td>
+    <td>Lista nieuporz±dkowana/lista punktów.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/numlist.gif" width="20" height="20"></td>
+    <td>Lista uporz±dkowana/lista ponumerowana</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/outdent.gif" width="20" height="20"></td>
+    <td>Wysuniêcie/zmniejsz wciêcie.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/indent.gif" width="20" height="20"></td>
+    <td>Wciêcie/zwiêksz wciêcie.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/undo.gif" width="20" height="20"></td>
+    <td>Cofniêcie ostatnio wykonanej czynno¶ci</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/redo.gif" width="20" height="20"></td>
+    <td>Ponowienie ostatnio wykonanej czynno¶ci</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/link.gif" width="20" height="20"></td>
+    <td>Wstawienie nowego ³±cza, przeczytaj wiêcej o tej funkcji sekcji <a href="insert_link_button.htm">Wstaw
+      ³±cze</a>.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/unlink.gif" width="20" height="20"></td>
+    <td>Usuniêcie ³±cz z zaznaczonej czê¶ci/usuniêcie wszystkich zaznaczonych ³±cz.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/anchor.gif" width="20" height="20"></td>
+    <td>Wstawienie nowego zakotwiczenia, przeczytaj wiêcej o tej funkcji w sekcji <a href="insert_anchor_button.htm">Wstaw zakotwiczenie.</a></td>
+  </tr>
+  <tr>
+    <td><img src="../../images/image.gif" width="20" height="20"></td>
+    <td>Wstawienie nowego zdjêcia, przeczytaj wiêcej o tej funkcji w sekcji <a href="insert_image_button.htm">Wstaw
+      zdjêcie</a>.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/cleanup.gif" width="20" height="20"></td>
+    <td>Oczyszczenie kodu/usuniêcie niechcianeg formatowania. Ta funkcja jest pomocna kiedy
+      kopiujesz zawarto¶æ np. z worda.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/help.gif" width="20" height="20"></td>
+    <td>Pokazanie tego okna pomocy.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/code.gif" width="20" height="20"></td>
+    <td>Otwarcie edytora kodu HTML.</td>
+  </tr>
+  <tr>
+    <td><img src="../images/table.gif" width="20" height="20"></td>
+    <td>Wstawienie nowej tabeli 2x2 w bie¿±cej pozycji.</td>
+  </tr>
+  <tr>
+    <td><img src="../images/table_insert_row_before.gif" width="20" height="20"></td>
+    <td>Wstawienie wiersza ponad aktualnie zaznaczonym.</td>
+  </tr>
+  <tr>
+    <td><img src="../images/table_insert_row_after.gif" width="20" height="20"></td>
+    <td>Wstawienie wiersz poni¿ej aktualnie zaznaczonego.</td>
+  </tr>
+  <tr>
+    <td><img src="../images/table_delete_row.gif" width="20" height="20"></td>
+    <td>Usuniêcie wiersza.</td>
+  </tr>
+  <tr>
+    <td><img src="../images/table_insert_col_before.gif" width="20" height="20"></td>
+    <td>Wstawienie kolumny przed aktualnie zaznaczon±.</td>
+  </tr>
+  <tr>
+    <td><img src="../images/table_insert_col_after.gif" width="20" height="20"></td>
+    <td>Wstawienie kolumny za aktualnie zaznaczon±.</td>
+  </tr>
+  <tr>
+    <td><img src="../images/table_delete_col.gif" width="20" height="20"></td>
+    <td>Usuniêcie kolumny.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/hr.gif" width="20" height="20"></td>
+    <td>Wstawienie poziomej linii.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/removeformat.gif" width="20" height="20"></td>
+    <td>Usuniêcie formatowania z zaznaczonej czê¶ci.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/sub.gif" width="20" height="20"></td>
+    <td>Przekszta³cenie w indeks dolny. </td>
+  </tr>
+  <tr>
+    <td><img src="../../images/sup.gif" width="20" height="20"></td>
+    <td>Przekszta³cenie w indeks górny. </td>
+  </tr>
+</table>
+<br>
+<hr noshade>
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pagefooter">
+  <tr> 
+    <td>Id¼ do: <a href="index.htm">Spis tre¶ci</a></td>
+    <td align="right"><a href="#">Góra</a></td>
+  </tr>
+</table>
+</BODY>
+</HTML>
diff --git a/webcit/tiny_mce/themes/advanced/docs/pl/images/insert_anchor_window.gif b/webcit/tiny_mce/themes/advanced/docs/pl/images/insert_anchor_window.gif
new file mode 100644 (file)
index 0000000..ba86e17
Binary files /dev/null and b/webcit/tiny_mce/themes/advanced/docs/pl/images/insert_anchor_window.gif differ
diff --git a/webcit/tiny_mce/themes/advanced/docs/pl/images/insert_image_window.gif b/webcit/tiny_mce/themes/advanced/docs/pl/images/insert_image_window.gif
new file mode 100644 (file)
index 0000000..b85ccc2
Binary files /dev/null and b/webcit/tiny_mce/themes/advanced/docs/pl/images/insert_image_window.gif differ
diff --git a/webcit/tiny_mce/themes/advanced/docs/pl/images/insert_link_window.gif b/webcit/tiny_mce/themes/advanced/docs/pl/images/insert_link_window.gif
new file mode 100644 (file)
index 0000000..8261fe0
Binary files /dev/null and b/webcit/tiny_mce/themes/advanced/docs/pl/images/insert_link_window.gif differ
diff --git a/webcit/tiny_mce/themes/advanced/docs/pl/images/insert_table_window.gif b/webcit/tiny_mce/themes/advanced/docs/pl/images/insert_table_window.gif
new file mode 100644 (file)
index 0000000..74bb980
Binary files /dev/null and b/webcit/tiny_mce/themes/advanced/docs/pl/images/insert_table_window.gif differ
diff --git a/webcit/tiny_mce/themes/advanced/docs/pl/index.htm b/webcit/tiny_mce/themes/advanced/docs/pl/index.htm
new file mode 100644 (file)
index 0000000..5ba989b
--- /dev/null
@@ -0,0 +1,28 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<HEAD>
+<meta name="generator" content="WebSite PRO 4.3" />
+<meta http-equiv="content-type" content="text/html; charset=iso-8859-2">
+<TITLE>Spis pomocy</TITLE>
+<link href="style.css" rel="stylesheet" type="text/css">
+</HEAD>
+<BODY onload="window.focus();">
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pageheader">
+  <tr> 
+    <td><span class="title">Spis tre¶ci</span></td>
+    <td align="right">&nbsp;</td>
+  </tr>
+</table>
+<hr noshade>
+<br>
+Aby zobaczyæ poszczególne sekcje pomocy kliknij jeden z poni¿szych linków
+<ul class="toc_ul">
+  <li class="toc_li"><a href="about.htm">O TinyMCE</a></li>
+  <li class="toc_li"><a href="common_buttons.htm">Lista wa¿niejszych przycisków</a></li>
+  <li class="toc_li"><a href="insert_image_button.htm">Przycisk "Wstaw zdjêcie"</a></li>
+  <li class="toc_li"><a href="insert_link_button.htm">Przycisk "Wstaw ³±cze"</a></li>
+  <li class="toc_li"><a href="insert_anchor_button.htm">Przycisk "Wstaw zakotwiczenie"</a></li>
+  <li class="toc_li"><a href="insert_table_button.htm">Przycisk "Wstaw tabelê"</a></li>
+</ul>
+<hr noshade>
+</BODY>
+</HTML>
diff --git a/webcit/tiny_mce/themes/advanced/docs/pl/insert_anchor_button.htm b/webcit/tiny_mce/themes/advanced/docs/pl/insert_anchor_button.htm
new file mode 100644 (file)
index 0000000..3adfc24
--- /dev/null
@@ -0,0 +1,33 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<HEAD>
+<meta name="generator" content="WebSite PRO 4.3" />
+<meta http-equiv="content-type" content="text/html; charset=iso-8859-2">
+<TITLE>Przycisk "Wstaw zakotwiczenie"</TITLE>
+<link href="style.css" rel="stylesheet" type="text/css">
+</HEAD>
+<BODY>
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pageheader">
+  <tr> 
+    <td><span class="title">Przycisk "Wstaw zakotwiczenie"</span></td>
+    <td align="right"><a href="index.htm">Spis tre¶ci</a></td>
+  </tr>
+</table>
+<hr noshade>
+<br>
+Ten przycisk otwiera nowe okno z funkcj± wstawienia/edycja zakotwiczenia.<br>
+<br>
+<img src="images/insert_anchor_window.gif" width="330" height="139"><br>
+<br>
+Jest tylko jedno pole w tym oknie, nale¿y tam wpisaæ nazwê punktu zakotwiczenia. Nale¿y pamiêtaæ, ¿e nazwa musi byæ
+unikatowa, nie powtarzaj±ca siê.
+<br><br>
+<hr noshade>
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pagefooter">
+  <tr> 
+    <td>Id¼ do: <a href="index.htm">Spis tre¶ci</a></td>
+    <td align="right"><a href="#">Do góry</a></td>
+  </tr>
+</table>
+<br>
+</BODY>
+</HTML>
diff --git a/webcit/tiny_mce/themes/advanced/docs/pl/insert_image_button.htm b/webcit/tiny_mce/themes/advanced/docs/pl/insert_image_button.htm
new file mode 100644 (file)
index 0000000..f496579
--- /dev/null
@@ -0,0 +1,65 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<HEAD>
+<meta name="generator" content="WebSite PRO 4.3" />
+<meta http-equiv="content-type" content="text/html; charset=iso-8859-2">
+<TITLE>Przycisk "Wstaw zdjêcie"</TITLE>
+<link href="style.css" rel="stylesheet" type="text/css">
+</HEAD>
+<BODY>
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pageheader">
+  <tr> 
+    <td><span class="title">Przycisk "Wstaw ³±cze"</span></td>
+    <td align="right"><a href="index.htm">Spis tre¶ci</a></td>
+  </tr>
+</table>
+<hr noshade>
+<br>
+Przycisk "Wstaw zdjêcie" otwiera okno pokazane poni¿ej.<br>
+<br>
+<img src="images/insert_image_window.gif"><br>
+<br>
+Nale¿y podaæ adres URL lub scie¿kê dostêpu do zdjêcia które ma byæ wstawione i podaæ krótki opis
+zdjêcia, jest on wy¶wietlany jako alternatyny tekstowy opis zdjêcia umieszczonego na stronie.
+<br><br>
+<strong>Opis pól:</strong><br>
+<table border="1" cellspacing="0">
+  <tr>
+    <td width="150"><strong>Adres URL lub ¶cie¿ka dostêpu do zdjêcia</strong></td>
+    <td>URL/scie¿ka dostêpu do zdjêcia.</td>
+  </tr>
+  <tr>
+    <td width="150"><strong>Opis zdjêcia</strong></td>
+    <td>Tekst opisuj±cy zdjêcia.</td>
+  </tr>
+  <tr>
+    <td><strong>Wymiary</strong></td>
+    <td>D³ugo¶æ/szeroko¶æ zdjêcia . </td>
+  </tr>
+  <tr>
+    <td><strong>Wyrównanie</strong></td>
+    <td>Wyrównanie zdjêcia, u¿yteczne przy zawijaniu tekstu wokó³ zdjêcia.</td>
+  </tr>
+  <tr>
+    <td><strong>Krawêdzie</strong></td>
+    <td>Grubo¶æ krawêdzi.</td>
+  </tr>
+  <tr>
+    <td><strong>Odstêp poziomy</strong></td>
+    <td>Odstêp poziomy, pomocne przy zawijaniu tesktu wokó³ zdjêcia.</td>
+  </tr>
+  <tr>
+    <td><strong>Odstêp pionowy</strong></td>
+    <td>Odstêp pionowy, pomocne przy zawijaniu tesktu wokó³ zdjêcia.</td>
+  </tr>
+</table>
+<br>
+<hr noshade>
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pagefooter">
+  <tr> 
+    <td>Id¼ do: <a href="index.htm">Spis tre¶ci</a></td>
+    <td align="right"><a href="#">Do góry</a></td>
+  </tr>
+</table>
+<br>
+</BODY>
+</HTML>
diff --git a/webcit/tiny_mce/themes/advanced/docs/pl/insert_link_button.htm b/webcit/tiny_mce/themes/advanced/docs/pl/insert_link_button.htm
new file mode 100644 (file)
index 0000000..bca81c0
--- /dev/null
@@ -0,0 +1,35 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<HEAD>
+<meta name="generator" content="WebSite PRO 4.3" />
+<meta http-equiv="content-type" content="text/html; charset=iso-8859-2">
+<TITLE>Przycisk "Wstaw ³±cze"</TITLE>
+<link href="style.css" rel="stylesheet" type="text/css">
+</HEAD>
+
+<BODY>
+
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pageheader">
+  <tr> 
+    <td><span class="title">Przycisk "Wstaw ³±cze"</span></td>
+    <td align="right"><a href="index.htm">Spis tre¶ci</a></td>
+  </tr>
+</table>
+<hr noshade>
+<br>
+Ten przycisk otwiera nowe okno, pozwalaj±ce na wstawienie lub edytowanie ³±cza.<br>
+<br>
+<img src="images/insert_link_window.gif" width="330" height="159"><br>
+<br>
+S± dwa pola w tym oknie, pierwsze &quot;Adres URL&quot; jest adresem URL ³±cza
+. "Cel" umo¿liwia ustalenie jak ³±cze ma byæ otwarte.<br>
+<br>
+<hr noshade>
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pagefooter">
+  <tr> 
+    <td>Id¼ do: <a href="index.htm">Spis tre¶ci</a></td>
+    <td align="right"><a href="#">Do góry</a></td>
+  </tr>
+</table>
+<br>
+</BODY>
+</HTML>
diff --git a/webcit/tiny_mce/themes/advanced/docs/pl/insert_table_button.htm b/webcit/tiny_mce/themes/advanced/docs/pl/insert_table_button.htm
new file mode 100644 (file)
index 0000000..70c8720
--- /dev/null
@@ -0,0 +1,73 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<HEAD>
+<meta name="generator" content="WebSite PRO 4.3" />
+<meta http-equiv="content-type" content="text/html; charset=iso-8859-2">
+<TITLE>Przycisk "Wstaw tabelê"</TITLE>
+<link href="style.css" rel="stylesheet" type="text/css">
+</HEAD>
+
+<BODY>
+
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pageheader">
+  <tr> 
+    <td><span class="title">Przycisk "Wstaw tabelê"</span></td>
+    <td align="right"><a href="index.htm">Spis tre¶ci</a></td>
+  </tr>
+</table>
+<hr noshade>
+<br>
+Przycisk "Wstaw tabelê" otwiera okno pokazane poni¿ej. Mo¿na w ten sposób stworzyæ now± tabelê. <br>
+<br>
+<img src="images/insert_table_window.gif" width="340" height="229"><br>
+<br>
+<strong>Opis pól:</strong><br>
+<table border="1" cellspacing="0">
+  <tr>
+    <td width="150"><strong>Kolumny</strong></td>
+    <td>Liczba kolumn w tabeli. </td>
+  </tr>
+  <tr>
+    <td width="150"><strong>Wiersze</strong></td>
+    <td>Liczba wierszy w tabeli.</td>
+  </tr>
+  <tr>
+    <td><strong>Cellpadding</strong></td>
+    <td>Odleg³o¶æ akapitu od krawêdzi komórki tabeli.</td>
+  </tr>
+  <tr>
+    <td><strong>Cellspacing</strong></td>
+    <td>Szeroko¶æ krawêdzi komórek tabeli.</td>
+  </tr>
+  <tr>
+    <td><strong>Wyrównanie</strong></td>
+    <td>Wyrównanie tabeli.</td>
+  </tr>
+  <tr>
+    <td><strong>Krawêdzie</strong></td>
+    <td>Grubo¶æ krawêdzi tabeli.</td>
+  </tr>
+  <tr>
+    <td><strong>Szeroko¶æ</strong></td>
+    <td>Szeroko¶æ tabeli w pikselach.</td>
+  </tr>
+  <tr>
+    <td><strong>Wysoko¶æ</strong></td>
+    <td>Wysoko¶æ tabeli w pikselach.</td>
+  </tr>
+  <tr>
+    <td><strong>Klasa</strong></td>
+    <td>Styl lub klasa CSS tabeli.</td>
+  </tr>
+</table>
+<br>
+<br>
+<hr noshade>
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pagefooter">
+  <tr> 
+    <td>Id¼ do: <a href="index.htm">Spis tre¶ci</a></td>
+    <td align="right"><a href="#">Do góry</a></td>
+  </tr>
+</table>
+<br>
+</BODY>
+</HTML>
diff --git a/webcit/tiny_mce/themes/advanced/docs/pl/style.css b/webcit/tiny_mce/themes/advanced/docs/pl/style.css
new file mode 100644 (file)
index 0000000..975bc5a
--- /dev/null
@@ -0,0 +1,28 @@
+body { background-color: #FFFFFF; }
+body, td, .content { font-family: Verdana, Arial, helvetica, sans-serif; font-size: 12px; }
+.title { font-family: Verdana, Arial, helvetica, sans-serif; font-size: 16px; font-weight: bold; }
+.subtitle { font-size: 12px; font-weight: bold; }
+
+.toc_ul, .toc_li { margin-left: 8 px; line-height: 16px; }
+.step_ol, .step_li { margin-left: 11 px; line-height: 16px; }
+img { border: #000000 solid 1px; }
+
+a:visited { color: #666666; text-decoration: underline; }
+a:active { color: #666666; text-decoration: underline; }
+a:hover { color: #666666; text-decoration: underline; }
+a { color: #666666; text-decoration: underline; }
+
+.pageheader { border: #E0E0E0 solid 1px; }
+.pagefooter { border: #E0E0E0 solid 1px; }
+.sample { background-color: #FFFFFF; border: #000000 solid 1px; }
+.samplecontent { font-size: 10px; }
+
+.code { background-color: #FFFFFF; border: #000000 solid 1px; }
+.codecontent { font-size: 10px; }
+.codecontent a:visited { color: #666666; text-decoration: none; font-weight: bold }
+.codecontent a:active { color: #666666; text-decoration: none; font-weight: bold  }
+.codecontent a:hover { color: #666666; text-decoration: none; font-weight: bold  }
+.codecontent a { color: #666666; text-decoration: none; font-weight: bold  }
+
+hr { height: 1px; }
+
diff --git a/webcit/tiny_mce/themes/advanced/docs/sv/about.htm b/webcit/tiny_mce/themes/advanced/docs/sv/about.htm
new file mode 100644 (file)
index 0000000..2468489
--- /dev/null
@@ -0,0 +1,32 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<HEAD>
+<TITLE>About TinyMCE</TITLE>
+<link href="style.css" rel="stylesheet" type="text/css">
+</HEAD>
+
+<BODY>
+
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pageheader">
+  <tr> 
+    <td><span class="title">Om TinyMCE</span></td>
+    <td align="right"><a href="index.htm">IF</a></td>
+  </tr>
+</table>
+<hr noshade>
+<br>
+TinyMCE &auml;r en liten WYSIWYG-editor f&ouml;r webl&auml;sare som
+MSIE och Mozilla vilken m&ouml;jligg&ouml;r f&ouml;r anv&auml;ndare att redigera 
+HTML-inneh&aring;ll p&aring; ett mer anv&auml;ndarv&auml;nligt s&auml;tt.
+Applikationen har funktioner som liknar dem man finner i vanliga ordbehandlare
+och borde inte vara speciellt sv&aring;rt att anv&auml;nda.<br>
+<br>
+<hr noshade>
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pagefooter">
+  <tr> 
+    <td>G&aring; till: <a href="index.htm">Inneh&aring;llsf&ouml;rteckning</a></td>
+    <td align="right"><a href="#">Toppen</a></td>
+  </tr>
+</table>
+<br>
+</BODY>
+</HTML>
diff --git a/webcit/tiny_mce/themes/advanced/docs/sv/common_buttons.htm b/webcit/tiny_mce/themes/advanced/docs/sv/common_buttons.htm
new file mode 100644 (file)
index 0000000..adaf003
--- /dev/null
@@ -0,0 +1,163 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<HEAD>
+<TITLE>Common buttons</TITLE>
+<link href="style.css" rel="stylesheet" type="text/css">
+</HEAD>
+
+<BODY>
+
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pageheader">
+  <tr> 
+    <td><span class="title">Grundl&auml;ggande knappar</span></td>
+    <td align="right"><a href="index.htm">IF</a></td>
+  </tr>
+</table>
+<hr noshade>
+<br>
+Nedan finner du en kort beskrivning av varje knapp/funktion.<br>
+<br>
+<table border="1" cellpadding="3" cellspacing="0">
+  <tr>
+    <td><img src="../../images/bold_de_se.gif" width="20" height="20"></td>
+    <td>Fet text.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/italic_de_se.gif" width="20" height="20"></td>
+    <td>Kursiv text.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/underline.gif" width="20" height="20"></td>
+    <td>Understruken text.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/strikethrough.gif" width="20" height="20"></td>
+    <td>Genomstruken text.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/left.gif" width="20" height="20"></td>
+    <td>Rak v&auml;nstermarginal.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/center.gif" width="20" height="20"></td>
+    <td>Centrera.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/right.gif" width="20" height="20"></td>
+    <td>Rak h&ouml;germarginal.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/full.gif" width="20" height="20"></td>
+    <td>Raka marginaler.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/bullist.gif" width="20" height="20"></td>
+    <td>Punktlista.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/numlist.gif" width="20" height="20"></td>
+    <td>Numrerad lista</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/outdent.gif" width="20" height="20"></td>
+    <td>Minska indrag.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/indent.gif" width="20" height="20"></td>
+    <td>&Ouml;ka utdrag.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/undo.gif" width="20" height="20"></td>
+    <td>&Aring;ngra senaste &auml;ndringen.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/redo.gif" width="20" height="20"></td>
+    <td>G&ouml;r om senaste &auml;ndringen.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/link.gif" width="20" height="20"></td>
+    <td>Skapa/Redigera l&auml;nk, l&auml;s mer om denna funktion i
+      kapitlet <a href="insert_link_button.htm">Skapa/Redigera l&auml;nk</a>.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/unlink.gif" width="20" height="20"></td>
+    <td>Ta bort l&auml;nkar fr&aring;n markerade l&auml;nkar.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/anchor.gif" width="20" height="20"></td>
+    <td>Skapa/Redigera ankare, l&auml;r mer om denna funktion i
+      kapitlet <a href="insert_anchor_button.htm">Skapa/Redigera ankare</a>.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/image.gif" width="20" height="20"></td>
+    <td>Skapa/Redigera bild, l&auml;r mer om denna funktion i 
+      kapitlet <a href="insert_image_button.htm">Skapa/Redigera bild</a>.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/cleanup.gif" width="20" height="20"></td>
+    <td>Rensa/St&auml;da k&aring;den. Denna funktion tar bort on&ouml;dig
+      formatering. B&ouml;r anv&auml;ndas n&auml;r man t.ex. kopierar text
+      fr&aring;n Office-program. </td>
+  </tr>
+  <tr>
+    <td><img src="../../images/help.gif" width="20" height="20"></td>
+    <td>Visad denna hj&auml;lp.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/code.gif" width="20" height="20"></td>
+    <td>&Ouml;ppnar en HTML-k&auml;kodseditor . </td>
+  </tr>
+  <tr>
+    <td><img src="../images/table.gif" width="20" height="20"></td>
+    <td>Skapar en ny tabell (2x2) . </td>
+  </tr>
+  <tr>
+    <td><img src="../images/table_insert_row_before.gif" width="20" height="20"></td>
+    <td>Skapar en rad ovanf&ouml;r den nuvarande raden . </td>
+  </tr>
+  <tr>
+    <td><img src="../images/table_insert_row_after.gif" width="20" height="20"></td>
+    <td>Skapar en rad under den nuvarande raden . </td>
+  </tr>
+  <tr>
+    <td><img src="../images/table_delete_row.gif" width="20" height="20"></td>
+    <td>Tar bort en rad. </td>
+  </tr>
+  <tr>
+    <td><img src="../images/table_insert_col_before.gif" width="20" height="20"></td>
+    <td>Skapar en kolumn f&ouml;re den nuvarande kolumnen. </td>
+  </tr>
+  <tr>
+    <td><img src="../images/table_insert_col_after.gif" width="20" height="20"></td>
+    <td>Skapar en kolumn efter den nuvarande kolumnen. </td>
+  </tr>
+  <tr>
+    <td><img src="../images/table_delete_col.gif" width="20" height="20"></td>
+    <td>Tar bort en kolumn. </td>
+  </tr>
+  <tr>
+    <td><img src="../../images/hr.gif" width="20" height="20"></td>
+    <td>Skapar en horisontell linje. </td>
+  </tr>
+  <tr>
+    <td><img src="../../images/removeformat.gif" width="20" height="20"></td>
+    <td>Tar bort formatering fr&aring;n markerat omr&aring;de. </td>
+  </tr>
+  <tr>
+    <td><img src="../../images/sub.gif" width="20" height="20"></td>
+    <td>Skapar neds&auml;nkt text. </td>
+  </tr>
+  <tr>
+    <td><img src="../../images/sup.gif" width="20" height="20"></td>
+    <td>Skapar upph&ouml;jd text. </td>
+  </tr>
+</table>
+<br>
+<hr noshade>
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pagefooter">
+  <tr> 
+    <td>G&aring; till: <a href="index.htm">Inneh&aring;llsf&ouml;rteckning</a></td>
+    <td align="right"><a href="#">Toppen</a></td>
+  </tr>
+</table>
+</BODY>
+</HTML>
diff --git a/webcit/tiny_mce/themes/advanced/docs/sv/images/insert_anchor_window.gif b/webcit/tiny_mce/themes/advanced/docs/sv/images/insert_anchor_window.gif
new file mode 100644 (file)
index 0000000..85974ec
Binary files /dev/null and b/webcit/tiny_mce/themes/advanced/docs/sv/images/insert_anchor_window.gif differ
diff --git a/webcit/tiny_mce/themes/advanced/docs/sv/images/insert_image_window.gif b/webcit/tiny_mce/themes/advanced/docs/sv/images/insert_image_window.gif
new file mode 100644 (file)
index 0000000..26d19f4
Binary files /dev/null and b/webcit/tiny_mce/themes/advanced/docs/sv/images/insert_image_window.gif differ
diff --git a/webcit/tiny_mce/themes/advanced/docs/sv/images/insert_link_window.gif b/webcit/tiny_mce/themes/advanced/docs/sv/images/insert_link_window.gif
new file mode 100644 (file)
index 0000000..2b43138
Binary files /dev/null and b/webcit/tiny_mce/themes/advanced/docs/sv/images/insert_link_window.gif differ
diff --git a/webcit/tiny_mce/themes/advanced/docs/sv/images/insert_table_window.gif b/webcit/tiny_mce/themes/advanced/docs/sv/images/insert_table_window.gif
new file mode 100644 (file)
index 0000000..36da83f
Binary files /dev/null and b/webcit/tiny_mce/themes/advanced/docs/sv/images/insert_table_window.gif differ
diff --git a/webcit/tiny_mce/themes/advanced/docs/sv/index.htm b/webcit/tiny_mce/themes/advanced/docs/sv/index.htm
new file mode 100644 (file)
index 0000000..35b4e50
--- /dev/null
@@ -0,0 +1,27 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<HEAD>
+<TITLE>Help Index</TITLE>
+<link href="style.css" rel="stylesheet" type="text/css">
+</HEAD>
+<BODY onload="window.focus();">
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pageheader">
+  <tr> 
+    <td><span class="title">Inneh&aring;llsf&ouml;rteckning</span></td>
+    <td align="right">&nbsp;</td>
+  </tr>
+</table>
+<hr noshade>
+<br>
+Klicka p&aring; l&auml;nkarna nedan f&ouml;r att g&aring; till olika
+hj&auml;lp-kapitel. 
+<ul class="toc_ul">
+  <li class="toc_li"><a href="about.htm">Om TinyMCE</a></li>
+  <li class="toc_li"><a href="common_buttons.htm">Grundl&auml;ggande funktioner</a></li>
+  <li class="toc_li"><a href="insert_image_button.htm">Skapa/Redigera bild</a></li>
+  <li class="toc_li"><a href="insert_link_button.htm">Skapa/Redigera l&auml;nk</a></li>
+  <li class="toc_li"><a href="insert_anchor_button.htm">Skapa/Redigera ankare </a></li>
+  <li class="toc_li"><a href="insert_table_button.htm">Skapa/Redigera tabell</a></li>
+</ul>
+<hr noshade>
+</BODY>
+</HTML>
diff --git a/webcit/tiny_mce/themes/advanced/docs/sv/insert_anchor_button.htm b/webcit/tiny_mce/themes/advanced/docs/sv/insert_anchor_button.htm
new file mode 100644 (file)
index 0000000..a43eedd
--- /dev/null
@@ -0,0 +1,34 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<HEAD>
+<TITLE>Skapa/Redigera l&auml;nk</TITLE>
+<link href="style.css" rel="stylesheet" type="text/css">
+</HEAD>
+
+<BODY>
+
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pageheader">
+  <tr> 
+    <td><span class="title">Skapa/Redigera ankare </span></td>
+    <td align="right"><a href="index.htm">IF</a></td>
+  </tr>
+</table>
+<hr noshade>
+<br>
+Denna funktion &ouml;ppnar ett nytt f&ouml;nster liknande det nedan.<br>
+<br>
+<img src="images/insert_anchor_window.gif" width="330" height="139"><br>
+<br>
+Detta f&ouml;nster har ett f&auml;lt som man skall fylla i med ett unik
+namn, denna funktion  g&ouml;r det m&ouml;jligt att skapa
+ankarpunkter/bokm&auml;rken.<br>
+<br>
+<hr noshade>
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pagefooter">
+  <tr> 
+    <td>G&aring; till: <a href="index.htm">Inneh&aring;llsf&ouml;rteckning</a></td>
+    <td align="right"><a href="#">Toppen</a></td>
+  </tr>
+</table>
+<br>
+</BODY>
+</HTML>
diff --git a/webcit/tiny_mce/themes/advanced/docs/sv/insert_image_button.htm b/webcit/tiny_mce/themes/advanced/docs/sv/insert_image_button.htm
new file mode 100644 (file)
index 0000000..bdf4c9b
--- /dev/null
@@ -0,0 +1,71 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<HEAD>
+<TITLE>Skapa/Redigera bild</TITLE>
+<link href="style.css" rel="stylesheet" type="text/css">
+</HEAD>
+
+<BODY>
+
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pageheader">
+  <tr> 
+    <td><span class="title">Skapa/Redigera bild</span></td>
+    <td align="right"><a href="index.htm">IF</a></td>
+  </tr>
+</table>
+<hr noshade>
+<br>
+Funktionen "Skapa/Redigera bild" &ouml;ppnar ett nytt f&ouml;nster som ser ut som 
+bilden nedan.<br>
+<br>
+<img src="images/insert_image_window.gif"><br>
+<br>
+I detta f&ouml;nster skriver du in URL:en till bilden du vill l&auml;nka till 
+samt en bildbeskrivning, denna beskrivning kommer att visas som en alternativ 
+text till bilden.<br>
+<br>
+<strong>Fältförklaring:</strong><br>
+<table border="1" cellspacing="0">
+  <tr>
+    <td width="150"><strong>Bilderns URL </strong></td>
+    <td>URL/s&ouml;kv&auml;g till bilden.</td>
+  </tr>
+  <tr>
+    <td width="150"><strong>Bildens beskrivning</strong></td>
+    <td>Bildens beskrivning, denna beskrivning kommer att visas som en
+      alternativ text till bilden.</td>
+  </tr>
+  <tr>
+    <td><strong>Dimensioner</strong></td>
+    <td>Bildens bredd och h&ouml;jd. </td>
+  </tr>
+  <tr>
+    <td><strong>Justering</strong></td>
+    <td>Bildens justering, kan vara anv&auml;ndbart n&auml;r man vill att
+      text skall flyta runt bilden. </td>
+  </tr>
+  <tr>
+    <td><strong>Ram</strong></td>
+    <td>Bildramens bredd. </td>
+  </tr>
+  <tr>
+    <td><strong>Vertikalt tomrum </strong></td>
+    <td>Vertikalt tomrum , kan vara anv&auml;ndbart n&auml;r man vill
+      att text skall flyta runt bilden. </td>
+  </tr>
+  <tr>
+    <td><strong>Horizontellt tomrom</strong></td>
+    <td>Horisontellt tomrum, kan vara anv&auml;ndbart n&auml;r man vill
+      att text skall flyta runt bilden. </td>
+  </tr>
+</table>
+<br>
+<hr noshade>
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pagefooter">
+  <tr> 
+    <td>G&aring; till: <a href="index.htm">Inneh&aring;llsf&ouml;rteckning</a></td>
+    <td align="right"><a href="#">Toppen</a></td>
+  </tr>
+</table>
+<br>
+</BODY>
+</HTML>
diff --git a/webcit/tiny_mce/themes/advanced/docs/sv/insert_link_button.htm b/webcit/tiny_mce/themes/advanced/docs/sv/insert_link_button.htm
new file mode 100644 (file)
index 0000000..d5790b6
--- /dev/null
@@ -0,0 +1,33 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<HEAD>
+<TITLE>Skapa/Redigera l&auml;nk</TITLE>
+<link href="style.css" rel="stylesheet" type="text/css">
+</HEAD>
+
+<BODY>
+
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pageheader">
+  <tr> 
+    <td><span class="title">Skapa/Redigera l&auml;nk</span></td>
+    <td align="right"><a href="index.htm">IF</a></td>
+  </tr>
+</table>
+<hr noshade>
+<br>
+Denna funktion &ouml;ppnar ett nytt f&ouml;nster liknande det nedan.<br>
+<br>
+<img src="images/insert_link_window.gif" width="330" height="159"><br>
+<br>
+Detta f&ouml;nster har tv&aring; f&auml;lt l&auml;nkens URL/adress samt hur l&auml;nken 
+skall &ouml;ppnas.<br>
+<br>
+<hr noshade>
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pagefooter">
+  <tr> 
+    <td>G&aring; till: <a href="index.htm">Inneh&aring;llsf&ouml;rteckning</a></td>
+    <td align="right"><a href="#">Toppen</a></td>
+  </tr>
+</table>
+<br>
+</BODY>
+</HTML>
diff --git a/webcit/tiny_mce/themes/advanced/docs/sv/insert_table_button.htm b/webcit/tiny_mce/themes/advanced/docs/sv/insert_table_button.htm
new file mode 100644 (file)
index 0000000..9851fd2
--- /dev/null
@@ -0,0 +1,72 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<HEAD>
+<TITLE>Skapa/Redigera tabell</TITLE>
+<link href="style.css" rel="stylesheet" type="text/css">
+</HEAD>
+
+<BODY>
+
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pageheader">
+  <tr> 
+    <td><span class="title">Skapa/Redigera tabell </span></td>
+    <td align="right"><a href="index.htm">IF</a></td>
+  </tr>
+</table>
+<hr noshade>
+<br>
+Skapa tabell-knappen &ouml;ppnar ett nytt f&ouml;nster, med hj&auml;lp av
+detta f&ouml;nster kan du skapa tabeller. <br>
+<br>
+<img src="images/insert_table_window.gif" width="340" height="229"><br>
+<br>
+<strong>Fältförklaring:</strong><br>
+<table border="1" cellspacing="0">
+  <tr>
+    <td width="150"><strong>Kolumner</strong></td>
+    <td>Antal kolumner i tabellen. </td>
+  </tr>
+  <tr>
+    <td width="150"><strong>Rader</strong></td>
+    <td>Antal rader i tabellen .</td>
+  </tr>
+  <tr>
+    <td><strong>Cellutfyllnad</strong></td>
+    <td>Antal pixlars utfyllnad i varje cell. </td>
+  </tr>
+  <tr>
+    <td><strong>Cellmellanrum</strong></td>
+    <td>Antal pixlars mellanrum mellan cellerna.</td>
+  </tr>
+  <tr>
+    <td><strong>Justering</strong></td>
+    <td>Tabellens justering. </td>
+  </tr>
+  <tr>
+    <td><strong>Rambredd</strong></td>
+    <td>Ramens bredd .</td>
+  </tr>
+  <tr>
+    <td><strong>Bredd</strong></td>
+    <td>Bredd i pixlar.</td>
+  </tr>
+  <tr>
+    <td><strong>H&ouml;jd</strong></td>
+    <td>H&ouml;jd i pixlar. </td>
+  </tr>
+  <tr>
+    <td><strong>Stil</strong></td>
+    <td>Stilmall p&aring; tabellen. </td>
+  </tr>
+</table>
+<br>
+<br>
+<hr noshade>
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pagefooter">
+  <tr> 
+    <td>Gå till: <a href="index.htm">Innehållsförteckning</a></td>
+    <td align="right"><a href="#">Toppen</a></td>
+  </tr>
+</table>
+<br>
+</BODY>
+</HTML>
diff --git a/webcit/tiny_mce/themes/advanced/docs/sv/style.css b/webcit/tiny_mce/themes/advanced/docs/sv/style.css
new file mode 100644 (file)
index 0000000..975bc5a
--- /dev/null
@@ -0,0 +1,28 @@
+body { background-color: #FFFFFF; }
+body, td, .content { font-family: Verdana, Arial, helvetica, sans-serif; font-size: 12px; }
+.title { font-family: Verdana, Arial, helvetica, sans-serif; font-size: 16px; font-weight: bold; }
+.subtitle { font-size: 12px; font-weight: bold; }
+
+.toc_ul, .toc_li { margin-left: 8 px; line-height: 16px; }
+.step_ol, .step_li { margin-left: 11 px; line-height: 16px; }
+img { border: #000000 solid 1px; }
+
+a:visited { color: #666666; text-decoration: underline; }
+a:active { color: #666666; text-decoration: underline; }
+a:hover { color: #666666; text-decoration: underline; }
+a { color: #666666; text-decoration: underline; }
+
+.pageheader { border: #E0E0E0 solid 1px; }
+.pagefooter { border: #E0E0E0 solid 1px; }
+.sample { background-color: #FFFFFF; border: #000000 solid 1px; }
+.samplecontent { font-size: 10px; }
+
+.code { background-color: #FFFFFF; border: #000000 solid 1px; }
+.codecontent { font-size: 10px; }
+.codecontent a:visited { color: #666666; text-decoration: none; font-weight: bold }
+.codecontent a:active { color: #666666; text-decoration: none; font-weight: bold  }
+.codecontent a:hover { color: #666666; text-decoration: none; font-weight: bold  }
+.codecontent a { color: #666666; text-decoration: none; font-weight: bold  }
+
+hr { height: 1px; }
+
diff --git a/webcit/tiny_mce/themes/advanced/docs/zh_cn/about.htm b/webcit/tiny_mce/themes/advanced/docs/zh_cn/about.htm
new file mode 100644 (file)
index 0000000..c5a662f
--- /dev/null
@@ -0,0 +1,29 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<HEAD>
+<TITLE>¹ØÓÚTinyMCE</TITLE>
+<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
+<link href="style.css" rel="stylesheet" type="text/css">
+</HEAD>
+
+<BODY>
+
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pageheader">
+  <tr> 
+    <td><span class="title">¹ØÓÚ TinyMCE</span></td>
+    <td align="right"><a href="index.htm">ÄÚÈÝÌáÒª</a></td>
+  </tr>
+</table>
+<hr noshade>
+<br>
+TinyMCEÊÇÒ»ÖÖÊÊÓÃÓÚMSIEºÍMozillaµÈä¯ÀÀÆ÷µÄÇáÁ¿¼¶Ëù¼û¼´ËùµÃ±à¼­Æ÷£¬ÒÔ¸ü¼ÓÓѺõķ½Ê½¹©Óû§±à¼­HTMLÄÚÈÝ¡£Ëü¾ßÓд󲿷ÖÎÄ×Ö´¦ÀíÆ÷Ëù³£¼ûµÄ¹¦ÄÜ£¬²¢ÇÒÒ×ÓÚʹÓá£<br>
+<br>
+<hr noshade>
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pagefooter">
+  <tr> 
+    <td>·µ»Ø <a href="index.htm">ÄÚÈÝÌáÒª</a></td>
+    <td align="right"><a href="#">¶¥²¿</a></td>
+  </tr>
+</table>
+<br>
+</BODY>
+</HTML>
diff --git a/webcit/tiny_mce/themes/advanced/docs/zh_cn/common_buttons.htm b/webcit/tiny_mce/themes/advanced/docs/zh_cn/common_buttons.htm
new file mode 100644 (file)
index 0000000..394f883
--- /dev/null
@@ -0,0 +1,160 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<HEAD>
+<TITLE>³£Óð´Å¥</TITLE>
+<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
+<link href="style.css" rel="stylesheet" type="text/css">
+</HEAD>
+
+<BODY>
+
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pageheader">
+  <tr> 
+    <td><span class="title">³£Óð´Å¥</span></td>
+    <td align="right"><a href="index.htm">ÄÚÈÝÌáÒª</a></td>
+  </tr>
+</table>
+<hr noshade>
+<br>
+ÒÔÏÂÊÇÿ¸ö°´Å¥µÄ¼ò¶Ì˵Ã÷<img src="../../images/spacer.gif" width="1" height="1"> 
+<br>
+<br>
+<table cellpadding="3" cellspacing="1" bgcolor="#000000">
+  <tr bgcolor="#FFFFFF">
+    <td><img src="../../images/bold.gif" width="20" height="20"></td>
+    <td>´ÖÌåÎÄ×ÖÑùʽ</td>
+  </tr>
+  <tr bgcolor="#FFFFFF">
+    <td><img src="../../images/italic.gif" width="20" height="20"></td>
+    <td>бÌåÎÄ×ÖÑùʽ</td>
+  </tr>
+  <tr bgcolor="#FFFFFF">
+    <td><img src="../../images/underline.gif" width="20" height="20"></td>
+    <td>Ï»®ÏßÎÄ×ÖÑùʽ</td>
+  </tr>
+  <tr bgcolor="#FFFFFF">
+    <td><img src="../../images/strikethrough.gif" width="20" height="20"></td>
+    <td>ɾ³ýÏßÎÄ×ÖÑùʽ</td>
+  </tr>
+  <tr bgcolor="#FFFFFF">
+    <td><img src="../../images/left.gif" width="20" height="20"></td>
+    <td>×ó¶ÔÆë</td>
+  </tr>
+  <tr bgcolor="#FFFFFF">
+    <td><img src="../../images/center.gif" width="20" height="20"></td>
+    <td>¾ÓÖжÔÆë</td>
+  </tr>
+  <tr bgcolor="#FFFFFF">
+    <td><img src="../../images/right.gif" width="20" height="20"></td>
+    <td>ÓÒ¶ÔÆë</td>
+  </tr>
+  <tr bgcolor="#FFFFFF">
+    <td><img src="../../images/full.gif" width="20" height="20"></td>
+    <td>Á½¶Ë¶ÔÆë</td>
+  </tr>
+  <tr bgcolor="#FFFFFF">
+    <td><img src="../../images/bullist.gif" width="20" height="20"></td>
+    <td>ÎÞÐòÁбí</td>
+  </tr>
+  <tr bgcolor="#FFFFFF">
+    <td><img src="../../images/numlist.gif" width="20" height="20"></td>
+    <td>ÓÐÐòÁбí</td>
+  </tr>
+  <tr bgcolor="#FFFFFF">
+    <td><img src="../../images/outdent.gif" width="20" height="20"></td>
+    <td>¼õÉÙËõ½øÁ¿</td>
+  </tr>
+  <tr bgcolor="#FFFFFF">
+    <td><img src="../../images/indent.gif" width="20" height="20"></td>
+    <td>Ôö¼ÓËõ½øÁ¿</td>
+  </tr>
+  <tr bgcolor="#FFFFFF">
+    <td><img src="../../images/undo.gif" width="20" height="20"></td>
+    <td>³·ÏûÉÏÒ»²Ù×÷</td>
+  </tr>
+  <tr bgcolor="#FFFFFF">
+    <td><img src="../../images/redo.gif" width="20" height="20"></td>
+    <td>ÖØ×öÉÏÒ»²Ù×÷</td>
+  </tr>
+  <tr bgcolor="#FFFFFF">
+    <td><img src="../../images/link.gif" width="20" height="20"></td>
+    <td>²åÈëÐÂÁ´½Ó£¬µã»÷ <a href="insert_link_button.htm">²åÈëÁ´½Ó°´Å¥</a> Õ½ÚÒԲ鿴¸ü¶àÄÚÈÝ¡£</td>
+  </tr>
+  <tr bgcolor="#FFFFFF">
+    <td><img src="../../images/unlink.gif" width="20" height="20"></td>
+    <td>ɾ³ýµ±Ç°Ñ¡¶¨µÄÁ´½Ó/ÒƳýÈ«²¿Ñ¡¶¨µÄÁ´½Ó</td>
+  </tr>
+  <tr bgcolor="#FFFFFF">
+    <td><img src="../../images/anchor.gif" width="20" height="20"></td>
+    <td>²åÈëÐÂêµã£¬µã»÷ <a href="insert_anchor_button.htm">²åÈëêµã°´Å¥</a> Õ½ÚÒԲ鿴¸ü¶àÄÚÈÝ¡£</td>
+  </tr>
+  <tr bgcolor="#FFFFFF">
+    <td><img src="../../images/image.gif" width="20" height="20"></td>
+    <td>²åÈëÐÂͼÏñ£¬µã»÷ <a href="insert_image_button.htm">²åÈëͼÏñ°´Å¥</a> Õ½ÚÒԲ鿴¸ü¶àÄÚÈÝ¡£</td>
+  </tr>
+  <tr bgcolor="#FFFFFF">
+    <td><img src="../../images/cleanup.gif" width="20" height="20"></td>
+    <td>ÇåÀí´úÂë/Çå³ýËùÓв»ÐèÒªµÄ¸ñʽ¡£´Ë¹¦ÄÜÔÚÄã´ÓofficeµÈ²úÆ·Öи´ÖÆÄÚÈݽøÀ´µÄʱºòÌرðÓÐÓá£</td>
+  </tr>
+  <tr bgcolor="#FFFFFF">
+    <td><img src="../../images/help.gif" width="20" height="20"></td>
+    <td>ÏÔʾ´Ë°ïÖú´°¿Ú</td>
+  </tr>
+  <tr bgcolor="#FFFFFF">
+    <td><img src="../../images/code.gif" width="20" height="20"></td>
+    <td>´ò¿ªHTML´úÂë±à¼­Æ÷</td>
+  </tr>
+  <tr bgcolor="#FFFFFF">
+    <td><img src="../images/table.gif" width="20" height="20"></td>
+    <td>ÔÚµ±Ç°Î»ÖòåÈëÒ»ÕÅ2¡Á2µÄ±í¸ñ</td>
+  </tr>
+  <tr bgcolor="#FFFFFF">
+    <td><img src="../images/table_insert_row_before.gif" width="20" height="20"></td>
+    <td>ÔÚµ±Ç°ÐеÄÇ°Ãæ²åÈëÐÂÐÐ</td>
+  </tr>
+  <tr bgcolor="#FFFFFF">
+    <td><img src="../images/table_insert_row_after.gif" width="20" height="20"></td>
+    <td>ÔÚµ±Ç°ÐеĺóÃæ²åÈëÐÂÐÐ</td>
+  </tr>
+  <tr bgcolor="#FFFFFF">
+    <td><img src="../images/table_delete_row.gif" width="20" height="20"></td>
+    <td>ɾ³ýµ±Ç°ÐÐ</td>
+  </tr>
+  <tr bgcolor="#FFFFFF">
+    <td><img src="../images/table_insert_col_before.gif" width="20" height="20"></td>
+    <td>ÔÚµ±Ç°ÁеÄÇ°Ãæ²åÈëÐÂÁÐ</td>
+  </tr>
+  <tr bgcolor="#FFFFFF">
+    <td><img src="../images/table_insert_col_after.gif" width="20" height="20"></td>
+    <td>ÔÚµ±Ç°ÁеĺóÃæ²åÈëÐÂÁÐ</td>
+  </tr>
+  <tr bgcolor="#FFFFFF">
+    <td><img src="../images/table_delete_col.gif" width="20" height="20"></td>
+    <td>ɾ³ýµ±Ç°ÁÐ</td>
+  </tr>
+  <tr bgcolor="#FFFFFF">
+    <td><img src="../../images/hr.gif" width="20" height="20"></td>
+    <td>²åÈëˮƽÏß</td>
+  </tr>
+  <tr bgcolor="#FFFFFF">
+    <td><img src="../../images/removeformat.gif" width="20" height="20"></td>
+    <td>ÒƳýËùÑ¡ÎÄ×ֵĸñʽ</td>
+  </tr>
+  <tr bgcolor="#FFFFFF">
+    <td><img src="../../images/sub.gif" width="20" height="20"></td>
+    <td>½«ËùÑ¡ÎÄ×Ö×öΪϱê</td>
+  </tr>
+  <tr bgcolor="#FFFFFF">
+    <td><img src="../../images/sup.gif" width="20" height="20"></td>
+    <td>½«ËùÑ¡ÎÄ×Ö×öΪÉϱê</td>
+  </tr>
+</table>
+<br>
+<hr noshade>
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pagefooter">
+  <tr> 
+    <td>·µ»Ø <a href="index.htm">ÄÚÈÝÌáÒª</a></td>
+    <td align="right"><a href="#">¶¥²¿</a></td>
+  </tr>
+</table>
+</BODY>
+</HTML>
diff --git a/webcit/tiny_mce/themes/advanced/docs/zh_cn/images/insert_anchor_window.gif b/webcit/tiny_mce/themes/advanced/docs/zh_cn/images/insert_anchor_window.gif
new file mode 100644 (file)
index 0000000..14b8841
Binary files /dev/null and b/webcit/tiny_mce/themes/advanced/docs/zh_cn/images/insert_anchor_window.gif differ
diff --git a/webcit/tiny_mce/themes/advanced/docs/zh_cn/images/insert_image_window.gif b/webcit/tiny_mce/themes/advanced/docs/zh_cn/images/insert_image_window.gif
new file mode 100644 (file)
index 0000000..af00f41
Binary files /dev/null and b/webcit/tiny_mce/themes/advanced/docs/zh_cn/images/insert_image_window.gif differ
diff --git a/webcit/tiny_mce/themes/advanced/docs/zh_cn/images/insert_link_window.gif b/webcit/tiny_mce/themes/advanced/docs/zh_cn/images/insert_link_window.gif
new file mode 100644 (file)
index 0000000..59db4c0
Binary files /dev/null and b/webcit/tiny_mce/themes/advanced/docs/zh_cn/images/insert_link_window.gif differ
diff --git a/webcit/tiny_mce/themes/advanced/docs/zh_cn/images/insert_table_window.gif b/webcit/tiny_mce/themes/advanced/docs/zh_cn/images/insert_table_window.gif
new file mode 100644 (file)
index 0000000..3945bdd
Binary files /dev/null and b/webcit/tiny_mce/themes/advanced/docs/zh_cn/images/insert_table_window.gif differ
diff --git a/webcit/tiny_mce/themes/advanced/docs/zh_cn/index.htm b/webcit/tiny_mce/themes/advanced/docs/zh_cn/index.htm
new file mode 100644 (file)
index 0000000..8a349fe
--- /dev/null
@@ -0,0 +1,27 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<HEAD>
+<TITLE>°ïÖúË÷Òý</TITLE>
+<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
+<link href="style.css" rel="stylesheet" type="text/css">
+</HEAD>
+<BODY onload="window.focus();">
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pageheader">
+  <tr> 
+    <td><span class="title">ÄÚÈÝÌáÒª</span></td>
+    <td align="right">&nbsp;</td>
+  </tr>
+</table>
+<hr noshade>
+<br>
+Çëµã»÷ÒÔÏÂÁ´½ÓÀ´²é¿´°ïÖúÄÚÈÝÖеIJ»Í¬Õ½Ú. 
+<ul class="toc_ul">
+  <li class="toc_li"><a href="about.htm">¹ØÓÚTinyMCE</a></li>
+  <li class="toc_li"><a href="common_buttons.htm">³£Óð´Å¥</a></li>
+  <li class="toc_li"><a href="insert_image_button.htm">²åÈëͼÏñ°´Å¥</a></li>
+  <li class="toc_li"><a href="insert_link_button.htm">²åÈëÁ´½Ó°´Å¥</a></li>
+  <li class="toc_li"><a href="insert_anchor_button.htm">²åÈëêµã°´Å¥</a></li>
+  <li class="toc_li"><a href="insert_table_button.htm">²åÈë±í¸ñ°´Å¥</a></li>
+</ul>
+<hr noshade>
+</BODY>
+</HTML>
diff --git a/webcit/tiny_mce/themes/advanced/docs/zh_cn/insert_anchor_button.htm b/webcit/tiny_mce/themes/advanced/docs/zh_cn/insert_anchor_button.htm
new file mode 100644 (file)
index 0000000..1b59cb5
--- /dev/null
@@ -0,0 +1,31 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<HEAD>
+<TITLE>²åÈëêµã°´Å¥</TITLE>
+<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
+<link href="style.css" rel="stylesheet" type="text/css">
+</HEAD>
+
+<BODY>
+
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pageheader">
+  <tr> 
+    <td><span class="title">²åÈëêµã°´Å¥</span></td>
+    <td align="right"><a href="index.htm">ÄÚÈÝÌáÒª</a></td>
+  </tr>
+</table>
+<hr noshade>
+<br>´Ë°´Å¥»á´ò¿ª²åÈë/±à¼­ÃªµãµÄ¶Ô»°´°¿Ú£º<br>
+<br>
+<img src="images/insert_anchor_window.gif" width="320" height="127"><br>
+<br>´°¿ÚÖÐÖ»ÓÐÒ»¸öÎı¾Óò£¬Äã¿ÉÒÔÔÚ´ËÊäÈëêµãÃû³Æ£¬ÐèҪעÒâµÄÊÇêµãÃû³Æ±ØÐëÊÇΨһµÄ¡£<br>
+<br>
+<hr noshade>
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pagefooter">
+  <tr> 
+    <td>·µ»Ø <a href="index.htm">ÄÚÈÝÌáÒª</a></td>
+    <td align="right"><a href="#">¶¥²¿</a></td>
+  </tr>
+</table>
+<br>
+</BODY>
+</HTML>
diff --git a/webcit/tiny_mce/themes/advanced/docs/zh_cn/insert_image_button.htm b/webcit/tiny_mce/themes/advanced/docs/zh_cn/insert_image_button.htm
new file mode 100644 (file)
index 0000000..8c63d85
--- /dev/null
@@ -0,0 +1,63 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<HEAD>
+<TITLE>²åÈëͼÏñ°´Å¥</TITLE>
+<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
+<link href="style.css" rel="stylesheet" type="text/css">
+</HEAD>
+
+<BODY>
+
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pageheader">
+  <tr> 
+    <td><span class="title">²åÈëͼÏñ°´Å¥</span></td>
+    <td align="right"><a href="index.htm">ÄÚÈÝÌáÒª</a></td>
+  </tr>
+</table>
+<hr noshade>
+<br>µã»÷<U>²åÈëͼƬ</U>°´Å¥ºó»á´ò¿ªÒÔÏ´°¿Ú£º<br>
+<br>
+<img src="images/insert_image_window.gif" width="340" height="295"><br>
+<br>ÄãÖ»Ðè¼òµ¥µÄÊäÈëÐèÒªÁ¬½ÓµÄͼÏñµØÖ·¼°Í¼ÏñÃèÊö£¨Í¼ÏñµÄÌæ´úÎÄ×Ö£©<br>
+<br>
+<strong>²ÎÊý˵Ã÷£º</strong><br>
+<table cellpadding="3" cellspacing="1" bgcolor="#000000">
+  <tr>
+    <td width="150" bgcolor="#EEEEEE"><strong>ͼÏñµØÖ·</strong></td>
+    <td bgcolor="#FFFFFF">Òª²åÈëµÄͼƬµÄURL</td>
+  </tr>
+  <tr>
+    <td width="150" bgcolor="#EEEEEE"><strong>ͼÏñÃèÊö</strong></td>
+    <td bgcolor="#FFFFFF">ͼƬÄÚÈݵÄÌæ´úÎÄ×ÖÃèÊö</td>
+  </tr>
+  <tr>
+    <td bgcolor="#EEEEEE"><strong>άÊý</strong></td>
+    <td bgcolor="#FFFFFF">ͼÏñ¿í¶ÈÓë¸ß¶È</td>
+  </tr>
+  <tr>
+    <td bgcolor="#EEEEEE"><strong>¶ÔÆ뷽ʽ</strong></td>
+    <td bgcolor="#FFFFFF">ͼÏñµÄ¶ÔÆ뷽ʽ£¬ÔÚÎÄ×Ö»·ÈÆͼÏñʱÌرðÓÐÓá£</td>
+  </tr>
+  <tr>
+    <td bgcolor="#EEEEEE"><strong>±ß¿ò</strong></td>
+    <td bgcolor="#FFFFFF">ͼÏñ±ß¿òµÄºñ¶È</td>
+  </tr>
+  <tr>
+    <td bgcolor="#EEEEEE"><strong>ˮƽ¼ä¾à</strong></td>
+    <td bgcolor="#FFFFFF">ͼÏñˮƽ¼ä¾à£¬ÔÚÎÄ×Ö»·ÈÆͼÏñʱÌرðÓÐÓá£</td>
+  </tr>
+  <tr>
+    <td bgcolor="#EEEEEE"><strong>´¹Ö±¼ä¾à</strong></td>
+    <td bgcolor="#FFFFFF">ͼÏñ´¹Ö±¼ä¾à£¬ÔÚÎÄ×Ö»·ÈÆͼÏñʱÌرðÓÐÓá£</td>
+  </tr>
+</table>
+<br>
+<hr noshade>
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pagefooter">
+  <tr> 
+    <td>·µ»Ø <a href="index.htm">ÄÚÈÝÌáÒª</a></td>
+    <td align="right"><a href="#">¶¥²¿</a></td>
+  </tr>
+</table>
+<br>
+</BODY>
+</HTML>
diff --git a/webcit/tiny_mce/themes/advanced/docs/zh_cn/insert_link_button.htm b/webcit/tiny_mce/themes/advanced/docs/zh_cn/insert_link_button.htm
new file mode 100644 (file)
index 0000000..61adc2c
--- /dev/null
@@ -0,0 +1,32 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<HEAD>
+<TITLE>²åÈëÁ´½Ó°´Å¥</TITLE>
+<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
+<link href="style.css" rel="stylesheet" type="text/css">
+</HEAD>
+
+<BODY>
+
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pageheader">
+  <tr> 
+    <td><span class="title">²åÈëÁ´½Ó°´Å¥</span></td>
+    <td align="right"><a href="index.htm">ÄÚÈÝÌáÒª</a></td>
+  </tr>
+</table>
+<hr noshade>
+<br>´Ë°´Å¥»á´ò¿ª²åÈë/±à¼­Á´½ÓµÄ¶Ô»°´°¿Ú£º<br>
+<br>
+<img src="images/insert_link_window.gif" width="320" height="155" border="0"><br>
+<br>´°¿ÚÖÐÓÐÁ½¸ö±íµ¥Óò£¬µÚÒ»¸öÊÇÁ´½ÓµÄµØÖ·£¬µÚ¶þ¸öÊÇÁ´½ÓµÄ´ò¿ª·½Ê½¡£
+<br>
+<br>
+<hr noshade>
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pagefooter">
+  <tr> 
+    <td>·µ»Ø <a href="index.htm">ÄÚÈÝÌáÒª</a></td>
+    <td align="right"><a href="#">¶¥²¿</a></td>
+  </tr>
+</table>
+<br>
+</BODY>
+</HTML>
diff --git a/webcit/tiny_mce/themes/advanced/docs/zh_cn/insert_table_button.htm b/webcit/tiny_mce/themes/advanced/docs/zh_cn/insert_table_button.htm
new file mode 100644 (file)
index 0000000..40b6468
--- /dev/null
@@ -0,0 +1,71 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<HEAD>
+<TITLE>²åÈë±í¸ñ°´Å¥</TITLE>
+<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
+<link href="style.css" rel="stylesheet" type="text/css">
+</HEAD>
+
+<BODY>
+
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pageheader">
+  <tr> 
+    <td><span class="title">²åÈë±í¸ñ°´Å¥</span></td>
+    <td align="right"><a href="index.htm">ÄÚÈÝÌáÒª</a></td>
+  </tr>
+</table>
+<hr noshade>
+<br>µã»÷<U>²åÈë±í¸ñ</U>°´Å¥»á´ò¿ªÒÔÏ´°¿Ú£¬´Ë²Ù×÷ÔÊÐíÄã´´½¨±í¸ñ¡£<br>
+<br>
+<img src="images/insert_table_window.gif" width="340" height="239" border="0"><br>
+<br>
+<strong>²ÎÊý˵Ã÷£º</strong><br>
+<table cellpadding="3" cellspacing="1" bgcolor="#000000">
+  <tr>
+    <td width="150" bgcolor="#EEEEEE"><strong>ÁÐÊý</strong></td>
+    <td bgcolor="#FFFFFF">±í¸ñÁÐÊý</td>
+  </tr>
+  <tr>
+    <td width="150" bgcolor="#EEEEEE"><strong>ÐÐÊý</strong></td>
+    <td bgcolor="#FFFFFF">±í¸ñÐÐÊý</td>
+  </tr>
+  <tr>
+    <td bgcolor="#EEEEEE"><strong>Ìî³ä</strong></td>
+    <td bgcolor="#FFFFFF">±í¸ñµ¥Ôª¸ñµÄÌî³äÖµ</td>
+  </tr>
+  <tr>
+    <td bgcolor="#EEEEEE"><strong>¼ä¾à</strong></td>
+    <td bgcolor="#FFFFFF">±í¸ñµ¥Ôª¸ñ¼ä¾à</td>
+  </tr>
+  <tr>
+    <td bgcolor="#EEEEEE"><strong>¶ÔÆ뷽ʽ</strong></td>
+    <td bgcolor="#FFFFFF">±í¸ñ¶ÔÆ뷽ʽ</td>
+  </tr>
+  <tr>
+    <td bgcolor="#EEEEEE"><strong>±ß¿ò</strong></td>
+    <td bgcolor="#FFFFFF">±í¸ñ±ß¿ò¿í¶È</td>
+  </tr>
+  <tr>
+    <td bgcolor="#EEEEEE"><strong>¿í¶È</strong></td>
+    <td bgcolor="#FFFFFF">±í¸ñ¿í¶È£¬ÒÔÏóËØΪµ¥Î»¡£</td>
+  </tr>
+  <tr>
+    <td bgcolor="#EEEEEE"><strong>¸ß¶È</strong></td>
+    <td bgcolor="#FFFFFF">±í¸ñ¸ß¶È£¬ÒÔÏóËØΪµ¥Î»¡£</td>
+  </tr>
+  <tr>
+    <td bgcolor="#EEEEEE"><strong>ÀàÃû</strong></td>
+    <td bgcolor="#FFFFFF">±í¸ñcssÑùʽÃû</td>
+  </tr>
+</table>
+<br>
+<br>
+<hr noshade>
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pagefooter">
+  <tr> 
+    <td>·µ»Ø <a href="index.htm">ÄÚÈÝÌáÒª</a></td>
+    <td align="right"><a href="#">¶¥²¿</a></td>
+  </tr>
+</table>
+<br>
+</BODY>
+</HTML>
diff --git a/webcit/tiny_mce/themes/advanced/docs/zh_cn/style.css b/webcit/tiny_mce/themes/advanced/docs/zh_cn/style.css
new file mode 100644 (file)
index 0000000..975bc5a
--- /dev/null
@@ -0,0 +1,28 @@
+body { background-color: #FFFFFF; }
+body, td, .content { font-family: Verdana, Arial, helvetica, sans-serif; font-size: 12px; }
+.title { font-family: Verdana, Arial, helvetica, sans-serif; font-size: 16px; font-weight: bold; }
+.subtitle { font-size: 12px; font-weight: bold; }
+
+.toc_ul, .toc_li { margin-left: 8 px; line-height: 16px; }
+.step_ol, .step_li { margin-left: 11 px; line-height: 16px; }
+img { border: #000000 solid 1px; }
+
+a:visited { color: #666666; text-decoration: underline; }
+a:active { color: #666666; text-decoration: underline; }
+a:hover { color: #666666; text-decoration: underline; }
+a { color: #666666; text-decoration: underline; }
+
+.pageheader { border: #E0E0E0 solid 1px; }
+.pagefooter { border: #E0E0E0 solid 1px; }
+.sample { background-color: #FFFFFF; border: #000000 solid 1px; }
+.samplecontent { font-size: 10px; }
+
+.code { background-color: #FFFFFF; border: #000000 solid 1px; }
+.codecontent { font-size: 10px; }
+.codecontent a:visited { color: #666666; text-decoration: none; font-weight: bold }
+.codecontent a:active { color: #666666; text-decoration: none; font-weight: bold  }
+.codecontent a:hover { color: #666666; text-decoration: none; font-weight: bold  }
+.codecontent a { color: #666666; text-decoration: none; font-weight: bold  }
+
+hr { height: 1px; }
+
diff --git a/webcit/tiny_mce/themes/advanced/editor_template.js b/webcit/tiny_mce/themes/advanced/editor_template.js
new file mode 100644 (file)
index 0000000..7861793
--- /dev/null
@@ -0,0 +1,13 @@
+/* Import theme specific language pack */
+ tinyMCE.importThemeLanguagePack('advanced');var TinyMCE_advanced_autoImportCSSClasses=true;var TinyMCE_advanced_resizer=new Object();var TinyMCE_advanced_buttons=[['bold','{$lang_bold_img}','{$lang_bold_desc}','Bold'],['italic','{$lang_italic_img}','{$lang_italic_desc}','Italic'],['underline','{$lang_underline_img}','{$lang_underline_desc}','Underline'],['strikethrough','strikethrough.gif','{$lang_striketrough_desc}','Strikethrough'],['justifyleft','left.gif','{$lang_justifyleft_desc}','JustifyLeft'],['justifycenter','center.gif','{$lang_justifycenter_desc}','JustifyCenter'],['justifyright','right.gif','{$lang_justifyright_desc}','JustifyRight'],['justifyfull','full.gif','{$lang_justifyfull_desc}','JustifyFull'],['bullist','bullist.gif','{$lang_bullist_desc}','InsertUnorderedList'],['numlist','numlist.gif','{$lang_numlist_desc}','InsertOrderedList'],['outdent','outdent.gif','{$lang_outdent_desc}','Outdent'],['indent','indent.gif','{$lang_indent_desc}','Indent'],['cut','cut.gif','{$lang_cut_desc}','Cut'],['copy','copy.gif','{$lang_copy_desc}','Copy'],['paste','paste.gif','{$lang_paste_desc}','Paste'],['undo','undo.gif','{$lang_undo_desc}','Undo'],['redo','redo.gif','{$lang_redo_desc}','Redo'],['link','link.gif','{$lang_link_desc}','mceLink',true],['unlink','unlink.gif','{$lang_unlink_desc}','unlink'],['image','image.gif','{$lang_image_desc}','mceImage',true],['cleanup','cleanup.gif','{$lang_cleanup_desc}','mceCleanup'],['help','help.gif','{$lang_help_desc}','mceHelp'],['code','code.gif','{$lang_theme_code_desc}','mceCodeEditor'],['hr','hr.gif','{$lang_theme_hr_desc}','inserthorizontalrule'],['removeformat','removeformat.gif','{$lang_theme_removeformat_desc}','removeformat'],['sub','sub.gif','{$lang_theme_sub_desc}','subscript'],['sup','sup.gif','{$lang_theme_sup_desc}','superscript'],['forecolor','forecolor.gif','{$lang_theme_forecolor_desc}','mceForeColor',true],['backcolor','backcolor.gif','{$lang_theme_backcolor_desc}','mceBackColor',true],['charmap','charmap.gif','{$lang_theme_charmap_desc}','mceCharMap'],['visualaid','visualaid.gif','{$lang_theme_visualaid_desc}','mceToggleVisualAid'],['anchor','anchor.gif','{$lang_theme_anchor_desc}','mceInsertAnchor'],['newdocument','newdocument.gif','{$lang_newdocument_desc}','mceNewDocument']];function TinyMCE_advanced_getControlHTML(button_name){var buttonTileMap=new Array('anchor.gif','backcolor.gif','bullist.gif','center.gif','charmap.gif','cleanup.gif','code.gif','copy.gif','custom_1.gif','cut.gif','forecolor.gif','full.gif','help.gif','hr.gif','image.gif','indent.gif','left.gif','link.gif','numlist.gif','outdent.gif','paste.gif','redo.gif','removeformat.gif','right.gif','strikethrough.gif','sub.gif','sup.gif','undo.gif','unlink.gif','visualaid.gif');for(var i=0;i<TinyMCE_advanced_buttons.length;i++){var but=TinyMCE_advanced_buttons[i];if(but[0]==button_name){if(tinyMCE.settings['button_tile_map']){for(var x=0;!tinyMCE.isMSIE&&x<buttonTileMap.length;x++){if(buttonTileMap[x]==but[1]){return '<a href="javascript:tinyMCE.execInstanceCommand(\'{$editor_id}\',\''+but[3]+'\', '+(but.length>4?but[4]:false)+(but.length>5?', \''+but[5]+'\'':'')+')" onmousedown="return false;"><img id="{$editor_id}_'+but[0]+'" src="{$themeurl}/images/spacer.gif" style="background-image:url({$themeurl}/images/buttons.gif); background-position: '+(0-(x*20))+'px 0px" title="'+but[2]+'" width="20" height="20" class="mceButtonNormal" onmouseover="tinyMCE.switchClass(this,\'mceButtonOver\');" onmouseout="tinyMCE.restoreClass(this);" onmousedown="tinyMCE.restoreAndSwitchClass(this,\'mceButtonDown\');" /></a>';}}}return '<a href="javascript:tinyMCE.execInstanceCommand(\'{$editor_id}\',\''+but[3]+'\', '+(but.length>4?but[4]:false)+(but.length>5?', \''+but[5]+'\'':'')+')" onmousedown="return false;"><img id="{$editor_id}_'+but[0]+'" src="{$themeurl}/images/'+but[1]+'" title="'+but[2]+'" width="20" height="20" class="mceButtonNormal" onmouseover="tinyMCE.switchClass(this,\'mceButtonOver\');" onmouseout="tinyMCE.restoreClass(this);" onmousedown="tinyMCE.restoreAndSwitchClass(this,\'mceButtonDown\');" /></a>';}}switch(button_name){case "formatselect":var html='<select id="{$editor_id}_formatSelect" name="{$editor_id}_formatSelect" onfocus="tinyMCE.addSelectAccessibility(event, this, window);" onchange="tinyMCE.execInstanceCommand(\'{$editor_id}\',\'FormatBlock\',false,this.options[this.selectedIndex].value);" class="mceSelectList">';var formats=tinyMCE.getParam("theme_advanced_blockformats","p,address,pre,h1,h2,h3,h4,h5,h6",true).split(',');var lookup=[['p','{$lang_theme_paragraph}'],['address','{$lang_theme_address}'],['pre','{$lang_theme_pre}'],['h1','{$lang_theme_h1}'],['h2','{$lang_theme_h2}'],['h3','{$lang_theme_h3}'],['h4','{$lang_theme_h4}'],['h5','{$lang_theme_h5}'],['h6','{$lang_theme_h6}']];html+='<option value="">{$lang_theme_block}</option>';for(var i=0;i<formats.length;i++){for(var x=0;x<lookup.length;x++){if(formats[i]==lookup[x][0]){html+='<option value="<'+lookup[x][0]+'>">'+lookup[x][1]+'</option>';}}}html+='</select>';return html;case "styleselect":return '<select id="{$editor_id}_styleSelect" onmousedown="TinyMCE_advanced_setupCSSClasses(\'{$editor_id}\');" name="{$editor_id}_styleSelect" onfocus="tinyMCE.addSelectAccessibility(event, this, window);" onchange="tinyMCE.execInstanceCommand(\'{$editor_id}\',\'mceSetCSSClass\',false,this.options[this.selectedIndex].value);" class="mceSelectList">{$style_select_options}</select>';case "fontselect":var fontHTML='<select id="{$editor_id}_fontNameSelect" name="{$editor_id}_fontNameSelect" onfocus="tinyMCE.addSelectAccessibility(event, this, window);" onchange="tinyMCE.execInstanceCommand(\'{$editor_id}\',\'FontName\',false,this.options[this.selectedIndex].value);" class="mceSelectList"><option value="">{$lang_theme_fontdefault}</option>';var iFonts='Arial=arial,helvetica,sans-serif;Courier New=courier new,courier,monospace;Georgia=georgia,times new roman,times,serif;Tahoma=tahoma,arial,helvetica,sans-serif;Times New Roman=times new roman,times,serif;Verdana=verdana,arial,helvetica,sans-serif;Impact=impact;WingDings=wingdings';var nFonts='Andale Mono=andale mono,times;Arial=arial,helvetica,sans-serif;Arial Black=arial black,avant garde;Book Antiqua=book antiqua,palatino;Comic Sans MS=comic sans ms,sand;Courier New=courier new,courier;Georgia=georgia,palatino;Helvetica=helvetica;Impact=impact,chicago;Symbol=symbol;Tahoma=tahoma,arial,helvetica,sans-serif;Terminal=terminal,monaco;Times New Roman=times new roman,times;Trebuchet MS=trebuchet ms,geneva;Verdana=verdana,geneva;Webdings=webdings;Wingdings=wingdings,zapf dingbats';var fonts=tinyMCE.getParam("theme_advanced_fonts",nFonts).split(';');for(var i=0;i<fonts.length;i++){if(fonts[i]!=''){var parts=fonts[i].split('=');fontHTML+='<option value="'+parts[1]+'">'+parts[0]+'</option>';}}fontHTML+='</select>';return fontHTML;case "fontsizeselect":return '<select id="{$editor_id}_fontSizeSelect" name="{$editor_id}_fontSizeSelect" onfocus="tinyMCE.addSelectAccessibility(event, this, window);" onchange="tinyMCE.execInstanceCommand(\'{$editor_id}\',\'FontSize\',false,this.options[this.selectedIndex].value);" class="mceSelectList">\
+               <option value="0">{$lang_theme_font_size}</option>\
+               <option value="1">1 (8 pt)</option>\
+               <option value="2">2 (10 pt)</option>\
+               <option value="3">3 (12 pt)</option>\
+               <option value="4">4 (14 pt)</option>\
+               <option value="5">5 (18 pt)</option>\
+               <option value="6">6 (24 pt)</option>\
+               <option value="7">7 (36 pt)</option>\
+               </select>';case "|":case "separator":return '<img src="{$themeurl}/images/spacer.gif" width="1" height="15" class="mceSeparatorLine">';case "spacer":return '<img src="{$themeurl}/images/spacer.gif" width="1" height="15" border="0" class="mceSeparatorLine" style="vertical-align: middle" />';case "rowseparator":return '<br />';}return "";}function TinyMCE_advanced_execCommand(editor_id,element,command,user_interface,value){switch(command){case "mceForeColor":var template=new Array();var elm=tinyMCE.selectedInstance.getFocusElement();var inputColor=tinyMCE.getAttrib(elm,"color");if(inputColor=='')inputColor=elm.style.color;if(!inputColor)inputColor="#000000";template['file']='color_picker.htm';template['width']=220;template['height']=190;tinyMCE.openWindow(template,{editor_id:editor_id,inline:"yes",command:"forecolor",input_color:inputColor});return true;case "mceBackColor":var template=new Array();var elm=tinyMCE.selectedInstance.getFocusElement();var inputColor=elm.style.backgroundColor;if(!inputColor)inputColor="#000000";template['file']='color_picker.htm';template['width']=220;template['height']=190;template['width']+=tinyMCE.getLang('lang_theme_advanced_backcolor_delta_width',0);template['height']+=tinyMCE.getLang('lang_theme_advanced_backcolor_delta_height',0);tinyMCE.openWindow(template,{editor_id:editor_id,inline:"yes",command:"HiliteColor",input_color:inputColor});return true;case "mceColorPicker":if(user_interface){var template=new Array();var inputColor=value['document'].getElementById(value['element_id']).value;template['file']='color_picker.htm';template['width']=220;template['height']=190;template['width']+=tinyMCE.getLang('lang_theme_advanced_colorpicker_delta_width',0);template['height']+=tinyMCE.getLang('lang_theme_advanced_colorpicker_delta_height',0);if(typeof(value['store_selection'])=="undefined")value['store_selection']=true;tinyMCE.lastColorPickerValue=value;tinyMCE.openWindow(template,{editor_id:editor_id,mce_store_selection:value['store_selection'],inline:"yes",command:"mceColorPicker",input_color:inputColor});}else{var savedVal=tinyMCE.lastColorPickerValue;var elm=savedVal['document'].getElementById(savedVal['element_id']);elm.value=value;eval('elm.onchange();');}return true;case "mceCodeEditor":var template=new Array();template['file']='source_editor.htm';template['width']=parseInt(tinyMCE.getParam("theme_advanced_source_editor_width",500));template['height']=parseInt(tinyMCE.getParam("theme_advanced_source_editor_height",400));tinyMCE.openWindow(template,{editor_id:editor_id,resizable:"yes",scrollbars:"no",inline:"yes"});return true;case "mceCharMap":var template=new Array();template['file']='charmap.htm';template['width']=550;template['height']=250;template['width']+=tinyMCE.getLang('lang_theme_advanced_charmap_delta_width',0);template['height']+=tinyMCE.getLang('lang_theme_advanced_charmap_delta_height',0);tinyMCE.openWindow(template,{editor_id:editor_id,inline:"yes"});return true;case "mceInsertAnchor":var template=new Array();template['file']='anchor.htm';template['width']=320;template['height']=90;template['width']+=tinyMCE.getLang('lang_theme_advanced_anchor_delta_width',0);template['height']+=tinyMCE.getLang('lang_theme_advanced_anchor_delta_height',0);tinyMCE.openWindow(template,{editor_id:editor_id,inline:"yes"});return true;case "mceNewDocument":if(confirm(tinyMCE.getLang('lang_newdocument')))tinyMCE.execInstanceCommand(editor_id,'mceSetContent',false,'');return true;}return false;}function TinyMCE_advanced_getEditorTemplate(settings,editorId){function removeFromArray(in_array,remove_array){var outArray=new Array();for(var i=0;i<in_array.length;i++){skip=false;for(var j=0;j<remove_array.length;j++){if(in_array[i]==remove_array[j]){skip=true;}}if(!skip){outArray[outArray.length]=in_array[i];}}return outArray;}function addToArray(in_array,add_array){for(var i=0;i<add_array.length;i++){in_array[in_array.length]=add_array[i];}return in_array;}var template=new Array();var deltaHeight=0;var resizing=tinyMCE.getParam("theme_advanced_resizing",false);var path=tinyMCE.getParam("theme_advanced_path",true);var statusbarHTML='<div id="{$editor_id}_path" class="mceStatusbarPathText" style="display: '+(path?"block":"none")+'">&nbsp;</div><div id="{$editor_id}_resize" class="mceStatusbarResize" style="display: '+(resizing?"block":"none")+'" onmousedown="TinyMCE_advanced_setResizing(event,\'{$editor_id}\',true);"></div><br style="clear: both" />';var layoutManager=tinyMCE.getParam("theme_advanced_layout_manager","SimpleLayout");var styleSelectHTML='<option value="">{$lang_theme_style_select}</option>';if(settings['theme_advanced_styles']){var stylesAr=settings['theme_advanced_styles'].split(';');for(var i=0;i<stylesAr.length;i++){var key,value;key=stylesAr[i].split('=')[0];value=stylesAr[i].split('=')[1];styleSelectHTML+='<option value="'+value+'">'+key+'</option>';}TinyMCE_advanced_autoImportCSSClasses=false;}switch(layoutManager){case "SimpleLayout":var toolbarHTML="";var toolbarLocation=tinyMCE.getParam("theme_advanced_toolbar_location","bottom");var toolbarAlign=tinyMCE.getParam("theme_advanced_toolbar_align","center");var pathLocation=tinyMCE.getParam("theme_advanced_path_location","none");var statusbarLocation=tinyMCE.getParam("theme_advanced_statusbar_location",pathLocation);var defVals={theme_advanced_buttons1:"bold,italic,underline,strikethrough,separator,justifyleft,justifycenter,justifyright,justifyfull,separator,styleselect,formatselect",theme_advanced_buttons2:"bullist,numlist,separator,outdent,indent,separator,undo,redo,separator,link,unlink,anchor,image,cleanup,help,code",theme_advanced_buttons3:"hr,removeformat,visualaid,separator,sub,sup,separator,charmap"};for(var i=1;i<100;i++){var def=defVals["theme_advanced_buttons"+i];buttons=tinyMCE.getParam("theme_advanced_buttons"+i,def==null?'':def,true,',');if(buttons.length==0)break;buttons=removeFromArray(buttons,tinyMCE.getParam("theme_advanced_disable","",true,','));buttons=addToArray(buttons,tinyMCE.getParam("theme_advanced_buttons"+i+"_add","",true,','));buttons=addToArray(tinyMCE.getParam("theme_advanced_buttons"+i+"_add_before","",true,','),buttons);for(var b=0;b<buttons.length;b++)toolbarHTML+=tinyMCE.getControlHTML(buttons[b]);if(buttons.length>0){toolbarHTML+="<br />";deltaHeight-=23;}}template['html']='<table class="mceEditor" border="0" cellpadding="0" cellspacing="0" width="{$width}" height="{$height}" style="width:{$width}px;height:{$height}px"><tbody>';if(toolbarLocation=="top"){template['html']+='<tr><td class="mceToolbarTop" align="'+toolbarAlign+'" height="1" nowrap="nowrap">'+toolbarHTML+'</td></tr>';}if(statusbarLocation=="top"){template['html']+='<tr><td class="mceStatusbarTop" height="1">'+statusbarHTML+'</td></tr>';deltaHeight-=23;}template['html']+='<tr><td align="center"><span id="{$editor_id}"></span></td></tr>';if(toolbarLocation=="bottom"){template['html']+='<tr><td class="mceToolbarBottom" align="'+toolbarAlign+'" height="1">'+toolbarHTML+'</td></tr>';}if(toolbarLocation=="external"){var bod=document.body;var elm=document.createElement("div");toolbarHTML=tinyMCE.replaceVars(toolbarHTML,tinyMCE.settings);toolbarHTML=tinyMCE.replaceVars(toolbarHTML,tinyMCELang);toolbarHTML=tinyMCE.replaceVar(toolbarHTML,'style_select_options',styleSelectHTML);toolbarHTML=tinyMCE.replaceVar(toolbarHTML,"editor_id",editorId);toolbarHTML=tinyMCE.applyTemplate(toolbarHTML);elm.className="mceToolbarExternal";elm.id=editorId+"_toolbar";elm.innerHTML='<table width="100%" border="0" align="center"><tr><td align="center">'+toolbarHTML+'</td></tr></table>';bod.appendChild(elm);deltaHeight=0;tinyMCE.getInstanceById(editorId).toolbarElement=elm;}else{tinyMCE.getInstanceById(editorId).toolbarElement=null;}if(statusbarLocation=="bottom"){template['html']+='<tr><td class="mceStatusbarBottom" height="1">'+statusbarHTML+'</td></tr>';deltaHeight-=23;}template['html']+='</table>';break;case "RowLayout":template['html']='<table class="mceEditor" border="0" cellpadding="0" cellspacing="0" width="{$width}" height="{$height}" style="width:{$width}px;height:{$height}px"><tbody>';var containers=tinyMCE.getParam("theme_advanced_containers","",true,",");var defaultContainerCSS=tinyMCE.getParam("theme_advanced_containers_default_class","container");var defaultContainerAlign=tinyMCE.getParam("theme_advanced_containers_default_align","center");for(var i=0;i<containers.length;i++){if(containers[i]=="mceEditor"){template['html']+='<tr><td align="center" class="mceEditor_border">\
+                                                                                               <span id="{$editor_id}"></span>\
+                                                                                               </td></tr>';}else if(containers[i]=="mceElementpath"||containers[i]=="mceStatusbar"){var pathClass="mceStatusbar";if(i==containers.length-1){pathClass="mceStatusbarBottom";}else if(i==0){pathClass="mceStatusbar";}else{deltaHeight-=2;}template['html']+='<tr><td class="'+pathClass+'" height="1">'+statusbarHTML+'</td></tr>';deltaHeight-=22;}else{var curContainer=tinyMCE.getParam("theme_advanced_container_"+containers[i],"",true,',');var curContainerHTML="";var curAlign=tinyMCE.getParam("theme_advanced_container_"+containers[i]+"_align",defaultContainerAlign);var curCSS=tinyMCE.getParam("theme_advanced_container_"+containers[i]+"_class",defaultContainerCSS);for(var j=0;j<curContainer.length;j++){curContainerHTML+=tinyMCE.getControlHTML(curContainer[j]);}if(curContainer.length>0){curContainerHTML+="<br />";deltaHeight-=23;}template['html']+='<tr><td class="'+curCSS+'" align="'+curAlign+'" height="1">'+curContainerHTML+'</td></tr>';}}template['html']+='</tbody></table>';break;case "BorderLayout":break;case "CustomLayout":var customLayout=tinyMCE.getParam("theme_advanced_custom_layout","");if(customLayout!=""&&eval("typeof("+customLayout+")")!="undefined"){template=eval(customLayout+"(template);");}break;default:alert('UNDEFINED LAYOUT MANAGER! PLEASE CHECK YOUR TINYMCE CONFIG!');break;}template['html']+='<div id="{$editor_id}_resize_box" class="mceResizeBox"></div>';template['html']=tinyMCE.replaceVar(template['html'],'style_select_options',styleSelectHTML);template['delta_width']=0;template['delta_height']=deltaHeight;return template;}function TinyMCE_advanced_setResizing(e,editor_id,state){e=typeof(e)=="undefined"?window.event:e;var resizer=TinyMCE_advanced_resizer;var editorContainer=document.getElementById(editor_id+'_parent');var editorArea=document.getElementById(editor_id+'_parent').firstChild;var resizeBox=document.getElementById(editor_id+'_resize_box');var inst=tinyMCE.getInstanceById(editor_id);if(state){var width=editorArea.clientWidth;var height=editorArea.clientHeight;resizeBox.style.width=width+"px";resizeBox.style.height=height+"px";resizer.iframeWidth=inst.iframeElement.clientWidth;resizer.iframeHeight=inst.iframeElement.clientHeight;editorArea.style.display="none";resizeBox.style.display="block";if(!resizer.eventHandlers){if(tinyMCE.isMSIE)tinyMCE.addEvent(document,"mousemove",TinyMCE_advanced_resizeEventHandler);else tinyMCE.addEvent(window,"mousemove",TinyMCE_advanced_resizeEventHandler);tinyMCE.addEvent(document,"mouseup",TinyMCE_advanced_resizeEventHandler);resizer.eventHandlers=true;}resizer.resizing=true;resizer.downX=e.screenX;resizer.downY=e.screenY;resizer.width=parseInt(resizeBox.style.width);resizer.height=parseInt(resizeBox.style.height);resizer.editorId=editor_id;resizer.resizeBox=resizeBox;resizer.horizontal=tinyMCE.getParam("theme_advanced_resize_horizontal",true);}else{resizer.resizing=false;resizeBox.style.display="none";editorArea.style.display=tinyMCE.isMSIE?"block":"table";tinyMCE.execCommand('mceResetDesignMode');}}function TinyMCE_advanced_initInstance(inst){if(tinyMCE.getParam("theme_advanced_resizing",false)){var w=TinyMCE_advanced_getCookie("TinyMCE_"+inst.editorId+"_width");var h=TinyMCE_advanced_getCookie("TinyMCE_"+inst.editorId+"_height");TinyMCE_advanced_resizeTo(inst,w,h,tinyMCE.getParam("theme_advanced_resize_horizontal",true));}}function TinyMCE_advanced_setCookie(name,value,expires,path,domain,secure){var curCookie=name+"="+escape(value)+((expires)?"; expires="+expires.toGMTString():"")+((path)?"; path="+escape(path):"")+((domain)?"; domain="+domain:"")+((secure)?"; secure":"");document.cookie=curCookie;}function TinyMCE_advanced_getCookie(name){var dc=document.cookie;var prefix=name+"=";var begin=dc.indexOf("; "+prefix);if(begin==-1){begin=dc.indexOf(prefix);if(begin!=0)return null;}else begin+=2;var end=document.cookie.indexOf(";",begin);if(end==-1)end=dc.length;return unescape(dc.substring(begin+prefix.length,end));}function TinyMCE_advanced_resizeTo(inst,w,h,set_w){var editorContainer=document.getElementById(inst.editorId+'_parent');var tableElm=editorContainer.firstChild;var iframe=inst.iframeElement;if(w==null||w=="null"){set_w=false;w=0;}if(h==null||h=="null")return;w=parseInt(w);h=parseInt(h);if(tinyMCE.isGecko){w+=2;h+=2;}var dx=w-tableElm.clientWidth;var dy=h-tableElm.clientHeight;if(set_w)tableElm.style.width=w+"px";tableElm.style.height=h+"px";iw=iframe.clientWidth+dx;ih=iframe.clientHeight+dy;if(tinyMCE.isGecko){iw-=2;ih-=2;}if(set_w)iframe.style.width=iw+"px";iframe.style.height=ih+"px";if(set_w){var tableBodyElm=tableElm.firstChild;var minIframeWidth=tableBodyElm.scrollWidth;if(inst.iframeElement.clientWidth<minIframeWidth){dx=minIframeWidth-inst.iframeElement.clientWidth;inst.iframeElement.style.width=(iw+dx)+"px";}}}function TinyMCE_advanced_resizeEventHandler(e){var resizer=TinyMCE_advanced_resizer;if(!resizer.resizing)return;e=typeof(e)=="undefined"?window.event:e;var dx=e.screenX-resizer.downX;var dy=e.screenY-resizer.downY;var resizeBox=resizer.resizeBox;var editorId=resizer.editorId;switch(e.type){case "mousemove":if(resizer.horizontal)resizeBox.style.width=(resizer.width+dx)+"px";resizeBox.style.height=(resizer.height+dy)+"px";break;case "mouseup":TinyMCE_advanced_setResizing(e,editorId,false);TinyMCE_advanced_resizeTo(tinyMCE.getInstanceById(editorId),resizer.width+dx,resizer.height+dy,resizer.horizontal);var expires=new Date();expires.setTime(expires.getTime()+3600000*24*30);TinyMCE_advanced_setCookie("TinyMCE_"+editorId+"_width",""+(resizer.horizontal?resizer.width+dx:""),expires);TinyMCE_advanced_setCookie("TinyMCE_"+editorId+"_height",""+(resizer.height+dy),expires);break;}}function TinyMCE_advanced_getInsertLinkTemplate(){var template=new Array();template['file']='link.htm';template['width']=330;template['height']=170;template['width']+=tinyMCE.getLang('lang_insert_link_delta_width',0);template['height']+=tinyMCE.getLang('lang_insert_link_delta_height',0);return template;};function TinyMCE_advanced_getInsertImageTemplate(){var template=new Array();template['file']='image.htm?src={$src}';template['width']=340;template['height']=245;template['width']+=tinyMCE.getLang('lang_insert_image_delta_width',0);template['height']+=tinyMCE.getLang('lang_insert_image_delta_height',0);return template;};function TinyMCE_advanced_handleNodeChange(editor_id,node,undo_index,undo_levels,visual_aid,any_selection){function selectByValue(select_elm,value){if(select_elm){for(var i=0;i<select_elm.options.length;i++){if(select_elm.options[i].value==value){select_elm.selectedIndex=i;return true;}}}return false;};function getAttrib(elm,name){return elm.getAttribute(name)?elm.getAttribute(name):"";};if(node==null){return;}var pathElm=document.getElementById(editor_id+"_path");if(pathElm){var parentNode=node;var path=new Array();while(parentNode){if(parentNode.nodeName.toLowerCase()=="body"){break;}if(parentNode.nodeType==1){path[path.length]=parentNode;}parentNode=parentNode.parentNode;}var html="";for(var i=path.length-1;i>=0;i--){var nodeName=path[i].nodeName.toLowerCase();var nodeData="";if(nodeName=="b"){nodeName="strong";}if(nodeName=="i"){nodeName="em";}if(getAttrib(path[i],'id')!=""){nodeData+="id: "+path[i].getAttribute('id')+" ";}var className=tinyMCE.getVisualAidClass(tinyMCE.getAttrib(path[i],"class"),false);if(className!=""&&className.indexOf('mceItem')==-1)nodeData+="class: "+className+" ";if(getAttrib(path[i],'src')!=""){nodeData+="src: "+path[i].getAttribute('src')+" ";}if(getAttrib(path[i],'href')!=""){nodeData+="href: "+path[i].getAttribute('href')+" ";}if(nodeName=="img"&&tinyMCE.getAttrib(path[i],"class").indexOf('mceItemFlash')!=-1){nodeName="flash";nodeData="";}if(nodeName=="a"&&(anchor=tinyMCE.getAttrib(path[i],"name"))!=""){nodeName="a";nodeName+="#"+anchor;nodeData="";}if(getAttrib(path[i],'name').indexOf("mce_")!=0){var className=tinyMCE.getVisualAidClass(tinyMCE.getAttrib(path[i],"class"),false);if(className!=""&&className.indexOf('mceItem')==-1)nodeName+="."+className;}if(tinyMCE.isMSIE){html+='<a title="'+nodeData+'" href="javascript:void(0);" onmousedown="tinyMCE.execInstanceCommand(\''+editor_id+'\',\'mceSelectNodeDepth\',false,\''+i+'\');return false;" class="mcePathItem">'+nodeName+'</a>';}else{html+='<a title="'+nodeData+'" href="javascript:tinyMCE.execInstanceCommand(\''+editor_id+'\',\'mceSelectNodeDepth\',false,\''+i+'\');" class="mcePathItem">'+nodeName+'</a>';}if(i>0){html+=" &raquo; ";}}pathElm.innerHTML=tinyMCE.getLang('lang_theme_path')+": "+html+'&nbsp;';}tinyMCE.switchClassSticky(editor_id+'_justifyleft','mceButtonNormal');tinyMCE.switchClassSticky(editor_id+'_justifyright','mceButtonNormal');tinyMCE.switchClassSticky(editor_id+'_justifycenter','mceButtonNormal');tinyMCE.switchClassSticky(editor_id+'_justifyfull','mceButtonNormal');tinyMCE.switchClassSticky(editor_id+'_bold','mceButtonNormal');tinyMCE.switchClassSticky(editor_id+'_italic','mceButtonNormal');tinyMCE.switchClassSticky(editor_id+'_underline','mceButtonNormal');tinyMCE.switchClassSticky(editor_id+'_strikethrough','mceButtonNormal');tinyMCE.switchClassSticky(editor_id+'_bullist','mceButtonNormal');tinyMCE.switchClassSticky(editor_id+'_numlist','mceButtonNormal');tinyMCE.switchClassSticky(editor_id+'_sub','mceButtonNormal');tinyMCE.switchClassSticky(editor_id+'_sup','mceButtonNormal');tinyMCE.switchClassSticky(editor_id+'_anchor','mceButtonNormal');tinyMCE.switchClassSticky(editor_id+'_link','mceButtonDisabled',true);tinyMCE.switchClassSticky(editor_id+'_unlink','mceButtonDisabled',true);tinyMCE.switchClassSticky(editor_id+'_outdent','mceButtonDisabled',true);tinyMCE.switchClassSticky(editor_id+'_image','mceButtonNormal');tinyMCE.switchClassSticky(editor_id+'_hr','mceButtonNormal');if(node.nodeName=="A"&&tinyMCE.getAttrib(node,"class").indexOf('mceItemAnchor')!=-1)tinyMCE.switchClassSticky(editor_id+'_anchor','mceButtonSelected');var anchorLink=tinyMCE.getParentElement(node,"a","href");if(anchorLink||any_selection){tinyMCE.switchClassSticky(editor_id+'_link',anchorLink?'mceButtonSelected':'mceButtonNormal',false);tinyMCE.switchClassSticky(editor_id+'_unlink',anchorLink?'mceButtonSelected':'mceButtonNormal',false);}tinyMCE.switchClassSticky(editor_id+'_visualaid',visual_aid?'mceButtonSelected':'mceButtonNormal',false);if(undo_levels!=-1){tinyMCE.switchClassSticky(editor_id+'_undo','mceButtonDisabled',true);tinyMCE.switchClassSticky(editor_id+'_redo','mceButtonDisabled',true);}if(tinyMCE.getParentElement(node,"li,blockquote")){tinyMCE.switchClassSticky(editor_id+'_outdent','mceButtonNormal',false);}if(undo_index!=-1&&(undo_index<undo_levels-1&&undo_levels>0)){tinyMCE.switchClassSticky(editor_id+'_redo','mceButtonNormal',false);}if(undo_index!=-1&&(undo_index>0&&undo_levels>0)){tinyMCE.switchClassSticky(editor_id+'_undo','mceButtonNormal',false);}var selectElm=document.getElementById(editor_id+"_styleSelect");if(selectElm){TinyMCE_advanced_setupCSSClasses(editor_id);classNode=node;breakOut=false;var index=0;do{if(classNode&&classNode.className){for(var i=0;i<selectElm.options.length;i++){if(selectElm.options[i].value==classNode.className){index=i;breakOut=true;break;}}}}while(!breakOut&&classNode!=null&&(classNode=classNode.parentNode));selectElm.selectedIndex=index;}var selectElm=document.getElementById(editor_id+"_formatSelect");if(selectElm){var elm=tinyMCE.getParentElement(node,"p,div,h1,h2,h3,h4,h5,h6,pre,address");if(elm){selectByValue(selectElm,"<"+elm.nodeName.toLowerCase()+">");}else{selectByValue(selectElm,"");}}var selectElm=document.getElementById(editor_id+"_fontNameSelect");if(selectElm){var elm=tinyMCE.getParentElement(node);if(elm){var family=tinyMCE.getAttrib(elm,"face");if(family=='')family=''+elm.style.fontFamily;if(!selectByValue(selectElm,family))selectByValue(selectElm,"");}else selectByValue(selectElm,"");}var selectElm=document.getElementById(editor_id+"_fontSizeSelect");if(selectElm){var elm=tinyMCE.getParentElement(node);if(elm){var size=tinyMCE.getAttrib(elm,"size");if(size==''){var sizes=new Array('','8px','10px','12px','14px','18px','24px','36px');size=''+elm.style.fontSize;for(var i=0;i<sizes.length;i++){if((''+sizes[i])==size){size=i;break;}}}if(!selectByValue(selectElm,size))selectByValue(selectElm,"");}else selectByValue(selectElm,"0");}alignNode=node;breakOut=false;do{if(!alignNode.getAttribute||!alignNode.getAttribute('align')){continue;}switch(alignNode.getAttribute('align').toLowerCase()){case "left":tinyMCE.switchClassSticky(editor_id+'_justifyleft','mceButtonSelected');breakOut=true;break;case "right":tinyMCE.switchClassSticky(editor_id+'_justifyright','mceButtonSelected');breakOut=true;break;case "middle":case "center":tinyMCE.switchClassSticky(editor_id+'_justifycenter','mceButtonSelected');breakOut=true;break;case "justify":tinyMCE.switchClassSticky(editor_id+'_justifyfull','mceButtonSelected');breakOut=true;break;}}while(!breakOut&&(alignNode=alignNode.parentNode));var div=tinyMCE.getParentElement(node,"div");if(div&&div.style.textAlign=="center")tinyMCE.switchClassSticky(editor_id+'_justifycenter','mceButtonSelected');if(tinyMCE.isGecko&&node.nodeType==3){var inst=tinyMCE.getInstanceById(editor_id);var doc=inst.getDoc();if(doc.queryCommandState("Bold")){tinyMCE.switchClassSticky(editor_id+'_bold','mceButtonSelected');}if(doc.queryCommandState("Italic")){tinyMCE.switchClassSticky(editor_id+'_italic','mceButtonSelected');}if(doc.queryCommandState("Underline")&&(node.parentNode==null||node.parentNode.nodeName!="A")){tinyMCE.switchClassSticky(editor_id+'_underline','mceButtonSelected');}if(doc.queryCommandState("Strikethrough")){tinyMCE.switchClassSticky(editor_id+'_strikethrough','mceButtonSelected');}}do{switch(node.nodeName.toLowerCase()){case "b":case "strong":tinyMCE.switchClassSticky(editor_id+'_bold','mceButtonSelected');break;case "i":case "em":tinyMCE.switchClassSticky(editor_id+'_italic','mceButtonSelected');break;case "u":tinyMCE.switchClassSticky(editor_id+'_underline','mceButtonSelected');break;case "strike":tinyMCE.switchClassSticky(editor_id+'_strikethrough','mceButtonSelected');break;case "ul":tinyMCE.switchClassSticky(editor_id+'_bullist','mceButtonSelected');break;case "ol":tinyMCE.switchClassSticky(editor_id+'_numlist','mceButtonSelected');break;case "sub":tinyMCE.switchClassSticky(editor_id+'_sub','mceButtonSelected');break;case "sup":tinyMCE.switchClassSticky(editor_id+'_sup','mceButtonSelected');break;case "hr":tinyMCE.switchClassSticky(editor_id+'_hr','mceButtonSelected');break;case "img":if(getAttrib(node,'name').indexOf('mce_')!=0){tinyMCE.switchClassSticky(editor_id+'_image','mceButtonSelected');}break;}}while((node=node.parentNode));};function TinyMCE_advanced_setupCSSClasses(editor_id){if(!TinyMCE_advanced_autoImportCSSClasses){return;}var selectElm=document.getElementById(editor_id+'_styleSelect');if(selectElm&&selectElm.getAttribute('cssImported')!='true'){var csses=tinyMCE.getCSSClasses(editor_id);if(csses&&selectElm){for(var i=0;i<csses.length;i++){selectElm.options[selectElm.length]=new Option(csses[i],csses[i]);}}if(csses!=null&&csses.length>0){selectElm.setAttribute('cssImported','true');}}};
\ No newline at end of file
diff --git a/webcit/tiny_mce/themes/advanced/editor_template_src.js b/webcit/tiny_mce/themes/advanced/editor_template_src.js
new file mode 100644 (file)
index 0000000..0f1d321
--- /dev/null
@@ -0,0 +1,1185 @@
+/* Import theme specific language pack */
+tinyMCE.importThemeLanguagePack('advanced');
+
+// Variable declarations
+var TinyMCE_advanced_autoImportCSSClasses = true;
+var TinyMCE_advanced_resizer = new Object();
+var TinyMCE_advanced_buttons = [
+       // Control id, button img, button title, command, user_interface, value
+       ['bold', '{$lang_bold_img}', '{$lang_bold_desc}', 'Bold'],
+       ['italic', '{$lang_italic_img}', '{$lang_italic_desc}', 'Italic'],
+       ['underline', '{$lang_underline_img}', '{$lang_underline_desc}', 'Underline'],
+       ['strikethrough', 'strikethrough.gif', '{$lang_striketrough_desc}', 'Strikethrough'],
+       ['justifyleft', 'left.gif', '{$lang_justifyleft_desc}', 'JustifyLeft'],
+       ['justifycenter', 'center.gif', '{$lang_justifycenter_desc}', 'JustifyCenter'],
+       ['justifyright', 'right.gif', '{$lang_justifyright_desc}', 'JustifyRight'],
+       ['justifyfull', 'full.gif', '{$lang_justifyfull_desc}', 'JustifyFull'],
+       ['bullist', 'bullist.gif', '{$lang_bullist_desc}', 'InsertUnorderedList'],
+       ['numlist', 'numlist.gif', '{$lang_numlist_desc}', 'InsertOrderedList'],
+       ['outdent', 'outdent.gif', '{$lang_outdent_desc}', 'Outdent'],
+       ['indent', 'indent.gif', '{$lang_indent_desc}', 'Indent'],
+       ['cut', 'cut.gif', '{$lang_cut_desc}', 'Cut'],
+       ['copy', 'copy.gif', '{$lang_copy_desc}', 'Copy'],
+       ['paste', 'paste.gif', '{$lang_paste_desc}', 'Paste'],
+       ['undo', 'undo.gif', '{$lang_undo_desc}', 'Undo'],
+       ['redo', 'redo.gif', '{$lang_redo_desc}', 'Redo'],
+       ['link', 'link.gif', '{$lang_link_desc}', 'mceLink', true],
+       ['unlink', 'unlink.gif', '{$lang_unlink_desc}', 'unlink'],
+       ['image', 'image.gif', '{$lang_image_desc}', 'mceImage', true],
+       ['cleanup', 'cleanup.gif', '{$lang_cleanup_desc}', 'mceCleanup'],
+       ['help', 'help.gif', '{$lang_help_desc}', 'mceHelp'],
+       ['code', 'code.gif', '{$lang_theme_code_desc}', 'mceCodeEditor'],
+       ['hr', 'hr.gif', '{$lang_theme_hr_desc}', 'inserthorizontalrule'],
+       ['removeformat', 'removeformat.gif', '{$lang_theme_removeformat_desc}', 'removeformat'],
+       ['sub', 'sub.gif', '{$lang_theme_sub_desc}', 'subscript'],
+       ['sup', 'sup.gif', '{$lang_theme_sup_desc}', 'superscript'],
+       ['forecolor', 'forecolor.gif', '{$lang_theme_forecolor_desc}', 'mceForeColor', true],
+       ['backcolor', 'backcolor.gif', '{$lang_theme_backcolor_desc}', 'mceBackColor', true],
+       ['charmap', 'charmap.gif', '{$lang_theme_charmap_desc}', 'mceCharMap'],
+       ['visualaid', 'visualaid.gif', '{$lang_theme_visualaid_desc}', 'mceToggleVisualAid'],
+       ['anchor', 'anchor.gif', '{$lang_theme_anchor_desc}', 'mceInsertAnchor'],
+       ['newdocument', 'newdocument.gif', '{$lang_newdocument_desc}', 'mceNewDocument']
+];
+
+/**
+ * Returns HTML code for the specificed control.
+ */
+function TinyMCE_advanced_getControlHTML(button_name)
+{
+       var buttonTileMap = new Array('anchor.gif','backcolor.gif','bullist.gif','center.gif',
+                                                                                       'charmap.gif','cleanup.gif','code.gif','copy.gif','custom_1.gif',
+                                                                                       'cut.gif','forecolor.gif','full.gif','help.gif','hr.gif',
+                                                                                       'image.gif','indent.gif','left.gif','link.gif','numlist.gif',
+                                                                                       'outdent.gif','paste.gif','redo.gif','removeformat.gif',
+                                                                                       'right.gif','strikethrough.gif','sub.gif','sup.gif','undo.gif',
+                                                                                       'unlink.gif','visualaid.gif');
+
+       // Lookup button in button list
+       for (var i=0; i<TinyMCE_advanced_buttons.length; i++)
+       {
+               var but = TinyMCE_advanced_buttons[i];
+
+               if (but[0] == button_name)
+               {
+                       // Check for it in tilemap
+                       if (tinyMCE.settings['button_tile_map'])
+                       {
+                               for (var x=0; !tinyMCE.isMSIE && x<buttonTileMap.length; x++)
+                               {
+                                       if (buttonTileMap[x] == but[1])
+                                       {
+                                               return '<a href="javascript:tinyMCE.execInstanceCommand(\'{$editor_id}\',\'' + but[3] + '\', ' + (but.length > 4 ? but[4] : false) + (but.length > 5 ? ', \'' + but[5] + '\'' : '') + ')" onmousedown="return false;"><img id="{$editor_id}_' + but[0] +'" src="{$themeurl}/images/spacer.gif" style="background-image:url({$themeurl}/images/buttons.gif); background-position: ' + (0-(x*20)) + 'px 0px" title="' + but[2] + '" width="20" height="20" class="mceButtonNormal" onmouseover="tinyMCE.switchClass(this,\'mceButtonOver\');" onmouseout="tinyMCE.restoreClass(this);" onmousedown="tinyMCE.restoreAndSwitchClass(this,\'mceButtonDown\');" /></a>';
+                                       }
+                               }
+                       }
+
+                       // Old style
+                       return '<a href="javascript:tinyMCE.execInstanceCommand(\'{$editor_id}\',\'' + but[3] + '\', ' + (but.length > 4 ? but[4] : false) + (but.length > 5 ? ', \'' + but[5] + '\'' : '') + ')" onmousedown="return false;"><img id="{$editor_id}_' + but[0] + '" src="{$themeurl}/images/' + but[1] + '" title="' + but[2] + '" width="20" height="20" class="mceButtonNormal" onmouseover="tinyMCE.switchClass(this,\'mceButtonOver\');" onmouseout="tinyMCE.restoreClass(this);" onmousedown="tinyMCE.restoreAndSwitchClass(this,\'mceButtonDown\');" /></a>';
+               }
+       }
+
+       // Custom controlls other than buttons
+       switch (button_name)
+       {
+               case "formatselect":
+                       var html = '<select id="{$editor_id}_formatSelect" name="{$editor_id}_formatSelect" onfocus="tinyMCE.addSelectAccessibility(event, this, window);" onchange="tinyMCE.execInstanceCommand(\'{$editor_id}\',\'FormatBlock\',false,this.options[this.selectedIndex].value);" class="mceSelectList">';
+                       var formats = tinyMCE.getParam("theme_advanced_blockformats", "p,address,pre,h1,h2,h3,h4,h5,h6", true).split(',');
+                       var lookup = [
+                               ['p', '{$lang_theme_paragraph}'],
+                               ['address', '{$lang_theme_address}'],
+                               ['pre', '{$lang_theme_pre}'],
+                               ['h1', '{$lang_theme_h1}'],
+                               ['h2', '{$lang_theme_h2}'],
+                               ['h3', '{$lang_theme_h3}'],
+                               ['h4', '{$lang_theme_h4}'],
+                               ['h5', '{$lang_theme_h5}'],
+                               ['h6', '{$lang_theme_h6}']
+                       ];
+
+                       html += '<option value="">{$lang_theme_block}</option>';
+
+                       // Build format select
+                       for (var i=0; i<formats.length; i++)
+                       {
+                               for (var x=0; x<lookup.length; x++)
+                               {
+                                       if (formats[i] == lookup[x][0])
+                                       {
+                                               html += '<option value="<' + lookup[x][0] + '>">' + lookup[x][1] + '</option>';
+                                       }
+                               }
+                       }
+
+                       html += '</select>';
+                       //formatselect
+               return html;
+
+               case "styleselect":
+                       //styleselect
+               return '<select id="{$editor_id}_styleSelect" onmousedown="TinyMCE_advanced_setupCSSClasses(\'{$editor_id}\');" name="{$editor_id}_styleSelect" onfocus="tinyMCE.addSelectAccessibility(event, this, window);" onchange="tinyMCE.execInstanceCommand(\'{$editor_id}\',\'mceSetCSSClass\',false,this.options[this.selectedIndex].value);" class="mceSelectList">{$style_select_options}</select>';
+
+               case "fontselect":
+                       var fontHTML = '<select id="{$editor_id}_fontNameSelect" name="{$editor_id}_fontNameSelect" onfocus="tinyMCE.addSelectAccessibility(event, this, window);" onchange="tinyMCE.execInstanceCommand(\'{$editor_id}\',\'FontName\',false,this.options[this.selectedIndex].value);" class="mceSelectList"><option value="">{$lang_theme_fontdefault}</option>';
+                       var iFonts = 'Arial=arial,helvetica,sans-serif;Courier New=courier new,courier,monospace;Georgia=georgia,times new roman,times,serif;Tahoma=tahoma,arial,helvetica,sans-serif;Times New Roman=times new roman,times,serif;Verdana=verdana,arial,helvetica,sans-serif;Impact=impact;WingDings=wingdings';
+                       var nFonts = 'Andale Mono=andale mono,times;Arial=arial,helvetica,sans-serif;Arial Black=arial black,avant garde;Book Antiqua=book antiqua,palatino;Comic Sans MS=comic sans ms,sand;Courier New=courier new,courier;Georgia=georgia,palatino;Helvetica=helvetica;Impact=impact,chicago;Symbol=symbol;Tahoma=tahoma,arial,helvetica,sans-serif;Terminal=terminal,monaco;Times New Roman=times new roman,times;Trebuchet MS=trebuchet ms,geneva;Verdana=verdana,geneva;Webdings=webdings;Wingdings=wingdings,zapf dingbats';
+                       var fonts = tinyMCE.getParam("theme_advanced_fonts", nFonts).split(';');
+                       for (var i=0; i<fonts.length; i++) {
+                               if (fonts[i] != '') {
+                                       var parts = fonts[i].split('=');
+                                       fontHTML += '<option value="' + parts[1] + '">' + parts[0] + '</option>';
+                               }
+                       }
+
+                       fontHTML += '</select>';
+                       return fontHTML;
+
+               case "fontsizeselect":
+                       //fontsizeselect
+               return '<select id="{$editor_id}_fontSizeSelect" name="{$editor_id}_fontSizeSelect" onfocus="tinyMCE.addSelectAccessibility(event, this, window);" onchange="tinyMCE.execInstanceCommand(\'{$editor_id}\',\'FontSize\',false,this.options[this.selectedIndex].value);" class="mceSelectList">\
+               <option value="0">{$lang_theme_font_size}</option>\
+               <option value="1">1 (8 pt)</option>\
+               <option value="2">2 (10 pt)</option>\
+               <option value="3">3 (12 pt)</option>\
+               <option value="4">4 (14 pt)</option>\
+               <option value="5">5 (18 pt)</option>\
+               <option value="6">6 (24 pt)</option>\
+               <option value="7">7 (36 pt)</option>\
+               </select>';
+
+               case "|":
+               case "separator":
+               return '<img src="{$themeurl}/images/spacer.gif" width="1" height="15" class="mceSeparatorLine">';
+
+               case "spacer":
+               return '<img src="{$themeurl}/images/spacer.gif" width="1" height="15" border="0" class="mceSeparatorLine" style="vertical-align: middle" />';
+
+               case "rowseparator":
+               return '<br />';
+       }
+
+       return "";
+}
+
+/**
+ * Theme specific exec command handeling.
+ */
+function TinyMCE_advanced_execCommand(editor_id, element, command, user_interface, value)
+{
+       switch (command)
+       {
+               case "mceForeColor":
+                       var template = new Array();
+                       var elm = tinyMCE.selectedInstance.getFocusElement();
+                       var inputColor = tinyMCE.getAttrib(elm, "color");
+
+                       if (inputColor == '')
+                               inputColor = elm.style.color;
+
+                       if (!inputColor)
+                               inputColor = "#000000";
+
+                       template['file'] = 'color_picker.htm';
+                       template['width'] = 220;
+                       template['height'] = 190;
+
+                       tinyMCE.openWindow(template, {editor_id : editor_id, inline : "yes", command : "forecolor", input_color : inputColor});
+               return true;
+
+               case "mceBackColor":
+                       var template = new Array();
+                       var elm = tinyMCE.selectedInstance.getFocusElement();
+                       var inputColor = elm.style.backgroundColor;
+
+                       if (!inputColor)
+                               inputColor = "#000000";
+
+                       template['file'] = 'color_picker.htm';
+                       template['width'] = 220;
+                       template['height'] = 190;
+
+                       template['width'] += tinyMCE.getLang('lang_theme_advanced_backcolor_delta_width', 0);
+                       template['height'] += tinyMCE.getLang('lang_theme_advanced_backcolor_delta_height', 0);
+
+                       tinyMCE.openWindow(template, {editor_id : editor_id, inline : "yes", command : "HiliteColor", input_color : inputColor});
+                       //mceBackColor
+               return true;
+
+               case "mceColorPicker":
+                       if (user_interface) {
+                               var template = new Array();
+                               var inputColor = value['document'].getElementById(value['element_id']).value;
+
+                               template['file'] = 'color_picker.htm';
+                               template['width'] = 220;
+                               template['height'] = 190;
+
+                               template['width'] += tinyMCE.getLang('lang_theme_advanced_colorpicker_delta_width', 0);
+                               template['height'] += tinyMCE.getLang('lang_theme_advanced_colorpicker_delta_height', 0);
+
+                               if (typeof(value['store_selection']) == "undefined")
+                                       value['store_selection'] = true;
+
+                               tinyMCE.lastColorPickerValue = value;
+                               tinyMCE.openWindow(template, {editor_id : editor_id, mce_store_selection : value['store_selection'], inline : "yes", command : "mceColorPicker", input_color : inputColor});
+                       } else {
+                               var savedVal = tinyMCE.lastColorPickerValue;
+                               var elm = savedVal['document'].getElementById(savedVal['element_id']);
+                               elm.value = value;
+                               eval('elm.onchange();');
+                       }
+               return true;
+
+               case "mceCodeEditor":
+                       var template = new Array();
+
+                       template['file'] = 'source_editor.htm';
+                       template['width'] = parseInt(tinyMCE.getParam("theme_advanced_source_editor_width", 500));
+                       template['height'] = parseInt(tinyMCE.getParam("theme_advanced_source_editor_height", 400));
+
+                       tinyMCE.openWindow(template, {editor_id : editor_id, resizable : "yes", scrollbars : "no", inline : "yes"});
+                       //mceCodeEditor
+               return true;
+
+               case "mceCharMap":
+                       var template = new Array();
+
+                       template['file'] = 'charmap.htm';
+                       template['width'] = 550;
+                       template['height'] = 250;
+       
+                       template['width'] += tinyMCE.getLang('lang_theme_advanced_charmap_delta_width', 0);
+                       template['height'] += tinyMCE.getLang('lang_theme_advanced_charmap_delta_height', 0);
+
+                       tinyMCE.openWindow(template, {editor_id : editor_id, inline : "yes"});
+                       //mceCharMap
+               return true;
+
+               case "mceInsertAnchor":
+                       var template = new Array();
+
+                       template['file'] = 'anchor.htm';
+                       template['width'] = 320;
+                       template['height'] = 90;
+
+                       template['width'] += tinyMCE.getLang('lang_theme_advanced_anchor_delta_width', 0);
+                       template['height'] += tinyMCE.getLang('lang_theme_advanced_anchor_delta_height', 0);
+
+                       tinyMCE.openWindow(template, {editor_id : editor_id, inline : "yes"});
+               return true;
+
+               case "mceNewDocument":
+                       if (confirm(tinyMCE.getLang('lang_newdocument')))
+                               tinyMCE.execInstanceCommand(editor_id, 'mceSetContent', false, '');
+
+                       return true;
+       }
+
+       // Default behavior
+       return false;
+}
+
+/**
+ * Editor instance template function.
+ */
+function TinyMCE_advanced_getEditorTemplate(settings, editorId)
+{
+       function removeFromArray(in_array, remove_array)
+       {
+               var outArray = new Array();
+               
+               for (var i=0; i<in_array.length; i++)
+               {
+                       skip = false;
+
+                       for (var j=0; j<remove_array.length; j++)
+                       {
+                               if (in_array[i] == remove_array[j])
+                               {
+                                       skip = true;
+                               }
+                       }
+
+                       if (!skip)
+                       {
+                               outArray[outArray.length] = in_array[i];
+                       }
+               }
+
+               return outArray;
+       }
+
+       function addToArray(in_array, add_array)
+       {
+               for (var i=0; i<add_array.length; i++)
+               {
+                       in_array[in_array.length] = add_array[i];
+               }
+
+               return in_array;
+       }
+
+       var template = new Array();
+       var deltaHeight = 0;
+
+       var resizing = tinyMCE.getParam("theme_advanced_resizing", false);
+       var path = tinyMCE.getParam("theme_advanced_path", true);
+       var statusbarHTML = '<div id="{$editor_id}_path" class="mceStatusbarPathText" style="display: ' + (path ? "block" : "none") + '">&nbsp;</div><div id="{$editor_id}_resize" class="mceStatusbarResize" style="display: ' + (resizing ? "block" : "none") + '" onmousedown="TinyMCE_advanced_setResizing(event,\'{$editor_id}\',true);"></div><br style="clear: both" />';
+       var layoutManager = tinyMCE.getParam("theme_advanced_layout_manager", "SimpleLayout");
+
+       // Setup style select options -- MOVED UP FOR EXTERNAL TOOLBAR COMPATABILITY!
+       var styleSelectHTML = '<option value="">{$lang_theme_style_select}</option>';
+       if (settings['theme_advanced_styles'])
+       {
+               var stylesAr = settings['theme_advanced_styles'].split(';');
+               
+               for (var i=0; i<stylesAr.length; i++)
+               {
+                       var key, value;
+
+                       key = stylesAr[i].split('=')[0];
+                       value = stylesAr[i].split('=')[1];
+
+                       styleSelectHTML += '<option value="' + value + '">' + key + '</option>';
+               }
+
+               TinyMCE_advanced_autoImportCSSClasses = false;
+       }
+
+       switch(layoutManager)
+       {
+               case "SimpleLayout" : //the default TinyMCE Layout (for backwards compatibility)...
+                       var toolbarHTML = "";
+                       var toolbarLocation = tinyMCE.getParam("theme_advanced_toolbar_location", "bottom");
+                       var toolbarAlign = tinyMCE.getParam("theme_advanced_toolbar_align", "center");
+                       var pathLocation = tinyMCE.getParam("theme_advanced_path_location", "none"); // Compatiblity
+                       var statusbarLocation = tinyMCE.getParam("theme_advanced_statusbar_location", pathLocation);
+                       var defVals = {
+                               theme_advanced_buttons1 : "bold,italic,underline,strikethrough,separator,justifyleft,justifycenter,justifyright,justifyfull,separator,styleselect,formatselect",
+                               theme_advanced_buttons2 : "bullist,numlist,separator,outdent,indent,separator,undo,redo,separator,link,unlink,anchor,image,cleanup,help,code",
+                               theme_advanced_buttons3 : "hr,removeformat,visualaid,separator,sub,sup,separator,charmap"
+                       };
+
+                       // Render rows
+                       for (var i=1; i<100; i++) {
+                               var def = defVals["theme_advanced_buttons" + i];
+
+                               buttons = tinyMCE.getParam("theme_advanced_buttons" + i, def == null ? '' : def, true, ',');
+                               if (buttons.length == 0)
+                                       break;
+
+                               buttons = removeFromArray(buttons, tinyMCE.getParam("theme_advanced_disable", "", true, ','));
+                               buttons = addToArray(buttons, tinyMCE.getParam("theme_advanced_buttons" + i + "_add", "", true, ','));
+                               buttons = addToArray(tinyMCE.getParam("theme_advanced_buttons" + i + "_add_before", "", true, ','), buttons);
+
+                               for (var b=0; b<buttons.length; b++)
+                                       toolbarHTML += tinyMCE.getControlHTML(buttons[b]);
+
+                               if (buttons.length > 0) {
+                                       toolbarHTML += "<br />";
+                                       deltaHeight -= 23;
+                               }
+                       }
+
+                       // Setup template html
+                       template['html'] = '<table class="mceEditor" border="0" cellpadding="0" cellspacing="0" width="{$width}" height="{$height}" style="width:{$width}px;height:{$height}px"><tbody>';
+
+                       if (toolbarLocation == "top")
+                       {
+                               template['html'] += '<tr><td class="mceToolbarTop" align="' + toolbarAlign + '" height="1" nowrap="nowrap">' + toolbarHTML + '</td></tr>';
+                       }
+
+                       if (statusbarLocation == "top")
+                       {
+                               template['html'] += '<tr><td class="mceStatusbarTop" height="1">' + statusbarHTML + '</td></tr>';
+                               deltaHeight -= 23;
+                       }
+
+                       template['html'] += '<tr><td align="center"><span id="{$editor_id}"></span></td></tr>';
+
+                       if (toolbarLocation == "bottom")
+                       {
+                               template['html'] += '<tr><td class="mceToolbarBottom" align="' + toolbarAlign + '" height="1">' + toolbarHTML + '</td></tr>';
+                       }
+
+                       // External toolbar changes
+                       if (toolbarLocation == "external")
+                       {
+                               var bod = document.body;
+                               var elm = document.createElement ("div");
+                               
+                               toolbarHTML = tinyMCE.replaceVars(toolbarHTML, tinyMCE.settings);
+                               toolbarHTML = tinyMCE.replaceVars(toolbarHTML, tinyMCELang);
+                               toolbarHTML = tinyMCE.replaceVar(toolbarHTML, 'style_select_options', styleSelectHTML);
+                               toolbarHTML = tinyMCE.replaceVar(toolbarHTML, "editor_id", editorId);
+                               toolbarHTML = tinyMCE.applyTemplate(toolbarHTML);
+
+                               elm.className = "mceToolbarExternal";
+                               elm.id = editorId+"_toolbar";
+                               elm.innerHTML = '<table width="100%" border="0" align="center"><tr><td align="center">'+toolbarHTML+'</td></tr></table>';
+                               bod.appendChild (elm);
+                               // bod.style.marginTop = elm.offsetHeight + "px";
+
+                               deltaHeight = 0;
+                               tinyMCE.getInstanceById(editorId).toolbarElement = elm;
+
+                               //template['html'] = '<div id="mceExternalToolbar" align="center" class="mceToolbarExternal"><table width="100%" border="0" align="center"><tr><td align="center">'+toolbarHTML+'</td></tr></table></div>' + template["html"];
+                       }
+                       else
+                       {
+                               tinyMCE.getInstanceById(editorId).toolbarElement = null;
+                       }
+
+                       if (statusbarLocation == "bottom")
+                       {
+                               template['html'] += '<tr><td class="mceStatusbarBottom" height="1">' + statusbarHTML + '</td></tr>';
+                               deltaHeight -= 23;
+                       }
+
+                       template['html'] += '</table>';
+                       //"SimpleLayout"
+               break;
+
+               case "RowLayout" : //Container Layout - containers defined in "theme_advanced_containers" are rendered from top to bottom.
+                       template['html'] = '<table class="mceEditor" border="0" cellpadding="0" cellspacing="0" width="{$width}" height="{$height}" style="width:{$width}px;height:{$height}px"><tbody>';
+
+                       var containers = tinyMCE.getParam("theme_advanced_containers", "", true, ",");
+                       var defaultContainerCSS = tinyMCE.getParam("theme_advanced_containers_default_class", "container");
+                       var defaultContainerAlign = tinyMCE.getParam("theme_advanced_containers_default_align", "center");
+
+                       //Render Containers:
+                       for (var i = 0; i < containers.length; i++)
+                       {
+                               if (containers[i] == "mceEditor") //Exceptions for mceEditor and ...
+                               {
+                                       template['html'] += '<tr><td align="center" class="mceEditor_border">\
+                                                                                               <span id="{$editor_id}"></span>\
+                                                                                               </td></tr>';
+                               }
+                               else if (containers[i] == "mceElementpath" || containers[i] == "mceStatusbar") // ... mceElementpath:
+                               {
+                                       var pathClass = "mceStatusbar";
+
+                                       if (i == containers.length-1)
+                                       {
+                                               pathClass = "mceStatusbarBottom";
+                                       }
+                                       else if (i == 0)
+                                       {
+                                               pathClass = "mceStatusbar";
+                                       }
+                                       else
+                                       {
+                                               deltaHeight-=2;
+                                       }
+
+                                       template['html'] += '<tr><td class="' + pathClass + '" height="1">' + statusbarHTML + '</td></tr>';
+                                       deltaHeight -= 22;
+                               }
+                               else //Render normal Container:
+                               {
+                                       var curContainer = tinyMCE.getParam("theme_advanced_container_"+containers[i], "", true, ',');
+                                       var curContainerHTML = "";
+                                       var curAlign = tinyMCE.getParam("theme_advanced_container_"+containers[i]+"_align", defaultContainerAlign);
+                                       var curCSS = tinyMCE.getParam("theme_advanced_container_"+containers[i]+"_class", defaultContainerCSS);
+
+                                       for (var j=0; j<curContainer.length; j++)
+                                       {
+                                               curContainerHTML += tinyMCE.getControlHTML(curContainer[j]);
+                                       }
+
+                                       if (curContainer.length > 0)
+                                       {
+                                               curContainerHTML += "<br />";
+                                               deltaHeight -= 23;
+                                       }
+
+                                       template['html'] += '<tr><td class="' + curCSS + '" align="' + curAlign + '" height="1">' + curContainerHTML + '</td></tr>';
+                               }
+                       }
+
+                       template['html'] += '</tbody></table>';
+                       //RowLayout
+               break;
+
+               case "BorderLayout" : //will be like java.awt.BorderLayout of SUN Java...
+                       // Not implemented yet... 
+               break;
+
+               case "CustomLayout" : //User defined layout callback...
+                       var customLayout = tinyMCE.getParam("theme_advanced_custom_layout","");
+                       
+                       if (customLayout != "" && eval("typeof(" + customLayout + ")") != "undefined")
+                       {
+                               template = eval(customLayout + "(template);");
+                       }
+               break;
+                       
+               default:
+                       alert('UNDEFINED LAYOUT MANAGER! PLEASE CHECK YOUR TINYMCE CONFIG!');
+                       //CustomLayout
+               break;
+       }
+
+       template['html'] += '<div id="{$editor_id}_resize_box" class="mceResizeBox"></div>';
+       template['html'] = tinyMCE.replaceVar(template['html'], 'style_select_options', styleSelectHTML);
+       template['delta_width'] = 0;
+       template['delta_height'] = deltaHeight;
+
+       return template;
+}
+
+/**
+ * Starts/stops the editor resizing.
+ */
+function TinyMCE_advanced_setResizing(e, editor_id, state) {
+       e = typeof(e) == "undefined" ? window.event : e;
+
+       var resizer = TinyMCE_advanced_resizer;
+       var editorContainer = document.getElementById(editor_id + '_parent');
+       var editorArea = document.getElementById(editor_id + '_parent').firstChild;
+       var resizeBox = document.getElementById(editor_id + '_resize_box');
+       var inst = tinyMCE.getInstanceById(editor_id);
+
+       if (state) {
+               // Place box over editor area
+               var width = editorArea.clientWidth;
+               var height = editorArea.clientHeight;
+
+               resizeBox.style.width = width + "px";
+               resizeBox.style.height = height + "px";
+
+               resizer.iframeWidth = inst.iframeElement.clientWidth;
+               resizer.iframeHeight = inst.iframeElement.clientHeight;
+
+               // Hide editor and show resize box
+               editorArea.style.display = "none";
+               resizeBox.style.display = "block";
+
+               // Add event handlers, only once
+               if (!resizer.eventHandlers) {
+                       if (tinyMCE.isMSIE)
+                               tinyMCE.addEvent(document, "mousemove", TinyMCE_advanced_resizeEventHandler);
+                       else
+                               tinyMCE.addEvent(window, "mousemove", TinyMCE_advanced_resizeEventHandler);
+
+                       tinyMCE.addEvent(document, "mouseup", TinyMCE_advanced_resizeEventHandler);
+
+                       resizer.eventHandlers = true;
+               }
+
+               resizer.resizing = true;
+               resizer.downX = e.screenX;
+               resizer.downY = e.screenY;
+               resizer.width = parseInt(resizeBox.style.width);
+               resizer.height = parseInt(resizeBox.style.height);
+               resizer.editorId = editor_id;
+               resizer.resizeBox = resizeBox;
+               resizer.horizontal = tinyMCE.getParam("theme_advanced_resize_horizontal", true);
+       } else {
+               resizer.resizing = false;
+               resizeBox.style.display = "none";
+               editorArea.style.display = tinyMCE.isMSIE ? "block" : "table";
+               tinyMCE.execCommand('mceResetDesignMode');
+       }
+}
+
+function TinyMCE_advanced_initInstance(inst) {
+       if (tinyMCE.getParam("theme_advanced_resizing", false)) {
+               var w = TinyMCE_advanced_getCookie("TinyMCE_" + inst.editorId + "_width");
+               var h = TinyMCE_advanced_getCookie("TinyMCE_" + inst.editorId + "_height");
+
+               TinyMCE_advanced_resizeTo(inst, w, h, tinyMCE.getParam("theme_advanced_resize_horizontal", true));
+       }
+}
+
+function TinyMCE_advanced_setCookie(name, value, expires, path, domain, secure) {
+       var curCookie = name + "=" + escape(value) +
+               ((expires) ? "; expires=" + expires.toGMTString() : "") +
+               ((path) ? "; path=" + escape(path) : "") +
+               ((domain) ? "; domain=" + domain : "") +
+               ((secure) ? "; secure" : "");
+
+       document.cookie = curCookie;
+}
+
+function TinyMCE_advanced_getCookie(name) {
+       var dc = document.cookie;
+       var prefix = name + "=";
+       var begin = dc.indexOf("; " + prefix);
+
+       if (begin == -1) {
+               begin = dc.indexOf(prefix);
+
+               if (begin != 0)
+                       return null;
+       } else
+               begin += 2;
+
+       var end = document.cookie.indexOf(";", begin);
+
+       if (end == -1)
+               end = dc.length;
+
+       return unescape(dc.substring(begin + prefix.length, end));
+}
+
+function TinyMCE_advanced_resizeTo(inst, w, h, set_w) {
+       var editorContainer = document.getElementById(inst.editorId + '_parent');
+       var tableElm = editorContainer.firstChild;
+       var iframe = inst.iframeElement;
+
+       if (w == null || w == "null") {
+               set_w = false;
+               w = 0;
+       }
+
+       if (h == null || h == "null")
+               return;
+
+       w = parseInt(w);
+       h = parseInt(h);
+
+       if (tinyMCE.isGecko) {
+               w += 2;
+               h += 2;
+       }
+
+       var dx = w - tableElm.clientWidth;
+       var dy = h - tableElm.clientHeight;
+
+       if (set_w)
+               tableElm.style.width = w + "px";
+
+       tableElm.style.height = h + "px";
+
+       iw = iframe.clientWidth + dx;
+       ih = iframe.clientHeight + dy;
+
+       if (tinyMCE.isGecko) {
+               iw -= 2;
+               ih -= 2;
+       }
+
+       if (set_w)
+               iframe.style.width = iw + "px";
+
+       iframe.style.height = ih + "px";
+
+       // Is it to small, make it bigger again
+       if (set_w) {
+               var tableBodyElm = tableElm.firstChild;
+               var minIframeWidth = tableBodyElm.scrollWidth;
+               if (inst.iframeElement.clientWidth < minIframeWidth) {
+                       dx = minIframeWidth - inst.iframeElement.clientWidth;
+
+                       inst.iframeElement.style.width = (iw + dx) + "px";
+               }
+       }
+}
+
+/**
+ * Handles resizing events.
+ */
+function TinyMCE_advanced_resizeEventHandler(e) {
+       var resizer = TinyMCE_advanced_resizer;
+
+       // Do nothing
+       if (!resizer.resizing)
+               return;
+
+       e = typeof(e) == "undefined" ? window.event : e;
+
+       var dx = e.screenX - resizer.downX;
+       var dy = e.screenY - resizer.downY;
+       var resizeBox = resizer.resizeBox;
+       var editorId = resizer.editorId;
+
+       switch (e.type) {
+               case "mousemove":
+                       if (resizer.horizontal)
+                               resizeBox.style.width = (resizer.width + dx) + "px";
+
+                       resizeBox.style.height = (resizer.height + dy) + "px";
+                       break;
+
+               case "mouseup":
+                       TinyMCE_advanced_setResizing(e, editorId, false);
+                       TinyMCE_advanced_resizeTo(tinyMCE.getInstanceById(editorId), resizer.width + dx, resizer.height + dy, resizer.horizontal);
+
+                       // Expire in a month
+                       var expires = new Date();
+                       expires.setTime(expires.getTime() + 3600000 * 24 * 30);
+
+                       // Set the cookies
+                       TinyMCE_advanced_setCookie("TinyMCE_" + editorId + "_width", "" + (resizer.horizontal ? resizer.width + dx : ""), expires);
+                       TinyMCE_advanced_setCookie("TinyMCE_" + editorId + "_height", "" + (resizer.height + dy), expires);
+                       break;
+       }
+}
+
+/**
+ * Insert link template function.
+ */
+function TinyMCE_advanced_getInsertLinkTemplate()
+{
+       var template = new Array();
+
+       template['file'] = 'link.htm';
+       template['width'] = 330;
+       template['height'] = 170;
+
+       // Language specific width and height addons
+       template['width'] += tinyMCE.getLang('lang_insert_link_delta_width', 0);
+       template['height'] += tinyMCE.getLang('lang_insert_link_delta_height', 0);
+
+       return template;
+};
+
+/**
+ * Insert image template function.
+ */
+function TinyMCE_advanced_getInsertImageTemplate()
+{
+       var template = new Array();
+
+       template['file'] = 'image.htm?src={$src}';
+       template['width'] = 340;
+       template['height'] = 245;
+
+       // Language specific width and height addons
+       template['width'] += tinyMCE.getLang('lang_insert_image_delta_width', 0);
+       template['height'] += tinyMCE.getLang('lang_insert_image_delta_height', 0);
+
+       return template;
+};
+
+/**
+ * Node change handler.
+ */
+function TinyMCE_advanced_handleNodeChange (editor_id, node, undo_index,
+                                                                                                                         undo_levels, visual_aid, any_selection)
+{
+       function selectByValue(select_elm, value)
+       {
+               if (select_elm)
+               {
+                       for (var i=0; i<select_elm.options.length; i++)
+                       {
+                               if (select_elm.options[i].value == value)
+                               {
+                                       select_elm.selectedIndex = i;
+                                       return true;
+                               }
+                       }
+               }
+
+               return false;
+       };
+
+       function getAttrib(elm, name)
+       {
+               return elm.getAttribute(name) ? elm.getAttribute(name) : "";
+       };
+
+       // No node provided
+       if (node == null)
+       {
+               return;
+       }
+
+       // Update path
+       var pathElm = document.getElementById(editor_id + "_path");
+       
+       if (pathElm)
+       {
+               // Get node path
+               var parentNode = node;
+               var path = new Array();
+               
+               while (parentNode)
+               {
+                       if (parentNode.nodeName.toLowerCase() == "body")
+                       {
+                               break;
+                       }
+
+                       // Only append element nodes to path
+                       if (parentNode.nodeType == 1)
+                       {
+                               path[path.length] = parentNode;
+                       }
+
+                       parentNode = parentNode.parentNode;
+               }
+
+               // Setup HTML
+               var html = "";
+               for (var i=path.length-1; i>=0; i--)
+               {
+                       var nodeName = path[i].nodeName.toLowerCase();
+                       var nodeData = "";
+
+                       if (nodeName == "b")
+                       {
+                               nodeName = "strong";
+                       }
+
+                       if (nodeName == "i")
+                       {
+                               nodeName = "em";
+                       }
+
+                       if (getAttrib(path[i], 'id') != "")
+                       {
+                               nodeData += "id: " + path[i].getAttribute('id') + " ";
+                       }
+
+                       var className = tinyMCE.getVisualAidClass(tinyMCE.getAttrib(path[i], "class"), false);
+                       if (className != "" && className.indexOf('mceItem') == -1)
+                               nodeData += "class: " + className + " ";
+
+                       if (getAttrib(path[i], 'src') != "")
+                       {
+                               nodeData += "src: " + path[i].getAttribute('src') + " ";
+                       }
+
+                       if (getAttrib(path[i], 'href') != "")
+                       {
+                               nodeData += "href: " + path[i].getAttribute('href') + " ";
+                       }
+
+                       if (nodeName == "img" && tinyMCE.getAttrib(path[i], "class").indexOf('mceItemFlash') != -1)
+                       {
+                               nodeName = "flash";
+                               nodeData = "";
+                       }
+
+                       if (nodeName == "a" && (anchor = tinyMCE.getAttrib(path[i], "name")) != "")
+                       {
+                               nodeName = "a";
+                               nodeName += "#" + anchor;
+                               nodeData = "";
+                       }
+
+                       if (getAttrib(path[i], 'name').indexOf("mce_") != 0)
+                       {
+                               var className = tinyMCE.getVisualAidClass(tinyMCE.getAttrib(path[i], "class"), false);
+                               if (className != "" && className.indexOf('mceItem') == -1)
+                                       nodeName += "." + className;
+                       }
+
+                       if (tinyMCE.isMSIE)
+                       {
+                               html += '<a title="' + nodeData + '" href="javascript:void(0);" onmousedown="tinyMCE.execInstanceCommand(\'' + editor_id + '\',\'mceSelectNodeDepth\',false,\'' + i + '\');return false;" class="mcePathItem">' + nodeName + '</a>';
+                       }
+                       else
+                       {
+                               html += '<a title="' + nodeData + '" href="javascript:tinyMCE.execInstanceCommand(\'' + editor_id + '\',\'mceSelectNodeDepth\',false,\'' + i + '\');" class="mcePathItem">' + nodeName + '</a>';
+                       }
+
+                       if (i > 0)
+                       {
+                               html += " &raquo; ";
+                       }
+               }
+
+               pathElm.innerHTML = tinyMCE.getLang('lang_theme_path') + ": " + html + '&nbsp;';
+       }
+
+       // Reset old states
+       tinyMCE.switchClassSticky(editor_id + '_justifyleft', 'mceButtonNormal');
+       tinyMCE.switchClassSticky(editor_id + '_justifyright', 'mceButtonNormal');
+       tinyMCE.switchClassSticky(editor_id + '_justifycenter', 'mceButtonNormal');
+       tinyMCE.switchClassSticky(editor_id + '_justifyfull', 'mceButtonNormal');
+       tinyMCE.switchClassSticky(editor_id + '_bold', 'mceButtonNormal');
+       tinyMCE.switchClassSticky(editor_id + '_italic', 'mceButtonNormal');
+       tinyMCE.switchClassSticky(editor_id + '_underline', 'mceButtonNormal');
+       tinyMCE.switchClassSticky(editor_id + '_strikethrough', 'mceButtonNormal');
+       tinyMCE.switchClassSticky(editor_id + '_bullist', 'mceButtonNormal');
+       tinyMCE.switchClassSticky(editor_id + '_numlist', 'mceButtonNormal');
+       tinyMCE.switchClassSticky(editor_id + '_sub', 'mceButtonNormal');
+       tinyMCE.switchClassSticky(editor_id + '_sup', 'mceButtonNormal');
+       tinyMCE.switchClassSticky(editor_id + '_anchor', 'mceButtonNormal');
+       tinyMCE.switchClassSticky(editor_id + '_link', 'mceButtonDisabled', true);
+       tinyMCE.switchClassSticky(editor_id + '_unlink', 'mceButtonDisabled', true);
+       tinyMCE.switchClassSticky(editor_id + '_outdent', 'mceButtonDisabled', true);
+       tinyMCE.switchClassSticky(editor_id + '_image', 'mceButtonNormal');
+       tinyMCE.switchClassSticky(editor_id + '_hr', 'mceButtonNormal');
+
+       if (node.nodeName == "A" && tinyMCE.getAttrib(node, "class").indexOf('mceItemAnchor') != -1)
+               tinyMCE.switchClassSticky(editor_id + '_anchor', 'mceButtonSelected');
+
+       // Get link
+       var anchorLink = tinyMCE.getParentElement(node, "a", "href");
+
+       if (anchorLink || any_selection)
+       {
+               tinyMCE.switchClassSticky(editor_id + '_link', anchorLink ? 'mceButtonSelected' : 'mceButtonNormal', false);
+               tinyMCE.switchClassSticky(editor_id + '_unlink', anchorLink ? 'mceButtonSelected' : 'mceButtonNormal', false);
+       }
+
+       // Handle visual aid
+       tinyMCE.switchClassSticky(editor_id + '_visualaid', visual_aid ? 'mceButtonSelected' : 'mceButtonNormal', false);
+
+       if (undo_levels != -1)
+       {
+               tinyMCE.switchClassSticky(editor_id + '_undo', 'mceButtonDisabled', true);
+               tinyMCE.switchClassSticky(editor_id + '_redo', 'mceButtonDisabled', true);
+       }
+
+       // Within li, blockquote
+       if (tinyMCE.getParentElement(node, "li,blockquote"))
+       {
+               tinyMCE.switchClassSticky(editor_id + '_outdent', 'mceButtonNormal', false);
+       }
+
+       // Has redo levels
+       if (undo_index != -1 && (undo_index < undo_levels-1 && undo_levels > 0))
+       {
+               tinyMCE.switchClassSticky(editor_id + '_redo', 'mceButtonNormal', false);
+       }
+
+       // Has undo levels
+       if (undo_index != -1 && (undo_index > 0 && undo_levels > 0))
+       {
+               tinyMCE.switchClassSticky(editor_id + '_undo', 'mceButtonNormal', false);
+       }
+
+       // Select class in select box
+       var selectElm = document.getElementById(editor_id + "_styleSelect");
+       
+       if (selectElm)
+       {
+               TinyMCE_advanced_setupCSSClasses(editor_id);
+
+               classNode = node;
+               breakOut = false;
+               var index = 0;
+
+               do
+               {
+                       if (classNode && classNode.className)
+                       {
+                               for (var i=0; i<selectElm.options.length; i++)
+                               {
+                                       if (selectElm.options[i].value == classNode.className)
+                                       {
+                                               index = i;
+                                               breakOut = true;
+                                               break;
+                                       }
+                               }
+                       }
+               } while (!breakOut && classNode != null && (classNode = classNode.parentNode));
+
+               selectElm.selectedIndex = index;
+       }
+
+       // Select formatblock
+       var selectElm = document.getElementById(editor_id + "_formatSelect");
+       
+       if (selectElm)
+       {
+               var elm = tinyMCE.getParentElement(node, "p,div,h1,h2,h3,h4,h5,h6,pre,address");
+               
+               if (elm)
+               {
+                       selectByValue(selectElm, "<" + elm.nodeName.toLowerCase() + ">");
+               }
+               else
+               {
+                       selectByValue(selectElm, "");
+               }
+       }
+
+       // Select fontselect
+       var selectElm = document.getElementById(editor_id + "_fontNameSelect");
+       if (selectElm) {
+               var elm = tinyMCE.getParentElement(node);
+
+               if (elm) {
+                       var family = tinyMCE.getAttrib(elm, "face");
+                       if (family == '')
+                               family = '' + elm.style.fontFamily;
+
+                       if (!selectByValue(selectElm, family))
+                               selectByValue(selectElm, "");
+               } else
+                       selectByValue(selectElm, "");
+       }
+
+       // Select fontsize
+       var selectElm = document.getElementById(editor_id + "_fontSizeSelect");
+       if (selectElm) {
+               var elm = tinyMCE.getParentElement(node);
+
+               if (elm) {
+                       var size = tinyMCE.getAttrib(elm, "size");
+                       if (size == '') {
+                               var sizes = new Array('', '8px', '10px', '12px', '14px', '18px', '24px', '36px');
+
+                               size = '' + elm.style.fontSize;
+
+                               for (var i=0; i<sizes.length; i++) {
+                                       if (('' + sizes[i]) == size) {
+                                               size = i;
+                                               break;
+                                       }
+                               }
+                       }
+
+                       if (!selectByValue(selectElm, size))
+                               selectByValue(selectElm, "");
+               } else
+                       selectByValue(selectElm, "0");
+       }
+
+       // Handle align attributes
+       alignNode = node;
+       breakOut = false;
+       do
+       {
+               if (!alignNode.getAttribute || !alignNode.getAttribute('align'))
+               {
+                       continue;
+               }
+
+               switch (alignNode.getAttribute('align').toLowerCase())
+               {
+                       case "left":
+                               tinyMCE.switchClassSticky(editor_id + '_justifyleft', 'mceButtonSelected');
+                               breakOut = true;
+                       break;
+
+                       case "right":
+                               tinyMCE.switchClassSticky(editor_id + '_justifyright', 'mceButtonSelected');
+                               breakOut = true;
+                       break;
+
+                       case "middle":
+                       case "center":
+                               tinyMCE.switchClassSticky(editor_id + '_justifycenter', 'mceButtonSelected');
+                               breakOut = true;
+                       break;
+
+                       case "justify":
+                               tinyMCE.switchClassSticky(editor_id + '_justifyfull', 'mceButtonSelected');
+                               breakOut = true;
+                       break;
+               }
+       } while (!breakOut && (alignNode = alignNode.parentNode));
+
+       // Div justification
+       var div = tinyMCE.getParentElement(node, "div");
+       if (div && div.style.textAlign == "center")
+               tinyMCE.switchClassSticky(editor_id + '_justifycenter', 'mceButtonSelected');
+
+       // Do special text
+       if (tinyMCE.isGecko && node.nodeType == 3)
+       {
+               var inst = tinyMCE.getInstanceById(editor_id);
+               var doc = inst.getDoc();
+
+               if (doc.queryCommandState("Bold"))
+               {
+                       tinyMCE.switchClassSticky(editor_id + '_bold', 'mceButtonSelected');
+               }
+
+               if (doc.queryCommandState("Italic"))
+               {
+                       tinyMCE.switchClassSticky(editor_id + '_italic', 'mceButtonSelected');
+               }
+
+               if (doc.queryCommandState("Underline") &&
+                                                                                 (node.parentNode == null || node.parentNode.nodeName != "A"))
+               {
+                       tinyMCE.switchClassSticky(editor_id + '_underline', 'mceButtonSelected');
+               }
+
+               if (doc.queryCommandState("Strikethrough"))
+               {
+                       tinyMCE.switchClassSticky(editor_id + '_strikethrough', 'mceButtonSelected');
+               }
+       }
+
+       // Handle elements
+       do
+       {
+               switch (node.nodeName.toLowerCase())
+               {
+                       case "b":
+                       case "strong":
+                               tinyMCE.switchClassSticky(editor_id + '_bold', 'mceButtonSelected');
+                       break;
+
+                       case "i":
+                       case "em":
+                               tinyMCE.switchClassSticky(editor_id + '_italic', 'mceButtonSelected');
+                       break;
+
+                       case "u":
+                               tinyMCE.switchClassSticky(editor_id + '_underline', 'mceButtonSelected');
+                       break;
+
+                       case "strike":
+                               tinyMCE.switchClassSticky(editor_id + '_strikethrough', 'mceButtonSelected');
+                       break;
+
+                       case "ul":
+                               tinyMCE.switchClassSticky(editor_id + '_bullist', 'mceButtonSelected');
+                       break;
+
+                       case "ol":
+                               tinyMCE.switchClassSticky(editor_id + '_numlist', 'mceButtonSelected');
+                       break;
+
+                       case "sub":
+                               tinyMCE.switchClassSticky(editor_id + '_sub', 'mceButtonSelected');
+                       break;
+
+                       case "sup":
+                               tinyMCE.switchClassSticky(editor_id + '_sup', 'mceButtonSelected');
+                       break;
+
+                       case "hr":
+                                tinyMCE.switchClassSticky(editor_id + '_hr', 'mceButtonSelected');
+                       break;
+
+                       case "img":
+                       if (getAttrib(node, 'name').indexOf('mce_') != 0)
+                       {
+                               tinyMCE.switchClassSticky(editor_id + '_image', 'mceButtonSelected');
+                       }
+                       break;
+               }
+       } while ((node = node.parentNode));
+};
+
+// This function auto imports CSS classes into the class selection droplist
+function TinyMCE_advanced_setupCSSClasses(editor_id)
+{
+       if (!TinyMCE_advanced_autoImportCSSClasses)
+       {
+               return;
+       }
+
+       var selectElm = document.getElementById(editor_id + '_styleSelect');
+
+       if (selectElm && selectElm.getAttribute('cssImported') != 'true')
+       {
+               var csses = tinyMCE.getCSSClasses(editor_id);
+               if (csses && selectElm)
+               {
+                       for (var i=0; i<csses.length; i++)
+                       {
+                               selectElm.options[selectElm.length] = new Option(csses[i], csses[i]);
+                       }
+               }
+
+               // Only do this once
+               if (csses != null && csses.length > 0)
+               {
+                       selectElm.setAttribute('cssImported', 'true');
+               }
+       }
+};
diff --git a/webcit/tiny_mce/themes/advanced/image.htm b/webcit/tiny_mce/themes/advanced/image.htm
new file mode 100644 (file)
index 0000000..7e7d533
--- /dev/null
@@ -0,0 +1,90 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+       <title>{$lang_insert_image_title}</title>
+       <script language="javascript" type="text/javascript" src="../../tiny_mce_popup.js"></script>
+       <script language="javascript" type="text/javascript" src="../../utils/form_utils.js"></script>
+       <script language="javascript" type="text/javascript" src="jscripts/image.js"></script>
+</head>
+<body onload="init();" style="display: none">
+<form onsubmit="insertImage();return false;">
+  <table border="0" cellpadding="0" cellspacing="0" width="200">
+    <tr>
+      <td align="center" valign="middle"><table border="0" cellpadding="4" cellspacing="0">
+          <tr>
+            <td colspan="2" class="title" nowrap="nowrap">{$lang_insert_image_title}</td>
+          </tr>
+          <tr>
+            <td nowrap="nowrap">{$lang_insert_image_src}:</td>
+            <td><table border="0" cellspacing="0" cellpadding="0">
+                <tr>
+                  <td><input name="src" type="text" id="src" value="" style="width: 200px" onchange="getImageData();"></td>
+                  <td><script language="javascript" type="text/javascript">renderBrowser('srcbrowser','src','image','theme_advanced_image');</script></td>
+                </tr>
+              </table></td>
+          </tr>
+                 <!-- Image list -->
+                 <script language="javascript">
+                       if (typeof(tinyMCEImageList) != "undefined" && tinyMCEImageList.length > 0) {
+                               var html = "";
+
+                               html += '<tr><td>{$lang_image_list}:</td>';
+                               html += '<td><select name="image_list" style="width: 200px" onchange="this.form.src.value=this.options[this.selectedIndex].value;resetImageData();getImageData();">';
+                               html += '<option value="">---</option>';
+
+                               for (var i=0; i<tinyMCEImageList.length; i++)
+                                       html += '<option value="' + tinyMCEImageList[i][1] + '">' + tinyMCEImageList[i][0] + '</option>';
+
+                               html += '</select></td></tr>';
+
+                               document.write(html);
+                       }
+                 </script>
+                 <!-- /Image list -->
+          <tr>
+            <td nowrap="nowrap">{$lang_insert_image_alt}:</td>
+            <td><input name="alt" type="text" id="alt" value="" style="width: 200px"></td>
+          </tr>
+          <tr>
+            <td nowrap="nowrap">{$lang_insert_image_align}:</td>
+            <td><select name="align">
+                <option value="">{$lang_insert_image_align_default}</option>
+                <option value="baseline">{$lang_insert_image_align_baseline}</option>
+                <option value="top">{$lang_insert_image_align_top}</option>
+                <option value="middle">{$lang_insert_image_align_middle}</option>
+                <option value="bottom">{$lang_insert_image_align_bottom}</option>
+                <option value="texttop">{$lang_insert_image_align_texttop}</option>
+                <option value="absmiddle">{$lang_insert_image_align_absmiddle}</option>
+                <option value="absbottom">{$lang_insert_image_align_absbottom}</option>
+                <option value="left">{$lang_insert_image_align_left}</option>
+                <option value="right">{$lang_insert_image_align_right}</option>
+              </select></td>
+          </tr>
+          <tr>
+            <td nowrap="nowrap">{$lang_insert_image_dimensions}:</td>
+            <td><input name="width" type="text" id="width" value="" size="3" maxlength="3">
+              x
+              <input name="height" type="text" id="height" value="" size="3" maxlength="3"></td>
+          </tr>
+          <tr>
+            <td nowrap="nowrap">{$lang_insert_image_border}:</td>
+            <td><input name="border" type="text" id="border" value="" size="3" maxlength="3"></td>
+          </tr>
+          <tr>
+            <td nowrap="nowrap">{$lang_insert_image_vspace}:</td>
+            <td><input name="vspace" type="text" id="vspace" value="" size="3" maxlength="3"></td>
+          </tr>
+          <tr>
+            <td nowrap="nowrap">{$lang_insert_image_hspace}:</td>
+            <td><input name="hspace" type="text" id="hspace" value="" size="3" maxlength="3"></td>
+          </tr>
+          <tr>
+            <td nowrap="nowrap"><input type="button" id="insert" name="insert" value="{$lang_insert}" onclick="insertImage();">
+            </td>
+            <td align="right"><input type="button" id="cancel" name="cancel" value="{$lang_cancel}" onclick="tinyMCEPopup.close();"></td>
+          </tr>
+        </table></td>
+    </tr>
+  </table>
+</form>
+</body>
+</html>
diff --git a/webcit/tiny_mce/themes/advanced/images/anchor.gif b/webcit/tiny_mce/themes/advanced/images/anchor.gif
new file mode 100644 (file)
index 0000000..8d46f0c
Binary files /dev/null and b/webcit/tiny_mce/themes/advanced/images/anchor.gif differ
diff --git a/webcit/tiny_mce/themes/advanced/images/anchor_symbol.gif b/webcit/tiny_mce/themes/advanced/images/anchor_symbol.gif
new file mode 100644 (file)
index 0000000..2eafd79
Binary files /dev/null and b/webcit/tiny_mce/themes/advanced/images/anchor_symbol.gif differ
diff --git a/webcit/tiny_mce/themes/advanced/images/backcolor.gif b/webcit/tiny_mce/themes/advanced/images/backcolor.gif
new file mode 100644 (file)
index 0000000..8a532e5
Binary files /dev/null and b/webcit/tiny_mce/themes/advanced/images/backcolor.gif differ
diff --git a/webcit/tiny_mce/themes/advanced/images/bold.gif b/webcit/tiny_mce/themes/advanced/images/bold.gif
new file mode 100644 (file)
index 0000000..d6a9cc2
Binary files /dev/null and b/webcit/tiny_mce/themes/advanced/images/bold.gif differ
diff --git a/webcit/tiny_mce/themes/advanced/images/bold_de_se.gif b/webcit/tiny_mce/themes/advanced/images/bold_de_se.gif
new file mode 100644 (file)
index 0000000..9b129de
Binary files /dev/null and b/webcit/tiny_mce/themes/advanced/images/bold_de_se.gif differ
diff --git a/webcit/tiny_mce/themes/advanced/images/bold_fr.gif b/webcit/tiny_mce/themes/advanced/images/bold_fr.gif
new file mode 100644 (file)
index 0000000..2816454
Binary files /dev/null and b/webcit/tiny_mce/themes/advanced/images/bold_fr.gif differ
diff --git a/webcit/tiny_mce/themes/advanced/images/bold_ru.gif b/webcit/tiny_mce/themes/advanced/images/bold_ru.gif
new file mode 100644 (file)
index 0000000..e000d46
Binary files /dev/null and b/webcit/tiny_mce/themes/advanced/images/bold_ru.gif differ
diff --git a/webcit/tiny_mce/themes/advanced/images/browse.gif b/webcit/tiny_mce/themes/advanced/images/browse.gif
new file mode 100644 (file)
index 0000000..c786d0b
Binary files /dev/null and b/webcit/tiny_mce/themes/advanced/images/browse.gif differ
diff --git a/webcit/tiny_mce/themes/advanced/images/bullist.gif b/webcit/tiny_mce/themes/advanced/images/bullist.gif
new file mode 100644 (file)
index 0000000..6e19467
Binary files /dev/null and b/webcit/tiny_mce/themes/advanced/images/bullist.gif differ
diff --git a/webcit/tiny_mce/themes/advanced/images/buttons.gif b/webcit/tiny_mce/themes/advanced/images/buttons.gif
new file mode 100644 (file)
index 0000000..d98c4da
Binary files /dev/null and b/webcit/tiny_mce/themes/advanced/images/buttons.gif differ
diff --git a/webcit/tiny_mce/themes/advanced/images/cancel_button_bg.gif b/webcit/tiny_mce/themes/advanced/images/cancel_button_bg.gif
new file mode 100644 (file)
index 0000000..ea50fb8
Binary files /dev/null and b/webcit/tiny_mce/themes/advanced/images/cancel_button_bg.gif differ
diff --git a/webcit/tiny_mce/themes/advanced/images/center.gif b/webcit/tiny_mce/themes/advanced/images/center.gif
new file mode 100644 (file)
index 0000000..950511f
Binary files /dev/null and b/webcit/tiny_mce/themes/advanced/images/center.gif differ
diff --git a/webcit/tiny_mce/themes/advanced/images/charmap.gif b/webcit/tiny_mce/themes/advanced/images/charmap.gif
new file mode 100644 (file)
index 0000000..b5b3d85
Binary files /dev/null and b/webcit/tiny_mce/themes/advanced/images/charmap.gif differ
diff --git a/webcit/tiny_mce/themes/advanced/images/cleanup.gif b/webcit/tiny_mce/themes/advanced/images/cleanup.gif
new file mode 100644 (file)
index 0000000..16491f6
Binary files /dev/null and b/webcit/tiny_mce/themes/advanced/images/cleanup.gif differ
diff --git a/webcit/tiny_mce/themes/advanced/images/close.gif b/webcit/tiny_mce/themes/advanced/images/close.gif
new file mode 100644 (file)
index 0000000..679ca2a
Binary files /dev/null and b/webcit/tiny_mce/themes/advanced/images/close.gif differ
diff --git a/webcit/tiny_mce/themes/advanced/images/code.gif b/webcit/tiny_mce/themes/advanced/images/code.gif
new file mode 100644 (file)
index 0000000..c5d5a67
Binary files /dev/null and b/webcit/tiny_mce/themes/advanced/images/code.gif differ
diff --git a/webcit/tiny_mce/themes/advanced/images/color.gif b/webcit/tiny_mce/themes/advanced/images/color.gif
new file mode 100644 (file)
index 0000000..1ecd574
Binary files /dev/null and b/webcit/tiny_mce/themes/advanced/images/color.gif differ
diff --git a/webcit/tiny_mce/themes/advanced/images/copy.gif b/webcit/tiny_mce/themes/advanced/images/copy.gif
new file mode 100644 (file)
index 0000000..cb38c8b
Binary files /dev/null and b/webcit/tiny_mce/themes/advanced/images/copy.gif differ
diff --git a/webcit/tiny_mce/themes/advanced/images/custom_1.gif b/webcit/tiny_mce/themes/advanced/images/custom_1.gif
new file mode 100644 (file)
index 0000000..4cbccda
Binary files /dev/null and b/webcit/tiny_mce/themes/advanced/images/custom_1.gif differ
diff --git a/webcit/tiny_mce/themes/advanced/images/cut.gif b/webcit/tiny_mce/themes/advanced/images/cut.gif
new file mode 100644 (file)
index 0000000..4ac3208
Binary files /dev/null and b/webcit/tiny_mce/themes/advanced/images/cut.gif differ
diff --git a/webcit/tiny_mce/themes/advanced/images/forecolor.gif b/webcit/tiny_mce/themes/advanced/images/forecolor.gif
new file mode 100644 (file)
index 0000000..d54f716
Binary files /dev/null and b/webcit/tiny_mce/themes/advanced/images/forecolor.gif differ
diff --git a/webcit/tiny_mce/themes/advanced/images/full.gif b/webcit/tiny_mce/themes/advanced/images/full.gif
new file mode 100644 (file)
index 0000000..c8504f6
Binary files /dev/null and b/webcit/tiny_mce/themes/advanced/images/full.gif differ
diff --git a/webcit/tiny_mce/themes/advanced/images/help.gif b/webcit/tiny_mce/themes/advanced/images/help.gif
new file mode 100644 (file)
index 0000000..c71ad34
Binary files /dev/null and b/webcit/tiny_mce/themes/advanced/images/help.gif differ
diff --git a/webcit/tiny_mce/themes/advanced/images/hr.gif b/webcit/tiny_mce/themes/advanced/images/hr.gif
new file mode 100644 (file)
index 0000000..1a1ba2a
Binary files /dev/null and b/webcit/tiny_mce/themes/advanced/images/hr.gif differ
diff --git a/webcit/tiny_mce/themes/advanced/images/image.gif b/webcit/tiny_mce/themes/advanced/images/image.gif
new file mode 100644 (file)
index 0000000..4b88edd
Binary files /dev/null and b/webcit/tiny_mce/themes/advanced/images/image.gif differ
diff --git a/webcit/tiny_mce/themes/advanced/images/indent.gif b/webcit/tiny_mce/themes/advanced/images/indent.gif
new file mode 100644 (file)
index 0000000..acd315b
Binary files /dev/null and b/webcit/tiny_mce/themes/advanced/images/indent.gif differ
diff --git a/webcit/tiny_mce/themes/advanced/images/insert_button_bg.gif b/webcit/tiny_mce/themes/advanced/images/insert_button_bg.gif
new file mode 100644 (file)
index 0000000..355d8f0
Binary files /dev/null and b/webcit/tiny_mce/themes/advanced/images/insert_button_bg.gif differ
diff --git a/webcit/tiny_mce/themes/advanced/images/italic.gif b/webcit/tiny_mce/themes/advanced/images/italic.gif
new file mode 100644 (file)
index 0000000..8bb330b
Binary files /dev/null and b/webcit/tiny_mce/themes/advanced/images/italic.gif differ
diff --git a/webcit/tiny_mce/themes/advanced/images/italic_de_se.gif b/webcit/tiny_mce/themes/advanced/images/italic_de_se.gif
new file mode 100644 (file)
index 0000000..feb0309
Binary files /dev/null and b/webcit/tiny_mce/themes/advanced/images/italic_de_se.gif differ
diff --git a/webcit/tiny_mce/themes/advanced/images/italic_ru.gif b/webcit/tiny_mce/themes/advanced/images/italic_ru.gif
new file mode 100644 (file)
index 0000000..a2bb69a
Binary files /dev/null and b/webcit/tiny_mce/themes/advanced/images/italic_ru.gif differ
diff --git a/webcit/tiny_mce/themes/advanced/images/left.gif b/webcit/tiny_mce/themes/advanced/images/left.gif
new file mode 100644 (file)
index 0000000..e8f7e42
Binary files /dev/null and b/webcit/tiny_mce/themes/advanced/images/left.gif differ
diff --git a/webcit/tiny_mce/themes/advanced/images/link.gif b/webcit/tiny_mce/themes/advanced/images/link.gif
new file mode 100644 (file)
index 0000000..cb478fd
Binary files /dev/null and b/webcit/tiny_mce/themes/advanced/images/link.gif differ
diff --git a/webcit/tiny_mce/themes/advanced/images/newdocument.gif b/webcit/tiny_mce/themes/advanced/images/newdocument.gif
new file mode 100644 (file)
index 0000000..3abf4ac
Binary files /dev/null and b/webcit/tiny_mce/themes/advanced/images/newdocument.gif differ
diff --git a/webcit/tiny_mce/themes/advanced/images/numlist.gif b/webcit/tiny_mce/themes/advanced/images/numlist.gif
new file mode 100644 (file)
index 0000000..a268352
Binary files /dev/null and b/webcit/tiny_mce/themes/advanced/images/numlist.gif differ
diff --git a/webcit/tiny_mce/themes/advanced/images/outdent.gif b/webcit/tiny_mce/themes/advanced/images/outdent.gif
new file mode 100644 (file)
index 0000000..23f6aa4
Binary files /dev/null and b/webcit/tiny_mce/themes/advanced/images/outdent.gif differ
diff --git a/webcit/tiny_mce/themes/advanced/images/paste.gif b/webcit/tiny_mce/themes/advanced/images/paste.gif
new file mode 100644 (file)
index 0000000..f27d006
Binary files /dev/null and b/webcit/tiny_mce/themes/advanced/images/paste.gif differ
diff --git a/webcit/tiny_mce/themes/advanced/images/redo.gif b/webcit/tiny_mce/themes/advanced/images/redo.gif
new file mode 100644 (file)
index 0000000..7f279c2
Binary files /dev/null and b/webcit/tiny_mce/themes/advanced/images/redo.gif differ
diff --git a/webcit/tiny_mce/themes/advanced/images/removeformat.gif b/webcit/tiny_mce/themes/advanced/images/removeformat.gif
new file mode 100644 (file)
index 0000000..c011b14
Binary files /dev/null and b/webcit/tiny_mce/themes/advanced/images/removeformat.gif differ
diff --git a/webcit/tiny_mce/themes/advanced/images/right.gif b/webcit/tiny_mce/themes/advanced/images/right.gif
new file mode 100644 (file)
index 0000000..4da472e
Binary files /dev/null and b/webcit/tiny_mce/themes/advanced/images/right.gif differ
diff --git a/webcit/tiny_mce/themes/advanced/images/spacer.gif b/webcit/tiny_mce/themes/advanced/images/spacer.gif
new file mode 100644 (file)
index 0000000..3884865
Binary files /dev/null and b/webcit/tiny_mce/themes/advanced/images/spacer.gif differ
diff --git a/webcit/tiny_mce/themes/advanced/images/statusbar_resize.gif b/webcit/tiny_mce/themes/advanced/images/statusbar_resize.gif
new file mode 100644 (file)
index 0000000..af89d80
Binary files /dev/null and b/webcit/tiny_mce/themes/advanced/images/statusbar_resize.gif differ
diff --git a/webcit/tiny_mce/themes/advanced/images/strikethrough.gif b/webcit/tiny_mce/themes/advanced/images/strikethrough.gif
new file mode 100644 (file)
index 0000000..3264635
Binary files /dev/null and b/webcit/tiny_mce/themes/advanced/images/strikethrough.gif differ
diff --git a/webcit/tiny_mce/themes/advanced/images/sub.gif b/webcit/tiny_mce/themes/advanced/images/sub.gif
new file mode 100644 (file)
index 0000000..4d7ce30
Binary files /dev/null and b/webcit/tiny_mce/themes/advanced/images/sub.gif differ
diff --git a/webcit/tiny_mce/themes/advanced/images/sup.gif b/webcit/tiny_mce/themes/advanced/images/sup.gif
new file mode 100644 (file)
index 0000000..a7145e0
Binary files /dev/null and b/webcit/tiny_mce/themes/advanced/images/sup.gif differ
diff --git a/webcit/tiny_mce/themes/advanced/images/table.gif b/webcit/tiny_mce/themes/advanced/images/table.gif
new file mode 100644 (file)
index 0000000..5ed9e88
Binary files /dev/null and b/webcit/tiny_mce/themes/advanced/images/table.gif differ
diff --git a/webcit/tiny_mce/themes/advanced/images/table_delete_col.gif b/webcit/tiny_mce/themes/advanced/images/table_delete_col.gif
new file mode 100644 (file)
index 0000000..3f5b414
Binary files /dev/null and b/webcit/tiny_mce/themes/advanced/images/table_delete_col.gif differ
diff --git a/webcit/tiny_mce/themes/advanced/images/table_delete_row.gif b/webcit/tiny_mce/themes/advanced/images/table_delete_row.gif
new file mode 100644 (file)
index 0000000..6f6b247
Binary files /dev/null and b/webcit/tiny_mce/themes/advanced/images/table_delete_row.gif differ
diff --git a/webcit/tiny_mce/themes/advanced/images/table_insert_col_after.gif b/webcit/tiny_mce/themes/advanced/images/table_insert_col_after.gif
new file mode 100644 (file)
index 0000000..8505808
Binary files /dev/null and b/webcit/tiny_mce/themes/advanced/images/table_insert_col_after.gif differ
diff --git a/webcit/tiny_mce/themes/advanced/images/table_insert_col_before.gif b/webcit/tiny_mce/themes/advanced/images/table_insert_col_before.gif
new file mode 100644 (file)
index 0000000..b669d4f
Binary files /dev/null and b/webcit/tiny_mce/themes/advanced/images/table_insert_col_before.gif differ
diff --git a/webcit/tiny_mce/themes/advanced/images/table_insert_row_after.gif b/webcit/tiny_mce/themes/advanced/images/table_insert_row_after.gif
new file mode 100644 (file)
index 0000000..b9c1446
Binary files /dev/null and b/webcit/tiny_mce/themes/advanced/images/table_insert_row_after.gif differ
diff --git a/webcit/tiny_mce/themes/advanced/images/table_insert_row_before.gif b/webcit/tiny_mce/themes/advanced/images/table_insert_row_before.gif
new file mode 100644 (file)
index 0000000..157d373
Binary files /dev/null and b/webcit/tiny_mce/themes/advanced/images/table_insert_row_before.gif differ
diff --git a/webcit/tiny_mce/themes/advanced/images/underline.gif b/webcit/tiny_mce/themes/advanced/images/underline.gif
new file mode 100644 (file)
index 0000000..1dfeb5f
Binary files /dev/null and b/webcit/tiny_mce/themes/advanced/images/underline.gif differ
diff --git a/webcit/tiny_mce/themes/advanced/images/underline_fr.gif b/webcit/tiny_mce/themes/advanced/images/underline_fr.gif
new file mode 100644 (file)
index 0000000..551d914
Binary files /dev/null and b/webcit/tiny_mce/themes/advanced/images/underline_fr.gif differ
diff --git a/webcit/tiny_mce/themes/advanced/images/underline_ru.gif b/webcit/tiny_mce/themes/advanced/images/underline_ru.gif
new file mode 100644 (file)
index 0000000..b78e2a4
Binary files /dev/null and b/webcit/tiny_mce/themes/advanced/images/underline_ru.gif differ
diff --git a/webcit/tiny_mce/themes/advanced/images/undo.gif b/webcit/tiny_mce/themes/advanced/images/undo.gif
new file mode 100644 (file)
index 0000000..520796d
Binary files /dev/null and b/webcit/tiny_mce/themes/advanced/images/undo.gif differ
diff --git a/webcit/tiny_mce/themes/advanced/images/unlink.gif b/webcit/tiny_mce/themes/advanced/images/unlink.gif
new file mode 100644 (file)
index 0000000..5c8a33d
Binary files /dev/null and b/webcit/tiny_mce/themes/advanced/images/unlink.gif differ
diff --git a/webcit/tiny_mce/themes/advanced/images/visualaid.gif b/webcit/tiny_mce/themes/advanced/images/visualaid.gif
new file mode 100644 (file)
index 0000000..63caf18
Binary files /dev/null and b/webcit/tiny_mce/themes/advanced/images/visualaid.gif differ
diff --git a/webcit/tiny_mce/themes/advanced/images/xp/tab_bg.gif b/webcit/tiny_mce/themes/advanced/images/xp/tab_bg.gif
new file mode 100644 (file)
index 0000000..384b8b9
Binary files /dev/null and b/webcit/tiny_mce/themes/advanced/images/xp/tab_bg.gif differ
diff --git a/webcit/tiny_mce/themes/advanced/images/xp/tab_end.gif b/webcit/tiny_mce/themes/advanced/images/xp/tab_end.gif
new file mode 100644 (file)
index 0000000..aee442b
Binary files /dev/null and b/webcit/tiny_mce/themes/advanced/images/xp/tab_end.gif differ
diff --git a/webcit/tiny_mce/themes/advanced/images/xp/tab_sel_bg.gif b/webcit/tiny_mce/themes/advanced/images/xp/tab_sel_bg.gif
new file mode 100644 (file)
index 0000000..9dc8abe
Binary files /dev/null and b/webcit/tiny_mce/themes/advanced/images/xp/tab_sel_bg.gif differ
diff --git a/webcit/tiny_mce/themes/advanced/images/xp/tab_sel_end.gif b/webcit/tiny_mce/themes/advanced/images/xp/tab_sel_end.gif
new file mode 100644 (file)
index 0000000..616a889
Binary files /dev/null and b/webcit/tiny_mce/themes/advanced/images/xp/tab_sel_end.gif differ
diff --git a/webcit/tiny_mce/themes/advanced/images/xp/tabs_bg.gif b/webcit/tiny_mce/themes/advanced/images/xp/tabs_bg.gif
new file mode 100644 (file)
index 0000000..c303f66
Binary files /dev/null and b/webcit/tiny_mce/themes/advanced/images/xp/tabs_bg.gif differ
diff --git a/webcit/tiny_mce/themes/advanced/jscripts/about.js b/webcit/tiny_mce/themes/advanced/jscripts/about.js
new file mode 100644 (file)
index 0000000..12d0653
--- /dev/null
@@ -0,0 +1,74 @@
+function init() {
+       tinyMCEPopup.resizeToInnerSize();
+
+       // Give FF some time
+       window.setTimeout('insertHelpIFrame();', 10);
+
+       var tcont = document.getElementById('plugintablecontainer');
+       var plugins = tinyMCE.getParam('plugins', '', true, ',');
+       if (plugins.length == 0)
+               document.getElementById('plugins_tab').style.display = 'none';
+
+       var html = "";
+       html += '<table id="plugintable">';
+       html += '<thead>';
+       html += '<tr>';
+       html += '<td>' + tinyMCE.getLang('lang_plugin') + '</td>';
+       html += '<td>' + tinyMCE.getLang('lang_author') + '</td>';
+       html += '<td>' + tinyMCE.getLang('lang_version') + '</td>';
+       html += '</tr>';
+       html += '</thead>';
+       html += '<tbody>';
+
+       for (var i=0; i<plugins.length; i++) {
+               var info = getPluginInfo(plugins[i]);
+
+               html += '<tr>';
+
+               if (info.infourl != null && info.infourl != '')
+                       html += '<td width="50%" title="' + plugins[i] + '"><a href="' + info.infourl + '" target="_blank">' + info.longname + '</a></td>';
+               else
+                       html += '<td width="50%" title="' + plugins[i] + '">' + info.longname + '</td>';
+
+               if (info.authorurl != null && info.authorurl != '')
+                       html += '<td width="35%"><a href="' + info.authorurl + '" target="_blank">' + info.author + '</a></td>';
+               else
+                       html += '<td width="35%">' + info.author + '</td>';
+
+               html += '<td width="15%">' + info.version + '</td>';
+               html += '</tr>';
+       }
+
+       html += '</tbody>';
+       html += '</table>';
+
+       tcont.innerHTML = html;
+}
+
+function getPluginInfo(name) {
+       var fn = eval('tinyMCEPopup.windowOpener.TinyMCE_' + name + '_getInfo');
+
+       if (typeof(fn) != 'undefined')
+               return fn();
+
+       return {
+               longname : name,
+               authorurl : '',
+               infourl : '',
+               author : '--',
+               version : '--'
+       };
+}
+
+function insertHelpIFrame() {
+       var html = '<iframe width="100%" height="300" src="' + tinyMCE.themeURL + "/docs/" + tinyMCE.settings['docs_language'] + "/index.htm" + '"></iframe>';
+
+       document.getElementById('iframecontainer').innerHTML = html;
+
+       html = '';
+       html += '<a href="http://www.moxiecode.com" target="_blank"><img src="http://tinymce.moxiecode.com/images/gotmoxie.png" alt="Got Moxie?" border="0" /></a> ';
+       html += '<a href="http://sourceforge.net/projects/tinymce/" target="_blank"><img src="http://sourceforge.net/sflogo.php?group_id=103281" alt="Hosted By Sourceforge" border="0" /></a> ';
+       html += '<a href="http://www.freshmeat.net/projects/tinymce" target="_blank"><img src="http://tinymce.moxiecode.com/images/fm.gif" alt="Also on freshmeat" border="0" /></a> ';
+
+       document.getElementById('buttoncontainer').innerHTML = html;
+}
diff --git a/webcit/tiny_mce/themes/advanced/jscripts/anchor.js b/webcit/tiny_mce/themes/advanced/jscripts/anchor.js
new file mode 100644 (file)
index 0000000..a89f972
--- /dev/null
@@ -0,0 +1,59 @@
+var action, element;
+
+function init() {
+       tinyMCEPopup.resizeToInnerSize();
+
+       var inst = tinyMCE.getInstanceById(tinyMCE.getWindowArg('editor_id'));
+       var anchor = tinyMCE.getParentElement(inst.getFocusElement(), "a", "name");
+       var img = inst.getFocusElement();
+       action = 'insert';
+
+       if (anchor != null) {
+               element = anchor;
+               action = "update";
+       }
+
+       if (tinyMCE.getAttrib(img, "class") == "mceItemAnchor") {
+               element = img;
+               action = "update";
+       }
+
+       if (action == "update")
+               document.forms[0].anchorName.value = element.nodeName == "IMG" ? element.getAttribute("title") : element.getAttribute("name");
+
+       document.forms[0].insert.value = tinyMCE.getLang('lang_' + action, 'Insert', true);
+}
+
+function insertAnchor() {
+       var inst = tinyMCE.getInstanceById(tinyMCE.getWindowArg('editor_id'));
+       var name = document.forms[0].anchorName.value;
+
+       tinyMCEPopup.execCommand("mceBeginUndoLevel");
+
+       if (action == "update") {
+               if (element.nodeName == "IMG")
+                       element.setAttribute("title", name);
+               else
+                       element.setAttribute("name", name);
+       } else {
+               var rng = inst.getRng();
+
+               if (rng.collapse)
+                       rng.collapse(false);
+
+               name = name.replace(/&/g, '&amp;');
+               name = name.replace(/\"/g, '&quot;');
+               name = name.replace(/</g, '&lt;');
+               name = name.replace(/>/g, '&gr;');
+
+               html = '<a name="' + name + '"></a>';
+
+               tinyMCEPopup.execCommand("mceInsertContent", false, html);
+               tinyMCE.handleVisualAid(inst.getBody(), true, inst.visualAid, inst);
+       }
+
+       tinyMCEPopup.execCommand("mceEndUndoLevel");
+
+       tinyMCE.triggerNodeChange();
+       tinyMCEPopup.close();
+}
diff --git a/webcit/tiny_mce/themes/advanced/jscripts/charmap.js b/webcit/tiny_mce/themes/advanced/jscripts/charmap.js
new file mode 100644 (file)
index 0000000..5aa1050
--- /dev/null
@@ -0,0 +1,325 @@
+function init() {
+       tinyMCEPopup.resizeToInnerSize();
+}
+
+var charmap = new Array();
+
+// for mor details please see w3c.org
+// now here is the complete list ;)
+
+charmap = [
+       ['&nbsp;',    '&#160;',  true, 'no-break space'],
+       ['&amp;',     '&#38;',   true, 'ampersand'],
+       ['&quot;',    '&#34;',   true, 'quotation mark'],
+// finance
+       ['&cent;',    '&#162;',  true, 'cent sign'],
+       ['&euro;',    '&#8364;', true, 'euro sign'],
+       ['&pound;',   '&#163;',  true, 'pound sign'],
+       ['&yen;',     '&#165;',  true, 'yen sign'],
+// signs
+       ['&copy;',    '&#169;',  true, 'copyright sign'],
+       ['&reg;',     '&#174;',  true, 'registered sign'],
+       ['&trade;',   '&#8482;', true, 'trade mark sign'],
+       ['&permil;',  '&#8240;', true, 'per mille sign'],
+       ['&micro;',   '&#181;',  true, 'micro sign'],
+       ['&middot;',  '&#183;',  true, 'middle dot'],
+       ['&bull;',    '&#8226;', true, 'bullet'],
+       ['&hellip;',  '&#8230;', true, 'three dot leader'],
+       ['&prime;',   '&#8242;', true, 'minutes / feet'],
+       ['&Prime;',   '&#8243;', true, 'seconds / inches'],
+       ['&sect;',    '&#167;',  true, 'section sign'],
+       ['&para;',    '&#182;',  true, 'paragraph sign'],
+       ['&szlig;',   '&#223;',  true, 'sharp s / ess-zed'],
+// quotations
+       ['&lsaquo;',  '&#8249;', true, 'single left-pointing angle quotation mark'],
+       ['&rsaquo;',  '&#8250;', true, 'single right-pointing angle quotation mark'],
+       ['&laquo;',   '&#171;',  true, 'left pointing guillemet'],
+       ['&raquo;',   '&#187;',  true, 'right pointing guillemet'],
+       ['&lsquo;',   '&#8216;', true, 'left single quotation mark'],
+       ['&rsquo;',   '&#8217;', true, 'right single quotation mark'],
+       ['&ldquo;',   '&#8220;', true, 'left double quotation mark'],
+       ['&rdquo;',   '&#8221;', true, 'right double quotation mark'],
+       ['&sbquo;',   '&#8218;', true, 'single low-9 quotation mark'],
+       ['&bdquo;',   '&#8222;', true, 'double low-9 quotation mark'],
+       ['&lt;',      '&#60;',   true, 'less-than sign'],
+       ['&gt;',      '&#62;',   true, 'greater-than sign'],
+       ['&le;',      '&#8804;', true, 'less-than or equal to'],
+       ['&ge;',      '&#8805;', true, 'greater-than or equal to'],
+       ['&ndash;',   '&#8211;', true, 'en dash'],
+       ['&mdash;',   '&#8212;', true, 'em dash'],
+       ['&macr;',    '&#175;',  true, 'macron'],
+       ['&oline;',   '&#8254;', true, 'overline'],
+       ['&curren;',  '&#164;',  true, 'currency sign'],
+       ['&brvbar;',  '&#166;',  true, 'broken bar'],
+       ['&uml;',     '&#168;',  true, 'diaeresis'],
+       ['&iexcl;',   '&#161;',  true, 'inverted exclamation mark'],
+       ['&iquest;',  '&#191;',  true, 'turned question mark'],
+       ['&circ;',    '&#710;',  true, 'circumflex accent'],
+       ['&tilde;',   '&#732;',  true, 'small tilde'],
+       ['&deg;',     '&#176;',  true, 'degree sign'],
+       ['&minus;',   '&#8722;', true, 'minus sign'],
+       ['&plusmn;',  '&#177;',  true, 'plus-minus sign'],
+       ['&divide;',  '&#247;',  true, 'division sign'],
+       ['&frasl;',   '&#8260;', true, 'fraction slash'],
+       ['&times;',   '&#215;',  true, 'multiplication sign'],
+       ['&sup1;',    '&#185;',  true, 'superscript one'],
+       ['&sup2;',    '&#178;',  true, 'superscript two'],
+       ['&sup3;',    '&#179;',  true, 'superscript three'],
+       ['&frac14;',  '&#188;',  true, 'fraction one quarter'],
+       ['&frac12;',  '&#189;',  true, 'fraction one half'],
+       ['&frac34;',  '&#190;',  true, 'fraction three quarters'],
+// math / logical
+       ['&fnof;',    '&#402;',  true, 'function / florin'],
+       ['&int;',     '&#8747;', true, 'integral'],
+       ['&sum;',     '&#8721;', true, 'n-ary sumation'],
+       ['&infin;',   '&#8734;', true, 'infinity'],
+       ['&radic;',   '&#8730;', true, 'square root'],
+       ['&sim;',     '&#8764;', false,'similar to'],
+       ['&cong;',    '&#8773;', false,'approximately equal to'],
+       ['&asymp;',   '&#8776;', true, 'almost equal to'],
+       ['&ne;',      '&#8800;', true, 'not equal to'],
+       ['&equiv;',   '&#8801;', true, 'identical to'],
+       ['&isin;',    '&#8712;', false,'element of'],
+       ['&notin;',   '&#8713;', false,'not an element of'],
+       ['&ni;',      '&#8715;', false,'contains as member'],
+       ['&prod;',    '&#8719;', true, 'n-ary product'],
+       ['&and;',     '&#8743;', false,'logical and'],
+       ['&or;',      '&#8744;', false,'logical or'],
+       ['&not;',     '&#172;',  true, 'not sign'],
+       ['&cap;',     '&#8745;', true, 'intersection'],
+       ['&cup;',     '&#8746;', false,'union'],
+       ['&part;',    '&#8706;', true, 'partial differential'],
+       ['&forall;',  '&#8704;', false,'for all'],
+       ['&exist;',   '&#8707;', false,'there exists'],
+       ['&empty;',   '&#8709;', false,'diameter'],
+       ['&nabla;',   '&#8711;', false,'backward difference'],
+       ['&lowast;',  '&#8727;', false,'asterisk operator'],
+       ['&prop;',    '&#8733;', false,'proportional to'],
+       ['&ang;',     '&#8736;', false,'angle'],
+// undefined
+       ['&acute;',   '&#180;',  true, 'acute accent'],
+       ['&cedil;',   '&#184;',  true, 'cedilla'],
+       ['&ordf;',    '&#170;',  true, 'feminine ordinal indicator'],
+       ['&ordm;',    '&#186;',  true, 'masculine ordinal indicator'],
+       ['&dagger;',  '&#8224;', true, 'dagger'],
+       ['&Dagger;',  '&#8225;', true, 'double dagger'],
+// alphabetical special chars
+       ['&Agrave;',  '&#192;',  true, 'A - grave'],
+       ['&Aacute;',  '&#193;',  true, 'A - acute'],
+       ['&Acirc;',   '&#194;',  true, 'A - circumflex'],
+       ['&Atilde;',  '&#195;',  true, 'A - tilde'],
+       ['&Auml;',    '&#196;',  true, 'A - diaeresis'],
+       ['&Aring;',   '&#197;',  true, 'A - ring above'],
+       ['&AElig;',   '&#198;',  true, 'ligature AE'],
+       ['&Ccedil;',  '&#199;',  true, 'C - cedilla'],
+       ['&Egrave;',  '&#200;',  true, 'E - grave'],
+       ['&Eacute;',  '&#201;',  true, 'E - acute'],
+       ['&Ecirc;',   '&#202;',  true, 'E - circumflex'],
+       ['&Euml;',    '&#203;',  true, 'E - diaeresis'],
+       ['&Igrave;',  '&#204;',  true, 'I - grave'],
+       ['&Iacute;',  '&#205;',  true, 'I - acute'],
+       ['&Icirc;',   '&#206;',  true, 'I - circumflex'],
+       ['&Iuml;',    '&#207;',  true, 'I - diaeresis'],
+       ['&ETH;',     '&#208;',  true, 'ETH'],
+       ['&Ntilde;',  '&#209;',  true, 'N - tilde'],
+       ['&Ograve;',  '&#210;',  true, 'O - grave'],
+       ['&Oacute;',  '&#211;',  true, 'O - acute'],
+       ['&Ocirc;',   '&#212;',  true, 'O - circumflex'],
+       ['&Otilde;',  '&#213;',  true, 'O - tilde'],
+       ['&Ouml;',    '&#214;',  true, 'O - diaeresis'],
+       ['&Oslash;',  '&#216;',  true, 'O - slash'],
+       ['&OElig;',   '&#338;',  true, 'ligature OE'],
+       ['&Scaron;',  '&#352;',  true, 'S - caron'],
+       ['&Ugrave;',  '&#217;',  true, 'U - grave'],
+       ['&Uacute;',  '&#218;',  true, 'U - acute'],
+       ['&Ucirc;',   '&#219;',  true, 'U - circumflex'],
+       ['&Uuml;',    '&#220;',  true, 'U - diaeresis'],
+       ['&Yacute;',  '&#221;',  true, 'Y - acute'],
+       ['&Yuml;',    '&#376;',  true, 'Y - diaeresis'],
+       ['&THORN;',   '&#222;',  true, 'THORN'],
+       ['&agrave;',  '&#224;',  true, 'a - grave'],
+       ['&aacute;',  '&#225;',  true, 'a - acute'],
+       ['&acirc;',   '&#226;',  true, 'a - circumflex'],
+       ['&atilde;',  '&#227;',  true, 'a - tilde'],
+       ['&auml;',    '&#228;',  true, 'a - diaeresis'],
+       ['&aring;',   '&#229;',  true, 'a - ring above'],
+       ['&aelig;',   '&#230;',  true, 'ligature ae'],
+       ['&ccedil;',  '&#231;',  true, 'c - cedilla'],
+       ['&egrave;',  '&#232;',  true, 'e - grave'],
+       ['&eacute;',  '&#233;',  true, 'e - acute'],
+       ['&ecirc;',   '&#234;',  true, 'e - circumflex'],
+       ['&euml;',    '&#235;',  true, 'e - diaeresis'],
+       ['&igrave;',  '&#236;',  true, 'i - grave'],
+       ['&iacute;',  '&#237;',  true, 'i - acute'],
+       ['&icirc;',   '&#238;',  true, 'i - circumflex'],
+       ['&iuml;',    '&#239;',  true, 'i - diaeresis'],
+       ['&eth;',     '&#240;',  true, 'eth'],
+       ['&ntilde;',  '&#241;',  true, 'n - tilde'],
+       ['&ograve;',  '&#242;',  true, 'o - grave'],
+       ['&oacute;',  '&#243;',  true, 'o - acute'],
+       ['&ocirc;',   '&#244;',  true, 'o - circumflex'],
+       ['&otilde;',  '&#245;',  true, 'o - tilde'],
+       ['&ouml;',    '&#246;',  true, 'o - diaeresis'],
+       ['&oslash;',  '&#248;',  true, 'o slash'],
+       ['&oelig;',   '&#339;',  true, 'ligature oe'],
+       ['&scaron;',  '&#353;',  true, 's - caron'],
+       ['&ugrave;',  '&#249;',  true, 'u - grave'],
+       ['&uacute;',  '&#250;',  true, 'u - acute'],
+       ['&ucirc;',   '&#251;',  true, 'u - circumflex'],
+       ['&uuml;',    '&#252;',  true, 'u - diaeresis'],
+       ['&yacute;',  '&#253;',  true, 'y - acute'],
+       ['&thorn;',   '&#254;',  true, 'thorn'],
+       ['&yuml;',    '&#255;',  true, 'y - diaeresis'],
+// ['&Alpha;',   '&#913;',  true, 'Alpha'],
+       ['&Beta;',    '&#914;',  true, 'Beta'],
+       ['&Gamma;',   '&#915;',  true, 'Gamma'],
+       ['&Delta;',   '&#916;',  true, 'Delta'],
+       ['&Epsilon;', '&#917;',  true, 'Epsilon'],
+       ['&Zeta;',    '&#918;',  true, 'Zeta'],
+       ['&Eta;',     '&#919;',  true, 'Eta'],
+       ['&Theta;',   '&#920;',  true, 'Theta'],
+       ['&Iota;',    '&#921;',  true, 'Iota'],
+       ['&Kappa;',   '&#922;',  true, 'Kappa'],
+       ['&Lambda;',  '&#923;',  true, 'Lambda'],
+       ['&Mu;',      '&#924;',  true, 'Mu'],
+       ['&Nu;',      '&#925;',  true, 'Nu'],
+       ['&Xi;',      '&#926;',  true, 'Xi'],
+       ['&Omicron;', '&#927;',  true, 'Omicron'],
+       ['&Pi;',      '&#928;',  true, 'Pi'],
+       ['&Rho;',     '&#929;',  true, 'Rho'],
+       ['&Sigma;',   '&#931;',  true, 'Sigma'],
+       ['&Tau;',     '&#932;',  true, 'Tau'],
+       ['&Upsilon;', '&#933;',  true, 'Upsilon'],
+       ['&Phi;',     '&#934;',  true, 'Phi'],
+       ['&Chi;',     '&#935;',  true, 'Chi'],
+       ['&Psi;',     '&#936;',  true, 'Psi'],
+       ['&Omega;',   '&#937;',  true, 'Omega'],
+       ['&alpha;',   '&#945;',  true, 'alpha'],
+       ['&beta;',    '&#946;',  true, 'beta'],
+       ['&gamma;',   '&#947;',  true, 'gamma'],
+       ['&delta;',   '&#948;',  true, 'delta'],
+       ['&epsilon;', '&#949;',  true, 'epsilon'],
+       ['&zeta;',    '&#950;',  true, 'zeta'],
+       ['&eta;',     '&#951;',  true, 'eta'],
+       ['&theta;',   '&#952;',  true, 'theta'],
+       ['&iota;',    '&#953;',  true, 'iota'],
+       ['&kappa;',   '&#954;',  true, 'kappa'],
+       ['&lambda;',  '&#955;',  true, 'lambda'],
+       ['&mu;',      '&#956;',  true, 'mu'],
+       ['&nu;',      '&#957;',  true, 'nu'],
+       ['&xi;',      '&#958;',  true, 'xi'],
+       ['&omicron;', '&#959;',  true, 'omicron'],
+       ['&pi;',      '&#960;',  true, 'pi'],
+       ['&rho;',     '&#961;',  true, 'rho'],
+       ['&sigmaf;',  '&#962;',  true, 'final sigma'],
+       ['&sigma;',   '&#963;',  true, 'sigma'],
+       ['&tau;',     '&#964;',  true, 'tau'],
+       ['&upsilon;', '&#965;',  true, 'upsilon'],
+       ['&phi;',     '&#966;',  true, 'phi'],
+       ['&chi;',     '&#967;',  true, 'chi'],
+       ['&psi;',     '&#968;',  true, 'psi'],
+       ['&omega;',   '&#969;',  true, 'omega'],
+// symbols
+       ['&alefsym;', '&#8501;', false,'alef symbol'],
+       ['&piv;',     '&#982;',  false,'pi symbol'],
+       ['&real;',    '&#8476;', false,'real part symbol'],
+       ['&thetasym;','&#977;',  false,'theta symbol'],
+       ['&upsih;',   '&#978;',  false,'upsilon - hook symbol'],
+       ['&weierp;',  '&#8472;', false,'Weierstrass p'],
+       ['&image;',   '&#8465;', false,'imaginary part'],
+// arrows
+       ['&larr;',    '&#8592;', true, 'leftwards arrow'],
+       ['&uarr;',    '&#8593;', true, 'upwards arrow'],
+       ['&rarr;',    '&#8594;', true, 'rightwards arrow'],
+       ['&darr;',    '&#8595;', true, 'downwards arrow'],
+       ['&harr;',    '&#8596;', true, 'left right arrow'],
+       ['&crarr;',   '&#8629;', false,'carriage return'],
+       ['&lArr;',    '&#8656;', false,'leftwards double arrow'],
+       ['&uArr;',    '&#8657;', false,'upwards double arrow'],
+       ['&rArr;',    '&#8658;', false,'rightwards double arrow'],
+       ['&dArr;',    '&#8659;', false,'downwards double arrow'],
+       ['&hArr;',    '&#8660;', false,'left right double arrow'],
+       ['&there4;',  '&#8756;', false,'therefore'],
+       ['&sub;',     '&#8834;', false,'subset of'],
+       ['&sup;',     '&#8835;', false,'superset of'],
+       ['&nsub;',    '&#8836;', false,'not a subset of'],
+       ['&sube;',    '&#8838;', false,'subset of or equal to'],
+       ['&supe;',    '&#8839;', false,'superset of or equal to'],
+       ['&oplus;',   '&#8853;', false,'circled plus'],
+       ['&otimes;',  '&#8855;', false,'circled times'],
+       ['&perp;',    '&#8869;', false,'perpendicular'],
+       ['&sdot;',    '&#8901;', false,'dot operator'],
+       ['&lceil;',   '&#8968;', false,'left ceiling'],
+       ['&rceil;',   '&#8969;', false,'right ceiling'],
+       ['&lfloor;',  '&#8970;', false,'left floor'],
+       ['&rfloor;',  '&#8971;', false,'right floor'],
+       ['&lang;',    '&#9001;', false,'left-pointing angle bracket'],
+       ['&rang;',    '&#9002;', false,'right-pointing angle bracket'],
+       ['&loz;',     '&#9674;', true,'lozenge'],
+       ['&spades;',  '&#9824;', false,'black spade suit'],
+       ['&clubs;',   '&#9827;', true, 'black club suit'],
+       ['&hearts;',  '&#9829;', true, 'black heart suit'],
+       ['&diams;',   '&#9830;', true, 'black diamond suit'],
+       ['&ensp;',    '&#8194;', false,'en space'],
+       ['&emsp;',    '&#8195;', false,'em space'],
+       ['&thinsp;',  '&#8201;', false,'thin space'],
+       ['&zwnj;',    '&#8204;', false,'zero width non-joiner'],
+       ['&zwj;',     '&#8205;', false,'zero width joiner'],
+       ['&lrm;',     '&#8206;', false,'left-to-right mark'],
+       ['&rlm;',     '&#8207;', false,'right-to-left mark'],
+       ['&shy;',     '&#173;',  false,'soft hyphen']
+];
+
+function renderCharMapHTML() {
+       var charsPerRow = 20, tdWidth=20, tdHeight=20;
+       var html = '<table border="0" cellspacing="1" cellpadding="0" width="' + (tdWidth*charsPerRow) + '"><tr height="' + tdHeight + '">';
+       var cols=-1;
+       for (var i=0; i<charmap.length; i++) {
+               if (charmap[i][2]==true) {
+                       cols++;
+                       html += ''
+                               + '<td width="' + tdWidth + '" height="' + tdHeight + '" class="charmap"'
+                               + ' onmouseover="tinyMCE.switchClass(this,\'charmapOver\');'
+                               + 'previewChar(\'' + charmap[i][1].substring(1,charmap[i][1].length) + '\',\'' + charmap[i][0].substring(1,charmap[i][0].length) + '\',\'' + charmap[i][3] + '\');"'
+                               + ' onmouseout="tinyMCE.restoreClass(this,\'charmapOver\');"'
+                               + ' onclick="insertChar(\'' + charmap[i][1].substring(2,charmap[i][1].length-1) + '\');return false;"'
+                               + ' title="' + charmap[i][3] + '" nowrap="nowrap">'
+                               + charmap[i][1]
+                               + '</td>';
+                       if ((cols+1) % charsPerRow == 0)
+                               html += '</tr><tr height="' + tdHeight + '">';
+               }
+        }
+       if (cols % charsPerRow > 0) {
+               var padd = charsPerRow - (cols % charsPerRow);
+               for (var i=0; i<padd-1; i++)
+                       html += '<td width="' + tdWidth + '" height="' + tdHeight + '" class="charmap">&nbsp;</td>';
+       }
+       html += '</tr></table>';
+       document.write(html);
+}
+
+function insertChar(chr) {
+       tinyMCEPopup.execCommand('mceInsertContent', false, '\&#' + chr + ';');
+
+       // Refocus in window
+       if (tinyMCEPopup.isWindow)
+               window.focus();
+}
+
+function previewChar(codeA, codeB, codeN) {
+       var elmA = document.getElementById('codeA');
+       var elmB = document.getElementById('codeB');
+       var elmV = document.getElementById('codeV');
+       var elmN = document.getElementById('codeN');
+
+       if (codeA=='#160;') {
+               elmV.innerHTML = '__';
+       } else {
+               elmV.innerHTML = '&' + codeA;
+       }
+
+       elmB.innerHTML = '&amp;' + codeA;
+       elmA.innerHTML = '&amp;' + codeB;
+       elmN.innerHTML = codeN;
+}
diff --git a/webcit/tiny_mce/themes/advanced/jscripts/color_picker.js b/webcit/tiny_mce/themes/advanced/jscripts/color_picker.js
new file mode 100644 (file)
index 0000000..1d585aa
--- /dev/null
@@ -0,0 +1,107 @@
+function init() {
+       if (tinyMCE.isMSIE)
+               tinyMCEPopup.resizeToInnerSize();
+}
+
+function selectColor() {
+       var color = document.getElementById("selectedColorBox").value;
+
+       tinyMCEPopup.execCommand(tinyMCE.getWindowArg('command'), false, color);
+       tinyMCEPopup.close();
+}
+
+function showColor(color) {
+       document.getElementById("selectedColor").style.backgroundColor = color;
+       document.getElementById("selectedColorBox").value = color;
+}
+
+var colors = new Array(
+       "#000000","#000033","#000066","#000099","#0000cc","#0000ff","#330000","#330033",
+       "#330066","#330099","#3300cc","#3300ff","#660000","#660033","#660066","#660099",
+       "#6600cc","#6600ff","#990000","#990033","#990066","#990099","#9900cc","#9900ff",
+       "#cc0000","#cc0033","#cc0066","#cc0099","#cc00cc","#cc00ff","#ff0000","#ff0033",
+       "#ff0066","#ff0099","#ff00cc","#ff00ff","#003300","#003333","#003366","#003399",
+       "#0033cc","#0033ff","#333300","#333333","#333366","#333399","#3333cc","#3333ff",
+       "#663300","#663333","#663366","#663399","#6633cc","#6633ff","#993300","#993333",
+       "#993366","#993399","#9933cc","#9933ff","#cc3300","#cc3333","#cc3366","#cc3399",
+       "#cc33cc","#cc33ff","#ff3300","#ff3333","#ff3366","#ff3399","#ff33cc","#ff33ff",
+       "#006600","#006633","#006666","#006699","#0066cc","#0066ff","#336600","#336633",
+       "#336666","#336699","#3366cc","#3366ff","#666600","#666633","#666666","#666699",
+       "#6666cc","#6666ff","#996600","#996633","#996666","#996699","#9966cc","#9966ff",
+       "#cc6600","#cc6633","#cc6666","#cc6699","#cc66cc","#cc66ff","#ff6600","#ff6633",
+       "#ff6666","#ff6699","#ff66cc","#ff66ff","#009900","#009933","#009966","#009999",
+       "#0099cc","#0099ff","#339900","#339933","#339966","#339999","#3399cc","#3399ff",
+       "#669900","#669933","#669966","#669999","#6699cc","#6699ff","#999900","#999933",
+       "#999966","#999999","#9999cc","#9999ff","#cc9900","#cc9933","#cc9966","#cc9999",
+       "#cc99cc","#cc99ff","#ff9900","#ff9933","#ff9966","#ff9999","#ff99cc","#ff99ff",
+       "#00cc00","#00cc33","#00cc66","#00cc99","#00cccc","#00ccff","#33cc00","#33cc33",
+       "#33cc66","#33cc99","#33cccc","#33ccff","#66cc00","#66cc33","#66cc66","#66cc99",
+       "#66cccc","#66ccff","#99cc00","#99cc33","#99cc66","#99cc99","#99cccc","#99ccff",
+       "#cccc00","#cccc33","#cccc66","#cccc99","#cccccc","#ccccff","#ffcc00","#ffcc33",
+       "#ffcc66","#ffcc99","#ffcccc","#ffccff","#00ff00","#00ff33","#00ff66","#00ff99",
+       "#00ffcc","#00ffff","#33ff00","#33ff33","#33ff66","#33ff99","#33ffcc","#33ffff",
+       "#66ff00","#66ff33","#66ff66","#66ff99","#66ffcc","#66ffff","#99ff00","#99ff33",
+       "#99ff66","#99ff99","#99ffcc","#99ffff","#ccff00","#ccff33","#ccff66","#ccff99",
+       "#ccffcc","#ccffff","#ffff00","#ffff33","#ffff66","#ffff99","#ffffcc","#ffffff"
+);
+
+function convertRGBToHex(col) {
+       var re = new RegExp("rgb\\s*\\(\\s*([0-9]+).*,\\s*([0-9]+).*,\\s*([0-9]+).*\\)", "gi");
+
+       var rgb = col.replace(re, "$1,$2,$3").split(',');
+       if (rgb.length == 3) {
+               r = parseInt(rgb[0]).toString(16);
+               g = parseInt(rgb[1]).toString(16);
+               b = parseInt(rgb[2]).toString(16);
+
+               r = r.length == 1 ? '0' + r : r;
+               g = g.length == 1 ? '0' + g : g;
+               b = b.length == 1 ? '0' + b : b;
+
+               return "#" + r + g + b;
+       }
+
+       return col;
+}
+
+function convertHexToRGB(col) {
+       if (col.indexOf('#') != -1) {
+               col = col.replace(new RegExp('[^0-9A-F]', 'gi'), '');
+
+               r = parseInt(col.substring(0, 2), 16);
+               g = parseInt(col.substring(2, 4), 16);
+               b = parseInt(col.substring(4, 6), 16);
+
+               return "rgb(" + r + "," + g + "," + b + ")";
+       }
+
+       return col;
+}
+
+function renderColorMap() {
+       var html = "";
+       var inputColor = convertRGBToHex(tinyMCE.getWindowArg('input_color'));
+
+       html += '<table border="0" cellspacing="1" cellpadding="0">'
+               + '<tr>';
+       for (var i=0; i<colors.length; i++) {
+               html += '<td bgcolor="' + colors[i] + '">'
+                       + '<a href="javascript:selectColor();" onfocus="showColor(\'' + colors[i] +  '\');" onmouseover="showColor(\'' + colors[i] +  '\');">'
+                       + '<img border="0" src="images/spacer.gif" width="10" height="10" title="' + colors[i] +  '" alt="' + colors[i] +  '" /></a></td>';
+               if ((i+1) % 18 == 0)
+                       html += '</tr><tr>';
+       }
+       html += '<tr><td colspan="18">'
+               + '<table width="100%" border="0" cellspacing="0" cellpadding="0">'
+               + '<tr><td>'
+               + '<img id="selectedColor" style="background-color:' + tinyMCE.getWindowArg('input_color') + '" border="0" src="images/spacer.gif" width="80" height="16" />'
+               + '</td><td align="right">'
+               + '<input id="selectedColorBox" name="selectedColorBox" type="text" size="7" maxlength="7" style="width:65px" value="' + inputColor + '" />'
+               + '</td></tr>'
+               + '</table>'
+               + '<input type="button" id="insert" name="insert" value="{$lang_theme_colorpicker_apply}" style="margin-top:3px" onclick="selectColor();">'
+               + '</td></tr>'
+               + '</table>';
+
+       document.write(html);
+}
\ No newline at end of file
diff --git a/webcit/tiny_mce/themes/advanced/jscripts/image.js b/webcit/tiny_mce/themes/advanced/jscripts/image.js
new file mode 100644 (file)
index 0000000..098855d
--- /dev/null
@@ -0,0 +1,80 @@
+var url = tinyMCE.getParam("external_image_list_url");
+if (url != null) {
+       // Fix relative
+       if (url.charAt(0) != '/')
+               url = tinyMCE.documentBasePath + "/" + url;
+
+       document.write('<sc'+'ript language="javascript" type="text/javascript" src="' + url + '"></sc'+'ript>');
+}
+
+function insertImage() {
+       if (window.opener) {
+               var src = document.forms[0].src.value;
+               var alt = document.forms[0].alt.value;
+               var border = document.forms[0].border.value;
+               var vspace = document.forms[0].vspace.value;
+               var hspace = document.forms[0].hspace.value;
+               var width = document.forms[0].width.value;
+               var height = document.forms[0].height.value;
+               var align = document.forms[0].align.options[document.forms[0].align.selectedIndex].value;
+
+               window.opener.tinyMCE.insertImage(src, alt, border, hspace, vspace, width, height, align);
+               top.close();
+       }
+}
+
+function init() {
+       tinyMCEPopup.resizeToInnerSize();
+
+       var formObj = document.forms[0];
+
+       for (var i=0; i<document.forms[0].align.options.length; i++) {
+               if (document.forms[0].align.options[i].value == tinyMCE.getWindowArg('align'))
+                       document.forms[0].align.options.selectedIndex = i;
+       }
+
+       formObj.src.value = tinyMCE.getWindowArg('src');
+       formObj.alt.value = tinyMCE.getWindowArg('alt');
+       formObj.border.value = tinyMCE.getWindowArg('border');
+       formObj.vspace.value = tinyMCE.getWindowArg('vspace');
+       formObj.hspace.value = tinyMCE.getWindowArg('hspace');
+       formObj.width.value = tinyMCE.getWindowArg('width');
+       formObj.height.value = tinyMCE.getWindowArg('height');
+       formObj.insert.value = tinyMCE.getLang('lang_' + tinyMCE.getWindowArg('action'), 'Insert', true); 
+
+       // Handle file browser
+       if (isVisible('srcbrowser'))
+               document.getElementById('src').style.width = '180px';
+
+       // Auto select image in list
+       if (typeof(tinyMCEImageList) != "undefined" && tinyMCEImageList.length > 0) {
+               for (var i=0; i<formObj.image_list.length; i++) {
+                       if (formObj.image_list.options[i].value == tinyMCE.getWindowArg('src'))
+                               formObj.image_list.options[i].selected = true;
+               }
+       }
+}
+
+var preloadImg = new Image();
+
+function resetImageData() {
+       var formObj = document.forms[0];
+       formObj.width.value = formObj.height.value = "";        
+}
+
+function updateImageData() {
+       var formObj = document.forms[0];
+
+       if (formObj.width.value == "")
+               formObj.width.value = preloadImg.width;
+
+       if (formObj.height.value == "")
+               formObj.height.value = preloadImg.height;
+}
+
+function getImageData() {
+       preloadImg = new Image();
+       tinyMCE.addEvent(preloadImg, "load", updateImageData);
+       tinyMCE.addEvent(preloadImg, "error", function () {var formObj = document.forms[0];formObj.width.value = formObj.height.value = "";});
+       preloadImg.src = tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings['base_href'], document.forms[0].src.value);
+}
diff --git a/webcit/tiny_mce/themes/advanced/jscripts/link.js b/webcit/tiny_mce/themes/advanced/jscripts/link.js
new file mode 100644 (file)
index 0000000..5bb60e9
--- /dev/null
@@ -0,0 +1,55 @@
+var url = tinyMCE.getParam("external_link_list_url");
+if (url != null) {
+       // Fix relative
+       if (url.charAt(0) != '/')
+               url = tinyMCE.documentBasePath + "/" + url;
+
+       document.write('<sc'+'ript language="javascript" type="text/javascript" src="' + url + '"></sc'+'ript>');
+}
+
+function init() {
+       tinyMCEPopup.resizeToInnerSize();
+
+       var formObj = document.forms[0];
+
+       for (var i=0; i<document.forms[0].target.options.length; i++) {
+               var option = document.forms[0].target.options[i];
+
+               if (option.value == tinyMCE.getWindowArg('target'))
+                       option.selected = true;
+       }
+
+       document.forms[0].href.value = tinyMCE.getWindowArg('href');
+       document.forms[0].linktitle.value = tinyMCE.getWindowArg('title');
+       document.forms[0].insert.value = tinyMCE.getLang('lang_' + tinyMCE.getWindowArg('action'), 'Insert', true); 
+
+       addClassesToList('styleSelect', 'theme_advanced_link_styles');
+       selectByValue(formObj, 'styleSelect', tinyMCE.getWindowArg('className'), true);
+
+       // Handle file browser
+       if (isVisible('hrefbrowser'))
+               document.getElementById('href').style.width = '180px';
+
+       // Auto select link in list
+       if (typeof(tinyMCELinkList) != "undefined" && tinyMCELinkList.length > 0) {
+               var formObj = document.forms[0];
+
+               for (var i=0; i<formObj.link_list.length; i++) {
+                       if (formObj.link_list.options[i].value == tinyMCE.getWindowArg('href'))
+                               formObj.link_list.options[i].selected = true;
+               }
+       }
+}
+
+function insertLink() {
+       if (window.opener) {
+               var href = document.forms[0].href.value;
+               var target = document.forms[0].target.options[document.forms[0].target.selectedIndex].value;
+               var title = document.forms[0].linktitle.value;
+               var style_class = document.forms[0].styleSelect.value;
+               var dummy;
+
+               window.opener.tinyMCE.insertLink(href, target, title, dummy, style_class);
+               tinyMCEPopup.close();
+       }
+}
diff --git a/webcit/tiny_mce/themes/advanced/jscripts/source_editor.js b/webcit/tiny_mce/themes/advanced/jscripts/source_editor.js
new file mode 100644 (file)
index 0000000..06c9f4f
--- /dev/null
@@ -0,0 +1,54 @@
+function saveContent() {
+       tinyMCE.setContent(document.getElementById('htmlSource').value);
+       tinyMCE.closeWindow(window);
+}
+
+// Fixes some charcode issues
+function fixContent(html) {
+       html = html.replace(new RegExp('<(p|hr|table|tr|td|ol|ul|object|embed|li|blockquote)', 'gi'),'\n<$1');
+       html = html.replace(new RegExp('<\/(p|ol|ul|li|table|tr|td|blockquote|object)>', 'gi'),'</$1>\n');
+       html = tinyMCE.regexpReplace(html, '<br />','<br />\n','gi');
+       html = tinyMCE.regexpReplace(html, '\n\n','\n','gi');
+       return html;
+}
+
+function onLoadInit() {
+       tinyMCEPopup.resizeToInnerSize();
+
+       document.forms[0].htmlSource.value = fixContent(tinyMCE.getContent(tinyMCE.getWindowArg('editor_id')));
+       resizeInputs();
+       setWrap('off');
+}
+
+function setWrap(val) {
+       // hard soft off
+       document.forms[0].htmlSource.wrap = val;
+}
+
+function toggleWordWrap(elm) {
+       if (elm.checked)
+               setWrap('soft');
+       else
+               setWrap('off');
+}
+
+var wHeight=0, wWidth=0, owHeight=0, owWidth=0;
+
+function resizeInputs() {
+       if (!tinyMCE.isMSIE) {
+                wHeight = self.innerHeight-80;
+                wWidth = self.innerWidth-16;
+       } else {
+                wHeight = document.body.clientHeight-80;
+                wWidth = document.body.clientWidth-16;
+       }
+
+       document.forms[0].htmlSource.style.height = Math.abs(wHeight) + 'px';
+       document.forms[0].htmlSource.style.width  = Math.abs(wWidth) + 'px';
+               
+}
+
+function renderWordWrap() {
+       if (tinyMCE.isMSIE)
+               document.write('<input type="checkbox" name="wraped" id="wraped" onclick="toggleWordWrap(this);" class="wordWrapCode" /><label for="wraped">{$lang_theme_code_wordwrap}</label>');
+}
diff --git a/webcit/tiny_mce/themes/advanced/langs/ar.js b/webcit/tiny_mce/themes/advanced/langs/ar.js
new file mode 100644 (file)
index 0000000..84a2b08
--- /dev/null
@@ -0,0 +1,63 @@
+// Arabic lang variables
+
+tinyMCE.addToLang('',{
+theme_style_select : '&#1578;&#1589;&#1575;&#1605;&#1610;&#1605;',
+theme_code_desc : '&#1588;&#1601;&#1585;&#1577; &#1575;&#1604;&#1605;&#1589;&#1583;&#1585;',
+theme_code_title : '&#1588;&#1601;&#1585;&#1577; &#1575;&#1604;&#1605;&#1589;&#1583;&#1585;',
+theme_code_wordwrap : 'Word wrap',
+theme_sub_desc : '&#1605;&#1606;&#1582;&#1601;&#1590;',
+theme_sup_desc : '&#1605;&#1585;&#1578;&#1601;&#1593;',
+theme_hr_desc : '&#1573;&#1583;&#1585;&#1575;&#1580; &#1582;&#1591; &#1601;&#1575;&#1589;&#1604;',
+theme_removeformat_desc : '&#1573;&#1586;&#1575;&#1604;&#1577; &#1575;&#1604;&#1578;&#1606;&#1587;&#1610;&#1602;&#1575;&#1578;',
+theme_custom1_desc : 'Your custom description here',
+insert_image_border : '&#1587;&#1605;&#1603; &#1575;&#1604;&#1581;&#1583;&#1608;&#1583;',
+insert_image_dimensions : '&#1575;&#1604;&#1605;&#1608;&#1575;&#1589;&#1601;&#1575;&#1578;',
+insert_image_vspace : '&#1578;&#1576;&#1575;&#1593;&#1583; &#1593;&#1605;&#1608;&#1583;&#1610;',
+insert_image_hspace : '&#1578;&#1576;&#1575;&#1593;&#1583; &#1571;&#1601;&#1602;&#1610;',
+insert_image_align : '&#1605;&#1581;&#1575;&#1584;&#1575;&#1577;',
+insert_image_align_default : 'Default',
+insert_image_align_baseline : '&#1593;&#1604;&#1609; &#1575;&#1604;&#1587;&#1591;&#1585;',
+insert_image_align_top : '&#1571;&#1593;&#1604;&#1609;',
+insert_image_align_middle : '&#1608;&#1587;&#1591;',
+insert_image_align_bottom : '&#1571;&#1587;&#1601;&#1604;',
+insert_image_align_texttop : '&#1571;&#1593;&#1604;&#1609; &#1575;&#1604;&#1606;&#1589;',
+insert_image_align_absmiddle : '&#1608;&#1587;&#1591; &#1575;&#1604;&#1587;&#1591;&#1585;',
+insert_image_align_absbottom : '&#1571;&#1587;&#1601;&#1604; &#1575;&#1604;&#1606;&#1589;',
+insert_image_align_left : '&#1610;&#1587;&#1575;&#1585;',
+insert_image_align_right : '&#1610;&#1605;&#1610;&#1606;',
+theme_font_size : '-- Font size --',
+theme_fontdefault : '-- Font family --',
+theme_block : '-- Format --',
+theme_paragraph : 'Paragraph',
+theme_div : 'Div',
+theme_address : 'Address',
+theme_pre : 'Preformatted',
+theme_h1 : 'Heading 1',
+theme_h2 : 'Heading 2',
+theme_h3 : 'Heading 3',
+theme_h4 : 'Heading 4',
+theme_h5 : 'Heading 5',
+theme_h6 : 'Heading 6',
+theme_colorpicker_title : '&#1604;&#1608;&#1606; &#1575;&#1604;&#1606;&#1589;',
+theme_colorpicker_apply : 'Apply',
+theme_forecolor_desc : '&#1604;&#1608;&#1606; &#1575;&#1604;&#1606;&#1589;',
+theme_backcolor_desc : 'Select background color',
+theme_charmap_title : '&#1573;&#1583;&#1585;&#1575;&#1580;  &#1585;&#1605;&#1586;..&#1616;',
+theme_charmap_desc : '&#1573;&#1583;&#1585;&#1575;&#1580;  &#1585;&#1605;&#1586;..&#1616;',
+theme_visualaid_desc : 'Toggle guidelines/invisible elements',
+insert_anchor_title : 'Insert/edit anchor',
+insert_anchor_name : 'Anchor name',
+theme_anchor_desc : 'Insert/edit anchor',
+theme_insert_link_titlefield : 'Title',
+theme_clipboard_msg : 'Copy/Cut/Paste is not available in Mozilla and Firefox.\nDo you want more information about this issue?',
+theme_path : 'Path',
+cut_desc : 'Cut',
+copy_desc : 'Copy',
+paste_desc : 'Paste',
+link_list : 'Link list',
+image_list : 'Image list',
+browse : 'Browse',
+image_props_desc : 'Image properties',
+newdocument_desc : 'New document',
+newdocument : 'Are you sure you want clear all contents?'
+});
diff --git a/webcit/tiny_mce/themes/advanced/langs/ca.js b/webcit/tiny_mce/themes/advanced/langs/ca.js
new file mode 100644 (file)
index 0000000..e9af571
--- /dev/null
@@ -0,0 +1,64 @@
+// CA lang variables by Marc Bria
+
+tinyMCE.addToLang('',{
+theme_style_select : 'Estils',
+theme_code_desc : 'Editar codi HTML',
+theme_code_title : 'Editor codi HTML',
+theme_code_wordwrap : 'Ajustar salt de línea',
+theme_sub_desc : 'Subíndex',
+theme_sup_desc : 'Superíndex',
+theme_hr_desc : 'Insertar un separador horitzontal',
+theme_removeformat_desc : 'Eliminar format',
+theme_custom1_desc : 'La teva descripció',
+insert_image_border : 'Marc',
+insert_image_dimensions : 'Dimensions',
+insert_image_vspace : 'Espai vertical',
+insert_image_hspace : 'Espai horizontal',
+insert_image_align : 'Alineament',
+insert_image_align_default : 'Per defecte',
+insert_image_align_baseline : 'Línea base',
+insert_image_align_top : 'Superior',
+insert_image_align_middle : 'Centre',
+insert_image_align_bottom : 'Inferior',
+insert_image_align_texttop : 'Alinear text amunt',
+insert_image_align_absmiddle : 'Centrat horitzontal',
+insert_image_align_absbottom : 'Centrat a baix',
+insert_image_align_left : 'Esquerra',
+insert_image_align_right : 'Dreta',
+insert_image_delta_height'] = 10;
+theme_font_size : '-- Mida font --',
+theme_fontdefault : '-- Font family --',
+theme_block : '-- Format --',
+theme_paragraph : 'Paragraph',
+theme_div : 'Div',
+theme_address : 'Address',
+theme_pre : 'Preformatejat',
+theme_h1 : 'Capçalera 1',
+theme_h2 : 'Capçalera 2',
+theme_h3 : 'Capçalera 3',
+theme_h4 : 'Capçalera 4',
+theme_h5 : 'Capçalera 5',
+theme_h6 : 'Capçalera 6',
+theme_colorpicker_title : 'Selecciona el color',
+theme_colorpicker_apply : 'Apply',
+theme_forecolor_desc : 'Selecciona color frontal',
+theme_backcolor_desc : 'Selecciona color de fons',
+theme_charmap_title : 'Selecciona un caràcter especial',
+theme_charmap_desc : 'Inserta un caràcter especial',
+theme_visualaid_desc : 'Alterna líniesguia/elements invisibles',
+insert_anchor_title : 'Inserta/edita àncora',
+insert_anchor_name : 'Nom de l´àncora',
+theme_anchor_desc : 'Inserta/edita un àncora',
+theme_insert_link_titlefield : 'Títlo',
+theme_clipboard_msg : 'Copiar/Tallar/Enganxar no és possible amb Mozilla i Firefox.\nVols més informació sobre aquest problema de seguretat?',
+theme_path : 'Camí',
+cut_desc : 'Retallar',
+copy_desc : 'Copiar',
+paste_desc : 'Enganxar',
+link_list : 'Llistat d´enllaços',
+image_list : 'Llistat d´imatges',
+browse : 'Explorar',
+image_props_desc : 'Image properties',
+newdocument_desc : 'New document',
+newdocument : 'Are you sure you want clear all contents?'
+});
diff --git a/webcit/tiny_mce/themes/advanced/langs/cs.js b/webcit/tiny_mce/themes/advanced/langs/cs.js
new file mode 100644 (file)
index 0000000..986352d
--- /dev/null
@@ -0,0 +1,70 @@
+/**
+ * Czech lang variables 
+ * encoding: utf-8
+ *  
+ * $Id$ 
+ */  
+
+
+tinyMCE.addToLang('',{
+theme_style_select : 'Styly',
+theme_code_desc : 'Zobrazit HTML',
+theme_code_title : 'Editace HTML',
+theme_code_wordwrap : 'Bez dělení slov',
+theme_sub_desc : 'Dolní index',
+theme_sup_desc : 'Horní index',
+theme_hr_desc : 'Vložit vodorovný oddělovač',
+theme_removeformat_desc : 'Zrušit formátování',
+theme_custom1_desc : 'Libovolný popisek',
+insert_image_border : 'Rámeček',
+insert_image_dimensions : 'Rozměry',
+insert_image_vspace : 'Vertikální okraj',
+insert_image_hspace : 'Horizontální okraj',
+insert_image_align : 'Zarovnání',
+insert_image_align_default : 'Výchozí',
+insert_image_align_baseline : 'Na účaří',
+insert_image_align_top : 'Nahoru',
+insert_image_align_middle : 'Na střed',
+insert_image_align_bottom : 'Dolů',
+insert_image_align_texttop : 'Nejvyšší bod textu',
+insert_image_align_absmiddle : 'Střed řádku',
+insert_image_align_absbottom : 'Spodek řádku',
+insert_image_align_left : 'Vlevo',
+insert_image_align_right : 'Vpravo',
+theme_font_size : '-- Velikost textu --',
+theme_fontdefault : '-- Písmo --',
+theme_block : '-- Formát --',
+theme_paragraph : 'Odstavec',
+theme_div : 'Div',
+theme_address : 'Adresa',
+theme_pre : 'Předformát',
+theme_h1 : 'Nadpis 1',
+theme_h2 : 'Nadpis 2',
+theme_h3 : 'Nadpis 3',
+theme_h4 : 'Nadpis 4',
+theme_h5 : 'Nadpis 5',
+theme_h6 : 'Nadpis 6',
+theme_colorpicker_title : 'Výběr barvy',
+theme_colorpicker_apply : 'Vybrat',
+theme_forecolor_desc : 'Barva popředí',
+theme_backcolor_desc : 'Barva pozadí',
+theme_charmap_title : 'Výběr znaku',
+theme_charmap_desc : 'Vložit znak',
+theme_visualaid_desc : 'Zapnout značky/neviditelné prvky',
+insert_anchor_title : 'Vložení/editace záložky',
+insert_anchor_name : 'Název',
+theme_anchor_desc : 'Vložit/editovat záložku',
+theme_insert_link_titlefield : 'Název',
+theme_clipboard_msg : 'Funkce Kopírovat/vyjmout/vložit nejsou použitelné v Mozille a Firefoxu.\nChcete více informací o tomto problému?',
+theme_path : 'Cesta',
+cut_desc : 'Vyjmout',
+copy_desc : 'Kopírovat',
+paste_desc : 'Vložit',
+link_list : 'Seznam',
+image_list : 'Seznam',
+browse : 'Procházet',
+image_props_desc : 'Vlastnosti obrázku',
+newdocument_desc : 'Nový dokument',
+newdocument : 'Jste si opravdu jistý(á), že chcete vymazat veškerý obsah?'
+});
+
diff --git a/webcit/tiny_mce/themes/advanced/langs/da.js b/webcit/tiny_mce/themes/advanced/langs/da.js
new file mode 100644 (file)
index 0000000..2591600
--- /dev/null
@@ -0,0 +1,64 @@
+// DK lang variables contributed by Jan Moelgaard
+
+tinyMCE.addToLang('',{
+theme_style_select : 'Styles',
+theme_code_desc : 'Rediger html-kode',
+theme_code_title : 'HTML Kodeeditor',
+theme_code_wordwrap : 'Word wrap',
+theme_sub_desc : 'S&#230;nket skrift',
+theme_sup_desc : 'H&#230;vet skrift',
+theme_hr_desc : 'Inds&#230;t horisontal linje',
+theme_removeformat_desc : 'Fjern formatering',
+theme_custom1_desc : 'Inds&#230;t din egen beskrivelse her',
+insert_image_border : 'Kant',
+insert_image_dimensions : 'Dimensioner',
+insert_image_vspace : 'VSpace',
+insert_image_hspace : 'HSpace',
+insert_image_align : 'Justering',
+insert_image_align_default : 'Standard',
+insert_image_align_baseline : 'Bundlinje',
+insert_image_align_top : 'Top',
+insert_image_align_middle : 'Midt i',
+insert_image_align_bottom : 'I bunden',
+insert_image_align_texttop : 'I toppen af teksten',
+insert_image_align_absmiddle : 'Absolut midte',
+insert_image_align_absbottom : 'Absolut bund',
+insert_image_align_left : 'Venstre',
+insert_image_align_right : 'H&#248;jre',
+theme_font_size : '-- Font size --',
+theme_fontdefault : '-- Font family --',
+theme_block : '-- Format --',
+theme_paragraph : 'Afsnit',
+theme_div : 'Div',
+theme_address : 'Addresse',
+theme_pre : 'Pr&#230;formateret',
+theme_h1 : 'Overskrift 1',
+theme_h2 : 'Overskrift 2',
+theme_h3 : 'Overskrift 3',
+theme_h4 : 'Overskrift 4',
+theme_h5 : 'Overskrift 5',
+theme_h6 : 'Overskrift 6',
+theme_colorpicker_title : 'V&#230;lg en farve',
+theme_colorpicker_apply : 'Anvend',
+theme_forecolor_desc : 'V&#230;lg forgrundsfarve',
+theme_backcolor_desc : 'Select background color',
+theme_charmap_title : 'V&#230;lg specialkarakter',
+theme_charmap_desc : 'Inds&#230;t specialkarakter',
+theme_visualaid_desc : 'Sl&#229; linjer/usynlige elementer til og fra',
+insert_anchor_title : 'Inds&#230;t/rediger bogm&#230;rke',
+insert_anchor_name : 'Bogm&#230;rkets navn',
+theme_anchor_desc : 'Inds&#230;t/rediger bogm&#230;rke',
+theme_insert_link_titlefield : 'Title',
+theme_clipboard_msg : 'Copy/Cut/Paste is not available in Mozilla and Firefox.\nDo you want more information about this issue?',
+theme_path : 'Path',
+cut_desc : 'Cut',
+copy_desc : 'Copy',
+paste_desc : 'Paste',
+link_list : 'Link list',
+image_list : 'Image list',
+browse : 'Browse',
+image_props_desc : 'Image properties',
+newdocument_desc : 'New document',
+class_name : 'Klasse',
+newdocument : 'Are you sure you want clear all contents?'
+});
diff --git a/webcit/tiny_mce/themes/advanced/langs/de.js b/webcit/tiny_mce/themes/advanced/langs/de.js
new file mode 100644 (file)
index 0000000..74803be
--- /dev/null
@@ -0,0 +1,66 @@
+// DE lang variables
+// Translated 2004 by Crazy Chrissi
+// Edited 2004 by Krokogras
+
+tinyMCE.addToLang('',{
+theme_style_select : 'Styles',
+theme_code_desc : 'HTML-Modus',
+theme_code_title : 'HTML-Code Editor',
+theme_code_wordwrap : 'Zeilenumbruch',
+theme_sub_desc : 'Tiefergestellt',
+theme_sup_desc : 'H&ouml;hergestellt',
+theme_hr_desc : 'Horizontale Linie einf&uuml;gen',
+theme_removeformat_desc : 'Formatierung l&ouml;schen',
+theme_custom1_desc : 'Beschreibung eingeben',
+insert_image_border : 'Rahmen',
+insert_image_dimensions : 'Gr&ouml;&szlig;e',
+insert_image_vspace : 'Vertikal einr&uuml;cken',
+insert_image_hspace : 'Horizontal einr&uuml;cken',
+insert_image_align : 'Ausrichten',
+insert_image_align_default : 'Normal',
+insert_image_align_baseline : 'Grundlinie',
+insert_image_align_top : 'Oben',
+insert_image_align_middle : 'Mitte',
+insert_image_align_bottom : 'Unten',
+insert_image_align_texttop : 'Textoberkante',
+insert_image_align_absmiddle : 'Absolute Mitte',
+insert_image_align_absbottom : 'Absolut unten',
+insert_image_align_left : 'Links',
+insert_image_align_right : 'Rechts',
+theme_font_size : '-- Font size --',
+theme_fontdefault : '-- Font family --',
+theme_block : '-- Format --',
+theme_paragraph : 'Standard-Text',
+theme_div : 'Div',
+theme_address : 'Addresse',
+theme_pre : 'Vorformatiert (pre)',
+theme_h1 : '&Uuml;berschrift 1',
+theme_h2 : '&Uuml;berschrift 2',
+theme_h3 : '&Uuml;berschrift 3',
+theme_h4 : '&Uuml;berschrift 4',
+theme_h5 : '&Uuml;berschrift 5',
+theme_h6 : '&Uuml;berschrift 6',
+theme_colorpicker_title : 'W&auml;hle eine Farbe',
+theme_colorpicker_apply : '&Uuml;bernehmen',
+theme_forecolor_desc : 'Schriftfarbe ausw\84hlen',
+theme_backcolor_desc : 'Select background color',
+theme_charmap_title : 'W&auml;hle ein Sonderzeichen',
+theme_charmap_desc : 'Sonderzeichen einf&uuml;gen',
+theme_visualaid_desc : 'Anzeige von Hilfslinien / unsichtbaren Elementen an/aus',
+insert_anchor_title : 'Anker einf&uuml;gen/bearbeiten',
+insert_anchor_name : 'Ankername',
+theme_anchor_desc : 'Anker einf&uuml;gen/bearbeiten',
+theme_insert_link_titlefield : 'Title',
+theme_clipboard_msg : 'Kopieren/Ausschneiden/Einf&uuml;gen sind in Mozilla und Firefox nicht verf&uuml;gbar.\nM&ouml;chten sie weitere Informationen zu diesem Thema?',
+theme_path : 'Pfad',
+cut_desc : 'Ausschneiden',
+copy_desc : 'Kopieren',
+paste_desc : 'Einf&uuml;gen',
+link_list : 'Verweisliste',
+image_list : 'Bildliste',
+browse : 'Durchsuchen',
+image_props_desc : 'Image properties',
+newdocument_desc : 'New document',
+class_name : 'Klasse',
+newdocument : 'Are you sure you want clear all contents?'
+});
diff --git a/webcit/tiny_mce/themes/advanced/langs/el.js b/webcit/tiny_mce/themes/advanced/langs/el.js
new file mode 100644 (file)
index 0000000..d5c5b89
--- /dev/null
@@ -0,0 +1,64 @@
+// Greek lang variables by Jacaranda Bill
+
+tinyMCE.addToLang('',{
+theme_style_select : 'ÈÝìáôá',
+theme_code_desc : '&Aring;ð&aring;î&aring;ñãáóßá HTML êþ&auml;éêá',
+theme_code_title : '&Aring;ð&aring;î&aring;ñãáóôÞò HTML',
+theme_code_wordwrap : 'Word wrap',
+theme_sub_desc : '&Auml;&aring;ßêôçò',
+theme_sup_desc : '&Aring;êèÝôçò',
+theme_hr_desc : '&Aring;éóáãùãÞ ïñéæüíôéáò ãñáììÞò',
+theme_removeformat_desc : 'Áðáëïé&ouml;Þ ìïñ&ouml;ïðïßçóçò',
+theme_custom1_desc : 'Ð&aring;ñéãñá&ouml;Þ',
+insert_image_border : 'Ð&aring;ñßãñáììá',
+insert_image_dimensions : '&Auml;éáóôÜó&aring;éò',
+insert_image_vspace : 'ÊÜè. ð&aring;ñéèþñéï',
+insert_image_hspace : 'Ïñéæ. ð&aring;ñéèþñéï',
+insert_image_align : 'Óôïß÷éóç',
+insert_image_align_default : 'ÐñïêáèïñéóìÝíç',
+insert_image_align_baseline : 'Ó&aring; &aring;õèõãñÜììéóç ì&aring; ôï ê&aring;ßì&aring;íï',
+insert_image_align_top : 'ÐÜíù',
+insert_image_align_middle : 'Óôï êÝíôñï',
+insert_image_align_bottom : 'ÊÜôù',
+insert_image_align_texttop : 'Ôï ê&aring;ßì&aring;íï ðÜíù',
+insert_image_align_absmiddle : 'Áðüëõôá óôï êÝíôñï',
+insert_image_align_absbottom : 'Áðüëõôá êÜôù',
+insert_image_align_left : 'Áñéóô&aring;ñÜ',
+insert_image_align_right : '&Auml;&aring;îéÜ',
+theme_font_size : '-- Font size --',
+theme_fontdefault : '-- Font family --',
+theme_block : '-- Format --',
+theme_paragraph : 'ÐáñÜãñá&ouml;ïò',
+theme_div : 'Div',
+theme_address : '&Auml;é&aring;ýèõíóç',
+theme_pre : 'Preformatted',
+theme_h1 : '&Aring;ðéê&aring;&ouml;áëß&auml;á 1',
+theme_h2 : '&Aring;ðéê&aring;&ouml;áëß&auml;á 2',
+theme_h3 : '&Aring;ðéê&aring;&ouml;áëß&auml;á 3',
+theme_h4 : '&Aring;ðéê&aring;&ouml;áëß&auml;á 4',
+theme_h5 : '&Aring;ðéê&aring;&ouml;áëß&auml;á 5',
+theme_h6 : '&Aring;ðéê&aring;&ouml;áëß&auml;á 6',
+theme_colorpicker_title : '×ñþìáôá',
+theme_colorpicker_apply : '&Aring;&ouml;áñìïãÞ',
+theme_forecolor_desc : '&Aring;ðéëïãÞ ÷ñþìáôïò ãñáììáôïó&aring;éñÜò',
+theme_backcolor_desc : 'Select background color',
+theme_charmap_title : '&Aring;ðéëïãÞ &aring;é&auml;éêïý ÷áñáêôÞñá',
+theme_charmap_desc : '&Aring;éóáãùãÞ &aring;é&auml;éêïý ÷áñáêôÞñá',
+theme_visualaid_desc : '&Aring;ì&ouml;Üíéóç/Áðüêñõøç ãñáììþí',
+insert_anchor_title : '&Aring;éóáãùãÞ/&Auml;éüñèùóç Üãêõñáò',
+insert_anchor_name : 'Ïíïìáóßá Üãêõñáò',
+theme_anchor_desc : '&Aring;éóáãùãÞ/&Auml;éüñèùóç Üãêõñáò',
+theme_insert_link_titlefield : 'Ôßôëïò',
+theme_clipboard_msg : 'Copy/Cut/Paste is not available in Mozilla and Firefox.\nDo you want more information about this issue?',
+theme_path : 'Path',
+cut_desc : 'Cut',
+copy_desc : 'Copy',
+paste_desc : 'Paste',
+link_list : 'Link list',
+image_list : 'Image list',
+browse : 'Browse',
+image_props_desc : 'Image properties',
+newdocument_desc : 'New document',
+class_name : 'ÊëÜóç', 
+newdocument : 'Are you sure you want clear all contents?'
+});
diff --git a/webcit/tiny_mce/themes/advanced/langs/en.js b/webcit/tiny_mce/themes/advanced/langs/en.js
new file mode 100644 (file)
index 0000000..9b20b6a
--- /dev/null
@@ -0,0 +1,75 @@
+// UK lang variables
+
+tinyMCE.addToLang('',{
+theme_style_select : '-- Styles --',
+theme_code_desc : 'Edit HTML Source',
+theme_code_title : 'HTML Source Editor',
+theme_code_wordwrap : 'Word wrap',
+theme_sub_desc : 'Subscript',
+theme_sup_desc : 'Superscript',
+theme_hr_desc : 'Insert horizontal ruler',
+theme_removeformat_desc : 'Remove formatting',
+theme_custom1_desc : 'Your custom description here',
+insert_image_border : 'Border',
+insert_image_dimensions : 'Dimensions',
+insert_image_vspace : 'Vertical space',
+insert_image_hspace : 'Horizontal space',
+insert_image_align : 'Alignment',
+insert_image_align_default : '-- Not set --',
+insert_image_align_baseline : 'Baseline',
+insert_image_align_top : 'Top',
+insert_image_align_middle : 'Middle',
+insert_image_align_bottom : 'Bottom',
+insert_image_align_texttop : 'TextTop',
+insert_image_align_absmiddle : 'Absolute Middle',
+insert_image_align_absbottom : 'Absolute Bottom',
+insert_image_align_left : 'Left',
+insert_image_align_right : 'Right',
+theme_font_size : '-- Font size --',
+theme_fontdefault : '-- Font family --',
+theme_block : '-- Format --',
+theme_paragraph : 'Paragraph',
+theme_div : 'Div',
+theme_address : 'Address',
+theme_pre : 'Preformatted',
+theme_h1 : 'Heading 1',
+theme_h2 : 'Heading 2',
+theme_h3 : 'Heading 3',
+theme_h4 : 'Heading 4',
+theme_h5 : 'Heading 5',
+theme_h6 : 'Heading 6',
+theme_colorpicker_title : 'Select a color',
+theme_colorpicker_apply : 'Apply',
+theme_forecolor_desc : 'Select text color',
+theme_backcolor_desc : 'Select background color',
+theme_charmap_title : 'Select custom character',
+theme_charmap_desc : 'Insert custom character',
+theme_visualaid_desc : 'Toggle guidelines/invisible elements',
+insert_anchor_title : 'Insert/edit anchor',
+insert_anchor_name : 'Anchor name',
+theme_anchor_desc : 'Insert/edit anchor',
+theme_insert_link_titlefield : 'Title',
+theme_clipboard_msg : 'Copy/Cut/Paste is not available in Mozilla and Firefox.\nDo you want more information about this issue?',
+theme_path : 'Path',
+cut_desc : 'Cut',
+copy_desc : 'Copy',
+paste_desc : 'Paste',
+link_list : 'Link list',
+image_list : 'Image list',
+browse : 'Browse',
+image_props_desc : 'Image properties',
+newdocument_desc : 'New document',
+class_name : 'Class',
+newdocument : 'Are you sure you want clear all contents?',
+about_title : 'About TinyMCE',
+about : 'About',
+license : 'License',
+plugins : 'Plugins',
+plugin : 'Plugin',
+author : 'Author',
+version : 'Version',
+loaded_plugins : 'Loaded plugins',
+help : 'Help',
+not_set : '-- Not set --',
+close : 'Close'
+});
diff --git a/webcit/tiny_mce/themes/advanced/langs/es.js b/webcit/tiny_mce/themes/advanced/langs/es.js
new file mode 100644 (file)
index 0000000..a618550
--- /dev/null
@@ -0,0 +1,64 @@
+// ES lang variables by Alvaro Velasco
+
+tinyMCE.addToLang('',{
+theme_style_select : 'Estilos',
+theme_code_desc : 'Editar codigo HTML',
+theme_code_title : 'Editor codigo HTML',
+theme_code_wordwrap : 'Word wrap',
+theme_sub_desc : 'Subindice',
+theme_sup_desc : 'Superindice',
+theme_hr_desc : 'Insertar un separador horizontal',
+theme_removeformat_desc : 'Quitar formato',
+theme_custom1_desc : 'Tu descricion',
+insert_image_border : 'Borde',
+insert_image_dimensions : 'Dimensiones',
+insert_image_vspace : 'Espacio vertical',
+insert_image_hspace : 'Espacio horizontal',
+insert_image_align : 'Alineamiento',
+insert_image_align_default : 'Por defecto',
+insert_image_align_baseline : 'Baseline',
+insert_image_align_top : 'Superior',
+insert_image_align_middle : 'Centro',
+insert_image_align_bottom : 'Inferior',
+insert_image_align_texttop : 'Alinear texto arriba',
+insert_image_align_absmiddle : 'Centrado horizontal',
+insert_image_align_absbottom : 'Centrado abajo',
+insert_image_align_left : 'Izquierda',
+insert_image_align_right : 'Derecha',
+insert_image_delta_height'] = 10;
+theme_font_size : '-- Font size --',
+theme_fontdefault : '-- Font family --',
+theme_block : '-- Format --',
+theme_paragraph : 'Paragraph',
+theme_div : 'Div',
+theme_address : 'Address',
+theme_pre : 'Preformatted',
+theme_h1 : 'Heading 1',
+theme_h2 : 'Heading 2',
+theme_h3 : 'Heading 3',
+theme_h4 : 'Heading 4',
+theme_h5 : 'Heading 5',
+theme_h6 : 'Heading 6',
+theme_colorpicker_title : 'Select a color',
+theme_colorpicker_apply : 'Apply',
+theme_forecolor_desc : 'Select forecolor',
+theme_backcolor_desc : 'Select background color',
+theme_charmap_title : 'Select custom character',
+theme_charmap_desc : 'Insert custom character',
+theme_visualaid_desc : 'Toggle guidelines/invisible elements',
+insert_anchor_title : 'Insert/edit anchor',
+insert_anchor_name : 'Anchor name',
+theme_anchor_desc : 'Insert/edit anchor',
+theme_insert_link_titlefield : 'Title',
+theme_clipboard_msg : 'Copy/Cut/Paste is not available in Mozilla and Firefox.\nDo you want more information about this issue?',
+theme_path : 'Path',
+cut_desc : 'Cut',
+copy_desc : 'Copy',
+paste_desc : 'Paste',
+link_list : 'Link list',
+image_list : 'Image list',
+browse : 'Browse',
+image_props_desc : 'Image properties',
+newdocument_desc : 'New document',
+newdocument : 'Are you sure you want clear all contents?'
+});
diff --git a/webcit/tiny_mce/themes/advanced/langs/fa.js b/webcit/tiny_mce/themes/advanced/langs/fa.js
new file mode 100644 (file)
index 0000000..9982791
--- /dev/null
@@ -0,0 +1,65 @@
+// IR lang variables
+// Persian (Farsi) language pack (for IRAN)
+// By: Morteza Zafari
+// Lost@LostLord.com
+// http://www.LostLord.com
+
+tinyMCE.addToLang('',{
+dir : 'rtl',
+theme_style_select : '????',
+theme_code_desc : '?????? ????',
+theme_code_title : 'HTML ???????? ????',
+theme_code_wordwrap : '?? ???',
+theme_sub_desc : '??? ????',
+theme_sup_desc : '???? ????',
+theme_hr_desc : '??? ?? ????',
+theme_removeformat_desc : '??? ?? ??? ???? ????',
+theme_custom1_desc : 'Your custom description here',
+insert_image_border : '?????',
+insert_image_dimensions : '?????',
+insert_image_vspace : '????? ?????',
+insert_image_hspace : '????? ????',
+insert_image_align : '??? ????????',
+insert_image_align_default : '??? ???',
+insert_image_align_baseline : '?? ????',
+insert_image_align_top : '????',
+insert_image_align_middle : '???',
+insert_image_align_bottom : '?????',
+insert_image_align_texttop : '????? ???',
+insert_image_align_absmiddle : '??? ????',
+insert_image_align_absbottom : '????? ????',
+insert_image_align_left : '??',
+insert_image_align_right : '????',
+theme_font_size : '-- Font size --',
+theme_fontdefault : '-- Font family --',
+theme_block : '-- Format --',
+theme_paragraph : '????????',
+theme_div : 'Div',
+theme_address : '????',
+theme_pre : '?? ??? ????? ???',
+theme_h1 : '???? 1',
+theme_h2 : '???? 2',
+theme_h3 : '???? 3',
+theme_h4 : '???? 4',
+theme_h5 : '???? 5',
+theme_h6 : '???? 6',
+theme_colorpicker_title : '??? ?? ?????? ????',
+theme_colorpicker_apply : '?????',
+theme_forecolor_desc : '?????? ??? ???',
+theme_backcolor_desc : '?????? ??? ?????',
+theme_charmap_title : '?????? ??????? ????',
+theme_charmap_desc : '??? ??????? ????',
+theme_visualaid_desc : '????? ???? ???? ? ????? ??????',
+insert_anchor_title : '??? ? ?????? Anchor',
+insert_anchor_name : '??? Anchor',
+theme_anchor_desc : '??? ? ?????? Anchor',
+theme_insert_link_titlefield : '?????',
+theme_clipboard_msg : 'Copy/Cut/Paste is not available in Mozilla and Firefox.\nDo you want more information about this issue?',
+theme_path : '????',
+cut_desc : 'Cut',
+copy_desc : 'Copy',
+paste_desc : 'Paste',
+image_props_desc : 'Image properties',
+newdocument_desc : 'New document',
+newdocument : 'Are you sure you want clear all contents?'
+});
diff --git a/webcit/tiny_mce/themes/advanced/langs/fi.js b/webcit/tiny_mce/themes/advanced/langs/fi.js
new file mode 100644 (file)
index 0000000..00a004c
--- /dev/null
@@ -0,0 +1,63 @@
+// FI lang variables by Urho Konttori from Absolutions
+
+tinyMCE.addToLang('',{
+theme_style_select : 'Tyylit',
+theme_code_desc : 'Muokkaa HTML l&auml;hdekoodia',
+theme_code_title : 'HTML L&auml;hdekoodin muokkaus',
+theme_code_wordwrap : 'Word wrap',
+theme_sub_desc : 'Alam&auml;&auml;re',
+theme_sup_desc : 'Yl&auml;m&auml;&auml;re',
+theme_hr_desc : 'Lis&auml;&auml; vaakaviiva',
+theme_removeformat_desc : 'Poista muotoilu',
+theme_custom1_desc : 'Kirjoita oma selityksesi t&auml;h&auml;n',
+insert_image_border : 'Reuna',
+insert_image_dimensions : 'Mitat',
+insert_image_vspace : 'Pystyv&auml;li',
+insert_image_hspace : 'Vaakav&auml;li',
+insert_image_align : 'Asettelu',
+insert_image_align_default : 'Oletus',
+insert_image_align_baseline : 'Perustasoon',
+insert_image_align_top : 'Yl&auml;laitaan',
+insert_image_align_middle : 'Keskelle',
+insert_image_align_bottom : 'Alalaitaan',
+insert_image_align_texttop : 'Tekstin yl&auml;laitaan',
+insert_image_align_absmiddle : 'Absoluuttisen keskelle',
+insert_image_align_absbottom : 'Absoluuttisen alas',
+insert_image_align_left : 'Vasemmalle',
+insert_image_align_right : 'Oikealle',
+theme_font_size : '-- Font size --',
+theme_fontdefault : '-- Font family --',
+theme_block : '-- Format --',
+theme_paragraph : 'Kappale',
+theme_div : 'Div',
+theme_address : 'Osoite',
+theme_pre : 'Etuk&auml;teen muotoiltu',
+theme_h1 : 'Otsikko 1',
+theme_h2 : 'Otsikko 2',
+theme_h3 : 'Otsikko 3',
+theme_h4 : 'Otsikko 4',
+theme_h5 : 'Otsikko 5',
+theme_h6 : 'Otsikko 6',
+theme_colorpicker_title : 'Valitse v&auml;ri',
+theme_colorpicker_apply : 'Aseta v&auml;ri',
+theme_forecolor_desc : 'Valitse etuv&auml;ri',
+theme_backcolor_desc : 'Select background color',
+theme_charmap_title : 'Select custom character',
+theme_charmap_desc : 'Insert custom character',
+theme_visualaid_desc : 'Toggle guidelines/invisible elements',
+insert_anchor_title : 'Insert/edit anchor',
+insert_anchor_name : 'Anchor name',
+theme_anchor_desc : 'Insert/edit anchor',
+theme_insert_link_titlefield : 'Title',
+theme_clipboard_msg : 'Copy/Cut/Paste is not available in Mozilla and Firefox.\nDo you want more information about this issue?',
+theme_path : 'Path',
+cut_desc : 'Cut',
+copy_desc : 'Copy',
+paste_desc : 'Paste',
+link_list : 'Link list',
+image_list : 'Image list',
+browse : 'Browse',
+image_props_desc : 'Image properties',
+newdocument_desc : 'New document',
+newdocument : 'Are you sure you want clear all contents?'
+});
diff --git a/webcit/tiny_mce/themes/advanced/langs/fr.js b/webcit/tiny_mce/themes/advanced/langs/fr.js
new file mode 100644 (file)
index 0000000..30b8871
--- /dev/null
@@ -0,0 +1,65 @@
+// Canadian French lang variables by Virtuelcom
+// Modify by Laurent Dran 13-02-2006
+
+tinyMCE.addToLang('',{
+theme_style_select : 'Styles',
+theme_code_desc : 'Modifier le code source HTML',
+theme_code_title : '&Eacute;diteur de code source HTML',
+theme_code_wordwrap : 'Word wrap',
+theme_sub_desc : 'Souscrit',
+theme_sup_desc : 'Indice sup&eacute;rieur',
+theme_hr_desc : 'Ins&eacute;rer un s&eacute;parateur horizontal',
+theme_removeformat_desc : 'Supprimer le formattage',
+theme_custom1_desc : 'Votre description personnalis&eacute;e ici',
+insert_image_border : 'Bordure',
+insert_image_dimensions : 'Dimensions',
+insert_image_vspace : 'VSpace',
+insert_image_hspace : 'HSpace',
+insert_image_align : 'Alignement',
+insert_image_align_default : 'D&eacute;faut',
+insert_image_align_baseline : 'Baseline',
+insert_image_align_top : 'Haut',
+insert_image_align_middle : 'Milieu',
+insert_image_align_bottom : 'Bas',
+insert_image_align_texttop : 'TextTop',
+insert_image_align_absmiddle : 'Milieu absolu',
+insert_image_align_absbottom : 'Bas absolu',
+insert_image_align_left : 'Gauche',
+insert_image_align_right : 'Droit',
+theme_font_size : '-- Font size --',
+theme_fontdefault : '-- Font family --',
+theme_block : '-- Format --',
+theme_paragraph : 'Paragraphe',
+theme_div : 'Div',
+theme_address : 'Addresse',
+theme_pre : 'Pr&eacute;formatt&eacute;',
+theme_h1 : 'Ent&ecirc;te 1',
+theme_h2 : 'Ent&ecirc;te 2',
+theme_h3 : 'Ent&ecirc;te 3',
+theme_h4 : 'Ent&ecirc;te 4',
+theme_h5 : 'Ent&ecirc;te 5',
+theme_h6 : 'Ent&ecirc;te 6',
+theme_colorpicker_title : 'Choisir une couleur',
+theme_colorpicker_apply : 'Appliquer',
+theme_forecolor_desc : 'Choisir la couleur d\'avant plan',
+theme_backcolor_desc : 'Choisir la couleur de fond',
+theme_charmap_title : 'S&eacute;lectionner un charact&egrave;re sp&eacute;cial',
+theme_charmap_desc : 'Ins&eacute;rer un charact&egrave;re sp&eacute;cial',
+theme_visualaid_desc : 'Active/D&eacute;sactive les lignes guides et les &eacute;l&eacute;ments invisibles',
+insert_anchor_title : 'Ins&eacute;rer/Modifier une ancre',
+insert_anchor_name : 'Nom de l\'ancre',
+theme_anchor_desc : 'Ins&eacute;rer/Modifier une ancre',
+theme_insert_link_titlefield : 'Titre',
+theme_clipboard_msg : 'Copier/Couper/Coller ne sont pas disponibles pour Mozilla et Firefox.\nVoulez vous plus d\'informations à ce sujet?',
+theme_path : 'Chemin',
+cut_desc : 'Couper',
+copy_desc : 'Copier',
+paste_desc : 'Coller',
+link_list : 'Lien de la liste',
+image_list : 'Image de la liste',
+browse : 'Naviguer',
+image_props_desc : 'Image properties',
+newdocument_desc : 'New document',
+class_name : 'Classe CSS',
+newdocument : 'Are you sure you want clear all contents?'
+});
diff --git a/webcit/tiny_mce/themes/advanced/langs/fr_ca.js b/webcit/tiny_mce/themes/advanced/langs/fr_ca.js
new file mode 100644 (file)
index 0000000..52a155c
--- /dev/null
@@ -0,0 +1,64 @@
+// Canadian French lang variables by Virtuelcom   last modification: 2005-06-15
+
+tinyMCE.addToLang('',{
+theme_style_select : '-- Styles --',
+theme_code_desc : 'Modifier le code source HTML',
+theme_code_title : 'Éditeur de code source HTML',
+theme_code_wordwrap : 'Word wrap',
+theme_sub_desc : 'Souscrit',
+theme_sup_desc : 'Indice supérieur',
+theme_hr_desc : 'Insérer un séparateur horizontal',
+theme_removeformat_desc : 'Supprimer le formattage',
+theme_custom1_desc : 'Votre description personnalisée ici',
+insert_image_border : 'Bordure',
+insert_image_dimensions : 'Dimensions',
+insert_image_vspace : 'VSpace',
+insert_image_hspace : 'HSpace',
+insert_image_align : 'Alignement',
+insert_image_align_default : 'Défaut',
+insert_image_align_baseline : 'Baseline',
+insert_image_align_top : 'Haut',
+insert_image_align_middle : 'Milieu',
+insert_image_align_bottom : 'Bas',
+insert_image_align_texttop : 'TextTop',
+insert_image_align_absmiddle : 'Milieu absolu',
+insert_image_align_absbottom : 'Bas absolu',
+insert_image_align_left : 'Gauche',
+insert_image_align_right : 'Droit',
+theme_font_size : 'Taille',
+theme_fontdefault : '-- Police --',
+theme_block : '-- Format --',
+theme_paragraph : 'Paragraphe',
+theme_div : 'Div',
+theme_address : 'Addresse',
+theme_pre : 'Préformatté',
+theme_h1 : 'Entête 1',
+theme_h2 : 'Entête 2',
+theme_h3 : 'Entête 3',
+theme_h4 : 'Entête 4',
+theme_h5 : 'Entête 5',
+theme_h6 : 'Entête 6',
+theme_colorpicker_title : 'Choisir une couleur',
+theme_colorpicker_apply : 'Appliquer',
+theme_forecolor_desc : 'Choisir la couleur d\'avant plan',
+theme_backcolor_desc : 'Choisir une couleur d\'arrière plan',
+theme_charmap_title : 'Sélectionner un charactère spécial',
+theme_charmap_desc : 'Insérer un charactère spécial',
+theme_visualaid_desc : 'Active/Désactive les lignes guides et les éléments invisibles',
+insert_anchor_title : 'Insérer/Modifier une ancre',
+insert_anchor_name : 'Nom de l\'ancre',
+theme_anchor_desc : 'Insérer / Modifier une ancre',
+theme_insert_link_titlefield : 'Titre',
+theme_clipboard_msg : 'Copier/Couper/Coller ne sont pas disponibles dans Mozilla et FireFox.\nDésirez-vous consulter de plus amples informations à ce sujet?',
+theme_path : 'Chemin',
+cut_desc : 'Couper',
+copy_desc : 'Copier',
+paste_desc : 'Coller',
+link_list : 'Liste de liens',
+image_list : 'Liste d\'images',
+browse : 'Sélectionner',
+image_props_desc : 'Propriétés de l\'image',
+newdocument_desc : 'Nouveau Document',
+class_name : 'Classe',
+newdocument : 'Are you sure you want clear all contents?'
+});
diff --git a/webcit/tiny_mce/themes/advanced/langs/he.js b/webcit/tiny_mce/themes/advanced/langs/he.js
new file mode 100644 (file)
index 0000000..5306a30
--- /dev/null
@@ -0,0 +1,64 @@
+// HE lang variables by Liron Newman, http://eesh.net
+
+tinyMCE.addToLang('',{
+theme_style_select : '-- ñéâð&aring;ð&aring;ú --',
+theme_code_desc : 'òø&aring;ê àú ÷&aring;ã &auml;-HTML',
+theme_code_title : 'ò&aring;øê ÷&aring;ã HTML',
+theme_code_wordwrap : 'âìéùú ù&aring;ø&aring;ú',
+theme_sub_desc : 'ëúá úçúé',
+theme_sup_desc : 'ëúá òéìé',
+theme_hr_desc : '&auml;ëðñ ÷&aring; à&aring;ô÷é',
+theme_removeformat_desc : '&auml;ñø òé&ouml;&aring;á',
+theme_custom1_desc : '&auml;úéà&aring;ø ùìê ëàï',
+insert_image_border : 'âá&aring;ì',
+insert_image_dimensions : 'îéîãéí',
+insert_image_vspace : 'çìì àðëé',
+insert_image_hspace : 'çìì à&aring;ô÷é',
+insert_image_align : 'ééù&aring;ø',
+insert_image_align_default : 'áøéøú îçãì',
+insert_image_align_baseline : 'ì÷&aring; &auml;áñéñ',
+insert_image_align_top : 'ìîòì&auml;',
+insert_image_align_middle : 'ìàî&ouml;ò',
+insert_image_align_bottom : 'ìîè&auml;',
+insert_image_align_texttop : 'ìøàù &auml;è÷ñè',
+insert_image_align_absmiddle : 'ìàî&ouml;ò î&aring;çìè',
+insert_image_align_absbottom : 'ì÷&ouml;&auml; úçú&aring;ï î&aring;çìè',
+insert_image_align_left : 'ìùîàì',
+insert_image_align_right : 'ìéîéï',
+theme_font_size : 'â&aring;ãì â&aring;ôï',
+theme_fontdefault : '-- îùôçú â&aring;ôðéí --',
+theme_block : '-- òé&ouml;&aring;á --',
+theme_paragraph : 'ôñ÷&auml;',
+theme_div : '÷èò',
+theme_address : 'ëú&aring;áú',
+theme_pre : 'îò&aring;&ouml;á îøàù',
+theme_h1 : 'ë&aring;úøú 1',
+theme_h2 : 'ë&aring;úøú 2',
+theme_h3 : 'ë&aring;úøú 3',
+theme_h4 : 'ë&aring;úøú 4',
+theme_h5 : 'ë&aring;úøú 5',
+theme_h6 : 'ë&aring;úøú 6',
+theme_colorpicker_title : 'áçø &ouml;áò',
+theme_colorpicker_apply : '&auml;çì',
+theme_forecolor_desc : 'áçø &ouml;áò è÷ñè',
+theme_backcolor_desc : 'áçø &ouml;áò ø÷ò',
+theme_charmap_title : 'áçø ú&aring; îé&aring;çã',
+theme_charmap_desc : '&auml;ëðñ ú&aring; îé&aring;çã',
+theme_visualaid_desc : '&auml;çìó î&ouml;á ÷&aring;&aring;éí îðçéí/øëéáéí áìúé-ðøàéí',
+insert_anchor_title : '&auml;ëðñ/òø&aring;ê ò&aring;âï',
+insert_anchor_name : 'ùí &auml;ò&aring;âï',
+theme_anchor_desc : '&auml;ëðñ/òø&aring;ê ò&aring;âï',
+theme_insert_link_titlefield : 'ë&aring;úøú',
+theme_clipboard_msg : 'ôò&aring;ì&aring;ú &auml;òú÷&auml;/âæéø&auml;/&auml;ãá÷&auml; àéðï ðúîë&aring;ú úçú Mozilla &aring;-Firefox.\n&auml;àí áø&ouml;&aring;ðê ì÷áì îéãò ð&aring;ñó à&aring;ã&aring;ú ð&aring;ùà æ&auml;?',
+theme_path : 'ðúéá',
+cut_desc : 'âæ&aring;ø',
+copy_desc : '&auml;òú÷',
+paste_desc : '&auml;ãá÷',
+link_list : 'øùéîú ÷éù&aring;øéí',
+image_list : 'øùéîú úî&aring;ð&aring;ú',
+browse : 'ñééø',
+image_props_desc : 'îàôééðé úî&aring;ð&auml;',
+newdocument_desc : 'îñîê çãù',
+class_name : 'îçì÷&auml;',
+newdocument : '&auml;àí àú&auml; áè&aring;ç ùáø&ouml;&aring;ðê ìð÷&aring;ú àú ëì &auml;ú&aring;ëï?'
+});
diff --git a/webcit/tiny_mce/themes/advanced/langs/hu.js b/webcit/tiny_mce/themes/advanced/langs/hu.js
new file mode 100644 (file)
index 0000000..c360e7f
--- /dev/null
@@ -0,0 +1,64 @@
+// HU lang variables
+// Edited by 2XP (2xp@dino.hu)
+
+tinyMCE.addToLang('',{
+theme_style_select : 'St&#237;lusok',
+theme_code_desc : 'HTML k&#243;d szerkeszt&#233;se',
+theme_code_title : 'HTML k&#243;dszerkezt&#245;',
+theme_code_wordwrap : 'Word wrap',
+theme_sub_desc : 'Als&#243; index',
+theme_sup_desc : 'Fels&#245; index',
+theme_hr_desc : 'V&#237;zszintes vonal beilleszt&#233;se',
+theme_removeformat_desc : 'Form&#225;z&#225;s elt&#225;vol&#237;t&#225;sa',
+theme_custom1_desc : 'Az &#214;n &#225;ltal kiv&#225;lasztott le&#237;r&#225;s',
+insert_image_border : 'Keret',
+insert_image_dimensions : 'M&#233;retek',
+insert_image_vspace : 'F&#252;gg&#245;leges t&#233;rk&#246;z',
+insert_image_hspace : 'V&#237;zszintes t&#233;rk&#246;z',
+insert_image_align : 'Igaz&#237;t&#233;s',
+insert_image_align_default : 'Alap&#233;rtelmezett',
+insert_image_align_baseline : 'Alapvonalra',
+insert_image_align_top : 'Fel&#252;lre',
+insert_image_align_middle : 'K&#246;z&#233;pre',
+insert_image_align_bottom : 'Alulra',
+insert_image_align_texttop : 'TextTop',
+insert_image_align_absmiddle : 'Abszol&#250;t k&#246;z&#233;pre',
+insert_image_align_absbottom : 'Abszol&#250;t alulra',
+insert_image_align_left : 'Balra',
+insert_image_align_right : 'Jobbra',
+theme_font_size : '-- Font size --',
+theme_fontdefault : '-- Font family --',
+theme_block : '-- Format --',
+theme_paragraph : 'Paragraph',
+theme_div : 'Div',
+theme_address : 'Address',
+theme_pre : 'Preformatted',
+theme_h1 : 'Heading 1',
+theme_h2 : 'Heading 2',
+theme_h3 : 'Heading 3',
+theme_h4 : 'Heading 4',
+theme_h5 : 'Heading 5',
+theme_h6 : 'Heading 6',
+theme_colorpicker_title : 'Select a color',
+theme_colorpicker_apply : 'Apply',
+theme_forecolor_desc : 'Select forecolor',
+theme_backcolor_desc : 'Select background color',
+theme_charmap_title : 'Select custom character',
+theme_charmap_desc : 'Insert custom character',
+theme_visualaid_desc : 'Toggle guidelines/invisible elements',
+insert_anchor_title : 'Insert/edit anchor',
+insert_anchor_name : 'Anchor name',
+theme_anchor_desc : 'Insert/edit anchor',
+theme_insert_link_titlefield : 'Title',
+theme_clipboard_msg : 'Copy/Cut/Paste is not available in Mozilla and Firefox.\nDo you want more information about this issue?',
+theme_path : 'Path',
+cut_desc : 'Cut',
+copy_desc : 'Copy',
+paste_desc : 'Paste',
+link_list : 'Link list',
+image_list : 'Image list',
+browse : 'Browse',
+image_props_desc : 'Image properties',
+newdocument_desc : 'New document',
+newdocument : 'Are you sure you want clear all contents?'
+});
diff --git a/webcit/tiny_mce/themes/advanced/langs/it.js b/webcit/tiny_mce/themes/advanced/langs/it.js
new file mode 100644 (file)
index 0000000..8bce341
--- /dev/null
@@ -0,0 +1,64 @@
+// Variabili di lingua IT - fabrix.xm@lombardiacom.it
+
+tinyMCE.addToLang('',{
+theme_style_select : 'Stili',
+theme_code_desc : 'Edita il sorgente HTML',
+theme_code_title : 'Editor Sorgente HTML',
+theme_code_wordwrap : 'Word wrap',
+theme_sub_desc : 'Pedice',
+theme_sup_desc : 'Apice',
+theme_hr_desc : 'Inserisce linea orizzontale',
+theme_removeformat_desc : 'Rimuovi formattazione',
+theme_custom1_desc : 'Scrivi qui la tua descrizione personalizzata',
+insert_image_border : 'Bordo',
+insert_image_dimensions : 'Dimensioni',
+insert_image_vspace : 'Spazio verticale',
+insert_image_hspace : 'Spazio orizzontale',
+insert_image_align : 'Allineamento',
+insert_image_align_default : 'Default',
+insert_image_align_baseline : 'Baseline',
+insert_image_align_top : 'Superiore',
+insert_image_align_middle : 'Centrale',
+insert_image_align_bottom : 'Inferiore',
+insert_image_align_texttop : 'TextTop',
+insert_image_align_absmiddle : 'Centro assoluto',
+insert_image_align_absbottom : 'Inferiore assoluto',
+insert_image_align_left : 'Sinistra',
+insert_image_align_right : 'Destra',
+theme_font_size : '-- Font size --',
+theme_fontdefault : '-- Font family --',
+theme_block : '-- Format --',
+theme_paragraph : 'Paragrafo',
+theme_div : 'Div',
+theme_address : 'Indirizzo',
+theme_pre : 'Preformattato',
+theme_h1 : 'Intestazione 1',
+theme_h2 : 'Intestazione 2',
+theme_h3 : 'Intestazione 3',
+theme_h4 : 'Intestazione 4',
+theme_h5 : 'Intestazione 5',
+theme_h6 : 'Intestazione 6',
+theme_colorpicker_title : 'Seleziona un colore',
+theme_colorpicker_apply : 'Appplica',
+theme_forecolor_desc : 'Seleziona il colore',
+theme_backcolor_desc : 'Select background color',
+theme_charmap_title : 'Seleziona un carattere custom',
+theme_charmap_desc : 'Inserisci un carattere custom',
+theme_visualaid_desc : 'Mostra/nascondi linee guida e elementi invisibili',
+insert_anchor_title : 'Inserisci/modifica &agrave;ncora',
+insert_anchor_name : 'Nome &agrave;ncora',
+theme_anchor_desc : 'Inserisci/modifica &agrave;ncora',
+theme_insert_link_titlefield : 'Titolo',
+theme_clipboard_msg : 'Copy/Cut/Paste is not available in Mozilla and Firefox.\nDo you want more information about this issue?',
+theme_path : 'Path',
+cut_desc : 'Cut',
+copy_desc : 'Copy',
+paste_desc : 'Paste',
+link_list : 'Link list',
+image_list : 'Image list',
+browse : 'Browse',
+image_props_desc : 'Image properties',
+newdocument_desc : 'New document',
+class_name : 'Classe', 
+newdocument : 'Are you sure you want clear all contents?'
+});
diff --git a/webcit/tiny_mce/themes/advanced/langs/ja.js b/webcit/tiny_mce/themes/advanced/langs/ja.js
new file mode 100644 (file)
index 0000000..2d0d349
--- /dev/null
@@ -0,0 +1,62 @@
+// JP lang variables
+
+tinyMCE.addToLang('',{
+theme_style_select : '\e$B%9%?%$%k\e(B',
+theme_paragraph : '\e$BJ8L.\e(B',
+theme_address : '\e$B%"%I%l%9\e(B',
+theme_pre : '\e$B@07A:Q$_\e(B',
+theme_h1 : 'H1',
+theme_h2 : 'H2',
+theme_h3 : 'H3',
+theme_h4 : 'H4',
+theme_h5 : 'H5',
+theme_h6 : 'H6',
+theme_div : 'Div',
+insert_anchor_title : '\e$B%"%s%+!<$NA^F~\e(B/\e$BJT=8\e(B',
+insert_anchor_name : '\e$B%"%s%+!<$NL>A0\e(B',
+theme_anchor_desc : '\e$B%"%s%+!<$NA^F~\e(B/\e$BJT=8\e(B',
+theme_code_desc : 'HTML\e$B$ND>@\JT=8\e(B',
+theme_code_title : 'HTML\e$B$NJT=8\e(B',
+theme_code_wordwrap : 'Word wrap',
+theme_hr_desc : '\e$B?eJ?@~\e(B',
+theme_removeformat_desc : '\e$B@07A>pJs:o=|\e(B',
+theme_visualaid_desc : '\e$BJd=u>pJs$N;k3P2=\e(B(\e$B%H%0%k\e(B)',
+theme_sub_desc : '\e$BE:;z2<\e(B',
+theme_sup_desc : '\e$BE:;z>e\e(B',
+theme_charmap_desc : '\e$BFC<lJ8;z$NF~NO\e(B',
+theme_charmap_title : '\e$BFC<lJ8;z$rA*Br$7$F2<$5$$\e(B',
+insert_image_dimensions : '\e$BBg$-$5;XDj\e(B',
+insert_image_border : '\e$B6-3&I}\e(B',
+insert_image_vspace : '\e$B=DM>Gr\e(B',
+insert_image_hspace : '\e$B2#M>Gr\e(B',
+insert_image_align : '\e$B0LCV9g$o$;\e(B',
+insert_image_align_default : '\e$B0EL[\e(B',
+insert_image_align_baseline : '\e$B4p=`@~\e(B',
+insert_image_align_top : '\e$B>e\e(B',
+insert_image_align_middle : '\e$BCf\e(B',
+insert_image_align_bottom : '\e$B2<\e(B',
+insert_image_align_texttop : '\e$BJ8;z$N>e\e(B',
+insert_image_align_absmiddle : '\e$B@dBP$KCf\e(B',
+insert_image_align_absbottom : '\e$B@dBP$K2<\e(B',
+insert_image_align_left : '\e$B:8\e(B',
+insert_image_align_right : '\e$B1&\e(B',
+theme_font_size : '-- Font size --',
+theme_fontdefault : '-- Font family --',
+theme_block : '-- Format --',
+theme_colorpicker_title : '\e$B?\'$N;XDj\e(B',
+theme_colorpicker_apply : '\e$BE,MQ\e(B',
+theme_forecolor_desc : '\e$BA07J?\'\e(B',
+theme_backcolor_desc : 'Select background color',
+theme_clipboard_msg : 'Copy/Cut/Paste is not available in Mozilla and Firefox.\nDo you want more information about this issue?',
+theme_path : 'Path',
+cut_desc : 'Cut',
+copy_desc : 'Copy',
+paste_desc : 'Paste',
+link_list : 'Link list',
+image_list : 'Image list',
+browse : 'Browse',
+image_props_desc : 'Image properties',
+newdocument_desc : 'New document',
+class_name : '\e$B%/%i%9\e(B',
+newdocument : 'Are you sure you want clear all contents?'
+});
diff --git a/webcit/tiny_mce/themes/advanced/langs/ko.js b/webcit/tiny_mce/themes/advanced/langs/ko.js
new file mode 100644 (file)
index 0000000..fc48ea1
--- /dev/null
@@ -0,0 +1,65 @@
+// KO lang variables
+
+tinyMCE.addToLang('',{
+theme_style_select : '½º&Aring;¸ÀÏ',
+theme_code_desc : 'HTML ¼Ò½º °í&Auml;¡±â',
+theme_code_title : 'HTML ¼Ò½º ÆíÁý±â',
+theme_code_wordwrap : 'Word wrap',
+theme_code_save : 'ÀúÀ&aring;',
+theme_sub_desc : '¾Æ·¡Ã·ÀÚ',
+theme_sup_desc : 'À§Ã·ÀÚ',
+theme_hr_desc : '°¡·ÎÁÙ ³&Ouml;±â',
+theme_removeformat_desc : '¼Ó¼º Á&ouml;¿ì±â',
+theme_custom1_desc : 'Your custom description here',
+insert_image_border : '&Aring;׵θ®',
+insert_image_dimensions : '&Aring;©±â',
+insert_image_vspace : '¼¼·Î ¿©¹é',
+insert_image_hspace : '°¡·Î ¿©¹é',
+insert_image_align : 'Á¤·&Auml;',
+insert_image_align_default : '±âº»°ª',
+insert_image_align_baseline : 'Baseline',
+insert_image_align_top : 'Top',
+insert_image_align_middle : 'Middle',
+insert_image_align_bottom : 'Bottom',
+insert_image_align_texttop : 'TextTop',
+insert_image_align_absmiddle : 'Absolute Middle',
+insert_image_align_absbottom : 'Absolute Bottom',
+insert_image_align_left : 'Left',
+insert_image_align_right : 'Right',
+theme_font_size : '-- Font size --',
+theme_fontdefault : '-- Font family --',
+theme_block : '-- Format --',
+theme_paragraph : '´Ü¶ô',
+theme_div : 'Div',
+theme_address : 'Á&Ouml;¼Ò',
+theme_pre : '¼­½&Auml; À&Ouml;À½',
+theme_h1 : 'Á¦¸ñ 1',
+theme_h2 : 'Á¦¸ñ 2',
+theme_h3 : 'Á¦¸ñ 3',
+theme_h4 : 'Á¦¸ñ 4',
+theme_h5 : 'Á¦¸ñ 5',
+theme_h6 : 'Á¦¸ñ 6',
+theme_colorpicker_title : '»&ouml;»ó ¼±&Aring;Ã',
+theme_colorpicker_apply : 'Àû¿ë',
+theme_forecolor_desc : '±ÛÀÚ »&ouml;»ó',
+theme_backcolor_desc : 'Select background color',
+theme_charmap_title : 'Select custom character',
+theme_charmap_desc : 'Insert custom character',
+theme_visualaid_desc : 'Toggle guidelines/invisible elements',
+insert_anchor_title : '¾Þ&Auml;¿ ³&Ouml;±â/°í&Auml;¡±â',
+insert_anchor_name : '¾Þ&Auml;¿ À̸§',
+theme_anchor_desc : '¾Þ&Auml;¿ ³&Ouml;±â/°í&Auml;¡±â',
+theme_insert_link_titlefield : 'Á¦¸ñ',
+theme_clipboard_msg : 'Copy/Cut/Paste is not available in Mozilla and Firefox.\nDo you want more information about this issue?',
+theme_path : 'Path',
+cut_desc : 'Cut',
+copy_desc : 'Copy',
+paste_desc : 'Paste',
+link_list : 'Link list',
+image_list : 'Image list',
+browse : 'Browse',
+image_props_desc : 'Image properties',
+newdocument_desc : 'New document',
+class_name : '&Aring;¬·¡½º',
+newdocument : 'Are you sure you want clear all contents?'
+});
diff --git a/webcit/tiny_mce/themes/advanced/langs/nl.js b/webcit/tiny_mce/themes/advanced/langs/nl.js
new file mode 100644 (file)
index 0000000..7cba9b5
--- /dev/null
@@ -0,0 +1,66 @@
+// NL lang variables
+
+tinyMCE.addToLang('',{
+theme_style_select : 'Stijlen',
+theme_code_desc : 'Toon/bewerk HTML broncode',
+theme_code_title : 'HTML broncode editor',
+theme_code_wordwrap : 'Word wrap',
+theme_sub_desc : 'Subscript',
+theme_sup_desc : 'Superscript',
+theme_hr_desc : 'Invoegen horizontale lijn',
+theme_removeformat_desc : 'Verwijder opmaak',
+theme_custom1_desc : 'Uw eigen omschrijving hier',
+insert_image_border : 'Omranding (pixels)',
+insert_image_dimensions : 'Afmetingen (Leeg: Originele afm.)',
+insert_image_vspace : 'Verticale marge (pixels)',
+insert_image_hspace : 'Horizontale marge (pixels)',
+insert_image_align : 'Uitlijning',
+insert_image_align_default : 'Standaard',
+insert_image_align_baseline : 'Basislijn',
+insert_image_align_top : 'Boven',
+insert_image_align_middle : 'Midden',
+insert_image_align_bottom : 'Onder',
+insert_image_align_texttop : 'TextTop',
+insert_image_align_absmiddle : 'Absoluut Midden',
+insert_image_align_absbottom : 'Absoluut Onder',
+insert_image_align_left : 'Links',
+insert_image_align_right : 'Rechts',
+insert_image_delta_height'] = 0;
+theme_font_size : '-- Font size --',
+theme_fontdefault : '-- Font family --',
+theme_block : '-- Format --',
+theme_paragraph : 'Paragraaf',
+theme_div : 'Div',
+theme_address : 'Adres',
+theme_pre : 'voorgeformatteerd',
+theme_h1 : 'Titel 1',
+theme_h2 : 'Titel 2',
+theme_h3 : 'Titel 3',
+theme_h4 : 'Titel 4',
+theme_h5 : 'Titel 5',
+theme_h6 : 'Titel 6',
+theme_colorpicker_title : 'Kies een kleur',
+theme_colorpicker_apply : 'Toepassen',
+theme_forecolor_desc : 'Selecteer voorgrondkleur',
+theme_backcolor_desc : 'Select background color',
+theme_charmap_title : 'Kies een bijzonder karakter',
+theme_charmap_desc : 'Voeg een bijzonder karakter in',
+theme_preview_desc : 'Toon de pagina in een nieuw venster',
+theme_visualaid_desc : 'Toon/verberg hulplijnen',
+insert_anchor_title : 'Anker toevoegen/wijzigen',
+insert_anchor_name : 'Anker naam',
+theme_anchor_desc : 'Anker toevoegen/wijzigen',
+theme_insert_link_titlefield : 'Titel',
+theme_clipboard_msg : 'Copy/Cut/Paste is not available in Mozilla and Firefox.\nDo you want more information about this issue?',
+theme_path : 'Path',
+cut_desc : 'Cut',
+copy_desc : 'Copy',
+paste_desc : 'Paste',
+link_list : 'Link list',
+image_list : 'Image list',
+browse : 'Browse',
+image_props_desc : 'Image properties',
+newdocument_desc : 'New document',
+class_name : 'CSS-Stijl',
+newdocument : 'Are you sure you want clear all contents?'
+});
diff --git a/webcit/tiny_mce/themes/advanced/langs/no.js b/webcit/tiny_mce/themes/advanced/langs/no.js
new file mode 100644 (file)
index 0000000..a377add
--- /dev/null
@@ -0,0 +1,66 @@
+// NO lang variables
+
+tinyMCE.addToLang('',{
+theme_style_select : 'Stiler',
+theme_code_desc : 'Redigere HTML Koden',
+theme_code_title : 'HTML Kildekode Redigering',
+theme_code_wordwrap : 'Word wrap',
+theme_code_save : 'Lagre',
+theme_sub_desc : 'Subscript',
+theme_sup_desc : 'Superscript',
+theme_hr_desc : 'Sett in horisontal linie',
+theme_removeformat_desc : 'Fjern formatering',
+theme_custom1_desc : 'Din spesialfunksjons beskriving her',
+insert_image_border : 'Ramme',
+insert_image_dimensions : 'Dimensjoner',
+insert_image_vspace : 'Vertikalt tomrom',
+insert_image_hspace : 'Horizontellt tomrom',
+insert_image_align : 'Justering',
+insert_image_align_default : 'Intet',
+insert_image_align_baseline : 'Buttenlinjen',
+insert_image_align_top : 'Lengst opp',
+insert_image_align_middle : 'Midten',
+insert_image_align_bottom : 'Lengst ned',
+insert_image_align_texttop : 'Tekstens top',
+insert_image_align_absmiddle : 'Absolutt midten',
+insert_image_align_absbottom : 'Absolutt lengst ned',
+insert_image_align_left : 'Venstre',
+insert_image_align_right : 'Høyre',
+insert_image_delta_width : '',
+theme_font_size : '-- Font size --',
+theme_fontdefault : '-- Font family --',
+theme_block : '-- Format --',
+theme_paragraph : 'Paragraf',
+theme_div : 'Div',
+theme_address : 'Addresse',
+theme_pre : 'Pre-formattert',
+theme_h1 : 'Overskrift 1',
+theme_h2 : 'Overskrift 2',
+theme_h3 : 'Overskrift 3',
+theme_h4 : 'Overskrift 4',
+theme_h5 : 'Overskrift 5',
+theme_h6 : 'Overskrift 6',
+theme_colorpicker_title : 'Velg en farge',
+theme_colorpicker_apply : 'Bruk',
+theme_forecolor_desc : 'Velg forgrunnsfarge',
+theme_backcolor_desc : 'Select background color',
+theme_charmap_title : 'Velg spesialtegn',
+theme_charmap_desc : 'Sett inn spesialtegn',
+theme_visualaid_desc : 'Sl&aring; av/p&aring; usynlige elementer',
+insert_anchor_title : 'Opprette/endre anker',
+insert_anchor_name : 'Ankernavn',
+theme_anchor_desc : 'Opprett/endre anker',
+theme_insert_link_titlefield : 'Tittel',
+theme_clipboard_msg : 'Copy/Cut/Paste is not available in Mozilla and Firefox.\nDo you want more information about this issue?',
+theme_path : 'Path',
+cut_desc : 'Cut',
+copy_desc : 'Copy',
+paste_desc : 'Paste',
+link_list : 'Link list',
+image_list : 'Image list',
+browse : 'Browse',
+image_props_desc : 'Image properties',
+newdocument_desc : 'New document',
+class_name : 'Stil',
+newdocument : 'Are you sure you want clear all contents?'
+});
diff --git a/webcit/tiny_mce/themes/advanced/langs/pl.js b/webcit/tiny_mce/themes/advanced/langs/pl.js
new file mode 100644 (file)
index 0000000..912cfca
--- /dev/null
@@ -0,0 +1,64 @@
+// UK lang variables
+
+tinyMCE.addToLang('',{
+theme_style_select : 'Styl',
+theme_code_desc : 'Edytuj zródlo html',
+theme_code_title : 'Edytor zródla html',
+theme_code_wordwrap : 'Zwijanie wierszy',
+theme_sub_desc : 'Nadpisywanie',
+theme_sup_desc : 'Podpisywanie',
+theme_hr_desc : 'Wstaw pozioma linie',
+theme_removeformat_desc : 'Usun formatowanie',
+theme_custom1_desc : 'Wstaw wlasny opis',
+insert_image_border : 'Ramka',
+insert_image_dimensions : 'Wymiary',
+insert_image_vspace : 'VSpace',
+insert_image_hspace : 'HSpace',
+insert_image_align : 'Otaczanie',
+insert_image_align_default : 'Domyslne',
+insert_image_align_baseline : 'Glówne',
+insert_image_align_top : 'Górne',
+insert_image_align_middle : 'Srodkowe',
+insert_image_align_bottom : 'Dolne',
+insert_image_align_texttop : 'Tekst powyzej',
+insert_image_align_absmiddle : 'Absolutny srodek',
+insert_image_align_absbottom : 'Absolutny dól',
+insert_image_align_left : 'Lewe',
+insert_image_align_right : 'Prawe',
+theme_font_size : '-- Font size --',
+theme_fontdefault : '-- Font family --',
+theme_block : '-- Format --',
+theme_paragraph : '-- Paragraf --',
+theme_div : 'Div',
+theme_address : 'Adres',
+theme_pre : 'Preformatowanie',
+theme_h1 : 'Naglówek 1',
+theme_h2 : 'Naglówek 2',
+theme_h3 : 'Naglówek 3',
+theme_h4 : 'Naglówek 4',
+theme_h5 : 'Naglówek 5',
+theme_h6 : 'Naglówek 6',
+theme_colorpicker_title : 'Wybierz kolor',
+theme_colorpicker_apply : 'Wybierz',
+theme_forecolor_desc : 'Wybierz kolor tekstu',
+theme_backcolor_desc : 'Wybierz kolor tla',
+theme_charmap_title : 'Wybierz znak',
+theme_charmap_desc : 'Wstaw znak',
+theme_visualaid_desc : 'Toggle guidelines/invisible elements',
+insert_anchor_title : 'Kotwica',
+insert_anchor_name : 'Nazwa kotwicy',
+theme_anchor_desc : 'Wstaw/Edytuj kotwice',
+theme_insert_link_titlefield : 'Tytul',
+theme_clipboard_msg : 'Kopiuj/Edytuj/Wklej nie jest dostepne w przegladarkach Mozilla and Firefox.\nPotrzebujesz wiecej informacji na ten temat?',
+theme_path : 'Sciezka',
+cut_desc : 'Wytnij',
+copy_desc : 'Kopiuj',
+paste_desc : 'Wklej',
+link_list : 'Lista linków',
+image_list : 'Lista obrazków',
+browse : 'Przegladaj',
+image_props_desc : 'Wlasciwosci obrazka',
+newdocument_desc : 'New document',
+class_name : 'Klasa',
+newdocument : 'Are you sure you want clear all contents?'
+});
diff --git a/webcit/tiny_mce/themes/advanced/langs/pt.js b/webcit/tiny_mce/themes/advanced/langs/pt.js
new file mode 100644 (file)
index 0000000..60778b8
--- /dev/null
@@ -0,0 +1,65 @@
+// PT lang variables
+
+tinyMCE.addToLang('',{
+theme_style_select : 'Estilos CSS',
+theme_code_desc : 'Editar Fonte HTML',
+theme_code_title : 'Editor de fonte HTML',
+theme_code_save : 'Guardar',
+theme_code_wordwrap : 'Translinear palavras',
+theme_sub_desc : 'Subscrito',
+theme_sup_desc : 'Superscrito',
+theme_hr_desc : 'Inserir linha horizontal',
+theme_removeformat_desc : 'Remover formatação',
+theme_custom1_desc : 'Descrição customizada aqui',
+insert_image_border : 'Borda',
+insert_image_dimensions : 'Dimensões',
+insert_image_vspace : 'Espaçamento Vert.',
+insert_image_hspace : 'Espaçamento Horiz.',
+insert_image_align : 'Alinhamento',
+insert_image_align_default : 'Por omissão',
+insert_image_align_baseline : 'Linha de base',
+insert_image_align_top : 'Topo',
+insert_image_align_middle : 'Centrado',
+insert_image_align_bottom : 'Fundo',
+insert_image_align_texttop : 'Topo do Texto',
+insert_image_align_absmiddle : 'Centrado absoluto',
+insert_image_align_absbottom : 'Fundo absoluto',
+insert_image_align_left : 'Esquerda',
+insert_image_align_right : 'Direita',
+theme_font_size : '-- Font size --',
+theme_fontdefault : '-- Font family --',
+theme_block : '-- Format --',
+theme_paragraph : 'Parágrafo',
+theme_div : 'Bloco HTML',
+theme_address : 'Morada',
+theme_pre : 'Pré formatado',
+theme_h1 : 'Título 1',
+theme_h2 : 'Título 2',
+theme_h3 : 'Título 3',
+theme_h4 : 'Título 4',
+theme_h5 : 'Título 5',
+theme_h6 : 'Título 6',
+theme_colorpicker_title : 'Seleccione uma côr',
+theme_colorpicker_apply : 'Aplicar',
+theme_forecolor_desc : 'Seleccione côr da frente',
+theme_backcolor_desc : 'Select background color',
+theme_charmap_title : 'Seleccione símbolo customizado',
+theme_charmap_desc : 'Inserir símbolo customizado',
+theme_visualaid_desc : 'Ligar/Desligar guias/elementos invisíveis',
+insert_anchor_title : 'Inserir/editar âncora',
+insert_anchor_name : 'Nome da âncora',
+theme_anchor_desc : 'Inserir/editar âncora',
+theme_insert_link_titlefield : 'Título',
+theme_clipboard_msg : 'Copiar/Cortar/Colar não está disponível em Mozilla e Firefox.\nPretende obter mais informação acerca deste assunto?',
+theme_path : 'Path',
+cut_desc : 'Cortar',
+copy_desc : 'Copiar',
+paste_desc : 'Colar',
+link_list : 'Link list',
+image_list : 'Image list',
+browse : 'Browse',
+image_props_desc : 'Image properties',
+newdocument_desc : 'New document',
+class_name : 'Classe de CSS',
+newdocument : 'Are you sure you want clear all contents?'
+});
diff --git a/webcit/tiny_mce/themes/advanced/langs/pt_br.js b/webcit/tiny_mce/themes/advanced/langs/pt_br.js
new file mode 100644 (file)
index 0000000..046ab0f
--- /dev/null
@@ -0,0 +1,64 @@
+// pt_BR lang variables
+
+tinyMCE.addToLang('',{
+theme_style_select : 'Estilos',
+theme_code_desc : 'Editar Código HTML',
+theme_code_title : 'Editor de Código HTML',
+theme_code_wordwrap : 'Quebrar Linhas',
+theme_sub_desc : 'Subscrito',
+theme_sup_desc : 'Subrescrito',
+theme_hr_desc : 'Inserir linha horizontal',
+theme_removeformat_desc : 'Remover formatação',
+theme_custom1_desc : 'Sua descrição personalizada aqui',
+insert_image_border : 'Borda',
+insert_image_dimensions : 'Dimensões',
+insert_image_vspace : 'Espaço Vertical',
+insert_image_hspace : 'Espaço Horizontal',
+insert_image_align : 'Alinhamento',
+insert_image_align_default : 'Padrão',
+insert_image_align_baseline : 'Linha base',
+insert_image_align_top : 'Topo',
+insert_image_align_middle : 'Centro',
+insert_image_align_bottom : 'Fundo',
+insert_image_align_texttop : 'Texto ao Topo',
+insert_image_align_absmiddle : 'Centro Absoluto',
+insert_image_align_absbottom : 'Fundo Absoluto',
+insert_image_align_left : 'Esquerda',
+insert_image_align_right : 'Direita',
+theme_font_size : '-- Font size --',
+theme_fontdefault : '-- Font family --',
+theme_block : '-- Format --',
+theme_paragraph : 'Parágrafo',
+theme_div : 'Div',
+theme_address : 'Endereço',
+theme_pre : 'Pré-formatado',
+theme_h1 : 'Cabeçalho 1',
+theme_h2 : 'Cabeçalho 2',
+theme_h3 : 'Cabeçalho 3',
+theme_h4 : 'Cabeçalho 4',
+theme_h5 : 'Cabeçalho 5',
+theme_h6 : 'Cabeçalho 6',
+theme_colorpicker_title : 'Selecionar cor',
+theme_colorpicker_apply : 'Aplicar',
+theme_forecolor_desc : 'Selecionar cor do texto',
+theme_backcolor_desc : 'Selecionar cor de fundo',
+theme_charmap_title : 'Selecionar caractere especial',
+theme_charmap_desc : 'Inserir caractere especial',
+theme_visualaid_desc : 'Tornar linhas visíveis/invisíveis',
+insert_anchor_title : 'Inserir/editar âncora',
+insert_anchor_name : 'Nome da âncora',
+theme_anchor_desc : 'Inserir/editar âncora',
+theme_insert_link_titlefield : 'Título',
+theme_clipboard_msg : 'Copiar/Recortar/Colar não é permitido no Mozilla e Firefox.\nQuer mais informações sobre isso?',
+theme_path : 'Caminho',
+cut_desc : 'Recortar',
+copy_desc : 'Copiar',
+paste_desc : 'Colar',
+link_list : 'Lista de Links',
+image_list : 'Lista de Imagens',
+browse : 'Navegar',
+image_props_desc : 'Propriedades da Imagem',
+newdocument_desc : 'New document',
+class_name : 'Class',
+newdocument : 'Are you sure you want clear all contents?'
+});
diff --git a/webcit/tiny_mce/themes/advanced/langs/readme.txt b/webcit/tiny_mce/themes/advanced/langs/readme.txt
new file mode 100644 (file)
index 0000000..e32bcf0
--- /dev/null
@@ -0,0 +1,4 @@
+Theme specific language packs.
+
+The language pack codes are based on ISO-639-2
+http://www.loc.gov/standards/iso639-2/englangn.html
diff --git a/webcit/tiny_mce/themes/advanced/langs/sv.js b/webcit/tiny_mce/themes/advanced/langs/sv.js
new file mode 100644 (file)
index 0000000..d1d3b7c
--- /dev/null
@@ -0,0 +1,77 @@
+// SE lang variables
+
+tinyMCE.addToLang('',{
+theme_style_select : '-- Stilar --',
+theme_code_desc : 'Editera HTML-koden',
+theme_code_title : 'HTML-k&auml;llkodseditor',
+theme_code_wordwrap : 'Automatiskt radbyte',
+theme_sub_desc : 'Neds&auml;nkt text',
+theme_sup_desc : 'Upph&ouml;jd text',
+theme_hr_desc : 'S&auml;tt in horisontell linje',
+theme_removeformat_desc : 'Ta bort formatering',
+theme_custom1_desc : 'Din specialbeskriving h&auml;r',
+insert_image_border : 'Ram',
+insert_image_dimensions : 'Dimensioner',
+insert_image_vspace : 'Vertikalt tomrum',
+insert_image_hspace : 'Horisontellt tomrum',
+insert_image_align : 'Justering',
+insert_image_align_default : 'Ingen',
+insert_image_align_baseline : 'Bottenlinjen',
+insert_image_align_top : 'L&auml;ngst upp',
+insert_image_align_middle : 'Mitten',
+insert_image_align_bottom : 'L&auml;ngst ner',
+insert_image_align_texttop : 'Textens top',
+insert_image_align_absmiddle : 'Absoluta mitten',
+insert_image_align_absbottom : 'Absolut l&auml;ngst ner',
+insert_image_align_left : 'V&auml;nster',
+insert_image_align_right : 'H&ouml;ger',
+insert_image_delta_width : 30,
+insert_image_delta_height : 10,
+theme_font_size : '-- Fontstorlek --',
+theme_fontdefault : '-- Font familj --',
+theme_block : '-- Stycke --',
+theme_paragraph : 'Paragraf',
+theme_div : 'Div',
+theme_address : 'Adress',
+theme_pre : 'F&ouml;rformatterad',
+theme_h1 : 'Rubrik 1',
+theme_h2 : 'Rubrik 2',
+theme_h3 : 'Rubrik 3',
+theme_h4 : 'Rubrik 4',
+theme_h5 : 'Rubrik 5',
+theme_h6 : 'Rubrik 6',
+theme_colorpicker_title : 'V&auml;lj en f&auml;rg',
+theme_colorpicker_apply : 'Verkst&auml;ll',
+theme_forecolor_desc : 'V&auml;lj f&ouml;rgrundsf&auml;rg',
+theme_backcolor_desc : 'V&auml;lj bakgrundsf&auml;rg',
+theme_charmap_title : 'V&auml;lj specialtecken',
+theme_charmap_desc : 'S&auml;tt in specialtecken',
+theme_visualaid_desc : 'Sl&aring; av/p&aring; osynliga element',
+insert_anchor_title : 'Skapa/redigera ankare',
+insert_anchor_name : 'Ankarnamn',
+theme_anchor_desc : 'Skapa/redigera ankare',
+theme_insert_link_titlefield : 'Titel',
+theme_clipboard_msg : 'Klipput/Kopiera/Klistra fungerar inte Mozilla och Firefox. Vill du veta mer om detta?',
+theme_path : 'S&ouml;kv&auml;g',
+cut_desc : 'Klipp ut',
+copy_desc : 'Kopiera',
+paste_desc : 'Klistra in',
+link_list : 'L&auml;nkar',
+image_list : 'Bilder',
+browse : 'Bl&auml;ddra',
+image_props_desc : 'Bild egenskaper',
+newdocument_desc : 'Nytt dokument',
+class_name : 'Stil',
+newdocument : '&Auml;r du s&auml;ker p&aring; att du vill t&ouml;mma hela redigerings ytan?',
+about_title : 'Om TinyMCE',
+about : 'Om',
+license : 'Licens',
+plugins : 'Insticksprogram',
+plugin : 'Insticksprogram',
+author : 'Utvecklare',
+version : 'Version',
+loaded_plugins : 'Laddade insticksprogram',
+help : 'Hj&auml;lp',
+not_set : '-- Inte satt --',
+close : 'St&auml;ng'
+});
diff --git a/webcit/tiny_mce/themes/advanced/langs/tw.js b/webcit/tiny_mce/themes/advanced/langs/tw.js
new file mode 100644 (file)
index 0000000..be4a76b
--- /dev/null
@@ -0,0 +1,91 @@
+// TW lang variables contributed by Jim Kou
+
+tinyMCE.addToLang('',{
+bold_desc : '²Ê&Aring;é',
+bold_img : "bold.gif",
+bullist_desc : '²&Aring;¸¹¶µ¥Ø',
+cancel : '¨ú®ø',
+cleanup_desc : '²M°£',
+help_desc : '»²§U»¡©ú',
+image_desc : '¹Ï¤ù',
+indent_desc : 'ÁY±Æ',
+insert : '·s¼W',
+insert_anchor_name : '¼Ðµù¦WºÙ',
+insert_anchor_title : '·s¼W¼Ðµù',
+insert_image_align : '¹ï»ô',
+insert_image_align_absbottom : '±j¨î»ô¤U',
+insert_image_align_absmiddle : '±j¨î¸m¤¤',
+insert_image_align_baseline : '°ò·Ç½u',
+insert_image_align_bottom : '»ô¤U',
+insert_image_align_default : '¼Ð·Ç',
+insert_image_align_left : '»ô¥ª',
+insert_image_align_middle : '¸m¤¤',
+insert_image_align_right : '»ô¥k',
+insert_image_align_texttop : '¤&aring;¦r¤W¤è',
+insert_image_align_top : '»ô¤W',
+insert_image_alt : '¹Ï¤ù»¡©ú',
+insert_image_border : '¥~®Ø',
+insert_image_dimensions : '¤Ø¤o',
+insert_image_hspace : '¤ô¥­¶¡»Ø',
+insert_image_src : '¹Ï¤ù¨Ó·½',
+insert_image_title : '·s¼W¹Ï¤ù',
+insert_image_vspace : '««ª½¶¡»Ø',
+insert_link_target : '¥Ø¼Ð',
+insert_link_target_blank : '&Aring;ã¥Ü©ó·sµøµ¡¤¤',
+insert_link_target_same : '&Aring;ã¥Ü©ó¦P¤@µøµ¡¤¤',
+insert_link_title : '·s¼W¶W³sµ²',
+insert_link_url : '¶W³sµ²',
+italic_desc : '±×&Aring;é',
+italic_img : "italic.gif",
+justifycenter_desc : '»ô¤¤',
+justifyfull_desc : '¶ñº¡',
+justifyleft_desc : '»ô¥ª',
+justifyright_desc : '»ô¥k',
+link_desc : '«Ø¥ß³sµ²',
+numlist_desc : '¼Æ¦r¶µ¥Ø',
+outdent_desc : '¥Y±Æ',
+redo_desc : '­«°µ',
+striketrough_desc : '§R°£½u',
+theme_address : '¦a§}',
+theme_anchor_desc : '¼Ðµù',
+theme_charmap_desc : '¯S®í¦r¤¸',
+theme_charmap_title : '¯S®í¦r¤¸²M³æ',
+theme_code_desc : '&Aring;ã¥Ü HTML ­ì©l½X',
+theme_code_wordwrap : 'Word wrap',
+theme_code_title : 'HTML ­ì©l½X',
+theme_colorpicker_apply : '&Aring;ܧó',
+theme_colorpicker_title : 'ÃC¦â',
+theme_font_size : '-- Font size --',
+theme_fontdefault : '-- Font family --',
+theme_block : '-- Format --',
+theme_forecolor_desc : '¦r«¬ÃC¦â',
+theme_backcolor_desc : 'Select background color',
+theme_h1 : '¼ÐÃD1',
+theme_h2 : '¼ÐÃD2',
+theme_h3 : '¼ÐÃD3',
+theme_h4 : '¼ÐÃD4',
+theme_h5 : '¼ÐÃD5',
+theme_h6 : '¼ÐÃD6',
+theme_hr_desc : '·s¼W¾î½u',
+theme_paragraph : '¬q¸¨',
+theme_pre : '¤º©w®æ¦¡',
+theme_removeformat_desc : '²M°£®æ¦¡³]©w',
+theme_style_select : '¼Ë¦¡',
+theme_sub_desc : '¤U¼Ð',
+theme_sup_desc : '¤W¼Ð',
+theme_visualaid_desc : '&Aring;ã¥Ü/ÁôÂëD¥i¨£ªº¤¸¯À',
+underline_desc : '©³½u',
+undo_desc : '´_­ì',
+unlink_desc : '¨ú®ø³sµ²',
+theme_clipboard_msg : 'Copy/Cut/Paste is not available in Mozilla and Firefox.\nDo you want more information about this issue?',
+theme_path : 'Path',
+cut_desc : 'Cut',
+copy_desc : 'Copy',
+paste_desc : 'Paste',
+link_list : 'Link list',
+image_list : 'Image list',
+browse : 'Browse',
+image_props_desc : 'Image properties',
+newdocument_desc : 'New document',
+newdocument : 'Are you sure you want clear all contents?'
+});
diff --git a/webcit/tiny_mce/themes/advanced/langs/zh_cn.js b/webcit/tiny_mce/themes/advanced/langs/zh_cn.js
new file mode 100644 (file)
index 0000000..b1e96a8
--- /dev/null
@@ -0,0 +1,65 @@
+// Simplified Chinese lang variables contributed by cube316 (cube316@gmail.com)
+//Çë·ÃÎÊ http://www.cube316.net/ ÒÔ»ñÈ¡TinyMCEµ&Auml;&Ouml;ÐÎ&Auml;&Ouml;§³&Ouml;
+
+tinyMCE.addToLang('',{
+theme_style_select : '¸ñʽ',
+theme_code_desc : '±à¼­HTMLÔ´´úÂë',
+theme_code_title : 'HTMLÔ´´úÂë±à¼­Æ÷',
+theme_code_wordwrap : '×Ô¶¯»»ÐÐ',
+theme_sub_desc : 'ϱê',
+theme_sup_desc : 'Éϱê',
+theme_hr_desc : '²&aring;ÈëˮƽÏß',
+theme_removeformat_desc : 'ÒƳý¸ñʽ',
+theme_custom1_desc : 'ÕâÀïÌîдÓû§×Ô¶¨Ò&aring;µ&Auml;ÃèÊ&ouml;',
+insert_image_border : '±ß¿ò',
+insert_image_dimensions : 'άÊý',
+insert_image_vspace : 'ˮƽ¼&auml;¾à',
+insert_image_hspace : '´¹&Ouml;±¼&auml;¾à',
+insert_image_align : '¶ÔÆ뷽ʽ',
+insert_image_align_default : '&Auml;¬ÈÏ',
+insert_image_align_baseline : '»ùÏß',
+insert_image_align_top : '¶¥¶Ë',
+insert_image_align_middle : '¾Ó&Ouml;жÔÆë',
+insert_image_align_bottom : 'µ×²¿',
+insert_image_align_texttop : 'Î&Auml;×&Ouml;ÉÏ·½',
+insert_image_align_absmiddle : '¾ø¶Ô¾Ó&Ouml;Ð',
+insert_image_align_absbottom : '¾ø¶Ôµ×²¿',
+insert_image_align_left : '×ó¶ÔÆë',
+insert_image_align_right : 'ÓÒ¶ÔÆë',
+theme_font_size : '-- Font size --',
+theme_fontdefault : '-- Font family --',
+theme_block : '-- Format --',
+theme_paragraph : '¶ÎÂ&auml;',
+theme_div : '²ã',
+theme_address : 'µØ&Ouml;·',
+theme_pre : 'Ô¤¸ñʽ»¯µ&Auml;',
+theme_h1 : '±êÌâ 1',
+theme_h2 : '±êÌâ 2',
+theme_h3 : '±êÌâ 3',
+theme_h4 : '±êÌâ 4',
+theme_h5 : '±êÌâ 5',
+theme_h6 : '±êÌâ 6',
+theme_colorpicker_title : 'Ñ¡ÔñÑÕÉ«',
+theme_colorpicker_apply : 'Ó¦ÓÃ',
+theme_forecolor_desc : 'Ñ¡ÔñÎ&Auml;×&Ouml;ÑÕÉ«',
+theme_backcolor_desc : 'Ñ¡Ôñ±³¾°ÑÕÉ«',
+theme_charmap_title : 'Ñ¡ÔñÌØÊâ·ûº&Aring;',
+theme_charmap_desc : '²&aring;ÈëÌØÊâ·ûº&Aring;',
+theme_visualaid_desc : '¿ª¹Ø²»¿É¼ûÔªËØ',
+insert_anchor_title : '²&aring;Èë/±à¼­ Ãªµã',
+insert_anchor_name : 'êµãÃû³Æ',
+theme_anchor_desc : '²&aring;Èë/±à¼­ Ãªµã',
+theme_insert_link_titlefield : '±êÌâ',
+theme_clipboard_msg : '¼ôÇÐ/¸´&Ouml;Æ/Õ³Ìù¹¦&Auml;ÜÔÚMozillaºÍFirefoxÉÏÉв»¿ÉÓá£\n&Auml;ãÏëÁ˽â¹ØÓÚÕâ¸&ouml;ÎÊÌâµ&Auml;¸ü¶àÐ&Aring;Ï¢Âð£¿',
+theme_path : '·¾¶',
+cut_desc : '¼ôÇÐ',
+copy_desc : '¸´&Ouml;Æ',
+paste_desc : 'Õ³Ìù',
+link_list : 'Á´½ÓÁбí',
+image_list : 'ͼÏñÁбí',
+browse : '&auml;¯ÀÀ',
+image_props_desc : 'ͼÏñÊôÐÔ',
+newdocument_desc : 'н¨Î&Auml;µµ',
+class_name : 'Àà',
+newdocument : 'Are you sure you want clear all contents?'
+});
diff --git a/webcit/tiny_mce/themes/advanced/link.htm b/webcit/tiny_mce/themes/advanced/link.htm
new file mode 100644 (file)
index 0000000..53d686e
--- /dev/null
@@ -0,0 +1,91 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+       <title>{$lang_insert_link_title}</title>
+       <script language="javascript" type="text/javascript" src="../../tiny_mce_popup.js"></script>
+       <script language="javascript" type="text/javascript" src="../../utils/form_utils.js"></script>
+       <script language="javascript" type="text/javascript" src="jscripts/link.js"></script>
+</head>
+<body onload="init();" style="display: none">
+<form onsubmit="insertLink();return false;">
+  <table border="0" cellpadding="0" cellspacing="0" width="100">
+    <tr>
+      <td align="center" valign="middle"><table border="0" cellpadding="4" cellspacing="0">
+          <tr>
+            <td colspan="2" class="title" nowrap="nowrap">{$lang_insert_link_title}</td>
+          </tr>
+          <tr>
+            <td nowrap="nowrap">{$lang_insert_link_url}:</td>
+            <td>              <table border="0" cellspacing="0" cellpadding="0">
+                <tr>
+                  <td><input name="href" type="text" id="href" value="" style="width: 200px"></td>
+                  <td><script language="javascript" type="text/javascript">renderBrowser('hrefbrowser','href','file','theme_advanced_link');</script></td>
+                </tr>
+              </table></td>
+          </tr>
+                 <!-- Link list -->
+                 <script language="javascript">
+                       if (typeof(tinyMCELinkList) != "undefined" && tinyMCELinkList.length > 0) {
+                               var html = "";
+
+                               html += '<tr><td>{$lang_link_list}:</td>';
+                               html += '<td><select name="link_list" style="width: 200px" onchange="this.form.href.value=this.options[this.selectedIndex].value;">';
+                               html += '<option value="">---</option>';
+
+                               for (var i=0; i<tinyMCELinkList.length; i++)
+                                       html += '<option value="' + tinyMCELinkList[i][1] + '">' + tinyMCELinkList[i][0] + '</option>';
+
+                               html += '</select></td></tr>';
+
+                               document.write(html);
+                       }
+                 </script>
+                 <!-- /Link list -->
+          <tr>
+            <td nowrap="nowrap">{$lang_insert_link_target}:</td>
+            <td><select name="target" style="width: 200px">
+                <option value="_self">{$lang_insert_link_target_same}</option>
+                <option value="_blank">{$lang_insert_link_target_blank}</option>
+                               <script language="javascript">
+                                       var html = "";
+                                       var targets = tinyMCE.getParam('theme_advanced_link_targets', '').split(';');
+
+                                       for (var i=0; i<targets.length; i++) {
+                                               var key, value;
+
+                                               if (targets[i] == "")
+                                                       continue;
+
+                                               key = targets[i].split('=')[0];
+                                               value = targets[i].split('=')[1];
+
+                                               html += '<option value="' + value + '">' + key + '</option>';
+                                       }
+
+                                       document.write(html);
+                               </script>
+            </select></td>
+          </tr>
+          <tr>
+            <td nowrap="nowrap">{$lang_theme_insert_link_titlefield}:</td>
+            <td><input name="linktitle" type="text" id="linktitle" value="" style="width: 200px"></td>
+          </tr>
+          <tr id="styleSelectRow">
+            <td>{$lang_class_name}:</td>
+            <td>
+                        <select id="styleSelect" name="styleSelect">
+                <option value="" selected>{$lang_theme_style_select}</option>
+             </select></td>
+            <td align="right">&nbsp;</td>
+            <td align="right">&nbsp;</td>
+          </tr>
+          <tr>
+            <td><input type="button" id="insert" name="insert" value="{$lang_insert}" onclick="insertLink();">
+            </td>
+            <td align="right"><input type="button" id="cancel" name="cancel" value="{$lang_cancel}" onclick="tinyMCEPopup.close();"></td>
+          </tr>
+        </table></td>
+    </tr>
+  </table>
+</form>
+</body>
+</html>
diff --git a/webcit/tiny_mce/themes/advanced/source_editor.htm b/webcit/tiny_mce/themes/advanced/source_editor.htm
new file mode 100644 (file)
index 0000000..d0c5a6e
--- /dev/null
@@ -0,0 +1,29 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+       <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+       <title>{$lang_theme_code_title}</title>
+       <script language="javascript" type="text/javascript" src="../../tiny_mce_popup.js"></script>
+       <script language="javascript" type="text/javascript" src="jscripts/source_editor.js"></script>
+</head>
+<body onload="onLoadInit();" onresize="resizeInputs();" style="display: none">
+       <form name="source" onsubmit="saveContent();" action="#">
+               <div style="float: left" class="title">{$lang_theme_code_title}</div>
+
+               <div style="float: right">
+                       <script language="javascript" type="text/javascript">renderWordWrap();</script>
+               </div>
+
+               <textarea name="htmlSource" id="htmlSource" rows="15" cols="100" style="width: 100%; height: 100%; font-family: 'Courier New',Courier,mono; font-size: 12px;" dir="ltr" wrap="soft"></textarea>
+
+               <div class="mceActionPanel">
+                       <div style="float: left">
+                               <input type="button" name="insert" value="{$lang_update}" onclick="saveContent();" id="insert" />
+                       </div>
+
+                       <div style="float: right">
+                               <input type="button" name="cancel" value="{$lang_cancel}" onclick="tinyMCEPopup.close();" id="cancel" />
+                       </div>
+               </div>
+       </form>
+</body>
+</html>
diff --git a/webcit/tiny_mce/themes/simple/css/editor_content.css b/webcit/tiny_mce/themes/simple/css/editor_content.css
new file mode 100644 (file)
index 0000000..ac7e5a7
--- /dev/null
@@ -0,0 +1,27 @@
+body {
+       background-color: #FFFFFF;
+       font-family: Verdana, Arial, Helvetica, sans-serif;
+       font-size: 10px;
+       scrollbar-3dlight-color: #F0F0EE;
+       scrollbar-arrow-color: #676662;
+       scrollbar-base-color: #F0F0EE;
+       scrollbar-darkshadow-color: #DDDDDD;
+       scrollbar-face-color: #E0E0DD;
+       scrollbar-highlight-color: #F0F0EE;
+       scrollbar-shadow-color: #F0F0EE;
+       scrollbar-track-color: #F5F5F5;
+}
+
+td {
+       font-family: Verdana, Arial, Helvetica, sans-serif;
+       font-size: 10px;
+}
+
+pre {
+       font-family: Verdana, Arial, Helvetica, sans-serif;
+       font-size: 10px;
+}
+
+.mceVisualAid {
+       border: 1px dashed #BBBBBB;
+}
diff --git a/webcit/tiny_mce/themes/simple/css/editor_popup.css b/webcit/tiny_mce/themes/simple/css/editor_popup.css
new file mode 100644 (file)
index 0000000..c6cab79
--- /dev/null
@@ -0,0 +1,41 @@
+body {
+       background-color: #F0F0EE;
+       font-family: Verdana, Arial, Helvetica, sans-serif;
+       font-size: 11px;
+       scrollbar-3dlight-color: #F0F0EE;
+       scrollbar-arrow-color: #676662;
+       scrollbar-base-color: #F0F0EE;
+       scrollbar-darkshadow-color: #DDDDDD;
+       scrollbar-face-color: #E0E0DD;
+       scrollbar-highlight-color: #F0F0EE;
+       scrollbar-shadow-color: #F0F0EE;
+       scrollbar-track-color: #F5F5F5;
+}
+
+td {
+       font-family: Verdana, Arial, Helvetica, sans-serif;
+       font-size: 11px;
+}
+
+input {
+       background: #FFFFFF;
+       border: 1px solid #cccccc;
+}
+
+td, input, select, textarea {
+       font-family: Verdana, Arial, Helvetica, sans-serif;
+       font-size: 10px;
+}
+
+input, select, textarea {
+       border: 1px solid #808080;
+}
+
+.input_noborder {
+       border: 0px solid #808080;
+}
+
+.title {
+       font-size: 12px;
+       font-weight: bold;
+}
\ No newline at end of file
diff --git a/webcit/tiny_mce/themes/simple/css/editor_ui.css b/webcit/tiny_mce/themes/simple/css/editor_ui.css
new file mode 100644 (file)
index 0000000..71b4ef8
--- /dev/null
@@ -0,0 +1,100 @@
+.mceButtonNormal, .mceButtonOver, .mceButtonDown, .mceSeparator, .mceButtonDisabled, .mceButtonSelected {
+       margin-top: 1px;
+       margin-left: 1px;
+}
+
+.mceButtonNormal {
+       border-top: 1px solid;
+       border-left: 1px solid;
+       border-bottom: 1px solid;
+       border-right: 1px solid;
+       border-color: #F0F0EE;
+       cursor: arrow;
+}
+
+.mceButtonOver {
+       border: 1px solid #0A246A;
+       cursor: arrow;
+       background-color: #B6BDD2;
+}
+
+.mceButtonDown {
+       cursor: arrow;
+       border: 1px solid #0A246A;
+       background-color: #8592B5;
+}
+
+.mceButtonSelected {
+       border: 1px solid;
+       border-color: #C0C0BB;
+       cursor: arrow;
+}
+
+.mceButtonDisabled {
+       filter:progid:DXImageTransform.Microsoft.Alpha(opacity=30);
+       -moz-opacity:0.3;
+       opacity: 0.3;
+       border-top: 1px solid;
+       border-left: 1px solid;
+       border-bottom: 1px solid;
+       border-right: 1px solid;
+       border-color: #F0F0EE;
+       cursor: arrow;
+}
+
+.mceSeparator {
+       border-top: 1px solid buttonhighlight;
+       border-left: 1px solid buttonhighlight;
+       border-bottom: 1px solid buttonshadow;
+       border-right: 1px solid buttonshadow;
+       margin-right: 2px;
+       margin-left: 2px;
+}
+
+.mceSeparatorLine {
+       margin:2px;
+       margin-left: 4px;
+       background-color: #F0F0EE;
+       border-top: 1px solid buttonshadow;
+       border-left: 1px solid buttonshadow;
+       border-bottom: 1px solid buttonhighlight;
+       border-right: 1px solid buttonhighlight;
+       width: 0px;
+       height: 15px;
+}
+
+.mceSelectList {
+       font-family: "MS Sans Serif";
+       font-size: 7pt;
+       font-weight: normal;
+       margin-top: 2px;
+}
+
+.mceLabel, .mceLabelDisabled {
+       font-family: "MS Sans Serif";
+       font-size: 9pt;
+}
+
+.mceLabel {
+       color: #000000;
+}
+
+.mceLabelDisabled {
+       cursor: text;
+       color: #999999;
+}
+
+.mceEditor {
+       background: #F0F0EE;
+       border: 1px solid #cccccc;
+}
+
+.mceEditorArea {
+       font-family: "MS Sans Serif";
+       background: #FFFFFF;
+}
+
+.mceToolbar {
+       background: #F0F0EE;
+       border-top: 1px solid #cccccc;
+}
\ No newline at end of file
diff --git a/webcit/tiny_mce/themes/simple/editor_template.js b/webcit/tiny_mce/themes/simple/editor_template.js
new file mode 100644 (file)
index 0000000..d816b27
--- /dev/null
@@ -0,0 +1,20 @@
+function TinyMCE_simple_getEditorTemplate(){var template=new Array();template['html']='\
+<table class="mceEditor" border="0" cellpadding="0" cellspacing="0" width="{$width}" height="{$height}">\
+<tr><td align="center">\
+<span id="{$editor_id}">IFRAME</span>\
+</td></tr>\
+<tr><td class="mceToolbar" align="center" height="1">\
+<a href="javascript:tinyMCE.execInstanceCommand(\'{$editor_id}\',\'Bold\');" onmousedown="return false;"><img id="{$editor_id}_bold" src="{$themeurl}/images/{$lang_bold_img}" title="{$lang_bold_desc}" width="20" height="20" class="mceButtonNormal" onmouseover="tinyMCE.switchClass(this,\'mceButtonOver\');" onmouseout="tinyMCE.restoreClass(this);" onmousedown="tinyMCE.restoreAndSwitchClass(this,\'mceButtonDown\');"></a>\
+<a href="javascript:tinyMCE.execInstanceCommand(\'{$editor_id}\',\'Italic\');" onmousedown="return false;"><img id="{$editor_id}_italic" src="{$themeurl}/images/{$lang_italic_img}" title="{$lang_italic_desc}" width="20" height="20" class="mceButtonNormal" onmouseover="tinyMCE.switchClass(this,\'mceButtonOver\');" onmouseout="tinyMCE.restoreClass(this);" onmousedown="tinyMCE.restoreAndSwitchClass(this,\'mceButtonDown\');">\
+<a href="javascript:tinyMCE.execInstanceCommand(\'{$editor_id}\',\'Underline\');" onmousedown="return false;"><img id="{$editor_id}_underline" src="{$themeurl}/images/{$lang_underline_img}" title="{$lang_underline_desc}" width="20" height="20" class="mceButtonNormal" onmouseover="tinyMCE.switchClass(this,\'mceButtonOver\');" onmouseout="tinyMCE.restoreClass(this);" onmousedown="tinyMCE.restoreAndSwitchClass(this,\'mceButtonDown\');">\
+<a href="javascript:tinyMCE.execInstanceCommand(\'{$editor_id}\',\'Strikethrough\');" onmousedown="return false;"><img id="{$editor_id}_strikethrough" src="{$themeurl}/images/strikethrough.gif" title="{$lang_striketrough_desc}" width="20" height="20" class="mceButtonNormal" onmouseover="tinyMCE.switchClass(this,\'mceButtonOver\');" onmouseout="tinyMCE.restoreClass(this);" onmousedown="tinyMCE.restoreAndSwitchClass(this,\'mceButtonDown\');">\
+<img src="{$themeurl}/images/spacer.gif" width="1" height="15" class="mceSeparatorLine">\
+<a href="javascript:tinyMCE.execInstanceCommand(\'{$editor_id}\',\'Undo\');" onmousedown="return false;"><img src="{$themeurl}/images/undo.gif" title="{$lang_undo_desc}" width="20" height="20" class="mceButtonNormal" onmouseover="tinyMCE.switchClass(this,\'mceButtonOver\');" onmouseout="tinyMCE.restoreClass(this);" onmousedown="tinyMCE.restoreAndSwitchClass(this,\'mceButtonDown\');">\
+<a href="javascript:tinyMCE.execInstanceCommand(\'{$editor_id}\',\'Redo\');" onmousedown="return false;"><img src="{$themeurl}/images/redo.gif" title="{$lang_redo_desc}" width="20" height="20" class="mceButtonNormal" onmouseover="tinyMCE.switchClass(this,\'mceButtonOver\');" onmouseout="tinyMCE.restoreClass(this);" onmousedown="tinyMCE.restoreAndSwitchClass(this,\'mceButtonDown\');">\
+<img src="{$themeurl}/images/spacer.gif" width="1" height="15" class="mceSeparatorLine">\
+<a href="javascript:tinyMCE.execInstanceCommand(\'{$editor_id}\',\'mceCleanup\');" onmousedown="return false;"><img src="{$themeurl}/images/cleanup.gif" title="{$lang_cleanup_desc}" width="20" height="20" class="mceButtonNormal" onmouseover="tinyMCE.switchClass(this,\'mceButtonOver\');" onmouseout="tinyMCE.restoreClass(this);" onmousedown="tinyMCE.restoreAndSwitchClass(this,\'mceButtonDown\');">\
+<img src="{$themeurl}/images/spacer.gif" width="1" height="15" class="mceSeparatorLine">\
+<a href="javascript:tinyMCE.execInstanceCommand(\'{$editor_id}\',\'InsertUnorderedList\');" onmousedown="return false;"><img id="{$editor_id}_bullist" src="{$themeurl}/images/bullist.gif" title="{$lang_bullist_desc}" width="20" height="20" class="mceButtonNormal" onmouseover="tinyMCE.switchClass(this,\'mceButtonOver\');" onmouseout="tinyMCE.restoreClass(this);" onmousedown="tinyMCE.restoreAndSwitchClass(this,\'mceButtonDown\');">\
+<a href="javascript:tinyMCE.execInstanceCommand(\'{$editor_id}\',\'InsertOrderedList\');" onmousedown="return false;"><img id="{$editor_id}_numlist" src="{$themeurl}/images/numlist.gif" title="{$lang_numlist_desc}" width="20" height="20" class="mceButtonNormal" onmouseover="tinyMCE.switchClass(this,\'mceButtonOver\');" onmouseout="tinyMCE.restoreClass(this);" onmousedown="tinyMCE.restoreAndSwitchClass(this,\'mceButtonDown\');">\
+</td></tr>\
+</table>';template['delta_width']=0;template['delta_height']=-20;return template;}function TinyMCE_simple_handleNodeChange(editor_id,node){tinyMCE.switchClassSticky(editor_id+'_bold','mceButtonNormal');tinyMCE.switchClassSticky(editor_id+'_italic','mceButtonNormal');tinyMCE.switchClassSticky(editor_id+'_underline','mceButtonNormal');tinyMCE.switchClassSticky(editor_id+'_strikethrough','mceButtonNormal');tinyMCE.switchClassSticky(editor_id+'_bullist','mceButtonNormal');tinyMCE.switchClassSticky(editor_id+'_numlist','mceButtonNormal');do{switch(node.nodeName.toLowerCase()){case "b":case "strong":tinyMCE.switchClassSticky(editor_id+'_bold','mceButtonSelected');break;case "i":case "em":tinyMCE.switchClassSticky(editor_id+'_italic','mceButtonSelected');break;case "u":tinyMCE.switchClassSticky(editor_id+'_underline','mceButtonSelected');break;case "strike":tinyMCE.switchClassSticky(editor_id+'_strikethrough','mceButtonSelected');break;case "ul":tinyMCE.switchClassSticky(editor_id+'_bullist','mceButtonSelected');break;case "ol":tinyMCE.switchClassSticky(editor_id+'_numlist','mceButtonSelected');break;}}while((node=node.parentNode));}
\ No newline at end of file
diff --git a/webcit/tiny_mce/themes/simple/editor_template_src.js b/webcit/tiny_mce/themes/simple/editor_template_src.js
new file mode 100644 (file)
index 0000000..437477d
--- /dev/null
@@ -0,0 +1,70 @@
+function TinyMCE_simple_getEditorTemplate() {
+       var template = new Array();
+
+       template['html'] = '\
+<table class="mceEditor" border="0" cellpadding="0" cellspacing="0" width="{$width}" height="{$height}">\
+<tr><td align="center">\
+<span id="{$editor_id}">IFRAME</span>\
+</td></tr>\
+<tr><td class="mceToolbar" align="center" height="1">\
+<a href="javascript:tinyMCE.execInstanceCommand(\'{$editor_id}\',\'Bold\');" onmousedown="return false;"><img id="{$editor_id}_bold" src="{$themeurl}/images/{$lang_bold_img}" title="{$lang_bold_desc}" width="20" height="20" class="mceButtonNormal" onmouseover="tinyMCE.switchClass(this,\'mceButtonOver\');" onmouseout="tinyMCE.restoreClass(this);" onmousedown="tinyMCE.restoreAndSwitchClass(this,\'mceButtonDown\');"></a>\
+<a href="javascript:tinyMCE.execInstanceCommand(\'{$editor_id}\',\'Italic\');" onmousedown="return false;"><img id="{$editor_id}_italic" src="{$themeurl}/images/{$lang_italic_img}" title="{$lang_italic_desc}" width="20" height="20" class="mceButtonNormal" onmouseover="tinyMCE.switchClass(this,\'mceButtonOver\');" onmouseout="tinyMCE.restoreClass(this);" onmousedown="tinyMCE.restoreAndSwitchClass(this,\'mceButtonDown\');">\
+<a href="javascript:tinyMCE.execInstanceCommand(\'{$editor_id}\',\'Underline\');" onmousedown="return false;"><img id="{$editor_id}_underline" src="{$themeurl}/images/{$lang_underline_img}" title="{$lang_underline_desc}" width="20" height="20" class="mceButtonNormal" onmouseover="tinyMCE.switchClass(this,\'mceButtonOver\');" onmouseout="tinyMCE.restoreClass(this);" onmousedown="tinyMCE.restoreAndSwitchClass(this,\'mceButtonDown\');">\
+<a href="javascript:tinyMCE.execInstanceCommand(\'{$editor_id}\',\'Strikethrough\');" onmousedown="return false;"><img id="{$editor_id}_strikethrough" src="{$themeurl}/images/strikethrough.gif" title="{$lang_striketrough_desc}" width="20" height="20" class="mceButtonNormal" onmouseover="tinyMCE.switchClass(this,\'mceButtonOver\');" onmouseout="tinyMCE.restoreClass(this);" onmousedown="tinyMCE.restoreAndSwitchClass(this,\'mceButtonDown\');">\
+<img src="{$themeurl}/images/spacer.gif" width="1" height="15" class="mceSeparatorLine">\
+<a href="javascript:tinyMCE.execInstanceCommand(\'{$editor_id}\',\'Undo\');" onmousedown="return false;"><img src="{$themeurl}/images/undo.gif" title="{$lang_undo_desc}" width="20" height="20" class="mceButtonNormal" onmouseover="tinyMCE.switchClass(this,\'mceButtonOver\');" onmouseout="tinyMCE.restoreClass(this);" onmousedown="tinyMCE.restoreAndSwitchClass(this,\'mceButtonDown\');">\
+<a href="javascript:tinyMCE.execInstanceCommand(\'{$editor_id}\',\'Redo\');" onmousedown="return false;"><img src="{$themeurl}/images/redo.gif" title="{$lang_redo_desc}" width="20" height="20" class="mceButtonNormal" onmouseover="tinyMCE.switchClass(this,\'mceButtonOver\');" onmouseout="tinyMCE.restoreClass(this);" onmousedown="tinyMCE.restoreAndSwitchClass(this,\'mceButtonDown\');">\
+<img src="{$themeurl}/images/spacer.gif" width="1" height="15" class="mceSeparatorLine">\
+<a href="javascript:tinyMCE.execInstanceCommand(\'{$editor_id}\',\'mceCleanup\');" onmousedown="return false;"><img src="{$themeurl}/images/cleanup.gif" title="{$lang_cleanup_desc}" width="20" height="20" class="mceButtonNormal" onmouseover="tinyMCE.switchClass(this,\'mceButtonOver\');" onmouseout="tinyMCE.restoreClass(this);" onmousedown="tinyMCE.restoreAndSwitchClass(this,\'mceButtonDown\');">\
+<img src="{$themeurl}/images/spacer.gif" width="1" height="15" class="mceSeparatorLine">\
+<a href="javascript:tinyMCE.execInstanceCommand(\'{$editor_id}\',\'InsertUnorderedList\');" onmousedown="return false;"><img id="{$editor_id}_bullist" src="{$themeurl}/images/bullist.gif" title="{$lang_bullist_desc}" width="20" height="20" class="mceButtonNormal" onmouseover="tinyMCE.switchClass(this,\'mceButtonOver\');" onmouseout="tinyMCE.restoreClass(this);" onmousedown="tinyMCE.restoreAndSwitchClass(this,\'mceButtonDown\');">\
+<a href="javascript:tinyMCE.execInstanceCommand(\'{$editor_id}\',\'InsertOrderedList\');" onmousedown="return false;"><img id="{$editor_id}_numlist" src="{$themeurl}/images/numlist.gif" title="{$lang_numlist_desc}" width="20" height="20" class="mceButtonNormal" onmouseover="tinyMCE.switchClass(this,\'mceButtonOver\');" onmouseout="tinyMCE.restoreClass(this);" onmousedown="tinyMCE.restoreAndSwitchClass(this,\'mceButtonDown\');">\
+</td></tr>\
+</table>';
+
+       template['delta_width'] = 0;
+       template['delta_height'] = -20;
+
+       return template;
+}
+
+function TinyMCE_simple_handleNodeChange(editor_id, node) {
+       // Reset old states
+       tinyMCE.switchClassSticky(editor_id + '_bold', 'mceButtonNormal');
+       tinyMCE.switchClassSticky(editor_id + '_italic', 'mceButtonNormal');
+       tinyMCE.switchClassSticky(editor_id + '_underline', 'mceButtonNormal');
+       tinyMCE.switchClassSticky(editor_id + '_strikethrough', 'mceButtonNormal');
+       tinyMCE.switchClassSticky(editor_id + '_bullist', 'mceButtonNormal');
+       tinyMCE.switchClassSticky(editor_id + '_numlist', 'mceButtonNormal');
+
+       // Handle elements
+       do {
+               switch (node.nodeName.toLowerCase()) {
+                       case "b":
+                       case "strong":
+                               tinyMCE.switchClassSticky(editor_id + '_bold', 'mceButtonSelected');
+                       break;
+
+                       case "i":
+                       case "em":
+                               tinyMCE.switchClassSticky(editor_id + '_italic', 'mceButtonSelected');
+                       break;
+
+                       case "u":
+                               tinyMCE.switchClassSticky(editor_id + '_underline', 'mceButtonSelected');
+                       break;
+
+                       case "strike":
+                               tinyMCE.switchClassSticky(editor_id + '_strikethrough', 'mceButtonSelected');
+                       break;
+                       
+                       case "ul":
+                               tinyMCE.switchClassSticky(editor_id + '_bullist', 'mceButtonSelected');
+                       break;
+
+                       case "ol":
+                               tinyMCE.switchClassSticky(editor_id + '_numlist', 'mceButtonSelected');
+                       break;
+               }
+       } while ((node = node.parentNode));
+}
diff --git a/webcit/tiny_mce/themes/simple/images/bold.gif b/webcit/tiny_mce/themes/simple/images/bold.gif
new file mode 100644 (file)
index 0000000..d6a9cc2
Binary files /dev/null and b/webcit/tiny_mce/themes/simple/images/bold.gif differ
diff --git a/webcit/tiny_mce/themes/simple/images/bold_de_se.gif b/webcit/tiny_mce/themes/simple/images/bold_de_se.gif
new file mode 100644 (file)
index 0000000..9b129de
Binary files /dev/null and b/webcit/tiny_mce/themes/simple/images/bold_de_se.gif differ
diff --git a/webcit/tiny_mce/themes/simple/images/bold_fr.gif b/webcit/tiny_mce/themes/simple/images/bold_fr.gif
new file mode 100644 (file)
index 0000000..2816454
Binary files /dev/null and b/webcit/tiny_mce/themes/simple/images/bold_fr.gif differ
diff --git a/webcit/tiny_mce/themes/simple/images/bold_ru.gif b/webcit/tiny_mce/themes/simple/images/bold_ru.gif
new file mode 100644 (file)
index 0000000..e000d46
Binary files /dev/null and b/webcit/tiny_mce/themes/simple/images/bold_ru.gif differ
diff --git a/webcit/tiny_mce/themes/simple/images/bullist.gif b/webcit/tiny_mce/themes/simple/images/bullist.gif
new file mode 100644 (file)
index 0000000..6e19467
Binary files /dev/null and b/webcit/tiny_mce/themes/simple/images/bullist.gif differ
diff --git a/webcit/tiny_mce/themes/simple/images/cleanup.gif b/webcit/tiny_mce/themes/simple/images/cleanup.gif
new file mode 100644 (file)
index 0000000..16491f6
Binary files /dev/null and b/webcit/tiny_mce/themes/simple/images/cleanup.gif differ
diff --git a/webcit/tiny_mce/themes/simple/images/italic.gif b/webcit/tiny_mce/themes/simple/images/italic.gif
new file mode 100644 (file)
index 0000000..8bb330b
Binary files /dev/null and b/webcit/tiny_mce/themes/simple/images/italic.gif differ
diff --git a/webcit/tiny_mce/themes/simple/images/italic_de_se.gif b/webcit/tiny_mce/themes/simple/images/italic_de_se.gif
new file mode 100644 (file)
index 0000000..feb0309
Binary files /dev/null and b/webcit/tiny_mce/themes/simple/images/italic_de_se.gif differ
diff --git a/webcit/tiny_mce/themes/simple/images/italic_ru.gif b/webcit/tiny_mce/themes/simple/images/italic_ru.gif
new file mode 100644 (file)
index 0000000..a2bb69a
Binary files /dev/null and b/webcit/tiny_mce/themes/simple/images/italic_ru.gif differ
diff --git a/webcit/tiny_mce/themes/simple/images/numlist.gif b/webcit/tiny_mce/themes/simple/images/numlist.gif
new file mode 100644 (file)
index 0000000..a268352
Binary files /dev/null and b/webcit/tiny_mce/themes/simple/images/numlist.gif differ
diff --git a/webcit/tiny_mce/themes/simple/images/redo.gif b/webcit/tiny_mce/themes/simple/images/redo.gif
new file mode 100644 (file)
index 0000000..7f279c2
Binary files /dev/null and b/webcit/tiny_mce/themes/simple/images/redo.gif differ
diff --git a/webcit/tiny_mce/themes/simple/images/spacer.gif b/webcit/tiny_mce/themes/simple/images/spacer.gif
new file mode 100644 (file)
index 0000000..3884865
Binary files /dev/null and b/webcit/tiny_mce/themes/simple/images/spacer.gif differ
diff --git a/webcit/tiny_mce/themes/simple/images/strikethrough.gif b/webcit/tiny_mce/themes/simple/images/strikethrough.gif
new file mode 100644 (file)
index 0000000..3264635
Binary files /dev/null and b/webcit/tiny_mce/themes/simple/images/strikethrough.gif differ
diff --git a/webcit/tiny_mce/themes/simple/images/underline.gif b/webcit/tiny_mce/themes/simple/images/underline.gif
new file mode 100644 (file)
index 0000000..1dfeb5f
Binary files /dev/null and b/webcit/tiny_mce/themes/simple/images/underline.gif differ
diff --git a/webcit/tiny_mce/themes/simple/images/underline_fr.gif b/webcit/tiny_mce/themes/simple/images/underline_fr.gif
new file mode 100644 (file)
index 0000000..551d914
Binary files /dev/null and b/webcit/tiny_mce/themes/simple/images/underline_fr.gif differ
diff --git a/webcit/tiny_mce/themes/simple/images/underline_ru.gif b/webcit/tiny_mce/themes/simple/images/underline_ru.gif
new file mode 100644 (file)
index 0000000..b78e2a4
Binary files /dev/null and b/webcit/tiny_mce/themes/simple/images/underline_ru.gif differ
diff --git a/webcit/tiny_mce/themes/simple/images/undo.gif b/webcit/tiny_mce/themes/simple/images/undo.gif
new file mode 100644 (file)
index 0000000..520796d
Binary files /dev/null and b/webcit/tiny_mce/themes/simple/images/undo.gif differ
diff --git a/webcit/tiny_mce/tiny_mce.js b/webcit/tiny_mce/tiny_mce.js
new file mode 100644 (file)
index 0000000..466822c
--- /dev/null
@@ -0,0 +1,11 @@
+/**
+ * $RCSfile$
+ * $Revision$
+ * $Date$
+ *
+ * @author Moxiecode
+ * @copyright Copyright © 2004, Moxiecode Systems AB, All rights reserved.
+ */
+ function TinyMCE(){this.majorVersion="2";this.minorVersion="0RC2";this.releaseDate="2005-09-12";this.instances=new Array();this.stickyClassesLookup=new Array();this.windowArgs=new Array();this.loadedFiles=new Array();this.configs=new Array();this.currentConfig=0;this.eventHandlers=new Array();this.isMSIE=(navigator.appName=="Microsoft Internet Explorer");this.isMSIE5=this.isMSIE&&(navigator.userAgent.indexOf('MSIE 5')!=-1);this.isMSIE5_0=this.isMSIE&&(navigator.userAgent.indexOf('MSIE 5.0')!=-1);this.isGecko=navigator.userAgent.indexOf('Gecko')!=-1;this.isSafari=navigator.userAgent.indexOf('Safari')!=-1;this.isMac=navigator.userAgent.indexOf('Mac')!=-1;this.dialogCounter=0;this.idCounter=0;};TinyMCE.prototype.defParam=function(key,def_val){this.settings[key]=tinyMCE.getParam(key,def_val);};TinyMCE.prototype.init=function(settings){var theme;this.settings=settings;if(typeof(document.execCommand)=='undefined')return;if(!tinyMCE.baseURL){var elements=document.getElementsByTagName('script');for(var i=0;i<elements.length;i++){if(elements[i].src&&(elements[i].src.indexOf("tiny_mce.js")!=-1||elements[i].src.indexOf("tiny_mce_src.js")!=-1||elements[i].src.indexOf("tiny_mce_gzip.php")!=-1)){var src=elements[i].src;tinyMCE.srcMode=(src.indexOf('_src')!=-1)?'_src':'';src=src.substring(0,src.lastIndexOf('/'));tinyMCE.baseURL=src;break;}}}this.documentBasePath=document.location.href;if(this.documentBasePath.indexOf('?')!=-1)this.documentBasePath=this.documentBasePath.substring(0,this.documentBasePath.indexOf('?'));this.documentURL=this.documentBasePath;this.documentBasePath=this.documentBasePath.substring(0,this.documentBasePath.lastIndexOf('/'));if(tinyMCE.baseURL.indexOf('://')==-1&&tinyMCE.baseURL.charAt(0)!='/'){tinyMCE.baseURL=this.documentBasePath+"/"+tinyMCE.baseURL;}this.defParam("mode","none");this.defParam("theme","advanced");this.defParam("plugins","",true);this.defParam("language","en");this.defParam("docs_language",this.settings['language']);this.defParam("elements","");this.defParam("textarea_trigger","mce_editable");this.defParam("editor_selector","");this.defParam("editor_deselector","mceNoEditor");this.defParam("valid_elements","+a[id|style|rel|rev|charset|hreflang|dir|lang|tabindex|accesskey|type|name|href|target|title|class|onfocus|onblur|onclick|ondblclick|onmousedown|onmouseup|onmouseover|onmousemove|onmouseout|onkeypress|onkeydown|onkeyup],-strong/b[class|style],-em/i[class|style],-strike[class|style],-u[class|style],+p[style|dir|class|align],-ol[class],-ul[class],-li[class],br,img[id|dir|lang|longdesc|usemap|style|class|src|onmouseover|onmouseout|border=0|alt|title|hspace|vspace|width|height|align],-sub[style|class],-sup[style|class],-blockquote[dir|style],-table[border=0|cellspacing|cellpadding|width|height|class|align|summary|style|dir|id|lang|bgcolor|background|bordercolor],-tr[id|lang|dir|class|rowspan|width|height|align|valign|style|bgcolor|background|bordercolor],tbody[id|class],thead[id|class],tfoot[id|class],-td[id|lang|dir|class|colspan|rowspan|width|height|align|valign|style|bgcolor|background|bordercolor],-th[id|lang|dir|class|colspan|rowspan|width|height|align|valign|style],caption[id|lang|dir|class|style],-div[id|dir|class|align|style],-span[style|class|align],-pre[class|align],address[class|align],-h1[style|dir|class|align],-h2[style|dir|class|align],-h3[style|dir|class|align],-h4[style|dir|class|align],-h5[style|dir|class|align],-h6[style|dir|class|align],hr[class]");this.defParam("extended_valid_elements","");this.defParam("invalid_elements","");this.defParam("encoding","");this.defParam("urlconverter_callback",tinyMCE.getParam("urlconvertor_callback","TinyMCE.prototype.convertURL"));this.defParam("save_callback","");this.defParam("debug",false);this.defParam("force_br_newlines",false);this.defParam("force_p_newlines",true);this.defParam("add_form_submit_trigger",true);this.defParam("relative_urls",true);this.defParam("remove_script_host",true);this.defParam("focus_alert",true);this.defParam("document_base_url",this.documentURL);this.defParam("visual",true);this.defParam("visual_table_class","mceVisualAid");this.defParam("setupcontent_callback","");this.defParam("fix_content_duplication",true);this.defParam("custom_undo_redo",true);this.defParam("custom_undo_redo_levels",-1);this.defParam("custom_undo_redo_keyboard_shortcuts",true);this.defParam("verify_css_classes",false);this.defParam("verify_html",true);this.defParam("apply_source_formatting",false);this.defParam("directionality","ltr");this.defParam("cleanup_on_startup",false);this.defParam("inline_styles",false);this.defParam("convert_newlines_to_brs",false);this.defParam("auto_reset_designmode",true);this.defParam("entities","160,nbsp,38,amp,34,quot,162,cent,8364,euro,163,pound,165,yen,169,copy,174,reg,8482,trade,8240,permil,181,micro,183,middot,8226,bull,8230,hellip,8242,prime,8243,Prime,167,sect,182,para,223,szlig,8249,lsaquo,8250,rsaquo,171,laquo,187,raquo,8216,lsquo,8217,rsquo,8220,ldquo,8221,rdquo,8218,sbquo,8222,bdquo,60,lt,62,gt,8804,le,8805,ge,8211,ndash,8212,mdash,175,macr,8254,oline,164,curren,166,brvbar,168,uml,161,iexcl,191,iquest,710,circ,732,tilde,176,deg,8722,minus,177,plusmn,247,divide,8260,frasl,215,times,185,sup1,178,sup2,179,sup3,188,frac14,189,frac12,190,frac34,402,fnof,8747,int,8721,sum,8734,infin,8730,radic,8764,sim,8773,cong,8776,asymp,8800,ne,8801,equiv,8712,isin,8713,notin,8715,ni,8719,prod,8743,and,8744,or,172,not,8745,cap,8746,cup,8706,part,8704,forall,8707,exist,8709,empty,8711,nabla,8727,lowast,8733,prop,8736,ang,180,acute,184,cedil,170,ordf,186,ordm,8224,dagger,8225,Dagger,192,Agrave,194,Acirc,195,Atilde,196,Auml,197,Aring,198,AElig,199,Ccedil,200,Egrave,202,Ecirc,203,Euml,204,Igrave,206,Icirc,207,Iuml,208,ETH,209,Ntilde,210,Ograve,212,Ocirc,213,Otilde,214,Ouml,216,Oslash,338,OElig,217,Ugrave,219,Ucirc,220,Uuml,376,Yuml,222,THORN,224,agrave,226,acirc,227,atilde,228,auml,229,aring,230,aelig,231,ccedil,232,egrave,234,ecirc,235,euml,236,igrave,238,icirc,239,iuml,240,eth,241,ntilde,242,ograve,244,ocirc,245,otilde,246,ouml,248,oslash,339,oelig,249,ugrave,251,ucirc,252,uuml,254,thorn,255,yuml,914,Beta,915,Gamma,916,Delta,917,Epsilon,918,Zeta,919,Eta,920,Theta,921,Iota,922,Kappa,923,Lambda,924,Mu,925,Nu,926,Xi,927,Omicron,928,Pi,929,Rho,931,Sigma,932,Tau,933,Upsilon,934,Phi,935,Chi,936,Psi,937,Omega,945,alpha,946,beta,947,gamma,948,delta,949,epsilon,950,zeta,951,eta,952,theta,953,iota,954,kappa,955,lambda,956,mu,957,nu,958,xi,959,omicron,960,pi,961,rho,962,sigmaf,963,sigma,964,tau,965,upsilon,966,phi,967,chi,968,psi,969,omega,8501,alefsym,982,piv,8476,real,977,thetasym,978,upsih,8472,weierp,8465,image,8592,larr,8593,uarr,8594,rarr,8595,darr,8596,harr,8629,crarr,8656,lArr,8657,uArr,8658,rArr,8659,dArr,8660,hArr,8756,there4,8834,sub,8835,sup,8836,nsub,8838,sube,8839,supe,8853,oplus,8855,otimes,8869,perp,8901,sdot,8968,lceil,8969,rceil,8970,lfloor,8971,rfloor,9001,lang,9002,rang,9674,loz,9824,spades,9827,clubs,9829,hearts,9830,diams,8194,ensp,8195,emsp,8201,thinsp,8204,zwnj,8205,zwj,8206,lrm,8207,rlm,173,shy,233,eacute,237,iacute,243,oacute,250,uacute,193,Aacute,225,aacute,201,Eacute,205,Iacute,211,Oacute,218,Uacute,221,Yacute,253,yacute");this.defParam("entity_encoding","named");this.defParam("cleanup_callback","");this.defParam("add_unload_trigger",true);this.defParam("ask",false);this.defParam("nowrap",false);this.defParam("auto_resize",false);this.defParam("auto_focus",false);this.defParam("cleanup",true);this.defParam("remove_linebreaks",true);this.defParam("button_tile_map",false);this.defParam("submit_patch",true);this.defParam("browsers","msie,safari,gecko");this.defParam("dialog_type","window");this.defParam("convert_fonts_to_styles",true);if(this.isMSIE&&this.settings['browsers'].indexOf('msie')==-1)return;if(this.isGecko&&this.settings['browsers'].indexOf('gecko')==-1)return;if(this.isSafari&&this.settings['browsers'].indexOf('safari')==-1)return;var baseHREF=tinyMCE.settings['document_base_url'];if(baseHREF.indexOf('?')!=-1)baseHREF=baseHREF.substring(0,baseHREF.indexOf('?'));this.settings['base_href']=baseHREF.substring(0,baseHREF.lastIndexOf('/'))+"/";theme=this.settings['theme'];this.blockRegExp=new RegExp("^(h[1-6]|p|div|address|pre|form|table|li|ol|ul|td)$","i");this.posKeyCodes=new Array(13,45,36,35,33,34,37,38,39,40);this.settings['theme_href']=tinyMCE.baseURL+"/themes/"+theme;if(!tinyMCE.isMSIE)this.settings['force_br_newlines']=false;if(tinyMCE.getParam("content_css",false)){var cssPath=tinyMCE.getParam("content_css","");if(cssPath.indexOf('://')==-1&&cssPath.charAt(0)!='/')this.settings['content_css']=this.documentBasePath+"/"+cssPath;else this.settings['content_css']=cssPath;}else this.settings['content_css']='';if(tinyMCE.getParam("popups_css",false)){var cssPath=tinyMCE.getParam("popups_css","");if(cssPath.indexOf('://')==-1&&cssPath.charAt(0)!='/')this.settings['popups_css']=this.documentBasePath+"/"+cssPath;else this.settings['popups_css']=cssPath;}else this.settings['popups_css']=tinyMCE.baseURL+"/themes/"+theme+"/css/editor_popup.css";if(tinyMCE.getParam("editor_css",false)){var cssPath=tinyMCE.getParam("editor_css","");if(cssPath.indexOf('://')==-1&&cssPath.charAt(0)!='/')this.settings['editor_css']=this.documentBasePath+"/"+cssPath;else this.settings['editor_css']=cssPath;}else this.settings['editor_css']=tinyMCE.baseURL+"/themes/"+theme+"/css/editor_ui.css";if(tinyMCE.settings['debug']){var msg="Debug: \n";msg+="baseURL: "+this.baseURL+"\n";msg+="documentBasePath: "+this.documentBasePath+"\n";msg+="content_css: "+this.settings['content_css']+"\n";msg+="popups_css: "+this.settings['popups_css']+"\n";msg+="editor_css: "+this.settings['editor_css']+"\n";alert(msg);}this._initCleanup();if(this.configs.length==0){if(this.isSafari&&this.getParam('safari_warning',true))alert("Safari support is very limited and should be considered experimental.\nSo there is no need to even submit bugreports on this early version.");tinyMCE.addEvent(window,"load",TinyMCE.prototype.onLoad);if(tinyMCE.isMSIE){if(tinyMCE.settings['add_unload_trigger']){tinyMCE.addEvent(window,"unload",TinyMCE.prototype.unloadHandler);tinyMCE.addEvent(window.document,"beforeunload",TinyMCE.prototype.unloadHandler);}}else{if(tinyMCE.settings['add_unload_trigger'])tinyMCE.addEvent(window,"unload",function(){tinyMCE.triggerSave(true,true);});}}this.loadScript(tinyMCE.baseURL+'/themes/'+this.settings['theme']+'/editor_template'+tinyMCE.srcMode+'.js');this.loadScript(tinyMCE.baseURL+'/langs/'+this.settings['language']+'.js');this.loadCSS(this.settings['editor_css']);var themePlugins=tinyMCE.getParam('plugins','',true,',');if(this.settings['plugins']!=''){for(var i=0;i<themePlugins.length;i++)this.loadScript(tinyMCE.baseURL+'/plugins/'+themePlugins[i]+'/editor_plugin'+tinyMCE.srcMode+'.js');}settings['index']=this.configs.length;this.configs[this.configs.length]=settings;};TinyMCE.prototype.loadScript=function(url){for(var i=0;i<this.loadedFiles.length;i++){if(this.loadedFiles[i]==url)return;}document.write('<sc'+'ript language="javascript" type="text/javascript" src="'+url+'"></script>');this.loadedFiles[this.loadedFiles.length]=url;};TinyMCE.prototype.loadCSS=function(url){for(var i=0;i<this.loadedFiles.length;i++){if(this.loadedFiles[i]==url)return;}document.write('<link href="'+url+'" rel="stylesheet" type="text/css" />');this.loadedFiles[this.loadedFiles.length]=url;};TinyMCE.prototype.importCSS=function(doc,css_file){if(css_file=='')return;if(tinyMCE.isMSIE)var styleSheet=doc.createStyleSheet(css_file);else{var elm=doc.createElement("link");elm.rel="stylesheet";elm.href=css_file;if(headArr=doc.getElementsByTagName("head"))headArr[0].appendChild(elm);}};TinyMCE.prototype.confirmAdd=function(e,settings){var elm=tinyMCE.isMSIE?event.srcElement:e.target;var elementId=elm.name?elm.name:elm.id;tinyMCE.settings=settings;if(!elm.getAttribute('mce_noask')&&confirm(tinyMCELang['lang_edit_confirm']))tinyMCE.addMCEControl(elm,elementId);elm.setAttribute('mce_noask','true');};TinyMCE.prototype.updateContent=function(form_element_name){var formElement=document.getElementById(form_element_name);for(var n in tinyMCE.instances){var inst=tinyMCE.instances[n];inst.switchSettings();if(inst.formElement==formElement){var doc=inst.getDoc();tinyMCE._setHTML(doc,inst.formElement.value);if(!tinyMCE.isMSIE)doc.body.innerHTML=tinyMCE._cleanupHTML(inst,doc,this.settings,doc.body,inst.visualAid);}}};TinyMCE.prototype.addMCEControl=function(replace_element,form_element_name,target_document){var id="mce_editor_"+tinyMCE.idCounter++;var inst=new TinyMCEControl(tinyMCE.settings);inst.editorId=id;this.instances[id]=inst;inst.onAdd(replace_element,form_element_name,target_document);};TinyMCE.prototype.triggerSave=function(skip_cleanup,skip_callback){for(var n in tinyMCE.instances){var inst=tinyMCE.instances[n];inst.switchSettings();tinyMCE.settings['preformatted']=false;if(typeof(skip_cleanup)=="undefined")skip_cleanup=false;if(typeof(skip_callback)=="undefined")skip_callback=false;tinyMCE._setHTML(inst.getDoc(),inst.getBody().innerHTML);if(inst.settings['cleanup']==false){tinyMCE.handleVisualAid(inst.getBody(),true,false,inst);tinyMCE._setEventsEnabled(inst.getBody(),false);}tinyMCE._customCleanup(inst,"submit_content_dom",inst.contentWindow.document.body);var htm=skip_cleanup?inst.getBody().innerHTML:tinyMCE._cleanupHTML(inst,inst.getDoc(),this.settings,inst.getBody(),this.visualAid,true);htm=tinyMCE._customCleanup(inst,"submit_content",htm);if(tinyMCE.settings["encoding"]=="xml"||tinyMCE.settings["encoding"]=="html")htm=tinyMCE.convertStringToXML(htm);if(!skip_callback&&tinyMCE.settings['save_callback']!="")var content=eval(tinyMCE.settings['save_callback']+"(inst.formTargetElementId,htm,inst.getBody());");if((typeof(content)!="undefined")&&content!=null)htm=content;htm=tinyMCE.regexpReplace(htm,"&#40;","(","gi");htm=tinyMCE.regexpReplace(htm,"&#41;",")","gi");htm=tinyMCE.regexpReplace(htm,"&#59;",";","gi");htm=tinyMCE.regexpReplace(htm,"&#34;","&quot;","gi");htm=tinyMCE.regexpReplace(htm,"&#94;","^","gi");if(inst.formElement)inst.formElement.value=htm;}};TinyMCE.prototype._setEventsEnabled=function(node,state){var events=new Array('onfocus','onblur','onclick','ondblclick','onmousedown','onmouseup','onmouseover','onmousemove','onmouseout','onkeypress','onkeydown','onkeydown','onkeyup');var elms=node.getElementsByTagName("a");for(var i=0;i<elms.length;i++){var event="";for(var x=0;x<events.length;x++){if((event=tinyMCE.getAttrib(elms[i],events[x]))!=''){event=tinyMCE.cleanupEventStr(""+event);if(state)event="return true;"+event;else event=event.replace(/^return true;/gi,'');elms[i].removeAttribute(events[x]);elms[i].setAttribute(events[x],event);}}}};TinyMCE.prototype.resetForm=function(form_index){var formObj=document.forms[form_index];for(var n in tinyMCE.instances){var inst=tinyMCE.instances[n];inst.switchSettings();for(var i=0;i<formObj.elements.length;i++){if(inst.formTargetElementId==formObj.elements[i].name){inst.getBody().innerHTML=formObj.elements[i].value;return;}}}};TinyMCE.prototype.execInstanceCommand=function(editor_id,command,user_interface,value,focus){var inst=tinyMCE.getInstanceById(editor_id);if(inst){if(typeof(focus)=="undefined")focus=true;if(focus)inst.contentWindow.focus();inst.autoResetDesignMode();this.selectedElement=inst.getFocusElement();this.selectedInstance=inst;tinyMCE.execCommand(command,user_interface,value);}};TinyMCE.prototype.execCommand=function(command,user_interface,value){user_interface=user_interface?user_interface:false;value=value?value:null;if(tinyMCE.selectedInstance)tinyMCE.selectedInstance.switchSettings();switch(command){case 'mceHelp':var template=new Array();template['file']='about.htm';template['width']=480;template['height']=380;tinyMCE.openWindow(template,{tinymce_version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion,tinymce_releasedate:tinyMCE.releaseDate,inline:"yes"});return;case 'mceFocus':var inst=tinyMCE.getInstanceById(value);if(inst)inst.contentWindow.focus();return;case "mceAddControl":case "mceAddEditor":tinyMCE.addMCEControl(tinyMCE._getElementById(value),value);return;case "mceAddFrameControl":tinyMCE.addMCEControl(tinyMCE._getElementById(value),value['element'],value['document']);return;case "mceRemoveControl":case "mceRemoveEditor":tinyMCE.removeMCEControl(value);return;case "mceResetDesignMode":if(!tinyMCE.isMSIE){for(var n in tinyMCE.instances){try{tinyMCE.instances[n].getDoc().designMode="on";}catch(e){}}}return;}if(this.selectedInstance)this.selectedInstance.execCommand(command,user_interface,value);else if(tinyMCE.settings['focus_alert'])alert(tinyMCELang['lang_focus_alert']);};TinyMCE.prototype.eventPatch=function(editor_id){if(typeof(tinyMCE)=="undefined")return true;for(var i=0;i<document.frames.length;i++){if(document.frames[i].event){var event=document.frames[i].event;event.target=event.srcElement;TinyMCE.prototype.handleEvent(event);return;}}};TinyMCE.prototype.unloadHandler=function(){tinyMCE.triggerSave(true,true);};TinyMCE.prototype.addEventHandlers=function(editor_id){if(tinyMCE.isMSIE){var doc=document.frames[editor_id].document;tinyMCE.addEvent(doc,"keypress",TinyMCE.prototype.eventPatch);tinyMCE.addEvent(doc,"keyup",TinyMCE.prototype.eventPatch);tinyMCE.addEvent(doc,"keydown",TinyMCE.prototype.eventPatch);tinyMCE.addEvent(doc,"mouseup",TinyMCE.prototype.eventPatch);tinyMCE.addEvent(doc,"click",TinyMCE.prototype.eventPatch);}else{var inst=tinyMCE.instances[editor_id];var doc=inst.getDoc();inst.switchSettings();tinyMCE.addEvent(doc,"keypress",tinyMCE.handleEvent);tinyMCE.addEvent(doc,"keydown",tinyMCE.handleEvent);tinyMCE.addEvent(doc,"keyup",tinyMCE.handleEvent);tinyMCE.addEvent(doc,"click",tinyMCE.handleEvent);tinyMCE.addEvent(doc,"mouseup",tinyMCE.handleEvent);tinyMCE.addEvent(doc,"mousedown",tinyMCE.handleEvent);tinyMCE.addEvent(doc,"focus",tinyMCE.handleEvent);tinyMCE.addEvent(doc,"blur",tinyMCE.handleEvent);eval('try { doc.designMode = "On"; } catch(e) {}');}};TinyMCE.prototype._createIFrame=function(replace_element){var iframe=document.createElement("iframe");var id=replace_element.getAttribute("id");iframe.setAttribute("id",id);iframe.setAttribute("border","0");iframe.setAttribute("frameBorder","0");iframe.setAttribute("marginWidth","0");iframe.setAttribute("marginHeight","0");iframe.setAttribute("leftMargin","0");iframe.setAttribute("topMargin","0");iframe.setAttribute("width",tinyMCE.settings['area_width']);iframe.setAttribute("height",tinyMCE.settings['area_height']);iframe.setAttribute("allowtransparency","true");if(tinyMCE.settings["auto_resize"])iframe.setAttribute("scrolling","no");if(tinyMCE.isMSIE)iframe.setAttribute("src",this.settings['default_document']);iframe.style.width=tinyMCE.settings['area_width'];iframe.style.height=tinyMCE.settings['area_height'];if(tinyMCE.isMSIE)replace_element.outerHTML=iframe.outerHTML;else replace_element.parentNode.replaceChild(iframe,replace_element);if(tinyMCE.isMSIE)return window.frames[id];else return iframe;};TinyMCE.prototype.setupContent=function(editor_id){var inst=tinyMCE.instances[editor_id];var doc=inst.getDoc();var head=doc.getElementsByTagName('head').item(0);var content=inst.startContent;inst.switchSettings();if(!tinyMCE.isMSIE&&doc.title!="blank_page"){doc.location.href=tinyMCE.baseURL+"/blank.htm";window.setTimeout("tinyMCE.setupContent('"+editor_id+"');",1000);return;}if(!head){window.setTimeout("tinyMCE.setupContent('"+editor_id+"');",10);return;}tinyMCE.importCSS(inst.getDoc(),tinyMCE.baseURL+"/themes/"+inst.settings['theme']+"/css/editor_content.css");tinyMCE.importCSS(inst.getDoc(),inst.settings['content_css']);tinyMCE.executeCallback('init_instance_callback','_initInstance',0,inst);if(tinyMCE.settings['nowrap'])doc.body.style.whiteSpace="nowrap";doc.body.dir=this.settings['directionality'];doc.editorId=editor_id;if(!tinyMCE.isMSIE)doc.documentElement.editorId=editor_id;base=doc.createElement("base");base.setAttribute('href',tinyMCE.settings['base_href']);head.appendChild(base);if(tinyMCE.settings['convert_newlines_to_brs']){content=tinyMCE.regexpReplace(content,"\r\n","<br />","gi");content=tinyMCE.regexpReplace(content,"\r","<br />","gi");content=tinyMCE.regexpReplace(content,"\n","<br />","gi");}content=tinyMCE._customCleanup(inst,"insert_to_editor",content);if(tinyMCE.isMSIE){window.setInterval('try{tinyMCE.getCSSClasses(document.frames["'+editor_id+'"].document, "'+editor_id+'");}catch(e){}',500);if(tinyMCE.settings["force_br_newlines"])document.frames[editor_id].document.styleSheets[0].addRule("p","margin: 0px;");var body=document.frames[editor_id].document.body;tinyMCE.addEvent(body,"beforepaste",TinyMCE.prototype.eventPatch);tinyMCE.addEvent(body,"beforecut",TinyMCE.prototype.eventPatch);body.editorId=editor_id;}if(!tinyMCE.isMSIE){var contentElement=inst.getDoc().createElement("body");var doc=inst.getDoc();contentElement.innerHTML=content;if(tinyMCE.settings['force_p_newlines'])content=content.replace(new RegExp('&lt;&gt;','g'),"");if(tinyMCE.settings['cleanup_on_startup'])inst.getBody().innerHTML=tinyMCE._cleanupHTML(inst,doc,this.settings,contentElement);else{content=tinyMCE.regexpReplace(content,"<strong","<b","gi");content=tinyMCE.regexpReplace(content,"<em(/?)>","<i$1>","gi");content=tinyMCE.regexpReplace(content,"<em ","<i ","gi");content=tinyMCE.regexpReplace(content,"</strong>","</b>","gi");content=tinyMCE.regexpReplace(content,"</em>","</i>","gi");inst.getBody().innerHTML=content;}inst.convertAllRelativeURLs();}else{if(tinyMCE.settings['cleanup_on_startup']){tinyMCE._setHTML(inst.getDoc(),content);eval('try {inst.getBody().innerHTML = tinyMCE._cleanupHTML(inst, inst.contentDocument, this.settings, inst.getBody());} catch(e) {}');}else tinyMCE._setHTML(inst.getDoc(),content);}var parentElm=document.getElementById(inst.editorId+'_parent');if(parentElm.lastChild.nodeName.toLowerCase()=="input")inst.formElement=parentElm.lastChild;else inst.formElement=parentElm.nextSibling;tinyMCE.handleVisualAid(inst.getBody(),true,tinyMCE.settings['visual'],inst);tinyMCE.executeCallback('setupcontent_callback','_setupContent',0,editor_id,inst.getBody(),inst.getDoc());if(!tinyMCE.isMSIE)TinyMCE.prototype.addEventHandlers(editor_id);if(tinyMCE.isMSIE)tinyMCE.addEvent(inst.getBody(),"blur",TinyMCE.prototype.eventPatch);tinyMCE.selectedInstance=inst;tinyMCE.selectedElement=inst.contentWindow.document.body;tinyMCE.triggerNodeChange(false,true);tinyMCE._customCleanup(inst,"insert_to_editor_dom",inst.getBody());tinyMCE._customCleanup(inst,"setup_content_dom",inst.getBody());tinyMCE._setEventsEnabled(inst.getBody(),true);inst.startContent=tinyMCE.trim(inst.getBody().innerHTML);inst.undoLevels[inst.undoLevels.length]=inst.startContent;};TinyMCE.prototype.cancelEvent=function(e){if(tinyMCE.isMSIE){e.returnValue=false;e.cancelBubble=true;}else e.preventDefault();};TinyMCE.prototype.removeTinyMCEFormElements=function(form_obj){for(var i=0;i<form_obj.elements.length;i++){var elementId=form_obj.elements[i].name?form_obj.elements[i].name:form_obj.elements[i].id;if(elementId.indexOf('mce_editor_')==0)form_obj.elements[i].disabled=true;}};TinyMCE.prototype.accessibleEventHandler=function(e){var win=this._win;e=tinyMCE.isMSIE?win.event:e;var elm=tinyMCE.isMSIE?e.srcElement:e.target;if(elm.nodeName=="SELECT"&&!elm.oldonchange){elm.oldonchange=elm.onchange;elm.onchange=null;}if(e.keyCode==13){elm.onchange=elm.oldonchange;elm.onchange();elm.oldonchange=null;tinyMCE.cancelEvent(e);}};TinyMCE.prototype.addSelectAccessibility=function(e,select,win){if(!select._isAccessible){select.onkeydown=tinyMCE.accessibleEventHandler;select._isAccessible=true;select._win=win;}};TinyMCE.prototype.handleEvent=function(e){if(typeof(tinyMCE)=="undefined")return true;switch(e.type){case "blur":if(tinyMCE.selectedInstance)tinyMCE.selectedInstance.execCommand('mceEndTyping');return;case "submit":tinyMCE.removeTinyMCEFormElements(tinyMCE.isMSIE?window.event.srcElement:e.target);tinyMCE.triggerSave();tinyMCE.isNotDirty=true;return;case "reset":var formObj=tinyMCE.isMSIE?window.event.srcElement:e.target;for(var i=0;i<document.forms.length;i++){if(document.forms[i]==formObj)window.setTimeout('tinyMCE.resetForm('+i+');',10);}return;case "keypress":if(e.target.editorId){tinyMCE.selectedInstance=tinyMCE.instances[e.target.editorId];}else{if(e.target.ownerDocument.editorId)tinyMCE.selectedInstance=tinyMCE.instances[e.target.ownerDocument.editorId];}if(tinyMCE.selectedInstance)tinyMCE.selectedInstance.switchSettings();if(tinyMCE.isGecko&&tinyMCE.settings['force_p_newlines']&&e.keyCode==13&&!e.shiftKey){if(tinyMCE.selectedInstance._insertPara(e)){tinyMCE.execCommand("mceAddUndoLevel");e.preventDefault();return false;}}if(tinyMCE.isGecko&&tinyMCE.settings['force_p_newlines']&&(e.keyCode==8||e.keyCode==46)&&!e.shiftKey){if(tinyMCE.selectedInstance._handleBackSpace(e.type)){tinyMCE.execCommand("mceAddUndoLevel");e.preventDefault();return false;}}if(tinyMCE.isGecko&&e.ctrlKey&&tinyMCE.settings['custom_undo_redo']){if(tinyMCE.settings['custom_undo_redo_keyboard_shortcuts']){if(e.charCode==122){tinyMCE.selectedInstance.execCommand("Undo");e.preventDefault();return false;}if(e.charCode==121){tinyMCE.selectedInstance.execCommand("Redo");e.preventDefault();return false;}}if(e.charCode==98){tinyMCE.selectedInstance.execCommand("Bold");e.preventDefault();return false;}if(e.charCode==105){tinyMCE.selectedInstance.execCommand("Italic");e.preventDefault();return false;}if(e.charCode==117){tinyMCE.selectedInstance.execCommand("Underline");e.preventDefault();return false;}}if(tinyMCE.isMSIE&&tinyMCE.settings['force_br_newlines']&&e.keyCode==13){if(e.target.editorId)tinyMCE.selectedInstance=tinyMCE.instances[e.target.editorId];if(tinyMCE.selectedInstance){var sel=tinyMCE.selectedInstance.getDoc().selection;var rng=sel.createRange();if(tinyMCE.getParentElement(rng.parentElement(),"li")!=null)return false;e.returnValue=false;e.cancelBubble=true;rng.pasteHTML("<br />");rng.collapse(false);rng.select();tinyMCE.execCommand("mceAddUndoLevel");tinyMCE.triggerNodeChange(false);return false;}}if(e.keyCode==8||e.keyCode==46){tinyMCE.selectedElement=e.target;tinyMCE.linkElement=tinyMCE.getParentElement(e.target,"a");tinyMCE.imgElement=tinyMCE.getParentElement(e.target,"img");tinyMCE.triggerNodeChange(false);}return false;break;case "keyup":case "keydown":if(e.target.editorId)tinyMCE.selectedInstance=tinyMCE.instances[e.target.editorId];else return;if(tinyMCE.selectedInstance)tinyMCE.selectedInstance.switchSettings();var inst=tinyMCE.selectedInstance;if(tinyMCE.isGecko&&tinyMCE.settings['force_p_newlines']&&(e.keyCode==8||e.keyCode==46)&&!e.shiftKey){if(tinyMCE.selectedInstance._handleBackSpace(e.type)){tinyMCE.execCommand("mceAddUndoLevel");e.preventDefault();return false;}}tinyMCE.selectedElement=null;tinyMCE.selectedNode=null;var elm=tinyMCE.selectedInstance.getFocusElement();tinyMCE.linkElement=tinyMCE.getParentElement(elm,"a");tinyMCE.imgElement=tinyMCE.getParentElement(elm,"img");tinyMCE.selectedElement=elm;if(tinyMCE.isGecko&&e.type=="keyup"&&e.keyCode==9)tinyMCE.handleVisualAid(tinyMCE.selectedInstance.getBody(),true,tinyMCE.settings['visual'],tinyMCE.selectedInstance);if(tinyMCE.isGecko&&tinyMCE.settings['document_base_url']!=""+document.location.href&&e.type=="keyup"&&e.ctrlKey&&e.keyCode==86)tinyMCE.selectedInstance.fixBrokenURLs();if(tinyMCE.isMSIE&&e.type=="keydown"&&e.keyCode==13)tinyMCE.enterKeyElement=tinyMCE.selectedInstance.getFocusElement();if(tinyMCE.isMSIE&&e.type=="keyup"&&e.keyCode==13){var elm=tinyMCE.enterKeyElement;if(elm){var re=new RegExp('^HR|IMG|BR$','g');var dre=new RegExp('^H[1-6]$','g');if(!elm.hasChildNodes()&&!re.test(elm.nodeName)){if(dre.test(elm.nodeName))elm.innerHTML="&nbsp;&nbsp;";else elm.innerHTML="&nbsp;";}}}var keys=tinyMCE.posKeyCodes;var posKey=false;for(var i=0;i<keys.length;i++){if(keys[i]==e.keyCode){posKey=true;break;}}if(tinyMCE.isMSIE&&tinyMCE.settings['custom_undo_redo']){var keys=new Array(8,46);for(var i=0;i<keys.length;i++){if(keys[i]==e.keyCode){if(e.type=="keyup")tinyMCE.triggerNodeChange(false);}}if(tinyMCE.settings['custom_undo_redo_keyboard_shortcuts']){if(e.keyCode==90&&e.ctrlKey&&e.type=="keydown"){tinyMCE.selectedInstance.execCommand("Undo");tinyMCE.triggerNodeChange(false);}if(e.keyCode==89&&e.ctrlKey&&e.type=="keydown"){tinyMCE.selectedInstance.execCommand("Redo");tinyMCE.triggerNodeChange(false);}if((e.keyCode==90||e.keyCode==89)&&e.ctrlKey){e.returnValue=false;e.cancelBubble=true;return false;}}}if(!posKey&&e.type=="keyup")tinyMCE.execCommand("mceStartTyping");if(e.type=="keyup"&&(posKey||e.ctrlKey))tinyMCE.execCommand("mceEndTyping");if(posKey&&e.type=="keyup")tinyMCE.triggerNodeChange(false);break;case "mousedown":case "mouseup":case "click":case "focus":if(tinyMCE.selectedInstance)tinyMCE.selectedInstance.switchSettings();var targetBody=tinyMCE.getParentElement(e.target,"body");for(var instanceName in tinyMCE.instances){var inst=tinyMCE.instances[instanceName];inst.autoResetDesignMode();if(inst.getBody()==targetBody){tinyMCE.selectedInstance=inst;tinyMCE.selectedElement=e.target;tinyMCE.linkElement=tinyMCE.getParentElement(tinyMCE.selectedElement,"a");tinyMCE.imgElement=tinyMCE.getParentElement(tinyMCE.selectedElement,"img");break;}}if(tinyMCE.isSafari){tinyMCE.selectedInstance.lastSafariSelection=tinyMCE.selectedInstance.getBookmark();tinyMCE.selectedInstance.lastSafariSelectedElement=tinyMCE.selectedElement;var lnk=tinyMCE.getParentElement(tinyMCE.selectedElement,"a");if(lnk&&e.type=="mousedown"){lnk.setAttribute("mce_real_href",lnk.getAttribute("href"));lnk.setAttribute("href","javascript:void(0);");}if(lnk&&e.type=="click"){window.setTimeout(function(){lnk.setAttribute("href",lnk.getAttribute("mce_real_href"));lnk.removeAttribute("mce_real_href");},10);}}if(e.type!="focus")tinyMCE.selectedNode=null;tinyMCE.triggerNodeChange(false);tinyMCE.execCommand("mceEndTyping");if(e.type=="mouseup")tinyMCE.execCommand("mceAddUndoLevel");if(!tinyMCE.selectedInstance&&e.target.editorId)tinyMCE.selectedInstance=tinyMCE.instances[e.target.editorId];if(tinyMCE.isGecko&&tinyMCE.settings['document_base_url']!=""+document.location.href)window.setTimeout('tinyMCE.getInstanceById("'+inst.editorId+'").fixBrokenURLs();',10);return false;break;}};TinyMCE.prototype.switchClass=function(element,class_name,lock_state){var lockChanged=false;if(typeof(lock_state)!="undefined"&&element!=null){element.classLock=lock_state;lockChanged=true;}if(element!=null&&(lockChanged||!element.classLock)){element.oldClassName=element.className;element.className=class_name;}};TinyMCE.prototype.restoreAndSwitchClass=function(element,class_name){if(element!=null&&!element.classLock){this.restoreClass(element);this.switchClass(element,class_name);}};TinyMCE.prototype.switchClassSticky=function(element_name,class_name,lock_state){var element,lockChanged=false;if(!this.stickyClassesLookup[element_name])this.stickyClassesLookup[element_name]=document.getElementById(element_name);element=this.stickyClassesLookup[element_name];if(typeof(lock_state)!="undefined"&&element!=null){element.classLock=lock_state;lockChanged=true;}if(element!=null&&(lockChanged||!element.classLock)){element.className=class_name;element.oldClassName=class_name;}};TinyMCE.prototype.restoreClass=function(element){if(element!=null&&element.oldClassName&&!element.classLock){element.className=element.oldClassName;element.oldClassName=null;}};TinyMCE.prototype.setClassLock=function(element,lock_state){if(element!=null)element.classLock=lock_state;};TinyMCE.prototype.addEvent=function(obj,name,handler){if(tinyMCE.isMSIE){obj.attachEvent("on"+name,handler);}else obj.addEventListener(name,handler,false);};TinyMCE.prototype.submitPatch=function(){tinyMCE.removeTinyMCEFormElements(this);tinyMCE.triggerSave();this.oldSubmit();tinyMCE.isNotDirty=true;};TinyMCE.prototype.onLoad=function(){for(var c=0;c<tinyMCE.configs.length;c++){tinyMCE.settings=tinyMCE.configs[c];var selector=tinyMCE.getParam("editor_selector");var deselector=tinyMCE.getParam("editor_deselector");var elementRefAr=new Array();if(document.forms&&tinyMCE.settings['add_form_submit_trigger']&&!tinyMCE.submitTriggers){for(var i=0;i<document.forms.length;i++){var form=document.forms[i];tinyMCE.addEvent(form,"submit",TinyMCE.prototype.handleEvent);tinyMCE.addEvent(form,"reset",TinyMCE.prototype.handleEvent);tinyMCE.submitTriggers=true;if(tinyMCE.settings['submit_patch']){try{form.oldSubmit=form.submit;form.submit=TinyMCE.prototype.submitPatch;}catch(e){}}}}var mode=tinyMCE.settings['mode'];switch(mode){case "exact":var elements=tinyMCE.getParam('elements','',true,',');for(var i=0;i<elements.length;i++){var element=tinyMCE._getElementById(elements[i]);var trigger=element?element.getAttribute(tinyMCE.settings['textarea_trigger']):"";if(tinyMCE.getAttrib(element,"class").indexOf(deselector)!=-1)continue;if(trigger=="false")continue;if(tinyMCE.settings['ask']&&element){elementRefAr[elementRefAr.length]=element;continue;}if(element)tinyMCE.addMCEControl(element,elements[i]);else if(tinyMCE.settings['debug'])alert("Error: Could not find element by id or name: "+elements[i]);}break;case "specific_textareas":case "textareas":var nodeList=document.getElementsByTagName("textarea");for(var i=0;i<nodeList.length;i++){var elm=nodeList.item(i);var trigger=elm.getAttribute(tinyMCE.settings['textarea_trigger']);if(selector!=''&&tinyMCE.getAttrib(elm,"class").indexOf(selector)==-1)continue;if(tinyMCE.getAttrib(elm,"class").indexOf(deselector)!=-1)continue;if((mode=="specific_textareas"&&trigger=="true")||(mode=="textareas"&&trigger!="false"))elementRefAr[elementRefAr.length]=elm;}break;}for(var i=0;i<elementRefAr.length;i++){var element=elementRefAr[i];var elementId=element.name?element.name:element.id;if(tinyMCE.settings['ask']){if(tinyMCE.isGecko){var settings=tinyMCE.settings;tinyMCE.addEvent(element,"focus",function(e){window.setTimeout(function(){TinyMCE.prototype.confirmAdd(e,settings);},10);});}else{var settings=tinyMCE.settings;tinyMCE.addEvent(element,"focus",function(){TinyMCE.prototype.confirmAdd(null,settings);});}}else tinyMCE.addMCEControl(element,elementId);}if(tinyMCE.settings['auto_focus']){window.setTimeout(function(){var inst=tinyMCE.getInstanceById(tinyMCE.settings['auto_focus']);inst.selectNode(inst.getBody(),true,true);inst.contentWindow.focus();},10);}tinyMCE.executeCallback('oninit','_oninit',0);}};TinyMCE.prototype.removeMCEControl=function(editor_id){var inst=tinyMCE.getInstanceById(editor_id);if(inst){inst.switchSettings();editor_id=inst.editorId;var html=tinyMCE.getContent(editor_id);var tmpInstances=new Array();for(var instanceName in tinyMCE.instances){var instance=tinyMCE.instances[instanceName];if(instanceName!=editor_id)tmpInstances[instanceName]=instance;}tinyMCE.instances=tmpInstances;tinyMCE.selectedElement=null;tinyMCE.selectedInstance=null;var replaceElement=document.getElementById(editor_id+"_parent");var oldTargetElement=inst.oldTargetElement;var targetName=oldTargetElement.nodeName.toLowerCase();if(targetName=="textarea"||targetName=="input"){replaceElement.parentNode.removeChild(replaceElement);oldTargetElement.style.display="inline";oldTargetElement.value=html;}else{oldTargetElement.innerHTML=html;replaceElement.parentNode.insertBefore(oldTargetElement,replaceElement);replaceElement.parentNode.removeChild(replaceElement);}}};TinyMCE.prototype._cleanupElementName=function(element_name,element){var name="";element_name=element_name.toLowerCase();if(element_name=="body")return null;if(tinyMCE.cleanup_verify_html){for(var i=0;i<tinyMCE.cleanup_invalidElements.length;i++){if(tinyMCE.cleanup_invalidElements[i]==element_name)return null;}var validElement=false;var elementAttribs=null;for(var i=0;i<tinyMCE.cleanup_validElements.length&&!elementAttribs;i++){for(var x=0,n=tinyMCE.cleanup_validElements[i][0].length;x<n;x++){var elmMatch=tinyMCE.cleanup_validElements[i][0][x];if(elmMatch.charAt(0)=='+'||elmMatch.charAt(0)=='-')elmMatch=elmMatch.substring(1);if(elmMatch.match(new RegExp('\\*|\\?|\\+','g'))!=null){elmMatch=elmMatch.replace(new RegExp('\\?','g'),'(\\S?)');elmMatch=elmMatch.replace(new RegExp('\\+','g'),'(\\S+)');elmMatch=elmMatch.replace(new RegExp('\\*','g'),'(\\S*)');elmMatch="^"+elmMatch+"$";if(element_name.match(new RegExp(elmMatch,'g'))){elementAttribs=tinyMCE.cleanup_validElements[i];validElement=true;break;}}if(element_name==elmMatch){elementAttribs=tinyMCE.cleanup_validElements[i];validElement=true;element_name=elementAttribs[0][0];break;}}}if(!validElement)return null;}if(element_name.charAt(0)=='+'||element_name.charAt(0)=='-')name=element_name.substring(1);if(!tinyMCE.isMSIE){if(name=="strong"&&!tinyMCE.cleanup_on_save)element_name="b";else if(name=="em"&&!tinyMCE.cleanup_on_save)element_name="i";}var elmData=new Object();elmData.element_name=element_name;elmData.valid_attribs=elementAttribs;return elmData;};TinyMCE.prototype._moveStyle=function(elm,style,attrib){if(tinyMCE.cleanup_inline_styles){var val=tinyMCE.getAttrib(elm,attrib);if(val!=''){val=''+val;switch(attrib){case "background":val="url('"+val+"');";break;case "bordercolor":if(elm.style.borderStyle==''||elm.style.borderStyle=='none')elm.style.borderStyle='solid';break;case "border":case "width":case "height":if(attrib=="border"&&elm.style.borderWidth>0)return;if(val.indexOf('%')==-1)val+='px';break;case "vspace":case "hspace":elm.style.marginTop=val+"px";elm.style.marginBottom=val+"px";elm.removeAttribute(attrib);return;case "align":if(elm.nodeName=="IMG"){if(tinyMCE.isMSIE)elm.style.styleFloat=val;else elm.style.cssFloat=val;}else elm.style.textAlign=val;elm.removeAttribute(attrib);return;}if(val!=''){eval('elm.style.'+style+' = val;');elm.removeAttribute(attrib);}}}else{if(style=='')return;var val=eval('elm.style.'+style)==''?tinyMCE.getAttrib(elm,attrib):eval('elm.style.'+style);val=val==null?'':''+val;switch(attrib){case "background":if(val.indexOf('url')==-1&&val!='')val="url('"+val+"');";if(val!=''){elm.style.backgroundImage=val;elm.removeAttribute(attrib);}return;case "border":case "width":case "height":val=val.replace('px','');break;case "align":if(tinyMCE.getAttrib(elm,'align')==''){if(elm.nodeName=="IMG"){if(tinyMCE.isMSIE&&elm.style.styleFloat!=''){val=elm.style.styleFloat;style='styleFloat';}else if(tinyMCE.isGecko&&elm.style.cssFloat!=''){val=elm.style.cssFloat;style='cssFloat';}}}break;}if(val!=''){elm.removeAttribute(attrib);elm.setAttribute(attrib,val);eval('elm.style.'+style+' = "";');}}};TinyMCE.prototype._cleanupAttribute=function(valid_attributes,element_name,attribute_node,element_node){var attribName=attribute_node.nodeName.toLowerCase();var attribValue=attribute_node.nodeValue;var attribMustBeValue=null;var verified=false;if(attribName.indexOf('moz_')!=-1)return null;if(!tinyMCE.isMSIE&&(attribName=="mce_real_href"||attribName=="mce_real_src")){if(!tinyMCE.cleanup_on_save){var attrib=new Object();attrib.name=attribName;attrib.value=attribValue;return attrib;}else return null;}if(attribName=="mce_onclick")verified=true;if(tinyMCE.cleanup_verify_html&&!verified){for(var i=1;i<valid_attributes.length;i++){var attribMatch=valid_attributes[i][0];var re=null;if(attribMatch.match(new RegExp('\\*|\\?|\\+','g'))!=null){attribMatch=attribMatch.replace(new RegExp('\\?','g'),'(\\S?)');attribMatch=attribMatch.replace(new RegExp('\\+','g'),'(\\S+)');attribMatch=attribMatch.replace(new RegExp('\\*','g'),'(\\S*)');attribMatch="^"+attribMatch+"$";re=new RegExp(attribMatch,'g');}if((re&&attribName.match(re)!=null)||attribName==attribMatch){verified=true;attribMustBeValue=valid_attributes[i][3];break;}}if(!verified)return false;}else verified=true;switch(attribName){case "size":if(tinyMCE.isMSIE5&&element_name=="font")attribValue=element_node.size;break;case "width":case "height":case "border":if(tinyMCE.isMSIE5)attribValue=eval("element_node."+attribName);break;case "color":if(tinyMCE.isMSIE5&&element_name=="font")attribValue=element_node.color;break;case "class":if(element_name=="table"||element_name=="td"){if(tinyMCE.cleanup_visual_table_class!="")attribValue=tinyMCE.getVisualAidClass(attribValue,!tinyMCE.cleanup_on_save);}if(!tinyMCE._verifyClass(element_node)||attribValue=="")return null;break;case "onfocus":case "onblur":case "onclick":case "ondblclick":case "onmousedown":case "onmouseup":case "onmouseover":case "onmousemove":case "onmouseout":case "onkeypress":case "onkeydown":case "onkeydown":case "onkeyup":attribValue=tinyMCE.cleanupEventStr(""+attribValue);if(attribValue.indexOf('return false;')==0)attribValue=attribValue.substring(14);break;case "style":attribValue=tinyMCE.serializeStyle(tinyMCE.parseStyle(element_node.style.cssText));break;case "href":case "src":if(!tinyMCE.isMSIE&&attribName=="href"&&element_node.getAttribute("mce_real_href"))attribValue=element_node.getAttribute("mce_real_href");if(!tinyMCE.isMSIE&&attribName=="src"&&element_node.getAttribute("mce_real_src"))attribValue=element_node.getAttribute("mce_real_src");if(tinyMCE.isGecko&&!tinyMCE.settings['relative_urls'])attribValue=tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings['base_href'],attribValue);attribValue=eval(tinyMCE.cleanup_urlconverter_callback+"(attribValue, element_node, tinyMCE.cleanup_on_save);");break;case "colspan":case "rowspan":if(attribValue=="1")return null;break;case "_moz-userdefined":case "editorid":case "mce_real_href":case "mce_real_src":return null;}if(attribMustBeValue!=null){var isCorrect=false;for(var i=0;i<attribMustBeValue.length;i++){if(attribValue==attribMustBeValue[i]){isCorrect=true;break;}}if(!isCorrect)return null;}var attrib=new Object();attrib.name=attribName;attrib.value=attribValue;return attrib;};TinyMCE.prototype.parseStyle=function(str){var ar=new Array();var st=str.split(';');for(var i=0;i<st.length;i++){if(st[i]=='')continue;var re=new RegExp('^\\s*([^:]*):\\s*(.*)\\s*$');var pa=st[i].replace(re,'$1||$2').split('||');if(pa.length==2)ar[pa[0].toLowerCase()]=pa[1];}return ar;};TinyMCE.prototype.compressStyle=function(ar,pr,sf,res){var box=new Array();box[0]=ar[pr+'-top'+sf];box[1]=ar[pr+'-left'+sf];box[2]=ar[pr+'-right'+sf];box[3]=ar[pr+'-bottom'+sf];for(var i=0;i<box.length;i++){if(box[i]==null)return;for(var a=0;a<box.length;a++){if(box[a]!=box[i])return;}}ar[res]=box[0];ar[pr+'-top'+sf]=null;ar[pr+'-left'+sf]=null;ar[pr+'-right'+sf]=null;ar[pr+'-bottom'+sf]=null;};TinyMCE.prototype.serializeStyle=function(ar){var str="";tinyMCE.compressStyle(ar,"border","","border");tinyMCE.compressStyle(ar,"border","-width","border-width");tinyMCE.compressStyle(ar,"border","-color","border-color");for(var key in ar){var val=ar[key];if(val!=null&&val!=''){val=''+val;val=val.replace(new RegExp("url\\(\\'?([^\\']*)\\'?\\)",'gi'),"url('$1')");if(val!="url('')")str+=key.toLowerCase()+": "+val+"; ";}}if(new RegExp('; $').test(str))str=str.substring(0,str.length-2);return str;};TinyMCE.prototype._verifyClass=function(node){if(tinyMCE.isGecko){var className=node.getAttribute('class');if(!className)return false;}if(tinyMCE.isMSIE)var className=node.getAttribute('className');if(tinyMCE.cleanup_verify_css_classes&&tinyMCE.cleanup_on_save){var csses=tinyMCE.getCSSClasses();nonDefinedCSS=true;for(var c=0;c<csses.length;c++){if(csses[c]==className){nonDefinedCSS=false;break;}}if(nonDefinedCSS&&className.indexOf('mce_')!=0){node.removeAttribute('className');node.removeAttribute('class');return false;}}return true;};TinyMCE.prototype.cleanupNode=function(node){var output="";switch(node.nodeType){case 1:var elementData=tinyMCE._cleanupElementName(node.nodeName,node);var elementName=elementData?elementData.element_name:null;var elementValidAttribs=elementData?elementData.valid_attribs:null;var elementAttribs="";var openTag=false,nonEmptyTag=false;if(elementName!=null&&elementName.charAt(0)=='+'){elementName=elementName.substring(1);openTag=true;}if(elementName!=null&&elementName.charAt(0)=='-'){elementName=elementName.substring(1);nonEmptyTag=true;}if(tinyMCE.isMSIE&&tinyMCE.settings['fix_content_duplication']){var lookup=tinyMCE.cleanup_elementLookupTable;for(var i=0;i<lookup.length;i++){if(lookup[i]==node)return output;}lookup[lookup.length]=node;}if(!elementName){if(node.hasChildNodes()){for(var i=0;i<node.childNodes.length;i++)output+=this.cleanupNode(node.childNodes[i]);}return output;}if(tinyMCE.cleanup_on_save){if(node.nodeName=="A"&&node.className=="mceItemAnchor")return '<a name="'+this.convertStringToXML(node.getAttribute("name"))+'"></a>';}if(tinyMCE.cleanup_inline_styles){var re=new RegExp("^(TABLE|TD|TR|IMG|HR)$");if(re.test(node.nodeName)){tinyMCE._moveStyle(node,'width','width');tinyMCE._moveStyle(node,'height','height');tinyMCE._moveStyle(node,'borderWidth','border');tinyMCE._moveStyle(node,'','vspace');tinyMCE._moveStyle(node,'','hspace');tinyMCE._moveStyle(node,'textAlign','align');tinyMCE._moveStyle(node,'backgroundColor','bgColor');tinyMCE._moveStyle(node,'borderColor','borderColor');tinyMCE._moveStyle(node,'backgroundImage','background');if(tinyMCE.isMSIE5)node.outerHTML=node.outerHTML;}else if(tinyMCE.isBlockElement(node))tinyMCE._moveStyle(node,'textAlign','align');if(node.nodeName=="FONT")tinyMCE._moveStyle(node,'color','color');}if(elementValidAttribs){for(var a=1;a<elementValidAttribs.length;a++){var attribName,attribDefaultValue,attribForceValue,attribValue;attribName=elementValidAttribs[a][0];attribDefaultValue=elementValidAttribs[a][1];attribForceValue=elementValidAttribs[a][2];if(attribDefaultValue!=null||attribForceValue!=null){var attribValue=node.getAttribute(attribName);if(node.getAttribute(attribName)==null||node.getAttribute(attribName)=="")attribValue=attribDefaultValue;attribValue=attribForceValue?attribForceValue:attribValue;if(attribValue=="{$uid}")attribValue="uid_"+(tinyMCE.cleanup_idCount++);if(attribName=="class")attribValue=tinyMCE.getVisualAidClass(attribValue,tinyMCE.cleanup_on_save);node.setAttribute(attribName,attribValue);}}}if(elementName=="table"&&!node.hasChildNodes())return "";if(node.attributes.length>0){for(var i=0;i<node.attributes.length;i++){if(node.attributes[i].specified){var attrib=tinyMCE._cleanupAttribute(elementValidAttribs,elementName,node.attributes[i],node);if(attrib&&attrib.value!="")elementAttribs+=" "+attrib.name+"="+'"'+this.convertStringToXML(""+attrib.value)+'"';}}}if(tinyMCE.isMSIE&&elementName=="table"&&node.getAttribute("summary")!=null&&elementAttribs.indexOf('summary')==-1){elementAttribs+=" summary="+'"'+this.convertStringToXML(""+node.getAttribute("summary"))+'"';}if(tinyMCE.isMSIE&&elementName=="input"){if(node.type){if(!elementAttribs.match(/type=/g))elementAttribs+=" type="+'"'+node.type+'"';}if(node.value){if(!elementAttribs.match(/value=/g))elementAttribs+=" value="+'"'+node.value+'"';}}if((elementName=="p"||elementName=="td")&&(node.innerHTML==""||node.innerHTML=="&nbsp;"))return "<"+elementName+elementAttribs+">"+this.convertStringToXML(String.fromCharCode(160))+"</"+elementName+">";if(tinyMCE.isMSIE&&elementName=="script")return "<"+elementName+elementAttribs+">"+node.text+"</"+elementName+">";if(node.hasChildNodes()){if(elementName=="p"&&tinyMCE.cleanup_force_br_newlines)output+="<div"+elementAttribs+">";else output+="<"+elementName+elementAttribs+">";for(var i=0;i<node.childNodes.length;i++)output+=this.cleanupNode(node.childNodes[i]);if(elementName=="p"&&tinyMCE.cleanup_force_br_newlines)output+="</div><br />";else output+="</"+elementName+">";}else{if(!nonEmptyTag){if(openTag)output+="<"+elementName+elementAttribs+"></"+elementName+">";else output+="<"+elementName+elementAttribs+" />";}}return output;case 3:if(node.parentNode.nodeName.toLowerCase()=="script")return node.nodeValue;return this.convertStringToXML(node.nodeValue);case 8:return "<!--"+node.nodeValue+"-->";default:return "[UNKNOWN NODETYPE "+node.nodeType+"]";}};TinyMCE.prototype.convertStringToXML=function(html_data){var output="";for(var i=0;i<html_data.length;i++){var chr=html_data.charCodeAt(i);if(tinyMCE.settings['entity_encoding']=="numeric"){if(chr>127)output+='&#'+chr+";";else output+=String.fromCharCode(chr);continue;}if(tinyMCE.settings['entity_encoding']=="raw"){output+=String.fromCharCode(chr);continue;}if(typeof(tinyMCE.cleanup_entities["c"+chr])!='undefined'&&tinyMCE.cleanup_entities["c"+chr]!='')output+='&'+tinyMCE.cleanup_entities["c"+chr]+';';else output+=''+String.fromCharCode(chr);}return output;};TinyMCE.prototype._getCleanupElementName=function(chunk){var pos;if(chunk.charAt(0)=='+')chunk=chunk.substring(1);if(chunk.charAt(0)=='-')chunk=chunk.substring(1);if((pos=chunk.indexOf('/'))!=-1)chunk=chunk.substring(0,pos);if((pos=chunk.indexOf('['))!=-1)chunk=chunk.substring(0,pos);return chunk;};TinyMCE.prototype._initCleanup=function(){var validElements=tinyMCE.settings["valid_elements"];validElements=validElements.split(',');var extendedValidElements=tinyMCE.settings["extended_valid_elements"];extendedValidElements=extendedValidElements.split(',');for(var i=0;i<extendedValidElements.length;i++){var elementName=this._getCleanupElementName(extendedValidElements[i]);var skipAdd=false;for(var x=0;x<validElements.length;x++){if(this._getCleanupElementName(validElements[x])==elementName){validElements[x]=extendedValidElements[i];skipAdd=true;break;}}if(!skipAdd)validElements[validElements.length]=extendedValidElements[i];}for(var i=0;i<validElements.length;i++){var item=validElements[i];item=item.replace('[','|');item=item.replace(']','');var attribs=item.split('|');for(var x=0;x<attribs.length;x++)attribs[x]=attribs[x].toLowerCase();attribs[0]=attribs[0].split('/');for(var x=1;x<attribs.length;x++){var attribName=attribs[x];var attribDefault=null;var attribForce=null;var attribMustBe=null;if((pos=attribName.indexOf('='))!=-1){attribDefault=attribName.substring(pos+1);attribName=attribName.substring(0,pos);}if((pos=attribName.indexOf(':'))!=-1){attribForce=attribName.substring(pos+1);attribName=attribName.substring(0,pos);}if((pos=attribName.indexOf('<'))!=-1){attribMustBe=attribName.substring(pos+1).split('?');attribName=attribName.substring(0,pos);}attribs[x]=new Array(attribName,attribDefault,attribForce,attribMustBe);}validElements[i]=attribs;}var invalidElements=tinyMCE.settings['invalid_elements'].split(',');for(var i=0;i<invalidElements.length;i++)invalidElements[i]=invalidElements[i].toLowerCase();tinyMCE.settings['cleanup_validElements']=validElements;tinyMCE.settings['cleanup_invalidElements']=invalidElements;tinyMCE.settings['cleanup_entities']=new Array();var entities=tinyMCE.getParam('entities','',true,',');for(var i=0;i<entities.length;i+=2)tinyMCE.settings['cleanup_entities']['c'+entities[i]]=entities[i+1];};TinyMCE.prototype._cleanupHTML=function(inst,doc,config,element,visual,on_save){if(!tinyMCE.settings['cleanup'])return element.innerHTML;tinyMCE._customCleanup(inst,on_save?"get_from_editor_dom":"insert_to_editor_dom",doc.body);tinyMCE.cleanup_validElements=tinyMCE.settings['cleanup_validElements'];tinyMCE.cleanup_entities=tinyMCE.settings['cleanup_entities'];tinyMCE.cleanup_invalidElements=tinyMCE.settings['cleanup_invalidElements'];tinyMCE.cleanup_verify_html=tinyMCE.settings['verify_html'];tinyMCE.cleanup_force_br_newlines=tinyMCE.settings['force_br_newlines'];tinyMCE.cleanup_urlconverter_callback=tinyMCE.settings['urlconverter_callback'];tinyMCE.cleanup_verify_css_classes=tinyMCE.settings['verify_css_classes'];tinyMCE.cleanup_visual_table_class=tinyMCE.settings['visual_table_class'];tinyMCE.cleanup_apply_source_formatting=tinyMCE.settings['apply_source_formatting'];tinyMCE.cleanup_inline_styles=tinyMCE.settings['inline_styles'];tinyMCE.cleanup_visual_aid=visual;tinyMCE.cleanup_on_save=on_save;tinyMCE.cleanup_idCount=0;tinyMCE.cleanup_elementLookupTable=new Array();var startTime=new Date().getTime();if(tinyMCE.isMSIE){var nodes=element.getElementsByTagName("hr");for(var i=0;i<nodes.length;i++){if(nodes[i].id=="null")nodes[i].removeAttribute("id");}element.innerHTML=tinyMCE.regexpReplace(element.innerHTML,'<p>[ \n\r]*<hr.*>[ \n\r]*</p>','<hr />','gi');element.innerHTML=tinyMCE.regexpReplace(element.innerHTML,'<!([^-(DOCTYPE)]* )|<!/[^-]*>','','gi');}var html=this.cleanupNode(element);if(tinyMCE.settings['debug'])tinyMCE.debug("Cleanup process executed in: "+(new Date().getTime()-startTime)+" ms.");html=tinyMCE.regexpReplace(html,'<p><hr /></p>','<hr />');html=tinyMCE.regexpReplace(html,'<p>&nbsp;</p><hr /><p>&nbsp;</p>','<hr />');html=tinyMCE.regexpReplace(html,'<td>\\s*<br />\\s*</td>','<td>&nbsp;</td>');html=html.replace(new RegExp('<a>(.*?)</a>','gi'),'$1');if(!tinyMCE.isMSIE)html=html.replace(new RegExp('<o:p _moz-userdefined="" />','g'),"");if(tinyMCE.settings['apply_source_formatting']){html=html.replace(new RegExp('<(p|div)([^>]*)>','g'),"\n<$1$2>\n");html=html.replace(new RegExp('<\/(p|div)([^>]*)>','g'),"\n</$1$2>\n");html=html.replace(new RegExp('<br />','g'),"<br />\n");}if(tinyMCE.settings['force_br_newlines']){var re=new RegExp('<p>&nbsp;</p>','g');html=html.replace(re,"<br />");}if(tinyMCE.settings['force_p_newlines']){var re=new RegExp('&lt;&gt;','g');html=html.replace(re,"");}if(tinyMCE.settings['remove_linebreaks'])html=html.replace(new RegExp('\r|\n','g'),' ');html=tinyMCE._customCleanup(inst,on_save?"get_from_editor":"insert_to_editor",html);var chk=tinyMCE.regexpReplace(html,"[ \t\r\n]","").toLowerCase();if(chk=="<br/>"||chk=="<br>"||chk=="<p>&nbsp;</p>"||chk=="<p>&#160;</p>"||chk=="<p></p>")html="";if(tinyMCE.settings["preformatted"])return "<pre>"+html+"</pre>";return html;};TinyMCE.prototype.insertLink=function(href,target,title,onclick,style_class){tinyMCE.execCommand('mceBeginUndoLevel');if(this.selectedInstance&&this.selectedElement&&this.selectedElement.nodeName.toLowerCase()=="img"){var doc=this.selectedInstance.getDoc();var linkElement=tinyMCE.getParentElement(this.selectedElement,"a");var newLink=false;if(!linkElement){linkElement=doc.createElement("a");newLink=true;}href=eval(tinyMCE.settings['urlconverter_callback']+"(href, linkElement);");tinyMCE.setAttrib(linkElement,'href',href);tinyMCE.setAttrib(linkElement,'target',target);tinyMCE.setAttrib(linkElement,'title',title);tinyMCE.setAttrib(linkElement,'onclick',onclick);tinyMCE.setAttrib(linkElement,'class',style_class);if(newLink){linkElement.appendChild(this.selectedElement.cloneNode(true));this.selectedElement.parentNode.replaceChild(linkElement,this.selectedElement);}return;}if(!this.linkElement&&this.selectedInstance){if(tinyMCE.isSafari){tinyMCE.execCommand("mceInsertContent",false,'<a href="#mce_temp_url#">'+this.selectedInstance.getSelectedHTML()+'</a>');}else this.selectedInstance.contentDocument.execCommand("createlink",false,"#mce_temp_url#");tinyMCE.linkElement=this.getElementByAttributeValue(this.selectedInstance.contentDocument.body,"a","href","#mce_temp_url#");var elementArray=this.getElementsByAttributeValue(this.selectedInstance.contentDocument.body,"a","href","#mce_temp_url#");for(var i=0;i<elementArray.length;i++){href=eval(tinyMCE.settings['urlconverter_callback']+"(href, elementArray[i]);");tinyMCE.setAttrib(elementArray[i],'href',href);tinyMCE.setAttrib(elementArray[i],'mce_real_href',href);tinyMCE.setAttrib(elementArray[i],'target',target);tinyMCE.setAttrib(elementArray[i],'title',title);tinyMCE.setAttrib(elementArray[i],'onclick',onclick);tinyMCE.setAttrib(elementArray[i],'class',style_class);}tinyMCE.linkElement=elementArray[0];}if(this.linkElement){href=eval(tinyMCE.settings['urlconverter_callback']+"(href, this.linkElement);");tinyMCE.setAttrib(this.linkElement,'href',href);tinyMCE.setAttrib(this.linkElement,'mce_real_href',href);tinyMCE.setAttrib(this.linkElement,'target',target);tinyMCE.setAttrib(this.linkElement,'title',title);tinyMCE.setAttrib(this.linkElement,'onclick',onclick);tinyMCE.setAttrib(this.linkElement,'class',style_class);}tinyMCE.execCommand('mceEndUndoLevel');};TinyMCE.prototype.insertImage=function(src,alt,border,hspace,vspace,width,height,align,title,onmouseover,onmouseout){tinyMCE.execCommand('mceBeginUndoLevel');if(src=="")return;if(!this.imgElement&&tinyMCE.isSafari){var html="";html+='<img src="'+src+'" alt="'+alt+'"';html+=' border="'+border+'" hspace="'+hspace+'"';html+=' vspace="'+vspace+'" width="'+width+'"';html+=' height="'+height+'" align="'+align+'" title="'+title+'" onmouseover="'+onmouseover+'" onmouseout="'+onmouseout+'" />';tinyMCE.execCommand("mceInsertContent",false,html);}else{if(!this.imgElement&&this.selectedInstance){if(tinyMCE.isSafari)tinyMCE.execCommand("mceInsertContent",false,'<img src="#mce_temp_url#" />');else this.selectedInstance.contentDocument.execCommand("insertimage",false,"#mce_temp_url#");tinyMCE.imgElement=this.getElementByAttributeValue(this.selectedInstance.contentDocument.body,"img","src","#mce_temp_url#");}}if(this.imgElement){var needsRepaint=false;src=eval(tinyMCE.settings['urlconverter_callback']+"(src, tinyMCE.imgElement);");if(onmouseover&&onmouseover!="")onmouseover="this.src='"+eval(tinyMCE.settings['urlconverter_callback']+"(onmouseover, tinyMCE.imgElement);")+"';";if(onmouseout&&onmouseout!="")onmouseout="this.src='"+eval(tinyMCE.settings['urlconverter_callback']+"(onmouseout, tinyMCE.imgElement);")+"';";if(typeof(title)=="undefined")title=alt;if(width!=this.imgElement.getAttribute("width")||height!=this.imgElement.getAttribute("height")||align!=this.imgElement.getAttribute("align"))needsRepaint=true;tinyMCE.setAttrib(this.imgElement,'src',src);tinyMCE.setAttrib(this.imgElement,'mce_real_src',src);tinyMCE.setAttrib(this.imgElement,'alt',alt);tinyMCE.setAttrib(this.imgElement,'title',title);tinyMCE.setAttrib(this.imgElement,'align',align);tinyMCE.setAttrib(this.imgElement,'border',border,true);tinyMCE.setAttrib(this.imgElement,'hspace',hspace,true);tinyMCE.setAttrib(this.imgElement,'vspace',vspace,true);tinyMCE.setAttrib(this.imgElement,'width',width,true);tinyMCE.setAttrib(this.imgElement,'height',height,true);tinyMCE.setAttrib(this.imgElement,'onmouseover',onmouseover);tinyMCE.setAttrib(this.imgElement,'onmouseout',onmouseout);if(width&&width!="")this.imgElement.style.pixelWidth=width;if(height&&height!="")this.imgElement.style.pixelHeight=height;if(needsRepaint)tinyMCE.selectedInstance.repaint();}tinyMCE.execCommand('mceEndUndoLevel');};TinyMCE.prototype.getElementByAttributeValue=function(node,element_name,attrib,value){var elements=this.getElementsByAttributeValue(node,element_name,attrib,value);if(elements.length==0)return null;return elements[0];};TinyMCE.prototype.getElementsByAttributeValue=function(node,element_name,attrib,value){var elements=new Array();if(node&&node.nodeName.toLowerCase()==element_name){if(node.getAttribute(attrib)&&node.getAttribute(attrib).indexOf(value)!=-1)elements[elements.length]=node;}if(node.hasChildNodes){for(var x=0,n=node.childNodes.length;x<n;x++){var childElements=this.getElementsByAttributeValue(node.childNodes[x],element_name,attrib,value);for(var i=0,m=childElements.length;i<m;i++)elements[elements.length]=childElements[i];}}return elements;};TinyMCE.prototype.isBlockElement=function(node){return node!=null&&node.nodeType==1&&this.blockRegExp.test(node.nodeName);};TinyMCE.prototype.getParentBlockElement=function(node){while(node){if(this.blockRegExp.test(node.nodeName))return node;node=node.parentNode;}return null;};TinyMCE.prototype.getNodeTree=function(node,node_array,type,node_name){if(typeof(type)=="undefined"||node.nodeType==type&&(typeof(node_name)=="undefined"||node.nodeName==node_name))node_array[node_array.length]=node;if(node.hasChildNodes()){for(var i=0;i<node.childNodes.length;i++)tinyMCE.getNodeTree(node.childNodes[i],node_array,type,node_name);}return node_array;};TinyMCE.prototype.getParentElement=function(node,names,attrib_name,attrib_value){if(typeof(names)=="undefined"){if(node.nodeType==1)return node;while((node=node.parentNode)!=null&&node.nodeType!=1);return node;}var namesAr=names.split(',');if(node==null)return null;do{for(var i=0;i<namesAr.length;i++){if(node.nodeName.toLowerCase()==namesAr[i].toLowerCase()||names=="*"){if(typeof(attrib_name)=="undefined")return node;else if(node.getAttribute(attrib_name)){if(typeof(attrib_value)=="undefined"){if(node.getAttribute(attrib_name)!="")return node;}else if(node.getAttribute(attrib_name)==attrib_value)return node;}}}}while(node=node.parentNode);return null;};TinyMCE.prototype.convertURL=function(url,node,on_save){var prot=document.location.protocol;var host=document.location.hostname;var port=document.location.port;var fileProto=(prot=="file:");url=tinyMCE.regexpReplace(url,'(http|https):///','/');if(url.indexOf('mailto:')!=-1||url.indexOf('javascript:')!=-1||tinyMCE.regexpReplace(url,'[ \t\r\n\+]|%20','').charAt(0)=="#")return url;if(!tinyMCE.isMSIE&&!on_save&&url.indexOf("://")==-1&&url.charAt(0)!='/')return tinyMCE.settings['base_href']+url;if(!tinyMCE.settings['relative_urls']){var urlParts=tinyMCE.parseURL(url);var baseUrlParts=tinyMCE.parseURL(tinyMCE.settings['base_href']);if(urlParts['anchor']&&urlParts['path']==baseUrlParts['path'])return "#"+urlParts['anchor'];}if(on_save&&tinyMCE.settings['relative_urls']){var urlParts=tinyMCE.parseURL(url);var tmpUrlParts=tinyMCE.parseURL(tinyMCE.settings['document_base_url']);if(urlParts['host']==tmpUrlParts['host']&&(!urlParts['port']||urlParts['port']==tmpUrlParts['port']))return tinyMCE.convertAbsoluteURLToRelativeURL(tinyMCE.settings['document_base_url'],url);}if(!fileProto&&tinyMCE.settings['remove_script_host']){var start="",portPart="";if(port!="")portPart=":"+port;start=prot+"//"+host+portPart+"/";if(url.indexOf(start)==0)url=url.substring(start.length-1);if(!tinyMCE.settings['relative_urls']&&url.indexOf('://')==-1&&url.charAt(0)!='/')url='/'+url;}return url;};TinyMCE.prototype.parseURL=function(url_str){var urlParts=new Array();if(url_str){var pos,lastPos;pos=url_str.indexOf('://');if(pos!=-1){urlParts['protocol']=url_str.substring(0,pos);lastPos=pos+3;}for(var i=lastPos;i<url_str.length;i++){var chr=url_str.charAt(i);if(chr==':')break;if(chr=='/')break;}pos=i;urlParts['host']=url_str.substring(lastPos,pos);lastPos=pos;if(url_str.charAt(pos)==':'){pos=url_str.indexOf('/',lastPos);urlParts['port']=url_str.substring(lastPos+1,pos);}lastPos=pos;pos=url_str.indexOf('?',lastPos);if(pos==-1)pos=url_str.indexOf('#',lastPos);if(pos==-1)pos=url_str.length;urlParts['path']=url_str.substring(lastPos,pos);lastPos=pos;if(url_str.charAt(pos)=='?'){pos=url_str.indexOf('#');pos=(pos==-1)?url_str.length:pos;urlParts['query']=url_str.substring(lastPos+1,pos);}lastPos=pos;if(url_str.charAt(pos)=='#'){pos=url_str.length;urlParts['anchor']=url_str.substring(lastPos+1,pos);}}return urlParts;};TinyMCE.prototype.convertAbsoluteURLToRelativeURL=function(base_url,url_to_relative){var strTok1;var strTok2;var breakPoint=0;var outputString="";base_url=base_url.substring(0,base_url.lastIndexOf('/'));strTok1=base_url.split('/');strTok2=url_to_relative.split('/');if(strTok1.length>=strTok2.length){for(var i=0;i<strTok1.length;i++){if(i>=strTok2.length||strTok1[i]!=strTok2[i]){breakPoint=i+1;break;}}}if(strTok1.length<strTok2.length){for(var i=0;i<strTok2.length;i++){if(i>=strTok1.length||strTok1[i]!=strTok2[i]){breakPoint=i+1;break;}}}if(breakPoint==1)return url_to_relative;for(var i=0;i<(strTok1.length-(breakPoint-1));i++)outputString+="../";for(var i=breakPoint-1;i<strTok2.length;i++){if(i!=(breakPoint-1))outputString+="/"+strTok2[i];else outputString+=strTok2[i];}return outputString;};TinyMCE.prototype.convertRelativeToAbsoluteURL=function(base_url,relative_url){var baseURL=TinyMCE.prototype.parseURL(base_url);var relURL=TinyMCE.prototype.parseURL(relative_url);if(relative_url==""||relative_url.charAt(0)=='/'||relative_url.indexOf('://')!=-1||relative_url.indexOf('mailto:')!=-1||relative_url.indexOf('javascript:')!=-1||tinyMCE.regexpReplace(relative_url,'[ \t\r\n\+]|%20','').charAt(0)=="#")return relative_url;baseURLParts=baseURL['path'].split('/');relURLParts=relURL['path'].split('/');var newBaseURLParts=new Array();for(var i=baseURLParts.length-1;i>=0;i--){if(baseURLParts[i].length==0)continue;newBaseURLParts[newBaseURLParts.length]=baseURLParts[i];}baseURLParts=newBaseURLParts.reverse();var newRelURLParts=new Array();var numBack=0;for(var i=relURLParts.length-1;i>=0;i--){if(relURLParts[i].length==0||relURLParts[i]==".")continue;if(relURLParts[i]=='..'){numBack++;continue;}if(numBack>0){numBack--;continue;}newRelURLParts[newRelURLParts.length]=relURLParts[i];}relURLParts=newRelURLParts.reverse();var len=baseURLParts.length-numBack;var absPath=(len<=0?"":"/")+baseURLParts.slice(0,len).join('/')+"/"+relURLParts.join('/');var start="",end="";if(baseURL['protocol'])start+=baseURL['protocol']+"://";if(baseURL['host'])start+=baseURL['host'];if(baseURL['port'])start+=":"+baseURL['port'];if(relURL['query'])end+="?"+relURL['query'];if(relURL['anchor'])end+="#"+relURL['anchor'];if(relative_url.charAt(relative_url.length-1)=="/")end+="/";return start+absPath+end;};TinyMCE.prototype.getParam=function(name,default_value,strip_whitespace,split_chr){var value=(typeof(this.settings[name])=="undefined")?default_value:this.settings[name];if(value=="true"||value=="false")return(value=="true");if(strip_whitespace)value=tinyMCE.regexpReplace(value,"[ \t\r\n]","");if(typeof(split_chr)!="undefined"&&split_chr!=null){value=value.split(split_chr);var outArray=new Array();for(var i=0;i<value.length;i++){if(value[i]&&value[i]!="")outArray[outArray.length]=value[i];}value=outArray;}return value;};TinyMCE.prototype.getLang=function(name,default_value,parse_entities){var value=(typeof(tinyMCELang[name])=="undefined")?default_value:tinyMCELang[name];if(parse_entities){var el=document.createElement("div");el.innerHTML=value;value=el.innerHTML;}return value;};TinyMCE.prototype.addToLang=function(prefix,ar){for(var key in ar)tinyMCELang[(key.indexOf('lang_')==-1?'lang_':'')+(prefix!=''?(prefix+"_"):'')+key]=ar[key];};TinyMCE.prototype.replaceVar=function(replace_haystack,replace_var,replace_str){var re=new RegExp('{\\\$'+replace_var+'}','g');return replace_haystack.replace(re,replace_str);};TinyMCE.prototype.replaceVars=function(replace_haystack,replace_vars){for(var key in replace_vars){var value=replace_vars[key];replace_haystack=tinyMCE.replaceVar(replace_haystack,key,value);}return replace_haystack;};TinyMCE.prototype.triggerNodeChange=function(focus,setup_content){if(tinyMCE.settings['handleNodeChangeCallback']){if(tinyMCE.selectedInstance){var inst=tinyMCE.selectedInstance;var editorId=inst.editorId;var elm=(typeof(setup_content)!="undefined"&&setup_content)?tinyMCE.selectedElement:inst.getFocusElement();var undoIndex=-1;var undoLevels=-1;var anySelection=false;var selectedText=inst.getSelectedText();if(tinyMCE.settings["auto_resize"]){var doc=inst.getDoc();inst.iframeElement.style.width=doc.body.offsetWidth+"px";inst.iframeElement.style.height=doc.body.offsetHeight+"px";}if(tinyMCE.selectedElement)anySelection=(tinyMCE.selectedElement.nodeName.toLowerCase()=="img")||(selectedText&&selectedText.length>0);if(tinyMCE.settings['custom_undo_redo']){undoIndex=inst.undoIndex;undoLevels=inst.undoLevels.length;}tinyMCE.executeCallback('handleNodeChangeCallback','_handleNodeChange',0,editorId,elm,undoIndex,undoLevels,inst.visualAid,anySelection);}}if(this.selectedInstance&&(typeof(focus)=="undefined"||focus))this.selectedInstance.contentWindow.focus();};TinyMCE.prototype._customCleanup=function(inst,type,content){var customCleanup=tinyMCE.settings['cleanup_callback'];if(customCleanup!=""&&eval("typeof("+customCleanup+")")!="undefined")content=eval(customCleanup+"(type, content, inst);");var plugins=tinyMCE.getParam('plugins','',true,',');for(var i=0;i<plugins.length;i++){if(eval("typeof(TinyMCE_"+plugins[i]+"_cleanup)")!="undefined")content=eval("TinyMCE_"+plugins[i]+"_cleanup(type, content, inst);");}return content;};TinyMCE.prototype.getContent=function(editor_id){if(typeof(editor_id)!="undefined")tinyMCE.selectedInstance=tinyMCE.getInstanceById(editor_id);if(tinyMCE.selectedInstance)return tinyMCE._cleanupHTML(this.selectedInstance,this.selectedInstance.getDoc(),tinyMCE.settings,this.selectedInstance.getBody(),false,true);return null;};TinyMCE.prototype.setContent=function(html_content){if(tinyMCE.selectedInstance){tinyMCE.selectedInstance.execCommand('mceSetContent',false,html_content);tinyMCE.selectedInstance.repaint();}};TinyMCE.prototype.importThemeLanguagePack=function(name){if(typeof(name)=="undefined")name=tinyMCE.settings['theme'];tinyMCE.loadScript(tinyMCE.baseURL+'/themes/'+name+'/langs/'+tinyMCE.settings['language']+'.js');};TinyMCE.prototype.importPluginLanguagePack=function(name,valid_languages){var lang="en";valid_languages=valid_languages.split(',');for(var i=0;i<valid_languages.length;i++){if(tinyMCE.settings['language']==valid_languages[i])lang=tinyMCE.settings['language'];}tinyMCE.loadScript(tinyMCE.baseURL+'/plugins/'+name+'/langs/'+lang+'.js');};TinyMCE.prototype.applyTemplate=function(html,args){html=tinyMCE.replaceVar(html,"themeurl",tinyMCE.themeURL);if(typeof(args)!="undefined")html=tinyMCE.replaceVars(html,args);html=tinyMCE.replaceVars(html,tinyMCE.settings);html=tinyMCE.replaceVars(html,tinyMCELang);return html;};TinyMCE.prototype.openWindow=function(template,args){var html,width,height,x,y,resizable,scrollbars,url;args['mce_template_file']=template['file'];args['mce_width']=template['width'];args['mce_height']=template['height'];tinyMCE.windowArgs=args;html=template['html'];if(!(width=parseInt(template['width'])))width=320;if(!(height=parseInt(template['height'])))height=200;if(tinyMCE.isMSIE)height+=40;else height+=20;x=parseInt(screen.width/2.0)-(width/2.0);y=parseInt(screen.height/2.0)-(height/2.0);resizable=(args&&args['resizable'])?args['resizable']:"no";scrollbars=(args&&args['scrollbars'])?args['scrollbars']:"no";if(template['file'].charAt(0)!='/'&&template['file'].indexOf('://')==-1)url=tinyMCE.baseURL+"/themes/"+tinyMCE.getParam("theme")+"/"+template['file'];else url=template['file'];for(var name in args)url=tinyMCE.replaceVar(url,name,escape(args[name]));if(html){html=tinyMCE.replaceVar(html,"css",this.settings['popups_css']);html=tinyMCE.applyTemplate(html,args);var win=window.open("","mcePopup"+new Date().getTime(),"top="+y+",left="+x+",scrollbars="+scrollbars+",dialog=yes,minimizable="+resizable+",modal=yes,width="+width+",height="+height+",resizable="+resizable);if(win==null){alert(tinyMCELang['lang_popup_blocked']);return;}win.document.write(html);win.document.close();win.resizeTo(width,height);win.focus();}else{if(tinyMCE.isMSIE&&resizable!='yes'&&tinyMCE.settings["dialog_type"]=="modal"){var features="resizable:"+resizable+";scroll:"+scrollbars+";status:yes;center:yes;help:no;dialogWidth:"+width+"px;dialogHeight:"+height+"px;";window.showModalDialog(url,window,features);}else{var modal=(resizable=="yes")?"no":"yes";if(tinyMCE.isGecko&&tinyMCE.isMac)modal="no";var win=window.open(url,"mcePopup"+new Date().getTime(),"top="+y+",left="+x+",scrollbars="+scrollbars+",dialog="+modal+",minimizable="+resizable+",modal="+modal+",width="+width+",height="+height+",resizable="+resizable);if(win==null){alert(tinyMCELang['lang_popup_blocked']);return;}eval('try { win.resizeTo(width, height); } catch(e) { }');if(tinyMCE.isGecko){if(win.document.defaultView.statusbar.visible)win.resizeBy(0,tinyMCE.isMac?10:24);}win.focus();}}};TinyMCE.prototype.closeWindow=function(win){win.close();};TinyMCE.prototype.getVisualAidClass=function(class_name,state){var aidClass=tinyMCE.settings['visual_table_class'];if(typeof(state)=="undefined")state=tinyMCE.settings['visual'];var classNames=new Array();var ar=class_name.split(' ');for(var i=0;i<ar.length;i++){if(ar[i]==aidClass)ar[i]="";if(ar[i]!="")classNames[classNames.length]=ar[i];}if(state)classNames[classNames.length]=aidClass;var className="";for(var i=0;i<classNames.length;i++){if(i>0)className+=" ";className+=classNames[i];}return className;};TinyMCE.prototype.handleVisualAid=function(element,deep,state,inst){if(!element)return;var tableElement=null;switch(element.nodeName){case "TABLE":var oldW=element.style.width;var oldH=element.style.height;element.className=tinyMCE.getVisualAidClass(element.className,state&&element.getAttribute("border")==0);element.style.width=oldW;element.style.height=oldH;for(var y=0;y<element.rows.length;y++){for(var x=0;x<element.rows[y].cells.length;x++){var className=tinyMCE.getVisualAidClass(element.rows[y].cells[x].className,state&&element.getAttribute("border")==0);element.rows[y].cells[x].className=className;}}break;case "A":var anchorName=tinyMCE.getAttrib(element,"name");if(anchorName!=''&&state){element.title=anchorName;element.className='mceItemAnchor';}else if(anchorName!=''&&!state)element.className='';break;}if(deep&&element.hasChildNodes()){for(var i=0;i<element.childNodes.length;i++)tinyMCE.handleVisualAid(element.childNodes[i],deep,state,inst);}};TinyMCE.prototype.getAttrib=function(elm,name,default_value){if(typeof(default_value)=="undefined")default_value="";if(!elm||elm.nodeType!=1)return default_value;var v=elm.getAttribute(name);if(name=="class"&&!v)v=elm.className;if(name=="style")v=elm.style.cssText;return(v&&v!="")?v:default_value;};TinyMCE.prototype.setAttrib=function(element,name,value,fix_value){if(typeof(value)=="number"&&value!=null)value=""+value;if(fix_value){if(value==null)value="";var re=new RegExp('[^0-9%]','g');value=value.replace(re,'');}if(name=="style")element.style.cssText=value;if(name=="class")element.className=value;if(value!=null&&value!=""&&value!=-1)element.setAttribute(name,value);else element.removeAttribute(name);};TinyMCE.prototype._setHTML=function(doc,html_content){if(tinyMCE.isMSIE){var re=new RegExp('<p><hr /></p>','g');html_content=html_content.replace(re,"<hr>");}try{doc.body.innerHTML=html_content;}catch(e){if(this.isMSIE)doc.body.createTextRange().pasteHTML(html_content);}if(tinyMCE.isMSIE&&tinyMCE.settings['fix_content_duplication']){var paras=doc.getElementsByTagName("P");for(var i=0;i<paras.length;i++){var node=paras[i];while((node=node.parentNode)!=null){if(node.nodeName.toLowerCase()=="p")node.outerHTML=node.innerHTML;}}var html=doc.body.innerHTML;if(html.indexOf('="mso')!=-1){for(var i=0;i<doc.body.all.length;i++){var el=doc.body.all[i];el.removeAttribute("className","",0);el.removeAttribute("style","",0);}html=doc.body.innerHTML;html=tinyMCE.regexpReplace(html,"<o:p><\/o:p>","<br />");html=tinyMCE.regexpReplace(html,"<o:p>&nbsp;<\/o:p>","");html=tinyMCE.regexpReplace(html,"<st1:.*?>","");html=tinyMCE.regexpReplace(html,"<p><\/p>","");html=tinyMCE.regexpReplace(html,"<p><\/p>\r\n<p><\/p>","");html=tinyMCE.regexpReplace(html,"<p>&nbsp;<\/p>","<br />");html=tinyMCE.regexpReplace(html,"<p>\s*(<p>\s*)?","<p>");html=tinyMCE.regexpReplace(html,"<\/p>\s*(<\/p>\s*)?","</p>");}doc.body.innerHTML=html;}};TinyMCE.prototype.getImageSrc=function(str){var pos=-1;if(!str)return "";if((pos=str.indexOf('this.src='))!=-1){var src=str.substring(pos+10);src=src.substring(0,src.indexOf('\''));return src;}return "";};TinyMCE.prototype._getElementById=function(element_id){var elm=document.getElementById(element_id);if(!elm){for(var j=0;j<document.forms.length;j++){for(var k=0;k<document.forms[j].elements.length;k++){if(document.forms[j].elements[k].name==element_id){elm=document.forms[j].elements[k];break;}}}}return elm;};TinyMCE.prototype.getEditorId=function(form_element){var inst=this.getInstanceById(form_element);if(!inst)return null;return inst.editorId;};TinyMCE.prototype.getInstanceById=function(editor_id){var inst=this.instances[editor_id];if(!inst){for(var instanceName in tinyMCE.instances){var instance=tinyMCE.instances[instanceName];if(instance.formTargetElementId==editor_id){inst=instance;break;}}}return inst;};TinyMCE.prototype.queryInstanceCommandValue=function(editor_id,command){var inst=tinyMCE.getInstanceById(editor_id);if(inst)return inst.queryCommandValue(command);return false;};TinyMCE.prototype.queryInstanceCommandState=function(editor_id,command){var inst=tinyMCE.getInstanceById(editor_id);if(inst)return inst.queryCommandState(command);return null;};TinyMCE.prototype.setWindowArg=function(name,value){this.windowArgs[name]=value;};TinyMCE.prototype.getWindowArg=function(name,default_value){return(typeof(this.windowArgs[name])=="undefined")?default_value:this.windowArgs[name];};TinyMCE.prototype.getCSSClasses=function(editor_id,doc){var output=new Array();if(typeof(tinyMCE.cssClasses)!="undefined")return tinyMCE.cssClasses;if(typeof(editor_id)=="undefined"&&typeof(doc)=="undefined"){var instance;for(var instanceName in tinyMCE.instances){instance=tinyMCE.instances[instanceName];break;}doc=instance.getDoc();}if(typeof(doc)=="undefined"){var instance=tinyMCE.getInstanceById(editor_id);doc=instance.getDoc();}if(doc){var styles=tinyMCE.isMSIE?doc.styleSheets:doc.styleSheets;if(styles&&styles.length>0){for(var x=0;x<styles.length;x++){var csses=null;eval("try {var csses = tinyMCE.isMSIE ? doc.styleSheets("+x+").rules : doc.styleSheets["+x+"].cssRules;} catch(e) {}");if(!csses)return new Array();for(var i=0;i<csses.length;i++){var selectorText=csses[i].selectorText;if(selectorText){var rules=selectorText.split(',');for(var c=0;c<rules.length;c++){if(rules[c].indexOf(' ')!=-1||rules[c].indexOf(':')!=-1||rules[c].indexOf('mceItem')!=-1)continue;if(rules[c]=="."+tinyMCE.settings['visual_table_class'])continue;if(rules[c].indexOf('.')!=-1){output[output.length]=rules[c].substring(rules[c].indexOf('.')+1);}}}}}}}if(output.length>0)tinyMCE.cssClasses=output;return output;};TinyMCE.prototype.regexpReplace=function(in_str,reg_exp,replace_str,opts){if(typeof(opts)=="undefined")opts='g';var re=new RegExp(reg_exp,opts);return in_str.replace(re,replace_str);};TinyMCE.prototype.trim=function(str){return str.replace(/^\s*|\s*$/g,"");};TinyMCE.prototype.cleanupEventStr=function(str){str=""+str;str=str.replace('function anonymous()\n{\n','');str=str.replace('\n}','');str=str.replace(/^return true;/gi,'');return str;};TinyMCE.prototype.getAbsPosition=function(node){var pos=new Object();pos.absLeft=pos.absTop=0;var parentNode=node;while(parentNode){pos.absLeft+=parentNode.offsetLeft;pos.absTop+=parentNode.offsetTop;parentNode=parentNode.offsetParent;}return pos;};TinyMCE.prototype.getControlHTML=function(control_name){var themePlugins=tinyMCE.getParam('plugins','',true,',');var templateFunction;for(var i=themePlugins.length;i>=0;i--){templateFunction='TinyMCE_'+themePlugins[i]+"_getControlHTML";if(eval("typeof("+templateFunction+")")!='undefined'){var html=eval(templateFunction+"('"+control_name+"');");if(html!="")return tinyMCE.replaceVar(html,"pluginurl",tinyMCE.baseURL+"/plugins/"+themePlugins[i]);}}return eval('TinyMCE_'+tinyMCE.settings['theme']+"_getControlHTML"+"('"+control_name+"');");};TinyMCE.prototype._themeExecCommand=function(editor_id,element,command,user_interface,value){var themePlugins=tinyMCE.getParam('plugins','',true,',');var templateFunction;for(var i=themePlugins.length;i>=0;i--){templateFunction='TinyMCE_'+themePlugins[i]+"_execCommand";if(eval("typeof("+templateFunction+")")!='undefined'){if(eval(templateFunction+"(editor_id, element, command, user_interface, value);"))return true;}}templateFunction='TinyMCE_'+tinyMCE.settings['theme']+"_execCommand";if(eval("typeof("+templateFunction+")")!='undefined')return eval(templateFunction+"(editor_id, element, command, user_interface, value);");return false;};TinyMCE.prototype._getThemeFunction=function(suffix,skip_plugins){if(skip_plugins)return 'TinyMCE_'+tinyMCE.settings['theme']+suffix;var themePlugins=tinyMCE.getParam('plugins','',true,',');var templateFunction;for(var i=themePlugins.length;i>=0;i--){templateFunction='TinyMCE_'+themePlugins[i]+suffix;if(eval("typeof("+templateFunction+")")!='undefined')return templateFunction;}return 'TinyMCE_'+tinyMCE.settings['theme']+suffix;};TinyMCE.prototype.isFunc=function(func_name){if(func_name==null||func_name=="")return false;return eval("typeof("+func_name+")")!="undefined";};TinyMCE.prototype.exec=function(func_name,args){var str=func_name+'(';for(var i=3;i<args.length;i++){str+='args['+i+']';if(i<args.length-1)str+=',';}str+=');';return eval(str);};TinyMCE.prototype.executeCallback=function(param,suffix,mode){switch(mode){case 0:var state=false;var plugins=tinyMCE.getParam('plugins','',true,',');for(var i=0;i<plugins.length;i++){var func="TinyMCE_"+plugins[i]+suffix;if(tinyMCE.isFunc(func)){tinyMCE.exec(func,this.executeCallback.arguments);state=true;}}var func='TinyMCE_'+tinyMCE.settings['theme']+suffix;if(tinyMCE.isFunc(func)){tinyMCE.exec(func,this.executeCallback.arguments);state=true;}var func=tinyMCE.getParam(param,'');if(tinyMCE.isFunc(func)){tinyMCE.exec(func,this.executeCallback.arguments);state=true;}return state;case 1:var plugins=tinyMCE.getParam('plugins','',true,',');for(var i=0;i<plugins.length;i++){var func="TinyMCE_"+plugins[i]+suffix;if(tinyMCE.isFunc(func)){if(tinyMCE.exec(func,this.executeCallback.arguments))return true;}}var func='TinyMCE_'+tinyMCE.settings['theme']+suffix;if(tinyMCE.isFunc(func)){if(tinyMCE.exec(func,this.executeCallback.arguments))return true;}var func=tinyMCE.getParam(param,'');if(tinyMCE.isFunc(func)){if(tinyMCE.exec(func,this.executeCallback.arguments))return true;}return false;}};TinyMCE.prototype.debug=function(){var msg="";var elm=document.getElementById("tinymce_debug");if(!elm){var debugDiv=document.createElement("div");debugDiv.setAttribute("className","debugger");debugDiv.className="debugger";debugDiv.innerHTML='\
+                       Debug output:\
+                       <textarea id="tinymce_debug" style="width: 100%; height: 300px"></textarea>';document.body.appendChild(debugDiv);elm=document.getElementById("tinymce_debug");}var args=this.debug.arguments;for(var i=0;i<args.length;i++){msg+=args[i];if(i<args.length-1)msg+=', ';}elm.value+=msg+"\n";};function TinyMCEControl(settings){this.undoLevels=new Array();this.undoIndex=0;this.typingUndoIndex=-1;this.undoRedo=true;this.settings=settings;this.settings['theme']=tinyMCE.getParam("theme","default");this.settings['width']=tinyMCE.getParam("width",-1);this.settings['height']=tinyMCE.getParam("height",-1);};TinyMCEControl.prototype.repaint=function(){if(tinyMCE.isMSIE)return;this.getBody().style.display='none';this.getBody().style.display='block';};TinyMCEControl.prototype.switchSettings=function(){if(tinyMCE.configs.length>1&&tinyMCE.currentConfig!=this.settings['index']){tinyMCE.settings=this.settings;tinyMCE.currentConfig=this.settings['index'];}};TinyMCEControl.prototype.fixBrokenURLs=function(){var body=this.getBody();var elms=body.getElementsByTagName("img");for(var i=0;i<elms.length;i++){var src=elms[i].getAttribute('mce_real_src');if(src&&src!="")elms[i].setAttribute("src",src);}var elms=body.getElementsByTagName("a");for(var i=0;i<elms.length;i++){var href=elms[i].getAttribute('mce_real_href');if(href&&href!="")elms[i].setAttribute("href",href);}};TinyMCEControl.prototype.convertAllRelativeURLs=function(){var body=this.getBody();var elms=body.getElementsByTagName("img");for(var i=0;i<elms.length;i++){var src=elms[i].getAttribute('src');if(src&&src!=""){src=tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings['base_href'],src);elms[i].setAttribute("src",src);elms[i].setAttribute("mce_real_src",src);}}var elms=body.getElementsByTagName("a");for(var i=0;i<elms.length;i++){var href=elms[i].getAttribute('href');if(href&&href!=""){href=tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings['base_href'],href);elms[i].setAttribute("href",href);elms[i].setAttribute("mce_real_href",href);}}};TinyMCEControl.prototype.getSelectedHTML=function(){if(tinyMCE.isSafari){return this.getRng().toString();}var elm=document.createElement("body");if(tinyMCE.isGecko)elm.appendChild(this.getRng().cloneContents());else elm.innerHTML=this.getRng().htmlText;return tinyMCE._cleanupHTML(this,this.contentDocument,this.settings,elm,this.visualAid);};TinyMCEControl.prototype.getBookmark=function(){var rng=this.getRng();if(tinyMCE.isSafari)return rng;if(tinyMCE.isMSIE)return rng;if(tinyMCE.isGecko)return rng.cloneRange();return null;};TinyMCEControl.prototype.moveToBookmark=function(bookmark){if(tinyMCE.isSafari){var sel=this.getSel().realSelection;sel.setBaseAndExtent(bookmark.startContainer,bookmark.startOffset,bookmark.endContainer,bookmark.endOffset);return true;}if(tinyMCE.isMSIE)return bookmark.select();if(tinyMCE.isGecko){var rng=this.getDoc().createRange();var sel=this.getSel();rng.setStart(bookmark.startContainer,bookmark.startOffset);rng.setEnd(bookmark.endContainer,bookmark.endOffset);sel.removeAllRanges();sel.addRange(rng);return true;}return false;};TinyMCEControl.prototype.getSelectedText=function(){if(tinyMCE.isMSIE){var doc=this.getDoc();if(doc.selection.type=="Text"){var rng=doc.selection.createRange();selectedText=rng.text;}else selectedText='';}else{var sel=this.getSel();if(sel&&sel.toString)selectedText=sel.toString();else selectedText='';}return selectedText;};TinyMCEControl.prototype.selectNode=function(node,collapse,select_text_node,to_start){if(!node)return;if(typeof(collapse)=="undefined")collapse=true;if(typeof(select_text_node)=="undefined")select_text_node=false;if(typeof(to_start)=="undefined")to_start=true;if(tinyMCE.isMSIE){var rng=this.getBody().createTextRange();try{rng.moveToElementText(node);if(collapse)rng.collapse(to_start);rng.select();}catch(e){}}else{var sel=this.getSel();if(!sel)return;if(tinyMCE.isSafari){sel.realSelection.setBaseAndExtent(node,0,node,node.innerText.length);if(collapse){if(to_start)sel.realSelection.collapseToStart();else sel.realSelection.collapseToEnd();}this.scrollToNode(node);return;}var rng=this.getDoc().createRange();if(select_text_node){var nodes=tinyMCE.getNodeTree(node,new Array(),3);if(nodes.length>0)rng.selectNodeContents(nodes[0]);else rng.selectNodeContents(node);}else rng.selectNode(node);if(collapse){if(!to_start&&node.nodeType==3){rng.setStart(node,node.nodeValue.length);rng.setEnd(node,node.nodeValue.length);}else rng.collapse(to_start);}sel.removeAllRanges();sel.addRange(rng);}this.scrollToNode(node);tinyMCE.selectedElement=null;if(node.nodeType==1)tinyMCE.selectedElement=node;};TinyMCEControl.prototype.scrollToNode=function(node){var pos=tinyMCE.getAbsPosition(node);var doc=this.getDoc();var scrollX=doc.body.scrollLeft+doc.documentElement.scrollLeft;var scrollY=doc.body.scrollTop+doc.documentElement.scrollTop;var height=tinyMCE.isMSIE?document.getElementById(this.editorId).style.pixelHeight:this.targetElement.clientHeight;if(!tinyMCE.settings['auto_resize']&&!(node.absTop>scrollY&&node.absTop<(scrollY-25+height)))this.contentWindow.scrollTo(pos.absLeft,pos.absTop-height+25);};TinyMCEControl.prototype.getBody=function(){return this.getDoc().body;};TinyMCEControl.prototype.getDoc=function(){return this.contentWindow.document;};TinyMCEControl.prototype.getWin=function(){return this.contentWindow;};TinyMCEControl.prototype.getSel=function(){if(tinyMCE.isMSIE)return this.getDoc().selection;var sel=this.contentWindow.getSelection();if(tinyMCE.isSafari&&!sel.getRangeAt){var newSel=new Object();var doc=this.getDoc();function getRangeAt(idx){var rng=new Object();rng.startContainer=this.focusNode;rng.endContainer=this.anchorNode;rng.commonAncestorContainer=this.focusNode;rng.createContextualFragment=function(html){if(html.charAt(0)=='<'){var elm=doc.createElement("div");elm.innerHTML=html;return elm.firstChild;}return doc.createTextNode("UNSUPPORTED, DUE TO LIMITATIONS IN SAFARI!");};rng.deleteContents=function(){doc.execCommand("Delete",false,"");};return rng;}newSel.focusNode=sel.baseNode;newSel.focusOffset=sel.baseOffset;newSel.anchorNode=sel.extentNode;newSel.anchorOffset=sel.extentOffset;newSel.getRangeAt=getRangeAt;newSel.text=""+sel;newSel.realSelection=sel;newSel.toString=function(){return this.text;};return newSel;}return sel;};TinyMCEControl.prototype.getRng=function(){var sel=this.getSel();if(sel==null)return null;if(tinyMCE.isMSIE)return sel.createRange();if(tinyMCE.isSafari){var rng=this.getDoc().createRange();var sel=this.getSel().realSelection;rng.setStart(sel.baseNode,sel.baseOffset);rng.setEnd(sel.extentNode,sel.extentOffset);return rng;}return this.getSel().getRangeAt(0);};TinyMCEControl.prototype._insertPara=function(e){function isEmpty(para){function isEmptyHTML(html){return html.replace(new RegExp('[ \t\r\n]+','g'),'').toLowerCase()=="";}if(para.getElementsByTagName("img").length>0)return false;if(para.getElementsByTagName("table").length>0)return false;if(para.getElementsByTagName("hr").length>0)return false;var nodes=tinyMCE.getNodeTree(para,new Array(),3);for(var i=0;i<nodes.length;i++){if(!isEmptyHTML(nodes[i].nodeValue))return false;}return true;}var doc=this.getDoc();var sel=this.getSel();var win=this.contentWindow;var rng=sel.getRangeAt(0);var body=doc.body;var rootElm=doc.documentElement;var self=this;var blockName="P";var rngBefore=doc.createRange();rngBefore.setStart(sel.anchorNode,sel.anchorOffset);rngBefore.collapse(true);var rngAfter=doc.createRange();rngAfter.setStart(sel.focusNode,sel.focusOffset);rngAfter.collapse(true);var direct=rngBefore.compareBoundaryPoints(rngBefore.START_TO_END,rngAfter)<0;var startNode=direct?sel.anchorNode:sel.focusNode;var startOffset=direct?sel.anchorOffset:sel.focusOffset;var endNode=direct?sel.focusNode:sel.anchorNode;var endOffset=direct?sel.focusOffset:sel.anchorOffset;var startBlock=tinyMCE.getParentBlockElement(startNode);var endBlock=tinyMCE.getParentBlockElement(endNode);if(startBlock!=null){blockName=startBlock.nodeName.toUpperCase();if(blockName=="TD"||blockName=="TABLE")blockName="P";}if((startBlock!=null&&startBlock.nodeName.toLowerCase()=="li")||(endBlock!=null&&endBlock.nodeName.toLowerCase()=="li"))return false;if((startBlock!=null&&startBlock.nodeName.toLowerCase()=="table")||(endBlock!=null&&endBlock.nodeName.toLowerCase()=="table"))startBlock=endBlock=null;var paraBefore=(startBlock!=null&&startBlock.nodeName.toUpperCase()==blockName)?startBlock.cloneNode(false):doc.createElement(blockName);var paraAfter=(endBlock!=null&&endBlock.nodeName.toUpperCase()==blockName)?endBlock.cloneNode(false):doc.createElement(blockName);var startChop=startNode;var endChop=endNode;node=startChop;do{if(node==body||node.nodeType==9||tinyMCE.isBlockElement(node))break;startChop=node;}while((node=node.previousSibling?node.previousSibling:node.parentNode));node=endChop;do{if(node==body||node.nodeType==9||tinyMCE.isBlockElement(node))break;endChop=node;}while((node=node.nextSibling?node.nextSibling:node.parentNode));if(startBlock==null){rng.deleteContents();sel.removeAllRanges();if(startChop!=rootElm&&endChop!=rootElm){rngBefore=rng.cloneRange();if(startChop==body)rngBefore.setStart(startChop,0);else rngBefore.setStartBefore(startChop);paraBefore.appendChild(rngBefore.cloneContents());if(endChop.parentNode.nodeName==blockName)endChop=endChop.parentNode;rng.setEndAfter(endChop);var contents=rng.cloneContents();if(contents.firstChild&&(contents.firstChild.nodeName==blockName||contents.firstChild.nodeName.toLowerCase()=="body")){var nodes=contents.firstChild.childNodes;for(var i=0;i<nodes.length;i++){if(nodes[i].nodeName.toLowerCase()!="body")paraAfter.appendChild(nodes[i]);}}else paraAfter.appendChild(contents);if(isEmpty(paraBefore))paraBefore.innerHTML="&nbsp;";if(isEmpty(paraAfter))paraAfter.innerHTML="&nbsp;";rng.deleteContents();rngAfter.deleteContents();rngBefore.deleteContents();paraAfter.normalize();rngBefore.insertNode(paraAfter);paraBefore.normalize();rngBefore.insertNode(paraBefore);}else{body.innerHTML="<"+blockName+">&nbsp;</"+blockName+"><"+blockName+">&nbsp;</"+blockName+">";paraAfter=body.childNodes[1];}this.selectNode(paraAfter,true,true);return true;}if(startChop.nodeName==blockName)rngBefore.setStart(startChop,0);else rngBefore.setStartBefore(startChop);rngBefore.setEnd(startNode,startOffset);paraBefore.appendChild(rngBefore.cloneContents());rngAfter.setEndAfter(endChop);rngAfter.setStart(endNode,endOffset);var contents=rngAfter.cloneContents();if(contents.firstChild&&contents.firstChild.nodeName==blockName){var nodes=contents.firstChild.childNodes;for(var i=0;i<nodes.length;i++){if(nodes[i].nodeName.toLowerCase()!="body")paraAfter.appendChild(nodes[i]);}}else paraAfter.appendChild(contents);if(isEmpty(paraBefore))paraBefore.innerHTML="&nbsp;";if(isEmpty(paraAfter))paraAfter.innerHTML="&nbsp;";var rng=doc.createRange();if(!startChop.previousSibling&&startChop.parentNode.nodeName.toUpperCase()==blockName){rng.setStartBefore(startChop.parentNode);}else{if(rngBefore.startContainer.nodeName.toUpperCase()==blockName&&rngBefore.startOffset==0)rng.setStartBefore(rngBefore.startContainer);else rng.setStart(rngBefore.startContainer,rngBefore.startOffset);}if(!endChop.nextSibling&&endChop.parentNode.nodeName.toUpperCase()==blockName)rng.setEndAfter(endChop.parentNode);else rng.setEnd(rngAfter.endContainer,rngAfter.endOffset);rng.deleteContents();rng.insertNode(paraAfter);rng.insertNode(paraBefore);paraAfter.normalize();paraBefore.normalize();this.selectNode(paraAfter,true,true);return true;};TinyMCEControl.prototype._handleBackSpace=function(evt_type){var doc=this.getDoc();var sel=this.getSel();if(sel==null)return false;var rng=sel.getRangeAt(0);var node=rng.startContainer;var elm=node.nodeType==3?node.parentNode:node;if(node==null)return;if(elm&&elm.nodeName==""){var para=doc.createElement("p");while(elm.firstChild)para.appendChild(elm.firstChild);elm.parentNode.insertBefore(para,elm);elm.parentNode.removeChild(elm);var rng=rng.cloneRange();rng.setStartBefore(node.nextSibling);rng.setEndAfter(node.nextSibling);rng.extractContents();this.selectNode(node.nextSibling,true,true);}var para=tinyMCE.getParentBlockElement(node);if(para!=null&&para.nodeName.toLowerCase()=='p'&&evt_type=="keypress"){var htm=para.innerHTML;var block=tinyMCE.getParentBlockElement(node);if(htm==""||htm=="&nbsp;"||block.nodeName.toLowerCase()=="li"){var prevElm=para.previousSibling;while(prevElm!=null&&prevElm.nodeType!=1)prevElm=prevElm.previousSibling;if(prevElm==null)return false;var nodes=tinyMCE.getNodeTree(prevElm,new Array(),3);var lastTextNode=nodes.length==0?null:nodes[nodes.length-1];if(lastTextNode!=null)this.selectNode(lastTextNode,true,false,false);para.parentNode.removeChild(para);return true;}}return false;};TinyMCEControl.prototype._insertSpace=function(){return true;};TinyMCEControl.prototype.autoResetDesignMode=function(){if(!tinyMCE.isMSIE&&tinyMCE.settings['auto_reset_designmode']){var sel=this.getSel();if(!sel||!sel.rangeCount||sel.rangeCount==0)eval('try { this.getDoc().designMode = "On"; } catch(e) {}');}};TinyMCEControl.prototype.isDirty=function(){return this.startContent!=tinyMCE.trim(this.getBody().innerHTML)&&!tinyMCE.isNotDirty;};TinyMCEControl.prototype._mergeElements=function(pa,ch,override){ch=ch.cloneNode(true);var st=tinyMCE.parseStyle(tinyMCE.getAttrib(pa,"style"));var stc=tinyMCE.parseStyle(tinyMCE.getAttrib(ch,"style"));var className=tinyMCE.getAttrib(pa,"class");className+=" "+tinyMCE.getAttrib(ch,"class");if(override){for(var n in st)stc[n]=st[n];}else{for(var n in stc)st[n]=stc[n];}tinyMCE.setAttrib(ch,"style",tinyMCE.serializeStyle(st));tinyMCE.setAttrib(ch,"class",tinyMCE.trim(className));pa.parentNode.replaceChild(ch,pa);};TinyMCEControl.prototype.execCommand=function(command,user_interface,value){var doc=this.getDoc();var win=this.getWin();var focusElm=this.getFocusElement();if(this.lastSafariSelection&&!new RegExp('mceStartTyping|mceEndTyping|mceBeginUndoLevel|mceEndUndoLevel|mceAddUndoLevel','gi').test(command)){this.moveToBookmark(this.lastSafariSelection);tinyMCE.selectedElement=this.lastSafariSelectedElement;}if(!tinyMCE.isMSIE&&!this.useCSS){doc.execCommand("useCSS",false,true);this.useCSS=true;}this.contentDocument=doc;if(tinyMCE._themeExecCommand(this.editorId,this.getBody(),command,user_interface,value))return;if(focusElm&&focusElm.nodeName=="IMG"){var align=focusElm.getAttribute('align');var img=command=="JustifyCenter"?focusElm.cloneNode(false):focusElm;switch(command){case "JustifyLeft":if(align=='left')img.removeAttribute('align');else img.setAttribute('align','left');var div=focusElm.parentNode;if(div&&div.nodeName=="DIV"&&div.childNodes.length==1&&div.parentNode)div.parentNode.replaceChild(img,div);this.selectNode(img);this.repaint();tinyMCE.triggerNodeChange();return;case "JustifyCenter":img.removeAttribute('align');var div=tinyMCE.getParentElement(focusElm,"div");if(div&&div.style.textAlign=="center"){if(div.nodeName=="DIV"&&div.childNodes.length==1&&div.parentNode)div.parentNode.replaceChild(img,div);}else{var div=this.getDoc().createElement("div");div.style.textAlign='center';div.appendChild(img);focusElm.parentNode.replaceChild(div,focusElm);}this.selectNode(img);this.repaint();tinyMCE.triggerNodeChange();return;case "JustifyRight":if(align=='right')img.removeAttribute('align');else img.setAttribute('align','right');var div=focusElm.parentNode;if(div&&div.nodeName=="DIV"&&div.childNodes.length==1&&div.parentNode)div.parentNode.replaceChild(img,div);this.selectNode(img);this.repaint();tinyMCE.triggerNodeChange();return;}}if(tinyMCE.settings['force_br_newlines']){var alignValue="";if(doc.selection.type!="Control"){switch(command){case "JustifyLeft":alignValue="left";break;case "JustifyCenter":alignValue="center";break;case "JustifyFull":alignValue="justify";break;case "JustifyRight":alignValue="right";break;}if(alignValue!=""){var rng=doc.selection.createRange();if((divElm=tinyMCE.getParentElement(rng.parentElement(),"div"))!=null)divElm.setAttribute("align",alignValue);else if(rng.pasteHTML&&rng.htmlText.length>0)rng.pasteHTML('<div align="'+alignValue+'">'+rng.htmlText+"</div>");tinyMCE.triggerNodeChange();return;}}}switch(command){case "mceRepaint":this.repaint();return true;case "mceStoreSelection":this.selectionBookmark=this.getBookmark();return true;case "mceRestoreSelection":this.moveToBookmark(this.selectionBookmark);return true;case "InsertUnorderedList":case "InsertOrderedList":var tag=(command=="InsertUnorderedList")?"ul":"ol";if(tinyMCE.isSafari)this.execCommand("mceInsertContent",false,"<"+tag+"><li>&nbsp;</li><"+tag+">");else this.getDoc().execCommand(command,user_interface,value);tinyMCE.triggerNodeChange();break;case "Strikethrough":if(tinyMCE.isSafari)this.execCommand("mceInsertContent",false,"<strike>"+this.getSelectedHTML()+"</strike>");else this.getDoc().execCommand(command,user_interface,value);tinyMCE.triggerNodeChange();break;case "mceSelectNode":this.selectNode(value);tinyMCE.triggerNodeChange();tinyMCE.selectedNode=value;break;case "FormatBlock":if(value==null||value==""){var elm=tinyMCE.getParentElement(this.getFocusElement(),"p,div,h1,h2,h3,h4,h5,h6,pre,address");if(elm)this.execCommand("mceRemoveNode",false,elm);}else this.getDoc().execCommand("FormatBlock",false,value);tinyMCE.triggerNodeChange();break;case "mceRemoveNode":if(!value)value=tinyMCE.getParentElement(this.getFocusElement());if(tinyMCE.isMSIE){value.outerHTML=value.innerHTML;}else{var rng=value.ownerDocument.createRange();rng.setStartBefore(value);rng.setEndAfter(value);rng.deleteContents();rng.insertNode(rng.createContextualFragment(value.innerHTML));}tinyMCE.triggerNodeChange();break;case "mceSelectNodeDepth":var parentNode=this.getFocusElement();for(var i=0;parentNode;i++){if(parentNode.nodeName.toLowerCase()=="body")break;if(parentNode.nodeName.toLowerCase()=="#text"){i--;parentNode=parentNode.parentNode;continue;}if(i==value){this.selectNode(parentNode,false);tinyMCE.triggerNodeChange();tinyMCE.selectedNode=parentNode;return;}parentNode=parentNode.parentNode;}break;case "SetStyleInfo":var rng=this.getRng();var sel=this.getSel();var scmd=value['command'];var sname=value['name'];var svalue=value['value'];var wrapper=value['wrapper']?value['wrapper']:"span";var parentElm=null;if(tinyMCE.isMSIE){if(rng.item)parentElm=rng.item(0);else{var pelm=rng.parentElement();var prng=doc.selection.createRange();prng.moveToElementText(pelm);if(rng.htmlText==prng.htmlText||rng.boundingWidth==0)parentElm=pelm;}}else{var felm=this.getFocusElement();if(sel.isCollapsed||(/td|tr|tbody|table/ig.test(felm.nodeName)&&sel.anchorNode==felm.parentNode))parentElm=felm;}if(parentElm){if(scmd=="setstyle")eval("parentElm.style."+sname+" = svalue;");if(scmd=="setattrib")tinyMCE.setAttrib(parentElm,sname,svalue);}else{doc.execCommand("fontname",false,"#mce_temp_font#");var elementArray=tinyMCE.getElementsByAttributeValue(this.getBody(),"font","face","#mce_temp_font#");for(var x=0;x<elementArray.length;x++){elm=elementArray[x];if(elm){var spanElm=doc.createElement(wrapper);if(scmd=="setstyle")eval("spanElm.style."+sname+" = svalue;");if(scmd=="setattrib")tinyMCE.setAttrib(spanElm,sname,svalue);if(elm.hasChildNodes()){for(var i=0;i<elm.childNodes.length;i++)spanElm.appendChild(elm.childNodes[i].cloneNode(true));}spanElm.setAttribute("mce_new","true");elm.parentNode.replaceChild(spanElm,elm);}}}var nodes=doc.getElementsByTagName(wrapper);for(var i=nodes.length-1;i>=0;i--){var elm=nodes[i];var isNew=tinyMCE.getAttrib(elm,"mce_new")=="true";elm.removeAttribute("mce_new");if(elm.childNodes&&elm.childNodes.length==1&&elm.childNodes[0].nodeType==1){this._mergeElements(elm,elm.childNodes[0],isNew);continue;}if(elm.parentNode.childNodes.length==1){this._mergeElements(elm.parentNode,elm,false);}}var nodes=doc.getElementsByTagName(wrapper);for(var i=nodes.length-1;i>=0;i--){var elm=nodes[i];var isEmpty=true;var tmp=doc.createElement("body");tmp.appendChild(elm.cloneNode(false));if(new RegExp('<span>|<span style="">','gi').test(tmp.innerHTML)){for(var i=elm.childNodes.length-1;i>=0;i--){if(elm.parentNode!=null){elm.parentNode.insertBefore(elm.childNodes[i].cloneNode(true),elm);elm.parentNode.removeChild(elm);}}}}tinyMCE.triggerNodeChange();break;case "FontName":if(tinyMCE.getParam("convert_fonts_to_styles"))this.execCommand("SetStyleInfo",false,{command:"setstyle",name:"fontFamily",value:value});else this.getDoc().execCommand('FontName',false,value);break;case "FontSize":if(tinyMCE.getParam("convert_fonts_to_styles")){var sizes=new Array('',8,10,12,14,18,24,36);var size=sizes[value]==''?'':sizes[value]+'px';this.execCommand("SetStyleInfo",false,{command:"setstyle",name:"fontSize",value:size});}else this.getDoc().execCommand('FontSize',false,value);break;case "forecolor":if(tinyMCE.getParam("convert_fonts_to_styles"))this.execCommand("SetStyleInfo",false,{command:"setstyle",name:"color",value:value});else{if(tinyMCE.isGecko){this.getDoc().execCommand("useCSS",false,true);this.getDoc().execCommand('forecolor',false,value);this.getDoc().execCommand("useCSS",false,true);}else this.getDoc().execCommand('forecolor',false,value);}break;case "HiliteColor":if(tinyMCE.getParam("convert_fonts_to_styles"))this.execCommand("SetStyleInfo",false,{command:"setstyle",name:"backgroundColor",value:value});else{if(tinyMCE.isGecko){this.getDoc().execCommand("useCSS",false,false);this.getDoc().execCommand('hilitecolor',false,value);this.getDoc().execCommand("useCSS",false,true);}else this.getDoc().execCommand('BackColor',false,value);}break;case "Cut":case "Copy":case "Paste":var cmdFailed=false;eval('try {this.getDoc().execCommand(command, user_interface, value);} catch (e) {cmdFailed = true;}');if(tinyMCE.isGecko&&cmdFailed){if(confirm(tinyMCE.getLang('lang_clipboard_msg')))window.open('http://www.mozilla.org/editor/midasdemo/securityprefs.html','mceExternal');return;}else tinyMCE.triggerNodeChange();break;case "mceSetContent":if(!value)value="";value=tinyMCE._customCleanup(this,"insert_to_editor",value);tinyMCE._setHTML(doc,value);doc.body.innerHTML=tinyMCE._cleanupHTML(this,doc,tinyMCE.settings,doc.body);tinyMCE.handleVisualAid(doc.body,true,this.visualAid,this);tinyMCE._setEventsEnabled(doc.body,true);return true;case "mceLink":var selectedText="";if(tinyMCE.isMSIE){var rng=doc.selection.createRange();selectedText=rng.text;}else selectedText=this.getSel().toString();if(!tinyMCE.linkElement){if((tinyMCE.selectedElement.nodeName.toLowerCase()!="img")&&(selectedText.length<=0))return;}var href="",target="",title="",onclick="",action="insert",style_class="";if(tinyMCE.selectedElement.nodeName.toLowerCase()=="a")tinyMCE.linkElement=tinyMCE.selectedElement;if(tinyMCE.linkElement!=null&&tinyMCE.getAttrib(tinyMCE.linkElement,'href')=="")tinyMCE.linkElement=null;if(tinyMCE.linkElement){href=tinyMCE.getAttrib(tinyMCE.linkElement,'href');target=tinyMCE.getAttrib(tinyMCE.linkElement,'target');title=tinyMCE.getAttrib(tinyMCE.linkElement,'title');onclick=tinyMCE.getAttrib(tinyMCE.linkElement,'onclick');style_class=tinyMCE.getAttrib(tinyMCE.linkElement,'class');if(onclick=="")onclick=tinyMCE.getAttrib(tinyMCE.linkElement,'onclick');onclick=tinyMCE.cleanupEventStr(onclick);mceRealHref=tinyMCE.getAttrib(tinyMCE.linkElement,'mce_real_href');if(mceRealHref!="")href=mceRealHref;href=eval(tinyMCE.settings['urlconverter_callback']+"(href, tinyMCE.linkElement, true);");action="update";}if(this.settings['insertlink_callback']){var returnVal=eval(this.settings['insertlink_callback']+"(href, target, title, onclick, action, style_class);");if(returnVal&&returnVal['href'])tinyMCE.insertLink(returnVal['href'],returnVal['target'],returnVal['title'],returnVal['onclick'],returnVal['style_class']);}else{tinyMCE.openWindow(this.insertLinkTemplate,{href:href,target:target,title:title,onclick:onclick,action:action,className:style_class});}break;case "mceImage":var src="",alt="",border="",hspace="",vspace="",width="",height="",align="";var title="",onmouseover="",onmouseout="",action="insert";var img=tinyMCE.imgElement;if(tinyMCE.selectedElement!=null&&tinyMCE.selectedElement.nodeName.toLowerCase()=="img"){img=tinyMCE.selectedElement;tinyMCE.imgElement=img;}if(img){if(tinyMCE.getAttrib(img,'name').indexOf('mce_')==0)return;src=tinyMCE.getAttrib(img,'src');alt=tinyMCE.getAttrib(img,'alt');if(alt=="")alt=tinyMCE.getAttrib(img,'title');if(tinyMCE.isGecko){var w=img.style.width;if(w!=null&&w!="")img.setAttribute("width",w);var h=img.style.height;if(h!=null&&h!="")img.setAttribute("height",h);}border=tinyMCE.getAttrib(img,'border');hspace=tinyMCE.getAttrib(img,'hspace');vspace=tinyMCE.getAttrib(img,'vspace');width=tinyMCE.getAttrib(img,'width');height=tinyMCE.getAttrib(img,'height');align=tinyMCE.getAttrib(img,'align');onmouseover=tinyMCE.getAttrib(img,'onmouseover');onmouseout=tinyMCE.getAttrib(img,'onmouseout');title=tinyMCE.getAttrib(img,'title');if(tinyMCE.isMSIE){width=img.attributes['width'].specified?width:"";height=img.attributes['height'].specified?height:"";}onmouseover=tinyMCE.getImageSrc(tinyMCE.cleanupEventStr(onmouseover));onmouseout=tinyMCE.getImageSrc(tinyMCE.cleanupEventStr(onmouseout));mceRealSrc=tinyMCE.getAttrib(img,'mce_real_src');if(mceRealSrc!="")src=mceRealSrc;src=eval(tinyMCE.settings['urlconverter_callback']+"(src, img, true);");if(onmouseover!="")onmouseover=eval(tinyMCE.settings['urlconverter_callback']+"(onmouseover, img, true);");if(onmouseout!="")onmouseout=eval(tinyMCE.settings['urlconverter_callback']+"(onmouseout, img, true);");action="update";}if(this.settings['insertimage_callback']){var returnVal=eval(this.settings['insertimage_callback']+"(src, alt, border, hspace, vspace, width, height, align, title, onmouseover, onmouseout, action);");if(returnVal&&returnVal['src'])tinyMCE.insertImage(returnVal['src'],returnVal['alt'],returnVal['border'],returnVal['hspace'],returnVal['vspace'],returnVal['width'],returnVal['height'],returnVal['align'],returnVal['title'],returnVal['onmouseover'],returnVal['onmouseout']);}else tinyMCE.openWindow(this.insertImageTemplate,{src:src,alt:alt,border:border,hspace:hspace,vspace:vspace,width:width,height:height,align:align,title:title,onmouseover:onmouseover,onmouseout:onmouseout,action:action});break;case "mceCleanup":tinyMCE._setHTML(this.contentDocument,this.getBody().innerHTML);this.getBody().innerHTML=tinyMCE._cleanupHTML(this,this.contentDocument,this.settings,this.getBody(),this.visualAid);tinyMCE.handleVisualAid(this.getBody(),true,this.visualAid,this);tinyMCE._setEventsEnabled(this.getBody(),true);this.repaint();tinyMCE.triggerNodeChange();break;case "mceReplaceContent":var selectedText="";if(tinyMCE.isMSIE){var rng=doc.selection.createRange();selectedText=rng.text;}else selectedText=this.getSel().toString();if(selectedText.length>0){value=tinyMCE.replaceVar(value,"selection",selectedText);tinyMCE.execCommand('mceInsertContent',false,value);}tinyMCE.triggerNodeChange();break;case "mceSetAttribute":if(typeof(value)=='object'){var targetElms=(typeof(value['targets'])=="undefined")?"p,img,span,div,td,h1,h2,h3,h4,h5,h6,pre,address":value['targets'];var targetNode=tinyMCE.getParentElement(this.getFocusElement(),targetElms);if(targetNode){targetNode.setAttribute(value['name'],value['value']);tinyMCE.triggerNodeChange();}}break;case "mceSetCSSClass":this.execCommand("SetStyleInfo",false,{command:"setattrib",name:"class",value:value});break;case "mceInsertRawHTML":var key='tiny_mce_marker';this.execCommand('mceBeginUndoLevel');this.execCommand('mceInsertContent',false,key);var scrollX=this.getDoc().body.scrollLeft+this.getDoc().documentElement.scrollLeft;var scrollY=this.getDoc().body.scrollTop+this.getDoc().documentElement.scrollTop;var html=this.getBody().innerHTML;if((pos=html.indexOf(key))!=-1)this.getBody().innerHTML=html.substring(0,pos)+value+html.substring(pos+key.length);this.contentWindow.scrollTo(scrollX,scrollY);this.execCommand('mceEndUndoLevel');break;case "mceInsertContent":if(!tinyMCE.isMSIE){var sel=this.getSel();var rng=this.getRng();var isHTML=value.indexOf('<')!=-1;if(isHTML){if(tinyMCE.isSafari){var tmpRng=this.getDoc().createRange();tmpRng.setStart(this.getBody(),0);tmpRng.setEnd(this.getBody(),0);value=tmpRng.createContextualFragment(value);}else value=rng.createContextualFragment(value);}else{var el=document.createElement("div");el.innerHTML=value;value=el.firstChild.nodeValue;value=doc.createTextNode(value);}if(tinyMCE.isSafari&&!isHTML){this.execCommand('InsertText',false,value.nodeValue);tinyMCE.triggerNodeChange();return true;}else if(tinyMCE.isSafari&&isHTML){rng.deleteContents();rng.insertNode(value);tinyMCE.triggerNodeChange();return true;}rng.deleteContents();if(rng.startContainer.nodeType==3){var node=rng.startContainer.splitText(rng.startOffset);node.parentNode.insertBefore(value,node);}else rng.insertNode(value);if(!isHTML){sel.selectAllChildren(doc.body);sel.removeAllRanges();var rng=doc.createRange();rng.selectNode(value);rng.collapse(false);sel.addRange(rng);}else rng.collapse(false);}else{var rng=doc.selection.createRange();if(rng.item)rng.item(0).outerHTML=value;else rng.pasteHTML(value);}tinyMCE.triggerNodeChange();break;case "mceStartTyping":if(tinyMCE.settings['custom_undo_redo']&&this.typingUndoIndex==-1){this.typingUndoIndex=this.undoIndex;this.execCommand('mceAddUndoLevel');}break;case "mceEndTyping":if(tinyMCE.settings['custom_undo_redo']&&this.typingUndoIndex!=-1){this.execCommand('mceAddUndoLevel');this.typingUndoIndex=-1;}break;case "mceBeginUndoLevel":this.undoRedo=false;break;case "mceEndUndoLevel":this.undoRedo=true;this.execCommand('mceAddUndoLevel');break;case "mceAddUndoLevel":if(tinyMCE.settings['custom_undo_redo']&&this.undoRedo){if(this.typingUndoIndex!=-1){this.undoIndex=this.typingUndoIndex;}var newHTML=tinyMCE.trim(this.getBody().innerHTML);if(newHTML!=this.undoLevels[this.undoIndex]){tinyMCE.executeCallback('onchange_callback','_onchange',0,this);var customUndoLevels=tinyMCE.settings['custom_undo_redo_levels'];if(customUndoLevels!=-1&&this.undoLevels.length>customUndoLevels){for(var i=0;i<this.undoLevels.length-1;i++){this.undoLevels[i]=this.undoLevels[i+1];}this.undoLevels.length--;this.undoIndex--;}this.undoIndex++;this.undoLevels[this.undoIndex]=newHTML;this.undoLevels.length=this.undoIndex+1;tinyMCE.triggerNodeChange(false);}}break;case "Undo":if(tinyMCE.settings['custom_undo_redo']){tinyMCE.execCommand("mceEndTyping");if(this.undoIndex>0){this.undoIndex--;this.getBody().innerHTML=this.undoLevels[this.undoIndex];this.repaint();}tinyMCE.triggerNodeChange();}else this.getDoc().execCommand(command,user_interface,value);break;case "Redo":if(tinyMCE.settings['custom_undo_redo']){tinyMCE.execCommand("mceEndTyping");if(this.undoIndex<(this.undoLevels.length-1)){this.undoIndex++;this.getBody().innerHTML=this.undoLevels[this.undoIndex];this.repaint();}tinyMCE.triggerNodeChange();}else this.getDoc().execCommand(command,user_interface,value);break;case "mceToggleVisualAid":this.visualAid=!this.visualAid;tinyMCE.handleVisualAid(this.getBody(),true,this.visualAid,this);tinyMCE.triggerNodeChange();break;case "removeformat":var text=this.getSelectedText();if(tinyMCE.isMSIE){try{win.focus();var rng=doc.selection.createRange();rng.execCommand("RemoveFormat",false,null);if(rng.text==rng.parentElement().innerText){rng.moveToElementText(rng.parentElement());rng.select();}rng.pasteHTML(rng.text);}catch(e){}}else this.getDoc().execCommand(command,user_interface,value);if(text.length==0)this.execCommand("mceSetCSSClass",false,"");tinyMCE.triggerNodeChange();break;default:this.getDoc().execCommand(command,user_interface,value);tinyMCE.triggerNodeChange();}if(command!="mceAddUndoLevel"&&command!="Undo"&&command!="Redo"&&command!="mceStartTyping"&&command!="mceEndTyping")tinyMCE.execCommand("mceAddUndoLevel");};TinyMCEControl.prototype.queryCommandValue=function(command){return this.getDoc().queryCommandValue(command);};TinyMCEControl.prototype.queryCommandState=function(command){return this.getDoc().queryCommandState(command);};TinyMCEControl.prototype.onAdd=function(replace_element,form_element_name,target_document){var targetDoc=target_document?target_document:document;this.targetDoc=targetDoc;tinyMCE.themeURL=tinyMCE.baseURL+"/themes/"+this.settings['theme'];this.settings['themeurl']=tinyMCE.themeURL;if(!replace_element){alert("Error: Could not find the target element.");return false;}var templateFunction=tinyMCE._getThemeFunction('_getInsertLinkTemplate');if(eval("typeof("+templateFunction+")")!='undefined')this.insertLinkTemplate=eval(templateFunction+'(this.settings);');var templateFunction=tinyMCE._getThemeFunction('_getInsertImageTemplate');if(eval("typeof("+templateFunction+")")!='undefined')this.insertImageTemplate=eval(templateFunction+'(this.settings);');var templateFunction=tinyMCE._getThemeFunction('_getEditorTemplate');if(eval("typeof("+templateFunction+")")=='undefined'){alert("Error: Could not find the template function: "+templateFunction);return false;}var editorTemplate=eval(templateFunction+'(this.settings, this.editorId);');var deltaWidth=editorTemplate['delta_width']?editorTemplate['delta_width']:0;var deltaHeight=editorTemplate['delta_height']?editorTemplate['delta_height']:0;var html='<span id="'+this.editorId+'_parent">'+editorTemplate['html'];var templateFunction=tinyMCE._getThemeFunction('_handleNodeChange',true);if(eval("typeof("+templateFunction+")")!='undefined')this.settings['handleNodeChangeCallback']=templateFunction;html=tinyMCE.replaceVar(html,"editor_id",this.editorId);this.settings['default_document']=tinyMCE.baseURL+"/blank.htm";this.settings['old_width']=this.settings['width'];this.settings['old_height']=this.settings['height'];if(this.settings['width']==-1)this.settings['width']=replace_element.offsetWidth;if(this.settings['height']==-1)this.settings['height']=replace_element.offsetHeight;if(this.settings['width']==0)this.settings['width']=replace_element.style.width;if(this.settings['height']==0)this.settings['height']=replace_element.style.height;if(this.settings['width']==0)this.settings['width']=320;if(this.settings['height']==0)this.settings['height']=240;this.settings['area_width']=parseInt(this.settings['width']);this.settings['area_height']=parseInt(this.settings['height']);this.settings['area_width']+=deltaWidth;this.settings['area_height']+=deltaHeight;if((""+this.settings['width']).indexOf('%')!=-1)this.settings['area_width']="100%";if((""+this.settings['height']).indexOf('%')!=-1)this.settings['area_height']="100%";if((""+replace_element.style.width).indexOf('%')!=-1){this.settings['width']=replace_element.style.width;this.settings['area_width']="100%";}if((""+replace_element.style.height).indexOf('%')!=-1){this.settings['height']=replace_element.style.height;this.settings['area_height']="100%";}html=tinyMCE.applyTemplate(html);this.settings['width']=this.settings['old_width'];this.settings['height']=this.settings['old_height'];this.visualAid=this.settings['visual'];this.formTargetElementId=form_element_name;if(replace_element.nodeName=="TEXTAREA"||replace_element.nodeName=="INPUT")this.startContent=replace_element.value;else this.startContent=replace_element.innerHTML;if(replace_element.nodeName.toLowerCase()!="textarea"){this.oldTargetElement=replace_element.cloneNode(true);if(tinyMCE.settings['debug'])html+='<textarea wrap="off" id="'+form_element_name+'" name="'+form_element_name+'" cols="100" rows="15"></textarea>';else html+='<input type="hidden" type="text" id="'+form_element_name+'" name="'+form_element_name+'" />';html+='</span>';if(!tinyMCE.isMSIE){var rng=replace_element.ownerDocument.createRange();rng.setStartBefore(replace_element);var fragment=rng.createContextualFragment(html);replace_element.parentNode.replaceChild(fragment,replace_element);}else replace_element.outerHTML=html;}else{html+='</span>';this.oldTargetElement=replace_element;if(!tinyMCE.settings['debug'])this.oldTargetElement.style.display="none";if(!tinyMCE.isMSIE){var rng=replace_element.ownerDocument.createRange();rng.setStartBefore(replace_element);var fragment=rng.createContextualFragment(html);replace_element.parentNode.insertBefore(fragment,replace_element);}else replace_element.insertAdjacentHTML("beforeBegin",html);}var dynamicIFrame=false;var tElm=targetDoc.getElementById(this.editorId);if(!tinyMCE.isMSIE){if(tElm&&tElm.nodeName.toLowerCase()=="span"){tElm=tinyMCE._createIFrame(tElm);dynamicIFrame=true;}this.targetElement=tElm;this.iframeElement=tElm;this.contentDocument=tElm.contentDocument;this.contentWindow=tElm.contentWindow;}else{if(tElm&&tElm.nodeName.toLowerCase()=="span")tElm=tinyMCE._createIFrame(tElm);else tElm=targetDoc.frames[this.editorId];this.targetElement=tElm;this.iframeElement=targetDoc.getElementById(this.editorId);this.contentDocument=tElm.window.document;this.contentWindow=tElm.window;this.getDoc().designMode="on";}var doc=this.contentDocument;if(dynamicIFrame){var html='<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html><head><base href="'+tinyMCE.settings['base_href']+'" /><title>blank_page</title><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"></head><body class="mceContentBody"></body></html>';try{this.getDoc().designMode="on";doc.open();doc.write(html);doc.close();}catch(e){this.getDoc().location.href=tinyMCE.baseURL+"/blank.htm";}}if(tinyMCE.isMSIE)window.setTimeout("TinyMCE.prototype.addEventHandlers('"+this.editorId+"');",1);tinyMCE.setupContent(this.editorId,true);return true;};TinyMCEControl.prototype.getFocusElement=function(){if(tinyMCE.isMSIE){var doc=this.getDoc();var rng=doc.selection.createRange();if(rng.collapse)rng.collapse(true);var elm=rng.item?rng.item(0):rng.parentElement();}else{var sel=this.getSel();var rng=this.getRng();var elm=rng.commonAncestorContainer;if(!rng.collapsed){if(rng.startContainer==rng.endContainer){if(rng.startOffset-rng.endOffset<2){if(rng.startContainer.hasChildNodes())elm=rng.startContainer.childNodes[rng.startOffset];}}}elm=tinyMCE.getParentElement(elm);}return elm;};var tinyMCE=new TinyMCE();var tinyMCELang=new Array();
\ No newline at end of file
diff --git a/webcit/tiny_mce/tiny_mce_popup.js b/webcit/tiny_mce/tiny_mce_popup.js
new file mode 100644 (file)
index 0000000..5ddba23
--- /dev/null
@@ -0,0 +1,221 @@
+/**
+ * $RCSfile$
+ * $Revision$
+ * $Date$
+ *
+ * @author Moxiecode
+ * @copyright Copyright © 2004, Moxiecode Systems AB, All rights reserved.
+ */
+
+var tinyMCE = null, tinyMCELang = null;
+
+function TinyMCEPopup() {
+};
+
+TinyMCEPopup.prototype.init = function() {
+       var win = window.opener ? window.opener : window.dialogArguments;
+
+       if (!win)
+               win = top;
+
+       window.opener = win;
+       this.windowOpener = win;
+
+       // Setup parent references
+       tinyMCE = win.tinyMCE;
+       tinyMCELang = win.tinyMCELang;
+
+       if (!tinyMCE) {
+               alert("tinyMCE object reference not found from popup.");
+               return;
+       }
+
+       this.isWindow = tinyMCE.getWindowArg('mce_inside_iframe', false) == false;
+       this.storeSelection = tinyMCE.isMSIE && !this.isWindow && tinyMCE.getWindowArg('mce_store_selection', true);
+
+       // Store selection
+       if (this.storeSelection)
+               tinyMCE.selectedInstance.execCommand('mceStoreSelection');
+
+       // Setup dir
+       if (tinyMCELang['lang_dir'])
+               document.dir = tinyMCELang['lang_dir'];
+
+       // Setup title
+       var re = new RegExp('{|\\\$|}', 'g');
+       var title = document.title.replace(re, "");
+       if (typeof tinyMCELang[title] != "undefined") {
+               var divElm = document.createElement("div");
+               divElm.innerHTML = tinyMCELang[title];
+               document.title = divElm.innerHTML;
+
+               if (tinyMCE.setWindowTitle != null)
+                       tinyMCE.setWindowTitle(window, divElm.innerHTML);
+       }
+
+       // Output Popup CSS class
+       document.write('<link href="' + tinyMCE.getParam("popups_css") + '" rel="stylesheet" type="text/css">');
+
+       tinyMCE.addEvent(window, "load", this.onLoad);
+};
+
+TinyMCEPopup.prototype.onLoad = function() {
+       var body = document.body;
+
+       if (tinyMCE.getWindowArg('mce_replacevariables', true))
+               body.innerHTML = tinyMCE.applyTemplate(body.innerHTML, tinyMCE.windowArgs);
+
+       var dir = tinyMCE.selectedInstance.settings['directionality'];
+       if (dir == "rtl") {
+               var elms = document.forms[0].elements;
+               for (var i=0; i<elms.length; i++) {
+                       if ((elms[i].type == "text" || elms[i].type == "textarea") && elms[i].getAttribute("dir") != "ltr")
+                               elms[i].dir = dir;
+               }
+       }
+
+       if (body.style.display == 'none')
+               body.style.display = 'block';
+};
+
+TinyMCEPopup.prototype.resizeToInnerSize = function() {
+       if (this.isWindow) {
+               var doc = document;
+               var body = doc.body;
+               var oldMargin, wrapper, iframe, nodes, dx, dy;
+
+               if (body.style.display == 'none')
+                       body.style.display = 'block';
+
+               // Remove margin
+               oldMargin = body.style.margin;
+               body.style.margin = '0px';
+
+               // Create wrapper
+               wrapper = doc.createElement("div");
+               wrapper.id = 'mcBodyWrapper';
+               wrapper.style.display = 'none';
+               wrapper.style.margin = '0px';
+
+               // Wrap body elements
+               nodes = doc.body.childNodes;
+               for (var i=nodes.length-1; i>=0; i--) {
+                       if (wrapper.hasChildNodes())
+                               wrapper.insertBefore(nodes[i].cloneNode(true), wrapper.firstChild);
+                       else
+                               wrapper.appendChild(nodes[i].cloneNode(true));
+
+                       nodes[i].parentNode.removeChild(nodes[i]);
+               }
+
+               // Add wrapper
+               doc.body.appendChild(wrapper);
+
+               // Create iframe
+               iframe = document.createElement("iframe");
+               iframe.id = "mcWinIframe";
+               iframe.src = "about:blank";
+               iframe.width = "100%";
+               iframe.height = "100%";
+               iframe.style.margin = '0px';
+
+               // Add iframe
+               doc.body.appendChild(iframe);
+
+               // Measure iframe
+               iframe = document.getElementById('mcWinIframe');
+               dx = tinyMCE.getWindowArg('mce_width') - iframe.clientWidth;
+               dy = tinyMCE.getWindowArg('mce_height') - iframe.clientHeight;
+
+               // Resize window
+               // tinyMCE.debug(tinyMCE.getWindowArg('mce_width') + "," + tinyMCE.getWindowArg('mce_height') + " - " + dx + "," + dy);
+               window.resizeBy(dx, dy);
+
+               // Hide iframe and show wrapper
+               body.style.margin = oldMargin;
+               iframe.style.display = 'none';
+               wrapper.style.display = 'block';
+       }
+};
+
+TinyMCEPopup.prototype.resizeToContent = function() {
+       var isMSIE = (navigator.appName == "Microsoft Internet Explorer");
+       var isOpera = (navigator.userAgent.indexOf("Opera") != -1);
+
+       if (isOpera)
+               return;
+
+       if (isMSIE) {
+               try { window.resizeTo(10, 10); } catch (e) {}
+
+               var elm = document.body;
+               var width = elm.offsetWidth;
+               var height = elm.offsetHeight;
+               var dx = (elm.scrollWidth - width) + 4;
+               var dy = elm.scrollHeight - height;
+
+               try { window.resizeBy(dx, dy); } catch (e) {}
+       } else {
+               window.scrollBy(1000, 1000);
+               if (window.scrollX > 0 || window.scrollY > 0) {
+                       window.resizeBy(window.innerWidth * 2, window.innerHeight * 2);
+                       window.sizeToContent();
+                       window.scrollTo(0, 0);
+                       var x = parseInt(screen.width / 2.0) - (window.outerWidth / 2.0);
+                       var y = parseInt(screen.height / 2.0) - (window.outerHeight / 2.0);
+                       window.moveTo(x, y);
+               }
+       }
+};
+
+TinyMCEPopup.prototype.getWindowArg = function(name, default_value) {
+       return tinyMCE.getWindowArg(name, default_value);
+};
+
+TinyMCEPopup.prototype.execCommand = function(command, user_interface, value) {
+       var inst = tinyMCE.selectedInstance;
+
+       // Restore selection
+       if (this.storeSelection) {
+               inst.getWin().focus();
+               inst.execCommand('mceRestoreSelection');
+       }
+
+       inst.execCommand(command, user_interface, value);
+
+       // Store selection
+       if (this.storeSelection)
+               inst.execCommand('mceStoreSelection');
+};
+
+TinyMCEPopup.prototype.close = function() {
+       tinyMCE.closeWindow(window);
+};
+
+TinyMCEPopup.prototype.pickColor = function(e, element_id) {
+       tinyMCE.selectedInstance.execCommand('mceColorPicker', true, {
+               element_id : element_id,
+               document : document,
+               window : window,
+               store_selection : false
+       });
+};
+
+TinyMCEPopup.prototype.openBrowser = function(element_id, type, option) {
+       var cb = tinyMCE.getParam(option, tinyMCE.getParam("file_browser_callback"));
+       var url = document.getElementById(element_id).value;
+
+       tinyMCE.setWindowArg("window", window);
+       tinyMCE.setWindowArg("document", document);
+
+       // Call to external callback
+       if (eval('typeof(tinyMCEPopup.windowOpener.' + cb + ')') == "undefined")
+               alert("Callback function: " + cb + " could not be found.");
+       else
+               eval("tinyMCEPopup.windowOpener." + cb + "(element_id, url, type, window);");
+};
+
+// Setup global instance
+var tinyMCEPopup = new TinyMCEPopup();
+
+tinyMCEPopup.init();
diff --git a/webcit/tiny_mce/tiny_mce_src.js b/webcit/tiny_mce/tiny_mce_src.js
new file mode 100644 (file)
index 0000000..9ba55e8
--- /dev/null
@@ -0,0 +1,5177 @@
+/**
+ * $RCSfile$
+ * $Revision$
+ * $Date$
+ *
+ * @author Moxiecode
+ * @copyright Copyright © 2004, Moxiecode Systems AB, All rights reserved.
+ */
+
+function TinyMCE() {
+       this.majorVersion = "2";
+       this.minorVersion = "0RC2";
+       this.releaseDate = "2005-09-12";
+
+       this.instances = new Array();
+       this.stickyClassesLookup = new Array();
+       this.windowArgs = new Array();
+       this.loadedFiles = new Array();
+       this.configs = new Array();
+       this.currentConfig = 0;
+       this.eventHandlers = new Array();
+
+       // Browser check
+       this.isMSIE = (navigator.appName == "Microsoft Internet Explorer");
+       this.isMSIE5 = this.isMSIE && (navigator.userAgent.indexOf('MSIE 5') != -1);
+       this.isMSIE5_0 = this.isMSIE && (navigator.userAgent.indexOf('MSIE 5.0') != -1);
+       this.isGecko = navigator.userAgent.indexOf('Gecko') != -1;
+       this.isSafari = navigator.userAgent.indexOf('Safari') != -1;
+       this.isMac = navigator.userAgent.indexOf('Mac') != -1;
+       this.dialogCounter = 0;
+
+       // TinyMCE editor id instance counter
+       this.idCounter = 0;
+};
+
+TinyMCE.prototype.defParam = function(key, def_val) {
+       this.settings[key] = tinyMCE.getParam(key, def_val);
+};
+
+TinyMCE.prototype.init = function(settings) {
+       var theme;
+
+       this.settings = settings;
+
+       // Check if valid browser has execcommand support
+       if (typeof(document.execCommand) == 'undefined')
+               return;
+
+       // Get script base path
+       if (!tinyMCE.baseURL) {
+               var elements = document.getElementsByTagName('script');
+
+               for (var i=0; i<elements.length; i++) {
+                       if (elements[i].src && (elements[i].src.indexOf("tiny_mce.js") != -1 || elements[i].src.indexOf("tiny_mce_src.js") != -1 || elements[i].src.indexOf("tiny_mce_gzip.php") != -1)) {
+                               var src = elements[i].src;
+
+                               tinyMCE.srcMode = (src.indexOf('_src') != -1) ? '_src' : '';
+                               src = src.substring(0, src.lastIndexOf('/'));
+
+                               tinyMCE.baseURL = src;
+                               break;
+                       }
+               }
+       }
+
+       // Get document base path
+       this.documentBasePath = document.location.href;
+       if (this.documentBasePath.indexOf('?') != -1)
+               this.documentBasePath = this.documentBasePath.substring(0, this.documentBasePath.indexOf('?'));
+       this.documentURL = this.documentBasePath;
+       this.documentBasePath = this.documentBasePath.substring(0, this.documentBasePath.lastIndexOf('/'));
+
+       // If not HTTP absolute
+       if (tinyMCE.baseURL.indexOf('://') == -1 && tinyMCE.baseURL.charAt(0) != '/') {
+               // If site absolute
+               tinyMCE.baseURL = this.documentBasePath + "/" + tinyMCE.baseURL;
+       }
+
+       // Set default values on settings
+       this.defParam("mode", "none");
+       this.defParam("theme", "advanced");
+       this.defParam("plugins", "", true);
+       this.defParam("language", "en");
+       this.defParam("docs_language", this.settings['language']);
+       this.defParam("elements", "");
+       this.defParam("textarea_trigger", "mce_editable");
+       this.defParam("editor_selector", "");
+       this.defParam("editor_deselector", "mceNoEditor");
+       this.defParam("valid_elements", "+a[id|style|rel|rev|charset|hreflang|dir|lang|tabindex|accesskey|type|name|href|target|title|class|onfocus|onblur|onclick|ondblclick|onmousedown|onmouseup|onmouseover|onmousemove|onmouseout|onkeypress|onkeydown|onkeyup],-strong/b[class|style],-em/i[class|style],-strike[class|style],-u[class|style],+p[style|dir|class|align],-ol[class],-ul[class],-li[class],br,img[id|dir|lang|longdesc|usemap|style|class|src|onmouseover|onmouseout|border=0|alt|title|hspace|vspace|width|height|align],-sub[style|class],-sup[style|class],-blockquote[dir|style],-table[border=0|cellspacing|cellpadding|width|height|class|align|summary|style|dir|id|lang|bgcolor|background|bordercolor],-tr[id|lang|dir|class|rowspan|width|height|align|valign|style|bgcolor|background|bordercolor],tbody[id|class],thead[id|class],tfoot[id|class],-td[id|lang|dir|class|colspan|rowspan|width|height|align|valign|style|bgcolor|background|bordercolor],-th[id|lang|dir|class|colspan|rowspan|width|height|align|valign|style],caption[id|lang|dir|class|style],-div[id|dir|class|align|style],-span[style|class|align],-pre[class|align],address[class|align],-h1[style|dir|class|align],-h2[style|dir|class|align],-h3[style|dir|class|align],-h4[style|dir|class|align],-h5[style|dir|class|align],-h6[style|dir|class|align],hr[class]");
+       this.defParam("extended_valid_elements", "");
+       this.defParam("invalid_elements", "");
+       this.defParam("encoding", "");
+       this.defParam("urlconverter_callback", tinyMCE.getParam("urlconvertor_callback", "TinyMCE.prototype.convertURL"));
+       this.defParam("save_callback", "");
+       this.defParam("debug", false);
+       this.defParam("force_br_newlines", false);
+       this.defParam("force_p_newlines", true);
+       this.defParam("add_form_submit_trigger", true);
+       this.defParam("relative_urls", true);
+       this.defParam("remove_script_host", true);
+       this.defParam("focus_alert", true);
+       this.defParam("document_base_url", this.documentURL);
+       this.defParam("visual", true);
+       this.defParam("visual_table_class", "mceVisualAid");
+       this.defParam("setupcontent_callback", "");
+       this.defParam("fix_content_duplication", true);
+       this.defParam("custom_undo_redo", true);
+       this.defParam("custom_undo_redo_levels", -1);
+       this.defParam("custom_undo_redo_keyboard_shortcuts", true);
+       this.defParam("verify_css_classes", false);
+       this.defParam("verify_html", true);
+       this.defParam("apply_source_formatting", false);
+       this.defParam("directionality", "ltr");
+       this.defParam("cleanup_on_startup", false);
+       this.defParam("inline_styles", false);
+       this.defParam("convert_newlines_to_brs", false);
+       this.defParam("auto_reset_designmode", true);
+       this.defParam("entities", "160,nbsp,38,amp,34,quot,162,cent,8364,euro,163,pound,165,yen,169,copy,174,reg,8482,trade,8240,permil,181,micro,183,middot,8226,bull,8230,hellip,8242,prime,8243,Prime,167,sect,182,para,223,szlig,8249,lsaquo,8250,rsaquo,171,laquo,187,raquo,8216,lsquo,8217,rsquo,8220,ldquo,8221,rdquo,8218,sbquo,8222,bdquo,60,lt,62,gt,8804,le,8805,ge,8211,ndash,8212,mdash,175,macr,8254,oline,164,curren,166,brvbar,168,uml,161,iexcl,191,iquest,710,circ,732,tilde,176,deg,8722,minus,177,plusmn,247,divide,8260,frasl,215,times,185,sup1,178,sup2,179,sup3,188,frac14,189,frac12,190,frac34,402,fnof,8747,int,8721,sum,8734,infin,8730,radic,8764,sim,8773,cong,8776,asymp,8800,ne,8801,equiv,8712,isin,8713,notin,8715,ni,8719,prod,8743,and,8744,or,172,not,8745,cap,8746,cup,8706,part,8704,forall,8707,exist,8709,empty,8711,nabla,8727,lowast,8733,prop,8736,ang,180,acute,184,cedil,170,ordf,186,ordm,8224,dagger,8225,Dagger,192,Agrave,194,Acirc,195,Atilde,196,Auml,197,Aring,198,AElig,199,Ccedil,200,Egrave,202,Ecirc,203,Euml,204,Igrave,206,Icirc,207,Iuml,208,ETH,209,Ntilde,210,Ograve,212,Ocirc,213,Otilde,214,Ouml,216,Oslash,338,OElig,217,Ugrave,219,Ucirc,220,Uuml,376,Yuml,222,THORN,224,agrave,226,acirc,227,atilde,228,auml,229,aring,230,aelig,231,ccedil,232,egrave,234,ecirc,235,euml,236,igrave,238,icirc,239,iuml,240,eth,241,ntilde,242,ograve,244,ocirc,245,otilde,246,ouml,248,oslash,339,oelig,249,ugrave,251,ucirc,252,uuml,254,thorn,255,yuml,914,Beta,915,Gamma,916,Delta,917,Epsilon,918,Zeta,919,Eta,920,Theta,921,Iota,922,Kappa,923,Lambda,924,Mu,925,Nu,926,Xi,927,Omicron,928,Pi,929,Rho,931,Sigma,932,Tau,933,Upsilon,934,Phi,935,Chi,936,Psi,937,Omega,945,alpha,946,beta,947,gamma,948,delta,949,epsilon,950,zeta,951,eta,952,theta,953,iota,954,kappa,955,lambda,956,mu,957,nu,958,xi,959,omicron,960,pi,961,rho,962,sigmaf,963,sigma,964,tau,965,upsilon,966,phi,967,chi,968,psi,969,omega,8501,alefsym,982,piv,8476,real,977,thetasym,978,upsih,8472,weierp,8465,image,8592,larr,8593,uarr,8594,rarr,8595,darr,8596,harr,8629,crarr,8656,lArr,8657,uArr,8658,rArr,8659,dArr,8660,hArr,8756,there4,8834,sub,8835,sup,8836,nsub,8838,sube,8839,supe,8853,oplus,8855,otimes,8869,perp,8901,sdot,8968,lceil,8969,rceil,8970,lfloor,8971,rfloor,9001,lang,9002,rang,9674,loz,9824,spades,9827,clubs,9829,hearts,9830,diams,8194,ensp,8195,emsp,8201,thinsp,8204,zwnj,8205,zwj,8206,lrm,8207,rlm,173,shy,233,eacute,237,iacute,243,oacute,250,uacute,193,Aacute,225,aacute,201,Eacute,205,Iacute,211,Oacute,218,Uacute,221,Yacute,253,yacute");
+       this.defParam("entity_encoding", "named");
+       this.defParam("cleanup_callback", "");
+       this.defParam("add_unload_trigger", true);
+       this.defParam("ask", false);
+       this.defParam("nowrap", false);
+       this.defParam("auto_resize", false);
+       this.defParam("auto_focus", false);
+       this.defParam("cleanup", true);
+       this.defParam("remove_linebreaks", true);
+       this.defParam("button_tile_map", false);
+       this.defParam("submit_patch", true);
+       this.defParam("browsers", "msie,safari,gecko");
+       this.defParam("dialog_type", "window");
+       this.defParam("convert_fonts_to_styles", true);
+
+       // Browser check IE
+       if (this.isMSIE && this.settings['browsers'].indexOf('msie') == -1)
+               return;
+
+       // Browser check Gecko
+       if (this.isGecko && this.settings['browsers'].indexOf('gecko') == -1)
+               return;
+
+       // Browser check Safari
+       if (this.isSafari && this.settings['browsers'].indexOf('safari') == -1)
+               return;
+
+       // Setup baseHREF
+       var baseHREF = tinyMCE.settings['document_base_url'];
+       if (baseHREF.indexOf('?') != -1)
+               baseHREF = baseHREF.substring(0, baseHREF.indexOf('?'));
+       this.settings['base_href'] = baseHREF.substring(0, baseHREF.lastIndexOf('/')) + "/";
+
+       theme = this.settings['theme'];
+
+       this.blockRegExp = new RegExp("^(h[1-6]|p|div|address|pre|form|table|li|ol|ul|td)$", "i");
+       this.posKeyCodes = new Array(13,45,36,35,33,34,37,38,39,40);
+
+       // Theme url
+       this.settings['theme_href'] = tinyMCE.baseURL + "/themes/" + theme;
+
+       if (!tinyMCE.isMSIE)
+               this.settings['force_br_newlines'] = false;
+
+       if (tinyMCE.getParam("content_css", false)) {
+               var cssPath = tinyMCE.getParam("content_css", "");
+
+               // Is relative
+               if (cssPath.indexOf('://') == -1 && cssPath.charAt(0) != '/')
+                       this.settings['content_css'] = this.documentBasePath + "/" + cssPath;
+               else
+                       this.settings['content_css'] = cssPath;
+       } else
+               this.settings['content_css'] = '';
+
+       if (tinyMCE.getParam("popups_css", false)) {
+               var cssPath = tinyMCE.getParam("popups_css", "");
+
+               // Is relative
+               if (cssPath.indexOf('://') == -1 && cssPath.charAt(0) != '/')
+                       this.settings['popups_css'] = this.documentBasePath + "/" + cssPath;
+               else
+                       this.settings['popups_css'] = cssPath;
+       } else
+               this.settings['popups_css'] = tinyMCE.baseURL + "/themes/" + theme + "/css/editor_popup.css";
+
+       if (tinyMCE.getParam("editor_css", false)) {
+               var cssPath = tinyMCE.getParam("editor_css", "");
+
+               // Is relative
+               if (cssPath.indexOf('://') == -1 && cssPath.charAt(0) != '/')
+                       this.settings['editor_css'] = this.documentBasePath + "/" + cssPath;
+               else
+                       this.settings['editor_css'] = cssPath;
+       } else
+               this.settings['editor_css'] = tinyMCE.baseURL + "/themes/" + theme + "/css/editor_ui.css";
+
+       if (tinyMCE.settings['debug']) {
+               var msg = "Debug: \n";
+
+               msg += "baseURL: " + this.baseURL + "\n";
+               msg += "documentBasePath: " + this.documentBasePath + "\n";
+               msg += "content_css: " + this.settings['content_css'] + "\n";
+               msg += "popups_css: " + this.settings['popups_css'] + "\n";
+               msg += "editor_css: " + this.settings['editor_css'] + "\n";
+
+               alert(msg);
+       }
+
+       // Init HTML cleanup
+       this._initCleanup();
+
+       // Only do this once
+       if (this.configs.length == 0) {
+               // Is Safari enabled
+               if (this.isSafari && this.getParam('safari_warning', true))
+                       alert("Safari support is very limited and should be considered experimental.\nSo there is no need to even submit bugreports on this early version.");
+
+               tinyMCE.addEvent(window, "load", TinyMCE.prototype.onLoad);
+
+               if (tinyMCE.isMSIE) {
+                       if (tinyMCE.settings['add_unload_trigger']) {
+                               tinyMCE.addEvent(window, "unload", TinyMCE.prototype.unloadHandler);
+                               tinyMCE.addEvent(window.document, "beforeunload", TinyMCE.prototype.unloadHandler);
+                       }
+               } else {
+                       if (tinyMCE.settings['add_unload_trigger'])
+                               tinyMCE.addEvent(window, "unload", function () {tinyMCE.triggerSave(true, true);});
+               }
+       }
+
+       this.loadScript(tinyMCE.baseURL + '/themes/' + this.settings['theme'] + '/editor_template' + tinyMCE.srcMode + '.js');
+       this.loadScript(tinyMCE.baseURL + '/langs/' + this.settings['language'] +  '.js');
+       this.loadCSS(this.settings['editor_css']);
+
+       // Add theme plugins
+       var themePlugins = tinyMCE.getParam('plugins', '', true, ',');
+       if (this.settings['plugins'] != '') {
+               for (var i=0; i<themePlugins.length; i++)
+                       this.loadScript(tinyMCE.baseURL + '/plugins/' + themePlugins[i] + '/editor_plugin' + tinyMCE.srcMode + '.js');
+       }
+
+       // Save away this config
+       settings['index'] = this.configs.length;
+       this.configs[this.configs.length] = settings;
+};
+
+TinyMCE.prototype.loadScript = function(url) {
+       for (var i=0; i<this.loadedFiles.length; i++) {
+               if (this.loadedFiles[i] == url)
+                       return;
+       }
+
+       document.write('<sc'+'ript language="javascript" type="text/javascript" src="' + url + '"></script>');
+
+       this.loadedFiles[this.loadedFiles.length] = url;
+};
+
+TinyMCE.prototype.loadCSS = function(url) {
+       for (var i=0; i<this.loadedFiles.length; i++) {
+               if (this.loadedFiles[i] == url)
+                       return;
+       }
+
+       document.write('<link href="' + url + '" rel="stylesheet" type="text/css" />');
+
+       this.loadedFiles[this.loadedFiles.length] = url;
+};
+
+TinyMCE.prototype.importCSS = function(doc, css_file) {
+       if (css_file == '')
+               return;
+
+       if (tinyMCE.isMSIE)
+               var styleSheet = doc.createStyleSheet(css_file);
+       else {
+               var elm = doc.createElement("link");
+
+               elm.rel = "stylesheet";
+               elm.href = css_file;
+
+               if (headArr = doc.getElementsByTagName("head"))
+                       headArr[0].appendChild(elm);
+       }
+};
+
+TinyMCE.prototype.confirmAdd = function(e, settings) {
+       var elm = tinyMCE.isMSIE ? event.srcElement : e.target;
+       var elementId = elm.name ? elm.name : elm.id;
+
+       tinyMCE.settings = settings;
+
+       if (!elm.getAttribute('mce_noask') && confirm(tinyMCELang['lang_edit_confirm']))
+               tinyMCE.addMCEControl(elm, elementId);
+
+       elm.setAttribute('mce_noask', 'true');
+};
+
+TinyMCE.prototype.updateContent = function(form_element_name) {
+       // Find MCE instance linked to given form element and copy it's value
+       var formElement = document.getElementById(form_element_name);
+       for (var n in tinyMCE.instances) {
+               var inst = tinyMCE.instances[n];
+
+               inst.switchSettings();
+
+               if (inst.formElement == formElement) {
+                       var doc = inst.getDoc();
+       
+                       tinyMCE._setHTML(doc, inst.formElement.value);
+
+                       if (!tinyMCE.isMSIE)
+                               doc.body.innerHTML = tinyMCE._cleanupHTML(inst, doc, this.settings, doc.body, inst.visualAid);
+               }
+       }
+};
+
+TinyMCE.prototype.addMCEControl = function(replace_element, form_element_name, target_document) {
+       var id = "mce_editor_" + tinyMCE.idCounter++;
+       var inst = new TinyMCEControl(tinyMCE.settings);
+
+       inst.editorId = id;
+       this.instances[id] = inst;
+
+       inst.onAdd(replace_element, form_element_name, target_document);
+};
+
+TinyMCE.prototype.triggerSave = function(skip_cleanup, skip_callback) {
+       // Cleanup and set all form fields
+       for (var n in tinyMCE.instances) {
+               var inst = tinyMCE.instances[n];
+
+               inst.switchSettings();
+
+               tinyMCE.settings['preformatted'] = false;
+
+               // Default to false
+               if (typeof(skip_cleanup) == "undefined")
+                       skip_cleanup = false;
+
+               // Default to false
+               if (typeof(skip_callback) == "undefined")
+                       skip_callback = false;
+
+               tinyMCE._setHTML(inst.getDoc(), inst.getBody().innerHTML);
+
+               // Remove visual aids when cleanup is disabled
+               if (inst.settings['cleanup'] == false) {
+                       tinyMCE.handleVisualAid(inst.getBody(), true, false, inst);
+                       tinyMCE._setEventsEnabled(inst.getBody(), false);
+               }
+
+               tinyMCE._customCleanup(inst, "submit_content_dom", inst.contentWindow.document.body);
+               var htm = skip_cleanup ? inst.getBody().innerHTML : tinyMCE._cleanupHTML(inst, inst.getDoc(), this.settings, inst.getBody(), this.visualAid, true);
+               htm = tinyMCE._customCleanup(inst, "submit_content", htm);
+
+               if (tinyMCE.settings["encoding"] == "xml" || tinyMCE.settings["encoding"] == "html")
+                       htm = tinyMCE.convertStringToXML(htm);
+
+               if (!skip_callback && tinyMCE.settings['save_callback'] != "")
+                       var content = eval(tinyMCE.settings['save_callback'] + "(inst.formTargetElementId,htm,inst.getBody());");
+
+               // Use callback content if available
+               if ((typeof(content) != "undefined") && content != null)
+                       htm = content;
+
+               // Replace some weird entities (Bug: #1056343)
+               htm = tinyMCE.regexpReplace(htm, "&#40;", "(", "gi");
+               htm = tinyMCE.regexpReplace(htm, "&#41;", ")", "gi");
+               htm = tinyMCE.regexpReplace(htm, "&#59;", ";", "gi");
+               htm = tinyMCE.regexpReplace(htm, "&#34;", "&quot;", "gi");
+               htm = tinyMCE.regexpReplace(htm, "&#94;", "^", "gi");
+
+               if (inst.formElement)
+                       inst.formElement.value = htm;
+       }
+};
+
+TinyMCE.prototype._setEventsEnabled = function(node, state) {
+       var events = new Array('onfocus','onblur','onclick','ondblclick',
+                               'onmousedown','onmouseup','onmouseover','onmousemove',
+                               'onmouseout','onkeypress','onkeydown','onkeydown','onkeyup');
+
+       var elms = node.getElementsByTagName("a");
+       for (var i=0; i<elms.length; i++) {
+               var event = "";
+
+               for (var x=0; x<events.length; x++) {
+                       if ((event = tinyMCE.getAttrib(elms[i], events[x])) != '') {
+                               event = tinyMCE.cleanupEventStr("" + event);
+
+                               if (state)
+                                       event = "return true;" + event;
+                               else
+                                       event = event.replace(/^return true;/gi, '');
+
+                               elms[i].removeAttribute(events[x]);
+                               elms[i].setAttribute(events[x], event);
+                       }
+               }
+       }
+};
+
+TinyMCE.prototype.resetForm = function(form_index) {
+       var formObj = document.forms[form_index];
+
+       for (var n in tinyMCE.instances) {
+               var inst = tinyMCE.instances[n];
+
+               inst.switchSettings();
+
+               for (var i=0; i<formObj.elements.length; i++) {
+                       if (inst.formTargetElementId == formObj.elements[i].name) {
+                               inst.getBody().innerHTML = formObj.elements[i].value;
+                               return;
+                       }
+               }
+       }
+};
+
+TinyMCE.prototype.execInstanceCommand = function(editor_id, command, user_interface, value, focus) {
+       var inst = tinyMCE.getInstanceById(editor_id);
+       if (inst) {
+               if (typeof(focus) == "undefined")
+                       focus = true;
+
+               if (focus)
+                       inst.contentWindow.focus();
+
+               // Reset design mode if lost
+               inst.autoResetDesignMode();
+
+               this.selectedElement = inst.getFocusElement();
+               this.selectedInstance = inst;
+               tinyMCE.execCommand(command, user_interface, value);
+       }
+};
+
+TinyMCE.prototype.execCommand = function(command, user_interface, value) {
+       // Default input
+       user_interface = user_interface ? user_interface : false;
+       value = value ? value : null;
+
+       if (tinyMCE.selectedInstance)
+               tinyMCE.selectedInstance.switchSettings();
+
+       switch (command) {
+               case 'mceHelp':
+                       var template = new Array();
+
+                       template['file']   = 'about.htm';
+                       template['width']  = 480;
+                       template['height'] = 380;
+
+                       tinyMCE.openWindow(template, {
+                               tinymce_version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion,
+                               tinymce_releasedate : tinyMCE.releaseDate,
+                               inline : "yes"
+                       });
+               return;
+
+               case 'mceFocus':
+                       var inst = tinyMCE.getInstanceById(value);
+                       if (inst)
+                               inst.contentWindow.focus();
+               return;
+
+               case "mceAddControl":
+               case "mceAddEditor":
+                       tinyMCE.addMCEControl(tinyMCE._getElementById(value), value);
+                       return;
+
+               case "mceAddFrameControl":
+                       tinyMCE.addMCEControl(tinyMCE._getElementById(value), value['element'], value['document']);
+                       return;
+
+               case "mceRemoveControl":
+               case "mceRemoveEditor":
+                       tinyMCE.removeMCEControl(value);
+                       return;
+
+               case "mceResetDesignMode":
+                       // Resets the designmode state of the editors in Gecko
+                       if (!tinyMCE.isMSIE) {
+                               for (var n in tinyMCE.instances) {
+                                       try {
+                                               tinyMCE.instances[n].getDoc().designMode = "on";
+                                       } catch (e) {
+                                               // Ignore any errors
+                                       }
+                               }
+                       }
+
+                       return;
+       }
+
+       if (this.selectedInstance)
+               this.selectedInstance.execCommand(command, user_interface, value);
+       else if (tinyMCE.settings['focus_alert'])
+               alert(tinyMCELang['lang_focus_alert']);
+};
+
+TinyMCE.prototype.eventPatch = function(editor_id) {
+       // Remove odd, error
+       if (typeof(tinyMCE) == "undefined")
+               return true;
+
+       for (var i=0; i<document.frames.length; i++) {
+               if (document.frames[i].event) {
+                       var event = document.frames[i].event;
+
+                       event.target = event.srcElement;
+
+                       TinyMCE.prototype.handleEvent(event);
+                       return;
+               }
+       }
+};
+
+TinyMCE.prototype.unloadHandler = function() {
+       tinyMCE.triggerSave(true, true);
+};
+
+TinyMCE.prototype.addEventHandlers = function(editor_id) {
+       if (tinyMCE.isMSIE) {
+               var doc = document.frames[editor_id].document;
+
+               // Event patch
+               tinyMCE.addEvent(doc, "keypress", TinyMCE.prototype.eventPatch);
+               tinyMCE.addEvent(doc, "keyup", TinyMCE.prototype.eventPatch);
+               tinyMCE.addEvent(doc, "keydown", TinyMCE.prototype.eventPatch);
+               tinyMCE.addEvent(doc, "mouseup", TinyMCE.prototype.eventPatch);
+               tinyMCE.addEvent(doc, "click", TinyMCE.prototype.eventPatch);
+       } else {
+               var inst = tinyMCE.instances[editor_id];
+               var doc = inst.getDoc();
+
+               inst.switchSettings();
+
+               tinyMCE.addEvent(doc, "keypress", tinyMCE.handleEvent);
+               tinyMCE.addEvent(doc, "keydown", tinyMCE.handleEvent);
+               tinyMCE.addEvent(doc, "keyup", tinyMCE.handleEvent);
+               tinyMCE.addEvent(doc, "click", tinyMCE.handleEvent);
+               tinyMCE.addEvent(doc, "mouseup", tinyMCE.handleEvent);
+               tinyMCE.addEvent(doc, "mousedown", tinyMCE.handleEvent);
+               tinyMCE.addEvent(doc, "focus", tinyMCE.handleEvent);
+               tinyMCE.addEvent(doc, "blur", tinyMCE.handleEvent);
+
+               eval('try { doc.designMode = "On"; } catch(e) {}');
+       }
+};
+
+TinyMCE.prototype._createIFrame = function(replace_element) {
+       var iframe = document.createElement("iframe");
+       var id = replace_element.getAttribute("id");
+
+       iframe.setAttribute("id", id);
+       //iframe.setAttribute("className", "mceEditorArea");
+       iframe.setAttribute("border", "0");
+       iframe.setAttribute("frameBorder", "0");
+       iframe.setAttribute("marginWidth", "0");
+       iframe.setAttribute("marginHeight", "0");
+       iframe.setAttribute("leftMargin", "0");
+       iframe.setAttribute("topMargin", "0");
+       iframe.setAttribute("width", tinyMCE.settings['area_width']);
+       iframe.setAttribute("height", tinyMCE.settings['area_height']);
+       iframe.setAttribute("allowtransparency", "true");
+
+       if (tinyMCE.settings["auto_resize"])
+               iframe.setAttribute("scrolling", "no");
+
+       // Must have a src element in MSIE HTTPs breaks aswell as absoute URLs
+       if (tinyMCE.isMSIE)
+               iframe.setAttribute("src", this.settings['default_document']);
+
+       iframe.style.width = tinyMCE.settings['area_width'];
+       iframe.style.height = tinyMCE.settings['area_height'];
+
+       // MSIE 5.0 issue
+       if (tinyMCE.isMSIE)
+               replace_element.outerHTML = iframe.outerHTML;
+       else
+               replace_element.parentNode.replaceChild(iframe, replace_element);
+
+       if (tinyMCE.isMSIE)
+               return window.frames[id];
+       else
+               return iframe;
+};
+
+TinyMCE.prototype.setupContent = function(editor_id) {
+       var inst = tinyMCE.instances[editor_id];
+       var doc = inst.getDoc();
+       var head = doc.getElementsByTagName('head').item(0);
+       var content = inst.startContent;
+
+       inst.switchSettings();
+
+       // Not loaded correctly hit it again, Mozilla bug #997860
+       if (!tinyMCE.isMSIE && doc.title != "blank_page") {
+               // This part will remove the designMode status
+               doc.location.href = tinyMCE.baseURL + "/blank.htm";
+               window.setTimeout("tinyMCE.setupContent('" + editor_id + "');", 1000);
+               return;
+       }
+
+       if (!head) {
+               window.setTimeout("tinyMCE.setupContent('" + editor_id + "');", 10);
+               return;
+       }
+
+       // Import theme specific content CSS the user specific
+       tinyMCE.importCSS(inst.getDoc(), tinyMCE.baseURL + "/themes/" + inst.settings['theme'] + "/css/editor_content.css");
+       tinyMCE.importCSS(inst.getDoc(), inst.settings['content_css']);
+       tinyMCE.executeCallback('init_instance_callback', '_initInstance', 0, inst);
+
+       if (tinyMCE.settings['nowrap'])
+               doc.body.style.whiteSpace = "nowrap";
+
+       doc.body.dir = this.settings['directionality'];
+       doc.editorId = editor_id;
+
+       // Add on document element in Mozilla
+       if (!tinyMCE.isMSIE)
+               doc.documentElement.editorId = editor_id;
+
+       // Setup base element
+       base = doc.createElement("base");
+       base.setAttribute('href', tinyMCE.settings['base_href']);
+       head.appendChild(base);
+
+       // Replace new line characters to BRs
+       if (tinyMCE.settings['convert_newlines_to_brs']) {
+               content = tinyMCE.regexpReplace(content, "\r\n", "<br />", "gi");
+               content = tinyMCE.regexpReplace(content, "\r", "<br />", "gi");
+               content = tinyMCE.regexpReplace(content, "\n", "<br />", "gi");
+       }
+
+       // Call custom cleanup code
+       content = tinyMCE._customCleanup(inst, "insert_to_editor", content);
+
+       if (tinyMCE.isMSIE) {
+               // Ugly!!!
+               window.setInterval('try{tinyMCE.getCSSClasses(document.frames["' + editor_id + '"].document, "' + editor_id + '");}catch(e){}', 500);
+
+               if (tinyMCE.settings["force_br_newlines"])
+                       document.frames[editor_id].document.styleSheets[0].addRule("p", "margin: 0px;");
+
+               var body = document.frames[editor_id].document.body;
+
+               tinyMCE.addEvent(body, "beforepaste", TinyMCE.prototype.eventPatch);
+               tinyMCE.addEvent(body, "beforecut", TinyMCE.prototype.eventPatch);
+
+               body.editorId = editor_id;
+       }
+
+       // Fix for bug #958637
+       if (!tinyMCE.isMSIE) {
+               var contentElement = inst.getDoc().createElement("body");
+               var doc = inst.getDoc();
+
+               contentElement.innerHTML = content;
+
+               // Remove weridness!
+               if (tinyMCE.settings['force_p_newlines'])
+                       content = content.replace(new RegExp('&lt;&gt;', 'g'), "");
+
+               if (tinyMCE.settings['cleanup_on_startup'])
+                       inst.getBody().innerHTML = tinyMCE._cleanupHTML(inst, doc, this.settings, contentElement);
+               else {
+                       // Convert all strong/em to b/i
+                       content = tinyMCE.regexpReplace(content, "<strong", "<b", "gi");
+                       content = tinyMCE.regexpReplace(content, "<em(/?)>", "<i$1>", "gi");
+                       content = tinyMCE.regexpReplace(content, "<em ", "<i ", "gi");
+                       content = tinyMCE.regexpReplace(content, "</strong>", "</b>", "gi");
+                       content = tinyMCE.regexpReplace(content, "</em>", "</i>", "gi");
+                       inst.getBody().innerHTML = content;
+               }
+
+               inst.convertAllRelativeURLs();
+       } else {
+               if (tinyMCE.settings['cleanup_on_startup']) {
+                       tinyMCE._setHTML(inst.getDoc(), content);
+
+                       // Produces permission denied error in MSIE 5.5
+                       eval('try {inst.getBody().innerHTML = tinyMCE._cleanupHTML(inst, inst.contentDocument, this.settings, inst.getBody());} catch(e) {}');
+               } else
+                       tinyMCE._setHTML(inst.getDoc(), content);
+       }
+
+       // Fix for bug #957681
+       //inst.getDoc().designMode = inst.getDoc().designMode;
+
+       // Setup element references
+       var parentElm = document.getElementById(inst.editorId + '_parent');
+       if (parentElm.lastChild.nodeName.toLowerCase() == "input")
+               inst.formElement = parentElm.lastChild;
+       else
+               inst.formElement = parentElm.nextSibling;
+
+       tinyMCE.handleVisualAid(inst.getBody(), true, tinyMCE.settings['visual'], inst);
+       tinyMCE.executeCallback('setupcontent_callback', '_setupContent', 0, editor_id, inst.getBody(), inst.getDoc());
+
+       // Re-add design mode on mozilla
+       if (!tinyMCE.isMSIE)
+               TinyMCE.prototype.addEventHandlers(editor_id);
+
+       // Add blur handler
+       if (tinyMCE.isMSIE)
+               tinyMCE.addEvent(inst.getBody(), "blur", TinyMCE.prototype.eventPatch);
+
+       // Trigger node change, this call locks buttons for tables and so forth
+       tinyMCE.selectedInstance = inst;
+       tinyMCE.selectedElement = inst.contentWindow.document.body;
+       tinyMCE.triggerNodeChange(false, true);
+
+       // Call custom DOM cleanup
+       tinyMCE._customCleanup(inst, "insert_to_editor_dom", inst.getBody());
+       tinyMCE._customCleanup(inst, "setup_content_dom", inst.getBody());
+       tinyMCE._setEventsEnabled(inst.getBody(), true);
+
+       inst.startContent = tinyMCE.trim(inst.getBody().innerHTML);
+       inst.undoLevels[inst.undoLevels.length] = inst.startContent;
+};
+
+TinyMCE.prototype.cancelEvent = function(e) {
+       if (tinyMCE.isMSIE) {
+               e.returnValue = false;
+               e.cancelBubble = true;
+       } else
+               e.preventDefault();
+};
+
+TinyMCE.prototype.removeTinyMCEFormElements = function(form_obj) {
+       // Disable all UI form elements that TinyMCE created
+       for (var i=0; i<form_obj.elements.length; i++) {
+               var elementId = form_obj.elements[i].name ? form_obj.elements[i].name : form_obj.elements[i].id;
+
+               if (elementId.indexOf('mce_editor_') == 0)
+                       form_obj.elements[i].disabled = true;
+       }
+};
+
+TinyMCE.prototype.accessibleEventHandler = function(e) {
+       var win = this._win;
+       e = tinyMCE.isMSIE ? win.event : e;
+       var elm = tinyMCE.isMSIE ? e.srcElement : e.target;
+
+       // Piggyback onchange
+       if (elm.nodeName == "SELECT" && !elm.oldonchange) {
+               elm.oldonchange = elm.onchange;
+               elm.onchange = null;
+       }
+
+       // Execute onchange and remove piggyback
+       if (e.keyCode == 13) {
+               elm.onchange = elm.oldonchange;
+               elm.onchange();
+               elm.oldonchange = null;
+               tinyMCE.cancelEvent(e);
+       }
+};
+
+TinyMCE.prototype.addSelectAccessibility = function(e, select, win) {
+       // Add event handlers 
+       if (!select._isAccessible) {
+               select.onkeydown = tinyMCE.accessibleEventHandler;
+               select._isAccessible = true;
+               select._win = win;
+       }
+};
+
+TinyMCE.prototype.handleEvent = function(e) {
+       // Remove odd, error
+       if (typeof(tinyMCE) == "undefined")
+               return true;
+
+       //tinyMCE.debug(e.type + " " + e.target.nodeName + " " + (e.relatedTarget ? e.relatedTarget.nodeName : ""));
+
+       switch (e.type) {
+               case "blur":
+                       if (tinyMCE.selectedInstance)
+                               tinyMCE.selectedInstance.execCommand('mceEndTyping');
+
+                       return;
+
+               case "submit":
+                       tinyMCE.removeTinyMCEFormElements(tinyMCE.isMSIE ? window.event.srcElement : e.target);
+                       tinyMCE.triggerSave();
+                       tinyMCE.isNotDirty = true;
+                       return;
+
+               case "reset":
+                       var formObj = tinyMCE.isMSIE ? window.event.srcElement : e.target;
+
+                       for (var i=0; i<document.forms.length; i++) {
+                               if (document.forms[i] == formObj)
+                                       window.setTimeout('tinyMCE.resetForm(' + i + ');', 10);
+                       }
+
+                       return;
+
+               case "keypress":
+                       if (e.target.editorId) {
+                               tinyMCE.selectedInstance = tinyMCE.instances[e.target.editorId];
+                       } else {
+                               if (e.target.ownerDocument.editorId)
+                                       tinyMCE.selectedInstance = tinyMCE.instances[e.target.ownerDocument.editorId];
+                       }
+
+                       if (tinyMCE.selectedInstance)
+                               tinyMCE.selectedInstance.switchSettings();
+
+                       // Insert space instead of &nbsp;
+/*                     if (tinyMCE.isGecko && e.charCode == 32) {
+                               if (tinyMCE.selectedInstance._insertSpace()) {
+                                       // Cancel event
+                                       e.preventDefault();
+                                       return false;
+                               }
+                       }*/
+
+                       // Insert P element
+                       if (tinyMCE.isGecko && tinyMCE.settings['force_p_newlines'] && e.keyCode == 13 && !e.shiftKey) {
+                               // Insert P element instead of BR
+                               if (tinyMCE.selectedInstance._insertPara(e)) {
+                                       // Cancel event
+                                       tinyMCE.execCommand("mceAddUndoLevel");
+                                       e.preventDefault();
+                                       return false;
+                               }
+                       }
+
+                       // Handle backspace
+                       if (tinyMCE.isGecko && tinyMCE.settings['force_p_newlines'] && (e.keyCode == 8 || e.keyCode == 46) && !e.shiftKey) {
+                               // Insert P element instead of BR
+                               if (tinyMCE.selectedInstance._handleBackSpace(e.type)) {
+                                       // Cancel event
+                                       tinyMCE.execCommand("mceAddUndoLevel");
+                                       e.preventDefault();
+                                       return false;
+                               }
+                       }
+
+                       // Mozilla custom key handling
+                       if (tinyMCE.isGecko && e.ctrlKey && tinyMCE.settings['custom_undo_redo']) {
+                               if (tinyMCE.settings['custom_undo_redo_keyboard_shortcuts']) {
+                                       if (e.charCode == 122) { // Ctrl+Z
+                                               tinyMCE.selectedInstance.execCommand("Undo");
+
+                                               // Cancel event
+                                               e.preventDefault();
+                                               return false;
+                                       }
+
+                                       if (e.charCode == 121) { // Ctrl+Y
+                                               tinyMCE.selectedInstance.execCommand("Redo");
+
+                                               // Cancel event
+                                               e.preventDefault();
+                                               return false;
+                                       }
+                               }
+
+                               if (e.charCode == 98) { // Ctrl+B
+                                       tinyMCE.selectedInstance.execCommand("Bold");
+
+                                       // Cancel event
+                                       e.preventDefault();
+                                       return false;
+                               }
+
+                               if (e.charCode == 105) { // Ctrl+I
+                                       tinyMCE.selectedInstance.execCommand("Italic");
+
+                                       // Cancel event
+                                       e.preventDefault();
+                                       return false;
+                               }
+
+                               if (e.charCode == 117) { // Ctrl+U
+                                       tinyMCE.selectedInstance.execCommand("Underline");
+
+                                       // Cancel event
+                                       e.preventDefault();
+                                       return false;
+                               }
+                       }
+
+                       // Return key pressed
+                       if (tinyMCE.isMSIE && tinyMCE.settings['force_br_newlines'] && e.keyCode == 13) {
+                               if (e.target.editorId)
+                                       tinyMCE.selectedInstance = tinyMCE.instances[e.target.editorId];
+
+                               if (tinyMCE.selectedInstance) {
+                                       var sel = tinyMCE.selectedInstance.getDoc().selection;
+                                       var rng = sel.createRange();
+
+                                       if (tinyMCE.getParentElement(rng.parentElement(), "li") != null)
+                                               return false;
+
+                                       // Cancel event
+                                       e.returnValue = false;
+                                       e.cancelBubble = true;
+
+                                       // Insert BR element
+                                       rng.pasteHTML("<br />");
+                                       rng.collapse(false);
+                                       rng.select();
+
+                                       tinyMCE.execCommand("mceAddUndoLevel");
+                                       tinyMCE.triggerNodeChange(false);
+                                       return false;
+                               }
+                       }
+
+                       // Backspace or delete
+                       if (e.keyCode == 8 || e.keyCode == 46) {
+                               tinyMCE.selectedElement = e.target;
+                               tinyMCE.linkElement = tinyMCE.getParentElement(e.target, "a");
+                               tinyMCE.imgElement = tinyMCE.getParentElement(e.target, "img");
+                               tinyMCE.triggerNodeChange(false);
+                       }
+
+                       return false;
+               break;
+
+               case "keyup":
+               case "keydown":
+                       if (e.target.editorId)
+                               tinyMCE.selectedInstance = tinyMCE.instances[e.target.editorId];
+                       else
+                               return;
+
+                       if (tinyMCE.selectedInstance)
+                               tinyMCE.selectedInstance.switchSettings();
+
+                       var inst = tinyMCE.selectedInstance;
+
+                       // Handle backspace
+                       if (tinyMCE.isGecko && tinyMCE.settings['force_p_newlines'] && (e.keyCode == 8 || e.keyCode == 46) && !e.shiftKey) {
+                               // Insert P element instead of BR
+                               if (tinyMCE.selectedInstance._handleBackSpace(e.type)) {
+                                       // Cancel event
+                                       tinyMCE.execCommand("mceAddUndoLevel");
+                                       e.preventDefault();
+                                       return false;
+                               }
+                       }
+
+                       tinyMCE.selectedElement = null;
+                       tinyMCE.selectedNode = null;
+                       var elm = tinyMCE.selectedInstance.getFocusElement();
+                       tinyMCE.linkElement = tinyMCE.getParentElement(elm, "a");
+                       tinyMCE.imgElement = tinyMCE.getParentElement(elm, "img");
+                       tinyMCE.selectedElement = elm;
+
+                       // Update visualaids on tabs
+                       if (tinyMCE.isGecko && e.type == "keyup" && e.keyCode == 9)
+                               tinyMCE.handleVisualAid(tinyMCE.selectedInstance.getBody(), true, tinyMCE.settings['visual'], tinyMCE.selectedInstance);
+
+                       // Run image/link fix on Gecko if diffrent document base on paste
+                       if (tinyMCE.isGecko && tinyMCE.settings['document_base_url'] != "" + document.location.href && e.type == "keyup" && e.ctrlKey && e.keyCode == 86)
+                               tinyMCE.selectedInstance.fixBrokenURLs();
+
+                       // Fix empty elements on return/enter, check where enter occured
+                       if (tinyMCE.isMSIE && e.type == "keydown" && e.keyCode == 13)
+                               tinyMCE.enterKeyElement = tinyMCE.selectedInstance.getFocusElement();
+
+                       // Fix empty elements on return/enter
+                       if (tinyMCE.isMSIE && e.type == "keyup" && e.keyCode == 13) {
+                               var elm = tinyMCE.enterKeyElement;
+                               if (elm) {
+                                       var re = new RegExp('^HR|IMG|BR$','g'); // Skip these
+                                       var dre = new RegExp('^H[1-6]$','g'); // Add double on these
+
+                                       if (!elm.hasChildNodes() && !re.test(elm.nodeName)) {
+                                               if (dre.test(elm.nodeName))
+                                                       elm.innerHTML = "&nbsp;&nbsp;";
+                                               else
+                                                       elm.innerHTML = "&nbsp;";
+                                       }
+                               }
+                       }
+
+                       // Check if it's a position key
+                       var keys = tinyMCE.posKeyCodes;
+                       var posKey = false;
+                       for (var i=0; i<keys.length; i++) {
+                               if (keys[i] == e.keyCode) {
+                                       posKey = true;
+                                       break;
+                               }
+                       }
+
+                       //tinyMCE.debug(e.keyCode);
+
+                       // MSIE custom key handling
+                       if (tinyMCE.isMSIE && tinyMCE.settings['custom_undo_redo']) {
+                               var keys = new Array(8,46); // Backspace,Delete
+                               for (var i=0; i<keys.length; i++) {
+                                       if (keys[i] == e.keyCode) {
+                                               if (e.type == "keyup")
+                                                       tinyMCE.triggerNodeChange(false);
+                                       }
+                               }
+
+                               if (tinyMCE.settings['custom_undo_redo_keyboard_shortcuts']) {
+                                       if (e.keyCode == 90 && e.ctrlKey && e.type == "keydown") { // Ctrl+Z
+                                               tinyMCE.selectedInstance.execCommand("Undo");
+                                               tinyMCE.triggerNodeChange(false);
+                                       }
+
+                                       if (e.keyCode == 89 && e.ctrlKey && e.type == "keydown") { // Ctrl+Y
+                                               tinyMCE.selectedInstance.execCommand("Redo");
+                                               tinyMCE.triggerNodeChange(false);
+                                       }
+
+                                       if ((e.keyCode == 90 || e.keyCode == 89) && e.ctrlKey) {
+                                               // Cancel event
+                                               e.returnValue = false;
+                                               e.cancelBubble = true;
+                                               return false;
+                                       }
+                               }
+                       }
+
+                       // Handle Undo/Redo when typing content
+
+                       // Start typing (non position key)
+                       if (!posKey && e.type == "keyup")
+                               tinyMCE.execCommand("mceStartTyping");
+
+                       // End typing (position key) or some Ctrl event
+                       if (e.type == "keyup" && (posKey || e.ctrlKey))
+                               tinyMCE.execCommand("mceEndTyping");
+
+                       if (posKey && e.type == "keyup")
+                               tinyMCE.triggerNodeChange(false);
+               break;
+
+               case "mousedown":
+               case "mouseup":
+               case "click":
+               case "focus":
+                       if (tinyMCE.selectedInstance)
+                               tinyMCE.selectedInstance.switchSettings();
+
+                       // Check instance event trigged on
+                       var targetBody = tinyMCE.getParentElement(e.target, "body");
+                       for (var instanceName in tinyMCE.instances) {
+                               var inst = tinyMCE.instances[instanceName];
+
+                               // Reset design mode if lost (on everything just in case)
+                               inst.autoResetDesignMode();
+
+                               if (inst.getBody() == targetBody) {
+                                       tinyMCE.selectedInstance = inst;
+                                       tinyMCE.selectedElement = e.target;
+                                       tinyMCE.linkElement = tinyMCE.getParentElement(tinyMCE.selectedElement, "a");
+                                       tinyMCE.imgElement = tinyMCE.getParentElement(tinyMCE.selectedElement, "img");
+                                       break;
+                               }
+                       }
+
+                       if (tinyMCE.isSafari) {
+                               tinyMCE.selectedInstance.lastSafariSelection = tinyMCE.selectedInstance.getBookmark();
+                               tinyMCE.selectedInstance.lastSafariSelectedElement = tinyMCE.selectedElement;
+
+                               var lnk = tinyMCE.getParentElement(tinyMCE.selectedElement, "a");
+
+                               // Patch the darned link
+                               if (lnk && e.type == "mousedown") {
+                                       lnk.setAttribute("mce_real_href", lnk.getAttribute("href"));
+                                       lnk.setAttribute("href", "javascript:void(0);");
+                               }
+
+                               // Patch back
+                               if (lnk && e.type == "click") {
+                                       window.setTimeout(function() {
+                                               lnk.setAttribute("href", lnk.getAttribute("mce_real_href"));
+                                               lnk.removeAttribute("mce_real_href");
+                                       }, 10);
+                               }
+                       }
+
+                       // Reset selected node
+                       if (e.type != "focus")
+                               tinyMCE.selectedNode = null;
+
+                       tinyMCE.triggerNodeChange(false);
+                       tinyMCE.execCommand("mceEndTyping");
+
+                       if (e.type == "mouseup")
+                               tinyMCE.execCommand("mceAddUndoLevel");
+
+                       // Just in case
+                       if (!tinyMCE.selectedInstance && e.target.editorId)
+                               tinyMCE.selectedInstance = tinyMCE.instances[e.target.editorId];
+
+                       // Run image/link fix on Gecko if diffrent document base
+                       if (tinyMCE.isGecko && tinyMCE.settings['document_base_url'] != "" + document.location.href)
+                               window.setTimeout('tinyMCE.getInstanceById("' + inst.editorId + '").fixBrokenURLs();', 10);
+
+                       return false;
+               break;
+    } // end switch
+}; // end function
+
+TinyMCE.prototype.switchClass = function(element, class_name, lock_state) {
+       var lockChanged = false;
+
+       if (typeof(lock_state) != "undefined" && element != null) {
+               element.classLock = lock_state;
+               lockChanged = true;
+       }
+
+       if (element != null && (lockChanged || !element.classLock)) {
+               element.oldClassName = element.className;
+               element.className = class_name;
+       }
+};
+
+TinyMCE.prototype.restoreAndSwitchClass = function(element, class_name) {
+       if (element != null && !element.classLock) {
+               this.restoreClass(element);
+               this.switchClass(element, class_name);
+       }
+};
+
+TinyMCE.prototype.switchClassSticky = function(element_name, class_name, lock_state) {
+       var element, lockChanged = false;
+
+       // Performance issue
+       if (!this.stickyClassesLookup[element_name])
+               this.stickyClassesLookup[element_name] = document.getElementById(element_name);
+
+//     element = document.getElementById(element_name);
+       element = this.stickyClassesLookup[element_name];
+
+       if (typeof(lock_state) != "undefined" && element != null) {
+               element.classLock = lock_state;
+               lockChanged = true;
+       }
+
+       if (element != null && (lockChanged || !element.classLock)) {
+               element.className = class_name;
+               element.oldClassName = class_name;
+       }
+};
+
+TinyMCE.prototype.restoreClass = function(element) {
+       if (element != null && element.oldClassName && !element.classLock) {
+               element.className = element.oldClassName;
+               element.oldClassName = null;
+       }
+};
+
+TinyMCE.prototype.setClassLock = function(element, lock_state) {
+       if (element != null)
+               element.classLock = lock_state;
+};
+
+TinyMCE.prototype.addEvent = function(obj, name, handler) {
+       if (tinyMCE.isMSIE) {
+               obj.attachEvent("on" + name, handler);
+       } else
+               obj.addEventListener(name, handler, false);
+};
+
+TinyMCE.prototype.submitPatch = function() {
+       tinyMCE.removeTinyMCEFormElements(this);
+       tinyMCE.triggerSave();
+       this.oldSubmit();
+       tinyMCE.isNotDirty = true;
+};
+
+TinyMCE.prototype.onLoad = function() {
+       for (var c=0; c<tinyMCE.configs.length; c++) {
+               tinyMCE.settings = tinyMCE.configs[c];
+
+               var selector = tinyMCE.getParam("editor_selector");
+               var deselector = tinyMCE.getParam("editor_deselector");
+               var elementRefAr = new Array();
+
+               // Add submit triggers
+               if (document.forms && tinyMCE.settings['add_form_submit_trigger'] && !tinyMCE.submitTriggers) {
+                       for (var i=0; i<document.forms.length; i++) {
+                               var form = document.forms[i];
+
+                               tinyMCE.addEvent(form, "submit", TinyMCE.prototype.handleEvent);
+                               tinyMCE.addEvent(form, "reset", TinyMCE.prototype.handleEvent);
+                               tinyMCE.submitTriggers = true; // Do it only once
+
+                               // Patch the form.submit function
+                               if (tinyMCE.settings['submit_patch']) {
+                                       try {
+                                               form.oldSubmit = form.submit;
+                                               form.submit = TinyMCE.prototype.submitPatch;
+                                       } catch (e) {
+                                               // Do nothing
+                                       }
+                               }
+                       }
+               }
+
+               // Add editor instances based on mode
+               var mode = tinyMCE.settings['mode'];
+               switch (mode) {
+                       case "exact":
+                               var elements = tinyMCE.getParam('elements', '', true, ',');
+
+                               for (var i=0; i<elements.length; i++) {
+                                       var element = tinyMCE._getElementById(elements[i]);
+                                       var trigger = element ? element.getAttribute(tinyMCE.settings['textarea_trigger']) : "";
+
+                                       if (tinyMCE.getAttrib(element, "class").indexOf(deselector) != -1)
+                                               continue;
+
+                                       if (trigger == "false")
+                                               continue;
+
+                                       if (tinyMCE.settings['ask'] && element) {
+                                               elementRefAr[elementRefAr.length] = element;
+                                               continue;
+                                       }
+
+                                       if (element)
+                                               tinyMCE.addMCEControl(element, elements[i]);
+                                       else if (tinyMCE.settings['debug'])
+                                               alert("Error: Could not find element by id or name: " + elements[i]);
+                               }
+                       break;
+
+                       case "specific_textareas":
+                       case "textareas":
+                               var nodeList = document.getElementsByTagName("textarea");
+
+                               for (var i=0; i<nodeList.length; i++) {
+                                       var elm = nodeList.item(i);
+                                       var trigger = elm.getAttribute(tinyMCE.settings['textarea_trigger']);
+
+                                       if (selector != '' && tinyMCE.getAttrib(elm, "class").indexOf(selector) == -1)
+                                               continue;
+
+                                       if (tinyMCE.getAttrib(elm, "class").indexOf(deselector) != -1)
+                                               continue;
+
+                                       if ((mode == "specific_textareas" && trigger == "true") || (mode == "textareas" && trigger != "false"))
+                                               elementRefAr[elementRefAr.length] = elm;
+                               }
+                       break;
+               }
+
+               for (var i=0; i<elementRefAr.length; i++) {
+                       var element = elementRefAr[i];
+                       var elementId = element.name ? element.name : element.id;
+
+                       if (tinyMCE.settings['ask']) {
+                               // Focus breaks in Mozilla
+                               if (tinyMCE.isGecko) {
+                                       var settings = tinyMCE.settings;
+
+                                       tinyMCE.addEvent(element, "focus", function (e) {window.setTimeout(function() {TinyMCE.prototype.confirmAdd(e, settings);}, 10);});
+                               } else {
+                                       var settings = tinyMCE.settings;
+
+                                       tinyMCE.addEvent(element, "focus", function () { TinyMCE.prototype.confirmAdd(null, settings); });
+                               }
+                       } else
+                               tinyMCE.addMCEControl(element, elementId);
+               }
+
+               // Handle auto focus
+               if (tinyMCE.settings['auto_focus']) {
+                       window.setTimeout(function () {
+                               var inst = tinyMCE.getInstanceById(tinyMCE.settings['auto_focus']);
+                               inst.selectNode(inst.getBody(), true, true);
+                               inst.contentWindow.focus();
+                       }, 10);
+               }
+
+               tinyMCE.executeCallback('oninit', '_oninit', 0);
+       }
+};
+
+TinyMCE.prototype.removeMCEControl = function(editor_id) {
+       var inst = tinyMCE.getInstanceById(editor_id);
+
+       if (inst) {
+               inst.switchSettings();
+
+               editor_id = inst.editorId;
+               var html = tinyMCE.getContent(editor_id);
+
+               // Remove editor instance from instances array
+               var tmpInstances = new Array();
+               for (var instanceName in tinyMCE.instances) {
+                       var instance = tinyMCE.instances[instanceName];
+                       if (instanceName != editor_id)
+                                       tmpInstances[instanceName] = instance;
+               }
+               tinyMCE.instances = tmpInstances;
+
+               tinyMCE.selectedElement = null;
+               tinyMCE.selectedInstance = null;
+
+               // Remove element
+               var replaceElement = document.getElementById(editor_id + "_parent");
+               var oldTargetElement = inst.oldTargetElement;
+               var targetName = oldTargetElement.nodeName.toLowerCase();
+
+               if (targetName == "textarea" || targetName == "input") {
+                       // Just show the old text area
+                       replaceElement.parentNode.removeChild(replaceElement);
+                       oldTargetElement.style.display = "inline";
+                       oldTargetElement.value = html;
+               } else {
+                       oldTargetElement.innerHTML = html;
+
+                       replaceElement.parentNode.insertBefore(oldTargetElement, replaceElement);
+                       replaceElement.parentNode.removeChild(replaceElement);
+               }
+       }
+};
+
+TinyMCE.prototype._cleanupElementName = function(element_name, element) {
+       var name = "";
+
+       element_name = element_name.toLowerCase();
+
+       // Never include body
+       if (element_name == "body")
+               return null;
+
+       // If verification mode
+       if (tinyMCE.cleanup_verify_html) {
+               // Check if invalid element
+               for (var i=0; i<tinyMCE.cleanup_invalidElements.length; i++) {
+                       if (tinyMCE.cleanup_invalidElements[i] == element_name)
+                               return null;
+               }
+
+               // Check if valid element
+               var validElement = false;
+               var elementAttribs = null;
+               for (var i=0; i<tinyMCE.cleanup_validElements.length && !elementAttribs; i++) {
+                       for (var x=0, n=tinyMCE.cleanup_validElements[i][0].length; x<n; x++) {
+                               var elmMatch = tinyMCE.cleanup_validElements[i][0][x];
+
+                               if (elmMatch.charAt(0) == '+' || elmMatch.charAt(0) == '-')
+                                       elmMatch = elmMatch.substring(1);
+
+                               // Handle wildcard/regexp
+                               if (elmMatch.match(new RegExp('\\*|\\?|\\+', 'g')) != null) {
+                                       elmMatch = elmMatch.replace(new RegExp('\\?', 'g'), '(\\S?)');
+                                       elmMatch = elmMatch.replace(new RegExp('\\+', 'g'), '(\\S+)');
+                                       elmMatch = elmMatch.replace(new RegExp('\\*', 'g'), '(\\S*)');
+                                       elmMatch = "^" + elmMatch + "$";
+                                       if (element_name.match(new RegExp(elmMatch, 'g'))) {
+                                               elementAttribs = tinyMCE.cleanup_validElements[i];
+                                               validElement = true;
+                                               break;
+                                       }
+                               }
+
+                               // Handle non regexp
+                               if (element_name == elmMatch) {
+                                       elementAttribs = tinyMCE.cleanup_validElements[i];
+                                       validElement = true;
+                                       element_name = elementAttribs[0][0];
+                                       break;
+                               }
+                       }
+               }
+
+               if (!validElement)
+                       return null;
+       }
+
+       if (element_name.charAt(0) == '+' || element_name.charAt(0) == '-')
+               name = element_name.substring(1);
+
+       // Special Mozilla stuff
+       if (!tinyMCE.isMSIE) {
+               // Fix for bug #958498
+               if (name == "strong" && !tinyMCE.cleanup_on_save)
+                       element_name = "b";
+               else if (name == "em" && !tinyMCE.cleanup_on_save)
+                       element_name = "i";
+       }
+
+       var elmData = new Object();
+
+       elmData.element_name = element_name;
+       elmData.valid_attribs = elementAttribs;
+
+       return elmData;
+};
+
+/**
+ * This function moves CSS styles to/from attributes.
+ */
+TinyMCE.prototype._moveStyle = function(elm, style, attrib) {
+       if (tinyMCE.cleanup_inline_styles) {
+               var val = tinyMCE.getAttrib(elm, attrib);
+
+               if (val != '') {
+                       val = '' + val;
+
+                       switch (attrib) {
+                               case "background":
+                                       val = "url('" + val + "');";
+                                       break;
+
+                               case "bordercolor":
+                                       if (elm.style.borderStyle == '' || elm.style.borderStyle == 'none')
+                                               elm.style.borderStyle = 'solid';
+                                       break;
+
+                               case "border":
+                               case "width":
+                               case "height":
+                                       if (attrib == "border" && elm.style.borderWidth > 0)
+                                               return;
+
+                                       if (val.indexOf('%') == -1)
+                                               val += 'px';
+                                       break;
+
+                               case "vspace":
+                               case "hspace":
+                                       elm.style.marginTop = val + "px";
+                                       elm.style.marginBottom = val + "px";
+                                       elm.removeAttribute(attrib);
+                                       return;
+
+                               case "align":
+                                       if (elm.nodeName == "IMG") {
+                                               if (tinyMCE.isMSIE)
+                                                       elm.style.styleFloat = val;
+                                               else
+                                                       elm.style.cssFloat = val;
+                                       } else
+                                               elm.style.textAlign = val;
+
+                                       elm.removeAttribute(attrib);
+                                       return;
+                       }
+
+                       if (val != '') {
+                               eval('elm.style.' + style + ' = val;');
+                               elm.removeAttribute(attrib);
+                       }
+               }
+       } else {
+               if (style == '')
+                       return;
+
+               var val = eval('elm.style.' + style) == '' ? tinyMCE.getAttrib(elm, attrib) : eval('elm.style.' + style);
+               val = val == null ? '' : '' + val;
+
+               switch (attrib) {
+                       // Always move background to style
+                       case "background":
+                               if (val.indexOf('url') == -1 && val != '')
+                                       val = "url('" + val + "');";
+
+                               if (val != '') {
+                                       elm.style.backgroundImage = val;
+                                       elm.removeAttribute(attrib);
+                               }
+                               return;
+
+                       case "border":
+                       case "width":
+                       case "height":
+                               val = val.replace('px', '');
+                               break;
+
+                       case "align":
+                               if (tinyMCE.getAttrib(elm, 'align') == '') {
+                                       if (elm.nodeName == "IMG") {
+                                               if (tinyMCE.isMSIE && elm.style.styleFloat != '') {
+                                                       val = elm.style.styleFloat;
+                                                       style = 'styleFloat';
+                                               } else if (tinyMCE.isGecko && elm.style.cssFloat != '') {
+                                                       val = elm.style.cssFloat;
+                                                       style = 'cssFloat';
+                                               }
+                                       }
+                               }
+                               break;
+               }
+
+               if (val != '') {
+                       elm.removeAttribute(attrib);
+                       elm.setAttribute(attrib, val);
+                       eval('elm.style.' + style + ' = "";');
+               }
+       }
+};
+
+TinyMCE.prototype._cleanupAttribute = function(valid_attributes, element_name, attribute_node, element_node) {
+       var attribName = attribute_node.nodeName.toLowerCase();
+       var attribValue = attribute_node.nodeValue;
+       var attribMustBeValue = null;
+       var verified = false;
+
+       // Mozilla attibute, remove them
+       if (attribName.indexOf('moz_') != -1)
+               return null;
+
+       // Mozilla fix for drag-drop/copy/paste images
+       if (!tinyMCE.isMSIE && (attribName == "mce_real_href" || attribName == "mce_real_src")) {
+               if (!tinyMCE.cleanup_on_save) {
+                       var attrib = new Object();
+
+                       attrib.name = attribName;
+                       attrib.value = attribValue;
+
+                       return attrib;
+               } else
+                       return null;
+       }
+
+       // Auto verify 
+       if (attribName == "mce_onclick")
+               verified = true;
+
+       // Verify attrib
+       if (tinyMCE.cleanup_verify_html && !verified) {
+               for (var i=1; i<valid_attributes.length; i++) {
+                       var attribMatch = valid_attributes[i][0];
+                       var re = null;
+
+                       // Build regexp from wildcard
+                       if (attribMatch.match(new RegExp('\\*|\\?|\\+', 'g')) != null) {
+                               attribMatch = attribMatch.replace(new RegExp('\\?', 'g'), '(\\S?)');
+                               attribMatch = attribMatch.replace(new RegExp('\\+', 'g'), '(\\S+)');
+                               attribMatch = attribMatch.replace(new RegExp('\\*', 'g'), '(\\S*)');
+                               attribMatch = "^" + attribMatch + "$";
+                               re = new RegExp(attribMatch, 'g');
+                       }
+
+                       if ((re && attribName.match(re) != null) || attribName == attribMatch) {
+                               verified = true;
+                               attribMustBeValue = valid_attributes[i][3];
+                               break;
+                       }
+               }
+
+               if (!verified)
+                       return false;
+       } else
+               verified = true;
+
+       // Treat some attribs diffrent
+       switch (attribName) {
+               case "size":
+                       if (tinyMCE.isMSIE5 && element_name == "font")
+                               attribValue = element_node.size;
+                       break;
+
+               case "width":
+               case "height":
+               case "border":
+                       // Old MSIE needs this
+                       if (tinyMCE.isMSIE5)
+                               attribValue = eval("element_node." + attribName);
+                       break;
+
+               case "color":
+                       if (tinyMCE.isMSIE5 && element_name == "font")
+                               attribValue = element_node.color;
+                       break;
+
+               case "class":
+                       if (element_name == "table" || element_name == "td") {
+                               // Handle visual aid
+                               if (tinyMCE.cleanup_visual_table_class != "")
+                                       attribValue = tinyMCE.getVisualAidClass(attribValue, !tinyMCE.cleanup_on_save);
+                       }
+
+                       if (!tinyMCE._verifyClass(element_node) || attribValue == "")
+                               return null;
+
+                       break;
+
+               case "onfocus":
+               case "onblur":
+               case "onclick":
+               case "ondblclick":
+               case "onmousedown":
+               case "onmouseup":
+               case "onmouseover":
+               case "onmousemove":
+               case "onmouseout":
+               case "onkeypress":
+               case "onkeydown":
+               case "onkeydown":
+               case "onkeyup":
+                       attribValue = tinyMCE.cleanupEventStr("" + attribValue);
+
+                       if (attribValue.indexOf('return false;') == 0)
+                               attribValue = attribValue.substring(14);
+
+                       break;
+
+               case "style":
+                       attribValue = tinyMCE.serializeStyle(tinyMCE.parseStyle(element_node.style.cssText));
+                       break;
+
+               // Convert the URLs of these
+               case "href":
+               case "src":
+                       // Fix for dragdrop/copy paste Mozilla issue
+                       if (!tinyMCE.isMSIE && attribName == "href" && element_node.getAttribute("mce_real_href"))
+                               attribValue = element_node.getAttribute("mce_real_href");
+
+                       // Fix for dragdrop/copy paste Mozilla issue
+                       if (!tinyMCE.isMSIE && attribName == "src" && element_node.getAttribute("mce_real_src"))
+                               attribValue = element_node.getAttribute("mce_real_src");
+
+                       // Force absolute URLs in Firefox
+                       if (tinyMCE.isGecko && !tinyMCE.settings['relative_urls'])
+                               attribValue = tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings['base_href'], attribValue);
+
+                       attribValue = eval(tinyMCE.cleanup_urlconverter_callback + "(attribValue, element_node, tinyMCE.cleanup_on_save);");
+                       break;
+
+               case "colspan":
+               case "rowspan":
+                       // Not needed
+                       if (attribValue == "1")
+                               return null;
+                       break;
+
+               // Skip these
+               case "_moz-userdefined":
+               case "editorid":
+               case "mce_real_href":
+               case "mce_real_src":
+                       return null;
+       }
+
+       // Not the must be value
+       if (attribMustBeValue != null) {
+               var isCorrect = false;
+               for (var i=0; i<attribMustBeValue.length; i++) {
+                       if (attribValue == attribMustBeValue[i]) {
+                               isCorrect = true;
+                               break;
+                       }
+               }
+
+               if (!isCorrect)
+                       return null;
+       }
+
+       var attrib = new Object();
+
+       attrib.name = attribName;
+       attrib.value = attribValue;
+
+       return attrib;
+};
+
+TinyMCE.prototype.parseStyle = function(str) {
+       var ar = new Array();
+       var st = str.split(';');
+
+       for (var i=0; i<st.length; i++) {
+               if (st[i] == '')
+                       continue;
+
+               var re = new RegExp('^\\s*([^:]*):\\s*(.*)\\s*$');
+               var pa = st[i].replace(re, '$1||$2').split('||');
+//tinyMCE.debug(str, pa[0] + "=" + pa[1], st[i].replace(re, '$1||$2'));
+               if (pa.length == 2)
+                       ar[pa[0].toLowerCase()] = pa[1];
+       }
+
+       return ar;
+};
+
+TinyMCE.prototype.compressStyle = function(ar, pr, sf, res) {
+       var box = new Array();
+
+       box[0] = ar[pr + '-top' + sf];
+       box[1] = ar[pr + '-left' + sf];
+       box[2] = ar[pr + '-right' + sf];
+       box[3] = ar[pr + '-bottom' + sf];
+
+       for (var i=0; i<box.length; i++) {
+               if (box[i] == null)
+                       return;
+
+               for (var a=0; a<box.length; a++) {
+                       if (box[a] != box[i])
+                               return;
+               }
+       }
+
+       // They are all the same
+       ar[res] = box[0];
+       ar[pr + '-top' + sf] = null;
+       ar[pr + '-left' + sf] = null;
+       ar[pr + '-right' + sf] = null;
+       ar[pr + '-bottom' + sf] = null;
+};
+
+TinyMCE.prototype.serializeStyle = function(ar) {
+       var str = "";
+
+       // Compress box
+       tinyMCE.compressStyle(ar, "border", "", "border");
+       tinyMCE.compressStyle(ar, "border", "-width", "border-width");
+       tinyMCE.compressStyle(ar, "border", "-color", "border-color");
+
+       for (var key in ar) {
+               var val = ar[key];
+
+               if (val != null && val != '') {
+                       val = '' + val; // Force string
+
+                       // Fix style URL
+                       val = val.replace(new RegExp("url\\(\\'?([^\\']*)\\'?\\)", 'gi'), "url('$1')");
+
+                       if (val != "url('')")
+                               str += key.toLowerCase() + ": " + val + "; ";
+               }
+       }
+
+       if (new RegExp('; $').test(str))
+               str = str.substring(0, str.length - 2);
+
+       return str;
+};
+
+TinyMCE.prototype._verifyClass = function(node) {
+       // Sometimes the class gets set to null, weird Gecko bug?
+       if (tinyMCE.isGecko) {
+               var className = node.getAttribute('class');
+               if (!className)
+                       return false;
+       }
+
+       // Trim CSS class
+       if (tinyMCE.isMSIE)
+               var className = node.getAttribute('className');
+
+       if (tinyMCE.cleanup_verify_css_classes && tinyMCE.cleanup_on_save) {
+               var csses = tinyMCE.getCSSClasses();
+               nonDefinedCSS = true;
+               for (var c=0; c<csses.length; c++) {
+                       if (csses[c] == className) {
+                               nonDefinedCSS = false;
+                               break;
+                       }
+               }
+
+               if (nonDefinedCSS && className.indexOf('mce_') != 0) {
+                       node.removeAttribute('className');
+                       node.removeAttribute('class');
+                       return false;
+               }
+       }
+
+       return true;
+};
+
+TinyMCE.prototype.cleanupNode = function(node) {
+       var output = "";
+
+       switch (node.nodeType) {
+               case 1: // Element
+                       var elementData = tinyMCE._cleanupElementName(node.nodeName, node);
+                       var elementName = elementData ? elementData.element_name : null;
+                       var elementValidAttribs = elementData ? elementData.valid_attribs : null;
+                       var elementAttribs = "";
+                       var openTag = false, nonEmptyTag = false;
+
+                       if (elementName != null && elementName.charAt(0) == '+') {
+                               elementName = elementName.substring(1);
+                               openTag = true;
+                       }
+
+                       if (elementName != null && elementName.charAt(0) == '-') {
+                               elementName = elementName.substring(1);
+                               nonEmptyTag = true;
+                       }
+
+                       // Checking DOM tree for MSIE weirdness!!
+                       if (tinyMCE.isMSIE && tinyMCE.settings['fix_content_duplication']) {
+                               var lookup = tinyMCE.cleanup_elementLookupTable;
+
+                               for (var i=0; i<lookup.length; i++) {
+                                       // Found element reference else were, hmm?
+                                       if (lookup[i] == node)
+                                               return output;
+                               }
+
+                               // Add element to lookup table
+                               lookup[lookup.length] = node;
+                       }
+
+                       // Element not valid (only render children)
+                       if (!elementName) {
+                               if (node.hasChildNodes()) {
+                                       for (var i=0; i<node.childNodes.length; i++)
+                                               output += this.cleanupNode(node.childNodes[i]);
+                               }
+
+                               return output;
+                       }
+
+                       if (tinyMCE.cleanup_on_save) {
+                               if (node.nodeName == "A" && node.className == "mceItemAnchor")
+                                       return '<a name="' + this.convertStringToXML(node.getAttribute("name")) + '"></a>';
+                       }
+
+                       // Handle inline/outline styles
+                       if (tinyMCE.cleanup_inline_styles) {
+                               var re = new RegExp("^(TABLE|TD|TR|IMG|HR)$");
+                               if (re.test(node.nodeName)) {
+                                       tinyMCE._moveStyle(node, 'width', 'width');
+                                       tinyMCE._moveStyle(node, 'height', 'height');
+                                       tinyMCE._moveStyle(node, 'borderWidth', 'border');
+                                       tinyMCE._moveStyle(node, '', 'vspace');
+                                       tinyMCE._moveStyle(node, '', 'hspace');
+                                       tinyMCE._moveStyle(node, 'textAlign', 'align');
+                                       tinyMCE._moveStyle(node, 'backgroundColor', 'bgColor');
+                                       tinyMCE._moveStyle(node, 'borderColor', 'borderColor');
+                                       tinyMCE._moveStyle(node, 'backgroundImage', 'background');
+
+                                       // Refresh element in old MSIE
+                                       if (tinyMCE.isMSIE5)
+                                               node.outerHTML = node.outerHTML;
+                               } else if (tinyMCE.isBlockElement(node))
+                                       tinyMCE._moveStyle(node, 'textAlign', 'align');
+
+                               if (node.nodeName == "FONT")
+                                       tinyMCE._moveStyle(node, 'color', 'color');
+                       }
+
+                       // Set attrib data
+                       if (elementValidAttribs) {
+                               for (var a=1; a<elementValidAttribs.length; a++) {
+                                       var attribName, attribDefaultValue, attribForceValue, attribValue;
+
+                                       attribName = elementValidAttribs[a][0];
+                                       attribDefaultValue = elementValidAttribs[a][1];
+                                       attribForceValue = elementValidAttribs[a][2];
+
+                                       if (attribDefaultValue != null || attribForceValue != null) {
+                                               var attribValue = node.getAttribute(attribName);
+
+                                               if (node.getAttribute(attribName) == null || node.getAttribute(attribName) == "")
+                                                       attribValue = attribDefaultValue;
+
+                                               attribValue = attribForceValue ? attribForceValue : attribValue;
+
+                                               // Is to generate id
+                                               if (attribValue == "{$uid}")
+                                                       attribValue = "uid_" + (tinyMCE.cleanup_idCount++);
+
+                                               // Add visual aid class
+                                               if (attribName == "class")
+                                                       attribValue = tinyMCE.getVisualAidClass(attribValue, tinyMCE.cleanup_on_save);
+
+                                               node.setAttribute(attribName, attribValue);
+                                               //alert(attribName + "=" + attribValue);
+                                       }
+                               }
+                       }
+
+                       // Remove empty tables
+                       if (elementName == "table" && !node.hasChildNodes())
+                               return "";
+
+                       // Handle element attributes
+                       if (node.attributes.length > 0) {
+                               for (var i=0; i<node.attributes.length; i++) {
+                                       if (node.attributes[i].specified) {
+                                               // tinyMCE.debug(node.attributes[i].nodeName + "=" + node.attributes[i].nodeValue);
+                                               var attrib = tinyMCE._cleanupAttribute(elementValidAttribs, elementName, node.attributes[i], node);
+                                               if (attrib && attrib.value != "")
+                                                       elementAttribs += " " + attrib.name + "=" + '"' + this.convertStringToXML("" + attrib.value) + '"';
+                                       }
+                               }
+                       }
+
+                       // MSIE table summary fix
+                       if (tinyMCE.isMSIE && elementName == "table" && node.getAttribute("summary") != null && elementAttribs.indexOf('summary') == -1) {
+                               elementAttribs += " summary=" + '"' + this.convertStringToXML("" + node.getAttribute("summary")) + '"';
+                       }
+
+                       // MSIE form element issue
+                       if (tinyMCE.isMSIE && elementName == "input") {
+                               if (node.type) {
+                                       if (!elementAttribs.match(/ type=/g))
+                                               elementAttribs += " type=" + '"' + node.type + '"';
+                               }
+
+                               if (node.value) {
+                                       if (!elementAttribs.match(/ value=/g))
+                                               elementAttribs += " value=" + '"' + node.value + '"';
+                               }
+                       }
+
+                       // Add nbsp to some elements
+                       if ((elementName == "p" || elementName == "td") && (node.innerHTML == "" || node.innerHTML == "&nbsp;"))
+                               return "<" + elementName + elementAttribs + ">" + this.convertStringToXML(String.fromCharCode(160)) + "</" + elementName + ">";
+
+                       // Is MSIE script element
+                       if (tinyMCE.isMSIE && elementName == "script")
+                               return "<" + elementName + elementAttribs + ">" + node.text + "</" + elementName + ">";
+
+                       // Clean up children
+                       if (node.hasChildNodes()) {
+                               // Force BR
+                               if (elementName == "p" && tinyMCE.cleanup_force_br_newlines)
+                                       output += "<div" + elementAttribs + ">";
+                               else
+                                       output += "<" + elementName + elementAttribs + ">";
+
+                               for (var i=0; i<node.childNodes.length; i++)
+                                       output += this.cleanupNode(node.childNodes[i]);
+
+                               // Force BR
+                               if (elementName == "p" && tinyMCE.cleanup_force_br_newlines)
+                                       output += "</div><br />";
+                               else
+                                       output += "</" + elementName + ">";
+                       } else {
+                               if (!nonEmptyTag) {
+                                       if (openTag)
+                                               output += "<" + elementName + elementAttribs + "></" + elementName + ">";
+                                       else
+                                               output += "<" + elementName + elementAttribs + " />";
+                               }
+                       }
+
+                       return output;
+
+               case 3: // Text
+                       // Do not convert script elements
+                       if (node.parentNode.nodeName.toLowerCase() == "script")
+                               return node.nodeValue;
+
+                       return this.convertStringToXML(node.nodeValue);
+
+               case 8: // Comment
+                       return "<!--" + node.nodeValue + "-->";
+
+               default: // Unknown
+                       return "[UNKNOWN NODETYPE " + node.nodeType + "]";
+       }
+};
+
+TinyMCE.prototype.convertStringToXML = function(html_data) {
+    var output = "";
+
+       for (var i=0; i<html_data.length; i++) {
+               var chr = html_data.charCodeAt(i);
+
+               // Numeric entities
+               if (tinyMCE.settings['entity_encoding'] == "numeric") {
+                       if (chr > 127)
+                               output += '&#' + chr + ";";
+                       else
+                               output += String.fromCharCode(chr);
+
+                       continue;
+               }
+
+               // Raw entities
+               if (tinyMCE.settings['entity_encoding'] == "raw") {
+                       output += String.fromCharCode(chr);
+                       continue;
+               }
+
+               // Named entities
+               if (typeof(tinyMCE.cleanup_entities["c" + chr]) != 'undefined' && tinyMCE.cleanup_entities["c" + chr] != '')
+                       output += '&' + tinyMCE.cleanup_entities["c" + chr] + ';';
+               else
+                       output += '' + String.fromCharCode(chr);
+    }
+
+    return output;
+};
+
+TinyMCE.prototype._getCleanupElementName = function(chunk) {
+       var pos;
+
+       if (chunk.charAt(0) == '+')
+               chunk = chunk.substring(1);
+
+       if (chunk.charAt(0) == '-')
+               chunk = chunk.substring(1);
+
+       if ((pos = chunk.indexOf('/')) != -1)
+               chunk = chunk.substring(0, pos);
+
+       if ((pos = chunk.indexOf('[')) != -1)
+               chunk = chunk.substring(0, pos);
+
+       return chunk;
+};
+
+TinyMCE.prototype._initCleanup = function() {
+       // Parse valid elements and attributes
+       var validElements = tinyMCE.settings["valid_elements"];
+       validElements = validElements.split(',');
+
+       // Handle extended valid elements
+       var extendedValidElements = tinyMCE.settings["extended_valid_elements"];
+       extendedValidElements = extendedValidElements.split(',');
+       for (var i=0; i<extendedValidElements.length; i++) {
+               var elementName = this._getCleanupElementName(extendedValidElements[i]);
+               var skipAdd = false;
+
+               // Check if it's defined before, if so override that one
+               for (var x=0; x<validElements.length; x++) {
+                       if (this._getCleanupElementName(validElements[x]) == elementName) {
+                               validElements[x] = extendedValidElements[i];
+                               skipAdd = true;
+                               break;
+                       }
+               }
+
+               if (!skipAdd)
+                       validElements[validElements.length] = extendedValidElements[i];
+       }
+
+       for (var i=0; i<validElements.length; i++) {
+               var item = validElements[i];
+
+               item = item.replace('[','|');
+               item = item.replace(']','');
+
+               // Split and convert
+               var attribs = item.split('|');
+               for (var x=0; x<attribs.length; x++)
+                       attribs[x] = attribs[x].toLowerCase();
+
+               // Handle change elements
+               attribs[0] = attribs[0].split('/');
+
+               // Handle default attribute values
+               for (var x=1; x<attribs.length; x++) {
+                       var attribName = attribs[x];
+                       var attribDefault = null;
+                       var attribForce = null;
+                       var attribMustBe = null;
+
+                       // Default value
+                       if ((pos = attribName.indexOf('=')) != -1) {
+                               attribDefault = attribName.substring(pos+1);
+                               attribName = attribName.substring(0, pos);
+                       }
+
+                       // Force check
+                       if ((pos = attribName.indexOf(':')) != -1) {
+                               attribForce = attribName.substring(pos+1);
+                               attribName = attribName.substring(0, pos);
+                       }
+
+                       // Force check
+                       if ((pos = attribName.indexOf('<')) != -1) {
+                               attribMustBe = attribName.substring(pos+1).split('?');
+                               attribName = attribName.substring(0, pos);
+                       }
+
+                       attribs[x] = new Array(attribName, attribDefault, attribForce, attribMustBe);
+               }
+
+               validElements[i] = attribs;
+       }
+
+       var invalidElements = tinyMCE.settings['invalid_elements'].split(',');
+       for (var i=0; i<invalidElements.length; i++)
+               invalidElements[i] = invalidElements[i].toLowerCase();
+
+       // Set these for performance
+       tinyMCE.settings['cleanup_validElements'] = validElements;
+       tinyMCE.settings['cleanup_invalidElements'] = invalidElements;
+
+       // Setup entities
+       tinyMCE.settings['cleanup_entities'] = new Array();
+       var entities = tinyMCE.getParam('entities', '', true, ',');
+       for (var i=0; i<entities.length; i+=2)
+               tinyMCE.settings['cleanup_entities']['c' + entities[i]] = entities[i+1];
+};
+
+TinyMCE.prototype._cleanupHTML = function(inst, doc, config, element, visual, on_save) {
+       if (!tinyMCE.settings['cleanup'])
+               return element.innerHTML;
+
+       // Call custom cleanup code
+       tinyMCE._customCleanup(inst, on_save ? "get_from_editor_dom" : "insert_to_editor_dom", doc.body);
+
+       // Set these for performance
+       tinyMCE.cleanup_validElements = tinyMCE.settings['cleanup_validElements'];
+       tinyMCE.cleanup_entities = tinyMCE.settings['cleanup_entities'];
+       tinyMCE.cleanup_invalidElements = tinyMCE.settings['cleanup_invalidElements'];
+       tinyMCE.cleanup_verify_html = tinyMCE.settings['verify_html'];
+       tinyMCE.cleanup_force_br_newlines = tinyMCE.settings['force_br_newlines'];
+       tinyMCE.cleanup_urlconverter_callback = tinyMCE.settings['urlconverter_callback'];
+       tinyMCE.cleanup_verify_css_classes = tinyMCE.settings['verify_css_classes'];
+       tinyMCE.cleanup_visual_table_class = tinyMCE.settings['visual_table_class'];
+       tinyMCE.cleanup_apply_source_formatting = tinyMCE.settings['apply_source_formatting'];
+       tinyMCE.cleanup_inline_styles = tinyMCE.settings['inline_styles'];
+       tinyMCE.cleanup_visual_aid = visual;
+       tinyMCE.cleanup_on_save = on_save;
+       tinyMCE.cleanup_idCount = 0;
+       tinyMCE.cleanup_elementLookupTable = new Array();
+
+       var startTime = new Date().getTime();
+
+       // Cleanup madness that breaks the editor in MSIE
+       if (tinyMCE.isMSIE) {
+               // Remove null ids from HR elements, results in runtime error
+               var nodes = element.getElementsByTagName("hr");
+               for (var i=0; i<nodes.length; i++) {
+                       if (nodes[i].id == "null")
+                               nodes[i].removeAttribute("id");
+               }
+
+               element.innerHTML = tinyMCE.regexpReplace(element.innerHTML, '<p>[ \n\r]*<hr.*>[ \n\r]*</p>', '<hr />', 'gi');
+               element.innerHTML = tinyMCE.regexpReplace(element.innerHTML, '<!([^-(DOCTYPE)]* )|<!/[^-]*>', '', 'gi');
+       }
+
+       var html = this.cleanupNode(element);
+
+       if (tinyMCE.settings['debug'])
+               tinyMCE.debug("Cleanup process executed in: " + (new Date().getTime()-startTime) + " ms.");
+
+       // Remove pesky HR paragraphs
+       html = tinyMCE.regexpReplace(html, '<p><hr /></p>', '<hr />');
+       html = tinyMCE.regexpReplace(html, '<p>&nbsp;</p><hr /><p>&nbsp;</p>', '<hr />');
+       html = tinyMCE.regexpReplace(html, '<td>\\s*<br />\\s*</td>', '<td>&nbsp;</td>');
+
+       // Remove empty achors
+       html = html.replace(new RegExp('<a>(.*?)</a>', 'gi'), '$1');
+
+       // Remove some mozilla crap
+       if (!tinyMCE.isMSIE)
+               html = html.replace(new RegExp('<o:p _moz-userdefined="" />', 'g'), "");
+
+       if (tinyMCE.settings['apply_source_formatting']) {
+               html = html.replace(new RegExp('<(p|div)([^>]*)>', 'g'), "\n<$1$2>\n");
+               html = html.replace(new RegExp('<\/(p|div)([^>]*)>', 'g'), "\n</$1$2>\n");
+               html = html.replace(new RegExp('<br />', 'g'), "<br />\n");
+       }
+
+       if (tinyMCE.settings['force_br_newlines']) {
+               var re = new RegExp('<p>&nbsp;</p>', 'g');
+               html = html.replace(re, "<br />");
+       }
+
+       if (tinyMCE.settings['force_p_newlines']) {
+               // Remove weridness!
+               var re = new RegExp('&lt;&gt;', 'g');
+               html = html.replace(re, "");
+       }
+
+       if (tinyMCE.settings['remove_linebreaks'])
+               html = html.replace(new RegExp('\r|\n', 'g'), ' ');
+
+       // Call custom cleanup code
+       html = tinyMCE._customCleanup(inst, on_save ? "get_from_editor" : "insert_to_editor", html);
+
+       // Emtpy node, return empty
+       var chk = tinyMCE.regexpReplace(html, "[ \t\r\n]", "").toLowerCase();
+       if (chk == "<br/>" || chk == "<br>" || chk == "<p>&nbsp;</p>" || chk == "<p>&#160;</p>" || chk == "<p></p>")
+               html = "";
+
+       if (tinyMCE.settings["preformatted"])
+               return "<pre>" + html + "</pre>";
+
+       return html;
+};
+
+TinyMCE.prototype.insertLink = function(href, target, title, onclick, style_class) {
+       tinyMCE.execCommand('mceBeginUndoLevel');
+
+       if (this.selectedInstance && this.selectedElement && this.selectedElement.nodeName.toLowerCase() == "img") {
+               var doc = this.selectedInstance.getDoc();
+               var linkElement = tinyMCE.getParentElement(this.selectedElement, "a");
+               var newLink = false;
+
+               if (!linkElement) {
+                       linkElement = doc.createElement("a");
+                       newLink = true;
+               }
+
+               href = eval(tinyMCE.settings['urlconverter_callback'] + "(href, linkElement);");
+               tinyMCE.setAttrib(linkElement, 'href', href);
+               tinyMCE.setAttrib(linkElement, 'target', target);
+               tinyMCE.setAttrib(linkElement, 'title', title);
+        tinyMCE.setAttrib(linkElement, 'onclick', onclick);
+               tinyMCE.setAttrib(linkElement, 'class', style_class);
+
+               if (newLink) {
+                       linkElement.appendChild(this.selectedElement.cloneNode(true));
+                       this.selectedElement.parentNode.replaceChild(linkElement, this.selectedElement);
+               }
+
+               return;
+       }
+
+       if (!this.linkElement && this.selectedInstance) {
+               if (tinyMCE.isSafari) {
+                       tinyMCE.execCommand("mceInsertContent", false, '<a href="#mce_temp_url#">' + this.selectedInstance.getSelectedHTML() + '</a>');
+               } else
+                       this.selectedInstance.contentDocument.execCommand("createlink", false, "#mce_temp_url#");
+
+               tinyMCE.linkElement = this.getElementByAttributeValue(this.selectedInstance.contentDocument.body, "a", "href", "#mce_temp_url#");
+
+               var elementArray = this.getElementsByAttributeValue(this.selectedInstance.contentDocument.body, "a", "href", "#mce_temp_url#");
+
+               for (var i=0; i<elementArray.length; i++) {
+                       href = eval(tinyMCE.settings['urlconverter_callback'] + "(href, elementArray[i]);");
+                       tinyMCE.setAttrib(elementArray[i], 'href', href);
+                       tinyMCE.setAttrib(elementArray[i], 'mce_real_href', href);
+                       tinyMCE.setAttrib(elementArray[i], 'target', target);
+                       tinyMCE.setAttrib(elementArray[i], 'title', title);
+            tinyMCE.setAttrib(elementArray[i], 'onclick', onclick);
+                       tinyMCE.setAttrib(elementArray[i], 'class', style_class);
+               }
+
+               tinyMCE.linkElement = elementArray[0];
+       }
+
+       if (this.linkElement) {
+               href = eval(tinyMCE.settings['urlconverter_callback'] + "(href, this.linkElement);");
+               tinyMCE.setAttrib(this.linkElement, 'href', href);
+               tinyMCE.setAttrib(this.linkElement, 'mce_real_href', href);
+               tinyMCE.setAttrib(this.linkElement, 'target', target);
+               tinyMCE.setAttrib(this.linkElement, 'title', title);
+        tinyMCE.setAttrib(this.linkElement, 'onclick', onclick);
+               tinyMCE.setAttrib(this.linkElement, 'class', style_class);
+       }
+
+       tinyMCE.execCommand('mceEndUndoLevel');
+};
+
+TinyMCE.prototype.insertImage = function(src, alt, border, hspace, vspace, width, height, align, title, onmouseover, onmouseout) {
+       tinyMCE.execCommand('mceBeginUndoLevel');
+
+       if (src == "")
+               return;
+
+       if (!this.imgElement && tinyMCE.isSafari) {
+               var html = "";
+
+               html += '<img src="' + src + '" alt="' + alt + '"';
+               html += ' border="' + border + '" hspace="' + hspace + '"';
+               html += ' vspace="' + vspace + '" width="' + width + '"';
+               html += ' height="' + height + '" align="' + align + '" title="' + title + '" onmouseover="' + onmouseover + '" onmouseout="' + onmouseout + '" />';
+
+               tinyMCE.execCommand("mceInsertContent", false, html);
+       } else {
+               if (!this.imgElement && this.selectedInstance) {
+                       if (tinyMCE.isSafari)
+                               tinyMCE.execCommand("mceInsertContent", false, '<img src="#mce_temp_url#" />');
+                       else
+                               this.selectedInstance.contentDocument.execCommand("insertimage", false, "#mce_temp_url#");
+
+                       tinyMCE.imgElement = this.getElementByAttributeValue(this.selectedInstance.contentDocument.body, "img", "src", "#mce_temp_url#");
+               }
+       }
+
+       if (this.imgElement) {
+               var needsRepaint = false;
+
+               src = eval(tinyMCE.settings['urlconverter_callback'] + "(src, tinyMCE.imgElement);");
+
+               if (onmouseover && onmouseover != "")
+                       onmouseover = "this.src='" + eval(tinyMCE.settings['urlconverter_callback'] + "(onmouseover, tinyMCE.imgElement);") + "';";
+
+               if (onmouseout && onmouseout != "")
+                       onmouseout = "this.src='" + eval(tinyMCE.settings['urlconverter_callback'] + "(onmouseout, tinyMCE.imgElement);") + "';";
+
+               // Use alt as title if it's undefined
+               if (typeof(title) == "undefined")
+                       title = alt;
+
+               if (width != this.imgElement.getAttribute("width") || height != this.imgElement.getAttribute("height") || align != this.imgElement.getAttribute("align"))
+                       needsRepaint = true;
+
+               tinyMCE.setAttrib(this.imgElement, 'src', src);
+               tinyMCE.setAttrib(this.imgElement, 'mce_real_src', src);
+               tinyMCE.setAttrib(this.imgElement, 'alt', alt);
+               tinyMCE.setAttrib(this.imgElement, 'title', title);
+               tinyMCE.setAttrib(this.imgElement, 'align', align);
+               tinyMCE.setAttrib(this.imgElement, 'border', border, true);
+               tinyMCE.setAttrib(this.imgElement, 'hspace', hspace, true);
+               tinyMCE.setAttrib(this.imgElement, 'vspace', vspace, true);
+               tinyMCE.setAttrib(this.imgElement, 'width', width, true);
+               tinyMCE.setAttrib(this.imgElement, 'height', height, true);
+               tinyMCE.setAttrib(this.imgElement, 'onmouseover', onmouseover);
+               tinyMCE.setAttrib(this.imgElement, 'onmouseout', onmouseout);
+
+               // Fix for bug #989846 - Image resize bug
+               if (width && width != "")
+                       this.imgElement.style.pixelWidth = width;
+
+               if (height && height != "")
+                       this.imgElement.style.pixelHeight = height;
+
+               if (needsRepaint)
+                       tinyMCE.selectedInstance.repaint();
+       }
+
+       tinyMCE.execCommand('mceEndUndoLevel');
+};
+
+TinyMCE.prototype.getElementByAttributeValue = function(node, element_name, attrib, value) {
+       var elements = this.getElementsByAttributeValue(node, element_name, attrib, value);
+       if (elements.length == 0)
+               return null;
+
+       return elements[0];
+};
+
+TinyMCE.prototype.getElementsByAttributeValue = function(node, element_name, attrib, value) {
+       var elements = new Array();
+
+       if (node && node.nodeName.toLowerCase() == element_name) {
+               if (node.getAttribute(attrib) && node.getAttribute(attrib).indexOf(value) != -1)
+                       elements[elements.length] = node;
+       }
+
+       if (node.hasChildNodes) {
+               for (var x=0, n=node.childNodes.length; x<n; x++) {
+                       var childElements = this.getElementsByAttributeValue(node.childNodes[x], element_name, attrib, value);
+                       for (var i=0, m=childElements.length; i<m; i++)
+                               elements[elements.length] = childElements[i];
+               }
+       }
+
+       return elements;
+};
+
+TinyMCE.prototype.isBlockElement = function(node) {
+       return node != null && node.nodeType == 1 && this.blockRegExp.test(node.nodeName);
+};
+
+TinyMCE.prototype.getParentBlockElement = function(node) {
+       // Search up the tree for block element
+       while (node) {
+               if (this.blockRegExp.test(node.nodeName))
+                       return node;
+
+               node = node.parentNode;
+       }
+
+       return null;
+};
+
+TinyMCE.prototype.getNodeTree = function(node, node_array, type, node_name) {
+       if (typeof(type) == "undefined" || node.nodeType == type && (typeof(node_name) == "undefined" || node.nodeName == node_name))
+               node_array[node_array.length] = node;
+
+       if (node.hasChildNodes()) {
+               for (var i=0; i<node.childNodes.length; i++)
+                       tinyMCE.getNodeTree(node.childNodes[i], node_array, type, node_name);
+       }
+
+       return node_array;
+};
+
+TinyMCE.prototype.getParentElement = function(node, names, attrib_name, attrib_value) {
+       if (typeof(names) == "undefined") {
+               if (node.nodeType == 1)
+                       return node;
+
+               // Find parent node that is a element
+               while ((node = node.parentNode) != null && node.nodeType != 1) ;
+
+               return node;
+       }
+
+       var namesAr = names.split(',');
+
+       if (node == null)
+               return null;
+
+       do {
+               for (var i=0; i<namesAr.length; i++) {
+                       if (node.nodeName.toLowerCase() == namesAr[i].toLowerCase() || names == "*") {
+                               if (typeof(attrib_name) == "undefined")
+                                       return node;
+                               else if (node.getAttribute(attrib_name)) {
+                                       if (typeof(attrib_value) == "undefined") {
+                                               if (node.getAttribute(attrib_name) != "")
+                                                       return node;
+                                       } else if (node.getAttribute(attrib_name) == attrib_value)
+                                               return node;
+                               }
+                       }
+               }
+       } while (node = node.parentNode);
+
+       return null;
+};
+
+TinyMCE.prototype.convertURL = function(url, node, on_save) {
+       var prot = document.location.protocol;
+       var host = document.location.hostname;
+       var port = document.location.port;
+
+       var fileProto = (prot == "file:");
+
+       // Something is wrong, remove weirdness
+       url = tinyMCE.regexpReplace(url, '(http|https):///', '/');
+
+       // Mailto link or anchor (Pass through)
+       if (url.indexOf('mailto:') != -1 || url.indexOf('javascript:') != -1 || tinyMCE.regexpReplace(url,'[ \t\r\n\+]|%20','').charAt(0) == "#")
+               return url;
+
+       // Fix relative/Mozilla
+       if (!tinyMCE.isMSIE && !on_save && url.indexOf("://") == -1 && url.charAt(0) != '/')
+               return tinyMCE.settings['base_href'] + url;
+
+       // Handle absolute url anchors
+       if (!tinyMCE.settings['relative_urls']) {
+               var urlParts = tinyMCE.parseURL(url);
+               var baseUrlParts = tinyMCE.parseURL(tinyMCE.settings['base_href']);
+
+               // If anchor and path is the same page
+               if (urlParts['anchor'] && urlParts['path'] == baseUrlParts['path'])
+                       return "#" + urlParts['anchor'];
+       }
+
+       // Convert to relative urls
+       if (on_save && tinyMCE.settings['relative_urls']) {
+               var urlParts = tinyMCE.parseURL(url);
+
+               // If not absolute url, do nothing (Mozilla)
+               // WEIRD STUFF?!
+/*             if (!urlParts['protocol'] && !tinyMCE.isMSIE) {
+                       var urlPrefix = "http://";
+                       urlPrefix += host;
+                       if (port != "")
+                               urlPrefix += ":" + port;
+
+                       url = urlPrefix + url;
+                       urlParts = tinyMCE.parseURL(url);
+               }*/
+
+               var tmpUrlParts = tinyMCE.parseURL(tinyMCE.settings['document_base_url']);
+
+               // Link is within this site
+               if (urlParts['host'] == tmpUrlParts['host'] && (!urlParts['port'] || urlParts['port'] == tmpUrlParts['port']))
+                       return tinyMCE.convertAbsoluteURLToRelativeURL(tinyMCE.settings['document_base_url'], url);
+       }
+
+       // Remove current domain
+       if (!fileProto && tinyMCE.settings['remove_script_host']) {
+               var start = "", portPart = "";
+
+               if (port != "")
+                       portPart = ":" + port;
+
+               start = prot + "//" + host + portPart + "/";
+
+               if (url.indexOf(start) == 0)
+                       url = url.substring(start.length-1);
+
+               // Add first slash if missing on a absolute URL
+               if (!tinyMCE.settings['relative_urls'] && url.indexOf('://') == -1 && url.charAt(0) != '/')
+                       url = '/' + url;
+       }
+
+       return url;
+};
+
+/**
+ * Parses a URL in to its diffrent components.
+ */
+TinyMCE.prototype.parseURL = function(url_str) {
+       var urlParts = new Array();
+
+       if (url_str) {
+               var pos, lastPos;
+
+               // Parse protocol part
+               pos = url_str.indexOf('://');
+               if (pos != -1) {
+                       urlParts['protocol'] = url_str.substring(0, pos);
+                       lastPos = pos + 3;
+               }
+
+               // Find port or path start
+               for (var i=lastPos; i<url_str.length; i++) {
+                       var chr = url_str.charAt(i);
+
+                       if (chr == ':')
+                               break;
+
+                       if (chr == '/')
+                               break;
+               }
+               pos = i;
+
+               // Get host
+               urlParts['host'] = url_str.substring(lastPos, pos);
+
+               // Get port
+               lastPos = pos;
+               if (url_str.charAt(pos) == ':') {
+                       pos = url_str.indexOf('/', lastPos);
+                       urlParts['port'] = url_str.substring(lastPos+1, pos);
+               }
+
+               // Get path
+               lastPos = pos;
+               pos = url_str.indexOf('?', lastPos);
+
+               if (pos == -1)
+                       pos = url_str.indexOf('#', lastPos);
+
+               if (pos == -1)
+                       pos = url_str.length;
+
+               urlParts['path'] = url_str.substring(lastPos, pos);
+
+               // Get query
+               lastPos = pos;
+               if (url_str.charAt(pos) == '?') {
+                       pos = url_str.indexOf('#');
+                       pos = (pos == -1) ? url_str.length : pos;
+                       urlParts['query'] = url_str.substring(lastPos+1, pos);
+               }
+
+               // Get anchor
+               lastPos = pos;
+               if (url_str.charAt(pos) == '#') {
+                       pos = url_str.length;
+                       urlParts['anchor'] = url_str.substring(lastPos+1, pos);
+               }
+       }
+
+       return urlParts;
+};
+
+/**
+ * Converts an absolute path to relative path.
+ */
+TinyMCE.prototype.convertAbsoluteURLToRelativeURL = function(base_url, url_to_relative) {
+       var strTok1;
+       var strTok2;
+       var breakPoint = 0;
+       var outputString = "";
+
+       // Crop away last path part
+       base_url = base_url.substring(0, base_url.lastIndexOf('/'));
+       strTok1 = base_url.split('/');
+       strTok2 = url_to_relative.split('/');
+
+       if (strTok1.length >= strTok2.length) {
+               for (var i=0; i<strTok1.length; i++) {
+                       if (i >= strTok2.length || strTok1[i] != strTok2[i]) {
+                               breakPoint = i + 1;
+                               break;
+                       }
+               }
+       }
+
+       if (strTok1.length < strTok2.length) {
+               for (var i=0; i<strTok2.length; i++) {
+                       if (i >= strTok1.length || strTok1[i] != strTok2[i]) {
+                               breakPoint = i + 1;
+                               break;
+                       }
+               }
+       }
+
+       if (breakPoint == 1)
+               return url_to_relative;
+
+       for (var i=0; i<(strTok1.length-(breakPoint-1)); i++)
+               outputString += "../";
+
+       for (var i=breakPoint-1; i<strTok2.length; i++) {
+               if (i != (breakPoint-1))
+                       outputString += "/" + strTok2[i];
+               else
+                       outputString += strTok2[i];
+       }
+
+       return outputString;
+};
+
+TinyMCE.prototype.convertRelativeToAbsoluteURL = function(base_url, relative_url) {
+       var baseURL = TinyMCE.prototype.parseURL(base_url);
+       var relURL = TinyMCE.prototype.parseURL(relative_url);
+
+       if (relative_url == "" || relative_url.charAt(0) == '/' || relative_url.indexOf('://') != -1 || relative_url.indexOf('mailto:') != -1 || relative_url.indexOf('javascript:') != -1 || tinyMCE.regexpReplace(relative_url,'[ \t\r\n\+]|%20','').charAt(0) == "#")
+               return relative_url;
+
+       // Split parts
+       baseURLParts = baseURL['path'].split('/');
+       relURLParts = relURL['path'].split('/');
+
+       // Remove empty chunks
+       var newBaseURLParts = new Array();
+       for (var i=baseURLParts.length-1; i>=0; i--) {
+               if (baseURLParts[i].length == 0)
+                       continue;
+
+               newBaseURLParts[newBaseURLParts.length] = baseURLParts[i];
+       }
+       baseURLParts = newBaseURLParts.reverse();
+
+       // Merge relURLParts chunks
+       var newRelURLParts = new Array();
+       var numBack = 0;
+       for (var i=relURLParts.length-1; i>=0; i--) {
+               if (relURLParts[i].length == 0 || relURLParts[i] == ".")
+                       continue;
+
+               if (relURLParts[i] == '..') {
+                       numBack++;
+                       continue;
+               }
+
+               if (numBack > 0) {
+                       numBack--;
+                       continue;
+               }
+
+               newRelURLParts[newRelURLParts.length] = relURLParts[i];
+       }
+
+       relURLParts = newRelURLParts.reverse();
+
+       // Remove end from absolute path
+       var len = baseURLParts.length-numBack;
+       var absPath = (len <= 0 ? "" : "/") + baseURLParts.slice(0, len).join('/') + "/" + relURLParts.join('/');
+       var start = "", end = "";
+
+       // Build start part
+       if (baseURL['protocol'])
+               start += baseURL['protocol'] + "://";
+
+       if (baseURL['host'])
+               start += baseURL['host'];
+
+       if (baseURL['port'])
+               start += ":" + baseURL['port'];
+
+       // Build end part
+       if (relURL['query'])
+               end += "?" + relURL['query'];
+
+       if (relURL['anchor'])
+               end += "#" + relURL['anchor'];
+
+       // Re-add trailing slash if it's removed
+       if (relative_url.charAt(relative_url.length-1) == "/")
+               end += "/";
+
+       return start + absPath + end;
+};
+
+TinyMCE.prototype.getParam = function(name, default_value, strip_whitespace, split_chr) {
+       var value = (typeof(this.settings[name]) == "undefined") ? default_value : this.settings[name];
+
+       // Fix bool values
+       if (value == "true" || value == "false")
+               return (value == "true");
+
+       if (strip_whitespace)
+               value = tinyMCE.regexpReplace(value, "[ \t\r\n]", "");
+
+       if (typeof(split_chr) != "undefined" && split_chr != null) {
+               value = value.split(split_chr);
+               var outArray = new Array();
+
+               for (var i=0; i<value.length; i++) {
+                       if (value[i] && value[i] != "")
+                               outArray[outArray.length] = value[i];
+               }
+
+               value = outArray;
+       }
+
+       return value;
+};
+
+TinyMCE.prototype.getLang = function(name, default_value, parse_entities) {
+       var value = (typeof(tinyMCELang[name]) == "undefined") ? default_value : tinyMCELang[name];
+
+       if (parse_entities) {
+               var el = document.createElement("div");
+               el.innerHTML = value;
+               value = el.innerHTML;
+       }
+
+       return value;
+};
+
+TinyMCE.prototype.addToLang = function(prefix, ar) {
+       for (var key in ar)
+               tinyMCELang[(key.indexOf('lang_') == -1 ? 'lang_' : '') + (prefix != '' ? (prefix + "_") : '') + key] = ar[key];
+
+//     for (var key in ar)
+//             tinyMCELang[(key.indexOf('lang_') == -1 ? 'lang_' : '') + (prefix != '' ? (prefix + "_") : '') + key] = "|" + ar[key] + "|";
+};
+
+TinyMCE.prototype.replaceVar = function(replace_haystack, replace_var, replace_str) {
+       var re = new RegExp('{\\\$' + replace_var + '}', 'g');
+       return replace_haystack.replace(re, replace_str);
+};
+
+TinyMCE.prototype.replaceVars = function(replace_haystack, replace_vars) {
+       for (var key in replace_vars) {
+               var value = replace_vars[key];
+               replace_haystack = tinyMCE.replaceVar(replace_haystack, key, value);
+       }
+
+       return replace_haystack;
+};
+
+TinyMCE.prototype.triggerNodeChange = function(focus, setup_content) {
+       if (tinyMCE.settings['handleNodeChangeCallback']) {
+               if (tinyMCE.selectedInstance) {
+                       var inst = tinyMCE.selectedInstance;
+                       var editorId = inst.editorId;
+                       var elm = (typeof(setup_content) != "undefined" && setup_content) ? tinyMCE.selectedElement : inst.getFocusElement();
+                       var undoIndex = -1;
+                       var undoLevels = -1;
+                       var anySelection = false;
+                       var selectedText = inst.getSelectedText();
+
+                       if (tinyMCE.settings["auto_resize"]) {
+                               var doc = inst.getDoc();
+
+                               inst.iframeElement.style.width = doc.body.offsetWidth + "px";
+                               inst.iframeElement.style.height = doc.body.offsetHeight + "px";
+                       }
+
+                       if (tinyMCE.selectedElement)
+                               anySelection = (tinyMCE.selectedElement.nodeName.toLowerCase() == "img") || (selectedText && selectedText.length > 0);
+
+                       if (tinyMCE.settings['custom_undo_redo']) {
+                               undoIndex = inst.undoIndex;
+                               undoLevels = inst.undoLevels.length;
+                       }
+
+                       tinyMCE.executeCallback('handleNodeChangeCallback', '_handleNodeChange', 0, editorId, elm, undoIndex, undoLevels, inst.visualAid, anySelection);
+               }
+       }
+
+       if (this.selectedInstance && (typeof(focus) == "undefined" || focus))
+               this.selectedInstance.contentWindow.focus();
+};
+
+TinyMCE.prototype._customCleanup = function(inst, type, content) {
+       // Call custom cleanup
+       var customCleanup = tinyMCE.settings['cleanup_callback'];
+       if (customCleanup != "" && eval("typeof(" + customCleanup + ")") != "undefined")
+               content = eval(customCleanup + "(type, content, inst);");
+
+       // Trigger plugin cleanups
+       var plugins = tinyMCE.getParam('plugins', '', true, ',');
+       for (var i=0; i<plugins.length; i++) {
+               if (eval("typeof(TinyMCE_" + plugins[i] +  "_cleanup)") != "undefined")
+                       content = eval("TinyMCE_" + plugins[i] +  "_cleanup(type, content, inst);");
+       }
+
+       return content;
+};
+
+TinyMCE.prototype.getContent = function(editor_id) {
+       if (typeof(editor_id) != "undefined")
+               tinyMCE.selectedInstance = tinyMCE.getInstanceById(editor_id);
+
+       if (tinyMCE.selectedInstance)
+               return tinyMCE._cleanupHTML(this.selectedInstance, this.selectedInstance.getDoc(), tinyMCE.settings, this.selectedInstance.getBody(), false, true);
+
+       return null;
+};
+
+TinyMCE.prototype.setContent = function(html_content) {
+       if (tinyMCE.selectedInstance) {
+               tinyMCE.selectedInstance.execCommand('mceSetContent', false, html_content);
+               tinyMCE.selectedInstance.repaint();
+       }
+};
+
+TinyMCE.prototype.importThemeLanguagePack = function(name) {
+       if (typeof(name) == "undefined")
+               name = tinyMCE.settings['theme'];
+
+       tinyMCE.loadScript(tinyMCE.baseURL + '/themes/' + name + '/langs/' + tinyMCE.settings['language'] + '.js');
+};
+
+TinyMCE.prototype.importPluginLanguagePack = function(name, valid_languages) {
+       var lang = "en";
+
+       valid_languages = valid_languages.split(',');
+       for (var i=0; i<valid_languages.length; i++) {
+               if (tinyMCE.settings['language'] == valid_languages[i])
+                       lang = tinyMCE.settings['language'];
+       }
+
+       tinyMCE.loadScript(tinyMCE.baseURL + '/plugins/' + name + '/langs/' + lang +  '.js');
+};
+
+/**
+ * Adds themeurl, settings and lang to HTML code.
+ */
+TinyMCE.prototype.applyTemplate = function(html, args) {
+       html = tinyMCE.replaceVar(html, "themeurl", tinyMCE.themeURL);
+
+       if (typeof(args) != "undefined")
+               html = tinyMCE.replaceVars(html, args);
+
+       html = tinyMCE.replaceVars(html, tinyMCE.settings);
+       html = tinyMCE.replaceVars(html, tinyMCELang);
+
+       return html;
+};
+
+TinyMCE.prototype.openWindow = function(template, args) {
+       var html, width, height, x, y, resizable, scrollbars, url;
+
+       args['mce_template_file'] = template['file'];
+       args['mce_width'] = template['width'];
+       args['mce_height'] = template['height'];
+       tinyMCE.windowArgs = args;
+
+       html = template['html'];
+       if (!(width = parseInt(template['width'])))
+               width = 320;
+
+       if (!(height = parseInt(template['height'])))
+               height = 200;
+
+       // Add to height in M$ due to SP2 WHY DON'T YOU GUYS IMPLEMENT innerWidth of windows!!
+       if (tinyMCE.isMSIE)
+               height += 40;
+       else
+               height += 20;
+
+       x = parseInt(screen.width / 2.0) - (width / 2.0);
+       y = parseInt(screen.height / 2.0) - (height / 2.0);
+
+       resizable = (args && args['resizable']) ? args['resizable'] : "no";
+       scrollbars = (args && args['scrollbars']) ? args['scrollbars'] : "no";
+
+       if (template['file'].charAt(0) != '/' && template['file'].indexOf('://') == -1)
+               url = tinyMCE.baseURL + "/themes/" + tinyMCE.getParam("theme") + "/" + template['file'];
+       else
+               url = template['file'];
+
+       // Replace all args as variables in URL
+       for (var name in args)
+               url = tinyMCE.replaceVar(url, name, escape(args[name]));
+
+       if (html) {
+               html = tinyMCE.replaceVar(html, "css", this.settings['popups_css']);
+               html = tinyMCE.applyTemplate(html, args);
+
+               var win = window.open("", "mcePopup" + new Date().getTime(), "top=" + y + ",left=" + x + ",scrollbars=" + scrollbars + ",dialog=yes,minimizable=" + resizable + ",modal=yes,width=" + width + ",height=" + height + ",resizable=" + resizable);
+               if (win == null) {
+                       alert(tinyMCELang['lang_popup_blocked']);
+                       return;
+               }
+
+               win.document.write(html);
+               win.document.close();
+               win.resizeTo(width, height);
+               win.focus();
+       } else {
+               if (tinyMCE.isMSIE && resizable != 'yes' && tinyMCE.settings["dialog_type"] == "modal") {
+            var features = "resizable:" + resizable 
+                + ";scroll:"
+                + scrollbars + ";status:yes;center:yes;help:no;dialogWidth:"
+                + width + "px;dialogHeight:" + height + "px;";
+
+                       window.showModalDialog(url, window, features);
+               } else {
+                       var modal = (resizable == "yes") ? "no" : "yes";
+
+                       if (tinyMCE.isGecko && tinyMCE.isMac)
+                               modal = "no";
+
+                       var win = window.open(url, "mcePopup" + new Date().getTime(), "top=" + y + ",left=" + x + ",scrollbars=" + scrollbars + ",dialog=" + modal + ",minimizable=" + resizable + ",modal=" + modal + ",width=" + width + ",height=" + height + ",resizable=" + resizable);
+                       if (win == null) {
+                               alert(tinyMCELang['lang_popup_blocked']);
+                               return;
+                       }
+
+                       eval('try { win.resizeTo(width, height); } catch(e) { }');
+
+                       // Make it bigger if statusbar is forced
+                       if (tinyMCE.isGecko) {
+                               if (win.document.defaultView.statusbar.visible)
+                                       win.resizeBy(0, tinyMCE.isMac ? 10 : 24);
+                       }
+
+                       win.focus();
+               }
+       }
+};
+
+TinyMCE.prototype.closeWindow = function(win) {
+       win.close();
+};
+
+TinyMCE.prototype.getVisualAidClass = function(class_name, state) {
+       var aidClass = tinyMCE.settings['visual_table_class'];
+
+       if (typeof(state) == "undefined")
+               state = tinyMCE.settings['visual'];
+
+       // Split
+       var classNames = new Array();
+       var ar = class_name.split(' ');
+       for (var i=0; i<ar.length; i++) {
+               if (ar[i] == aidClass)
+                       ar[i] = "";
+
+               if (ar[i] != "")
+                       classNames[classNames.length] = ar[i];
+       }
+
+       if (state)
+               classNames[classNames.length] = aidClass;
+
+       // Glue
+       var className = "";
+       for (var i=0; i<classNames.length; i++) {
+               if (i > 0)
+                       className += " ";
+
+               className += classNames[i];
+       }
+
+       return className;
+};
+
+TinyMCE.prototype.handleVisualAid = function(element, deep, state, inst) {
+       if (!element)
+               return;
+
+       var tableElement = null;
+
+       switch (element.nodeName) {
+               case "TABLE":
+                       var oldW = element.style.width;
+                       var oldH = element.style.height;
+
+                       element.className = tinyMCE.getVisualAidClass(element.className, state && element.getAttribute("border") == 0);
+
+                       element.style.width = oldW;
+                       element.style.height = oldH;
+
+                       for (var y=0; y<element.rows.length; y++) {
+                               for (var x=0; x<element.rows[y].cells.length; x++) {
+                                       var className = tinyMCE.getVisualAidClass(element.rows[y].cells[x].className, state && element.getAttribute("border") == 0);
+                                       element.rows[y].cells[x].className = className;
+                               }
+                       }
+
+                       break;
+
+               case "A":
+                       var anchorName = tinyMCE.getAttrib(element, "name");
+
+                       if (anchorName != '' && state) {
+                               element.title = anchorName;
+                               element.className = 'mceItemAnchor';
+                       } else if (anchorName != '' && !state)
+                               element.className = '';
+
+                       break;
+       }
+
+       if (deep && element.hasChildNodes()) {
+               for (var i=0; i<element.childNodes.length; i++)
+                       tinyMCE.handleVisualAid(element.childNodes[i], deep, state, inst);
+       }
+};
+
+TinyMCE.prototype.getAttrib = function(elm, name, default_value) {
+       if (typeof(default_value) == "undefined")
+               default_value = "";
+
+       // Not a element
+       if (!elm || elm.nodeType != 1)
+               return default_value;
+
+       var v = elm.getAttribute(name);
+
+       // Try className for class attrib
+       if (name == "class" && !v)
+               v = elm.className;
+
+       if (name == "style")
+               v = elm.style.cssText;
+
+       return (v && v != "") ? v : default_value;
+};
+
+TinyMCE.prototype.setAttrib = function(element, name, value, fix_value) {
+       if (typeof(value) == "number" && value != null)
+               value = "" + value;
+
+       if (fix_value) {
+               if (value == null)
+                       value = "";
+
+               var re = new RegExp('[^0-9%]', 'g');
+               value = value.replace(re, '');
+       }
+
+       if (name == "style")
+               element.style.cssText = value;
+
+       if (name == "class")
+               element.className = value;
+
+       if (value != null && value != "" && value != -1)
+               element.setAttribute(name, value);
+       else
+               element.removeAttribute(name);
+};
+
+TinyMCE.prototype._setHTML = function(doc, html_content) {
+       // Weird MSIE bug, <p><hr /></p> breaks runtime?
+       if (tinyMCE.isMSIE) {
+               var re = new RegExp('<p><hr /></p>', 'g');
+               html_content = html_content.replace(re, "<hr>");
+       }
+
+       // Try innerHTML if it fails use pasteHTML in MSIE
+       try {
+               doc.body.innerHTML = html_content;
+       } catch (e) {
+               if (this.isMSIE)
+                       doc.body.createTextRange().pasteHTML(html_content);
+       }
+
+       // Content duplication bug fix
+       if (tinyMCE.isMSIE && tinyMCE.settings['fix_content_duplication']) {
+               // Remove P elements in P elements
+               var paras = doc.getElementsByTagName("P");
+               for (var i=0; i<paras.length; i++) {
+                       var node = paras[i];
+                       while ((node = node.parentNode) != null) {
+                               if (node.nodeName.toLowerCase() == "p")
+                                       node.outerHTML = node.innerHTML;
+                       }
+               }
+
+               // Content duplication bug fix (Seems to be word crap)
+               var html = doc.body.innerHTML;
+
+               if (html.indexOf('="mso') != -1) {
+                       for (var i=0; i<doc.body.all.length; i++) {
+                               var el = doc.body.all[i];
+                               el.removeAttribute("className","",0);
+                               el.removeAttribute("style","",0);
+                       }
+
+                       html = doc.body.innerHTML;
+                       html = tinyMCE.regexpReplace(html, "<o:p><\/o:p>", "<br />");
+                       html = tinyMCE.regexpReplace(html, "<o:p>&nbsp;<\/o:p>", "");
+                       html = tinyMCE.regexpReplace(html, "<st1:.*?>", "");
+                       html = tinyMCE.regexpReplace(html, "<p><\/p>", "");
+                       html = tinyMCE.regexpReplace(html, "<p><\/p>\r\n<p><\/p>", "");
+                       html = tinyMCE.regexpReplace(html, "<p>&nbsp;<\/p>", "<br />");
+                       html = tinyMCE.regexpReplace(html, "<p>\s*(<p>\s*)?", "<p>");
+                       html = tinyMCE.regexpReplace(html, "<\/p>\s*(<\/p>\s*)?", "</p>");
+               }
+
+               // Always set the htmlText output
+               doc.body.innerHTML = html;
+       }
+};
+
+TinyMCE.prototype.getImageSrc = function(str) {
+       var pos = -1;
+
+       if (!str)
+               return "";
+
+       if ((pos = str.indexOf('this.src=')) != -1) {
+               var src = str.substring(pos + 10);
+
+               src = src.substring(0, src.indexOf('\''));
+
+               return src;
+       }
+
+       return "";
+};
+
+TinyMCE.prototype._getElementById = function(element_id) {
+       var elm = document.getElementById(element_id);
+       if (!elm) {
+               // Check for element in forms
+               for (var j=0; j<document.forms.length; j++) {
+                       for (var k=0; k<document.forms[j].elements.length; k++) {
+                               if (document.forms[j].elements[k].name == element_id) {
+                                       elm = document.forms[j].elements[k];
+                                       break;
+                               }
+                       }
+               }
+       }
+
+       return elm;
+};
+
+TinyMCE.prototype.getEditorId = function(form_element) {
+       var inst = this.getInstanceById(form_element);
+       if (!inst)
+               return null;
+
+       return inst.editorId;
+};
+
+TinyMCE.prototype.getInstanceById = function(editor_id) {
+       var inst = this.instances[editor_id];
+       if (!inst) {
+               for (var instanceName in tinyMCE.instances) {
+                       var instance = tinyMCE.instances[instanceName];
+                       if (instance.formTargetElementId == editor_id) {
+                               inst = instance;
+                               break;
+                       }
+               }
+       }
+
+       return inst;
+};
+
+TinyMCE.prototype.queryInstanceCommandValue = function(editor_id, command) {
+       var inst = tinyMCE.getInstanceById(editor_id);
+       if (inst)
+               return inst.queryCommandValue(command);
+
+       return false;
+};
+
+TinyMCE.prototype.queryInstanceCommandState = function(editor_id, command) {
+       var inst = tinyMCE.getInstanceById(editor_id);
+       if (inst)
+               return inst.queryCommandState(command);
+
+       return null;
+};
+
+TinyMCE.prototype.setWindowArg = function(name, value) {
+       this.windowArgs[name] = value;
+};
+
+TinyMCE.prototype.getWindowArg = function(name, default_value) {
+       return (typeof(this.windowArgs[name]) == "undefined") ? default_value : this.windowArgs[name];
+};
+
+TinyMCE.prototype.getCSSClasses = function(editor_id, doc) {
+       var output = new Array();
+
+       // Is cached, use that
+       if (typeof(tinyMCE.cssClasses) != "undefined")
+               return tinyMCE.cssClasses;
+
+       if (typeof(editor_id) == "undefined" && typeof(doc) == "undefined") {
+               var instance;
+
+               for (var instanceName in tinyMCE.instances) {
+                       instance = tinyMCE.instances[instanceName];
+                       break;
+               }
+
+               doc = instance.getDoc();
+       }
+
+       if (typeof(doc) == "undefined") {
+               var instance = tinyMCE.getInstanceById(editor_id);
+               doc = instance.getDoc();
+       }
+
+       if (doc) {
+               var styles = tinyMCE.isMSIE ? doc.styleSheets : doc.styleSheets;
+
+               if (styles && styles.length > 0) {
+                       for (var x=0; x<styles.length; x++) {
+                               var csses = null;
+
+                               // Just ignore any errors
+                               eval("try {var csses = tinyMCE.isMSIE ? doc.styleSheets(" + x + ").rules : doc.styleSheets[" + x + "].cssRules;} catch(e) {}");
+                               if (!csses)
+                                       return new Array();
+
+                               for (var i=0; i<csses.length; i++) {
+                                       var selectorText = csses[i].selectorText;
+
+                                       // Can be multiple rules per selector
+                                       if (selectorText) {
+                                               var rules = selectorText.split(',');
+                                               for (var c=0; c<rules.length; c++) {
+                                                       // Invalid rule
+                                                       if (rules[c].indexOf(' ') != -1 || rules[c].indexOf(':') != -1 || rules[c].indexOf('mceItem') != -1)
+                                                               continue;
+
+                                                       if (rules[c] == "." + tinyMCE.settings['visual_table_class'])
+                                                               continue;
+
+                                                       // Is class rule
+                                                       if (rules[c].indexOf('.') != -1) {
+                                                               //alert(rules[c].substring(rules[c].indexOf('.')));
+                                                               output[output.length] = rules[c].substring(rules[c].indexOf('.')+1);
+                                                       }
+                                               }
+                                       }
+                               }
+                       }
+               }
+       }
+
+       // Cache em
+       if (output.length > 0)
+               tinyMCE.cssClasses = output;
+
+       return output;
+};
+
+TinyMCE.prototype.regexpReplace = function(in_str, reg_exp, replace_str, opts) {
+       if (typeof(opts) == "undefined")
+               opts = 'g';
+
+       var re = new RegExp(reg_exp, opts);
+       return in_str.replace(re, replace_str);
+};
+
+TinyMCE.prototype.trim = function(str) {
+       return str.replace(/^\s*|\s*$/g, "");
+};
+
+TinyMCE.prototype.cleanupEventStr = function(str) {
+       str = "" + str;
+       str = str.replace('function anonymous()\n{\n', '');
+       str = str.replace('\n}', '');
+       str = str.replace(/^return true;/gi, '');
+
+       return str;
+};
+
+TinyMCE.prototype.getAbsPosition = function(node) {
+       var pos = new Object();
+
+       pos.absLeft = pos.absTop = 0;
+
+       var parentNode = node;
+       while (parentNode) {
+               pos.absLeft += parentNode.offsetLeft;
+               pos.absTop += parentNode.offsetTop;
+
+               parentNode = parentNode.offsetParent;
+       }
+
+       return pos;
+};
+
+TinyMCE.prototype.getControlHTML = function(control_name) {
+       var themePlugins = tinyMCE.getParam('plugins', '', true, ',');
+       var templateFunction;
+
+       // Is it defined in any plugins
+       for (var i=themePlugins.length; i>=0; i--) {
+               templateFunction = 'TinyMCE_' + themePlugins[i] + "_getControlHTML";
+               if (eval("typeof(" + templateFunction + ")") != 'undefined') {
+                       var html = eval(templateFunction + "('" + control_name + "');");
+                       if (html != "")
+                               return tinyMCE.replaceVar(html, "pluginurl", tinyMCE.baseURL + "/plugins/" + themePlugins[i]);
+               }
+       }
+
+       return eval('TinyMCE_' + tinyMCE.settings['theme'] + "_getControlHTML" + "('" + control_name + "');");
+};
+
+TinyMCE.prototype._themeExecCommand = function(editor_id, element, command, user_interface, value) {
+       var themePlugins = tinyMCE.getParam('plugins', '', true, ',');
+       var templateFunction;
+
+       // Is it defined in any plugins
+       for (var i=themePlugins.length; i>=0; i--) {
+               templateFunction = 'TinyMCE_' + themePlugins[i] + "_execCommand";
+               if (eval("typeof(" + templateFunction + ")") != 'undefined') {
+                       if (eval(templateFunction + "(editor_id, element, command, user_interface, value);"))
+                               return true;
+               }
+       }
+
+       // Theme funtion
+       templateFunction = 'TinyMCE_' + tinyMCE.settings['theme'] + "_execCommand";
+       if (eval("typeof(" + templateFunction + ")") != 'undefined')
+               return eval(templateFunction + "(editor_id, element, command, user_interface, value);");
+
+       // Pass to normal
+       return false;
+};
+
+TinyMCE.prototype._getThemeFunction = function(suffix, skip_plugins) {
+       if (skip_plugins)
+               return 'TinyMCE_' + tinyMCE.settings['theme'] + suffix;
+
+       var themePlugins = tinyMCE.getParam('plugins', '', true, ',');
+       var templateFunction;
+
+       // Is it defined in any plugins
+       for (var i=themePlugins.length; i>=0; i--) {
+               templateFunction = 'TinyMCE_' + themePlugins[i] + suffix;
+               if (eval("typeof(" + templateFunction + ")") != 'undefined')
+                       return templateFunction;
+       }
+
+       return 'TinyMCE_' + tinyMCE.settings['theme'] + suffix;
+};
+
+
+TinyMCE.prototype.isFunc = function(func_name) {
+       if (func_name == null || func_name == "")
+               return false;
+
+       return eval("typeof(" + func_name + ")") != "undefined";
+};
+
+TinyMCE.prototype.exec = function(func_name, args) {
+       var str = func_name + '(';
+
+       // Add all arguments
+       for (var i=3; i<args.length; i++) {
+               str += 'args[' + i + ']';
+
+               if (i < args.length-1)
+                       str += ',';
+       }
+
+       str += ');';
+
+       return eval(str);
+};
+
+TinyMCE.prototype.executeCallback = function(param, suffix, mode) {
+       switch (mode) {
+               // No chain
+               case 0:
+                       var state = false;
+
+                       // Execute each plugin callback
+                       var plugins = tinyMCE.getParam('plugins', '', true, ',');
+                       for (var i=0; i<plugins.length; i++) {
+                               var func = "TinyMCE_" + plugins[i] + suffix;
+                               if (tinyMCE.isFunc(func)) {
+                                       tinyMCE.exec(func, this.executeCallback.arguments);
+                                       state = true;
+                               }
+                       }
+
+                       // Execute theme callback
+                       var func = 'TinyMCE_' + tinyMCE.settings['theme'] + suffix;
+                       if (tinyMCE.isFunc(func)) {
+                               tinyMCE.exec(func, this.executeCallback.arguments);
+                               state = true;
+                       }
+
+                       // Execute settings callback
+                       var func = tinyMCE.getParam(param, '');
+                       if (tinyMCE.isFunc(func)) {
+                               tinyMCE.exec(func, this.executeCallback.arguments);
+                               state = true;
+                       }
+
+                       return state;
+
+               // Chain mode
+               case 1:
+                       // Execute each plugin callback
+                       var plugins = tinyMCE.getParam('plugins', '', true, ',');
+                       for (var i=0; i<plugins.length; i++) {
+                               var func = "TinyMCE_" + plugins[i] + suffix;
+                               if (tinyMCE.isFunc(func)) {
+                                       if (tinyMCE.exec(func, this.executeCallback.arguments))
+                                               return true;
+                               }
+                       }
+
+                       // Execute theme callback
+                       var func = 'TinyMCE_' + tinyMCE.settings['theme'] + suffix;
+                       if (tinyMCE.isFunc(func)) {
+                               if (tinyMCE.exec(func, this.executeCallback.arguments))
+                                       return true;
+                       }
+
+                       // Execute settings callback
+                       var func = tinyMCE.getParam(param, '');
+                       if (tinyMCE.isFunc(func)) {
+                               if (tinyMCE.exec(func, this.executeCallback.arguments))
+                                       return true;
+                       }
+
+                       return false;
+       }
+};
+
+TinyMCE.prototype.debug = function() {
+       var msg = "";
+
+       var elm = document.getElementById("tinymce_debug");
+       if (!elm) {
+               var debugDiv = document.createElement("div");
+               debugDiv.setAttribute("className", "debugger");
+               debugDiv.className = "debugger";
+               debugDiv.innerHTML = '\
+                       Debug output:\
+                       <textarea id="tinymce_debug" style="width: 100%; height: 300px"></textarea>';
+
+               document.body.appendChild(debugDiv);
+               elm = document.getElementById("tinymce_debug");
+       }
+
+       var args = this.debug.arguments;
+       for (var i=0; i<args.length; i++) {
+               msg += args[i];
+               if (i<args.length-1)
+                       msg += ', ';
+       }
+
+       elm.value += msg + "\n";
+};
+
+// TinyMCEControl
+function TinyMCEControl(settings) {
+       // Undo levels
+       this.undoLevels = new Array();
+       this.undoIndex = 0;
+       this.typingUndoIndex = -1;
+       this.undoRedo = true;
+
+       // Default settings
+       this.settings = settings;
+       this.settings['theme'] = tinyMCE.getParam("theme", "default");
+       this.settings['width'] = tinyMCE.getParam("width", -1);
+       this.settings['height'] = tinyMCE.getParam("height", -1);
+};
+
+TinyMCEControl.prototype.repaint = function() {
+       if (tinyMCE.isMSIE)
+               return;
+
+       this.getBody().style.display = 'none';
+       this.getBody().style.display = 'block';
+};
+
+TinyMCEControl.prototype.switchSettings = function() {
+       if (tinyMCE.configs.length > 1 && tinyMCE.currentConfig != this.settings['index']) {
+               tinyMCE.settings = this.settings;
+               tinyMCE.currentConfig = this.settings['index'];
+       }
+};
+
+TinyMCEControl.prototype.fixBrokenURLs = function() {
+       var body = this.getBody();
+
+       var elms = body.getElementsByTagName("img");
+       for (var i=0; i<elms.length; i++) {
+               var src = elms[i].getAttribute('mce_real_src');
+               if (src && src != "")
+                       elms[i].setAttribute("src", src);
+       }
+
+       var elms = body.getElementsByTagName("a");
+       for (var i=0; i<elms.length; i++) {
+               var href = elms[i].getAttribute('mce_real_href');
+               if (href && href != "")
+                       elms[i].setAttribute("href", href);
+       }
+};
+
+TinyMCEControl.prototype.convertAllRelativeURLs = function() {
+       var body = this.getBody();
+
+       // Convert all image URL:s to absolute URL
+       var elms = body.getElementsByTagName("img");
+       for (var i=0; i<elms.length; i++) {
+               var src = elms[i].getAttribute('src');
+               if (src && src != "") {
+                       src = tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings['base_href'], src);
+                       elms[i].setAttribute("src", src);
+                       elms[i].setAttribute("mce_real_src", src);
+               }
+       }
+
+       // Convert all link URL:s to absolute URL
+       var elms = body.getElementsByTagName("a");
+       for (var i=0; i<elms.length; i++) {
+               var href = elms[i].getAttribute('href');
+               if (href && href != "") {
+                       href = tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings['base_href'], href);
+                       elms[i].setAttribute("href", href);
+                       elms[i].setAttribute("mce_real_href", href);
+               }
+       }
+};
+
+TinyMCEControl.prototype.getSelectedHTML = function() {
+       if (tinyMCE.isSafari) {
+               // Not realy perfect!!
+
+               return this.getRng().toString();
+       }
+
+       var elm = document.createElement("body");
+
+       if (tinyMCE.isGecko)
+               elm.appendChild(this.getRng().cloneContents());
+       else
+               elm.innerHTML = this.getRng().htmlText;
+
+       return tinyMCE._cleanupHTML(this, this.contentDocument, this.settings, elm, this.visualAid);
+};
+
+TinyMCEControl.prototype.getBookmark = function() {
+       var rng = this.getRng();
+
+       if (tinyMCE.isSafari)
+               return rng;
+
+       if (tinyMCE.isMSIE)
+               return rng;
+
+       if (tinyMCE.isGecko)
+               return rng.cloneRange();
+
+       return null;
+};
+
+TinyMCEControl.prototype.moveToBookmark = function(bookmark) {
+       if (tinyMCE.isSafari) {
+               var sel = this.getSel().realSelection;
+
+               sel.setBaseAndExtent(bookmark.startContainer, bookmark.startOffset, bookmark.endContainer, bookmark.endOffset);
+
+               return true;
+       }
+
+       if (tinyMCE.isMSIE)
+               return bookmark.select();
+
+       if (tinyMCE.isGecko) {
+               var rng = this.getDoc().createRange();
+               var sel = this.getSel();
+
+               rng.setStart(bookmark.startContainer, bookmark.startOffset);
+               rng.setEnd(bookmark.endContainer, bookmark.endOffset);
+
+               sel.removeAllRanges();
+               sel.addRange(rng);
+
+               return true;
+       }
+
+       return false;
+};
+
+TinyMCEControl.prototype.getSelectedText = function() {
+       if (tinyMCE.isMSIE) {
+               var doc = this.getDoc();
+
+               if (doc.selection.type == "Text") {
+                       var rng = doc.selection.createRange();
+                       selectedText = rng.text;
+               } else
+                       selectedText = '';
+       } else {
+               var sel = this.getSel();
+
+               if (sel && sel.toString)
+                       selectedText = sel.toString();
+               else
+                       selectedText = '';
+       }
+
+       return selectedText;
+};
+
+TinyMCEControl.prototype.selectNode = function(node, collapse, select_text_node, to_start) {
+       if (!node)
+               return;
+
+       if (typeof(collapse) == "undefined")
+               collapse = true;
+
+       if (typeof(select_text_node) == "undefined")
+               select_text_node = false;
+
+       if (typeof(to_start) == "undefined")
+               to_start = true;
+
+       if (tinyMCE.isMSIE) {
+               var rng = this.getBody().createTextRange();
+
+               try {
+                       rng.moveToElementText(node);
+
+                       if (collapse)
+                               rng.collapse(to_start);
+
+                       rng.select();
+               } catch (e) {
+                       // Throws illigal agrument in MSIE some times
+               }
+       } else {
+               var sel = this.getSel();
+
+               if (!sel)
+                       return;
+
+               if (tinyMCE.isSafari) {
+                       sel.realSelection.setBaseAndExtent(node, 0, node, node.innerText.length);
+
+                       if (collapse) {
+                               if (to_start)
+                                       sel.realSelection.collapseToStart();
+                               else
+                                       sel.realSelection.collapseToEnd();
+                       }
+
+                       this.scrollToNode(node);
+
+                       return;
+               }
+
+               var rng = this.getDoc().createRange();
+
+               if (select_text_node) {
+                       // Find first textnode in tree
+                       var nodes = tinyMCE.getNodeTree(node, new Array(), 3);
+                       if (nodes.length > 0)
+                               rng.selectNodeContents(nodes[0]);
+                       else
+                               rng.selectNodeContents(node);
+               } else
+                       rng.selectNode(node);
+
+               if (collapse) {
+                       // Special treatment of textnode collapse
+                       if (!to_start && node.nodeType == 3) {
+                               rng.setStart(node, node.nodeValue.length);
+                               rng.setEnd(node, node.nodeValue.length);
+                       } else
+                               rng.collapse(to_start);
+               }
+
+               sel.removeAllRanges();
+               sel.addRange(rng);
+       }
+
+       this.scrollToNode(node);
+
+       // Set selected element
+       tinyMCE.selectedElement = null;
+       if (node.nodeType == 1)
+               tinyMCE.selectedElement = node;
+};
+
+TinyMCEControl.prototype.scrollToNode = function(node) {
+       // Scroll to node position
+       var pos = tinyMCE.getAbsPosition(node);
+       var doc = this.getDoc();
+       var scrollX = doc.body.scrollLeft + doc.documentElement.scrollLeft;
+       var scrollY = doc.body.scrollTop + doc.documentElement.scrollTop;
+       var height = tinyMCE.isMSIE ? document.getElementById(this.editorId).style.pixelHeight : this.targetElement.clientHeight;
+
+       // Only scroll if out of visible area
+       if (!tinyMCE.settings['auto_resize'] && !(node.absTop > scrollY && node.absTop < (scrollY - 25 + height)))
+               this.contentWindow.scrollTo(pos.absLeft, pos.absTop - height + 25);
+};
+
+TinyMCEControl.prototype.getBody = function() {
+       return this.getDoc().body;
+};
+
+TinyMCEControl.prototype.getDoc = function() {
+       return this.contentWindow.document;
+};
+
+TinyMCEControl.prototype.getWin = function() {
+       return this.contentWindow;
+};
+
+TinyMCEControl.prototype.getSel = function() {
+       if (tinyMCE.isMSIE)
+               return this.getDoc().selection;
+
+       var sel = this.contentWindow.getSelection();
+
+       // Fake getRangeAt
+       if (tinyMCE.isSafari && !sel.getRangeAt) {
+               var newSel = new Object();
+               var doc = this.getDoc();
+
+               function getRangeAt(idx) {
+                       var rng = new Object();
+
+                       rng.startContainer = this.focusNode;
+                       rng.endContainer = this.anchorNode;
+                       rng.commonAncestorContainer = this.focusNode;
+                       rng.createContextualFragment = function (html) {
+                               // Seems to be a tag
+                               if (html.charAt(0) == '<') {
+                                       var elm = doc.createElement("div");
+
+                                       elm.innerHTML = html;
+
+                                       return elm.firstChild;
+                               }
+
+                               return doc.createTextNode("UNSUPPORTED, DUE TO LIMITATIONS IN SAFARI!");
+                       };
+
+                       rng.deleteContents = function () {
+                               doc.execCommand("Delete", false, "");
+                       };
+
+                       return rng;
+               }
+
+               // Patch selection
+
+               newSel.focusNode = sel.baseNode;
+               newSel.focusOffset = sel.baseOffset;
+               newSel.anchorNode = sel.extentNode;
+               newSel.anchorOffset = sel.extentOffset;
+               newSel.getRangeAt = getRangeAt;
+               newSel.text = "" + sel;
+               newSel.realSelection = sel;
+
+               newSel.toString = function () {return this.text;};
+
+               return newSel;
+       }
+
+       return sel;
+};
+
+TinyMCEControl.prototype.getRng = function() {
+       var sel = this.getSel();
+       if (sel == null)
+               return null;
+
+       if (tinyMCE.isMSIE)
+               return sel.createRange();
+
+       if (tinyMCE.isSafari) {
+               var rng = this.getDoc().createRange();
+               var sel = this.getSel().realSelection;
+
+               rng.setStart(sel.baseNode, sel.baseOffset);
+               rng.setEnd(sel.extentNode, sel.extentOffset);
+
+               return rng;
+       }
+
+       return this.getSel().getRangeAt(0);
+};
+
+TinyMCEControl.prototype._insertPara = function(e) {
+       function isEmpty(para) {
+               function isEmptyHTML(html) {
+                       return html.replace(new RegExp('[ \t\r\n]+', 'g'), '').toLowerCase() == "";
+               }
+
+               // Check for images
+               if (para.getElementsByTagName("img").length > 0)
+                       return false;
+
+               // Check for tables
+               if (para.getElementsByTagName("table").length > 0)
+                       return false;
+
+               // Check for HRs
+               if (para.getElementsByTagName("hr").length > 0)
+                       return false;
+
+               // Check all textnodes
+               var nodes = tinyMCE.getNodeTree(para, new Array(), 3);
+               for (var i=0; i<nodes.length; i++) {
+                       if (!isEmptyHTML(nodes[i].nodeValue))
+                               return false;
+               }
+
+               // No images, no tables, no hrs, no text content then it's empty
+               return true;
+       }
+
+       var doc = this.getDoc();
+       var sel = this.getSel();
+       var win = this.contentWindow;
+       var rng = sel.getRangeAt(0);
+       var body = doc.body;
+       var rootElm = doc.documentElement;
+       var self = this;
+       var blockName = "P";
+
+//     debug(e.target, sel.anchorNode.nodeName, sel.focusNode.nodeName, rng.startContainer, rng.endContainer, rng.commonAncestorContainer, sel.anchorOffset, sel.focusOffset, rng.toString());
+
+       // Setup before range
+       var rngBefore = doc.createRange();
+       rngBefore.setStart(sel.anchorNode, sel.anchorOffset);
+       rngBefore.collapse(true);
+
+       // Setup after range
+       var rngAfter = doc.createRange();
+       rngAfter.setStart(sel.focusNode, sel.focusOffset);
+       rngAfter.collapse(true);
+
+       // Setup start/end points
+       var direct = rngBefore.compareBoundaryPoints(rngBefore.START_TO_END, rngAfter) < 0;
+       var startNode = direct ? sel.anchorNode : sel.focusNode;
+       var startOffset = direct ? sel.anchorOffset : sel.focusOffset;
+       var endNode = direct ? sel.focusNode : sel.anchorNode;
+       var endOffset = direct ? sel.focusOffset : sel.anchorOffset;
+
+       // Get block elements
+       var startBlock = tinyMCE.getParentBlockElement(startNode);
+       var endBlock = tinyMCE.getParentBlockElement(endNode);
+
+       // Use current block name
+       if (startBlock != null) {
+               blockName = startBlock.nodeName.toUpperCase();
+
+               // Use P instead
+               if (blockName == "TD" || blockName == "TABLE")
+                       blockName = "P";
+       }
+
+       // Within a list item (use normal behavior)
+       if ((startBlock != null && startBlock.nodeName.toLowerCase() == "li") || (endBlock != null && endBlock.nodeName.toLowerCase() == "li"))
+               return false;
+
+       // Within a table create new paragraphs
+       if ((startBlock != null && startBlock.nodeName.toLowerCase() == "table") || (endBlock != null && endBlock.nodeName.toLowerCase() == "table"))
+               startBlock = endBlock = null;
+
+       // Setup new paragraphs
+       var paraBefore = (startBlock != null && startBlock.nodeName.toUpperCase() == blockName) ? startBlock.cloneNode(false) : doc.createElement(blockName);
+       var paraAfter = (endBlock != null && endBlock.nodeName.toUpperCase() == blockName) ? endBlock.cloneNode(false) : doc.createElement(blockName);
+
+       // Setup chop nodes
+       var startChop = startNode;
+       var endChop = endNode;
+
+       // Get startChop node
+       node = startChop;
+       do {
+               if (node == body || node.nodeType == 9 || tinyMCE.isBlockElement(node))
+                       break;
+
+               startChop = node;
+       } while ((node = node.previousSibling ? node.previousSibling : node.parentNode));
+
+       // Get endChop node
+       node = endChop;
+       do {
+               if (node == body || node.nodeType == 9 || tinyMCE.isBlockElement(node))
+                       break;
+
+               endChop = node;
+       } while ((node = node.nextSibling ? node.nextSibling : node.parentNode));
+
+       // If not in a block element
+       if (startBlock == null) {
+               // Delete selection
+               rng.deleteContents();
+               sel.removeAllRanges();
+
+               if (startChop != rootElm && endChop != rootElm) {
+                       // Insert paragraph before
+                       rngBefore = rng.cloneRange();
+
+                       if (startChop == body)
+                               rngBefore.setStart(startChop, 0);
+                       else
+                               rngBefore.setStartBefore(startChop);
+
+                       paraBefore.appendChild(rngBefore.cloneContents());
+
+                       // Insert paragraph after
+                       if (endChop.parentNode.nodeName == blockName)
+                               endChop = endChop.parentNode;
+
+                       rng.setEndAfter(endChop);
+
+                       var contents = rng.cloneContents();
+                       if (contents.firstChild && (contents.firstChild.nodeName == blockName || contents.firstChild.nodeName.toLowerCase() == "body")) {
+                               var nodes = contents.firstChild.childNodes;
+                               for (var i=0; i<nodes.length; i++) {
+                                       if (nodes[i].nodeName.toLowerCase() != "body")
+                                               paraAfter.appendChild(nodes[i]);
+                               }
+                       } else
+                               paraAfter.appendChild(contents);
+
+                       // Check if it's a empty paragraph
+                       if (isEmpty(paraBefore))
+                               paraBefore.innerHTML = "&nbsp;";
+
+                       // Check if it's a empty paragraph
+                       if (isEmpty(paraAfter))
+                               paraAfter.innerHTML = "&nbsp;";
+
+                       // Delete old contents
+                       rng.deleteContents();
+                       rngAfter.deleteContents();
+                       rngBefore.deleteContents();
+
+                       // Insert new paragraphs
+                       paraAfter.normalize();
+                       rngBefore.insertNode(paraAfter);
+                       paraBefore.normalize();
+                       rngBefore.insertNode(paraBefore);
+
+//                     tinyMCE.debug("1: ", paraBefore.innerHTML, paraAfter.innerHTML);
+               } else {
+                       body.innerHTML = "<" + blockName + ">&nbsp;</" + blockName + "><" + blockName + ">&nbsp;</" + blockName + ">";
+                       paraAfter = body.childNodes[1];
+               }
+
+               this.selectNode(paraAfter, true, true);
+
+               return true;
+       }
+
+       // Place first part within new paragraph
+       if (startChop.nodeName == blockName)
+               rngBefore.setStart(startChop, 0);
+       else
+               rngBefore.setStartBefore(startChop);
+       rngBefore.setEnd(startNode, startOffset);
+       paraBefore.appendChild(rngBefore.cloneContents());
+
+       // Place secound part within new paragraph
+       rngAfter.setEndAfter(endChop);
+       rngAfter.setStart(endNode, endOffset);
+       var contents = rngAfter.cloneContents();
+       if (contents.firstChild && contents.firstChild.nodeName == blockName) {
+               var nodes = contents.firstChild.childNodes;
+               for (var i=0; i<nodes.length; i++) {
+                       if (nodes[i].nodeName.toLowerCase() != "body")
+                               paraAfter.appendChild(nodes[i]);
+               }
+       } else
+               paraAfter.appendChild(contents);
+
+       // Check if it's a empty paragraph
+       if (isEmpty(paraBefore))
+               paraBefore.innerHTML = "&nbsp;";
+
+       // Check if it's a empty paragraph
+       if (isEmpty(paraAfter))
+               paraAfter.innerHTML = "&nbsp;";
+
+       // Create a range around everything
+       var rng = doc.createRange();
+
+       if (!startChop.previousSibling && startChop.parentNode.nodeName.toUpperCase() == blockName) {
+               rng.setStartBefore(startChop.parentNode);
+       } else {
+               if (rngBefore.startContainer.nodeName.toUpperCase() == blockName && rngBefore.startOffset == 0)
+                       rng.setStartBefore(rngBefore.startContainer);
+               else
+                       rng.setStart(rngBefore.startContainer, rngBefore.startOffset);
+       }
+
+       if (!endChop.nextSibling && endChop.parentNode.nodeName.toUpperCase() == blockName)
+               rng.setEndAfter(endChop.parentNode);
+       else
+               rng.setEnd(rngAfter.endContainer, rngAfter.endOffset);
+
+       // Delete all contents and insert new paragraphs
+       rng.deleteContents();
+       rng.insertNode(paraAfter);
+       rng.insertNode(paraBefore);
+       // debug("2", paraBefore.innerHTML, paraAfter.innerHTML);
+
+       // Normalize
+       paraAfter.normalize();
+       paraBefore.normalize();
+
+       this.selectNode(paraAfter, true, true);
+
+       return true;
+};
+
+TinyMCEControl.prototype._handleBackSpace = function(evt_type) {
+       var doc = this.getDoc();
+       var sel = this.getSel();
+       if (sel == null)
+               return false;
+
+       var rng = sel.getRangeAt(0);
+       var node = rng.startContainer;
+       var elm = node.nodeType == 3 ? node.parentNode : node;
+
+       if (node == null)
+               return;
+
+       // Empty node, wrap contents in paragraph
+       if (elm && elm.nodeName == "") {
+               var para = doc.createElement("p");
+
+               while (elm.firstChild)
+                       para.appendChild(elm.firstChild);
+
+               elm.parentNode.insertBefore(para, elm);
+               elm.parentNode.removeChild(elm);
+
+               var rng = rng.cloneRange();
+               rng.setStartBefore(node.nextSibling);
+               rng.setEndAfter(node.nextSibling);
+               rng.extractContents();
+
+               this.selectNode(node.nextSibling, true, true);
+       }
+
+       // Remove empty paragraphs
+       var para = tinyMCE.getParentBlockElement(node);
+       if (para != null && para.nodeName.toLowerCase() == 'p' && evt_type == "keypress") {
+               var htm = para.innerHTML;
+               var block = tinyMCE.getParentBlockElement(node);
+
+               // Empty node, we do the killing!!
+               if (htm == "" || htm == "&nbsp;" || block.nodeName.toLowerCase() == "li") {
+                       var prevElm = para.previousSibling;
+
+                       while (prevElm != null && prevElm.nodeType != 1)
+                               prevElm = prevElm.previousSibling;
+
+                       if (prevElm == null)
+                               return false;
+
+                       // Get previous elements last text node
+                       var nodes = tinyMCE.getNodeTree(prevElm, new Array(), 3);
+                       var lastTextNode = nodes.length == 0 ? null : nodes[nodes.length-1];
+
+                       // Select the last text node and move curstor to end
+                       if (lastTextNode != null)
+                               this.selectNode(lastTextNode, true, false, false);
+
+                       // Remove the empty paragrapsh
+                       para.parentNode.removeChild(para);
+
+                       //debug("within p element" + para.innerHTML);
+                       //showHTML(this.getBody().innerHTML);
+                       return true;
+               }
+       }
+
+       // Remove BR elements
+/*     while (node != null && (node = node.nextSibling) != null) {
+               if (node.nodeName.toLowerCase() == 'br')
+                       node.parentNode.removeChild(node);
+               else if (node.nodeType == 1) // Break at other element
+                       break;
+       }*/
+
+       //showHTML(this.getBody().innerHTML);
+
+       return false;
+};
+
+TinyMCEControl.prototype._insertSpace = function() {
+       return true;
+};
+
+TinyMCEControl.prototype.autoResetDesignMode = function() {
+       // Add fix for tab/style.display none/block problems in Gecko
+       if (!tinyMCE.isMSIE && tinyMCE.settings['auto_reset_designmode']) {
+               var sel = this.getSel();
+
+               // Weird, wheres that cursor selection?
+               if (!sel || !sel.rangeCount || sel.rangeCount == 0)
+                       eval('try { this.getDoc().designMode = "On"; } catch(e) {}');
+       }
+};
+
+TinyMCEControl.prototype.isDirty = function() {
+       // Is content modified and not in a submit procedure
+       return this.startContent != tinyMCE.trim(this.getBody().innerHTML) && !tinyMCE.isNotDirty;
+};
+
+TinyMCEControl.prototype._mergeElements = function(pa, ch, override) {
+       ch = ch.cloneNode(true);
+       var st = tinyMCE.parseStyle(tinyMCE.getAttrib(pa, "style"));
+       var stc = tinyMCE.parseStyle(tinyMCE.getAttrib(ch, "style"));
+       var className = tinyMCE.getAttrib(pa, "class");
+
+       className += " " + tinyMCE.getAttrib(ch, "class");
+
+       if (override) {
+               for (var n in st)
+                       stc[n] = st[n];
+       } else {
+               for (var n in stc)
+                       st[n] = stc[n];
+       }
+
+       tinyMCE.setAttrib(ch, "style", tinyMCE.serializeStyle(st));
+       tinyMCE.setAttrib(ch, "class", tinyMCE.trim(className));
+       pa.parentNode.replaceChild(ch, pa);
+};
+
+TinyMCEControl.prototype.execCommand = function(command, user_interface, value) {
+       var doc = this.getDoc();
+       var win = this.getWin();
+       var focusElm = this.getFocusElement();
+
+       if (this.lastSafariSelection && !new RegExp('mceStartTyping|mceEndTyping|mceBeginUndoLevel|mceEndUndoLevel|mceAddUndoLevel', 'gi').test(command)) {
+               this.moveToBookmark(this.lastSafariSelection);
+               tinyMCE.selectedElement = this.lastSafariSelectedElement;
+       }
+
+       // Mozilla issue
+       if (!tinyMCE.isMSIE && !this.useCSS) {
+               doc.execCommand("useCSS", false, true);
+               this.useCSS = true;
+       }
+
+       //debug("command: " + command + ", user_interface: " + user_interface + ", value: " + value);
+       this.contentDocument = doc; // <-- Strange, unless this is applied Mozilla 1.3 breaks
+
+       // Call theme execcommand
+       if (tinyMCE._themeExecCommand(this.editorId, this.getBody(), command, user_interface, value))
+               return;
+
+       // Fix align on images
+       if (focusElm && focusElm.nodeName == "IMG") {
+               var align = focusElm.getAttribute('align');
+               var img = command == "JustifyCenter" ? focusElm.cloneNode(false) : focusElm;
+
+               switch (command) {
+                       case "JustifyLeft":
+                               if (align == 'left')
+                                       img.removeAttribute('align');
+                               else
+                                       img.setAttribute('align', 'left');
+
+                               // Remove the div
+                               var div = focusElm.parentNode;
+                               if (div && div.nodeName == "DIV" && div.childNodes.length == 1 && div.parentNode)
+                                       div.parentNode.replaceChild(img, div);
+
+                               this.selectNode(img);
+                               this.repaint();
+                               tinyMCE.triggerNodeChange();
+                               return;
+
+                       case "JustifyCenter":
+                               img.removeAttribute('align');
+
+                               // Is centered
+                               var div = tinyMCE.getParentElement(focusElm, "div");
+                               if (div && div.style.textAlign == "center") {
+                                       // Remove div
+                                       if (div.nodeName == "DIV" && div.childNodes.length == 1 && div.parentNode)
+                                               div.parentNode.replaceChild(img, div);
+                               } else {
+                                       // Add div
+                                       var div = this.getDoc().createElement("div");
+                                       div.style.textAlign = 'center';
+                                       div.appendChild(img);
+                                       focusElm.parentNode.replaceChild(div, focusElm);
+                               }
+
+                               this.selectNode(img);
+                               this.repaint();
+                               tinyMCE.triggerNodeChange();
+                               return;
+
+                       case "JustifyRight":
+                               if (align == 'right')
+                                       img.removeAttribute('align');
+                               else
+                                       img.setAttribute('align', 'right');
+
+                               // Remove the div
+                               var div = focusElm.parentNode;
+                               if (div && div.nodeName == "DIV" && div.childNodes.length == 1 && div.parentNode)
+                                       div.parentNode.replaceChild(img, div);
+
+                               this.selectNode(img);
+                               this.repaint();
+                               tinyMCE.triggerNodeChange();
+                               return;
+               }
+       }
+
+       if (tinyMCE.settings['force_br_newlines']) {
+               var alignValue = "";
+
+               if (doc.selection.type != "Control") {
+                       switch (command) {
+                                       case "JustifyLeft":
+                                               alignValue = "left";
+                                               break;
+
+                                       case "JustifyCenter":
+                                               alignValue = "center";
+                                               break;
+
+                                       case "JustifyFull":
+                                               alignValue = "justify";
+                                               break;
+
+                                       case "JustifyRight":
+                                               alignValue = "right";
+                                               break;
+                       }
+
+                       if (alignValue != "") {
+                               var rng = doc.selection.createRange();
+
+                               if ((divElm = tinyMCE.getParentElement(rng.parentElement(), "div")) != null)
+                                       divElm.setAttribute("align", alignValue);
+                               else if (rng.pasteHTML && rng.htmlText.length > 0)
+                                       rng.pasteHTML('<div align="' + alignValue + '">' + rng.htmlText + "</div>");
+
+                               tinyMCE.triggerNodeChange();
+                               return;
+                       }
+               }
+       }
+
+       switch (command) {
+               case "mceRepaint":
+                       this.repaint();
+                       return true;
+
+               case "mceStoreSelection":
+                       this.selectionBookmark = this.getBookmark();
+                       return true;
+
+               case "mceRestoreSelection":
+                       this.moveToBookmark(this.selectionBookmark);
+                       return true;
+
+               case "InsertUnorderedList":
+               case "InsertOrderedList":
+                       var tag = (command == "InsertUnorderedList") ? "ul" : "ol";
+
+                       if (tinyMCE.isSafari)
+                               this.execCommand("mceInsertContent", false, "<" + tag + "><li>&nbsp;</li><" + tag + ">");
+                       else
+                               this.getDoc().execCommand(command, user_interface, value);
+
+                       tinyMCE.triggerNodeChange();
+                       break;
+
+               case "Strikethrough":
+                       if (tinyMCE.isSafari)
+                               this.execCommand("mceInsertContent", false, "<strike>" + this.getSelectedHTML() + "</strike>");
+                       else
+                               this.getDoc().execCommand(command, user_interface, value);
+
+                       tinyMCE.triggerNodeChange();
+                       break;
+
+               case "mceSelectNode":
+                       this.selectNode(value);
+                       tinyMCE.triggerNodeChange();
+                       tinyMCE.selectedNode = value;
+                       break;
+
+               case "FormatBlock":
+                       if (value == null || value == "") {
+                               var elm = tinyMCE.getParentElement(this.getFocusElement(), "p,div,h1,h2,h3,h4,h5,h6,pre,address");
+
+                               if (elm)
+                                       this.execCommand("mceRemoveNode", false, elm);
+                       } else
+                               this.getDoc().execCommand("FormatBlock", false, value);
+
+                       tinyMCE.triggerNodeChange();
+
+                       break;
+
+               case "mceRemoveNode":
+                       if (!value)
+                               value = tinyMCE.getParentElement(this.getFocusElement());
+
+                       if (tinyMCE.isMSIE) {
+                               value.outerHTML = value.innerHTML;
+                       } else {
+                               var rng = value.ownerDocument.createRange();
+                               rng.setStartBefore(value);
+                               rng.setEndAfter(value);
+                               rng.deleteContents();
+                               rng.insertNode(rng.createContextualFragment(value.innerHTML));
+                       }
+
+                       tinyMCE.triggerNodeChange();
+
+                       break;
+
+               case "mceSelectNodeDepth":
+                       var parentNode = this.getFocusElement();
+                       for (var i=0; parentNode; i++) {
+                               if (parentNode.nodeName.toLowerCase() == "body")
+                                       break;
+
+                               if (parentNode.nodeName.toLowerCase() == "#text") {
+                                       i--;
+                                       parentNode = parentNode.parentNode;
+                                       continue;
+                               }
+
+                               if (i == value) {
+                                       this.selectNode(parentNode, false);
+                                       tinyMCE.triggerNodeChange();
+                                       tinyMCE.selectedNode = parentNode;
+                                       return;
+                               }
+
+                               parentNode = parentNode.parentNode;
+                       }
+
+                       break;
+
+               case "SetStyleInfo":
+                       var rng = this.getRng();
+                       var sel = this.getSel();
+                       var scmd = value['command'];
+                       var sname = value['name'];
+                       var svalue = value['value'];
+                       var wrapper = value['wrapper'] ? value['wrapper'] : "span";
+                       var parentElm = null;
+
+                       // Whole element selected check
+                       if (tinyMCE.isMSIE) {
+                               // Control range
+                               if (rng.item)
+                                       parentElm = rng.item(0);
+                               else {
+                                       var pelm = rng.parentElement();
+                                       var prng = doc.selection.createRange();
+                                       prng.moveToElementText(pelm);
+
+                                       if (rng.htmlText == prng.htmlText || rng.boundingWidth == 0)
+                                               parentElm = pelm;
+                               }
+                       } else {
+                               var felm = this.getFocusElement();
+                               if (sel.isCollapsed || (/td|tr|tbody|table/ig.test(felm.nodeName) && sel.anchorNode == felm.parentNode))
+                                       parentElm = felm;
+                       }
+
+                       // Whole element selected
+                       if (parentElm) {
+                               if (scmd == "setstyle")
+                                       eval("parentElm.style." + sname + " = svalue;");
+
+                               if (scmd == "setattrib")
+                                       tinyMCE.setAttrib(parentElm, sname, svalue);
+                       } else {
+                               doc.execCommand("fontname", false, "#mce_temp_font#");
+                               var elementArray = tinyMCE.getElementsByAttributeValue(this.getBody(), "font", "face", "#mce_temp_font#");
+
+                               // Change them all
+                               for (var x=0; x<elementArray.length; x++) {
+                                       elm = elementArray[x];
+                                       if (elm) {
+                                               var spanElm = doc.createElement(wrapper);
+
+                                               if (scmd == "setstyle")
+                                                       eval("spanElm.style." + sname + " = svalue;");
+
+                                               if (scmd == "setattrib")
+                                                       tinyMCE.setAttrib(spanElm, sname, svalue);
+
+                                               if (elm.hasChildNodes()) {
+                                                       for (var i=0; i<elm.childNodes.length; i++)
+                                                               spanElm.appendChild(elm.childNodes[i].cloneNode(true));
+                                               }
+
+                                               spanElm.setAttribute("mce_new", "true");
+                                               elm.parentNode.replaceChild(spanElm, elm);
+                                       }
+                               }
+                       }
+
+                       // Cleaup wrappers
+                       var nodes = doc.getElementsByTagName(wrapper);
+                       for (var i=nodes.length-1; i>=0; i--) {
+                               var elm = nodes[i];
+                               var isNew = tinyMCE.getAttrib(elm, "mce_new") == "true";
+
+                               elm.removeAttribute("mce_new");
+
+                               // Is only child a element
+                               if (elm.childNodes && elm.childNodes.length == 1 && elm.childNodes[0].nodeType == 1) {
+                                       // tinyMCE.debug("merge1" + isNew);
+                                       this._mergeElements(elm, elm.childNodes[0], isNew);
+                                       continue;
+                               }
+
+                               // Is I the only child
+                               if (elm.parentNode.childNodes.length == 1) {
+                                       // tinyMCE.debug("merge2" + isNew);
+                                       this._mergeElements(elm.parentNode, elm, false);
+                               }
+                       }
+
+                       // Remove empty wrappers
+                       var nodes = doc.getElementsByTagName(wrapper);
+                       for (var i=nodes.length-1; i>=0; i--) {
+                               var elm = nodes[i];
+                               var isEmpty = true;
+
+                               // Check if it has any attribs
+                               var tmp = doc.createElement("body");
+                               tmp.appendChild(elm.cloneNode(false));
+
+                               // Is empty span, remove it
+                               if (new RegExp('<span>|<span style="">', 'gi').test(tmp.innerHTML)) {
+                                       for (var i=elm.childNodes.length-1; i>=0; i--) {
+                                               if (elm.parentNode != null) {
+                                                       elm.parentNode.insertBefore(elm.childNodes[i].cloneNode(true), elm);
+                                                       elm.parentNode.removeChild(elm);
+                                               }
+                                       }
+                               }
+                       }
+
+                       tinyMCE.triggerNodeChange();
+
+                       break;
+
+               case "FontName":
+                       if (tinyMCE.getParam("convert_fonts_to_styles"))
+                               this.execCommand("SetStyleInfo", false, {command : "setstyle", name : "fontFamily", value : value});
+                       else
+                               this.getDoc().execCommand('FontName', false, value);
+                       break;
+
+               case "FontSize":
+                       if (tinyMCE.getParam("convert_fonts_to_styles")) {
+                               var sizes = new Array('', 8, 10, 12, 14, 18, 24, 36);
+                               var size = sizes[value] == '' ? '' : sizes[value] + 'px';
+
+                               this.execCommand("SetStyleInfo", false, {command : "setstyle", name : "fontSize", value : size});
+                       } else
+                               this.getDoc().execCommand('FontSize', false, value);
+
+                       break;
+
+               case "forecolor":
+                       if (tinyMCE.getParam("convert_fonts_to_styles"))
+                               this.execCommand("SetStyleInfo", false, {command : "setstyle", name : "color", value : value});
+                       else {
+                               if (tinyMCE.isGecko) {
+                                       this.getDoc().execCommand("useCSS", false, true);
+                                       this.getDoc().execCommand('forecolor', false, value);
+                                       this.getDoc().execCommand("useCSS", false, true);
+                               } else
+                                       this.getDoc().execCommand('forecolor', false, value);
+                       }
+                       break;
+
+               case "HiliteColor":
+                       if (tinyMCE.getParam("convert_fonts_to_styles"))
+                               this.execCommand("SetStyleInfo", false, {command : "setstyle", name : "backgroundColor", value : value});
+                       else {
+                               if (tinyMCE.isGecko) {
+                                       this.getDoc().execCommand("useCSS", false, false);
+                                       this.getDoc().execCommand('hilitecolor', false, value);
+                                       this.getDoc().execCommand("useCSS", false, true);
+                               } else
+                                       this.getDoc().execCommand('BackColor', false, value);
+                       }
+
+                       break;
+
+               case "Cut":
+               case "Copy":
+               case "Paste":
+                       var cmdFailed = false;
+
+                       // Try executing command
+                       eval('try {this.getDoc().execCommand(command, user_interface, value);} catch (e) {cmdFailed = true;}');
+
+                       // Alert error in gecko if command failed
+                       if (tinyMCE.isGecko && cmdFailed) {
+                               // Confirm more info
+                               if (confirm(tinyMCE.getLang('lang_clipboard_msg')))
+                                       window.open('http://www.mozilla.org/editor/midasdemo/securityprefs.html', 'mceExternal');
+
+                               return;
+                       } else
+                               tinyMCE.triggerNodeChange();
+               break;
+
+               case "mceSetContent":
+                       if (!value)
+                               value = "";
+
+                       // Call custom cleanup code
+                       value = tinyMCE._customCleanup(this, "insert_to_editor", value);
+                       tinyMCE._setHTML(doc, value);
+                       doc.body.innerHTML = tinyMCE._cleanupHTML(this, doc, tinyMCE.settings, doc.body);
+                       tinyMCE.handleVisualAid(doc.body, true, this.visualAid, this);
+                       tinyMCE._setEventsEnabled(doc.body, true);
+                       return true;
+
+               case "mceLink":
+                       var selectedText = "";
+
+                       if (tinyMCE.isMSIE) {
+                               var rng = doc.selection.createRange();
+                               selectedText = rng.text;
+                       } else
+                               selectedText = this.getSel().toString();
+
+                       if (!tinyMCE.linkElement) {
+                               if ((tinyMCE.selectedElement.nodeName.toLowerCase() != "img") && (selectedText.length <= 0))
+                                       return;
+                       }
+
+                       var href = "", target = "", title = "", onclick = "", action = "insert", style_class = "";
+
+                       if (tinyMCE.selectedElement.nodeName.toLowerCase() == "a")
+                               tinyMCE.linkElement = tinyMCE.selectedElement;
+
+                       // Is anchor not a link
+                       if (tinyMCE.linkElement != null && tinyMCE.getAttrib(tinyMCE.linkElement, 'href') == "")
+                               tinyMCE.linkElement = null;
+
+                       if (tinyMCE.linkElement) {
+                               href = tinyMCE.getAttrib(tinyMCE.linkElement, 'href');
+                               target = tinyMCE.getAttrib(tinyMCE.linkElement, 'target');
+                               title = tinyMCE.getAttrib(tinyMCE.linkElement, 'title');
+                onclick = tinyMCE.getAttrib(tinyMCE.linkElement, 'onclick');
+                               style_class = tinyMCE.getAttrib(tinyMCE.linkElement, 'class');
+
+                               // Try old onclick to if copy/pasted content
+                               if (onclick == "")
+                                       onclick = tinyMCE.getAttrib(tinyMCE.linkElement, 'onclick');
+
+                               onclick = tinyMCE.cleanupEventStr(onclick);
+
+                               // Fix for drag-drop/copy paste bug in Mozilla
+                               mceRealHref = tinyMCE.getAttrib(tinyMCE.linkElement, 'mce_real_href');
+                               if (mceRealHref != "")
+                                       href = mceRealHref;
+
+                               href = eval(tinyMCE.settings['urlconverter_callback'] + "(href, tinyMCE.linkElement, true);");
+                               action = "update";
+                       }
+
+                       if (this.settings['insertlink_callback']) {
+                               var returnVal = eval(this.settings['insertlink_callback'] + "(href, target, title, onclick, action, style_class);");
+                               if (returnVal && returnVal['href'])
+                                       tinyMCE.insertLink(returnVal['href'], returnVal['target'], returnVal['title'], returnVal['onclick'], returnVal['style_class']);
+                       } else {
+                               tinyMCE.openWindow(this.insertLinkTemplate, {href : href, target : target, title : title, onclick : onclick, action : action, className : style_class});
+                       }
+               break;
+
+               case "mceImage":
+                       var src = "", alt = "", border = "", hspace = "", vspace = "", width = "", height = "", align = "";
+                       var title = "", onmouseover = "", onmouseout = "", action = "insert";
+                       var img = tinyMCE.imgElement;
+
+                       if (tinyMCE.selectedElement != null && tinyMCE.selectedElement.nodeName.toLowerCase() == "img") {
+                               img = tinyMCE.selectedElement;
+                               tinyMCE.imgElement = img;
+                       }
+
+                       if (img) {
+                               // Is it a internal MCE visual aid image, then skip this one.
+                               if (tinyMCE.getAttrib(img, 'name').indexOf('mce_') == 0)
+                                       return;
+
+                               src = tinyMCE.getAttrib(img, 'src');
+                               alt = tinyMCE.getAttrib(img, 'alt');
+
+                               // Try polling out the title
+                               if (alt == "")
+                                       alt = tinyMCE.getAttrib(img, 'title');
+
+                               // Fix width/height attributes if the styles is specified
+                               if (tinyMCE.isGecko) {
+                                       var w = img.style.width;
+                                       if (w != null && w != "")
+                                               img.setAttribute("width", w);
+
+                                       var h = img.style.height;
+                                       if (h != null && h != "")
+                                               img.setAttribute("height", h);
+                               }
+
+                               border = tinyMCE.getAttrib(img, 'border');
+                               hspace = tinyMCE.getAttrib(img, 'hspace');
+                               vspace = tinyMCE.getAttrib(img, 'vspace');
+                               width = tinyMCE.getAttrib(img, 'width');
+                               height = tinyMCE.getAttrib(img, 'height');
+                               align = tinyMCE.getAttrib(img, 'align');
+                onmouseover = tinyMCE.getAttrib(img, 'onmouseover');
+                onmouseout = tinyMCE.getAttrib(img, 'onmouseout');
+                title = tinyMCE.getAttrib(img, 'title');
+
+                               // Is realy specified?
+                               if (tinyMCE.isMSIE) {
+                                       width = img.attributes['width'].specified ? width : "";
+                                       height = img.attributes['height'].specified ? height : "";
+                               }
+
+                               onmouseover = tinyMCE.getImageSrc(tinyMCE.cleanupEventStr(onmouseover));
+                               onmouseout = tinyMCE.getImageSrc(tinyMCE.cleanupEventStr(onmouseout));
+
+                               // Fix for drag-drop/copy paste bug in Mozilla
+                               mceRealSrc = tinyMCE.getAttrib(img, 'mce_real_src');
+                               if (mceRealSrc != "")
+                                       src = mceRealSrc;
+
+                               src = eval(tinyMCE.settings['urlconverter_callback'] + "(src, img, true);");
+
+                               if (onmouseover != "")
+                                       onmouseover = eval(tinyMCE.settings['urlconverter_callback'] + "(onmouseover, img, true);");
+
+                               if (onmouseout != "")
+                                       onmouseout = eval(tinyMCE.settings['urlconverter_callback'] + "(onmouseout, img, true);");
+
+                               action = "update";
+                       }
+
+                       if (this.settings['insertimage_callback']) {
+                               var returnVal = eval(this.settings['insertimage_callback'] + "(src, alt, border, hspace, vspace, width, height, align, title, onmouseover, onmouseout, action);");
+                               if (returnVal && returnVal['src'])
+                                       tinyMCE.insertImage(returnVal['src'], returnVal['alt'], returnVal['border'], returnVal['hspace'], returnVal['vspace'], returnVal['width'], returnVal['height'], returnVal['align'], returnVal['title'], returnVal['onmouseover'], returnVal['onmouseout']);
+                       } else
+                               tinyMCE.openWindow(this.insertImageTemplate, {src : src, alt : alt, border : border, hspace : hspace, vspace : vspace, width : width, height : height, align : align, title : title, onmouseover : onmouseover, onmouseout : onmouseout, action : action});
+               break;
+
+               case "mceCleanup":
+                       tinyMCE._setHTML(this.contentDocument, this.getBody().innerHTML);
+                       this.getBody().innerHTML = tinyMCE._cleanupHTML(this, this.contentDocument, this.settings, this.getBody(), this.visualAid);
+                       tinyMCE.handleVisualAid(this.getBody(), true, this.visualAid, this);
+                       tinyMCE._setEventsEnabled(this.getBody(), true);
+                       this.repaint();
+                       tinyMCE.triggerNodeChange();
+               break;
+
+               case "mceReplaceContent":
+                       var selectedText = "";
+
+                       if (tinyMCE.isMSIE) {
+                               var rng = doc.selection.createRange();
+                               selectedText = rng.text;
+                       } else
+                               selectedText = this.getSel().toString();
+
+                       if (selectedText.length > 0) {
+                               value = tinyMCE.replaceVar(value, "selection", selectedText);
+                               tinyMCE.execCommand('mceInsertContent', false, value);
+                       }
+
+                       tinyMCE.triggerNodeChange();
+               break;
+
+               case "mceSetAttribute":
+                       if (typeof(value) == 'object') {
+                               var targetElms = (typeof(value['targets']) == "undefined") ? "p,img,span,div,td,h1,h2,h3,h4,h5,h6,pre,address" : value['targets'];
+                               var targetNode = tinyMCE.getParentElement(this.getFocusElement(), targetElms);
+
+                               if (targetNode) {
+                                       targetNode.setAttribute(value['name'], value['value']);
+                                       tinyMCE.triggerNodeChange();
+                               }
+                       }
+               break;
+
+               case "mceSetCSSClass":
+                       this.execCommand("SetStyleInfo", false, {command : "setattrib", name : "class", value : value});
+               break;
+
+               case "mceInsertRawHTML":
+                       var key = 'tiny_mce_marker';
+
+                       this.execCommand('mceBeginUndoLevel');
+
+                       // Insert marker key
+                       this.execCommand('mceInsertContent', false, key);
+
+                       // Store away scroll pos
+                       var scrollX = this.getDoc().body.scrollLeft + this.getDoc().documentElement.scrollLeft;
+                       var scrollY = this.getDoc().body.scrollTop + this.getDoc().documentElement.scrollTop;
+
+                       // Find marker and replace with RAW HTML
+                       var html = this.getBody().innerHTML;
+                       if ((pos = html.indexOf(key)) != -1)
+                               this.getBody().innerHTML = html.substring(0, pos) + value + html.substring(pos + key.length);
+
+                       // Restore scoll pos
+                       this.contentWindow.scrollTo(scrollX, scrollY);
+
+                       this.execCommand('mceEndUndoLevel');
+
+                       break;
+
+               case "mceInsertContent":
+                       if (!tinyMCE.isMSIE) {
+                               var sel = this.getSel();
+                               var rng = this.getRng();
+                               var isHTML = value.indexOf('<') != -1;
+
+                               if (isHTML) {
+                                       if (tinyMCE.isSafari) {
+                                               var tmpRng = this.getDoc().createRange();
+
+                                               tmpRng.setStart(this.getBody(), 0);
+                                               tmpRng.setEnd(this.getBody(), 0);
+
+                                               value = tmpRng.createContextualFragment(value);
+                                       } else
+                                               value = rng.createContextualFragment(value);
+                               } else {
+                                       // Setup text node
+                                       var el = document.createElement("div");
+                                       el.innerHTML = value;
+                                       value = el.firstChild.nodeValue;
+                                       value = doc.createTextNode(value);
+                               }
+
+                               // Insert plain text in Safari
+                               if (tinyMCE.isSafari && !isHTML) {
+                                       this.execCommand('InsertText', false, value.nodeValue);
+                                       tinyMCE.triggerNodeChange();
+                                       return true;
+                               } else if (tinyMCE.isSafari && isHTML) {
+                                       rng.deleteContents();
+                                       rng.insertNode(value);
+                                       tinyMCE.triggerNodeChange();
+                                       return true;
+                               }
+
+                               rng.deleteContents();
+
+                               // If target node is text do special treatment, (Mozilla 1.3 fix)
+                               if (rng.startContainer.nodeType == 3) {
+                                       var node = rng.startContainer.splitText(rng.startOffset);
+                                       node.parentNode.insertBefore(value, node); 
+                               } else
+                                       rng.insertNode(value);
+
+                               if (!isHTML) {
+                                       // Removes weird selection trails
+                                       sel.selectAllChildren(doc.body);
+                                       sel.removeAllRanges();
+
+                                       // Move cursor to end of content
+                                       var rng = doc.createRange();
+
+                                       rng.selectNode(value);
+                                       rng.collapse(false);
+
+                                       sel.addRange(rng);
+                               } else
+                                       rng.collapse(false);
+                       } else {
+                               var rng = doc.selection.createRange();
+
+                               if (rng.item)
+                                       rng.item(0).outerHTML = value;
+                               else
+                                       rng.pasteHTML(value);
+                       }
+
+                       tinyMCE.triggerNodeChange();
+               break;
+
+               case "mceStartTyping":
+                       if (tinyMCE.settings['custom_undo_redo'] && this.typingUndoIndex == -1) {
+                               this.typingUndoIndex = this.undoIndex;
+                               this.execCommand('mceAddUndoLevel');
+                               //tinyMCE.debug("mceStartTyping");
+                       }
+                       break;
+
+               case "mceEndTyping":
+                       if (tinyMCE.settings['custom_undo_redo'] && this.typingUndoIndex != -1) {
+                               this.execCommand('mceAddUndoLevel');
+                               this.typingUndoIndex = -1;
+                               //tinyMCE.debug("mceEndTyping");
+                       }
+                       break;
+
+               case "mceBeginUndoLevel":
+                       this.undoRedo = false;
+                       break;
+
+               case "mceEndUndoLevel":
+                       this.undoRedo = true;
+                       this.execCommand('mceAddUndoLevel');
+                       break;
+
+               case "mceAddUndoLevel":
+                       if (tinyMCE.settings['custom_undo_redo'] && this.undoRedo) {
+                               // tinyMCE.debug("add level");
+
+                               if (this.typingUndoIndex != -1) {
+                                       this.undoIndex = this.typingUndoIndex;
+                                       // tinyMCE.debug("Override: " + this.undoIndex);
+                               }
+
+                               var newHTML = tinyMCE.trim(this.getBody().innerHTML);
+                               if (newHTML != this.undoLevels[this.undoIndex]) {
+                                       // tinyMCE.debug("[" + newHTML + "," + this.undoLevels[this.undoIndex] + "]");
+
+                                       tinyMCE.executeCallback('onchange_callback', '_onchange', 0, this);
+
+                                       // Time to compress
+                                       var customUndoLevels = tinyMCE.settings['custom_undo_redo_levels'];
+                                       if (customUndoLevels != -1 && this.undoLevels.length > customUndoLevels) {
+                                               for (var i=0; i<this.undoLevels.length-1; i++) {
+                                                       //tinyMCE.debug(this.undoLevels[i] + "=" + this.undoLevels[i+1]);
+                                                       this.undoLevels[i] = this.undoLevels[i+1];
+                                               }
+
+                                               this.undoLevels.length--;
+                                               this.undoIndex--;
+                                       }
+
+                                       this.undoIndex++;
+                                       this.undoLevels[this.undoIndex] = newHTML;
+                                       this.undoLevels.length = this.undoIndex + 1;
+
+                                       // tinyMCE.debug("level added" + this.undoIndex);
+                                       tinyMCE.triggerNodeChange(false);
+
+                                       // tinyMCE.debug(this.undoIndex + "," + (this.undoLevels.length-1));
+                               }
+                       }
+                       break;
+
+               case "Undo":
+                       if (tinyMCE.settings['custom_undo_redo']) {
+                               tinyMCE.execCommand("mceEndTyping");
+
+                               // Do undo
+                               if (this.undoIndex > 0) {
+                                       this.undoIndex--;
+                                       this.getBody().innerHTML = this.undoLevels[this.undoIndex];
+                                       this.repaint();
+                               }
+
+                               // tinyMCE.debug("Undo - undo levels:" + this.undoLevels.length + ", undo index: " + this.undoIndex);
+                               tinyMCE.triggerNodeChange();
+                       } else
+                               this.getDoc().execCommand(command, user_interface, value);
+                       break;
+
+               case "Redo":
+                       if (tinyMCE.settings['custom_undo_redo']) {
+                               tinyMCE.execCommand("mceEndTyping");
+
+                               if (this.undoIndex < (this.undoLevels.length-1)) {
+                                       this.undoIndex++;
+                                       this.getBody().innerHTML = this.undoLevels[this.undoIndex];
+                                       this.repaint();
+                                       // tinyMCE.debug("Redo - undo levels:" + this.undoLevels.length + ", undo index: " + this.undoIndex);
+                               }
+
+                               tinyMCE.triggerNodeChange();
+                       } else
+                               this.getDoc().execCommand(command, user_interface, value);
+                       break;
+
+               case "mceToggleVisualAid":
+                       this.visualAid = !this.visualAid;
+                       tinyMCE.handleVisualAid(this.getBody(), true, this.visualAid, this);
+                       tinyMCE.triggerNodeChange();
+                       break;
+
+               case "removeformat":
+                       var text = this.getSelectedText();
+
+                       if (tinyMCE.isMSIE) {
+                               try {
+                                       win.focus();
+                                       var rng = doc.selection.createRange();
+                                       rng.execCommand("RemoveFormat", false, null);
+
+                                       // If all element contents is selected, move selection around element
+                                       if (rng.text == rng.parentElement().innerText) {
+                                               rng.moveToElementText(rng.parentElement());
+                                               rng.select();
+                                       }
+
+                                       rng.pasteHTML(rng.text);
+                               } catch (e) {
+                                       // Do nothing
+                               }
+                       } else
+                               this.getDoc().execCommand(command, user_interface, value);
+
+                       // Remove class
+                       if (text.length == 0)
+                               this.execCommand("mceSetCSSClass", false, "");
+
+                       tinyMCE.triggerNodeChange();
+                       break;
+
+               default:
+                       this.getDoc().execCommand(command, user_interface, value);
+                       tinyMCE.triggerNodeChange();
+       }
+
+       // Add undo level after modification
+       if (command != "mceAddUndoLevel" && command != "Undo" && command != "Redo" && command != "mceStartTyping" && command != "mceEndTyping")
+               tinyMCE.execCommand("mceAddUndoLevel");
+};
+
+TinyMCEControl.prototype.queryCommandValue = function(command) {
+       return this.getDoc().queryCommandValue(command);
+};
+
+TinyMCEControl.prototype.queryCommandState = function(command) {
+       return this.getDoc().queryCommandState(command);
+};
+
+TinyMCEControl.prototype.onAdd = function(replace_element, form_element_name, target_document) {
+       var targetDoc = target_document ? target_document : document;
+
+       this.targetDoc = targetDoc;
+
+       tinyMCE.themeURL = tinyMCE.baseURL + "/themes/" + this.settings['theme'];
+       this.settings['themeurl'] = tinyMCE.themeURL;
+
+       if (!replace_element) {
+               alert("Error: Could not find the target element.");
+               return false;
+       }
+
+       var templateFunction = tinyMCE._getThemeFunction('_getInsertLinkTemplate');
+       if (eval("typeof(" + templateFunction + ")") != 'undefined')
+               this.insertLinkTemplate = eval(templateFunction + '(this.settings);');
+
+       var templateFunction = tinyMCE._getThemeFunction('_getInsertImageTemplate');
+       if (eval("typeof(" + templateFunction + ")") != 'undefined')
+               this.insertImageTemplate = eval(templateFunction + '(this.settings);');
+
+       var templateFunction = tinyMCE._getThemeFunction('_getEditorTemplate');
+       if (eval("typeof(" + templateFunction + ")") == 'undefined') {
+               alert("Error: Could not find the template function: " + templateFunction);
+               return false;
+       }
+
+       var editorTemplate = eval(templateFunction + '(this.settings, this.editorId);');
+
+       var deltaWidth = editorTemplate['delta_width'] ? editorTemplate['delta_width'] : 0;
+       var deltaHeight = editorTemplate['delta_height'] ? editorTemplate['delta_height'] : 0;
+       var html = '<span id="' + this.editorId + '_parent">' + editorTemplate['html'];
+
+       var templateFunction = tinyMCE._getThemeFunction('_handleNodeChange', true);
+       if (eval("typeof(" + templateFunction + ")") != 'undefined')
+               this.settings['handleNodeChangeCallback'] = templateFunction;
+
+       html = tinyMCE.replaceVar(html, "editor_id", this.editorId);
+       this.settings['default_document'] = tinyMCE.baseURL + "/blank.htm";
+
+       this.settings['old_width'] = this.settings['width'];
+       this.settings['old_height'] = this.settings['height'];
+
+       // Set default width, height
+       if (this.settings['width'] == -1)
+               this.settings['width'] = replace_element.offsetWidth;
+
+       if (this.settings['height'] == -1)
+               this.settings['height'] = replace_element.offsetHeight;
+
+       // Try the style width
+       if (this.settings['width'] == 0)
+               this.settings['width'] = replace_element.style.width;
+
+       // Try the style height
+       if (this.settings['height'] == 0)
+               this.settings['height'] = replace_element.style.height; 
+
+       // If no width/height then default to 320x240, better than nothing
+       if (this.settings['width'] == 0)
+               this.settings['width'] = 320;
+
+       if (this.settings['height'] == 0)
+               this.settings['height'] = 240;
+
+       this.settings['area_width'] = parseInt(this.settings['width']);
+       this.settings['area_height'] = parseInt(this.settings['height']);
+       this.settings['area_width'] += deltaWidth;
+       this.settings['area_height'] += deltaHeight;
+
+       // Special % handling
+       if (("" + this.settings['width']).indexOf('%') != -1)
+               this.settings['area_width'] = "100%";
+
+       if (("" + this.settings['height']).indexOf('%') != -1)
+               this.settings['area_height'] = "100%";
+
+       if (("" + replace_element.style.width).indexOf('%') != -1) {
+               this.settings['width'] = replace_element.style.width;
+               this.settings['area_width'] = "100%";
+       }
+
+       if (("" + replace_element.style.height).indexOf('%') != -1) {
+               this.settings['height'] = replace_element.style.height;
+               this.settings['area_height'] = "100%";
+       }
+
+       html = tinyMCE.applyTemplate(html);
+
+       this.settings['width'] = this.settings['old_width'];
+       this.settings['height'] = this.settings['old_height'];
+
+       this.visualAid = this.settings['visual'];
+       this.formTargetElementId = form_element_name;
+
+       // Get replace_element contents
+       if (replace_element.nodeName == "TEXTAREA" || replace_element.nodeName == "INPUT")
+               this.startContent = replace_element.value;
+       else
+               this.startContent = replace_element.innerHTML;
+
+       // If not text area
+       if (replace_element.nodeName.toLowerCase() != "textarea") {
+               this.oldTargetElement = replace_element.cloneNode(true);
+
+               // Debug mode
+               if (tinyMCE.settings['debug'])
+                       html += '<textarea wrap="off" id="' + form_element_name + '" name="' + form_element_name + '" cols="100" rows="15"></textarea>';
+               else
+                       html += '<input type="hidden" type="text" id="' + form_element_name + '" name="' + form_element_name + '" />';
+
+               html += '</span>';
+
+               // Output HTML and set editable
+               if (!tinyMCE.isMSIE) {
+                       var rng = replace_element.ownerDocument.createRange();
+                       rng.setStartBefore(replace_element);
+
+                       var fragment = rng.createContextualFragment(html);
+                       replace_element.parentNode.replaceChild(fragment, replace_element);
+               } else
+                       replace_element.outerHTML = html;
+       } else {
+               html += '</span>';
+
+               // Just hide the textarea element
+               this.oldTargetElement = replace_element;
+
+               if (!tinyMCE.settings['debug'])
+                       this.oldTargetElement.style.display = "none";
+
+               // Output HTML and set editable
+               if (!tinyMCE.isMSIE) {
+                       var rng = replace_element.ownerDocument.createRange();
+                       rng.setStartBefore(replace_element);
+
+                       var fragment = rng.createContextualFragment(html);
+                       replace_element.parentNode.insertBefore(fragment, replace_element);
+               } else
+                       replace_element.insertAdjacentHTML("beforeBegin", html);
+       }
+
+       // Setup iframe
+       var dynamicIFrame = false;
+       var tElm = targetDoc.getElementById(this.editorId);
+
+       if (!tinyMCE.isMSIE) {
+               if (tElm && tElm.nodeName.toLowerCase() == "span") {
+                       tElm = tinyMCE._createIFrame(tElm);
+                       dynamicIFrame = true;
+               }
+
+               this.targetElement = tElm;
+               this.iframeElement = tElm;
+               this.contentDocument = tElm.contentDocument;
+               this.contentWindow = tElm.contentWindow;
+
+               //this.getDoc().designMode = "on";
+       } else {
+               if (tElm && tElm.nodeName.toLowerCase() == "span")
+                       tElm = tinyMCE._createIFrame(tElm);
+               else
+                       tElm = targetDoc.frames[this.editorId];
+
+               this.targetElement = tElm;
+               this.iframeElement = targetDoc.getElementById(this.editorId);
+               this.contentDocument = tElm.window.document;
+               this.contentWindow = tElm.window;
+               this.getDoc().designMode = "on";
+       }
+
+       // Setup base HTML
+       var doc = this.contentDocument;
+       if (dynamicIFrame) {
+        var html = '<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html><head><base href="' + tinyMCE.settings['base_href'] + '" /><title>blank_page</title><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"></head><body class="mceContentBody"></body></html>';
+
+               try {
+                       this.getDoc().designMode = "on";
+                       doc.open();
+                       doc.write(html);
+                       doc.close();
+               } catch (e) {
+                       // Failed Mozilla 1.3
+                       this.getDoc().location.href = tinyMCE.baseURL + "/blank.htm";
+               }
+       }
+
+       // This timeout is needed in MSIE 5.5 for some odd reason
+       // it seems that the document.frames isn't initialized yet?
+       if (tinyMCE.isMSIE)
+               window.setTimeout("TinyMCE.prototype.addEventHandlers('" + this.editorId + "');", 1);
+
+       tinyMCE.setupContent(this.editorId, true);
+
+       return true;
+};
+
+TinyMCEControl.prototype.getFocusElement = function() {
+       if (tinyMCE.isMSIE) {
+               var doc = this.getDoc();
+               var rng = doc.selection.createRange();
+
+               if (rng.collapse)
+                       rng.collapse(true);
+
+               var elm = rng.item ? rng.item(0) : rng.parentElement();
+       } else {
+               var sel = this.getSel();
+               var rng = this.getRng();
+               var elm = rng.commonAncestorContainer;
+               //var elm = (sel && sel.anchorNode) ? sel.anchorNode : null;
+
+               // Handle selection a image or other control like element such as anchors
+               if (!rng.collapsed) {
+                       // Is selection small
+                       if (rng.startContainer == rng.endContainer) {
+                               if (rng.startOffset - rng.endOffset < 2) {
+                                       if (rng.startContainer.hasChildNodes())
+                                               elm = rng.startContainer.childNodes[rng.startOffset];
+                               }
+                       }
+               }
+
+               // Get the element parent of the node
+               elm = tinyMCE.getParentElement(elm);
+
+               //if (tinyMCE.selectedElement != null && tinyMCE.selectedElement.nodeName.toLowerCase() == "img")
+               //      elm = tinyMCE.selectedElement;
+       }
+
+       return elm;
+};
+
+// Global instances
+var tinyMCE = new TinyMCE();
+var tinyMCELang = new Array();
diff --git a/webcit/tiny_mce/utils/form_utils.js b/webcit/tiny_mce/utils/form_utils.js
new file mode 100644 (file)
index 0000000..d42a671
--- /dev/null
@@ -0,0 +1,138 @@
+/**
+ * $RCSfile$
+ * $Revision$
+ * $Date$
+ *
+ * Various form utilitiy functions.
+ *
+ * @author Moxiecode
+ * @copyright Copyright © 2005, Moxiecode Systems AB, All rights reserved.
+ */
+
+function renderColorPicker(id, target_form_element) {
+       var html = "";
+
+       html += '<a id="' + id + '_link" href="javascript:tinyMCEPopup.pickColor(event,\'' + target_form_element +'\');" onmousedown="return false;">';
+       html += '<img id="' + id + '" src="../../themes/advanced/images/color.gif"';
+       html += ' onmouseover="tinyMCE.switchClass(this,\'mceButtonOver\');"';
+       html += ' onmouseout="tinyMCE.restoreClass(this);"';
+       html += ' onmousedown="tinyMCE.restoreAndSwitchClass(this,\'mceButtonDown\');"';
+       html += ' width="20" height="16" border="0" title="' + tinyMCE.getLang('lang_browse') + '"';
+       html += ' class="mceButtonNormal" alt="' + tinyMCE.getLang('lang_browse') + '" /></a>';
+
+       document.write(html);
+}
+
+function updateColor(img_id, form_element_id) {
+       document.getElementById(img_id).style.backgroundColor = document.forms[0].elements[form_element_id].value;
+}
+
+function setBrowserDisabled(id, state) {
+       var img = document.getElementById(id);
+       var lnk = document.getElementById(id + "_link");
+
+       if (lnk) {
+               if (state) {
+                       lnk.setAttribute("realhref", lnk.getAttribute("href"));
+                       lnk.removeAttribute("href");
+                       tinyMCE.switchClass(img, 'mceButtonDisabled', true);
+               } else {
+                       lnk.setAttribute("href", lnk.getAttribute("realhref"));
+                       tinyMCE.switchClass(img, 'mceButtonNormal', false);
+               }
+       }
+}
+
+function renderBrowser(id, target_form_element, type, prefix) {
+       var option = prefix + "_" + type + "_browser_callback";
+       var cb = tinyMCE.getParam(option, tinyMCE.getParam("file_browser_callback"));
+       if (cb == null)
+               return;
+
+       var html = "";
+
+       html += '<a id="' + id + '_link" href="javascript:openBrower(\'' + id + '\',\'' + target_form_element + '\', \'' + type + '\',\'' + option + '\');" onmousedown="return false;">';
+       html += '<img id="' + id + '" src="../../themes/advanced/images/browse.gif"';
+       html += ' onmouseover="tinyMCE.switchClass(this,\'mceButtonOver\');"';
+       html += ' onmouseout="tinyMCE.restoreClass(this);"';
+       html += ' onmousedown="tinyMCE.restoreAndSwitchClass(this,\'mceButtonDown\');"';
+       html += ' width="20" height="18" border="0" title="' + tinyMCE.getLang('lang_browse') + '"';
+       html += ' class="mceButtonNormal" alt="' + tinyMCE.getLang('lang_browse') + '" /></a>';
+
+       document.write(html);
+}
+
+function openBrower(img_id, target_form_element, type, option) {
+       var img = document.getElementById(img_id);
+
+       if (img.className != "mceButtonDisabled")
+               tinyMCEPopup.openBrowser(target_form_element, type, option);
+}
+
+function selectByValue(form_obj, field_name, value, add_custom) {
+       if (!form_obj || !form_obj.elements[field_name])
+               return;
+
+       var sel = form_obj.elements[field_name];
+
+       var found = false;
+       for (var i=0; i<sel.options.length; i++) {
+               var option = sel.options[i];
+
+               if (option.value == value) {
+                       option.selected = true;
+                       found = true;
+               } else
+                       option.selected = false;
+       }
+
+       if (!found && add_custom && value != '') {
+               var option = new Option('Value: ' + value, value);
+               option.selected = true;
+               sel.options[sel.options.length] = option;
+       }
+
+       return found;
+}
+
+function getSelectValue(form_obj, field_name) {
+       var elm = form_obj.elements[field_name];
+
+       if (elm == null || elm.options == null)
+               return "";
+
+       return elm.options[elm.selectedIndex].value;
+}
+
+function addClassesToList(list_id, specific_option) {
+       // Setup class droplist
+       var styleSelectElm = document.getElementById(list_id);
+       var styles = tinyMCE.getParam('theme_advanced_styles', false);
+       styles = tinyMCE.getParam(specific_option, styles);
+
+       if (styles) {
+               var stylesAr = styles.split(';');
+
+               for (var i=0; i<stylesAr.length; i++) {
+                       if (stylesAr != "") {
+                               var key, value;
+
+                               key = stylesAr[i].split('=')[0];
+                               value = stylesAr[i].split('=')[1];
+
+                               styleSelectElm.options[styleSelectElm.length] = new Option(key, value);
+                       }
+               }
+       } else {
+               // Use auto impored classes
+               var csses = tinyMCE.getCSSClasses(tinyMCE.getWindowArg('editor_id'));
+               for (var i=0; i<csses.length; i++)
+                       styleSelectElm.options[styleSelectElm.length] = new Option(csses[i], csses[i]);
+       }
+}
+
+function isVisible(element_id) {
+       var elm = document.getElementById(element_id);
+
+       return elm && elm.style.display != "none";
+}
diff --git a/webcit/tiny_mce/utils/mctabs.js b/webcit/tiny_mce/utils/mctabs.js
new file mode 100644 (file)
index 0000000..d9fbbc5
--- /dev/null
@@ -0,0 +1,76 @@
+/**
+ * $RCSfile$
+ * $Revision$
+ * $Date$
+ *
+ * Moxiecode DHTML Tabs script.
+ *
+ * @author Moxiecode
+ * @copyright Copyright © 2004, Moxiecode Systems AB, All rights reserved.
+ */
+
+function MCTabs() {
+       this.settings = new Array();
+};
+
+MCTabs.prototype.init = function(settings) {
+       this.settings = settings;
+};
+
+MCTabs.prototype.getParam = function(name, default_value) {
+       var value = null;
+
+       value = (typeof(this.settings[name]) == "undefined") ? default_value : this.settings[name];
+
+       // Fix bool values
+       if (value == "true" || value == "false")
+               return (value == "true");
+
+       return value;
+};
+
+MCTabs.prototype.displayTab = function(tab_id, panel_id) {
+       var panelElm = document.getElementById(panel_id);
+       var panelContainerElm = panelElm ? panelElm.parentNode : null;
+       var tabElm = document.getElementById(tab_id);
+       var tabContainerElm = tabElm ? tabElm.parentNode : null;
+       var selectionClass = this.getParam('selection_class', 'current');
+
+       if (tabElm && tabContainerElm) {
+               var nodes = tabContainerElm.childNodes;
+
+               // Hide all other tabs
+               for (var i=0; i<nodes.length; i++) {
+                       if (nodes[i].nodeName == "LI")
+                               nodes[i].className = '';
+               }
+
+               // Show selected tab
+               tabElm.className = 'current';
+       }
+
+       if (panelElm && panelContainerElm) {
+               var nodes = panelContainerElm.childNodes;
+
+               // Hide all other panels
+               for (var i=0; i<nodes.length; i++) {
+                       if (nodes[i].nodeName == "DIV")
+                               nodes[i].className = 'panel';
+               }
+
+               // Show selected panel
+               panelElm.className = 'current';
+       }
+};
+
+MCTabs.prototype.getAnchor = function() {
+       var pos, url = document.location.href;
+
+       if ((pos = url.lastIndexOf('#')) != -1)
+               return url.substring(pos + 1);
+
+       return "";
+};
+
+// Global instance
+var mcTabs = new MCTabs();
diff --git a/webcit/tiny_mce/utils/validate.js b/webcit/tiny_mce/utils/validate.js
new file mode 100644 (file)
index 0000000..183b89f
--- /dev/null
@@ -0,0 +1,50 @@
+/**
+ * $RCSfile$
+ * $Revision$
+ * $Date$
+ *
+ * Various form validation methods.
+ *
+ * @author Moxiecode
+ * @copyright Copyright © 2005, Moxiecode Systems AB, All rights reserved.
+ */
+
+function testRegExp(form_name, element_name, re) {
+       return new RegExp(re).test(document.forms[form_name].elements[element_name].value);
+}
+
+function validateString(form_name, element_name) {
+       return (document.forms[form_name].elements[element_name].value.length > 0);
+}
+
+function validateSelection(form_name, element_name) {
+       return (document.forms[form_name].elements[element_name].selectedIndex > 0);
+}
+
+function validateCheckBox(form_name, element_name) {
+       return document.forms[form_name].elements[element_name].checked;
+}
+
+function validateCleanString(form_name, element_name) {
+       return testRegExp(form_name, element_name, '^[A-Za-z0-9_]+$');
+}
+
+function validateEmail(form_name, element_name) {
+       return testRegExp(form_name, element_name, '^[-!#$%&\'*+\\./0-9=?A-Z^_`a-z{|}~]+@[-!#$%&\'*+\\/0-9=?A-Z^_`a-z{|}~]+\.[-!#$%&\'*+\\./0-9=?A-Z^_`a-z{|}~]+$');
+}
+
+function validateAbsUrl(form_name, element_name) {
+       return testRegExp(form_name, element_name, '^(news|telnet|nttp|file|http|ftp|https)://[-A-Za-z0-9\\.]+$');
+}
+
+function validateNumber(form_name, element_name, allow_blank) {
+       return (!allow_blank && value == '') ? false : testRegExp(form_name, element_name, '^-?[0-9]*\\.?[0-9]*$');
+}
+
+function validateSize(form_name, element_name,) {
+       return testRegExp(form_name, element_name, '^[0-9]+(px|%)?$');
+}
+
+function validateID(form_name, element_name,) {
+       return testRegExp(form_name, element_name, '^[A-Za-z_]([A-Za-z0-9_])*$');
+}
index 409368e272106f67d7135222abd535f046fd4719..5938ea4773731461cdf9609fbaaa892d503b6dae 100644 (file)
@@ -16,7 +16,8 @@
  * Subdirectories from which the client may request static content
  */
 char *static_content_dirs[] = {
-       "static"
+       "static",
+       "tiny_mce"
 };
 
 /*
@@ -512,6 +513,7 @@ void output_static(char *what)
 
        fp = fopen(what, "rb");
        if (fp == NULL) {
+               lprintf(9, "output_static('%s')  -- NOT FOUND --\n", what);
                wprintf("HTTP/1.1 404 %s\n", strerror(errno));
                wprintf("Content-Type: text/plain\r\n");
                wprintf("\r\n");
@@ -554,6 +556,7 @@ void output_static(char *what)
                fread(bigbuffer, bytes, 1, fp);
                fclose(fp);
 
+               lprintf(9, "output_static('%s')  %s\n", what, content_type);
                http_transmit_thing(bigbuffer, (size_t)bytes, content_type, 1);
                free(bigbuffer);
        }
@@ -837,6 +840,8 @@ void session_loop(struct httprequest *req)
        char arg3[128];
        char arg4[128];
        char arg5[128];
+       char arg6[128];
+       char arg7[128];
        char buf[SIZ];
        char request_method[128];
        char pathname[512];
@@ -905,16 +910,26 @@ void session_loop(struct httprequest *req)
        if (strstr(arg3, "&")) *strstr(arg3, "&") = 0;
        if (strstr(arg3, " ")) *strstr(arg3, " ") = 0;
 
-       extract_token(arg4, pathname, 4, '/', sizeof arg4);
+       extract_token(arg4, pathname, 5, '/', sizeof arg4);
        if (strstr(arg4, "?")) *strstr(arg4, "?") = 0;
        if (strstr(arg4, "&")) *strstr(arg4, "&") = 0;
        if (strstr(arg4, " ")) *strstr(arg4, " ") = 0;
 
-       extract_token(arg5, pathname, 4, '/', sizeof arg5);
+       extract_token(arg5, pathname, 6, '/', sizeof arg5);
        if (strstr(arg5, "?")) *strstr(arg5, "?") = 0;
        if (strstr(arg5, "&")) *strstr(arg5, "&") = 0;
        if (strstr(arg5, " ")) *strstr(arg5, " ") = 0;
 
+       extract_token(arg6, pathname, 7, '/', sizeof arg6);
+       if (strstr(arg6, "?")) *strstr(arg6, "?") = 0;
+       if (strstr(arg6, "&")) *strstr(arg6, "&") = 0;
+       if (strstr(arg6, " ")) *strstr(arg6, " ") = 0;
+
+       extract_token(arg7, pathname, 8, '/', sizeof arg7);
+       if (strstr(arg7, "?")) *strstr(arg7, "?") = 0;
+       if (strstr(arg7, "&")) *strstr(arg7, "&") = 0;
+       if (strstr(arg7, " ")) *strstr(arg7, " ") = 0;
+
        while (hptr != NULL) {
                safestrncpy(buf, hptr->line, sizeof buf);
                hptr = hptr->next;
@@ -998,8 +1013,9 @@ void session_loop(struct httprequest *req)
                }
        }
        if (is_static) {
-               snprintf(buf, sizeof buf, "%s/%s/%s/%s/%s/%s", action, arg1, arg2, arg3, arg4, arg5);
-               for (a=0; a<4; ++a) {
+               snprintf(buf, sizeof buf, "%s/%s/%s/%s/%s/%s/%s/%s",
+                       action, arg1, arg2, arg3, arg4, arg5, arg6, arg7);
+               for (a=0; a<8; ++a) {
                        if (buf[strlen(buf)-1] == '/') {
                                buf[strlen(buf)-1] = 0;
                        }