This commit was manufactured by cvs2svn to create tag 'freeside_1_9_2'. freeside_1_9_2
authorcvs2git <cvs2git>
Mon, 5 Apr 2010 07:08:57 +0000 (07:08 +0000)
committercvs2git <cvs2git>
Mon, 5 Apr 2010 07:08:57 +0000 (07:08 +0000)
251 files changed:
ChangeLog
FS/FS/Misc.pm
FS/FS/Schema.pm
FS/FS/Setup.pm
FS/FS/cust_bill_ApplicationCommon.pm
FS/FS/cust_credit.pm
FS/FS/cust_event.pm
FS/FS/cust_main.pm
FS/FS/export_device.pm [deleted file]
FS/FS/part_device.pm
FS/FS/part_event/Action/pkg_agent_credit.pm
FS/FS/part_event/Action/pkg_employee_credit.pm
FS/FS/part_event/Action/pkg_referral_credit.pm
FS/FS/part_event/Condition/balance.pm
FS/FS/part_event/Condition/balance_age.pm
FS/FS/part_event/Condition/balance_under.pm
FS/FS/part_event/Condition/cust_bill_has_service.pm
FS/FS/part_event/Condition/cust_bill_owed.pm
FS/FS/part_event/Condition/cust_bill_owed_under.pm
FS/FS/part_event_condition.pm
FS/FS/part_export/domreg_opensrs.pm
FS/FS/part_export/indosoft.pm [new file with mode: 0644]
FS/FS/part_export/prizm.pm
FS/FS/part_export/thirdlane.pm
FS/FS/pay_batch.pm
FS/FS/pay_batch/RBC.pm
FS/FS/phone_device.pm
FS/FS/prepay_credit.pm
FS/FS/reason_type.pm
FS/bin/freeside-upgrade
FS/bin/freeside-void-payments
FS/t/export_device.t [deleted file]
Makefile
bin/opensrs_domain_pkgs [deleted file]
conf/invoice_from
debian/changelog
htetc/handler.pl
httemplate/docs/about.html
httemplate/docs/man/FS/part_export/.cvs_is_on_crack [deleted file]
httemplate/edit/cust_main/bottomfixup.js
httemplate/edit/prepay_credit.cgi
httemplate/edit/process/part_device.html
httemplate/edit/process/prepay_credit.cgi
httemplate/edit/svc_acct.cgi
httemplate/edit/svc_domain.cgi
httemplate/elements/checkboxes-table.html
httemplate/elements/fckeditor/editor/css/fck_editorarea.css
httemplate/elements/fckeditor/editor/css/fck_internal.css
httemplate/elements/fckeditor/editor/css/fck_showtableborders_gecko.css
httemplate/elements/fckeditor/editor/css/images/block_address.png [deleted file]
httemplate/elements/fckeditor/editor/css/images/block_blockquote.png [deleted file]
httemplate/elements/fckeditor/editor/css/images/block_div.png [deleted file]
httemplate/elements/fckeditor/editor/css/images/block_h1.png [deleted file]
httemplate/elements/fckeditor/editor/css/images/block_h2.png [deleted file]
httemplate/elements/fckeditor/editor/css/images/block_h3.png [deleted file]
httemplate/elements/fckeditor/editor/css/images/block_h4.png [deleted file]
httemplate/elements/fckeditor/editor/css/images/block_h5.png [deleted file]
httemplate/elements/fckeditor/editor/css/images/block_h6.png [deleted file]
httemplate/elements/fckeditor/editor/css/images/block_p.png [deleted file]
httemplate/elements/fckeditor/editor/css/images/block_pre.png [deleted file]
httemplate/elements/fckeditor/editor/css/images/fck_plugin.gif [deleted file]
httemplate/elements/fckeditor/editor/dialog/common/fck_dialog_common.css
httemplate/elements/fckeditor/editor/dialog/common/fck_dialog_common.js
httemplate/elements/fckeditor/editor/dialog/fck_about.html
httemplate/elements/fckeditor/editor/dialog/fck_about/sponsors/spellchecker_net.gif [deleted file]
httemplate/elements/fckeditor/editor/dialog/fck_anchor.html
httemplate/elements/fckeditor/editor/dialog/fck_button.html
httemplate/elements/fckeditor/editor/dialog/fck_checkbox.html
httemplate/elements/fckeditor/editor/dialog/fck_colorselector.html
httemplate/elements/fckeditor/editor/dialog/fck_div.html [deleted file]
httemplate/elements/fckeditor/editor/dialog/fck_docprops.html
httemplate/elements/fckeditor/editor/dialog/fck_docprops/fck_document_preview.html
httemplate/elements/fckeditor/editor/dialog/fck_flash.html
httemplate/elements/fckeditor/editor/dialog/fck_flash/fck_flash.js
httemplate/elements/fckeditor/editor/dialog/fck_flash/fck_flash_preview.html
httemplate/elements/fckeditor/editor/dialog/fck_form.html
httemplate/elements/fckeditor/editor/dialog/fck_hiddenfield.html
httemplate/elements/fckeditor/editor/dialog/fck_image.html
httemplate/elements/fckeditor/editor/dialog/fck_image/fck_image.js
httemplate/elements/fckeditor/editor/dialog/fck_image/fck_image_preview.html
httemplate/elements/fckeditor/editor/dialog/fck_link.html
httemplate/elements/fckeditor/editor/dialog/fck_link/fck_link.js
httemplate/elements/fckeditor/editor/dialog/fck_listprop.html
httemplate/elements/fckeditor/editor/dialog/fck_paste.html
httemplate/elements/fckeditor/editor/dialog/fck_radiobutton.html
httemplate/elements/fckeditor/editor/dialog/fck_replace.html
httemplate/elements/fckeditor/editor/dialog/fck_scayt.html [deleted file]
httemplate/elements/fckeditor/editor/dialog/fck_scayt/scayt_dialog.css [deleted file]
httemplate/elements/fckeditor/editor/dialog/fck_select.html
httemplate/elements/fckeditor/editor/dialog/fck_select/fck_select.js
httemplate/elements/fckeditor/editor/dialog/fck_smiley.html
httemplate/elements/fckeditor/editor/dialog/fck_source.html
httemplate/elements/fckeditor/editor/dialog/fck_specialchar.html
httemplate/elements/fckeditor/editor/dialog/fck_spellerpages.html
httemplate/elements/fckeditor/editor/dialog/fck_spellerpages/spellerpages/server-scripts/spellchecker.pl
httemplate/elements/fckeditor/editor/dialog/fck_spellerpages/spellerpages/spellChecker.js
httemplate/elements/fckeditor/editor/dialog/fck_spellerpages/spellerpages/spellerStyle.css
httemplate/elements/fckeditor/editor/dialog/fck_table.html
httemplate/elements/fckeditor/editor/dialog/fck_tablecell.html
httemplate/elements/fckeditor/editor/dialog/fck_template.html
httemplate/elements/fckeditor/editor/dialog/fck_textarea.html
httemplate/elements/fckeditor/editor/dialog/fck_textfield.html
httemplate/elements/fckeditor/editor/dtd/fck_dtd_test.html [deleted file]
httemplate/elements/fckeditor/editor/dtd/fck_xhtml10strict.js [deleted file]
httemplate/elements/fckeditor/editor/dtd/fck_xhtml10transitional.js [deleted file]
httemplate/elements/fckeditor/editor/fckdebug.html
httemplate/elements/fckeditor/editor/fckdialog.html
httemplate/elements/fckeditor/editor/fckeditor.html
httemplate/elements/fckeditor/editor/fckeditor.original.html
httemplate/elements/fckeditor/editor/filemanager/browser/default/browser.css
httemplate/elements/fckeditor/editor/filemanager/browser/default/browser.html
httemplate/elements/fckeditor/editor/filemanager/browser/default/frmactualfolder.html
httemplate/elements/fckeditor/editor/filemanager/browser/default/frmcreatefolder.html
httemplate/elements/fckeditor/editor/filemanager/browser/default/frmfolders.html
httemplate/elements/fckeditor/editor/filemanager/browser/default/frmresourceslist.html
httemplate/elements/fckeditor/editor/filemanager/browser/default/frmresourcetype.html
httemplate/elements/fckeditor/editor/filemanager/browser/default/frmupload.html
httemplate/elements/fckeditor/editor/filemanager/browser/default/js/common.js
httemplate/elements/fckeditor/editor/filemanager/browser/default/js/fckxml.js
httemplate/elements/fckeditor/editor/filemanager/connectors/perl/basexml.pl [deleted file]
httemplate/elements/fckeditor/editor/filemanager/connectors/perl/commands.pl [deleted file]
httemplate/elements/fckeditor/editor/filemanager/connectors/perl/config.pl [deleted file]
httemplate/elements/fckeditor/editor/filemanager/connectors/perl/connector.cgi [deleted file]
httemplate/elements/fckeditor/editor/filemanager/connectors/perl/io.pl [deleted file]
httemplate/elements/fckeditor/editor/filemanager/connectors/perl/upload.cgi [deleted file]
httemplate/elements/fckeditor/editor/filemanager/connectors/perl/upload_fck.pl [deleted file]
httemplate/elements/fckeditor/editor/filemanager/connectors/perl/util.pl [deleted file]
httemplate/elements/fckeditor/editor/filemanager/connectors/test.html [deleted file]
httemplate/elements/fckeditor/editor/filemanager/connectors/uploadtest.html [deleted file]
httemplate/elements/fckeditor/editor/js/fckadobeair.js [deleted file]
httemplate/elements/fckeditor/editor/js/fckeditorcode_gecko.js
httemplate/elements/fckeditor/editor/js/fckeditorcode_ie.js
httemplate/elements/fckeditor/editor/lang/_translationstatus.txt
httemplate/elements/fckeditor/editor/lang/af.js
httemplate/elements/fckeditor/editor/lang/ar.js
httemplate/elements/fckeditor/editor/lang/bg.js
httemplate/elements/fckeditor/editor/lang/bn.js
httemplate/elements/fckeditor/editor/lang/bs.js
httemplate/elements/fckeditor/editor/lang/ca.js
httemplate/elements/fckeditor/editor/lang/cs.js
httemplate/elements/fckeditor/editor/lang/da.js
httemplate/elements/fckeditor/editor/lang/de.js
httemplate/elements/fckeditor/editor/lang/el.js
httemplate/elements/fckeditor/editor/lang/en-au.js
httemplate/elements/fckeditor/editor/lang/en-ca.js
httemplate/elements/fckeditor/editor/lang/en-uk.js
httemplate/elements/fckeditor/editor/lang/en.js
httemplate/elements/fckeditor/editor/lang/eo.js
httemplate/elements/fckeditor/editor/lang/es.js
httemplate/elements/fckeditor/editor/lang/et.js
httemplate/elements/fckeditor/editor/lang/eu.js
httemplate/elements/fckeditor/editor/lang/fa.js
httemplate/elements/fckeditor/editor/lang/fi.js
httemplate/elements/fckeditor/editor/lang/fo.js
httemplate/elements/fckeditor/editor/lang/fr-ca.js [deleted file]
httemplate/elements/fckeditor/editor/lang/fr.js
httemplate/elements/fckeditor/editor/lang/gl.js
httemplate/elements/fckeditor/editor/lang/gu.js [deleted file]
httemplate/elements/fckeditor/editor/lang/he.js
httemplate/elements/fckeditor/editor/lang/hi.js
httemplate/elements/fckeditor/editor/lang/hr.js
httemplate/elements/fckeditor/editor/lang/hu.js
httemplate/elements/fckeditor/editor/lang/is.js [deleted file]
httemplate/elements/fckeditor/editor/lang/it.js
httemplate/elements/fckeditor/editor/lang/ja.js
httemplate/elements/fckeditor/editor/lang/km.js
httemplate/elements/fckeditor/editor/lang/ko.js
httemplate/elements/fckeditor/editor/lang/lt.js
httemplate/elements/fckeditor/editor/lang/lv.js
httemplate/elements/fckeditor/editor/lang/mn.js
httemplate/elements/fckeditor/editor/lang/ms.js
httemplate/elements/fckeditor/editor/lang/nb.js
httemplate/elements/fckeditor/editor/lang/nl.js
httemplate/elements/fckeditor/editor/lang/no.js
httemplate/elements/fckeditor/editor/lang/pl.js
httemplate/elements/fckeditor/editor/lang/pt-br.js
httemplate/elements/fckeditor/editor/lang/pt.js
httemplate/elements/fckeditor/editor/lang/ro.js
httemplate/elements/fckeditor/editor/lang/ru.js
httemplate/elements/fckeditor/editor/lang/sk.js
httemplate/elements/fckeditor/editor/lang/sl.js
httemplate/elements/fckeditor/editor/lang/sr-latn.js
httemplate/elements/fckeditor/editor/lang/sr.js
httemplate/elements/fckeditor/editor/lang/sv.js
httemplate/elements/fckeditor/editor/lang/th.js
httemplate/elements/fckeditor/editor/lang/tr.js
httemplate/elements/fckeditor/editor/lang/uk.js
httemplate/elements/fckeditor/editor/lang/vi.js
httemplate/elements/fckeditor/editor/lang/zh-cn.js
httemplate/elements/fckeditor/editor/lang/zh.js
httemplate/elements/fckeditor/editor/plugins/autogrow/fckplugin.js
httemplate/elements/fckeditor/editor/plugins/bbcode/fckplugin.js [deleted file]
httemplate/elements/fckeditor/editor/plugins/dragresizetable/fckplugin.js [deleted file]
httemplate/elements/fckeditor/editor/plugins/placeholder/fck_placeholder.html
httemplate/elements/fckeditor/editor/plugins/placeholder/fckplugin.js
httemplate/elements/fckeditor/editor/plugins/placeholder/lang/de.js
httemplate/elements/fckeditor/editor/plugins/placeholder/lang/en.js
httemplate/elements/fckeditor/editor/plugins/placeholder/lang/es.js [deleted file]
httemplate/elements/fckeditor/editor/plugins/placeholder/lang/fr.js
httemplate/elements/fckeditor/editor/plugins/placeholder/lang/it.js
httemplate/elements/fckeditor/editor/plugins/placeholder/lang/pl.js
httemplate/elements/fckeditor/editor/plugins/simplecommands/fckplugin.js
httemplate/elements/fckeditor/editor/plugins/tablecommands/fckplugin.js
httemplate/elements/fckeditor/editor/skins/_fckviewstrips.html
httemplate/elements/fckeditor/editor/skins/default/fck_dialog.css
httemplate/elements/fckeditor/editor/skins/default/fck_dialog_ie6.js [deleted file]
httemplate/elements/fckeditor/editor/skins/default/fck_editor.css
httemplate/elements/fckeditor/editor/skins/default/fck_strip.gif
httemplate/elements/fckeditor/editor/skins/default/images/dialog.sides.gif [deleted file]
httemplate/elements/fckeditor/editor/skins/default/images/dialog.sides.png [deleted file]
httemplate/elements/fckeditor/editor/skins/default/images/dialog.sides.rtl.png [deleted file]
httemplate/elements/fckeditor/editor/skins/default/images/sprites.gif [deleted file]
httemplate/elements/fckeditor/editor/skins/default/images/sprites.png [deleted file]
httemplate/elements/fckeditor/editor/skins/office2003/fck_dialog.css
httemplate/elements/fckeditor/editor/skins/office2003/fck_dialog_ie6.js [deleted file]
httemplate/elements/fckeditor/editor/skins/office2003/fck_editor.css
httemplate/elements/fckeditor/editor/skins/office2003/fck_strip.gif
httemplate/elements/fckeditor/editor/skins/office2003/images/dialog.sides.gif [deleted file]
httemplate/elements/fckeditor/editor/skins/office2003/images/dialog.sides.png [deleted file]
httemplate/elements/fckeditor/editor/skins/office2003/images/dialog.sides.rtl.png [deleted file]
httemplate/elements/fckeditor/editor/skins/office2003/images/sprites.gif [deleted file]
httemplate/elements/fckeditor/editor/skins/office2003/images/sprites.png [deleted file]
httemplate/elements/fckeditor/editor/skins/silver/fck_dialog.css
httemplate/elements/fckeditor/editor/skins/silver/fck_dialog_ie6.js [deleted file]
httemplate/elements/fckeditor/editor/skins/silver/fck_editor.css
httemplate/elements/fckeditor/editor/skins/silver/fck_strip.gif
httemplate/elements/fckeditor/editor/skins/silver/images/dialog.sides.gif [deleted file]
httemplate/elements/fckeditor/editor/skins/silver/images/dialog.sides.png [deleted file]
httemplate/elements/fckeditor/editor/skins/silver/images/dialog.sides.rtl.png [deleted file]
httemplate/elements/fckeditor/editor/skins/silver/images/sprites.gif [deleted file]
httemplate/elements/fckeditor/editor/skins/silver/images/sprites.png [deleted file]
httemplate/elements/fckeditor/editor/wsc/ciframe.html [deleted file]
httemplate/elements/fckeditor/editor/wsc/tmpFrameset.html [deleted file]
httemplate/elements/fckeditor/editor/wsc/w.html [deleted file]
httemplate/elements/fckeditor/fckconfig.js
httemplate/elements/fckeditor/fckeditor.js
httemplate/elements/fckeditor/fckpackager.xml
httemplate/elements/fckeditor/fckstyles.xml
httemplate/elements/fckeditor/fcktemplates.xml
httemplate/elements/htmlarea.html
httemplate/elements/menu.html
httemplate/misc/batch-cust_pay.html
httemplate/misc/cancel_pkg.html
httemplate/misc/phone_device_config.html [deleted file]
httemplate/misc/process/bulk_pkg_increment_bill.cgi [deleted file]
httemplate/misc/process/tax-import.cgi
httemplate/misc/tax-import.cgi
httemplate/search/part_pkg.html [new file with mode: 0644]
httemplate/search/report_employee_commission.html [new file with mode: 0644]
httemplate/view/svc_acct/tr.html [deleted file]
rpm/freeside.spec

index 4114eed..f7a95ca 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
-2010-01-14 19:59  ivan
+2010-04-04 23:58  ivan
 
-       * httemplate/edit/process/part_pkg.cgi: remove extraneous debugging
+       * conf/invoice_from: company email
 
-2010-01-12 19:14  ivan
+2010-04-04 23:57  ivan
 
-       * FS/FS/tax_rate.pm: if ignore_icalculable_taxes is on, don't call
-         the errors fatal
+       * FS/bin/freeside-upgrade: require DBIx::DBSchema 0.39 for mysql
 
-2010-01-12 09:17  jeff
+2010-04-04 23:50  ivan
 
-       * FS/FS/part_export/prizm.pm: add some debugging
+       * FS/FS/part_export/thirdlane.pm: thirdlane deletion fix
 
-2010-01-12 09:16  jeff
+2010-04-04 22:20  ivan
 
-       * FS/FS/part_export/prizm.pm: eliminate harmless argument isn't
-         numeric messages
+       * FS/FS/part_export/indosoft.pm: initial indosoft export, RT#4068
 
-2010-01-09 02:03  ivan
+2010-04-04 18:23  ivan
 
-       * FS/FS/Record.pm: need DBIx::DBSchema w/quoted_default to make
-         this all work right :/
+       * httemplate/search/part_pkg.html: last fix for employee
+         commisssion report, RT#6991
 
-2010-01-09 00:21  ivan
+2010-04-04 17:59  ivan
 
-       * FS/bin/freeside-upgrade: undo damage from DBIx::DBSchema 0.37_03
+       * httemplate/elements/menu.html: add employee commission report to
+         menu, RT#6991
 
-2010-01-07 01:48  mark
+2010-04-04 16:47  ivan
 
-       * FS/FS/: pay_batch.pm, pay_batch/RBC.pm: Fix problems with RBC
-         batch import (RT#6967)
+       * FS/FS/Schema.pm: fix otaker upgrade
 
-2010-01-05 20:47  ivan
+2010-04-04 16:37  ivan
 
-       * FS/FS/svc_acct.pm: eliminate spurious warnings on usage
-         changes...
+       * FS/FS/cust_pay_void.pm: fix otaker upgrade
 
-2010-01-05 20:43  ivan
+2010-04-04 16:27  ivan
 
-       * FS/FS/cust_main.pm: eliminate ya "use of uninitialized value"
-         warning
+       * FS/FS/: cust_attachment.pm, cust_main_note.pm: fix otaker upgrade
+         for cust_attachment & cust_main_note, hopefully
 
-2010-01-05 20:41  ivan
+2010-04-04 16:18  ivan
 
-       * FS/FS/cust_main.pm: doc
+       * FS/FS/: cust_attachment.pm, cust_main_note.pm: fix otaker upgrade
+         for cust_attachment & cust_main_note, hopefully
 
-2010-01-03 19:23  jeff
+2010-04-04 15:52  ivan
 
-       * bin/monitor: add some debugging
+       * FS/FS/: cust_main.pm: fix otaker upgrade for cust_main
 
-2010-01-02 18:54  ivan
+2010-04-04 15:44  ivan
 
-       * Makefile: fix RT_SiteConfig.pm substitution
+       * FS/FS/cust_main_note.pm: fix note editing of old notes until we
+         can fix the cust_main_note.otaker disaster, RT#7991
 
-2009-12-31 15:03  mark
+2010-04-01 14:30  mark
 
-       * FS/FS/pay_batch/RBC.pm: Add pre-header line
+       * httemplate/search/elements/cust_main_dayranges.html: fix column
+         alignment
 
-2009-12-31 04:56  ivan
+2010-04-01 01:10  ivan
 
-       * rt/: Makefile, lib/RT.pm: rt 3.6.10
+       * FS/FS/part_pkg/: flat.pm, subscription.pm: fix nasty discount
+         fallout (i hope)
 
-2009-12-31 04:44  ivan
+2010-04-01 00:39  ivan
 
-       * rt/: etc/RT_Config.pm.in, html/Admin/Users/Modify.html,
-         html/Elements/Footer, html/Elements/Header, html/Elements/Menu,
-         html/Elements/PageLayout, html/Elements/QuickCreate,
-         html/Elements/SelectDate, html/Elements/SimpleSearch,
-         html/Elements/Tabs, html/Elements/TicketList,
-         html/Elements/TitleBoxStart, html/Elements/CollectionAsTable/Row,
-         html/NoAuth/css/3.5-default/main.css,
-         html/NoAuth/css/3.5-default/misc.css,
-         html/NoAuth/css/3.5-default/titlebox.css,
-         html/NoAuth/css/3.5-default/transactions.css,
-         html/Prefs/SearchOptions.html, html/Search/Bulk.html,
-         html/Ticket/Create.html, html/Ticket/Display.html,
-         html/Ticket/Elements/ShowSummary,
-         html/Ticket/Elements/ShowTransactionAttachments,
-         html/Ticket/Elements/Tabs, html/User/Prefs.html,
-         html/Widgets/TitleBoxStart, lib/RT/Groups_Overlay.pm,
-         lib/RT/Record.pm, lib/RT/SearchBuilder.pm,
-         lib/RT/Ticket_Overlay.pm, lib/RT/Transaction_Overlay.pm,
-         lib/RT/User_Overlay.pm, lib/RT/Users_Overlay.pm,
-         sbin/rt-setup-database.in: rt 3.6.10
+       * FS/FS/part_pkg/flat.pm: fix nasty discount fallout (i hope)
 
-2009-12-31 04:35  ivan
+2010-03-31 21:43  mark
 
-       * rt/FREESIDE_MODIFIED: up-to-date
+       * FS/FS/UI/Web.pm, httemplate/search/report_receivables.cgi,
+         httemplate/search/elements/cust_main_dayranges.html,
+         httemplate/search/elements/search-html.html,
+         httemplate/search/elements/search.html: RT#866: links to process
+         payments from aging report
 
-2009-12-30 23:16  ivan
+2010-03-31 08:48  jeff
 
-       * FS/FS/Schema.pm: fix h_cdr acctid changing from bigint to int
-         with recent DBIx::DBSchema
+       * FS/: MANIFEST, FS/part_export/dashcs_e911.pm: add dash carrier
+         services e911 support RT7103
 
-2009-12-30 21:10  ivan
+2010-03-31 00:41  mark
 
-       * FS/: FS/Cron/bill.pm, bin/freeside-daily: specify multiple
-         agentnums with freeside-daily
+       * httemplate/search/: report_receivables.cgi,
+         report_receivables.html, report_unapplied_cust_pay.html,
+         unapplied_cust_pay.html, elements/cust_main_dayranges.html:
+         RT#7266: aging reports as of a past date
 
-2009-12-30 19:33  ivan
+2010-03-31 00:35  ivan
 
-       * Makefile: goodbye conf dir
+       * httemplate/: edit/process/cust_main_attach.cgi,
+         edit/process/cust_main_note.cgi, view/cust_main/attachments.html,
+         view/cust_main/notes.html: fix customer notes and attachments wrt
+         s/otaker/usernum/ changes; still need to look at the migration,
+         RT#7935
 
-2009-12-30 18:50  jeff
+2010-03-30 23:30  ivan
 
-       * FS/FS/cust_main.pm: really reduce the noise
+       * FS/FS/Misc.pm: eliminate harmless "Use of uninitialized value
+         $enc in string eq" warnings
 
-2009-12-29 22:41  jeff
+2010-03-30 05:12  ivan
 
-       * FS/FS/part_pkg/voip_cdr.pm: define all detail header list
-         elements
+       * httemplate/search/part_pkg.html, FS/FS/Schema.pm: employee
+         commission reporting, RT#6991
 
-2009-12-29 22:05  jeff
+2010-03-30 05:07  ivan
 
-       * FS/FS/cust_main.pm: noise reduction
+       * httemplate/search/report_employee_commission.html,
+         FS/FS/cust_main.pm, FS/FS/cust_credit.pm, FS/FS/cust_event.pm,
+         FS/FS/part_event/Action/pkg_agent_credit.pm,
+         FS/FS/part_event/Action/pkg_employee_credit.pm,
+         FS/FS/part_event/Action/pkg_referral_credit.pm: employee
+         commission reporting, RT#6991
 
-2009-12-29 21:22  jeff
+2010-03-29 20:28  ivan
 
-       * FS/FS/tax_rate.pm: noise reduction
+       * FS/FS/Record.pm: regexp_sql
 
-2009-12-29 18:39  jeff
+2010-03-29 20:10  ivan
 
-       * FS/FS/cust_bill_pkg_detail.pm: use the class used
+       * FS/MANIFEST: employee (otaker / access_user) commissioning,
+         RT#6991
 
-2009-12-29 18:26  jeff
+2010-03-29 19:53  ivan
 
-       * FS/FS/cust_main.pm: noise reduction
+       * httemplate/browse/access_user.html,
+         httemplate/edit/access_user.html, FS/FS/part_pkg.pm,
+         FS/FS/part_event/Action/pkg_agent_credit.pm,
+         FS/FS/part_event/Action/pkg_agent_credit_pkg.pm,
+         FS/FS/part_event/Action/pkg_employee_credit_pkg.pm,
+         FS/FS/part_event/Action/pkg_referral_credit.pm,
+         FS/FS/part_event/Action/pkg_referral_credit_pkg.pm,
+         FS/FS/part_event/Action/Mixin/credit_pkg.pm,
+         httemplate/elements/search-cust_main.html,
+         httemplate/elements/tr-search-cust_main.html: employee (otaker /
+         access_user) commissioning, RT#6991
 
-2009-12-28 20:49  ivan
+2010-03-29 19:52  ivan
 
-       * FS/bin/freeside-upgrade: output SQL statements as we run them
-         (and only the ones we run), not immediately
+       * FS/FS/part_event/Action/pkg_employee_credit.pm: employee
+         commissions, RT#6991
 
-2009-12-28 20:44  ivan
+2010-03-29 19:04  ivan
 
-       * FS/FS/Conf.pm: oops, syntax error adding queued-sleep_time
+       * FS/FS/: part_event_condition.pm, part_event/Condition/balance.pm,
+         part_event/Condition/balance_age.pm,
+         part_event/Condition/balance_under.pm,
+         part_event/Condition/cust_bill_has_service.pm,
+         part_event/Condition/cust_bill_owed.pm,
+         part_event/Condition/cust_bill_owed_under.pm: fixes for MySQL
+         CAST drain bramage
 
-2009-12-28 20:24  ivan
+2010-03-29 02:18  mark
 
-       * FS/bin/: freeside-upgrade: don't change h_queue.job type under
-         non-mysql, takes forever on large dbs, RT#6946
+       * FS/FS/Mason.pm, FS/FS/cust_main.pm,
+         httemplate/elements/select-user.html,
+         httemplate/elements/tr-select-user.html,
+         httemplate/graph/report_signupdate.html,
+         httemplate/graph/signupdate.cgi,
+         httemplate/graph/elements/monthly.html,
+         httemplate/graph/elements/report.html,
+         httemplate/search/cust_main.html: RT#884: search customers by
+         signup time of day
 
-2009-12-28 17:38  ivan
+2010-03-28 17:38  ivan
 
-       * FS/bin/freeside-daily: add -u option for vacuuming, RT#5258
+       * FS/FS/cust_pay.pm: move from otaker to proper usernum FK
 
-2009-12-28 17:00  mark
+2010-03-28 17:23  ivan
 
-       * FS/FS/AccessRight.pm, httemplate/browse/cust_attachment.html,
-         httemplate/elements/menu.html: Add Browse attachments ACL
-         (RT#4964)
+       * FS/FS/: Schema.pm, Upgrade.pm, access_user.pm, banned_pay.pm,
+         cust_attachment.pm, cust_credit.pm, cust_main.pm,
+         cust_main_note.pm, cust_pay_void.pm, cust_pkg.pm,
+         cust_pkg_discount.pm, cust_pkg_reason.pm, cust_refund.pm,
+         otaker_Mixin.pm: move from otaker to proper usernum FK
 
-2009-12-28 16:33  mark
+2010-03-26 23:21  ivan
 
-       * FS/FS/Conf.pm: RT#6358
+       * FS/FS/cust_bill_pkg_detail.pm: fix cust_bill_pkg_detail throwing
+         a fatal error w/MySQL
 
-2009-12-27 21:25  ivan
+2010-03-26 23:09  ivan
 
-       * FS/FS/: part_pkg_taxclass.pm, phone_device.pm: use blessed
+       * httemplate/: view/cust_main.cgi, view/cust_main/notes.html,
+         edit/cust_main_note.cgi: resize customer not add popup, eliminate
+         needless <BR> in popup
 
-2009-12-26 17:00  jeff
+2010-03-26 21:37  ivan
 
-       * FS/FS/: cust_main.pm, cust_location.pm: improve spacing around
-         county
+       * FS/FS/Upgrade.pm: these are now supported in supported in
+         DBIx-DBSchema and friends
 
-2009-12-23 15:32  jeff
+2010-03-26 20:43  ivan
 
-       * bin/monitor: remove debugging
+       * FS/FS/: reason.pm, tax_rate.pm: these are now supported in
+         supported in DBIx-DBSchema and friends
 
-2009-12-23 15:29  jeff
+2010-03-26 15:25  ivan
 
-       * bin/: monitor: add non-forking one machine monitor program
+       * httemplate/elements/: select-areacode.html, select-did.html: fix
+         E911 vs. DID selector on phone provision, RT#7819
 
-2009-12-23 15:29  jeff
+2010-03-26 14:43  ivan
 
-       * bin/monitor: file monitor was added on branch FREESIDE_1_9_BRANCH
-         on 2009-12-23 23:29:54 +0000
+       * FS/FS/cust_pkg.pm: no DISTINCT ON in MySQL makes kittens cry
 
-2009-12-23 15:14  jeff
+2010-03-26 00:52  ivan
 
-       * FS/FS/Yori.pm: teach yori to do some load monitoring
+       * httemplate/elements/: freeside-menu.css, freeside.css: that'll do
+         for now
 
-2009-12-23 13:21  jeff
+2010-03-25 22:02  ivan
 
-       * FS/FS/cust_bill.pm, FS/FS/cust_location.pm, FS/FS/cust_main.pm,
-         FS/FS/cust_pkg.pm,
-         httemplate/view/cust_main/packages/location.html: correct invoice
-         package address display and reduce false laziness
+       * FS/FS/Schema.pm: kludge a fix for the MySQL statustext index
+         problem, fix s/serial/int/ for non-primary keys in
+         part_pkg_taxoverride, and s/TEXT/LONGTEXT/ ourselves until
+         DBIx::DBSchema 0.39
 
-2009-12-22 16:30  mark
+2010-03-25 21:50  ivan
 
-       * FS/FS/svc_acct.pm, httemplate/edit/svc_acct.cgi,
-         httemplate/edit/process/svc_acct.cgi,
-         httemplate/view/svc_acct.cgi: Tweak set_password per RT#6358
+       * FS/FS/UID.pm: don't warn about the configuration table during
+         setup
 
-2009-12-21 06:36  jeff
+2010-03-25 19:19  ivan
 
-       * bin/fetch_and_expand_taxes: file fetch_and_expand_taxes was added
-         on branch FREESIDE_1_9_BRANCH on 2009-12-21 14:37:22 +0000
+       * bin/build_exten.php: adding build_exten.php since FreePBX won't
+         ship it
 
-2009-12-21 06:36  jeff
+2010-03-25 18:06  ivan
 
-       * bin/reassemble_taxes: file reassemble_taxes was added on branch
-         FREESIDE_1_9_BRANCH on 2009-12-21 14:37:22 +0000
+       * rt/lib/RT/: Ticket_Overlay.pm: ticket auto-association in the
+         correct spot.  how the hell did it get merged there?  RT#7882
 
-2009-12-21 06:36  jeff
+2010-03-25 15:30  ivan
 
-       * bin/fetch_and_expand_taxes, bin/reassemble_taxes, FS/FS/Conf.pm,
-         FS/FS/tax_rate.pm: move cch conf into database and add a couple
-         small tools for processing updates more manually
+       * httemplate/elements/header.html: fix new header in RT
 
-2009-12-20 18:56  mark
+2010-03-25 15:21  ivan
 
-       * httemplate/search/elements/search-xls.html: Fix filename for
-         Excel spreadsheet reports
+       * rt/lib/RT/User_Overlay.pm: fix user modification?
 
-2009-12-20 18:00  ivan
+2010-03-25 14:22  ivan
 
-       * FS/FS/cust_main.pm, httemplate/misc/bill.cgi: have 'Bill now'
-         link cancel expired (and suspend adjourned) packages, and catch
-         and return errors in all cases, RT#6627
+       * rt/lib/RT/URI/freeside.pm: generate a stack backtrace for mystery
+         freeside link resolution problems
 
-2009-12-20 13:52  ivan
+2010-03-25 13:21  ivan
 
-       * FS/FS/Conf.pm: late fee package class specified in the event
-         action instead of a global finance_pkgclass config, RT#6617
+       * httemplate/elements/: header.html, searchbar-address2.html,
+         searchbar-cust_bill.html, searchbar-cust_main.html,
+         searchbar-cust_svc.html, searchbar-prospect.html,
+         searchbar-ticket.html: when using a side menubar, put search
+         boxes on the side too
 
-2009-12-20 13:48  ivan
+2010-03-24 18:37  mark
 
-       * FS/FS/part_event/Action/: cust_bill_fee_percent.pm, fee.pm: late
-         fee package class specified in the event action instead of a
-         global finance_pkgclass config, RT#6617
+       * FS/FS/Mason.pm, httemplate/view/cust_main/notes.html: RT#6226:
+         security fix for customer notes
 
-2009-12-20 11:42  ivan
+2010-03-24 01:37  ivan
 
-       * FS/FS/ClientAPI/MyAccount.pm: fix usage details pulling from
-         wrong account for customers who have multiple accounts, RT#6681,
-         fallout from RT#4189
+       * FS/FS/Conf.pm, httemplate/search/cust_bill_pkg.cgi,
+         httemplate/search/report_prepaid_income.cgi: better prepaid
+         income reporting, with line item detail, RT#7776
 
-2009-12-19 22:52  ivan
+2010-03-23 02:13  ivan
 
-       * httemplate/search/cust_pkg.cgi: fix address fields on advanced
-         package search, RT#6609
+       * FS/FS/mailinglist.pm, FS/FS/mailinglistmember.pm,
+         FS/FS/svc_mailinglist.pm, FS/FS/part_export/communigate_pro.pm,
+         httemplate/elements/header.html,
+         httemplate/search/mailinglistmember.html: export svc_mailinglist
+         to CGP groups, RT#7514
 
-2009-12-19 18:51  ivan
+2010-03-23 01:27  ivan
 
-       * FS/FS/cust_pkg.pm: fix bulk package order with one package
-         changing to one new package, RT#6519, fallout from RT#4499
+       * httemplate/images/: black-gray-side.png, gray-black-side.png:
+         goodbye and good riddance
 
-2009-12-19 17:02  ivan
+2010-03-22 20:53  ivan
 
-       * httemplate/view/cust_main/: packages.html, payment_history.html:
-         fix cust_main-packages-years, RT#6798
+       * FS/: FS.pm, FS/h_svc_mailinglist.pm, t/h_svc_mailinglist.t,
+         FS/Mason.pm: adding svc_mailinglist for communigate "groups"
+         (mailing lists), RT#7514
 
-2009-12-19 14:41  ivan
+2010-03-22 20:47  ivan
 
-       * httemplate/edit/cust_credit.cgi: add add'l info field as a
-         customer-editable field, RT#6505
+       * FS/MANIFEST, FS/FS/Schema.pm, FS/FS/mailinglist.pm,
+         FS/FS/mailinglistmember.pm, FS/FS/svc_mailinglist.pm,
+         FS/t/mailinglist.t, FS/t/mailinglistmember.t,
+         FS/t/svc_mailinglist.t, httemplate/edit/mailinglistmember.html,
+         httemplate/edit/part_svc.cgi,
+         httemplate/edit/svc_mailinglist.cgi,
+         httemplate/edit/process/mailinglistmember.html,
+         httemplate/edit/process/svc_mailinglist.html,
+         httemplate/misc/delete-mailinglistmember.html,
+         httemplate/search/mailinglistmember.html,
+         httemplate/view/svc_mailinglist.cgi: adding svc_mailinglist for
+         communigate "groups" (mailing lists), RT#7514
 
-2009-12-19 14:32  ivan
+2010-03-22 20:34  ivan
 
-       * httemplate/view/cust_main/payment_history.html: make room for
-         credit reasons in popup
+       * httemplate/elements/freeside.css: little bit further, just a
+         little bit more
 
-2009-12-19 12:58  mark
+2010-03-22 18:17  ivan
 
-       * FS/: bin/freeside-paymentech-upload, FS/pay_batch/paymentech.pm,
-         bin/freeside-paymentech-download: Fix date format string and
-         quoting of password
+       * httemplate/elements/menubar.html: don't like that <BR> after
+         all... for now
 
-2009-12-19 12:29  ivan
+2010-03-22 18:07  ivan
 
-       * FS/FS/cust_main_Mixin.pm: fix event report w/ a customer status
+       * httemplate/elements/freeside.css: wfm
 
-2009-12-19 11:10  ivan
+2010-03-22 18:04  ivan
 
-       * FS/FS/part_pkg.pm: fix package order to really display only those
-         pacakges available
+       * httemplate/elements/: xmenu.css, xmenu.top.css: purple on pink is
+         WAY too my little pony.  man, its not easy being purple
 
-2009-12-19 11:09  ivan
+2010-03-22 12:46  ivan
 
-       * httemplate/misc/cust-part_pkg.cgi: fix order of packages after
-         class selection changes
+       * httemplate/elements/: freeside.css, menubar.html: 1.9-style
+         menubar was hurting my eyes
 
-2009-12-16 09:35  ivan
+2010-03-22 07:08  jeff
 
-       * httemplate/edit/cust_main_attach.cgi: tweak attachment adding UI:
-         table consistency, input sizes and maxlengths, RT#4964
+       * FS/FS/tax_rate.pm: fix restore of setup and recur taxproducts on
+         tax data replacement
 
-2009-12-16 07:07  jeff
+2010-03-21 23:34  ivan
 
-       * FS/FS/: Conf.pm, Record.pm, cust_bill.pm, cust_location.pm,
-         cust_main.pm, cust_pkg.pm: group invoice line items by location,
-         show location address on invoice, option for due date rather than
-         invoice date on prior unpaid invoice line items, and option for
-         aging on invoice (#6418, #5235, #4648)
+       * httemplate/elements/freeside.css: fix link hover effect so it
+         doesn't underline A NAME tags
 
-2009-12-13 23:52  ivan
+2010-03-21 16:56  ivan
 
-       * FS/FS/svc_acct.pm: use a global config too
+       * httemplate/elements/freeside.css: fix inadvertant button styling
 
-2009-12-13 23:10  ivan
+2010-03-21 16:13  ivan
 
-       * FS/FS/: Conf.pm, svc_acct.pm, part_export/sqlradius.pm: add
-         overlimit_groups agent-specific config, overriding
-         export-specific overlimit_groups, RT#6622
+       * FS/FS/Schema.pm, FS/FS/rate_detail.pm,
+         FS/FS/part_pkg/voip_cdr.pm, httemplate/browse/rate_detail.html,
+         httemplate/edit/rate_detail.html,
+         httemplate/edit/rate_region.cgi,
+         httemplate/edit/process/rate_region.cgi,
+         httemplate/misc/rate_edit_excel.html,
+         httemplate/misc/process/copy-rate_detail.html: connection fee for
+         initial N seconds support, RT#7018
 
-2009-12-13 17:41  mark
+2010-03-21 12:34  ivan
 
-       * FS/FS/AccessRight.pm, httemplate/browse/cust_attachment.html,
-         httemplate/edit/cust_main_attach.cgi,
-         httemplate/elements/menu.html, httemplate/view/cust_main.cgi,
-         httemplate/view/cust_main/attachments.html: Add access right to
-         view attachments
+       * rt/etc/RT_SiteConfig.pm: make the fckeditor taller, way too small
 
-2009-12-12 18:10  ivan
+2010-03-20 22:18  ivan
 
-       * ChangeLog: 1.9.2ish
+       * rt/FREESIDE_MODIFIED: think this fixes the "results box color
+         infects everything else" problem
 
-2009-12-12 14:35  ivan
+2010-03-20 16:30  ivan
 
-       * FS/FS/cust_credit_bill_pkg.pm: doc
+       * httemplate/docs/credits.html: more RT integration / reskin / 2.1,
+         RT#6640
 
-2009-12-12 14:22  ivan
+2010-03-20 16:22  ivan
 
-       * Makefile: sync versioning with branches, sorry jeremy
+       * httemplate/: elements/menu.html,
+         elements/popup_link_onclick.html, images/cvv2.png,
+         images/cvv2_amex.png: more RT integration / reskin / 2.1, RT#6640
 
-2009-12-10 15:03  ivan
+2010-03-20 15:44  ivan
 
-       * FS/FS/cust_main.pm: fully fix bulk customer reports, RT#6778
+       * httemplate/elements/: freeside-menu.css, header.html, xmenu.css,
+         xmenu.js, xmenu.top.css: more RT integration / reskin / 2.1,
+         RT#6640
 
-2009-12-07 22:29  mark
+2010-03-20 15:11  ivan
 
-       * FS/FS/Schema.pm: Fix cust_attachment.disabled type
+       * httemplate/elements/calendar-win2k-2.css,
+         httemplate/elements/freeside-menu.css,
+         httemplate/elements/header.html, httemplate/elements/menu.html,
+         httemplate/elements/xmenu.top.css,
+         httemplate/elements/xmenu.top.js,
+         httemplate/images/arrow.down.black.png,
+         httemplate/images/black-gradient.png,
+         httemplate/images/black-gray-gradient.png, rt/FREESIDE_MODIFIED,
+         httemplate/elements/freeside.css: more RT integration / reskin /
+         2.1, RT#6640
 
-2009-12-06 15:44  ivan
+2010-03-19 01:27  ivan
 
-       * httemplate/edit/part_pkg.cgi: fix initial value of agent types
-         when cloning
+       * httemplate/: docs/cvv2.html, elements/header-minimal.html,
+         elements/header-popup.html, elements/header.html,
+         elements/tr-justtitle.html, elements/tr-title.html,
+         elements/freeside-menu.css, elements/menu.html,
+         elements/menubar.html, elements/xmenu.top.css: skin RT 3.8,
+         slight new look for 2.1, RT#6640
 
-2009-12-06 15:18  ivan
+2010-03-19 01:26  ivan
 
-       * httemplate/elements/header.html: fix search box clearing from
-         within RT, caused by different quoting rules in RT comp_root.
-         grr.
+       * rt/FREESIDE_MODIFIED: skin RT 3.8, RT#6640
 
-2009-12-06 11:19  ivan
+2010-03-19 01:20  mark
 
-       * FS/FS/Schema.pm: more reasonable sizes for filename, mime type
-         and title, RT#6823
+       * httemplate/misc/batch-cust_pay.html: RT#7812: confirm before
+         closing quick payment entry
 
-2009-12-05 15:36  jeff
+2010-03-18 01:02  ivan
 
-       * FS/FS/cust_bill.pm: holy cow! correct sense of skip usage testing
+       * httemplate/edit/cust_main/top_misc.html: signup date fix?
 
-2009-12-03 20:45  ivan
+2010-03-18 00:59  ivan
 
-       * FS/FS/svc_acct.pm, httemplate/search/svc_acct.cgi:
-         customer-specific account report (and some small refactoring of
-         method names to clash less), RT#6180
+       * FS/FS/Schema.pm, FS/FS/cust_bill.pm, FS/FS/cust_main.pm,
+         FS/FS/cust_pkg.pm, FS/FS/part_pkg.pm,
+         httemplate/edit/quick-charge.html,
+         FS/FS/part_event/Condition/cust_bill_has_noauto.pm,
+         FS/FS/part_event/Condition/cust_bill_hasnt_noauto.pm,
+         httemplate/edit/process/quick-charge.cgi,
+         httemplate/edit/process/quick-cust_pkg.cgi,
+         httemplate/misc/order_pkg.html,
+         httemplate/view/cust_main/one_time_charge_link.html,
+         httemplate/view/cust_main/order_pkg_link.html,
+         httemplate/view/cust_main/packages/status.html: disable
+         auto-billing of specific customer packages, RT#6378
+
+2010-03-16 01:05  mark
+
+       * httemplate/edit/cust_main_note.cgi: minor bugfix
+
+2010-03-16 00:49  mark
+
+       * httemplate/elements/fckeditor/: fckconfig.js, fckeditor.js,
+         fckpackager.xml, fckstyles.xml, fcktemplates.xml,
+         editor/fckdebug.html, editor/fckdialog.html,
+         editor/fckeditor.html, editor/fckeditor.original.html,
+         editor/css/fck_editorarea.css, editor/css/fck_internal.css,
+         editor/css/fck_showtableborders_gecko.css,
+         editor/css/images/block_address.png,
+         editor/css/images/block_blockquote.png,
+         editor/css/images/block_div.png, editor/css/images/block_h1.png,
+         editor/css/images/block_h2.png, editor/css/images/block_h3.png,
+         editor/css/images/block_h4.png, editor/css/images/block_h5.png,
+         editor/css/images/block_h6.png, editor/css/images/block_p.png,
+         editor/css/images/block_pre.png,
+         editor/css/images/fck_plugin.gif, editor/dialog/fck_about.html,
+         editor/dialog/fck_anchor.html, editor/dialog/fck_button.html,
+         editor/dialog/fck_checkbox.html,
+         editor/dialog/fck_colorselector.html, editor/dialog/fck_div.html,
+         editor/dialog/fck_docprops.html, editor/dialog/fck_flash.html,
+         editor/dialog/fck_form.html, editor/dialog/fck_hiddenfield.html,
+         editor/dialog/fck_image.html, editor/dialog/fck_link.html,
+         editor/dialog/fck_listprop.html, editor/dialog/fck_paste.html,
+         editor/dialog/fck_radiobutton.html,
+         editor/dialog/fck_replace.html, editor/dialog/fck_scayt.html,
+         editor/dialog/fck_select.html, editor/dialog/fck_smiley.html,
+         editor/dialog/fck_source.html,
+         editor/dialog/fck_specialchar.html,
+         editor/dialog/fck_spellerpages.html,
+         editor/dialog/fck_table.html, editor/dialog/fck_tablecell.html,
+         editor/dialog/fck_template.html, editor/dialog/fck_textarea.html,
+         editor/dialog/fck_textfield.html,
+         editor/dialog/common/fck_dialog_common.css,
+         editor/dialog/common/fck_dialog_common.js,
+         editor/dialog/fck_docprops/fck_document_preview.html,
+         editor/dialog/fck_flash/fck_flash.js,
+         editor/dialog/fck_flash/fck_flash_preview.html,
+         editor/dialog/fck_image/fck_image.js,
+         editor/dialog/fck_image/fck_image_preview.html,
+         editor/dialog/fck_link/fck_link.js,
+         editor/dialog/fck_select/fck_select.js,
+         editor/dialog/fck_spellerpages/spellerpages/spellChecker.js,
+         editor/dialog/fck_spellerpages/spellerpages/spellerStyle.css,
+         editor/dialog/fck_spellerpages/spellerpages/server-scripts/spellchecker.pl,
+         editor/filemanager/browser/default/browser.css,
+         editor/filemanager/browser/default/browser.html,
+         editor/filemanager/browser/default/frmactualfolder.html,
+         editor/filemanager/browser/default/frmcreatefolder.html,
+         editor/filemanager/browser/default/frmfolders.html,
+         editor/filemanager/browser/default/frmresourceslist.html,
+         editor/filemanager/browser/default/frmresourcetype.html,
+         editor/filemanager/browser/default/frmupload.html,
+         editor/filemanager/browser/default/js/common.js,
+         editor/filemanager/browser/default/js/fckxml.js,
+         editor/js/fckadobeair.js, editor/js/fckeditorcode_gecko.js,
+         editor/js/fckeditorcode_ie.js,
+         editor/lang/_translationstatus.txt, editor/lang/af.js,
+         editor/lang/ar.js, editor/lang/bg.js, editor/lang/bn.js,
+         editor/lang/bs.js, editor/lang/ca.js, editor/lang/cs.js,
+         editor/lang/da.js, editor/lang/de.js, editor/lang/el.js,
+         editor/lang/en-au.js, editor/lang/en-ca.js, editor/lang/en-uk.js,
+         editor/lang/en.js, editor/lang/eo.js, editor/lang/es.js,
+         editor/lang/et.js, editor/lang/eu.js, editor/lang/fa.js,
+         editor/lang/fi.js, editor/lang/fo.js, editor/lang/fr-ca.js,
+         editor/lang/fr.js, editor/lang/gl.js, editor/lang/gu.js,
+         editor/lang/he.js, editor/lang/hi.js, editor/lang/hr.js,
+         editor/lang/hu.js, editor/lang/is.js, editor/lang/it.js,
+         editor/lang/ja.js, editor/lang/km.js, editor/lang/ko.js,
+         editor/lang/lt.js, editor/lang/lv.js, editor/lang/mn.js,
+         editor/lang/ms.js, editor/lang/nb.js, editor/lang/nl.js,
+         editor/lang/no.js, editor/lang/pl.js, editor/lang/pt-br.js,
+         editor/lang/pt.js, editor/lang/ro.js, editor/lang/ru.js,
+         editor/lang/sk.js, editor/lang/sl.js, editor/lang/sr-latn.js,
+         editor/lang/sr.js, editor/lang/sv.js, editor/lang/th.js,
+         editor/lang/tr.js, editor/lang/uk.js, editor/lang/vi.js,
+         editor/lang/zh-cn.js, editor/lang/zh.js,
+         editor/plugins/autogrow/fckplugin.js,
+         editor/plugins/placeholder/fck_placeholder.html,
+         editor/plugins/placeholder/fckplugin.js,
+         editor/plugins/placeholder/lang/de.js,
+         editor/plugins/placeholder/lang/en.js,
+         editor/plugins/placeholder/lang/es.js,
+         editor/plugins/placeholder/lang/fr.js,
+         editor/plugins/placeholder/lang/it.js,
+         editor/plugins/placeholder/lang/pl.js,
+         editor/plugins/simplecommands/fckplugin.js,
+         editor/plugins/tablecommands/fckplugin.js,
+         editor/skins/_fckviewstrips.html,
+         editor/skins/default/fck_dialog.css,
+         editor/skins/default/fck_dialog_ie6.js,
+         editor/skins/default/fck_editor.css,
+         editor/skins/default/fck_strip.gif,
+         editor/skins/default/images/dialog.sides.gif,
+         editor/skins/default/images/dialog.sides.png,
+         editor/skins/default/images/dialog.sides.rtl.png,
+         editor/skins/default/images/sprites.gif,
+         editor/skins/default/images/sprites.png,
+         editor/skins/office2003/fck_dialog.css,
+         editor/skins/office2003/fck_dialog_ie6.js,
+         editor/skins/office2003/fck_editor.css,
+         editor/skins/office2003/fck_strip.gif,
+         editor/skins/office2003/images/dialog.sides.gif,
+         editor/skins/office2003/images/dialog.sides.png,
+         editor/skins/office2003/images/dialog.sides.rtl.png,
+         editor/skins/office2003/images/sprites.gif,
+         editor/skins/office2003/images/sprites.png,
+         editor/skins/silver/fck_dialog.css,
+         editor/skins/silver/fck_dialog_ie6.js,
+         editor/skins/silver/fck_editor.css,
+         editor/skins/silver/fck_strip.gif,
+         editor/skins/silver/images/dialog.sides.gif,
+         editor/skins/silver/images/dialog.sides.png,
+         editor/skins/silver/images/dialog.sides.rtl.png,
+         editor/skins/silver/images/sprites.gif,
+         editor/skins/silver/images/sprites.png: FCKeditor 2.6.6
+
+2010-03-15 19:51  mark
+
+       * httemplate/: edit/cust_main_note.cgi, view/cust_main/notes.html,
+         elements/htmlarea.html: RT#6226: fckeditor for customer notes
+
+2010-03-15 19:14  ivan
+
+       * rt/etc/rt.spec: remove rt.spec, borking our build somehow
+
+2010-03-15 18:00  ivan
+
+       * httemplate/search/: cust_main-zip.html,
+         report_cust_main-zip.html: w/svc_whatever option on zip code
+         distribution report, RT#7784
+
+2010-03-15 15:31  mark
+
+       * FS/bin/freeside-paymentech-upload: RT#7473: add -p option
+
+2010-03-15 00:13  ivan
+
+       * httemplate/edit/svc_broadband.cgi: fix editing svc_broadband
+         service w/no ip address, RT#7786
+
+2010-03-14 23:18  ivan
+
+       * httemplate/search/elements/cust_pay_or_refund.html: deleted
+         payment report, RT#7694
+
+2010-03-14 23:10  ivan
+
+       * httemplate/search/: h_cust_pay.html, report_h_cust_pay.html,
+         elements/cust_pay_or_refund.html: deleted payment report, RT#7694
+
+2010-03-14 19:06  ivan
+
+       * httemplate/edit/part_pkg.cgi: fix diabled package optional
+         reporting classes still selectable on package def edit, RT#7658
+
+2010-03-13 15:50  ivan
+
+       * FS/FS/cust_pkg.pm: quiet extraneous warnings from
+         expire_months/start_1st stuff, getting in the way of debugging
+         for ncic, RT#7780
+
+2010-03-12 13:56  ivan
+
+       * FS/FS/Conf.pm, FS/FS/svc_phone.pm, httemplate/edit/svc_phone.cgi:
+         add svc_phone-phone_name-max_length config, RT#7047
+
+2010-03-12 13:29  ivan
+
+       * FS/FS/cust_location.pm, FS/FS/cust_main.pm,
+         FS/FS/location_Mixin.pm, FS/FS/svc_phone.pm,
+         httemplate/edit/svc_phone.cgi,
+         httemplate/edit/elements/svc_Common.html,
+         httemplate/edit/process/svc_phone.html,
+         httemplate/elements/tr-select-cust_location.html,
+         httemplate/view/svc_phone.cgi: finishing e911/svc_phone location,
+         RT#7047
 
-2009-12-03 20:40  ivan
+2010-03-12 03:48  mark
 
-       * FS/FS/cust_bill.pm, FS/FS/cust_bill_event.pm,
-         FS/FS/cust_event.pm, FS/FS/cust_main.pm,
-         httemplate/search/477.html, httemplate/search/cust_bill.html,
-         httemplate/search/cust_bill_event.cgi,
-         httemplate/search/cust_event.html,
-         httemplate/search/cust_main.html, httemplate/search/cust_pkg.cgi,
-         httemplate/search/report_svc_acct.html,
-         httemplate/view/cust_main/packages.html, FS/FS/cust_pkg.pm,
-         httemplate/misc/email-customers.html,
-         httemplate/misc/process/bulk_change_pkg.cgi,
-         httemplate/misc/process/email-customers.html: customer-specific
-         account report (and some small refactoring of method names to
-         clash less), RT#6180
+       * httemplate/edit/svc_broadband.cgi: RT#7765: sort broadband router
+         names
 
-2009-12-03 11:22  ivan
+2010-03-11 19:36  ivan
 
-       * httemplate/graph/cust_bill_pkg.cgi: average per cust_pkg option
-         for peter
+       * FS/FS/Schema.pm, FS/FS/cust_pkg.pm, FS/FS/location_Mixin.pm,
+         FS/FS/svc_phone.pm, FS/t/location_Mixin.t,
+         httemplate/edit/svc_phone.cgi,
+         httemplate/edit/elements/edit.html,
+         httemplate/edit/elements/svc_Common.html,
+         httemplate/elements/location.html,
+         httemplate/elements/tr-select-cust_location.html,
+         httemplate/view/svc_phone.cgi: add location to svc_phone, RT#7047
 
-2009-12-03 11:06  ivan
+2010-03-11 19:30  ivan
 
-       * FS/FS/Report/Table/Monthly.pm,
-         httemplate/graph/cust_bill_pkg.cgi,
-         httemplate/graph/report_cust_bill_pkg.html: average per cust_pkg
-         option for peter
+       * FS/MANIFEST: add location to svc_phone, RT#7047
 
-2009-12-02 23:53  ivan
+2010-03-10 19:27  ivan
 
-       * FS/FS/Schema.pm: index cdrbatchnum
+       * FS/FS/TicketSystem/RT_External.pm,
+         httemplate/view/cust_main/tickets.html: add queue selection to
+         customer ticket creation, RT#7656
 
-2009-12-02 23:37  ivan
+2010-03-10 18:15  ivan
 
-       * FS/FS/: Record.pm, cdr/sansay.pm: fix startdate in sansay CDR
-         import (and skip blank lines), RT#6801
+       * httemplate/docs/credits.html: Mark Wells is now a member of the
+         core team.  Kristian Hoffman has been moved to the core emeritus
 
-2009-12-02 23:18  ivan
+2010-03-10 00:20  mark
 
-       * httemplate/search/cdr.html: fix cdr search
+       * httemplate/edit/svc_acct.cgi: fix probably misplaced text field
 
-2009-12-02 20:22  ivan
+2010-03-09 23:50  mark
 
-       * FS/FS/cdr/sansay.pm: no header?
+       * httemplate/edit/svc_domain.cgi: fix probably misplaced text field
 
-2009-12-02 12:58  ivan
+2010-03-09 22:52  ivan
 
-       * FS/FS/Schema.pm: add index to rate_prefix.npa for a performance
-         improvement on CDR billing, RT#6386
+       * FS/FS/cust_pkg.pm: oops, move start_1st and expire_months
+         handling from check to insert, so it doesn't get triggered on
+         edit, RT#7347
 
-2009-12-02 12:51  ivan
+2010-03-09 22:47  ivan
 
-       * httemplate/view/: svc_broadband.cgi, svc_domain.cgi,
-         svc_external.cgi, svc_forward.cgi, svc_www.cgi: fix viewing
-         unlinked forwards, domains, broadband/external/www services,
-         RT#6794
+       * httemplate/edit/process/REAL_cust_pkg.cgi: fix warning about
+         adding a start date to actually check its *added*, RT#7352
 
-2009-12-01 11:16  jeff
+2010-03-09 15:47  ivan
 
-       * FS/FS/cust_bill.pm: want a listref not a list
+       * httemplate/misc/delay_susp_pkg.html: tyop too
 
-2009-11-29 16:38  ivan
+2010-03-09 14:37  mark
 
-       * FS/FS/cust_main.pm, httemplate/misc/email-customers.html: fix
-         bulk sending of customer notices, RT#6778
+       * httemplate/misc/cancel_pkg.html: fix typo
 
-2009-11-29 16:06  ivan
+2010-03-09 13:57  mark
 
-       * httemplate/edit/REAL_cust_pkg.cgi: fix
+       * FS/FS/prepay_credit.pm, httemplate/edit/prepay_credit.cgi,
+         httemplate/edit/process/prepay_credit.cgi: RT#7407, variable
+         length prepaid card codes
 
-2009-11-29 16:04  ivan
+2010-03-09 00:37  ivan
 
-       * httemplate/edit/: REAL_cust_pkg.cgi, process/REAL_cust_pkg.cgi:
-         UI changes to make it impossible to add a start date to a package
-         that already has a setup fee (can still remove an existing start
-         date causing problems), RT#6712
+       * FS/FS/part_pkg/sql_external.pm: move sql_external to use
+         recur_Common, RT#7212
 
-2009-11-29 15:18  ivan
+2010-03-09 00:05  ivan
 
-       * FS/FS/: Conf.pm, cust_pkg.pm: add
-         cust_pkg-change_pkgpart-bill_now option to bill the new package
-         immediately on package changes.  Useful for prepaid situations
-         with RADIUS where an Expiration attribute base don the package
-         must be present at all times.  RT#6692
+       * httemplate/edit/REAL_cust_pkg.cgi: date editing fix, fallout from
+         date_format
 
-2009-11-29 15:15  ivan
+2010-03-08 18:43  ivan
 
-       * FS/FS/cust_main.pm: doc: spelling
+       * FS/FS/: cust_pkg.pm, part_pkg/flat.pm: a package that starts on
+         the 1st and expires after N months, RT#7738
 
-2009-11-25 16:27  ivan
+2010-03-08 18:39  ivan
 
-       * FS/FS/part_pkg/voip_cdr.pm: debugging left on
+       * FS/FS/cust_main.pm: fix ACH refunds w/IPPay.  B:OP 3.01 and IPPay
+         0.05_02 required.  RT#_7673
 
-2009-11-25 11:58  ivan
+2010-03-08 18:12  ivan
 
-       * httemplate/edit/part_pkg.cgi: don't consider disabled report
-         classes, don't load up the whole table just to see if there are
-         any
+       * FS/FS/cust_pkg.pm: init ticket system new-style
 
-2009-11-25 11:32  jeff
+2010-03-08 16:23  jeff
 
-       * FS/FS/: cust_bill.pm, usage_class.pm: improve appearance of cdr
-         records in cdr sections
+       * FS/FS/Setup.pm: tyop broke populate_initial_data
 
-2009-11-25 08:13  jeff
+2010-03-08 16:18  jeff
 
-       * FS/FS/cust_bill.pm: bug fixes, reuse summary_page, eliminate
-         dups, and rearrange
+       * FS/FS/reason_type.pm: and this is not 1.7.x
 
-2009-11-25 08:09  jeff
+2010-03-08 15:07  jeff
 
-       * conf/invoice_latex: really insert a pagebreak
+       * FS/FS/part_export/prizm.pm: try a delete before adding an element
+         to prizm
 
-2009-11-25 08:07  jeff
+2010-03-08 14:13  ivan
 
-       * conf/invoice_latex: oops.. need updated template for new formats
+       * FS/FS/cust_main.pm: fix ACH refunds w/IPPay.  B:OP 3.01 and IPPay
+         0.05_02 required.  RT#_7673
 
-2009-11-24 13:00  ivan
+2010-03-08 02:57  ivan
 
-       * FS/FS/cust_bill.pm: debugging left on
+       * FS/FS/Conf.pm, FS/FS/cust_bill.pm,
+         httemplate/edit/REAL_cust_pkg.cgi,
+         httemplate/edit/cust_credit.cgi, httemplate/edit/cust_pay.cgi,
+         httemplate/edit/cust_refund.cgi,
+         httemplate/edit/quick-charge.html,
+         httemplate/edit/elements/ApplicationCommon.html,
+         httemplate/elements/tr-input-beginning_ending.html,
+         httemplate/elements/tr-input-date-field.html,
+         httemplate/misc/cancel_pkg.html,
+         httemplate/misc/delay_susp_pkg.html,
+         httemplate/misc/order_pkg.html,
+         httemplate/search/report_prepaid_income.html,
+         httemplate/view/cust_main/payment_history.html,
+         httemplate/view/cust_main/payment_history/credit.html,
+         httemplate/view/cust_main/payment_history/payment.html,
+         httemplate/view/cust_main/payment_history/voided_payment.html:
+         proper use of date_format config for international date formats,
+         RT#7009
 
-2009-11-24 09:05  jeff
+2010-03-07 23:02  ivan
 
-       * FS/FS/cust_bill.pm: cope with sections lacking a pkg_category
+       * FS/FS/Conf.pm, FS/FS/Schema.pm, FS/FS/svc_Domain_Mixin.pm,
+         FS/FS/svc_acct.pm, FS/FS/svc_phone.pm, FS/MANIFEST,
+         FS/FS/part_export/netsapiens.pm, FS/t/svc_Domain_Mixin.t,
+         httemplate/edit/svc_phone.cgi,
+         httemplate/edit/elements/svc_Common.html,
+         httemplate/elements/select-svc-domain.html,
+         httemplate/elements/tr-select-svc-domain.html,
+         httemplate/view/svc_phone.cgi: domain names in netsapiens export
+         (domain name association w/svc_phone), RT#5864
 
-2009-11-23 23:42  ivan
+2010-03-07 10:07  jeff
 
-       * httemplate/: misc/timeworked.html, misc/process/timeworked.html,
-         search/timeworked.html: timeworked report: carry the date range
-         through to the success redirect
+       * FS/FS/tax_rate.pm: pass format and correct filenames
 
-2009-11-23 23:23  ivan
+2010-03-05 11:09  ivan
 
-       * httemplate/search/: report_timeworked.html: add date constratint
-         on time worked search
+       * FS/FS/part_export/grandstream.pm: random nits for grandstream
+         provisioning :UI, docs, java path, s/system/IPC::Run/ for better
+         error handling.  RT#7132
 
-2009-11-23 23:23  ivan
+2010-03-05 11:02  ivan
 
-       * httemplate/search/report_timeworked.html: file
-         report_timeworked.html was added on branch FREESIDE_1_9_BRANCH on
-         2009-11-24 07:23:47 +0000
+       * httemplate/edit/part_device.html,
+         FS/FS/part_export/grandstream.pm: random nits for grandstream
+         provisioning :UI, docs, java path, s/system/IPC::Run/ for better
+         error handling.  RT#7132
 
-2009-11-23 22:04  ivan
+2010-03-05 10:25  ivan
 
-       * FS/FS/cust_main.pm: send card number with void transactions for
-         B:OP:IPPay, RT#5690
+       * httemplate/docs/ssh.html: moved to wiki
 
-2009-11-23 17:11  mark
+2010-03-05 10:24  ivan
 
-       * FS/FS/Schema.pm, httemplate/browse/cust_attachment.html,
-         httemplate/edit/cust_main_attach.cgi,
-         httemplate/edit/process/cust_main_attach.cgi,
-         httemplate/elements/menu.html,
-         httemplate/misc/cust_attachment.cgi,
-         httemplate/search/elements/search-html.html,
-         httemplate/view/cust_main/attachments.html: cust_attachment
-         improvement, RT#4964 and #6225
+       * FS/FS/part_export/: domain_shellcommands.pm,
+         forward_shellcommands.pm, phone_shellcommands.pm,
+         shellcommands.pm, shellcommands_withdomain.pm, textradius.pm,
+         vpopmail.pm, www_shellcommands.pm: point to wiki docs
 
-2009-11-20 09:39  jeff
+2010-03-05 10:10  ivan
 
-       * FS/FS/Conf.pm, FS/FS/Schema.pm, FS/FS/cust_bill.pm,
-         FS/FS/cust_bill_pkg.pm, FS/FS/cust_bill_pkg_detail.pm,
-         FS/FS/usage_class.pm, FS/FS/part_pkg/voip_cdr.pm,
-         conf/invoice_html, httemplate/browse/pkg_category.html,
-         httemplate/browse/usage_class.html,
-         httemplate/edit/pkg_category.html,
-         httemplate/edit/usage_class.html: invoice formatting: add
-         sections for usage, add sections per svc_phone, add folding like
-         line items into one #6592
+       * FS/FS/part_export/grandstream.pm,
+         httemplate/edit/part_device.html: random nits for grandstream
+         provisioning :UI, docs, java path, s/system/IPC::Run/ for better
+         error handling.  RT#7132
 
-2009-11-19 01:47  ivan
+2010-03-03 21:31  jeff
 
-       * FS/FS.pm, FS/FS/Record.pm, FS/FS/cdr.pm,
-         FS/bin/freeside-cdr-sftp_and_import, bin/cdr-transnexus.import,
-         bin/cdr.http_and_import, bin/cdr.import,
-         httemplate/elements/select-cdrbatch.html,
-         httemplate/elements/tr-select-cdrbatch.html,
-         httemplate/search/cdr.html, httemplate/search/report_cdr.html,
-         httemplate/view/svc_phone.cgi: proper cdr_batch table, RT#6386
+       * FS/FS/cust_bill.pm: always show the previous section when
+         previous_balance-summary_only is enabled
 
-2009-11-19 01:43  ivan
+2010-03-02 17:39  jeff
 
-       * FS/FS/: Mason.pm, Schema.pm, Upgrade.pm: proper cdr_batch table,
-         RT#6386
+       * FS/FS/tax_rate.pm, httemplate/misc/tax-import.cgi: tweak,
+         rearrange, and avoid the vacuum
 
-2009-11-19 01:39  ivan
+2010-03-02 17:00  jeff
 
-       * FS/MANIFEST: proper cdr_batch table, RT#6386
+       * httemplate/edit/cust_main/bottomfixup.js: clear geocode when we
+         DO have plus four
 
-2009-11-19 01:32  ivan
+2010-03-02 09:18  ivan
 
-       * FS/FS/cdr_batch.pm: file cdr_batch.pm was added on branch
-         FREESIDE_1_9_BRANCH on 2009-11-19 09:35:13 +0000
+       * httemplate/: search/elements/search-html.html,
+         misc/bulk_pkg_increment_bill.cgi, search/cust_pkg.cgi: UI: get
+         rid of undocumented extra_choices_callback in search.html: a
+         terrible place to put action links from a UI perspective, move
+         package links to html_init, now consitent with customer links,
+         change label on popup from "increment bill date" to "increment
+         next bill date", RT#7132
 
-2009-11-19 01:32  ivan
+2010-03-01 14:18  ivan
 
-       * FS/t/cdr_batch.t: file cdr_batch.t was added on branch
-         FREESIDE_1_9_BRANCH on 2009-11-19 09:35:13 +0000
+       * httemplate/edit/elements/svc_Common.html: fixup editing w/manual
+         inventory, RT#7010
 
-2009-11-19 01:32  ivan
+2010-03-01 14:00  ivan
 
-       * FS/: FS/cdr_batch.pm, t/cdr_batch.t: proper cdr_batch table,
-         RT#6386
+       * httemplate/elements/select-table.html: fix up editing services
+         w/manual select from inventory, RT#7010
 
-2009-11-18 23:06  ivan
+2010-03-01 13:56  ivan
 
-       * FS/FS/cdr.pm: format CDRs durations as NNm MMs instead of NN.MMm,
-         RT#6316
+       * FS/FS/svc_Common.pm: fix up editing services w/manual select from
+         inventory, RT#7010
 
-2009-11-18 22:21  ivan
+2010-03-01 13:36  ivan
 
-       * FS/FS/Cron/breakage.pm: consider credits and refunds in breakage,
-         RT#6407
+       * httemplate/edit/elements/edit.html: fix up editing services
+         w/manual select from inventory, RT#7010
 
-2009-11-18 01:39  mark
+2010-03-01 13:05  ivan
 
-       * FS/FS/Conf.pm, FS/FS/pay_batch/RBC.pm,
-         httemplate/search/cust_pay_batch.cgi: RT#4786, RBC batch format
+       * httemplate/search/inventory_item.html: fix inventory item links
+         to non-svc_acct services, RT#7010
 
-2009-11-18 01:27  mark
+2010-03-01 11:38  ivan
 
-       * FS/FS/pay_batch/RBC.pm: RT#4768, RBC batch format
+       * FS/FS/svc_Common.pm: enable manual selection from inventory
+         dropdowns for svc_broadband, svc_external & svc_phone, RT#7010
 
-2009-11-18 01:27  mark
+2010-03-01 11:29  ivan
 
-       * FS/FS/pay_batch/RBC.pm: file RBC.pm was added on branch
-         FREESIDE_1_9_BRANCH on 2009-11-18 09:40:04 +0000
+       * httemplate/: edit/part_svc.cgi, edit/elements/edit.html,
+         edit/elements/svc_Common.html, elements/select-table.html: enable
+         manual selection from inventory dropdowns for svc_broadband,
+         svc_external & svc_phone, RT#7010
 
-2009-11-18 01:09  mark
+2010-03-01 11:10  jeff
 
-       * httemplate/: browse/cust_attachment.html,
-         misc/cust_attachment.cgi: cust_attachment improvement, RT#4964
-         and #6225
+       * Makefile: get along better with RTless installs
 
-2009-11-18 01:09  mark
+2010-02-26 19:15  ivan
 
-       * httemplate/misc/cust_attachment.cgi: file cust_attachment.cgi was
-         added on branch FREESIDE_1_9_BRANCH on 2009-11-24 01:11:22 +0000
+       * httemplate/edit/cust_refund.cgi: expiration date not meaningful
+         for non-CARD, RT#7419
 
-2009-11-18 01:09  mark
+2010-02-26 18:59  ivan
 
-       * httemplate/browse/cust_attachment.html: file cust_attachment.html
-         was added on branch FREESIDE_1_9_BRANCH on 2009-11-24 01:11:21
-         +0000
+       * FS/FS/cust_bill_ApplicationCommon.pm: fix rare "Illegal division
+         by zero" error applying things when using weights, RT#7491
 
-2009-11-17 14:06  ivan
+2010-02-24 15:32  mark
 
-       * FS/FS/cust_main.pm: do a case-insensive search on
-         browser-remembered results, so starting to use USPS verification
-         (which UPPERCASES everything) doesn't invalidate everything your
-         browser remembered in quick payment entry
+       * httemplate/: misc/bulk_pkg_increment_bill.cgi,
+         misc/process/bulk_pkg_increment_bill.cgi, search/cust_pkg.cgi:
+         RT#7132: bulk increment package bill dates
 
-2009-11-16 23:42  ivan
+2010-02-22 02:35  ivan
 
-       * httemplate/search/: report_cust_pay.html,
-         report_cust_refund.html, elements/cust_pay_or_refund.html: add
-         otaker to payment/refund search, RT#6407
+       * FS/FS/part_export/communigate_pro.pm: communigate: domain account
+         defaults, RT#7083
 
-2009-11-16 23:08  ivan
+2010-02-22 01:18  ivan
 
-       * httemplate/: elements/menu.html, search/report_cust_refund.html:
-         add refund report, RT#6407
+       * httemplate/edit/svc_domain.cgi: communigate: domain account
+         defaults, RT#7083
 
-2009-11-15 19:55  ivan
+2010-02-22 01:14  ivan
 
-       * FS/FS/cust_bill.pm, FS/FS/cust_main.pm,
-         httemplate/search/cust_bill.html,
-         httemplate/search/report_cust_bill.html: add ability to search on
-         ranges of charged, owed to adv. invoice report, RT#6407
+       * FS/FS/Schema.pm, FS/FS/svc_acct.pm, FS/FS/svc_domain.pm,
+         httemplate/edit/part_svc.cgi,
+         httemplate/edit/process/svc_domain.cgi,
+         httemplate/view/svc_domain.cgi, httemplate/view/elements/tr.html,
+         httemplate/view/svc_acct/basics.html,
+         httemplate/view/svc_domain/acct_defaults.html,
+         httemplate/view/svc_domain/basics.html,
+         httemplate/view/svc_domain/dns.html,
+         httemplate/edit/svc_acct.cgi: communigate: domain account
+         defaults, RT#7083
 
-2009-11-15 18:27  ivan
+2010-02-21 23:13  ivan
 
-       * FS/: FS/Conf.pm, FS/Cron/bill.pm, bin/freeside-daily: add
-         disable_cron_billing config, RT#6407
+       * FS/FS/svc_domain.pm, FS/FS/part_export/communigate_pro.pm,
+         httemplate/edit/svc_domain.cgi, httemplate/view/svc_domain.cgi:
+         communigate: domain aliases, enabled services & administrator
+         domain, RT#7083
 
-2009-11-13 16:08  ivan
+2010-02-21 19:22  ivan
 
-       * FS/FS/cust_main.pm, httemplate/elements/select-terms.html,
-         httemplate/search/cust_main.html,
-         httemplate/search/report_cust_main.html: add invoice terms to
-         advanced customer report.  dogfood.
+       * FS/FS/Schema.pm, FS/FS/part_export/communigate_pro.pm,
+         FS/FS/svc_acct.pm, FS/FS/svc_domain.pm,
+         httemplate/edit/svc_domain.cgi,
+         httemplate/edit/process/svc_domain.cgi,
+         httemplate/view/svc_domain.cgi,
+         httemplate/edit/process/svc_acct.cgi: communigate: domain
+         aliases, enabled services, RT#7083
 
-2009-11-12 08:56  jeff
+2010-02-21 14:54  ivan
 
-       * FS/FS/: tax_rate.pm, Schema.pm: correct bugs in tax replacement
-         routine and allow updates to function
+       * FS/FS/part_export/communigate_pro.pm, FS/FS/Conf.pm,
+         httemplate/edit/svc_forward.cgi, httemplate/view/svc_forward.cgi:
+         communigate forwarders, RT#7083
 
-2009-11-06 14:07  ivan
+2010-02-21 01:19  ivan
 
-       * FS/FS/cust_main.pm: use business-onlinepayment-description in
-         1.9, even without $pkgs
+       * FS/FS/Schema.pm, FS/FS/svc_acct.pm,
+         FS/FS/part_export/communigate_pro.pm,
+         httemplate/edit/svc_acct.cgi,
+         httemplate/view/svc_acct/basics.html: communigate, RT#7083
 
-2009-11-05 17:51  ivan
+2010-02-20 23:32  ivan
 
-       * FS/FS/: Conf.pm, cust_main_invoice.pm: add
-         emailinvoice-apostrophe config option to allow apostrophies in
-         invoice email addresses, RT#6464
+       * httemplate/view/svc_acct/basics.html: communigate, RT#7083
 
-2009-11-05 16:25  ivan
+2010-02-20 23:28  ivan
 
-       * FS/FS/cust_main.pm, httemplate/search/cust_main.html,
-         httemplate/search/report_cust_main.html: add "payment expiration
-         before" to customer report, RT#6447
+       * FS/FS/Schema.pm, FS/FS/svc_acct.pm,
+         FS/FS/part_export/communigate_pro.pm,
+         httemplate/edit/svc_acct.cgi,
+         httemplate/view/elements/svc_export_settings.html,
+         httemplate/view/svc_acct/tr.html: communigate, RT#7083
 
-2009-11-05 15:55  ivan
+2010-02-20 19:16  ivan
 
-       * FS/FS/ConfDefaults.pm: try not to make the "Customer Fields"
-         SELECT so huge
+       * FS/FS/part_svc.pm, FS/FS/svc_acct.pm,
+         FS/FS/part_export/communigate_pro.pm,
+         httemplate/edit/part_svc.cgi, httemplate/edit/svc_acct.cgi,
+         httemplate/edit/process/svc_acct.cgi,
+         httemplate/elements/communigate_pro-accessmodes.html,
+         httemplate/pref/pref-process.html, httemplate/pref/pref.html,
+         httemplate/view/elements/svc_export_settings.html,
+         httemplate/view/svc_acct/basics.html: communigate, RT#7083
 
-2009-11-05 14:01  ivan
+2010-02-20 14:34  ivan
 
-       * httemplate/search/svc_acct.cgi: improvements in time remaining
-         report: correctly account for unpaid time for non-monthly
-         customers, report in hours+minutes intead of using Time::Duration
-         days/hours
+       * FS/FS/Conf.pm: communigate pro provisioning, RT#7083
 
-2009-11-05 13:22  ivan
+2010-02-20 14:31  ivan
 
-       * FS/bin/: freeside-paymentech-download,
-         freeside-paymentech-upload: back to old host name, info from
-         customer/paymentech was bogus, RT#5650
+       * httemplate/view/elements/svc_export_settings.html,
+         httemplate/view/svc_acct/basics.html,
+         httemplate/view/svc_acct/change_svc.html,
+         httemplate/view/svc_acct/change_svc_form.html,
+         httemplate/view/svc_acct/hosting.html,
+         httemplate/view/svc_acct/radius_usage.html,
+         httemplate/view/svc_acct/usage.html, FS/FS/Record.pm,
+         FS/FS/Schema.pm, FS/FS/svc_acct.pm,
+         FS/FS/part_export/communigate_pro.pm,
+         httemplate/edit/svc_acct.cgi, httemplate/view/svc_acct.cgi,
+         httemplate/view/svc_domain.cgi: communigate pro provisioning,
+         RT#7083
 
-2009-11-05 11:40  ivan
+2010-02-17 19:48  mark
 
-       * FS/FS/pkg_category.pm: fix pkg_category upgrade on 1.9 too
+       * FS/bin/freeside-void-payments: Documentation cleanup
 
-2009-11-04 17:47  ivan
+2010-02-17 01:00  ivan
 
-       * FS/bin/: freeside-paymentech-download,
-         freeside-paymentech-upload: update paymentech live server,
-         RT#5650
+       * httemplate/edit/svc_Common.html: fix svc_pbx provisioniing
 
-2009-11-04 16:52  ivan
+2010-02-17 00:30  ivan
 
-       * FS/FS/pkg_category.pm: fix pkg_category upgrades
+       * FS/FS/part_export.pm, FS/FS/part_export/communigate_pro.pm,
+         FS/FS/Conf.pm, FS/FS/Schema.pm, FS/FS/svc_Common.pm,
+         FS/FS/svc_domain.pm, httemplate/edit/svc_domain.cgi,
+         httemplate/edit/process/svc_domain.cgi,
+         httemplate/view/svc_domain.cgi, FS/FS/cust_svc.pm: communigate
+         pro provisioning, RT#7083
 
-2009-11-03 17:40  ivan
+2010-02-16 10:36  ivan
 
-       * FS/bin/: freeside-paymentech-download,
-         freeside-paymentech-upload: add explicit use of Expect module, so
-         the error is thrown immediate, RT#5650
+       * FS/FS/Conf.pm,
+         fs_selfservice/FS-SelfService/cgi/make_ach_payment.html,
+         fs_selfservice/FS-SelfService/cgi/make_payment.html,
+         FS/FS/ClientAPI/MyAccount.pm: option to uncheck the save checkbox
+         in self-service by default, RT#6955
 
-2009-11-03 17:04  ivan
+2010-02-15 18:19  jeff
 
-       * FS/FS/Cron/breakage.pm, httemplate/config/config-process.cgi,
-         httemplate/config/config-view.cgi: reconcile breakage from stale
-         accounts, RT#6407
+       * FS/FS/tax_rate.pm, httemplate/misc/tax-import.cgi,
+         httemplate/misc/process/tax-import.cgi: refactor cch tax import
+         to remove tons of false laziness and improve flexibility; allow
+         reload from local files
 
-2009-11-03 16:59  ivan
+2010-02-15 08:34  jeff
 
-       * FS/FS/part_pkg.pm: silence "use of uninitialized value in split"
-         warning
+       * htetc/handler.pl: lexical instead of dynamic warnings
 
-2009-11-03 16:53  ivan
+2010-02-15 06:39  jeff
 
-       * FS/FS/cust_pkg.pm, httemplate/browse/part_pkg.cgi: fix customer
-         package search (fallout from customer classes) & add "not yet
-         billed" status to customer package report
+       * htetc/handler.pl: get rid of some very annoying and pointless
+         noise
 
-2009-11-03 12:44  ivan
+2010-02-14 18:09  ivan
 
-       * FS/FS/pay_batch.pm: fix warning replacing pay_batch, RT#5650
+       * FS/FS/Conf.pm, FS/FS/Misc.pm, debian/control: switch to
+         Email::Sender and add options for every kind of mail encryption &
+         authentication, RT#7285
 
-2009-11-03 11:56  ivan
+2010-02-12 18:53  ivan
 
-       * FS/bin/: freeside-paymentech-download,
-         freeside-paymentech-upload: check for zip and unzip commands, use
-         multi-arg version of system to prevent the shell getting its
-         hands on things (metacharacters in pw or whatnot), RT#5650
+       * FS/FS/svc_external.pm, httemplate/edit/svc_Common.html,
+         httemplate/edit/svc_external.cgi,
+         httemplate/edit/elements/svc_Common.html,
+         httemplate/edit/process/svc_external.html: svc_external.title
+         from inventory, RT#7010
 
-2009-11-03 11:11  ivan
+2010-02-12 18:16  ivan
 
-       * FS/bin/: freeside-paymentech-download,
-         freeside-paymentech-upload: update usage & manpage w/ freeside-
-         prefix
+       * httemplate/search/: inventory_item.html: fix inventory item
+         search w/customer classes
 
-2009-11-03 11:03  ivan
+2010-02-12 15:44  ivan
 
-       * FS/bin/: freeside-paymentech-download,
-         freeside-paymentech-upload: fix usage of File::Temp->newdir, not
-         in 0.18 File::Temp on perl 5.10.0, RT#5650
+       * FS/FS/ClientAPI/MyAccount.pm: don't return an error about
+         changing the cust_main record to the user as a payment processing
+         error, log a bunch of verbose stuff in this case so we can track
+         down wtf is going on, RT#6955
 
-2009-11-03 10:54  ivan
+2010-02-12 14:42  ivan
 
-       * FS/bin/freeside-paymentech-download: file
-         freeside-paymentech-download was added on branch
-         FREESIDE_1_9_BRANCH on 2009-11-03 18:54:19 +0000
+       * httemplate/search/: svc_acct.cgi, elements/search-html.html:
+         totals time used on svc_acct report
 
-2009-11-03 10:54  ivan
+2010-02-12 13:49  ivan
 
-       * FS/bin/freeside-paymentech-upload: file
-         freeside-paymentech-upload was added on branch
-         FREESIDE_1_9_BRANCH on 2009-11-03 18:54:19 +0000
+       * fs_selfservice/java/freeside_create_ticket_example.java: tyop,
+         RT#7007
 
-2009-11-03 10:53  ivan
+2010-02-12 11:28  ivan
 
-       * bin/paymentech-download, bin/paymentech-upload,
-         FS/bin/freeside-paymentech-download,
-         FS/bin/freeside-paymentech-upload: moving paymentech-* to FS/bin,
-         RT#5650
+       * FS/FS/ClientAPI/MyAccount.pm, FS/FS/TicketSystem/RT_Internal.pm,
+         fs_selfservice/java/freeside_create_ticket_example.java,
+         fs_selfservice/perl/xmlrpc-create_ticket.pl: add mime_type option
+         to self-service ticket create, RT#7007
 
-2009-11-02 19:13  ivan
+2010-02-12 11:14  ivan
 
-       * FS/FS/Cron/breakage.pm: file breakage.pm was added on branch
-         FREESIDE_1_9_BRANCH on 2009-11-03 03:13:47 +0000
+       * fs_selfservice/perl/xmlrpc-create_ticket.pl,
+         FS/FS/ClientAPI/MyAccount.pm,
+         fs_selfservice/java/freeside_create_ticket_example.java: add
+         queue option to self-service ticket create, RT#7007
 
-2009-11-02 19:13  ivan
+2010-02-11 19:26  ivan
 
-       * FS/FS/Conf.pm, FS/bin/freeside-daily,
-         httemplate/config/config-process.cgi,
-         httemplate/config/config-view.cgi, httemplate/config/config.cgi,
-         httemplate/elements/tr-select-part_pkg.html,
-         FS/FS/Cron/breakage.pm: (start of) reconcile breakage from stale
-         accounts, RT#6407
+       * FS/FS/part_export/thirdlane.pm: add omit_countrycode option,
+         RT#7379
 
-2009-11-02 17:48  ivan
+2010-02-11 17:35  ivan
 
-       * bin/paymentech-download: spelling
+       * FS/FS/ClientAPI/MyAccount.pm, FS/FS/TicketSystem/RT_External.pm,
+         FS/FS/TicketSystem/RT_Internal.pm,
+         fs_selfservice/FS-SelfService/SelfService.pm, FS/FS/Conf.pm,
+         fs_selfservice/java/freeside_create_ticket_example.java,
+         fs_selfservice/perl/xmlrpc-create_ticket.pl,
+         httemplate/view/cust_svc.cgi, rt/lib/RT/URI/freeside.pm: add
+         ticket creation to self-service API, RT#7007
 
-2009-11-02 17:44  ivan
+2010-02-11 15:14  jeff
 
-       * bin/paymentech-download: add -a option for archive dir
+       * FS/FS/part_export/grandstream.pm: fix quoting
 
-2009-11-02 17:21  ivan
+2010-02-09 18:12  mark
 
-       * FS/FS/Conf.pm: clarify description of batchconfig-paymentech
-         based on notes from #5650
+       * FS/FS/: pay_batch.pm, pay_batch/RBC.pm: RT#7274: accept CR/LF in
+         RBC batch import
 
-2009-11-02 13:21  ivan
+2010-02-09 13:49  ivan
 
-       * httemplate/edit/payment_gateway.html: add Elavon, SagePay,
-         WorldPay, fix extra space on PlugnPay, PPIPayMover, Protx
+       * rt/lib/: RT.pm, RT.pm.in: add NoSignalHandlers option to
+         RT::Init() so we can pull things up the way we want under
+         self-service, RT#7007
 
-2009-11-01 15:03  jeff
+2010-02-09 11:56  ivan
 
-       * httemplate/search/: 477.html, elements/search-csv.html: form 477
-         improvements #6499
+       * httemplate/edit/process/discount.html: doh, fix for discounts
+         winding up with both amount and percent, RT#6679
 
-2009-10-31 14:22  jeff
+2010-02-08 19:37  ivan
 
-       * FS/FS/cust_bill.pm: unbork summary page invoices
+       * rt/lib/RT/Config.pm: fix RT wackiness when loaded concurrently
+         with Fcntl
 
-2009-10-30 16:29  ivan
+2010-02-08 11:01  ivan
 
-       * httemplate/elements/select-part_event.html: file
-         select-part_event.html was added on branch FREESIDE_1_9_BRANCH on
-         2009-10-30 23:30:13 +0000
+       * FS/: FS.pm, FS/h_svc_pbx.pm, t/h_svc_pbx.t, MANIFEST:
+         h_svc_pbx.pm, RT#7322
 
-2009-10-30 16:29  ivan
+2010-02-08 07:37  jeff
 
-       * httemplate/elements/tr-select-part_event.html: file
-         tr-select-part_event.html was added on branch FREESIDE_1_9_BRANCH
-         on 2009-10-30 23:30:12 +0000
+       * FS/FS/Mason.pm, FS/FS/Schema.pm, FS/FS/export_device.pm,
+         FS/FS/part_device.pm, FS/FS/part_export.pm,
+         FS/FS/phone_device.pm, FS/FS/part_export/grandstream.pm,
+         FS/FS/part_export/netsapiens.pm, FS/t/export_device.t, Makefile,
+         FS/MANIFEST, httemplate/edit/part_device.html,
+         httemplate/edit/process/part_device.html,
+         httemplate/elements/checkboxes-table.html,
+         httemplate/misc/phone_device_config.html,
+         httemplate/view/svc_phone.cgi: grandstream device configuration
+         support #4220
 
-2009-10-30 16:29  ivan
+2010-02-05 18:57  ivan
 
-       * httemplate/elements/select-part_event.html,
-         httemplate/elements/tr-select-part_event.html,
-         FS/FS/cust_event.pm, FS/FS/cust_main_Mixin.pm,
-         httemplate/elements/select-payby.html,
-         httemplate/search/cust_event.html,
-         httemplate/search/report_cust_event.html: more reporting options
-         for failed billing events, RT#6447
+       * FS/FS/: cust_pkg_discount.pm, part_pkg/flat.pm: discount
+         reporting, RT#6679
 
-2009-10-30 11:55  ivan
+2010-02-05 18:54  ivan
 
-       * FS/FS/: pay_batch.pm, pay_batch/paymentech.pm: backporting recent
-         paymentech changes to _1_9_BRANCH
+       * FS/FS/Schema.pm, FS/FS/Mason.pm, FS/FS/cust_bill_pkg.pm,
+         FS/FS/cust_bill_pkg_discount.pm, FS/FS/cust_main.pm,
+         FS/FS/cust_pkg.pm, FS/FS.pm, FS/MANIFEST,
+         FS/FS/Report/Table/Monthly.pm, FS/t/cust_bill_pkg_discount.t,
+         httemplate/elements/menu.html,
+         httemplate/misc/delete-cust_pkg_discount.html,
+         httemplate/search/cust_bill_pkg_discount.html,
+         httemplate/search/cust_pkg_discount.html,
+         httemplate/search/report_cust_bill_pkg_discount.html,
+         httemplate/search/report_cust_pkg_discount.html: discount
+         reporting, RT#6679
 
-2009-10-30 11:51  ivan
+2010-02-04 19:02  ivan
 
-       * bin/: paymentech-download, paymentech-upload: adding paymentech-*
-         on _1_9_BRANCH
+       * httemplate/edit/process/cust_pkg_discount.html: discounts,
+         RT#6679
 
-2009-10-30 11:37  ivan
+2010-02-04 18:39  ivan
 
-       * FS/FS/: Conf.pm: add paymentech to batch config options
+       * httemplate/view/cust_main/order_pkg_link.html, FS/FS/cust_pkg.pm,
+         FS/FS/cust_pkg_discount.pm, FS/FS/discount.pm,
+         FS/FS/part_pkg/flat.pm, httemplate/edit/cust_pkg_discount.html,
+         httemplate/edit/discount.html,
+         httemplate/edit/process/discount.html,
+         httemplate/edit/process/quick-cust_pkg.cgi,
+         httemplate/elements/tr-select-discount.html,
+         httemplate/misc/order_pkg.html,
+         httemplate/view/cust_main/packages/status.html: discounts,
+         RT#6679
 
-2009-10-29 17:02  ivan
-
-       * httemplate/: browse/cust_main_county.cgi,
-         edit/bulk-cust_main_county.html,
-         edit/process/bulk-cust_main_county.html: bulk tax changes,
-         RT#6445
+2010-02-04 12:39  ivan
 
-2009-10-29 16:42  mark
+       * FS/FS/discount.pm, httemplate/edit/discount.html,
+         httemplate/elements/select-discount.html,
+         httemplate/elements/select-table.html,
+         httemplate/elements/tr-input-text.html,
+         httemplate/elements/tr-select-discount.html,
+         httemplate/elements/tr-select.html: discounts, RT#6679
 
-       * bin/paymentech-upload: add option to upload all open batches
+2010-02-04 02:00  ivan
 
-2009-10-29 16:42  ivan
+       * httemplate/edit/cust_main/top_misc.html, FS/FS/AccessRight.pm,
+         httemplate/elements/search-cust_main.html: add ability to edit
+         referring customer, RT#7174
 
-       * bin/paymentech-upload: file paymentech-upload was added on branch
-         FREESIDE_1_9_BRANCH on 2009-10-30 18:51:05 +0000
+2010-02-03 22:53  ivan
 
-2009-10-29 16:37  ivan
+       * httemplate/: elements/phonenumber.html, pref/pref-process.html,
+         pref/pref.html: snom autodial integration
 
-       * httemplate/edit/bulk-cust_main_county.html: friendlier error
-         message when you select nothing, RT#6445
+2010-02-03 20:48  ivan
 
-2009-10-29 16:36  ivan
+       * FS/FS/part_event/Condition/every.pm: fix SQL error with date
+         field when using this condition, RT#7218
 
-       * httemplate/elements/errorpage-popup.html: adding errorpage popup,
-         RT#6445
+2010-02-03 11:27  ivan
 
-2009-10-29 15:55  ivan
+       * FS/FS/cust_main.pm: better error msg for profiling
 
-       * FS/bin/freeside-queued: have freeside-queued be more resillient
-         in the face of a database that's gone away, RT#6428
+2010-02-02 18:16  ivan
 
-2009-10-29 15:18  mark
+       * FS/FS/svc_acct.pm: fix time limits getting double added if the
+         service is provisioned before first billing
 
-       * httemplate/edit/payment_gateway.html: add Jety to the list
+2010-01-30 23:04  ivan
 
-2009-10-28 12:04  ivan
+       * FS/FS/discount.pm: discounts, RT#6679
 
-       * FS/FS/: svc_Common.pm, svc_acct.pm, svc_domain.pm,
-         svc_forward.pm, svc_www.pm: fix problems using inventory for UID
-         (and other fields controlled by check in svc_acct and also
-         svc_www, svc_domain and svc_forward), RT#6366
+2010-01-30 19:00  ivan
 
-2009-10-28 11:16  ivan
+       * httemplate/browse/part_pkg_taxclass.html: fix header on report
 
-       * FS/FS/part_svc.pm: fix removing a flag from a service definition
-         column
+2010-01-30 18:57  ivan
 
-2009-10-28 10:26  ivan
+       * FS/FS/: part_pkg/agent.pm, part_pkg/bulk.pm,
+         cust_pkg_discount.pm, part_pkg/flat.pm,
+         part_pkg/flat_comission.pm, part_pkg/flat_comission_cust.pm,
+         part_pkg/flat_comission_pkg.pm, part_pkg/prorate.pm,
+         part_pkg/recur_Common.pm, part_pkg/rt_time.pm,
+         part_pkg/sesmon_hour.pm, part_pkg/sesmon_minute.pm,
+         part_pkg/sql_external.pm, part_pkg/sql_generic.pm,
+         part_pkg/sqlradacct_hour.pm, part_pkg/subscription.pm,
+         part_pkg/voip_sqlradacct.pm: discounts, RT#6679
 
-       * httemplate/misc/inventory_item-import.html: fix inventory upload,
-         RT#6366
+2010-01-30 15:00  ivan
 
-2009-10-27 23:13  ivan
+       * httemplate/: view/cust_main/packages/package.html,
+         edit/cust_pkg_discount.html, edit/process/cust_pkg_discount.html,
+         misc/delete-cust_pkg_discount.html,
+         view/cust_main/packages/status.html: discounts, RT#6679
 
-       * FS/FS/cust_pkg.pm, httemplate/misc/bulk_change_pkg.cgi,
-         httemplate/search/cust_pkg.cgi,
-         httemplate/search/report_cust_pkg.html,
-         httemplate/view/cust_main/packages.html: customer link to package
-         reports for that customer, RT#6180
+2010-01-30 12:05  ivan
 
-2009-10-27 11:11  ivan
+       * httemplate/: misc/cust-part_pkg.cgi, misc/order_pkg.html,
+         view/cust_main/packages.html, elements/select-part_pkg.html,
+         elements/select-table.html,
+         elements/tr-select-cust-part_pkg.html,
+         view/cust_main/order_pkg_link.html: discounts, RT#6679
 
-       * FS/FS/Conf.pm, FS/FS/cust_main.pm,
-         httemplate/elements/header.html: address1 search, RT#5060
+2010-01-30 00:55  ivan
 
-2009-10-26 16:20  ivan
+       * FS/FS/cust_pkg.pm, FS/FS/cust_pkg_discount.pm,
+         httemplate/edit/process/quick-cust_pkg.cgi,
+         httemplate/elements/select-discount.html,
+         httemplate/elements/tr-select-discount.html,
+         httemplate/misc/order_pkg.html,
+         httemplate/view/cust_main/packages/status.html,
+         httemplate/view/cust_main/packages/package.html: discounts,
+         RT#6679
 
-       * httemplate/elements/tr-select-pkg_class.html: didn't want to
-         revert that, though
+2010-01-29 23:55  ivan
 
-2009-10-26 16:17  ivan
+       * FS/FS/part_pkg/rt_time.pm: giving it a weight avoids weight use
+         of uninitialized value in sort messages in part_pkg.pm
 
-       * httemplate/elements/tr-select-pkg_class.html: better fix for
-         ignoring disabled package classes that doesn't search them twice
+2010-01-29 23:38  ivan
 
-2009-10-26 14:55  ivan
+       * FS/FS.pm, FS/MANIFEST, FS/FS/AccessRight.pm, FS/FS/Mason.pm,
+         FS/FS/Schema.pm, FS/FS/cust_pkg_discount.pm, FS/FS/discount.pm,
+         FS/FS/part_pkg.pm, FS/FS/part_pkg/flat.pm,
+         FS/t/cust_pkg_discount.t, FS/t/discount.t,
+         httemplate/browse/discount.html, httemplate/edit/discount.html,
+         httemplate/edit/elements/edit.html,
+         httemplate/edit/process/discount.html,
+         httemplate/elements/menu.html,
+         httemplate/elements/tr-input-text.html: discounts, RT#6679
 
-       * FS/FS/cust_bill_pkg.pm: turn off debugging
+2010-01-29 12:21  ivan
 
-2009-10-25 18:11  ivan
+       * FS/FS/Conf.pm: add Cleartext-Password to radius-password export
+         options, RT#7150
 
-       * FS/FS/part_pkg/flat.pm: eliminiate noisy but harmless "Use of
-         uninitialized value in numeric gt (>)" warning
+2010-01-29 11:52  ivan
 
-2009-10-25 16:30  ivan
+       * FS/FS/part_export/thirdlane.pm: ssl option
 
-       * FS/FS/: cust_main.pm, ClientAPI/MyAccount.pm: add apply option to
-         realtime_collect, RT#5071
+2010-01-26 21:27  ivan
 
-2009-10-24 16:37  ivan
+       * FS/FS/part_export/thirdlane.pm: URI escape pw, RT#7051
 
-       * bin/paymentech-download: file paymentech-download was added on
-         branch FREESIDE_1_9_BRANCH on 2009-10-30 18:51:05 +0000
+2010-01-26 21:21  ivan
 
-2009-10-24 16:37  mark
+       * FS/FS/part_export/thirdlane.pm: add port option, RT#7051
 
-       * bin/: paymentech-download, paymentech-upload: Scripts for
-         paymentech batch transfer
+2010-01-26 02:40  ivan
 
-2009-10-23 19:04  ivan
+       * FS/FS/svc_pbx.pm: deleting an svc_pbx unlinks svc_phones and
+         deletes svc_accts, RT#7051
 
-       * FS/FS/ClientAPI/MyAccount.pm,
-         fs_selfservice/FS-SelfService/cgi/decline.html,
-         fs_selfservice/FS-SelfService/cgi/login.html,
-         fs_selfservice/FS-SelfService/cgi/selfservice.cgi,
-         fs_selfservice/FS-SelfService/cgi/signup.cgi,
-         fs_selfservice/FS-SelfService/cgi/signup.html,
-         fs_selfservice/FS-SelfService/cgi/success.html: remove an
-         inadvertant debugging call left in, allow an agentnum to be
-         specfied for non-logged in situations, RT#6166
+2010-01-26 02:34  ivan
 
-2009-10-23 17:34  ivan
+       * FS/FS/part_export/thirdlane.pm: admin operations from svc_acct
+         records
 
-       * FS/: FS/Conf.pm, FS/ClientAPI/MyAccount.pm,
-         FS/ClientAPI/Signup.pm, bin/freeside-selfservice-server:
-         selfservice per-agent skinning
+2010-01-26 02:05  ivan
 
-2009-10-23 17:16  ivan
+       * FS/FS/svc_acct.pm, httemplate/edit/process/svc_acct.cgi: more
+         fallout from default pw encryption: fix error reporting when
+         entering a bad password
 
-       * FS/FS/agent.pm: eliminate warnings from Business::CreditCard
-         about being passed an empty number
+2010-01-26 00:35  ivan
 
-2009-10-23 17:04  ivan
+       * FS/FS/: svc_pbx.pm, part_export/thirdlane.pm: svc_pbx.title
+         uniqueness (kludgy) and force to alphanumeric+space and 19 char
+         max when using thirdlane (conservative guess for 1st pass
+         implementation), RT#7051
 
-       * FS/FS/Record.pm: fix cause of harmless 'Premature end of base64
-         data' warning
+2010-01-26 00:18  ivan
 
-2009-10-22 18:41  ivan
+       * FS/FS/svc_pbx.pm: label isn't thirdlane-specific, RT#7051
 
-       * FS/FS/: Conf.pm, cust_pkg.pm: add cust_bill-consolidate_services
-         config to collapse multiple phone numbers (or whatever) into as
-         few lines as possible on invoices, RT#5223
+2010-01-25 23:15  ivan
 
-2009-10-22 15:11  ivan
+       * FS/FS/part_export/thirdlane.pm: figured out success/failure
+         reporting, and wrote DID creation/deletion/assign/unassign,
+         RT#7051
 
-       * FS/FS/cust_bill.pm: fix invoice sub-totals, RT#6489
+2010-01-25 22:15  ivan
 
-2009-10-22 01:08  ivan
+       * FS/FS/part_export/thirdlane.pm: initial thirdlane export w/tenant
+         insert/delete/replace, RT#7051
 
-       * httemplate/search/svc_phone.cgi: should at least run under pg 8.3
-         now, need to test & see if the data make sense, RT#5496
+2010-01-25 22:14  ivan
 
-2009-10-21 22:32  ivan
+       * FS/FS/svc_pbx.pm: fix label method and doc work
 
-       * FS/FS/cust_bill_pkg_display.pm: fix incompatibility
-         w/invoice_sections vs. cust_bill_pkg.pkgnum -1 "virtual line
-         item" (rare)
+2010-01-25 22:14  ivan
 
-2009-10-21 17:28  ivan
+       * FS/FS/svc_Common.pm: remove debugging
 
-       * FS/FS/Schema.pm, bin/cdr-netsapiens.import: fix netsapiens CDR
-         import, RT#5226
+2010-01-25 20:47  jayce
 
-2009-10-21 00:09  ivan
+       * FS/FS/: part_pkg/rt_time.pm, TicketSystem/RT_External.pm: First
+         version of RT Billing pkg.  Basic concept is if a customer has
+         this package, then any time added to ticket comments in RT will
+         be added up and multiplied by the base rate, with each entry
+         showing up as a lineitem on their next invoice.
 
-       * FS/FS/Schema.pm: MySQL doesn't like indexing a text field
+         This has not been used in production yet by anybody, it was just
+         a proposal done for a customer.   Modified Files:
+         TicketSystem/RT_External.pm   Added Files:
+         part_pkg/rt_time.pm
 
-2009-10-20 23:34  ivan
+2010-01-25 14:14  ivan
 
-       * httemplate/search/prepay_credit.html: fix agent link in unused
-         prepaid card report
+       * httemplate/elements/select-svc_pbx.html,
+         httemplate/elements/tr-select-svc_pbx.html, FS/FS/Schema.pm,
+         FS/FS/svc_Common.pm, FS/FS/svc_acct.pm, FS/FS/svc_pbx.pm,
+         FS/FS/svc_phone.pm, httemplate/edit/part_svc.cgi,
+         httemplate/edit/svc_acct.cgi, httemplate/edit/svc_phone.cgi,
+         httemplate/edit/elements/edit.html,
+         httemplate/edit/elements/svc_Common.html,
+         httemplate/view/svc_acct.cgi, httemplate/view/svc_phone.cgi:
+         linking DIDs and users to PBXes, RT#7051
 
-2009-10-20 16:24  ivan
+2010-01-25 09:41  ivan
 
-       * FS/FS/cust_bill_pay_pkg.pm: should fix problems sending a receipt
-         against a specific package when taxes are in use
+       * httemplate/edit/part_svc.cgi, FS/MANIFEST, FS/FS/Mason.pm,
+         FS/FS/Schema.pm: initial svc_pbx implementation, RT#7051
 
-2009-10-20 13:47  ivan
+2010-01-25 09:35  ivan
 
-       * bin/cdr-netsapiens.import: basic import working, still need
-         better src/dst mapping, RT#5226
+       * FS/: FS/svc_pbx.pm, t/svc_pbx.t: initial svc_pbx implementation,
+         RT#7051
 
-2009-10-20 13:43  ivan
+2010-01-24 16:31  ivan
 
-       * FS/FS/part_export/netsapiens.pm: better debug line showing full
-         URL, RT#5226
+       * FS/FS/svc_acct.pm: fix password length checks from applyhing to
+         already-crypted legacy passwords, RT#7139
 
-2009-10-20 11:30  ivan
+2010-01-24 14:38  ivan
 
-       * fs_selfservice/FS-SelfService/cgi/change_pay.html: don't show
-         duplicate 'Credit card' or 'Check' choices even when
-         signup_server-payby has CARD & DCRD (or CHEK & DCHK)
+       * httemplate/elements/: overlibmws.js, overlibmws_crossframe.js,
+         overlibmws_draggable.js, overlibmws_iframe.js: update overlib to
+         upstream v281 (jan 20, 2010)
 
-2009-10-16 15:39  ivan
+2010-01-24 12:37  ivan
 
-       * FS/FS/cust_bill_pkg.pm: make warning about expensive lookup a
-         carp & controlled by $DEBUG
+       * FS/FS/UI/Web.pm: right-align customer # in reports
 
-2009-10-12 07:11  ivan
+2010-01-24 11:53  ivan
 
-       * bin/cdr-netsapiens.import: finish netsapiens import, RT#6365
+       * httemplate/search/cust_bill.html: fix alignment of customer data
 
-2009-10-12 06:09  ivan
+2010-01-24 11:52  ivan
 
-       * FS/FS/part_export/shellcommands.pm: terrible typo
+       * httemplate/search/cust_bill_pay.html: separate out the invoice
+         and payment info into multiple columns, and fix application date
+         showing as payment date
 
-2009-10-12 05:50  ivan
+2010-01-21 00:54  ivan
 
-       * FS/FS/part_export/shellcommands.pm: add customer information to
-         shellcommands export, RT#5351
+       * FS/FS/Conf.pm: correct description for selfservice-body_footer
 
-2009-10-12 02:10  ivan
+2010-01-21 00:38  ivan
 
-       * fs_selfservice/FS-SelfService/cgi/: signup.cgi, signup.html: use
-         modules in signup.cgi instead of in the template, fixes "Insecure
-         dependency in rquire"
+       * fs_selfservice/FS-SelfService/cgi/selfservice.cgi: more
+         self-service skinning config options, and start taking a stab at
+         reorganizing config sections, RT#6893
 
-2009-10-11 23:48  ivan
+2010-01-21 00:34  ivan
 
-       * FS/FS/ClientAPI/MyAccount.pm,
+       * fs_selfservice/FS-SelfService/cgi/ach_payment_results.html,
+         fs_selfservice/FS-SelfService/cgi/change_bill.html,
+         fs_selfservice/FS-SelfService/cgi/change_password.html,
+         fs_selfservice/FS-SelfService/cgi/change_pay.html,
+         fs_selfservice/FS-SelfService/cgi/change_ship.html,
+         fs_selfservice/FS-SelfService/cgi/customer_change_pkg.html,
+         fs_selfservice/FS-SelfService/cgi/customer_order_pkg.html,
+         fs_selfservice/FS-SelfService/cgi/delete_svc.html,
+         fs_selfservice/FS-SelfService/cgi/header.html,
+         fs_selfservice/FS-SelfService/cgi/make_ach_payment.html,
+         fs_selfservice/FS-SelfService/cgi/make_payment.html,
+         fs_selfservice/FS-SelfService/cgi/make_thirdparty_payment.html,
          fs_selfservice/FS-SelfService/cgi/myaccount.html,
-         fs_selfservice/FS-SelfService/cgi/myaccount_menu.html: fix
-         inadvertant "unknown package" error, fallout from pkg-balance
-         work, RT#6125
+         fs_selfservice/FS-SelfService/cgi/myaccount_menu.html,
+         fs_selfservice/FS-SelfService/cgi/order_pkg.html,
+         fs_selfservice/FS-SelfService/cgi/payment_results.html,
+         fs_selfservice/FS-SelfService/cgi/process_change_bill.html,
+         fs_selfservice/FS-SelfService/cgi/process_change_password.html,
+         fs_selfservice/FS-SelfService/cgi/process_change_pay.html,
+         fs_selfservice/FS-SelfService/cgi/process_change_pkg.html,
+         fs_selfservice/FS-SelfService/cgi/process_change_ship.html,
+         fs_selfservice/FS-SelfService/cgi/process_order_pkg.html,
+         fs_selfservice/FS-SelfService/cgi/process_order_recharge.html,
+         fs_selfservice/FS-SelfService/cgi/process_svc_acct.html,
+         fs_selfservice/FS-SelfService/cgi/process_svc_external.html,
+         fs_selfservice/FS-SelfService/cgi/provision.html,
+         fs_selfservice/FS-SelfService/cgi/provision_svc_acct.html,
+         fs_selfservice/FS-SelfService/cgi/recharge_prepay.html,
+         fs_selfservice/FS-SelfService/cgi/recharge_results.html,
+         fs_selfservice/FS-SelfService/cgi/view_cdr_details.html,
+         fs_selfservice/FS-SelfService/cgi/view_invoice.html,
+         fs_selfservice/FS-SelfService/cgi/view_usage.html,
+         fs_selfservice/FS-SelfService/cgi/view_usage_details.html,
+         fs_selfservice/FS-SelfService/cgi/image.cgi,
+         FS/FS/ClientAPI/MyAccount.pm, httemplate/config/config-view.cgi,
+         FS/FS/Conf.pm: more self-service skinning config options, and
+         start taking a stab at reorganizing config sections, RT#6893
 
-2009-10-11 23:43  ivan
+2010-01-20 17:25  ivan
 
-       * FS/FS/part_event/Action/: cust_bill_fee_percent.pm, fee.pm: fix
-         for no finance_pkgclass set
+       * FS/: FS/ClientAPI.pm, FS/Mason.pm,
+         bin/freeside-selfservice-server: fix self-service fallout from RT
+         3.8, RT#6640
 
-2009-10-10 19:41  ivan
+2010-01-19 15:11  jeff
 
-       * ChangeLog, debian/changelog: Updated for 1.9.1
+       * FS/FS/part_export/prizm.pm: SM in new window
 
-2009-10-10 18:57  ivan
+2010-01-19 09:48  jeff
 
-       * ChangeLog, rpm/freeside.spec, debian/changelog: Updated for 1.9.1
+       * FS/FS/cust_main.pm: eliminate harmless uninitialized value noise
 
-2009-10-10 18:50  ivan
+2010-01-18 20:54  ivan
 
-       * Makefile, bin/cvs2cl: helps to have the tool
+       * FS/FS/pay_batch/paymentech.pm: patch from Peter Loeppky to make
+         sure some xml fields don't get larger than what paymentech wants
 
-2009-10-10 18:48  ivan
+2010-01-18 19:24  mark
 
-       * Makefile: do it
+       * httemplate/search/elements/search-csv.html: Fix mime type for CSV
+         files, RT#1526
 
-2009-10-10 18:48  ivan
+2010-01-18 18:09  jeff
 
-       * rt/lib/RT.pm: huh #2
+       * FS/FS/part_export/domreg_opensrs.pm: don't really need debugging
+         on
 
-2009-10-10 18:46  ivan
+2010-01-18 18:03  jeff
 
-       * rt/Makefile: huh
+       * FS/FS/: cust_bill_ApplicationCommon.pm,
+         part_export/domreg_opensrs.pm: debugged and tested opensrs export
 
-2009-10-10 18:45  ivan
+2010-01-18 16:13  ivan
 
-       * httemplate/search/elements/search-html.html: don't try to follow
-         a blank redirect
+       * httemplate/search/cust_bill_pkg.cgi: fix color/style after
+         removal of billpkgnum display
 
-2009-10-10 18:45  ivan
+2010-01-16 22:40  ivan
 
-       * httemplate/search/report_cdr.html: end form
+       * FS/FS/ClientAPI/MasonComponent.pm: fix for
+         selfservice_server-base_url without a trailing /
 
-2009-10-10 18:45  ivan
+2010-01-16 19:31  ivan
 
-       * httemplate/elements/tr-textarea.html: new rows and cols options
+       * FS/FS/cust_main.pm: return an error for 0 amount payments to
+         avoid a $0 payment getting stuck in declined or captured status,
+         RT#6993
 
-2009-10-10 18:44  ivan
+2010-01-16 18:34  ivan
 
-       * httemplate/elements/tr-select-pkg_class.html: respect
-         element_name
+       * FS/FS/svc_phone.pm: strip non-digits and 1- when searching for
+         phone numbers, RT#7000
 
-2009-10-10 18:43  ivan
+2010-01-16 18:22  ivan
 
-       * httemplate/browse/agent.cgi: cleanup
+       * FS/FS/: svc_acct.pm: remove svcnum from searchable fields for
+         svc_acct... custnum and invnum are user-visible, other database
+         ids, not so much.  also, breaks phone number search w/current Pg,
+         RT#7000
 
-2009-10-10 18:42  ivan
+2010-01-16 17:20  ivan
 
-       * eg/cdr_template.pm, httemplate/elements/selectlayers.html: doc
+       * ChangeLog: preparing for 2.1.0
 
-2009-10-10 18:41  ivan
+2010-01-16 16:22  jeff
 
-       * FS/FS/part_export/globalpops_voip.pm: correct variable
-         initialization
+       * FS/FS/cust_pkg.pm: work around bug in pre-perl5.10 which is at
+         best noisy and at worst missorting
 
-2009-10-10 18:40  ivan
+2010-01-16 15:39  ivan
 
-       * FS/FS/: access_right.pm, access_usergroup.pm,
-         clientapi_session_field.pm, cust_svc_option.pm: remembered to
-         customize this manpage
+       * FS/FS/part_pkg/: cdr_termination.pm: add usage_mandate option to
+         termination price plan, RT#6932
 
-2009-10-10 18:39  ivan
+2010-01-16 15:06  ivan
 
-       * FS/FS/Record.pm: ::1 becomes 127.0.0.1 in IP checks
+       * httemplate/search/cust_svc.html: fix searching for unlinked
+         services?  RT#7059
 
-2009-10-09 20:22  ivan
+2010-01-14 19:59  ivan
 
-       * ChangeLog: commit message for a file about commitmessages
+       * httemplate/edit/process/part_pkg.cgi: remove extraneous debugging
 
-2009-10-09 16:59  ivan
+2010-01-12 19:14  ivan
 
-       * FS/FS/Schema.pm, FS/FS/cust_main.pm,
-         httemplate/edit/cust_main/billing.html,
-         httemplate/elements/select-terms.html, FS/FS/cust_bill.pm,
-         httemplate/edit/quick-charge.html,
-         httemplate/edit/process/quick-charge.cgi: change invoice terms
-         for one-time charges (& bill them immediately), RT#5891
+       * FS/FS/tax_rate.pm: if ignore_icalculable_taxes is on, don't call
+         the errors fatal
 
-2009-10-09 14:37  ivan
+2010-01-12 09:08  jeff
 
-       * FS/FS/cust_main.pm: add cust_pkg_ref option to charge
+       * FS/FS/part_export/prizm.pm: add some debugging
 
-2009-10-08 01:28  ivan
+2010-01-12 08:40  jeff
 
-       * httemplate/view/cust_main/packages.html: fix "show old packages"
-         accidentally hiding cancelled packages, RT#5276
+       * FS/FS/part_export/prizm.pm: eliminate harmless argument isn't
+         numeric messages
 
-2009-10-07 23:00  ivan
+2010-01-09 15:41  ivan
 
-       * FS/FS/: cust_main.pm, Cron/bill.pm: freeside-daily -g and -m
-         cooperation (and no HASH() queue noise with -m)
+       * rt/etc/RT_SiteConfig.pm: QuickCreateLong obsolete with the better
+         quick create in 3.8
 
-2009-10-07 22:44  ivan
+2010-01-09 15:36  ivan
 
-       * FS/FS/: cust_bill.pm, cust_main.pm: avoid some (look to be
-         harmless) warnings:
+       * rt/: etc/RT_SiteConfig.pm, lib/RT/Config.pm, FREESIDE_MODIFIED,
+         etc/RT_Config.pm, etc/RT_Config.pm.in: add a "freeside2.1"
+         stylesheet to isolate our skinning changes
 
-         Argument "" isn't numeric in sprintf at
-         /usr/local/share/perl/5.10.0/FS/cust_bill.pm line 2358.
+2010-01-09 15:03  ivan
 
-         Argument "" isn't numeric in subtraction (-) at
-         /usr/local/share/perl/5.10.0/FS/cust_bill.pm line 2359.
+       * rt/html/NoAuth/images/small-logo.png: removing HTML files in old
+         location wrt RT 3.8
 
-         Argument "" isn't numeric in addition (+) at
-         /usr/local/share/perl/5.10.0/FS/cust_main.pm line 2788.
+2010-01-09 14:53  ivan
 
-2009-10-07 22:09  ivan
+       * rt/html/NoAuth/css/3.5-default/freeside.css: removing HTML files
+         in old location wrt RT 3.8
 
-       * FS/FS/cust_bill.pm: tyop
+2010-01-09 14:48  ivan
 
-2009-10-07 18:15  ivan
+       * Makefile, rt/FREESIDE_MODIFIED, rt/sbin/rt-setup-database.in:
+         fixup initial RT setup for 3.8
 
-       * FS/FS/Conf.pm, FS/FS/cust_bill.pm, conf/invoice_html,
-         conf/invoice_latex: conf switches to turn on smaller notes and
-         footer sections with stock templates, RT#5218
+2010-01-09 02:03  ivan
 
-2009-10-07 16:51  ivan
+       * FS/FS/Record.pm: need DBIx::DBSchema w/quoted_default to make
+         this all work right :/
 
-       * httemplate/view/cust_statement.html: naming follow-up notices
-         from the event rather than creting a slew of separate templates,
-         RT#5217
+2010-01-09 00:21  ivan
 
-2009-10-07 16:44  ivan
-
-       * FS/FS/cust_bill.pm, httemplate/misc/send-invoice.cgi,
-         httemplate/misc/send-statement.cgi,
-         httemplate/search/cust_event.html,
-         FS/FS/part_event/Action/cust_bill_send_reminder.pm,
-         conf/invoice_html, conf/invoice_latex, conf/invoice_template,
-         httemplate/view/cust_bill-pdf.cgi,
-         httemplate/view/cust_bill-ps.cgi, httemplate/view/cust_bill.cgi,
-         httemplate/view/cust_statement.html: naming follow-up notices
-         from the event rather than creting a slew of separate templates,
-         RT#5217
-
-2009-10-06 17:43  ivan
-
-       * FS/FS/Conf_compat17.pm: bring up-to-date wrt 1.7 Conf.pm
-         1.180.2.52 (2009-10-03), RT#2873
-
-2009-10-06 16:51  ivan
-
-       * FS/FS/cust_bill_pkg.pm: remove inadvertant debugging warnings
-
-2009-10-06 08:49  jeff
-
-       * httemplate/edit/router.cgi: replace disappearing line
-
-2009-10-05 16:36  ivan
-
-       * FS/FS/svc_acct.pm: remove annoying warning: Use of uninitialized
-         value $FS::svc_acct::passwordmin in pattern match (m//) at
-         /usr/local/share/perl/5.10.0/FS/svc_acct.pm line 60.
-
-2009-10-05 11:17  ivan
-
-       * httemplate/misc/payment.cgi: oops, handle old cust_main.pm
-         properly (should we be bothering?) :/ RT#5889
-
-2009-10-05 09:57  ivan
-
-       * httemplate/view/cust_main/payment_history/voided_payment.html:
-         doh, fix error viewing voided payments, RT#6382
-
-2009-10-05 08:07  jeff
-
-       * httemplate/elements/tr-select-pkg_class.html: remove unused
-         option that DTWT
-
-2009-10-05 07:04  jeff
-
-       * httemplate/edit/cust_main/: bottomfixup.js,
-         choose_tax_location.html, contact.html: low hanging fruit:
-         improvement in tax location selection RT#6000
-
-2009-10-05 07:01  jeff
-
-       * httemplate/edit/router.cgi: low hanging fruit: restore router
-         virtual fields (and svcnum) in 1.9 RT#5960
-
-2009-10-04 19:40  ivan
-
-       * httemplate/misc/payment.cgi: add manual_process-skip_first
-         option, RT#5889
-
-2009-10-04 19:35  ivan
-
-       * FS/FS/Conf.pm, FS/FS/cust_main.pm, httemplate/misc/payment.cgi:
-         add manual_process-skip_first option, RT#5889
-
-2009-10-04 19:16  ivan
-
-       * FS/FS/Conf.pm, httemplate/misc/payment.cgi,
-         httemplate/misc/process/payment.cgi: add manual_process-display
-         config to subtract fee from amount instead of adding, RT#5889
-
-2009-10-04 18:40  jeff
-
-       * conf/invoice_html: can't revert because windows is ghei
-
-2009-10-04 18:07  jeff
-
-       * FS/FS/cust_main.pm: don't consider setup or recurring taxes when
-         billing usage on cancel
-
-2009-10-04 18:00  jeff
-
-       * FS/FS/: cust_bill.pm, cust_main.pm, part_pkg/voip_cdr.pm:
-         invoices with details in separate section but usage not separated
-
-2009-10-04 17:49  jeff
-
-       * FS/FS/Conf.pm, FS/FS/Schema.pm, FS/FS/Upgrade.pm,
-         FS/FS/cust_bill.pm, conf/invoice_html, conf/invoice_htmlsummary,
-         conf/invoice_latex, conf/invoice_latexsummary,
-         FS/FS/cust_bill_pkg.pm, FS/FS/cust_bill_pkg_display.pm,
-         FS/FS/cust_main.pm, FS/FS/pkg_category.pm,
-         FS/FS/part_event/Action/cust_bill_fee_percent.pm,
-         FS/FS/part_event/Action/fee.pm,
-         httemplate/browse/pkg_category.html,
-         httemplate/edit/pkg_category.html: leading summary page invoices
-         #RT5086
-
-2009-10-04 16:36  ivan
-
-       * fs_selfservice/FS-SelfService/cgi/selfservice.cgi: fix the same
-         problem with processing payments & masked ACH amounts, RT#6374
-
-2009-10-04 16:31  ivan
-
-       * FS/FS/ClientAPI/MyAccount.pm: fix problems "re-saving" a masked
-         card.  hopefully the last of it!
-
-2009-10-03 19:09  ivan
-
-       * httemplate/misc/delete-cust_bill.html: delete invoices, RT#4048
-
-2009-10-03 19:04  ivan
-
-       * FS/FS/AccessRight.pm, FS/FS/Conf.pm, FS/FS/Setup.pm,
-         FS/FS/cust_bill.pm, FS/FS/cust_bill_pkg.pm,
-         FS/bin/freeside-addgroup, bin/mapsecrets2access_user,
-         httemplate/view/cust_bill.cgi,
-         httemplate/view/cust_main/payment_history.html,
-         httemplate/view/cust_main/payment_history/invoice.html: delete
-         invoices, RT#4048
-
-2009-10-03 17:08  ivan
-
-       * httemplate/view/cust_main.cgi: more room for cancellation reason
-
-2009-10-03 17:07  ivan
-
-       * httemplate/elements/popup_link-cust_main.html: doc
-
-2009-10-03 15:09  ivan
-
-       * httemplate/edit/part_bill_event.cgi: cancel to 80, comp @ 90,
-         RT#5674
-
-2009-10-03 15:06  ivan
-
-       * httemplate/edit/part_bill_event.cgi: in old invoice events,
-         chance default weight of cancel event to 90 so you can place it
-         at the same time as a realtime event, RT#5674
-
-2009-10-03 13:22  mark
-
-       * FS/FS/: pay_batch.pm, pay_batch/paymentech.pm: Load XML::Simple
-         at runtime to avoid breakage
-
-2009-10-01 16:48  ivan
-
-       * FS/FS/cust_main.pm: hopefully fully fix bulk email errors when
-         selecting a single payby
-
-2009-10-01 16:01  ivan
-
-       * FS/FS/Schema.pm: allow svc_acct._password to be NULL in the
-         schema
-
-2009-10-01 15:02  ivan
-
-       * httemplate/view/cust_main/payment_history/voided_payment.html:
-         consistency with un-voided payments wrt display
-
-2009-09-30 17:52  ivan
-
-       * fs_selfservice/FS-SelfService/cgi/selfservice.cgi: hopefully the
-         really final fix for the problems using remembered cards in
-         self-service. *sigh*
-
-2009-09-30 17:29  ivan
-
-       * FS/: FS/Conf.pm, FS/Cron/check.pm, bin/freeside-check: add login
-         check to FS::ClientAPI::SG/SGNG checks. RT#4610
-
-2009-09-30 12:33  ivan
-
-       * fs_selfservice/FS-SelfService/cgi/selfservice.cgi: hopefully the
-         final fix for the problems using remembered cards in self-service
+       * FS/bin/freeside-upgrade: undo damage from DBIx::DBSchema 0.37_03
 
-2009-09-29 15:08  ivan
+2010-01-08 08:05  jeff
 
-       * httemplate/misc/email-customers.html: should fix newsletter
-         sending error when you select a single payby only
+       * Makefile, htetc/freeside-base1.99.conf,
+         htetc/freeside-base1.conf, htetc/freeside-base2.conf,
+         htetc/htpasswd.logout, httemplate/elements/header.html,
+         httemplate/elements/logout.html,
+         httemplate/elements/rs_init_object.html,
+         httemplate/elements/xmlhttp.html: add a logout link (RT 1330 &
+         5518)
 
-2009-09-28 23:17  ivan
+2010-01-07 01:48  mark
 
-       * FS/t/cust_attachment.t: forgot
+       * FS/FS/: pay_batch.pm, pay_batch/RBC.pm: Fix problems with RBC
+         batch import (RT#6967)
 
-2009-09-28 15:45  ivan
+2010-01-05 20:47  ivan
 
-       * FS/FS/Cron/check.pm: more accurate SG check, RT#4610
+       * FS/FS/svc_acct.pm: eliminate spurious warnings on usage
+         changes...
 
-2009-09-28 15:35  ivan
+2010-01-05 20:43  ivan
 
-       * FS/: FS/Cron/check.pm, bin/freeside-check: correct place for use
-         Email::Send, RT#4610
+       * FS/FS/cust_main.pm: eliminate ya "use of uninitialized value"
+         warning
 
-2009-09-28 15:23  ivan
+2010-01-05 20:41  ivan
 
-       * FS/FS/Cron/check.pm: oops, hopefully fix sg cron check, RT#4610
+       * FS/FS/cust_main.pm: doc
 
-2009-09-28 08:55  jeff
+2010-01-03 20:13  jeff
 
-       * FS/FS/cust_pkg.pm: use object copy when billing on cancel to
-         avoid very weird side effects ( including 'impossible' history )
-         RT#5723
+       * FS/FS/Conf.pm, FS/FS/cust_bill_ApplicationCommon.pm,
+         FS/FS/part_export/domreg_opensrs.pm, bin/opensrs_domain_pkgs:
+         untested triggering of export on payments, requires config enable
+         (RT5825)
 
-2009-09-25 05:29  ivan
+2010-01-03 19:23  jeff
 
-       * FS/FS/Conf.pm, httemplate/config/config-view.cgi,
-         httemplate/config/config.cgi,
-         httemplate/config/config-process.cgi,
-         httemplate/misc/payment.cgi, httemplate/misc/process/payment.cgi:
-         processing fee on credit card recharges, RT#5889
+       * bin/monitor: add some debugging
 
-2009-09-25 03:29  ivan
+2010-01-03 00:04  ivan
 
-       * FS/FS/Conf.pm: this one too
+       * rt/: html/Elements/AddCustomers, html/Elements/EditCustomers,
+         html/Ticket/ModifyCustomers.html,
+         html/Elements/FreesideInvoiceSearch,
+         html/Elements/FreesideNewCust, html/Elements/FreesideSearch,
+         html/Elements/FreesideSvcSearch, FREESIDE_MODIFIED: port
+         skinning, customer display/edit from RT 3.6 integration to RT 3.8
+         integration
 
-2009-09-25 03:14  ivan
+2010-01-02 23:40  ivan
 
-       * FS/FS/Conf.pm, FS/FS/svc_acct.pm, FS/FS/ClientAPI/Signup.pm,
-         fs_selfservice/FS-SelfService/cgi/signup.cgi,
-         fs_selfservice/FS-SelfService/cgi/signup.html,
-         httemplate/config/config-process.cgi,
-         httemplate/config/config-view.cgi, httemplate/config/config.cgi,
-         httemplate/elements/select-part_svc.html,
-         httemplate/elements/select-table.html,
-         httemplate/elements/tr-select-part_svc.html: nomadix, RT#5876
+       * htetc/: freeside-base1.99.conf, freeside-base1.conf,
+         freeside-base2.conf, handler.pl: port skinning, customer
+         display/edit from RT 3.6 integration to RT 3.8 integration
 
-2009-09-24 19:30  mark
+2010-01-02 22:42  ivan
 
-       * FS/FS/pay_batch.pm, FS/FS/Conf.pm, FS/FS/pay_batch/BoM.pm,
-         FS/FS/pay_batch/PAP.pm, FS/FS/pay_batch/ach_spiritone.pm,
-         FS/FS/pay_batch/chase_canada.pm, FS/FS/pay_batch/paymentech.pm,
-         FS/FS/pay_batch/td_canada_trust.pm,
-         httemplate/misc/download-batch.cgi,
-         httemplate/search/cust_pay_batch.cgi: Batch payment refactoring
+       * rt/html/Ticket/Elements/: AddCustomers, EditCustomers,
+         ShowCustomers: moved to new location in RT 3.8
 
-2009-09-24 18:04  mark
+2010-01-02 22:24  ivan
 
-       * FS/MANIFEST: Add cust_attachment
+       * FS/FS/TicketSystem/RT_Internal.pm: attempt to get more
+         information on errors using an RT-instansiated session??
 
-2009-09-24 12:59  ivan
+2010-01-02 19:07  ivan
 
-       * FS/FS/: Cron/check.pm, Conf.pm: get the ping username/pass from a
-         config, good enough, RT#4610
+       * Makefile, FS/FS/Mason.pm, FS/FS/Mason/Request.pm,
+         rt/etc/RT_SiteConfig.pm: can't we all just get along (with RT
+         3.8.7)?
 
-2009-09-23 20:14  ivan
+2009-12-31 15:03  mark
 
-       * FS/FS/Cron/check.pm, FS/bin/freeside-check,
-         FS/FS/ClientAPI/SGNG.pm,
-         fs_selfservice/FS-SelfService/SelfService.pm: add SG and SGNG
-         ping, RT#4610
+       * FS/FS/pay_batch/RBC.pm: Add pre-header line
 
-2009-09-23 16:47  ivan
+2009-12-31 06:31  ivan
 
-       * FS/FS/TicketSystem/RT_External.pm: this should fix the occasional
-         extra ticket showing up on wrong customer record
+       * rt/: Makefile, Makefile.in: prevent fatality
 
-2009-09-21 20:08  ivan
+2009-12-31 06:11  ivan
 
-       * FS/FS/Mason.pm: add addl_comp_root.pl and addl_handler_use.pl
-         config files, RT#4743
+       * rt/Makefile: otherwise it aborts bitchinga bout missing
+         schema.Oracle
 
-2009-09-21 13:48  ivan
+2009-12-31 06:08  ivan
 
-       * FS/FS/cust_bill.pm: i think it is new Pg (or... new Record.pm???)
-         that causes this problem... before it just returned nothing for
-         the search instead of erroring out?
+       * rt/: Makefile, config.status: install-sh????
 
-2009-09-20 23:05  ivan
+2009-12-31 05:59  ivan
+
+       * rt/: .gitignore, Makefile, config.status, bin/mason_handler.fcgi,
+         bin/mason_handler.scgi, bin/mason_handler.svc, bin/rt-crontool,
+         bin/rt-mailgate, etc/RT_Config.pm, etc/RT_Config.pm.in,
+         etc/RT_SiteConfig.pm, etc/schema.Pg, etc/schema.mysql,
+         html/autohandler, html/index.html, html/l,
+         html/Admin/autohandler, html/Admin/index.html,
+         html/Admin/CustomFields/GroupRights.html,
+         html/Admin/CustomFields/Modify.html,
+         html/Admin/CustomFields/Objects.html,
+         html/Admin/CustomFields/UserRights.html,
+         html/Admin/CustomFields/index.html,
+         html/Admin/Elements/AddCustomFieldValue,
+         html/Admin/Elements/ConfigureMyRT,
+         html/Admin/Elements/CreateUserCalled,
+         html/Admin/Elements/CustomFieldTabs,
+         html/Admin/Elements/EditCustomField,
+         html/Admin/Elements/EditCustomFieldValues,
+         html/Admin/Elements/EditCustomFields,
+         html/Admin/Elements/EditQueueWatchers,
+         html/Admin/Elements/EditScrip, html/Admin/Elements/EditScrips,
+         html/Admin/Elements/EditTemplates,
+         html/Admin/Elements/EditUserComments,
+         html/Admin/Elements/GlobalCustomFieldTabs,
+         html/Admin/Elements/GroupTabs, html/Admin/Elements/Header,
+         html/Admin/Elements/ListGlobalCustomFields,
+         html/Admin/Elements/ListGlobalScrips,
+         html/Admin/Elements/ModifyTemplate,
+         html/Admin/Elements/ObjectCustomFields,
+         html/Admin/Elements/PickCustomFields,
+         html/Admin/Elements/PickObjects,
+         html/Admin/Elements/QueueRightsForUser,
+         html/Admin/Elements/QueueTabs,
+         html/Admin/Elements/SelectCustomFieldLookupType,
+         html/Admin/Elements/SelectCustomFieldType,
+         html/Admin/Elements/SelectGroups,
+         html/Admin/Elements/SelectModifyGroup,
+         html/Admin/Elements/SelectModifyQueue,
+         html/Admin/Elements/SelectModifyUser,
+         html/Admin/Elements/SelectNewGroupMembers,
+         html/Admin/Elements/SelectRights,
+         html/Admin/Elements/SelectScrip,
+         html/Admin/Elements/SelectScripAction,
+         html/Admin/Elements/SelectScripCondition,
+         html/Admin/Elements/SelectSingleOrMultiple,
+         html/Admin/Elements/SelectStage,
+         html/Admin/Elements/SelectTemplate,
+         html/Admin/Elements/SelectUsers, html/Admin/Elements/SystemTabs,
+         html/Admin/Elements/Tabs, html/Admin/Elements/ToolTabs,
+         html/Admin/Elements/UserTabs, html/Admin/Global/GroupRights.html,
+         html/Admin/Global/MyRT.html, html/Admin/Global/Scrip.html,
+         html/Admin/Global/Scrips.html, html/Admin/Global/Template.html,
+         html/Admin/Global/Templates.html,
+         html/Admin/Global/UserRights.html, html/Admin/Global/index.html,
+         html/Admin/Global/CustomFields/Groups.html,
+         html/Admin/Global/CustomFields/Queue-Tickets.html,
+         html/Admin/Global/CustomFields/Queue-Transactions.html,
+         html/Admin/Global/CustomFields/Users.html,
+         html/Admin/Global/CustomFields/index.html,
+         html/Admin/Groups/CustomFields.html,
+         html/Admin/Groups/GroupRights.html,
+         html/Admin/Groups/History.html, html/Admin/Groups/Members.html,
+         html/Admin/Groups/Modify.html, html/Admin/Groups/UserRights.html,
+         html/Admin/Groups/index.html, html/Admin/Queues/CustomField.html,
+         html/Admin/Queues/CustomFields.html,
+         html/Admin/Queues/GroupRights.html,
+         html/Admin/Queues/Modify.html, html/Admin/Queues/People.html,
+         html/Admin/Queues/Scrip.html, html/Admin/Queues/Scrips.html,
+         html/Admin/Queues/Template.html,
+         html/Admin/Queues/Templates.html,
+         html/Admin/Queues/UserRights.html, html/Admin/Queues/index.html,
+         html/Admin/Tools/Configuration.html, html/Admin/Tools/index.html,
+         html/Admin/Users/CustomFields.html,
+         html/Admin/Users/History.html, html/Admin/Users/Memberships.html,
+         html/Admin/Users/Modify.html, html/Admin/Users/MyRT.html,
+         html/Admin/Users/index.html, html/Approvals/Display.html,
+         html/Approvals/index.html, html/Approvals/Elements/Approve,
+         html/Approvals/Elements/PendingMyApproval,
+         html/Approvals/Elements/ShowDependency,
+         html/Approvals/Elements/Tabs,
+         html/Download/CustomFieldValue/dhandler,
+         html/Download/Tabular/dhandler, html/Elements/BevelBoxRaisedEnd,
+         html/Elements/BevelBoxRaisedStart, html/Elements/Callback,
+         html/Elements/Checkbox, html/Elements/CreateTicket,
+         html/Elements/EditCustomField,
+         html/Elements/EditCustomFieldBinary,
+         html/Elements/EditCustomFieldCombobox,
+         html/Elements/EditCustomFieldFreeform,
+         html/Elements/EditCustomFieldImage,
+         html/Elements/EditCustomFieldSelect,
+         html/Elements/EditCustomFieldText,
+         html/Elements/EditCustomFieldWikitext, html/Elements/EditLinks,
+         html/Elements/EmailInput, html/Elements/Error,
+         html/Elements/Footer, html/Elements/GotoTicket,
+         html/Elements/Header, html/Elements/ListActions,
+         html/Elements/Login, html/Elements/Logo, html/Elements/Menu,
+         html/Elements/MessageBox, html/Elements/MyAdminQueues,
+         html/Elements/MyRT, html/Elements/MyReminders,
+         html/Elements/MyRequests, html/Elements/MySupportQueues,
+         html/Elements/MyTickets, html/Elements/PageLayout,
+         html/Elements/QueryString, html/Elements/QueueSummary,
+         html/Elements/QuickCreate, html/Elements/Quicksearch,
+         html/Elements/Refresh, html/Elements/RefreshHomepage,
+         html/Elements/ScrubHTML, html/Elements/Section,
+         html/Elements/SelectAttachmentField, html/Elements/SelectBoolean,
+         html/Elements/SelectCustomFieldOperator,
+         html/Elements/SelectCustomFieldValue, html/Elements/SelectDate,
+         html/Elements/SelectDateRelation, html/Elements/SelectDateType,
+         html/Elements/SelectEqualityOperator, html/Elements/SelectGroups,
+         html/Elements/SelectLang, html/Elements/SelectLinkType,
+         html/Elements/SelectMatch, html/Elements/SelectNewTicketQueue,
+         html/Elements/SelectOwner, html/Elements/SelectQueue,
+         html/Elements/SelectResultsPerPage,
+         html/Elements/SelectSortOrder, html/Elements/SelectStatus,
+         html/Elements/SelectTicketSortBy,
+         html/Elements/SelectTicketTypes, html/Elements/SelectTimeUnits,
+         html/Elements/SelectUsers, html/Elements/SelectWatcherType,
+         html/Elements/SetupSessionCookie,
+         html/Elements/ShowCustomFieldBinary,
+         html/Elements/ShowCustomFieldImage,
+         html/Elements/ShowCustomFieldWikitext,
+         html/Elements/ShowCustomFields, html/Elements/ShowLink,
+         html/Elements/ShowLinks, html/Elements/ShowMemberships,
+         html/Elements/ShowSearch, html/Elements/SimpleSearch,
+         html/Elements/Submit, html/Elements/Tabs,
+         html/Elements/TicketList, html/Elements/TitleBox,
+         html/Elements/TitleBoxEnd, html/Elements/TitleBoxStart,
+         html/Elements/ValidateCustomFields,
+         html/Elements/CollectionAsTable/Header,
+         html/Elements/CollectionAsTable/ParseFormat,
+         html/Elements/CollectionAsTable/Row,
+         html/Elements/RT__Ticket/ColumnMap, html/Helpers/CalPopup.html,
+         html/Helpers/EmailAutocomplete, html/NoAuth/Logout.html,
+         html/NoAuth/Reminder.html, html/NoAuth/css/autohandler,
+         html/NoAuth/css/dhandler, html/NoAuth/css/print.css,
+         html/NoAuth/css/3.4-compat/body.css,
+         html/NoAuth/css/3.4-compat/footer.css,
+         html/NoAuth/css/3.4-compat/forms.css,
+         html/NoAuth/css/3.4-compat/header.css,
+         html/NoAuth/css/3.4-compat/login.css,
+         html/NoAuth/css/3.4-compat/main.css,
+         html/NoAuth/css/3.4-compat/misc.css,
+         html/NoAuth/css/3.4-compat/nav.css,
+         html/NoAuth/css/3.4-compat/quickbar.css,
+         html/NoAuth/css/3.4-compat/ticket.css,
+         html/NoAuth/css/3.4-compat/titlebox.css,
+         html/NoAuth/css/3.4-compat/transactions.css,
+         html/NoAuth/css/3.5-default/approvals.css,
+         html/NoAuth/css/3.5-default/body.css,
+         html/NoAuth/css/3.5-default/footer.css,
+         html/NoAuth/css/3.5-default/forms.css,
+         html/NoAuth/css/3.5-default/header.css,
+         html/NoAuth/css/3.5-default/login.css,
+         html/NoAuth/css/3.5-default/logo.css,
+         html/NoAuth/css/3.5-default/main.css,
+         html/NoAuth/css/3.5-default/misc.css,
+         html/NoAuth/css/3.5-default/nav.css,
+         html/NoAuth/css/3.5-default/quickbar.css,
+         html/NoAuth/css/3.5-default/ticket.css,
+         html/NoAuth/css/3.5-default/titlebox.css,
+         html/NoAuth/css/3.5-default/transactions.css,
+         html/NoAuth/images/autohandler, html/NoAuth/images/bplogo.gif,
+         html/NoAuth/images/favicon.png,
+         html/NoAuth/images/css/cb-light.gif,
+         html/NoAuth/images/css/cb.gif,
+         html/NoAuth/images/css/cbr-b2g.gif,
+         html/NoAuth/images/css/cbr-b2lb.gif,
+         html/NoAuth/images/css/cbr-gray.gif,
+         html/NoAuth/images/css/cbr-trans.gif,
+         html/NoAuth/images/css/cbr.gif,
+         html/NoAuth/images/css/ct-light.gif,
+         html/NoAuth/images/css/ct.gif,
+         html/NoAuth/images/css/ctr-b2g.gif,
+         html/NoAuth/images/css/ctr-b2lb.gif,
+         html/NoAuth/images/css/ctr-gray.gif,
+         html/NoAuth/images/css/ctr-trans.gif,
+         html/NoAuth/images/css/ctr.gif,
+         html/NoAuth/images/css/dark-arrow-up.png,
+         html/NoAuth/images/css/dark-arrow.png,
+         html/NoAuth/images/css/fieldbg-autocomplete.gif,
+         html/NoAuth/images/css/light-arrow-up.png,
+         html/NoAuth/images/css/light-arrow.png,
+         html/NoAuth/images/css/rolldown-arrow.gif,
+         html/NoAuth/images/css/rolldown-arrow.png,
+         html/NoAuth/images/css/rollup-arrow.gif, html/NoAuth/js/ahah.js,
+         html/NoAuth/js/autohandler, html/NoAuth/js/cascaded.js,
+         html/NoAuth/js/class.js, html/NoAuth/js/combobox.js,
+         html/NoAuth/js/list.js, html/NoAuth/js/titlebox-state.js,
+         html/NoAuth/js/util.js, html/NoAuth/js/scriptaculous/controls.js,
+         html/NoAuth/js/scriptaculous/effects.js,
+         html/NoAuth/js/scriptaculous/prototype.js,
+         html/NoAuth/js/scriptaculous/scriptaculous.js,
+         html/Prefs/MyRT.html, html/Prefs/Quicksearch.html,
+         html/Prefs/Search.html, html/Prefs/SearchOptions.html,
+         html/Prefs/Elements/Tabs, html/REST/1.0/autohandler,
+         html/REST/1.0/dhandler, html/REST/1.0/logout,
+         html/REST/1.0/Forms/queue/default, html/REST/1.0/Forms/queue/ns,
+         html/REST/1.0/Forms/ticket/attachments,
+         html/REST/1.0/Forms/ticket/comment,
+         html/REST/1.0/Forms/ticket/default,
+         html/REST/1.0/Forms/ticket/history,
+         html/REST/1.0/Forms/ticket/links,
+         html/REST/1.0/Forms/ticket/merge,
+         html/REST/1.0/Forms/ticket/take,
+         html/REST/1.0/Forms/transaction/default,
+         html/REST/1.0/Forms/user/default, html/REST/1.0/Forms/user/ns,
+         html/REST/1.0/NoAuth/mail-gateway, html/REST/1.0/search/dhandler,
+         html/REST/1.0/search/ticket, html/REST/1.0/ticket/comment,
+         html/REST/1.0/ticket/link, html/REST/1.0/ticket/merge,
+         html/Search/Build.html, html/Search/Bulk.html, html/Search/Chart,
+         html/Search/Chart.html, html/Search/Edit.html,
+         html/Search/Results.html, html/Search/Results.rdf,
+         html/Search/Results.tsv, html/Search/Simple.html,
+         html/Search/Elements/BuildFormatString,
+         html/Search/Elements/Chart, html/Search/Elements/DisplayOptions,
+         html/Search/Elements/EditFormat, html/Search/Elements/EditQuery,
+         html/Search/Elements/EditSearches,
+         html/Search/Elements/NewListActions,
+         html/Search/Elements/PickBasics, html/Search/Elements/PickCFs,
+         html/Search/Elements/PickCriteria,
+         html/Search/Elements/SearchPrivacy,
+         html/Search/Elements/SearchesForObject,
+         html/Search/Elements/SelectAndOr,
+         html/Search/Elements/SelectChartType,
+         html/Search/Elements/SelectGroup,
+         html/Search/Elements/SelectGroupBy,
+         html/Search/Elements/SelectLinks,
+         html/Search/Elements/SelectPersonType,
+         html/Search/Elements/SelectSearchObject,
+         html/Search/Elements/SelectSearchesForObjects,
+         html/SelfService/Closed.html, html/SelfService/Create.html,
+         html/SelfService/CreateTicketInQueue.html,
+         html/SelfService/Display.html, html/SelfService/Error.html,
+         html/SelfService/Prefs.html, html/SelfService/Update.html,
+         html/SelfService/index.html,
+         html/SelfService/Attachment/dhandler,
+         html/SelfService/Elements/GotoTicket,
+         html/SelfService/Elements/Header,
+         html/SelfService/Elements/MyRequests,
+         html/SelfService/Elements/Tabs, html/Ticket/Create.html,
+         html/Ticket/Display.html, html/Ticket/History.html,
+         html/Ticket/Modify.html, html/Ticket/ModifyAll.html,
+         html/Ticket/ModifyDates.html, html/Ticket/ModifyLinks.html,
+         html/Ticket/ModifyPeople.html, html/Ticket/Reminders.html,
+         html/Ticket/ShowEmailRecord.html, html/Ticket/Update.html,
+         html/Ticket/Attachment/dhandler,
+         html/Ticket/Elements/AddWatchers, html/Ticket/Elements/BulkLinks,
+         html/Ticket/Elements/EditBasics,
+         html/Ticket/Elements/EditCustomField,
+         html/Ticket/Elements/EditCustomFields,
+         html/Ticket/Elements/EditDates, html/Ticket/Elements/EditPeople,
+         html/Ticket/Elements/EditWatchers,
+         html/Ticket/Elements/FindAttachments,
+         html/Ticket/Elements/LoadTextAttachments,
+         html/Ticket/Elements/PreviewScrips,
+         html/Ticket/Elements/Reminders,
+         html/Ticket/Elements/ShowAttachments,
+         html/Ticket/Elements/ShowBasics,
+         html/Ticket/Elements/ShowCustomFields,
+         html/Ticket/Elements/ShowDates,
+         html/Ticket/Elements/ShowDependencies,
+         html/Ticket/Elements/ShowGroupMembers,
+         html/Ticket/Elements/ShowHistory,
+         html/Ticket/Elements/ShowMembers,
+         html/Ticket/Elements/ShowMessageHeaders,
+         html/Ticket/Elements/ShowMessageStanza,
+         html/Ticket/Elements/ShowPeople, html/Ticket/Elements/ShowQueue,
+         html/Ticket/Elements/ShowRequestor,
+         html/Ticket/Elements/ShowSummary, html/Ticket/Elements/ShowTime,
+         html/Ticket/Elements/ShowTransaction,
+         html/Ticket/Elements/ShowTransactionAttachments,
+         html/Ticket/Elements/ShowUserEntry, html/Ticket/Elements/Tabs,
+         html/Tools/MyDay.html, html/Tools/Offline.html,
+         html/Tools/index.html, html/Tools/Elements/Tabs,
+         html/Tools/Reports/CreatedByDates.html,
+         html/Tools/Reports/ResolvedByDates.html,
+         html/Tools/Reports/ResolvedByOwner.html,
+         html/Tools/Reports/index.html, html/Tools/Reports/Elements/Tabs,
+         html/User/Delegation.html, html/User/Prefs.html,
+         html/User/Elements/DelegateRights, html/User/Elements/GroupTabs,
+         html/User/Elements/Tabs, html/User/Groups/Members.html,
+         html/User/Groups/Modify.html, html/User/Groups/index.html,
+         html/Widgets/ComboBox, html/Widgets/SavedSearch,
+         html/Widgets/SelectionBox, html/Widgets/TitleBox,
+         html/Widgets/TitleBoxEnd, html/Widgets/TitleBoxStart, lib/RT.pm,
+         lib/RT/Groups_Overlay.pm, lib/RT/Record.pm,
+         lib/RT/SearchBuilder.pm, lib/RT/Ticket_Overlay.pm,
+         lib/RT/Transaction_Overlay.pm, lib/RT/User_Overlay.pm,
+         lib/RT/Users_Overlay.pm, lib/RT/I18N/no.po, lib/RT/I18N/pt_br.po,
+         lib/RT/I18N/pt_pt.po, lib/RT/I18N/zh_cn.po, lib/RT/I18N/zh_tw.po,
+         lib/t/00smoke.t, lib/t/create_data.pl, lib/t/setup_regression.t,
+         lib/t/data/crashes-file-based-parser, lib/t/data/lorem-ipsum,
+         lib/t/data/multipart-alternative-with-umlaut,
+         lib/t/data/multipart-report, lib/t/data/nested-mime-sample,
+         lib/t/data/nested-rfc-822, lib/t/data/new-ticket-from-iso-8859-1,
+         lib/t/data/new-ticket-from-iso-8859-1-full,
+         lib/t/data/notes-uuencoded, lib/t/data/rt-send-cc,
+         lib/t/data/russian-subject-no-content-type,
+         lib/t/data/subject-with-folding-ws,
+         lib/t/data/text-html-in-russian,
+         lib/t/data/text-html-with-umlaut, lib/t/data/very-long-subject,
+         lib/t/data/8859-15-message-series/dir,
+         lib/t/data/8859-15-message-series/msg1,
+         lib/t/data/8859-15-message-series/msg2,
+         lib/t/data/8859-15-message-series/msg3,
+         lib/t/data/8859-15-message-series/msg4,
+         lib/t/data/8859-15-message-series/msg5,
+         lib/t/data/8859-15-message-series/msg6,
+         lib/t/data/8859-15-message-series/msg7,
+         lib/t/regression/00-mason-syntax.t,
+         lib/t/regression/01ticket_link_searching.t,
+         lib/t/regression/02basic_web.t,
+         lib/t/regression/03web_compiliation_errors.t,
+         lib/t/regression/04send_email.t,
+         lib/t/regression/05cronsupport.t,
+         lib/t/regression/06-mime_decoding.t,
+         lib/t/regression/06mailgateway.t, lib/t/regression/07acl.t,
+         lib/t/regression/07rights.t, lib/t/regression/08web_cf_access.t,
+         lib/t/regression/09record_cf_api.t, lib/t/regression/10merge.t,
+         lib/t/regression/11-template-insert.t,
+         lib/t/regression/12-search.t,
+         lib/t/regression/13-attribute-tests.t,
+         lib/t/regression/14linking.t, lib/t/regression/14merge.t,
+         lib/t/regression/15cf_combo_cascade.t,
+         lib/t/regression/15cf_pattern.t,
+         lib/t/regression/15cf_single_values_are_single.t,
+         lib/t/regression/16-transaction_cf_tests.t,
+         lib/t/regression/17custom_search.t,
+         lib/t/regression/17multiple_deleg_revocation.t,
+         lib/t/regression/18custom_frontpage.t,
+         lib/t/regression/18stale_delegations_cleanup.t,
+         lib/t/regression/19-rtname.t, lib/t/regression/19quicksearch.t,
+         lib/t/regression/20-sort-by-queue.t,
+         lib/t/regression/20-sort-by-requestor.t,
+         lib/t/regression/20-sort-by-user.t,
+         lib/t/regression/20savedsearch.t,
+         lib/t/regression/21query-builder.t,
+         lib/t/regression/22search_tix_by_txn.t,
+         lib/t/regression/22search_tix_by_watcher.t,
+         lib/t/regression/23-batch-upload-csv.t,
+         lib/t/regression/23-web_attachments.t,
+         lib/t/regression/23cfsort-freeform-multiple.t,
+         lib/t/regression/23cfsort-freeform-single.t,
+         lib/t/regression/23cfsort.t, lib/t/regression/24-watchers.t,
+         lib/t/regression/24pawsort.t, lib/t/regression/25scrip_order.t,
+         lib/t/regression/26command_line.t, lib/t/regression/27verp.t,
+         lib/t/regression/mime_tests, sbin/extract_pod_tests,
+         sbin/regression_harness, sbin/rt-setup-database.in: merging
+         3.8.7!!!
+
+2009-12-31 05:16  ivan
+
+       * rt/etc/: schema.mysql-4.0, schema.mysql-4.1,
+         upgrade/shrink_cgm_table.pl, upgrade/split-out-cf-categories,
+         upgrade/split-out-cf-categories.in,
+         upgrade/upgrade-mysql-schema.pl,
+         upgrade/3.8-branded-queues-extension,
+         upgrade/3.8-branded-queues-extension.in,
+         upgrade/3.8-ical-extension, upgrade/3.8-ical-extension.in:
+         Initial revision
+
+2009-12-31 05:12  ivan
+
+       * rt/: lib/RT/I18N/pt_BR.po, lib/RT/I18N/nb.po,
+         lib/RT/I18N/zh_CN.po, lib/RT/I18N/ar.po, lib/RT/I18N/pt.po,
+         lib/RT/I18N/ru.pm, lib/RT/Condition/ReopenTicket.pm,
+         lib/RT/Condition/CloseTicket.pm,
+         docs/creating_external_custom_fields.pod,
+         docs/extending_clickable_links.pod, docs/gnupg_integration.pod,
+         docs/porting.windows, docs/queue_subject_tag.pod,
+         docs/templates.pod, docs/using_forms_widgets.pod,
+         docs/design_docs/gnupg_details_on_output_formats: Initial
+         revision
+
+2009-12-31 05:09  ivan
+
+       * rt/: UPGRADING.mysql, lib/RT/Test.pm, sbin/merge-rosetta.pl,
+         sbin/rt-attributes-viewer, sbin/rt-attributes-viewer.in,
+         sbin/rt-clean-sessions, sbin/rt-clean-sessions.in,
+         sbin/rt-email-dashboards, sbin/rt-email-dashboards.in,
+         sbin/rt-email-digest, sbin/rt-email-digest.in,
+         sbin/rt-email-group-admin, sbin/rt-email-group-admin.in,
+         sbin/rt-server, sbin/rt-server.in, sbin/rt-shredder,
+         sbin/rt-shredder.in, sbin/rt-validator, sbin/rt-validator.in,
+         sbin/tweak-template-locstring, lib/RT/Search.pm,
+         lib/RT/Config.pm, lib/RT/Dashboard.pm, lib/RT/Installer.pm,
+         lib/RT/Plugin.pm, lib/RT/Ruleset.pm, lib/RT/Shredder.pm,
+         lib/RT/Approval.pm, lib/RT/Action.pm, lib/RT/SharedSetting.pm,
+         lib/RT/Condition.pm, lib/RT/SQL.pm, lib/RT/Util.pm,
+         lib/RT/Rule.pm, lib/RT/Interface/Web/Request.pm,
+         lib/RT/Interface/Web/Session.pm, lib/RT/Action/LinearEscalate.pm,
+         lib/RT/Action/ExtractSubjectTag.pm, lib/RT/Action/NotifyGroup.pm,
+         lib/RT/Action/NotifyGroupAsComment.pm, lib/RT/I18N/bg.po,
+         lib/RT/I18N/rt.pot, lib/RT/I18N/hr.po, lib/RT/I18N/zh_TW.po:
+         Initial revision
+
+2009-12-31 04:56  ivan
+
+       * rt/: Makefile, lib/RT.pm: rt 3.6.10
+
+2009-12-31 04:44  ivan
+
+       * rt/: etc/RT_Config.pm.in, html/Admin/Users/Modify.html,
+         html/Elements/Footer, html/Elements/Header, html/Elements/Menu,
+         html/Elements/PageLayout, html/Elements/QuickCreate,
+         html/Elements/SelectDate, html/Elements/SimpleSearch,
+         html/Elements/Tabs, html/Elements/TicketList,
+         html/Elements/TitleBoxStart, html/Elements/CollectionAsTable/Row,
+         html/NoAuth/css/3.5-default/main.css,
+         html/NoAuth/css/3.5-default/misc.css,
+         html/NoAuth/css/3.5-default/titlebox.css,
+         html/NoAuth/css/3.5-default/transactions.css,
+         html/Prefs/SearchOptions.html, html/Search/Bulk.html,
+         html/Ticket/Create.html, html/Ticket/Display.html,
+         html/Ticket/Elements/ShowSummary,
+         html/Ticket/Elements/ShowTransactionAttachments,
+         html/Ticket/Elements/Tabs, html/User/Prefs.html,
+         html/Widgets/TitleBoxStart, lib/RT/Groups_Overlay.pm,
+         lib/RT/Record.pm, lib/RT/SearchBuilder.pm,
+         lib/RT/Ticket_Overlay.pm, lib/RT/Transaction_Overlay.pm,
+         lib/RT/User_Overlay.pm, lib/RT/Users_Overlay.pm,
+         sbin/rt-setup-database.in: rt 3.6.10
+
+2009-12-31 04:35  ivan
+
+       * rt/FREESIDE_MODIFIED: up-to-date
+
+2009-12-30 23:16  ivan
+
+       * FS/FS/Schema.pm: fix h_cdr acctid changing from bigint to int
+         with recent DBIx::DBSchema
+
+2009-12-30 21:10  ivan
+
+       * FS/: FS/Cron/bill.pm, bin/freeside-daily: specify multiple
+         agentnums with freeside-daily
+
+2009-12-30 19:33  ivan
+
+       * Makefile: goodbye conf dir
+
+2009-12-30 18:50  jeff
+
+       * FS/FS/cust_main.pm: really reduce the noise
+
+2009-12-30 18:20  ivan
+
+       * httemplate/: edit/prospect_main.html, edit/elements/edit.html,
+         edit/process/elements/process.html, elements/contact.html,
+         elements/menu.html: prospecting: proper contact error handling
+         when you add a prospect
+
+2009-12-29 22:41  jeff
+
+       * FS/FS/part_pkg/voip_cdr.pm: define all detail header list
+         elements
+
+2009-12-29 22:05  jeff
+
+       * FS/FS/cust_main.pm: noise reduction
+
+2009-12-29 21:22  jeff
+
+       * FS/FS/tax_rate.pm: noise reduction
+
+2009-12-29 18:39  jeff
+
+       * FS/FS/cust_bill_pkg_detail.pm: use the class used
+
+2009-12-29 18:26  jeff
+
+       * FS/FS/cust_main.pm: noise reduction
+
+2009-12-28 20:49  ivan
+
+       * FS/bin/freeside-upgrade: output SQL statements as we run them
+         (and only the ones we run), not immediately
+
+2009-12-28 20:44  ivan
+
+       * FS/FS/Conf.pm: oops, syntax error adding queued-sleep_time
+
+2009-12-28 20:24  ivan
+
+       * FS/bin/: freeside-upgrade: don't change h_queue.job type under
+         non-mysql, takes forever on large dbs, RT#6946
+
+2009-12-28 17:38  ivan
+
+       * FS/bin/freeside-daily: add -u option for vacuuming, RT#5258
+
+2009-12-28 17:30  ivan
+
+       * bin/: del-old-history, pg-sizer: some random utils for disk space
+         analysis and eliminating old history records, RT#6914
+
+2009-12-28 17:00  mark
+
+       * FS/FS/AccessRight.pm, httemplate/browse/cust_attachment.html,
+         httemplate/elements/menu.html: Add Browse attachments ACL
+         (RT#4964)
+
+2009-12-28 16:38  ivan
+
+       * FS/: FS/Conf.pm, bin/freeside-queued: add queued-sleep_time
+
+2009-12-28 11:18  ivan
+
+       * FS/FS/AccessRight.pm, FS/FS/Mason.pm, FS/FS/Schema.pm,
+         FS/FS/Setup.pm, FS/FS/Upgrade.pm, FS/FS/contact.pm,
+         FS/FS/contact_email.pm, FS/FS/contact_phone.pm,
+         FS/FS/cust_location.pm, FS/FS/o2m_Common.pm, FS/FS/phone_type.pm,
+         FS/FS/prospect_main.pm, FS/MANIFEST, FS/t/contact.t,
+         FS/t/contact_email.t, FS/t/contact_phone.t, FS/t/phone_type.t,
+         FS/t/prospect_main.t, httemplate/edit/prospect_main.html,
+         httemplate/edit/process/prospect_main.html,
+         httemplate/elements/city.html, httemplate/elements/contact.html,
+         httemplate/elements/header.html, httemplate/elements/menu.html,
+         httemplate/elements/tr-contact.html,
+         httemplate/elements/tr-select-cust_location.html,
+         httemplate/search/prospect_main.html,
+         httemplate/search/report_prospect_main.html,
+         httemplate/view/prospect_main.html,
+         httemplate/edit/elements/edit.html,
+         httemplate/edit/process/elements/process.html,
+         httemplate/misc/location.cgi,
+         httemplate/view/cust_main/packages/location.html, FS/FS.pm:
+         beginning of prospect/CRM/contact work
+
+2009-12-27 21:25  ivan
+
+       * FS/FS/: part_pkg_taxclass.pm, phone_device.pm: use blessed
+
+2009-12-26 17:00  jeff
+
+       * FS/FS/: cust_location.pm, cust_main.pm: improve spacing around
+         county
+
+2009-12-23 15:32  jeff
+
+       * bin/monitor: remove debugging
+
+2009-12-23 15:29  jeff
+
+       * bin/monitor: add non-forking one machine monitor program
+
+2009-12-23 15:14  jeff
+
+       * FS/FS/Yori.pm: teach yori to do some load monitoring
+
+2009-12-23 13:21  jeff
+
+       * FS/FS/cust_bill.pm, FS/FS/cust_location.pm, FS/FS/cust_main.pm,
+         FS/FS/cust_pkg.pm,
+         httemplate/view/cust_main/packages/location.html: correct invoice
+         package address display and reduce false laziness
+
+2009-12-22 16:30  mark
+
+       * FS/FS/svc_acct.pm, httemplate/edit/svc_acct.cgi,
+         httemplate/edit/process/svc_acct.cgi: Tweak set_password per
+         RT#6358
+
+2009-12-21 06:44  jeff
+
+       * FS/FS/: Schema.pm, cust_bill_pkg.pm,
+         cust_bill_pkg_tax_location.pm, cust_credit_bill_pkg.pm,
+         cust_tax_exempt_pkg.pm: manage tax exemptions (texas-tax) on
+         credit application RT953
+
+2009-12-21 06:36  jeff
+
+       * FS/FS/Conf.pm, FS/FS/tax_rate.pm, bin/fetch_and_expand_taxes,
+         bin/reassemble_taxes: move cch conf into database and add a
+         couple small tools for processing updates more manually
+
+2009-12-20 18:00  ivan
+
+       * FS/FS/cust_main.pm, httemplate/misc/bill.cgi: have 'Bill now'
+         link cancel expired (and suspend adjourned) packages, and catch
+         and return errors in all cases, RT#6627
+
+2009-12-20 13:52  ivan
+
+       * FS/FS/Conf.pm: late fee package class specified in the event
+         action instead of a global finance_pkgclass config, RT#6617
+
+2009-12-20 13:48  ivan
+
+       * FS/FS/part_event/Action/: cust_bill_fee_percent.pm, fee.pm: late
+         fee package class specified in the event action instead of a
+         global finance_pkgclass config, RT#6617
+
+2009-12-20 11:42  ivan
+
+       * FS/FS/ClientAPI/MyAccount.pm: fix usage details pulling from
+         wrong account for customers who have multiple accounts, RT#6681,
+         fallout from RT#4189
+
+2009-12-19 22:52  ivan
+
+       * httemplate/search/cust_pkg.cgi: fix address fields on advanced
+         package search, RT#6609
+
+2009-12-19 18:51  ivan
+
+       * FS/FS/cust_pkg.pm: fix bulk package order with one package
+         changing to one new package, RT#6519, fallout from RT#4499
+
+2009-12-19 17:02  ivan
+
+       * httemplate/view/cust_main/: packages.html, payment_history.html:
+         fix cust_main-packages-years, RT#6798
+
+2009-12-19 15:52  ivan
+
+       * FS/FS/cust_bill_ApplicationCommon.pm: fix more
+         ->owed_setup/owed_recur clashing with
+         cust_bill->open_cust_bill_pkg separating line items, RT#4729
+
+2009-12-19 15:28  ivan
+
+       * FS/FS/cust_bill_ApplicationCommon.pm: fix credit application, at
+         least in vedeya's case on HEAD, RT#6819, fallout from tax
+         credits, RT#4729
+
+2009-12-19 14:52  ivan
+
+       * httemplate/edit/elements/ApplicationCommon.html: fix fill-in of
+         credit amount when there aren't tax buttons
+
+2009-12-19 14:41  ivan
+
+       * httemplate/edit/cust_credit.cgi: add add'l info field as a
+         customer-editable field, RT#6505
+
+2009-12-19 14:32  ivan
+
+       * httemplate/view/cust_main/payment_history.html: make room for
+         credit reasons in popup
+
+2009-12-19 12:29  ivan
+
+       * FS/FS/cust_main_Mixin.pm: fix event report w/ a customer status
+
+2009-12-19 11:10  ivan
+
+       * FS/FS/part_pkg.pm: fix package order to really display only those
+         pacakges available
+
+2009-12-19 11:09  ivan
+
+       * httemplate/misc/cust-part_pkg.cgi: fix order of packages after
+         class selection changes
+
+2009-12-18 10:20  jeff
+
+       * FS/FS/cust_bill_pkg_tax_location.pm,
+         FS/FS/cust_bill_pkg_tax_rate_location.pm,
+         httemplate/edit/elements/ApplicationCommon.html,
+         httemplate/misc/xmlhttp-calculate_taxes.html: fix handling of tax
+         location records and add a 'clear' button for tax credits
+
+2009-12-17 16:41  ivan
+
+       * rt/bin/standalone_httpd: Initial revision
+
+2009-12-17 16:38  ivan
+
+       * rt/: .gitignore, sbin/rt-dump-database, lib/RT/I18N/pt_pt.po,
+         lib/t/regression/20-sort-by-user.t,
+         lib/t/regression/20-sort-by-queue.t,
+         lib/t/regression/23cfsort-freeform-multiple.t,
+         lib/t/regression/23cfsort-freeform-single.t,
+         lib/t/regression/24-watchers.t: Initial revision
+
+2009-12-16 09:35  ivan
+
+       * httemplate/edit/cust_main_attach.cgi: tweak attachment adding UI:
+         table consistency, input sizes and maxlengths, RT#4964
+
+2009-12-16 07:03  jeff
+
+       * FS/FS/: Conf.pm, Record.pm, cust_bill.pm, cust_location.pm,
+         cust_main.pm, cust_pkg.pm: group invoice line items by location,
+         show location address on invoice, option for due date rather than
+         invoice date on prior unpaid invoice line items, and option for
+         aging on invoice (#6418, #5235, #4648)
+
+2009-12-13 23:52  ivan
+
+       * FS/FS/svc_acct.pm: use a global config too
+
+2009-12-13 23:10  ivan
+
+       * FS/FS/: Conf.pm, svc_acct.pm, part_export/sqlradius.pm: add
+         overlimit_groups agent-specific config, overriding
+         export-specific overlimit_groups, RT#6622
+
+2009-12-13 19:36  mark
+
+       * httemplate/search/elements/search-xls.html: Fix filename for
+         Excel spreadsheet reports
+
+2009-12-13 17:41  mark
+
+       * FS/FS/AccessRight.pm, httemplate/browse/cust_attachment.html,
+         httemplate/edit/cust_main_attach.cgi,
+         httemplate/elements/menu.html, httemplate/view/cust_main.cgi,
+         httemplate/view/cust_main/attachments.html: Add access right to
+         view attachments
+
+2009-12-12 15:53  ivan
+
+       * httemplate/search/cust_credit_bill_pkg.html,
+         FS/FS/cust_credit_bill_pkg.pm,
+         httemplate/search/cust_bill_pkg.cgi: better reporting for tax
+         credits, RT#4729
+
+2009-12-12 15:32  ivan
+
+       * httemplate/search/: cust_bill_pkg.cgi, cust_credit_bill_pkg.html,
+         report_tax.cgi: better reporting for tax credits, RT#4729
+
+2009-12-12 14:35  ivan
+
+       * FS/FS/cust_credit_bill_pkg.pm: doc
+
+2009-12-12 14:22  ivan
+
+       * Makefile: sync versioning with branches, sorry jeremy
+
+2009-12-12 13:38  ivan
+
+       * FS/FS/cust_pkg.pm, httemplate/search/cust_bill_pkg.cgi,
+         httemplate/search/report_tax.cgi,
+         httemplate/search/report_tax.html: reporting with city taxes,
+         RT#6776
+
+2009-12-10 15:03  ivan
+
+       * FS/FS/cust_main.pm: fully fix bulk customer reports, RT#6778
+
+2009-12-07 22:21  mark
+
+       * FS/FS/Schema.pm: Fix cust_attachment.disabled type
+
+2009-12-06 15:44  ivan
+
+       * httemplate/edit/part_pkg.cgi: fix initial value of agent types
+         when cloning
+
+2009-12-06 15:18  ivan
+
+       * httemplate/elements/header.html: fix search box clearing from
+         within RT, caused by different quoting rules in RT comp_root.
+         grr.
+
+2009-12-06 11:19  ivan
+
+       * FS/FS/Schema.pm: more reasonable sizes for filename, mime type
+         and title, RT#6823
+
+2009-12-04 10:37  jeff
+
+       * FS/FS/cust_bill.pm: holy cow! correct sense of skip usage testing
+
+2009-12-03 20:45  ivan
+
+       * FS/FS/svc_acct.pm, httemplate/search/svc_acct.cgi:
+         customer-specific account report (and some small refactoring of
+         method names to clash less), RT#6180
+
+2009-12-03 20:40  ivan
+
+       * FS/FS/cust_bill.pm, FS/FS/cust_bill_event.pm,
+         httemplate/search/477.html, httemplate/search/cust_bill.html,
+         httemplate/search/cust_bill_event.cgi,
+         httemplate/search/cust_event.html,
+         httemplate/search/cust_main.html, httemplate/search/cust_pkg.cgi,
+         httemplate/search/report_svc_acct.html,
+         httemplate/view/cust_main/packages.html, FS/FS/cust_event.pm,
+         FS/FS/cust_main.pm, FS/FS/cust_pkg.pm,
+         httemplate/misc/email-customers.html,
+         httemplate/misc/process/bulk_change_pkg.cgi,
+         httemplate/misc/process/email-customers.html: customer-specific
+         account report (and some small refactoring of method names to
+         clash less), RT#6180
+
+2009-12-03 19:23  ivan
+
+       * FS/FS/cust_pkg.pm: doh, 1.9 fix customer package search (fallout
+         from customer classes) and add "not yet billed" status to
+         customer package report
+
+2009-12-03 11:22  ivan
+
+       * httemplate/graph/cust_bill_pkg.cgi: average per cust_pkg option
+         for peter
+
+2009-12-03 11:06  ivan
+
+       * FS/FS/Report/Table/Monthly.pm,
+         httemplate/graph/cust_bill_pkg.cgi,
+         httemplate/graph/report_cust_bill_pkg.html: average per cust_pkg
+         option for peter
+
+2009-12-02 23:53  ivan
+
+       * FS/FS/Schema.pm: index cdrbatchnum
+
+2009-12-02 23:37  ivan
+
+       * FS/FS/: Record.pm, cdr/sansay.pm: fix startdate in sansay CDR
+         import (and skip blank lines), RT#6801
+
+2009-12-02 23:18  ivan
+
+       * httemplate/search/cdr.html: fix cdr search
+
+2009-12-02 20:22  ivan
+
+       * FS/FS/cdr/sansay.pm: no header?
+
+2009-12-02 12:58  ivan
+
+       * FS/FS/Schema.pm: add index to rate_prefix.npa for a performance
+         improvement on CDR billing, RT#6386
+
+2009-12-02 12:51  ivan
+
+       * httemplate/view/: svc_broadband.cgi, svc_domain.cgi,
+         svc_external.cgi, svc_forward.cgi, svc_www.cgi: fix viewing
+         unlinked forwards, domains, broadband/external/www services,
+         RT#6794
+
+2009-12-01 11:16  jeff
+
+       * FS/FS/cust_bill.pm: want a listref not a list
+
+2009-11-29 16:38  ivan
+
+       * FS/FS/cust_main.pm, httemplate/misc/email-customers.html: fix
+         bulk sending of customer notices, RT#6778
+
+2009-11-29 16:06  ivan
+
+       * httemplate/edit/REAL_cust_pkg.cgi: fix
+
+2009-11-29 16:04  ivan
+
+       * httemplate/edit/: REAL_cust_pkg.cgi, process/REAL_cust_pkg.cgi:
+         UI changes to make it impossible to add a start date to a package
+         that already has a setup fee (can still remove an existing start
+         date causing problems), RT#6712
+
+2009-11-29 15:18  ivan
+
+       * FS/FS/: Conf.pm, cust_pkg.pm: add
+         cust_pkg-change_pkgpart-bill_now option to bill the new package
+         immediately on package changes.  Useful for prepaid situations
+         with RADIUS where an Expiration attribute base don the package
+         must be present at all times.  RT#6692
+
+2009-11-29 15:15  ivan
+
+       * FS/FS/cust_main.pm: doc: spelling
+
+2009-11-25 16:27  ivan
+
+       * FS/FS/part_pkg/voip_cdr.pm: debugging left on
+
+2009-11-25 11:58  ivan
+
+       * httemplate/edit/part_pkg.cgi: don't consider disabled report
+         classes, don't load up the whole table just to see if there are
+         any
+
+2009-11-25 11:32  jeff
+
+       * FS/FS/: cust_bill.pm, usage_class.pm: improve appearance of cdr
+         records in cdr sections
+
+2009-11-25 08:13  jeff
+
+       * FS/FS/cust_bill.pm: bug fixes, reuse summary_page, eliminate
+         dups, and rearrange
+
+2009-11-25 08:09  jeff
+
+       * conf/invoice_latex: really insert a pagebreak
+
+2009-11-25 08:07  jeff
+
+       * conf/invoice_latex: oops.. need updated template for new formats
+
+2009-11-24 13:00  ivan
+
+       * FS/FS/cust_bill.pm: debugging left on
+
+2009-11-24 09:05  jeff
+
+       * FS/FS/cust_bill.pm: cope with sections lacking a pkg_category
+
+2009-11-23 23:42  ivan
+
+       * httemplate/: misc/timeworked.html, misc/process/timeworked.html,
+         search/timeworked.html: timeworked report: carry the date range
+         through to the success redirect
+
+2009-11-23 23:23  ivan
+
+       * httemplate/: search/report_timeworked.html, elements/menu.html,
+         search/timeworked.html: add date constratint on time worked
+         search
+
+2009-11-23 22:04  ivan
+
+       * FS/FS/cust_main.pm: send card number with void transactions for
+         B:OP:IPPay, RT#5690
+
+2009-11-23 14:09  mark
+
+       * FS/FS/Schema.pm: Add title field to cust_attachment
+
+2009-11-22 16:25  jeff
+
+       * FS/FS/cust_bill_ApplicationCommon.pm: apply to taxes last
+
+2009-11-20 09:33  jeff
+
+       * FS/FS/Conf.pm, FS/FS/Schema.pm, FS/FS/cust_bill.pm,
+         FS/FS/cust_bill_pkg.pm, FS/FS/cust_bill_pkg_detail.pm,
+         FS/FS/usage_class.pm, FS/FS/part_pkg/voip_cdr.pm,
+         conf/invoice_html, httemplate/browse/pkg_category.html,
+         httemplate/browse/usage_class.html,
+         httemplate/edit/pkg_category.html,
+         httemplate/edit/usage_class.html: invoice formatting: add
+         sections for usage, add sections per svc_phone, add folding like
+         line items into one #6592
+
+2009-11-19 01:47  ivan
+
+       * FS/FS.pm, FS/FS/Record.pm, FS/FS/cdr.pm,
+         FS/bin/freeside-cdr-sftp_and_import, bin/cdr-transnexus.import,
+         bin/cdr.http_and_import, bin/cdr.import,
+         httemplate/elements/select-cdrbatch.html,
+         httemplate/elements/tr-select-cdrbatch.html,
+         httemplate/search/cdr.html, httemplate/search/report_cdr.html,
+         httemplate/view/svc_phone.cgi: proper cdr_batch table, RT#6386
+
+2009-11-19 01:43  ivan
+
+       * FS/FS/: Mason.pm, Schema.pm, Upgrade.pm: proper cdr_batch table,
+         RT#6386
+
+2009-11-19 01:39  ivan
+
+       * FS/MANIFEST: proper cdr_batch table, RT#6386
+
+2009-11-19 01:32  ivan
+
+       * FS/: FS/cdr_batch.pm, t/cdr_batch.t: proper cdr_batch table,
+         RT#6386
+
+2009-11-18 23:06  ivan
+
+       * FS/FS/cdr.pm: format CDRs durations as NNm MMs instead of NN.MMm,
+         RT#6316
+
+2009-11-18 22:21  ivan
+
+       * FS/FS/Cron/breakage.pm: consider credits and refunds in breakage,
+         RT#6407
+
+2009-11-18 01:39  mark
+
+       * httemplate/search/cust_pay_batch.cgi: RT#4786, RBC batch format
+
+2009-11-18 01:27  mark
+
+       * FS/FS/Conf.pm, FS/FS/pay_batch/RBC.pm,
+         httemplate/search/cust_pay_batch.cgi: RT#4768, RBC batch format
+
+2009-11-18 01:09  mark
+
+       * httemplate/: browse/cust_attachment.html,
+         misc/cust_attachment.cgi: cust_attachment improvement, RT#4964
+         and #6225
+
+2009-11-17 14:06  ivan
+
+       * FS/FS/cust_main.pm: do a case-insensive search on
+         browser-remembered results, so starting to use USPS verification
+         (which UPPERCASES everything) doesn't invalidate everything your
+         browser remembered in quick payment entry
+
+2009-11-17 12:56  jeff
+
+       * httemplate/edit/elements/ApplicationCommon.html: work around ie7
+         javascript issues
+
+2009-11-16 23:42  ivan
+
+       * httemplate/search/: report_cust_pay.html,
+         report_cust_refund.html, elements/cust_pay_or_refund.html: add
+         otaker to payment/refund search, RT#6407
+
+2009-11-16 23:08  ivan
+
+       * httemplate/: elements/menu.html, search/report_cust_refund.html:
+         add refund report, RT#6407
+
+2009-11-16 16:06  mark
+
+       * httemplate/: edit/cust_main_attach.cgi,
+         edit/process/cust_main_attach.cgi, elements/menu.html,
+         search/elements/search-html.html, view/cust_main.cgi,
+         view/cust_main/attachments.html: cust_attachment improvement,
+         RT#4964 and #6225
+
+2009-11-15 19:55  ivan
+
+       * FS/FS/cust_bill.pm, FS/FS/cust_main.pm,
+         httemplate/search/cust_bill.html,
+         httemplate/search/report_cust_bill.html: add ability to search on
+         ranges of charged, owed to adv. invoice report, RT#6407
+
+2009-11-15 18:27  ivan
+
+       * FS/: FS/Conf.pm, FS/Cron/bill.pm, bin/freeside-daily: add
+         disable_cron_billing config, RT#6407
+
+2009-11-13 16:08  ivan
+
+       * FS/FS/cust_main.pm, httemplate/elements/select-terms.html,
+         httemplate/search/cust_main.html,
+         httemplate/search/report_cust_main.html: add invoice terms to
+         advanced customer report.  dogfood.
+
+2009-11-12 23:12  ivan
+
+       * FS/FS/cust_pkg.pm: fix advanced package report fallout from
+         customer classes, RT#6677
+
+2009-11-12 13:45  mark
+
+       * FS/FS/Conf.pm, FS/FS/svc_acct.pm, httemplate/view/svc_acct.cgi,
+         httemplate/edit/svc_acct.cgi,
+         httemplate/edit/process/svc_acct.cgi: Add default password
+         encoding option
+
+2009-11-12 08:56  jeff
+
+       * FS/FS/: Schema.pm, tax_rate.pm: correct bugs in tax replacement
+         routine and allow updates to function
+
+2009-11-11 18:05  mark
+
+       * FS/FS/pay_batch/paymentech.pm: Fix date format string
+
+2009-11-11 18:03  mark
+
+       * FS/bin/: freeside-paymentech-upload,
+         freeside-paymentech-download: Fix zip password
+
+2009-11-11 08:38  jeff
+
+       * httemplate/edit/cust_credit.cgi: cruft removal
+
+2009-11-06 14:25  jeff
+
+       * httemplate/misc/xmlhttp-calculate_taxes.html: oops!  forgot an
+         important file for applying tax credits #4729
+
+2009-11-06 14:07  ivan
+
+       * FS/FS/cust_main.pm: use business-onlinepayment-description in
+         1.9, even without $pkgs
+
+2009-11-05 17:51  ivan
+
+       * FS/FS/: Conf.pm, cust_main_invoice.pm: add
+         emailinvoice-apostrophe config option to allow apostrophies in
+         invoice email addresses, RT#6464
+
+2009-11-05 16:25  ivan
+
+       * FS/FS/cust_main.pm, httemplate/search/cust_main.html,
+         httemplate/search/report_cust_main.html: add "payment expiration
+         before" to customer report, RT#6447
+
+2009-11-05 15:55  ivan
+
+       * FS/FS/ConfDefaults.pm: try not to make the "Customer Fields"
+         SELECT so huge
+
+2009-11-05 14:01  ivan
+
+       * httemplate/search/svc_acct.cgi: improvements in time remaining
+         report: correctly account for unpaid time for non-monthly
+         customers, report in hours+minutes intead of using Time::Duration
+         days/hours
+
+2009-11-05 13:22  ivan
+
+       * FS/bin/: freeside-paymentech-download,
+         freeside-paymentech-upload: back to old host name, info from
+         customer/paymentech was bogus, RT#5650
+
+2009-11-04 17:47  ivan
+
+       * FS/bin/: freeside-paymentech-download,
+         freeside-paymentech-upload: update paymentech live server,
+         RT#5650
+
+2009-11-04 16:52  ivan
+
+       * FS/FS/pkg_category.pm: fix pkg_category upgrades
+
+2009-11-04 16:48  ivan
+
+       * FS/FS/cust_main.pm: fix bad interaction between new city tax code
+         & using taxclasses without cities, RT#6637
+
+2009-11-04 16:29  ivan
+
+       * FS/FS/Mason.pm: oops, for customer categories
+
+2009-11-04 16:04  ivan
+
+       * httemplate/browse/cust_main_county.cgi: fix county filter on tax
+         config, fallout from city tax changes, RT#5852
+
+2009-11-03 17:40  ivan
+
+       * FS/bin/: freeside-paymentech-download,
+         freeside-paymentech-upload: add explicit use of Expect module, so
+         the error is thrown immediate, RT#5650
+
+2009-11-03 17:04  ivan
+
+       * FS/FS/Cron/breakage.pm, httemplate/config/config-process.cgi,
+         httemplate/config/config-view.cgi: reconcile breakage from stale
+         accounts, RT#6407
+
+2009-11-03 16:59  ivan
+
+       * FS/FS/part_pkg.pm: silence "use of uninitialized value in split"
+         warning
+
+2009-11-03 12:44  ivan
+
+       * FS/FS/pay_batch.pm: fix warning replacing pay_batch, RT#5650
+
+2009-11-03 11:56  ivan
+
+       * FS/bin/: freeside-paymentech-upload,
+         freeside-paymentech-download: check for zip and unzip commands,
+         use multi-arg version of system to prevent the shell getting its
+         hands on things (metacharacters in pw or whatnot), RT#5650
+
+2009-11-03 11:11  ivan
+
+       * FS/bin/: freeside-paymentech-download,
+         freeside-paymentech-upload: update usage & manpage w/ freeside-
+         prefix
+
+2009-11-03 11:03  ivan
+
+       * FS/bin/: freeside-paymentech-download,
+         freeside-paymentech-upload: fix usage of File::Temp->newdir, not
+         in 0.18 File::Temp on perl 5.10.0, RT#5650
+
+2009-11-03 10:53  ivan
+
+       * bin/paymentech-download, bin/paymentech-upload,
+         FS/bin/freeside-paymentech-download,
+         FS/bin/freeside-paymentech-upload: moving paymentech-* to FS/bin,
+         RT#5650
+
+2009-11-02 19:13  ivan
+
+       * httemplate/config/config.cgi, FS/FS/Conf.pm,
+         FS/bin/freeside-daily, httemplate/config/config-process.cgi,
+         httemplate/config/config-view.cgi,
+         httemplate/elements/tr-select-part_pkg.html,
+         FS/FS/Cron/breakage.pm: (start of) reconcile breakage from stale
+         accounts, RT#6407
+
+2009-11-02 17:48  ivan
+
+       * bin/paymentech-download: spelling
+
+2009-11-02 17:44  ivan
+
+       * bin/paymentech-download: add -a option for archive dir
+
+2009-11-02 17:21  ivan
+
+       * FS/FS/Conf.pm: clarify description of batchconfig-paymentech
+         based on notes from #5650
+
+2009-11-02 13:21  ivan
+
+       * httemplate/edit/payment_gateway.html: add Elavon, SagePay,
+         WorldPay, fix extra space on PlugnPay, PPIPayMover, Protx
+
+2009-11-01 14:12  jeff
+
+       * httemplate/search/: 477.html, elements/search-csv.html: form 477
+         improvements #6499
+
+2009-10-31 13:09  jeff
+
+       * FS/FS/cust_bill.pm: unbork summary page invoices
+
+2009-10-30 16:29  ivan
+
+       * FS/FS/cust_event.pm, FS/FS/cust_main_Mixin.pm,
+         httemplate/elements/select-part_event.html,
+         httemplate/elements/select-payby.html,
+         httemplate/elements/tr-select-part_event.html,
+         httemplate/search/cust_event.html,
+         httemplate/search/report_cust_event.html: more reporting options
+         for failed billing events, RT#6447
+
+2009-10-30 11:37  ivan
+
+       * FS/FS/: Conf.pm: add paymentech to batch config options
+
+2009-10-29 17:02  ivan
+
+       * httemplate/: browse/cust_main_county.cgi,
+         edit/bulk-cust_main_county.html,
+         edit/process/bulk-cust_main_county.html: bulk tax changes,
+         RT#6445
+
+2009-10-29 16:43  mark
+
+       * FS/FS/pay_batch/paymentech.pm: use XML::Writer for tighter
+         compliance with spec
+
+2009-10-29 16:42  mark
+
+       * bin/paymentech-upload: add option to upload all open batches
+
+2009-10-29 16:37  ivan
+
+       * httemplate/edit/bulk-cust_main_county.html: friendlier error
+         message when you select nothing, RT#6445
+
+2009-10-29 16:36  ivan
+
+       * httemplate/elements/errorpage-popup.html: adding errorpage popup,
+         RT#6445
+
+2009-10-29 15:55  ivan
+
+       * FS/bin/freeside-queued: have freeside-queued be more resillient
+         in the face of a database that's gone away, RT#6428
+
+2009-10-29 12:10  ivan
+
+       * FS/FS/cust_bill_pkg.pm: turn off debugging
+
+2009-10-29 12:08  ivan
+
+       * httemplate/search/cust_main.html,
+         httemplate/search/report_cust_main.html, FS/FS/cust_main.pm,
+         httemplate/elements/select-table.html: customer classification,
+         RT#6376
+
+2009-10-29 11:38  ivan
+
+       * FS/MANIFEST, FS/FS/cust_main.pm, FS/t/category_Common.t,
+         FS/t/class_Common.t, httemplate/browse/pkg_category.html,
+         httemplate/edit/cust_main/top_misc.html,
+         httemplate/view/cust_main/misc.html,
+         httemplate/elements/select-cust_class.html,
+         httemplate/elements/tr-select-cust_class.html: customer
+         classification, RT#6376
+
+2009-10-28 18:08  ivan
+
+       * FS/FS.pm, FS/MANIFEST, FS/FS/Schema.pm, FS/FS/category_Common.pm,
+         FS/FS/class_Common.pm, FS/FS/cust_category.pm,
+         FS/FS/cust_class.pm, FS/FS/cust_main.pm, FS/FS/pkg_category.pm,
+         FS/FS/pkg_class.pm, FS/t/cust_category.t, FS/t/cust_class.t,
+         httemplate/elements/menu.html,
+         httemplate/browse/cust_category.html,
+         httemplate/browse/cust_class.html,
+         httemplate/browse/part_pkg_report_option.html,
+         httemplate/browse/pkg_category.html,
+         httemplate/browse/pkg_class.html,
+         httemplate/edit/cust_category.html,
+         httemplate/edit/cust_class.html,
+         httemplate/edit/pkg_category.html,
+         httemplate/edit/pkg_class.html,
+         httemplate/edit/elements/category_Common.html,
+         httemplate/edit/elements/class_Common.html,
+         httemplate/edit/process/cust_category.html,
+         httemplate/edit/process/cust_class.html: customer classification,
+         RT#6376
+
+2009-10-28 12:04  ivan
+
+       * FS/FS/: svc_Common.pm, svc_acct.pm, svc_domain.pm,
+         svc_forward.pm, svc_www.pm: fix problems using inventory for UID
+         (and other fields controlled by check in svc_acct and also
+         svc_www, svc_domain and svc_forward), RT#6366
+
+2009-10-28 12:01  jeff
+
+       * FS/FS/cust_bill_pkg.pm, FS/FS/cust_credit.pm, FS/FS/cust_main.pm,
+         httemplate/edit/elements/ApplicationCommon.html,
+         httemplate/edit/process/cust_credit_bill.cgi,
+         httemplate/edit/process/elements/ApplicationCommon.html: UI
+         changes for credit applications include on the fly tax
+         calculations #4729
+
+2009-10-28 11:16  ivan
+
+       * FS/FS/part_svc.pm: fix removing a flag from a service definition
+         column
+
+2009-10-28 10:26  ivan
+
+       * httemplate/misc/inventory_item-import.html: fix inventory upload,
+         RT#6366
+
+2009-10-27 23:13  ivan
+
+       * FS/FS/cust_pkg.pm, httemplate/misc/bulk_change_pkg.cgi,
+         httemplate/search/cust_pkg.cgi,
+         httemplate/search/report_cust_pkg.html,
+         httemplate/view/cust_main/packages.html: customer link to package
+         reports for that customer, RT#6180
+
+2009-10-27 11:11  ivan
+
+       * FS/FS/Conf.pm, FS/FS/cust_main.pm,
+         httemplate/elements/header.html: address1 search, RT#5060
+
+2009-10-26 18:26  mark
+
+       * httemplate/edit/payment_gateway.html: add Jety to the list
+
+2009-10-26 16:20  ivan
+
+       * httemplate/elements/tr-select-pkg_class.html: didn't want to
+         revert that, though
+
+2009-10-26 16:17  ivan
+
+       * httemplate/elements/tr-select-pkg_class.html: better fix for
+         ignoring disabled package classes that doesn't search them twice
+
+2009-10-26 00:12  jeff
+
+       * FS/FS/Conf.pm, FS/FS/Schema.pm,
+         FS/FS/cust_bill_ApplicationCommon.pm, FS/FS/cust_bill_pay_pkg.pm,
+         FS/FS/cust_bill_pkg.pm, FS/FS/cust_bill_pkg_tax_location.pm,
+         FS/FS/cust_bill_pkg_tax_rate_location.pm,
+         FS/FS/cust_credit_bill_pkg.pm, httemplate/edit/cust_credit.cgi,
+         httemplate/edit/elements/ApplicationCommon.html,
+         httemplate/edit/process/elements/ApplicationCommon.html,
+         httemplate/search/cust_bill_pkg.cgi,
+         httemplate/search/report_newtax.cgi,
+         httemplate/search/report_tax.cgi,
+         httemplate/view/cust_main/payment_history/credit.html,
+         httemplate/view/cust_main/payment_history/payment.html: credits
+         return taxes, but the magic calculation button does not yet work
+         properly (grrr - more sleep required) RT#4729
+
+2009-10-25 18:11  ivan
+
+       * FS/FS/part_pkg/flat.pm: eliminiate noisy but harmless "Use of
+         uninitialized value in numeric gt (>)" warning
+
+2009-10-25 16:30  ivan
+
+       * FS/FS/: cust_main.pm, ClientAPI/MyAccount.pm: add apply option to
+         realtime_collect, RT#5071
+
+2009-10-24 17:29  ivan
+
+       * httemplate/search/cust_bill.html: import legacy invoice numbers
+         to cust_bill.agent_invid, RT#5351
+
+2009-10-24 16:37  mark
+
+       * FS/FS/pay_batch.pm, FS/FS/Conf.pm, FS/FS/pay_batch/paymentech.pm,
+         bin/paymentech-download, bin/paymentech-upload: Scripts for
+         paymentech batch transfer
+
+2009-10-23 19:04  ivan
+
+       * FS/FS/ClientAPI/MyAccount.pm,
+         fs_selfservice/FS-SelfService/cgi/decline.html,
+         fs_selfservice/FS-SelfService/cgi/login.html,
+         fs_selfservice/FS-SelfService/cgi/selfservice.cgi,
+         fs_selfservice/FS-SelfService/cgi/signup.cgi,
+         fs_selfservice/FS-SelfService/cgi/signup.html,
+         fs_selfservice/FS-SelfService/cgi/success.html: remove an
+         inadvertant debugging call left in, allow an agentnum to be
+         specfied for non-logged in situations, RT#6166
+
+2009-10-23 17:34  ivan
+
+       * FS/: FS/Conf.pm, FS/ClientAPI/MyAccount.pm,
+         FS/ClientAPI/Signup.pm, bin/freeside-selfservice-server:
+         selfservice per-agent skinning
+
+2009-10-23 17:16  ivan
+
+       * FS/FS/agent.pm: eliminate warnings from Business::CreditCard
+         about being passed an empty number
+
+2009-10-23 17:04  ivan
+
+       * FS/FS/Record.pm: fix cause of harmless 'Premature end of base64
+         data' warning
+
+2009-10-23 01:21  ivan
+
+       * bin/move-unlinked: adding unlinked account migration script,
+         RT#6126
+
+2009-10-22 18:41  ivan
+
+       * FS/FS/: Conf.pm, cust_pkg.pm: add cust_bill-consolidate_services
+         config to collapse multiple phone numbers (or whatever) into as
+         few lines as possible on invoices, RT#5223
+
+2009-10-22 15:11  ivan
+
+       * FS/FS/cust_bill.pm: fix invoice sub-totals, RT#6489
+
+2009-10-22 12:56  ivan
+
+       * FS/FS/ClientAPI/MasonComponent.pm: make sure that in the case
+         where there's no uncancelled active packages, the filter doesn't
+         reduce the package list to nothing, RT#6029
+
+2009-10-22 12:53  ivan
+
+       * FS/FS/ClientAPI/MasonComponent.pm: acciendtally left debugging
+         in, RT#6029
+
+2009-10-22 05:50  ivan
+
+       * FS/FS/Conf.pm, FS/FS/Schema.pm, FS/FS/part_pkg.pm,
+         FS/FS/ClientAPI/MasonComponent.pm,
+         httemplate/browse/part_pkg.cgi, httemplate/edit/part_pkg.cgi:
+         restrict additinal package order option, RT#6029
+
+2009-10-22 02:34  ivan
+
+       * httemplate/elements/city.html: yay, found blank city problem
+         w/new citytax foo, RT#5852
+
+2009-10-22 01:58  ivan
+
+       * httemplate/elements/select-county.html: fix all location selects
+         hidden on new customer add, fallout from city tax stuff, yay for
+         this not being on _1_9_BRANCH, RT#5852
+
+2009-10-22 01:08  ivan
+
+       * httemplate/search/svc_phone.cgi: should at least run under pg 8.3
+         now, need to test & see if the data make sense, RT#5496
+
+2009-10-21 22:32  ivan
+
+       * FS/FS/cust_bill_pkg_display.pm: fix incompatibility
+         w/invoice_sections vs. cust_bill_pkg.pkgnum -1 "virtual line
+         item" (rare)
+
+2009-10-21 17:28  ivan
+
+       * FS/FS/Schema.pm, bin/cdr-netsapiens.import: fix netsapiens CDR
+         import, RT#5226
+
+2009-10-21 00:09  ivan
+
+       * FS/FS/Schema.pm: MySQL doesn't like indexing a text field
+
+2009-10-20 23:34  ivan
+
+       * httemplate/search/prepay_credit.html: fix agent link in unused
+         prepaid card report
+
+2009-10-20 16:24  ivan
+
+       * FS/FS/cust_bill_pay_pkg.pm: should fix problems sending a receipt
+         against a specific package when taxes are in use
+
+2009-10-20 13:47  ivan
+
+       * bin/cdr-netsapiens.import: basic import working, still need
+         better src/dst mapping, RT#5226
+
+2009-10-20 13:43  ivan
+
+       * FS/FS/part_export/netsapiens.pm: better debug line showing full
+         URL, RT#5226
+
+2009-10-20 11:30  ivan
+
+       * fs_selfservice/FS-SelfService/cgi/change_pay.html: don't show
+         duplicate 'Credit card' or 'Check' choices even when
+         signup_server-payby has CARD & DCRD (or CHEK & DCHK)
+
+2009-10-16 15:39  ivan
+
+       * FS/FS/cust_bill_pkg.pm: make warning about expensive lookup a
+         carp & controlled by $DEBUG
+
+2009-10-12 07:11  ivan
+
+       * bin/cdr-netsapiens.import: finish netsapiens import, RT#6365
+
+2009-10-12 06:09  ivan
+
+       * FS/FS/part_export/shellcommands.pm: terrible typo
+
+2009-10-12 05:50  ivan
+
+       * FS/FS/part_export/shellcommands.pm: add customer information to
+         shellcommands export, RT#5351
+
+2009-10-12 02:10  ivan
+
+       * fs_selfservice/FS-SelfService/cgi/: signup.cgi, signup.html: use
+         modules in signup.cgi instead of in the template, fixes "Insecure
+         dependency in rquire"
+
+2009-10-11 23:48  ivan
+
+       * FS/FS/ClientAPI/MyAccount.pm,
+         fs_selfservice/FS-SelfService/cgi/myaccount.html,
+         fs_selfservice/FS-SelfService/cgi/myaccount_menu.html: fix
+         inadvertant "unknown package" error, fallout from pkg-balance
+         work, RT#6125
+
+2009-10-11 19:34  ivan
+
+       * FS/FS/cust_main.pm: using the per-city taxes sure was a lot
+         easier than the UI... RT#5852
+
+2009-10-11 19:30  ivan
+
+       * FS/FS/part_event/Action/: cust_bill_fee_percent.pm, fee.pm: fix
+         for no finance_pkgclass set
+
+2009-10-11 19:14  ivan
+
+       * httemplate/edit/cust_main_county.html: UI for per-city taxes
+         (setup and assigning to customers/package locations), RT#5852
+
+2009-10-11 18:58  ivan
+
+       * httemplate/: edit/cust_main/contact.html,
+         elements/select-country.html: UI for per-city taxes (setup and
+         assigning to customers/package locations), RT#5852
+
+2009-10-11 18:45  ivan
+
+       * FS/FS/Mason.pm, FS/FS/Misc.pm, FS/FS/Schema.pm,
+         FS/FS/cust_main_county.pm,
+         httemplate/browse/cust_main_county.cgi,
+         httemplate/edit/cust_main.cgi,
+         httemplate/edit/cust_main_county-expand.cgi,
+         httemplate/edit/process/cust_main_county-collapse.cgi,
+         httemplate/edit/process/cust_main_county-expand.cgi,
+         httemplate/elements/city.html, httemplate/elements/location.html,
+         httemplate/elements/select-county.html,
+         httemplate/elements/tr-select-cust_location.html,
+         httemplate/misc/cities.cgi: UI for per-city taxes (setup and
+         assigning to customers/package locations), RT#5852
+
+2009-10-11 00:44  ivan
+
+       * conf/ticket_system-default_queueid: default to 1
+
+2009-10-10 19:41  ivan
+
+       * ChangeLog, debian/changelog: Updated for 1.9.1
+
+2009-10-10 18:57  ivan
+
+       * ChangeLog, rpm/freeside.spec, debian/changelog: Updated for 1.9.1
+
+2009-10-10 18:50  ivan
+
+       * Makefile, bin/cvs2cl: helps to have the tool
+
+2009-10-10 18:48  ivan
+
+       * Makefile: do it
+
+2009-10-10 18:48  ivan
+
+       * rt/lib/RT.pm: huh #2
+
+2009-10-10 18:46  ivan
+
+       * rt/Makefile: huh
+
+2009-10-10 18:45  ivan
+
+       * httemplate/search/elements/search-html.html: don't try to follow
+         a blank redirect
+
+2009-10-10 18:45  ivan
+
+       * httemplate/search/report_cdr.html: end form
+
+2009-10-10 18:45  ivan
+
+       * httemplate/elements/tr-textarea.html: new rows and cols options
+
+2009-10-10 18:44  ivan
+
+       * httemplate/elements/tr-select-pkg_class.html: respect
+         element_name
+
+2009-10-10 18:43  ivan
+
+       * httemplate/browse/agent.cgi: cleanup
+
+2009-10-10 18:42  ivan
+
+       * eg/cdr_template.pm, httemplate/elements/selectlayers.html: doc
+
+2009-10-10 18:41  ivan
+
+       * FS/FS/part_export/globalpops_voip.pm: correct variable
+         initialization
+
+2009-10-10 18:40  ivan
+
+       * FS/FS/: access_right.pm, access_usergroup.pm,
+         clientapi_session_field.pm, cust_svc_option.pm: remembered to
+         customize this manpage
+
+2009-10-10 18:39  ivan
+
+       * FS/FS/Record.pm: ::1 becomes 127.0.0.1 in IP checks
+
+2009-10-09 20:22  ivan
+
+       * ChangeLog: commit message for a file about commitmessages
+
+2009-10-09 16:59  ivan
+
+       * FS/FS/Schema.pm, FS/FS/cust_main.pm,
+         httemplate/edit/cust_main/billing.html,
+         httemplate/elements/select-terms.html, FS/FS/cust_bill.pm,
+         httemplate/edit/quick-charge.html,
+         httemplate/edit/process/quick-charge.cgi: change invoice terms
+         for one-time charges (& bill them immediately), RT#5891
+
+2009-10-09 14:37  ivan
+
+       * FS/FS/cust_main.pm: add cust_pkg_ref option to charge
+
+2009-10-08 01:28  ivan
+
+       * httemplate/view/cust_main/packages.html: fix "show old packages"
+         accidentally hiding cancelled packages, RT#5276
+
+2009-10-07 23:00  ivan
+
+       * FS/FS/: cust_main.pm, Cron/bill.pm: freeside-daily -g and -m
+         cooperation (and no HASH() queue noise with -m)
+
+2009-10-07 22:44  ivan
+
+       * FS/FS/: cust_bill.pm, cust_main.pm: avoid some (look to be
+         harmless) warnings:
+
+         Argument "" isn't numeric in sprintf at
+         /usr/local/share/perl/5.10.0/FS/cust_bill.pm line 2358.
+
+         Argument "" isn't numeric in subtraction (-) at
+         /usr/local/share/perl/5.10.0/FS/cust_bill.pm line 2359.
+
+         Argument "" isn't numeric in addition (+) at
+         /usr/local/share/perl/5.10.0/FS/cust_main.pm line 2788.
+
+2009-10-07 22:09  ivan
+
+       * FS/FS/cust_bill.pm: tyop
+
+2009-10-07 18:15  ivan
+
+       * FS/FS/Conf.pm, FS/FS/cust_bill.pm, conf/invoice_html,
+         conf/invoice_latex: conf switches to turn on smaller notes and
+         footer sections with stock templates, RT#5218
+
+2009-10-07 16:51  ivan
+
+       * httemplate/view/cust_statement.html: naming follow-up notices
+         from the event rather than creting a slew of separate templates,
+         RT#5217
+
+2009-10-07 16:44  ivan
+
+       * FS/FS/cust_bill.pm, httemplate/misc/email-statement.cgi,
+         httemplate/misc/send-invoice.cgi,
+         httemplate/misc/send-statement.cgi,
+         httemplate/search/cust_event.html,
+         FS/FS/part_event/Action/cust_bill_send_reminder.pm,
+         conf/invoice_html, conf/invoice_latex, conf/invoice_template,
+         httemplate/view/cust_bill-pdf.cgi,
+         httemplate/view/cust_bill-ps.cgi, httemplate/view/cust_bill.cgi,
+         httemplate/view/cust_statement.html: naming follow-up notices
+         from the event rather than creting a slew of separate templates,
+         RT#5217
+
+2009-10-06 17:43  ivan
+
+       * FS/FS/Conf_compat17.pm: bring up-to-date wrt 1.7 Conf.pm
+         1.180.2.52 (2009-10-03), RT#2873
+
+2009-10-06 16:51  ivan
+
+       * FS/FS/cust_bill_pkg.pm: remove inadvertant debugging warnings
+
+2009-10-06 08:49  jeff
+
+       * httemplate/edit/router.cgi: replace disappearing line
+
+2009-10-05 16:36  ivan
+
+       * FS/FS/svc_acct.pm: remove annoying warning: Use of uninitialized
+         value $FS::svc_acct::passwordmin in pattern match (m//) at
+         /usr/local/share/perl/5.10.0/FS/svc_acct.pm line 60.
+
+2009-10-05 11:17  ivan
+
+       * httemplate/misc/payment.cgi: oops, handle old cust_main.pm
+         properly (should we be bothering?) :/ RT#5889
+
+2009-10-05 09:57  ivan
+
+       * httemplate/view/cust_main/payment_history/voided_payment.html:
+         doh, fix error viewing voided payments, RT#6382
+
+2009-10-05 08:07  jeff
+
+       * httemplate/elements/tr-select-pkg_class.html: remove unused
+         option that DTWT
+
+2009-10-05 07:04  jeff
+
+       * httemplate/edit/cust_main/: bottomfixup.js,
+         choose_tax_location.html, contact.html: low hanging fruit:
+         improvement in tax location selection RT#6000
+
+2009-10-05 07:01  jeff
+
+       * httemplate/edit/router.cgi: low hanging fruit: restore router
+         virtual fields (and svcnum) in 1.9 RT#5960
+
+2009-10-04 19:40  ivan
+
+       * httemplate/misc/payment.cgi: add manual_process-skip_first
+         option, RT#5889
+
+2009-10-04 19:35  ivan
+
+       * FS/FS/Conf.pm, FS/FS/cust_main.pm, httemplate/misc/payment.cgi:
+         add manual_process-skip_first option, RT#5889
+
+2009-10-04 19:16  ivan
+
+       * FS/FS/Conf.pm, httemplate/misc/payment.cgi,
+         httemplate/misc/process/payment.cgi: add manual_process-display
+         config to subtract fee from amount instead of adding, RT#5889
+
+2009-10-04 18:40  jeff
+
+       * conf/invoice_html: can't revert because windows is ghei
+
+2009-10-04 18:07  jeff
+
+       * FS/FS/cust_main.pm: don't consider setup or recurring taxes when
+         billing usage on cancel
+
+2009-10-04 18:00  jeff
+
+       * FS/FS/: cust_bill.pm, cust_main.pm, part_pkg/voip_cdr.pm:
+         invoices with details in separate section but usage not separated
+
+2009-10-04 17:49  jeff
+
+       * FS/FS/Conf.pm, FS/FS/Schema.pm, FS/FS/Upgrade.pm,
+         FS/FS/cust_bill.pm, conf/invoice_html, conf/invoice_htmlsummary,
+         conf/invoice_latex, conf/invoice_latexsummary,
+         FS/FS/cust_bill_pkg.pm, FS/FS/cust_bill_pkg_display.pm,
+         FS/FS/cust_main.pm, FS/FS/pkg_category.pm,
+         FS/FS/part_event/Action/cust_bill_fee_percent.pm,
+         FS/FS/part_event/Action/fee.pm,
+         httemplate/browse/pkg_category.html,
+         httemplate/edit/pkg_category.html: leading summary page invoices
+         #RT5086
+
+2009-10-04 16:36  ivan
+
+       * fs_selfservice/FS-SelfService/cgi/selfservice.cgi: fix the same
+         problem with processing payments & masked ACH amounts, RT#6374
+
+2009-10-04 16:31  ivan
+
+       * FS/FS/ClientAPI/MyAccount.pm: fix problems "re-saving" a masked
+         card.  hopefully the last of it!
+
+2009-10-03 19:09  ivan
+
+       * httemplate/misc/delete-cust_bill.html: delete invoices, RT#4048
+
+2009-10-03 19:04  ivan
+
+       * FS/FS/AccessRight.pm, FS/FS/Conf.pm, FS/FS/Setup.pm,
+         FS/FS/cust_bill.pm, FS/FS/cust_bill_pkg.pm,
+         FS/bin/freeside-addgroup, bin/mapsecrets2access_user,
+         httemplate/view/cust_bill.cgi,
+         httemplate/view/cust_main/payment_history.html,
+         httemplate/view/cust_main/payment_history/invoice.html: delete
+         invoices, RT#4048
+
+2009-10-03 17:08  ivan
+
+       * httemplate/view/cust_main.cgi: more room for cancellation reason
+
+2009-10-03 17:07  ivan
+
+       * httemplate/elements/popup_link-cust_main.html: doc
+
+2009-10-03 15:09  ivan
+
+       * httemplate/edit/part_bill_event.cgi: cancel to 80, comp @ 90,
+         RT#5674
+
+2009-10-03 15:06  ivan
+
+       * httemplate/edit/part_bill_event.cgi: in old invoice events,
+         chance default weight of cancel event to 90 so you can place it
+         at the same time as a realtime event, RT#5674
+
+2009-10-03 13:22  mark
+
+       * FS/FS/: pay_batch.pm, pay_batch/paymentech.pm: Load XML::Simple
+         at runtime to avoid breakage
+
+2009-10-01 16:48  ivan
+
+       * FS/FS/cust_main.pm: hopefully fully fix bulk email errors when
+         selecting a single payby
+
+2009-10-01 16:01  ivan
+
+       * FS/FS/Schema.pm: allow svc_acct._password to be NULL in the
+         schema
+
+2009-10-01 15:02  ivan
+
+       * httemplate/view/cust_main/payment_history/voided_payment.html:
+         consistency with un-voided payments wrt display
+
+2009-09-30 17:52  ivan
+
+       * fs_selfservice/FS-SelfService/cgi/selfservice.cgi: hopefully the
+         really final fix for the problems using remembered cards in
+         self-service. *sigh*
+
+2009-09-30 17:29  ivan
+
+       * FS/: FS/Conf.pm, FS/Cron/check.pm, bin/freeside-check: add login
+         check to FS::ClientAPI::SG/SGNG checks. RT#4610
+
+2009-09-30 12:33  ivan
+
+       * fs_selfservice/FS-SelfService/cgi/selfservice.cgi: hopefully the
+         final fix for the problems using remembered cards in self-service
+
+2009-09-29 15:08  ivan
+
+       * httemplate/misc/email-customers.html: should fix newsletter
+         sending error when you select a single payby only
+
+2009-09-28 23:17  ivan
+
+       * FS/t/cust_attachment.t: forgot
+
+2009-09-28 15:45  ivan
+
+       * FS/FS/Cron/check.pm: more accurate SG check, RT#4610
+
+2009-09-28 15:35  ivan
+
+       * FS/: FS/Cron/check.pm, bin/freeside-check: correct place for use
+         Email::Send, RT#4610
+
+2009-09-28 15:23  ivan
+
+       * FS/FS/Cron/check.pm: oops, hopefully fix sg cron check, RT#4610
+
+2009-09-28 08:55  jeff
+
+       * FS/FS/cust_pkg.pm: use object copy when billing on cancel to
+         avoid very weird side effects ( including 'impossible' history )
+         RT#5723
+
+2009-09-25 05:29  ivan
+
+       * FS/FS/Conf.pm, httemplate/config/config-view.cgi,
+         httemplate/config/config.cgi,
+         httemplate/config/config-process.cgi,
+         httemplate/misc/payment.cgi, httemplate/misc/process/payment.cgi:
+         processing fee on credit card recharges, RT#5889
+
+2009-09-25 03:29  ivan
+
+       * FS/FS/Conf.pm: this one too
+
+2009-09-25 03:14  ivan
+
+       * FS/FS/Conf.pm, FS/FS/svc_acct.pm, FS/FS/ClientAPI/Signup.pm,
+         fs_selfservice/FS-SelfService/cgi/signup.cgi,
+         fs_selfservice/FS-SelfService/cgi/signup.html,
+         httemplate/config/config-process.cgi,
+         httemplate/config/config-view.cgi, httemplate/config/config.cgi,
+         httemplate/elements/select-part_svc.html,
+         httemplate/elements/select-table.html,
+         httemplate/elements/tr-select-part_svc.html: nomadix, RT#5876
+
+2009-09-24 19:30  mark
+
+       * FS/FS/pay_batch.pm, FS/FS/Conf.pm, FS/FS/pay_batch/BoM.pm,
+         FS/FS/pay_batch/PAP.pm, FS/FS/pay_batch/ach_spiritone.pm,
+         FS/FS/pay_batch/chase_canada.pm, FS/FS/pay_batch/paymentech.pm,
+         FS/FS/pay_batch/td_canada_trust.pm,
+         httemplate/misc/download-batch.cgi,
+         httemplate/search/cust_pay_batch.cgi: Batch payment refactoring
+
+2009-09-24 18:04  mark
+
+       * FS/MANIFEST: Add cust_attachment
+
+2009-09-24 12:59  ivan
+
+       * FS/FS/: Cron/check.pm, Conf.pm: get the ping username/pass from a
+         config, good enough, RT#4610
+
+2009-09-23 20:14  ivan
+
+       * FS/FS/Cron/check.pm, FS/bin/freeside-check,
+         FS/FS/ClientAPI/SGNG.pm,
+         fs_selfservice/FS-SelfService/SelfService.pm: add SG and SGNG
+         ping, RT#4610
+
+2009-09-23 16:47  ivan
+
+       * FS/FS/TicketSystem/RT_External.pm: this should fix the occasional
+         extra ticket showing up on wrong customer record
+
+2009-09-21 20:08  ivan
+
+       * FS/FS/Mason.pm: add addl_comp_root.pl and addl_handler_use.pl
+         config files, RT#4743
+
+2009-09-21 13:48  ivan
+
+       * FS/FS/cust_bill.pm: i think it is new Pg (or... new Record.pm???)
+         that causes this problem... before it just returned nothing for
+         the search instead of erroring out?
+
+2009-09-20 23:05  ivan
 
        * FS/FS/Conf.pm: doc clarification
 
          FS/FS/part_event/Condition/has_pkg_class.pm,
          FS/FS/part_event/Condition/has_pkgpart.pm,
          FS/FS/part_event/Condition/hasnt_pkgpart.pm,
+         httemplate/misc/email-statement.cgi,
          httemplate/view/cust_statement-pdf.cgi,
          httemplate/view/cust_statement.html: email statements, RT#4860
 
 
 2009-08-12 07:58  jeff
 
-       * Makefile, FS/FS/Conf.pm, FS/FS/Cron/upload.pm,
+       * bin/billco-upload, Makefile, FS/FS/Conf.pm, FS/FS/Cron/upload.pm,
          FS/bin/freeside-daily, FS/bin/freeside-monthly,
          httemplate/config/config-view.cgi: internalize billco-upload and
          automate the transfer to the provider RT#5902
        * FS/: FS/cust_main.pm, FS/Cron/bill.pm, bin/freeside-daily: commit
          pkgpart exclusion for billing run, RT#5495
 
+2009-07-17 07:58  jeff
+
+       * bin/billco-upload: add mutex and commit changes found on
+         installed system
+
 2009-07-16 19:29  jeff
 
        * httemplate/search/cust_pkg.cgi: FSM, another missed file for 477
 
 2009-07-16 17:10  ivan
 
-       * FS/: FS/Schema.pm, FS/cdr.pm, FS/part_pkg/voip_cdr.pm, FS.pm: get
-         rid of cdr_upstream_rate table and some other old convergent
-         cruft
+       * FS/: FS/Schema.pm, FS/cdr.pm, FS/cdr_upstream_rate.pm,
+         FS/part_pkg/voip_cdr.pm, FS.pm, t/cdr_upstream_rate.t: get rid of
+         cdr_upstream_rate table and some other old convergent cruft
 
 2009-07-16 15:16  jeff
 
 
        * FS/MANIFEST: remove freeside-expiration-alerter
 
+2009-06-26 17:55  ivan
+
+       * FS/bin/freeside-expiration-alerter: replaced by
+         FS::Cron::alert_expiration
+
 2009-06-26 16:21  ivan
 
        * FS/bin/freeside-queued: doh, brainfart, RT#5572
 
 2009-05-09 16:54  ivan
 
-       * FS/bin/freeside-cdr-sftp_and_import: move cdr-sftp_and_import
-         script to FS/bin, add -p option, RT#4081
+       * FS/bin/freeside-cdr-sftp_and_import, bin/cdr.sftp_and_import:
+         move cdr-sftp_and_import script to FS/bin, add -p option, RT#4081
 
 2009-05-09 00:56  ivan
 
          httemplate/edit/cust_main/top_misc.html,
          httemplate/edit/cust_main/billing.html,
          httemplate/edit/cust_main/choose_tax_location.html,
+         httemplate/edit/cust_main/select-domain.html,
          httemplate/edit/cust_main/first_pkg/select-part_pkg.html,
          httemplate/edit/cust_main/first_pkg/svc_acct.html,
          httemplate/edit/cust_main/first_pkg/svc_phone.html,
 
        * FS/FS/Setup.pm: be quiet
 
+2009-02-24 02:09  ivan
+
+       * conf/report_template: more bootstrapping bs
+
 2009-02-24 02:06  ivan
 
        * FS/FS/part_referral.pm: bootstrapping issues
 2009-02-09 06:05  ivan
 
        * FS/FS/Conf.pm, FS/FS/cust_bill.pm, FS/FS/cust_credit.pm,
-         FS/FS/cust_pay.pm, conf/invoice_html,
-         conf/invoice_html_statement, httemplate/config/config-image.cgi,
+         FS/FS/cust_pay.pm, FS/bin/freeside-expiration-alerter,
+         conf/invoice_html, conf/invoice_html_statement,
+         httemplate/config/config-image.cgi,
          httemplate/config/config-process.cgi,
          httemplate/config/config-view.cgi, httemplate/config/config.cgi,
          httemplate/elements/header.html, httemplate/view/REAL_logo.cgi,
 
 2009-01-02 17:52  ivan
 
-       * bin/cdr.http_and_import, bin/cdr.import, FS/FS/Record.pm,
-         FS/FS/cdr.pm, FS/FS/cdr/indosoft.pm: indosoft CDR format, RT#4425
+       * bin/cdr.http_and_import, bin/cdr.import, bin/cdr.sftp_and_import,
+         FS/FS/Record.pm, FS/FS/cdr.pm, FS/FS/cdr/indosoft.pm: indosoft
+         CDR format, RT#4425
 
 2009-01-02 14:03  ivan
 
        * FS/FS/Record.pm, FS/FS/cdr.pm, FS/FS/cdr/bell_west.pm,
-         FS/FS/cdr/troop.pm, bin/cdr.import: add troop CDRs, RT#4413
+         FS/FS/cdr/troop.pm, bin/cdr.import, bin/cdr.sftp_and_import: add
+         troop CDRs, RT#4413
 
 2009-01-02 10:01  ivan
 
 
 2008-12-29 10:06  jeff
 
-       * Makefile, conf/invoice_latex, etc/fslongtable.sty: ease
-         deployment of patched longtable
+       * Makefile, conf/invoice_latex, conf/longtable.sty.patch,
+         etc/fslongtable.sty: ease deployment of patched longtable
 
 2008-12-28 11:10  ivan
 
 
        * httemplate/: browse/cust_main_county.cgi,
          edit/cust_main/contact.html, edit/cust_main/billing.html,
-         misc/payment.cgi: fix browse results for selecting counties
-         (resulting from separating tax classes), also add dropdowns to
-         browse by state and county, RT#4496
+         misc/payment.cgi, edit/cust_main/select-country.html,
+         edit/cust_main/select-county.html,
+         edit/cust_main/select-state.html: fix browse results for
+         selecting counties (resulting from separating tax classes), also
+         add dropdowns to browse by state and county, RT#4496
 
 2008-12-24 16:45  jeff
 
 
        * conf/invoice_latex: better value for non-broken tetex
 
+2008-10-12 12:43  jeff
+
+       * conf/longtable.sty.patch: check not just for fit, but move the
+         goalposts as well
+
 2008-10-11 17:58  ivan
 
        * httemplate/browse/cust_main_county.cgi: fix link
 
 2008-10-10 14:30  jeff
 
-       * conf/invoice_latex: avoid overprinting remittance coupons
+       * conf/: invoice_latex, longtable.sty.patch: avoid overprinting
+         remittance coupons
 
 2008-10-10 12:25  ivan
 
 
 2008-08-28 18:09  ivan
 
-       * FS/FS/Schema.pm, FS/FS/cdr.pm,
+       * FS/FS/Schema.pm, FS/FS/cdr.pm, bin/cdr.sftp_and_import,
          httemplate/elements/select-cdrbatch.html,
          httemplate/elements/tr-select-cdrbatch.html,
          httemplate/search/cdr.html, httemplate/search/report_cdr.html:
 
 2008-07-30 15:10  ivan
 
-       * FS/FS/cdr/nextone.pm: rename nt to nextone
+       * FS/FS/cdr/: nextone.pm, nt.pm: rename nt to nextone
 
 2008-07-29 13:00  jeff
 
 2008-07-17 16:55  ivan
 
        * FS/FS/: cdr.pm, cdr/asterisk.pm, cdr/genband.pm,
-         cdr/genband_meetme.pm, cdr/openser.pm, cdr/simple.pm,
+         cdr/genband_meetme.pm, cdr/nt.pm, cdr/openser.pm, cdr/simple.pm,
          cdr/taqua.pm, cdr/unitel.pm: CDR updates; modularize CDR import
          formats; add formats for OpenSER, Genband/Tekelec, and "NT"
 
          httemplate/misc/areacodes.cgi, httemplate/misc/exchanges.cgi,
          httemplate/misc/phonenums.cgi, FS/FS/Record.pm,
          FS/FS/part_export/globalpops_voip.pm,
-         httemplate/edit/svc_phone.cgi: get DIDs from globalpops
+         httemplate/edit/svc_phone.cgi,
+         httemplate/edit/cust_main/select-state.html: get DIDs from
+         globalpops
 
 2008-06-28 12:25  jeff
 
          (cancel/suspend) reason and possibly fix a lingering spurious
          usergroup bug
 
+2008-04-16 04:54  jeff
+
+       * httemplate/edit/part_pkg_taxproduct.html: this no longer belongs
+
 2008-04-15 21:42  ivan
 
        * httemplate/: edit/part_pkg.cgi, browse/part_pkg.cgi: add plan &
 
 2008-04-07 22:49  ivan
 
-       * debian/: README.Debian, TODO, changelog, compat, config, control,
-         copyright, cron.d, dbconfig-common.install,
-         dbconfig-common.upgrade, freeside-webui.links,
-         freeside.apache-alias.conf, freeside.default, freeside.docs,
-         init.d.ex, init.d.lsb.ex, postinst, postrm, preinst, prerm,
-         rules, templates: debian packages!
+       * debian/: README.Debian, TODO, changelog, compat, conffiles.ex,
+         config, control, copyright, cron.d, cron.d.ex,
+         dbconfig-common.install, dbconfig-common.upgrade, dirs, docs,
+         ex.doc-base.package, freeside-doc.docs, freeside-doc.files,
+         freeside-webui.links, freeside.apache-alias.conf,
+         freeside.default, freeside.docs, init.d.ex, init.d.lsb.ex,
+         manpage.1.ex, manpage.sgml.ex, menu.ex, postinst, postinst.ex,
+         postrm, postrm.ex, preinst, preinst.ex, prerm, prerm.ex, rules,
+         templates, watch.ex: debian packages!
 
 2008-04-06 09:12  jeff
 
        * httemplate/docs/: credits.html, license.html: adding license and
          credits in app itself
 
+2008-04-01 16:24  ivan
+
+       * TODO: remove TODO
+
+2008-04-01 16:24  ivan
+
+       * SCHEMA_CHANGE: remove SCHEMA_CHANGE
+
 2008-04-01 16:20  ivan
 
        * README: welcome to the new world
          FS/t/part_pkg_taxrate.t, FS/t/tax_class.t, FS/t/tax_rate.t,
          httemplate/browse/tax_rate.cgi, httemplate/edit/part_pkg.cgi,
          httemplate/edit/part_pkg_taxoverride.html,
+         httemplate/edit/part_pkg_taxproduct.html,
          httemplate/edit/tax_class.html, httemplate/edit/tax_rate.html,
          httemplate/edit/process/part_pkg.cgi,
          httemplate/edit/process/tax_class.html,
 2008-03-23 16:32  ivan
 
        * rt/html/Elements/: AddCustomers, EditCustomers: part 1 of #1160:
-         associate users w/customers, manual editing
-
-2008-03-19 12:48  jeff
-
-       * httemplate/edit/part_bill_event.cgi: quick fix for deep recursion
-         (RT#3267)
-
-2008-03-17 23:43  ivan
-
-       * fs_selfservice/fri/modules/: billing.module, dashboard.module,
-         myaccount.module: pre-show checkpoint.  duct tape!
-
-2008-03-17 09:24  ivan
-
-       * fs_selfservice/fri/modules/: billing.module, dashboard.module,
-         myaccount.module: checkpoint
-
-2008-03-16 19:49  ivan
-
-       * fs_selfservice/fri/: includes/freeside.class.php,
-         modules.template/blank.module: missed bits
-
-2008-03-16 19:48  ivan
-
-       * fs_selfservice/fri/: includes/login.php, includes/main.conf.php,
-         locale/ari.po, modules/billing.module,
-         modules/callmonitor.module, modules/dashboard.module,
-         modules/myaccount.module, modules/settings.module,
-         theme/page.tpl.php: first bits of working FRI!  woop!
-
-2008-03-16 19:37  ivan
-
-       * httemplate/view/cust_main/packages.html: fix oops in new popup
-         components
-
-2008-03-16 16:36  ivan
-
-       * FS/FS/ClientAPI/MyAccount.pm: hopefully allow phone login to work
-
-2008-03-16 16:25  ivan
-
-       * httemplate/view/svc_phone.cgi: view PINs too
-
-2008-03-16 16:05  jeff
-
-       * httemplate/: elements/popup_link-cust_main.html,
-         elements/popup_link-cust_pkg.html,
-         elements/popup_link-cust_svc.html, elements/popup_link.html,
-         view/cust_main.cgi, view/cust_main/packages.html: componentize
-         conflicting %once subroutines (rt#3250)
-
-2008-03-16 15:48  ivan
-
-       * httemplate/edit/svc_phone.cgi: phone gets a pin
-
-2008-03-16 15:39  ivan
-
-       * FS/FS/ClientAPI/MyAccount.pm: phonenum + pin login
-
-2008-03-16 15:24  ivan
-
-       * FS/FS/: Conf.pm, svc_phone.pm, ClientAPI/MyAccount.pm: phonenum +
-         pin login
-
-2008-03-16 14:07  ivan
-
-       * fs_selfservice/fri/includes/: common.php, login.php: first try at
-         single sign-on
-
-2008-03-16 12:58  ivan
-
-       * fs_selfservice/fri/: theme/page.tpl.php,
-         modules/callmonitor.module, modules/settings.module,
-         includes/main.conf.php, includes/common.php, includes/login.php,
-         locale/ari.po: Initial revision
-
-2008-03-16 12:58  ivan
-
-       * fs_selfservice/fri/: CHANGE.log, LICENSE.txt, README.txt,
-         index.php, version.php, theme/global.css, theme/header.css,
-         theme/iefixes.css, theme/layout.css, theme/logo.gif,
-         theme/main.css, theme/navigation.css, theme/spacer.gif,
-         theme/text.css, theme/images/arrow-asc.gif,
-         theme/images/arrow-desc.gif, modules/phonefeatures.module,
-         modules/voicemail.module, modules/featurecodes.module,
-         modules/followme.module, includes/ajax.php, includes/crypt.php,
-         misc/audio.php, misc/popup.css, misc/recording_popup.php,
-         modules/VmX.module, includes/asi.php, includes/bootstrap.php,
-         includes/database.php, includes/display.php, includes/lang.php,
-         locale/readme.txt, locale/ari.utf-8.po, locale/locale.txt,
-         locale/de_DE/LC_MESSAGES/ari.mo, locale/hu_HU/LC_MESSAGES/ari.mo,
-         locale/hu_HU/LC_MESSAGES/ari.po, locale/pt_BR/LC_MESSAGES/ari.mo,
-         locale/pt_BR/LC_MESSAGES/ari.po, locale/de_DE/LC_MESSAGES/ari.po,
-         locale/el_GR/LC_MESSAGES/ari.mo, locale/el_GR/LC_MESSAGES/ari.po,
-         locale/es_ES/LC_MESSAGES/ari.mo, locale/es_ES/LC_MESSAGES/ari.po,
-         locale/sv_SE/LC_MESSAGES/ari.mo, locale/sv_SE/LC_MESSAGES/ari.po,
-         locale/it_IT/LC_MESSAGES/ari.mo, locale/fr_FR/LC_MESSAGES/ari.mo,
-         locale/fr_FR/LC_MESSAGES/ari.po, locale/he_IL/LC_MESSAGES/ari.mo,
-         locale/he_IL/LC_MESSAGES/ari.po, locale/it_IT/LC_MESSAGES/ari.po:
-         [no log message]
-
-2008-03-16 09:57  jeff
-
-       * httemplate/misc/recharge_svc.html: doh
-
-2008-03-16 01:04  ivan
-
-       * FS/FS/UID.pm: goodness, i hope this fixes the bootstrapping
-
-2008-03-16 00:25  ivan
-
-       * FS/FS/UID.pm: okay, really now, how about this
-
-2008-03-16 00:24  ivan
-
-       * FS/FS/UID.pm: okay, how about this
-
-2008-03-16 00:21  ivan
-
-       * FS/FS/UID.pm: fix 1.7->1.9 bootstrapping, i think
-
-2008-03-15 22:22  ivan
-
-       * httemplate/search/svc_broadband.cgi: clean up and
-         agent-virtualize svc_broadband searching
-
-2008-03-15 22:13  ivan
-
-       * httemplate/edit/part_svc.cgi: finish bringing sanity to
-         svc_broadband service definition blocknum edit
-
-2008-03-15 22:13  ivan
-
-       * FS/FS/: addr_block.pm, svc_broadband.pm: bring some sanity to
-         address block selection in svc_broadband service definition edit
-
-2008-03-15 21:54  ivan
-
-       * httemplate/browse/: addr_block.cgi, router.cgi: drag address &
-         router browse into this centiry
-
-2008-03-15 21:00  ivan
-
-       * httemplate/elements/header.html, httemplate/elements/menu.html,
-         rt/html/Elements/FreesideSearch: hide customer search if user
-         does not have "List customers" ACL, closes: RT#3105
-
-2008-03-15 15:18  ivan
-
-       * httemplate/edit/part_pkg.cgi, FS/FS/part_pkg/voip_cdr.pm:
-         slightly better voip_cdr package edit: use radio buttons for
-         selecting long things
-
-2008-03-15 14:39  ivan
-
-       * FS/FS/part_pkg/voip_cdr.pm: be asssertive
-
-2008-03-15 14:14  ivan
-
-       * FS/FS/: cust_svc.pm, part_pkg/voip_cdr.pm: configurable
-         disable_src, domestic_prefix and international_prefix options for
-         voip price plan
-
-2008-03-15 12:52  ivan
-
-       * httemplate/search/cust_bill.html, FS/FS/cust_bill.pm: check on
-         invoice re-printing newest percust... can't reproduce any
-         problem, prints newest per cust fine, closes: #3161
-
-2008-03-14 17:30  ivan
-
-       * httemplate/: view/svc_domain.cgi, misc/catchall.cgi: fix harmless
-         code leaking out onto the page, hehe, closes: Bug#3253, also
-         remove silly formatting on catchall edit
-
-2008-03-14 13:11  ivan
-
-       * FS/FS/cust_main.pm: eliminate some harmless uninitialized value
-         warnings
-
-2008-03-14 10:30  jeff
-
-       * FS/FS/part_export/prizm.pm: insist on Net::Prizm 0.04
-
-2008-03-14 01:13  ivan
-
-       * httemplate/edit/process/cust_pkg.cgi: whew, glad that change
-         package bugfix was easy to find, closes: Bug#3241
-
-2008-03-14 00:48  ivan
-
-       * FS/FS/cust_credit_bill.pm, FS/FS/Report/Table/Monthly.pm,
-         httemplate/graph/money_time.cgi,
-         httemplate/search/cust_credit_bill.html,
-         httemplate/search/cust_credit.html: add net credits to
-         sales/credits/receipts report
-
-2008-03-13 19:10  ivan
-
-       * FS/FS/Conf.pm: add Net20 invoice terms, closes: #3219
+         associate users w/customers, manual editing
 
-2008-03-13 19:09  ivan
+2008-03-19 12:48  jeff
 
-       * FS/FS/Conf.pm: show where the warning about no conf comes from
+       * httemplate/edit/part_bill_event.cgi: quick fix for deep recursion
+         (RT#3267)
 
-2008-03-13 02:28  ivan
+2008-03-17 23:43  ivan
 
-       * FS/FS/cust_pay.pm: yow.  very sleep deprived.  remove the
-         infinite loop rather than add one.
+       * fs_selfservice/fri/modules/: billing.module, dashboard.module,
+         myaccount.module: pre-show checkpoint.  duct tape!
 
-2008-03-13 02:14  ivan
+2008-03-17 09:24  ivan
 
-       * FS/FS/cust_pay.pm: infinite loop protection
+       * fs_selfservice/fri/modules/: billing.module, dashboard.module,
+         myaccount.module: checkpoint
 
-2008-03-13 01:57  ivan
+2008-03-16 19:49  ivan
 
-       * FS/FS/cust_pay.pm: allow cust_pay.otaker upgrade to proceed even
-         if there are some old crufty records around attached to
-         now-deleted customers
+       * fs_selfservice/fri/: includes/freeside.class.php,
+         modules.template/blank.module: missed bits
 
-2008-03-12 09:22  jeff
+2008-03-16 19:48  ivan
 
-       * FS/FS/cust_svc.pm, FS/FS/part_export.pm, FS/FS/svc_Common.pm,
-         FS/FS/UI/Web.pm, FS/FS/part_export/prizm.pm,
-         eg/export_template.pm, httemplate/view/cust_main/packages.html:
-         allow exports to add links to customer view (#1407)
+       * fs_selfservice/fri/: includes/login.php, includes/main.conf.php,
+         locale/ari.po, modules/billing.module,
+         modules/callmonitor.module, modules/dashboard.module,
+         modules/myaccount.module, modules/settings.module,
+         theme/page.tpl.php: first bits of working FRI!  woop!
 
-2008-03-04 13:07  ivan
+2008-03-16 19:37  ivan
 
-       * FS/FS/cust_refund.pm: fix otaker population for cust_refund like
-         cust_credit and cust_pay
+       * httemplate/view/cust_main/packages.html: fix oops in new popup
+         components
 
-2008-03-04 13:06  ivan
+2008-03-16 16:36  ivan
 
-       * FS/FS/cust_pay.pm: fix cust_pay.otaker population
+       * FS/FS/ClientAPI/MyAccount.pm: hopefully allow phone login to work
 
-2008-03-04 11:15  ivan
+2008-03-16 16:25  ivan
 
-       * httemplate/: edit/cust_pkg.cgi, edit/process/cust_pkg.cgi,
-         misc/change_pkg.cgi: fix edit/process/cust_pkg getting confused
-         about the two different places that would be calling it... i.e.
-         with an empty new_pkgnum it would redirect the popup back the
-         customer view, hehe
+       * httemplate/view/svc_phone.cgi: view PINs too
 
-2008-03-03 19:38  ivan
+2008-03-16 16:05  jeff
 
-       * FS/FS/cust_bill.pm: AND fix latex->html notes substituion for ~s
+       * httemplate/: elements/popup_link-cust_main.html,
+         elements/popup_link-cust_pkg.html,
+         elements/popup_link-cust_svc.html, elements/popup_link.html,
+         view/cust_main.cgi, view/cust_main/packages.html: componentize
+         conflicting %once subroutines (rt#3250)
 
-2008-03-03 19:37  ivan
+2008-03-16 15:48  ivan
 
-       * FS/FS/cust_bill.pm: and fix latex->html notes substituion for
-         escaped #s
+       * httemplate/edit/svc_phone.cgi: phone gets a pin
 
-2008-03-03 19:34  ivan
+2008-03-16 15:39  ivan
 
-       * FS/FS/cust_bill.pm: fix latex->html notes substituion for
-         newlines
+       * FS/FS/ClientAPI/MyAccount.pm: phonenum + pin login
 
-2008-03-03 18:27  ivan
+2008-03-16 15:24  ivan
 
-       * httemplate/browse/rate_region.html: should improve compatibility
-         with older Pg.  i hope
+       * FS/FS/: Conf.pm, svc_phone.pm, ClientAPI/MyAccount.pm: phonenum +
+         pin login
 
-2008-03-03 17:49  ivan
+2008-03-16 14:07  ivan
 
-       * FS/FS/UID.pm: argh, don't load up a user until the other
-         initialization is done
+       * fs_selfservice/fri/includes/: common.php, login.php: first try at
+         single sign-on
 
-2008-03-03 15:12  ivan
+2008-03-16 12:58  ivan
 
-       * rt/: etc/RT_Config.pm.in, html/Elements/Header,
-         html/Elements/PageLayout, html/Elements/Tabs,
-         html/Elements/CollectionAsTable/Row,
-         html/Ticket/Elements/ShowTransactionAttachments,
-         html/Widgets/TitleBoxStart, sbin/rt-setup-database.in: merge in
-         rt 3.6.6.  *gulp*!
+       * fs_selfservice/fri/: CHANGE.log, LICENSE.txt, README.txt,
+         index.php, version.php, theme/global.css, theme/header.css,
+         theme/iefixes.css, theme/layout.css, theme/logo.gif,
+         theme/main.css, theme/navigation.css, theme/page.tpl.php,
+         theme/spacer.gif, theme/text.css, theme/images/arrow-asc.gif,
+         theme/images/arrow-desc.gif, modules/callmonitor.module,
+         modules/phonefeatures.module, modules/settings.module,
+         modules/voicemail.module, modules/featurecodes.module,
+         modules/followme.module, includes/ajax.php, includes/crypt.php,
+         includes/main.conf.php, misc/audio.php, misc/popup.css,
+         misc/recording_popup.php, modules/VmX.module, includes/asi.php,
+         includes/bootstrap.php, includes/common.php,
+         includes/database.php, includes/display.php, includes/lang.php,
+         includes/login.php, locale/readme.txt, locale/ari.po,
+         locale/ari.utf-8.po, locale/locale.txt,
+         locale/de_DE/LC_MESSAGES/ari.mo, locale/hu_HU/LC_MESSAGES/ari.mo,
+         locale/hu_HU/LC_MESSAGES/ari.po, locale/pt_BR/LC_MESSAGES/ari.mo,
+         locale/pt_BR/LC_MESSAGES/ari.po, locale/de_DE/LC_MESSAGES/ari.po,
+         locale/el_GR/LC_MESSAGES/ari.mo, locale/el_GR/LC_MESSAGES/ari.po,
+         locale/es_ES/LC_MESSAGES/ari.mo, locale/es_ES/LC_MESSAGES/ari.po,
+         locale/sv_SE/LC_MESSAGES/ari.mo, locale/sv_SE/LC_MESSAGES/ari.po,
+         locale/it_IT/LC_MESSAGES/ari.mo, locale/fr_FR/LC_MESSAGES/ari.mo,
+         locale/fr_FR/LC_MESSAGES/ari.po, locale/he_IL/LC_MESSAGES/ari.mo,
+         locale/he_IL/LC_MESSAGES/ari.po, locale/it_IT/LC_MESSAGES/ari.po:
+         Initial revision
 
-2008-03-01 20:10  ivan
+2008-03-16 09:57  jeff
 
-       * rt/: lib/t/regression/08web_cf_access.t,
-         lib/t/regression/12-search.t, lib/t/regression/04send_email.t,
-         lib/t/regression/21query-builder.t,
-         lib/t/regression/22search_tix_by_txn.t,
-         lib/t/regression/22search_tix_by_watcher.t,
-         lib/t/regression/06-mime_decoding.t, lib/t/regression/23cfsort.t,
-         lib/t/regression/00-mason-syntax.t,
-         lib/t/regression/02basic_web.t, lib/t/regression/14linking.t,
-         lib/t/regression/01ticket_link_searching.t,
-         lib/t/regression/13-attribute-tests.t,
-         lib/t/regression/26command_line.t,
-         lib/t/regression/06mailgateway.t,
-         lib/t/regression/03web_compiliation_errors.t,
-         lib/t/regression/07acl.t, lib/t/regression/07rights.t,
-         lib/t/regression/23-web_attachments.t, html/autohandler,
-         html/index.html, html/l, html/Elements/SelectBoolean,
-         html/Elements/SelectCustomFieldValue, html/Elements/SelectStatus,
-         html/Elements/TitleBox, html/Elements/EditCustomFieldImage,
-         html/Elements/EditCustomFieldSelect, html/Elements/ShowLinks,
-         html/Elements/EditLinks, html/Elements/ListActions,
-         html/Elements/MessageBox, html/Elements/SelectDateRelation,
-         html/Elements/SelectNewTicketQueue,
-         html/Elements/SelectWatcherType, html/Elements/Error,
-         html/Elements/GotoTicket, html/Elements/MyTickets,
-         html/Elements/QueryString, html/Elements/Section,
-         html/Elements/SelectLinkType, html/Elements/SelectMatch,
-         html/Elements/ShowCustomFieldBinary, html/Elements/ShowLink,
-         html/Elements/ShowMemberships, html/Elements/BevelBoxRaisedEnd,
-         html/Elements/Callback, html/Elements/EmailInput,
-         html/Elements/Login, html/Elements/Refresh,
-         html/Elements/SelectOwner, html/Elements/SelectQueue,
-         html/Elements/SelectTicketTypes, html/Elements/SelectUsers,
-         html/Elements/Checkbox, html/Elements/EditCustomField,
-         html/Elements/ScrubHTML, html/Elements/MyRT,
-         html/Elements/SelectCustomFieldOperator,
-         html/Elements/SelectEqualityOperator,
-         html/Elements/SelectResultsPerPage,
-         html/Elements/SelectTicketSortBy,
-         html/Elements/ShowCustomFieldImage,
-         html/Elements/ShowCustomFieldWikitext,
-         html/Elements/BevelBoxRaisedStart, html/Elements/CreateTicket,
-         html/Elements/MyRequests, html/Elements/SelectGroups,
-         html/Elements/SelectLang, html/Elements/SelectSortOrder,
-         html/Elements/SetupSessionCookie, html/Elements/ShowCustomFields,
-         html/Elements/Submit, html/Elements/TitleBoxEnd,
-         html/Elements/EditCustomFieldBinary,
-         html/Elements/EditCustomFieldFreeform,
-         html/Elements/EditCustomFieldText,
-         html/Elements/EditCustomFieldWikitext, html/Elements/Quicksearch,
-         html/Elements/SelectAttachmentField,
-         html/Elements/SelectDateType,
-         html/Elements/CollectionAsTable/ParseFormat,
-         html/Elements/CollectionAsTable/Header,
-         html/Elements/RT__Ticket/ColumnMap, html/User/Delegation.html,
-         html/Search/Results.html, html/Search/Simple.html,
-         html/User/Elements/DelegateRights, html/User/Elements/GroupTabs,
-         html/User/Elements/Tabs, html/User/Groups/Members.html,
-         html/User/Groups/Modify.html, html/User/Groups/index.html,
-         html/Search/Chart, html/Search/Edit.html,
-         html/Search/Results.rdf, html/Search/Results.tsv,
-         html/Search/Build.html, html/Search/Elements/SelectAndOr,
-         html/Search/Elements/SelectPersonType,
-         html/Search/Elements/PickBasics, html/Search/Elements/PickCFs,
-         html/Search/Elements/SelectSearchObject,
-         html/Search/Elements/SelectSearchesForObjects,
-         html/REST/1.0/logout, html/Search/Elements/BuildFormatString,
-         html/Search/Elements/DisplayOptions,
-         html/Search/Elements/EditFormat, html/Search/Elements/EditQuery,
-         html/Search/Elements/EditSearches,
-         html/Search/Elements/NewListActions,
-         html/Search/Elements/PickCriteria,
-         html/Search/Elements/SearchPrivacy,
-         html/Search/Elements/SelectGroup,
-         html/Search/Elements/SelectLinks, html/REST/1.0/autohandler,
-         html/REST/1.0/dhandler, html/REST/1.0/Forms/queue/default,
-         html/REST/1.0/Forms/queue/ns,
-         html/REST/1.0/Forms/ticket/attachments,
-         html/REST/1.0/Forms/ticket/default,
-         html/REST/1.0/Forms/ticket/history,
-         html/REST/1.0/Forms/ticket/links,
-         html/REST/1.0/Forms/user/default, html/REST/1.0/Forms/user/ns,
-         html/REST/1.0/NoAuth/mail-gateway, html/REST/1.0/search/dhandler,
-         html/REST/1.0/search/ticket, html/REST/1.0/ticket/merge,
-         html/NoAuth/Logout.html, html/NoAuth/Reminder.html,
-         html/NoAuth/css/dhandler, html/REST/1.0/ticket/comment,
-         html/REST/1.0/ticket/link, html/NoAuth/images/autohandler,
-         html/NoAuth/images/bplogo.gif,
-         html/NoAuth/images/css/fieldbg-autocomplete.gif,
-         html/NoAuth/js/scriptaculous/controls.js,
-         html/NoAuth/js/scriptaculous/effects.js,
-         html/NoAuth/js/scriptaculous/prototype.js,
-         html/NoAuth/js/scriptaculous/scriptaculous.js,
-         html/Widgets/SavedSearch, html/Widgets/SelectionBox,
-         html/Helpers/EmailAutocomplete, html/Tools/MyDay.html,
-         html/Tools/Offline.html, html/Tools/Elements/Tabs,
-         html/Admin/autohandler, html/Admin/index.html,
-         html/Admin/Queues/CustomField.html,
-         html/Admin/Queues/GroupRights.html,
-         html/Admin/Queues/People.html,
-         html/Download/CustomFieldValue/dhandler,
-         html/Download/Tabular/dhandler,
-         html/Admin/Elements/EditUserComments,
-         html/Admin/Elements/GroupTabs,
-         html/Admin/Elements/ObjectCustomFields,
-         html/Admin/Elements/SelectCustomFieldType,
-         html/Admin/Elements/SelectScrip,
-         html/Admin/Elements/SelectScripCondition,
-         html/Admin/Queues/CustomFields.html,
-         html/Admin/Queues/Modify.html, html/Admin/Queues/Scrip.html,
-         html/Admin/Queues/Scrips.html, html/Admin/Queues/Template.html,
-         html/Admin/Queues/Templates.html,
-         html/Admin/Queues/UserRights.html, html/Admin/Queues/index.html,
-         html/Admin/Elements/CustomFieldTabs,
-         html/Admin/Elements/EditCustomFieldValues,
-         html/Admin/Elements/EditCustomFields,
-         html/Admin/Elements/QueueTabs,
-         html/Admin/Elements/SelectModifyQueue,
-         html/Admin/Elements/SelectScripAction,
-         html/Admin/Elements/SelectStage,
-         html/Admin/Elements/SelectTemplate, html/Admin/Elements/Tabs,
-         html/Admin/Elements/CreateUserCalled,
-         html/Admin/Elements/EditScrip,
-         html/Admin/Elements/GlobalCustomFieldTabs,
-         html/Admin/Elements/ModifyTemplate,
-         html/Admin/Elements/PickCustomFields,
-         html/Admin/Elements/SelectModifyGroup,
-         html/Admin/Elements/SelectModifyUser,
-         html/Admin/Elements/SelectNewGroupMembers,
-         html/Admin/Elements/SelectSingleOrMultiple,
-         html/Admin/Elements/SystemTabs,
-         html/Admin/Elements/AddCustomFieldValue,
-         html/Admin/Elements/EditCustomField,
-         html/Admin/Elements/EditQueueWatchers,
-         html/Admin/Elements/EditScrips,
-         html/Admin/Elements/ListGlobalCustomFields,
-         html/Admin/Elements/ListGlobalScrips,
-         html/Admin/Elements/SelectCustomFieldLookupType,
-         html/Admin/Elements/SelectGroups,
-         html/Admin/Elements/SelectUsers, html/Admin/Elements/UserTabs,
-         html/Admin/Elements/EditTemplates, html/Admin/Elements/Header,
-         html/Admin/Elements/PickObjects,
-         html/Admin/Elements/QueueRightsForUser,
-         html/Admin/Elements/SelectRights, html/Admin/Elements/ToolTabs,
-         html/Admin/Global/GroupRights.html, html/Admin/Global/Scrip.html,
-         html/Admin/Global/Scrips.html, html/Admin/Global/Template.html,
-         html/Admin/Global/Templates.html,
-         html/Admin/Global/UserRights.html, html/Admin/Global/index.html,
-         html/Admin/Global/CustomFields/Queue-Transactions.html,
-         html/Admin/Global/CustomFields/Groups.html,
-         html/Admin/Global/CustomFields/Queue-Tickets.html,
-         html/Admin/Global/CustomFields/Users.html,
-         html/Admin/Global/CustomFields/index.html,
-         html/Admin/Users/CustomFields.html,
-         html/Admin/Users/Memberships.html,
-         html/Admin/CustomFields/GroupRights.html,
-         html/Admin/CustomFields/Modify.html,
-         html/Admin/CustomFields/Objects.html,
-         html/Admin/CustomFields/index.html,
-         html/Admin/Users/History.html, html/Admin/Users/index.html,
-         html/Admin/CustomFields/UserRights.html,
-         html/Admin/Groups/CustomFields.html,
-         html/Admin/Groups/GroupRights.html,
-         html/Admin/Groups/History.html, html/Admin/Groups/Members.html,
-         html/Admin/Groups/Modify.html, html/Admin/Groups/index.html,
-         html/Admin/Tools/Configuration.html, html/Admin/Tools/index.html,
-         html/Admin/Groups/UserRights.html, html/Ticket/Modify.html,
-         html/Ticket/ShowEmailRecord.html, html/Ticket/History.html,
-         html/Ticket/ModifyAll.html, html/Ticket/ModifyDates.html,
-         html/Ticket/ModifyLinks.html, html/Ticket/ModifyPeople.html,
-         html/Ticket/Update.html, html/Ticket/Elements/AddWatchers,
-         html/Ticket/Elements/BulkLinks,
-         html/Ticket/Elements/EditWatchers,
-         html/Ticket/Elements/ShowDates,
-         html/Ticket/Elements/EditCustomFields,
-         html/Ticket/Elements/FindAttachments,
-         html/Ticket/Elements/ShowMessageHeaders,
-         html/Ticket/Elements/ShowRequestor,
-         html/Ticket/Elements/ShowUserEntry,
-         html/Ticket/Elements/EditBasics,
-         html/Ticket/Elements/PreviewScrips,
-         html/Ticket/Elements/ShowDependencies,
-         html/Ticket/Elements/ShowGroupMembers,
-         html/Ticket/Elements/ShowHistory,
-         html/Ticket/Elements/ShowMembers,
-         html/Ticket/Elements/ShowPeople, html/Ticket/Attachment/dhandler,
-         html/Ticket/Elements/EditCustomField,
-         html/Ticket/Elements/EditDates, html/Ticket/Elements/EditPeople,
-         html/Ticket/Elements/LoadTextAttachments,
-         html/Ticket/Elements/ShowAttachments,
-         html/Ticket/Elements/ShowBasics,
-         html/Ticket/Elements/ShowCustomFields,
-         html/Ticket/Elements/ShowMessageStanza,
-         html/Ticket/Elements/ShowQueue,
-         html/Ticket/Elements/ShowTransaction,
-         html/SelfService/Closed.html, html/SelfService/Create.html,
-         html/SelfService/CreateTicketInQueue.html,
-         html/SelfService/Display.html, html/SelfService/Error.html,
-         html/SelfService/Prefs.html, html/SelfService/Update.html,
-         html/SelfService/index.html,
-         html/SelfService/Elements/GotoTicket,
-         html/SelfService/Elements/Tabs, html/Approvals/Display.html,
-         html/Approvals/index.html, html/Approvals/Elements/Approve,
-         html/Approvals/Elements/PendingMyApproval,
-         html/Approvals/Elements/ShowDependency,
-         html/Approvals/Elements/Tabs,
-         html/SelfService/Attachment/dhandler,
-         html/SelfService/Elements/Header,
-         html/SelfService/Elements/MyRequests, bin/mason_handler.fcgi.in,
-         bin/mason_handler.scgi.in, bin/mason_handler.svc.in, bin/rt.in,
-         bin/standalone_httpd.in, bin/rt-crontool.in, bin/rt-mailgate.in,
-         bin/webmux.pl.in, etc/initialdata, etc/drop.Oracle: import rt
-         3.6.6
-
-2008-03-01 20:07  ivan
-
-       * rt/: configure, aclocal.m4, Changelog, Makefile.in, README,
-         UPGRADING, configure.ac, sbin/extract_pod_tests,
-         sbin/rt-test-dependencies.in, sbin/extract-message-catalog,
-         sbin/license_tag, sbin/regression_harness,
-         sbin/rt-dump-database.in, lib/RT.pm.in,
-         lib/RT/ObjectCustomFieldValues.pm,
-         lib/RT/Transactions_Overlay.pm, lib/RT/URI.pm, sbin/factory,
-         lib/RT/CustomFieldValues_Overlay.pm, lib/RT/Handle.pm,
-         lib/RT/ObjectCustomField.pm, lib/RT/ObjectCustomFieldValue.pm,
-         lib/RT/ScripCondition_Overlay.pm, lib/RT/ScripConditions.pm,
-         lib/RT/Scrip_Overlay.pm, lib/RT/Tickets_Overlay.pm,
-         lib/RT/CustomField_Overlay.pm, lib/RT/GroupMembers_Overlay.pm,
-         lib/RT/I18N.pm, lib/RT/CachedGroupMember.pm,
-         lib/RT/CustomFieldValues.pm, lib/RT/Links.pm, lib/RT/Queue.pm,
-         lib/RT/ScripConditions_Overlay.pm, lib/RT/Scrips.pm,
-         lib/RT/Scrips_Overlay.pm, lib/RT/System.pm,
-         lib/RT/SavedSearch.pm, lib/RT/CustomFields_Overlay.pm,
-         lib/RT/ObjectCustomFields.pm, lib/RT/ACE.pm,
-         lib/RT/Attributes.pm, lib/RT/CurrentUser.pm,
-         lib/RT/CustomFieldValue_Overlay.pm, lib/RT/User.pm,
-         lib/RT/Base.pm, lib/RT/ScripAction_Overlay.pm,
-         lib/RT/Attributes_Overlay.pm, lib/RT/CustomField.pm,
-         lib/RT/Principal.pm, lib/RT/Principals_Overlay.pm,
-         lib/RT/Queues.pm, lib/RT/ScripAction.pm, lib/RT/Attachments.pm,
-         lib/RT/StyleGuide.pod, lib/RT/Attribute_Overlay.pm,
-         lib/RT/CachedGroupMember_Overlay.pm,
-         lib/RT/ObjectCustomFieldValues_Overlay.pm,
-         lib/RT/SavedSearches.pm,
-         lib/RT/ObjectCustomFieldValue_Overlay.pm,
-         lib/RT/ScripCondition.pm, lib/RT/Templates.pm, lib/RT/Tickets.pm,
-         lib/RT/Tickets_Overlay_SQL.pm, lib/RT/Users.pm,
-         lib/RT/Attachments_Overlay.pm, lib/RT/CachedGroupMembers.pm,
-         lib/RT/GroupMember_Overlay.pm, lib/RT/Link.pm,
-         lib/RT/Transaction.pm, lib/RT/ScripActions_Overlay.pm,
-         lib/RT/ACE_Overlay.pm, lib/RT/CachedGroupMembers_Overlay.pm,
-         lib/RT/Scrip.pm, lib/RT/EmailParser.pm, lib/RT/Group.pm,
-         lib/RT/ObjectCustomField_Overlay.pm, lib/RT/Template.pm,
-         lib/RT/ACL_Overlay.pm, lib/RT/GroupMembers.pm,
-         lib/RT/Principal_Overlay.pm, lib/RT/Transactions.pm,
-         lib/RT/Attachment_Overlay.pm, lib/RT/Date.pm,
-         lib/RT/Templates_Overlay.pm, lib/RT/ACL.pm,
-         lib/RT/GroupMember.pm, lib/RT/Groups.pm, lib/RT/CustomFields.pm,
-         lib/RT/Group_Overlay.pm, lib/RT/Links_Overlay.pm,
-         lib/RT/ObjectCustomFields_Overlay.pm, lib/RT/Queues_Overlay.pm,
-         lib/RT/Ticket.pm, lib/RT/Attribute.pm,
-         lib/RT/CustomFieldValue.pm, lib/RT/Link_Overlay.pm,
-         lib/RT/Principals.pm, lib/RT/ScripActions.pm,
-         lib/RT/Attachment.pm, lib/RT/Queue_Overlay.pm,
-         lib/RT/Template_Overlay.pm, lib/RT/URI/base.pm,
-         lib/RT/URI/fsck_com_rt.pm, lib/RT/URI/t.pm,
-         lib/RT/Interface/Email.pm, lib/RT/Interface/REST.pm,
-         lib/RT/Interface/CLI.pm, lib/RT/Interface/Web.pm,
-         lib/RT/Interface/Web/Handler.pm,
-         lib/RT/Interface/Web/QueryBuilder.pm,
-         lib/RT/Interface/Web/Standalone.pm,
-         lib/RT/Interface/Web/QueryBuilder/Tree.pm,
-         lib/RT/Action/Autoreply.pm, lib/RT/Action/Generic.pm,
-         lib/RT/Action/RecordComment.pm,
-         lib/RT/Action/RecordCorrespondence.pm,
-         lib/RT/Interface/Email/Auth/GnuPG.pm,
-         lib/RT/Interface/Email/Auth/MailFrom.pm,
-         lib/RT/Interface/Email/Filter/SpamAssassin.pm,
-         lib/RT/Action/Notify.pm, lib/RT/Action/AutoOpen.pm,
-         lib/RT/Action/CreateTickets.pm,
-         lib/RT/Action/EscalatePriority.pm,
-         lib/RT/Action/NotifyAsComment.pm,
-         lib/RT/Action/ResolveMembers.pm, lib/RT/Action/SetPriority.pm,
-         lib/RT/Action/UserDefined.pm, lib/RT/Action/SendEmail.pm,
-         lib/RT/Search/ActiveTicketsInQueue.pm, lib/RT/Search/FromSQL.pm,
-         lib/RT/Search/Generic.pm, lib/RT/Search/Googleish.pm,
-         lib/RT/I18N/cs.po, lib/RT/I18N/es.po, lib/RT/I18N/fi.po,
-         lib/RT/I18N/zh_cn.po, lib/RT/I18N/hu.po, lib/RT/I18N/he.po,
-         lib/RT/I18N/de.po, lib/RT/I18N/ru.po, lib/RT/I18N/nl.po,
-         lib/RT/I18N/pl.po, lib/RT/I18N/da.po, lib/RT/I18N/fr.po,
-         lib/RT/I18N/cs.pm, lib/RT/I18N/it.po, lib/RT/I18N/id.po,
-         lib/RT/I18N/ja.po, lib/RT/I18N/zh_tw.po,
-         lib/RT/I18N/i_default.pm, lib/RT/I18N/pt_br.po,
-         lib/RT/I18N/en.po, lib/RT/Condition/AnyTransaction.pm,
-         lib/RT/Condition/BeforeDue.pm, lib/RT/Condition/Generic.pm,
-         lib/RT/Condition/Overdue.pm, lib/RT/Condition/OwnerChange.pm,
-         lib/RT/Condition/PriorityChange.pm,
-         lib/RT/Condition/PriorityExceeds.pm,
-         lib/RT/Condition/StatusChange.pm,
-         lib/RT/Condition/UserDefined.pm, lib/RT/I18N/no.po,
-         lib/RT/Condition/QueueChange.pm, lib/RT/Report/Tickets.pm: import
-         rt 3.6.6
+       * httemplate/misc/recharge_svc.html: doh
 
-2008-03-01 20:05  ivan
+2008-03-16 01:04  ivan
 
-       * rt/: html/SelfService/Create.html, html/SelfService/Error.html,
-         html/Ticket/Attachment/dhandler, html/Ticket/Elements/EditBasics,
-         html/Ticket/Elements/EditCustomField,
-         html/Ticket/Elements/EditDates, html/Ticket/Elements/EditPeople,
-         html/Ticket/Elements/LoadTextAttachments,
-         html/Ticket/Elements/ShowAttachments,
-         html/Ticket/Elements/ShowBasics,
-         html/Ticket/Elements/ShowCustomFields,
-         html/Ticket/Elements/ShowGroupMembers,
-         html/Ticket/Elements/ShowMessageStanza,
-         html/Ticket/Elements/ShowPeople,
-         html/Ticket/Elements/ShowTransaction,
-         html/SelfService/Closed.html,
-         html/SelfService/CreateTicketInQueue.html,
-         html/SelfService/Display.html, html/SelfService/Prefs.html,
-         html/SelfService/Update.html, html/SelfService/index.html,
-         html/SelfService/Attachment/dhandler,
-         html/SelfService/Elements/GotoTicket,
-         html/SelfService/Elements/Header,
-         html/SelfService/Elements/MyRequests,
-         html/SelfService/Elements/Tabs, html/Approvals/Display.html,
-         html/Approvals/index.html, html/Approvals/Elements/Approve,
-         html/Approvals/Elements/PendingMyApproval,
-         html/Approvals/Elements/Tabs,
-         html/Approvals/Elements/ShowDependency,
-         bin/mason_handler.fcgi.in, bin/mason_handler.scgi.in,
-         bin/mason_handler.svc.in, bin/rt.in, bin/standalone_httpd.in,
-         bin/rt-crontool.in, bin/rt-mailgate.in, bin/webmux.pl.in,
-         etc/initialdata, etc/drop.Oracle: import rt 3.4.6
+       * FS/FS/UID.pm: goodness, i hope this fixes the bootstrapping
 
-2008-03-01 20:02  ivan
+2008-03-16 00:25  ivan
 
-       * rt/: configure, aclocal.m4, Changelog, Makefile.in, README,
-         UPGRADING, configure.ac, sbin/extract_pod_tests,
-         sbin/rt-test-dependencies.in, sbin/extract-message-catalog,
-         sbin/license_tag, sbin/regression_harness,
-         sbin/rt-dump-database.in, lib/RT.pm.in,
-         lib/RT/Transactions_Overlay.pm, lib/RT/URI.pm, sbin/factory,
-         lib/RT/Handle.pm, lib/RT/ObjectCustomField.pm,
-         lib/RT/ObjectCustomFieldValues.pm,
-         lib/RT/ScripCondition_Overlay.pm,
-         lib/RT/CustomFieldValues_Overlay.pm,
-         lib/RT/ObjectCustomFieldValue.pm, lib/RT/ScripConditions.pm,
-         lib/RT/Scrip_Overlay.pm, lib/RT/Tickets_Overlay.pm,
-         lib/RT/CustomField_Overlay.pm, lib/RT/GroupMembers_Overlay.pm,
-         lib/RT/I18N.pm, lib/RT/CachedGroupMember.pm, lib/RT/Links.pm,
-         lib/RT/Queue.pm, lib/RT/ScripConditions_Overlay.pm,
-         lib/RT/Scrips.pm, lib/RT/System.pm, lib/RT/CustomFieldValues.pm,
-         lib/RT/SavedSearch.pm, lib/RT/Scrips_Overlay.pm, lib/RT/ACE.pm,
-         lib/RT/Attributes.pm, lib/RT/CurrentUser.pm,
-         lib/RT/CustomFieldValue_Overlay.pm,
-         lib/RT/CustomFields_Overlay.pm, lib/RT/ObjectCustomFields.pm,
-         lib/RT/Base.pm, lib/RT/ScripAction_Overlay.pm, lib/RT/User.pm,
-         lib/RT/Principal.pm, lib/RT/Principals_Overlay.pm,
-         lib/RT/ScripAction.pm, lib/RT/Attributes_Overlay.pm,
-         lib/RT/CustomField.pm, lib/RT/Queues.pm, lib/RT/Attachments.pm,
-         lib/RT/Attribute_Overlay.pm, lib/RT/CachedGroupMember_Overlay.pm,
-         lib/RT/ObjectCustomFieldValues_Overlay.pm,
-         lib/RT/ObjectCustomFieldValue_Overlay.pm,
-         lib/RT/SavedSearches.pm, lib/RT/ScripCondition.pm,
-         lib/RT/Templates.pm, lib/RT/Tickets.pm,
-         lib/RT/Tickets_Overlay_SQL.pm, lib/RT/Users.pm,
-         lib/RT/Attachments_Overlay.pm, lib/RT/CachedGroupMembers.pm,
-         lib/RT/GroupMember_Overlay.pm, lib/RT/Link.pm,
-         lib/RT/Transaction.pm, lib/RT/ScripActions_Overlay.pm,
-         lib/RT/ACE_Overlay.pm, lib/RT/CachedGroupMembers_Overlay.pm,
-         lib/RT/Scrip.pm, lib/RT/EmailParser.pm, lib/RT/Group.pm,
-         lib/RT/ObjectCustomField_Overlay.pm, lib/RT/Template.pm,
-         lib/RT/ACL_Overlay.pm, lib/RT/GroupMembers.pm,
-         lib/RT/Principal_Overlay.pm, lib/RT/Transactions.pm,
-         lib/RT/ACL.pm, lib/RT/Attachment_Overlay.pm, lib/RT/Date.pm,
-         lib/RT/GroupMember.pm, lib/RT/Groups.pm,
-         lib/RT/Templates_Overlay.pm, lib/RT/Group_Overlay.pm,
-         lib/RT/Links_Overlay.pm, lib/RT/CustomFieldValue.pm,
-         lib/RT/CustomFields.pm, lib/RT/ObjectCustomFields_Overlay.pm,
-         lib/RT/Principals.pm, lib/RT/Queues_Overlay.pm, lib/RT/Ticket.pm,
-         lib/RT/Link_Overlay.pm, lib/RT/Attachment.pm,
-         lib/RT/Attribute.pm, lib/RT/Queue_Overlay.pm,
-         lib/RT/ScripActions.pm, lib/RT/Template_Overlay.pm,
-         lib/RT/URI/base.pm, lib/RT/URI/fsck_com_rt.pm, lib/RT/URI/t.pm,
-         lib/RT/Interface/Email.pm, lib/RT/Interface/REST.pm,
-         lib/RT/Interface/CLI.pm, lib/RT/Interface/Web.pm,
-         lib/RT/Interface/Web/Handler.pm,
-         lib/RT/Interface/Web/QueryBuilder.pm,
-         lib/RT/Interface/Web/Standalone.pm, lib/RT/Action/Autoreply.pm,
-         lib/RT/Action/Generic.pm, lib/RT/Action/RecordCorrespondence.pm,
-         lib/RT/Interface/Email/Auth/GnuPG.pm,
-         lib/RT/Interface/Email/Auth/MailFrom.pm,
-         lib/RT/Interface/Email/Filter/SpamAssassin.pm,
-         lib/RT/Interface/Web/QueryBuilder/Tree.pm,
-         lib/RT/Action/Notify.pm, lib/RT/Action/RecordComment.pm,
-         lib/RT/Action/AutoOpen.pm, lib/RT/Action/CreateTickets.pm,
-         lib/RT/Action/EscalatePriority.pm,
-         lib/RT/Action/NotifyAsComment.pm,
-         lib/RT/Action/ResolveMembers.pm, lib/RT/Action/SetPriority.pm,
-         lib/RT/Action/UserDefined.pm, lib/RT/Action/SendEmail.pm,
-         lib/RT/Search/ActiveTicketsInQueue.pm, lib/RT/Search/FromSQL.pm,
-         lib/RT/Search/Generic.pm, lib/RT/I18N/cs.po, lib/RT/I18N/es.po,
-         lib/RT/I18N/fi.po, lib/RT/I18N/zh_cn.po, lib/RT/I18N/hu.po,
-         lib/RT/I18N/he.po, lib/RT/I18N/de.po, lib/RT/I18N/ru.po,
-         lib/RT/I18N/nl.po, lib/RT/I18N/pl.po, lib/RT/I18N/da.po,
-         lib/RT/I18N/fr.po, lib/RT/I18N/cs.pm, lib/RT/I18N/it.po,
-         lib/RT/I18N/id.po, lib/RT/I18N/ja.po, lib/RT/I18N/zh_tw.po,
-         lib/RT/I18N/en.po, lib/RT/I18N/i_default.pm,
-         lib/RT/I18N/pt_br.po, lib/RT/Condition/Generic.pm,
-         lib/RT/I18N/no.po, lib/RT/Condition/AnyTransaction.pm,
-         lib/RT/Condition/BeforeDue.pm, lib/RT/Condition/Overdue.pm,
-         lib/RT/Condition/OwnerChange.pm,
-         lib/RT/Condition/PriorityChange.pm,
-         lib/RT/Condition/PriorityExceeds.pm,
-         lib/RT/Condition/QueueChange.pm,
-         lib/RT/Condition/StatusChange.pm,
-         lib/RT/Condition/UserDefined.pm,
-         lib/t/regression/08web_cf_access.t, lib/t/regression/12-search.t,
-         lib/t/regression/04send_email.t,
-         lib/t/regression/06-mime_decoding.t,
-         lib/t/regression/14linking.t, lib/t/regression/21query-builder.t,
-         lib/t/regression/22search_tix_by_txn.t,
-         lib/t/regression/22search_tix_by_watcher.t,
-         lib/t/regression/01ticket_link_searching.t,
-         lib/t/regression/02basic_web.t,
-         lib/t/regression/13-attribute-tests.t,
-         lib/t/regression/03web_compiliation_errors.t,
-         lib/t/regression/06mailgateway.t, lib/t/regression/07acl.t,
-         lib/t/regression/07rights.t,
-         lib/t/regression/23-web_attachments.t, html/autohandler,
-         html/index.html, html/l, html/Elements/EditCustomFieldImage,
-         html/Elements/EditCustomFieldSelect, html/Elements/EditLinks,
-         html/Elements/ListActions, html/Elements/MessageBox,
-         html/Elements/SelectBoolean,
-         html/Elements/SelectCustomFieldValue, html/Elements/SelectStatus,
-         html/Elements/ShowLinks, html/Elements/TitleBox,
-         html/Elements/Error, html/Elements/Section,
-         html/Elements/SelectDateRelation,
-         html/Elements/SelectNewTicketQueue,
-         html/Elements/SelectWatcherType, html/Elements/BevelBoxRaisedEnd,
-         html/Elements/Callback, html/Elements/GotoTicket,
-         html/Elements/Login, html/Elements/MyTickets,
-         html/Elements/QueryString, html/Elements/Refresh,
-         html/Elements/SelectLinkType, html/Elements/SelectMatch,
-         html/Elements/SelectOwner, html/Elements/SelectQueue,
-         html/Elements/SelectTicketTypes, html/Elements/SelectUsers,
-         html/Elements/ShowCustomFieldBinary, html/Elements/ShowLink,
-         html/Elements/ShowMemberships, html/Elements/Checkbox,
-         html/Elements/EditCustomField, html/Elements/ScrubHTML,
-         html/Elements/SelectCustomFieldOperator,
-         html/Elements/SelectEqualityOperator,
-         html/Elements/SelectResultsPerPage,
-         html/Elements/SelectSortOrder, html/Elements/SelectTicketSortBy,
-         html/Elements/ShowCustomFieldImage,
-         html/Elements/ShowCustomFieldWikitext, html/Elements/TitleBoxEnd,
-         html/Elements/BevelBoxRaisedStart, html/Elements/CreateTicket,
-         html/Elements/MyRequests, html/Elements/SelectAttachmentField,
-         html/Elements/SelectDateType, html/Elements/SelectGroups,
-         html/Elements/SelectLang, html/Elements/SetupSessionCookie,
-         html/Elements/ShowCustomFields, html/Elements/Submit,
-         html/Elements/EditCustomFieldBinary,
-         html/Elements/EditCustomFieldFreeform,
-         html/Elements/EditCustomFieldText,
-         html/Elements/EditCustomFieldWikitext, html/Elements/Quicksearch,
-         html/Elements/CollectionAsTable/Header,
-         html/Elements/CollectionAsTable/ParseFormat,
-         html/Elements/RT__Ticket/ColumnMap, html/User/Delegation.html,
-         html/Search/Edit.html, html/Search/Results.html,
-         html/Search/Results.rdf, html/User/Elements/DelegateRights,
-         html/User/Elements/GroupTabs, html/User/Elements/Tabs,
-         html/User/Groups/Members.html, html/User/Groups/Modify.html,
-         html/User/Groups/index.html, html/Search/Results.tsv,
-         html/Search/Build.html, html/Search/Elements/BuildFormatString,
-         html/Search/Elements/PickBasics, html/Search/Elements/PickCFs,
-         html/Search/Elements/SelectAndOr,
-         html/Search/Elements/SelectLinks,
-         html/Search/Elements/SelectPersonType,
-         html/Search/Elements/SelectSearchObject,
-         html/Search/Elements/SelectSearchesForObjects,
-         html/REST/1.0/logout, html/Search/Elements/DisplayOptions,
-         html/Search/Elements/EditFormat, html/Search/Elements/EditQuery,
-         html/Search/Elements/EditSearches,
-         html/Search/Elements/NewListActions,
-         html/Search/Elements/PickCriteria,
-         html/Search/Elements/SearchPrivacy,
-         html/Search/Elements/SelectGroup, html/REST/1.0/autohandler,
-         html/REST/1.0/dhandler, html/REST/1.0/Forms/queue/default,
-         html/REST/1.0/Forms/queue/ns, html/NoAuth/Logout.html,
-         html/NoAuth/Reminder.html,
-         html/REST/1.0/Forms/ticket/attachments,
-         html/REST/1.0/Forms/ticket/default,
-         html/REST/1.0/Forms/ticket/history,
-         html/REST/1.0/Forms/ticket/links,
-         html/REST/1.0/Forms/user/default, html/REST/1.0/Forms/user/ns,
-         html/REST/1.0/NoAuth/mail-gateway, html/REST/1.0/search/dhandler,
-         html/REST/1.0/search/ticket, html/REST/1.0/ticket/comment,
-         html/REST/1.0/ticket/link, html/REST/1.0/ticket/merge,
-         html/Admin/autohandler, html/Admin/index.html,
-         html/Download/CustomFieldValue/dhandler,
-         html/Download/Tabular/dhandler, html/NoAuth/images/autohandler,
-         html/NoAuth/images/bplogo.gif, html/Tools/MyDay.html,
-         html/Tools/Offline.html, html/Tools/Elements/Tabs,
-         html/Admin/Queues/CustomField.html,
-         html/Admin/Queues/CustomFields.html,
-         html/Admin/Queues/GroupRights.html,
-         html/Admin/Queues/Modify.html, html/Admin/Queues/People.html,
-         html/Admin/Queues/Scrip.html, html/Admin/Queues/Scrips.html,
-         html/Admin/Queues/Template.html,
-         html/Admin/Elements/EditCustomFieldValues,
-         html/Admin/Elements/EditUserComments,
-         html/Admin/Elements/GroupTabs,
-         html/Admin/Elements/ObjectCustomFields,
-         html/Admin/Elements/SelectCustomFieldType,
-         html/Admin/Elements/SelectScrip,
-         html/Admin/Elements/SelectScripCondition,
-         html/Admin/Elements/SelectStage,
-         html/Admin/Queues/Templates.html,
-         html/Admin/Queues/UserRights.html, html/Admin/Queues/index.html,
-         html/Admin/Elements/CustomFieldTabs,
-         html/Admin/Elements/EditCustomFields,
-         html/Admin/Elements/EditScrip,
-         html/Admin/Elements/GlobalCustomFieldTabs,
-         html/Admin/Elements/ModifyTemplate,
-         html/Admin/Elements/QueueTabs,
-         html/Admin/Elements/SelectModifyGroup,
-         html/Admin/Elements/SelectModifyQueue,
-         html/Admin/Elements/SelectNewGroupMembers,
-         html/Admin/Elements/SelectScripAction,
-         html/Admin/Elements/SelectSingleOrMultiple,
-         html/Admin/Elements/SelectTemplate,
-         html/Admin/Elements/SystemTabs, html/Admin/Elements/Tabs,
-         html/Admin/Elements/AddCustomFieldValue,
-         html/Admin/Elements/CreateUserCalled,
-         html/Admin/Elements/EditCustomField,
-         html/Admin/Elements/EditQueueWatchers,
-         html/Admin/Elements/EditScrips,
-         html/Admin/Elements/ListGlobalCustomFields,
-         html/Admin/Elements/ListGlobalScrips,
-         html/Admin/Elements/PickCustomFields,
-         html/Admin/Elements/SelectModifyUser,
-         html/Admin/Elements/SelectUsers, html/Admin/Elements/UserTabs,
-         html/Admin/Elements/EditTemplates, html/Admin/Elements/Header,
-         html/Admin/Elements/PickObjects,
-         html/Admin/Elements/QueueRightsForUser,
-         html/Admin/Elements/SelectCustomFieldLookupType,
-         html/Admin/Elements/SelectGroups,
-         html/Admin/Elements/SelectRights, html/Admin/Elements/ToolTabs,
-         html/Admin/Global/GroupRights.html, html/Admin/Global/Scrip.html,
-         html/Admin/Global/Scrips.html, html/Admin/Global/Template.html,
-         html/Admin/Global/Templates.html,
-         html/Admin/Global/UserRights.html, html/Admin/Global/index.html,
-         html/Admin/Global/CustomFields/Groups.html,
-         html/Admin/Global/CustomFields/Queue-Tickets.html,
-         html/Admin/Global/CustomFields/Queue-Transactions.html,
-         html/Admin/Global/CustomFields/Users.html,
-         html/Admin/Global/CustomFields/index.html,
-         html/Admin/Users/CustomFields.html,
-         html/Admin/CustomFields/GroupRights.html,
-         html/Admin/CustomFields/Modify.html,
-         html/Admin/CustomFields/Objects.html,
-         html/Admin/CustomFields/index.html,
-         html/Admin/Users/History.html, html/Admin/Users/Memberships.html,
-         html/Admin/Users/index.html,
-         html/Admin/CustomFields/UserRights.html,
-         html/Admin/Groups/CustomFields.html,
-         html/Admin/Groups/GroupRights.html,
-         html/Admin/Groups/History.html, html/Admin/Groups/Members.html,
-         html/Admin/Groups/Modify.html, html/Admin/Groups/UserRights.html,
-         html/Admin/Groups/index.html,
-         html/Admin/Tools/Configuration.html, html/Admin/Tools/index.html,
-         html/Ticket/Modify.html, html/Ticket/ShowEmailRecord.html,
-         html/Ticket/History.html, html/Ticket/ModifyAll.html,
-         html/Ticket/ModifyDates.html, html/Ticket/ModifyLinks.html,
-         html/Ticket/ModifyPeople.html, html/Ticket/Update.html,
-         html/Ticket/Elements/AddWatchers, html/Ticket/Elements/BulkLinks,
-         html/Ticket/Elements/EditWatchers,
-         html/Ticket/Elements/FindAttachments,
-         html/Ticket/Elements/ShowDates,
-         html/Ticket/Elements/EditCustomFields,
-         html/Ticket/Elements/PreviewScrips,
-         html/Ticket/Elements/ShowDependencies,
-         html/Ticket/Elements/ShowHistory,
-         html/Ticket/Elements/ShowMembers,
-         html/Ticket/Elements/ShowMessageHeaders,
-         html/Ticket/Elements/ShowRequestor,
-         html/Ticket/Elements/ShowUserEntry: import rt 3.4.6
+       * FS/FS/UID.pm: okay, really now, how about this
+
+2008-03-16 00:24  ivan
+
+       * FS/FS/UID.pm: okay, how about this
+
+2008-03-16 00:21  ivan
+
+       * FS/FS/UID.pm: fix 1.7->1.9 bootstrapping, i think
+
+2008-03-15 22:22  ivan
+
+       * httemplate/search/svc_broadband.cgi: clean up and
+         agent-virtualize svc_broadband searching
+
+2008-03-15 22:13  ivan
+
+       * httemplate/edit/part_svc.cgi: finish bringing sanity to
+         svc_broadband service definition blocknum edit
+
+2008-03-15 22:13  ivan
+
+       * FS/FS/: addr_block.pm, svc_broadband.pm: bring some sanity to
+         address block selection in svc_broadband service definition edit
+
+2008-03-15 21:54  ivan
+
+       * httemplate/browse/: addr_block.cgi, router.cgi: drag address &
+         router browse into this centiry
+
+2008-03-15 21:00  ivan
+
+       * httemplate/elements/header.html, httemplate/elements/menu.html,
+         rt/html/Elements/FreesideSearch: hide customer search if user
+         does not have "List customers" ACL, closes: RT#3105
+
+2008-03-15 15:18  ivan
+
+       * httemplate/edit/part_pkg.cgi, FS/FS/part_pkg/voip_cdr.pm:
+         slightly better voip_cdr package edit: use radio buttons for
+         selecting long things
+
+2008-03-15 14:39  ivan
+
+       * FS/FS/part_pkg/voip_cdr.pm: be asssertive
+
+2008-03-15 14:14  ivan
+
+       * FS/FS/: cust_svc.pm, part_pkg/voip_cdr.pm: configurable
+         disable_src, domestic_prefix and international_prefix options for
+         voip price plan
+
+2008-03-15 12:52  ivan
+
+       * httemplate/search/cust_bill.html, FS/FS/cust_bill.pm: check on
+         invoice re-printing newest percust... can't reproduce any
+         problem, prints newest per cust fine, closes: #3161
+
+2008-03-14 17:30  ivan
+
+       * httemplate/: view/svc_domain.cgi, misc/catchall.cgi: fix harmless
+         code leaking out onto the page, hehe, closes: Bug#3253, also
+         remove silly formatting on catchall edit
+
+2008-03-14 13:11  ivan
+
+       * FS/FS/cust_main.pm: eliminate some harmless uninitialized value
+         warnings
+
+2008-03-14 10:30  jeff
+
+       * FS/FS/part_export/prizm.pm: insist on Net::Prizm 0.04
+
+2008-03-14 01:13  ivan
+
+       * httemplate/edit/process/cust_pkg.cgi: whew, glad that change
+         package bugfix was easy to find, closes: Bug#3241
+
+2008-03-14 00:48  ivan
+
+       * FS/FS/cust_credit_bill.pm, FS/FS/Report/Table/Monthly.pm,
+         httemplate/graph/money_time.cgi,
+         httemplate/search/cust_credit_bill.html,
+         httemplate/search/cust_credit.html: add net credits to
+         sales/credits/receipts report
+
+2008-03-13 19:10  ivan
+
+       * FS/FS/Conf.pm: add Net20 invoice terms, closes: #3219
+
+2008-03-13 19:09  ivan
+
+       * FS/FS/Conf.pm: show where the warning about no conf comes from
+
+2008-03-13 02:28  ivan
+
+       * FS/FS/cust_pay.pm: yow.  very sleep deprived.  remove the
+         infinite loop rather than add one.
+
+2008-03-13 02:14  ivan
+
+       * FS/FS/cust_pay.pm: infinite loop protection
+
+2008-03-13 01:57  ivan
+
+       * FS/FS/cust_pay.pm: allow cust_pay.otaker upgrade to proceed even
+         if there are some old crufty records around attached to
+         now-deleted customers
+
+2008-03-12 09:22  jeff
+
+       * FS/FS/cust_svc.pm, FS/FS/part_export.pm, FS/FS/svc_Common.pm,
+         FS/FS/UI/Web.pm, FS/FS/part_export/prizm.pm,
+         eg/export_template.pm, httemplate/view/cust_main/packages.html:
+         allow exports to add links to customer view (#1407)
+
+2008-03-04 13:07  ivan
+
+       * FS/FS/cust_refund.pm: fix otaker population for cust_refund like
+         cust_credit and cust_pay
+
+2008-03-04 13:06  ivan
+
+       * FS/FS/cust_pay.pm: fix cust_pay.otaker population
+
+2008-03-04 11:15  ivan
+
+       * httemplate/: edit/cust_pkg.cgi, edit/process/cust_pkg.cgi,
+         misc/change_pkg.cgi: fix edit/process/cust_pkg getting confused
+         about the two different places that would be calling it... i.e.
+         with an empty new_pkgnum it would redirect the popup back the
+         customer view, hehe
+
+2008-03-03 19:38  ivan
+
+       * FS/FS/cust_bill.pm: AND fix latex->html notes substituion for ~s
+
+2008-03-03 19:37  ivan
+
+       * FS/FS/cust_bill.pm: and fix latex->html notes substituion for
+         escaped #s
+
+2008-03-03 19:34  ivan
+
+       * FS/FS/cust_bill.pm: fix latex->html notes substituion for
+         newlines
+
+2008-03-03 18:27  ivan
+
+       * httemplate/browse/rate_region.html: should improve compatibility
+         with older Pg.  i hope
+
+2008-03-03 17:49  ivan
+
+       * FS/FS/UID.pm: argh, don't load up a user until the other
+         initialization is done
+
+2008-03-03 15:12  ivan
+
+       * rt/: etc/RT_Config.pm.in, html/Elements/Header,
+         html/Elements/PageLayout, html/Elements/Tabs,
+         html/Elements/CollectionAsTable/Row,
+         html/Ticket/Elements/ShowTransactionAttachments,
+         html/Widgets/TitleBoxStart, sbin/rt-setup-database.in: merge in
+         rt 3.6.6.  *gulp*!
+
+2008-03-01 20:11  ivan
+
+       * rt/html/: Elements/EmailInput, NoAuth/css/dhandler,
+         NoAuth/images/css/fieldbg-autocomplete.gif,
+         NoAuth/js/scriptaculous/controls.js,
+         NoAuth/js/scriptaculous/effects.js,
+         NoAuth/js/scriptaculous/prototype.js,
+         NoAuth/js/scriptaculous/scriptaculous.js,
+         Helpers/EmailAutocomplete, Ticket/Elements/ShowQueue: Initial
+         revision
 
 2008-03-01 19:07  ivan
 
 
 2008-01-03 18:35  ivan
 
-       * httemplate/browse/elements/browse.html: new tax rate editor
+       * httemplate/: edit/cust_main_county.cgi,
+         edit/process/cust_main_county.cgi, browse/elements/browse.html:
+         new tax rate editor
 
 2008-01-03 18:27  ivan
 
          setting maxLength (and other attributes?).  hopefully that's all
          it is.
 
+2007-12-17 15:57  jeff
+
+       * httemplate/view/cust_main/quick-charge.html: cruft removal
+
 2007-12-17 14:57  jeff
 
        * FS/FS/cust_credit.pm: stricter otaker rules
 
 2007-12-16 12:48  ivan
 
-       * httemplate/search/cust_main.html: more consistent naming:
-         cust_main_ADV.cgi becomes cust_main.html
+       * httemplate/search/: cust_main.html, cust_main_ADV.cgi: more
+         consistent naming: cust_main_ADV.cgi becomes cust_main.html
 
 2007-12-15 14:47  rsiddall
 
 2007-11-28 10:49  jeff
 
        * FS/FS/ConfDefaults.pm, FS/FS/UI/Web.pm,
+         httemplate/search/cust_main_ADV.cgi,
          httemplate/search/report_cust_main.html: advanced customer report
          rearrangement
 
 
 2007-11-20 09:18  ivan
 
-       * AGPL: it finally happened
+       * AGPL, GPL: it finally happened
 
 2007-11-18 12:02  ivan
 
 2007-11-07 16:59  ivan
 
        * FS/FS/Conf.pm, FS/FS/cust_bill.pm, FS/FS/cust_main.pm,
-         conf/alerter_template, conf/company_address, conf/company_name,
+         FS/bin/freeside-expiration-alerter, conf/alerter_template,
+         conf/company_address, conf/company_name,
          conf/impending_recur_template, conf/invoice_latexfooter,
-         conf/invoice_latexnotes, conf/invoice_latexsmallfooter,
-         conf/invoice_template, conf/invoice_template_statement,
-         conf/welcome_letter: for new installs, centralize some stuff that
-         was spread around different config files.
+         conf/invoice_latexnotes, conf/invoice_latexreturnaddress,
+         conf/invoice_latexsmallfooter, conf/invoice_template,
+         conf/invoice_template_statement, conf/welcome_letter: for new
+         installs, centralize some stuff that was spread around different
+         config files.
 
 2007-11-05 17:59  ivan
 
          fs_selfservice/FS-SelfService/SelfService.pm: add
          process_payment_order_pkg method
 
+2007-11-04 10:22  jeff
+
+       * httemplate/search/cust_main_ADV.cgi: comma is a bad delimiter
+         choice according to ut_text()
+
 2007-11-03 10:38  ivan
 
        * httemplate/elements/menu.html: move menu option for adv. customer
 
 2007-11-02 17:55  jeff
 
-       * httemplate/: elements/menu.html, search/report_cust_main.html:
-         new customer report/flattened package report (ticket 1428)
+       * httemplate/: elements/menu.html, search/cust_main_ADV.cgi,
+         search/report_cust_main.html: new customer report/flattened
+         package report (ticket 1428)
 
 2007-10-29 05:04  ivan
 
 
        * FS/bin/freeside-sqlradius-seconds: fixing wrong POD NAME doc
 
+2007-10-03 18:29  ivan
+
+       * FS/t/cust_tax_exempt.pm: wtf!
+
 2007-10-03 18:21  ivan
 
        * FS/FS.pm: update FS base page for new stuff in 1.9
 2007-09-13 15:35  ivan
 
        * FS/MANIFEST, FS/FS/Schema.pm, FS/FS/acct_rt_transaction.pm,
-         FS/t/acct_rt_transaction.t, htetc/handler.pl,
+         FS/FS/svc_acct_rt_transaction.pm, FS/t/acct_rt_transaction.t,
+         FS/t/svc_acct_rt_transaction.t, htetc/handler.pl,
          httemplate/misc/process/timeworked.html,
          httemplate/search/timeworked.html: rename svc_acct_rt_transaction
          to acct_rt_transaction, as it is not a service, its something
 
 2007-08-16 06:40  jeff
 
-       * FS/FS/AccessRight.pm, FS/FS/Conf.pm, FS/FS/Schema.pm,
-         FS/FS/cust_main.pm, httemplate/misc/batch-cust_pay.html,
+       * FS/FS/svc_acct_rt_transaction.pm, FS/FS/AccessRight.pm,
+         FS/FS/Conf.pm, FS/FS/Schema.pm, FS/FS/cust_main.pm,
+         FS/t/svc_acct_rt_transaction.t,
+         httemplate/misc/batch-cust_pay.html,
          httemplate/misc/timeworked.html, FS/MANIFEST,
          httemplate/misc/process/timeworked.html,
          httemplate/search/timeworked.html, FS/FS/ClientAPI/MyAccount.pm,
 
 2007-08-10 16:50  ivan
 
-       * FS/bin/: freeside-dbdef-create: rename dbdef-create to
-         freeside-dbdef-create and move it to FS/bin, so it gets
-         %%%FREESIDE_CONF%%% substituted
+       * bin/dbdef-create, FS/bin/freeside-dbdef-create: rename
+         dbdef-create to freeside-dbdef-create and move it to FS/bin, so
+         it gets %%%FREESIDE_CONF%%% substituted
 
 2007-08-10 15:48  ivan
 
          html/Elements/PageLayout, html/Elements/QuickCreate,
          html/Elements/SimpleSearch, html/Elements/Tabs,
          html/Elements/TicketList, html/Elements/TitleBoxStart,
-         html/Elements/CollectionAsTable/Row, html/Search/Bulk.html,
+         html/Elements/CollectionAsTable/Row, html/NoAuth/printrt.css,
+         html/NoAuth/webrt.css, html/NoAuth/images/space.gif,
+         html/Search/Bulk.html, html/Ticket/Elements/ShowMemberOf,
+         html/Ticket/Elements/ShowReferences,
          html/Ticket/Elements/ShowSummary, html/Ticket/Elements/Tabs,
          html/Widgets/TitleBoxStart, lib/RT/SearchBuilder.pm,
          sbin/rt-setup-database.in: merging RT_3_6_4 to HEAD
        * httemplate/view/cust_main/packages.html: line up package acitons
          all on one line
 
-2007-08-02 12:56  ivan
-
-       * rt/: html/Ticket/Elements/EditCustomFields,
-         html/Ticket/Elements/PreviewScrips,
-         html/Ticket/Elements/ShowDependencies,
-         html/Ticket/Elements/ShowMessageHeaders,
-         html/Ticket/Elements/ShowRequestor,
-         html/Ticket/Elements/ShowUserEntry,
-         html/Ticket/Elements/EditBasics,
-         html/Ticket/Elements/EditCustomField,
-         html/Ticket/Elements/Reminders,
-         html/Ticket/Elements/ShowGroupMembers,
-         html/Ticket/Elements/ShowHistory,
-         html/Ticket/Elements/ShowMembers,
-         html/Ticket/Elements/ShowPeople,
-         html/Ticket/Elements/ShowTransaction,
-         html/Ticket/Elements/EditDates, html/Ticket/Elements/EditPeople,
-         html/Ticket/Elements/ShowAttachments,
-         html/Ticket/Elements/ShowBasics,
-         html/Ticket/Elements/ShowCustomFields,
-         html/Ticket/Elements/ShowMessageStanza,
-         html/SelfService/Closed.html, html/SelfService/Create.html,
-         html/SelfService/CreateTicketInQueue.html,
-         html/SelfService/Display.html, html/SelfService/Error.html,
-         html/SelfService/Prefs.html, html/SelfService/Update.html,
-         html/Ticket/Attachment/dhandler,
-         html/Ticket/Elements/LoadTextAttachments,
-         html/SelfService/index.html,
-         html/SelfService/Attachment/dhandler,
-         html/SelfService/Elements/GotoTicket,
-         html/SelfService/Elements/Header,
-         html/SelfService/Elements/MyRequests,
-         html/SelfService/Elements/Tabs, html/Approvals/Display.html,
-         html/Approvals/index.html,
-         html/Approvals/Elements/PendingMyApproval,
-         html/Approvals/Elements/Tabs, html/Approvals/Elements/Approve,
-         html/Approvals/Elements/ShowDependency,
-         bin/mason_handler.fcgi.in, bin/mason_handler.svc.in, bin/rt.in,
-         bin/standalone_httpd.in, bin/mason_handler.scgi.in,
-         bin/rt-crontool.in, bin/rt-mailgate.in, bin/webmux.pl.in,
-         etc/initialdata, etc/drop.Oracle, etc/schema.mysql,
-         etc/upgrade/3.5.1/content: import rt 3.6.4
-
 2007-08-02 12:54  ivan
 
-       * rt/html/: Prefs/SearchOptions.html,
-         NoAuth/css/3.5-default/main.css, NoAuth/css/3.5-default/misc.css,
-         NoAuth/css/3.5-default/titlebox.css,
-         NoAuth/css/3.5-default/transactions.css,
-         NoAuth/images/css/cb.gif, NoAuth/images/css/cbr.gif,
-         NoAuth/images/css/ct.gif, NoAuth/images/css/ctr.gif,
-         Widgets/TitleBoxStart: Initial revision
-
-2007-08-02 12:53  ivan
-
-       * rt/: lib/RT/I18N/de.po, lib/RT/I18N/ru.po, lib/RT/I18N/nl.po,
-         lib/RT/I18N/pl.po, lib/RT/I18N/da.po, lib/RT/I18N/fr.po,
-         lib/RT/I18N/cs.pm, lib/RT/I18N/it.po, lib/RT/I18N/id.po,
-         lib/RT/I18N/ja.po, lib/RT/I18N/zh_tw.po,
-         lib/RT/I18N/i_default.pm, lib/RT/I18N/pt_br.po,
-         lib/RT/I18N/en.po, lib/RT/I18N/tr.po,
-         lib/RT/Condition/AnyTransaction.pm,
-         lib/RT/Condition/BeforeDue.pm, lib/RT/Condition/Generic.pm,
-         lib/RT/Condition/Overdue.pm, lib/RT/Condition/PriorityChange.pm,
-         lib/RT/Condition/PriorityExceeds.pm,
-         lib/RT/Condition/StatusChange.pm,
-         lib/RT/Condition/UserDefined.pm, lib/RT/I18N/no.po,
-         lib/RT/Condition/OwnerChange.pm, lib/RT/Condition/QueueChange.pm,
-         lib/RT/Report/Tickets.pm, lib/RT/Report/Tickets/Entry.pm,
+       * rt/: lib/RT/I18N/tr.po, lib/RT/Report/Tickets.pm,
+         lib/RT/Report/Tickets/Entry.pm,
          lib/t/data/subject-with-folding-ws, lib/t/data/lorem-ipsum,
-         lib/t/data/very-long-subject, lib/t/regression/08web_cf_access.t,
-         lib/t/regression/12-search.t, lib/t/regression/04send_email.t,
+         lib/t/data/very-long-subject,
          lib/t/regression/06-mime_decoding.t,
          lib/t/regression/15cf_pattern.t,
-         lib/t/regression/21query-builder.t,
-         lib/t/regression/22search_tix_by_txn.t,
-         lib/t/regression/22search_tix_by_watcher.t,
          lib/t/regression/23-batch-upload-csv.t,
          lib/t/regression/25scrip_order.t, lib/t/regression/27verp.t,
-         lib/t/regression/14linking.t, lib/t/regression/17custom_search.t,
+         lib/t/regression/17custom_search.t,
          lib/t/regression/19quicksearch.t, lib/t/regression/23cfsort.t,
          lib/t/regression/00-mason-syntax.t,
-         lib/t/regression/02basic_web.t,
-         lib/t/regression/01ticket_link_searching.t,
-         lib/t/regression/13-attribute-tests.t,
          lib/t/regression/26command_line.t,
-         lib/t/regression/03web_compiliation_errors.t,
-         lib/t/regression/06mailgateway.t, lib/t/regression/07acl.t,
          lib/t/regression/15cf_combo_cascade.t,
          lib/t/regression/18custom_frontpage.t,
-         lib/t/regression/24pawsort.t, lib/t/regression/07rights.t,
+         lib/t/regression/24pawsort.t,
          lib/t/regression/20-sort-by-requestor.t,
          lib/t/regression/23-web_attachments.t,
-         docs/design_docs/ruleset-workflow.txt, html/autohandler,
-         html/index.html, html/l, html/Elements/SelectBoolean,
-         html/Elements/SelectCustomFieldValue, html/Elements/SelectStatus,
-         html/Elements/TitleBox, html/Elements/EditCustomFieldImage,
-         html/Elements/EditCustomFieldSelect, html/Elements/ShowLinks,
-         html/Elements/EditLinks, html/Elements/ListActions,
-         html/Elements/MessageBox, html/Elements/SelectDateRelation,
-         html/Elements/SelectNewTicketQueue,
-         html/Elements/SelectTimeUnits, html/Elements/SelectWatcherType,
-         html/Elements/Error, html/Elements/GotoTicket,
-         html/Elements/MyTickets, html/Elements/QueryString,
-         html/Elements/RefreshHomepage, html/Elements/Section,
-         html/Elements/SelectLinkType, html/Elements/SelectMatch,
-         html/Elements/ShowCustomFieldBinary, html/Elements/ShowLink,
-         html/Elements/ShowMemberships, html/Elements/Login,
-         html/Elements/Refresh, html/Elements/SelectOwner,
-         html/Elements/SelectQueue, html/Elements/SelectUsers,
-         html/Elements/BevelBoxRaisedEnd, html/Elements/Callback,
-         html/Elements/SelectTicketTypes, html/Elements/Checkbox,
-         html/Elements/EditCustomField, html/Elements/MyAdminQueues,
-         html/Elements/MyRT, html/Elements/MyReminders,
-         html/Elements/MySupportQueues, html/Elements/QueueSummary,
-         html/Elements/ScrubHTML, html/Elements/SelectCustomFieldOperator,
-         html/Elements/SelectEqualityOperator,
-         html/Elements/SelectResultsPerPage,
-         html/Elements/SelectTicketSortBy,
-         html/Elements/ShowCustomFieldImage,
-         html/Elements/ShowCustomFieldWikitext, html/Elements/ShowSearch,
+         docs/design_docs/ruleset-workflow.txt,
+         html/Elements/SelectTimeUnits, html/Elements/RefreshHomepage,
+         html/Elements/MyAdminQueues, html/Elements/MyRT,
+         html/Elements/MyReminders, html/Elements/MySupportQueues,
+         html/Elements/QueueSummary, html/Elements/ShowSearch,
          html/Elements/ValidateCustomFields, html/Elements/Logo,
-         html/Elements/SelectSortOrder, html/Elements/SetupSessionCookie,
-         html/Elements/Submit, html/Elements/TitleBoxEnd,
-         html/Elements/BevelBoxRaisedStart, html/Elements/CreateTicket,
-         html/Elements/MyRequests, html/Elements/SelectGroups,
-         html/Elements/SelectLang, html/Elements/ShowCustomFields,
-         html/Elements/EditCustomFieldBinary,
-         html/Elements/EditCustomFieldFreeform, html/Elements/Quicksearch,
-         html/Elements/SelectAttachmentField,
-         html/Elements/SelectDateType,
-         html/Elements/EditCustomFieldCombobox,
-         html/Elements/EditCustomFieldText,
-         html/Elements/EditCustomFieldWikitext,
-         html/Elements/CollectionAsTable/Header,
-         html/Elements/CollectionAsTable/ParseFormat,
-         html/Elements/RT__Ticket/ColumnMap, html/Prefs/MyRT.html,
+         html/Elements/EditCustomFieldCombobox, html/Prefs/MyRT.html,
          html/Prefs/Quicksearch.html, html/Prefs/Search.html,
-         html/Prefs/Elements/Tabs, html/User/Delegation.html,
-         html/User/Elements/DelegateRights, html/User/Elements/GroupTabs,
-         html/User/Elements/Tabs, html/User/Groups/Modify.html,
-         html/Search/Chart.html, html/Search/Edit.html,
-         html/Search/Results.html, html/Search/Results.rdf,
-         html/Search/Simple.html, html/User/Groups/Members.html,
-         html/User/Groups/index.html, html/Search/Chart,
-         html/Search/Results.tsv, html/Search/Build.html,
-         html/Search/Elements/SelectAndOr,
-         html/Search/Elements/SelectGroupBy,
-         html/Search/Elements/SelectPersonType,
-         html/Search/Elements/BuildFormatString,
-         html/Search/Elements/Chart, html/Search/Elements/PickBasics,
-         html/Search/Elements/PickCFs, html/Search/Elements/SearchPrivacy,
+         html/Prefs/SearchOptions.html, html/Prefs/Elements/Tabs,
+         html/Search/Chart.html, html/Search/Simple.html,
+         html/Search/Chart, html/Search/Elements/SelectGroupBy,
+         html/Search/Elements/Chart,
          html/Search/Elements/SearchesForObject,
-         html/Search/Elements/SelectGroup,
-         html/Search/Elements/SelectLinks,
-         html/Search/Elements/SelectSearchObject,
-         html/Search/Elements/SelectSearchesForObjects,
-         html/Search/Elements/DisplayOptions,
-         html/Search/Elements/EditFormat, html/Search/Elements/EditQuery,
-         html/Search/Elements/PickCriteria,
-         html/Search/Elements/SelectChartType, html/REST/1.0/autohandler,
-         html/REST/1.0/dhandler, html/REST/1.0/logout,
-         html/REST/1.0/Forms/queue/default, html/REST/1.0/Forms/queue/ns,
+         html/Search/Elements/SelectChartType,
          html/REST/1.0/Forms/ticket/merge,
-         html/Search/Elements/EditSearches,
-         html/Search/Elements/NewListActions,
          html/REST/1.0/Forms/ticket/comment,
          html/REST/1.0/Forms/ticket/take,
-         html/REST/1.0/Forms/ticket/attachments,
-         html/REST/1.0/Forms/ticket/default,
-         html/REST/1.0/Forms/ticket/history,
-         html/REST/1.0/Forms/ticket/links,
          html/REST/1.0/Forms/transaction/default,
-         html/REST/1.0/Forms/user/default, html/REST/1.0/Forms/user/ns,
-         html/REST/1.0/NoAuth/mail-gateway, html/REST/1.0/search/dhandler,
-         html/REST/1.0/search/ticket, html/REST/1.0/ticket/merge,
-         html/NoAuth/Logout.html, html/NoAuth/Reminder.html,
          html/NoAuth/css/autohandler, html/NoAuth/css/print.css,
          html/NoAuth/css/3.4-compat/footer.css,
-         html/NoAuth/css/3.4-compat/header.css,
-         html/NoAuth/css/3.4-compat/login.css,
-         html/NoAuth/css/3.4-compat/nav.css,
-         html/NoAuth/css/3.4-compat/ticket.css,
-         html/NoAuth/css/3.4-compat/transactions.css,
-         html/REST/1.0/ticket/comment, html/REST/1.0/ticket/link,
-         html/NoAuth/css/3.4-compat/body.css,
-         html/NoAuth/css/3.4-compat/forms.css,
-         html/NoAuth/css/3.4-compat/main.css,
-         html/NoAuth/css/3.4-compat/misc.css,
-         html/NoAuth/css/3.4-compat/quickbar.css,
-         html/NoAuth/css/3.4-compat/titlebox.css,
-         html/NoAuth/css/3.5-default/footer.css,
-         html/NoAuth/css/3.5-default/login.css,
-         html/NoAuth/css/3.5-default/nav.css,
-         html/NoAuth/css/3.5-default/ticket.css,
-         html/NoAuth/css/3.5-default/approvals.css,
-         html/NoAuth/css/3.5-default/body.css,
-         html/NoAuth/css/3.5-default/forms.css,
-         html/NoAuth/css/3.5-default/header.css,
-         html/NoAuth/css/3.5-default/logo.css,
-         html/NoAuth/css/3.5-default/quickbar.css,
-         html/NoAuth/images/autohandler, html/NoAuth/images/bplogo.gif,
-         html/NoAuth/images/css/cb-light.gif,
-         html/NoAuth/images/css/cbr-b2g.gif,
-         html/NoAuth/images/css/cbr-b2lb.gif,
-         html/NoAuth/images/css/cbr-gray.gif,
-         html/NoAuth/images/css/cbr-trans.gif,
-         html/NoAuth/images/css/ct-light.gif,
-         html/NoAuth/images/css/ctr-b2g.gif,
-         html/NoAuth/images/css/ctr-b2lb.gif,
-         html/NoAuth/images/css/ctr-gray.gif,
-         html/NoAuth/images/css/ctr-trans.gif,
-         html/NoAuth/images/css/dark-arrow-up.png,
-         html/NoAuth/images/css/dark-arrow.png,
-         html/NoAuth/images/css/light-arrow-up.png,
-         html/NoAuth/images/css/light-arrow.png,
-         html/NoAuth/images/css/rolldown-arrow.gif,
-         html/NoAuth/images/css/rolldown-arrow.png,
-         html/NoAuth/images/css/rollup-arrow.gif,
-         html/NoAuth/js/cascaded.js, html/NoAuth/js/util.js,
-         html/NoAuth/js/autohandler, html/NoAuth/js/combobox.js,
-         html/NoAuth/js/list.js, html/NoAuth/js/ahah.js,
-         html/NoAuth/js/class.js, html/NoAuth/js/titlebox-state.js,
-         html/Widgets/ComboBox, html/Widgets/SavedSearch,
-         html/Widgets/SelectionBox, html/Widgets/TitleBox,
-         html/Widgets/TitleBoxEnd, html/Helpers/CalPopup.html,
-         html/Tools/MyDay.html, html/Tools/Offline.html,
-         html/Tools/index.html, html/Tools/Elements/Tabs,
-         html/Tools/Reports/CreatedByDates.html,
-         html/Tools/Reports/ResolvedByDates.html,
-         html/Tools/Reports/ResolvedByOwner.html,
-         html/Tools/Reports/index.html, html/Admin/autohandler,
-         html/Admin/index.html, html/Admin/Queues/CustomField.html,
-         html/Admin/Queues/CustomFields.html,
-         html/Admin/Queues/GroupRights.html,
-         html/Admin/Queues/People.html,
-         html/Download/CustomFieldValue/dhandler,
-         html/Download/Tabular/dhandler, html/Tools/Reports/Elements/Tabs,
-         html/Admin/Queues/Modify.html, html/Admin/Queues/Scrip.html,
-         html/Admin/Queues/Scrips.html, html/Admin/Queues/Template.html,
-         html/Admin/Elements/ObjectCustomFields,
-         html/Admin/Elements/SelectCustomFieldType,
-         html/Admin/Elements/SelectScripCondition,
-         html/Admin/Queues/Templates.html,
-         html/Admin/Queues/UserRights.html, html/Admin/Queues/index.html,
-         html/Admin/Elements/CustomFieldTabs,
-         html/Admin/Elements/EditCustomFieldValues,
-         html/Admin/Elements/EditUserComments,
-         html/Admin/Elements/GroupTabs,
-         html/Admin/Elements/SelectModifyQueue,
-         html/Admin/Elements/SelectScrip,
-         html/Admin/Elements/SelectScripAction,
-         html/Admin/Elements/SelectStage,
-         html/Admin/Elements/SelectTemplate, html/Admin/Elements/Tabs,
-         html/Admin/Elements/ConfigureMyRT,
-         html/Admin/Elements/EditCustomFields,
-         html/Admin/Elements/QueueTabs, html/Admin/Elements/EditScrip,
-         html/Admin/Elements/GlobalCustomFieldTabs,
-         html/Admin/Elements/ModifyTemplate,
-         html/Admin/Elements/SelectModifyGroup,
-         html/Admin/Elements/SelectSingleOrMultiple,
-         html/Admin/Elements/SystemTabs,
-         html/Admin/Elements/AddCustomFieldValue,
-         html/Admin/Elements/CreateUserCalled,
-         html/Admin/Elements/EditQueueWatchers,
-         html/Admin/Elements/EditScrips,
-         html/Admin/Elements/PickCustomFields,
-         html/Admin/Elements/SelectModifyUser,
-         html/Admin/Elements/SelectNewGroupMembers,
-         html/Admin/Elements/SelectUsers, html/Admin/Elements/UserTabs,
-         html/Admin/Elements/EditCustomField,
-         html/Admin/Elements/ListGlobalCustomFields,
-         html/Admin/Elements/ListGlobalScrips,
-         html/Admin/Elements/PickObjects,
-         html/Admin/Elements/SelectCustomFieldLookupType,
-         html/Admin/Elements/SelectGroups,
-         html/Admin/Elements/EditTemplates, html/Admin/Elements/Header,
-         html/Admin/Elements/QueueRightsForUser,
-         html/Admin/Elements/SelectRights, html/Admin/Elements/ToolTabs,
-         html/Admin/Global/MyRT.html, html/Admin/Global/GroupRights.html,
-         html/Admin/Global/Scrip.html, html/Admin/Global/Scrips.html,
-         html/Admin/Global/Template.html,
-         html/Admin/Global/Templates.html,
-         html/Admin/Global/UserRights.html, html/Admin/Global/index.html,
-         html/Admin/Global/CustomFields/Queue-Tickets.html,
-         html/Admin/Global/CustomFields/Queue-Transactions.html,
-         html/Admin/Global/CustomFields/Users.html,
-         html/Admin/Global/CustomFields/Groups.html,
-         html/Admin/Global/CustomFields/index.html,
-         html/Admin/Users/CustomFields.html, html/Admin/Users/MyRT.html,
-         html/Admin/Users/History.html, html/Admin/Users/Memberships.html,
-         html/Admin/CustomFields/GroupRights.html,
-         html/Admin/CustomFields/Modify.html,
-         html/Admin/CustomFields/Objects.html,
-         html/Admin/CustomFields/UserRights.html,
-         html/Admin/CustomFields/index.html, html/Admin/Users/index.html,
-         html/Admin/Groups/CustomFields.html,
-         html/Admin/Groups/GroupRights.html,
-         html/Admin/Groups/History.html, html/Admin/Groups/Modify.html,
-         html/Admin/Tools/Configuration.html, html/Admin/Tools/index.html,
-         html/Admin/Groups/Members.html,
-         html/Admin/Groups/UserRights.html, html/Admin/Groups/index.html,
-         html/Ticket/History.html, html/Ticket/Modify.html,
-         html/Ticket/ModifyLinks.html, html/Ticket/Reminders.html,
-         html/Ticket/ShowEmailRecord.html, html/Ticket/ModifyDates.html,
-         html/Ticket/ModifyPeople.html, html/Ticket/Update.html,
-         html/Ticket/ModifyAll.html, html/Ticket/Elements/AddWatchers,
-         html/Ticket/Elements/BulkLinks,
-         html/Ticket/Elements/EditWatchers,
-         html/Ticket/Elements/FindAttachments,
-         html/Ticket/Elements/ShowDates, html/Ticket/Elements/ShowTime:
-         import rt 3.6.4
+         html/NoAuth/css/3.4-compat/header.css,
+         html/NoAuth/css/3.4-compat/login.css,
+         html/NoAuth/css/3.4-compat/nav.css,
+         html/NoAuth/css/3.4-compat/ticket.css,
+         html/NoAuth/css/3.4-compat/transactions.css,
+         html/NoAuth/css/3.4-compat/body.css,
+         html/NoAuth/css/3.4-compat/forms.css,
+         html/NoAuth/css/3.4-compat/main.css,
+         html/NoAuth/css/3.4-compat/misc.css,
+         html/NoAuth/css/3.4-compat/quickbar.css,
+         html/NoAuth/css/3.4-compat/titlebox.css,
+         html/NoAuth/css/3.5-default/footer.css,
+         html/NoAuth/css/3.5-default/login.css,
+         html/NoAuth/css/3.5-default/nav.css,
+         html/NoAuth/css/3.5-default/ticket.css,
+         html/NoAuth/css/3.5-default/approvals.css,
+         html/NoAuth/css/3.5-default/body.css,
+         html/NoAuth/css/3.5-default/forms.css,
+         html/NoAuth/css/3.5-default/header.css,
+         html/NoAuth/css/3.5-default/logo.css,
+         html/NoAuth/css/3.5-default/main.css,
+         html/NoAuth/css/3.5-default/misc.css,
+         html/NoAuth/css/3.5-default/quickbar.css,
+         html/NoAuth/css/3.5-default/titlebox.css,
+         html/NoAuth/css/3.5-default/transactions.css,
+         html/NoAuth/images/css/cb-light.gif,
+         html/NoAuth/images/css/cb.gif,
+         html/NoAuth/images/css/cbr-b2g.gif,
+         html/NoAuth/images/css/cbr-b2lb.gif,
+         html/NoAuth/images/css/cbr-gray.gif,
+         html/NoAuth/images/css/cbr-trans.gif,
+         html/NoAuth/images/css/cbr.gif,
+         html/NoAuth/images/css/ct-light.gif,
+         html/NoAuth/images/css/ct.gif,
+         html/NoAuth/images/css/ctr-b2g.gif,
+         html/NoAuth/images/css/ctr-b2lb.gif,
+         html/NoAuth/images/css/ctr-gray.gif,
+         html/NoAuth/images/css/ctr-trans.gif,
+         html/NoAuth/images/css/ctr.gif,
+         html/NoAuth/images/css/dark-arrow-up.png,
+         html/NoAuth/images/css/dark-arrow.png,
+         html/NoAuth/images/css/light-arrow-up.png,
+         html/NoAuth/images/css/light-arrow.png,
+         html/NoAuth/images/css/rolldown-arrow.gif,
+         html/NoAuth/images/css/rolldown-arrow.png,
+         html/NoAuth/images/css/rollup-arrow.gif,
+         html/NoAuth/js/cascaded.js, html/NoAuth/js/util.js,
+         html/NoAuth/js/autohandler, html/NoAuth/js/combobox.js,
+         html/NoAuth/js/list.js, html/NoAuth/js/ahah.js,
+         html/NoAuth/js/class.js, html/NoAuth/js/titlebox-state.js,
+         html/Widgets/ComboBox, html/Widgets/SavedSearch,
+         html/Widgets/SelectionBox, html/Widgets/TitleBox,
+         html/Widgets/TitleBoxEnd, html/Widgets/TitleBoxStart,
+         html/Helpers/CalPopup.html, html/Tools/index.html,
+         html/Tools/Reports/CreatedByDates.html,
+         html/Tools/Reports/ResolvedByDates.html,
+         html/Tools/Reports/ResolvedByOwner.html,
+         html/Tools/Reports/index.html, html/Tools/Reports/Elements/Tabs,
+         html/Admin/Elements/ConfigureMyRT, html/Admin/Global/MyRT.html,
+         html/Admin/Users/MyRT.html, html/Ticket/Reminders.html,
+         html/Ticket/Elements/ShowTime, html/Ticket/Elements/Reminders,
+         etc/upgrade/3.5.1/content: Initial revision
 
-2007-08-02 12:49  ivan
+2007-08-02 12:51  ivan
 
-       * rt/: configure, aclocal.m4, Changelog, Makefile.in, README,
-         UPGRADING, configure.ac, sbin/extract_pod_tests,
-         sbin/rt-test-dependencies.in, sbin/extract-message-catalog,
-         sbin/regression_harness, sbin/rt-dump-database.in, sbin/factory,
-         sbin/license_tag, lib/RT.pm.in,
-         lib/RT/ObjectCustomFieldValues.pm,
-         lib/RT/Transactions_Overlay.pm, lib/RT/URI.pm, lib/RT/Handle.pm,
-         lib/RT/ObjectCustomField.pm, lib/RT/ScripCondition_Overlay.pm,
-         lib/RT/CustomFieldValues_Overlay.pm,
-         lib/RT/ObjectCustomFieldValue.pm, lib/RT/ScripConditions.pm,
-         lib/RT/Scrip_Overlay.pm, lib/RT/Tickets_Overlay.pm,
-         lib/RT/CustomField_Overlay.pm, lib/RT/GroupMembers_Overlay.pm,
-         lib/RT/I18N.pm, lib/RT/Queue.pm,
-         lib/RT/ScripConditions_Overlay.pm, lib/RT/Scrips.pm,
-         lib/RT/System.pm, lib/RT/CachedGroupMember.pm, lib/RT/Links.pm,
-         lib/RT/CustomFieldValues.pm, lib/RT/SavedSearch.pm,
-         lib/RT/Scrips_Overlay.pm, lib/RT/CustomFields_Overlay.pm,
-         lib/RT/ObjectCustomFields.pm, lib/RT/Reminders.pm, lib/RT/ACE.pm,
-         lib/RT/CurrentUser.pm, lib/RT/CustomFieldValue_Overlay.pm,
-         lib/RT/Attributes.pm, lib/RT/Base.pm,
-         lib/RT/ScripAction_Overlay.pm, lib/RT/User.pm,
-         lib/RT/Principals_Overlay.pm, lib/RT/ScripAction.pm,
-         lib/RT/CustomField.pm, lib/RT/Principal.pm,
-         lib/RT/Attributes_Overlay.pm, lib/RT/Queues.pm,
-         lib/RT/Attachments.pm, lib/RT/Attribute_Overlay.pm,
-         lib/RT/CachedGroupMember_Overlay.pm,
-         lib/RT/ObjectCustomFieldValues_Overlay.pm,
-         lib/RT/SavedSearches.pm, lib/RT/ScripCondition.pm,
-         lib/RT/Templates.pm, lib/RT/Tickets.pm,
-         lib/RT/ObjectCustomFieldValue_Overlay.pm,
-         lib/RT/Tickets_Overlay_SQL.pm, lib/RT/Users.pm,
-         lib/RT/Attachments_Overlay.pm, lib/RT/CachedGroupMembers.pm,
-         lib/RT/Link.pm, lib/RT/Transaction.pm,
-         lib/RT/GroupMember_Overlay.pm, lib/RT/ScripActions_Overlay.pm,
-         lib/RT/ACE_Overlay.pm, lib/RT/CachedGroupMembers_Overlay.pm,
-         lib/RT/Scrip.pm, lib/RT/EmailParser.pm,
-         lib/RT/ObjectCustomField_Overlay.pm, lib/RT/Group.pm,
-         lib/RT/Template.pm, lib/RT/GroupMembers.pm,
-         lib/RT/Principal_Overlay.pm, lib/RT/Transactions.pm,
-         lib/RT/ACL_Overlay.pm, lib/RT/Attachment_Overlay.pm,
-         lib/RT/ACL.pm, lib/RT/Date.pm, lib/RT/GroupMember.pm,
-         lib/RT/Groups.pm, lib/RT/Templates_Overlay.pm,
-         lib/RT/Group_Overlay.pm, lib/RT/Links_Overlay.pm,
-         lib/RT/CustomFieldValue.pm, lib/RT/CustomFields.pm,
-         lib/RT/Link_Overlay.pm, lib/RT/ObjectCustomFields_Overlay.pm,
-         lib/RT/Principals.pm, lib/RT/Queues_Overlay.pm, lib/RT/Ticket.pm,
-         lib/RT/Attribute.pm, lib/RT/ScripActions.pm,
-         lib/RT/Attachment.pm, lib/RT/Queue_Overlay.pm,
-         lib/RT/Template_Overlay.pm, lib/RT/URI/base.pm,
-         lib/RT/URI/fsck_com_rt.pm, lib/RT/URI/t.pm,
-         lib/RT/Interface/Email.pm, lib/RT/Interface/REST.pm,
-         lib/RT/Interface/CLI.pm, lib/RT/Interface/Web.pm,
-         lib/RT/Interface/Web/Handler.pm, lib/RT/Interface/Web/Menu.pm,
-         lib/RT/Interface/Web/QueryBuilder.pm,
-         lib/RT/Interface/Web/Standalone.pm,
-         lib/RT/Interface/Email/Auth/GnuPG.pm,
-         lib/RT/Interface/Email/Filter/SpamAssassin.pm,
-         lib/RT/Interface/Web/Menu/Item.pm,
-         lib/RT/Interface/Web/QueryBuilder/Tree.pm,
-         lib/RT/Action/Autoreply.pm, lib/RT/Action/Generic.pm,
-         lib/RT/Interface/Email/Auth/MailFrom.pm, lib/RT/Action/Notify.pm,
-         lib/RT/Action/RecordComment.pm,
-         lib/RT/Action/RecordCorrespondence.pm,
-         lib/RT/Action/CreateTickets.pm, lib/RT/Action/NotifyAsComment.pm,
-         lib/RT/Action/ResolveMembers.pm, lib/RT/Action/UserDefined.pm,
-         lib/RT/Action/AutoOpen.pm, lib/RT/Action/EscalatePriority.pm,
-         lib/RT/Action/SendEmail.pm, lib/RT/Action/SetPriority.pm,
-         lib/RT/Search/ActiveTicketsInQueue.pm, lib/RT/Search/FromSQL.pm,
-         lib/RT/Search/Generic.pm, lib/RT/Search/Googleish.pm,
-         lib/RT/I18N/cs.po, lib/RT/I18N/es.po, lib/RT/I18N/sv.po,
-         lib/RT/I18N/fi.po, lib/RT/I18N/zh_cn.po, lib/RT/I18N/hu.po,
-         lib/RT/I18N/he.po: import rt 3.6.4
+       * rt/lib/RT/: Reminders.pm, Interface/Web/Menu.pm,
+         Interface/Web/Menu/Item.pm, Search/Googleish.pm, I18N/sv.po:
+         Initial revision
 
 2007-08-01 15:33  ivan
 
 
 2007-08-01 15:24  ivan
 
-       * CREDITS, FS/MANIFEST, FS/FS/AccessRight.pm, FS/FS/Conf.pm,
-         FS/FS/Record.pm, FS/FS/Schema.pm, FS/FS/Setup.pm,
-         FS/FS/access_group.pm, FS/FS/access_user.pm,
-         FS/FS/access_user_pref.pm, FS/FS/agent.pm, FS/FS/cust_bill.pm,
-         FS/FS/cust_credit.pm, FS/FS/cust_event.pm, FS/FS/cust_main.pm,
-         FS/FS/cust_pay.pm, FS/FS/cust_pay_batch.pm, FS/FS/cust_pkg.pm,
-         FS/FS/cust_refund.pm, FS/FS/m2name_Common.pm,
+       * ANNOUNCE.1.5, CREDITS, FS/MANIFEST, FS/README,
+         FS/FS/AccessRight.pm, FS/FS/Conf.pm, FS/FS/Record.pm,
+         FS/FS/Schema.pm, FS/FS/Setup.pm, FS/FS/access_group.pm,
+         FS/FS/access_user.pm, FS/FS/access_user_pref.pm, FS/FS/agent.pm,
+         FS/FS/cust_bill.pm, FS/FS/cust_credit.pm, FS/FS/cust_event.pm,
+         FS/FS/cust_main.pm, FS/FS/cust_pay.pm, FS/FS/cust_pay_batch.pm,
+         FS/FS/cust_pkg.pm, FS/FS/cust_refund.pm, FS/FS/m2name_Common.pm,
          FS/FS/option_Common.pm, FS/FS/part_bill_event.pm,
          FS/FS/part_event.pm, FS/FS/part_event_condition.pm,
          FS/FS/part_event_condition_option.pm,
          httemplate/view/cust_bill-logo.cgi,
          httemplate/view/cust_bill.cgi, httemplate/view/cust_main.cgi,
          httemplate/view/logo.cgi, httemplate/view/svc_Common.html,
+         httemplate/view/cust_main/order_pkg.html,
          httemplate/view/cust_main/packages.html,
          httemplate/view/cust_main/payment_history.html, test/cgi-test:
          event refactor, landing on HEAD!
        * rt/: Makefile, config.log, config.status, bin/mason_handler.fcgi,
          bin/mason_handler.scgi, bin/mason_handler.svc,
          bin/rt-commit-handler, bin/rt-crontool, bin/rt-mailgate,
-         etc/RT_Config.pm, lib/RT.pm, lib/RTx/WebCronTool.pm,
-         lib/t/02regression.t, lib/t/03web.pl, lib/t/04_send_email.pl:
-         commit these RT differences, seem to be mostly in autogen'ed
-         stuff
+         bin/webmux.pl, etc/RT_Config.pm, lib/RT.pm,
+         lib/RTx/WebCronTool.pm, lib/t/02regression.t, lib/t/03web.pl,
+         lib/t/04_send_email.pl: commit these RT differences, seem to be
+         mostly in autogen'ed stuff
 
 2007-08-01 15:13  ivan
 
 
 2007-07-06 01:08  ivan
 
-       * README: v3!
+       * GPL, README: v3!
 
 2007-07-05 15:05  ivan
 
 
        * FS/FS/cust_pkg.pm: missing method name in docs
 
+2007-07-01 11:09  ivan
+
+       * TODO: remove obsolete information and dollar sign Id dollar sign
+         from TODO
+
 2007-06-30 17:36  ivan
 
        * httemplate/edit/agent.cgi: separate agent interface is
 
 2007-06-28 18:27  ivan
 
-       * bin/strip-eps: removing create-history-tables, freeside-upgrade
-         does this anyway
+       * bin/: create-history-tables, strip-eps: removing
+         create-history-tables, freeside-upgrade does this anyway
 
 2007-06-28 18:23  ivan
 
 
        * FS/FS/Schema.pm, FS/FS/cust_main.pm,
          httemplate/edit/cust_main.cgi,
-         httemplate/edit/cust_main/billing.html: ticket 1443 add account
-         type and bank state for echeck processing
+         httemplate/edit/cust_main/billing.html,
+         httemplate/edit/cust_main/select-state.html: ticket 1443 add
+         account type and bank state for echeck processing
 
 2007-04-05 17:37  ivan
 
 
 2007-02-28 11:14  jeff
 
-       * httemplate/misc/svc_acct-domains.cgi: restore (none) choice to
-         first package select
+       * httemplate/: edit/cust_main/select-domain.html,
+         misc/svc_acct-domains.cgi: restore (none) choice to first package
+         select
 
 2007-02-27 16:16  jayce
 
        * FS/FS/cust_main.pm: *** ERROR: unterminated L<...> at line 4716
          in file FS/cust_main.pm
 
+2007-02-14 17:09  ivan
+
+       * httemplate/docs/billing.html: removing docs moved to wiki
+
 2007-02-14 16:49  ivan
 
        * httemplate/edit/part_bill_event.cgi: add send_email event
 
 2007-02-14 15:32  jeff
 
-       * httemplate/: edit/cust_main.cgi, misc/svc_acct-domains.cgi:
-         selectable domain on first package in edit/cust_main
+       * httemplate/: edit/cust_main/select-domain.html,
+         edit/cust_main.cgi, misc/svc_acct-domains.cgi: selectable domain
+         on first package in edit/cust_main
 
 2007-02-14 14:43  ivan
 
 
 2007-02-12 09:56  jeff
 
-       * FS/FS/ClientAPI/Signup.pm: alpha sort packages in new package
-         order SELECT (ticket 1446)
+       * FS/FS/ClientAPI/Signup.pm,
+         httemplate/view/cust_main/order_pkg.html: alpha sort packages in
+         new package order SELECT (ticket 1446)
 
 2007-02-11 19:11  ivan
 
 
        * FS/FS/pay_batch.pm: remove refactored code
 
+2007-02-05 05:11  ivan
+
+       * httemplate/search/svc_Smart.html: remove unused svc_Smart
+
 2007-02-05 05:10  ivan
 
        * httemplate/search/: report_receivables.cgi,
        * FS/FS/AccessRight.pm, httemplate/view/cust_bill-logo.cgi,
          httemplate/view/cust_bill-pdf.cgi,
          httemplate/view/cust_bill-ps.cgi, httemplate/view/cust_bill.cgi,
-         httemplate/view/cust_main.cgi, httemplate/view/svc_Common.html,
-         httemplate/view/svc_acct.cgi, httemplate/view/svc_broadband.cgi,
+         httemplate/view/cust_main.cgi, httemplate/view/cust_pkg.cgi,
+         httemplate/view/svc_Common.html, httemplate/view/svc_acct.cgi,
+         httemplate/view/svc_broadband.cgi,
          httemplate/view/svc_domain.cgi, httemplate/view/svc_external.cgi,
          httemplate/view/svc_forward.cgi, httemplate/view/svc_www.cgi,
          httemplate/view/cust_main/contacts.html,
 
 2007-01-21 05:26  ivan
 
-       * Makefile, htetc/freeside-base1.conf, htetc/freeside-base2.conf:
-         mod_perl v2, it finally happened
+       * Makefile, htetc/freeside-base.conf, htetc/freeside-base1.conf,
+         htetc/freeside-base2.conf: mod_perl v2, it finally happened
 
 2007-01-21 01:13  ivan
 
 
        * httemplate/docs/index.html: link more docs to wiki
 
+2006-12-29 00:29  ivan
+
+       * httemplate/browse/pay_batch.cgi: this is unused, replaced by
+         search/pay_batch.cgi
+
 2006-12-29 00:25  ivan
 
        * FS/FS/part_export/vpopmail.pm: didn't get checked in with
        * FS/FS/part_export.pm: use FS::queue for exports, though they
          should probably just use it themselves
 
+2006-12-29 00:21  ivan
+
+       * Changelog, Changes.1.5.7, Changes.1.5.8: removing old changelogs
+
+2006-12-29 00:20  ivan
+
+       * Changes.1.7.0: changelog now in the wiki
+
 2006-12-28 23:23  ivan
 
        * httemplate/edit/elements/edit.html: document field types
 
        * FS/FS/Misc.pm, htetc/handler.pl,
          httemplate/edit/cust_main/contact.html,
+         httemplate/edit/cust_main/select-county.html,
          httemplate/misc/counties.cgi: Add a (magically appearing and
          disappearing) label on the county selector.  confusing when
          labeled "state"
 
 2006-12-26 17:07  ivan
 
-       * httemplate/: edit/cust_main.cgi, misc/counties.cgi: fix county
+       * httemplate/: edit/cust_main.cgi,
+         edit/cust_main/select-county.html, misc/counties.cgi: fix county
          selector
 
 2006-12-26 11:53  ivan
          FS/bin/freeside-deluser, FS/bin/freeside-queued,
          FS/bin/freeside-selfservice-server, FS/bin/freeside-setup,
          FS/bin/freeside-sqlradius-radacctd, FS/bin/freeside-upgrade,
-         bin/mapsecrets2access_user, htetc/handler.pl: make the config
-         directory configurable
+         bin/dbdef-create, bin/mapsecrets2access_user, htetc/handler.pl:
+         make the config directory configurable
 
 2006-12-13 22:00  ivan
 
 
 2006-12-08 05:36  ivan
 
-       * httemplate/edit/process/quick-charge.cgi: some javascript
-         validation magic to give one-time charges better UI
+       * httemplate/: view/cust_main/quick-charge.html,
+         edit/process/quick-charge.cgi: some javascript validation magic
+         to give one-time charges better UI
 
 2006-12-07 08:46  ivan
 
        * FS/bin/freeside-queued: remove unnecessary service use (in an
          awfully odd place)
 
+2006-11-30 17:35  ivan
+
+       * FS/bin/freeside-expiration-alerter: go away and never come back,
+         $Id$
+
 2006-11-30 17:34  ivan
 
        * FS/bin/freeside-email: begone $Id$ and your diff noise!
 
        * FS/MANIFEST: removing freeside-daily
 
+2006-10-29 16:26  ivan
+
+       * FS/bin/freeside-bill: removing pre-1.4 freeside-bill
+
 2006-10-27 12:10  ivan
 
        * FS/FS/: Conf.pm, cust_pkg.pm: add
 2006-10-19 07:26  jeff
 
        * httemplate/elements/tr-select-reason.html,
-         httemplate/misc/cancel_pkg.html,
-         httemplate/misc/process/cancel_pkg.html, FS/t/cust_pkg_reason.t:
-         suspension and cancellation reasons
+         httemplate/misc/cancel_pkg.cgi, httemplate/misc/cancel_pkg.html,
+         httemplate/misc/expire_pkg.cgi,
+         httemplate/misc/process/cancel_pkg.html,
+         httemplate/misc/process/expire_pkg.cgi,
+         httemplate/misc/susp_pkg.cgi, FS/t/cust_pkg_reason.t: suspension
+         and cancellation reasons
 
 2006-10-19 07:23  jeff
 
-       * FS/FS/reason.pm, FS/FS/reason_type.pm, FS/t/reason.t,
-         FS/t/reason_type.t, httemplate/browse/reason.html,
+       * FS/FS/cancel_reason.pm, FS/FS/reason.pm, FS/FS/reason_type.pm,
+         FS/t/cancel_reason.t, FS/t/reason.t, FS/t/reason_type.t,
+         httemplate/browse/reason.html,
          httemplate/browse/reason_type.html,
          httemplate/edit/process/reason.html,
          httemplate/edit/process/reason_type.html,
          httemplate/view/cust_main/packages.html: suspension and
          cancellation reasons
 
+2006-10-18 02:30  ivan
+
+       * httemplate/docs/: config.html, export.html: removing obsolete
+         config.html, moving info from export.html into wiki
+
 2006-10-17 17:05  jeff
 
        * httemplate/elements/tr-input-date-field.html: fix ugly null dates
 2006-10-17 02:03  ivan
 
        * rt/: html/Elements/Header, html/Elements/CollectionAsTable/Row,
-         sbin/rt-setup-database.in: commiting rt 3.4.5 to HEAD
+         html/NoAuth/webrt.css, sbin/rt-setup-database.in: commiting rt
+         3.4.5 to HEAD
 
 2006-10-17 01:49  ivan
 
-       * rt/: configure, configure.ac, README, Changelog,
-         sbin/rt-test-dependencies.in,
-         html/Ticket/Elements/EditCustomFields, html/Search/Build.html,
-         html/Search/Results.rdf, html/Search/Results.tsv,
-         html/Search/Elements/BuildFormatString,
-         html/Approvals/Elements/PendingMyApproval,
-         html/Elements/EditCustomField, html/Elements/QueryString,
-         html/Elements/ScrubHTML, html/Elements/EditCustomFieldSelect,
-         html/Elements/Callback, html/Elements/ShowCustomFields,
-         html/Elements/RT__Ticket/ColumnMap, html/User/Elements/Tabs,
-         lib/t/regression/22search_tix_by_txn.t,
-         lib/t/regression/09record_cf_api.t, lib/t/regression/07acl.t,
-         lib/t/regression/14linking.t,
-         lib/t/regression/22search_tix_by_watcher.t,
-         lib/t/regression/06mailgateway.t, lib/t/regression/07rights.t,
-         lib/RT/CustomField_Overlay.pm, lib/RT/Tickets_Overlay_SQL.pm,
-         lib/RT/EmailParser.pm, lib/RT/I18N.pm, lib/RT/Tickets_Overlay.pm,
-         lib/RT/CustomFieldValues.pm, lib/RT/Transactions_Overlay.pm,
-         lib/RT/Principal_Overlay.pm, lib/RT/Queue_Overlay.pm,
-         lib/RT/Attachments_Overlay.pm,
-         lib/RT/ObjectCustomFieldValues_Overlay.pm, lib/RT/ACE_Overlay.pm,
-         lib/RT/Link_Overlay.pm, lib/RT/I18N/en.po, lib/RT/I18N/cs.po,
-         lib/RT/I18N/pt_br.po, lib/RT/I18N/fr.po, lib/RT/I18N/es.po,
-         lib/RT/I18N/nl.po, lib/RT/I18N/pl.po, lib/RT/I18N/no.po,
-         lib/RT/I18N/it.po, lib/RT/I18N/hu.po, lib/RT/I18N/da.po,
-         lib/RT/I18N/ru.po, lib/RT/I18N/de.po, lib/RT/I18N/ja.po,
-         lib/RT/I18N/zh_tw.po, lib/RT/I18N/id.po, lib/RT/I18N/he.po,
-         lib/RT/I18N/fi.po, lib/RT/I18N/zh_cn.po,
-         lib/RT/Action/SendEmail.pm, lib/RT/Interface/Email.pm: import rt
-         3.4.5
+       * rt/: html/NoAuth/printrt.css, lib/t/regression/14linking.t,
+         lib/t/regression/22search_tix_by_watcher.t: Initial revision
 
 2006-10-16 22:49  ivan
 
 
 2006-10-14 02:55  ivan
 
-       * httemplate/docs/index.html: move signup/self-service install to
-         wiki
+       * httemplate/docs/: index.html, selfservice.html: move
+         signup/self-service install to wiki
 
 2006-10-12 02:42  ivan
 
 
 2006-09-26 11:55  ivan
 
-       * httemplate/search/svc_acct.cgi: fix username@domain search
+       * httemplate/search/: svc_Smart.html, svc_acct.cgi: fix
+         username@domain search
 
 2006-09-23 11:33  ivan
 
        * FS/FS/AccessRight.pm, httemplate/elements/menu.html: add RADIUS
          session search back to main menu
 
+2006-09-02 20:14  ivan
+
+       * bin/dbdef-create: REALLY don't error out trying to create a dbdef
+         file from scratch
+
+2006-09-02 20:12  ivan
+
+       * bin/dbdef-create: don't error out trying to create a dbdef file
+         from scratch
+
 2006-09-02 13:38  ivan
 
        * httemplate/search/: cust_bill_event.cgi, cust_bill_event.html:
 
        * bin/: svc_acct.import, svc_domain.erase: BEGONE $Id$
 
+2006-08-31 13:44  ivan
+
+       * bin/svc_acct.export: removing obsolete file
+
 2006-08-31 12:59  ivan
 
        * bin/fs-migrate-svc_acct_sm: BEGONE $Id$
          FS/FS/cust_main.pm, FS/FS/cust_pay_batch.pm,
          FS/FS/part_bill_event.pm, FS/FS/payby.pm,
          FS/FS/ClientAPI/MyAccount.pm, FS/FS/ClientAPI/Signup.pm,
-         FS/t/cust_bill_pay_batch.t, httemplate/edit/cust_bill_pay.cgi,
+         FS/t/cust_bill_pay_batch.t, httemplate/browse/cust_pay_batch.cgi,
+         httemplate/edit/cust_bill_pay.cgi,
          httemplate/edit/cust_credit.cgi,
          httemplate/edit/cust_credit_bill.cgi,
          httemplate/edit/part_bill_event.cgi,
 
 2006-08-25 12:30  ivan
 
-       * FS/FS/: Misc.pm, Record.pm: use GROUP BY instead of DISTINCT ON
-         in the state and country queries for better cross-database
-         compatibility, based on a preliminary patch from Jason Thomas
+       * FS/FS/Misc.pm, FS/FS/Record.pm,
+         httemplate/edit/cust_main/select-country.html,
+         httemplate/edit/cust_main/select-county.html,
+         httemplate/edit/cust_main/select-state.html: use GROUP BY instead
+         of DISTINCT ON in the state and country queries for better
+         cross-database compatibility, based on a preliminary patch from
+         Jason Thomas
 
 2006-08-23 18:37  ivan
 
          httemplate/browse/addr_block.cgi, httemplate/browse/agent.cgi,
          httemplate/browse/agent_type.cgi,
          httemplate/browse/cust_main_county.cgi,
+         httemplate/browse/cust_pay_batch.cgi,
          httemplate/browse/inventory_class.html,
          httemplate/browse/msgcat.cgi, httemplate/browse/nas.cgi,
          httemplate/browse/part_bill_event.cgi,
          httemplate/browse/elements/browse.html,
          httemplate/config/config-process.cgi,
          httemplate/config/config-view.cgi, httemplate/config/config.cgi,
-         httemplate/edit/REAL_cust_pkg.cgi,
+         httemplate/docs/trouble.html, httemplate/edit/REAL_cust_pkg.cgi,
          httemplate/edit/access_group.html,
          httemplate/edit/access_user.html, httemplate/edit/agent.cgi,
          httemplate/edit/agent_payment_gateway.html,
          httemplate/edit/cust_credit_bill.cgi,
          httemplate/edit/cust_main.cgi,
          httemplate/edit/cust_main_county-expand.cgi,
+         httemplate/edit/cust_main_county.cgi,
          httemplate/edit/cust_pay.cgi, httemplate/edit/cust_pkg.cgi,
          httemplate/edit/cust_refund.cgi,
          httemplate/edit/inventory_class.html, httemplate/edit/msgcat.cgi,
          httemplate/edit/svc_www.cgi,
          httemplate/edit/cust_main/billing.html,
          httemplate/edit/cust_main/contact.html,
+         httemplate/edit/cust_main/select-country.html,
+         httemplate/edit/cust_main/select-county.html,
+         httemplate/edit/cust_main/select-state.html,
          httemplate/edit/elements/edit.html,
          httemplate/edit/elements/svc_Common.html,
          httemplate/edit/process/REAL_cust_pkg.cgi,
          httemplate/edit/process/cust_main.cgi,
          httemplate/edit/process/cust_main_county-collapse.cgi,
          httemplate/edit/process/cust_main_county-expand.cgi,
+         httemplate/edit/process/cust_main_county.cgi,
          httemplate/edit/process/cust_pay.cgi,
          httemplate/edit/process/cust_pkg.cgi,
          httemplate/edit/process/cust_refund.cgi,
          httemplate/graph/elements/monthly.html,
          httemplate/misc/batch-cust_pay.html, httemplate/misc/bill.cgi,
          httemplate/misc/cancel-unaudited.cgi,
-         httemplate/misc/catchall.cgi, httemplate/misc/cdr-import.html,
-         httemplate/misc/change_pkg.cgi, httemplate/misc/counties.cgi,
+         httemplate/misc/cancel_pkg.cgi, httemplate/misc/catchall.cgi,
+         httemplate/misc/cdr-import.html, httemplate/misc/change_pkg.cgi,
+         httemplate/misc/counties.cgi,
          httemplate/misc/cust_main-cancel.cgi,
          httemplate/misc/cust_main-import.cgi,
          httemplate/misc/cust_main-import_charges.cgi,
          httemplate/misc/email-invoice.cgi,
          httemplate/misc/email_invoice_events.cgi,
          httemplate/misc/email_invoices.cgi,
-         httemplate/misc/fax-invoice.cgi,
+         httemplate/misc/expire_pkg.cgi, httemplate/misc/fax-invoice.cgi,
          httemplate/misc/fax_invoice_events.cgi,
          httemplate/misc/fax_invoices.cgi,
          httemplate/misc/inventory_item-import.html,
          httemplate/misc/payment.cgi, httemplate/misc/print-invoice.cgi,
          httemplate/misc/print_invoice_events.cgi,
          httemplate/misc/print_invoices.cgi, httemplate/misc/queue.cgi,
-         httemplate/misc/states.cgi,
+         httemplate/misc/states.cgi, httemplate/misc/susp_pkg.cgi,
          httemplate/misc/unapply-cust_credit.cgi,
          httemplate/misc/unapply-cust_pay.cgi,
          httemplate/misc/unprovision.cgi, httemplate/misc/unsusp_pkg.cgi,
          httemplate/misc/process/cust_main-import.cgi,
          httemplate/misc/process/cust_main-import_charges.cgi,
          httemplate/misc/process/delete-customer.cgi,
+         httemplate/misc/process/expire_pkg.cgi,
          httemplate/misc/process/inventory_item-import.html,
          httemplate/misc/process/link.cgi,
          httemplate/misc/process/meta-import.cgi,
          httemplate/search/report_tax.cgi,
          httemplate/search/report_tax.html, httemplate/search/sql.html,
          httemplate/search/sqlradius.cgi,
-         httemplate/search/sqlradius.html, httemplate/search/svc_acct.cgi,
+         httemplate/search/sqlradius.html,
+         httemplate/search/svc_Smart.html, httemplate/search/svc_acct.cgi,
          httemplate/search/svc_broadband.cgi,
          httemplate/search/svc_domain.cgi,
          httemplate/search/svc_external.cgi,
          httemplate/view/cust_bill-logo.cgi,
          httemplate/view/cust_bill-pdf.cgi,
          httemplate/view/cust_bill-ps.cgi, httemplate/view/cust_bill.cgi,
-         httemplate/view/cust_main.cgi, httemplate/view/svc_acct.cgi,
-         httemplate/view/svc_broadband.cgi,
+         httemplate/view/cust_main.cgi, httemplate/view/cust_pkg.cgi,
+         httemplate/view/svc_acct.cgi, httemplate/view/svc_broadband.cgi,
          httemplate/view/svc_domain.cgi, httemplate/view/svc_external.cgi,
          httemplate/view/svc_forward.cgi, httemplate/view/svc_phone.cgi,
          httemplate/view/svc_www.cgi,
          httemplate/view/cust_main/billing.html,
          httemplate/view/cust_main/contacts.html,
          httemplate/view/cust_main/misc.html,
+         httemplate/view/cust_main/order_pkg.html,
          httemplate/view/cust_main/packages.html,
          httemplate/view/cust_main/payment_history.html,
+         httemplate/view/cust_main/quick-charge.html,
          httemplate/view/cust_main/tickets.html,
          httemplate/view/elements/svc_Common.html: Will things ever be the
          same again? It's the final masonize
 
 2006-08-22 05:23  ivan
 
-       * httemplate/docs/index.html: get rid of old upgrade instructions
+       * httemplate/docs/: index.html, upgrade-1.4.2.html, upgrade10.html,
+         upgrade9.html: get rid of old upgrade instructions
+
+2006-08-22 05:20  ivan
+
+       * README.1.7.0: wiki!
+
+2006-08-22 05:09  ivan
+
+       * README.1.5.0pre6, README.1.5.7, README.1.5.7.lastbit,
+         README.1.5.8: removing old upgrade instructions...  can always
+         get the out of the Attic
 
 2006-08-21 16:01  ivan
 
 
 2006-08-21 02:46  ivan
 
-       * httemplate/docs/index.html: we're off to see the wiki, the
-         wonderful wiki of oz
+       * httemplate/docs/: install-rt.html, install.html, index.html:
+         we're off to see the wiki, the wonderful wiki of oz
 
 2006-08-18 05:18  ivan
 
        * FS/FS/cust_main.pm: pass email, phone and ip adderss to B:OP when
          doing refunds, hopefully this will fix OpenECHO refunds
 
+2006-08-14 05:24  ivan
+
+       * Changes.1.7.0: there's more, but this will have to do
+
 2006-08-14 05:13  ivan
 
        * FS/FS/cust_main.pm, httemplate/edit/cust_main.cgi,
          rt/html/Elements/FreesideNewCust,
          rt/html/Elements/FreesideSearch,
          rt/html/Elements/FreesideSvcSearch, rt/html/Elements/PageLayout,
-         rt/html/Elements/SimpleSearch, rt/html/Elements/Tabs: sprinkle
-         some magic ajax fairy dust on referring customer SELEKTAH.
-         rewind!  make smart search smarter, re-layout the top search bars
-         and add an invoice one
+         rt/html/Elements/SimpleSearch, rt/html/Elements/Tabs,
+         rt/html/NoAuth/webrt.css: sprinkle some magic ajax fairy dust on
+         referring customer SELEKTAH.  rewind!  make smart search smarter,
+         re-layout the top search bars and add an invoice one
 
 2006-08-14 01:38  ivan
 
 
 2006-08-10 06:50  ivan
 
-       * FS/FS/Schema.pm, FS/FS/cust_main.pm, FS/FS/part_referral.pm,
-         httemplate/browse/part_referral.html,
+       * README.1.7.0, FS/FS/Schema.pm, FS/FS/cust_main.pm,
+         FS/FS/part_referral.pm, httemplate/browse/part_referral.html,
          httemplate/view/cust_main/misc.html: add cust_main.agent_custid
          (at least to schema and customer view, no manual editing yet)
 
 
        * FS/FS/AccessRight.pm, FS/FS/Record.pm, FS/FS/Schema.pm,
          FS/FS/access_user.pm, FS/FS/part_referral.pm,
+         httemplate/browse/part_referral.cgi,
          httemplate/browse/part_referral.html,
+         httemplate/edit/part_referral.cgi,
          httemplate/edit/part_referral.html,
+         httemplate/edit/process/part_referral.cgi,
          httemplate/edit/process/part_referral.html,
          httemplate/elements/menu.html: agent-virtualize advertising
          sources
 
 2006-08-08 23:43  jeff
 
-       * FS/FS/Schema.pm, FS/FS/Setup.pm, FS/FS/cust_bill.pm,
-         FS/FS/cust_main.pm, FS/FS/cust_pay_batch.pm,
+       * README.1.7.0, FS/FS/Schema.pm, FS/FS/Setup.pm,
+         FS/FS/cust_bill.pm, FS/FS/cust_main.pm, FS/FS/cust_pay_batch.pm,
          FS/FS/part_bill_event.pm, FS/FS/pay_batch.pm, FS/FS/payby.pm,
-         httemplate/docs/schema.html, httemplate/misc/download-batch.cgi:
-         batch refactor
+         httemplate/browse/cust_pay_batch.cgi,
+         httemplate/browse/pay_batch.cgi, httemplate/docs/schema.html,
+         httemplate/misc/download-batch.cgi: batch refactor
 
 2006-08-08 23:34  ivan
 
 
 2006-07-15 17:55  ivan
 
-       * FS/FS/Conf.pm, FS/FS/agent.pm, FS/FS/cust_bill.pm,
+       * SCHEMA_CHANGE, FS/FS/Conf.pm, FS/FS/agent.pm, FS/FS/cust_bill.pm,
          FS/FS/inventory_item.pm,
          fs_selfservice/FS-SelfService/freeside-selfservice-clientd,
-         httemplate/autohandler, httemplate/edit/cust_credit.cgi,
+         httemplate/autohandler, httemplate/browse/cust_pay_batch.cgi,
+         httemplate/edit/cust_credit.cgi,
          httemplate/elements/overlibmws.js,
          httemplate/elements/overlibmws_draggable.js,
          httemplate/elements/phonenumber.html,
 
        * FS/FS/cust_main.pm: patch to fix fuzzy searching from Ryan Gunn
 
+2006-07-05 04:23  ivan
+
+       * README.1.7.0: hint about permissions and users
+
 2006-07-04 05:01  ivan
 
        * FS/: bin/freeside-addgroup, bin/freeside-adduser, MANIFEST:
 
 2006-06-19 04:57  ivan
 
-       * bin/mapsecrets2access_user: ACL bootstrapping/upgrade
+       * Changes.1.7.0, README.1.7.0, bin/mapsecrets2access_user: ACL
+         bootstrapping/upgrade
 
 2006-06-19 04:25  ivan
 
          httemplate/elements/tr-select-cust-fields.html,
          httemplate/elements/tr-select-cust_pkg-status.html,
          httemplate/graph/cust_bill_pkg.cgi,
+         httemplate/search/cust_pkg_report.cgi,
          httemplate/search/report_cust_pkg.html,
          httemplate/view/cust_main/contacts.html: add ability to select
          specific package defs. and package status to package report for
 
        * httemplate/elements/menu.html: fix link to prepaid card setup
 
+2006-06-06 04:16  ivan
+
+       * rt/html/NoAuth/webrt.css: whew, this can go back
+
+2006-06-06 04:08  ivan
+
+       * rt/html/NoAuth/webrt.css: yay this should finally fix the weird
+         black navigation links; hide the Mason stuff from browsers when
+         it doesn't get processed for some reason
+
+2006-06-06 03:57  ivan
+
+       * rt/html/NoAuth/webrt.css: yet another attempt to fix weird black
+         RT navigation links
+
+2006-06-06 03:54  ivan
+
+       * rt/html/NoAuth/webrt.css: another attempt to fix weird black RT
+         navigation links
+
+2006-06-06 03:46  ivan
+
+       * rt/html/NoAuth/webrt.css: attempt to fix weird black RT
+         navigation links
+
 2006-06-06 03:30  ivan
 
        * FS/FS/cdr.pm: fix unmatched =back somehow futzing things up with
 
 2006-06-02 06:20  ivan
 
-       * httemplate/elements/header.html, rt/FREESIDE_MODIFIED,
+       * httemplate/elements/header.html,
+         httemplate/search/svc_Smart.html, rt/FREESIDE_MODIFIED,
          rt/html/Elements/FreesideSvcSearch, rt/html/Elements/PageLayout,
          rt/html/Elements/Tabs: add a service search
 
 
        * FS/MANIFEST: removing duplicate entries
 
+2006-05-23 08:54  ivan
+
+       * README.1.7.0: adding batch upgrade instructions to 1.7.0
+         instructions too
+
 2006-05-22 13:38  ivan
 
        * rt/html/Elements/FreesideNewCust: missing > tag on INPUT
 
        * FS/FS/cust_main.pm: better error message for banned cards
 
+2006-05-22 11:05  ivan
+
+       * Changes.1.5.8: justification
+
 2006-05-21 19:06  ivan
 
        * Makefile: docs are going in the wiki Real Soon Now anyway
 
+2006-05-21 19:04  ivan
+
+       * Changes.1.5.8: 1.5.8!
+
 2006-05-21 17:50  ivan
 
        * Makefile: 1.7.0?  why not?
 
 2006-05-20 13:06  jeff
 
-       * FS/FS.pm, FS/MANIFEST, FS/FS/Schema.pm, FS/FS/cust_bill.pm,
-         FS/FS/cust_pay_batch.pm, FS/FS/pay_batch.pm, FS/t/pay_batch.t,
-         htetc/handler.pl, httemplate/docs/schema.html,
+       * README.1.5.7.lastbit, README.1.5.8, FS/FS.pm, FS/MANIFEST,
+         FS/FS/Schema.pm, FS/FS/cust_bill.pm, FS/FS/cust_pay_batch.pm,
+         FS/FS/pay_batch.pm, FS/t/pay_batch.t, htetc/handler.pl,
+         httemplate/browse/cust_pay_batch.cgi,
+         httemplate/docs/schema.html, httemplate/docs/upgrade10.html,
          httemplate/misc/download-batch.cgi: first stab at BoM download
 
 2006-05-15 06:57  ivan
 
 2006-05-15 04:05  ivan
 
-       * httemplate/elements/freeside.css,
+       * rt/html/NoAuth/webrt.css, httemplate/elements/freeside.css,
          httemplate/elements/header.html, httemplate/elements/xmenu.css,
          httemplate/search/cust_main.cgi, rt/FREESIDE_MODIFIED,
          rt/html/Elements/FreesideNewCust,
 
 2006-05-14 09:47  ivan
 
-       * CREDITS, htetc/handler.pl, httemplate/autohandler,
+       * CREDITS, Changes.1.7.0, htetc/handler.pl, httemplate/autohandler,
          httemplate/index.html, httemplate/browse/access_group.html,
          httemplate/browse/access_user.html,
          httemplate/browse/agent_type.cgi,
          httemplate/edit/cust_credit.cgi,
          httemplate/edit/cust_credit_bill.cgi,
          httemplate/edit/cust_main.cgi, httemplate/edit/cust_pkg.cgi,
+         httemplate/edit/part_referral.cgi,
          httemplate/edit/part_virtual_field.cgi,
          httemplate/edit/svc_domain.cgi,
          httemplate/edit/elements/edit.html,
          httemplate/elements/tr-select-access_group.html,
          httemplate/elements/xmenu.css, httemplate/elements/xmenu.js,
          httemplate/misc/batch-cust_pay.html, httemplate/misc/payment.cgi,
+         httemplate/search/cust_bill.cgi,
          httemplate/search/cust_main-otaker.cgi,
-         httemplate/search/cust_main.cgi,
+         httemplate/search/cust_main-payinfo.html,
+         httemplate/search/cust_main-quickpay.html,
+         httemplate/search/cust_main.cgi, httemplate/search/cust_pay.html,
+         httemplate/search/cust_pkg_report.cgi,
          httemplate/search/report_cust_bill.html,
          httemplate/search/report_cust_credit.html,
          httemplate/search/report_cust_pay.html,
          httemplate/search/report_prepaid_income.html,
          httemplate/search/report_tax.html,
          httemplate/search/sqlradius.html,
+         httemplate/search/svc_acct.html,
          httemplate/search/svc_domain.cgi,
+         httemplate/search/svc_domain.html,
          httemplate/search/svc_external.cgi, FS/MANIFEST,
          FS/FS/AccessRight.pm, FS/FS/CGI.pm, FS/FS/Schema.pm,
          FS/FS/access_group.pm, FS/FS/access_groupagent.pm,
          FS/FS/access_user_pref.pm, FS/FS/access_usergroup.pm,
          FS/FS/agent_type.pm, FS/FS/cust_bill.pm, FS/FS/m2m_Common.pm,
          FS/FS/payby.pm, FS/FS/svc_domain.pm, FS/FS/UI/Web.pm,
-         FS/bin/freeside-addoutsourceuser, FS/t/AccessRight.t,
-         FS/t/access_group.t, FS/t/access_groupagent.t,
-         FS/t/access_right.t, FS/t/access_user.t, FS/t/access_user_pref.t,
+         FS/FS/part_pkg/billoneday.pm, FS/bin/freeside-addoutsourceuser,
+         FS/t/AccessRight.t, FS/t/access_group.t,
+         FS/t/access_groupagent.t, FS/t/access_right.t,
+         FS/t/access_user.t, FS/t/access_user_pref.t,
          FS/t/access_usergroup.t, httemplate/view/cust_main/packages.html,
          httemplate/view/cust_main/payment_history.html: first part of ACL
          and re-skinning work and some other small stuff
        * httemplate/search/report_receivables.cgi: Pg 8.1 fix was
          incorrect and broke things, this should actually work
 
+2006-05-08 04:48  ivan
+
+       * README.1.5.8, README.1.7.0: suggest "make clean" on upgrade -
+         something is not quite right with perl Makefile hoohaw
+
 2006-05-08 04:28  ivan
 
        * FS/FS/Conf.pm, FS/FS/cust_main.pm,
 2006-05-08 03:01  ivan
 
        * FS/FS/Report/Table/Monthly.pm, httemplate/index.html,
+         httemplate/graph/cust_bill_pkg-graph.cgi,
          httemplate/graph/cust_bill_pkg.cgi,
          httemplate/graph/elements/monthly.html,
          httemplate/search/cust_bill_pkg.cgi: sales report per agent and
 
 2006-05-07 13:27  ivan
 
-       * htetc/handler.pl, httemplate/elements/select-month_year.html,
+       * README.1.7.0, htetc/handler.pl, httemplate/docs/upgrade10.html,
+         httemplate/elements/select-month_year.html,
          httemplate/elements/select-pkg_class.html,
          httemplate/elements/select-table.html,
          httemplate/elements/tr-select-from_to.html,
          httemplate/elements/tr-select-pkg_class.html,
+         httemplate/graph/cust_bill_pkg-graph.cgi,
          httemplate/graph/cust_bill_pkg.cgi,
+         httemplate/graph/money_time-graph.cgi,
          httemplate/graph/money_time.cgi,
          httemplate/graph/report_cust_bill_pkg.html,
          httemplate/graph/report_money_time.html,
        * httemplate/: index.html, search/report_receivables.html: add an
          agent pre-selection page to receivables report
 
+2006-05-02 06:29  ivan
+
+       * SCHEMA_CHANGE: need to install the new Schema.pm before you can
+         autogenerate off it
+
 2006-05-02 04:59  ivan
 
        * httemplate/index.html, FS/FS/Report/Table/Monthly.pm,
+         httemplate/graph/money_time-graph.cgi,
          httemplate/graph/money_time.cgi,
          httemplate/graph/report_money_time.html: add a "pre-report" page
          to this report/graph as requested by lewis/wtxs, also add 12mo
 
 2006-04-21 17:58  ivan
 
-       * httemplate/browse/inventory_class.html,
+       * httemplate/browse/generic.cgi,
+         httemplate/browse/inventory_class.html,
          httemplate/browse/part_pkg.cgi, httemplate/browse/pkg_class.html,
          httemplate/browse/rate.cgi,
          httemplate/browse/elements/browse.html, htetc/handler.pl,
          httemplate/elements/select-pkg_class.html,
          httemplate/elements/select-table.html,
          httemplate/elements/tr-select-pkg_class.html,
-         httemplate/search/cust_pkg.cgi, FS/FS/part_pkg.pm,
+         httemplate/search/cust_pkg.cgi,
+         httemplate/search/inventory_class.html, FS/FS/part_pkg.pm,
          httemplate/search/elements/search.html: start of package class
          web UI (add/edit package classes, package class selection in
          package def edit)
 
 2006-04-21 05:45  ivan
 
-       * httemplate/: index.html, misc/queue.cgi, search/queue.html:
-         s(browse/queue.cgi)(search/queue.html)
+       * httemplate/: index.html, browse/queue.cgi, misc/queue.cgi,
+         search/queue.html: s(browse/queue.cgi)(search/queue.html)
 
 2006-04-18 23:37  ivan
 
        * FS/FS/cust_main.pm: DOH!  perlvar: not counting patterns matched
          in nested blocks that have been exited already.
 
+2006-04-18 12:33  ivan
+
+       * httemplate/docs/install.html: add JSON to initial install
+         instructions
+
 2006-04-15 06:32  ivan
 
        * httemplate/graph/money_time.cgi: REALLY correct the period for
 
        * htetc/handler.pl, FS/FS/Misc.pm,
          httemplate/edit/cust_main/contact.html,
+         httemplate/edit/cust_main/select-country.html,
+         httemplate/edit/cust_main/select-state.html,
          httemplate/misc/states.cgi,
          httemplate/view/cust_main/contacts.html: have the UI use full
          country names, and state names outside the US...
 
 2006-03-30 06:22  ivan
 
-       * FS/bin/freeside-upgrade: move all the schema-updating magic into
-         DBIx::DBSchema
+       * README.1.7.0, FS/bin/freeside-upgrade: move all the
+         schema-updating magic into DBIx::DBSchema
 
 2006-03-24 18:23  ivan
 
 
 2006-03-23 04:00  lsc
 
-       * FS/FS/part_pkg/: prorate.pm, subscription.pm: for subscription.pm
-         and prorate.pm:
+       * FS/FS/part_pkg/: billoneday.pm, prorate.pm, subscription.pm: for
+         subscription.pm and prorate.pm:
 
          -modify the subscription and prorate price plans
          (FS/FS/part_pkg/subscription.pm and prorate.pm) to have a
 
 2006-03-20 11:13  ivan
 
-       * FS/FS/Conf.pm, FS/FS/Schema.pm, FS/FS/cdr.pm, FS/FS/cust_main.pm,
+       * FS/FS/Conf.pm, FS/FS/Schema.pm, FS/FS/cdr.pm,
+         FS/FS/cdr_upstream_rate.pm, FS/FS/cust_main.pm,
          FS/FS/cust_svc.pm, FS/FS/rate_detail.pm, FS/FS/svc_acct.pm,
          FS/FS/part_pkg/voip_cdr.pm, httemplate/edit/part_pkg.cgi,
-         FS/MANIFEST, bin/cdr_upstream_rate.import,
-         httemplate/edit/rate.cgi, httemplate/edit/cust_main/billing.html,
+         FS/MANIFEST, FS/t/cdr_upstream_rate.t,
+         bin/cdr_upstream_rate.import, httemplate/edit/rate.cgi,
+         httemplate/edit/cust_main/billing.html,
          httemplate/search/cdr.html, httemplate/search/report_cdr.html,
          httemplate/view/cust_main/billing.html: add price plan to bill on
          internal or external CDRs directly, add option to export CDRs to
        * FS/FS/inventory_item.pm,
          httemplate/misc/inventory_item-import.html,
          httemplate/misc/process/inventory_item-import.html,
+         httemplate/search/inventory_class.html,
          httemplate/search/inventory_item.html:  Add an option to the web
          interface to batch upload new entries to the
          inventory_item table.
 
        * FS/MANIFEST, FS/FS/Schema.pm, FS/FS/inventory_class.pm,
          FS/FS/inventory_item.pm, FS/t/inventory_class.t,
-         FS/t/inventory_item.t, httemplate/search/inventory_item.html,
-         bin/generate-table-module, htetc/handler.pl,
-         httemplate/edit/inventory_class.html,
+         FS/t/inventory_item.t, httemplate/search/inventory_class.html,
+         httemplate/search/inventory_item.html, bin/generate-table-module,
+         htetc/handler.pl, httemplate/edit/inventory_class.html,
          httemplate/edit/elements/edit.html,
          httemplate/edit/process/inventory_class.html,
          httemplate/edit/process/elements/process.html,
 
 2006-03-03 07:02  ivan
 
-       * FS/FS/Report/Table/Monthly.pm, httemplate/graph/money_time.cgi:
-         agent-specific sales/credit/receipts summary
+       * FS/FS/Report/Table/Monthly.pm,
+         httemplate/graph/money_time-graph.cgi,
+         httemplate/graph/money_time.cgi: agent-specific
+         sales/credit/receipts summary
 
 2006-02-28 11:34  ivan
 
 
        * FS/FS/Schema.pm, FS/FS/cdr.pm, FS/FS/cdr_calltype.pm,
          FS/FS/cdr_carrier.pm, FS/FS/cdr_type.pm, FS/FS/cust_main.pm,
-         FS/MANIFEST, FS/FS/part_pkg/voip_sqlradacct.pm, FS/t/cdr.t,
+         README.1.7.0, README.2.0.0, FS/MANIFEST,
+         FS/FS/part_pkg/voip_sqlradacct.pm, FS/t/cdr.t,
          FS/t/cdr_calltype.t, FS/t/cdr_carrier.t, FS/t/cdr_type.t,
          FS/t/part_pkg-voip_cdr.t, htetc/handler.pl,
          httemplate/misc/cdr-import.html,
          httemplate/search/cdr.html, httemplate/search/report_cdr.html,
          bin/cdr_calltype.import: CDR schema and class
 
+2006-02-17 20:32  ivan
+
+       * htetc/global.asa, httemplate/docs/install.html: Mason it is
+
 2006-02-17 18:11  ivan
 
        * FS/FS/: cust_tax_exempt_pkg.pm, domain_record.pm, msgcat.pm,
 
 2006-02-16 13:43  ivan
 
-       * FS/FS/Setup.pm, FS/bin/freeside-setup,
-         httemplate/docs/admin.html: automate more of the initial data
-         adding...
+       * FS/FS/Setup.pm, FS/bin/freeside-setup, bin/populate-msgcat,
+         httemplate/docs/admin.html, httemplate/docs/install.html:
+         automate more of the initial data adding...
 
 2006-02-08 23:18  ivan
 
        * FS/bin/freeside-selfservice-server: don't leave ssh zombies
          around either
 
+2006-02-07 19:50  ivan
+
+       * httemplate/docs/: upgrade7.html, upgrade8.html: remove ancient
+         upgrade instructions
+
 2006-02-07 19:49  ivan
 
-       * httemplate/docs/index.html: slightly html-ize the 1.5.8 upgrade
-         instructions
+       * httemplate/docs/: upgrade10.html, index.html: slightly html-ize
+         the 1.5.8 upgrade instructions
 
 2006-02-07 18:26  ivan
 
 2006-01-30 20:26  ivan
 
        * httemplate/: browse/addr_block.cgi, browse/agent.cgi,
-         browse/agent_type.cgi, browse/part_bill_event.cgi,
-         browse/part_export.cgi, browse/part_pkg.cgi, browse/part_svc.cgi,
-         browse/part_virtual_field.cgi, browse/payment_gateway.html,
-         browse/rate.cgi, browse/router.cgi, browse/svc_acct_pop.cgi,
+         browse/agent_type.cgi, browse/cust_pay_batch.cgi,
+         browse/part_bill_event.cgi, browse/part_export.cgi,
+         browse/part_pkg.cgi, browse/part_referral.cgi,
+         browse/part_svc.cgi, browse/part_virtual_field.cgi,
+         browse/payment_gateway.html, browse/queue.cgi, browse/rate.cgi,
+         browse/router.cgi, browse/svc_acct_pop.cgi,
          config/config-view.cgi, config/config.cgi,
          edit/REAL_cust_pkg.cgi, edit/agent.cgi,
          edit/agent_payment_gateway.html, edit/agent_type.cgi,
          edit/svc_forward.cgi, edit/process/prepay_credit.cgi,
          edit/process/reg_code.cgi, misc/batch-cust_pay.html,
          misc/cust_main-import.cgi, misc/cust_main-import_charges.cgi,
-         misc/link.cgi, misc/meta-import.cgi, misc/upload-batch.cgi,
-         misc/whois.cgi, misc/process/cust_main-import.cgi,
+         misc/expire_pkg.cgi, misc/link.cgi, misc/meta-import.cgi,
+         misc/upload-batch.cgi, misc/whois.cgi,
+         misc/process/cust_main-import.cgi,
          misc/process/cust_main-import_charges.cgi,
          misc/process/meta-import.cgi, search/report_prepaid_income.cgi,
          search/report_tax.cgi, search/svc_external.cgi,
 
 2006-01-25 04:34  ivan
 
-       * FS/: FS/Record.pm, FS/Schema.pm, FS/cust_bill.pm,
-         FS/cust_main.pm, FS/cust_tax_exempt.pm,
-         FS/cust_tax_exempt_pkg.pm, FS/h_cust_bill.pm,
-         FS/h_cust_tax_exempt.pm, t/cust_tax_exempt_pkg.t,
-         t/h_cust_bill.t, t/h_cust_tax_exempt.t, MANIFEST: change
-         texas-style tax exemptions to be against a specific line item
-         rather than just general per-customer, for later tracking and tax
-         reporting.  fix 1969/1970 exemptions for one-off charges
+       * FS/FS/Record.pm, FS/FS/Schema.pm, FS/FS/cust_bill.pm,
+         FS/FS/cust_main.pm, FS/FS/cust_tax_exempt.pm,
+         FS/FS/cust_tax_exempt_pkg.pm, FS/FS/h_cust_bill.pm,
+         FS/FS/h_cust_tax_exempt.pm, FS/t/cust_tax_exempt_pkg.t,
+         FS/t/h_cust_bill.t, FS/t/h_cust_tax_exempt.t, README.2.0.0,
+         FS/MANIFEST: change texas-style tax exemptions to be against a
+         specific line item rather than just general per-customer, for
+         later tracking and tax reporting.  fix 1969/1970 exemptions for
+         one-off charges
+
+2006-01-05 01:34  ivan
+
+       * httemplate/docs/upgrade10.html: my last 1.4 -> 1.5 upgrade...
 
 2006-01-04 18:03  ivan
 
        * FS/FS/Schema.pm: remove redundant indices on cust_main ship_
          columns
 
+2006-01-03 00:45  ivan
+
+       * bin/billco-upload: agentnums 1-3
+
 2005-12-29 18:41  rsiddall
 
        * FS/FS/Conf.pm, FS/FS/ConfItem.pm, FS/FS/cust_pkg.pm,
 
 2005-12-24 19:00  ivan
 
-       * FS/FS/Schema.pm: update indices for better tax report performance
+       * README.1.5.8, FS/FS/Schema.pm: update indices for better tax
+         report performance
 
 2005-12-24 18:31  ivan
 
          causing " "my" variable $t masks earlier declaration in same
          scope" errors
 
+2005-12-21 20:02  ivan
+
+       * Changes.1.5.8: more accurate description of tax report changes
+
 2005-12-21 20:01  ivan
 
        * httemplate/search/cust_bill_event.html,
          httemplate/search/cust_bill_pkg.cgi,
+         httemplate/search/cust_pkg_report.cgi,
          httemplate/search/report_cust_bill.html,
          httemplate/search/report_cust_credit.html,
          httemplate/search/report_cust_pay.html,
 
 2005-12-18 20:18  ivan
 
-       * FS/FS/part_pkg/sqlradacct_hour.pm: add maximum "caps" to RADIUS
-         usage charges
+       * Changes.1.5.8, FS/FS/part_pkg/sqlradacct_hour.pm: add maximum
+         "caps" to RADIUS usage charges
 
 2005-12-16 14:47  ivan
 
        * FS/bin/freeside-upgrade: force a dbdef reload.  no wonder this
          had to be run multiple times before
 
+2005-12-02 22:49  ivan
+
+       * README.1.5.8, httemplate/docs/install.html,
+         httemplate/docs/upgrade10.html: add Term::ReadKey to install &
+         upgrade docs and README.1.5.8
+
+2005-12-01 18:30  ivan
+
+       * httemplate/docs/upgrade10.html: and Net::Whois::Raw
+
+2005-12-01 17:52  ivan
+
+       * README.1.5.8, httemplate/docs/upgrade10.html: note DBIx::DBSchema
+         0.29 is required for Pg 7.2.x and earlier
+
+2005-12-01 17:22  ivan
+
+       * httemplate/docs/upgrade10.html: apache instructions already up
+         top
+
 2005-12-01 11:17  ivan
 
        * httemplate/edit/agent_type.cgi: list disabled packages on agent
          shouldn't apply to RADIUS groups, this is messing up unrelated
          RADIUS exports
 
+2005-11-30 09:48  ivan
+
+       * README.1.5.8: later versions are okay too
+
 2005-11-28 09:16  ivan
 
        * FS/FS/cust_main.pm: turn off debugging
        * FS/FS/part_export/radiator.pm: update radiator export to deal
          with prepaid and some other random stuff
 
+2005-11-22 01:13  ivan
+
+       * httemplate/docs/install.html: correct common misconception RIGHT
+         THERE in the docs
+
 2005-11-21 07:24  ivan
 
        * FS/FS/: export_svc.pm, part_svc.pm, rate.pm: when editing exports
        * FS/FS/TicketSystem/RT_External.pm: update custom priorioty field
          BS for RT 3.4.4
 
+2005-11-17 23:05  ivan
+
+       * README.1.5.8: slightly more info in 1.5.8 upgrade instructions
+
 2005-11-17 19:48  ivan
 
        * FS/FS/cust_main.pm: allow expired cards to remain on file; only
 
 2005-11-17 04:27  ivan
 
-       * FS/FS/Schema.pm: add cust_pkg2 index on cust_pkg.pkgpart
+       * README.1.5.8, FS/FS/Schema.pm: add cust_pkg2 index on
+         cust_pkg.pkgpart
 
 2005-11-17 03:15  ivan
 
 2005-11-16 05:14  ivan
 
        * FS/FS/part_svc.pm, httemplate/index.html,
-         httemplate/browse/part_svc.cgi, FS/FS/UI/Web.pm,
+         httemplate/browse/part_svc.cgi, Changes.1.5.8, FS/FS/UI/Web.pm,
          httemplate/edit/bulk-cust_svc.html,
          httemplate/edit/process/bulk-cust_svc.cgi: bulk svcpart change
 
+2005-11-12 04:19  ivan
+
+       * README.1.5.8: one last bit for 1.5.7->1.5.8 RT upgrade
+         instructions
+
 2005-11-11 17:24  ivan
 
        * httemplate/view/cust_main/tickets.html: huh seem to have
          unaudited domain deletion, add record being deleted to record
          deletion popup
 
+2005-11-09 12:48  ivan
+
+       * httemplate/docs/install.html: closing paren
+
 2005-11-07 18:16  ivan
 
        * httemplate/docs/admin.html: bah
 
        * FS/FS/cust_bill.pm: only send to specific destinations, oops!
 
+2005-10-31 21:21  ivan
+
+       * bin/billco-upload: do the zip
+
 2005-10-31 21:14  ivan
 
        * httemplate/edit/part_bill_event.cgi: add option for spool_csv
          events to apply only to a specific destination type (i.e. postal
          only)
 
+2005-10-31 19:16  ivan
+
+       * bin/billco-upload: good nuff for 11/1
+
 2005-10-31 19:15  ivan
 
        * httemplate/edit/part_bill_event.cgi, FS/FS/cust_bill.pm: add
          spool one giant (pair of) CSV files in addition to FTPing them
          individually
 
+2005-10-28 10:10  ivan
+
+       * bin/billco-upload: beginning of quick billco zip & upload tool
+
 2005-10-28 04:56  ivan
 
        * httemplate/search/cust_bill_event.cgi: don't show 'N/A'
 
 2005-10-24 04:56  ivan
 
-       * FS/FS/Schema.pm, httemplate/edit/process/rate.cgi,
+       * README.1.5.8, FS/FS/Schema.pm, httemplate/edit/process/rate.cgi,
          httemplate/elements/progress-init.html,
          httemplate/elements/xmlhttp.html: fix rate plan editing with new
          xmlhttp progressbar - use POST instead of GET.  also optimize SQL
        * FS/FS/Conf.pm: make sure config still works if no ticket system
          is configured...
 
-2005-10-15 05:58  ivan
-
-       * bin/backup-dvd: adding quick backup-to-dvd script
-
-2005-10-15 04:29  ivan
-
-       * FS/FS/Conf.pm, FS/FS/Schema.pm, FS/FS/TicketSystem.pm,
-         FS/FS/agent.pm, FS/FS/TicketSystem/RT_External.pm,
-         FS/FS/TicketSystem/RT_Internal.pm, httemplate/browse/agent.cgi,
-         httemplate/edit/agent.cgi, httemplate/config/config-view.cgi,
-         httemplate/config/config.cgi: agent option to select RT queue
-
-2005-10-15 04:13  ivan
-
-       * rt/html/Elements/Header: land RT 3.4.4 on HEAD
-
-2005-10-15 02:33  ivan
-
-       * rt/: etc/RT_SiteConfig.pm, html/Elements/Footer,
-         html/Elements/Header, html/Elements/Menu,
-         html/Elements/PageLayout, html/Elements/SimpleSearch,
-         html/Elements/Tabs, html/Elements/CollectionAsTable/Row,
-         html/Ticket/Elements/ShowSummary, html/Ticket/Elements/Tabs,
-         sbin/rt-setup-database.in: landing rt 3.4.4 on HEAD
-
-2005-10-15 02:09  ivan
-
-       * rt/: UPGRADING, configure, Makefile.in, README, configure.ac,
-         Changelog, aclocal.m4, docs/rt3-schema-relationships.dot,
-         docs/design_docs/realflow.txt, m4/rt_layout.m4,
-         docs/design_docs/3.3-schema-redesign.txt,
-         docs/design_docs/cvs_integration,
-         docs/design_docs/link-definitions.txt, docs/design_docs/rt-mvc,
-         sbin/extract-message-catalog, sbin/extract_pod_tests,
-         sbin/factory, sbin/license_tag, sbin/regression_harness,
-         sbin/rt-dump-database.in, sbin/rt-test-dependencies.in,
-         html/autohandler, html/index.html, html/l,
-         html/Ticket/History.html, html/Ticket/Modify.html,
-         html/Ticket/ModifyAll.html, html/Ticket/ModifyDates.html,
-         html/Ticket/ModifyPeople.html, html/Ticket/Update.html,
-         html/Tools/MyDay.html, html/Tools/Offline.html,
-         html/Tools/Elements/Tabs, html/Ticket/ModifyLinks.html,
-         html/Ticket/ShowEmailRecord.html,
-         html/Ticket/Attachment/dhandler,
-         html/Ticket/Elements/AddWatchers,
-         html/Ticket/Elements/EditCustomField,
-         html/Ticket/Elements/EditWatchers,
-         html/Ticket/Elements/LoadTextAttachments,
-         html/Ticket/Elements/ShowDependencies,
-         html/Ticket/Elements/ShowMessageHeaders,
-         html/Ticket/Elements/ShowPeople,
-         html/Ticket/Elements/ShowTransaction,
-         html/Ticket/Elements/BulkLinks,
-         html/Ticket/Elements/EditCustomFields,
-         html/Ticket/Elements/EditDates, html/Ticket/Elements/EditPeople,
-         html/Ticket/Elements/PreviewScrips,
-         html/Ticket/Elements/ShowBasics,
-         html/Ticket/Elements/ShowCustomFields,
-         html/Ticket/Elements/ShowDates, html/Ticket/Elements/ShowHistory,
-         html/Ticket/Elements/ShowMembers,
-         html/Ticket/Elements/ShowMessageStanza,
-         html/Ticket/Elements/ShowRequestor,
-         html/Ticket/Elements/ShowUserEntry, html/Search/Build.html,
-         html/Search/Edit.html, html/Search/Results.html,
-         html/Search/Results.rdf, html/Search/Results.tsv,
-         html/Ticket/Elements/EditBasics,
-         html/Ticket/Elements/FindAttachments,
-         html/Ticket/Elements/ShowAttachments,
-         html/Ticket/Elements/ShowGroupMembers,
-         html/Search/Elements/BuildFormatString,
-         html/Search/Elements/DisplayOptions,
-         html/Search/Elements/EditFormat,
-         html/Search/Elements/EditSearches,
-         html/Search/Elements/NewListActions,
-         html/Search/Elements/PickCFs, html/Search/Elements/SearchPrivacy,
-         html/Search/Elements/SelectAndOr,
-         html/Search/Elements/SelectGroup,
-         html/Search/Elements/SelectLinks,
-         html/Search/Elements/SelectSearchObject,
-         html/Search/Elements/SelectSearchesForObjects,
-         html/Admin/autohandler, html/Admin/index.html,
-         html/Approvals/Display.html, html/Approvals/index.html,
-         html/Approvals/Elements/Approve,
-         html/Approvals/Elements/PendingMyApproval,
-         html/Approvals/Elements/ShowDependency,
-         html/Approvals/Elements/Tabs,
+2005-10-15 05:58  ivan
+
+       * bin/backup-dvd: adding quick backup-to-dvd script
+
+2005-10-15 04:29  ivan
+
+       * FS/FS/Conf.pm, FS/FS/Schema.pm, FS/FS/TicketSystem.pm,
+         FS/FS/agent.pm, FS/FS/TicketSystem/RT_External.pm,
+         FS/FS/TicketSystem/RT_Internal.pm, httemplate/browse/agent.cgi,
+         httemplate/edit/agent.cgi, httemplate/config/config-view.cgi,
+         httemplate/config/config.cgi: agent option to select RT queue
+
+2005-10-15 04:25  ivan
+
+       * README.1.5.8: upgrade instructions for new RT verison
+
+2005-10-15 04:13  ivan
+
+       * README.1.5.8, rt/html/Elements/Header, rt/html/NoAuth/webrt.css:
+         land RT 3.4.4 on HEAD
+
+2005-10-15 02:33  ivan
+
+       * rt/: etc/RT_SiteConfig.pm, html/Admin/Global/CustomField.html,
+         html/Admin/Global/CustomFields.html, html/Elements/Footer,
+         html/Elements/Header, html/Elements/Menu,
+         html/Elements/PageLayout, html/Elements/SimpleSearch,
+         html/Elements/Tabs, html/Elements/CollectionAsTable/Row,
+         html/NoAuth/webrt.css, html/NoAuth/images/back_home.gif,
+         html/NoAuth/images/head_requestracker.gif,
+         html/NoAuth/images/rt.jpg, html/NoAuth/images/spacer.gif,
+         html/NoAuth/images/squares_blue.gif,
+         html/Ticket/Elements/ShowSummary, html/Ticket/Elements/Tabs,
+         lib/RT/TicketCustomFieldValue.pm,
+         lib/RT/TicketCustomFieldValue_Overlay.pm,
+         lib/RT/TicketCustomFieldValues.pm,
+         lib/RT/TicketCustomFieldValues_Overlay.pm,
+         lib/RT/I18N/en_malkovich.po, lib/t/00smoke.t.in,
+         lib/t/01harness.t.in, lib/t/02regression.t.in, lib/t/03web.pl.in,
+         lib/t/04_send_email.pl.in, lib/t/05cronsupport.pl.in,
+         lib/t/regression/00placeholder, sbin/rt-setup-database.in:
+         landing rt 3.4.4 on HEAD
+
+2005-10-15 02:09  ivan
+
+       * rt/: docs/design_docs/realflow.txt,
+         docs/design_docs/3.3-schema-redesign.txt,
+         docs/design_docs/rt-mvc, sbin/rt-dump-database.in,
+         html/Search/Elements/SelectGroup, html/Admin/autohandler,
          html/Download/CustomFieldValue/dhandler,
          html/Download/Tabular/dhandler, html/Search/Elements/EditQuery,
-         html/Search/Elements/PickBasics,
-         html/Search/Elements/PickCriteria,
-         html/Search/Elements/SelectPersonType,
          html/Admin/CustomFields/GroupRights.html,
-         html/Admin/Global/GroupRights.html, html/Admin/Global/Scrip.html,
-         html/Admin/Global/Scrips.html, html/Admin/Global/Template.html,
-         html/Admin/Global/Templates.html,
-         html/Admin/Global/UserRights.html, html/Admin/Global/index.html,
          html/Admin/Global/CustomFields/Groups.html,
          html/Admin/Global/CustomFields/Queue-Tickets.html,
          html/Admin/Global/CustomFields/Queue-Transactions.html,
          html/Admin/Global/CustomFields/Users.html,
          html/Admin/Global/CustomFields/index.html,
          html/Admin/Groups/CustomFields.html,
-         html/Admin/Groups/GroupRights.html,
-         html/Admin/Groups/History.html, html/Admin/Groups/Members.html,
-         html/Admin/Groups/Modify.html, html/Admin/Groups/UserRights.html,
-         html/Admin/Groups/index.html,
-         html/Admin/Tools/Configuration.html, html/Admin/Tools/index.html,
+         html/Admin/Groups/History.html,
          html/Admin/CustomFields/Modify.html,
          html/Admin/CustomFields/Objects.html,
          html/Admin/CustomFields/UserRights.html,
          html/Admin/CustomFields/index.html,
-         html/Admin/Queues/CustomFields.html,
-         html/Admin/Queues/GroupRights.html,
          html/Admin/Users/CustomFields.html,
          html/Admin/Users/History.html, html/Admin/Users/Memberships.html,
-         html/Admin/Users/index.html, html/Admin/Queues/CustomField.html,
-         html/Admin/Queues/Scrip.html, html/Admin/Queues/Templates.html,
-         html/Admin/Queues/UserRights.html,
          html/Admin/Elements/CustomFieldTabs,
-         html/Admin/Elements/EditCustomField,
-         html/Admin/Elements/EditCustomFieldValues,
-         html/Admin/Elements/EditScrip, html/Admin/Elements/EditTemplates,
-         html/Admin/Elements/EditUserComments, html/Admin/Elements/Header,
-         html/Admin/Elements/ListGlobalScrips,
-         html/Admin/Elements/QueueTabs,
          html/Admin/Elements/SelectCustomFieldLookupType,
-         html/Admin/Elements/SelectCustomFieldType,
-         html/Admin/Elements/SelectModifyGroup,
-         html/Admin/Elements/SelectModifyUser,
-         html/Admin/Elements/SelectSingleOrMultiple,
-         html/Admin/Elements/SelectUsers, html/Admin/Elements/Tabs,
-         html/Admin/Elements/ToolTabs, html/Admin/Elements/UserTabs,
-         html/Admin/Queues/Modify.html, html/Admin/Queues/People.html,
-         html/Admin/Queues/Scrips.html, html/Admin/Queues/Template.html,
-         html/Admin/Queues/index.html,
-         html/Admin/Elements/AddCustomFieldValue,
-         html/Admin/Elements/EditCustomFields,
-         html/Admin/Elements/EditQueueWatchers,
-         html/Admin/Elements/EditScrips,
          html/Admin/Elements/GlobalCustomFieldTabs,
-         html/Admin/Elements/ModifyTemplate,
          html/Admin/Elements/ObjectCustomFields,
-         html/Admin/Elements/SelectGroups,
-         html/Admin/Elements/SelectModifyQueue,
-         html/Admin/Elements/SelectNewGroupMembers,
-         html/Admin/Elements/SelectScrip,
-         html/Admin/Elements/SelectScripCondition,
-         html/Admin/Elements/CreateUserCalled,
-         html/Admin/Elements/GroupTabs,
-         html/Admin/Elements/ListGlobalCustomFields,
          html/Admin/Elements/PickCustomFields,
          html/Admin/Elements/PickObjects,
-         html/Admin/Elements/QueueRightsForUser,
-         html/Admin/Elements/SelectRights,
-         html/Admin/Elements/SelectScripAction,
-         html/Admin/Elements/SelectStage,
-         html/Admin/Elements/SelectTemplate,
-         html/Admin/Elements/SystemTabs, html/SelfService/Closed.html,
-         html/SelfService/Create.html,
          html/SelfService/CreateTicketInQueue.html,
-         html/SelfService/Display.html, html/SelfService/Error.html,
-         html/SelfService/Prefs.html, html/SelfService/Update.html,
-         html/SelfService/index.html,
-         html/SelfService/Attachment/dhandler,
-         html/Elements/BevelBoxRaisedEnd, html/Elements/CreateTicket,
          html/Elements/EditCustomField,
-         html/Elements/EditCustomFieldImage, html/Elements/EditLinks,
-         html/Elements/Error, html/Elements/ListActions,
-         html/Elements/MyRequests, html/Elements/QueryString,
-         html/Elements/ScrubHTML, html/Elements/SelectDateType,
-         html/Elements/SelectMatch, html/Elements/SelectNewTicketQueue,
-         html/Elements/SelectSortOrder, html/Elements/SelectTicketSortBy,
-         html/Elements/SelectUsers, html/Elements/ShowLinks,
-         html/SelfService/Elements/GotoTicket,
-         html/SelfService/Elements/Header,
-         html/SelfService/Elements/MyRequests,
-         html/SelfService/Elements/Tabs,
-         html/Elements/BevelBoxRaisedStart,
+         html/Elements/EditCustomFieldImage,
          html/Elements/EditCustomFieldBinary,
-         html/Elements/EditCustomFieldSelect, html/Elements/GotoTicket,
-         html/Elements/MessageBox, html/Elements/SelectAttachmentField,
-         html/Elements/SelectGroups, html/Elements/SelectOwner,
-         html/Elements/SelectQueue, html/Elements/SelectStatus,
-         html/Elements/SelectWatcherType,
+         html/Elements/EditCustomFieldSelect,
          html/Elements/ShowCustomFieldBinary,
          html/Elements/ShowCustomFieldImage,
          html/Elements/ShowCustomFieldWikitext,
-         html/Elements/ShowCustomFields, html/Elements/ShowLink,
-         html/Elements/TitleBox, html/Elements/Callback,
-         html/Elements/Checkbox, html/Elements/EditCustomFieldFreeform,
-         html/Elements/Quicksearch, html/Elements/Refresh,
-         html/Elements/Section, html/Elements/SelectLinkType,
-         html/Elements/SelectTicketTypes,
+         html/Elements/ShowCustomFields,
+         html/Elements/EditCustomFieldFreeform,
          html/Elements/EditCustomFieldText,
-         html/Elements/EditCustomFieldWikitext, html/Elements/Login,
-         html/Elements/MyTickets, html/Elements/SelectBoolean,
-         html/Elements/SelectCustomFieldOperator,
-         html/Elements/SelectCustomFieldValue,
-         html/Elements/SelectDateRelation,
-         html/Elements/SelectEqualityOperator, html/Elements/SelectLang,
-         html/Elements/SelectResultsPerPage,
-         html/Elements/SetupSessionCookie, html/Elements/ShowMemberships,
-         html/Elements/Submit, html/Elements/TitleBoxEnd,
-         html/Elements/CollectionAsTable/Header,
-         html/Elements/CollectionAsTable/ParseFormat,
-         html/Elements/RT__Ticket/ColumnMap, html/REST/1.0/autohandler,
-         html/REST/1.0/dhandler, html/REST/1.0/logout,
-         html/REST/1.0/Forms/queue/default, html/REST/1.0/Forms/queue/ns,
-         html/REST/1.0/Forms/ticket/attachments,
-         html/REST/1.0/Forms/ticket/default,
-         html/REST/1.0/Forms/ticket/history,
-         html/REST/1.0/Forms/ticket/links,
-         html/REST/1.0/Forms/user/default, html/REST/1.0/Forms/user/ns,
-         html/REST/1.0/NoAuth/mail-gateway, html/REST/1.0/search/dhandler,
-         html/REST/1.0/search/ticket, html/REST/1.0/ticket/comment,
-         html/REST/1.0/ticket/link, html/REST/1.0/ticket/merge,
-         html/NoAuth/Logout.html, html/NoAuth/Reminder.html,
-         html/NoAuth/images/autohandler, html/User/Delegation.html,
-         html/User/Elements/DelegateRights, html/User/Elements/GroupTabs,
-         html/User/Elements/Tabs, html/User/Groups/Members.html,
-         html/User/Groups/Modify.html, html/User/Groups/index.html,
-         lib/RT.pm.in, lib/t/00smoke.t, lib/t/setup_regression.t,
+         html/Elements/EditCustomFieldWikitext,
+         html/Elements/ShowMemberships, lib/t/setup_regression.t,
          lib/t/create_data.pl, lib/t/regression/01ticket_link_searching.t,
          lib/t/regression/02basic_web.t,
          lib/t/regression/03web_compiliation_errors.t,
          lib/t/regression/06mailgateway.t, lib/t/regression/07rights.t,
          lib/t/regression/15cf_single_values_are_single.t,
          lib/t/regression/18stale_delegations_cleanup.t,
-         lib/RT/GroupMembers.pm, lib/RT/Principals.pm,
-         lib/RT/Scrips_Overlay.pm, lib/RT/Tickets.pm, lib/RT/Base.pm,
-         lib/RT/CustomField_Overlay.pm, lib/RT/Date.pm,
-         lib/RT/Queues_Overlay.pm, lib/RT/ScripConditions_Overlay.pm,
-         lib/RT/Template_Overlay.pm, lib/RT/User.pm, lib/RT/Attributes.pm,
-         lib/RT/SavedSearch.pm, lib/RT/StyleGuide.pod, lib/RT/System.pm,
-         lib/RT/Templates_Overlay.pm, lib/RT/Tickets_Overlay_SQL.pm,
-         lib/RT/ACL_Overlay.pm, lib/RT/Attachment.pm,
-         lib/RT/Attribute_Overlay.pm, lib/RT/Group.pm, lib/RT/Handle.pm,
-         lib/RT/ObjectCustomFields.pm, lib/RT/EmailParser.pm,
-         lib/RT/GroupMembers_Overlay.pm, lib/RT/I18N.pm,
-         lib/RT/Principal.pm, lib/RT/Principals_Overlay.pm,
-         lib/RT/Tickets_Overlay.pm, lib/RT/Transactions.pm,
-         lib/RT/CachedGroupMember.pm, lib/RT/CustomFieldValue.pm,
-         lib/RT/Links.pm, lib/RT/Scrip.pm, lib/RT/Attachment_Overlay.pm,
-         lib/RT/Attributes_Overlay.pm, lib/RT/CurrentUser.pm,
-         lib/RT/CustomFieldValue_Overlay.pm, lib/RT/CustomFieldValues.pm,
-         lib/RT/Group_Overlay.pm, lib/RT/ObjectCustomField.pm,
-         lib/RT/ObjectCustomFields_Overlay.pm, lib/RT/Queue.pm,
-         lib/RT/ScripActions.pm, lib/RT/Attachments.pm,
-         lib/RT/CachedGroupMember_Overlay.pm, lib/RT/Groups.pm,
-         lib/RT/Links_Overlay.pm, lib/RT/SavedSearches.pm,
-         lib/RT/ScripAction.pm, lib/RT/Scrip_Overlay.pm, lib/RT/Scrips.pm,
-         lib/RT/Transactions_Overlay.pm, lib/RT/ACE.pm,
-         lib/RT/CachedGroupMembers.pm,
-         lib/RT/CustomFieldValues_Overlay.pm, lib/RT/CustomFields.pm,
-         lib/RT/GroupMember.pm, lib/RT/Link.pm,
-         lib/RT/ObjectCustomFieldValues.pm, lib/RT/Principal_Overlay.pm,
-         lib/RT/Queue_Overlay.pm, lib/RT/Queues.pm,
-         lib/RT/ScripCondition.pm, lib/RT/ScripConditions.pm,
-         lib/RT/Transaction.pm, lib/RT/CustomField.pm,
+         lib/RT/SavedSearch.pm, lib/RT/ObjectCustomFields.pm,
+         lib/RT/CustomFieldValue_Overlay.pm, lib/RT/ObjectCustomField.pm,
+         lib/RT/ObjectCustomFields_Overlay.pm, lib/RT/SavedSearches.pm,
+         lib/RT/ObjectCustomFieldValues.pm,
          lib/RT/ObjectCustomFieldValue.pm,
          lib/RT/ObjectCustomField_Overlay.pm,
-         lib/RT/ScripActions_Overlay.pm, lib/RT/Template.pm,
-         lib/RT/Attachments_Overlay.pm, lib/RT/ScripAction_Overlay.pm,
-         lib/RT/ScripCondition_Overlay.pm, lib/RT/Ticket.pm,
-         lib/RT/ACL.pm, lib/RT/GroupMember_Overlay.pm,
-         lib/RT/ObjectCustomFieldValues_Overlay.pm, lib/RT/ACE_Overlay.pm,
-         lib/RT/Attribute.pm, lib/RT/CachedGroupMembers_Overlay.pm,
-         lib/RT/CustomFields_Overlay.pm, lib/RT/Link_Overlay.pm,
-         lib/RT/ObjectCustomFieldValue_Overlay.pm, lib/RT/Templates.pm,
-         lib/RT/URI.pm, lib/RT/Users.pm, lib/RT/I18N/en.po,
-         lib/RT/I18N/i_default.pm, lib/RT/I18N/cs.pm, lib/RT/I18N/cs.po,
-         lib/RT/I18N/pt_br.po, lib/RT/I18N/fr.po, lib/RT/I18N/es.po,
-         lib/RT/I18N/nl.po, lib/RT/I18N/pl.po, lib/RT/I18N/no.po,
-         lib/RT/I18N/it.po, lib/RT/I18N/hu.po, lib/RT/I18N/da.po,
-         lib/RT/I18N/ru.po, lib/RT/I18N/de.po, lib/RT/I18N/ja.po,
-         lib/RT/I18N/zh_tw.po, lib/RT/I18N/id.po, lib/RT/I18N/he.po,
-         lib/RT/I18N/fi.po, lib/RT/I18N/zh_cn.po, lib/RT/URI/base.pm,
-         lib/RT/URI/fsck_com_rt.pm, lib/RT/URI/t.pm,
-         lib/RT/Action/AutoOpen.pm, lib/RT/Action/Autoreply.pm,
-         lib/RT/Action/CreateTickets.pm, lib/RT/Action/Generic.pm,
-         lib/RT/Action/Notify.pm, lib/RT/Action/NotifyAsComment.pm,
-         lib/RT/Action/RecordComment.pm,
-         lib/RT/Action/RecordCorrespondence.pm,
-         lib/RT/Action/ResolveMembers.pm, lib/RT/Action/SetPriority.pm,
-         lib/RT/Action/UserDefined.pm, lib/RT/Action/EscalatePriority.pm,
-         lib/RT/Action/SendEmail.pm, lib/RT/Interface/CLI.pm,
-         lib/RT/Interface/Email.pm, lib/RT/Interface/REST.pm,
-         lib/RT/Interface/Web.pm, lib/RT/Interface/Email/Auth/GnuPG.pm,
-         lib/RT/Interface/Email/Auth/MailFrom.pm,
-         lib/RT/Interface/Email/Filter/SpamAssassin.pm,
-         lib/RT/Interface/Web/Handler.pm,
+         lib/RT/ObjectCustomFieldValues_Overlay.pm,
+         lib/RT/ObjectCustomFieldValue_Overlay.pm, lib/RT/I18N/pl.po,
+         lib/RT/I18N/id.po, lib/RT/URI/t.pm,
          lib/RT/Interface/Web/QueryBuilder.pm,
-         lib/RT/Interface/Web/Standalone.pm, bin/mason_handler.scgi.in,
-         bin/standalone_httpd.in, lib/RT/Condition/AnyTransaction.pm,
-         lib/RT/Condition/BeforeDue.pm, lib/RT/Condition/Generic.pm,
-         lib/RT/Condition/Overdue.pm, lib/RT/Condition/OwnerChange.pm,
-         lib/RT/Condition/PriorityChange.pm,
-         lib/RT/Condition/PriorityExceeds.pm,
-         lib/RT/Condition/QueueChange.pm,
-         lib/RT/Condition/StatusChange.pm,
-         lib/RT/Condition/UserDefined.pm,
+         lib/RT/Interface/Web/Standalone.pm,
          lib/RT/Interface/Web/QueryBuilder/Tree.pm,
-         lib/RT/Search/ActiveTicketsInQueue.pm, lib/RT/Search/FromSQL.pm,
-         lib/RT/Search/Generic.pm, bin/mason_handler.fcgi.in,
-         bin/mason_handler.svc.in, bin/rt-crontool.in, bin/rt.in,
-         bin/webmux.pl.in, bin/rt-mailgate.in, etc/initialdata,
-         etc/acl.mysql, etc/schema.Informix, etc/schema.SQLite,
-         etc/acl.Pg, etc/schema.mysql, etc/upgrade/3.1.0/schema.SQLite,
-         etc/upgrade/3.1.0/schema.Pg, etc/upgrade/3.3.0/acl.Informix,
-         etc/upgrade/3.3.0/acl.Oracle, etc/upgrade/3.3.0/acl.Pg,
-         etc/upgrade/3.3.0/acl.SQLite, etc/upgrade/3.3.0/acl.mysql,
-         etc/upgrade/3.3.0/content, etc/upgrade/3.3.0/schema.Oracle,
-         etc/upgrade/3.3.0/schema.Pg, etc/upgrade/3.3.0/schema.mysql,
-         etc/upgrade/3.3.11/acl.Oracle, etc/upgrade/3.3.11/acl.Pg,
-         etc/upgrade/3.3.11/acl.SQLite, etc/upgrade/3.3.11/acl.mysql,
-         etc/upgrade/3.3.11/content, etc/upgrade/3.3.11/schema.Oracle,
-         etc/upgrade/3.3.11/schema.Pg, etc/upgrade/3.3.11/schema.SQLite,
-         etc/upgrade/3.3.11/schema.mysql: import rt 3.4.4
+         etc/upgrade/3.3.0/acl.Informix, etc/upgrade/3.3.0/acl.Oracle,
+         etc/upgrade/3.3.0/acl.Pg, etc/upgrade/3.3.0/acl.SQLite,
+         etc/upgrade/3.3.0/acl.mysql, etc/upgrade/3.3.0/content,
+         etc/upgrade/3.3.0/schema.Oracle, etc/upgrade/3.3.0/schema.Pg,
+         etc/upgrade/3.3.0/schema.mysql, etc/upgrade/3.3.11/acl.Oracle,
+         etc/upgrade/3.3.11/acl.Pg, etc/upgrade/3.3.11/acl.SQLite,
+         etc/upgrade/3.3.11/acl.mysql, etc/upgrade/3.3.11/content,
+         etc/upgrade/3.3.11/schema.Oracle, etc/upgrade/3.3.11/schema.Pg,
+         etc/upgrade/3.3.11/schema.SQLite,
+         etc/upgrade/3.3.11/schema.mysql: Initial revision
 
 2005-10-13 14:16  ivan
 
 
 2005-10-10 05:20  ivan
 
-       * FS/FS/cust_pay.pm, htetc/handler.pl, httemplate/index.html,
+       * Changes.1.5.8, README.1.5.8, FS/FS/cust_pay.pm, htetc/global.asa,
+         htetc/handler.pl, httemplate/index.html,
+         httemplate/docs/upgrade10.html,
          httemplate/misc/batch-cust_pay.html,
          httemplate/misc/xmlhttp-cust_main-search.cgi,
          httemplate/misc/process/batch-cust_pay.cgi,
 2005-10-07 17:47  ivan
 
        * httemplate/: edit/part_pkg.cgi, edit/process/part_pkg.cgi,
-         edit/process/quick-charge.cgi, elements/select-taxclass.html: fix
-         tax class selection in package add/edit too
+         edit/process/quick-charge.cgi, elements/select-taxclass.html,
+         view/cust_main/quick-charge.html: fix tax class selection in
+         package add/edit too
 
 2005-10-07 16:28  ivan
 
        * conf/invoice_latex: allow more width for return address, stuff is
          wrapping
 
+2005-10-06 22:03  ivan
+
+       * README.1.5.8: need new B:CC
+
 2005-10-06 21:50  ivan
 
        * httemplate/view/cust_main/billing.html: mask out echeck account
 2005-10-06 19:25  ivan
 
        * FS/FS/Conf.pm, FS/FS/part_pkg.pm,
-         httemplate/edit/process/quick-charge.cgi: add require_taxclasses
-         config flag
+         httemplate/edit/process/quick-charge.cgi,
+         httemplate/view/cust_main/quick-charge.html: add
+         require_taxclasses config flag
 
 2005-10-06 16:09  ivan
 
          usage information displays for any usage-capable export, add
          ability to edit uid/gid
 
+2005-10-02 07:04  ivan
+
+       * httemplate/docs/install.html: fix leading % causing Mason to barf
+
 2005-10-02 00:09  ivan
 
        * Makefile, htetc/handler.pl, init.d/freeside-init: add dev make
 
 2005-09-25 01:13  ivan
 
-       * CREDITS, FS/FS/UI/Web.pm, httemplate/edit/process/part_svc.cgi,
+       * CREDITS, Changes.1.5.8, JSRS-LICENSE, README.1.5.7,
+         FS/FS/UI/Web.pm, httemplate/edit/cust_main/select-country.html,
+         httemplate/edit/cust_main/select-county.html,
+         httemplate/edit/process/part_svc.cgi,
          httemplate/edit/process/rate.cgi,
          httemplate/elements/jsrsServer.html,
          httemplate/elements/progress-init.html,
          httemplate/elements/progress-popup.html,
-         httemplate/elements/xmlhttp.html: get rid of JSRS iframe foo for
+         httemplate/elements/xmlhttp.html, httemplate/docs/install.html,
+         httemplate/docs/upgrade10.html: get rid of JSRS iframe foo for
          progress bar, use XMLHTTPRequest instead.  really should have
          done that in the first place.  JSON will wait until another
          day...
 2005-09-14 04:01  ivan
 
        * FS/t/agent_payment_gateway.t, FS/t/banned_pay.t,
-         FS/t/payment_gateway.t, FS/t/payment_gateway_option.t,
-         bin/generate-table-module: fix autogenerated simple test
+         FS/t/cancel_reason.t, FS/t/payment_gateway.t,
+         FS/t/payment_gateway_option.t, bin/generate-table-module: fix
+         autogenerated simple test
 
 2005-09-13 13:12  ivan
 
 2005-09-10 07:50  ivan
 
        * CREDITS, httemplate/edit/cust_main/contact.html,
+         httemplate/edit/cust_main/select-country.html,
+         httemplate/edit/cust_main/select-county.html,
+         httemplate/edit/cust_main/select-state.html,
          httemplate/edit/cust_main.cgi, httemplate/elements/xmlhttp.html,
          httemplate/misc/counties.cgi, httemplate/misc/states.cgi:
          ajax-style xmlhttprequest state/county/country selector!
 
 2005-09-07 02:37  ivan
 
-       * FS/FS/part_export/cpanel.pm, eg/export_template.pm: add cpanel
-         export
+       * Changes.1.5.8, FS/FS/part_export/cpanel.pm,
+         eg/export_template.pm: add cpanel export
 
 2005-09-06 14:58  ivan
 
 2005-08-27 01:46  ivan
 
        * FS/MANIFEST, FS/FS/Schema.pm, FS/FS/banned_pay.pm,
-         FS/FS/cust_main.pm, FS/t/banned_pay.t, bin/generate-table-module,
+         FS/FS/cancel_reason.pm, FS/FS/cust_main.pm, FS/t/banned_pay.t,
+         FS/t/cancel_reason.t, bin/generate-table-module,
          httemplate/view/cust_main.cgi,
          httemplate/misc/cust_main-cancel.cgi: add banned credit card /
          ACH table, re-do cancel popup to have a checkbox to ban payinfo
 
+2005-08-24 07:07  ivan
+
+       * README.1.5.8, httemplate/docs/upgrade10.html: need
+         H:W:SelectLayers 0.05
+
 2005-08-24 06:47  ivan
 
        * httemplate/edit/cust_main/billing.html: fix size of cvv2 help
 
 2005-08-24 06:22  ivan
 
-       * htetc/handler.pl, httemplate/edit/cust_main.cgi,
+       * htetc/global.asa, htetc/handler.pl,
+         httemplate/edit/cust_main.cgi,
          httemplate/edit/cust_main/billing.html,
-         httemplate/edit/cust_main/contact.html, FS/FS/cust_main.pm,
-         FS/FS/cust_main_county.pm, FS/FS/ClientAPI/MyAccount.pm,
-         FS/FS/ClientAPI/Signup.pm,
+         httemplate/edit/cust_main/contact.html, Changes.1.5.8,
+         FS/FS/cust_main.pm, FS/FS/cust_main_county.pm,
+         FS/FS/ClientAPI/MyAccount.pm, FS/FS/ClientAPI/Signup.pm,
          fs_selfservice/FS-SelfService/SelfService.pm,
          httemplate/docs/ach.html, httemplate/docs/cvv2.html,
          httemplate/edit/process/cust_main.cgi,
          FS/FS/option_Common.pm, FS/FS/part_export.pm,
          FS/FS/part_export_option.pm, FS/FS/part_pkg.pm,
          FS/FS/payment_gateway.pm, FS/FS/payment_gateway_option.pm,
-         FS/bin/freeside-setup, FS/bin/freeside-upgrade, FS/FS.pm,
-         FS/MANIFEST, FS/t/option_Common.t, FS/t/payment_gateway.t,
-         FS/t/payment_gateway_option.t, bin/generate-table-module,
-         htetc/handler.pl, httemplate/index.html,
-         httemplate/browse/agent.cgi,
+         FS/bin/freeside-setup, FS/bin/freeside-upgrade, README.1.5.8,
+         SCHEMA_CHANGE, FS/FS.pm, FS/MANIFEST, FS/t/option_Common.t,
+         FS/t/payment_gateway.t, FS/t/payment_gateway_option.t,
+         bin/generate-table-module, htetc/global.asa, htetc/handler.pl,
+         httemplate/index.html, httemplate/browse/agent.cgi,
          httemplate/browse/payment_gateway.html,
+         httemplate/docs/upgrade10.html,
          httemplate/edit/agent_payment_gateway.html,
          httemplate/edit/payment_gateway.html: infrastructure for easier
          schema changes, and: add payment_gateway, payment_gateway_option
 
 2005-08-09 14:38  ivan
 
-       * FS/: FS/part_export/radiator.pm, FS/part_export/sqlradius.pm,
-         t/part_export-radiator.t, FS/part_export/sqlradius_withdomain.pm:
-         add native Radiator export
+       * Changes.1.5.8, FS/FS/part_export/radiator.pm,
+         FS/FS/part_export/sqlradius.pm, FS/t/part_export-radiator.t,
+         FS/FS/part_export/sqlradius_withdomain.pm: add native Radiator
+         export
 
 2005-08-08 08:15  ivan
 
-       * FS/FS/part_export/everyone_net.pm: add export to everyone.net
-         outsource mail service
+       * Changes.1.5.8, FS/FS/part_export/everyone_net.pm: add export to
+         everyone.net outsource mail service
+
+2005-08-07 20:15  ivan
+
+       * httemplate/docs/selfservice.html: add some docs on
+         signup_server-payby and -realtime configuration values
 
 2005-08-06 17:41  ivan
 
 
 2005-08-06 17:40  ivan
 
-       * FS/FS/agent.pm, FS/FS/cust_pkg.pm, FS/FS/cust_svc.pm,
-         FS/FS/UI/Web.pm, httemplate/browse/agent.cgi,
+       * Changes.1.5.8, FS/FS/agent.pm, FS/FS/cust_pkg.pm,
+         FS/FS/cust_svc.pm, FS/FS/UI/Web.pm, httemplate/browse/agent.cgi,
          httemplate/search/cust_pay.cgi, httemplate/search/cust_pkg.cgi,
          httemplate/search/elements/search.html: move cust_pkg search to
          new template, add active/suspended/cancelled customer packages to
 
        * httemplate/search/cust_credit.html: fix credit searches by otaker
 
+2005-08-04 01:39  ivan
+
+       * httemplate/docs/install.html: add IPC::Run3 and instructions for
+         adding fs_queue and fs_selfservice users to install docs
+
 2005-08-03 18:42  ivan
 
        * Makefile: don't use install -D flag, doesn't work on bsd
 
 2005-07-14 03:52  ivan
 
-       * FS/MANIFEST, FS/FS/Conf.pm, FS/FS/cust_bill.pm,
+       * Changes.1.5.8, FS/MANIFEST, FS/FS/Conf.pm, FS/FS/cust_bill.pm,
          FS/FS/cust_bill_event.pm, FS/FS/cust_credit.pm,
          FS/FS/cust_main.pm, FS/FS/cust_main_Mixin.pm, FS/FS/cust_pay.pm,
          FS/FS/svc_Common.pm, FS/FS/UI/Web.pm, FS/t/cust_main_Mixin.t,
          configuration value to control which customer fields are shown on
          reports
 
+2005-07-12 04:54  ivan
+
+       * README.1.5.7: add alternative for very old Pg
+
 2005-07-12 02:31  ivan
 
-       * httemplate/browse/part_pkg.cgi: <rjbs> More of the same: these
-         patches make it safer to subclass FS::part_pkg's pkg_svc method
-         by eliminating qsearches on table pkg_svc.
+       * httemplate/: browse/part_pkg.cgi, view/cust_pkg.cgi: <rjbs> More
+         of the same: these patches make it safer to subclass
+         FS::part_pkg's pkg_svc method by eliminating qsearches on table
+         pkg_svc.
 
 2005-07-12 02:22  ivan
 
 
 2005-07-11 05:53  ivan
 
-       * httemplate/docs/index.html: note alternate instructions for
-         0pre6->7
+       * httemplate/docs/: index.html, upgrade10.html: note alternate
+         instructions for 0pre6->7
+
+2005-07-11 05:39  ivan
+
+       * Changelog, Changes.1.5.7: s/ANNOUNCE/Changelog/
 
 2005-07-11 05:22  ivan
 
        * bin/postfix.export: fix regex
 
+2005-07-11 05:22  ivan
+
+       * httemplate/browse/queue.cgi: template
+
 2005-07-11 05:21  ivan
 
        * Makefile: probably best to keep RT disabled by default, at least
          for this release
 
+2005-07-11 05:09  ivan
+
+       * ANNOUNCE.1.5: last bits
+
 2005-07-11 03:58  ivan
 
        * FS/t/ClientAPI_SessionCache.t:
        * FS/bin/freeside-daily: fix bug with new efficient
          customer-finding code.  sql isn't perl, null != 0
 
+2005-07-05 14:46  ivan
+
+       * httemplate/docs/install-rt.html: tyop
+
 2005-06-30 06:32  ivan
 
        * FS/FS/Misc.pm: pod error
        * FS/FS/cust_main.pm: oops, really fix error with new prepaid card
          foo
 
+2005-06-21 20:54  ivan
+
+       * httemplate/docs/upgrade10.html: add IPC::Run3 to install docs
+
 2005-06-16 22:31  ivan
 
        * httemplate/misc/process/link.cgi: fix preference sort order for
 
 2005-06-14 21:46  ivan
 
-       * FS/FS/cust_bill.pm: better error reporting for actual errors from
-         lpr command
+       * README.1.5.7, FS/FS/cust_bill.pm: better error reporting for
+         actual errors from lpr command
 
 2005-06-14 19:31  ivan
 
          FS/FS/part_pkg.pm, httemplate/view/cust_bill.cgi,
          FS/bin/freeside-queued, httemplate/search/elements/search.html,
          httemplate/elements/progress-init.html,
-         httemplate/elements/progress-popup.html, htetc/handler.pl: add
-         ability to search on a date range of invoice events and then
-         reprint or reemail (boy was that a bit more work than i
-         expected), closes: Bug#946
+         httemplate/elements/progress-popup.html, htetc/global.asa,
+         htetc/handler.pl: add ability to search on a date range of
+         invoice events and then reprint or reemail (boy was that a bit
+         more work than i expected), closes: Bug#946
 
 2005-06-01 17:02  ivan
 
 
        * httemplate/search/cust_bill.html: align
 
+2005-05-14 13:11  ivan
+
+       * README.1.5.7.lastbit: hmm virtual fields have no history?
+
+2005-05-14 13:11  ivan
+
+       * README.1.5.7: 0.26
+
 2005-05-14 12:57  ivan
 
-       * rt/lib/RT/URI/: freeside.pm, freeside/Internal.pm: fixup RT
-         integration grr!
+       * README.1.5.7, rt/lib/RT/URI/freeside.pm,
+         rt/lib/RT/URI/freeside/Internal.pm: fixup RT integration grr!
 
 2005-05-14 11:03  ivan
 
 
 2005-05-14 09:27  ivan
 
-       * FS/FS/Conf.pm, FS/FS/Misc.pm, FS/FS/cust_bill.pm,
+       * ANNOUNCE.1.5, FS/FS/Conf.pm, FS/FS/Misc.pm, FS/FS/cust_bill.pm,
          FS/FS/part_bill_event.pm, conf/invoice_html, conf/logo.png,
-         httemplate/view/cust_bill.cgi: html invoices!
+         httemplate/docs/billing.html, httemplate/view/cust_bill.cgi: html
+         invoices!
 
          http://chris-linfoot.net/d6plinks/CWLT-5VZD4Y
          http://www.dsv.su.se/~jpalme/ietf/mhtml.html
 
 2005-05-03 17:40  ivan
 
-       * conf/invoice_latex, conf/invoice_latexfooter, conf/logo.eps,
-         FS/FS/Conf.pm, FS/FS/cust_bill.pm: great new invoice template
-         from kristian!
+       * conf/invoice_latex, conf/invoice_latexfooter,
+         conf/invoice_latexreturnaddress, conf/logo.eps,
+         httemplate/docs/billing.html, FS/FS/Conf.pm, FS/FS/cust_bill.pm:
+         great new invoice template from kristian!
 
 2005-05-03 10:22  ivan
 
        * FS/bin/: freeside-addoutsource, freeside-addoutsourceuser: remove
          unnecessary host=localhost from outsource instance creation foo
 
+2005-05-03 05:56  ivan
+
+       * README.1.5.7: fix some wrapping
+
 2005-05-03 02:56  ivan
 
        * FS/FS/cust_pay.pm: on receipts, show "Electronic Check" instead
        * FS/FS/: svc_acct.pm, part_export/acct_sql.pm: add vpopmail
          defaults to acct_sql export
 
+2005-04-19 10:25  ivan
+
+       * README.1.5.7: update pre6 -> 7 upgrade instructions too
+
 2005-04-19 02:50  ivan
 
        * FS/FS/Conf.pm: disable RT_Libs for now
 
 2005-04-19 02:48  ivan
 
+       * httemplate/docs/install.html, httemplate/docs/upgrade10.html,
+         ANNOUNCE.1.5, README.1.5.7.lastbit, SCHEMA_CHANGE: did another
+         upgrade, fixed up the instructions
+
+2005-04-19 02:48  ivan
+
        * FS/FS/part_pkg.pm: silence an annoying but harmless perl warning
 
 2005-04-18 00:37  ivan
        * FS/FS/: h_cust_svc.pm, h_svc_forward.pm: No need to inflict
          debugging messages on everyone.
 
+2005-04-10 06:01  ivan
+
+       * httemplate/docs/selfservice.html: add apache snippet to
+         self-service install docs
+
 2005-04-10 03:16  ivan
 
        * httemplate/search/elements/search.html: add some left and right
 
 2005-04-07 03:35  ivan
 
-       * Makefile, htetc/freeside-rt.conf: add install/debian/3.1/INSTALL
-         script and script up some apache automation assuming a conf.d
-         type dir
+       * Makefile, htetc/freeside-base.conf, htetc/freeside-rt.conf: add
+         install/debian/3.1/INSTALL script and script up some apache
+         automation assuming a conf.d type dir
 
 2005-04-07 02:26  ivan
 
-       * FS/FS/Record.pm, FS/bin/freeside-setup, bin/fix-sequences: depend
-         on DBIx::DBSchema 0.26 for dbdef-create (for Pg 'public' schema
-         fix) and 0.25 in freeside-setup and Record.pm (for DBD::Pg 1.40
-         is bunk fix)
+       * FS/FS/Record.pm, FS/bin/freeside-setup, bin/dbdef-create,
+         bin/fix-sequences: depend on DBIx::DBSchema 0.26 for dbdef-create
+         (for Pg 'public' schema fix) and 0.25 in freeside-setup and
+         Record.pm (for DBD::Pg 1.40 is bunk fix)
+
+2005-04-06 23:08  ivan
+
+       * README.1.5.7.lastbit: and the history tables
 
 2005-04-06 20:28  khoff
 
          current (non-history) records in place of missing history
          records.
 
+2005-04-06 18:29  ivan
+
+       * httemplate/docs/upgrade8.html: ancient upgrade fix, oops.  thanks
+         Rick Harby <rharby at caarnet.com>
+
 2005-04-06 15:52  ivan
 
        * FS/FS/svc_forward.pm: and fix the error msg haha
        * FS/FS/svc_forward.pm: looks like a domain part for a
          literally-specified forward src or dst is required, not optional
 
+2005-04-06 03:38  ivan
+
+       * httemplate/docs/install-rt.html: correct links to some
+         atypically-named CPAN distributions
+
 2005-04-05 17:50  khoff
 
        * FS/FS/h_Common.pm: $pkey should be the primary key of the real
 
 2005-04-02 14:46  ivan
 
-       * FS/FS/cust_bill_pkg.pm, FS/FS/part_svc_router.pm,
-         FS/FS/pkg_svc.pm, FS/FS/rate_detail.pm, FS/FS/reg_code_pkg.pm,
-         FS/FS/type_pkgs.pm, FS/bin/freeside-setup,
-         httemplate/docs/schema.html: herding elephants: add primary keys
-         to *all* tables for slony
+       * README.1.5.7, README.1.5.7.lastbit, FS/FS/cust_bill_pkg.pm,
+         FS/FS/part_svc_router.pm, FS/FS/pkg_svc.pm, FS/FS/rate_detail.pm,
+         FS/FS/reg_code_pkg.pm, FS/FS/type_pkgs.pm, FS/bin/freeside-setup,
+         httemplate/docs/schema.html, httemplate/docs/upgrade10.html:
+         herding elephants: add primary keys to *all* tables for slony
 
 2005-04-02 12:34  ivan
 
        * bin/add-history-records.pl: Printing insert statements is not
          necessary
 
+2005-03-30 21:02  khoff
+
+       * httemplate/docs/upgrade10.html: Very annoying typo. >:-)
+
 2005-03-30 19:47  khoff
 
        * bin/add-history-records.pl: Committing the inserts helps.
        * FS/FS/part_export/cp.pm: according to landel CP no longer
          supports changing username
 
+2005-03-29 17:32  ivan
+
+       * httemplate/docs/selfservice.html: separate out referring customer
+         info to optional section, add a note on setting the agentnum via
+         templte
+
 2005-03-29 17:18  ivan
 
        * httemplate/search/cust_pay.cgi: fix ambiguous column error when
 
 2005-03-29 14:41  ivan
 
-       * fs_selfservice/FS-SelfService/SelfService.pm: better self-service
-         debugging, don't point to install.html for suEXEC/setuid in
-         self-service setup docs
+       * fs_selfservice/FS-SelfService/SelfService.pm,
+         httemplate/docs/selfservice.html: better self-service debugging,
+         don't point to install.html for suEXEC/setuid in self-service
+         setup docs
 
 2005-03-28 17:40  khoff
 
          child_objects can now set an alternate field for the svcnum, for
          things like forwards
 
+2005-03-22 20:16  ivan
+
+       * httemplate/docs/install-rt.html, README.1.5.7: new RT requires
+         Tree::Simple too
+
+2005-03-22 18:59  ivan
+
+       * README.1.5.7, httemplate/docs/install-rt.html: add HTML::Scrubber
+         to rt install/upgrade docs
+
+2005-03-22 10:15  ivan
+
+       * httemplate/docs/upgrade10.html: small fix for indices in upgrade
+         instructions, found by s5
+
 2005-03-21 14:13  khoff
 
        * FS/FS/Conf.pm, FS/FS/Misc.pm, FS/FS/cust_bill.pm,
          FS/FS/ClientAPI/MyAccount.pm, FS/FS/part_export/http.pm,
          FS/FS/part_export/infostreet.pm,
          FS/FS/part_export/shellcommands.pm, htetc/handler.pl,
-         httemplate/edit/cust_main.cgi,
+         httemplate/docs/install.html, httemplate/edit/cust_main.cgi,
          httemplate/edit/process/cust_main.cgi,
          httemplate/misc/fax-invoice.cgi, httemplate/view/cust_bill.cgi,
          httemplate/view/cust_main/billing.html,
 
 2005-03-18 11:21  pbowen
 
-       * FS/: FS/Conf.pm, FS/Record.pm, FS/cust_bill.pm, FS/cust_main.pm,
-         bin/freeside-setup: Added encrypted fields for Credit Cards,
-         etc... - PB
+       * FS/FS/Conf.pm, FS/FS/Record.pm, FS/FS/cust_bill.pm,
+         FS/FS/cust_main.pm, FS/bin/freeside-setup,
+         httemplate/docs/upgrade10.html: Added encrypted fields for Credit
+         Cards, etc... - PB
 
 2005-03-18 11:15  pbowen
 
        * FS/FS/Record.pm: Fixed a small bug... if replace is called by
          SUPER, @_ == 1 if it only contains an undef. -PB
 
+2005-03-18 01:58  ivan
+
+       * httemplate/docs/selfservice.html: selfservice uses HTML::Entities
+
 2005-03-18 01:15  ivan
 
        * FS/FS/cust_main_county.pm: no idea why this is only showing up on
 
        * FS/FS/cust_bill.pm: Documentation tyop.
 
+2005-03-17 13:45  ivan
+
+       * httemplate/docs/install-rt.html: Freeside side uses MIME-tools
+         now
+
 2005-03-17 13:41  khoff
 
        * FS/FS/Conf.pm, FS/FS/Misc.pm, FS/FS/cust_bill.pm,
-         httemplate/misc/email-invoice.cgi: Added options
-         invoice_email_pdf and invoice_email_pdf_note.  invoice_email_pdf
-         - Attach PDF invoice to emailed plain text invoices.
-         invoice_email_pdf_note - Replace plain text invoice with this
-         note, when attaching a PDF.
+         httemplate/docs/install.html, httemplate/misc/email-invoice.cgi:
+         Added options invoice_email_pdf and invoice_email_pdf_note.
+         invoice_email_pdf - Attach PDF invoice to emailed plain text
+         invoices.  invoice_email_pdf_note - Replace plain text invoice
+         with this note, when attaching a PDF.
 
 2005-03-16 03:31  ivan
 
 
 2005-03-12 08:07  ivan
 
-       * Makefile, rt/etc/RT_SiteConfig.pm, rt/lib/RT/URI/freeside.pm,
+       * Makefile, httemplate/docs/install-rt.html,
+         rt/etc/RT_SiteConfig.pm, rt/lib/RT/URI/freeside.pm,
          rt/lib/RT/URI/freeside/Internal.pm,
          rt/lib/RT/URI/freeside/XMLRPC.pm: popurl(3) won't give us a good
          freeside base url since RT calls it from multiple directory
 
 2005-03-12 06:31  ivan
 
-       * httemplate/docs/schema.html, FS/FS/agent.pm, FS/FS/cust_main.pm,
-         FS/FS/cust_pay.pm, FS/FS/prepay_credit.pm, FS/bin/freeside-setup,
+       * httemplate/docs/schema.html, httemplate/docs/selfservice.html,
+         httemplate/docs/upgrade10.html, README.1.5.7, ANNOUNCE.1.5,
+         FS/FS/agent.pm, FS/FS/cust_main.pm, FS/FS/cust_pay.pm,
+         FS/FS/prepay_credit.pm, FS/bin/freeside-setup,
          httemplate/view/cust_main/payment_history.html,
          httemplate/index.html, httemplate/browse/agent.cgi,
          httemplate/edit/prepay_credit.cgi,
          fs_selfservice/FS-SelfService/cgi/signup.cgi,
          fs_selfservice/FS-SelfService/cgi/signup.html,
          fs_selfservice/FS-SelfService/cgi/stateselect.html,
-         fs_selfservice/FS-SelfService/cgi/success.html, htetc/handler.pl:
-         - bring prepaid support into this century (close: Bug#1124) -
-         finally get rid of fs_signup (everything is in fs_selfservice
-         now) (Bug#413) - organize main menu sysadmin section so it is
-         slightly less confusing
+         fs_selfservice/FS-SelfService/cgi/success.html, htetc/global.asa,
+         htetc/handler.pl: - bring prepaid support into this century
+         (close: Bug#1124) - finally get rid of fs_signup (everything is
+         in fs_selfservice now) (Bug#413) - organize main menu sysadmin
+         section so it is slightly less confusing
 
 2005-03-11 02:35  ivan
 
 
        * rt/etc/RT_SiteConfig.pm: merging
 
+2005-03-11 02:18  ivan
+
+       * httemplate/docs/install-rt.html: note about RT_External
+
 2005-03-10 17:34  khoff
 
        * rt/: etc/RT_SiteConfig.pm, html/Elements/Header,
        * FS/FS/XMLRPC.pm: Add the ability to do freeside configuration
          lookups through the XMLRPC interface.
 
+2005-03-10 07:33  ivan
+
+       * README.1.5.7, httemplate/docs/install.html,
+         httemplate/docs/upgrade10.html: arg
+
+2005-03-10 07:18  ivan
+
+       * README.1.5.7, httemplate/docs/install.html,
+         httemplate/docs/upgrade10.html: add Frontier::RPC to docs too
+
+2005-03-10 04:06  ivan
+
+       * README.1.5.7, httemplate/docs/install.html,
+         httemplate/docs/upgrade10.html: add IO-stringy (IO::Scalar) to
+         instructions
+
 2005-03-10 01:56  ivan
 
        * FS/bin/freeside-daily: fine.
          package editing problem with extraneous services showing up,
          closes: Bug#1170
 
+2005-03-09 00:46  ivan
+
+       * httemplate/docs/install-rt.html: add complete apache config
+         instructions for RT, closes: Bug#1031
+
 2005-03-09 00:18  ivan
 
-       * httemplate/docs/index.html: preliminary RT docs
+       * ANNOUNCE.1.5, httemplate/docs/index.html,
+         httemplate/docs/install-rt.html, httemplate/docs/install.html:
+         preliminary RT docs
 
 2005-03-08 10:37  khoff
 
        * FS/FS/XMLRPC.pm: Minor re-work to allow for pseudo methods, like
          'version', and eventually config look-ups (next commit).
 
+2005-03-06 02:15  ivan
+
+       * ANNOUNCE.1.5: d
+
 2005-03-05 19:25  ivan
 
        * httemplate/search/elements/search.html: specity an explicit EOL
 
 2005-03-05 19:04  ivan
 
-       * httemplate/search/elements/search.html, htetc/handler.pl,
-         httemplate/index.html, httemplate/search/cust_bill.html,
+       * httemplate/search/elements/search.html, README.1.5.7,
+         htetc/global.asa, htetc/handler.pl, httemplate/index.html,
+         httemplate/docs/install.html, httemplate/docs/upgrade10.html,
+         httemplate/search/cust_bill.html,
          httemplate/search/cust_bill_event.html,
          httemplate/search/cust_credit.html,
          httemplate/search/cust_main-otaker.cgi,
+         httemplate/search/cust_main-payinfo.html,
+         httemplate/search/cust_main-quickpay.html,
          httemplate/search/cust_main.cgi,
          httemplate/search/cust_main.html, httemplate/search/cust_pay.cgi,
+         httemplate/search/cust_pay.html,
+         httemplate/search/cust_pkg_report.cgi,
          httemplate/search/reg_code.html,
          httemplate/search/report_cust_credit.html,
          httemplate/search/report_cust_pay.html,
          httemplate/search/report_prepaid_income.html,
          httemplate/search/report_tax.html,
-         httemplate/search/sqlradius.html, httemplate/search/svc_www.cgi,
+         httemplate/search/sqlradius.html,
+         httemplate/search/svc_acct.html,
+         httemplate/search/svc_domain.html, httemplate/search/svc_www.cgi,
          httemplate/view/cust_bill-pdf.cgi,
          httemplate/view/cust_bill-ps.cgi: add Excel and CSV download of
          templated reports and clean up their HTML formatting, closes;
          httemplate/search/cust_credit.html,
          httemplate/search/cust_pay.cgi,
          httemplate/search/report_cust_credit.html,
-         httemplate/search/report_cust_pay.html,
+         httemplate/search/report_cust_pay.html, ANNOUNCE.1.5,
          httemplate/search/elements/search.html: add agent selection to
          payment and credit reports, add link to agent browse, closes:
          Bug#1105
 
 2005-03-02 13:00  khoff
 
-       * eg/xmlrpc-example.pl, httemplate/misc/xmlrpc.cgi,
-         FS/FS/XMLRPC.pm, htetc/handler.pl: Initial version of the xmlrpc
-         interface for freeside.
+       * httemplate/docs/install.html, eg/xmlrpc-example.pl,
+         httemplate/misc/xmlrpc.cgi, FS/FS/XMLRPC.pm, htetc/handler.pl:
+         Initial version of the xmlrpc interface for freeside.
 
 2005-03-01 16:47  ivan
 
        * FS/FS/Record.pm: fix replacement in edge case with NULL integer
          fields in a table without a primary key
 
+2005-02-26 13:29  ivan
+
+       * README.1.5.7, ANNOUNCE.1.5, ANNOUNCE.1.5.0, README.1.5.0pre7:
+         less cracktastic version numbering
+
 2005-02-25 14:14  ivan
 
        * bin/pg-readonly: try to set the sequences right for modern Pg
          FS/FS/part_svc.pm: add progressbar to service definition add -
          duplicate checking can take a while, closes: Bug#1126
 
+2005-02-22 22:43  ivan
+
+       * httemplate/docs/install.html: update docs wrt mysql support
+
 2005-02-22 10:26  khoff
 
        * httemplate/edit/cust_pkg.cgi: Alphabetize/clean-up package list
          httemplate/elements/jsrsServer.html,
          httemplate/elements/overlibmws.js,
          httemplate/elements/progress-init.html,
-         httemplate/elements/progress-popup.html: use a javascript layer
-         instead of a browser popup (popup blockers), really generalize
-         the progressbar code to make it easy to use as a component
+         httemplate/elements/progress-popup.html,
+         httemplate/misc/progress.html: use a javascript layer instead of
+         a browser popup (popup blockers), really generalize the
+         progressbar code to make it easy to use as a component
 
 2005-02-17 00:44  ivan
 
 
 2005-02-10 22:44  ivan
 
-       * FS/FS/rate.pm, FS/FS/UI/Web.pm, htetc/handler.pl,
-         httemplate/edit/process/rate.cgi, httemplate/edit/rate.cgi:
-         generalize progressbar code in preparation for using it wherever
-         needed
+       * FS/FS/rate.pm, FS/FS/UI/Web.pm, htetc/global.asa,
+         htetc/handler.pl, httemplate/edit/process/rate.cgi,
+         httemplate/edit/rate.cgi: generalize progressbar code in
+         preparation for using it wherever needed
 
 2005-02-08 17:08  ivan
 
 
 2005-02-08 12:22  ivan
 
-       * FS/bin/freeside-setup, FS/FS.pm, FS/MANIFEST,
+       * FS/bin/freeside-setup, httemplate/docs/upgrade10.html,
+         README.1.5.0pre7, FS/FS.pm, FS/MANIFEST,
          FS/FS/ClientAPI_SessionCache.pm, FS/FS/Conf.pm,
          FS/FS/clientapi_session.pm, FS/FS/clientapi_session_field.pm,
          FS/FS/ClientAPI/Agent.pm, FS/FS/ClientAPI/MyAccount.pm,
          FS/FS/ClientAPI/Signup.pm, FS/t/ClientAPI_SessionCache.t,
          FS/t/clientapi_session.t, FS/t/clientapi_session_field.t,
-         httemplate/docs/schema.html: make self-service session cache
-         module configurable, start framework for in-database session
-         cache
+         httemplate/docs/install.html, httemplate/docs/schema.html: make
+         self-service session cache module configurable, start framework
+         for in-database session cache
 
 2005-02-05 15:39  ivan
 
 
        * httemplate/edit/cust_main.cgi: typo
 
+2005-02-02 00:06  ivan
+
+       * FS/FS/UI/: Base.pm, CGI.pm, Gtk.pm, agent.pm: removing old UI
+         experiment
+
+2005-01-29 04:51  ivan
+
+       * ANNOUNCE.1.5.0: gotta do pre7 already
+
 2005-01-29 04:49  ivan
 
        * httemplate/browse/agent.cgi, FS/FS/part_pkg/flat.pm: oops, last
 
        * FS/FS.pm, FS/FS/agent.pm, FS/FS/cust_pkg.pm, FS/FS/part_pkg.pm,
          FS/FS/reg_code.pm, FS/FS/reg_code_pkg.pm, FS/bin/freeside-setup,
-         FS/t/reg_code.t, FS/t/reg_code_pkg.t, FS/MANIFEST,
-         FS/FS/ClientAPI/Signup.pm, httemplate/docs/schema.html,
-         httemplate/edit/reg_code.cgi, httemplate/search/reg_code.html,
+         FS/t/reg_code.t, FS/t/reg_code_pkg.t, README.1.5.0pre7,
+         FS/MANIFEST, FS/FS/ClientAPI/Signup.pm,
+         httemplate/docs/install.html, httemplate/docs/schema.html,
+         httemplate/docs/upgrade10.html, httemplate/edit/reg_code.cgi,
+         httemplate/search/reg_code.html,
          httemplate/edit/process/reg_code.cgi: registration codes
 
 2005-01-27 15:01  ivan
 2005-01-27 02:21  ivan
 
        * httemplate/edit/process/rate.cgi, CREDITS, FS/FS/UID.pm,
-         FS/FS/queue.pm, FS/FS/rate.pm, httemplate/elements/jsrsClient.js,
-         FS/bin/freeside-queued, httemplate/edit/rate.cgi,
+         FS/FS/queue.pm, FS/FS/rate.pm, httemplate/docs/install.html,
+         httemplate/elements/jsrsClient.js, httemplate/misc/progress.html,
+         JSRS-LICENSE, FS/bin/freeside-queued, httemplate/edit/rate.cgi,
          httemplate/elements/qlib/box.js,
          httemplate/elements/qlib/boxctrl.js,
          httemplate/elements/qlib/boxres.js,
        * FS/FS/: cust_svc.pm, svc_acct.pm, part_pkg/voip_sqlradacct.pm:
          fix up some bugs in VoIP rating
 
+2004-12-30 15:47  ivan
+
+       * htetc/global.asa: search the current dir *first*, otherwise some
+         weird Apache::ASP bugs could crop up if things are ever named the
+         same
+
+2004-12-30 01:59  ivan
+
+       * htetc/global.asa: kludge to fix nested includes with
+         Apache::ASP... dunno how much longer i want to support that,
+         should just switch to Mason
+
 2004-12-29 17:41  ivan
 
        * FS/FS/: cust_svc.pm, domain_record.pm, Report/Table/Monthly.pm:
          FS/t/h_svc_acct.t, FS/t/h_svc_broadband.t, FS/t/h_svc_domain.t,
          FS/t/h_svc_external.t, FS/t/h_svc_forward.t, FS/t/h_svc_www.t,
          httemplate/view/cust_main.cgi,
-         httemplate/view/cust_main/packages.html: historical (immutable)
-         invoice details about services and other history infrastructure
+         httemplate/view/cust_main/packages.html, ANNOUNCE.1.5.0:
+         historical (immutable) invoice details about services and other
+         history infrastructure
 
 2004-12-28 15:30  ivan
 
        * FS/FS/part_export/sqlradius.pm: add debug flag to sqlradius
          export
 
+2004-12-27 02:23  ivan
+
+       * ANNOUNCE.1.5.0: note integrated rt is updated
+
 2004-12-27 02:19  ivan
 
        * FS/FS/: cust_pay.pm, cust_credit.pm: prevent unsuspension errors
 
 2004-12-23 00:32  ivan
 
-       * FS/bin/freeside-setup: allow NULL zip in some countries
+       * README.1.5.0pre7, FS/bin/freeside-setup,
+         httemplate/docs/upgrade10.html: allow NULL zip in some countries
 
 2004-12-23 00:00  ivan
 
-       * FS/bin/freeside-setup: going with 6 digit misnamed "npa" for now
+       * README.1.5.0pre7, FS/bin/freeside-setup,
+         httemplate/docs/upgrade10.html: going with 6 digit misnamed "npa"
+         for now
 
 2004-12-23 00:00  ivan
 
 
        * Makefile: add init script enable command in deb and redhat
 
+2004-12-18 15:32  ivan
+
+       * httemplate/docs/: billing.html, install.html: add info about
+         teTeX and Ghostscript
+
 2004-12-18 02:52  ivan
 
        * httemplate/index.html: fix spelling
        * FS/FS/Conf.pm, httemplate/index.html: add config option for
          address2 search, closes: Bug#1022
 
+2004-12-12 10:51  ivan
+
+       * httemplate/view/cust_main/quick-charge.html: fix form action url
+         for template
+
 2004-12-12 00:34  ivan
 
        * FS/FS/cust_main.pm: fix customer status display for some cases
 
        * FS/FS/part_export/acct_sql.pm: finish modification
 
+2004-12-11 14:50  ivan
+
+       * httemplate/docs/install.html: update install doc
+
 2004-12-11 12:41  ivan
 
        * FS/FS/cust_bill.pm, FS/FS/part_bill_event.pm,
 2004-12-10 23:50  ivan
 
        * FS/FS/Conf.pm, httemplate/view/cust_main.cgi,
+         httemplate/view/cust_main/order_pkg.html,
          httemplate/view/cust_main/packages.html,
-         httemplate/view/cust_main/payment_history.html: voiding of echeck
+         httemplate/view/cust_main/payment_history.html,
+         httemplate/view/cust_main/quick-charge.html: voiding of echeck
          payments instead of refunds
 
+2004-12-10 15:51  ivan
+
+       * httemplate/docs/selfservice.html: correct path to selfservice
+
 2004-12-10 14:28  ivan
 
        * FS/FS/CGI.pm: ui tweak for small customer view - line up billing
 
        * htetc/handler.pl: landing rt 3.2.2
 
-2004-12-03 12:51  ivan
+2004-12-03 13:23  ivan
 
-       * rt/: html/Elements/Footer, html/Elements/Header,
-         html/Elements/PageLayout, html/Elements/SimpleSearch,
-         html/Elements/Tabs, html/Ticket/Elements/ShowSummary,
-         html/Ticket/Elements/Tabs, sbin/rt-setup-database.in: landing rt
-         3.2.2
+       * README.1.5.0pre7: landing RT 3.2.2
 
-2004-12-03 12:40  ivan
+2004-12-03 12:51  ivan
 
-       * rt/: lib/RT/I18N/fi.po, lib/RT/I18N/zh_cn.po,
-         lib/RT/Action/AutoOpen.pm, lib/RT/Action/Autoreply.pm,
-         lib/RT/Action/CreateTickets.pm, lib/RT/Action/Notify.pm,
-         lib/RT/Action/RecordCorrespondence.pm,
-         lib/RT/Action/ResolveMembers.pm, lib/RT/Action/Generic.pm,
-         lib/RT/Action/SetPriority.pm, lib/RT/Action/UserDefined.pm,
-         lib/RT/Action/EscalatePriority.pm,
-         lib/RT/Action/NotifyAsComment.pm, lib/RT/Action/RecordComment.pm,
-         lib/RT/Action/SendEmail.pm, lib/RT/URI/fsck_com_rt.pm,
-         lib/RT/Interface/CLI.pm, lib/RT/Interface/Email.pm,
-         lib/RT/URI/base.pm, lib/RT/Interface/REST.pm,
-         lib/RT/Interface/Web.pm, lib/RT/Interface/Email/Auth/GnuPG.pm,
-         lib/RT/Interface/Email/Auth/MailFrom.pm,
-         lib/RT/Interface/Email/Filter/SpamAssassin.pm,
-         lib/RT/Condition/Overdue.pm, lib/RT/Condition/PriorityChange.pm,
-         lib/RT/Condition/QueueChange.pm,
-         lib/RT/Condition/StatusChange.pm,
-         lib/RT/Interface/Web/Handler.pm,
-         lib/RT/Search/ActiveTicketsInQueue.pm, lib/RT/Search/FromSQL.pm,
-         lib/RT/Search/Generic.pm, lib/RT/Condition/Generic.pm,
-         bin/mason_handler.scgi.in, bin/rt-crontool.in,
-         bin/standalone_httpd.in, bin/webmux.pl.in,
-         lib/RT/Condition/AnyTransaction.pm,
-         lib/RT/Condition/BeforeDue.pm, lib/RT/Condition/OwnerChange.pm,
-         lib/RT/Condition/PriorityExceeds.pm,
-         lib/RT/Condition/UserDefined.pm, bin/mason_handler.fcgi.in,
-         bin/mason_handler.svc.in, bin/rt.in, bin/rt-mailgate.in,
-         etc/schema.Sybase, etc/acl.Sybase, etc/initialdata,
-         etc/schema.Informix, etc/acl.Pg, etc/constraints.mysql,
-         etc/schema.SQLite, etc/schema.mysql, etc/drop.Oracle,
-         etc/upgrade/3.1.0/acl.Informix, etc/upgrade/3.1.0/acl.Oracle,
-         etc/upgrade/3.1.0/acl.Pg, etc/upgrade/3.1.0/acl.SQLite,
-         etc/upgrade/3.1.0/acl.mysql, etc/upgrade/3.1.0/content,
-         etc/upgrade/3.1.0/schema.Informix,
-         etc/upgrade/3.1.0/schema.Oracle, etc/upgrade/3.1.0/schema.Pg,
-         etc/upgrade/3.1.0/schema.SQLite, etc/upgrade/3.1.0/schema.mysql,
-         etc/upgrade/3.1.15/content, etc/upgrade/3.1.17/content: import rt
-         3.2.2
+       * rt/: config, config.pld, bin/rt-commit-handler.in,
+         etc/upgrade/2.1.71, html/Admin/Elements/ModifyQueue,
+         html/Admin/Elements/ModifyUser, html/Admin/Users/Prefs.html,
+         html/Elements/Footer, html/Elements/Header,
+         html/Elements/PageLayout, html/Elements/ShadedBox,
+         html/Elements/ShadedInputRow, html/Elements/ShadedRow,
+         html/Elements/SimpleSearch, html/Elements/Tabs,
+         html/Elements/ViewUser, html/NoAuth/webrt.css,
+         html/Search/Listing.html, html/Search/Elements/PickRestriction,
+         html/Search/Elements/TicketHeader,
+         html/Search/Elements/TicketHeaderCell,
+         html/Search/Elements/TicketRow, html/Ticket/Elements/EditLinks,
+         html/Ticket/Elements/ShowLink, html/Ticket/Elements/ShowLinks,
+         html/Ticket/Elements/ShowSummary, html/Ticket/Elements/Tabs,
+         sbin/rt-setup-database.in: landing rt 3.2.2
 
-2004-12-03 12:37  ivan
+2004-12-03 12:40  ivan
 
-       * rt/html/: Ticket/Elements/ShowTransactionAttachments,
-         Elements/QuickCreate, Elements/TicketList,
-         Elements/CollectionAsTable/Row: Initial revision
+       * rt/etc/upgrade/: 3.1.0/acl.Informix, 3.1.0/acl.Oracle,
+         3.1.0/acl.Pg, 3.1.0/acl.SQLite, 3.1.0/acl.mysql, 3.1.0/content,
+         3.1.0/schema.Informix, 3.1.0/schema.Oracle, 3.1.0/schema.Pg,
+         3.1.0/schema.SQLite, 3.1.0/schema.mysql, 3.1.15/content,
+         3.1.17/content: Initial revision
 
 2004-12-03 12:37  ivan
 
-       * rt/: UPGRADING, README, Makefile.in, configure, configure.ac,
-         Changelog, aclocal.m4, sbin/extract-message-catalog,
-         sbin/regression_harness, sbin/factory, sbin/license_tag,
-         sbin/rt-test-dependencies.in, sbin/extract_pod_tests,
-         html/autohandler, html/index.html, html/l,
-         html/Ticket/History.html, html/Ticket/ModifyAll.html,
-         html/Ticket/ModifyDates.html, html/Ticket/ModifyPeople.html,
-         html/Ticket/Update.html, html/Tools/MyDay.html,
-         html/Tools/Offline.html, html/Tools/Elements/Tabs,
-         html/Ticket/Modify.html, html/Ticket/ModifyLinks.html,
-         html/Ticket/ShowEmailRecord.html,
-         html/Ticket/Attachment/dhandler,
-         html/Ticket/Elements/LoadTextAttachments,
-         html/Ticket/Elements/EditCustomField,
-         html/Ticket/Elements/EditWatchers,
-         html/Ticket/Elements/ShowDependencies,
-         html/Ticket/Elements/ShowMessageHeaders,
-         html/Ticket/Elements/ShowPeople,
-         html/Ticket/Elements/ShowTransaction,
-         html/Ticket/Elements/AddWatchers, html/Ticket/Elements/BulkLinks,
-         html/Ticket/Elements/EditPeople, html/Ticket/Elements/ShowDates,
-         html/Ticket/Elements/ShowMembers,
-         html/Ticket/Elements/ShowMessageStanza,
-         html/Ticket/Elements/ShowRequestor,
-         html/Ticket/Elements/EditCustomFields,
-         html/Ticket/Elements/EditDates,
+       * rt/: html/Tools/MyDay.html, html/Tools/Offline.html,
+         html/Tools/Elements/Tabs, html/Ticket/ShowEmailRecord.html,
+         html/Ticket/Elements/ShowTransactionAttachments,
          html/Ticket/Elements/PreviewScrips,
-         html/Ticket/Elements/ShowBasics,
-         html/Ticket/Elements/ShowCustomFields,
          html/Ticket/Elements/ShowGroupMembers,
-         html/Ticket/Elements/ShowHistory,
-         html/Ticket/Elements/ShowUserEntry,
-         html/Ticket/Elements/EditBasics,
-         html/Ticket/Elements/FindAttachments,
-         html/Ticket/Elements/ShowAttachments, html/Search/Build.html,
+         html/Ticket/Elements/ShowUserEntry, html/Search/Build.html,
          html/Search/Edit.html, html/Search/Results.html,
          html/Search/Results.rdf, html/Search/Results.tsv,
          html/Search/Elements/BuildFormatString,
          html/Search/Elements/SelectLinks,
          html/Search/Elements/SelectPersonType,
          html/Search/Elements/SelectSearchesForObjects,
-         html/Approvals/Display.html, html/Approvals/index.html,
-         html/Approvals/Elements/PendingMyApproval,
          html/Search/Elements/EditFormat, html/Search/Elements/PickBasics,
          html/Search/Elements/PickCriteria,
-         html/Search/Elements/SelectSearchObject, html/Admin/index.html,
-         html/Admin/Groups/GroupRights.html,
-         html/Admin/Groups/Modify.html, html/Admin/Groups/UserRights.html,
-         html/Admin/Groups/index.html, html/Approvals/Elements/Approve,
-         html/Approvals/Elements/ShowDependency,
-         html/Approvals/Elements/Tabs, html/Admin/Global/GroupRights.html,
-         html/Admin/Global/Templates.html,
-         html/Admin/Global/UserRights.html,
-         html/Admin/Groups/Members.html,
+         html/Search/Elements/SelectSearchObject,
          html/Admin/Tools/Configuration.html, html/Admin/Tools/index.html,
-         html/Admin/Global/Scrip.html, html/Admin/Global/Scrips.html,
-         html/Admin/Global/Template.html, html/Admin/Global/index.html,
-         html/Admin/Queues/CustomField.html,
-         html/Admin/Queues/CustomFields.html,
-         html/Admin/Queues/GroupRights.html, html/Admin/Queues/Scrip.html,
-         html/Admin/Queues/Scrips.html, html/Admin/Queues/Template.html,
-         html/Admin/Queues/Templates.html,
-         html/Admin/Queues/UserRights.html, html/Admin/Users/index.html,
-         html/Admin/Elements/EditCustomField,
-         html/Admin/Elements/ListGlobalScrips,
-         html/Admin/Elements/SelectCustomFieldType,
-         html/Admin/Elements/SelectModifyUser, html/Admin/Elements/Tabs,
-         html/Admin/Elements/UserTabs, html/Admin/Queues/Modify.html,
-         html/Admin/Queues/People.html, html/Admin/Queues/index.html,
-         html/Admin/Elements/EditCustomFieldValues,
-         html/Admin/Elements/EditScrip,
-         html/Admin/Elements/EditUserComments, html/Admin/Elements/Header,
-         html/Admin/Elements/QueueTabs,
-         html/Admin/Elements/SelectModifyGroup,
-         html/Admin/Elements/SelectSingleOrMultiple,
-         html/Admin/Elements/SelectUsers, html/Admin/Elements/ToolTabs,
-         html/Admin/Elements/AddCustomFieldValue,
-         html/Admin/Elements/EditCustomFields,
-         html/Admin/Elements/EditScrips,
-         html/Admin/Elements/EditTemplates,
-         html/Admin/Elements/ModifyTemplate,
-         html/Admin/Elements/SelectGroups,
-         html/Admin/Elements/SelectNewGroupMembers,
-         html/Admin/Elements/SelectScrip,
-         html/Admin/Elements/CreateUserCalled,
-         html/Admin/Elements/EditQueueWatchers,
-         html/Admin/Elements/GroupTabs,
-         html/Admin/Elements/QueueRightsForUser,
-         html/Admin/Elements/SelectModifyQueue,
-         html/Admin/Elements/SelectRights,
-         html/Admin/Elements/SelectScripCondition,
-         html/Admin/Elements/SelectStage,
-         html/Admin/Elements/SelectTemplate,
-         html/Admin/Elements/SystemTabs,
-         html/Admin/Elements/ListGlobalCustomFields,
-         html/Admin/Elements/SelectScripAction,
-         html/SelfService/Closed.html, html/SelfService/Create.html,
-         html/SelfService/Display.html, html/SelfService/Error.html,
-         html/SelfService/Prefs.html, html/SelfService/Update.html,
-         html/SelfService/index.html, html/Elements/BevelBoxRaisedEnd,
-         html/Elements/MyRequests, html/Elements/SelectDateType,
-         html/Elements/SelectSortOrder, html/Elements/SelectStatus,
-         html/Elements/SelectTicketSortBy, html/Elements/ShowLinks,
-         html/SelfService/Attachment/dhandler,
-         html/SelfService/Elements/GotoTicket,
-         html/SelfService/Elements/Header,
-         html/SelfService/Elements/MyRequests,
-         html/SelfService/Elements/Tabs, html/Elements/Callback,
-         html/Elements/EditLinks, html/Elements/ListActions,
-         html/Elements/MessageBox, html/Elements/QueryString,
-         html/Elements/Refresh, html/Elements/SelectLinkType,
-         html/Elements/SelectMatch, html/Elements/Quicksearch,
-         html/Elements/SelectUsers, html/Elements/GotoTicket,
-         html/Elements/ScrubHTML, html/Elements/Section,
-         html/Elements/SelectBoolean, html/Elements/SelectGroups,
-         html/Elements/SelectLang, html/Elements/SelectNewTicketQueue,
-         html/Elements/SelectQueue, html/Elements/SelectTicketTypes,
-         html/Elements/TitleBoxEnd, html/Elements/Checkbox,
-         html/Elements/Error, html/Elements/Login,
-         html/Elements/SelectAttachmentField,
-         html/Elements/SelectCustomFieldOperator,
-         html/Elements/SelectOwner, html/Elements/SelectWatcherType,
-         html/Elements/SetupSessionCookie, html/Elements/ShowLink,
-         html/Elements/Submit, html/Elements/TitleBox,
-         html/Elements/BevelBoxRaisedStart, html/Elements/CreateTicket,
-         html/Elements/MyTickets, html/Elements/SelectCustomFieldValue,
-         html/Elements/SelectDateRelation,
-         html/Elements/SelectEqualityOperator,
-         html/Elements/SelectResultsPerPage,
+         html/Admin/Elements/ToolTabs, html/Elements/ShowLinks,
+         html/Elements/EditLinks, html/Elements/QuickCreate,
+         html/Elements/ScrubHTML, html/Elements/TicketList,
+         html/Elements/ShowLink, html/Elements/TitleBox,
          html/Elements/CollectionAsTable/Header,
          html/Elements/CollectionAsTable/ParseFormat,
-         html/Elements/RT__Ticket/ColumnMap, html/REST/1.0/autohandler,
-         html/REST/1.0/dhandler, html/REST/1.0/logout,
-         html/REST/1.0/ticket/merge,
-         html/REST/1.0/Forms/ticket/attachments,
-         html/REST/1.0/Forms/ticket/links, html/REST/1.0/search/dhandler,
-         html/REST/1.0/search/ticket, html/REST/1.0/ticket/comment,
-         html/REST/1.0/ticket/link, html/REST/1.0/Forms/queue/default,
-         html/REST/1.0/Forms/queue/ns, html/REST/1.0/Forms/ticket/default,
-         html/REST/1.0/Forms/ticket/history,
-         html/REST/1.0/Forms/user/default, html/REST/1.0/Forms/user/ns,
-         html/NoAuth/Logout.html, html/NoAuth/Reminder.html,
-         html/NoAuth/images/autohandler,
-         html/REST/1.0/NoAuth/mail-gateway, html/User/Delegation.html,
-         html/User/Elements/DelegateRights, html/User/Elements/GroupTabs,
-         html/User/Elements/Tabs, html/User/Groups/Members.html,
-         html/User/Groups/Modify.html, html/User/Groups/index.html,
-         lib/RT.pm.in, lib/RT/GroupMembers.pm, lib/RT/Principals.pm,
-         lib/RT/Scrips_Overlay.pm, lib/RT/Tickets.pm, lib/RT/Base.pm,
-         lib/RT/CustomField_Overlay.pm, lib/RT/Queues_Overlay.pm,
-         lib/RT/Date.pm, lib/RT/ScripConditions_Overlay.pm,
-         lib/RT/Template_Overlay.pm, lib/RT/Group.pm, lib/RT/User.pm,
-         lib/RT/System.pm, lib/RT/Attachment.pm, lib/RT/Attributes.pm,
-         lib/RT/Handle.pm, lib/RT/Principals_Overlay.pm,
-         lib/RT/Tickets_Overlay_SQL.pm, lib/RT/ACL_Overlay.pm,
-         lib/RT/Templates_Overlay.pm, lib/RT/Attribute_Overlay.pm,
-         lib/RT/EmailParser.pm, lib/RT/GroupMembers_Overlay.pm,
-         lib/RT/Tickets_Overlay.pm, lib/RT/Attributes_Overlay.pm,
-         lib/RT/CachedGroupMember.pm, lib/RT/CustomFieldValue.pm,
-         lib/RT/Transactions.pm, lib/RT/I18N.pm, lib/RT/Links.pm,
-         lib/RT/Queue.pm, lib/RT/Scrip.pm,
-         lib/RT/CachedGroupMember_Overlay.pm, lib/RT/CurrentUser.pm,
-         lib/RT/Principal.pm, lib/RT/Attachment_Overlay.pm,
-         lib/RT/CustomFieldValues.pm, lib/RT/Group_Overlay.pm,
-         lib/RT/ACE.pm, lib/RT/ScripActions.pm,
-         lib/RT/Transactions_Overlay.pm, lib/RT/Attachments.pm,
-         lib/RT/Groups.pm, lib/RT/Principal_Overlay.pm,
-         lib/RT/ScripAction.pm, lib/RT/Scrip_Overlay.pm,
-         lib/RT/GroupMember.pm, lib/RT/Links_Overlay.pm,
-         lib/RT/ScripCondition.pm, lib/RT/Transaction.pm,
-         lib/RT/Queue_Overlay.pm, lib/RT/Scrips.pm,
-         lib/RT/CachedGroupMembers.pm, lib/RT/CustomField.pm,
-         lib/RT/CustomFieldValues_Overlay.pm, lib/RT/CustomFields.pm,
-         lib/RT/Link.pm, lib/RT/Queues.pm, lib/RT/ScripActions_Overlay.pm,
-         lib/RT/ScripConditions.pm, lib/RT/Template.pm, lib/RT/ACL.pm,
-         lib/RT/Attachments_Overlay.pm, lib/RT/ScripAction_Overlay.pm,
-         lib/RT/ScripCondition_Overlay.pm, lib/RT/GroupMember_Overlay.pm,
-         lib/RT/Ticket.pm, lib/RT/ACE_Overlay.pm, lib/RT/Link_Overlay.pm,
-         lib/RT/Templates.pm, lib/RT/Attribute.pm,
-         lib/RT/CachedGroupMembers_Overlay.pm,
-         lib/RT/CustomFields_Overlay.pm, lib/RT/URI.pm, lib/RT/Users.pm,
-         lib/RT/I18N/en.po, lib/RT/I18N/i_default.pm, lib/RT/I18N/cs.pm,
-         lib/RT/I18N/cs.po, lib/RT/I18N/pt_br.po, lib/RT/I18N/fr.po,
-         lib/RT/I18N/es.po, lib/RT/I18N/nl.po, lib/RT/I18N/hu.po,
-         lib/RT/I18N/it.po, lib/RT/I18N/no.po, lib/RT/I18N/da.po,
-         lib/RT/I18N/ru.po, lib/RT/I18N/de.po, lib/RT/I18N/ja.po,
-         lib/RT/I18N/zh_tw.po, lib/RT/I18N/he.po: import rt 3.2.2
+         html/Elements/CollectionAsTable/Row,
+         html/Elements/RT__Ticket/ColumnMap,
+         html/NoAuth/images/autohandler, lib/t/05cronsupport.pl.in,
+         lib/RT/Attributes.pm, lib/RT/Attribute_Overlay.pm,
+         lib/RT/Attributes_Overlay.pm, lib/RT/Attribute.pm,
+         lib/RT/I18N/en_malkovich.po,
+         lib/RT/Action/RecordCorrespondence.pm,
+         lib/RT/Action/RecordComment.pm,
+         lib/RT/Interface/Email/Auth/GnuPG.pm,
+         lib/RT/Condition/PriorityChange.pm,
+         lib/RT/Interface/Web/Handler.pm, lib/RT/Search/FromSQL.pm,
+         bin/standalone_httpd.in, etc/schema.Sybase, etc/acl.Sybase:
+         Initial revision
+
+2004-12-03 12:27  ivan
+
+       * rt/sbin/: rt-setup-database, rt-test-dependencies: remove
+         autogenerated file
 
 2004-12-02 02:18  ivan
 
          rt/html/Ticket/Elements/ShowCustomers,
          rt/html/Ticket/Elements/ShowSummary,
          rt/html/Ticket/Elements/Tabs, FS/FS/TicketSystem/RT_Internal.pm,
-         FS/FS/TicketSystem/RT_Libs.pm, htetc/handler.pl,
-         httemplate/search/cust_main.cgi,
+         FS/FS/TicketSystem/RT_Libs.pm, htetc/global.asa,
+         htetc/handler.pl, httemplate/search/cust_main.cgi,
          rt/lib/RT/Interface/Web_Vendor.pm, rt/lib/RT/URI/freeside.pm:
          second big RT integration checkin, customer linking/delinking
          interface
          httemplate/index.html, rt/FREESIDE_MODIFIED,
          rt/html/Elements/Footer, rt/html/Elements/Header,
          rt/html/Elements/PageLayout, rt/html/Elements/SimpleSearch,
-         rt/html/Elements/Tabs, Makefile, FS/FS.pm, htetc/handler.pl,
+         rt/html/Elements/Tabs, ANNOUNCE.1.5.0, Makefile, FS/FS.pm,
+         htetc/global.asa, htetc/handler.pl, rt/html/NoAuth/webrt.css,
          rt/html/NoAuth/images/small-logo.png: ticket system integration
          framework and skin RT
 
 
 2004-11-22 10:20  ivan
 
-       * FS/FS/ClientAPI/Signup.pm, FS/bin/freeside-setup,
-         httemplate/docs/schema.html, FS/FS/Record.pm, FS/FS/cust_pkg.pm,
-         FS/FS/part_pkg.pm, httemplate/edit/cust_main.cgi,
-         httemplate/edit/part_pkg.cgi: promo codes and separate signup
-         addresses for hdn
+       * README.1.5.0pre7, FS/FS/ClientAPI/Signup.pm,
+         FS/bin/freeside-setup, httemplate/docs/schema.html,
+         httemplate/docs/upgrade10.html, FS/FS/Record.pm,
+         FS/FS/cust_pkg.pm, FS/FS/part_pkg.pm,
+         httemplate/edit/cust_main.cgi, httemplate/edit/part_pkg.cgi:
+         promo codes and separate signup addresses for hdn
 
 2004-11-22 03:11  ivan
 
        * FS/FS/cust_svc.pm, FS/FS/rate.pm, FS/FS/rate_detail.pm,
          FS/FS/rate_prefix.pm, FS/FS/rate_region.pm,
          FS/t/part_pkg-voip_sqlradacct.t, FS/t/rate.t, FS/t/rate_detail.t,
-         FS/t/rate_prefix.t, FS/t/rate_region.t,
+         FS/t/rate_prefix.t, FS/t/rate_region.t, ANNOUNCE.1.5.0,
+         README.1.5.0pre7, SCHEMA_CHANGE,
          FS/FS/part_pkg/voip_sqlradacct.pm, FS/bin/freeside-setup,
          httemplate/browse/rate.cgi, httemplate/docs/schema.html,
-         httemplate/edit/part_pkg.cgi, httemplate/edit/rate.cgi,
-         httemplate/edit/rate_region.cgi,
+         httemplate/docs/upgrade10.html, httemplate/edit/part_pkg.cgi,
+         httemplate/edit/rate.cgi, httemplate/edit/rate_region.cgi,
          httemplate/edit/process/rate.cgi,
          httemplate/edit/process/rate_region.cgi, FS/FS.pm, FS/MANIFEST,
          FS/FS/part_export/sqlradius.pm, eg/table_template.pm,
-         htetc/handler.pl, httemplate/search/sqlradius.cgi,
+         htetc/global.asa, htetc/handler.pl,
+         httemplate/search/sqlradius.cgi,
          httemplate/search/sqlradius.html: first pass at VoIP rating
 
 2004-11-17 05:22  ivan
        * rt/sbin/rt-setup-database.in: merge in changes to
          rt-setup-database
 
-2004-11-11 04:13  ivan
-
-       * rt/: bin/mason_handler.fcgi.in, bin/mason_handler.scgi.in,
-         bin/rt.in, bin/rt-crontool.in, bin/webmux.pl.in, etc/acl.mysql:
-         import rt 3.0.12
+2004-11-11 04:11  ivan
 
-2004-11-11 04:10  ivan
-
-       * rt/: Makefile.in, configure, Changelog, configure.ac,
-         sbin/rt-test-dependencies.in, html/autohandler, html/index.html,
-         html/Ticket/History.html, html/Ticket/ModifyAll.html,
-         html/Ticket/Update.html, html/Ticket/ModifyDates.html,
-         html/Ticket/ModifyLinks.html,
-         html/Ticket/Elements/LoadTextAttachments,
-         html/Ticket/Elements/ShowRequestor,
-         html/Ticket/Elements/ShowTransaction,
-         html/Ticket/Elements/FindAttachments,
-         html/Ticket/Elements/ShowAttachments,
-         html/Ticket/Elements/ShowDates, html/Ticket/Elements/ShowHistory,
-         html/Approvals/index.html, html/Admin/Global/GroupRights.html,
-         html/Admin/Global/UserRights.html,
-         html/Admin/Groups/GroupRights.html,
-         html/Admin/Groups/Members.html, html/Admin/Groups/Modify.html,
-         html/Admin/Groups/UserRights.html, html/Admin/Groups/index.html,
-         html/Admin/Global/Template.html,
-         html/Admin/Queues/GroupRights.html,
-         html/Admin/Queues/Modify.html, html/Admin/Queues/Scrip.html,
-         html/Admin/Queues/Template.html,
-         html/Admin/Queues/UserRights.html,
-         html/Admin/Elements/EditCustomField,
-         html/Admin/Elements/EditScrip, html/Admin/Elements/EditTemplates,
-         html/Admin/Elements/UserTabs,
-         html/Admin/Elements/SelectNewGroupMembers,
-         html/SelfService/Prefs.html, html/Elements/MyRequests,
-         html/SelfService/Display.html, html/Elements/MessageBox,
-         html/Elements/QueryString, html/Elements/SelectMatch,
-         html/REST/1.0/Forms/ticket/default,
-         html/REST/1.0/NoAuth/mail-gateway, html/User/Delegation.html,
-         html/User/Groups/Members.html, html/User/Groups/Modify.html,
-         lib/RT.pm.in, lib/t/data/rt-send-cc, lib/RT/Template_Overlay.pm,
-         lib/RT/Date.pm, lib/RT/StyleGuide.pod,
-         lib/RT/Tickets_Overlay_SQL.pm, lib/RT/ACL_Overlay.pm,
-         lib/RT/Handle.pm, lib/RT/Templates_Overlay.pm,
-         lib/RT/EmailParser.pm, lib/RT/GroupMembers_Overlay.pm,
-         lib/RT/Tickets_Overlay.pm, lib/RT/Attachment_Overlay.pm,
-         lib/RT/CurrentUser.pm, lib/RT/Principal_Overlay.pm,
-         lib/RT/Scrip_Overlay.pm, lib/RT/Queue_Overlay.pm,
-         lib/RT/CachedGroupMembers_Overlay.pm, lib/RT/Link_Overlay.pm,
-         lib/RT/I18N/cs.po, lib/RT/I18N/pt_br.po, lib/RT/I18N/fr.po,
-         lib/RT/I18N/es.po, lib/RT/I18N/nl.po, lib/RT/I18N/hu.po,
-         lib/RT/I18N/it.po, lib/RT/I18N/no.po, lib/RT/I18N/da.po,
-         lib/RT/I18N/ru.po, lib/RT/I18N/de.po, lib/RT/I18N/ja.po,
-         lib/RT/I18N/zh_tw.po, lib/RT/I18N/he.po, lib/RT/I18N/fi.po,
-         lib/RT/I18N/zh_cn.po, lib/RT/Action/SendEmail.pm,
-         lib/RT/Action/EscalatePriority.pm, lib/RT/Interface/Email.pm,
-         lib/RT/Interface/Web.pm, lib/RT/Interface/Email/Auth/MailFrom.pm:
-         import rt 3.0.12
+       * rt/: html/Ticket/Elements/LoadTextAttachments,
+         html/Ticket/Elements/FindAttachments, html/Elements/QueryString,
+         lib/t/data/rt-send-cc, lib/RT/I18N/hu.po, lib/RT/I18N/da.po:
+         Initial revision
 
 2004-11-09 03:42  ivan
 
 
        * bin/rollback: adding in case this is needed again
 
+2004-11-07 14:58  ivan
+
+       * ANNOUNCE.1.5.0, httemplate/docs/install.html:  update install
+         documentation for 1.5 HTML::Mason or Apache::ASP install
+
+2004-10-30 17:01  ivan
+
+       * httemplate/search/cust_main-quickpay.html: quick pay shouldnt
+         default to exact search
+
 2004-10-26 05:36  ivan
 
        * Makefile: 1.5.0pre6!
 
 2004-10-26 05:33  ivan
 
-       * httemplate/docs/: index.html, overview-new.dia, overview-new.png,
-         schema.html: slightly more up-to-date docs
+       * ANNOUNCE.1.5.0, httemplate/docs/billing.html,
+         httemplate/docs/export.html, httemplate/docs/index.html,
+         httemplate/docs/overview-new.dia,
+         httemplate/docs/overview-new.png, httemplate/docs/schema.html,
+         httemplate/docs/selfservice.html: slightly more up-to-date docs
 
 2004-10-26 05:07  ivan
 
 
        * FS/FS/CGI.pm, FS/FS/Conf.pm, FS/FS/Record.pm, FS/FS/cust_main.pm,
          FS/FS/cust_pkg.pm, FS/FS/part_export.pm, FS/FS/part_pkg.pm,
-         FS/FS/part_pkg_option.pm, FS/FS.pm, FS/MANIFEST,
-         FS/bin/freeside-setup, FS/t/part_pkg-flat.t,
-         FS/t/part_pkg-flat_comission.t,
+         FS/FS/part_pkg_option.pm, ANNOUNCE.1.5.0, README.1.5.0pre6,
+         SCHEMA_CHANGE, FS/FS.pm, FS/MANIFEST, FS/bin/freeside-setup,
+         FS/t/part_pkg-flat.t, FS/t/part_pkg-flat_comission.t,
          FS/t/part_pkg-flat_comission_cust.t,
          FS/t/part_pkg-flat_comission_pkg.t, FS/t/part_pkg-flat_delayed.t,
          FS/t/part_pkg-prorate.t, FS/t/part_pkg-sesmon_hour.t,
          FS/t/part_pkg-sql_generic.t, FS/t/part_pkg-sqlradacct_hour.t,
          FS/t/part_pkg-subscription.t, FS/t/part_pkg_option.t,
          httemplate/browse/part_pkg.cgi, httemplate/docs/schema.html,
-         httemplate/edit/part_pkg.cgi, httemplate/view/cust_main.cgi,
-         FS/FS/part_pkg/flat.pm, FS/FS/part_pkg/flat_comission.pm,
+         httemplate/docs/upgrade10.html, httemplate/edit/part_pkg.cgi,
+         httemplate/view/cust_main.cgi, FS/FS/part_pkg/flat.pm,
+         FS/FS/part_pkg/flat_comission.pm,
          FS/FS/part_pkg/flat_comission_cust.pm,
          FS/FS/part_pkg/flat_comission_pkg.pm,
          FS/FS/part_pkg/flat_delayed.pm, FS/FS/part_pkg/prorate.pm,
 
 2004-10-18 05:37  ivan
 
-       * httemplate/: index.html, images/small-logo.png: that's right, a
-         new logo
+       * httemplate/: index.html, images/mid-logo.png,
+         images/small-logo.png: that's right, a new logo
 
 2004-10-17 07:01  ivan
 
 
 2004-10-17 02:19  ivan
 
-       * FS/FS/Conf.pm, FS/FS/cust_svc.pm,
-         FS/FS/part_export/artera_turbo.pm,
-         httemplate/view/svc_external.cgi: add options to adjust UI for
-         artera turbo as svc_export
+       * FS/FS/Conf.pm, FS/FS/cust_svc.pm, bin/populate-msgcat,
+         README.1.5.0pre6, FS/FS/part_export/artera_turbo.pm,
+         httemplate/docs/upgrade10.html, httemplate/view/svc_external.cgi:
+         add options to adjust UI for artera turbo as svc_export
 
 2004-10-16 03:15  ivan
 
-       * FS/: FS/Conf.pm, FS/part_export/artera_turbo.pm,
-         FS/svc_external.pm, bin/freeside-setup: add artera turbo export
+       * FS/FS/Conf.pm, FS/FS/part_export/artera_turbo.pm,
+         README.1.5.0pre6, FS/FS/svc_external.pm, FS/bin/freeside-setup,
+         httemplate/docs/upgrade10.html: add artera turbo export
 
 2004-10-12 22:46  ivan
 
          in the parent process, this cached the $dbdef and speeds things
          up significantly
 
+2004-10-05 04:38  ivan
+
+       * ANNOUNCE.1.5.0: [no log message]
+
 2004-09-22 04:28  ivan
 
        * httemplate/search/: cust_bill_event.html,
 
        * FS/FS/Record.pm: better error message for missing tables
 
+2004-07-06 10:27  ivan
+
+       * ANNOUNCE.1.5.0: new features
+
 2004-07-06 10:26  ivan
 
        * FS/FS/Conf.pm, FS/FS/cust_main.pm, FS/FS/cust_pay.pm,
 
 2004-07-06 06:26  ivan
 
-       * FS/FS.pm, FS/FS/cust_pay.pm, FS/FS/cust_pay_void.pm,
-         FS/t/cust_pay_void.t, FS/bin/freeside-setup,
-         httemplate/docs/schema.html, httemplate/misc/void-cust_pay.cgi:
-         add cust_pay_void table and payment voiding web ui part one
+       * README.1.5.0pre1, README.1.5.0pre6, FS/FS.pm, FS/FS/cust_pay.pm,
+         FS/FS/cust_pay_void.pm, FS/t/cust_pay_void.t,
+         FS/bin/freeside-setup, httemplate/docs/schema.html,
+         httemplate/docs/upgrade10.html,
+         httemplate/misc/void-cust_pay.cgi: add cust_pay_void table and
+         payment voiding web ui part one
 
 2004-07-06 01:43  ivan
 
-       * htetc/handler.pl: 0.32 (and then some) released
+       * htetc/: global.asa, handler.pl: 0.32 (and then some) released
 
 2004-07-01 06:49  ivan
 
 
 2004-06-28 21:02  ivan
 
-       * FS/FS.pm, FS/MANIFEST, FS/FS/cust_bill_pay.pm,
-         FS/FS/cust_credit_bill.pm, FS/FS/cust_credit_refund.pm,
-         FS/FS/cust_pay.pm, FS/FS/cust_pay_refund.pm,
-         FS/FS/cust_refund.pm, FS/bin/freeside-setup,
+       * ANNOUNCE.1.5.0, README.1.5.0pre6, FS/FS.pm, FS/MANIFEST,
+         FS/FS/cust_bill_pay.pm, FS/FS/cust_credit_bill.pm,
+         FS/FS/cust_credit_refund.pm, FS/FS/cust_pay.pm,
+         FS/FS/cust_pay_refund.pm, FS/FS/cust_refund.pm,
+         FS/bin/freeside-setup, httemplate/docs/upgrade10.html,
          httemplate/view/cust_main.cgi, FS/t/cust_pay_refund.t,
          httemplate/edit/cust_bill_pay.cgi,
          httemplate/edit/process/cust_bill_pay.cgi: add cust_pay_refund
        * FS/FS/cust_bill.pm: forgotten space in typeset invoice credit
          lines
 
+2004-06-22 18:23  ivan
+
+       * httemplate/docs/upgrade10.html: escape html
+
 2004-06-21 20:12  ivan
 
        * Makefile: snapshot before schema changes
          fix: avoid newline prepend fix from borking indented first <%,
          fixes customer search by otaker under mason, closes: Bug#830
 
+2004-06-18 03:07  ivan
+
+       * httemplate/docs/install.html: recommend HTML::Mason
+
 2004-06-17 05:32  ivan
 
        * FS/FS/part_export/: www_shellcommands.pm, apache.pm: add
 
 2004-06-15 06:27  ivan
 
-       * fs_selfservice/FS-SelfService/cgi/: passwd.cgi, passwd.html:
-         moving passwd cgi to self-service
+       * fs_passwd/fs_passwd.cgi, fs_passwd/fs_passwd.html,
+         fs_selfservice/FS-SelfService/cgi/passwd.cgi,
+         fs_selfservice/FS-SelfService/cgi/passwd.html: moving passwd cgi
+         to self-service
 
 2004-06-15 03:59  ivan
 
 
 2004-06-11 06:44  ivan
 
-       * httemplate/search/report_tax.cgi: tax report!
+       * FS/bin/freeside-tax-report, httemplate/search/report_tax.cgi: tax
+         report!
 
 2004-06-11 00:37  ivan
 
 
        * Makefile: need this entry for myself though!
 
+2004-06-09 00:17  ivan
+
+       * httemplate/docs/install.html: explicitly specify Apache
+         httpd.conf.  fear.
+
 2004-06-05 05:01  ivan
 
        * Makefile: AND set its owner.  whew.
 
 2004-05-26 11:59  ivan
 
-       * FS/FS/cust_bill.pm: require the version of File::Temp with the OO
-         interface
+       * FS/FS/cust_bill.pm, httemplate/docs/upgrade-1.4.2.html: require
+         the version of File::Temp with the OO interface
 
 2004-05-26 06:07  ivan
 
        * httemplate/: index.html, search/svc_www.cgi: vary basic virtual
          host browse
 
+2004-05-10 16:16  ivan
+
+       * httemplate/docs/upgrade10.html: fix sequences in upgrade docs?
+
 2004-05-10 06:46  ivan
 
        * FS/FS/part_export/shellcommands_withdomain.pm: fix ISPMan
        * httemplate/search/cust_bill.html: handle missing customer records
          without erroring out
 
+2004-04-30 20:54  ivan
+
+       * htetc/global.asa: very weird 5.005 problem
+
 2004-04-30 14:58  ivan
 
        * FS/FS/Record.pm: accept empty zips for non-US countries...
 
 2004-04-23 06:15  ivan
 
-       * FS/MANIFEST, httemplate/index.html: add link to new credit report
-         on main menu, remove old obsolete shell-out reports
+       * FS/MANIFEST, FS/bin/freeside-cc-receipts-report,
+         FS/bin/freeside-credit-report, httemplate/index.html,
+         httemplate/search/report_cc.cgi,
+         httemplate/search/report_cc.html,
+         httemplate/search/report_credit.cgi,
+         httemplate/search/report_credit.html: add link to new credit
+         report on main menu, remove old obsolete shell-out reports
 
 2004-04-23 05:50  ivan
 
-       * Makefile: fix up includes with Apache::ASP
+       * Makefile, htetc/global.asa: fix up includes with Apache::ASP
 
 2004-04-23 05:19  ivan
 
        * FS/FS/cust_credit.pm, FS/FS/Report/Table/Monthly.pm,
+         httemplate/graph/money_time-graph.cgi,
          httemplate/graph/money_time.cgi,
          httemplate/search/cust_bill.html,
          httemplate/search/cust_credit.html,
 
        * httemplate/elements/pager.html: silly pager fix
 
+2004-04-22 00:27  ivan
+
+       * httemplate/docs/: install.html, upgrade10.html: minor doc updates
+
 2004-04-22 00:07  ivan
 
        * httemplate/search/report_cust_credit.html: initial copy from
 
        * Makefile: properly disable RT where not using
 
+2004-04-09 15:29  ivan
+
+       * fs_passwd/fs_passwd.cgi: oops, this one too
+
+2004-04-09 15:28  ivan
+
+       * fs_passwd/fs_passwd.html: fs_passwd.cgi
+
 2004-04-08 05:37  ivan
 
        * Makefile: fix psql command line options for older pg
 
 2004-04-08 05:05  ivan
 
-       * rt/sbin/rt-setup-database.in: remove accidentally doubled lines
-         in usage inst
+       * rt/sbin/: rt-setup-database, rt-setup-database.in: remove
+         accidentally doubled lines in usage inst
 
 2004-04-08 05:00  ivan
 
        * Makefile, htetc/handler.pl, rt/FREESIDE_MODIFIED,
-         rt/etc/RT_SiteConfig.pm, rt/sbin/rt-setup-database.in: beginning
-         of RT integration
+         rt/etc/RT_SiteConfig.pm, rt/sbin/rt-setup-database,
+         rt/sbin/rt-setup-database.in: beginning of RT integration
 
 2004-04-07 22:53  ivan
 
 
 2004-04-05 02:08  ivan
 
-       * htetc/handler.pl, httemplate/misc/whois.cgi,
+       * htetc/global.asa, htetc/handler.pl, httemplate/docs/install.html,
+         httemplate/docs/upgrade-1.4.2.html, httemplate/misc/whois.cgi,
          httemplate/view/svc_domain.cgi: add whois functionality
          internally instead of linking to geektools
 
 
        * httemplate/view/cust_main.cgi: comment out extraneous warning
 
+2004-04-02 16:45  ivan
+
+       * httemplate/search/cust_bill.cgi: UI: stop making things small for
+         no reason
+
 2004-04-02 05:44  ivan
 
-       * htetc/handler.pl, httemplate/view/cust_bill-pdf.cgi: remove
-         Pragma:no-cache header, and set Content-Length and Cache-Control
-         for viewing .pdf invoices with IE over SSL.
+       * htetc/global.asa, htetc/handler.pl,
+         httemplate/view/cust_bill-pdf.cgi: remove Pragma:no-cache header,
+         and set Content-Length and Cache-Control for viewing .pdf
+         invoices with IE over SSL.
          http://support.microsoft.com/default.aspx?scid=kb;en-us;323308
 
 2004-04-02 03:23  ivan
        * FS/FS/part_export/www_shellcommands.pm: fix paths to ispman
          commands
 
+2004-04-01 03:14  ivan
+
+       * httemplate/browse/part_referral.cgi: remove extraneous html
+
+2004-04-01 03:09  ivan
+
+       * httemplate/browse/part_referral.cgi: oops!
+
+2004-04-01 02:56  ivan
+
+       * httemplate/browse/part_referral.cgi: add a yesterday column and a
+         total row, closes: Bug#797
+
 2004-03-31 16:44  ivan
 
        * FS/: FS/cust_main_county.pm, bin/freeside-setup: get
          sub-countries from Locale::SubCountry now
 
+2004-03-30 09:13  ivan
+
+       * httemplate/docs/upgrade10.html: little more explanation about
+         editing Pg dumps
+
 2004-03-30 08:43  ivan
 
        * FS/FS/cust_main.pm: mutex the bill and collect functions
        * httemplate/view/: cust_main.cgi: small UI fix for unapplied
          partial credits
 
+2004-03-22 19:36  ivan
+
+       * htetc/global.asa: make Apache::ASP includes work as expected
+
+2004-03-22 19:31  ivan
+
+       * htetc/global.asa: includes fix
+
+2004-03-22 19:29  ivan
+
+       * htetc/global.asa, httemplate/docs/install.html,
+         httemplate/docs/upgrade10.html: includes with Apache::ASP
+
 2004-03-22 16:06  ivan
 
        * FS/FS/cust_main.pm, FS/FS/ClientAPI/MyAccount.pm,
-         htetc/handler.pl, httemplate/elements/small_custview.html,
+         htetc/global.asa, htetc/handler.pl,
+         httemplate/elements/small_custview.html,
          httemplate/misc/payment.cgi, httemplate/misc/process/payment.cgi,
          httemplate/view/cust_main.cgi: one-time credit card and ACH
          payments (like self-service) closes: Bug#648
 
 2004-03-22 02:16  ivan
 
-       * httemplate/view/cust_main.cgi: yay!  remove package view entirely
-         (closes: Bug#569)
+       * httemplate/: misc/expire_pkg.cgi, misc/process/expire_pkg.cgi,
+         view/cust_main.cgi: yay!  remove package view entirely (closes:
+         Bug#569)
 
 2004-03-21 18:59  ivan
 
 
 2004-03-17 13:47  ivan
 
-       * FS/FS/: ClientAPI/MyAccount.pm, svc_acct.pm, ClientAPI/passwd.pm:
-         proper self-service login supporting plaintext, crypt and MD5
-         passwords
+       * FS/FS/ClientAPI/MyAccount.pm, FS/FS/svc_acct.pm,
+         FS/FS/ClientAPI/passwd.pm, httemplate/docs/install.html,
+         httemplate/docs/upgrade-1.4.2.html: proper self-service login
+         supporting plaintext, crypt and MD5 passwords
 
 2004-03-16 12:41  ivan
 
 
 2004-03-15 22:58  ivan
 
-       * rt/: FREESIDE_MODIFIED, config.layout.in: config.layout needs to
-         be generated
+       * rt/: FREESIDE_MODIFIED, config.layout, config.layout.in:
+         config.layout needs to be generated
 
 2004-03-15 22:45  ivan
 
 
 2004-03-15 22:43  ivan
 
-       * rt/FREESIDE_MODIFIED: initial (hopefully rather unobtrusive)
-         patch
+       * rt/: FREESIDE_MODIFIED, sbin/rt-setup-database: initial
+         (hopefully rather unobtrusive) patch
 
 2004-03-15 20:36  ivan
 
 
        * httemplate/graph/money_time.cgi: fix title
 
+2004-03-12 04:10  ivan
+
+       * httemplate/docs/upgrade10.html: add history tables to field
+         change upgrade instructions, add hints for pre-5.6 perl, add
+         index on cust_pay._date
+
 2004-03-12 02:22  ivan
 
        * httemplate/index.html: add badly-named new report
 
+2004-03-12 02:19  ivan
+
+       * httemplate/docs/upgrade-1.4.2.html: few more 1.4.2 upgrade hints
+
 2004-03-12 00:56  ivan
 
        * FS/FS/Report/Table/Monthly.pm: don't run my local expenses kludge
        * FS/FS/cust_main.pm: emaildecline-exclude skips any errors that
          contain the strings now, not just match exactly
 
+2004-03-11 21:58  ivan
+
+       * httemplate/docs/upgrade10.html: document trouble schema changes
+         backported to 1.4.2
+
+2004-03-11 21:49  ivan
+
+       * httemplate/docs/upgrade10.html: remove comment
+
+2004-03-11 13:35  ivan
+
+       * httemplate/docs/upgrade10.html: add info for ancient Pg versions
+
 2004-03-11 13:19  ivan
 
        * conf/logo.eps: oops, wrong logo
 
 2004-03-10 23:33  ivan
 
-       * fs_passwd/fs_passwd: update fs_passwd stuff as wrappers around
+       * fs_passwd/: fs_passwd, fs_passwd.cgi, fs_passwd_server,
+         fs_passwdd: update fs_passwd stuff as wrappers around
          self-service
 
 2004-03-10 20:17  ivan
 
        * FS/MANIFEST: incorrect listing in MANIFEST
 
-2004-03-10 18:05  ivan
-
-       * rt/autom4te.cache/: output.0, traces.0: import of rt 3.0.9
+2004-03-10 18:03  ivan
 
-2004-03-10 18:02  ivan
-
-       * rt/: lib/RT/I18N/de.po, lib/RT/I18N/it.po, lib/RT/I18N/ru.po,
-         lib/RT/I18N/zh_cn.po, lib/RT/I18N/zh_tw.po,
-         lib/RT/Interface/Email.pm, lib/RT/Interface/REST.pm,
-         lib/RT/Interface/Web.pm, lib/RT/URI/fsck_com_rt.pm,
-         lib/t/data/crashes-file-based-parser,
-         lib/t/data/multipart-report, lib/t/data/notes-uuencoded,
-         sbin/extract-message-catalog, sbin/factory, sbin/license_tag,
-         sbin/rt-test-dependencies.in: import of rt 3.0.9
+       * rt/lib/: RT/I18N/it.po, RT/Interface/REST.pm,
+         t/data/crashes-file-based-parser, t/data/multipart-report,
+         t/data/notes-uuencoded: Initial revision
 
 2004-03-10 17:59  ivan
 
-       * rt/: Makefile.in, README, README.Oracle, UPGRADING, configure,
-         configure.ac, Changelog, bin/mason_handler.fcgi.in,
-         bin/mason_handler.scgi.in, bin/mason_handler.svc.in,
-         bin/rt-crontool.in, bin/rt-mailgate.in, bin/rt.in,
-         bin/webmux.pl.in, docs/rt3-schema-relationships.dot,
-         etc/acl.Informix, etc/acl.Oracle, etc/constraints.mysql,
-         etc/drop.Informix, etc/drop.Oracle, etc/initialdata,
-         etc/schema.Informix, etc/schema.SQLite, etc/schema.mysql,
-         html/autohandler, html/index.html,
-         html/Admin/Elements/EditCustomField,
-         html/Admin/Elements/EditCustomFieldValues,
-         html/Admin/Elements/EditCustomFields,
-         html/Admin/Elements/EditScrip, html/Admin/Elements/EditScrips,
-         html/Admin/Elements/SelectGroups,
-         html/Admin/Elements/SelectRights,
-         html/Admin/Elements/SelectStage,
-         html/Admin/Queues/CustomFields.html,
-         html/Admin/Queues/index.html, html/Admin/Users/index.html,
-         html/Approvals/Display.html, html/Elements/Callback,
-         html/Elements/MessageBox, html/Elements/MyTickets,
-         html/Elements/SelectLang, html/Elements/SelectStatus,
-         html/Elements/SelectWatcherType,
-         html/Elements/SetupSessionCookie, html/REST/1.0/autohandler,
-         html/REST/1.0/dhandler, html/REST/1.0/logout,
-         html/REST/1.0/Forms/queue/default, html/REST/1.0/Forms/queue/ns,
+       * rt/: README.Oracle, UPGRADING, bin/rt.in,
+         docs/rt3-schema-relationships.dot, etc/acl.Informix,
+         etc/drop.Informix, etc/drop.Oracle, etc/schema.Informix,
+         html/Admin/Elements/SelectStage, html/Elements/SelectLang,
+         html/REST/1.0/autohandler, html/REST/1.0/dhandler,
+         html/REST/1.0/logout, html/REST/1.0/Forms/queue/default,
+         html/REST/1.0/Forms/queue/ns,
          html/REST/1.0/Forms/ticket/attachments,
          html/REST/1.0/Forms/ticket/default,
          html/REST/1.0/Forms/ticket/history,
          html/REST/1.0/Forms/ticket/links,
          html/REST/1.0/Forms/user/default, html/REST/1.0/Forms/user/ns,
-         html/REST/1.0/NoAuth/mail-gateway, html/REST/1.0/search/dhandler,
-         html/REST/1.0/search/ticket, html/REST/1.0/ticket/comment,
-         html/REST/1.0/ticket/link, html/REST/1.0/ticket/merge,
-         html/SelfService/Display.html, html/SelfService/Update.html,
-         html/SelfService/Elements/MyRequests, html/Ticket/Modify.html,
-         html/Ticket/ModifyAll.html, html/Ticket/ModifyPeople.html,
-         html/Ticket/Update.html, html/Ticket/Attachment/dhandler,
-         html/Ticket/Elements/AddWatchers,
-         html/Ticket/Elements/EditCustomField,
-         html/Ticket/Elements/EditPeople,
-         html/Ticket/Elements/ShowAttachments,
-         html/Ticket/Elements/ShowDates, html/Ticket/Elements/ShowHistory,
-         html/Ticket/Elements/ShowMessageStanza,
-         html/Ticket/Elements/ShowPeople,
-         html/Ticket/Elements/ShowTransaction, lib/RT.pm.in,
-         lib/RT/Attachment_Overlay.pm, lib/RT/Base.pm,
-         lib/RT/CachedGroupMember_Overlay.pm,
-         lib/RT/CachedGroupMembers_Overlay.pm, lib/RT/CurrentUser.pm,
-         lib/RT/CustomField_Overlay.pm, lib/RT/EmailParser.pm,
-         lib/RT/GroupMember_Overlay.pm, lib/RT/Group_Overlay.pm,
-         lib/RT/Handle.pm, lib/RT/I18N.pm, lib/RT/Principal_Overlay.pm,
-         lib/RT/Queue_Overlay.pm, lib/RT/ScripAction_Overlay.pm,
-         lib/RT/Scrip_Overlay.pm, lib/RT/Scrips_Overlay.pm,
-         lib/RT/StyleGuide.pod, lib/RT/Template_Overlay.pm,
-         lib/RT/Tickets_Overlay.pm, lib/RT/Tickets_Overlay_SQL.pm,
-         lib/RT/URI.pm, lib/RT/Action/AutoOpen.pm,
-         lib/RT/Action/Autoreply.pm, lib/RT/Action/CreateTickets.pm,
-         lib/RT/Action/SendEmail.pm, lib/RT/I18N/cs.pm: import of rt 3.0.9
+         html/REST/1.0/search/dhandler, html/REST/1.0/search/ticket,
+         html/REST/1.0/ticket/comment, html/REST/1.0/ticket/link,
+         html/REST/1.0/ticket/merge, lib/RT/StyleGuide.pod: Initial
+         revision
 
 2004-03-10 17:05  ivan
 
 
        * httemplate/browse/router.cgi: UI cleanup.
 
+2004-03-05 16:57  ivan
+
+       * httemplate/docs/upgrade10.html: doc
+
 2004-03-05 06:34  ivan
 
        * FS/MANIFEST, FS/FS/Report.pm, FS/FS/Report/Table.pm,
          FS/FS/Report/Table/Monthly.pm, FS/t/Report-Table-Monthly.t,
-         FS/t/Report-Table.t, FS/t/Report.t, htetc/handler.pl,
+         FS/t/Report-Table.t, FS/t/Report.t, htetc/global.asa,
+         htetc/handler.pl, httemplate/graph/money_time-graph.cgi,
          httemplate/graph/money_time.cgi: beginning of OO reporting
          interface, create acadia-requested crosstab reports
 
 
        * CREDITS: credit where the typeset invoices came from!
 
+2004-02-28 14:43  ivan
+
+       * htetc/global.asa, httemplate/docs/install.html,
+         httemplate/docs/upgrade-1.4.2.html: Apache::ASP 2.55 required
+
 2004-02-28 14:40  ivan
 
        * httemplate/edit/process/cust_main_county-collapse.cgi: style
 
+2004-02-28 14:40  ivan
+
+       * httemplate/edit/process/cust_main_county.cgi: new setuptax and
+         recurtax fields
+
 2004-02-28 14:26  ivan
 
        * FS/FS/Record.pm: depend on DBIx::DBSchema 0.23 and thus DBD::Pg
 
        * FS/FS/CGI.pm: query strings get passed through sometimes?
 
+2004-02-24 19:50  ivan
+
+       * httemplate/docs/install.html: formatting
+
 2004-02-23 00:12  ivan
 
        * FS/FS/: svc_acct.pm, part_export.pm, svc_Common.pm: implement
 
        * bin/sendmail.import: it lives!
 
+2004-02-13 03:44  ivan
+
+       * httemplate/docs/upgrade10.html: workaround for older Pg
+
 2004-02-13 03:28  ivan
 
        * httemplate/: index.html, search/svc_forward.cgi,
 
 2004-02-13 02:57  ivan
 
-       * FS/bin/freeside-setup: continue adding svc_forward.src: make
-         svc_forward.srcsvc nullable
+       * FS/bin/freeside-setup, httemplate/docs/upgrade10.html: continue
+         adding svc_forward.src: make svc_forward.srcsvc nullable
 
 2004-02-13 02:35  ivan
 
        * FS/FS/svc_forward.pm, FS/bin/freeside-setup,
-         httemplate/docs/schema.html: add svc_forward.src
+         httemplate/docs/schema.html, httemplate/docs/upgrade10.html: add
+         svc_forward.src
 
 2004-02-13 00:02  ivan
 
 
 2004-02-11 22:31  ivan
 
-       * htetc/handler.pl, httemplate/misc/email-invoice.cgi,
+       * htetc/global.asa, htetc/handler.pl,
+         httemplate/misc/email-invoice.cgi,
          httemplate/misc/print-invoice.cgi, httemplate/view/cust_bill.cgi:
          re-email invoice, closes: bug#526 and have print and email
          invoice links redirect back to top of customer view page instead
        * FS/FS/part_pkg.pm, FS/FS/pkg_svc.pm,
          httemplate/browse/part_pkg.cgi, httemplate/edit/part_pkg.cgi,
          httemplate/edit/process/part_pkg.cgi, FS/bin/freeside-setup,
-         htetc/handler.pl, httemplate/docs/schema.html: add
-         pkg_svc.primary_svc flag to enable an explicit first package flag
+         htetc/global.asa, htetc/handler.pl, httemplate/docs/schema.html,
+         httemplate/docs/upgrade-1.4.2.html,
+         httemplate/docs/upgrade10.html: add pkg_svc.primary_svc flag to
+         enable an explicit first package flag
 
 2004-01-30 22:20  ivan
 
        * FS/FS/Record.pm: add ut_snumber, fix replacement of records with
          empty values in non-primary-keyed tables
 
+2004-01-30 12:40  ivan
+
+       * httemplate/docs/upgrade-1.4.2.html: not appropriate
+
 2004-01-29 19:58  ivan
 
        * FS/FS/part_export.pm: add default freebsd and linux
        * httemplate/: index.html, misc/dump.cgi: add database dump from
          web interface
 
+2004-01-19 15:21  ivan
+
+       * httemplate/docs/upgrade-1.4.2.html: typeset invoice doc update
+
 2004-01-18 13:03  ivan
 
        * FS/FS/Record.pm: revert bind_param change _again_.  passing not
        * FS/FS/cust_bill.pm: apply variable substitutions in latex notes
          also
 
+2004-01-12 12:52  ivan
+
+       * httemplate/docs/upgrade10.html: add IPC::ShareLite and
+         Locale::SubCountry
+
+2004-01-12 12:52  ivan
+
+       * httemplate/docs/upgrade-1.4.2.html: add IPC::ShareLite
+
 2004-01-12 12:40  khoff
 
        * httemplate/edit/part_virtual_field.cgi: Lists are just better
 
 2003-12-27 00:23  ivan
 
-       * httemplate/: index.html, search/cust_pkg.cgi: package reports by
-         agent
+       * httemplate/: index.html, search/cust_pkg.cgi,
+         search/cust_pkg.html, search/cust_pkg_report.cgi: package reports
+         by agent
 
 2003-12-24 10:18  khoff
 
 2003-12-22 18:36  ivan
 
        * FS/MANIFEST, FS/FS/part_export.pm, FS/t/svc_broadband.t,
-         FS/t/svc_external.t, htetc/handler.pl,
+         FS/t/svc_external.t, htetc/global.asa, htetc/handler.pl,
          httemplate/edit/part_svc.cgi, httemplate/edit/svc_external.cgi,
          httemplate/edit/process/svc_external.cgi,
          httemplate/view/svc_external.cgi: add svc_external
 
 2003-12-22 17:46  ivan
 
-       * FS/: FS.pm, FS/svc_external.pm, bin/freeside-setup,
-         FS/cust_svc.pm: add svc_external
+       * FS/FS.pm, FS/FS/svc_external.pm, FS/bin/freeside-setup,
+         httemplate/docs/upgrade10.html, FS/FS/cust_svc.pm: add
+         svc_external
 
 2003-12-22 17:10  ivan
 
        * FS/FS/: Conf.pm, cust_main.pm: allow_negative_charges config
          option
 
+2003-12-22 13:37  ivan
+
+       * httemplate/browse/cust_pay_batch.cgi: add total cards & amount to
+         pending batch screen
+
 2003-12-22 13:22  ivan
 
        * FS/FS/cust_main.pm: default to the whole-country tax rate if
        * FS/bin/freeside-addoutsourceuser: add outsourced databases with
          both addresses by default
 
+2003-12-19 19:47  ivan
+
+       * httemplate/browse/part_referral.cgi: fix inflated advertising
+         source numbers
+
 2003-12-15 00:08  ivan
 
        * conf/invoice_latex: line up w/window envelopes
 
 2003-12-10 14:51  ivan
 
-       * FS/bin/freeside-setup: add part_referral.disabled, add disabled
-         indices to agent and part_bill_event
+       * FS/bin/freeside-setup, httemplate/docs/upgrade10.html: add
+         part_referral.disabled, add disabled indices to agent and
+         part_bill_event
 
 2003-12-10 14:50  ivan
 
 
 2003-11-19 04:21  ivan
 
-       * httemplate/: edit/REAL_cust_pkg.cgi, search/report_cust_pay.html,
-         search/report_tax.html: fix jscalendar date ifFormat
+       * httemplate/: edit/REAL_cust_pkg.cgi, search/cust_pkg.html,
+         search/report_cc.html, search/report_credit.html,
+         search/report_cust_pay.html, search/report_tax.html: fix
+         jscalendar date ifFormat
 
 2003-11-18 17:37  ivan
 
          FS/part_export/communigate_pro_singledomain.pm, MANIFEST,
          FS/part_export.pm: add communigate_pro_singledomain export
 
+2003-11-18 03:17  ivan
+
+       * httemplate/docs/install.html: remove thread/PerlIO warning -
+         standard in 5.8.x and working fine
+
 2003-11-14 23:28  ivan
 
        * FS/bin/freeside-selfservice-server: kill off ssh process when
        * FS/FS/svc_Common.pm: simple change to cust_svc creation to help
          imports with svcnums
 
+2003-11-11 00:35  ivan
+
+       * httemplate/browse/part_referral.cgi: really fix advertising
+         source edit links
+
 2003-11-11 00:01  ivan
 
        * httemplate/search/report_receivables.cgi: remove spaces between
 
 2003-11-10 23:51  ivan
 
-       * httemplate/browse/svc_acct_pop.cgi: part_referral.cgi
+       * httemplate/browse/: part_referral.cgi, svc_acct_pop.cgi:
+         part_referral.cgi
 
 2003-11-10 05:54  ivan
 
        * httemplate/: index.html, search/report_receivables.cgi: "current
          receivables" -> A/R Aging summary
 
+2003-11-06 05:37  ivan
+
+       * FS/bin/freeside-receivables-report: removing (rewritten as a
+         proper html report)
+
 2003-11-05 03:13  ivan
 
        * bin/create-fetchmailrc: fixup
        * httemplate/browse/part_pkg.cgi: also show suspended and canceled
          counts on active package browse
 
+2003-10-26 09:30  ivan
+
+       * httemplate/search/cust_main-quickpay.html: default quickpay to
+         exact search
+
 2003-10-25 17:39  ivan
 
        * httemplate/search/: cust_pay.cgi, report_cust_pay.html: payment
 
        * FS/FS/ClientAPI/Signup.pm, httemplate/edit/cust_main.cgi,
          httemplate/edit/process/cust_main.cgi, httemplate/docs/cvv2.html,
-         FS/FS/cust_main.pm, FS/bin/freeside-setup,
-         httemplate/docs/schema.html: cvv!
+         httemplate/docs/upgrade10.html, FS/FS/cust_main.pm,
+         FS/bin/freeside-setup, httemplate/docs/schema.html: cvv!
 
 2003-10-23 22:51  ivan
 
        * httemplate/images/: cvv2.png, cvv2_amex.png: adding cvv2 images
 
+2003-10-23 17:50  ivan
+
+       * httemplate/browse/part_referral.cgi: UI: adjust alignment of
+         stats
+
+2003-10-23 17:39  ivan
+
+       * httemplate/browse/part_referral.cgi: referral listing now shows
+         customer signups today and past week/30/60/90/6months/year/total
+
+2003-10-23 15:37  ivan
+
+       * bin/dbdef-create: require DBIx::DBSchema 0.22 to deal with Pg
+         version problems
+
 2003-10-23 02:02  ivan
 
        * httemplate/docs/legacy.html: fix cranky verbitage at the top
 2003-10-19 21:25  ivan
 
        * FS/FS/cust_main.pm, FS/FS/part_pkg.pm,
-         httemplate/edit/part_pkg.cgi, FS/bin/freeside-setup: daily/weekly
-         billing
+         httemplate/edit/part_pkg.cgi, httemplate/docs/upgrade10.html,
+         FS/bin/freeside-setup: daily/weekly billing
+
+2003-10-19 11:08  ivan
+
+       * httemplate/docs/install.html: fix CPAN link
 
 2003-10-16 15:57  khoff
 
        * FS/FS/part_export/router.pm: Telnet/SSH router export for
          svc_broadband.
 
+2003-10-16 06:48  ivan
+
+       * httemplate/docs/billing.html: fix Text::Template link
+
 2003-10-15 16:17  khoff
 
        * httemplate/browse/router.cgi: $router isn't a global.
 
        * FS/FS/cust_pay_batch.pm: parse last line from TD Canada Trust
 
+2003-10-09 04:05  ivan
+
+       * httemplate/docs/install.html: don't install on a public server!
+
 2003-10-07 21:09  ivan
 
-       * htetc/handler.pl, httemplate/misc/upload-batch.cgi: can't use
+       * htetc/global.asa, htetc/handler.pl,
+         httemplate/misc/upload-batch.cgi: can't use
          File::Basename::basename for windows filenames!  use a regex
          instead
 
        * FS/FS/part_export/communigate_pro.pm: add suspension /
          unsuspension export to communigate
 
+2003-10-06 05:05  ivan
+
+       * httemplate/search/cust_main-quickpay.html: - put link to main
+         menu on quick payment search page
+
 2003-10-06 04:39  ivan
 
        * httemplate/search/svc_acct.cgi: fix URL argument processing for
 
        * FS/FS/agent.pm: no duplicate usernames
 
+2003-09-30 07:58  ivan
+
+       * httemplate/docs/upgrade10.html: agent schema changes
+
 2003-09-30 05:48  ivan
 
        * httemplate/misc/download-batch.cgi: IE doesn't like downloading
          httemplate/elements/calendar-win2k-2.css,
          httemplate/elements/calendar.js,
          httemplate/elements/calendar_stripped.js,
-         httemplate/images/calendar.png,
+         httemplate/images/calendar.png, httemplate/search/cust_pkg.html,
+         httemplate/search/report_cc.html,
+         httemplate/search/report_credit.html,
          httemplate/search/report_cust_pay.html,
          httemplate/search/report_tax.html: calendar popups!
 
 2003-09-30 00:04  ivan
 
-       * htetc/handler.pl: CGI.pm 2.47 required for ->upload() method
+       * htetc/global.asa, htetc/handler.pl,
+         httemplate/docs/upgrade-1.4.2.html: CGI.pm 2.47 required for
+         ->upload() method
 
 2003-09-29 03:10  ivan
 
 
 2003-09-27 19:36  ivan
 
-       * FS/FS/cust_pay_batch.pm, htetc/handler.pl,
+       * FS/FS/cust_pay_batch.pm, htetc/global.asa, htetc/handler.pl,
+         httemplate/browse/cust_pay_batch.cgi,
          httemplate/misc/upload-batch.cgi: add upload of batch result from
          TD Canada Trust some global.asa / handler.pl enhancements
 
 
        * httemplate/edit/svc_acct.cgi: $field isn't a global.
 
+2003-09-26 06:37  ivan
+
+       * httemplate/docs/upgrade10.html: sql
+
 2003-09-26 06:04  ivan
 
        * FS/: FS/cust_main.pm, bin/freeside-daily: re-setup option to
 
 2003-09-26 01:11  ivan
 
-       * httemplate/browse/cust_main_county.cgi: fix tax edit UI
+       * httemplate/: browse/cust_main_county.cgi,
+         edit/cust_main_county.cgi: fix tax edit UI
+
+2003-09-25 04:56  ivan
+
+       * httemplate/docs/upgrade10.html: new per-tax setuptax and recurtax
+         fields
 
 2003-09-25 04:49  ivan
 
-       * httemplate/browse/cust_main_county.cgi: UI for multiple named
-         taxes w/setup & recur exemptions 1.4 schema-auto-adjusting
-         backport
+       * httemplate/: browse/cust_main_county.cgi,
+         edit/cust_main_county.cgi: UI for multiple named taxes w/setup &
+         recur exemptions 1.4 schema-auto-adjusting backport
 
 2003-09-25 04:17  ivan
 
 
        * FS/FS/ClientAPI/MyAccount.pm: quiet self-service server cancels
 
+2003-09-25 02:40  ivan
+
+       * httemplate/docs/upgrade-1.4.2.html: 1.4.2 upgrade
+
+2003-09-25 02:39  ivan
+
+       * httemplate/docs/upgrade9.html: update upgrade docs for bind
+         exports
+
 2003-09-24 10:20  ivan
 
        * FS/FS/part_export/shellcommands.pm: don't change dir either when
 
        * httemplate/misc/download-batch.cgi: preliminary batch download
 
+2003-09-20 18:22  ivan
+
+       * httemplate/browse/cust_pay_batch.cgi: add link to preliminary
+         batch download
+
 2003-09-19 05:40  ivan
 
        * FS/FS/cust_main.pm: quiet option to cancel method
        * FS/FS/CGI.pm, bin/masonize, httemplate/index.html,
          httemplate/elements/header.html,
          httemplate/elements/menubar.html, httemplate/elements/pager.html,
-         httemplate/elements/table.html, httemplate/search/sql.html,
+         httemplate/elements/table.html, httemplate/search/sql.cgi,
+         httemplate/search/sql.html,
          httemplate/search/elements/search.html: - (finish) includes!
          (closes: Bug#551) - (finish) moving SQL search to including
          generic elements/search.html - new elements: menubar.html,
 
 2003-08-07 19:02  ivan
 
-       * bin/masonize, httemplate/autohandler,
+       * bin/masonize, htetc/global.asa, httemplate/autohandler,
+         httemplate/graph/money_time-graph.cgi,
          httemplate/graph/money_time.cgi, httemplate/search/sql.html,
          httemplate/search/elements/search.html: - fix Mason profiling to
          pass-through images (for graph/) - fix graph/money-time.cgi use
 
 2003-08-07 06:08  ivan
 
-       * htetc/handler.pl, httemplate/view/cust_main.cgi: - turn on
-         profiling with mason like with Apache::ASP (redirects now
-         working) - fix mason error with new view/cust_main.cgi UI
+       * htetc/global.asa, htetc/handler.pl,
+         httemplate/view/cust_main.cgi: - turn on profiling with mason
+         like with Apache::ASP (redirects now working) - fix mason error
+         with new view/cust_main.cgi UI
 
 2003-08-07 05:47  ivan
 
-       * Makefile, htetc/handler.pl, httemplate/autohandler,
-         httemplate/index.html: - switch to mason by default - minimum
-         mason version 1.1 (and doc) - evaluate .html files with mason/asp
-         - turn on profiling with mason like with Apache::ASP (redirects
-         not working) - (start of) includes
+       * Makefile, htetc/global.asa, htetc/handler.pl,
+         htetc/handler.pl-1.0x, httemplate/autohandler,
+         httemplate/index.html, httemplate/docs/install.html,
+         httemplate/docs/upgrade10.html: - switch to mason by default -
+         minimum mason version 1.1 (and doc) - evaluate .html files with
+         mason/asp - turn on profiling with mason like with Apache::ASP
+         (redirects not working) - (start of) includes
 
 2003-08-05 14:00  ivan
 
 
 2003-08-05 13:06  ivan
 
-       * htetc/handler.pl: no svc_acct_sm in 1.5
+       * htetc/: handler.pl, handler.pl-1.0x: no svc_acct_sm in 1.5
 
 2003-08-05 12:07  ivan
 
          FS/FS/router.pm, FS/FS/session.pm, FS/FS/svc_Common.pm,
          FS/FS/svc_acct.pm, FS/FS/svc_acct_pop.pm, FS/FS/svc_broadband.pm,
          FS/FS/svc_domain.pm, FS/FS/svc_forward.pm, FS/FS/svc_www.pm,
-         FS/FS/type_pkgs.pm, FS/bin/freeside-setup, htetc/handler.pl,
-         httemplate/index.html, httemplate/browse/part_svc.cgi,
+         FS/FS/type_pkgs.pm, FS/bin/freeside-setup, htetc/global.asa,
+         htetc/handler.pl, htetc/handler.pl-1.0x, httemplate/index.html,
+         httemplate/browse/part_svc.cgi,
          httemplate/browse/part_virtual_field.cgi,
-         httemplate/browse/router.cgi, httemplate/edit/part_svc.cgi,
+         httemplate/browse/router.cgi, httemplate/docs/upgrade10.html,
+         httemplate/edit/part_svc.cgi,
          httemplate/edit/part_virtual_field.cgi,
          httemplate/edit/router.cgi, httemplate/edit/svc_acct.cgi,
          httemplate/edit/svc_broadband.cgi, httemplate/edit/svc_www.cgi,
          httemplate/view/svc_forward.cgi, httemplate/view/svc_www.cgi:
          Virtual field merge
 
+2003-08-04 17:00  khoff
+
+       * FS/FS/part_router_field.pm, FS/FS/part_sb_field.pm,
+         FS/FS/router_field.pm, FS/FS/sb_field.pm,
+         httemplate/browse/part_sb_field.cgi,
+         httemplate/edit/part_router_field.cgi,
+         httemplate/edit/part_sb_field.cgi: Virtual field merge
+
 2003-07-25 09:26  ivan
 
        * FS/FS/svc_acct.pm: typo
 
 2003-07-15 06:30  ivan
 
-       * rt/: Makefile, bin/mason_handler.fcgi, bin/mason_handler.scgi,
-         bin/rt-mailgate, etc/schema.Pg, lib/RT.pm, lib/RT/Record.pm:
-         reverting to vendor branch rt 3.0.4, hopefully
-
-2003-07-15 06:16  ivan
-
-       * rt/: config.log, config.status, bin/mason_handler.svc,
-         bin/rt-commit-handler, bin/rt-crontool, etc/RT_Config.pm,
-         etc/RT_Config.pm.in, etc/RT_SiteConfig.pm,
-         html/Admin/Users/Modify.html, html/Elements/Footer,
-         html/Elements/Header, html/Elements/Menu,
-         html/Elements/PageLayout, html/Elements/SelectDate,
-         html/Elements/SimpleSearch, html/Elements/Tabs,
-         html/Elements/TitleBoxStart, html/Search/Bulk.html,
-         html/Ticket/Create.html, html/Ticket/Display.html,
-         html/Ticket/Elements/ShowSummary, html/Ticket/Elements/Tabs,
-         html/User/Prefs.html, lib/RT/Groups_Overlay.pm,
-         lib/RT/SearchBuilder.pm, lib/RT/Ticket_Overlay.pm,
-         lib/RT/Transaction_Overlay.pm, lib/RT/User_Overlay.pm,
-         lib/RT/Users_Overlay.pm, lib/t/02regression.t, lib/t/03web.pl,
-         lib/t/04_send_email.pl, sbin/rt-setup-database.in: Initial
-         revision
+       * rt/: ChangeLog, Makefile, README, TODO, bin/initacls.Oracle,
+         bin/initacls.Pg, bin/initacls.mysql, bin/mason_handler.fcgi,
+         bin/mason_handler.scgi, bin/rt, bin/rt-mailgate, bin/rtadmin,
+         bin/webmux.pl, docs/rt.gif, docs/design_docs/acls,
+         docs/design_docs/basic-definitions.txt,
+         docs/design_docs/cli_spec, docs/design_docs/evil_plans,
+         docs/design_docs/local_hacking, etc/acl.Oracle, etc/acl.Pg,
+         etc/acl.mysql, etc/config.pm, etc/schema.Oracle, etc/schema.Pg,
+         etc/schema.mysql, etc/schema.pm, lib/MANIFEST, lib/MANIFEST.SKIP,
+         lib/Makefile.PL, lib/RT.pm, lib/test.pl, lib/RT/ACE.pm,
+         lib/RT/ACL.pm, lib/RT/Attachment.pm, lib/RT/Attachments.pm,
+         lib/RT/CurrentUser.pm, lib/RT/Date.pm, lib/RT/EasySearch.pm,
+         lib/RT/Group.pm, lib/RT/GroupMember.pm, lib/RT/GroupMembers.pm,
+         lib/RT/Groups.pm, lib/RT/Handle.pm, lib/RT/Keyword.pm,
+         lib/RT/KeywordSelect.pm, lib/RT/KeywordSelects.pm,
+         lib/RT/Keywords.pm, lib/RT/Link.pm, lib/RT/Links.pm,
+         lib/RT/ObjectKeyword.pm, lib/RT/ObjectKeywords.pm,
+         lib/RT/Queue.pm, lib/RT/Queues.pm, lib/RT/Record.pm,
+         lib/RT/Scrip.pm, lib/RT/ScripAction.pm, lib/RT/ScripActions.pm,
+         lib/RT/ScripCondition.pm, lib/RT/ScripConditions.pm,
+         lib/RT/Scrips.pm, lib/RT/Template.pm, lib/RT/Templates.pm,
+         lib/RT/TestHarness.pm, lib/RT/Ticket.pm, lib/RT/Tickets.pm,
+         lib/RT/Transaction.pm, lib/RT/Transactions.pm, lib/RT/User.pm,
+         lib/RT/Users.pm, lib/RT/Watcher.pm, lib/RT/Watchers.pm,
+         lib/RT/Action/Autoreply.pm, lib/RT/Action/Generic.pm,
+         lib/RT/Action/Notify.pm, lib/RT/Action/NotifyAsComment.pm,
+         lib/RT/Action/OpenDependent.pm, lib/RT/Action/ResolveMembers.pm,
+         lib/RT/Action/SendEmail.pm, lib/RT/Action/SendPasswordEmail.pm,
+         lib/RT/Action/StallDependent.pm,
+         lib/RT/Condition/AnyTransaction.pm, lib/RT/Condition/Generic.pm,
+         lib/RT/Condition/NewDependency.pm,
+         lib/RT/Condition/StatusChange.pm, lib/RT/Interface/CLI.pm,
+         lib/RT/Interface/Email.pm, lib/RT/Interface/Web.pm: reverting to
+         vendor branch rt 3.0.4, hopefully
 
 2003-07-15 06:16  ivan
 
-       * rt/: COPYING, Makefile.in, README, aclocal.m4, Changelog,
-         configure, configure.ac, install-sh, bin/mason_handler.fcgi.in,
-         bin/mason_handler.scgi.in, bin/mason_handler.svc.in,
+       * rt/: Makefile.in, aclocal.m4, config, config.layout, Changelog,
+         config.log, config.pld, config.status, configure, configure.ac,
+         install-sh, bin/mason_handler.fcgi.in, bin/mason_handler.scgi.in,
+         bin/mason_handler.svc, bin/mason_handler.svc.in,
+         bin/rt-commit-handler, bin/rt-commit-handler.in,
          bin/rt-crontool.in, bin/rt-mailgate.in, bin/webmux.pl.in,
-         docs/README.docs, docs/Security, docs/design_docs/CARS,
-         docs/design_docs/TransactionTypes.txt, docs/design_docs/acls,
-         docs/design_docs/approval_notices,
+         bin/rt-crontool, docs/design_docs/approval_notices,
          docs/design_docs/approval_template, docs/design_docs/cf_search,
-         docs/design_docs/cli_spec, docs/design_docs/cvs_integration,
-         docs/design_docs/delegation, docs/design_docs/evil_plans,
-         docs/design_docs/groups_notes,
-         docs/design_docs/link-definitions.txt,
+         docs/design_docs/delegation, docs/design_docs/groups_notes,
          docs/design_docs/recursive_group_membership_algorithm,
          docs/design_docs/rql_parser_machine.graphviz,
          docs/design_docs/string-extraction-guide.txt,
-         docs/design_docs/subscription-definitions.txt,
-         docs/design_docs/ticket_templates, docs/design_docs/users,
-         etc/acl.Oracle, etc/acl.Pg, etc/acl.mysql, etc/constraints.mysql,
-         etc/initialdata, etc/rt.spec, etc/schema.SQLite,
-         etc/schema.mysql, html/autohandler, html/index.html, html/l,
-         html/Admin/index.html, html/Admin/Elements/AddCustomFieldValue,
+         docs/design_docs/ticket_templates, etc/RT_Config.pm,
+         etc/RT_Config.pm.in, etc/RT_SiteConfig.pm, etc/constraints.mysql,
+         etc/initialdata, etc/schema.SQLite, etc/upgrade/2.1.71,
+         html/autohandler, html/index.html, html/l, html/Admin/index.html,
+         html/Admin/Elements/AddCustomFieldValue,
          html/Admin/Elements/CreateUserCalled,
          html/Admin/Elements/EditCustomField,
          html/Admin/Elements/EditCustomFieldValues,
          html/Admin/Elements/GroupTabs, html/Admin/Elements/Header,
          html/Admin/Elements/ListGlobalCustomFields,
          html/Admin/Elements/ListGlobalScrips,
+         html/Admin/Elements/ModifyQueue,
          html/Admin/Elements/ModifyTemplate,
+         html/Admin/Elements/ModifyUser,
          html/Admin/Elements/QueueRightsForUser,
          html/Admin/Elements/QueueTabs,
          html/Admin/Elements/SelectCustomFieldType,
          html/Admin/Elements/SelectTemplate,
          html/Admin/Elements/SelectUsers, html/Admin/Elements/SystemTabs,
          html/Admin/Elements/Tabs, html/Admin/Elements/UserTabs,
+         html/Admin/Global/CustomField.html,
+         html/Admin/Global/CustomFields.html,
          html/Admin/Global/GroupRights.html, html/Admin/Global/Scrip.html,
          html/Admin/Global/Scrips.html, html/Admin/Global/Template.html,
          html/Admin/Global/Templates.html,
          html/Admin/Queues/Template.html,
          html/Admin/Queues/Templates.html,
          html/Admin/Queues/UserRights.html, html/Admin/Queues/index.html,
+         html/Admin/Users/Modify.html, html/Admin/Users/Prefs.html,
          html/Admin/Users/index.html, html/Approvals/Display.html,
          html/Approvals/index.html, html/Approvals/Elements/Approve,
          html/Approvals/Elements/PendingMyApproval,
          html/Approvals/Elements/Tabs, html/Elements/BevelBoxRaisedEnd,
          html/Elements/BevelBoxRaisedStart, html/Elements/Callback,
          html/Elements/Checkbox, html/Elements/CreateTicket,
-         html/Elements/Error, html/Elements/GotoTicket,
+         html/Elements/Error, html/Elements/Footer,
+         html/Elements/GotoTicket, html/Elements/Header,
          html/Elements/ListActions, html/Elements/Login,
-         html/Elements/MessageBox, html/Elements/MyRequests,
-         html/Elements/MyTickets, html/Elements/Quicksearch,
+         html/Elements/Menu, html/Elements/MessageBox,
+         html/Elements/MyRequests, html/Elements/MyTickets,
+         html/Elements/PageLayout, html/Elements/Quicksearch,
          html/Elements/Refresh, html/Elements/Section,
          html/Elements/SelectAttachmentField, html/Elements/SelectBoolean,
          html/Elements/SelectCustomFieldOperator,
-         html/Elements/SelectCustomFieldValue,
+         html/Elements/SelectCustomFieldValue, html/Elements/SelectDate,
          html/Elements/SelectDateRelation, html/Elements/SelectDateType,
          html/Elements/SelectEqualityOperator, html/Elements/SelectGroups,
          html/Elements/SelectLinkType, html/Elements/SelectMatch,
          html/Elements/SelectTicketSortBy,
          html/Elements/SelectTicketTypes, html/Elements/SelectUsers,
          html/Elements/SelectWatcherType,
-         html/Elements/SetupSessionCookie, html/Elements/Submit,
-         html/Elements/TitleBoxEnd, html/NoAuth/Logout.html,
-         html/NoAuth/Reminder.html, html/NoAuth/images/bplogo.gif,
-         html/NoAuth/images/favicon.png,
-         html/REST/1.0/NoAuth/mail-gateway, html/SelfService/Closed.html,
+         html/Elements/SetupSessionCookie, html/Elements/ShadedBox,
+         html/Elements/ShadedInputRow, html/Elements/ShadedRow,
+         html/Elements/SimpleSearch, html/Elements/Submit,
+         html/Elements/Tabs, html/Elements/TitleBoxEnd,
+         html/Elements/TitleBoxStart, html/Elements/ViewUser,
+         html/NoAuth/Logout.html, html/NoAuth/Reminder.html,
+         html/NoAuth/webrt.css, html/NoAuth/images/back_home.gif,
+         html/NoAuth/images/bplogo.gif, html/NoAuth/images/favicon.png,
+         html/NoAuth/images/head_requestracker.gif,
+         html/NoAuth/images/rt.jpg, html/NoAuth/images/space.gif,
+         html/NoAuth/images/spacer.gif,
+         html/NoAuth/images/squares_blue.gif,
+         html/REST/1.0/NoAuth/mail-gateway, html/Search/Bulk.html,
+         html/Search/Listing.html, html/Search/Elements/PickRestriction,
+         html/Search/Elements/TicketHeader,
+         html/Search/Elements/TicketHeaderCell,
+         html/Search/Elements/TicketRow, html/SelfService/Closed.html,
          html/SelfService/Create.html, html/SelfService/Display.html,
          html/SelfService/Error.html, html/SelfService/Prefs.html,
          html/SelfService/Update.html, html/SelfService/index.html,
          html/SelfService/Elements/GotoTicket,
          html/SelfService/Elements/Header,
          html/SelfService/Elements/MyRequests,
-         html/SelfService/Elements/Tabs, html/Ticket/History.html,
+         html/SelfService/Elements/Tabs, html/Ticket/Create.html,
+         html/Ticket/Display.html, html/Ticket/History.html,
          html/Ticket/Modify.html, html/Ticket/ModifyAll.html,
          html/Ticket/ModifyDates.html, html/Ticket/ModifyLinks.html,
          html/Ticket/ModifyPeople.html, html/Ticket/Update.html,
          html/Ticket/Elements/EditBasics,
          html/Ticket/Elements/EditCustomField,
          html/Ticket/Elements/EditCustomFields,
-         html/Ticket/Elements/EditDates, html/Ticket/Elements/EditPeople,
+         html/Ticket/Elements/EditDates, html/Ticket/Elements/EditLinks,
+         html/Ticket/Elements/EditPeople,
          html/Ticket/Elements/EditWatchers,
          html/Ticket/Elements/ShowAttachments,
          html/Ticket/Elements/ShowBasics,
          html/Ticket/Elements/ShowCustomFields,
          html/Ticket/Elements/ShowDates,
          html/Ticket/Elements/ShowDependencies,
-         html/Ticket/Elements/ShowHistory,
+         html/Ticket/Elements/ShowHistory, html/Ticket/Elements/ShowLink,
+         html/Ticket/Elements/ShowLinks,
+         html/Ticket/Elements/ShowMemberOf,
          html/Ticket/Elements/ShowMembers,
          html/Ticket/Elements/ShowMessageHeaders,
          html/Ticket/Elements/ShowMessageStanza,
          html/Ticket/Elements/ShowPeople,
+         html/Ticket/Elements/ShowReferences,
          html/Ticket/Elements/ShowRequestor,
-         html/Ticket/Elements/ShowTransaction, html/User/Delegation.html,
+         html/Ticket/Elements/ShowSummary,
+         html/Ticket/Elements/ShowTransaction, html/Ticket/Elements/Tabs,
+         html/User/Delegation.html, html/User/Prefs.html,
          html/User/Elements/DelegateRights, html/User/Elements/GroupTabs,
          html/User/Elements/Tabs, html/User/Groups/Members.html,
          html/User/Groups/Modify.html, html/User/Groups/index.html,
-         lib/RT.pm.in, lib/RT/ACE.pm, lib/RT/ACE_Overlay.pm,
-         lib/RT/ACL.pm, lib/RT/ACL_Overlay.pm, lib/RT/Attachment.pm,
-         lib/RT/Attachment_Overlay.pm, lib/RT/Attachments.pm,
-         lib/RT/Attachments_Overlay.pm, lib/RT/Base.pm,
-         lib/RT/CachedGroupMember.pm, lib/RT/CachedGroupMember_Overlay.pm,
+         lib/RT.pm.in, lib/RT/ACE_Overlay.pm, lib/RT/ACL_Overlay.pm,
+         lib/RT/Attachment_Overlay.pm, lib/RT/Attachments_Overlay.pm,
+         lib/RT/Base.pm, lib/RT/CachedGroupMember.pm,
+         lib/RT/CachedGroupMember_Overlay.pm,
          lib/RT/CachedGroupMembers.pm,
-         lib/RT/CachedGroupMembers_Overlay.pm, lib/RT/CurrentUser.pm,
-         lib/RT/CustomField.pm, lib/RT/CustomFieldValue.pm,
-         lib/RT/CustomFieldValues.pm, lib/RT/CustomFieldValues_Overlay.pm,
+         lib/RT/CachedGroupMembers_Overlay.pm, lib/RT/CustomField.pm,
+         lib/RT/CustomFieldValue.pm, lib/RT/CustomFieldValues.pm,
+         lib/RT/CustomFieldValues_Overlay.pm,
          lib/RT/CustomField_Overlay.pm, lib/RT/CustomFields.pm,
-         lib/RT/CustomFields_Overlay.pm, lib/RT/Date.pm,
-         lib/RT/EmailParser.pm, lib/RT/Group.pm, lib/RT/GroupMember.pm,
-         lib/RT/GroupMember_Overlay.pm, lib/RT/GroupMembers.pm,
-         lib/RT/GroupMembers_Overlay.pm, lib/RT/Group_Overlay.pm,
-         lib/RT/Groups.pm, lib/RT/Handle.pm, lib/RT/I18N.pm,
-         lib/RT/Link.pm, lib/RT/Link_Overlay.pm, lib/RT/Links.pm,
-         lib/RT/Links_Overlay.pm, lib/RT/Principal.pm,
-         lib/RT/Principal_Overlay.pm, lib/RT/Principals.pm,
-         lib/RT/Principals_Overlay.pm, lib/RT/Queue.pm,
-         lib/RT/Queue_Overlay.pm, lib/RT/Queues.pm,
-         lib/RT/Queues_Overlay.pm, lib/RT/Scrip.pm, lib/RT/ScripAction.pm,
-         lib/RT/ScripAction_Overlay.pm, lib/RT/ScripActions.pm,
-         lib/RT/ScripActions_Overlay.pm, lib/RT/ScripCondition.pm,
-         lib/RT/ScripCondition_Overlay.pm, lib/RT/ScripConditions.pm,
+         lib/RT/CustomFields_Overlay.pm, lib/RT/EmailParser.pm,
+         lib/RT/GroupMember_Overlay.pm, lib/RT/GroupMembers_Overlay.pm,
+         lib/RT/Group_Overlay.pm, lib/RT/Groups_Overlay.pm,
+         lib/RT/I18N.pm, lib/RT/Link_Overlay.pm, lib/RT/Links_Overlay.pm,
+         lib/RT/Principal.pm, lib/RT/Principal_Overlay.pm,
+         lib/RT/Principals.pm, lib/RT/Principals_Overlay.pm,
+         lib/RT/Queue_Overlay.pm, lib/RT/Queues_Overlay.pm,
+         lib/RT/ScripAction_Overlay.pm, lib/RT/ScripActions_Overlay.pm,
+         lib/RT/ScripCondition_Overlay.pm,
          lib/RT/ScripConditions_Overlay.pm, lib/RT/Scrip_Overlay.pm,
-         lib/RT/Scrips.pm, lib/RT/Scrips_Overlay.pm, lib/RT/System.pm,
-         lib/RT/Template.pm, lib/RT/Template_Overlay.pm,
-         lib/RT/Templates.pm, lib/RT/Templates_Overlay.pm,
-         lib/RT/Ticket.pm, lib/RT/Tickets.pm, lib/RT/Tickets_Overlay.pm,
-         lib/RT/Tickets_Overlay_SQL.pm, lib/RT/Transaction.pm,
-         lib/RT/Transactions.pm, lib/RT/Transactions_Overlay.pm,
-         lib/RT/URI.pm, lib/RT/User.pm, lib/RT/Users.pm,
-         lib/RT/Action/AutoOpen.pm, lib/RT/Action/Autoreply.pm,
-         lib/RT/Action/CreateTickets.pm,
-         lib/RT/Action/EscalatePriority.pm, lib/RT/Action/Generic.pm,
-         lib/RT/Action/Notify.pm, lib/RT/Action/NotifyAsComment.pm,
-         lib/RT/Action/ResolveMembers.pm, lib/RT/Action/SendEmail.pm,
-         lib/RT/Action/SetPriority.pm, lib/RT/Action/UserDefined.pm,
-         lib/RT/Condition/AnyTransaction.pm,
-         lib/RT/Condition/BeforeDue.pm, lib/RT/Condition/Generic.pm,
+         lib/RT/Scrips_Overlay.pm, lib/RT/SearchBuilder.pm,
+         lib/RT/System.pm, lib/RT/Template_Overlay.pm,
+         lib/RT/Templates_Overlay.pm, lib/RT/TicketCustomFieldValue.pm,
+         lib/RT/TicketCustomFieldValue_Overlay.pm,
+         lib/RT/TicketCustomFieldValues.pm,
+         lib/RT/TicketCustomFieldValues_Overlay.pm,
+         lib/RT/Ticket_Overlay.pm, lib/RT/Tickets_Overlay.pm,
+         lib/RT/Tickets_Overlay_SQL.pm, lib/RT/Transaction_Overlay.pm,
+         lib/RT/Transactions_Overlay.pm, lib/RT/URI.pm,
+         lib/RT/User_Overlay.pm, lib/RT/Users_Overlay.pm,
+         lib/RT/Action/AutoOpen.pm, lib/RT/Action/CreateTickets.pm,
+         lib/RT/Action/EscalatePriority.pm, lib/RT/Action/SetPriority.pm,
+         lib/RT/Action/UserDefined.pm, lib/RT/Condition/BeforeDue.pm,
          lib/RT/Condition/Overdue.pm, lib/RT/Condition/OwnerChange.pm,
          lib/RT/Condition/PriorityExceeds.pm,
-         lib/RT/Condition/QueueChange.pm,
-         lib/RT/Condition/StatusChange.pm,
-         lib/RT/Condition/UserDefined.pm, lib/RT/I18N/cs.pm,
-         lib/RT/I18N/cs.po, lib/RT/I18N/de.po, lib/RT/I18N/en.po,
-         lib/RT/I18N/es.po, lib/RT/I18N/fi.po, lib/RT/I18N/fr.po,
-         lib/RT/I18N/he.po, lib/RT/I18N/i_default.pm, lib/RT/I18N/ja.po,
-         lib/RT/I18N/nl.po, lib/RT/I18N/no.po, lib/RT/I18N/pt_br.po,
-         lib/RT/I18N/ru.po, lib/RT/I18N/zh_cn.po, lib/RT/I18N/zh_tw.po,
-         lib/RT/Interface/CLI.pm, lib/RT/Interface/Email.pm,
-         lib/RT/Interface/Web.pm, lib/RT/Interface/Email/Auth/MailFrom.pm,
+         lib/RT/Condition/QueueChange.pm, lib/RT/Condition/UserDefined.pm,
+         lib/RT/I18N/cs.pm, lib/RT/I18N/cs.po, lib/RT/I18N/de.po,
+         lib/RT/I18N/en.po, lib/RT/I18N/es.po, lib/RT/I18N/fi.po,
+         lib/RT/I18N/fr.po, lib/RT/I18N/he.po, lib/RT/I18N/i_default.pm,
+         lib/RT/I18N/ja.po, lib/RT/I18N/nl.po, lib/RT/I18N/no.po,
+         lib/RT/I18N/pt_br.po, lib/RT/I18N/ru.po, lib/RT/I18N/zh_cn.po,
+         lib/RT/I18N/zh_tw.po, lib/RT/Interface/Email/Auth/MailFrom.pm,
          lib/RT/Interface/Email/Filter/SpamAssassin.pm,
          lib/RT/Search/ActiveTicketsInQueue.pm, lib/RT/Search/Generic.pm,
          lib/RT/URI/base.pm, lib/RT/URI/fsck_com_rt.pm, lib/t/00smoke.t,
-         lib/t/01harness.t, lib/t/data/multipart-alternative-with-umlaut,
+         lib/t/00smoke.t.in, lib/t/01harness.t, lib/t/01harness.t.in,
+         lib/t/02regression.t, lib/t/02regression.t.in, lib/t/03web.pl,
+         lib/t/03web.pl.in, lib/t/04_send_email.pl,
+         lib/t/04_send_email.pl.in,
+         lib/t/data/multipart-alternative-with-umlaut,
          lib/t/data/nested-mime-sample, lib/t/data/nested-rfc-822,
          lib/t/data/new-ticket-from-iso-8859-1,
          lib/t/data/new-ticket-from-iso-8859-1-full,
          lib/t/data/8859-15-message-series/msg5,
          lib/t/data/8859-15-message-series/msg6,
          lib/t/data/8859-15-message-series/msg7,
-         lib/t/regression/mime_tests, m4/rt_enable_layout.m4,
-         m4/rt_expand_var.m4, m4/rt_layout.m4,
+         lib/t/regression/00placeholder, lib/t/regression/mime_tests,
+         m4/rt_enable_layout.m4, m4/rt_expand_var.m4, m4/rt_layout.m4,
          m4/rt_subst_expanded_arg.m4, sbin/extract-message-catalog,
          sbin/extract_pod_tests, sbin/factory, sbin/license_tag,
-         sbin/regression_harness, sbin/rt-test-dependencies.in,
+         sbin/regression_harness, sbin/rt-setup-database,
+         sbin/rt-setup-database.in, sbin/rt-test-dependencies.in,
          autom4te.cache/output.0, autom4te.cache/requests,
-         autom4te.cache/traces.0: import of rt 3.0.4
+         autom4te.cache/traces.0, sbin/rt-test-dependencies: Initial
+         revision
 
 2003-07-15 04:23  ivan
 
        * httemplate/view/cust_main.cgi: don't bother displaying comments
          that are only whitespace/newlines
 
+2003-07-03 20:34  ivan
+
+       * etc/acp_logfile-parse: removing obsolete file
+
 2003-07-03 20:31  ivan
 
        * etc/abbr_state.txt: adding states
 
+2003-07-03 20:27  ivan
+
+       * etc/example-direct-cardin: removing ancient cybercash example
+
 2003-07-03 18:37  ivan
 
        * FS/FS/svc_acct_pop.pm: don't populate the whole initial list if
        * FS/FS/svc_acct_pop.pm: optimize javascript to handle large
          numbers of POPs
 
+2003-07-03 16:00  ivan
+
+       * htetc/global.asa: working DBIx::Profile again
+
 2003-07-02 05:58  ivan
 
        * FS/FS/part_pkg.pm: tyop
 
 2003-07-02 05:34  ivan
 
-       * README: change license to GPL only
+       * Artistic, README: change license to GPL only
 
 2003-07-01 02:00  ivan
 
 
 2003-06-30 06:18  ivan
 
-       * FS/MANIFEST: removing deprecated freeside-overdue
+       * FS/: MANIFEST, bin/freeside-overdue: removing deprecated
+         freeside-overdue
 
 2003-06-30 05:22  ivan
 
        * FS/FS/cust_main.pm, httemplate/misc/bill.cgi: fix the credit card
          retry on change or manual "retry_card" to ONCE per invoice
 
+2003-06-22 02:11  ivan
+
+       * bin/create-history-tables: skip pg_ tables also (ewww, showing up
+         in reverse-engineered schema)
+
+2003-06-22 02:04  ivan
+
+       * bin/create-history-tables: skip history tables that exist
+         already; easier to re-run now
+
+2003-06-13 19:04  ivan
+
+       * httemplate/docs/upgrade9.html: cust_bill2 index
+
 2003-06-13 19:02  ivan
 
        * FS/bin/freeside-setup: add index on cust_bill._date
 
        * FS/FS/cust_svc.pm: add "$ignore_quantity" bypass
 
+2003-06-08 17:59  ivan
+
+       * httemplate/docs/install.html: documentation update from "Jesse D.
+         Guardiani" <jesse@wingnet.net>, thanks
+
 2003-06-06 18:58  ivan
 
        * FS/FS/cust_main.pm: and fix the error message
        * FS/FS/part_export/cp.pm: add suspend/unsuspend capability to CP
          export
 
+2003-06-05 21:42  ivan
+
+       * htetc/global.asa: database profiling bs i should just switch to
+         mason
+
 2003-06-04 17:22  khoff
 
        * FS/FS/cust_pkg.pm: order/cancel packages rewritten
 
        * Makefile: 1.5.0pre2 (too late, hehe)
 
+2003-06-03 02:34  ivan
+
+       * bin/svc_acct_sm.import: removing (very) deprecated import
+
+2003-06-03 00:54  ivan
+
+       * httemplate/docs/upgrade10.html: upgrade docs
+
+2003-06-02 23:10  ivan
+
+       * httemplate/docs/upgrade10.html: slightly better upgrade docs
+
 2003-06-02 23:09  ivan
 
        * FS/bin/freeside-setup: use serial for primary keys in new tables
 
        * FS/FS/cust_pkg.pm: add last_bill field to manpage
 
-2003-05-30 02:40  ivan
-
-       * httemplate/docs/man/FS/part_export/.cvs_is_on_crack: force
-         inclusion of httemplate/docs/man hierarchy
-
 2003-05-30 02:22  ivan
 
        * FS/FS/part_export/sqlradius.pm: sqlradius exports include "op"
        * FS/FS/cust_main.pm, FS/FS/ClientAPI/MyAccount.pm,
          fs_selfservice/FS-SelfService/cgi/make_payment.html,
          fs_selfservice/FS-SelfService/cgi/payment_results.html,
+         fs_selfservice/FS-SelfService/cgi/process_payment.html,
          fs_selfservice/FS-SelfService/cgi/selfservice.cgi: working
          self-service self-payments!
 
 
        * FS/FS/cust_main.pm, FS/FS/ClientAPI/MyAccount.pm,
          fs_selfservice/FS-SelfService/cgi/make_payment.html,
+         fs_selfservice/FS-SelfService/cgi/process_payment.html,
          fs_selfservice/FS-SelfService/cgi/selfservice.cgi: first crack at
          payment processing with self-service (step two of the process)
 
 
 2003-05-11 15:25  ivan
 
-       * htetc/handler.pl: handler.pl updates from Richard Siddall
-         <richard.siddall@elirion.net>
+       * htetc/: handler.pl, handler.pl-1.0x: handler.pl updates from
+         Richard Siddall <richard.siddall@elirion.net>
 
 2003-05-09 23:45  ivan
 
-       * httemplate/view/cust_main.cgi: first pass at new package list UI
+       * httemplate/view/: cust_main.cgi, cust_pkg.cgi: first pass at new
+         package list UI
 
 2003-05-09 22:41  ivan
 
        * Makefile, FS/FS/Record.pm: general Pg 7.3 fix for setting int
          columns to '' / NULL
 
+2003-05-06 14:15  ivan
+
+       * httemplate/view/cust_main_alt.cgi: don't create new files in lieu
+         of branches
+
+2003-05-06 13:33  khoff
+
+       * httemplate/view/cust_main_alt.cgi: Can't pull  out of thin air.
+
+2003-05-04 13:58  khoff
+
+       * httemplate/view/cust_main_alt.cgi: proposed cust_main.cgi
+
 2003-05-02 19:06  ivan
 
        * FS/FS/part_export/infostreet.pm, httemplate/edit/svc_acct.cgi:
 
 2003-04-23 16:12  ivan
 
-       * Makefile, htetc/handler.pl: compatible with mason 1.1!  closes:
+       * Makefile, htetc/handler.pl, htetc/handler.pl-1.0x,
+         httemplate/docs/install.html: compatible with mason 1.1!  closes:
          bug#492
 
 2003-04-23 15:16  ivan
 
 2003-04-21 21:39  ivan
 
-       * FS/: MANIFEST, FS/Conf.pm, FS/part_export.pm, FS/svc_domain.pm,
-         FS/svc_forward.pm, FS/part_export/domain_shellcommands.pm,
-         FS/part_export/forward_shellcommands.pm,
-         t/part_export-forward_shellcommands.t: - mysql 4.1 is available;
-         update documentation - remove last vestiges of 1.3-style
-         qmail/vpopmail exports from svc_domain and   svc_forward; add
-         appropriate exports (closes: Bug#299)
+       * FS/MANIFEST, FS/FS/Conf.pm, FS/FS/part_export.pm,
+         FS/FS/svc_domain.pm, FS/FS/svc_forward.pm,
+         FS/FS/part_export/domain_shellcommands.pm,
+         FS/FS/part_export/forward_shellcommands.pm,
+         FS/t/part_export-forward_shellcommands.t,
+         httemplate/docs/install.html: - mysql 4.1 is available; update
+         documentation - remove last vestiges of 1.3-style qmail/vpopmail
+         exports from svc_domain and   svc_forward; add appropriate
+         exports (closes: Bug#299)
 
 2003-04-21 15:40  ivan
 
 
 2003-04-21 14:29  khoff
 
-       * httemplate/edit/process/generic.cgi: Navigation fixes.
+       * httemplate/edit/: part_router_field.cgi, process/generic.cgi:
+         Navigation fixes.
 
 2003-04-21 14:13  khoff
 
 2003-04-21 13:53  ivan
 
        * FS/FS/Conf.pm, FS/FS/cust_main.pm, FS/FS/part_bill_event.pm,
-         FS/bin/freeside-daily, FS/bin/freeside-setup,
-         httemplate/docs/schema.html, httemplate/edit/cust_main.cgi,
+         FS/bin/freeside-daily, FS/bin/freeside-expiration-alerter,
+         FS/bin/freeside-setup, httemplate/docs/schema.html,
+         httemplate/edit/cust_main.cgi,
          httemplate/edit/part_bill_event.cgi,
          httemplate/edit/process/cust_main.cgi,
          httemplate/search/cust_main.cgi, httemplate/view/cust_main.cgi:
 2003-04-01 00:03  ivan
 
        * FS/FS/Record.pm, httemplate/docs/index.html,
-         httemplate/view/cust_main.cgi: - update qsearch for Pg 7.3 -
-         preliminary 1.5.0 upgrade docs - syntax error in main customer
-         view
+         httemplate/docs/upgrade10.html, httemplate/view/cust_main.cgi: -
+         update qsearch for Pg 7.3 - preliminary 1.5.0 upgrade docs -
+         syntax error in main customer view
 
 2003-03-31 22:55  ivan
 
        * FS/FS/cust_main.pm, FS/FS/cust_pkg.pm, debian/changelog,
          debian/control, httemplate/edit/REAL_cust_pkg.cgi,
          httemplate/edit/process/REAL_cust_pkg.cgi,
-         httemplate/search/cust_pkg.cgi, httemplate/view/cust_main.cgi:
-         correct last_bill problems with $0 invoice (non-existant) edge
-         cases
+         httemplate/search/cust_pkg.cgi, httemplate/view/cust_main.cgi,
+         httemplate/view/cust_pkg.cgi: correct last_bill problems with $0
+         invoice (non-existant) edge cases
 
 2003-03-31 15:49  ivan
 
          bin/apache.export, bin/bind.export, bin/bsdshell.export,
          bin/sysvshell.export: apache export!
 
+2003-03-11 16:44  ivan
+
+       * httemplate/docs/upgrade9.html: doc from 1.4 branch
+
 2003-03-11 03:40  ivan
 
        * FS/FS/svc_domain.pm: another pg7.3 fix
          FS/FS/cust_bill_pkg.pm, FS/FS/cust_bill_pkg_detail.pm,
          FS/FS/cust_main.pm, FS/bin/freeside-setup,
          FS/t/cust_bill_pkg_detail.t, httemplate/docs/schema.html,
-         httemplate/edit/part_pkg.cgi: time/data detail on invoices
+         httemplate/docs/upgrade10.html, httemplate/edit/part_pkg.cgi:
+         time/data detail on invoices
+
+2003-02-05 15:22  khoff
+
+       * FS/FS/ac.pm, FS/FS/ac_block.pm, FS/FS/ac_field.pm,
+         FS/FS/ac_type.pm, FS/FS/part_ac_field.pm,
+         httemplate/browse/ac.cgi, httemplate/browse/ac_type.cgi,
+         httemplate/edit/ac.cgi, httemplate/edit/ac_type.cgi,
+         httemplate/edit/process/ac.cgi,
+         httemplate/edit/process/ac_block.cgi,
+         httemplate/edit/process/ac_field.cgi,
+         httemplate/edit/process/ac_type.cgi,
+         httemplate/edit/process/part_ac_field.cgi: svc_broadband rewrite
 
 2003-02-05 15:17  khoff
 
-       * FS/FS/addr_block.pm, FS/FS/part_svc_router.pm, FS/FS/router.pm,
+       * FS/FS/addr_block.pm, FS/FS/part_router_field.pm,
+         FS/FS/part_sb_field.pm, FS/FS/part_svc_router.pm,
+         FS/FS/router.pm, FS/FS/router_field.pm, FS/FS/sb_field.pm,
          FS/FS/svc_broadband.pm, httemplate/browse/addr_block.cgi,
-         httemplate/browse/router.cgi, httemplate/edit/router.cgi,
+         httemplate/browse/generic.cgi,
+         httemplate/browse/part_sb_field.cgi,
+         httemplate/browse/router.cgi,
+         httemplate/edit/part_router_field.cgi,
+         httemplate/edit/part_sb_field.cgi, httemplate/edit/router.cgi,
          httemplate/edit/svc_broadband.cgi,
          httemplate/edit/process/addr_block/add.cgi,
          httemplate/edit/process/addr_block/allocate.cgi,
          FS/bin/freeside-setup, httemplate/edit/process/generic.cgi,
          httemplate/edit/process/router.cgi,
          httemplate/edit/process/svc_broadband.cgi,
-         httemplate/edit/process/addr_block/split.cgi, htetc/handler.pl,
-         httemplate/index.html, httemplate/view/svc_broadband.cgi:
-         svc_broadband rewrite
+         httemplate/edit/process/addr_block/split.cgi, htetc/global.asa,
+         htetc/handler.pl, httemplate/index.html,
+         httemplate/view/svc_broadband.cgi: svc_broadband rewrite
 
 2003-02-05 14:06  khoff
 
        * FS/FS/cust_svc.pm: ip_netmask is gone now
 
+2003-02-04 14:04  ivan
+
+       * htetc/global.asa, httemplate/docs/install.html: 1.5-specific
+         fixes
+
 2003-01-27 23:47  ivan
 
        * FS/bin/freeside-setup: eek, and this is what caused connectup to
 2003-01-14 01:26  ivan
 
        * FS/MANIFEST, FS/bin/freeside-selfservice-server,
-         init.d/freeside-init: move freeside-selfservice-server to proper
-         MakeMaker install location
+         fs_selfservice/freeside-selfservice-server, init.d/freeside-init:
+         move freeside-selfservice-server to proper MakeMaker install
+         location
 
 2003-01-14 00:49  ivan
 
 
 2002-12-24 14:41  ivan
 
-       * FS/bin/freeside-setup, httemplate/view/cust_main.cgi:
-         optimization for ginourmous numbers of packages for intergate,
-         whew
+       * README.1.5.0pre1, FS/bin/freeside-setup,
+         httemplate/view/cust_main.cgi: optimization for ginourmous
+         numbers of packages for intergate, whew
 
 2002-12-23 15:56  ivan
 
        * FS/FS/cust_pkg.pm: added stuff for selfservice_server-quiet,
          signup_server-quiet, and emailcancel messages.
 
+2002-12-23 06:38  steve
+
+       * fs_selfservice/freeside-selfservice-server: added stuff for
+         selfservice_server-quiet, signup_server-quiet, and emailcancel
+         messages.
+
 2002-12-23 06:22  steve
 
        * FS/FS/: cust_bill.pm, Conf.pm: added stuff for
        * FS/: MANIFEST, bin/freeside-sqlradius-seconds: adding
          freeside-sqlradius-seconds
 
+2002-12-16 22:36  ivan
+
+       * httemplate/docs/install.html: add PerlModule commands to install
+         instructions
+
 2002-12-16 13:52  ivan
 
        * FS/FS/part_svc.pm, httemplate/edit/part_svc.cgi: fix for Pg 7.3,
 
 2002-12-16 02:47  ivan
 
-       * httemplate/graph/money_time.cgi: working date range selector that
-         defaults to the past year!
+       * httemplate/graph/: money_time-graph.cgi, money_time.cgi: working
+         date range selector that defaults to the past year!
 
 2002-12-14 13:18  ivan
 
        * httemplate/misc/: meta-import.cgi, process/meta-import.cgi:
          beginning of web-based data importer
 
+2002-12-09 02:54  ivan
+
+       * httemplate/docs/install.html: doc
+
 2002-12-04 04:43  ivan
 
        * bin/bind.export: really fixed now
 
 2002-11-27 21:10  ivan
 
-       * FS/FS/Conf.pm: deprecate username_policy
+       * FS/FS/Conf.pm, httemplate/docs/upgrade8.html: deprecate
+         username_policy
 
 2002-11-26 03:58  ivan
 
 
 2002-11-20 01:07  ivan
 
-       * FS/bin/freeside-setup: ugh... need to increase length of payinfo
-         field in cust_pay and cust_refund for ACH
+       * FS/bin/freeside-setup, httemplate/docs/upgrade9.html: ugh... need
+         to increase length of payinfo field in cust_pay and cust_refund
+         for ACH
 
 2002-11-19 14:55  ivan
 
 
        * FS/FS/cust_main.pm: doc
 
+2002-11-05 21:41  ivan
+
+       * httemplate/graph/money_time-graph.cgi: lala
+
 2002-11-05 20:23  ivan
 
        * FS/FS/part_pkg.pm: safe regex for sqlradius hour/data billing,
 
        * FS/bin/freeside-sqlradius-radacctd: lost?
 
+2002-11-04 18:15  ivan
+
+       * httemplate/graph/money_time-graph.cgi: local kludge
+
 2002-11-04 15:40  ivan
 
        * FS/FS/CGI.pm: balance on small_custview
 
+2002-11-04 13:20  ivan
+
+       * httemplate/docs/upgrade9.html: doc
+
 2002-11-04 12:51  ivan
 
        * httemplate/view/svc_acct.cgi: fix cosmetic bug on online time
 
 2002-11-01 16:13  ivan
 
-       * httemplate/graph/money_time.cgi: whew, glad i had a copy of this
+       * httemplate/graph/: money_time-graph.cgi, money_time.cgi: whew,
+         glad i had a copy of this
 
 2002-10-28 05:22  ivan
 
 
 2002-10-19 20:28  ivan
 
-       * FS/FS/: part_export.pm, part_export/vpopmail.pm: vpopmail restart
-         export option
+       * FS/FS/part_export.pm, FS/FS/part_export/vpopmail.pm,
+         eg/vpopmailrestart: vpopmail restart export option
 
 2002-10-18 09:54  ivan
 
          httemplate/view/svc_acct.cgi: radacct update: use sqlradius for
          datasrc, not plandata options (whew)
 
+2002-10-17 04:17  ivan
+
+       * httemplate/search/cust_bill.cgi: another mason fix, this one from
+         5
+
 2002-10-15 02:54  ivan
 
        * FS/FS/cust_bill.pm: ach fix s/ECHECK/CHECK/
 
 2002-10-13 00:14  ivan
 
-       * httemplate/docs/session.html: doh
+       * httemplate/docs/: session.html, upgrade9.html: doh
+
+2002-10-13 00:13  ivan
+
+       * httemplate/docs/upgrade9.html: msgcat docs for upgrade
+
+2002-10-12 23:49  ivan
+
+       * httemplate/docs/install.html: don't use ILIKE (7.1-ism) anymore
 
 2002-10-12 18:14  ivan
 
 
 2002-10-12 06:46  ivan
 
-       * httemplate/: edit/cust_main.cgi, view/cust_main.cgi:
-         dayphone/nightphone as customizable labels, closes: Bug#464
+       * bin/populate-msgcat, httemplate/edit/cust_main.cgi,
+         httemplate/view/cust_main.cgi: dayphone/nightphone as
+         customizable labels, closes: Bug#464
 
 2002-10-12 06:26  ivan
 
 2002-10-04 05:56  ivan
 
        * FS/FS/type_pkgs.pm, FS/FS/part_export/sqlradius.pm,
-         FS/bin/freeside-setup, httemplate/edit/process/cust_pkg.cgi,
+         FS/bin/freeside-setup, httemplate/docs/install.html,
+         httemplate/edit/process/cust_pkg.cgi,
          httemplate/misc/change_pkg.cgi, httemplate/search/cust_main.cgi,
          httemplate/view/cust_main.cgi: working on the road:   - easier
          "change package" link for changing one package to another   -
 
        * FS/FS/UID.pm: don't chop blanks
 
+2002-09-26 23:00  ivan
+
+       * htetc/global.asa: only load Devel::AutoProfiler if it is
+         installed
+
 2002-09-26 22:36  ivan
 
        * FS/bin/freeside-adduser: lock mapsecrets file
 
 2002-09-25 02:11  ivan
 
-       * Makefile: doc
+       * Makefile, httemplate/docs/install.html: doc
 
 2002-09-25 02:09  ivan
 
 
 2002-09-23 07:27  ivan
 
-       * FS/FS/CGI.pm, htetc/handler.pl: global.asa changes for profiling
-         redirects header-handling changes necessary for chart .cgis
+       * FS/FS/CGI.pm, htetc/global.asa, htetc/handler.pl: global.asa
+         changes for profiling redirects header-handling changes necessary
+         for chart .cgis
 
 2002-09-23 01:50  ivan
 
 
 2002-09-21 04:17  ivan
 
-       * FS/bin/freeside-setup, httemplate/docs/schema.dia,
-         httemplate/docs/schema.html, FS/FS/cust_bill.pm,
-         FS/FS/cust_bill_pkg.pm, FS/FS/cust_main.pm,
-         FS/FS/cust_main_county.pm,
-         httemplate/browse/cust_main_county.cgi: all taxes now have names.
-         closes: Bug#15
+       * README.1.5.0pre1, FS/bin/freeside-setup,
+         httemplate/docs/schema.dia, httemplate/docs/schema.html,
+         FS/FS/cust_bill.pm, FS/FS/cust_bill_pkg.pm, FS/FS/cust_main.pm,
+         FS/FS/cust_main_county.pm, bin/create-history-tables,
+         httemplate/browse/cust_main_county.cgi,
+         httemplate/edit/cust_main_county.cgi,
+         httemplate/edit/process/cust_main_county.cgi: all taxes now have
+         names.  closes: Bug#15
 
 2002-09-20 08:49  ivan
 
 
 2002-09-20 08:47  ivan
 
-       * FS/: MANIFEST, bin/freeside-addoutsourceuser,
-         bin/freeside-deloutsource, bin/freeside-deloutsourceuser,
-         bin/freeside-deluser, bin/freeside-setup: add freeside-deluser,
-         freeside-deloutsource and freeside-deloutsourceuser
+       * FS/MANIFEST, FS/bin/freeside-addoutsourceuser,
+         FS/bin/freeside-deloutsource, FS/bin/freeside-deloutsourceuser,
+         FS/bin/freeside-deluser, FS/bin/freeside-setup,
+         bin/populate-msgcat: add freeside-deluser, freeside-deloutsource
+         and freeside-deloutsourceuser
 
 2002-09-20 08:46  ivan
 
 
 2002-09-20 05:50  ivan
 
-       * FS/bin/freeside-setup: move from bin/fs-setup to
+       * FS/bin/freeside-setup, bin/fs-setup,
+         httemplate/docs/install.html: move from bin/fs-setup to
          FS/bin/freeside-setup
 
+2002-09-20 05:04  ivan
+
+       * README.1.5.0pre1, httemplate/docs/install.html: doc NetAddr::IP
+         dependancy
+
 2002-09-20 03:16  ivan
 
-       * FS/FS/UID.pm: change otaker fields to 32 chars
+       * README.1.5.0pre1, FS/FS/UID.pm, bin/fs-setup: change otaker
+         fields to 32 chars
 
 2002-09-19 06:34  ivan
 
-       * FS/FS/Record.pm: use database SERIAL or AUTO_INCREMENT for
-         primary keys, finally, yay! closes: bug#69
+       * bin/fs-setup, FS/FS/Record.pm, bin/dbdef-create: use database
+         SERIAL or AUTO_INCREMENT for primary keys, finally, yay! closes:
+         bug#69
+
+2002-09-19 06:25  ivan
+
+       * README.1.5.0pre1: preliminary upgrade instructions
 
 2002-09-19 01:43  ivan
 
 
        * FS/FS/svc_acct.pm: remove extra definition of $cust_pkg
 
+2002-09-19 00:15  ivan
+
+       * httemplate/view/cust_pkg.cgi: cancel later in view UI... hmm
+
 2002-09-18 15:50  ivan
 
        * FS/FS/Conf.pm, FS/FS/cust_main_invoice.pm, FS/FS/svc_acct.pm,
 
 2002-09-18 05:10  ivan
 
-       * httemplate/docs/: index.html, legacy.html: doc
+       * httemplate/docs/: index.html, legacy.html, upgrade4.html,
+         upgrade5.html, upgrade6.html: doc
 
 2002-09-17 03:21  ivan
 
 
        * FS/FS.pm, FS/MANIFEST, FS/FS/InitHandler.pm, FS/FS/cust_pkg.pm,
          FS/FS/part_export.pm, FS/FS/part_svc.pm, FS/FS/svc_acct.pm,
-         httemplate/index.html, httemplate/docs/schema.dia,
-         httemplate/docs/schema.html, httemplate/edit/part_svc.cgi,
-         httemplate/edit/process/part_svc.cgi, httemplate/misc/link.cgi,
-         httemplate/search/svc_domain.cgi: remove svc_acct_sm
+         FS/FS/svc_acct_sm.pm, FS/t/svc_acct_sm.t, httemplate/index.html,
+         httemplate/docs/schema.dia, httemplate/docs/schema.html,
+         httemplate/edit/part_svc.cgi, httemplate/edit/svc_acct_sm.cgi,
+         httemplate/edit/process/part_svc.cgi,
+         httemplate/edit/process/svc_acct_sm.cgi,
+         httemplate/misc/link.cgi, httemplate/search/svc_acct_sm.cgi,
+         httemplate/search/svc_acct_sm.html,
+         httemplate/search/svc_domain.cgi,
+         httemplate/view/svc_acct_sm.cgi: remove svc_acct_sm
 
 2002-09-16 17:40  ivan
 
          stop
              overwriting existing invoice destinations
 
+2002-09-16 02:27  ivan
+
+       * FS/bin/freeside-expiration-alerter: skip empty expiration dates
+
 2002-09-11 02:28  ivan
 
        * httemplate/browse/svc_acct_pop.cgi: mason error
        * FS/FS/cust_bill.pm: Business::OnlinePaymet fix for processors w/o
          order numbers, like VirtualNet
 
+2002-09-09 17:37  ivan
+
+       * httemplate/docs/upgrade9.html: doc: need Net::SSH 0.07 for 1.4.1
+
 2002-09-09 16:05  khoff
 
-       * httemplate/: edit/svc_broadband.cgi,
+       * httemplate/: browse/ac.cgi, browse/ac_type.cgi, edit/ac.cgi,
+         edit/ac_type.cgi, edit/svc_broadband.cgi, edit/process/ac.cgi,
+         edit/process/ac_block.cgi, edit/process/ac_field.cgi,
+         edit/process/ac_type.cgi, edit/process/part_ac_field.cgi,
          edit/process/svc_broadband.cgi, view/svc_broadband.cgi:
          svc_broadband merge
 
 2002-09-09 16:01  khoff
 
-       * FS/FS/cust_svc.pm, FS/FS/part_export.pm, httemplate/index.html,
+       * FS/FS/cust_svc.pm, FS/FS/part_export.pm, bin/fs-setup,
+         htetc/global.asa, httemplate/index.html,
          httemplate/edit/part_svc.cgi,
-         httemplate/edit/process/part_svc.cgi, FS/FS/svc_broadband.pm:
-         svc_broadband merge
+         httemplate/edit/process/part_svc.cgi, FS/FS/ac.pm,
+         FS/FS/ac_block.pm, FS/FS/ac_field.pm, FS/FS/ac_type.pm,
+         FS/FS/part_ac_field.pm, FS/FS/svc_broadband.pm: svc_broadband
+         merge
+
+2002-09-09 15:57  ivan
+
+       * FS/bin/: freeside-cc-receipts-report, freeside-credit-report,
+         freeside-receivables-report, freeside-tax-report: allow . in
+         untaint_argv, for usernames
 
 2002-09-09 15:56  khoff
 
 
 2002-09-06 19:27  ivan
 
-       * httemplate/docs/index.html: 1.4.1
+       * httemplate/docs/: index.html, upgrade9.html: 1.4.1
 
 2002-09-06 19:19  ivan
 
        * FS/FS/cust_bill.pm: Business::OnlinePayment::VitualNet
          compatibility
 
+2002-09-05 06:59  ivan
+
+       * ANNOUCE.1.4.0: naw
+
 2002-09-05 06:50  ivan
 
        * httemplate/browse/part_svc.cgi: don't show "clone an existing
 
 2002-08-11 23:17  ivan
 
-       * rt/: Makefile, bin/mason_handler.fcgi, bin/mason_handler.scgi,
-         bin/rt-mailgate, etc/schema.Pg, lib/RT.pm, lib/RT/Record.pm:
-         import rt 2.0.14
+       * rt/: COPYING, ChangeLog, Makefile, README, TODO,
+         bin/initacls.Oracle, bin/initacls.Pg, bin/initacls.mysql,
+         bin/mason_handler.fcgi, bin/mason_handler.scgi, bin/rt,
+         bin/rt-mailgate, bin/rtadmin, bin/webmux.pl, docs/README.docs,
+         docs/Security, docs/rt.gif, docs/design_docs/CARS,
+         docs/design_docs/TransactionTypes.txt, docs/design_docs/acls,
+         docs/design_docs/basic-definitions.txt,
+         docs/design_docs/cli_spec, docs/design_docs/cvs_integration,
+         docs/design_docs/evil_plans,
+         docs/design_docs/link-definitions.txt,
+         docs/design_docs/local_hacking,
+         docs/design_docs/subscription-definitions.txt,
+         docs/design_docs/users, etc/acl.Oracle, etc/acl.Pg,
+         etc/acl.mysql, etc/config.pm, etc/rt.spec, etc/schema.Oracle,
+         etc/schema.Pg, etc/schema.mysql, etc/schema.pm, lib/MANIFEST,
+         lib/MANIFEST.SKIP, lib/Makefile.PL, lib/RT.pm, lib/test.pl,
+         lib/RT/ACE.pm, lib/RT/ACL.pm, lib/RT/Attachment.pm,
+         lib/RT/Attachments.pm, lib/RT/CurrentUser.pm, lib/RT/Date.pm,
+         lib/RT/EasySearch.pm, lib/RT/Group.pm, lib/RT/GroupMember.pm,
+         lib/RT/GroupMembers.pm, lib/RT/Groups.pm, lib/RT/Handle.pm,
+         lib/RT/Keyword.pm, lib/RT/KeywordSelect.pm,
+         lib/RT/KeywordSelects.pm, lib/RT/Keywords.pm, lib/RT/Link.pm,
+         lib/RT/Links.pm, lib/RT/ObjectKeyword.pm,
+         lib/RT/ObjectKeywords.pm, lib/RT/Queue.pm, lib/RT/Queues.pm,
+         lib/RT/Record.pm, lib/RT/Scrip.pm, lib/RT/ScripAction.pm,
+         lib/RT/ScripActions.pm, lib/RT/ScripCondition.pm,
+         lib/RT/ScripConditions.pm, lib/RT/Scrips.pm, lib/RT/Template.pm,
+         lib/RT/Templates.pm, lib/RT/TestHarness.pm, lib/RT/Ticket.pm,
+         lib/RT/Tickets.pm, lib/RT/Transaction.pm, lib/RT/Transactions.pm,
+         lib/RT/User.pm, lib/RT/Users.pm, lib/RT/Watcher.pm,
+         lib/RT/Watchers.pm, lib/RT/Action/Autoreply.pm,
+         lib/RT/Action/Generic.pm, lib/RT/Action/Notify.pm,
+         lib/RT/Action/NotifyAsComment.pm, lib/RT/Action/OpenDependent.pm,
+         lib/RT/Action/ResolveMembers.pm, lib/RT/Action/SendEmail.pm,
+         lib/RT/Action/SendPasswordEmail.pm,
+         lib/RT/Action/StallDependent.pm,
+         lib/RT/Condition/AnyTransaction.pm, lib/RT/Condition/Generic.pm,
+         lib/RT/Condition/NewDependency.pm,
+         lib/RT/Condition/StatusChange.pm, lib/RT/Interface/CLI.pm,
+         lib/RT/Interface/Email.pm, lib/RT/Interface/Web.pm: import rt
+         2.0.14
 
 2002-08-02 17:39  ivan
 
-       * httemplate/docs/legacy.html: remove some extra modules from
-         install doc
+       * httemplate/docs/: install.html, legacy.html: remove some extra
+         modules from install doc
 
 2002-07-31 11:55  ivan
 
        * FS/FS/: part_export.pm, part_export/shellcommands.pm:
          shellcommands edit gecos field too
 
+2002-07-25 18:38  ivan
+
+       * httemplate/docs/install.html: tyop
+
+2002-07-25 18:31  ivan
+
+       * httemplate/docs/install.html: tyop
+
 2002-07-23 05:37  ivan
 
        * FS/FS/svc_acct.pm: fix small bugs in duplicate username checking
        * FS/t/ClientAPI.t, fs_selfservice/FS-SelfService/cgi/passwd.html:
          adding
 
+2002-07-22 03:41  ivan
+
+       * httemplate/docs/install.html: no mysql in 1.4.0 release.
+         hopefully 1.4.1
+
 2002-07-22 03:20  ivan
 
-       * Makefile: 1.4.0
+       * ANNOUCE.1.4.0, Makefile, README.1.4.0pre11, README.1.4.0pre12,
+         README.1.4.0pre13, README.1.4.0pre14, README.1.4.0pre8,
+         README.1.4.0pre9: 1.4.0
 
 2002-07-22 03:18  ivan
 
 
 2002-07-16 05:28  ivan
 
-       * fs_selfservice/: DEPLOY, fs_passwd_test,
-         FS-SelfService/SelfService.pm,
+       * fs_selfservice/: DEPLOY, freeside-selfservice-server,
+         fs_passwd_test, FS-SelfService/SelfService.pm,
          FS-SelfService/freeside-selfservice-clientd,
          FS-SelfService/cgi/login.html, FS-SelfService/cgi/myaccount.html,
          FS-SelfService/cgi/selfservice.cgi,
 
 2002-07-15 01:28  ivan
 
-       * fs_selfservice/: fs_passwd_test,
+       * fs_selfservice/: freeside-selfservice-server, fs_passwd_test,
          FS-SelfService/freeside-selfservice-clientd: working framework,
          no hung clients, whew
 
 
        * bin/bind.import: finally a working DNS::ZoneParse
 
+2002-07-13 17:28  ivan
+
+       * httemplate/docs/: install.html, upgrade8.html: no mason 1.1x yet
+         :(
+
 2002-07-11 06:52  ivan
 
-       * fs_selfservice/: DEPLOY, fs_passwd_test, FS-SelfService/MANIFEST,
+       * fs_selfservice/: DEPLOY, freeside-selfservice-server,
+         fs_passwd_test, FS-SelfService/MANIFEST,
          FS-SelfService/SelfService.pm,
          FS-SelfService/freeside-selfservice-clientd: finally working
          async framework
        * httemplate/edit/: REAL_cust_pkg.cgi, process/REAL_cust_pkg.cgi:
          edit expiration dates
 
+2002-07-08 03:52  ivan
+
+       * httemplate/search/cust_bill.cgi: remove perl-side sort routines,
+         no longer needed
+
 2002-07-08 03:01  ivan
 
        * FS/FS/part_export.pm: default linux/netbsd shellcommand userdel
          should remove home directories
 
+2002-07-08 01:39  ivan
+
+       * httemplate/docs/install.html: new and improved instructions!  now
+         even more idiot proof!
+
 2002-07-07 10:49  ivan
 
        * FS/FS/svc_acct.pm: rewrite uid-dup checking to be
          new-export-aware, closes: #431
 
+2002-07-07 07:33  ivan
+
+       * httemplate/search/cust_bill.cgi: clean up after rewrite... turned
+         out rather nice
+
+2002-07-07 07:28  ivan
+
+       * httemplate/search/cust_bill.cgi: fixing 30/60/90/120...
+
+2002-07-07 07:26  ivan
+
+       * httemplate/search/cust_bill.cgi: just might work
+
+2002-07-07 07:24  ivan
+
+       * httemplate/search/cust_bill.cgi: that would be nice...
+
+2002-07-07 07:18  ivan
+
+       * httemplate/search/cust_bill.cgi: fix 30/60/90/120 browses
+
+2002-07-07 07:14  ivan
+
+       * httemplate/search/cust_bill.cgi: UI
+
+2002-07-07 07:12  ivan
+
+       * httemplate/search/cust_bill.cgi: totals and order by
+
+2002-07-07 07:00  ivan
+
+       * httemplate/search/cust_bill.cgi: try for correct totals
+
+2002-07-07 06:52  ivan
+
+       * httemplate/search/cust_bill.cgi: don't recalculate owed
+
+2002-07-07 06:31  ivan
+
+       * httemplate/search/cust_bill.cgi: comma
+
+2002-07-07 06:30  ivan
+
+       * httemplate/search/cust_bill.cgi: calculate owed as subquery here
+         too
+
+2002-07-07 06:25  ivan
+
+       * httemplate/search/cust_bill.cgi: don't forget to where the where
+         clause
+
+2002-07-07 06:23  ivan
+
+       * httemplate/search/cust_bill.cgi: try for working paged invoices,
+         this time with subqueries
+
+2002-07-07 04:45  ivan
+
+       * httemplate/search/cust_bill.cgi: wtf?
+
+2002-07-07 04:30  ivan
+
+       * httemplate/search/cust_bill.cgi: invoice search with possibly
+         working pager
+
+2002-07-07 04:03  ivan
+
+       * httemplate/search/cust_bill.cgi: move query logic from perl to
+         sql for scalability
+
+2002-07-06 05:53  ivan
+
+       * httemplate/docs/install.html: new!  improved!  now even more
+         idiot-proof!
+
 2002-07-06 05:15  ivan
 
        * Makefile: beta2
 
+2002-07-06 05:13  ivan
+
+       * bin/fs-setup: fix Can't use an undefined value as an ARRAY
+         reference at ./fs-setup line 209, <STDIN> line 3.
+
 2002-07-06 04:08  ivan
 
        * httemplate/: edit/svc_forward.cgi, view/svc_forward.cgi: fix UI
 
 2002-07-06 01:29  ivan
 
-       * httemplate/view/cust_main.cgi: speling
+       * httemplate/view/: cust_pkg.cgi, cust_main.cgi: speling
 
 2002-07-06 00:32  ivan
 
        * httemplate/edit/part_pkg.cgi: fix speling
 
+2002-07-06 00:31  ivan
+
+       * ANNOUCE.1.4.0: this file should probably go away soon...
+
 2002-07-06 00:30  ivan
 
        * FS/FS/: Conf.pm, part_export.pm, svc_www.pm,
 2002-07-04 03:35  ivan
 
        * httemplate/browse/: agent.cgi, agent_type.cgi,
-         part_bill_event.cgi, part_export.cgi, part_pkg.cgi, part_svc.cgi,
-         svc_acct_pop.cgi: move "add" links to the top
+         part_bill_event.cgi, part_export.cgi, part_pkg.cgi,
+         part_referral.cgi, part_svc.cgi, svc_acct_pop.cgi: move "add"
+         links to the top
 
 2002-07-03 07:45  ivan
 
 
        * FS/FS/part_export.pm: fix usermod commands for freebsd
 
+2002-07-02 07:38  ivan
+
+       * ANNOUCE.1.4.0: beta1!
+
 2002-07-02 07:37  ivan
 
        * Makefile: beta1!!
 
        * FS/bin/freeside-queued: grr old openssh grr freebsd
 
+2002-07-02 03:01  ivan
+
+       * httemplate/docs/install.html: freeside group
+
 2002-07-02 02:42  ivan
 
        * FS/bin/freeside-queued: fleabsd grr
 
 2002-06-30 04:01  ivan
 
-       * CREDITS: administrivia
+       * ANNOUCE.1.4.0, CREDITS: administrivia
 
 2002-06-30 00:17  ivan
 
 
 2002-06-28 13:31  ivan
 
-       * FS/FS/svc_acct.pm: better error message for illegal password
+       * FS/FS/svc_acct.pm, bin/populate-msgcat: better error message for
+         illegal password
+
+2002-06-28 13:23  ivan
+
+       * bin/fs-setup: not anymore...
 
 2002-06-28 13:21  ivan
 
 
 2002-06-26 00:42  ivan
 
-       * bin/: bsdshell.export, sysvshell.export: shell.export ->
-         bsdshell.export & sysvshell.export
+       * bin/: bsdshell.export, shell.export, sysvshell.export:
+         shell.export -> bsdshell.export & sysvshell.export
 
 2002-06-25 20:53  ivan
 
        * FS/FS/svc_acct.pm: better error messages on uid duplicates... uid
          stuff still needs to be rewritten for new exports
 
+2002-06-21 02:28  ivan
+
+       * httemplate/docs/upgrade8.html: don't forget part_svc in upgrades
+
 2002-06-21 02:15  ivan
 
        * bin/passwd.import: oops
 
        * bin/passwd.import: tiny bit better passwd.import
 
+2002-06-21 02:03  ivan
+
+       * httemplate/docs/upgrade8.html: doc
+
 2002-06-21 01:29  ivan
 
-       * httemplate/index.html: uid search on main menu, updated upgrade
-         docs
+       * httemplate/: index.html, docs/upgrade8.html: uid search on main
+         menu, updated upgrade docs
 
 2002-06-20 15:35  ivan
 
        * FS/FS/part_export/infostreet.pm: fix infostreet contact field foo
 
+2002-06-20 15:31  ivan
+
+       * httemplate/docs/install.html: doc
+
 2002-06-19 18:29  ivan
 
        * FS/FS/part_export.pm, FS/FS/part_export/shellcommands.pm,
 
 2002-06-14 04:26  ivan
 
-       * Makefile: 1.4.0pre14
+       * ANNOUCE.1.4.0, Makefile, README.1.4.0pre14: 1.4.0pre14
 
 2002-06-14 04:22  ivan
 
 
 2002-06-13 20:12  ivan
 
-       * httemplate/index.html: remove classic interface
+       * httemplate/: classic.html, index.html: remove classic interface
+
+2002-06-13 19:52  ivan
+
+       * httemplate/docs/: install.html, mysql.html: mysql support!
 
 2002-06-13 19:25  ivan
 
        * FS/FS/cust_main.pm: fix problems with code that resets invoice
          events
 
+2002-06-11 11:32  ivan
+
+       * bin/shell.export: don't export empty files
+
+2002-06-11 11:25  ivan
+
+       * bin/shell.export: use FS::cust_svc and FS::svc_acct
+
+2002-06-11 11:23  ivan
+
+       * bin/shell.export: bsd only for now
+
 2002-06-11 11:20  ivan
 
-       * bin/bind.export: perl 5.005 needs an explicit mask for mkdir
+       * bin/: bind.export, shell.export: perl 5.005 needs an explicit
+         mask for mkdir
 
 2002-06-11 02:51  ivan
 
 
 2002-06-11 02:46  ivan
 
-       * bin/bind.export: add preliminary bsd shell export
+       * bin/: bind.export, shell.export: add preliminary bsd shell export
 
 2002-06-11 02:14  ivan
 
 
 2002-06-09 18:39  khoff
 
-       * FS/FS/part_pkg.pm, FS/FS/pkg_svc.pm,
+       * FS/FS/part_pkg.pm, FS/FS/pkg_svc.pm, bin/fs-setup,
          httemplate/browse/part_pkg.cgi, httemplate/docs/schema.html,
          httemplate/edit/part_pkg.cgi: Rollback part_pkg.def_svcpart
          changes.
 
 2002-06-08 00:48  khoff
 
-       * FS/FS/part_pkg.pm, FS/FS/pkg_svc.pm,
+       * FS/FS/part_pkg.pm, FS/FS/pkg_svc.pm, bin/fs-setup,
          httemplate/browse/part_pkg.cgi, httemplate/docs/schema.html,
          httemplate/edit/part_pkg.cgi: Default svcpart support for
          part_pkg.  Fixes 'bug' with new customer and online signup.
        * httemplate/search/: cust_main.cgi, cust_pkg.cgi, svc_acct.cgi:
          more mysql goodness, thanks dale
 
+2002-06-04 10:37  ivan
+
+       * httemplate/docs/install.html: small doc patch from
+         baloo@gimpgirl.org
+
 2002-06-04 07:35  ivan
 
        * FS/FS/: cust_credit.pm, cust_pay.pm: fix unsuspendauto
 
        * conf/declinetemplate: misspelling
 
+2002-05-31 15:37  ivan
+
+       * bin/fs-setup: no state necessary in batch cards (i18n)
+
 2002-05-31 13:34  ivan
 
        * FS/FS/part_export.pm: dammit i want to catch export subclass
 
 2002-05-28 21:40  ivan
 
-       * fs_selfservice/FS-SelfService/: Changes, MANIFEST, Makefile.PL,
-         SelfService.pm, test.pl: add fs_selfservice
+       * fs_selfservice/: freeside-selfservice-server,
+         FS-SelfService/Changes, FS-SelfService/MANIFEST,
+         FS-SelfService/Makefile.PL, FS-SelfService/SelfService.pm,
+         FS-SelfService/test.pl: add fs_selfservice
 
 2002-05-28 14:22  ivan
 
-       * FS/FS/svc_acct.pm: better error message for "Illegal password"
+       * FS/FS/svc_acct.pm, bin/populate-msgcat: better error message for
+         "Illegal password"
 
 2002-05-28 00:55  ivan
 
 
 2002-05-23 06:00  ivan
 
-       * FS/FS/domain_record.pm, bin/bind.import,
-         httemplate/edit/process/domain_record.cgi,
+       * ANNOUCE.1.4.0, FS/FS/domain_record.pm, bin/bind.import,
+         bin/svc_domain.import, httemplate/edit/process/domain_record.cgi,
          httemplate/view/svc_domain.cgi: bind: allow adding slave domains
          too
 
 
        * FS/FS/part_export/sqlradius.pm: 5.6-isms
 
+2002-05-20 04:02  ivan
+
+       * bin/svc_domain.import: [no log message]
+
 2002-05-18 02:51  ivan
 
        * FS/FS/: cust_bill.pm, cust_pay.pm, svc_domain.pm: Mail::Internet
          1.44
 
+2002-05-17 06:51  ivan
+
+       * httemplate/docs/install.html: tyop
+
 2002-05-16 20:47  ivan
 
        * FS/FS/svc_acct.pm: freebsd `toor' user
          t/part_export-bsdshell.t, t/part_export-textradius.t: adding
          (stub) bsdshell and textradius exports
 
+2002-05-16 07:28  ivan
+
+       * bin/svc_acct.export: ip address is added by radius_reply method
+         already
+
 2002-05-16 07:27  ivan
 
        * FS/MANIFEST, eg/export_template.pm: add (stub) bsdshell and
 
        * FS/FS/svc_acct.pm: allow freebsd `toor' root user
 
+2002-05-16 00:53  ivan
+
+       * httemplate/docs/upgrade8.html: upgrade docs: run populate-msgcat
+
 2002-05-15 07:00  ivan
 
        * FS/FS/: queue.pm, part_export/sqlradius.pm: use job dependancies
 
 2002-05-15 06:24  ivan
 
-       * Makefile, FS/FS.pm, FS/MANIFEST, FS/FS/queue.pm,
-         FS/FS/queue_depend.pm, FS/FS/part_export/sqlradius.pm,
-         FS/bin/freeside-queued, FS/t/queue_depend.t,
-         eg/export_template.pm, httemplate/docs/schema.dia,
-         httemplate/docs/schema.html, httemplate/docs/schema.png: queue
-         dependancies
+       * ANNOUCE.1.4.0, Makefile, README.1.4.0pre13, FS/FS.pm,
+         FS/MANIFEST, FS/FS/queue.pm, FS/FS/queue_depend.pm,
+         FS/FS/part_export/sqlradius.pm, FS/bin/freeside-queued,
+         FS/t/queue_depend.t, bin/fs-setup, eg/export_template.pm,
+         httemplate/docs/install.html, httemplate/docs/schema.dia,
+         httemplate/docs/schema.html, httemplate/docs/schema.png,
+         httemplate/docs/upgrade8.html: queue dependancies
 
 2002-05-14 00:36  ivan
 
 
        * Makefile: INSTALLGROUP
 
+2002-05-09 09:41  ivan
+
+       * bin/populate-msgcat: permissions
+
 2002-05-09 08:26  ivan
 
        * Makefile: final make release?
        * httemplate/: edit/cust_main.cgi, view/cust_main.cgi:
          s/Referral/Advertising source/
 
+2002-05-09 08:14  ivan
+
+       * httemplate/docs/: install.html, mysql.html: attempt to avoid
+         people installing and asking for help with MySQL despite the VERY
+         FUCKING CLEAR instructions that it isn't supported.
+
 2002-05-09 08:12  ivan
 
        * FS/FS/cust_main_county.pm: don't duplicate state/county/country
 2002-05-09 05:38  ivan
 
        * FS/FS/Conf.pm, FS/FS/cust_main.pm, FS/FS/cust_main_county.pm,
-         FS/FS/part_pkg.pm, FS/t/cust_tax_exempt.t, htetc/handler.pl,
-         httemplate/browse/agent.cgi,
+         FS/FS/part_pkg.pm, FS/t/cust_tax_exempt.t, htetc/global.asa,
+         htetc/handler.pl, httemplate/browse/agent.cgi,
          httemplate/browse/cust_main_county.cgi,
          httemplate/edit/agent.cgi, httemplate/edit/cust_main.cgi,
          httemplate/edit/cust_main_county-expand.cgi,
+         httemplate/edit/cust_main_county.cgi,
          httemplate/edit/part_pkg.cgi,
-         httemplate/edit/process/cust_main_county-expand.cgi: texas tax!
+         httemplate/edit/process/cust_main_county-expand.cgi,
+         httemplate/edit/process/cust_main_county.cgi: texas tax!
 
 2002-05-06 06:36  ivan
 
 
 2002-05-04 08:00  ivan
 
-       * FS/FS.pm, FS/MANIFEST, FS/FS/cust_main_county.pm,
-         FS/FS/cust_tax_exempt.pm, FS/FS/part_pkg.pm,
+       * README.1.4.0pre12, FS/FS.pm, FS/MANIFEST,
+         FS/FS/cust_main_county.pm, FS/FS/cust_tax_exempt.pm,
+         FS/FS/part_pkg.pm, FS/t/cust_tax_exempt.pm, bin/fs-setup,
          httemplate/docs/admin.html, httemplate/docs/schema.dia,
-         httemplate/docs/schema.html: schema changes for proper texas tax
+         httemplate/docs/schema.html, httemplate/docs/upgrade8.html:
+         schema changes for proper texas tax
 
 2002-05-03 18:11  ivan
 
 
        * httemplate/search/cust_pkg.cgi: fix ranges on cust_pkg search
 
+2002-05-03 17:49  ivan
+
+       * httemplate/search/cust_pkg.html: point at correct .cgi
+
 2002-05-03 17:47  ivan
 
        * FS/FS/cust_pkg.pm: prevent stuff passed from template/user from
 
 2002-05-03 17:32  ivan
 
-       * httemplate/search/cust_pkg.cgi: lilunixbtch: trying to pull
-         accounts based on next billdate tofu_beast420: hmm a report
-         ordered by next bill date? tofu_beast420: i don't know how you'd
-         do that per _customer_ since a customer could have lots of
-         packages, but you could do a per-package report maybe?
+       * httemplate/search/: cust_pkg.cgi, cust_pkg.html: lilunixbtch:
+         trying to pull accounts based on next billdate tofu_beast420: hmm
+         a report ordered by next bill date? tofu_beast420: i don't know
+         how you'd do that per _customer_ since a customer could have lots
+         of packages, but you could do a per-package report maybe?
 
 2002-04-29 22:43  ivan
 
-       * FS/FS/part_export.pm: better BIND integration
+       * FS/FS/part_export.pm, bin/svc_domain.import: better BIND
+         integration
 
 2002-04-26 04:14  ivan
 
 
 2002-04-24 02:03  ivan
 
-       * FS/FS/cust_main.pm: msgcat error for credit card expiration
-         (closes: Bug#407)
+       * FS/FS/cust_main.pm, bin/populate-msgcat: msgcat error for credit
+         card expiration (closes: Bug#407)
 
 2002-04-23 00:32  ivan
 
 
 2002-04-20 05:37  ivan
 
-       * FS/FS/part_export.pm, httemplate/edit/part_export.cgi: bind
-         export
+       * ANNOUCE.1.4.0, FS/FS/part_export.pm,
+         httemplate/edit/part_export.cgi: bind export
 
 2002-04-20 04:57  ivan
 
        * FS/FS/domain_record.pm, FS/FS/part_export.pm, bin/passwd.import,
-         bin/svc_domain.erase, httemplate/docs/legacy.html:
+         bin/svc_domain.erase, bin/svc_domain.import,
+         httemplate/docs/legacy.html:
          working BIND import
 
 2002-04-20 03:49  ivan
 
        * FS/FS/domain_record.pm: allow uppercase zones...
 
+2002-04-19 23:34  ivan
+
+       * bin/populate-msgcat: perms
+
+2002-04-19 23:33  ivan
+
+       * bin/fs-setup: fixup fs-setup
+
 2002-04-19 19:06  ivan
 
        * FS/FS/: cust_pkg.pm, cust_svc.pm: fix problem with edge case
 
        * FS/FS/Record.pm: get rid of debugging cruft
 
+2002-04-16 22:48  ivan
+
+       * fs_passwd/fs_passwdd: forgotten semicolon
+
+2002-04-16 22:46  ivan
+
+       * fs_passwd/fs_passwdd: also untaint pid
+
+2002-04-16 22:44  ivan
+
+       * fs_passwd/fs_passwdd: *sigh*
+
+2002-04-16 22:42  ivan
+
+       * fs_passwd/fs_passwdd:
+         okay pid file has a change of working now
+
+2002-04-16 22:39  ivan
+
+       * fs_passwd/fs_passwdd: tyop
+
+2002-04-16 22:22  ivan
+
+       * fs_passwd/fs_passwdd: pid file foo
+
+2002-04-16 18:14  ivan
+
+       * fs_passwd/fs_passwd_server: kill off ssh kid on exit...
+
 2002-04-16 17:25  ivan
 
        * httemplate/search/cust_main.cgi: better ordering in search
 
 2002-04-16 15:52  ivan
 
-       * FS/FS/: Conf.pm, cust_bill.pm: further authorize.net description
-         debugging (agent??) and get rid of bad unique index on
-         cust_bill_event
+       * README.1.4.0pre12, FS/FS/Conf.pm, FS/FS/cust_bill.pm,
+         bin/fs-setup: further authorize.net description debugging
+         (agent??) and get rid of bad unique index on cust_bill_event
 
 2002-04-16 15:38  ivan
 
        * FS/FS/Conf.pm, FS/FS/cust_bill.pm, FS/FS/cust_bill_event.pm,
          httemplate/index.html, httemplate/search/cust_bill_event.cgi,
          httemplate/search/cust_bill_event.html,
+         httemplate/search/report_cc.html,
+         httemplate/search/report_credit.html,
          httemplate/search/report_tax.html, httemplate/view/cust_bill.cgi:
          report on failed billing events...
 
 2002-04-16 02:38  ivan
 
-       * FS/FS/Conf.pm, FS/FS/cust_bill.pm, conf/declinetemplate: - send a
-         notice to the customer when their card is declined - closes:
-         Bug#351 - freeside-expiration-alerter works fine, closes: Bug#7
+       * FS/FS/Conf.pm, FS/FS/cust_bill.pm,
+         FS/bin/freeside-expiration-alerter, conf/declinetemplate,
+         httemplate/docs/billing.html: - send a notice to the customer
+         when their card is declined - closes: Bug#351 -
+         freeside-expiration-alerter works fine, closes: Bug#7
 
 2002-04-16 01:52  ivan
 
          FS/FS/part_export/vpopmail.pm, FS/t/part_export-cp.t,
          FS/t/part_export-cyrus.t, FS/t/part_export-shellcommands.t,
          FS/t/part_export-vpopmail.t, eg/export_template.pm,
-         httemplate/docs/legacy.html, httemplate/docs/schema.dia,
-         httemplate/docs/schema.html, httemplate/docs/schema.png: - move
-         cyrus, shellcommands, CP exports exports to new-style - skeleton
-         files for vpopmail exports - documentation updates - add big
-         schema diagram to docs
+         httemplate/docs/billing.html, httemplate/docs/legacy.html,
+         httemplate/docs/schema.dia, httemplate/docs/schema.html,
+         httemplate/docs/schema.png: - move cyrus, shellcommands, CP
+         exports exports to new-style - skeleton files for vpopmail
+         exports - documentation updates - add big schema diagram to docs
+
+2002-04-13 18:36  ivan
+
+       * httemplate/docs/billing.html: docu for invoice_lines(0) with no
+         arguments
 
 2002-04-13 06:36  ivan
 
        * FS/FS.pm, FS/FS/Conf.pm, FS/FS/part_export.pm, FS/FS/svc_acct.pm,
-         FS/FS/part_export/cp.pm, FS/bin/freeside-sqlradius-reset,
+         FS/FS/part_export/cp.pm, FS/bin/freeside-overdue,
+         FS/bin/freeside-sqlradius-reset, bin/sqlradius_reset,
          httemplate/edit/part_export.cgi: - documentation updates - move
          Critical Path export to new-style export - bin/sqlradius_reset
          gets a manpage and becomes FS/bin/freeside-sqlradius-reset
        * FS/MANIFEST, FS/FS/Msgcat.pm, FS/FS/Record.pm,
          FS/FS/cust_main.pm, FS/FS/cust_main_invoice.pm, FS/FS/msgcat.pm,
          FS/FS/part_export.pm, FS/FS/svc_acct.pm, FS/t/Msgcat.t,
-         htetc/handler.pl, httemplate/browse/part_svc.cgi,
-         httemplate/edit/part_export.cgi, httemplate/edit/part_svc.cgi,
+         htetc/global.asa, htetc/handler.pl,
+         httemplate/browse/part_svc.cgi, httemplate/edit/part_export.cgi,
+         httemplate/edit/part_svc.cgi,
          httemplate/edit/process/agent_type.cgi,
          httemplate/edit/process/part_export.cgi,
          httemplate/edit/process/part_svc.cgi,
 
 2002-04-11 15:05  ivan
 
-       * FS/FS.pm, FS/MANIFEST, FS/FS/export_svc.pm, FS/FS/part_export.pm,
-         FS/FS/part_svc.pm, FS/t/export_svc.t, httemplate/index.html,
+       * README.1.4.0pre12, FS/FS.pm, FS/MANIFEST, FS/FS/export_svc.pm,
+         FS/FS/part_export.pm, FS/FS/part_svc.pm, FS/t/export_svc.t,
+         bin/fs-setup, bin/sqlradius_reset, httemplate/index.html,
          httemplate/browse/part_export.cgi,
          httemplate/browse/part_svc.cgi, httemplate/docs/schema.html,
-         httemplate/edit/part_export.cgi,
+         httemplate/docs/upgrade8.html, httemplate/edit/part_export.cgi,
          httemplate/edit/process/part_export.cgi,
          httemplate/misc/delete-part_export.cgi: (almost) everything for
          bug#375 - create export_svc table - part_svc to part_export is
 
 2002-04-10 06:42  ivan
 
-       * FS/FS/Conf.pm, FS/FS/Record.pm, FS/FS/cust_main.pm,
-         FS/FS/cust_main_invoice.pm, FS/FS/svc_acct.pm,
-         FS/FS/svc_acct_pop.pm, httemplate/browse/msgcat.cgi,
-         httemplate/docs/signup.html, httemplate/edit/msgcat.cgi,
+       * ANNOUCE.1.4.0, README.1.4.0pre12, FS/FS/Conf.pm, FS/FS/Record.pm,
+         FS/FS/cust_main.pm, FS/FS/cust_main_invoice.pm,
+         FS/FS/svc_acct.pm, FS/FS/svc_acct_pop.pm, bin/populate-msgcat,
+         httemplate/browse/msgcat.cgi, httemplate/docs/signup.html,
+         httemplate/docs/upgrade8.html, httemplate/edit/msgcat.cgi,
          httemplate/edit/process/msgcat.cgi: bulk checkin from working on
          the road:
 
          on errors - httemplate/edit/process/msgcat.cgi - don't update
          identical fields
 
+2002-04-10 01:39  ivan
+
+       * bin/fs-setup: fix mistake in part_pop_local schema (not used by
+         anyone really so no big deal)
+
 2002-04-06 22:23  ivan
 
        * FS/FS/: Conf.pm, cust_bill.pm, cust_pay.pm: send email on signup
 
 2002-04-06 21:56  ivan
 
-       * FS/FS/Conf.pm, FS/FS/msgcat.pm, conf/show-msgcat-codes,
-         httemplate/browse/msgcat.cgi, httemplate/edit/msgcat.cgi,
+       * FS/FS/Conf.pm, FS/FS/msgcat.pm, bin/populate-msgcat,
+         conf/show-msgcat-codes, httemplate/browse/msgcat.cgi,
+         httemplate/docs/install.html, httemplate/edit/msgcat.cgi,
          httemplate/edit/process/msgcat.cgi: working message catalogs (not
          used for enough yet) - almost (but not quite) closes Bug#385 -
          still have to catalog the   backend things triggered by signup
 
 2002-04-06 12:37  ivan
 
-       * httemplate/docs/signup.html: big signup server cleanups.  uses
-         Storable for network protocol now.  - makes Bugs 384 & 385 easier
-         - closes: Bug#382
+       * httemplate/docs/: install.html, signup.html: big signup server
+         cleanups.  uses Storable for network protocol now.  - makes Bugs
+         384 & 385 easier - closes: Bug#382
 
 2002-04-05 16:08  ivan
 
 
 2002-04-05 15:51  ivan
 
-       * CREDITS, Makefile, FS/MANIFEST, FS/FS/Conf.pm, FS/FS/msgcat.pm,
-         FS/FS/svc_acct.pm, FS/t/msgcat.t, bin/freeside-session-kill,
-         conf/locale, eg/table_template-svc.pm, eg/table_template.pm,
-         htetc/handler.pl, httemplate/index.html,
-         httemplate/browse/cust_main_county.cgi,
-         httemplate/browse/msgcat.cgi, httemplate/browse/svc_acct_pop.cgi,
-         httemplate/docs/schema.html, httemplate/edit/svc_acct.cgi,
+       * ANNOUCE.1.4.0, CREDITS, Makefile, README.1.4.0pre12, FS/MANIFEST,
+         FS/FS/Conf.pm, FS/FS/msgcat.pm, FS/FS/svc_acct.pm, FS/t/msgcat.t,
+         bin/freeside-session-kill, bin/fs-setup, bin/populate-msgcat,
+         bin/sqlradius_reset, conf/locale, eg/table_template-svc.pm,
+         eg/table_template.pm, htetc/global.asa, htetc/handler.pl,
+         httemplate/index.html, httemplate/browse/cust_main_county.cgi,
+         httemplate/browse/msgcat.cgi,
+         httemplate/browse/part_referral.cgi,
+         httemplate/browse/svc_acct_pop.cgi, httemplate/docs/schema.html,
+         httemplate/docs/upgrade8.html, httemplate/edit/svc_acct.cgi,
          httemplate/view/svc_acct.cgi: - add message catalog table &
          beginning of web interface - add security_phrase and conf option
          to svc_acct.pm - random other stuff
 
 2002-04-05 08:37  ivan
 
-       * eg/export_template.pm, FS/t/part_export-infostreet.t,
-         FS/t/part_export-sqlradius.t: oops forgot these from working on
-         the road
+       * eg/export_template.pm, httemplate/search/sql.cgi,
+         FS/t/part_export-infostreet.t, FS/t/part_export-sqlradius.t: oops
+         forgot these from working on the road
 
 2002-04-04 16:42  ivan
 
        * FS/MANIFEST, FS/FS/part_export.pm,
          FS/FS/part_export/infostreet.pm, FS/FS/part_export/sqlradius.pm,
-         httemplate/index.html, httemplate/edit/part_export.cgi: Checkin
-         of disparate changes from working on the road: - generic SQL
-         query - move exports out to their own files - small cleanup of
-         selfadmin server
+         httemplate/index.html, httemplate/docs/install.html,
+         httemplate/edit/part_export.cgi: Checkin of disparate changes
+         from working on the road: - generic SQL query - move exports out
+         to their own files - small cleanup of selfadmin server
+
+2002-03-29 18:35  ivan
+
+       * httemplate/edit/part_referral.cgi: finish up
+         s/referral/advertising source/
 
 2002-03-29 09:27  ivan
 
-       * htetc/handler.pl, httemplate/search/svc_acct.cgi: fix unlinked
-         svc browse!
+       * htetc/global.asa, htetc/handler.pl,
+         httemplate/search/svc_acct.cgi: fix unlinked svc browse!
+
+2002-03-27 16:18  ivan
+
+       * ANNOUCE.1.4.0: still pretty much just notes...
 
 2002-03-26 23:08  ivan
 
 2002-03-26 21:36  ivan
 
        * FS/FS/cust_main.pm, FS/FS/part_referral.pm,
-         httemplate/index.html, httemplate/docs/admin.html:
+         httemplate/index.html, httemplate/browse/part_referral.cgi,
+         httemplate/docs/admin.html, httemplate/edit/part_referral.cgi:
          s/referral/advertising source/
 
          yes, the name sucks.  got a better one?
 
+2002-03-26 15:18  ivan
+
+       * fs_passwd/fs_passwd.cgi: yay works now... just forgot to send
+         http header
+
 2002-03-26 08:24  ivan
 
        * httemplate/search/cust_main.cgi: simple visual fix: &nbsp; for
 
        * httemplate/docs/passwd.html: doc
 
+2002-03-26 05:04  ivan
+
+       * bin/create-history-tables: error message typo
+
 2002-03-26 04:35  ivan
 
        * httemplate/docs/admin.html: s/Add/Provision/
 2002-03-25 16:32  ivan
 
        * FS/FS/part_export.pm, FS/bin/freeside-queued,
-         httemplate/edit/part_export.cgi: further export bugfixing add 10
-         kid limit to freeside-queued sqlradius_reset now works (closes:
-         Bug#372)
+         bin/sqlradius_reset, httemplate/edit/part_export.cgi: further
+         export bugfixing add 10 kid limit to freeside-queued
+         sqlradius_reset now works (closes: Bug#372)
 
 2002-03-25 16:26  ivan
 
          search/cust_main.cgi: customers by otaker report (ugly
          search/cust_main.cgi mods; revert if they cause problems)
 
+2002-03-24 15:16  ivan
+
+       * bin/: icradius_reset, sqlradius_reset: s/icradius/sqlradius/
+
 2002-03-24 12:00  ivan
 
        * httemplate/: edit/cust_main.cgi, search/svc_acct.cgi,
 
 2002-03-22 10:56  ivan
 
-       * Makefile, FS/MANIFEST, FS/FS/cust_main_county.pm,
-         FS/FS/svc_acct.pm, FS/t/radius_usergroup.t,
-         httemplate/docs/schema.html, httemplate/edit/part_svc.cgi,
-         httemplate/edit/svc_acct.cgi, httemplate/view/svc_acct.cgi:
-         RADIUS groups on the way!
+       * Makefile, README.1.4.0pre12, FS/MANIFEST,
+         FS/FS/cust_main_county.pm, FS/FS/svc_acct.pm,
+         FS/t/radius_usergroup.t, bin/create-history-tables, bin/fs-setup,
+         httemplate/docs/schema.html, httemplate/docs/upgrade8.html,
+         httemplate/edit/part_svc.cgi, httemplate/edit/svc_acct.cgi,
+         httemplate/view/svc_acct.cgi: RADIUS groups on the way!
 
 2002-03-22 04:49  ivan
 
 
 2002-03-20 13:31  ivan
 
-       * FS/FS/Conf.pm, FS/FS/part_export.pm, FS/FS/part_export_option.pm,
-         FS/FS/part_svc.pm, FS/FS/svc_acct.pm, FS/bin/freeside-queued,
-         htetc/handler.pl, httemplate/edit/part_export.cgi,
+       * README.1.4.0pre12, FS/FS/Conf.pm, FS/FS/part_export.pm,
+         FS/FS/part_export_option.pm, FS/FS/part_svc.pm,
+         FS/FS/svc_acct.pm, FS/bin/freeside-queued, bin/icradius_reset,
+         bin/svc_acct.export, htetc/global.asa, htetc/handler.pl,
+         httemplate/docs/export.html, httemplate/docs/upgrade8.html,
+         httemplate/edit/part_export.cgi,
          httemplate/edit/process/part_export.cgi: new export!  infostreet
          and sqlradius provisioning switched over  (Bug #299 - doesn't
          close it, but all the groundwork is done)
        * FS/FS/: Conf.pm, Record.pm, cust_bill.pm, cust_pay.pm: fixes: bug
          #348 - adds the ability to email on deleted payments.
 
+2002-03-18 11:40  ivan
+
+       * httemplate/search/cust_main-quickpay.html: update quickpay for
+         current search capabilities
+
 2002-03-18 09:50  ivan
 
        * httemplate/config/config.cgi:
          in config editor, initial newlines in <textarea>s are lost.  even
          if you didn't mean to edit them you remove that..
 
+2002-03-18 08:07  ivan
+
+       * bin/backup-freeside: removing backup-freeside script from here
+
 2002-03-18 08:05  ivan
 
        * FS/FS/: svc_Common.pm, svc_acct.pm: handle inserting cust_svc and
 
 2002-03-18 01:10  ivan
 
-       * FS/FS/Conf.pm, FS/FS/svc_domain.pm,
+       * README.1.4.0pre12, FS/FS/Conf.pm, FS/FS/svc_domain.pm,
          httemplate/config/config-process.cgi,
-         httemplate/config/config-view.cgi, httemplate/config/config.cgi:
-         new config value `defaultrecords', documentation, javascript
-         config file editor
+         httemplate/config/config-view.cgi, httemplate/config/config.cgi,
+         httemplate/docs/upgrade8.html: new config value `defaultrecords',
+         documentation, javascript config file editor
 
 2002-03-17 00:33  ivan
 
 
 2002-03-12 07:33  ivan
 
-       * htetc/handler.pl, httemplate/edit/part_pkg.cgi,
-         httemplate/edit/part_svc.cgi: abstract stupid HTML layer trick
-         out to HTML::Widgets::SelectLayers
+       * README.1.4.0pre12, htetc/global.asa, htetc/handler.pl,
+         httemplate/docs/install.html, httemplate/docs/upgrade8.html,
+         httemplate/edit/part_pkg.cgi, httemplate/edit/part_svc.cgi:
+         abstract stupid HTML layer trick out to
+         HTML::Widgets::SelectLayers
 
 2002-03-09 02:19  khoff
 
        * FS/FS/: Conf.pm, svc_domain.pm: Support for default CNAME/A
          records
 
+2002-03-07 11:50  jeff
+
+       * FS/bin/: freeside-cc-receipts-report, freeside-credit-report,
+         freeside-expiration-alerter, freeside-receivables-report,
+         freeside-tax-report: less shelling, more perly - abolish some
+         pipes to sendmail
+
 2002-03-07 06:13  ivan
 
        * FS/FS/cust_bill.pm: better error msgs for mail errors
 
        * conf/invoice_from: oops, missing invoice_from
 
+2002-03-06 15:31  ivan
+
+       * httemplate/docs/upgrade8.html: add freeside-expiration-alerter to
+         upgrade8.html
+
 2002-03-06 14:44  jeff
 
-       * FS/MANIFEST, FS/FS/Conf.pm, conf/alerter_template,
+       * README.1.4.0pre12, FS/MANIFEST, FS/FS/Conf.pm,
+         FS/bin/freeside-expiration-alerter, conf/alerter_template,
          httemplate/docs/admin.html: billing expiration alerts
 
+2002-03-05 16:17  ivan
+
+       * FS/bin/: freeside-cc-receipts-report, freeside-credit-report,
+         freeside-receivables-report, freeside-tax-report: remove CVS Log
+         tag
+
 2002-03-05 15:13  jeff
 
-       * httemplate/search/report_tax.cgi: consistency is nice
+       * FS/bin/freeside-cc-receipts-report,
+         FS/bin/freeside-credit-report,
+         FS/bin/freeside-receivables-report, FS/bin/freeside-tax-report,
+         httemplate/search/report_cc.cgi,
+         httemplate/search/report_credit.cgi,
+         httemplate/search/report_tax.cgi: consistency is nice
+
+2002-03-05 01:44  ivan
+
+       * FS/bin/freeside-receivables-report: yes i have crazy customers
+         with 8-digit customer numbers
 
 2002-03-04 14:10  ivan
 
 
 2002-03-04 04:48  ivan
 
-       * Makefile, FS/FS/Record.pm, FS/FS/nas.pm, bin/fs-radius-add-check,
-         bin/fs-radius-add-reply: [no log message]
+       * Makefile, README.1.4.0pre12, FS/FS/Record.pm, FS/FS/nas.pm,
+         bin/create-history-tables, bin/fs-radius-add-check,
+         bin/fs-radius-add-reply, bin/fs-setup,
+         httemplate/docs/upgrade8.html: [no log message]
+
+2002-03-03 15:46  ivan
+
+       * httemplate/docs/install.html: docu
 
 2002-02-28 15:30  ivan
 
 
 2002-02-27 14:39  ivan
 
-       * FS/FS/cust_bill_event.pm, httemplate/docs/schema.html,
+       * README.1.4.0pre12, FS/FS/cust_bill_event.pm, bin/fs-setup,
+         httemplate/docs/schema.html, httemplate/docs/upgrade8.html,
          httemplate/view/cust_bill.cgi: add status and statustext fields
          to cust_bill_event
 
 
        * FS/: FS/cust_main.pm, bin/freeside-daily: better debugging
 
+2002-02-27 09:07  khoff
+
+       * httemplate/docs/upgrade8.html: Should be "CREATE TABLE" not
+         "CREATE INDEX" for part_export_option
+
 2002-02-26 14:09  ivan
 
-       * httemplate/search/: report_receivables.cgi, report_tax.cgi: fixup
-         reports for templated webUI
+       * httemplate/search/: report_cc.cgi, report_credit.cgi,
+         report_receivables.cgi, report_tax.cgi: fixup reports for
+         templated webUI
 
 2002-02-26 03:53  ivan
 
 
 2002-02-23 14:36  ivan
 
-       * httemplate/search/: report_receivables.cgi, report_tax.cgi: take
-         hardcoded paths out of report cgis
+       * httemplate/search/: report_cc.cgi, report_credit.cgi,
+         report_receivables.cgi, report_tax.cgi: take hardcoded paths out
+         of report cgis
 
 2002-02-23 03:56  ivan
 
 
 2002-02-22 18:14  jeff
 
-       * FS/FS/UID.pm, httemplate/search/report_receivables.cgi,
+       * FS/FS/UID.pm, bin/svc_acct.export,
+         httemplate/search/report_cc.cgi,
+         httemplate/search/report_credit.cgi,
+         httemplate/search/report_receivables.cgi,
          httemplate/search/report_tax.cgi: report fixes and cruft removal
 
 2002-02-22 18:02  ivan
 
-       * httemplate/index.html: UI work on main menu, remove Archive::Tar
-         from docs
+       * httemplate/: index.html, docs/install.html, docs/upgrade8.html:
+         UI work on main menu, remove Archive::Tar from docs
 
 2002-02-22 15:18  jeff
 
-       * FS/MANIFEST, httemplate/index.html,
+       * FS/MANIFEST, FS/bin/freeside-cc-receipts-report,
+         FS/bin/freeside-credit-report,
+         FS/bin/freeside-receivables-report, FS/bin/freeside-tax-report,
+         conf/report_template, httemplate/classic.html,
+         httemplate/index.html, httemplate/search/report_cc.cgi,
+         httemplate/search/report_cc.html,
+         httemplate/search/report_credit.cgi,
+         httemplate/search/report_credit.html,
          httemplate/search/report_receivables.cgi,
          httemplate/search/report_tax.cgi,
          httemplate/search/report_tax.html: add some reporting features
        * FS/FS/svc_acct.pm: freeside *SUSPENDED* -> CP set_mailbox_status
          OTHER/OTHER_BOUNCE
 
+2002-02-21 23:50  ivan
+
+       * bin/fs-setup: doh
+
 2002-02-21 22:42  ivan
 
        * FS/FS/queue.pm: UI in joblisting: don't split ( retry | remove )
 
 2002-02-21 17:07  ivan
 
-       * FS/FS/Conf.pm, httemplate/view/cust_main.cgi: UI work:
+       * FS/FS/Conf.pm, httemplate/view/cust_main.cgi,
+         httemplate/view/cust_pkg.cgi: UI work:
 
          make all functions of view/cust_pkg.cgi available on
          view/cust_main.cgi  - having them one link down in "Edit" is
 
          closes: Bug#325
 
+2002-02-21 15:17  ivan
+
+       * bin/fs-setup: queue.svcnum is nullable too, oops
+
+2002-02-21 13:43  ivan
+
+       * bin/fs-setup: looks like statustext field is missing NULL flag in
+         fs-setup
+
 2002-02-20 14:03  ivan
 
        * httemplate/index.html: invoice reports belong here too
 
 2002-02-19 17:03  ivan
 
-       * CREDITS, FS/FS/CGI.pm, FS/FS/Record.pm, FS/FS/queue.pm,
-         FS/FS/svc_acct.pm, FS/FS/svc_domain.pm, FS/FS/svc_forward.pm,
-         FS/bin/freeside-queued, htetc/handler.pl, httemplate/index.html,
-         httemplate/misc/queue.cgi, httemplate/view/svc_acct.cgi,
-         httemplate/view/svc_domain.cgi, httemplate/view/svc_forward.cgi,
-         httemplate/view/svc_www.cgi: use Net::SSH::ssh_cmd for all job
-         queueing rather than local duplicated ssh subs
+       * CREDITS, README.1.4.0pre11, README.1.4.0pre8, FS/FS/CGI.pm,
+         FS/FS/Record.pm, FS/FS/queue.pm, FS/FS/svc_acct.pm,
+         FS/FS/svc_domain.pm, FS/FS/svc_forward.pm,
+         FS/bin/freeside-queued, bin/fs-setup, htetc/global.asa,
+         htetc/handler.pl, httemplate/index.html,
+         httemplate/browse/queue.cgi, httemplate/misc/queue.cgi,
+         httemplate/view/svc_acct.cgi, httemplate/view/svc_domain.cgi,
+         httemplate/view/svc_forward.cgi, httemplate/view/svc_www.cgi: use
+         Net::SSH::ssh_cmd for all job queueing rather than local
+         duplicated ssh subs
 
          queue daemon updates: retry & remove links work, bubble up error
          message to webinterface, link to svcnum & have job listings on
 
 2002-02-19 15:43  ivan
 
-       * httemplate/docs/schema.html: set EVERYTHING=1 for your own
-         mod_perl compile
+       * httemplate/docs/: install.html, schema.html, upgrade8.html: set
+         EVERYTHING=1 for your own mod_perl compile
 
 2002-02-18 23:51  ivan
 
        * httemplate/index.html: oops
 
+2002-02-18 23:00  ivan
+
+       * httemplate/classic.html: TMTOWTDI
+
 2002-02-18 20:43  ivan
 
        * httemplate/index.html: new main menu!
 2002-02-18 00:39  ivan
 
        * FS/FS/Conf.pm, FS/FS/part_bill_event.pm, FS/FS/part_pkg.pm,
-         httemplate/edit/part_pkg.cgi: safe web demo operation!  closes:
-         Bug#217
+         htetc/global.asa, httemplate/edit/part_pkg.cgi: safe web demo
+         operation!  closes: Bug#217
 
          fix bug in edit/part_pkg: s/bkg/pkg/
 
        * httemplate/edit/part_svc.cgi: fix modified <SELECT>s under
          netcape4, use one for svc_acct.popnum too
 
+2002-02-17 17:26  ivan
+
+       * README.1.4.0pre11, httemplate/docs/install.html,
+         httemplate/docs/upgrade8.html: rsync docs
+
 2002-02-17 16:21  jeff
 
        * Makefile: keep accidentally checking in Makefile changes, gotta
 
 2002-02-17 16:13  jeff
 
-       * Makefile, FS/FS/Conf.pm: trading in tar for rsync for improved
-         vpopmail support
+       * Makefile, FS/FS/Conf.pm, bin/svc_acct.export, eg/vpopmailrestart:
+         trading in tar for rsync for improved vpopmail support
 
 2002-02-17 13:01  ivan
 
 
 2002-02-17 11:12  ivan
 
-       * FS/MANIFEST: get ride of CGIwrapper.pm
+       * README.1.4.0pre9, FS/MANIFEST, FS/FS/CGIwrapper.pm,
+         FS/t/CGIwrapper.t: get ride of CGIwrapper.pm
 
 2002-02-17 11:07  jeff
 
        * FS/FS/svc_forward.pm: queue svc_forward remote commands; better
          commands too
 
+2002-02-16 13:47  ivan
+
+       * htetc/global.asa: work with current Apache::ASP
+
+2002-02-16 10:14  ivan
+
+       * TODO: now in RT2!
+
+2002-02-15 23:27  ivan
+
+       * httemplate/docs/install.html: install warnings about mysql
+
+2002-02-15 12:21  jeff
+
+       * bin/svc_acct.export: remove arbitary uid requirement for vpasswd
+         generation
+
 2002-02-15 11:34  ivan
 
        * Makefile: keep accidentally checking in Makefile changes, gotta
 
        * Makefile, FS/FS/Conf.pm, FS/FS/svc_acct.pm: CP provisioning!!
 
+2002-02-14 14:37  jeff
+
+       * bin/svc_acct.export: fix bug in multiline radiusprepend
+
 2002-02-14 10:06  ivan
 
        * bin/: fs-radius-add-check, fs-radius-add-reply: docs?  haha
          Bill' );): Illegal or empty (text) comment:  at
          /usr/local/lib/perl5/site_perl/5.005/FS/cust_main.pm line 1141.
 
+2002-02-12 10:37  ivan
+
+       * bin/svc_acct.export: fixes:
+
+         In string, @domain now must be written as \@domain at
+         ./svc_acct.export line 292, near "^append @domain" Global symbol
+         "@domain" requires explicit package name at ./svc_acct.export
+         line 292.  Execution of ./svc_acct.export aborted due to
+         compilation errors.
+
 2002-02-11 21:58  ivan
 
-       * httemplate/docs/admin.html: fixes: bug#331
+       * README.1.4.0pre9, bin/fs-setup, httemplate/docs/admin.html:
+         fixes: bug#331
 
 2002-02-11 20:49  ivan
 
        * httemplate/edit/part_bill_event.cgi: oops
 
+2002-02-11 19:29  ivan
+
+       * README.1.4.0pre8, README.1.4.0pre9: 1.4.0pre9!!!
+
 2002-02-11 18:11  ivan
 
-       * FS/FS/Conf.pm, httemplate/config/config.cgi: add username_policy
-         "@append domain"
+       * FS/FS/Conf.pm, bin/svc_acct.export, httemplate/config/config.cgi:
+         add username_policy "@append domain"
 
          add "select" config type, mmm
 
 
 2002-02-10 11:58  ivan
 
-       * FS/MANIFEST, FS/bin/freeside-daily,
+       * FS/MANIFEST, FS/bin/freeside-bill, FS/bin/freeside-daily,
+         httemplate/docs/billing.html, httemplate/docs/upgrade8.html,
          httemplate/edit/process/part_bill_event.cgi: update billing
          documentation for the new world of invoice events added
          freeside-daily replacing freeside-bill for the new world of
 
 2002-02-10 10:56  ivan
 
-       * FS/FS/cust_pay.pm, httemplate/edit/cust_pay.cgi: use unique
-         tokens to prevent double-submission of payments in the web UI
-         (closes: Bug#320)
+       * README.1.4.0pre9, FS/FS/cust_pay.pm, bin/fs-setup,
+         httemplate/docs/upgrade8.html, httemplate/edit/cust_pay.cgi: use
+         unique tokens to prevent double-submission of payments in the web
+         UI (closes: Bug#320)
 
 2002-02-10 09:30  ivan
 
        * htetc/handler.pl, httemplate/browse/agent.cgi,
          httemplate/browse/agent_type.cgi,
          httemplate/browse/cust_main_county.cgi,
-         httemplate/browse/nas.cgi, httemplate/browse/part_bill_event.cgi,
-         httemplate/browse/part_pkg.cgi, httemplate/browse/part_svc.cgi,
+         httemplate/browse/cust_pay_batch.cgi, httemplate/browse/nas.cgi,
+         httemplate/browse/part_bill_event.cgi,
+         httemplate/browse/part_pkg.cgi,
+         httemplate/browse/part_referral.cgi,
+         httemplate/browse/part_svc.cgi, httemplate/browse/queue.cgi,
          httemplate/browse/svc_acct_pop.cgi,
          httemplate/config/config-process.cgi,
          httemplate/config/config-view.cgi, httemplate/config/config.cgi,
          httemplate/edit/cust_credit_bill.cgi,
          httemplate/edit/cust_main.cgi,
          httemplate/edit/cust_main_county-expand.cgi,
+         httemplate/edit/cust_main_county.cgi,
          httemplate/edit/cust_pay.cgi, httemplate/edit/cust_pkg.cgi,
          httemplate/edit/part_bill_event.cgi,
-         httemplate/edit/part_pkg.cgi, httemplate/edit/part_svc.cgi,
-         httemplate/edit/svc_acct.cgi, httemplate/edit/svc_acct_pop.cgi,
-         httemplate/edit/svc_domain.cgi, httemplate/edit/svc_forward.cgi,
+         httemplate/edit/part_pkg.cgi, httemplate/edit/part_referral.cgi,
+         httemplate/edit/part_svc.cgi, httemplate/edit/svc_acct.cgi,
+         httemplate/edit/svc_acct_pop.cgi,
+         httemplate/edit/svc_acct_sm.cgi, httemplate/edit/svc_domain.cgi,
+         httemplate/edit/svc_forward.cgi,
          httemplate/edit/process/quick-cust_pkg.cgi,
          httemplate/misc/bill.cgi, httemplate/misc/cancel-unaudited.cgi,
          httemplate/misc/catchall.cgi,
          httemplate/misc/delete-customer.cgi, httemplate/misc/link.cgi,
          httemplate/misc/process/link.cgi,
-         httemplate/search/cust_main.cgi, httemplate/search/cust_pay.cgi,
-         httemplate/search/cust_pkg.cgi, httemplate/search/svc_acct.cgi,
+         httemplate/search/cust_bill.cgi, httemplate/search/cust_main.cgi,
+         httemplate/search/cust_pay.cgi, httemplate/search/cust_pkg.cgi,
+         httemplate/search/svc_acct.cgi,
+         httemplate/search/svc_acct_sm.cgi,
          httemplate/search/svc_domain.cgi, httemplate/view/cust_bill.cgi,
-         httemplate/view/cust_main.cgi, httemplate/view/svc_acct.cgi,
+         httemplate/view/cust_main.cgi, httemplate/view/cust_pkg.cgi,
+         httemplate/view/svc_acct.cgi, httemplate/view/svc_acct_sm.cgi,
          httemplate/view/svc_domain.cgi, httemplate/view/svc_forward.cgi,
          httemplate/view/svc_www.cgi: *finally* seems to be working under
          Mason.  sheesh.  *finally* seems to be working under Mason.
        * htetc/handler.pl, httemplate/browse/agent.cgi,
          httemplate/browse/agent_type.cgi,
          httemplate/browse/cust_main_county.cgi,
-         httemplate/browse/nas.cgi, httemplate/browse/part_bill_event.cgi,
-         httemplate/browse/part_pkg.cgi, httemplate/browse/part_svc.cgi,
+         httemplate/browse/cust_pay_batch.cgi, httemplate/browse/nas.cgi,
+         httemplate/browse/part_bill_event.cgi,
+         httemplate/browse/part_pkg.cgi,
+         httemplate/browse/part_referral.cgi,
+         httemplate/browse/part_svc.cgi, httemplate/browse/queue.cgi,
          httemplate/browse/svc_acct_pop.cgi, httemplate/edit/agent.cgi,
          httemplate/edit/agent_type.cgi,
          httemplate/edit/cust_bill_pay.cgi,
          httemplate/edit/cust_credit_bill.cgi,
          httemplate/edit/cust_main.cgi,
          httemplate/edit/cust_main_county-expand.cgi,
+         httemplate/edit/cust_main_county.cgi,
          httemplate/edit/cust_pay.cgi, httemplate/edit/cust_pkg.cgi,
          httemplate/edit/part_bill_event.cgi,
-         httemplate/edit/part_pkg.cgi, httemplate/edit/part_svc.cgi,
-         httemplate/edit/svc_acct.cgi, httemplate/edit/svc_acct_pop.cgi,
-         httemplate/edit/svc_domain.cgi, httemplate/edit/svc_forward.cgi,
+         httemplate/edit/part_pkg.cgi, httemplate/edit/part_referral.cgi,
+         httemplate/edit/part_svc.cgi, httemplate/edit/svc_acct.cgi,
+         httemplate/edit/svc_acct_pop.cgi,
+         httemplate/edit/svc_acct_sm.cgi, httemplate/edit/svc_domain.cgi,
+         httemplate/edit/svc_forward.cgi,
          httemplate/edit/process/REAL_cust_pkg.cgi,
          httemplate/edit/process/agent.cgi,
          httemplate/edit/process/agent_type.cgi,
          httemplate/edit/process/cust_main.cgi,
          httemplate/edit/process/cust_main_county-collapse.cgi,
          httemplate/edit/process/cust_main_county-expand.cgi,
+         httemplate/edit/process/cust_main_county.cgi,
          httemplate/edit/process/cust_pay.cgi,
          httemplate/edit/process/cust_pkg.cgi,
          httemplate/edit/process/part_pkg.cgi,
+         httemplate/edit/process/part_referral.cgi,
          httemplate/edit/process/quick-cust_pkg.cgi,
          httemplate/edit/process/svc_acct.cgi,
          httemplate/edit/process/svc_acct_pop.cgi,
+         httemplate/edit/process/svc_acct_sm.cgi,
          httemplate/edit/process/svc_domain.cgi,
          httemplate/edit/process/svc_forward.cgi,
          httemplate/misc/bill.cgi, httemplate/misc/cancel-unaudited.cgi,
-         httemplate/misc/catchall.cgi,
+         httemplate/misc/cancel_pkg.cgi, httemplate/misc/catchall.cgi,
          httemplate/misc/delete-cust_pay.cgi,
-         httemplate/misc/delete-customer.cgi, httemplate/misc/link.cgi,
-         httemplate/misc/print-invoice.cgi,
+         httemplate/misc/delete-customer.cgi,
+         httemplate/misc/expire_pkg.cgi, httemplate/misc/link.cgi,
+         httemplate/misc/print-invoice.cgi, httemplate/misc/susp_pkg.cgi,
          httemplate/misc/unsusp_pkg.cgi,
          httemplate/misc/process/catchall.cgi,
          httemplate/misc/process/delete-customer.cgi,
-         httemplate/misc/process/link.cgi, httemplate/search/cust_pay.cgi,
+         httemplate/misc/process/link.cgi,
+         httemplate/search/cust_bill.cgi, httemplate/search/cust_pay.cgi,
          httemplate/search/cust_pkg.cgi, httemplate/search/svc_acct.cgi,
+         httemplate/search/svc_acct_sm.cgi,
          httemplate/search/svc_domain.cgi, httemplate/view/cust_bill.cgi,
-         httemplate/view/cust_main.cgi, httemplate/view/svc_acct.cgi,
+         httemplate/view/cust_main.cgi, httemplate/view/cust_pkg.cgi,
+         httemplate/view/svc_acct.cgi, httemplate/view/svc_acct_sm.cgi,
          httemplate/view/svc_domain.cgi, httemplate/view/svc_forward.cgi,
          httemplate/view/svc_www.cgi: removed <!-- $Id$ --> from all files
          to fix any redirects, whew
 
          add new comission plans
 
+2002-02-09 17:47  ivan
+
+       * README.1.4.0pre8, httemplate/docs/upgrade8.html,
+         FS/bin/freeside-bill: remove -i option from freeside-bill
+         (obsoleted by invoice events)
+
 2002-02-09 10:24  ivan
 
-       * FS/FS/CGI.pm, htetc/handler.pl,
+       * FS/FS/CGI.pm, htetc/global.asa, htetc/handler.pl,
          httemplate/edit/process/agent_type.cgi,
          httemplate/edit/process/cust_main_county-expand.cgi,
+         httemplate/edit/process/cust_main_county.cgi,
          httemplate/edit/process/cust_pay.cgi,
          httemplate/edit/process/part_pkg.cgi,
          httemplate/search/cust_main.cgi, httemplate/search/cust_pkg.cgi,
 
 2002-02-09 09:03  ivan
 
-       * FS/FS/CGI.pm, htetc/handler.pl: okay, both Apache::ASP and Mason
-         should set no-cache headers now (closes: Bug#23)
+       * FS/FS/CGI.pm, htetc/global.asa, htetc/handler.pl: okay, both
+         Apache::ASP and Mason should set no-cache headers now (closes:
+         Bug#23)
 
 2002-02-07 14:30  ivan
 
 
 2002-02-06 07:49  ivan
 
-       * Makefile: documentation building Makefile patch
+       * Makefile, httemplate/docs/install.html: documentation building
+         Makefile patch
 
 2002-02-06 07:36  ivan
 
        * FS/FS/part_bill_event.pm: part_bill_event.plan can contain
          punctuation
 
+2002-02-06 07:07  ivan
+
+       * bin/fs-setup: tyop
+
 2002-02-06 06:58  ivan
 
        * FS/bin/freeside-adduser: fix for non-file auth
        * FS/FS/Record.pm: better error messages if you haven't run
          fs-setup ?
 
+2002-02-05 10:24  ivan
+
+       * httemplate/docs/install.html: &nbsp; for commands; confusing
+         otherwise
+
+2002-02-05 10:04  ivan
+
+       * httemplate/docs/install.html: doc
+
 2002-02-05 08:48  ivan
 
-       * fs_passwd/fs_passwd, httemplate/docs/passwd.html: web-based
+       * fs_passwd/fs_passwd, fs_passwd/fs_passwd.cgi,
+         fs_passwd/fs_passwd.html, httemplate/docs/passwd.html: web-based
          password changer!
 
+2002-02-05 03:06  ivan
+
+       * httemplate/docs/upgrade8.html: don't need DBIx::DataSource for
+         upgrades
+
+2002-02-05 01:46  ivan
+
+       * httemplate/docs/: install.html, upgrade8.html: doc
+
+2002-02-04 23:57  ivan
+
+       * README.1.4.0pre8, httemplate/docs/upgrade8.html: fix
+         part_export_option indices
+
+2002-02-04 10:12  ivan
+
+       * httemplate/docs/install.html: doc update
+
 2002-02-04 09:06  ivan
 
-       * Makefile: 1.4.0pre8!
+       * Makefile, README.1.4.0pre4567-8, README.1.4.0pre8: 1.4.0pre8!
 
 2002-02-04 09:04  ivan
 
-       * httemplate/edit/part_bill_event.cgi: have fs-setup create the
+       * bin/fs-setup, httemplate/docs/upgrade8.html,
+         httemplate/edit/part_bill_event.cgi: have fs-setup create the
          necessary "default" billing events documentation on necessary
          "default" billing events
 
 2002-02-04 08:44  ivan
 
-       * httemplate/edit/part_bill_event.cgi,
+       * httemplate/docs/install.html, httemplate/docs/upgrade8.html,
+         httemplate/edit/part_bill_event.cgi,
          httemplate/view/cust_bill.cgi, FS/FS/cust_bill.pm,
          FS/FS/cust_main.pm: billing events!
 
 
 2002-01-30 06:18  ivan
 
-       * FS/FS/CGI.pm, htetc/handler.pl, httemplate/browse/agent.cgi,
-         httemplate/browse/agent_type.cgi,
+       * FS/FS/CGI.pm, htetc/global.asa, htetc/handler.pl,
+         httemplate/browse/agent.cgi, httemplate/browse/agent_type.cgi,
          httemplate/browse/cust_main_county.cgi,
-         httemplate/browse/nas.cgi, httemplate/browse/part_bill_event.cgi,
-         httemplate/browse/part_pkg.cgi, httemplate/browse/part_svc.cgi,
-         httemplate/browse/svc_acct_pop.cgi, httemplate/edit/agent.cgi,
-         httemplate/edit/agent_type.cgi,
+         httemplate/browse/cust_pay_batch.cgi, httemplate/browse/nas.cgi,
+         httemplate/browse/part_bill_event.cgi,
+         httemplate/browse/part_pkg.cgi,
+         httemplate/browse/part_referral.cgi,
+         httemplate/browse/part_svc.cgi, httemplate/browse/queue.cgi,
+         httemplate/browse/svc_acct_pop.cgi, httemplate/docs/install.html,
+         httemplate/edit/agent.cgi, httemplate/edit/agent_type.cgi,
          httemplate/edit/cust_bill_pay.cgi,
          httemplate/edit/cust_credit.cgi,
          httemplate/edit/cust_credit_bill.cgi,
          httemplate/edit/cust_main.cgi,
          httemplate/edit/cust_main_county-expand.cgi,
+         httemplate/edit/cust_main_county.cgi,
          httemplate/edit/cust_pay.cgi, httemplate/edit/cust_pkg.cgi,
          httemplate/edit/part_bill_event.cgi,
-         httemplate/edit/part_svc.cgi, httemplate/edit/svc_acct.cgi,
-         httemplate/edit/svc_acct_pop.cgi, httemplate/edit/svc_domain.cgi,
+         httemplate/edit/part_referral.cgi, httemplate/edit/part_svc.cgi,
+         httemplate/edit/svc_acct.cgi, httemplate/edit/svc_acct_pop.cgi,
+         httemplate/edit/svc_acct_sm.cgi, httemplate/edit/svc_domain.cgi,
          httemplate/edit/svc_forward.cgi,
          httemplate/edit/process/agent.cgi,
          httemplate/edit/process/agent_type.cgi,
          httemplate/edit/process/cust_main.cgi,
          httemplate/edit/process/cust_main_county-collapse.cgi,
          httemplate/edit/process/cust_main_county-expand.cgi,
+         httemplate/edit/process/cust_main_county.cgi,
          httemplate/edit/process/cust_pay.cgi,
          httemplate/edit/process/cust_pkg.cgi,
          httemplate/edit/process/part_pkg.cgi,
+         httemplate/edit/process/part_referral.cgi,
          httemplate/edit/process/quick-cust_pkg.cgi,
          httemplate/edit/process/svc_acct.cgi,
          httemplate/edit/process/svc_acct_pop.cgi,
+         httemplate/edit/process/svc_acct_sm.cgi,
          httemplate/edit/process/svc_domain.cgi,
          httemplate/edit/process/svc_forward.cgi,
          httemplate/misc/bill.cgi, httemplate/misc/cancel-unaudited.cgi,
-         httemplate/misc/catchall.cgi,
-         httemplate/misc/delete-customer.cgi, httemplate/misc/link.cgi,
-         httemplate/misc/print-invoice.cgi,
+         httemplate/misc/cancel_pkg.cgi, httemplate/misc/catchall.cgi,
+         httemplate/misc/delete-customer.cgi,
+         httemplate/misc/expire_pkg.cgi, httemplate/misc/link.cgi,
+         httemplate/misc/print-invoice.cgi, httemplate/misc/susp_pkg.cgi,
          httemplate/misc/unsusp_pkg.cgi,
          httemplate/misc/process/catchall.cgi,
          httemplate/misc/process/delete-customer.cgi,
          httemplate/misc/process/link.cgi,
-         httemplate/search/cust_main.cgi, httemplate/search/cust_pay.cgi,
-         httemplate/search/cust_pkg.cgi, httemplate/search/svc_acct.cgi,
+         httemplate/search/cust_bill.cgi, httemplate/search/cust_main.cgi,
+         httemplate/search/cust_pay.cgi, httemplate/search/cust_pkg.cgi,
+         httemplate/search/svc_acct.cgi,
+         httemplate/search/svc_acct_sm.cgi,
          httemplate/search/svc_domain.cgi, httemplate/view/cust_bill.cgi,
-         httemplate/view/cust_main.cgi, httemplate/view/svc_acct.cgi,
+         httemplate/view/cust_main.cgi, httemplate/view/cust_pkg.cgi,
+         httemplate/view/svc_acct.cgi, httemplate/view/svc_acct_sm.cgi,
          httemplate/view/svc_domain.cgi, httemplate/view/svc_forward.cgi,
          httemplate/view/svc_www.cgi: remove   use Module; and   $cgi =
          new CGI;   &cgisuidsetup(); from all templates.  should work
 
 2002-01-29 09:42  ivan
 
-       * FS/FS/part_bill_event.pm, httemplate/docs/schema.html: weight,
-         plan and plandata fields in part_bill_event
+       * README.1.4.0pre4567-8, FS/FS/part_bill_event.pm, bin/fs-setup,
+         httemplate/docs/schema.html, httemplate/docs/upgrade8.html:
+         weight, plan and plandata fields in part_bill_event
 
 2002-01-29 08:33  ivan
 
        * Makefile, FS/FS.pm, FS/FS/Record.pm, FS/FS/cust_main.pm,
          FS/FS/cust_pay.pm, FS/FS/cust_pkg.pm, FS/FS/cust_svc.pm,
-         FS/FS/svc_acct.pm, bin/pod2x, htetc/handler.pl,
+         FS/FS/svc_acct.pm, bin/pod2x, htetc/global.asa, htetc/handler.pl,
          httemplate/index.html, httemplate/browse/part_bill_event.cgi,
+         httemplate/docs/install.html,
          httemplate/edit/part_bill_event.cgi,
          httemplate/edit/part_pkg.cgi,
          httemplate/edit/process/part_bill_event.cgi: - web interface for
          interface - cust_pay::upgrade_replace doesn't error out if
          history includes   overapplied payments
 
+2002-01-29 03:11  ivan
+
+       * bin/fs-setup: oops bad column type for part_bill_event.payby
+
 2002-01-28 03:24  ivan
 
        * FS/FS/Record.pm: oops, syntax error in new() check for missing
 
 2002-01-27 22:57  ivan
 
-       * FS/FS/cust_bill.pm, FS/FS/cust_credit.pm, FS/FS/cust_pay.pm,
-         FS/FS/cust_refund.pm, FS/FS/part_pkg.pm, FS/FS/part_svc.pm,
-         httemplate/docs/schema.html: book closing schema changes
+       * README.1.4.0pre4567-8, FS/FS/cust_bill.pm, FS/FS/cust_credit.pm,
+         FS/FS/cust_pay.pm, FS/FS/cust_refund.pm, FS/FS/part_pkg.pm,
+         FS/FS/part_svc.pm, bin/fs-setup, httemplate/docs/schema.html,
+         httemplate/docs/upgrade8.html: book closing schema changes
 
 2002-01-27 21:15  ivan
 
-       * FS/FS/part_export.pm, FS/FS/part_export_option.pm,
-         httemplate/docs/schema.html: part_export schema changes
+       * README.1.4.0pre4567-8, FS/FS/part_export.pm,
+         FS/FS/part_export_option.pm, bin/fs-setup,
+         httemplate/docs/schema.html, httemplate/docs/upgrade8.html:
+         part_export schema changes
 
 2002-01-25 17:52  ivan
 
 
 2002-01-22 06:42  ivan
 
-       * httemplate/docs/index.html: remove old upgrade docs
+       * httemplate/docs/: index.html, upgrade.html, upgrade2.html,
+         upgrade3.html: remove old upgrade docs
 
 2002-01-21 03:30  ivan
 
 
 2002-01-14 12:28  ivan
 
-       * FS/FS/: Conf.pm, svc_acct.pm: pay some attention to 1.4 RADIUS
-         SQL export
+       * FS/FS/Conf.pm, FS/FS/svc_acct.pm, httemplate/docs/export.html:
+         pay some attention to 1.4 RADIUS SQL export
+
+2002-01-14 06:29  ivan
+
+       * FS/bin/freeside-overdue: fix -l option
+
+2002-01-11 23:23  ivan
+
+       * httemplate/docs/upgrade8.html: fix upgrade8.html to be in
+         agreement with fs-setup
 
 2002-01-09 05:29  ivan
 
 
 2002-01-03 09:40  ivan
 
-       * FS/MANIFEST, FS/FS/cust_bill_event.pm, FS/FS/part_bill_event.pm,
-         FS/t/cust_bill_event.t, FS/t/part_bill_event.t,
-         httemplate/docs/schema.html: more schema changes:
-         part_bill_event and cust_bill_event tables
+       * README.1.4.0pre2-3, README.1.4.0pre3-4, README.1.4.0pre4567-8,
+         FS/MANIFEST, FS/FS/cust_bill_event.pm, FS/FS/part_bill_event.pm,
+         FS/t/cust_bill_event.t, FS/t/part_bill_event.t, bin/fs-setup,
+         httemplate/docs/schema.html, httemplate/docs/upgrade8.html: more
+         schema changes:  part_bill_event and cust_bill_event tables
 
          remove old 1.4.0pre READMEs
 
+2001-12-28 07:17  ivan
+
+       * FS/bin/freeside-overdue: update usage message
+
 2001-12-28 07:14  ivan
 
-       * FS/FS/cust_main.pm: force printing in freeside-overdue
+       * FS/: FS/cust_main.pm, bin/freeside-overdue: force printing in
+         freeside-overdue
 
 2001-12-28 06:40  ivan
 
-       * FS/FS/cust_main.pm, httemplate/edit/cust_main.cgi,
+       * FS/FS/cust_main.pm, FS/bin/freeside-bill,
+         FS/bin/freeside-overdue, httemplate/edit/cust_main.cgi,
          httemplate/edit/part_pkg.cgi: add more options to
          freeside-overdue
 
 
 2001-12-27 01:26  ivan
 
-       * FS/FS/Record.pm, FS/FS/part_pkg.pm, FS/FS/part_svc.pm,
-         httemplate/browse/part_pkg.cgi, httemplate/browse/part_svc.cgi,
-         httemplate/edit/agent_type.cgi, httemplate/edit/cust_main.cgi,
-         httemplate/edit/cust_pkg.cgi, httemplate/edit/part_pkg.cgi,
-         httemplate/edit/part_svc.cgi,
+       * README.1.4.0pre4567-8, FS/FS/Record.pm, FS/FS/part_pkg.pm,
+         FS/FS/part_svc.pm, FS/bin/freeside-overdue, bin/fs-setup,
+         htetc/global.asa, httemplate/browse/part_pkg.cgi,
+         httemplate/browse/part_svc.cgi, httemplate/edit/agent_type.cgi,
+         httemplate/edit/cust_main.cgi, httemplate/edit/cust_pkg.cgi,
+         httemplate/edit/part_pkg.cgi, httemplate/edit/part_svc.cgi,
          httemplate/edit/process/part_pkg.cgi,
          httemplate/view/cust_main.cgi: service and package disable!
 
 2001-12-26 15:59  ivan
 
-       * httemplate/docs/schema.html: doc
+       * httemplate/docs/: install.html, schema.html, upgrade8.html: doc
 
 2001-12-26 07:41  ivan
 
 
 2001-12-26 07:08  ivan
 
-       * FS/MANIFEST: add freeside-overdue
+       * FS/: MANIFEST, bin/freeside-overdue: add freeside-overdue
 
 2001-12-26 07:07  ivan
 
        * httemplate/edit/: cust_credit.cgi, process/cust_credit.cgi: fix
          posting credit
 
+2001-12-26 03:47  ivan
+
+       * FS/bin/freeside-overdue: don't provide example crontabs that run
+         at 4:20 _PM_
+
 2001-12-26 03:17  ivan
 
-       * FS/FS/cust_main.pm: (untested eek) freeside-overdue script &
-         cust_main balance_date & total_owed_date methods
+       * FS/FS/cust_main.pm, FS/bin/freeside-overdue,
+         httemplate/docs/billing.html: (untested eek) freeside-overdue
+         script & cust_main balance_date & total_owed_date methods
 
 2001-12-26 01:18  ivan
 
-       * httemplate/: index.html, search/cust_pay.cgi, view/cust_main.cgi:
-         search by check #
+       * httemplate/: index.html, search/cust_pay.cgi,
+         search/cust_pay.html, view/cust_main.cgi: search by check #
 
 2001-12-25 23:53  ivan
 
 2001-12-25 21:19  ivan
 
        * httemplate/: index.html, edit/cust_pay.cgi,
-         edit/process/cust_pay.cgi, search/cust_main.cgi,
+         edit/process/cust_pay.cgi, search/cust_main-payinfo.html,
+         search/cust_main-quickpay.html, search/cust_main.cgi,
          search/cust_main.html: expedited check entry
 
 2001-12-25 21:02  ivan
 
 2001-12-25 20:52  ivan
 
-       * httemplate/search/: cust_bill.html, cust_main.html: same look as
-         rest of search pages
+       * httemplate/search/: cust_bill.html, svc_acct.html,
+         svc_domain.html, cust_main.html: same look as rest of search
+         pages
 
 2001-12-25 20:25  ivan
 
 
        * httemplate/edit/cust_pay.cgi: fix service display for duplicates
 
+2001-12-21 18:41  ivan
+
+       * httemplate/docs/install.html: doco on creating database manually
+
 2001-12-21 13:40  ivan
 
        * FS/FS/cust_bill.pm, httemplate/edit/cust_pay.cgi,
        * httemplate/edit/: cust_main.cgi, svc_acct.cgi: allow >8 character
          passwords in web interface
 
+2001-12-11 23:59  ivan
+
+       * bin/svc_acct.export: use pwd_mkdb to install
+         /etc/master.passwd.new instead of moving it into place
+
 2001-12-11 13:26  ivan
 
        * httemplate/search/svc_acct.cgi: missing space in SQL, oops
 
+2001-12-11 02:38  ivan
+
+       * bin/svc_acct.export, httemplate/docs/install.html: radiusprepend
+         config file for export add Archive::Tar to docs
+
 2001-12-10 04:18  ivan
 
        * FS/FS/Record.pm: Pg datatype pain
        * FS/FS/Conf.pm, httemplate/edit/cust_main.cgi:
          postalinvoicedefault config file
 
+2001-11-16 02:22  ivan
+
+       * httemplate/docs/billing.html: update link to Text::Template docs
+
 2001-11-13 13:27  ivan
 
-       * FS/MANIFEST: remove freeside-print-batch
+       * FS/: MANIFEST, bin/freeside-print-batch: remove
+         freeside-print-batch
 
 2001-11-12 05:19  ivan
 
        * FS/FS/cust_main.pm: import hack to be less strict
 
+2001-11-09 10:26  ivan
+
+       * httemplate/docs/install.html: Pg7 dependancy
+
 2001-11-08 07:26  ivan
 
        * FS/bin/freeside-queued: harmless typo noticed by "Edward
 
        * FS/FS/UID.pm: fix error message for s/htdocs/httemplate/
 
+2001-11-06 09:48  ivan
+
+       * bin/fs-setup: payinfo changed from length 16 to $char_d for
+         future expansion
+
 2001-11-05 13:30  ivan
 
        * Makefile: more fixes for fresh installation
 
        * Makefile, FS/FS/Record.pm: makefile fixups
 
+2001-11-05 10:23  ivan
+
+       * httemplate/docs/install.html: doc
+
 2001-11-05 09:00  jeff
 
        * FS/FS/svc_acct.pm: improved svc_acct replacement
        * FS/FS/Record.pm: AUTOLOAD optimizations broke things rather
          badly, oops
 
+2001-11-05 06:04  ivan
+
+       * FS/bin/freeside-bill: fixup getopt
+
 2001-11-05 06:03  ivan
 
        * Makefile: move sys-dependant stuff to vars
 
        * FS/FS/svc_acct.pm: doc tyop
 
+2001-11-05 04:07  ivan
+
+       * bin/svc_domain.import: this is unfinished and untested anyway,
+         but this corrects a silly typo
+
 2001-11-05 03:55  ivan
 
        * FS/FS/cust_main.pm: better error messages for eval'ed setup/recur
          joined searches & caching support preliminary customer browse
          optimizations, much faster!
 
+2001-11-02 00:14  ivan
+
+       * FS/bin/freeside-print-batch: silence pod complaints
+
 2001-11-01 21:28  ivan
 
        * httemplate/config/config.cgi: note config changes need
        * httemplate/search/cust_main.cgi: hit the database slightly less.
          this page still takes forever with lots of customers.
 
+2001-10-31 08:52  ivan
+
+       * httemplate/browse/queue.cgi: queue display works again, even if
+         those links don't
+
 2001-10-30 11:05  ivan
 
-       * FS/FS/cust_pay_batch.pm, httemplate/index.html,
+       * FS/FS/cust_pay_batch.pm, bin/fs-setup, httemplate/index.html,
+         httemplate/browse/cust_pay_batch.cgi,
          httemplate/docs/schema.html: depriciate cust_pay_batch.trancode
          web interface to view pending batch
 
          httemplate/browse/agent_type.cgi,
          httemplate/browse/cust_main_county.cgi,
          httemplate/browse/nas.cgi, httemplate/browse/part_pkg.cgi,
+         httemplate/browse/part_referral.cgi, httemplate/browse/queue.cgi,
          httemplate/browse/svc_acct_pop.cgi, httemplate/edit/agent.cgi,
          httemplate/edit/agent_type.cgi, httemplate/edit/cust_credit.cgi,
          httemplate/edit/cust_credit_bill.cgi,
          httemplate/edit/cust_main.cgi,
          httemplate/edit/cust_main_county-expand.cgi,
+         httemplate/edit/cust_main_county.cgi,
          httemplate/edit/cust_pay.cgi, httemplate/edit/cust_pkg.cgi,
-         httemplate/edit/svc_acct.cgi, httemplate/edit/svc_acct_pop.cgi,
-         httemplate/edit/svc_domain.cgi, httemplate/edit/svc_forward.cgi,
-         httemplate/misc/catchall.cgi,
+         httemplate/edit/part_referral.cgi, httemplate/edit/svc_acct.cgi,
+         httemplate/edit/svc_acct_pop.cgi,
+         httemplate/edit/svc_acct_sm.cgi, httemplate/edit/svc_domain.cgi,
+         httemplate/edit/svc_forward.cgi, httemplate/misc/catchall.cgi,
          httemplate/misc/delete-customer.cgi, httemplate/misc/link.cgi,
-         httemplate/search/cust_main.cgi, httemplate/search/cust_pkg.cgi,
-         httemplate/search/svc_acct.cgi, httemplate/search/svc_domain.cgi,
-         httemplate/view/cust_bill.cgi, httemplate/view/cust_main.cgi,
-         httemplate/view/svc_acct.cgi, httemplate/view/svc_domain.cgi,
-         httemplate/view/svc_forward.cgi: get rid of header foo in
-         individual templates
+         httemplate/search/cust_bill.cgi, httemplate/search/cust_main.cgi,
+         httemplate/search/cust_pkg.cgi, httemplate/search/svc_acct.cgi,
+         httemplate/search/svc_acct_sm.cgi,
+         httemplate/search/svc_domain.cgi, httemplate/view/cust_bill.cgi,
+         httemplate/view/cust_main.cgi, httemplate/view/cust_pkg.cgi,
+         httemplate/view/svc_acct.cgi, httemplate/view/svc_acct_sm.cgi,
+         httemplate/view/svc_domain.cgi, httemplate/view/svc_forward.cgi:
+         get rid of header foo in individual templates
+
+2001-10-30 06:28  ivan
+
+       * httemplate/docs/: install.html, upgrade8.html: docu
 
 2001-10-30 06:20  ivan
 
 
 2001-10-30 05:47  ivan
 
-       * Makefile, FS/bin/freeside-adduser, conf/shells, conf/smtpmachine:
-         `make create-config' installs default config (conf dir update)
-         freeside-adduser uses default secrets file
+       * Makefile, FS/bin/freeside-adduser, conf/address, conf/domain,
+         conf/secrets, conf/shells, conf/smtpmachine,
+         httemplate/docs/install.html: `make create-config' installs
+         default config (conf dir update) freeside-adduser uses default
+         secrets file
 
 2001-10-30 04:38  ivan
 
 
 2001-10-30 04:35  ivan
 
-       * Makefile: makefile typo
+       * Makefile, httemplate/docs/install.html: makefile typo
 
 2001-10-30 03:47  ivan
 
        * Makefile, FS/bin/freeside-adduser, httemplate/docs/admin.html,
-         httemplate/docs/index.html: whew more install docs and automation
+         httemplate/docs/config.html, httemplate/docs/index.html,
+         httemplate/docs/install.html: whew more install docs and
+         automation
 
 2001-10-30 02:20  ivan
 
-       * Makefile, FS/MANIFEST, FS/FS/Conf.pm, FS/bin/freeside-adduser:
-         setup/config updates.  getting easier...
+       * Makefile, FS/MANIFEST, FS/FS/Conf.pm, FS/bin/freeside-adduser,
+         httemplate/docs/install.html: setup/config updates.  getting
+         easier...
 
 2001-10-29 13:22  ivan
 
        * Makefile: fix make clean
 
+2001-10-29 12:54  ivan
+
+       * httemplate/docs/install.html: doc typo
+
 2001-10-29 12:53  ivan
 
        * FS/FS/svc_forward.pm: methods for getting the associated svc_acct
 
 2001-10-26 03:24  ivan
 
-       * FS/FS/CGI.pm, htetc/handler.pl, httemplate/browse/agent.cgi,
-         httemplate/browse/agent_type.cgi,
+       * FS/FS/CGI.pm, htetc/global.asa, htetc/handler.pl,
+         httemplate/browse/agent.cgi, httemplate/browse/agent_type.cgi,
          httemplate/browse/cust_main_county.cgi,
          httemplate/browse/nas.cgi, httemplate/browse/part_pkg.cgi,
+         httemplate/browse/part_referral.cgi, httemplate/browse/queue.cgi,
          httemplate/browse/svc_acct_pop.cgi, httemplate/edit/agent.cgi,
          httemplate/edit/agent_type.cgi, httemplate/edit/cust_credit.cgi,
          httemplate/edit/cust_credit_bill.cgi,
          httemplate/edit/cust_main.cgi,
          httemplate/edit/cust_main_county-expand.cgi,
+         httemplate/edit/cust_main_county.cgi,
          httemplate/edit/cust_pay.cgi, httemplate/edit/cust_pkg.cgi,
-         httemplate/edit/svc_acct.cgi, httemplate/edit/svc_acct_pop.cgi,
-         httemplate/edit/svc_domain.cgi, httemplate/edit/svc_forward.cgi,
-         httemplate/misc/catchall.cgi,
+         httemplate/edit/part_referral.cgi, httemplate/edit/svc_acct.cgi,
+         httemplate/edit/svc_acct_pop.cgi,
+         httemplate/edit/svc_acct_sm.cgi, httemplate/edit/svc_domain.cgi,
+         httemplate/edit/svc_forward.cgi, httemplate/misc/catchall.cgi,
          httemplate/misc/delete-customer.cgi, httemplate/misc/link.cgi,
-         httemplate/search/cust_main.cgi, httemplate/search/cust_pkg.cgi,
-         httemplate/search/svc_acct.cgi, httemplate/search/svc_domain.cgi,
-         httemplate/view/cust_bill.cgi, httemplate/view/cust_main.cgi,
-         httemplate/view/svc_acct.cgi, httemplate/view/svc_domain.cgi,
-         httemplate/view/svc_forward.cgi: cache foo *sigh*
+         httemplate/search/cust_bill.cgi, httemplate/search/cust_main.cgi,
+         httemplate/search/cust_pkg.cgi, httemplate/search/svc_acct.cgi,
+         httemplate/search/svc_acct_sm.cgi,
+         httemplate/search/svc_domain.cgi, httemplate/view/cust_bill.cgi,
+         httemplate/view/cust_main.cgi, httemplate/view/cust_pkg.cgi,
+         httemplate/view/svc_acct.cgi, httemplate/view/svc_acct_sm.cgi,
+         httemplate/view/svc_domain.cgi, httemplate/view/svc_forward.cgi:
+         cache foo *sigh*
 
 2001-10-26 02:50  ivan
 
 
        * FS/FS.pm, FS/MANIFEST, FS/FS/Conf.pm, FS/FS/ConfItem.pm,
          FS/FS/svc_acct.pm, FS/FS/svc_domain.pm, FS/t/ConfItem.t,
-         httemplate/index.html, httemplate/config/config-process.cgi,
-         httemplate/config/config-view.cgi,
-         httemplate/search/svc_acct.cgi: preliminary web config editor
+         bin/fs-setup, bin/svc_acct.export, httemplate/index.html,
+         httemplate/config/config-process.cgi,
+         httemplate/config/config-view.cgi, httemplate/docs/config.html,
+         httemplate/docs/install.html, httemplate/search/svc_acct.cgi:
+         preliminary web config editor
 
          new config files: username-ampersand, passwordmax
 
 
          documentation updates
 
+2001-10-23 17:59  ivan
+
+       * httemplate/browse/queue.cgi: Can't find string terminator "!"
+         anywhere before EOF at queue.cgi line 42
+
 2001-10-23 13:53  ivan
 
        * FS/bin/freeside-queued: Pg: FOR UPDATE LIMIT 1 mysql: LIMIT 1 FOR
 
          greeeat.
 
+2001-10-23 11:57  ivan
+
+       * httemplate/docs/: config.html, install.html: document how to set
+         MySQL with BDB default tables
+
+2001-10-23 11:15  ivan
+
+       * bin/fs-setup: mysql fixes
+
 2001-10-22 07:48  ivan
 
        * FS/FS/svc_acct.pm: fix dir check
 
 2001-10-20 05:17  ivan
 
-       * FS/FS/cust_main.pm, FS/FS/part_pkg.pm, htetc/handler.pl,
+       * README.1.4.0pre3-4, FS/FS/cust_main.pm, FS/FS/part_pkg.pm,
+         bin/fs-setup, htetc/global.asa, htetc/handler.pl,
          httemplate/browse/part_pkg.cgi, httemplate/docs/schema.html,
-         httemplate/edit/part_pkg.cgi, httemplate/edit/svc_acct.cgi,
+         httemplate/docs/upgrade8.html, httemplate/edit/part_pkg.cgi,
+         httemplate/edit/svc_acct.cgi,
          httemplate/edit/process/cust_main.cgi,
          httemplate/edit/process/part_pkg.cgi: setup and recurring fee tax
          exempt flags, UI to edit rework part_pkg editing UI some more
 
+2001-10-16 13:33  jeff
+
+       * bin/svc_acct.export: added slipip insertion for icradius and
+         vpopmail restart config
+
 2001-10-15 07:58  ivan
 
-       * FS/FS/cust_pkg.pm, htetc/handler.pl,
+       * FS/FS/cust_pkg.pm, htetc/global.asa, htetc/handler.pl,
          httemplate/edit/REAL_cust_pkg.cgi,
-         httemplate/edit/process/REAL_cust_pkg.cgi: date editing
+         httemplate/edit/process/REAL_cust_pkg.cgi,
+         httemplate/view/cust_pkg.cgi: date editing
 
 2001-10-15 05:16  ivan
 
 
 2001-10-15 03:42  ivan
 
-       * FS/FS/cust_main.pm, FS/FS/part_pkg.pm,
-         httemplate/browse/part_pkg.cgi, httemplate/docs/schema.html,
-         httemplate/edit/part_pkg.cgi, httemplate/edit/part_svc.cgi,
+       * README.1.4.0pre3-4, FS/FS/cust_main.pm, FS/FS/part_pkg.pm,
+         bin/fs-setup, httemplate/browse/part_pkg.cgi,
+         httemplate/docs/config.html, httemplate/docs/schema.html,
+         httemplate/docs/upgrade8.html, httemplate/edit/part_pkg.cgi,
+         httemplate/edit/part_svc.cgi,
          httemplate/edit/process/part_pkg.cgi: price plans web gui 1st
          pass, oh my
 
+2001-10-12 08:26  ivan
+
+       * httemplate/browse/queue.cgi: add (as yet inactive) retry & remove
+         links
+
 2001-10-11 10:46  ivan
 
-       * htetc/handler.pl: price plan uI!
+       * htetc/: global.asa, handler.pl: price plan uI!
 
 2001-10-11 10:44  ivan
 
 
 2001-10-09 16:10  ivan
 
-       * FS/FS/cust_credit.pm, FS/FS/cust_main.pm, FS/FS/cust_pay.pm,
-         FS/FS/cust_pkg.pm, httemplate/docs/schema.html: add
-         `unsuspendauto' config file: enable the automatic unsuspension of
-         suspended packages when a customer's balance due changes from
-         positive to zero or negative as the result of a payment or credit
+       * README.1.4.0pre3-4, FS/FS/cust_credit.pm, FS/FS/cust_main.pm,
+         FS/FS/cust_pay.pm, FS/FS/cust_pkg.pm,
+         httemplate/docs/config.html, httemplate/docs/install.html,
+         httemplate/docs/schema.html, httemplate/docs/upgrade8.html,
+         bin/fs-setup: add `unsuspendauto' config file: enable the
+         automatic unsuspension of suspended packages when a customer's
+         balance due changes from positive to zero or negative as the
+         result of a payment or credit
 
          add cust_pkg.manual_flag to disable this behaviour per customer
          package (no UI to set this yet)
 
+2001-10-09 06:16  ivan
+
+       * httemplate/docs/install.html: update mysql links
+
 2001-10-09 00:16  ivan
 
        * httemplate/edit/process/part_svc.cgi: that was a confusing bug to
        * FS/FS/cust_pkg.pm: fix syntax error in newly-enabled insert sub,
          sheesh
 
+2001-10-02 13:07  ivan
+
+       * httemplate/docs/upgrade8.html: doc clarification (?)
+
 2001-10-02 09:00  jeff
 
-       * FS/FS/cust_pay_batch.pm: add pkey to batch payments and fix a doc
-         typo
+       * README.1.4.0pre3-4, FS/FS/cust_pay_batch.pm, bin/fs-setup,
+         httemplate/docs/upgrade8.html: add pkey to batch payments and fix
+         a doc typo
 
 2001-10-02 04:10  ivan
 
 
 2001-09-30 13:30  ivan
 
-       * FS/FS/svc_acct.pm: username-uppercase config file
+       * FS/FS/svc_acct.pm, httemplate/docs/config.html:
+         username-uppercase config file
+
+2001-09-27 21:33  ivan
+
+       * httemplate/docs/install.html: ssh recommendations
 
 2001-09-27 14:49  ivan
 
        * httemplate/view/svc_acct.cgi: fix for pre-1.4.0 accounts with no
          domsvc
 
+2001-09-26 04:34  ivan
+
+       * README.1.4.0pre3-4: index oops
+
 2001-09-26 02:17  ivan
 
-       * FS/FS.pm, FS/MANIFEST, FS/FS/cust_credit_bill.pm,
-         FS/FS/cust_main.pm, FS/FS/part_pop_local.pm,
-         FS/FS/svc_acct_pop.pm, FS/t/part_pop_local.t,
-         httemplate/docs/schema.html: add part_pop_local table
+       * README.1.4.0pre3-4, FS/FS.pm, FS/MANIFEST,
+         FS/FS/cust_credit_bill.pm, FS/FS/cust_main.pm,
+         FS/FS/part_pop_local.pm, FS/FS/svc_acct_pop.pm,
+         FS/t/part_pop_local.t, bin/fs-setup, httemplate/docs/schema.html,
+         httemplate/docs/upgrade8.html: add part_pop_local table
 
 2001-09-25 11:03  ivan
 
 
 2001-09-25 11:01  ivan
 
-       * FS/FS/cust_main.pm: add emailinvoiceonly config file and begin to
-         use it
+       * FS/FS/cust_main.pm, httemplate/docs/config.html: add
+         emailinvoiceonly config file and begin to use it
 
 2001-09-25 08:55  ivan
 
-       * FS/FS/cust_main.pm: Business::OnlinePayment::BankOfAmerica
+       * FS/FS/cust_main.pm, httemplate/docs/config.html:
+         Business::OnlinePayment::BankOfAmerica
 
 2001-09-24 17:05  ivan
 
 
 2001-09-19 14:06  ivan
 
-       * FS/: MANIFEST, FS/svc_acct.pm, bin/freeside-apply-credits:
+       * README.1.4.0pre3-4, FS/MANIFEST, FS/FS/svc_acct.pm,
+         FS/bin/freeside-apply-credits, httemplate/docs/config.html:
          directory hashing remove jeff's lib patch from
          freeside-apply-credits add freeside-apply-credits to MANIFEST
          README for pre3-4
 2001-09-16 05:45  ivan
 
        * FS/FS/Record.pm, FS/FS/cust_main_invoice.pm, FS/FS/svc_acct.pm,
-         httemplate/index.html, httemplate/search/cust_main.cgi,
-         httemplate/view/cust_main.cgi: fix oops in
-         FS::cust_main_invoice::replace preventing package cancellation
+         httemplate/index.html, httemplate/docs/config.html,
+         httemplate/search/cust_main.cgi, httemplate/view/cust_main.cgi:
+         fix oops in FS::cust_main_invoice::replace preventing package
+         cancellation
 
          add toggle switch to cust_main searching to show/hide cancelled
          customers.  hidecancelledcustomers config file is just which
 
        * FS/FS/Record.pm: s/croak/confess/
 
+2001-09-12 08:54  ivan
+
+       * httemplate/docs/: install.html, upgrade8.html: mason warnings
+
 2001-09-12 08:45  ivan
 
        * FS/FS/part_svc.pm: oops
 2001-09-11 16:44  ivan
 
        * FS/FS/part_svc.pm, httemplate/edit/svc_acct.cgi,
-         httemplate/edit/svc_domain.cgi, httemplate/edit/svc_forward.cgi,
-         httemplate/view/svc_acct.cgi: radius attributes & default/fixed
-         values should work again now
+         httemplate/edit/svc_acct_sm.cgi, httemplate/edit/svc_domain.cgi,
+         httemplate/edit/svc_forward.cgi, httemplate/view/svc_acct.cgi:
+         radius attributes & default/fixed values should work again now
 
 2001-09-11 15:20  ivan
 
        * FS/FS/svc_Common.pm, bin/fs-radius-add-check,
-         bin/fs-radius-add-reply: fix radius attribute adding
+         bin/fs-radius-add-reply, bin/fs-setup, bin/svc_acct.export: fix
+         radius attribute adding
 
 2001-09-11 14:58  ivan
 
        * FS/bin/freeside-queued: usage sub
 
+2001-09-11 13:59  ivan
+
+       * httemplate/edit/svc_acct_sm.cgi: persistance problem not clearing
+         variables between runs
+
 2001-09-11 13:44  ivan
 
        * httemplate/search/svc_acct.cgi: getting "you should run the
 
 2001-09-11 02:56  ivan
 
-       * httemplate/: edit/process/quick-cust_pkg.cgi, view/cust_main.cgi:
-         fix quick order
+       * README.1.4.0pre2-3, httemplate/edit/process/quick-cust_pkg.cgi,
+         httemplate/view/cust_main.cgi: fix quick order
+
+2001-09-10 21:44  ivan
+
+       * httemplate/browse/queue.cgi: web queue view
 
 2001-09-10 21:17  ivan
 
-       * FS/FS/svc_acct.pm: username-noperiod config file
+       * FS/FS/svc_acct.pm, httemplate/docs/config.html: username-noperiod
+         config file
 
 2001-09-10 20:15  ivan
 
-       * FS/FS/cust_main.pm, FS/FS/svc_acct.pm, FS/bin/freeside-queued,
-         httemplate/edit/part_svc.cgi: cyrus support
+       * README.1.4.0pre2-3, FS/FS/cust_main.pm, FS/FS/svc_acct.pm,
+         FS/bin/freeside-queued, httemplate/docs/config.html,
+         httemplate/docs/export.html, httemplate/edit/part_svc.cgi: cyrus
+         support
 
 2001-09-10 18:09  ivan
 
 
 2001-09-10 17:08  ivan
 
-       * FS/FS.pm, FS/MANIFEST, FS/FS/Record.pm,
+       * README.1.4.0pre2-3, FS/FS.pm, FS/MANIFEST, FS/FS/Record.pm,
          FS/FS/cust_credit_bill.pm, FS/FS/cust_main.pm, FS/FS/part_svc.pm,
-         FS/FS/queue.pm, FS/FS/queue_arg.pm, FS/bin/freeside-queued,
-         FS/t/queue.t, FS/t/queue_arg.t, htetc/handler.pl,
-         httemplate/index.html, httemplate/browse/part_svc.cgi,
-         httemplate/docs/schema.html, httemplate/edit/part_svc.cgi,
+         FS/FS/queue.pm, FS/FS/queue_arg.pm, FS/bin/freeside-bill,
+         FS/bin/freeside-queued, FS/t/queue.t, FS/t/queue_arg.t,
+         htetc/handler.pl, httemplate/index.html,
+         httemplate/browse/part_svc.cgi, httemplate/docs/install.html,
+         httemplate/docs/schema.html, httemplate/docs/upgrade8.html,
+         httemplate/edit/part_svc.cgi,
          httemplate/edit/process/part_svc.cgi,
          httemplate/search/cust_main.cgi: faster (cached) fuzzy searches
          prelim. job queues! fixed part_svc editing
 
 2001-09-10 17:07  ivan
 
-       * bin/: freeside-init, fs-migrate-part_svc: fixing
+       * bin/: freeside-init, fs-migrate-part_svc, fs-setup: fixing
          fs-migrate-part_svc updateing fs-setup for job queues
          freeside-init for starting freeside-queued
 
+2001-09-07 17:28  khoff
+
+       * bin/fs-setup: First post.  Sorry.  Missing comma.
+
 2001-09-07 13:49  ivan
 
        * FS/FS/part_svc_column.pm: oops, forgot to add this
 2001-09-07 13:17  ivan
 
        * FS/MANIFEST, FS/FS/raddb.pm, FS/FS/svc_acct.pm, FS/t/raddb.t,
-         bin/fs-radius-add-check, bin/fs-radius-add-reply,
+         bin/fs-radius-add-check, bin/fs-radius-add-reply, bin/fs-setup,
          bin/generate-raddb: fix RADIUS attribute capitalization
 
+2001-09-06 14:43  ivan
+
+       * httemplate/docs/: install.html, postgresql.html: no more pg
+         RADIUS silliness
+
 2001-09-06 14:20  ivan
 
        * FS/FS/svc_acct.pm, httemplate/docs/schema.html: doc
 
 2001-09-06 13:41  ivan
 
-       * FS/FS.pm, FS/MANIFEST, FS/FS/UID.pm, FS/FS/part_svc.pm,
-         FS/FS/svc_Common.pm, FS/FS/svc_acct.pm, FS/FS/svc_domain.pm,
-         FS/FS/svc_forward.pm, FS/FS/svc_www.pm, FS/t/part_svc_column.t,
+       * README.1.4.0pre2-3, FS/FS.pm, FS/MANIFEST, FS/FS/UID.pm,
+         FS/FS/part_svc.pm, FS/FS/svc_Common.pm, FS/FS/svc_acct.pm,
+         FS/FS/svc_acct_sm.pm, FS/FS/svc_domain.pm, FS/FS/svc_forward.pm,
+         FS/FS/svc_www.pm, FS/t/part_svc_column.t,
          bin/fs-migrate-part_svc, bin/fs-migrate-payref,
-         bin/fs-radius-add-check, bin/fs-radius-add-reply,
+         bin/fs-radius-add-check, bin/fs-radius-add-reply, bin/fs-setup,
          httemplate/browse/part_svc.cgi, httemplate/docs/schema.html,
-         httemplate/edit/part_svc.cgi,
+         httemplate/docs/upgrade8.html, httemplate/edit/part_svc.cgi,
          httemplate/edit/process/part_svc.cgi: finally fix part_svc!!!
 
 2001-09-04 08:12  ivan
 
        * FS/FS/cust_pkg.pm, httemplate/browse/agent.cgi,
          httemplate/browse/agent_type.cgi, httemplate/browse/part_pkg.cgi,
+         httemplate/browse/part_referral.cgi,
          httemplate/browse/part_svc.cgi, httemplate/docs/admin.html,
          httemplate/edit/part_svc.cgi, httemplate/edit/svc_acct.cgi,
          httemplate/edit/process/quick-cust_pkg.cgi,
          httemplate/view/cust_main.cgi: new admin documentation, quick
          one-pkg order
 
+2001-09-04 04:15  ivan
+
+       * bin/fs-setup: rar
+
+2001-09-04 04:15  ivan
+
+       * bin/fs-setup: much better
+
+2001-09-04 04:14  ivan
+
+       * bin/fs-setup: tyops
+
+2001-09-04 04:03  ivan
+
+       * bin/fs-setup, httemplate/docs/config.html: silly syntax error and
+         doc updates
+
+2001-09-04 02:55  ivan
+
+       * httemplate/docs/install.html: better installation instructions
+
+2001-09-04 02:54  ivan
+
+       * htetc/global.asa: hehe, this should help out everybody without
+         DBIx::Profile (i.e. everybody)
+
+2001-09-03 15:16  ivan
+
+       * bin/fs-setup: this too
+
 2001-09-03 15:07  ivan
 
        * FS/FS/cust_bill.pm, FS/FS/cust_bill_pay.pm, FS/FS/cust_main.pm,
-         FS/FS/cust_pay.pm, FS/FS/cust_svc.pm,
-         httemplate/docs/signup.html, httemplate/edit/cust_credit.cgi,
+         FS/FS/cust_pay.pm, FS/FS/cust_svc.pm, FS/bin/freeside-bill,
+         httemplate/docs/signup.html, httemplate/docs/upgrade8.html,
+         httemplate/edit/cust_credit.cgi,
          httemplate/edit/cust_credit_bill.cgi,
          httemplate/edit/cust_pay.cgi,
          httemplate/edit/process/cust_pay.cgi, httemplate/misc/bill.cgi,
 
 2001-09-01 21:25  ivan
 
-       * FS/: FS.pm, MANIFEST, FS/cust_bill_pay.pm, FS/cust_main.pm,
-         FS/cust_refund.pm, t/CGI.t, t/Conf.t, t/Record.t, t/UID.t,
-         t/agent.t, t/agent_type.t, t/cust_bill.t, t/cust_bill_pay.t,
-         t/cust_bill_pkg.t, t/cust_credit.t, t/cust_credit_bill.t,
-         t/cust_credit_refund.t, t/cust_main.t, t/cust_main_county.t,
-         t/cust_main_invoice.t, t/cust_pay.t, t/cust_pay_batch.t,
-         t/cust_pkg.t, t/cust_refund.t, t/cust_svc.t, t/domain_record.t,
-         t/nas.t, t/part_pkg.t, t/part_referral.t, t/part_svc.t,
-         t/pkg_svc.t, t/port.t, t/prepay_credit.t, t/session.t,
-         t/svc_Common.t, t/svc_acct.t, t/svc_acct_pop.t, t/svc_domain.t,
+       * FS/: FS.pm, MANIFEST, test.pl, FS/cust_bill_pay.pm,
+         FS/cust_main.pm, FS/cust_refund.pm, t/CGI.t, t/CGIwrapper.t,
+         t/Conf.t, t/Record.t, t/UID.t, t/agent.t, t/agent_type.t,
+         t/cust_bill.t, t/cust_bill_pay.t, t/cust_bill_pkg.t,
+         t/cust_credit.t, t/cust_credit_bill.t, t/cust_credit_refund.t,
+         t/cust_main.t, t/cust_main_county.t, t/cust_main_invoice.t,
+         t/cust_pay.t, t/cust_pay_batch.t, t/cust_pkg.t, t/cust_refund.t,
+         t/cust_svc.t, t/domain_record.t, t/nas.t, t/part_pkg.t,
+         t/part_referral.t, t/part_svc.t, t/pkg_svc.t, t/port.t,
+         t/prepay_credit.t, t/session.t, t/svc_Common.t, t/svc_acct.t,
+         t/svc_acct_pop.t, t/svc_acct_sm.t, t/svc_domain.t,
          t/svc_forward.t, t/svc_www.t, t/type_pkgs.t: lame testsuite and
          the embarassing fixes in it found
 
+2001-09-01 20:42  ivan
+
+       * httemplate/docs/upgrade8.html: really.  backup.
+
+2001-09-01 20:20  ivan
+
+       * httemplate/docs/upgrade8.html: upgrade
+
 2001-09-01 19:53  jeff
 
        * FS/bin/freeside-apply-credits: adding a credit apply utility
 2001-09-01 19:46  ivan
 
        * FS/FS/cust_bill_pay.pm, FS/FS/cust_main.pm, FS/FS/cust_pay.pm,
-         FS/FS/cust_refund.pm, httemplate/docs/schema.html: cust_refund
-         and cust_pay get custnums
+         FS/FS/cust_refund.pm, bin/fs-setup, httemplate/docs/schema.html,
+         httemplate/docs/upgrade8.html: cust_refund and cust_pay get
+         custnums
 
 2001-09-01 18:27  ivan
 
          cust_refund.pm: more udpates for the new world of unapplied
          stuff.  yay.
 
+2001-09-01 16:41  ivan
+
+       * httemplate/docs/upgrade8.html: cust_bill_pay and
+         cust_credit_refund
+
 2001-09-01 15:28  jeff
 
-       * FS/FS/cust_main.pm: haste makes waste... and left a method out
+       * FS/FS/cust_main.pm, httemplate/docs/upgrade8.html: haste makes
+         waste... and left a method out
 
 2001-09-01 15:18  ivan
 
-       * FS/FS/cust_credit_bill.pm: add primary key
+       * FS/FS/cust_credit_bill.pm, bin/fs-setup: add primary key
 
 2001-09-01 15:01  ivan
 
 2001-09-01 14:52  jeff
 
        * FS/MANIFEST, FS/FS/cust_bill.pm, FS/FS/cust_credit.pm,
-         FS/FS/cust_credit_bill.pm, FS/FS/cust_main.pm,
+         FS/FS/cust_credit_bill.pm, FS/FS/cust_main.pm, bin/fs-setup,
+         httemplate/docs/upgrade8.html,
          httemplate/edit/cust_credit_bill.cgi,
          httemplate/edit/process/cust_credit_bill.cgi,
          httemplate/view/cust_main.cgi: add cust_credit_bill relating
 
        * FS/FS/cust_bill_pay.pm, FS/FS/cust_credit_refund.pm,
          FS/FS/cust_main.pm, FS/FS/cust_pay.pm, FS/FS/cust_refund.pm,
-         httemplate/docs/schema.html: cust_bill_pay and
+         bin/fs-setup, httemplate/docs/schema.html: cust_bill_pay and
          cust_credit_refund.  payments can apply to multiple invoices and
          refunds can apply to multiple credits.
 
+2001-09-01 05:35  ivan
+
+       * httemplate/search/cust_bill.cgi: totals
+
 2001-08-31 02:20  ivan
 
        * FS/FS/Record.pm: check US zips more strictly
 
        * httemplate/edit/agent.cgi: ui
 
+2001-08-29 01:45  ivan
+
+       * bin/fs-setup, httemplate/docs/upgrade8.html: catchall *can* be
+         NULL
+
 2001-08-28 09:58  ivan
 
-       * httemplate/: docs/signup.html, search/cust_main.cgi:
-         customer-to-customer referrals in singup server
+       * httemplate/: docs/signup.html, docs/upgrade8.html,
+         search/cust_main.cgi: customer-to-customer referrals in singup
+         server
 
 2001-08-28 07:34  ivan
 
-       * FS/FS/cust_main.pm, httemplate/edit/cust_main.cgi,
+       * FS/FS/cust_main.pm, httemplate/docs/config.html,
+         httemplate/docs/upgrade8.html, httemplate/edit/cust_main.cgi,
          httemplate/search/cust_main.cgi, httemplate/view/cust_main.cgi:
          customer-to-customer referrals!
 
 
 2001-08-21 02:34  ivan
 
-       * FS/FS/Record.pm, FS/FS/UID.pm, httemplate/browse/agent.cgi,
+       * FS/FS/Record.pm, FS/FS/UID.pm, FS/bin/freeside-bill,
+         htetc/global.asa, httemplate/browse/agent.cgi,
          httemplate/browse/agent_type.cgi,
          httemplate/browse/cust_main_county.cgi,
          httemplate/browse/part_pkg.cgi,
+         httemplate/browse/part_referral.cgi,
          httemplate/browse/svc_acct_pop.cgi: no more &swapuid
 
 2001-08-20 20:03  ivan
 2001-08-20 19:44  ivan
 
        * FS/FS/domain_record.pm, FS/FS/prepay_credit.pm, FS/FS/svc_www.pm,
-         eg/TEMPLATE_cust_main.import, eg/table_template-svc.pm: remove
-         $Log$
+         FS/bin/freeside-print-batch, eg/TEMPLATE_cust_main.import,
+         eg/table_template-svc.pm: remove $Log$
 
 2001-08-20 19:43  ivan
 
-       * bin/fs-migrate-svc_acct_sm: i think svc_acct_sm.import should go
-         away, but...
+       * bin/: dbdef-create, fs-migrate-svc_acct_sm, svc_acct_sm.import: i
+         think svc_acct_sm.import should go away, but...
 
 2001-08-20 19:32  ivan
 
 2001-08-20 19:31  ivan
 
        * httemplate/: browse/agent.cgi, browse/agent_type.cgi,
-         browse/part_pkg.cgi, browse/svc_acct_pop.cgi, edit/agent.cgi,
-         edit/agent_type.cgi, edit/cust_credit.cgi,
-         edit/cust_main_county-expand.cgi, edit/cust_pay.cgi,
-         edit/cust_pkg.cgi, edit/part_pkg.cgi, edit/svc_acct_pop.cgi,
-         edit/svc_domain.cgi, edit/svc_forward.cgi,
+         browse/part_pkg.cgi, browse/part_referral.cgi,
+         browse/svc_acct_pop.cgi, edit/agent.cgi, edit/agent_type.cgi,
+         edit/cust_credit.cgi, edit/cust_main_county-expand.cgi,
+         edit/cust_main_county.cgi, edit/cust_pay.cgi, edit/cust_pkg.cgi,
+         edit/part_pkg.cgi, edit/part_referral.cgi, edit/svc_acct_pop.cgi,
+         edit/svc_acct_sm.cgi, edit/svc_domain.cgi, edit/svc_forward.cgi,
          edit/process/agent.cgi, edit/process/agent_type.cgi,
-         edit/process/cust_credit.cgi, edit/process/cust_pay.cgi,
-         edit/process/cust_pkg.cgi, edit/process/part_pkg.cgi,
+         edit/process/cust_credit.cgi, edit/process/cust_main_county.cgi,
+         edit/process/cust_pay.cgi, edit/process/cust_pkg.cgi,
+         edit/process/part_pkg.cgi, edit/process/part_referral.cgi,
          edit/process/svc_acct.cgi, edit/process/svc_acct_pop.cgi,
-         edit/process/svc_domain.cgi, edit/process/svc_forward.cgi,
-         misc/bill.cgi, misc/cancel-unaudited.cgi, misc/catchall.cgi,
-         misc/delete-customer.cgi, misc/link.cgi, misc/print-invoice.cgi,
+         edit/process/svc_acct_sm.cgi, edit/process/svc_domain.cgi,
+         edit/process/svc_forward.cgi, misc/bill.cgi,
+         misc/cancel-unaudited.cgi, misc/cancel_pkg.cgi,
+         misc/catchall.cgi, misc/delete-customer.cgi, misc/expire_pkg.cgi,
+         misc/link.cgi, misc/print-invoice.cgi, misc/susp_pkg.cgi,
          misc/unsusp_pkg.cgi, misc/process/catchall.cgi,
          misc/process/delete-customer.cgi, misc/process/link.cgi,
-         search/svc_domain.cgi, view/cust_bill.cgi, view/svc_acct.cgi,
-         view/svc_domain.cgi, view/svc_forward.cgi: remove $Log$ messages.
-         whew.
+         search/cust_bill.cgi, search/svc_acct_sm.cgi,
+         search/svc_domain.cgi, view/cust_bill.cgi, view/cust_pkg.cgi,
+         view/svc_acct.cgi, view/svc_acct_sm.cgi, view/svc_domain.cgi,
+         view/svc_forward.cgi: remove $Log$ messages.  whew.
 
 2001-08-20 19:16  ivan
 
 
 2001-08-20 02:41  ivan
 
-       * FS/FS/: svc_acct.pm, svc_domain.pm, svc_forward.pm: dtrt when
-         deleting accouts wrt forwards, catchalls & other references to
-         svc_acct records
+       * FS/FS/: svc_acct.pm, svc_acct_sm.pm, svc_domain.pm,
+         svc_forward.pm: dtrt when deleting accouts wrt forwards,
+         catchalls & other references to svc_acct records
 
          depreciate svc_acct_sm further; move qmail catchall handling to
          svc_domain
 
 2001-08-20 02:38  ivan
 
-       * httemplate/docs/schema.html: documentation updates
+       * httemplate/docs/: config.html, export.html, schema.html:
+         documentation updates
 
 2001-08-19 08:53  jeff
 
          httemplate/view/svc_forward.cgi: added user interface for
          svc_forward and vpopmail support
 
+2001-08-19 06:50  ivan
+
+       * bin/fs-setup, httemplate/docs/upgrade8.html: indices on cust_main
+         ship_last and ship_country
+
 2001-08-19 03:25  ivan
 
        * bin/svc_acct.import: add system shells to @FS::svc_acct:shells on
          the fly, fixes: ticket #88
 
+2001-08-19 02:08  ivan
+
+       * TODO: this is what i fed to RT, might as well check it in.
+
+         no further modifications to TODO.  everything is in the ticketing
+         system now.
+
 2001-08-19 01:32  ivan
 
        * httemplate/search/cust_pkg.cgi: display bill and service
 2001-08-17 04:05  ivan
 
        * httemplate/: browse/cust_main_county.cgi,
+         edit/cust_main_county.cgi,
          edit/process/cust_main_county-collapse.cgi,
          edit/process/cust_main_county-expand.cgi: clean up tax rate
          editing:   sort by country->state->county,   add "collapse state"
 
 2001-08-17 03:57  ivan
 
-       * bin/svc_acct.import: gah
+       * bin/: dbdef-create, svc_acct.export, svc_acct.import: gah
 
 2001-08-17 03:57  ivan
 
 
 2001-08-17 03:55  ivan
 
-       * FS/FS/cust_main.pm: Business::OnlinePayment
+       * FS/FS/cust_main.pm, httemplate/docs/config.html:
+         Business::OnlinePayment
 
 2001-08-17 03:53  ivan
 
 
        * FS/FS/svc_acct.pm: untaint svcnum & domsvc
 
+2001-08-12 17:19  ivan
+
+       * bin/fs-setup: depriciate svc_acct_sm, add unique index for
+         username+domsvc on svc_acct, remove silly $Log$
+
 2001-08-12 12:41  jeff
 
        * FS/FS/svc_acct.pm, FS/FS/svc_domain.pm, FS/FS/svc_forward.pm,
-         bin/fs-migrate-svc_acct_sm: merging vpopmail support branch
+         bin/fs-migrate-svc_acct_sm, bin/fs-setup, bin/svc_acct.export,
+         bin/svc_acct_sm.export, httemplate/docs/config.html,
+         httemplate/docs/upgrade8.html: merging vpopmail support branch
 
 2001-08-12 01:56  ivan
 
        * httemplate/edit/process/part_svc.cgi: don't use
          Apache::ASP-specific $Redirect object
 
+2001-08-11 18:26  ivan
+
+       * httemplate/docs/postgresql.html: i did get it working
+
 2001-08-11 17:07  ivan
 
        * httemplate/edit/: cust_main.cgi, process/cust_main.cgi: use
 
        * httemplate/browse/part_svc.cgi: missed a variable interpolation
 
+2001-08-10 22:53  ivan
+
+       * bin/fs-setup, httemplate/docs/upgrade8.html: add comments field
+
 2001-08-10 22:52  ivan
 
        * httemplate/: edit/cust_main.cgi, view/cust_main.cgi: add customer
          httemplate/search/cust_main.cgi, httemplate/view/cust_main.cgi:
          shipping address additions
 
+2001-07-30 02:53  ivan
+
+       * httemplate/docs/upgrade8.html: Pg primary key upgrade fix (create
+         fix in new DBIx::DBSchema)
+
 2001-07-30 01:03  ivan
 
        * httemplate/: .htaccess, docs/overview.dia, docs/overview.png:
 
 2001-07-30 01:02  ivan
 
-       * htetc/handler.pl: template stuffs
+       * htetc/: global.asa, handler.pl: template stuffs
 
 2001-07-30 01:01  ivan
 
        * Makefile: need this too!
 
+2001-07-30 00:42  ivan
+
+       * bin/fs-setup: need an DBIx::DBSchema with delcolumn
+
 2001-07-30 00:36  ivan
 
        * httemplate/index.html, httemplate/browse/agent.cgi,
          httemplate/browse/agent_type.cgi,
          httemplate/browse/cust_main_county.cgi,
          httemplate/browse/nas.cgi, httemplate/browse/part_pkg.cgi,
+         httemplate/browse/part_referral.cgi,
          httemplate/browse/part_svc.cgi,
          httemplate/browse/svc_acct_pop.cgi, httemplate/docs/admin.html,
-         httemplate/docs/index.html, httemplate/docs/legacy.html,
-         httemplate/docs/passwd.html, httemplate/docs/schema.html,
-         httemplate/docs/session.html, httemplate/docs/signup.html,
-         bin/masonize, bin/pod2x, httemplate/edit/agent.cgi,
+         httemplate/docs/billing.html, httemplate/docs/config.html,
+         httemplate/docs/export.html, httemplate/docs/index.html,
+         httemplate/docs/install.html, httemplate/docs/legacy.html,
+         httemplate/docs/passwd.html, httemplate/docs/postgresql.html,
+         httemplate/docs/schema.html, httemplate/docs/session.html,
+         httemplate/docs/signup.html, httemplate/docs/trouble.html,
+         httemplate/docs/upgrade.html, httemplate/docs/upgrade2.html,
+         httemplate/docs/upgrade3.html, httemplate/docs/upgrade4.html,
+         httemplate/docs/upgrade5.html, httemplate/docs/upgrade6.html,
+         httemplate/docs/upgrade7.html, httemplate/docs/upgrade8.html,
+         bin/fs-setup, bin/masonize, bin/pod2x, httemplate/edit/agent.cgi,
          httemplate/edit/agent_type.cgi, httemplate/edit/cust_credit.cgi,
          httemplate/edit/cust_main.cgi,
          httemplate/edit/cust_main_county-expand.cgi,
+         httemplate/edit/cust_main_county.cgi,
          httemplate/edit/cust_pay.cgi, httemplate/edit/cust_pkg.cgi,
-         httemplate/edit/part_pkg.cgi, httemplate/edit/part_svc.cgi,
-         httemplate/edit/svc_acct.cgi, httemplate/edit/svc_acct_pop.cgi,
-         httemplate/edit/svc_domain.cgi,
+         httemplate/edit/part_pkg.cgi, httemplate/edit/part_referral.cgi,
+         httemplate/edit/part_svc.cgi, httemplate/edit/svc_acct.cgi,
+         httemplate/edit/svc_acct_pop.cgi,
+         httemplate/edit/svc_acct_sm.cgi, httemplate/edit/svc_domain.cgi,
          httemplate/edit/process/agent.cgi,
          httemplate/edit/process/agent_type.cgi,
          httemplate/edit/process/cust_credit.cgi,
          httemplate/edit/process/cust_main.cgi,
          httemplate/edit/process/cust_main_county-expand.cgi,
+         httemplate/edit/process/cust_main_county.cgi,
          httemplate/edit/process/cust_pay.cgi,
          httemplate/edit/process/cust_pkg.cgi,
          httemplate/edit/process/part_pkg.cgi,
+         httemplate/edit/process/part_referral.cgi,
          httemplate/edit/process/part_svc.cgi,
          httemplate/edit/process/svc_acct.cgi,
          httemplate/edit/process/svc_acct_pop.cgi,
+         httemplate/edit/process/svc_acct_sm.cgi,
          httemplate/edit/process/svc_domain.cgi,
-         httemplate/images/small-logo.png, httemplate/misc/bill.cgi,
-         httemplate/misc/cancel-unaudited.cgi,
-         httemplate/misc/delete-customer.cgi, httemplate/misc/link.cgi,
-         httemplate/misc/print-invoice.cgi,
+         httemplate/images/mid-logo.png, httemplate/images/small-logo.png,
+         httemplate/misc/bill.cgi, httemplate/misc/cancel-unaudited.cgi,
+         httemplate/misc/cancel_pkg.cgi,
+         httemplate/misc/delete-customer.cgi,
+         httemplate/misc/expire_pkg.cgi, httemplate/misc/link.cgi,
+         httemplate/misc/print-invoice.cgi, httemplate/misc/susp_pkg.cgi,
          httemplate/misc/unsusp_pkg.cgi,
          httemplate/misc/process/delete-customer.cgi,
          httemplate/misc/process/link.cgi,
+         httemplate/search/cust_bill.cgi,
          httemplate/search/cust_bill.html,
+         httemplate/search/cust_main-payinfo.html,
          httemplate/search/cust_main.cgi,
          httemplate/search/cust_main.html, httemplate/search/cust_pkg.cgi,
-         httemplate/search/svc_acct.cgi, httemplate/search/svc_domain.cgi,
-         httemplate/view/cust_bill.cgi, httemplate/view/cust_main.cgi,
-         httemplate/view/svc_acct.cgi, httemplate/view/svc_domain.cgi:
-         templates!!!
+         httemplate/search/svc_acct.cgi, httemplate/search/svc_acct.html,
+         httemplate/search/svc_acct_sm.cgi,
+         httemplate/search/svc_acct_sm.html,
+         httemplate/search/svc_domain.cgi,
+         httemplate/search/svc_domain.html, httemplate/view/cust_bill.cgi,
+         httemplate/view/cust_main.cgi, httemplate/view/cust_pkg.cgi,
+         httemplate/view/svc_acct.cgi, httemplate/view/svc_acct_sm.cgi,
+         httemplate/view/svc_domain.cgi: templates!!!
 
 2001-07-30 00:33  ivan
 
 
        * INSTALL, README: templates!
 
+2001-07-30 00:13  ivan
+
+       * TODO: todocruft
+
 2001-07-29 23:28  ivan
 
        * FS/FS/svc_acct.pm: allow !! as password for disabled accounts
 
 2001-07-29 23:07  ivan
 
-       * bin/svc_acct.import: allow !! for locked accounts instead of
-         changing to *SUSPENDED*
+       * bin/: svc_acct.export, svc_acct.import: allow !! for locked
+         accounts instead of changing to *SUSPENDED*
 
 2001-07-27 10:16  ivan
 
 
        * FS/FS/UID.pm: better error message
 
+2001-06-20 01:33  ivan
+
+       * bin/svc_acct.export: >     Use of uninitialized value in
+         concatenation (.) at svc_acct.export line
+         > 276.
+
+2001-06-06 15:22  ivan
+
+       * TODO: templating thoughts
+
 2001-06-05 14:40  ivan
 
-       * debian/: README.Debian, changelog, control, copyright, init.d.ex,
-         rules: add deb packaging foo (doesn't work yet)
+       * debian/: README.Debian, changelog, conffiles.ex, control,
+         copyright, cron.d.ex, dirs, docs, ex.doc-base.package,
+         freeside-doc.docs, freeside-doc.files, init.d.ex, manpage.1.ex,
+         manpage.sgml.ex, menu.ex, postinst.ex, postrm.ex, preinst.ex,
+         prerm.ex, rules, watch.ex: add deb packaging foo (doesn't work
+         yet)
 
 2001-06-03 10:22  ivan
 
 
        * README: 1.3.1!!!
 
+2001-06-03 07:16  ivan
+
+       * bin/fs-setup: allow empty refund reasons
+
+2001-06-03 07:15  ivan
+
+       * TODO: yes yes
+
 2001-06-03 05:36  ivan
 
        * FS/FS/svc_acct.pm: add username-letter and username-letterfirst
 
        * FS/bin/freeside-email: simple program to list all email addresses
 
+2001-05-08 03:44  ivan
+
+       * bin/: svc_acct.export, svc_acct_sm.export: fix for OO Net::SCP
+
 2001-05-07 08:42  ivan
 
        * FS/FS/Record.pm: tyop
 
 2001-04-21 18:56  ivan
 
-       * README, FS/FS.pm, FS/MANIFEST, FS/FS/svc_acct.pm,
-         FS/FS/svc_domain.pm, FS/FS/svc_www.pm, bin/svc_acct.import: get
-         rid of FS::SSH.pm (became Net::SSH and Net::SCP on CPAN)
+       * README, FS/FS.pm, FS/MANIFEST, FS/FS/SSH.pm, FS/FS/svc_acct.pm,
+         FS/FS/svc_acct_sm.pm, FS/FS/svc_domain.pm, FS/FS/svc_www.pm,
+         bin/svc_acct.export, bin/svc_acct.import, bin/svc_acct_sm.export,
+         bin/svc_acct_sm.import, bin/svc_domain.import,
+         fs_passwd/fs_passwd_server: get rid of FS::SSH.pm (became
+         Net::SSH and Net::SCP on CPAN)
 
 2001-04-21 18:38  ivan
 
-       * FS/FS/svc_domain.pm: svc_domain needs to import dbh sub from
-         Record view/cust_main.cgi needs to use ->owed method, not check
-         (depriciated) owed field search/cust_bill.cgi redirect error when
-         there's only one invoice
+       * TODO, FS/FS/svc_domain.pm: svc_domain needs to import dbh sub
+         from Record view/cust_main.cgi needs to use ->owed method, not
+         check (depriciated) owed field search/cust_bill.cgi redirect
+         error when there's only one invoice
 
 2001-04-21 17:49  ivan
 
 
        * FS/MANIFEST: no more dbdef
 
+2001-04-15 06:56  ivan
+
+       * TODO: [no log message]
+
 2001-04-15 06:35  ivan
 
        * FS/FS/: nas.pm, session.pm, svc_Common.pm, svc_domain.pm:
 
 2001-04-15 05:56  ivan
 
-       * FS/FS/Record.pm: s/dbdef/DBIx::DBSchema/
+       * TODO, FS/FS/Record.pm, FS/FS/dbdef.pm, FS/FS/dbdef_colgroup.pm,
+         FS/FS/dbdef_column.pm, FS/FS/dbdef_index.pm,
+         FS/FS/dbdef_table.pm, FS/FS/dbdef_unique.pm, bin/dbdef-create,
+         bin/fs-setup: s/dbdef/DBIx::DBSchema/
 
 2001-04-15 03:33  ivan
 
-       * CREDITS: better docs for the worst bit, finally
+       * CREDITS, TODO: better docs for the worst bit, finally
+
+2001-04-15 02:36  ivan
+
+       * bin/fs-setup:
+         http://www.sisd.com/freeside/list-archive/msg01450.html
 
 2001-04-09 16:05  ivan
 
-       * FS/FS/: cust_bill.pm, cust_credit.pm, cust_main.pm, cust_pay.pm,
-         cust_pkg.pm, cust_refund.pm, session.pm, svc_Common.pm:
-         Transactions Part I!!!
+       * TODO, FS/FS/cust_bill.pm, FS/FS/cust_credit.pm,
+         FS/FS/cust_main.pm, FS/FS/cust_pay.pm, FS/FS/cust_pkg.pm,
+         FS/FS/cust_refund.pm, FS/FS/session.pm, FS/FS/svc_Common.pm,
+         bin/fs-setup: Transactions Part I!!!
 
 2001-04-09 08:50  ivan
 
-       * CREDITS, FS/MANIFEST: rar
+       * CREDITS, TODO, FS/MANIFEST: rar
 
 2001-03-30 09:33  ivan
 
        * FS/FS/session.pm: silly typo, fix sent by Mack <mackn@mackn.net>,
          thanks!
 
+2001-02-21 15:48  ivan
+
+       * bin/svc_acct.export: add icradius_secrets config file to export
+         to a non-Freeside MySQL database for ICRADIUS
+
+2001-02-20 17:48  ivan
+
+       * FS/bin/freeside-print-batch: stupid pod errors
+
+2001-02-20 17:46  ivan
+
+       * FS/FS/: Bill.pm, Invoice.pm: cruft
+
 2001-02-20 17:45  ivan
 
        * FS/FS/nas.pm: pod tyop
 
 2001-02-03 06:03  ivan
 
-       * FS/FS/Record.pm, FS/FS/UID.pm, FS/FS/cust_main.pm,
+       * FS/FS/Record.pm, FS/FS/UID.pm, FS/FS/cust_main.pm, bin/fs-setup,
          bin/generate-prepay: time-based prepaid cards, session monitor.
          woop!
 
 2001-01-30 23:21  ivan
 
-       * FS/FS/: cust_main.pm, svc_acct.pm: fix tyops
+       * TODO, FS/FS/cust_main.pm, FS/FS/svc_acct.pm: fix tyops
 
 2001-01-30 01:08  ivan
 
 
 2000-12-26 15:51  ivan
 
-       * CREDITS: statedefault & referraldefault config files
+       * CREDITS, TODO: statedefault & referraldefault config files
+
+2000-12-10 17:30  ivan
+
+       * TODO: more ancient todo stuff from my inbox
+
+2000-12-10 17:10  ivan
+
+       * TODO: ancient stuff out of my inbox
 
 2000-12-08 14:22  ivan
 
 
        * FS/FS/Record.pm: DESTROY sub
 
+2000-12-03 16:13  ivan
+
+       * bin/fs-setup: fix nas.last type
+
 2000-12-03 12:25  ivan
 
-       * FS/FS/: Record.pm, nas.pm, port.pm, session.pm: session monitor
-         updates
+       * TODO, FS/FS/Record.pm, FS/FS/nas.pm, FS/FS/port.pm,
+         FS/FS/session.pm: session monitor updates
 
 2000-12-03 07:14  ivan
 
-       * CREDITS, FS/FS/cust_bill.pm: bugfixes from Jeff Finucane
-         <jeff@cmh.net>, thanks!
+       * CREDITS, FS/FS/cust_bill.pm, bin/svc_acct_sm.import: bugfixes
+         from Jeff Finucane <jeff@cmh.net>, thanks!
 
 2000-12-03 05:45  ivan
 
 
 2000-12-03 02:09  ivan
 
-       * FS/MANIFEST: bad caches!
+       * FS/: MANIFEST, FS/CGIwrapper.pm: bad caches!
+
+2000-12-01 10:34  ivan
+
+       * bin/fs-setup: another tyop
+
+2000-12-01 10:33  ivan
+
+       * bin/fs-setup: tyop
 
 2000-11-22 15:30  ivan
 
 
 2000-11-07 07:00  ivan
 
-       * FS/: MANIFEST, FS/Record.pm, FS/nas.pm, FS/session.pm: session
-         monitor
+       * FS/MANIFEST, FS/FS/Record.pm, FS/FS/nas.pm, FS/FS/session.pm,
+         bin/fs-setup: session monitor
+
+2000-10-30 02:47  ivan
+
+       * bin/fs-setup: nas.last can't be defined NULL if indexed
 
 2000-10-27 13:18  ivan
 
 
 2000-10-27 13:15  ivan
 
-       * FS/FS/Record.pm, eg/table_template.pm: session monitor
+       * TODO, FS/FS/Record.pm, bin/fs-setup, eg/table_template.pm:
+         session monitor
+
+2000-10-15 05:58  ivan
+
+       * TODO: roo
 
 2000-10-11 17:44  ivan
 
          print_text method is called, want to print overdue invoices if
          printed > 0, not > 1
 
+2000-08-24 00:26  ivan
+
+       * TODO: untaint template source
+
 2000-08-09 11:40  ivan
 
        * conf/invoice_template: example invoice template
 
 2000-08-09 04:30  ivan
 
-       * FS/FS/cust_bill.pm: templatable invoices
+       * TODO, FS/FS/cust_bill.pm: templatable invoices
 
 2000-07-17 06:51  ivan
 
 
        * CREDITS: rawr!
 
+2000-07-06 21:05  ivan
+
+       * fs_passwd/fs_passwd_server: wait()ing on SIGCHLD causing hangs
+         for some folks
+
 2000-07-06 06:56  ivan
 
        * FS/FS/svc_acct.pm: mis-PODed =back should have been a =cut in
          conjunction with AUTOLOAD this was sure a pain to find
 
+2000-07-06 06:23  ivan
+
+       * bin/svc_acct.export: tyop
+
 2000-07-06 06:19  ivan
 
        * bin/: fs-radius-add-check, fs-radius-add-reply: remove duplicate
 
 2000-07-06 01:57  ivan
 
-       * FS/FS/svc_acct.pm, bin/fs-radius-add-check,
-         bin/fs-radius-add-reply: support for radius check attributes
-         (except importing).  poorly documented.
+       * TODO, FS/FS/svc_acct.pm, bin/fs-radius-add,
+         bin/fs-radius-add-check, bin/fs-radius-add-reply, bin/fs-setup,
+         bin/svc_acct.export: support for radius check attributes (except
+         importing).  poorly documented.
+
+2000-07-05 20:37  ivan
+
+       * bin/svc_acct_sm.export: don't error out on invalid
+         svc_acct_sm.domuid's that can't be matched in svc_acct.uid - just
+         warn.
 
 2000-07-04 06:42  ivan
 
        * FS/FS/svc_acct.pm: noted a API inconsistancy
 
+2000-07-03 02:13  ivan
+
+       * bin/svc_acct_sm.export: get rid of double sendmailrestart
+         invocation; no need for multiple sessions
+
+2000-07-03 02:09  ivan
+
+       * bin/svc_acct_sm.export: typo
+
+2000-07-03 02:03  ivan
+
+       * TODO, bin/svc_acct_sm.export: added sendmailrestart and
+         sendmailconfigpath config files
+
+2000-06-30 03:37  ivan
+
+       * FS/FS/svc_acct_sm.pm: maildisablecatchall configuration file
+
+2000-06-29 08:01  ivan
+
+       * bin/svc_acct.export: another silly typo in svc_acct.export
+
+2000-06-29 07:02  ivan
+
+       * bin/svc_acct_sm.export: add sendmailrestart configuration file
+
 2000-06-29 05:27  ivan
 
        * bin/svc_acct.import: s/password/_password/ for PostgreSQL wasn't
          done in the import.
 
+2000-06-29 05:00  ivan
+
+       * bin/fs-setup: support for pre-encrypted md5 passwords.
+
 2000-06-29 04:56  ivan
 
        * FS/FS/svc_acct.pm: md5 passwords can are 34 characters long and
        * FS/FS/svc_domain.pm: don't block on $whois_hack trueness when
          adding new domains.
 
+2000-06-29 03:51  ivan
+
+       * bin/svc_acct_sm.import: oops, silly mistake
+
+2000-06-29 03:48  ivan
+
+       * bin/svc_acct_sm.import: make svc_acct_sm skip blank lines in
+         sendmail import
+
 2000-06-28 05:54  ivan
 
        * FS/FS/svc_acct.pm: superfluous my()
        * FS/FS/svc_acct.pm: bugfix to accept shells that evaluate to false
          in perl, like the empty string.
 
+2000-06-28 05:37  ivan
+
+       * bin/svc_acct.export: add support for config option
+         textradiusprepend
+
 2000-06-28 05:32  ivan
 
        * bin/svc_acct.import: allow RADIUS lines with "Auth-Type = Local"
        * bin/svc_acct.import: make svc_acct more forgiving about RADIUS
          users files
 
+2000-06-28 03:51  ivan
+
+       * bin/fs-radius-add: forgot to import a sub
+
+2000-06-28 03:48  ivan
+
+       * bin/fs-radius-add: quick hack to add RADIUS attributes
+
+2000-06-27 05:15  ivan
+
+       * TODO: i18n
+
 2000-06-27 05:15  ivan
 
        * FS/FS/: Record.pm, cust_main.pm: i18
 
 2000-06-23 17:28  ivan
 
-       * FS/FS/cust_main.pm: don't use Date::Manip; report correct program
-         name in freeside-bill usage msg
+       * FS/: FS/cust_main.pm, bin/freeside-bill: don't use Date::Manip;
+         report correct program name in freeside-bill usage msg
 
 2000-06-23 05:25  ivan
 
-       * CREDITS, FS/FS/Record.pm, FS/FS/UID.pm: FS::Record::qsearch -
-         more portable, doesn't depend on $sth->execute returning a number
-         of rows, uses placeholders and prepare_cached
+       * CREDITS, TODO, FS/FS/Record.pm, FS/FS/UID.pm: FS::Record::qsearch
+         - more portable, doesn't depend on $sth->execute returning a
+         number of rows, uses placeholders and prepare_cached
+
+2000-06-22 03:52  ivan
+
+       * FS/bin/freeside-bill: tyop
 
 2000-06-20 00:13  ivan
 
 
 2000-06-15 07:45  ivan
 
-       * CREDITS: text updates
+       * CREDITS, TODO: text updates
+
+2000-06-15 07:07  ivan
+
+       * bin/svc_acct.export: added ICRADIUS radreply table support,
+         courtesy of Kenny Elliott
 
 2000-06-15 06:35  ivan
 
        * FS/FS/cust_main.pm: fix for ncancelled_pkgs - when called in
          scalar context, was only returning second item
 
+2000-06-12 01:37  ivan
+
+       * bin/svc_acct_sm.export: sendmail fix from Jeff Finucane
+
+2000-05-13 14:57  ivan
+
+       * TODO, FS/bin/freeside-print-batch: add print_batch script from
+         Joel Griffiths
+
 2000-05-13 14:50  ivan
 
        * FS/FS/: CGI.pm, UID.pm: cgisuidsetup takes an Apache object as
        * FS/FS/CGI.pm: CGI.pm detects mod_perl and calls appropriate exit
          (Registry's override doesn't work here)
 
+2000-04-02 19:32  ivan
+
+       * FS/bin/freeside-bill: accept anything in ARGV for -d Date::Parse
+
 2000-03-06 08:38  ivan
 
        * FS/FS/svc_acct.pm: better error message.  bah.
 
+2000-03-06 08:00  ivan
+
+       * bin/svc_acct.export: sync up with working versoin
+
+2000-03-06 07:59  ivan
+
+       * bin/svc_acct.export: finally get MySQL locking working for
+         ICRADIUS export
+
+2000-03-06 07:15  ivan
+
+       * FS/FS/SSH.pm: backout silly change
+
+2000-03-06 07:04  ivan
+
+       * FS/FS/SSH.pm: bug in IPC::Open3 documentation?
+
+2000-03-06 06:59  ivan
+
+       * bin/svc_acct.export: s/sshopen2/sshopen3/ to prevent spurious
+         mysql "Enter password: " dialog from showing up in cron/terminal
+
+2000-03-06 06:51  ivan
+
+       * bin/svc_acct.export: eek
+
+2000-03-06 06:50  ivan
+
+       * bin/svc_acct.export: oop
+
+2000-03-06 06:48  ivan
+
+       * bin/svc_acct.export: s/icradiusmachine/machine/
+
+2000-03-06 06:46  ivan
+
+       * bin/svc_acct.export: not setuid or run by malicious user - no -T
+         necessary
+
+2000-03-06 06:19  ivan
+
+       * bin/svc_acct.export: ICRADIUS export bugfix
+
+2000-03-06 06:12  ivan
+
+       * TODO, bin/svc_acct.export: ICRADIUS export support
+
 2000-03-03 10:45  ivan
 
        * FS/FS/CGI.pm: use Apache::exit instead of exit in &eidiot -
        * FS/FS/Record.pm: changes backported from 1.2.3 release, bugfix
          from web demo
 
+2000-03-01 23:44  ivan
+
+       * bin/fs-setup: typo forgot closing '
+
 2000-03-01 00:13  ivan
 
        * FS/: MANIFEST, FS/svc_domain.pm, FS/svc_www.pm: compilation
 2000-02-02 21:16  ivan
 
        * FS/FS/cust_pkg.pm, FS/FS/domain_record.pm, FS/FS/svc_domain.pm,
-         FS/FS/svc_www.pm, bin/svc_acct.import: beginning of DNS and
-         Apache support
+         FS/FS/svc_www.pm, bin/fs-setup, bin/svc_acct.import,
+         bin/svc_acct_sm.import, bin/svc_domain.import: beginning of DNS
+         and Apache support
 
 2000-02-02 12:22  ivan
 
 
 2000-01-30 21:22  ivan
 
-       * FS/FS/: cust_main.pm, prepay_credit.pm: prepaid "internet cards"
+       * FS/FS/cust_main.pm, FS/FS/prepay_credit.pm, bin/fs-setup: prepaid
+         "internet cards"
 
 2000-01-30 00:18  ivan
 
        * CREDITS: [no log message]
 
+2000-01-29 22:11  ivan
+
+       * TODO: [no log message]
+
+2000-01-29 22:03  ivan
+
+       * bin/fs-setup: postgres 6.5 finally supports decimal(10,2)
+
 2000-01-29 13:10  ivan
 
        * FS/FS/svc_domain.pm: doc update
 
 2000-01-28 14:53  ivan
 
-       * FS/FS/svc_acct_pop.pm: track full phone number
+       * bin/fs-setup, FS/FS/svc_acct_pop.pm: track full phone number
 
 2000-01-26 16:37  ivan
 
        * README: ack
 
+2000-01-26 16:27  ivan
+
+       * TODO: update TODO
+
 1999-11-08 13:38  ivan
 
        * FS/FS/cust_pkg.pm: remove services using pkg_svc table now, oops!
 
+1999-10-04 01:23  ivan
+
+       * FS/bin/freeside-bill: silly 'use of unitialized value' errors
+
+1999-09-22 15:06  ivan
+
+       * TODO: ya todo update
+
+1999-08-26 23:25  ivan
+
+       * TODO: [no log message]
+
 1999-08-23 05:26  ivan
 
        * test/cgi-test: need to untaint the command line
        * FS/FS/svc_acct.pm: configurable min/max username length, min
          password length, periods in usernames
 
+1999-08-11 13:51  ivan
+
+       * FS/bin/freeside-bill: [no log message]
+
 1999-08-11 13:41  ivan
 
-       * FS/: MANIFEST, Makefile.PL, FS/svc_domain.pm: new bill script,
+       * FS/MANIFEST, FS/Makefile.PL, FS/FS/svc_domain.pm,
+         FS/bin/freeside-bill, bin/bill: new bill script,
+
+1999-08-11 07:42  ivan
+
+       * bin/backup-freeside: [no log message]
 
 1999-08-11 06:12  ivan
 
        * FS/FS/svc_domain.pm: require a working Net::Whois version
 
+1999-08-10 05:06  ivan
+
+       * fs_passwd/fs_passwdd: even though you should probably set this
+         for your installation
+
 1999-08-04 05:42  ivan
 
        * bin/pod2x: new, kludgy-but-working html generator
 
 1999-08-04 02:03  ivan
 
-       * FS/: MANIFEST, MANIFEST.SKIP, FS/CGI.pm, FS/Conf.pm,
-         FS/Record.pm, FS/UID.pm, FS/agent.pm, FS/agent_type.pm,
-         FS/cust_bill.pm, FS/cust_bill_pkg.pm, FS/cust_credit.pm,
-         FS/cust_main.pm, FS/cust_main_county.pm, FS/cust_main_invoice.pm,
-         FS/cust_pay.pm, FS/cust_pay_batch.pm, FS/cust_pkg.pm,
-         FS/cust_refund.pm, FS/cust_svc.pm, FS/part_pkg.pm,
-         FS/part_referral.pm, FS/part_svc.pm, FS/pkg_svc.pm,
-         FS/svc_Common.pm, FS/svc_acct.pm, FS/svc_acct_pop.pm,
-         FS/svc_domain.pm, FS/type_pkgs.pm: initial checkin of module
-         files for proper perl installation
+       * FS/: MANIFEST, MANIFEST.SKIP, README, FS/Bill.pm, FS/CGI.pm,
+         FS/Conf.pm, FS/Invoice.pm, FS/Record.pm, FS/SSH.pm, FS/UID.pm,
+         FS/agent.pm, FS/agent_type.pm, FS/cust_bill.pm,
+         FS/cust_bill_pkg.pm, FS/cust_credit.pm, FS/cust_main.pm,
+         FS/cust_main_county.pm, FS/cust_main_invoice.pm, FS/cust_pay.pm,
+         FS/cust_pay_batch.pm, FS/cust_pkg.pm, FS/cust_refund.pm,
+         FS/cust_svc.pm, FS/dbdef.pm, FS/dbdef_colgroup.pm,
+         FS/dbdef_column.pm, FS/dbdef_index.pm, FS/dbdef_table.pm,
+         FS/dbdef_unique.pm, FS/part_pkg.pm, FS/part_referral.pm,
+         FS/part_svc.pm, FS/pkg_svc.pm, FS/svc_Common.pm, FS/svc_acct.pm,
+         FS/svc_acct_pop.pm, FS/svc_acct_sm.pm, FS/svc_domain.pm,
+         FS/type_pkgs.pm, FS/UI/Base.pm, FS/UI/CGI.pm, FS/UI/Gtk.pm,
+         FS/UI/agent.pm: initial checkin of module files for proper perl
+         installation
 
 1999-08-04 01:03  ivan
 
 
 1999-08-03 21:15  ivan
 
-       * FS/: Changes, FS.pm, MANIFEST, Makefile.PL: initial h2xs
+       * FS/: Changes, FS.pm, MANIFEST, Makefile.PL, test.pl: initial h2xs
+
+1999-08-03 00:43  ivan
+
+       * TODO: use Net::Whois;
+
+1999-07-29 12:13  ivan
+
+       * TODO: [no log message]
+
+1999-07-29 01:50  ivan
+
+       * bin/fs-setup: wrong type for cust_pay_batch.exp
+
+1999-07-15 17:20  ivan
+
+       * TODO: [no log message]
+
+1999-07-15 16:50  ivan
+
+       * TODO: [no log message]
 
 1999-07-08 04:40  ivan
 
-       * CREDITS, README: [no log message]
+       * CREDITS, README, TODO: [no log message]
 
 1999-07-07 19:32  ivan
 
        * bin/svc_acct.import: updates to avoid -w warnings from Joel
          Griffiths <griff@aver-computer.com>
 
+1999-07-07 18:02  ivan
+
+       * TODO: [no log message]
+
+1999-04-29 02:37  ivan
+
+       * TODO: [no log message]
+
 1999-04-19 03:32  ivan
 
        * etc/megapop.pl: if you are a megapop customer...
 
+1999-04-15 15:46  ivan
+
+       * bin/fs-setup: TT isn't a state!
+
+1999-04-14 06:14  ivan
+
+       * TODO: configuration option to edit referrals of existing
+         customers
+
+1999-04-14 04:27  ivan
+
+       * TODO: showpasswords config option to show passwords
+
+1999-04-14 01:58  ivan
+
+       * TODO: [no log message]
+
+1999-04-14 00:58  ivan
+
+       * bin/fs-setup: export getsecrets from FS::UID instead of calling
+         it explicitly
+
+1999-04-08 20:52  ivan
+
+       * TODO: [no log message]
+
 1999-04-08 06:21  ivan
 
-       * CREDITS: [no log message]
+       * CREDITS, conf/address: [no log message]
 
 1999-04-08 06:11  ivan
 
 
        * test/cgi-test: web interface tester / sample data creator
 
+1999-04-08 06:03  ivan
+
+       * TODO: [no log message]
+
 1999-03-26 05:15  ivan
 
        * eg/TEMPLATE_cust_main.import: s/create/new/, use all necessary
          FS::table_names to avoid warnings
 
+1999-03-26 05:00  ivan
+
+       * fs_passwd/fs_passwd_server: s/create/new/
+
 1999-03-25 00:42  ivan
 
-       * bin/svc_acct.import: import stuff uses Term::Query and spits out
-         (some kinds of) nonsensical input
+       * bin/: svc_acct.import, svc_acct_sm.import: import stuff uses
+         Term::Query and spits out (some kinds of) nonsensical input
+
+1999-03-23 16:51  ivan
+
+       * bin/svc_acct_sm.import: die if no relevant services... cvspain
 
 1999-03-23 16:43  ivan
 
        * bin/svc_acct.import: die if no relevant services
 
+1999-02-28 11:44  ivan
+
+       * bin/fs-setup: constructors s/create/new/ pointed out by "Bao C.
+         Ha" <bao@hacom.net>
+
+1999-02-27 13:06  ivan
+
+       * bin/fs-setup: cust_main.paydate should be varchar(10), not
+         @date_type ; problem reported by Ben Leibig <leibig@colorado.edu>
+
+1999-02-23 00:09  ivan
+
+       * TODO: beginnings of one-screen new customer entry and some other
+         miscellania
+
 1999-02-10 01:02  ivan
 
        * etc/sql-reserved-words.txt: some new doc files
 
+1999-02-10 00:27  ivan
+
+       * TODO: [no log message]
+
+1999-02-09 01:56  ivan
+
+       * TODO: [no log message]
+
 1999-02-07 01:59  ivan
 
-       * CREDITS: more mod_perl fixes, and bugfixes Peter Wemm sent via
-         email
+       * CREDITS, TODO, bin/fs-setup: more mod_perl fixes, and bugfixes
+         Peter Wemm sent via email
 
 1999-02-06 14:43  ivan
 
-       * CREDITS: don't use [e]idiot; display error messages on the form
-         page
+       * CREDITS, TODO: don't use [e]idiot; display error messages on the
+         form page
+
+1999-02-03 22:09  ivan
+
+       * bin/fs-setup: add AU provences
+
+1999-02-03 02:42  ivan
+
+       * bin/fs-setup: [no log message]
+
+1999-01-25 04:09  ivan
+
+       * TODO: yet more mod_perl stuff
+
+1999-01-18 15:05  ivan
+
+       * TODO: update TODO for stuff that was done etc.
+
+1999-01-16 19:11  ivan
+
+       * bin/fs-setup: remove preliminary completehost changes
 
 1999-01-15 16:24  ivan
 
 
        * CREDITS: [no log message]
 
+1998-12-30 15:03  ivan
+
+       * TODO: bugfixes; fields isn't exported by derived classes
+
+1998-12-29 03:59  ivan
+
+       * TODO: mostly properly OO, some work still to be done with svc_
+         stuff
+
+1998-12-15 22:05  ivan
+
+       * bin/fs-setup: add table cust_main_invoice
+
+1998-12-15 21:38  ivan
+
+       * TODO: [no log message]
+
+1998-12-15 21:32  ivan
+
+       * fs_passwd/fs_passwd_server: adminsuidsetup now requires user
+
 1998-12-15 21:29  ivan
 
        * eg/TEMPLATE_cust_main.import: adminsuidsetup now need user
 
+1998-12-14 20:36  ivan
+
+       * bin/fs-setup: s/croak/die/; #oops
+
+1998-12-14 20:33  ivan
+
+       * bin/fs-setup: dies if it isn't running as the freeside user
+
 1998-12-09 23:23  ivan
 
-       * bin/svc_acct.import: use FS::Conf, need user (for datasrc)
+       * bin/: svc_acct.export, svc_acct.import, svc_acct_sm.export,
+         svc_acct_sm.import: use FS::Conf, need user (for datasrc)
 
 1998-12-01 17:23  ivan
 
-       * CREDITS: [no log message]
+       * TODO, CREDITS: [no log message]
+
+1998-11-19 03:17  ivan
+
+       * bin/dbdef-create: adminsuidsetup requires argument
 
 1998-11-18 01:01  ivan
 
-       * CREDITS: i18n! i18n!
+       * CREDITS, TODO, bin/fs-setup: i18n! i18n!
+
+1998-11-15 05:18  ivan
+
+       * bin/fs-setup: remove debugging
+
+1998-11-15 01:43  ivan
+
+       * bin/fs-setup: update for new config file syntax, new
+         adminsuidsetup
+
+1998-11-14 18:53  ivan
+
+       * bin/bill: afterthought
+
+1998-11-14 18:51  ivan
+
+       * bin/bill: adminsuidsetup needs user, pod, cleanup
+
+1998-11-13 01:56  ivan
+
+       * TODO: change configuration file layout to support multiple
+         distinct databases (with own set of config files, export, etc.)
 
 1998-11-07 17:09  ivan
 
        * README: don't use depriciated FS::Bill and FS::Invoice, other
          miscellania
 
+1998-11-07 00:25  ivan
+
+       * TODO: [no log message]
+
+1998-11-07 00:21  ivan
+
+       * bin/bill: missing use
+
+1998-11-07 00:19  ivan
+
+       * bin/bill:
+         still need to bless into FS::cust_main (for now)
+
+1998-11-07 00:08  ivan
+
+       * bin/bill:
+         Removed depriciated FS::Bill (now in FS::cust_main)
+
+1998-10-22 08:51  ivan
+
+       * bin/fs-setup: also varchar with no length specified - postgresql
+         fix broke mysql.
+
+1998-10-22 08:46  ivan
+
+       * bin/fs-setup: now smallint is illegal, so remove that too.
+
 1998-10-14 00:05  ivan
 
-       * README: 1.1.4 release, fix postgresql
+       * README, bin/fs-setup: 1.1.4 release, fix postgresql
+
+1998-10-13 05:49  ivan
+
+       * TODO: [no log message]
 
 1998-10-13 05:07  ivan
 
-       * bin/svc_acct.import: Assigns password from the shadow file for
-         RADIUS password "UNIX"
+       * TODO, bin/svc_acct.import: Assigns password from the shadow file
+         for RADIUS password "UNIX"
+
+1998-10-13 02:17  ivan
+
+       * TODO: [no log message]
+
+1998-10-12 14:22  ivan
+
+       * TODO: [no log message]
+
+1998-10-12 14:15  ivan
+
+       * TODO: [no log message]
+
+1998-10-12 02:12  ivan
+
+       * TODO: remove adding cvs from the todo
+
+1998-10-12 02:09  ivan
+
+       * TODO: [no log message]
+
+1998-10-12 02:09  ivan
+
+       * TODO: Id to Header
+
+1998-10-12 02:07  ivan
+
+       * TODO: Test keyword substitution
+
+1998-10-12 01:59  ivan
+
+       * TODO: Commiting sample change.
 
 1998-10-12 00:15  ivan
 
 
 1998-10-12 00:12  ivan
 
-       * conf/: home, lpr: Initial import into CVS
+       * conf/: address, home, lpr, secrets, smtpmachine, domain: Initial
+         revision
+
+1998-10-12 00:08  ivan
 
-1998-10-12 00:12  ivan
+       * TODO: Initial revision
 
-       * conf/smtpmachine: Initial revision
+1998-10-12 00:03  ivan
+
+       * bin/fs-setup: Initial revision
 
 1998-10-11 23:56  ivan
 
 
        * bin/pod2x: Initial revision
 
+1998-09-17 22:43  ivan
+
+       * bin/svc_acct.export: Initial revision
+
 1998-09-02 21:50  ivan
 
        * CREDITS: Initial revision
 
+1998-08-23 20:12  ivan
+
+       * fs_passwd/fs_passwd_server: Initial revision
+
 1998-08-23 20:04  ivan
 
        * fs_passwd/fs_passwd: Initial revision
 
+1998-08-23 19:01  ivan
+
+       * bin/bill: Initial revision
+
 1998-08-19 21:42  ivan
 
        * eg/TEMPLATE_cust_main.import: Initial revision
 
        * bin/svc_acct.import: Initial revision
 
+1998-08-14 15:11  ivan
+
+       * bin/svc_acct_sm.export: Initial revision
+
+1998-08-12 20:55  ivan
+
+       * Artistic: Initial revision
+
 1998-07-18 00:11  ivan
 
-       * etc/domain-template.txt: Initial import into CVS
+       * etc/domain-template.txt: Initial revision
 
-1998-03-22 23:46  ivan
+1998-07-17 00:43  ivan
+
+       * bin/svc_acct_sm.import: Initial revision
+
+1998-06-03 00:22  ivan
+
+       * bin/dbdef-create: Initial revision
+
+1998-03-23 00:20  ivan
 
-       * etc/countries.txt: Initial import into CVS
+       * fs_passwd/fs_passwdd: Initial revision
 
 1998-03-22 23:46  ivan
 
-       * INSTALL: Initial revision
+       * GPL, INSTALL, etc/acp_logfile-parse, etc/countries.txt,
+         etc/example-direct-cardin: Initial revision
 
index 69954a8..71670f7 100644 (file)
@@ -343,14 +343,14 @@ sub send_email {
   $smtp_opt{'port'} = $port;
 
   my $transport;
-  if ( $enc eq 'starttls' ) {
+  if ( defined($enc) && $enc eq 'starttls' ) {
     $smtp_opt{$_} = $conf->config("smtp-$_") for qw(username password);
     $transport = Email::Sender::Transport::SMTP::TLS->new( %smtp_opt );
   } else {
     if ( $conf->exists('smtp-username') && $conf->exists('smtp-password') ) {
       $smtp_opt{"sasl_$_"} = $conf->config("smtp-$_") for qw(username password);
     }
-    $smtp_opt{'ssl'} = 1 if $enc eq 'tls';
+    $smtp_opt{'ssl'} = 1 if defined($enc) && $enc eq 'tls';
     $transport = Email::Sender::Transport::SMTP->new( %smtp_opt );
   }
 
index 6756c9c..660a072 100644 (file)
@@ -655,10 +655,11 @@ sub tables_hashref {
         'addlinfo', 'text', 'NULL', '', '', '',
         'closed',    'char', 'NULL', 1, '', '', 
         'pkgnum', 'int', 'NULL', '', '', '', #desired pkgnum for pkg-balances
+        'eventnum', 'int', 'NULL', '', '', '', #triggering event for commission
       ],
       'primary_key' => 'crednum',
       'unique' => [],
-      'index' => [ ['custnum'], ['_date'] ],
+      'index' => [ ['custnum'], ['_date'], ['eventnum'] ],
     },
 
     'cust_credit_bill' => {
index d8e3220..edfe912 100644 (file)
@@ -153,7 +153,7 @@ sub populate_initial_data {
     die $@ if $@;
 
     $class->_populate_initial_data(%opt)
-      if $class->can('_populate_initial_data');
+      if $class->can('_populate_inital_data');
 
     my @records = @{ $data->{$table} };
 
index fd6fb9e..8ba57f3 100644 (file)
@@ -5,11 +5,6 @@ use vars qw( @ISA $DEBUG $me $skip_apply_to_lineitems_hack );
 use List::Util qw(min);
 use FS::Schema qw( dbdef );
 use FS::Record qw( qsearch qsearchs dbh );
-use FS::cust_pkg;
-use FS::cust_svc;
-use FS::cust_bill_pkg;
-use FS::part_svc;
-use FS::part_export;
 
 @ISA = qw( FS::Record );
 
@@ -335,30 +330,6 @@ sub apply_to_lineitems {
       $dbh->rollback if $oldAutoCommit;
       return $error;
     }
-
-    # trigger export_insert_on_payment
-    if ( $conf->exists('trigger_export_insert_on_payment')
-      && $cust_bill_pkg->pkgnum > 0 )
-    {
-      if ( my $cust_pkg = $cust_bill_pkg->cust_pkg ) {
-
-        foreach my $cust_svc ( $cust_pkg->cust_svc ) {
-          my $svc_x = $cust_svc->svc_x;
-          my @part_export = grep { $_->can('export_insert_on_payment') }
-                                 $cust_svc->part_svc->part_export;
-      
-          foreach my $part_export ( $cust_svc->part_svc->part_export ) {
-            $error = $part_export->_export_insert_on_payment($svc_x);
-            if ( $error ) {
-              $dbh->rollback if $oldAutoCommit;
-              return $error;
-            }
-          }
-        }
-      }
-    }
-    # done trigger export_insert_on_payment
-
   }
 
   #everything should always be applied to line items in full now... sanity check
index 6c3effa..d0aa3a4 100644 (file)
@@ -14,6 +14,7 @@ use FS::cust_credit_bill;
 use FS::part_pkg;
 use FS::reason_type;
 use FS::reason;
+use FS::cust_event;
 
 @ISA = qw( FS::cust_main_Mixin FS::Record );
 $me = '[ FS::cust_credit ]';
@@ -301,6 +302,7 @@ sub check {
     || $self->ut_textn('addlinfo')
     || $self->ut_enum('closed', [ '', 'Y' ])
     || $self->ut_foreign_keyn('pkgnum', 'cust_pkg', 'pkgnum')
+    || $self->ut_foreign_keyn('eventnum', 'cust_event', 'eventnum')
   ;
   return $error if $error;
 
index d2fcfc1..52b5911 100644 (file)
@@ -1,18 +1,16 @@
 package FS::cust_event;
 
 use strict;
+use base qw( FS::cust_main_Mixin FS::Record );
 use vars qw( @ISA $DEBUG $me );
 use Carp qw( croak confess );
 use FS::Record qw( qsearch qsearchs dbdef );
-use FS::cust_main_Mixin;
 use FS::part_event;
 #for cust_X
 use FS::cust_main;
 use FS::cust_pkg;
 use FS::cust_bill;
 
-@ISA = qw(FS::cust_main_Mixin FS::Record);
-
 $DEBUG = 0;
 $me = '[FS::cust_event]';
 
@@ -230,7 +228,7 @@ sub do_event {
   my $error;
   {
     local $SIG{__DIE__}; # don't want Mason __DIE__ handler active
-    $error = eval { $part_event->do_action($object); };
+    $error = eval { $part_event->do_action($object, $self); };
   }
 
   my $status = '';
index 5116049..88aceb9 100644 (file)
@@ -7320,7 +7320,7 @@ sub referral_cust_main_ncancelled {
 
 Like referral_cust_main, except returns a flat list of all unsuspended (and
 uncancelled) packages for each customer.  The number of items in this list may
-be useful for comission calculations (perhaps after a C<grep { my $pkgpart = $_->pkgpart; grep { $_ == $pkgpart } @commission_worthy_pkgparts> } $cust_main-> ).
+be useful for commission calculations (perhaps after a C<grep { my $pkgpart = $_->pkgpart; grep { $_ == $pkgpart } @commission_worthy_pkgparts> } $cust_main-> ).
 
 =cut
 
@@ -7382,8 +7382,10 @@ sub credit {
     $cust_credit->set('reason', $reason)
   }
 
-  $cust_credit->addlinfo( delete $options{'addlinfo'} )
-    if exists($options{'addlinfo'});
+  for (qw( addlinfo eventnum )) {
+    $cust_credit->$_( delete $options{$_} )
+      if exists($options{$_});
+  }
 
   $cust_credit->insert(%options);
 
diff --git a/FS/FS/export_device.pm b/FS/FS/export_device.pm
deleted file mode 100644 (file)
index 69e3826..0000000
+++ /dev/null
@@ -1,136 +0,0 @@
-package FS::export_device;
-
-use strict;
-use base qw( FS::Record );
-use FS::Record qw( qsearch qsearchs dbh );
-use FS::part_export;
-use FS::part_device;
-
-=head1 NAME
-
-FS::export_device - Object methods for export_device records
-
-=head1 SYNOPSIS
-
-  use FS::export_device;
-
-  $record = new FS::export_device \%hash;
-  $record = new FS::export_device { 'column' => 'value' };
-
-  $error = $record->insert;
-
-  $error = $new_record->replace($old_record);
-
-  $error = $record->delete;
-
-  $error = $record->check;
-
-=head1 DESCRIPTION
-
-An FS::export_device object links a device definition (see L<FS::part_device>)
-to an export (see L<FS::part_export>).  FS::export_device inherits from
-FS::Record.  The following fields are currently supported:
-
-=over 4
-
-=item exportdevicenum - primary key
-
-=item exportnum - export (see L<FS::part_export>)
-
-=item devicepart - device definition (see L<FS::part_device>)
-
-=back
-
-=head1 METHODS
-
-=over 4
-
-=item new HASHREF
-
-Creates a new record.  To add the record to the database, see L<"insert">.
-
-Note that this stores the hash reference, not a distinct copy of the hash it
-points to.  You can ask the object for a copy with the I<hash> method.
-
-=cut
-
-sub table { 'export_device'; }
-
-=item insert
-
-Adds this record to the database.  If there is an error, returns the error,
-otherwise returns false.
-
-=cut
-
-# may want to check for duplicates against either services or devices
-# cf FS::export_svc
-
-=item delete
-
-Delete this record from the database.
-
-=cut
-
-=item replace OLD_RECORD
-
-Replaces the OLD_RECORD with this one in the database.  If there is an error,
-returns the error, otherwise returns false.
-
-=cut
-
-=item check
-
-Checks all fields to make sure this is a valid record.  If there is
-an error, returns the error, otherwise returns false.  Called by the insert
-and replace methods.
-
-=cut
-
-sub check {
-  my $self = shift;
-
-  $self->ut_numbern('exportdevicenum')
-    || $self->ut_number('exportnum')
-    || $self->ut_foreign_key('exportnum', 'part_export', 'exportnum')
-    || $self->ut_number('devicepart')
-    || $self->ut_foreign_key('devicepart', 'part_device', 'devicepart')
-    || $self->SUPER::check
-  ;
-}
-
-=item part_export
-
-Returns the FS::part_export object (see L<FS::part_export>).
-
-=cut
-
-sub part_export {
-  my $self = shift;
-  qsearchs( 'part_export', { 'exportnum' => $self->exportnum } );
-}
-
-=item part_device
-
-Returns the FS::part_device object (see L<FS::part_device>).
-
-=cut
-
-sub part_device {
-  my $self = shift;
-  qsearchs( 'part_device', { 'svcpart' => $self->devicepart } );
-}
-
-=back
-
-=head1 BUGS
-
-=head1 SEE ALSO
-
-L<FS::part_export>, L<FS::part_device>, L<FS::Record>, schema.html from the base
-documentation.
-
-=cut
-
-1;
-
index 4963584..79a534a 100644 (file)
@@ -1,10 +1,8 @@
 package FS::part_device;
 
 use strict;
-use base qw( FS::Record FS::m2m_Common );
-use FS::Record qw( qsearch qsearchs );
-use FS::part_export;
-use FS::export_device;
+use base qw( FS::Record );
+use FS::Record; # qw( qsearch qsearchs );
 
 =head1 NAME
 
@@ -109,18 +107,6 @@ sub check {
   $self->SUPER::check;
 }
 
-=item part_export
-
-Returns a list of all exports (see L<FS::part_export>) for this device.
-
-=cut
-
-sub part_export {
-  my $self = shift;
-  map { qsearchs( 'part_export', { 'exportnum' => $_->exportnum } ) }
-    qsearch( 'export_device', { 'devicepart' => $self->devicepart } );
-}
-
 sub process_batch_import {
   my $job = shift;
 
index 2502738..4bcee98 100644 (file)
@@ -7,7 +7,7 @@ sub description { 'Credit the agent a specific amount'; }
 
 #a little false laziness w/pkg_referral_credit
 sub do_action {
-  my( $self, $cust_pkg ) = @_;
+  my( $self, $cust_pkg, $cust_event ) = @_;
 
   my $cust_main = $self->cust_main($cust_pkg);
 
@@ -26,8 +26,9 @@ sub do_action {
   my $error = $agent_cust_main->credit(
     $amount, 
     \$reasonnum,
-    'addlinfo' =>
-      'for customer #'. $cust_main->display_custnum. ': '.$cust_main->name,
+    'eventnum' => $cust_event->eventnum,
+    'addlinfo' => 'for customer #'. $cust_main->display_custnum.
+                               ': '.$cust_main->name,
   );
   die "Error crediting customer ". $agent_cust_main->custnum.
       " for agent commission: $error"
index 94fc5f3..e4913a2 100644 (file)
@@ -9,7 +9,7 @@ sub description { 'Credit the ordering employee a specific amount'; }
 
 #a little false laziness w/pkg_referral_credit
 sub do_action {
-  my( $self, $cust_pkg ) = @_;
+  my( $self, $cust_pkg, $cust_event ) = @_;
 
   my $cust_main = $self->cust_main($cust_pkg);
 
@@ -31,8 +31,9 @@ sub do_action {
   my $error = $employee_cust_main->credit(
     $amount, 
     \$reasonnum,
-    'addlinfo' =>
-      'for customer #'. $cust_main->display_custnum. ': '.$cust_main->name,
+    'eventnum' => $cust_event->eventnum,
+    'addlinfo' => 'for customer #'. $cust_main->display_custnum.
+                               ': '.$cust_main->name,
   );
   die "Error crediting customer ". $employee_cust_main->custnum.
       " for employee commission: $error"
index da872e7..e7c92d6 100644 (file)
@@ -23,7 +23,7 @@ sub option_fields {
 }
 
 sub do_action {
-  my( $self, $cust_pkg ) = @_;
+  my( $self, $cust_pkg, $cust_event ) = @_;
 
   my $cust_main = $self->cust_main($cust_pkg);
 
@@ -43,8 +43,9 @@ sub do_action {
   my $error = $referring_cust_main->credit(
     $amount, 
     \$reasonnum,
-    'addlinfo' =>
-      'for customer #'. $cust_main->display_custnum. ': '.$cust_main->name,
+    'eventnum' => $cust_event->eventnum,
+    'addlinfo' => 'for customer #'. $cust_main->display_custnum.
+                               ': '.$cust_main->name,
   );
   die "Error crediting customer ". $cust_main->referral_custnum.
       " for referral: $error"
index 65670c0..3b8854a 100644 (file)
@@ -40,7 +40,7 @@ sub condition_sql {
 
   my $balance_sql = FS::cust_main->balance_sql;
 
-  "$balance_sql > CAST( $over AS numeric )";
+  "$balance_sql > CAST( $over AS DECIMAL(10,2) )";
 
 }
 
index f1a9707..fc34612 100644 (file)
@@ -38,7 +38,7 @@ sub condition_sql {
 
   my $balance_sql = FS::cust_main->balance_date_sql( $age );
 
-  "$balance_sql > CAST( $over AS numeric )";
+  "$balance_sql > CAST( $over AS DECIMAL(10,2) )";
 }
 
 sub order_sql {
index 9c71590..2002c70 100644 (file)
@@ -34,7 +34,7 @@ sub condition_sql {
 
   my $balance_sql = FS::cust_main->balance_sql;
 
-  "$balance_sql <= CAST( $under AS numeric )";
+  "$balance_sql <= CAST( $under AS DECIMAL(10,2) )";
 
 }
 
index 91d75dd..d85af26 100644 (file)
@@ -38,14 +38,16 @@ sub condition {
 }
 
 sub condition_sql {
-  my( $class, $table ) = @_;
+  my( $class, $table, %opt ) = @_;
+
+  my $integer = $opt{'driver_name'} =~ /^mysql/ ? 'UNSIGNED INTEGER' : 'INTEGER';
   
   my $servicenum = $class->condition_sql_option('has_service');
   my $sql = qq| 0 < ( SELECT COUNT(cs.svcpart)
      FROM cust_bill_pkg cbp, cust_svc cs
     WHERE cbp.invnum = cust_bill.invnum
       AND cs.pkgnum = cbp.pkgnum
-      AND cs.svcpart = CAST( $servicenum AS integer )
+      AND cs.svcpart = CAST( $servicenum AS $integer )
   )
   |;
   return $sql;
index 0fd9922..d8c77c7 100644 (file)
@@ -48,7 +48,7 @@ sub condition_sql {
 
   my $owed_sql = FS::cust_bill->owed_sql;
 
-  "$owed_sql > CAST( $over AS numeric )";
+  "$owed_sql > CAST( $over AS DECIMAL(10,2) )";
 }
 
 1;
index a0bf92f..4eb6439 100644 (file)
@@ -43,7 +43,7 @@ sub condition_sql {
 
   my $owed_sql = FS::cust_bill->owed_sql;
 
-  "$owed_sql <= CAST( $under AS numeric )";
+  "$owed_sql <= CAST( $under AS DECIMAL(10,2) )";
 }
 
 1;
index d13e849..32f19a3 100644 (file)
@@ -2,7 +2,7 @@ package FS::part_event_condition;
 
 use strict;
 use vars qw( @ISA $DEBUG @SKIP_CONDITION_SQL );
-use FS::UID qw(dbh);
+use FS::UID qw( dbh driver_name );
 use FS::Record qw( qsearch qsearchs );
 use FS::option_Common;
 use FS::part_event; #for order_conditions_sql...
@@ -285,7 +285,9 @@ sub where_conditions_sql {
     map {
           my $conditionname = $_;
           my $coderef = $conditions{$conditionname}->{condition_sql};
-          my $sql = &$coderef( $eventtable, 'time'=>$time );
+          my $sql = &$coderef( $eventtable, 'time'        => $time,
+                                            'driver_name' => driver_name(),
+                             );
           die "$coderef is not a CODEREF" unless ref($coderef) eq 'CODE';
           "( cond_$conditionname.conditionname IS NULL OR $sql )";
         }
index a9afc91..1799ed0 100644 (file)
@@ -1,8 +1,7 @@
 package FS::part_export::domreg_opensrs;
 
-use vars qw(@ISA %info %options $conf $me $DEBUG);
+use vars qw(@ISA %info %options $conf);
 use Tie::IxHash;
-use DateTime;
 use FS::Record qw(qsearchs qsearch);
 use FS::Conf;
 use FS::part_export::null;
@@ -39,8 +38,6 @@ gateway when setting up this export.
 =cut
 
 @ISA = qw(FS::part_export::null);
-$me = '[' .  __PACKAGE__ . ']';
-$DEBUG = 1;
 
 my @tldlist = qw/com net org biz info name mobi at be ca cc ch cn de dk es eu fr it mx nl tv uk us/;
 
@@ -53,10 +50,6 @@ tie %options, 'Tie::IxHash',
                       },
   'masterdomain' => { label => 'Master domain at OpenSRS',
                       },
-  'wait_for_pay' => { label => 'Do not provision until payment is received',
-                      type => 'checkbox',
-                      default => '0',
-                    },
   'debug_level'  => { label => 'Net::OpenSRS debug level',
                       type => 'select',
                       options => [ 0, 1, 2, 3 ],
@@ -220,7 +213,6 @@ sub testmode {
   return 'live' if $self->machine eq "rr-n1-tor.opensrs.net";
   return 'test' if $self->machine eq "horizon.opensrs.net";
   undef;
-
 }
 
 =item _export_insert
@@ -249,20 +241,6 @@ sub _export_insert {
   return "Unknown domain action " . $svc_domain->action;
 }
 
-sub _export_insert_on_payment {
-  my( $self, $svc_domain ) = ( shift, shift );
-  warn "$me:_export_insert_on_payment called\n" if $DEBUG;
-  return '' unless $self->option('wait_for_pay');
-
-  my $queue = new FS::queue {
-    'svcnum' => $svc_domain->svcnum,
-    'job'    => 'FS::part_export::domreg_opensrs::renew_through',
-  };
-  $queue->insert( $self, $svc_domain ); #_export_insert with 'R' action?
-
-  return '';
-}
-
 ## Domain registration exports do nothing on replace.  Mainly because we haven't decided what they should do.
 #sub _export_replace {
 #  my( $self, $new, $old ) = (shift, shift, shift);
@@ -398,11 +376,10 @@ sub register {
 
   my $srs = $self->get_srs;
 
-#  cookie not required for registration
-#  my $cookie = $srs->get_cookie( $self->option('masterdomain') );
-#  if (!$cookie) {
-#     return "Unable to get cookie at OpenSRS: " . $srs->last_response();
-#  }
+  my $cookie = $srs->get_cookie( $self->option('masterdomain') );
+  if (!$cookie) {
+     return "Unable to get cookie at OpenSRS: " . $srs->last_response();
+  }
 
 #  return "Domain registration not enabled" if !$self->option('register');
   return $srs->last_response() if !$srs->register_domain( $svc_domain->domain, $c);
@@ -477,84 +454,6 @@ sub renew {
   return ''; # Should only get here if renewal succeeded
 }
 
-=item renew_through [ EPOCH_DATE ]
-
-Attempts to renew the domain through the specified date.  If no date is
-provided it is gleaned from the associated cust_pkg bill date
-
-Like most export functions, returns an error message on failure or undef on success.
-
-=cut
-
-sub renew_through {
-  my ( $self, $svc_domain, $date ) = @_;
-
-  warn "$me: renew_through called\n" if $DEBUG;
-  eval "use Net::OpenSRS;";
-  return $@ if $@;
-
-  unless ( $date ) {
-    my $cust_pkg = $svc_domain->cust_svc->cust_pkg;
-    return "Can't renew: no date specified and domain is not in a package."
-      unless $cust_pkg;
-    $date = $cust_pkg->bill;
-  }
-
-  my $err = $self->is_supported_domain( $svc_domain );
-  return $err if $err;
-
-  warn "$me: checking status\n" if $DEBUG;
-  my $rv = $self->get_status($svc_domain);
-  return "Domain ". $svc_domain->domain. " is not renewable"
-    unless $rv->{expdate};
-
-  return "Can't parse expiration date for ". $svc_domain->domain
-    unless $rv->{expdate} =~ /^(\d{4})-(\d{2})-(\d{2}) (\d{2}):(\d{2}):(\d{2})/;
-
-  my ($year,$month,$day,$hour,$minute,$second) = ($1,$2,$3,$4,$5,$6);
-  my $exp = DateTime->new( year   => $year,
-                           month  => $month,
-                           day    => $day,
-                           hour   => $hour,
-                           minute => $minute,
-                           second => $second,
-                           time_zone => 'America/New_York',#timezone of opensrs
-                         );
-
-  my $bill = DateTime->
-   from_epoch( 'epoch'     => $date,
-               'time_zone' => DateTime::TimeZone->new( name => 'local' ),
-  );
-
-  my $years = 0;
-  while ( DateTime->compare( $bill, $exp ) > 0 ) {
-    $years++;
-    $exp->add( 'years' => 1 );
-
-    return "Can't renew ". $svc_domain->domain. " for more than 10 years."
-      if $years > 10; #no infinite loop
-  }
-
-  warn "$me: renewing ". $svc_domain->domain. "for $years years\n" if $DEBUG;
-  my $srs = $self->get_srs;
-  $rv = $srs->make_request(
-    {
-      action     => 'renew',
-      object     => 'domain',
-      attributes => {
-        domain                => $svc_domain->domain,
-        auto_renew            => 0,
-        handle                => 'process',
-        period                => $years,
-        currentexpirationyear => $year,
-      }
-    }
-  );
-  return $rv->{response_text} unless $rv->{is_success};
-
-  return ''; # Should only get here if renewal succeeded
-}
-
 =item revoke
 
 Attempts to revoke the domain registration.  Only succeeds if invoked during the OpenSRS
diff --git a/FS/FS/part_export/indosoft.pm b/FS/FS/part_export/indosoft.pm
new file mode 100644 (file)
index 0000000..b573401
--- /dev/null
@@ -0,0 +1,219 @@
+package FS::part_export::indosoft;
+
+use vars qw(@ISA %info $insert_hack);
+use Tie::IxHash;
+use Date::Format;
+use FS::part_export;
+
+@ISA = qw(FS::part_export);
+
+tie my %options, 'Tie::IxHash',
+   'url'        => { label => 'Voicebridge API URL' },
+   'account_id' => { label => 'Voicebridge Account ID' },
+;
+
+%info = (
+  'svc'      => 'svc_phone', #svc_bridge?  svc_confbridge?
+  'desc'     =>
+    'Export conferences to the Indosoft Conference Bridge',
+  'options'  => \%options,
+  'notes'    => <<'END'
+Export conferences to the Indosoft conference bridge.
+Net::Indosoft::Voicebridge is required.
+END
+);
+
+$insert_hack = 0;
+
+sub rebless { shift; }
+
+sub _export_insert {
+  my($self, $svc_phone) = (shift, shift);
+
+  my $cust_main = $svc_phone->cust_svc->cust_pkg->cust_main;
+
+  my $address = $cust_main->address1;
+  $address .= ' '.$cust_main->address2 if $cust_main->address2;
+
+  my $phone = $cust_main->daytime || $cust_main->night;
+
+  my @email = $cust_main->invoicing_list_emailonly;
+
+  #svc_phone->location_hash stuff?  well that was for e911.. this shouldn't
+  # even be svc_phone
+
+  #add client
+  my $client_return = eval {
+    indosoft_runcommand( 'addClient',
+      'account_id' => $self->option('account_id'),
+
+      'client_contact_name'     => $cust_main->name, #or just first last?
+      'client_contact_password' => $svc_phone->sip_password, # ?
+
+      'client_contact_addr'     => $address,
+      'client_contact_city'     => $cust_main->city,
+      'client_contact_state'    => $cust_main->state,
+      'client_contact_country'  => $cust_main->country,
+      'client_contact_zip'      => $cust_main->zip,
+
+      'client_contact_phone'    => $phone,
+      'client_contact_fax'      => $cust_main->fax,
+      'client_contact_email'    => $email[0],
+    );
+  };
+  return $@ if $@;
+
+  my $client_id = $client_return->{client_id};
+
+  #add conference
+  my $conf_return = eval {
+    indosoft_runcommand( 'addConference',
+      'client_id'          => $client_id,
+      'conference_name'    => $cust_main->name,
+      'conference_desc'    => $svc_phone->svcnum. ' for '. $cust_main->name,
+      'start_time'         => time2str('%Y-%d-$m %T', time), #now, right??  '2010-20-04 16:20:00',
+      #'moderated_flag'     => 0,
+      #'entry_ann_flag'     => 0
+      #'record_flag'        => 0
+      #'moh_flag'           => 0
+      #'talk_detect_flag'   => 0
+      #'play_user_cnt_flag' => 0
+      #'wait_for_admin'     => 0
+      #'stop_on_admin_exit' => 0
+      #'second_pin'         => 0
+      #'secondary_pin'      => 0,
+      #'allow_sub-conf'     => 0,
+      #'duration'           => 0,
+      #'conference_type' => 'reservation', #'reservationless',
+    );
+  };
+  return $@ if $@;
+
+  my $conference_id = $conf_return->{conference_id};
+
+  #put conference_id in svc_phone.phonenum (and client_id in... phone_name???)
+  local($insert_hack) = 1;
+  $svc_phone->phonenum($conference_id);
+  $svc_phone->phone_name($client_id);
+  #my $error = $svc_phone->replace;
+  #return $error if $error;
+  $svc_phone->replace;
+
+}
+
+sub _export_replace {
+  my( $self, $new, $old ) = (shift, shift, shift);
+  return "can't change phone number as conference_id with indosoft"
+    if $old->phonenum ne $new->phonenum && ! $insert_hack;
+  return '';
+
+  #change anything?
+}
+
+sub _export_delete {
+  my( $self, $svc_phone ) = (shift, shift);
+
+  #delete conference
+  my $conf_return = eval {
+    indosoft_runcommand( 'deleteConference',
+      'conference_id' => $svc_phone->phonenum,
+    );
+  };
+  return $@ if $@;
+
+  #delete client
+  my $client_return = eval {
+    indosoft_runcommand( 'deleteClient',
+      'client_id' => $svc_phone->phone_name,
+    )
+  };
+  return $@ if $@;
+
+  '';
+
+}
+
+# #these three are optional
+# # fallback for svc_acct will change and restore password
+# sub _export_suspend {
+#   my( $self, $svc_phone ) = (shift, shift);
+#   $err_or_queue = $self->indosoft_queue( $svc_phone->svcnum,
+#     'suspend', $svc_phone->username );
+#   ref($err_or_queue) ? '' : $err_or_queue;
+# }
+# 
+# sub _export_unsuspend {
+#   my( $self, $svc_phone ) = (shift, shift);
+#   $err_or_queue = $self->indosoft_queue( $svc_phone->svcnum,
+#     'unsuspend', $svc_phone->username );
+#   ref($err_or_queue) ? '' : $err_or_queue;
+# }
+# 
+# sub export_links {
+#   my($self, $svc_phone, $arrayref) = (shift, shift, shift);
+#   #push @$arrayref, qq!<A HREF="http://example.com/~!. $svc_phone->username.
+#   #                 qq!">!. $svc_phone->username. qq!</A>!;
+#   '';
+# }
+
+###
+
+sub indosoft_runcommand {
+  my( $self, $method ) = (shift, shift);
+
+  indosoft_command(
+    $self->option('url'),
+    $method,
+    @_,
+  );
+
+}
+
+sub indosoft_command {
+  my( $url, $method, @args ) = @_;
+
+  eval 'use Net::Indosoft::Voicebridge;';
+  die $@ if $@;
+
+  my $vb = new Net::Indosoft::Voicebridge( 'url' => $url );
+
+  my $return = $vb->$method( @args );
+
+  die "Indosoft error: ". $return->{'error'} if $return->{'error'};
+
+  $return;
+
+}
+
+
+# #a good idea to queue anything that could fail or take any time
+# sub indosoft_queue {
+#   my( $self, $svcnum, $method ) = (shift, shift, shift);
+#   my $queue = new FS::queue {
+#     'svcnum' => $svcnum,
+#     'job'    => "FS::part_export::indosoft::indosoft_$method",
+#   };
+#   $queue->insert( @_ ) or $queue;
+# }
+# 
+# sub indosoft_insert { #subroutine, not method
+#   my( $username, $password ) = @_;
+#   #do things with $username and $password
+# }
+# 
+# sub indosoft_replace { #subroutine, not method
+# }
+# 
+# sub indosoft_delete { #subroutine, not method
+#   my( $username ) = @_;
+#   #do things with $username
+# }
+# 
+# sub indosoft_suspend { #subroutine, not method
+# }
+# 
+# sub indosoft_unsuspend { #subroutine, not method
+# }
+
+
+1;
index 02e89c6..6a0554b 100644 (file)
@@ -206,29 +206,6 @@ sub _export_insert {
 #    }
 #  }
 
-# here we cope with a problem of prizm failing to insert for reason
-# of duplicate mac addr, but doing so inconsistently... a race in prizm?
-
-  $self->prizm_command( 'CustomerIfService', 'removeElementFromCustomer',
-                        0,
-                        $cust_main->custnum,
-                        0,
-                        $svc->mac_addr,
-                      );
-
-  $err_or_som = $self->prizm_command( 'NetworkIfService', 'getPrizmElements',
-                                      [ 'MAC Address' ],
-                                      [ $svc->mac_addr ],
-                                      [ '=' ],
-                                    );
-  if ( ref($err_or_som) && $err_or_som->result->[0] ) { # ignore errors
-    $self->prizm_command( 'NetworkIfService', 'deleteElement',
-                          $err_or_som->result->[0],
-                          1,
-                        );
-  }
-# end of coping
-
   my $performance_profile = $svc->performance_profile;
   $performance_profile ||= $svc->cust_svc->cust_pkg->part_pkg->pkg;
 
index bb18dd4..60c0997 100644 (file)
@@ -157,7 +157,7 @@ sub _export_replace {
       if ( $old->pbxsvc ) {
         my $result = $self->_thirdlane_command(
           'asterisk::rpc_did_unassign',
-          $self->_thirdlane_did($svc_x),
+          $self->_thirdlane_did($old),
         );
         $result eq '0' or return 'Thirdlane API failure (rpc_did_unassign)';
       }
@@ -165,7 +165,7 @@ sub _export_replace {
       if ( $new->pbxsvc ) {
         my $result = $self->_thirdlane_command(
           'asterisk::rpc_did_assign',
-          $self->_thirdlane_did($svc_x),
+          $self->_thirdlane_did($new),
           $new->pbx_title,
         );
         $result eq '0' or return 'Thirdlane API failure (rpc_did_assign)';
@@ -190,7 +190,7 @@ sub _export_replace {
     ''; #we don't care then
 
   } else {
-    die "guru meditation #11: $svc_x is not FS::svc_pbx, FS::svc_phone or FS::svc_acct";
+    die "guru meditation #11: $new is not FS::svc_pbx, FS::svc_phone or FS::svc_acct";
   }
 
 }
@@ -278,11 +278,11 @@ sub _thirdlane_command {
 }
 
 sub _thirdlane_did {
-  my($self, $svc_x) = @_;
+  my($self, $svc_phone) = @_;
   if ( $self->option('omit_countrycode') ) {
-    $svc_x->phonenum;
+    $svc_phone->phonenum;
   } else {
-    $svc_x->countrycode. $svc_x->phonenum;
+    $svc_phone->countrycode. $svc_phone->phonenum;
   }
 }
 
index 6a27554..59ff2c3 100644 (file)
@@ -272,12 +272,11 @@ sub import_results {
         };
         push @all_values, [ $csv->fields(), $line ];
       }elsif ($filetype eq 'fixed'){
-        my @values = ( $line =~ /$formatre/ );
+        my @values = ( $line =~ /$formatre/, $line );
         unless (@values) {
           $dbh->rollback if $oldAutoCommit;
           return "can't parse: ". $line;
         };
-        push @values, $line;
         push @all_values, \@values;
       }else{
         $dbh->rollback if $oldAutoCommit;
index 26ff959..daf6548 100644 (file)
@@ -14,7 +14,7 @@ $name = 'RBC';
 %import_info = (
   'filetype'    => 'fixed',
   'formatre'    => 
-  '^(.).{18}(.{4}).{3}(.).{11}(.{19}).{6}(.{30}).{17}(.{9})(.{18}).{6}(.{14}).{23}(.).{9}\r?$',
+  '^(.).{18}(.{4}).{3}(.).{11}(.{19}).{6}(.{30}).{17}(.{9})(.{18}).{6}(.{14}).{23}(.).{9}$',
   'fields' => [ qw(
     recordtype
     batchnum
index ba765e0..914f735 100644 (file)
@@ -97,7 +97,7 @@ sub insert {
     return $error;
   }
 
-  $self->export('device_insert');
+  $self->svc_phone->export('device_insert', $self); #call device export
 
   $dbh->commit or die $dbh->errstr if $oldAutoCommit;
   '';
@@ -124,7 +124,7 @@ sub delete {
   local $FS::UID::AutoCommit = 0;
   my $dbh = dbh;
 
-  $self->export('device_delete');
+  $self->svc_phone->export('device_delete', $self); #call device export
 
   my $error = $self->SUPER::delete;
   if ( $error ) {
@@ -167,7 +167,7 @@ sub replace {
     return $error;
   }
 
-  $new->export('device_replace', $old);
+  $new->svc_phone->export('device_replace', $new, $old); #call device export
 
   $dbh->commit or die $dbh->errstr if $oldAutoCommit;
   '';
@@ -227,64 +227,6 @@ sub svc_phone {
   qsearchs( 'svc_phone', { 'svcnum' => $self->svcnum } );
 }
 
-=item export HOOK [ EXPORT_ARGS ]
-
-Runs the provided export hook (i.e. "device_insert") for this service.
-
-=cut
-
-sub export {
-  my( $self, $method ) = ( shift, shift );
-
-  local $SIG{HUP} = 'IGNORE';
-  local $SIG{INT} = 'IGNORE';
-  local $SIG{QUIT} = 'IGNORE';
-  local $SIG{TERM} = 'IGNORE';
-  local $SIG{TSTP} = 'IGNORE';
-  local $SIG{PIPE} = 'IGNORE';
-
-  my $oldAutoCommit = $FS::UID::AutoCommit;
-  local $FS::UID::AutoCommit = 0;
-  my $dbh = dbh;
-
-  my $svc_phone = $self->svc_phone;
-  my $error = $svc_phone->export($method, $self, @_); #call device export
-  if ( $error ) {                                     #netsapiens at least
-    $dbh->rollback if $oldAutoCommit;
-    return "error exporting $method event to svc_phone ". $svc_phone->svcnum.
-           " (transaction rolled back): $error";
-  }
-
-  $method = "export_$method" unless $method =~ /^export_/;
-
-  foreach my $part_export ( $self->part_device->part_export ) {
-    next unless $part_export->can($method);
-    my $error = $part_export->$method($svc_phone, $self, @_);
-    if ( $error ) {
-      $dbh->rollback if $oldAutoCommit;
-      return "error exporting $method event to ". $part_export->exporttype.
-             " (transaction rolled back): $error";
-    }
-  }
-
-  $dbh->commit or die $dbh->errstr if $oldAutoCommit;
-  '';
-
-}
-
-=item export_links
-
-Returns a list of html elements associated with this device's exports.
-
-=cut
-
-sub export_links {
-  my $self = shift;
-  my $return = [];
-  $self->export('export_device_links', $return);
-  $return;
-}
-
 =back
 
 =head1 BUGS
index e5773ae..302ba37 100644 (file)
@@ -136,7 +136,7 @@ sub agent {
 
 =over 4
 
-=item generate NUM TYPE LENGTH HASHREF
+=item generate NUM TYPE HASHREF
 
 Generates the specified number of prepaid cards.  Returns an array reference of
 the newly generated card identifiers, or a scalar error message.
@@ -145,12 +145,11 @@ the newly generated card identifiers, or a scalar error message.
 
 #false laziness w/agent::generate_reg_codes
 sub generate {
-  my( $num, $type, $length, $hashref ) = @_;
+  my( $num, $type, $hashref ) = @_;
 
   my @codeset = ();
   push @codeset, ( 'A'..'Z' ) if $type =~ /alpha/;
   push @codeset, ( '1'..'9' ) if $type =~ /numeric/;
-  $length ||= 8;
 
   local $SIG{HUP} = 'IGNORE';
   local $SIG{INT} = 'IGNORE';
@@ -164,11 +163,11 @@ sub generate {
   my $dbh = dbh;
 
   my $condup = 0; #don't retry forever
-  
+
   my @cards = ();
   for ( 1 ... $num ) {
 
-    my $identifier = join('', map($codeset[int(rand $#codeset)], (1..$length) ) );
+    my $identifier = join('', map($codeset[int(rand $#codeset)], (0..7) ) );
 
     redo if qsearchs('prepay_credit',{identifier=>$identifier}) && $condup++<23;
     $condup = 0;
index 4425c64..482ea34 100644 (file)
@@ -162,7 +162,9 @@ sub _populate_initial_data {  # class method
 #   my $error   = $object->insert();
 #   die "error inserting $self into database: $error\n"
 #     if $error;
-    $conf->set($_, $object->typenum);
+#                                      # or clause for 1.7.x
+    $conf->set($_, $object->typenum)
+      or die "failed setting config";
   }
 
   '';
index 97c704c..f4ff1c2 100755 (executable)
@@ -4,7 +4,7 @@ use strict;
 use vars qw($opt_d $opt_s $opt_q $opt_v $opt_r);
 use vars qw($DEBUG $DRY_RUN);
 use Getopt::Std;
-use DBIx::DBSchema 0.31;
+use DBIx::DBSchema 0.31; #0.39
 use FS::UID qw(adminsuidsetup checkeuid datasrc driver_name);  #getsecrets);
 use FS::CurrentUser;
 use FS::Schema qw( dbdef dbdef_dist reload_dbdef );
@@ -30,6 +30,11 @@ $FS::UID::callback_hack = 1;
 my $dbh = adminsuidsetup($user);
 $FS::UID::callback_hack = 0;
 
+if ( driver_name =~ /^mysql/i ) { #until 0.39 is required above
+  eval "use DBIx::DBSchema 0.39;";
+  die $@ if $@;
+}
+
 #needs to match FS::Schema...
 my $dbdef_file = "%%%FREESIDE_CONF%%%/dbdef.". datasrc;
 
index 8c1f3db..412033c 100755 (executable)
@@ -34,8 +34,9 @@ elsif($opt{'a'}) {
     or die "Agent has no payment gateway for method '$method'.";
 }
 
-if(defined($opt{'X'}) and !qsearchs('reason', { reasonnum => opt{'X'} })) {
-  die "Cancellation reason not found: '".$opt{'X'}."'";
+if(defined($opt{'X'})) {
+  die "Cancellation reason not found: '".$opt{'X'}."'" 
+    if(! qsearchs('reason', { reasonnum => $opt{'X'} } ) );
 }
 
 my ($processor, $login, $password, $action, @bop_options) =
@@ -132,21 +133,7 @@ if($opt{'v'}) {
 }
 
 sub usage {
-    die "Usage:\n\n  freeside-void-payments [ options ] user
-    
-    options:
-      -a agentnum    use agentnum's gateway information
-      -g gatewaynum  use gatewaynum
-      -f file        read transaction numbers from file
-      -c             use ECHECK gateway instead of CARD
-      -r reason      specify void reason (as a string)
-      -v             be verbose
-      -s start-date
-      -e end-date    limit by payment return date
-      -X reasonnum   cancel customers whose payments are voided
-                     (specify cancellation reason number)
-
-";
+    die "Usage:\n\n  freeside-void-payments [ -f file | [ -s start-date ] [ -e end-date ] ] [ -r 'reason' ] [ -g gatewaynum | -a agentnum ] [ -c ] [ -v ] [ -n ] [-X reasonnum ] user\n";
 }
 
 __END__
@@ -159,17 +146,10 @@ freeside-void-payments - Automatically void a list of returned payments.
 
 =head1 SYNOPSIS
 
-  freeside-void-payments [ -f file | [ -s start-date ] [ -e end-date ] ] 
-                         [ -r 'reason' ] 
-                         [ -g gatewaynum | -a agentnum ] 
-                         [ -c ] [ -v ] 
-                         [ -X reasonnum ] 
-                         user
+  freeside-void-payments [ -f file | [ -s start-date ] [ -e end-date ] ] [ -r 'reason' ] [ -g gatewaynum | -a agentnum ] [ -c ] [ -v ] [ -n ] user
 
 =head1 DESCRIPTION
 
-=pod
-
 Voids payments that were returned by the payment processor.  Can be 
 run periodically from crontab or manually after receiving a list of 
 returned payments.  Normally this is a meaningful operation only for 
@@ -182,12 +162,12 @@ generally how the processor will identify them later.
   -f: Read the list of authorization numbers from the specified file.  
       If they are not from the default payment gateway, -g or -a 
       must be given to identify the gateway.
-
+      
   If -f is not given, the script will attempt to contact the gateway 
   and download a list of returned transactions.  To support this, 
   the Business::OnlinePayment module for the processor must implement 
-  the get_returns() method.  For an example, see 
-  Business::OnlinePayment::WesternACH.
+  the I<get_returns()> method.  For an example, see 
+  L<Business::OnlinePayment::WesternACH>.
 
   -s, -e: Specify the starting and ending dates for the void list.  
       This has no effect if -f is given.  The end date defaults to 
@@ -195,7 +175,7 @@ generally how the processor will identify them later.
 
   -r: The reason for voiding the payments, to be stored in the database.
 
-  -g: The FS::payment_gateway number for the gateway that handled 
+  -g: The L<FS::payment_gateway> number for the gateway that handled 
       these payments.  If -f is not given, this determines which 
       gateway will be contacted.  This overrides -a.
 
@@ -207,9 +187,12 @@ generally how the processor will identify them later.
 
   -v: Be verbose.
   
-  -X: Automatically cancel all packages belonging to customers whose 
-      payments were returned.  Requires a cancellation reasonnum 
-      (from FS::reason).
+  -X: Automatically cancel all packages belonging to customers whose payments 
+      were returned.  Requires a cancellation reasonnum (from L<FS::reason>).
+
+A warning will be emitted for each transaction that can't be found.  
+This may happen if it's already been voided, or if the gateway 
+doesn't match.
 
 =head1 EXAMPLE
 
@@ -230,7 +213,7 @@ day at 8:30 every morning:
 
 =head1 BUGS
 
-Most payment gateways don't support it.
+Most payment gateways don't support it, making the script largely useless.
 
 =head1 SEE ALSO
 
diff --git a/FS/t/export_device.t b/FS/t/export_device.t
deleted file mode 100644 (file)
index 4688326..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-BEGIN { $| = 1; print "1..1\n" }
-END {print "not ok 1\n" unless $loaded;}
-use FS::export_device;
-$loaded=1;
-print "ok 1\n";
index 568cf4a..b7b355c 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -123,7 +123,7 @@ RT_PATH = /opt/rt3
 FREESIDE_PATH = `pwd`
 PERL_INC_DEV_KLUDGE = /usr/local/share/perl/5.10.0/
 
-VERSION=1.9.2cvs
+VERSION=1.9.2
 TAG=freeside_1_9_2
 
 DEBVERSION = `echo ${VERSION} | perl -pe 's/(\d)([a-z])/\1~\2/'`-1
diff --git a/bin/opensrs_domain_pkgs b/bin/opensrs_domain_pkgs
deleted file mode 100755 (executable)
index ae14761..0000000
+++ /dev/null
@@ -1,126 +0,0 @@
-#!/usr/bin/perl -w
-
-use strict;
-use DateTime;
-use Date::Format;
-use Date::Parse;
-use Net::OpenSRS;
-use Net::Whois::Raw;
-use Data::Dumper;
-use FS::UID qw(adminsuidsetup);
-use FS::Record qw(qsearchs qsearch);
-use FS::Conf;
-use FS::svc_domain;
-use FS::part_pkg;
-use FS::part_export;
-
-my $exportnum = 1;
-my $pkgpart = 631;
-my $user = 'qis';
-
-adminsuidsetup $user;
-
-my $part_export = qsearchs('part_export' => { exportnum => $exportnum })
-  or die "can't find export $exportnum\n";
-
-my $srs = $part_export->get_srs;
-
-my $rv = $srs->make_request(
-  {
-    action     => 'get_domains_by_expiredate',
-    object     => 'domain',
-    attributes => {
-      exp_from => time2str('%Y-%m-%d', time() - 4*24*60*60),
-      exp_to   => time2str('%Y-%m-%d', time() + 10*366*24*60*60),
-      limit    => 10000,
-    }
-  }
-);
-
-die $rv->{response_text} unless $rv->{is_success};
-
-my %domains = map { $_->{name}, $_ } @{ $rv->{attributes}->{exp_domains} };
-
-# each is of form
-#             {
-#               'f_let_expire' => 'N',
-#               'name' => 'wolfecpa.com',
-#               'f_auto_renew' => 'N',
-#               'expiredate' => '2017-09-16 04:00:00'
-#             },
-
-foreach my $svc_domain ( $part_export->svc_x ) {
-  unless ( exists($domains{$svc_domain->domain}) ) {
-    warn $svc_domain->domain. " not at registrar.  No action taken.\n";
-    next;
-  }
-
-  $domains{$svc_domain->domain}{seen} = 1;
-
-  unless ( $domains{$svc_domain->domain}{expiredate} =~
-           /^(\d{4})-(\d{2})-(\d{2}) (\d{2}):(\d{2}):(\d{2})/ )
-  {
-    warn "Can't parse expiration date for ". $svc_domain->domain. " skipping\n";
-    next;
-  }
-
-  my ($year,$month,$day,$hour,$minute,$second) = ($1,$2,$3,$4,$5,$6);
-  my $exp = DateTime->new( year   => $year,
-                           month  => $month,
-                           day    => $day,
-                           hour   => $hour,
-                           minute => $minute,
-                           second => $second,
-                           time_zone => 'America/New_York',#timezone of opensrs
-                         );
-  my $expiretime = $exp->epoch;
-
-  my $error = $part_export->is_supported_domain($svc_domain);
-  warn $error if $error;
-  $error = undef;
-
-  my $create = '';
-  my $whois = whois($svc_domain->domain);
-  $whois =~ /Record created on (\d{1,2}-\w{3}-\d{4})\./ && ($create = $1);
-  my $createtime = str2time($create);
-
-  unless ($createtime) {
-    $exp->subtract( 'years' => 1 );
-    $createtime = $exp->epoch;
-  }
-
-  my $new;
-  my $cust_svc = $svc_domain->cust_svc;
-  my $cust_pkg = $cust_svc->cust_pkg;
-  unless ($cust_pkg) {
-    warn $svc_domain->domain. " not linked to package.  No action taken.\n";
-    next;
-  }
-
-  foreach my $pkg ( grep { $_->pkgpart == $pkgpart } $cust_pkg->cust_main->ncancelled_pkgs ) {
-    next if $pkg->cust_svc;  # only handles simple 1 domain/package case
-    $cust_svc->pkgnum($pkg->pkgnum);
-    $error = $cust_svc->replace;
-    die "error linking to empty package: $error\n" if $error;
-    $cust_pkg = $pkg;
-    last;
-  }
-
-  unless ($cust_pkg->pkgpart == $pkgpart) {
-    $new = new FS::cust_pkg
-      { custnum => $cust_pkg->custnum, pkgpart => $pkgpart };
-    my $error = $new->insert;
-    die "error inserting package: $error\n" if $error;
-    $cust_svc->pkgnum($new->pkgnum);
-    $error = $cust_svc->replace;
-    die "error linking to new package: $error\n" if $error;
-    $cust_pkg = $new;
-  }
-
-  # set dates on package if it was empty?
-  $cust_pkg->bill($expiretime);
-  $cust_pkg->setup($createtime);
-  $error = $cust_pkg->replace;
-  die $error if $error;
-}
-
index 110ec8f..e20d96b 100644 (file)
@@ -1 +1 @@
-ivan-unconfigured-freeside-installation@420.am
+ivan-unconfigured-freeside-installation@freeside.biz
index 20a0b4f..7f9977c 100644 (file)
@@ -1,3 +1,15 @@
+freeside (1.9.2-1) unstable; urgency=low
+
+  * New upstream release
+
+ -- Ivan Kohler <ivan-debian@420.am>  Mon, 05 Apr 2010 00:08:55 -0700
+
+freeside (1.9.2~cvs-1) unstable; urgency=low
+
+  * New upstream release
+
+ -- Ivan Kohler <ivan-debian@420.am>  Mon, 05 Apr 2010 00:05:25 -0700
+
 freeside (1.9.1-1) unstable; urgency=low
 
   * New upstream release
index 78850c4..952d620 100644 (file)
@@ -76,11 +76,8 @@ sub handler
       RT::Init() if $RT::VERSION; #for lack of something else
 
       #we don't want the RT error handlers under FS
-      {
-        no warnings 'uninitialized';
-        undef $SIG{__WARN__} if defined($SIG{__WARN__});
-        undef $SIG{__DIE__}  if defined($SIG{__DIE__} );
-      }
+      undef $SIG{__WARN__} if defined($SIG{__WARN__});
+      undef $SIG{__DIE__}  if defined($SIG{__DIE__} );
 
       $ah->interp($fs_interp);
 
index 04af73d..056c17c 100644 (file)
@@ -8,7 +8,7 @@
 </CENTER>
 
 <CENTER>
-<FONT SIZE="-1">&copy; 2009 Freeside Internet Services, Inc.<BR>
+<FONT SIZE="-1">&copy; 2010 Freeside Internet Services, Inc.<BR>
 All rights reserved.<BR>
 Licensed under the terms of the<BR>
 GNU <b>Affero</b> General Public License.<BR>
@@ -29,7 +29,7 @@ GNU <b>Affero</b> General Public License.<BR>
 <BR>
 
 <CENTER>
-<FONT SIZE="-3">"I need a miracle every day." -J.P. Barlow</FONT>
+<FONT SIZE="-3">"Put your gold money where your love is, baby" -R. Hunter</FONT>
 </CENTER>
 
 <SCRIPT TYPE="text/javascript">
diff --git a/httemplate/docs/man/FS/part_export/.cvs_is_on_crack b/httemplate/docs/man/FS/part_export/.cvs_is_on_crack
deleted file mode 100644 (file)
index e69de29..0000000
index 5d06f3c..1a06d94 100644 (file)
@@ -225,7 +225,6 @@ function post_standardization() {
 
   } else {
 
-    cf.elements['geocode'].value = '';
     post_geocode();
 
   }
index f7a1b08..ed404b7 100644 (file)
@@ -7,16 +7,13 @@
 Generate
 <INPUT TYPE="text" NAME="num" VALUE="<% $cgi->param('num') || '(quantity)' |h %>" SIZE=10 MAXLENGTH=10 onFocus="if ( this.value == '(quantity)' ) { this.value = ''; }">
 
-prepaid cards of
-
-<INPUT TYPE="text" NAME="length" SIZE=3 MAXLENGTH=2 VALUE=8>&nbsp;
 <SELECT NAME="type">
 % foreach (qw(alpha alphanumeric numeric)) { 
   <OPTION<% $cgi->param('type') eq $_ ? ' SELECTED' : '' %>><% $_ %>
 % } 
 </SELECT>
 
-characters each
+prepaid cards
 
 <BR>for <SELECT NAME="agentnum"><OPTION>(any agent)
 % foreach my $opt_agent ( qsearch('agent', { 'disabled' => '' } ) ) { 
index 399991f..2b7e1da 100644 (file)
@@ -1,10 +1,6 @@
 <% include( 'elements/process.html',
                'table'       => 'part_device',
                'viewall_dir' => 'browse',
-               'process_m2m' => {
-                 'link_table'   => 'export_device',
-                 'target_table' => 'part_export',
-               },
            )
 %>
 <%init>
index a55522b..8f2eb2b 100644 (file)
@@ -56,7 +56,6 @@ $hashref->{totalbytes} = $cgi->param('totalbytes') * $cgi->param('totalmultiplie
 
 $error ||= FS::prepay_credit::generate( $num,
                                         scalar($cgi->param('type')), 
-                                        $cgi->param('length'),
                                         $hashref
                                       );
 
index 9c21c44..99e4b74 100755 (executable)
@@ -132,7 +132,7 @@ Service # <% $svcnum ? "<B>$svcnum</B>" : " (NEW)" %><BR>
     </TR>
 
 % } else {
-    <INPUT TYPE="hidden" NAME="cgp_aliases" VALUE="<% $svc_acct->cgp_aliases %>">
+    <INPUT TYPE="text" NAME="cgp_aliases" VALUE="<% $svc_acct->cgp_aliases %>">
 % }
 
 
index c85dd3b..78faf12 100755 (executable)
@@ -63,7 +63,7 @@ Available top-level domains: <% $export->option('tlds') %>
     </TR>
 
 % } else {
-    <INPUT TYPE="hidden" NAME="cgp_aliases" VALUE="<% $svc_domain->cgp_aliases %>">
+    <INPUT TYPE="text" NAME="cgp_aliases" VALUE="<% $svc_domain->cgp_aliases %>">
 % }
 
 % if ( $part_svc->part_svc_column('max_accounts')->columnflag =~ /^[FA]$/ ) {
index a31bdb9..b6b04d1 100644 (file)
@@ -46,7 +46,7 @@
 %
 %  my $hashref = $opt{'hashref'} || {};
 %
-%  my $extra_sql = $opt{'extra_sql'} || '';
+%  my $extra_sql = '';
 %
 %  if ( $opt{'agent_virt'} ) {
 %    $extra_sql .= ' AND' . $FS::CurrentUser::CurrentUser->agentnums_sql(
index 50cfe0e..8539aa4 100644 (file)
@@ -1,6 +1,6 @@
 /*\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
  * file.\r
  */\r
 \r
-/**\r
* The "body" styles should match your editor web site, mainly regarding\r
* background color and font family and size.\r
- */\r
+/*\r
   The "body" styles should match your editor web site, mainly regarding\r
   background color and font family and size.\r
+*/\r
 \r
 body\r
 {\r
@@ -40,20 +40,19 @@ body
 \r
 body, td\r
 {\r
-       font-family: Arial, Verdana, sans-serif;\r
+       font-family: Arial, Verdana, Sans-Serif;\r
        font-size: 12px;\r
 }\r
 \r
 a[href]\r
 {\r
-       color: -moz-hyperlinktext !important;           /* For Firefox... mark as important, otherwise it becomes black */\r
-       text-decoration: -moz-anchor-decoration;        /* For Firefox 3, otherwise no underline will be used */\r
+       color: #0000FF !important;      /* For Firefox... mark as important, otherwise it becomes black */\r
 }\r
 \r
-/**\r
* Just uncomment the following block if you want to avoid spaces between\r
* paragraphs. Remember to apply the same style in your output front end page.\r
- */\r
+/*\r
      Just uncomment the following block if you want to avoid spaces between\r
      paragraphs. Remember to apply the same style in your output front end page.\r
+*/\r
 \r
 /*\r
 p, ul, li\r
@@ -63,30 +62,12 @@ p, ul, li
 }\r
 */\r
 \r
-/**\r
- * Uncomment the following block, or only selected lines if appropriate,\r
- * if you have some style items that would break the styles combo box.\r
- * You can also write other CSS overrides inside the style block below\r
- * as needed and they will be applied to inside the style combo only.\r
- */\r
-\r
 /*\r
-.SC_Item *, .SC_ItemSelected *\r
-{\r
-       margin: 0px !important;\r
-       padding: 0px !important;\r
-       text-indent: 0px !important;\r
-       clip: auto !important;\r
-       position: static !important;\r
-}\r
+    The following are some sample styles used in the "Styles" toolbar command.\r
+    You should instead remove them, and include the styles used by the site\r
+    you are using the editor in.\r
 */\r
 \r
-/**\r
- * The following are some sample styles used in the "Styles" toolbar command.\r
- * You should instead remove them, and include the styles used by the site\r
- * you are using the editor in.\r
- */\r
-\r
 .Bold\r
 {\r
        font-weight: bold;\r
@@ -107,4 +88,4 @@ p, ul, li
        color: #000066;\r
        font-family: 'Courier New' , Monospace;\r
        background-color: #ff9933;\r
-}\r
+}
\ No newline at end of file
index d92c75e..e686560 100644 (file)
@@ -1,6 +1,6 @@
 /*\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
  * This CSS Style Sheet defines rules used by the editor for its internal use.\r
  */\r
 \r
-/* #########\r
- *  WARNING\r
- * #########\r
- * When changing this file, the minified version of it must be updated in the\r
- * fckeditor.html file (see FCK_InternalCSS).\r
- */\r
-\r
-/* Fix to allow putting the caret at the end of the content in Firefox if\r
-   clicking below the content. */\r
+/* Fix to allow putting the caret at the end of the\r
+content in Firefox if clicking below the content */\r
 html\r
 {\r
        min-height: 100%;\r
 }\r
 \r
+\r
 table.FCK__ShowTableBorders, table.FCK__ShowTableBorders td, table.FCK__ShowTableBorders th\r
 {\r
        border: #d3d3d3 1px solid;\r
@@ -56,16 +50,6 @@ form
        height: 80px;\r
 }\r
 \r
-.FCK__UnknownObject\r
-{\r
-       border: #a9a9a9 1px solid;\r
-       background-position: center center;\r
-       background-image: url(images/fck_plugin.gif);\r
-       background-repeat: no-repeat;\r
-       width: 80px;\r
-       height: 80px;\r
-}\r
-\r
 /* Empty anchors images */\r
 .FCK__Anchor\r
 {\r
@@ -88,7 +72,8 @@ form
        padding-left: 18px;\r
 }\r
 \r
-/* Any anchor for non-IE, if we combine it with the previous rule IE ignores all. */\r
+/* Any anchor for non-IE, if we combine it\r
+   with the previous rule IE ignores all. */\r
 a[name]\r
 {\r
        border: 1px dotted #00F;\r
@@ -124,76 +109,3 @@ a[name]
        vertical-align: text-bottom;\r
        background-position: center center;\r
 }\r
-\r
-.FCK__ShowBlocks p,\r
-.FCK__ShowBlocks div,\r
-.FCK__ShowBlocks pre,\r
-.FCK__ShowBlocks address,\r
-.FCK__ShowBlocks blockquote,\r
-.FCK__ShowBlocks h1,\r
-.FCK__ShowBlocks h2,\r
-.FCK__ShowBlocks h3,\r
-.FCK__ShowBlocks h4,\r
-.FCK__ShowBlocks h5,\r
-.FCK__ShowBlocks h6\r
-{\r
-       background-repeat: no-repeat;\r
-       border: 1px dotted gray;\r
-       padding-top: 8px;\r
-       padding-left: 8px;\r
-}\r
-\r
-.FCK__ShowBlocks p\r
-{\r
-       background-image: url(images/block_p.png);\r
-}\r
-\r
-.FCK__ShowBlocks div\r
-{\r
-       background-image: url(images/block_div.png);\r
-}\r
-\r
-.FCK__ShowBlocks pre\r
-{\r
-       background-image: url(images/block_pre.png);\r
-}\r
-\r
-.FCK__ShowBlocks address\r
-{\r
-       background-image: url(images/block_address.png);\r
-}\r
-\r
-.FCK__ShowBlocks blockquote\r
-{\r
-       background-image: url(images/block_blockquote.png);\r
-}\r
-\r
-.FCK__ShowBlocks h1\r
-{\r
-       background-image: url(images/block_h1.png);\r
-}\r
-\r
-.FCK__ShowBlocks h2\r
-{\r
-       background-image: url(images/block_h2.png);\r
-}\r
-\r
-.FCK__ShowBlocks h3\r
-{\r
-       background-image: url(images/block_h3.png);\r
-}\r
-\r
-.FCK__ShowBlocks h4\r
-{\r
-       background-image: url(images/block_h4.png);\r
-}\r
-\r
-.FCK__ShowBlocks h5\r
-{\r
-       background-image: url(images/block_h5.png);\r
-}\r
-\r
-.FCK__ShowBlocks h6\r
-{\r
-       background-image: url(images/block_h6.png);\r
-}\r
index 333161f..5947114 100644 (file)
@@ -1,6 +1,6 @@
 /*\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
  * This CSS Style Sheet defines the rules to show table borders on Gecko.\r
  */\r
 \r
-/* #########\r
- *  WARNING\r
- * #########\r
- * When changing this file, the minified version of it must be updated in the\r
- * fckeditor.html file (see FCK_ShowTableBordersCSS).\r
- */\r
-\r
 /* For tables with the "border" attribute set to "0" */\r
 table[border="0"],\r
 table[border="0"] > tr > td, table[border="0"] > tr > th,\r
diff --git a/httemplate/elements/fckeditor/editor/css/images/block_address.png b/httemplate/elements/fckeditor/editor/css/images/block_address.png
deleted file mode 100644 (file)
index 8bbae6e..0000000
Binary files a/httemplate/elements/fckeditor/editor/css/images/block_address.png and /dev/null differ
diff --git a/httemplate/elements/fckeditor/editor/css/images/block_blockquote.png b/httemplate/elements/fckeditor/editor/css/images/block_blockquote.png
deleted file mode 100644 (file)
index cf065ba..0000000
Binary files a/httemplate/elements/fckeditor/editor/css/images/block_blockquote.png and /dev/null differ
diff --git a/httemplate/elements/fckeditor/editor/css/images/block_div.png b/httemplate/elements/fckeditor/editor/css/images/block_div.png
deleted file mode 100644 (file)
index a2806b1..0000000
Binary files a/httemplate/elements/fckeditor/editor/css/images/block_div.png and /dev/null differ
diff --git a/httemplate/elements/fckeditor/editor/css/images/block_h1.png b/httemplate/elements/fckeditor/editor/css/images/block_h1.png
deleted file mode 100644 (file)
index d43fbdb..0000000
Binary files a/httemplate/elements/fckeditor/editor/css/images/block_h1.png and /dev/null differ
diff --git a/httemplate/elements/fckeditor/editor/css/images/block_h2.png b/httemplate/elements/fckeditor/editor/css/images/block_h2.png
deleted file mode 100644 (file)
index 27b5475..0000000
Binary files a/httemplate/elements/fckeditor/editor/css/images/block_h2.png and /dev/null differ
diff --git a/httemplate/elements/fckeditor/editor/css/images/block_h3.png b/httemplate/elements/fckeditor/editor/css/images/block_h3.png
deleted file mode 100644 (file)
index 3c3034f..0000000
Binary files a/httemplate/elements/fckeditor/editor/css/images/block_h3.png and /dev/null differ
diff --git a/httemplate/elements/fckeditor/editor/css/images/block_h4.png b/httemplate/elements/fckeditor/editor/css/images/block_h4.png
deleted file mode 100644 (file)
index ab3f64d..0000000
Binary files a/httemplate/elements/fckeditor/editor/css/images/block_h4.png and /dev/null differ
diff --git a/httemplate/elements/fckeditor/editor/css/images/block_h5.png b/httemplate/elements/fckeditor/editor/css/images/block_h5.png
deleted file mode 100644 (file)
index 93477d0..0000000
Binary files a/httemplate/elements/fckeditor/editor/css/images/block_h5.png and /dev/null differ
diff --git a/httemplate/elements/fckeditor/editor/css/images/block_h6.png b/httemplate/elements/fckeditor/editor/css/images/block_h6.png
deleted file mode 100644 (file)
index 11ea1c2..0000000
Binary files a/httemplate/elements/fckeditor/editor/css/images/block_h6.png and /dev/null differ
diff --git a/httemplate/elements/fckeditor/editor/css/images/block_p.png b/httemplate/elements/fckeditor/editor/css/images/block_p.png
deleted file mode 100644 (file)
index d055c51..0000000
Binary files a/httemplate/elements/fckeditor/editor/css/images/block_p.png and /dev/null differ
diff --git a/httemplate/elements/fckeditor/editor/css/images/block_pre.png b/httemplate/elements/fckeditor/editor/css/images/block_pre.png
deleted file mode 100644 (file)
index be8ad26..0000000
Binary files a/httemplate/elements/fckeditor/editor/css/images/block_pre.png and /dev/null differ
diff --git a/httemplate/elements/fckeditor/editor/css/images/fck_plugin.gif b/httemplate/elements/fckeditor/editor/css/images/fck_plugin.gif
deleted file mode 100644 (file)
index 7d58463..0000000
Binary files a/httemplate/elements/fckeditor/editor/css/images/fck_plugin.gif and /dev/null differ
index 1119e44..c1db114 100644 (file)
@@ -1,6 +1,6 @@
 /*\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
  * windows.\r
  */\r
 \r
-/* #########\r
- *  WARNING\r
- * #########\r
- * When changing this file, the minified version of it must be updated in the\r
- * fck_dialog_common.js file (see GetCommonDialogCss).\r
- */\r
-\r
 .ImagePreviewArea\r
 {\r
        border: #000000 1px solid;\r
@@ -83,3 +76,8 @@
        cursor: pointer;\r
        cursor: hand;\r
 }\r
+\r
+.FCK__FieldNumeric\r
+{\r
+       behavior: url(common/fcknumericfield.htc) ;\r
+}
\ No newline at end of file
index 478d3d5..26b5628 100644 (file)
@@ -1,6 +1,6 @@
 /*\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
  * == END LICENSE ==\r
  *\r
  * Useful functions used by almost all dialog window pages.\r
- * Dialogs should link to this file as the very first script on the page.\r
  */\r
 \r
-// Automatically detect the correct document.domain (#123).\r
-(function()\r
-{\r
-       var d = document.domain ;\r
-\r
-       while ( true )\r
-       {\r
-               // Test if we can access a parent property.\r
-               try\r
-               {\r
-                       var test = window.parent.document.domain ;\r
-                       break ;\r
-               }\r
-               catch( e ) {}\r
-\r
-               // Remove a domain part: www.mytest.example.com => mytest.example.com => example.com ...\r
-               d = d.replace( /.*?(?:\.|$)/, '' ) ;\r
-\r
-               if ( d.length == 0 )\r
-                       break ;         // It was not able to detect the domain.\r
-\r
-               try\r
-               {\r
-                       document.domain = d ;\r
-               }\r
-               catch (e)\r
-               {\r
-                       break ;\r
-               }\r
-       }\r
-})() ;\r
-\r
-// Attention: FCKConfig must be available in the page.\r
-function GetCommonDialogCss( prefix )\r
-{\r
-       // CSS minified by http://iceyboard.no-ip.org/projects/css_compressor (see _dev/css_compression.txt).\r
-       return FCKConfig.BasePath + 'dialog/common/' + '|.ImagePreviewArea{border:#000 1px solid;overflow:auto;width:100%;height:170px;background-color:#fff}.FlashPreviewArea{border:#000 1px solid;padding:5px;overflow:auto;width:100%;height:170px;background-color:#fff}.BtnReset{float:left;background-position:center center;background-image:url(images/reset.gif);width:16px;height:16px;background-repeat:no-repeat;border:1px none;font-size:1px}.BtnLocked,.BtnUnlocked{float:left;background-position:center center;background-image:url(images/locked.gif);width:16px;height:16px;background-repeat:no-repeat;border:none 1px;font-size:1px}.BtnUnlocked{background-image:url(images/unlocked.gif)}.BtnOver{border:outset 1px;cursor:pointer;cursor:hand}' ;\r
-}\r
+var GECKO_BOGUS = '<br type="_moz">' ;\r
 \r
 // Gets a element by its Id. Used for shorter coding.\r
 function GetE( elementId )\r
@@ -97,47 +59,21 @@ function GetAttribute( element, attName, valueIfNull )
        return ( oValue == null ? valueIfNull : oValue ) ;\r
 }\r
 \r
-function SelectField( elementId )\r
+// Functions used by text fiels to accept numbers only.\r
+function IsDigit( e )\r
 {\r
-       var element = GetE( elementId ) ;\r
-       element.focus() ;\r
+       if ( !e )\r
+               e = event ;\r
 \r
-       // element.select may not be available for some fields (like <select>).\r
-       if ( element.select )\r
-               element.select() ;\r
-}\r
+       var iCode = ( e.keyCode || e.charCode ) ;\r
 \r
-// Functions used by text fields to accept numbers only.\r
-var IsDigit = ( function()\r
-       {\r
-               var KeyIdentifierMap =\r
-               {\r
-                       End                     : 35,\r
-                       Home            : 36,\r
-                       Left            : 37,\r
-                       Right           : 39,\r
-                       'U+00007F'      : 46            // Delete\r
-               } ;\r
-\r
-               return function ( e )\r
-                       {\r
-                               if ( !e )\r
-                                       e = event ;\r
-\r
-                               var iCode = ( e.keyCode || e.charCode ) ;\r
-\r
-                               if ( !iCode && e.keyIdentifier && ( e.keyIdentifier in KeyIdentifierMap ) )\r
-                                               iCode = KeyIdentifierMap[ e.keyIdentifier ] ;\r
-\r
-                               return (\r
-                                               ( iCode >= 48 && iCode <= 57 )          // Numbers\r
-                                               || (iCode >= 35 && iCode <= 40)         // Arrows, Home, End\r
-                                               || iCode == 8                                           // Backspace\r
-                                               || iCode == 46                                          // Delete\r
-                                               || iCode == 9                                           // Tab\r
-                               ) ;\r
-                       }\r
-       } )() ;\r
+       return (\r
+                       ( iCode >= 48 && iCode <= 57 )          // Numbers\r
+                       || (iCode >= 37 && iCode <= 40)         // Arrows\r
+                       || iCode == 8                                           // Backspace\r
+                       || iCode == 46                                          // Delete\r
+       ) ;\r
+}\r
 \r
 String.prototype.Trim = function()\r
 {\r
@@ -187,161 +123,32 @@ function OpenFileBrowser( url, width, height )
        sOptions += ",left=" + iLeft ;\r
        sOptions += ",top=" + iTop ;\r
 \r
-       window.open( url, 'FCKBrowseWindow', sOptions ) ;\r
-}\r
-\r
-/**\r
- Utility function to create/update an element with a name attribute in IE, so it behaves properly when moved around\r
- It also allows to change the name or other special attributes in an existing node\r
-       oEditor : instance of FCKeditor where the element will be created\r
-       oOriginal : current element being edited or null if it has to be created\r
-       nodeName : string with the name of the element to create\r
-       oAttributes : Hash object with the attributes that must be set at creation time in IE\r
-                                                               Those attributes will be set also after the element has been\r
-                                                               created for any other browser to avoid redudant code\r
-*/\r
-function CreateNamedElement( oEditor, oOriginal, nodeName, oAttributes )\r
-{\r
-       var oNewNode ;\r
-\r
-       // IE doesn't allow easily to change properties of an existing object,\r
-       // so remove the old and force the creation of a new one.\r
-       var oldNode = null ;\r
-       if ( oOriginal && oEditor.FCKBrowserInfo.IsIE )\r
+       // The "PreserveSessionOnFileBrowser" because the above code could be\r
+       // blocked by popup blockers.\r
+       if ( oEditor.FCKConfig.PreserveSessionOnFileBrowser && oEditor.FCKBrowserInfo.IsIE )\r
        {\r
-               // Force the creation only if some of the special attributes have changed:\r
-               var bChanged = false;\r
-               for( var attName in oAttributes )\r
-                       bChanged |= ( oOriginal.getAttribute( attName, 2) != oAttributes[attName] ) ;\r
-\r
-               if ( bChanged )\r
-               {\r
-                       oldNode = oOriginal ;\r
-                       oOriginal = null ;\r
-               }\r
-       }\r
+               // The following change has been made otherwise IE will open the file\r
+               // browser on a different server session (on some cases):\r
+               // http://support.microsoft.com/default.aspx?scid=kb;en-us;831678\r
+               // by Simone Chiaretta.\r
+               var oWindow = oEditor.window.open( url, 'FCKBrowseWindow', sOptions ) ;\r
 \r
-       // If the node existed (and it's not IE), then we just have to update its attributes\r
-       if ( oOriginal )\r
-       {\r
-               oNewNode = oOriginal ;\r
-       }\r
-       else\r
-       {\r
-               // #676, IE doesn't play nice with the name or type attribute\r
-               if ( oEditor.FCKBrowserInfo.IsIE )\r
+               if ( oWindow )\r
                {\r
-                       var sbHTML = [] ;\r
-                       sbHTML.push( '<' + nodeName ) ;\r
-                       for( var prop in oAttributes )\r
+                       // Detect Yahoo popup blocker.\r
+                       try\r
                        {\r
-                               sbHTML.push( ' ' + prop + '="' + oAttributes[prop] + '"' ) ;\r
+                               var sTest = oWindow.name ; // Yahoo returns "something", but we can't access it, so detect that and avoid strange errors for the user.\r
+                               oWindow.opener = window ;\r
                        }\r
-                       sbHTML.push( '>' ) ;\r
-                       if ( !oEditor.FCKListsLib.EmptyElements[nodeName.toLowerCase()] )\r
-                               sbHTML.push( '</' + nodeName + '>' ) ;\r
-\r
-                       oNewNode = oEditor.FCK.EditorDocument.createElement( sbHTML.join('') ) ;\r
-                       // Check if we are just changing the properties of an existing node: copy its properties\r
-                       if ( oldNode )\r
+                       catch(e)\r
                        {\r
-                               CopyAttributes( oldNode, oNewNode, oAttributes ) ;\r
-                               oEditor.FCKDomTools.MoveChildren( oldNode, oNewNode ) ;\r
-                               oldNode.parentNode.removeChild( oldNode ) ;\r
-                               oldNode = null ;\r
-\r
-                               if ( oEditor.FCK.Selection.SelectionData )\r
-                               {\r
-                                       // Trick to refresh the selection object and avoid error in\r
-                                       // fckdialog.html Selection.EnsureSelection\r
-                                       var oSel = oEditor.FCK.EditorDocument.selection ;\r
-                                       oEditor.FCK.Selection.SelectionData = oSel.createRange() ; // Now oSel.type will be 'None' reflecting the real situation\r
-                               }\r
-                       }\r
-                       oNewNode = oEditor.FCK.InsertElement( oNewNode ) ;\r
-\r
-                       // FCK.Selection.SelectionData is broken by now since we've\r
-                       // deleted the previously selected element. So we need to reassign it.\r
-                       if ( oEditor.FCK.Selection.SelectionData )\r
-                       {\r
-                               var range = oEditor.FCK.EditorDocument.body.createControlRange() ;\r
-                               range.add( oNewNode ) ;\r
-                               oEditor.FCK.Selection.SelectionData = range ;\r
+                               alert( oEditor.FCKLang.BrowseServerBlocked ) ;\r
                        }\r
                }\r
                else\r
-               {\r
-                       oNewNode = oEditor.FCK.InsertElement( nodeName ) ;\r
-               }\r
-       }\r
-\r
-       // Set the basic attributes\r
-       for( var attName in oAttributes )\r
-               oNewNode.setAttribute( attName, oAttributes[attName], 0 ) ;     // 0 : Case Insensitive\r
-\r
-       return oNewNode ;\r
-}\r
-\r
-// Copy all the attributes from one node to the other, kinda like a clone\r
-// But oSkipAttributes is an object with the attributes that must NOT be copied\r
-function CopyAttributes( oSource, oDest, oSkipAttributes )\r
-{\r
-       var aAttributes = oSource.attributes ;\r
-\r
-       for ( var n = 0 ; n < aAttributes.length ; n++ )\r
-       {\r
-               var oAttribute = aAttributes[n] ;\r
-\r
-               if ( oAttribute.specified )\r
-               {\r
-                       var sAttName = oAttribute.nodeName ;\r
-                       // We can set the type only once, so do it with the proper value, not copying it.\r
-                       if ( sAttName in oSkipAttributes )\r
-                               continue ;\r
-\r
-                       var sAttValue = oSource.getAttribute( sAttName, 2 ) ;\r
-                       if ( sAttValue == null )\r
-                               sAttValue = oAttribute.nodeValue ;\r
-\r
-                       oDest.setAttribute( sAttName, sAttValue, 0 ) ;  // 0 : Case Insensitive\r
-               }\r
-       }\r
-       // The style:\r
-       if ( oSource.style.cssText !== '' )\r
-               oDest.style.cssText = oSource.style.cssText ;\r
-}\r
-\r
-/**\r
-* Replaces a tag with another one, keeping its contents:\r
-* for example TD --> TH, and TH --> TD.\r
-* input: the original node, and the new tag name\r
-* http://www.w3.org/TR/DOM-Level-3-Core/core.html#Document3-renameNode\r
-*/\r
-function RenameNode( oNode , newTag )\r
-{\r
-       // TODO: if the browser natively supports document.renameNode call it.\r
-       // does any browser currently support it in order to test?\r
-\r
-       // Only rename element nodes.\r
-       if ( oNode.nodeType != 1 )\r
-               return null ;\r
-\r
-       // If it's already correct exit here.\r
-       if ( oNode.nodeName == newTag )\r
-               return oNode ;\r
-\r
-       var oDoc = oNode.ownerDocument ;\r
-       // Create the new node\r
-       var newNode = oDoc.createElement( newTag ) ;\r
-\r
-       // Copy all attributes\r
-       CopyAttributes( oNode, newNode, {} ) ;\r
-\r
-       // Move children to the new node\r
-       FCKDomTools.MoveChildren( oNode, newNode ) ;\r
-\r
-       // Finally replace the node and return the new one\r
-       oNode.parentNode.replaceChild( newNode, oNode ) ;\r
-\r
-       return newNode ;\r
-}\r
+                       alert( oEditor.FCKLang.BrowseServerBlocked ) ;\r
+    }\r
+    else\r
+               window.open( url, 'FCKBrowseWindow', sOptions ) ;\r
+}
\ No newline at end of file
index 7e22d7b..a5825ce 100644 (file)
@@ -1,7 +1,7 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">\r
 <!--\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
@@ -70,7 +70,7 @@ window.onload = function()
        <div id="divAbout">\r
                <table cellpadding="0" cellspacing="0" border="0" width="100%" style="height: 100%">\r
                        <tr>\r
-                               <td colspan="2">\r
+                               <td>\r
                                        <img alt="" src="fck_about/logo_fckeditor.gif" width="236" height="41" align="left" />\r
                                        <table width="80" border="0" cellspacing="0" cellpadding="5" bgcolor="#ffffff" align="right">\r
                                                <tr>\r
@@ -78,37 +78,31 @@ window.onload = function()
                                                                border-left: #000000 1px solid; border-bottom: #000000 1px solid">\r
                                                                <span fcklang="DlgAboutVersion">version</span>\r
                                                                <br />\r
-                                                               <b>2.6.6</b><br />\r
-                                                               Build 25427</td>\r
+                                                               <b>2.4.3</b><br />\r
+                                                               Build 15657</td>\r
                                                </tr>\r
                                        </table>\r
                                </td>\r
                        </tr>\r
                        <tr style="height: 100%">\r
-                               <td align="center" valign="middle">\r
+                               <td align="center">\r
+                                       &nbsp;<br />\r
                                        <span style="font-size: 14px" dir="ltr">\r
+                                               <br />\r
                                                <b><a href="http://www.fckeditor.net/?about" target="_blank" title="Visit the FCKeditor web site">\r
                                                        Support <b>Open Source</b> Software</a></b> </span>\r
-                                       <div style="padding-top:15px">\r
-                                               <img alt="" src="fck_about/logo_fredck.gif" width="87" height="36" />\r
-                                       </div>\r
-                               </td>\r
-                               <td align="center" nowrap="nowrap" valign="middle">\r
-                                       <div>\r
-                                               <div style="margin-bottom:5px" dir="ltr">Selected Sponsor</div>\r
-                                               <a href="http://www.spellchecker.net/fckeditor/" target="_blank"><img alt="Selected Sponsor" border="0" src="fck_about/sponsors/spellchecker_net.gif" width="75" height="75" /></a>\r
-                                       </div>\r
-                               </td>\r
-                       </tr>\r
-                       <tr>\r
-                               <td width="100%" nowrap="nowrap">\r
+                                       <br />\r
+                                       <br />\r
+                                       <br />\r
                                        <span fcklang="DlgAboutInfo">For further information go to</span> <a href="http://www.fckeditor.net/?About"\r
                                                target="_blank">http://www.fckeditor.net/</a>.\r
                                        <br />\r
-                                       Copyright &copy; 2003-2010 <a href="#" onclick="SendEMail();">Frederico Caldeira Knabben</a>\r
+                                       Copyright &copy; 2003-2007 <a href="#" onclick="SendEMail();">Frederico Caldeira Knabben</a>\r
                                </td>\r
+                       </tr>\r
+                       <tr>\r
                                <td align="center">\r
-                                       <a href="http://www.fckeditor.net/sponsors/apply" target="_blank">Become a Sponsor</a>\r
+                                       <img alt="" src="fck_about/logo_fredck.gif" width="87" height="36" />\r
                                </td>\r
                        </tr>\r
                </table>\r
@@ -146,11 +140,11 @@ document.write( '<b>Platform<\/b><br />' + window.navigator.platform + '<br /><b
 var sUserLang = '?' ;\r
 \r
 if ( window.navigator.language )\r
-       sUserLang = window.navigator.language ;\r
+       sUserLang = window.navigator.language.toLowerCase() ;\r
 else if ( window.navigator.userLanguage )\r
-       sUserLang = window.navigator.userLanguage ;\r
+       sUserLang = window.navigator.userLanguage.toLowerCase() ;\r
 \r
-document.write( '<b>Language<\/b><br />' + sUserLang ) ;\r
+document.write( '<b>User Language<\/b><br />' + sUserLang ) ;\r
 //-->\r
                                        </script>\r
                                </td>\r
diff --git a/httemplate/elements/fckeditor/editor/dialog/fck_about/sponsors/spellchecker_net.gif b/httemplate/elements/fckeditor/editor/dialog/fck_about/sponsors/spellchecker_net.gif
deleted file mode 100644 (file)
index f8586f9..0000000
Binary files a/httemplate/elements/fckeditor/editor/dialog/fck_about/sponsors/spellchecker_net.gif and /dev/null differ
index 0f08faa..a9f2f50 100644 (file)
@@ -1,7 +1,7 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >\r
 <!--\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
                <script src="common/fck_dialog_common.js" type="text/javascript"></script>\r
                <script type="text/javascript">\r
 \r
-var dialog                     = window.parent ;\r
-var oEditor                    = dialog.InnerDialogLoaded() ;\r
+var oEditor    = window.parent.InnerDialogLoaded() ;\r
+var FCK                = oEditor.FCK ;\r
+var FCKBrowserInfo = oEditor.FCKBrowserInfo ;\r
+var FCKTools = oEditor.FCKTools ;\r
+var FCKRegexLib = oEditor.FCKRegexLib ;\r
 \r
-var FCK                                = oEditor.FCK ;\r
-var FCKBrowserInfo     = oEditor.FCKBrowserInfo ;\r
-var FCKTools           = oEditor.FCKTools ;\r
-var FCKRegexLib                = oEditor.FCKRegexLib ;\r
-\r
-var oDOM                       = FCK.EditorDocument ;\r
-\r
-var oFakeImage = dialog.Selection.GetSelectedElement() ;\r
+// Gets the document DOM\r
+var oDOM = oEditor.FCK.EditorDocument ;\r
 \r
+var oFakeImage = FCK.Selection.GetSelectedElement() ;\r
 var oAnchor ;\r
 \r
 if ( oFakeImage )\r
@@ -70,9 +68,6 @@ window.onload = function()
                oAnchor = null ;\r
 \r
        window.parent.SetOkButton( true ) ;\r
-       window.parent.SetAutoSize( true ) ;\r
-\r
-       SelectField( 'txtName' ) ;\r
 }\r
 \r
 function Ok()\r
@@ -88,8 +83,7 @@ function Ok()
                // Remove the anchor if the user leaves the name blank\r
                if ( oAnchor )\r
                {\r
-                       // Removes the current anchor from the document using the new command\r
-                       FCK.Commands.GetCommand( 'AnchorDelete' ).Execute() ;\r
+                       RemoveAnchor() ;\r
                        return true ;\r
                }\r
 \r
@@ -119,7 +113,10 @@ function Ok()
        var aNewAnchors = oEditor.FCK.CreateLink( '#' ) ;\r
 \r
        if ( aNewAnchors.length == 0 )\r
-                       aNewAnchors.push( oEditor.FCK.InsertElement( 'a' ) ) ;\r
+       {\r
+               // Nothing was selected, so now just create a normal A\r
+               aNewAnchors.push( oEditor.FCK.CreateElement( 'a' ) ) ;\r
+       }\r
        else\r
        {\r
                // Remove the fake href\r
@@ -133,18 +130,7 @@ function Ok()
                oAnchor = aNewAnchors[i] ;\r
 \r
                // Set the name\r
-               if ( FCKBrowserInfo.IsIE )\r
-               {\r
-                       // Setting anchor names directly in IE will trash the HTML code stored\r
-                       // in FCKTempBin after undos. See #2263.\r
-                       var replaceAnchor = oEditor.FCK.EditorDocument.createElement( '<a name="' +\r
-                                       FCKTools.HTMLEncode( sNewName ).replace( '"', '&quot;' ) + '">' ) ;\r
-                       oEditor.FCKDomTools.MoveChildren( oAnchor, replaceAnchor ) ;\r
-                       oAnchor.parentNode.replaceChild( replaceAnchor, oAnchor ) ;\r
-                       oAnchor = replaceAnchor ;\r
-               }\r
-               else\r
-                       oAnchor.name = sNewName ;\r
+               oAnchor.name = sNewName ;\r
 \r
                // IE does require special processing to show the Anchor's image\r
                // Opera doesn't allow to select empty anchors\r
@@ -171,6 +157,36 @@ function Ok()
        return true ;\r
 }\r
 \r
+// Removes the current anchor from the document\r
+function RemoveAnchor()\r
+{\r
+       // If it's also a link, then just remove the name and exit\r
+       if ( oAnchor.href.length != 0 )\r
+       {\r
+               oAnchor.removeAttribute( 'name' ) ;\r
+               // Remove temporary class for IE\r
+               if ( FCKBrowserInfo.IsIE )\r
+                       oAnchor.className = oAnchor.className.replace( FCKRegexLib.FCK_Class, '' ) ;\r
+               return ;\r
+       }\r
+\r
+       // We need to remove the anchor\r
+       // If we got a fake image, then just remove it and we're done\r
+       if ( oFakeImage )\r
+       {\r
+               oFakeImage.parentNode.removeChild( oFakeImage ) ;\r
+               return ;\r
+       }\r
+       // Empty anchor, so just remove it\r
+       if ( oAnchor.innerHTML.length == 0 )\r
+       {\r
+               oAnchor.parentNode.removeChild( oAnchor ) ;\r
+               return ;\r
+       }\r
+       // Anchor with content, leave the content\r
+       FCKTools.RemoveOuterTags( oAnchor ) ;\r
+}\r
+\r
 // Checks all the links in the current page pointing to the current name and changes them to the new name\r
 function ReadjustLinksToAnchor( sCurrent, sNew )\r
 {\r
@@ -201,7 +217,7 @@ function ReadjustLinksToAnchor( sCurrent, sNew )
 \r
                </script>\r
        </head>\r
-       <body style="overflow: hidden">\r
+       <body style="OVERFLOW: hidden" scroll="no">\r
                <table height="100%" width="100%">\r
                        <tr>\r
                                <td align="center">\r
index 9351013..6e5c2bb 100644 (file)
@@ -1,7 +1,7 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >\r
 <!--\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
        <script src="common/fck_dialog_common.js" type="text/javascript"></script>\r
        <script type="text/javascript">\r
 \r
-var dialog     = window.parent ;\r
-var oEditor    = dialog.InnerDialogLoaded() ;\r
+var oEditor = window.parent.InnerDialogLoaded() ;\r
 \r
 // Gets the document DOM\r
 var oDOM = oEditor.FCK.EditorDocument ;\r
 \r
-var oActiveEl = dialog.Selection.GetSelectedElement() ;\r
+var oActiveEl = oEditor.FCKSelection.GetSelectedElement() ;\r
 \r
 window.onload = function()\r
 {\r
@@ -47,21 +46,25 @@ window.onload = function()
                GetE('txtName').value   = oActiveEl.name ;\r
                GetE('txtValue').value  = oActiveEl.value ;\r
                GetE('txtType').value   = oActiveEl.type ;\r
+\r
+               GetE('txtType').disabled = true ;\r
        }\r
        else\r
                oActiveEl = null ;\r
 \r
-       dialog.SetOkButton( true ) ;\r
-       dialog.SetAutoSize( true ) ;\r
-       SelectField( 'txtName' ) ;\r
+       window.parent.SetOkButton( true ) ;\r
 }\r
 \r
 function Ok()\r
 {\r
-       oEditor.FCKUndo.SaveUndoStep() ;\r
-\r
-       oActiveEl = CreateNamedElement( oEditor, oActiveEl, 'INPUT', {name: GetE('txtName').value, type: GetE('txtType').value } ) ;\r
+       if ( !oActiveEl )\r
+       {\r
+               oActiveEl = oEditor.FCK.EditorDocument.createElement( 'INPUT' ) ;\r
+               oActiveEl.type = GetE('txtType').value ;\r
+               oActiveEl = oEditor.FCK.InsertElementAndGetIt( oActiveEl ) ;\r
+       }\r
 \r
+       oActiveEl.name = GetE('txtName').value ;\r
        SetAttribute( oActiveEl, 'value', GetE('txtValue').value ) ;\r
 \r
        return true ;\r
index 624c7df..ac7b4f3 100644 (file)
@@ -1,7 +1,7 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >\r
 <!--\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
                <script src="common/fck_dialog_common.js" type="text/javascript"></script>\r
                <script type="text/javascript">\r
 \r
-var dialog     = window.parent ;\r
-var oEditor    = dialog.InnerDialogLoaded() ;\r
+var oEditor = window.parent.InnerDialogLoaded() ;\r
 \r
 // Gets the document DOM\r
 var oDOM = oEditor.FCK.EditorDocument ;\r
 \r
-var oActiveEl = dialog.Selection.GetSelectedElement() ;\r
+var oActiveEl = oEditor.FCKSelection.GetSelectedElement() ;\r
 \r
 window.onload = function()\r
 {\r
@@ -51,16 +50,20 @@ window.onload = function()
        else\r
                oActiveEl = null ;\r
 \r
-       dialog.SetOkButton( true ) ;\r
-       dialog.SetAutoSize( true ) ;\r
-       SelectField( 'txtName' ) ;\r
+       window.parent.SetOkButton( true ) ;\r
 }\r
 \r
 function Ok()\r
 {\r
-       oEditor.FCKUndo.SaveUndoStep() ;\r
+       if ( !oActiveEl )\r
+       {\r
+               oActiveEl = oEditor.FCK.EditorDocument.createElement( 'INPUT' ) ;\r
+               oActiveEl.type = 'checkbox' ;\r
+               oActiveEl = oEditor.FCK.InsertElementAndGetIt( oActiveEl ) ;\r
+       }\r
 \r
-       oActiveEl = CreateNamedElement( oEditor, oActiveEl, 'INPUT', {name: GetE('txtName').value, type: 'checkbox' } ) ;\r
+       if ( GetE('txtName').value.length > 0 )\r
+               oActiveEl.name = GetE('txtName').value ;\r
 \r
        if ( oEditor.FCKBrowserInfo.IsIE )\r
                oActiveEl.value = GetE('txtValue').value ;\r
index 0f2aaac..1778f51 100644 (file)
@@ -1,7 +1,7 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >\r
 <!--\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
@@ -34,7 +34,6 @@
                        #btnClear               { width: 75px ; height: 22px ; margin-bottom: 6px ; }\r
                        .ColorCell              { height: 15px ; width: 15px ; }\r
                </style>\r
-               <script src="common/fck_dialog_common.js" type="text/javascript"></script>\r
                <script type="text/javascript">\r
 \r
 var oEditor = window.parent.InnerDialogLoaded() ;\r
@@ -136,8 +135,8 @@ function UpdateColor()
 \r
 function Ok()\r
 {\r
-       if ( typeof(window.parent.Args().CustomValue) == 'function' )\r
-               window.parent.Args().CustomValue( document.getElementById('selcolor').value ) ;\r
+       if ( typeof(window.parent.dialogArguments.CustomValue) == 'function' )\r
+               window.parent.dialogArguments.CustomValue( document.getElementById('selcolor').value ) ;\r
 \r
        return true ;\r
 }\r
diff --git a/httemplate/elements/fckeditor/editor/dialog/fck_div.html b/httemplate/elements/fckeditor/editor/dialog/fck_div.html
deleted file mode 100644 (file)
index 524c66a..0000000
+++ /dev/null
@@ -1,396 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >\r
-<!--\r
- * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
- *\r
- * == BEGIN LICENSE ==\r
- *\r
- * Licensed under the terms of any of the following licenses at your\r
- * choice:\r
- *\r
- *  - GNU General Public License Version 2 or later (the "GPL")\r
- *    http://www.gnu.org/licenses/gpl.html\r
- *\r
- *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")\r
- *    http://www.gnu.org/licenses/lgpl.html\r
- *\r
- *  - Mozilla Public License Version 1.1 or later (the "MPL")\r
- *    http://www.mozilla.org/MPL/MPL-1.1.html\r
- *\r
- * == END LICENSE ==\r
- *\r
- * Form dialog window.\r
--->\r
-<html xmlns="http://www.w3.org/1999/xhtml">\r
-<head>\r
-       <title></title>\r
-       <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />\r
-       <meta content="noindex, nofollow" name="robots" />\r
-       <script src="common/fck_dialog_common.js" type="text/javascript"></script>\r
-       <script type="text/javascript">\r
-var dialog     = window.parent ;\r
-var oEditor = dialog.InnerDialogLoaded() ;\r
-var FCK = oEditor.FCK ;\r
-var FCKLang = oEditor.FCKLang ;\r
-var FCKBrowserInfo = oEditor.FCKBrowserInfo ;\r
-var FCKStyles = oEditor.FCKStyles ;\r
-var FCKElementPath = oEditor.FCKElementPath ;\r
-var FCKDomRange = oEditor.FCKDomRange ;\r
-var FCKDomTools = oEditor.FCKDomTools ;\r
-var FCKDomRangeIterator = oEditor.FCKDomRangeIterator ;\r
-var FCKListsLib = oEditor.FCKListsLib ;\r
-var AlwaysCreate = dialog.Args().CustomValue ;\r
-\r
-String.prototype.IEquals = function()\r
-{\r
-       var thisUpper = this.toUpperCase() ;\r
-\r
-       var aArgs = arguments ;\r
-\r
-       // The arguments could also be a single array.\r
-       if ( aArgs.length == 1 && aArgs[0].pop )\r
-               aArgs = aArgs[0] ;\r
-\r
-       for ( var i = 0 ; i < aArgs.length ; i++ )\r
-       {\r
-               if ( thisUpper == aArgs[i].toUpperCase() )\r
-                       return true ;\r
-       }\r
-       return false ;\r
-}\r
-\r
-var CurrentContainers = [] ;\r
-if ( !AlwaysCreate )\r
-{\r
-       dialog.Selection.EnsureSelection() ;\r
-       CurrentContainers = FCKDomTools.GetSelectedDivContainers() ;\r
-}\r
-\r
-// Add some tabs\r
-dialog.AddTab( 'General', FCKLang.DlgDivGeneralTab );\r
-dialog.AddTab( 'Advanced', FCKLang.DlgDivAdvancedTab ) ;\r
-\r
-function AddStyleOption( styleName )\r
-{\r
-       var el = GetE( 'selStyle' ) ;\r
-       var opt = document.createElement( 'option' ) ;\r
-       opt.text = opt.value = styleName ;\r
-\r
-       if ( FCKBrowserInfo.IsIE )\r
-               el.add( opt ) ;\r
-       else\r
-               el.add( opt, null ) ;\r
-}\r
-\r
-function OnDialogTabChange( tabCode )\r
-{\r
-       ShowE( 'divGeneral', tabCode == 'General' ) ;\r
-       ShowE( 'divAdvanced', tabCode == 'Advanced' ) ;\r
-       dialog.SetAutoSize( true ) ;\r
-}\r
-\r
-function GetNearestAncestorDirection( node )\r
-{\r
-       var dir = 'ltr' ;       // HTML default.\r
-       while ( ( node = node.parentNode ) )\r
-       {\r
-               if ( node.dir )\r
-                       dir = node.dir ;\r
-       }\r
-       return dir ;\r
-}\r
-\r
-window.onload = function()\r
-{\r
-       // First of all, translate the dialog box texts\r
-       oEditor.FCKLanguageManager.TranslatePage(document) ;\r
-\r
-       dialog.SetOkButton( true ) ;\r
-       dialog.SetAutoSize( true ) ;\r
-\r
-       // Popuplate the style menu\r
-       var styles = FCKStyles.GetStyles() ;\r
-       var selectableStyles = {} ;\r
-       for ( var i in styles )\r
-       {\r
-               if ( ! /^_FCK_/.test( i ) && styles[i].Element == 'div' )\r
-                       selectableStyles[i] = styles[i] ;\r
-       }\r
-       if ( CurrentContainers.length <= 1 )\r
-       {\r
-               var target = CurrentContainers[0] ;\r
-               var match = null ;\r
-               for ( var i in selectableStyles )\r
-               {\r
-                       if ( target && styles[i].CheckElementRemovable( target, true ) )\r
-                               match = i ;\r
-               }\r
-               if ( !match )\r
-                       AddStyleOption( "" ) ;\r
-               for ( var i in selectableStyles )\r
-                       AddStyleOption( i ) ;\r
-               if ( match )\r
-                       GetE( 'selStyle' ).value = match ;\r
-\r
-               // Set the value for other inputs\r
-               if ( target )\r
-               {\r
-                       GetE( 'txtClass' ).value = target.className ;\r
-                       GetE( 'txtId' ).value = target.id ;\r
-                       GetE( 'txtLang' ).value = target.lang ;\r
-                       GetE( 'txtInlineStyle').value = target.style.cssText ;\r
-                       GetE( 'txtTitle' ).value = target.title ;\r
-                       GetE( 'selLangDir').value = target.dir || GetNearestAncestorDirection( target ) ;\r
-               }\r
-       }\r
-       else\r
-       {\r
-               GetE( 'txtId' ).disabled = true ;\r
-               AddStyleOption( "" ) ;\r
-               for ( var i in selectableStyles )\r
-                       AddStyleOption( i ) ;\r
-       }\r
-}\r
-\r
-function CreateDiv()\r
-{\r
-       var newBlocks = [] ;\r
-       var range = new FCKDomRange( FCK.EditorWindow ) ;\r
-       range.MoveToSelection() ;\r
-\r
-       var bookmark = range.CreateBookmark() ;\r
-\r
-       // Kludge for #1592: if the bookmark nodes are in the beginning of\r
-       // $tagName, then move them to the nearest block element in the\r
-       // $tagName.\r
-       if ( FCKBrowserInfo.IsIE )\r
-       {\r
-               var bStart      = range.GetBookmarkNode( bookmark, true ) ;\r
-               var bEnd        = range.GetBookmarkNode( bookmark, false ) ;\r
-\r
-               var cursor ;\r
-\r
-               if ( bStart\r
-                               && bStart.parentNode.nodeName.IEquals( 'div' )\r
-                               && !bStart.previousSibling )\r
-               {\r
-                       cursor = bStart ;\r
-                       while ( ( cursor = cursor.nextSibling ) )\r
-                       {\r
-                               if ( FCKListsLib.BlockElements[ cursor.nodeName.toLowerCase() ] )\r
-                                       FCKDomTools.MoveNode( bStart, cursor, true ) ;\r
-                       }\r
-               }\r
-\r
-               if ( bEnd\r
-                               && bEnd.parentNode.nodeName.IEquals( 'div' )\r
-                               && !bEnd.previousSibling )\r
-               {\r
-                       cursor = bEnd ;\r
-                       while ( ( cursor = cursor.nextSibling ) )\r
-                       {\r
-                               if ( FCKListsLib.BlockElements[ cursor.nodeName.toLowerCase() ] )\r
-                               {\r
-                                       if ( cursor.firstChild == bStart )\r
-                                               FCKDomTools.InsertAfterNode( bStart, bEnd ) ;\r
-                                       else\r
-                                               FCKDomTools.MoveNode( bEnd, cursor, true ) ;\r
-                               }\r
-                       }\r
-               }\r
-       }\r
-\r
-       var iterator = new FCKDomRangeIterator( range ) ;\r
-       var block ;\r
-\r
-       var paragraphs = [] ;\r
-       while ( ( block = iterator.GetNextParagraph() ) )\r
-               paragraphs.push( block ) ;\r
-\r
-       // Make sure all paragraphs have the same parent.\r
-       var commonParent = paragraphs[0].parentNode ;\r
-       var tmp = [] ;\r
-       for ( var i = 0 ; i < paragraphs.length ; i++ )\r
-       {\r
-               block = paragraphs[i] ;\r
-               commonParent = FCKDomTools.GetCommonParents( block.parentNode, commonParent ).pop() ;\r
-       }\r
-\r
-       // The common parent must not be the following tags: table, tbody, tr, ol, ul.\r
-       while ( commonParent.nodeName.IEquals( 'table', 'tbody', 'tr', 'ol', 'ul' ) )\r
-               commonParent = commonParent.parentNode ;\r
-\r
-       // Reconstruct the block list to be processed such that all resulting blocks\r
-       // satisfy parentNode == commonParent.\r
-       var lastBlock = null ;\r
-       while ( paragraphs.length > 0 )\r
-       {\r
-               block = paragraphs.shift() ;\r
-               while ( block.parentNode != commonParent )\r
-                       block = block.parentNode ;\r
-               if ( block != lastBlock )\r
-                       tmp.push( block ) ;\r
-               lastBlock = block ;\r
-       }\r
-       paragraphs = tmp ;\r
-\r
-       // Split the paragraphs into groups depending on their BlockLimit element.\r
-       var groups = [] ;\r
-       var lastBlockLimit = null ;\r
-       for ( var i = 0 ; i < paragraphs.length ; i++ )\r
-       {\r
-               block = paragraphs[i] ;\r
-               var elementPath = new FCKElementPath( block ) ;\r
-               if ( elementPath.BlockLimit != lastBlockLimit )\r
-               {\r
-                       groups.push( [] ) ;\r
-                       lastBlockLimit = elementPath.BlockLimit ;\r
-               }\r
-               groups[groups.length - 1].push( block ) ;\r
-       }\r
-\r
-       // Create a DIV container for each group.\r
-       for ( var i = 0 ; i < groups.length ; i++ )\r
-       {\r
-               var divNode = FCK.EditorDocument.createElement( 'div' ) ;\r
-               groups[i][0].parentNode.insertBefore( divNode, groups[i][0] ) ;\r
-               for ( var j = 0 ; j < groups[i].length ; j++ )\r
-                       FCKDomTools.MoveNode( groups[i][j], divNode ) ;\r
-               newBlocks.push( divNode ) ;\r
-       }\r
-\r
-       range.MoveToBookmark( bookmark ) ;\r
-       range.Select() ;\r
-\r
-       FCK.Focus() ;\r
-       FCK.Events.FireEvent( 'OnSelectionChange' ) ;\r
-\r
-       return newBlocks ;\r
-}\r
-\r
-function Ok()\r
-{\r
-       oEditor.FCKUndo.SaveUndoStep() ;\r
-\r
-       if ( CurrentContainers.length < 1 )\r
-               CurrentContainers = CreateDiv();\r
-\r
-       var setValue = function( attrName, inputName )\r
-       {\r
-               var val = GetE( inputName ).value ;\r
-               for ( var i = 0 ; i < CurrentContainers.length ; i++ )\r
-               {\r
-                       if ( val == '' )\r
-                               CurrentContainers[i].removeAttribute( attrName ) ;\r
-                       else\r
-                               CurrentContainers[i].setAttribute( attrName, val ) ;\r
-               }\r
-       }\r
-\r
-       // Apply modifications to the DIV container according to dialog inputs.\r
-       if ( CurrentContainers.length == 1 )\r
-       {\r
-               setValue( 'class', 'txtClass' ) ;\r
-               setValue( 'id', 'txtId' ) ;\r
-       }\r
-       setValue( 'lang', 'txtLang' ) ;\r
-       if ( FCKBrowserInfo.IsIE )\r
-       {\r
-               for ( var i = 0 ; i < CurrentContainers.length ; i++ )\r
-                       CurrentContainers[i].style.cssText = GetE( 'txtInlineStyle' ).value ;\r
-       }\r
-       else\r
-               setValue( 'style', 'txtInlineStyle' ) ;\r
-       setValue( 'title', 'txtTitle' ) ;\r
-       for ( var i = 0 ; i < CurrentContainers.length ; i++ )\r
-       {\r
-               var dir = GetE( 'selLangDir' ).value ;\r
-               var styleName = GetE( 'selStyle' ).value ;\r
-               if ( GetNearestAncestorDirection( CurrentContainers[i] ) != dir )\r
-                       CurrentContainers[i].dir = dir ;\r
-               else\r
-                       CurrentContainers[i].removeAttribute( 'dir' ) ;\r
-\r
-               if ( styleName )\r
-                       FCKStyles.GetStyle( styleName ).ApplyToObject( CurrentContainers[i] ) ;\r
-       }\r
-\r
-       return true ;\r
-}\r
-\r
-       </script>\r
-</head>\r
-<body style="overflow: hidden">\r
-       <div id="divGeneral">\r
-               <table cellspacing="0" cellpadding="0" width="100%" border="0">\r
-                       <colgroup span="2">\r
-                               <col width="49%" />\r
-                               <col width="2%" />\r
-                               <col width="49%" />\r
-                       </colgroup>\r
-                       <tr>\r
-                               <td>\r
-                                       <span fcklang="DlgDivStyle">Style</span><br />\r
-                                       <select id="selStyle" style="width: 100%;">\r
-                                       </select>\r
-                               </td>\r
-                               <td>&nbsp;</td>\r
-                               <td>\r
-                                       <span fcklang="DlgGenClass">Stylesheet Classes</span><br />\r
-                                       <input id="txtClass" style="width: 100%" type="text" />\r
-                               </td>\r
-                       </tr>\r
-               </table>\r
-       </div>\r
-       <div id="divAdvanced" style="display: none">\r
-               <table cellspacing="0" cellpadding="0" width="100%" border="0">\r
-                       <colgroup span="2">\r
-                               <col width="49%" />\r
-                               <col width="2%" />\r
-                               <col width="49%" />\r
-                       </colgroup>\r
-                       <tr>\r
-                               <td>\r
-                                       <span fcklang="DlgGenId">Id</span><br />\r
-                                       <input style="width: 100%" type="text" id="txtId" />\r
-                               </td>\r
-                               <td>&nbsp;</td>\r
-                               <td>\r
-                                       <span fcklang="DlgGenLangCode">Language Code</span><br />\r
-                                       <input style="width: 100%" type="text" id="txtLang" />\r
-                               </td>\r
-                       </tr>\r
-                       <tr>\r
-                               <td colspan="3">&nbsp;</td>\r
-                       </tr>\r
-                       <tr>\r
-                               <td colspan="3">\r
-                                       <span fcklang="DlgDivInlineStyle">Inline Style</span><br />\r
-                                       <input style="width: 100%" type="text" id="txtInlineStyle" />\r
-                               </td>\r
-                       </tr>\r
-                       <tr>\r
-                               <td colspan="3">&nbsp;</td>\r
-                       </tr>\r
-                       <tr>\r
-                               <td colspan="3">\r
-                                       <span fcklang="DlgGenTitle">Advisory Title</span><br />\r
-                                       <input style="width: 100%" type="text" id="txtTitle" />\r
-                               </td>\r
-                       </tr>\r
-                       <tr>\r
-                               <td>&nbsp;</td>\r
-                       </tr>\r
-                       <tr>\r
-                               <td>\r
-                                       <span fcklang="DlgGenLangDir">Language Direction</span><br />\r
-                                       <select id="selLangDir">\r
-                                               <option fcklang="DlgGenLangDirLtr" value="ltr">Left to Right (LTR)\r
-                                               <option fcklang="DlgGenLangDirRtl" value="rtl">Right to Left (RTL)\r
-                                       </select>\r
-                               </td>\r
-                       </tr>\r
-               </table>\r
-       </div>\r
-</body>\r
-</html>\r
index 935580d..3083466 100644 (file)
@@ -1,7 +1,7 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">\r
 <!--\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
  *\r
  * Link dialog window.\r
 -->\r
-<html>\r
+<html xmlns="http://www.w3.org/1999/xhtml">\r
 <head>\r
        <title></title>\r
-       <meta http-equiv="Content-Type" content="text/html; charset=utf-8" >\r
-       <meta content="noindex, nofollow" name="robots" >\r
+       <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />\r
+       <meta content="noindex, nofollow" name="robots" />\r
        <script src="common/fck_dialog_common.js" type="text/javascript"></script>\r
        <script type="text/javascript">\r
 \r
@@ -282,7 +282,7 @@ function Ok()
                if ( sCharSet.length == 0 )\r
                        sCharSet = 'utf-8' ;\r
 \r
-               FCK.XmlDeclaration = '<' + '?xml version="1.0" encoding="' + sCharSet + '"?>' ;\r
+               FCK.XmlDeclaration = '<?xml version="1.0" encoding="' + sCharSet + '"?>' ;\r
 \r
                SetAttribute( oHTML, 'xmlns', 'http://www.w3.org/1999/xhtml' ) ;\r
        }\r
@@ -374,11 +374,11 @@ function SelectColor( wich )
 {\r
        switch ( wich )\r
        {\r
-               case 'Back'                     : oEditor.FCKDialog.OpenDialog( 'FCKDialog_Color', FCKLang.DlgColorTitle, 'dialog/fck_colorselector.html', 410, 320, SelectBackColor ) ; return ;\r
-               case 'ColorText'        : oEditor.FCKDialog.OpenDialog( 'FCKDialog_Color', FCKLang.DlgColorTitle, 'dialog/fck_colorselector.html', 410, 320, SelectColorText ) ; return ;\r
-               case 'ColorLink'        : oEditor.FCKDialog.OpenDialog( 'FCKDialog_Color', FCKLang.DlgColorTitle, 'dialog/fck_colorselector.html', 410, 320, SelectColorLink ) ; return ;\r
-               case 'ColorVisited'     : oEditor.FCKDialog.OpenDialog( 'FCKDialog_Color', FCKLang.DlgColorTitle, 'dialog/fck_colorselector.html', 410, 320, SelectColorVisited ) ; return ;\r
-               case 'ColorActive'      : oEditor.FCKDialog.OpenDialog( 'FCKDialog_Color', FCKLang.DlgColorTitle, 'dialog/fck_colorselector.html', 410, 320, SelectColorActive ) ; return ;\r
+               case 'Back'                     : oEditor.FCKDialog.OpenDialog( 'FCKDialog_Color', FCKLang.DlgColorTitle, 'dialog/fck_colorselector.html', 400, 330, SelectBackColor, window ) ; return ;\r
+               case 'ColorText'        : oEditor.FCKDialog.OpenDialog( 'FCKDialog_Color', FCKLang.DlgColorTitle, 'dialog/fck_colorselector.html', 400, 330, SelectColorText, window ) ; return ;\r
+               case 'ColorLink'        : oEditor.FCKDialog.OpenDialog( 'FCKDialog_Color', FCKLang.DlgColorTitle, 'dialog/fck_colorselector.html', 400, 330, SelectColorLink, window ) ; return ;\r
+               case 'ColorVisited'     : oEditor.FCKDialog.OpenDialog( 'FCKDialog_Color', FCKLang.DlgColorTitle, 'dialog/fck_colorselector.html', 400, 330, SelectColorVisited, window ) ; return ;\r
+               case 'ColorActive'      : oEditor.FCKDialog.OpenDialog( 'FCKDialog_Color', FCKLang.DlgColorTitle, 'dialog/fck_colorselector.html', 400, 330, SelectColorActive, window ) ; return ;\r
        }\r
 }\r
 \r
@@ -456,24 +456,24 @@ function SetUrl( url )
                                                <tr>\r
                                                        <td nowrap="nowrap">\r
                                                                <span fcklang="DlgDocDocType">Document Type Heading</span><br />\r
-                                                               <select id="selDocType" onchange="CheckOther( this, 'txtDocType' );">\r
+                                                               <select id="selDocType" name="selDocType" onchange="CheckOther( this, 'txtDocType' );">\r
                                                                        <option value="" selected="selected"></option>\r
-                                                                       <option value='&lt;!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"&gt;'>HTML\r
+                                                                       <option value='<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">'>HTML\r
                                                                                4.01 Transitional</option>\r
-                                                                       <option value='&lt;!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"&gt;'>\r
+                                                                       <option value='<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">'>\r
                                                                                HTML 4.01 Strict</option>\r
-                                                                       <option value='&lt;!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd"&gt;'>\r
+                                                                       <option value='<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">'>\r
                                                                                HTML 4.01 Frameset</option>\r
-                                                                       <option value='&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&gt;'>\r
+                                                                       <option value='<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">'>\r
                                                                                XHTML 1.0 Transitional</option>\r
-                                                                       <option value='&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"&gt;'>\r
+                                                                       <option value='<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">'>\r
                                                                                XHTML 1.0 Strict</option>\r
-                                                                       <option value='&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd"&gt;'>\r
+                                                                       <option value='<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">'>\r
                                                                                XHTML 1.0 Frameset</option>\r
-                                                                       <option value='&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"&gt;'>\r
+                                                                       <option value='<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">'>\r
                                                                                XHTML 1.1</option>\r
-                                                                       <option value='&lt;!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"&gt;'>HTML 3.2</option>\r
-                                                                       <option value='&lt;!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN"&gt;'>HTML 2.0</option>\r
+                                                                       <option value='<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">'>HTML 3.2</option>\r
+                                                                       <option value='<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">'>HTML 2.0</option>\r
                                                                        <option value="..." fcklang="DlgOpOther">&lt;Other&gt;</option>\r
                                                                </select>\r
                                                        </td>\r
index 1df5732..2092775 100644 (file)
@@ -1,7 +1,7 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">\r
 <!--\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
@@ -26,7 +26,7 @@
                <title>Document Properties - Preview</title>\r
                <meta http-equiv="Content-Type" content="text/html; charset=utf-8">\r
                <meta name="robots" content="noindex, nofollow">\r
-               <script type="text/javascript">\r
+               <script language="javascript">\r
 \r
 var eBase = parent.FCK.EditorDocument.getElementsByTagName( 'BASE' ) ;\r
 if ( eBase.length > 0 && eBase[0].href.length > 0 )\r
index 3428826..be529e3 100644 (file)
@@ -1,7 +1,7 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">\r
 <!--\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
                <meta content="noindex, nofollow" name="robots">\r
                <script src="common/fck_dialog_common.js" type="text/javascript"></script>\r
                <script src="fck_flash/fck_flash.js" type="text/javascript"></script>\r
-               <script type="text/javascript">\r
-\r
-document.write( FCKTools.GetStyleHtml( GetCommonDialogCss() ) ) ;\r
-\r
-               </script>\r
+               <link href="common/fck_dialog_common.css" type="text/css" rel="stylesheet">\r
        </head>\r
        <body scroll="no" style="OVERFLOW: hidden">\r
                <div id="divInfo">\r
@@ -59,12 +55,12 @@ document.write( FCKTools.GetStyleHtml( GetCommonDialogCss() ) ) ;
                                                        <TR>\r
                                                                <TD nowrap>\r
                                                                        <span fckLang="DlgImgWidth">Width</span><br>\r
-                                                                       <input id="txtWidth" onkeypress="return IsDigit(event);" type="text" size="3">\r
+                                                                       <input id="txtWidth" class="FCK__FieldNumeric" type="text" size="3">\r
                                                                </TD>\r
                                                                <TD>&nbsp;</TD>\r
                                                                <TD>\r
                                                                        <span fckLang="DlgImgHeight">Height</span><br>\r
-                                                                       <input id="txtHeight" onkeypress="return IsDigit(event);" type="text" size="3">\r
+                                                                       <input id="txtHeight" class="FCK__FieldNumeric" type="text" size="3">\r
                                                                </TD>\r
                                                        </TR>\r
                                                </table>\r
@@ -96,9 +92,7 @@ document.write( FCKTools.GetStyleHtml( GetCommonDialogCss() ) ) ;
                                <input id="txtUploadFile" style="WIDTH: 100%" type="file" size="40" name="NewFile" /><br />\r
                                <br />\r
                                <input id="btnUpload" type="submit" value="Send it to the Server" fckLang="DlgLnkBtnUpload" />\r
-                               <script type="text/javascript">\r
-                                       document.write( '<iframe name="UploadWindow" style="DISPLAY: none" src="' + FCKTools.GetVoidUrl() + '"><\/iframe>' ) ;\r
-                               </script>\r
+                               <iframe name="UploadWindow" style="DISPLAY: none" src="javascript:void(0)"></iframe>\r
                        </form>\r
                </div>\r
                <div id="divAdvanced" style="DISPLAY: none">\r
index cb28d43..ee97bc5 100644 (file)
@@ -1,6 +1,6 @@
 /*\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
  * Scripts related to the Flash dialog window (see fck_flash.html).\r
  */\r
 \r
-var dialog             = window.parent ;\r
-var oEditor            = dialog.InnerDialogLoaded() ;\r
+var oEditor            = window.parent.InnerDialogLoaded() ;\r
 var FCK                        = oEditor.FCK ;\r
 var FCKLang            = oEditor.FCKLang ;\r
 var FCKConfig  = oEditor.FCKConfig ;\r
-var FCKTools   = oEditor.FCKTools ;\r
 \r
 //#### Dialog Tabs\r
 \r
 // Set the dialog tabs.\r
-dialog.AddTab( 'Info', oEditor.FCKLang.DlgInfoTab ) ;\r
+window.parent.AddTab( 'Info', oEditor.FCKLang.DlgInfoTab ) ;\r
 \r
 if ( FCKConfig.FlashUpload )\r
-       dialog.AddTab( 'Upload', FCKLang.DlgLnkUpload ) ;\r
+       window.parent.AddTab( 'Upload', FCKLang.DlgLnkUpload ) ;\r
 \r
 if ( !FCKConfig.FlashDlgHideAdvanced )\r
-       dialog.AddTab( 'Advanced', oEditor.FCKLang.DlgAdvancedTag ) ;\r
+       window.parent.AddTab( 'Advanced', oEditor.FCKLang.DlgAdvancedTag ) ;\r
 \r
 // Function called when a dialog tag is selected.\r
 function OnDialogTabChange( tabCode )\r
@@ -48,7 +46,7 @@ function OnDialogTabChange( tabCode )
 }\r
 \r
 // Get the selected flash embed (if available).\r
-var oFakeImage = dialog.Selection.GetSelectedElement() ;\r
+var oFakeImage = FCK.Selection.GetSelectedElement() ;\r
 var oEmbed ;\r
 \r
 if ( oFakeImage )\r
@@ -74,12 +72,10 @@ window.onload = function()
        if ( FCKConfig.FlashUpload )\r
                GetE('frmUpload').action = FCKConfig.FlashUploadURL ;\r
 \r
-       dialog.SetAutoSize( true ) ;\r
+       window.parent.SetAutoSize( true ) ;\r
 \r
        // Activate the "OK" button.\r
-       dialog.SetOkButton( true ) ;\r
-\r
-       SelectField( 'txtUrl' ) ;\r
+       window.parent.SetOkButton( true ) ;\r
 }\r
 \r
 function LoadSelection()\r
@@ -118,7 +114,7 @@ function Ok()
 {\r
        if ( GetE('txtUrl').value.length == 0 )\r
        {\r
-               dialog.SetSelectedTab( 'Info' ) ;\r
+               window.parent.SetSelectedTab( 'Info' ) ;\r
                GetE('txtUrl').focus() ;\r
 \r
                alert( oEditor.FCKLang.DlgAlertUrl ) ;\r
@@ -126,7 +122,6 @@ function Ok()
                return false ;\r
        }\r
 \r
-       oEditor.FCKUndo.SaveUndoStep() ;\r
        if ( !oEmbed )\r
        {\r
                oEmbed          = FCK.EditorDocument.createElement( 'EMBED' ) ;\r
@@ -138,10 +133,12 @@ function Ok()
        {\r
                oFakeImage      = oEditor.FCKDocumentProcessor_CreateFakeImage( 'FCK__Flash', oEmbed ) ;\r
                oFakeImage.setAttribute( '_fckflash', 'true', 0 ) ;\r
-               oFakeImage      = FCK.InsertElement( oFakeImage ) ;\r
+               oFakeImage      = FCK.InsertElementAndGetIt( oFakeImage ) ;\r
        }\r
+       else\r
+               oEditor.FCKUndo.SaveUndoStep() ;\r
 \r
-       oEditor.FCKEmbedAndObjectProcessor.RefreshView( oFakeImage, oEmbed ) ;\r
+       oEditor.FCKFlashProcessor.RefreshView( oFakeImage, oEmbed ) ;\r
 \r
        return true ;\r
 }\r
@@ -231,15 +228,11 @@ function SetUrl( url, width, height )
 \r
        UpdatePreview() ;\r
 \r
-       dialog.SetSelectedTab( 'Info' ) ;\r
+       window.parent.SetSelectedTab( 'Info' ) ;\r
 }\r
 \r
 function OnUploadCompleted( errorNumber, fileUrl, fileName, customMsg )\r
 {\r
-       // Remove animation\r
-       window.parent.Throbber.Hide() ;\r
-       GetE( 'divUpload' ).style.display  = '' ;\r
-\r
        switch ( errorNumber )\r
        {\r
                case 0 :        // No errors\r
@@ -260,9 +253,6 @@ function OnUploadCompleted( errorNumber, fileUrl, fileName, customMsg )
                case 203 :\r
                        alert( "Security error. You probably don't have enough permissions to upload. Please check your server." ) ;\r
                        return ;\r
-               case 500 :\r
-                       alert( 'The connector is disabled' ) ;\r
-                       break ;\r
                default :\r
                        alert( 'Error on file upload. Error number: ' + errorNumber ) ;\r
                        return ;\r
@@ -292,9 +282,5 @@ function CheckUpload()
                return false ;\r
        }\r
 \r
-       // Show animation\r
-       window.parent.Throbber.Show( 100 ) ;\r
-       GetE( 'divUpload' ).style.display  = 'none' ;\r
-\r
        return true ;\r
-}\r
+}
\ No newline at end of file
index 68a4c79..ad3a0a1 100644 (file)
@@ -1,7 +1,7 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">\r
 <!--\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
                <title></title>\r
                <meta http-equiv="Content-Type" content="text/html; charset=utf-8">\r
                <meta name="robots" content="noindex, nofollow">\r
-               <script src="../common/fck_dialog_common.js" type="text/javascript"></script>\r
+               <link href="../common/fck_dialog_common.css" rel="stylesheet" type="text/css" />\r
                <script language="javascript">\r
 \r
-var FCKTools   = window.parent.FCKTools ;\r
-var FCKConfig  = window.parent.FCKConfig ;\r
-\r
 // Sets the Skin CSS\r
-document.write( FCKTools.GetStyleHtml( FCKConfig.SkinDialogCSS ) ) ;\r
-document.write( FCKTools.GetStyleHtml( GetCommonDialogCss( '../' ) ) ) ;\r
+document.write( '<link href="' + window.parent.FCKConfig.SkinPath + 'fck_dialog.css" type="text/css" rel="stylesheet">' ) ;\r
 \r
 if ( window.parent.FCKConfig.BaseHref.length > 0 )\r
        document.write( '<base href="' + window.parent.FCKConfig.BaseHref + '">' ) ;\r
index 0284527..66e56d9 100644 (file)
@@ -1,7 +1,7 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >\r
 <!--\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
        <script src="common/fck_dialog_common.js" type="text/javascript"></script>\r
        <script type="text/javascript">\r
 \r
-var dialog     = window.parent ;\r
-var oEditor = dialog.InnerDialogLoaded() ;\r
+var oEditor = window.parent.InnerDialogLoaded() ;\r
 \r
 // Gets the document DOM\r
 var oDOM = oEditor.FCK.EditorDocument ;\r
 \r
-var oActiveEl = dialog.Selection.GetSelection().MoveToAncestorNode( 'FORM' ) ;\r
+var oActiveEl = oEditor.FCKSelection.MoveToAncestorNode( 'FORM' ) ;\r
 \r
 window.onload = function()\r
 {\r
@@ -51,23 +50,20 @@ window.onload = function()
        else\r
                oActiveEl = null ;\r
 \r
-       dialog.SetOkButton( true ) ;\r
-       dialog.SetAutoSize( true ) ;\r
-       SelectField( 'txtName' ) ;\r
+       window.parent.SetOkButton( true ) ;\r
 }\r
 \r
 function Ok()\r
 {\r
        if ( !oActiveEl )\r
        {\r
-               oActiveEl = oEditor.FCK.InsertElement( 'form' ) ;\r
-\r
-               if ( oEditor.FCKBrowserInfo.IsGeckoLike )\r
-                       oEditor.FCKTools.AppendBogusBr( oActiveEl ) ;\r
+               oActiveEl = oEditor.FCK.EditorDocument.createElement( 'FORM' ) ;\r
+               oActiveEl = oEditor.FCK.InsertElementAndGetIt( oActiveEl ) ;\r
+               oActiveEl.innerHTML = '&nbsp;' ;\r
        }\r
 \r
        oActiveEl.name = GetE('txtName').value ;\r
-       SetAttribute( oActiveEl, 'action', GetE('txtAction').value ) ;\r
+       SetAttribute( oActiveEl, 'action'       , GetE('txtAction').value ) ;\r
        oActiveEl.method = GetE('txtMethod').value ;\r
 \r
        return true ;\r
index f9bfb74..1ae8ae6 100644 (file)
@@ -1,7 +1,7 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >\r
 <!--\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
        <script src="common/fck_dialog_common.js" type="text/javascript"></script>\r
        <script type="text/javascript">\r
 \r
-var dialog     = window.parent ;\r
-var oEditor = dialog.InnerDialogLoaded() ;\r
-\r
+var oEditor = window.parent.InnerDialogLoaded() ;\r
 var FCK = oEditor.FCK ;\r
 \r
 // Gets the document DOM\r
 var oDOM = FCK.EditorDocument ;\r
 \r
 // Get the selected flash embed (if available).\r
-var oFakeImage = dialog.Selection.GetSelectedElement() ;\r
+var oFakeImage = FCK.Selection.GetSelectedElement() ;\r
 var oActiveEl ;\r
 \r
 if ( oFakeImage )\r
@@ -60,31 +58,34 @@ window.onload = function()
                GetE('txtValue').value          = oActiveEl.value ;\r
        }\r
 \r
-       dialog.SetOkButton( true ) ;\r
-       dialog.SetAutoSize( true ) ;\r
-       SelectField( 'txtName' ) ;\r
+       window.parent.SetOkButton( true ) ;\r
 }\r
 \r
 \r
 function Ok()\r
 {\r
-       oEditor.FCKUndo.SaveUndoStep() ;\r
+       if ( !oActiveEl )\r
+       {\r
+               oActiveEl = FCK.EditorDocument.createElement( 'INPUT' ) ;\r
+               oActiveEl.type = 'hidden' ;\r
 \r
-       oActiveEl = CreateNamedElement( oEditor, oActiveEl, 'INPUT', {name: GetE('txtName').value, type: 'hidden' } ) ;\r
+               oFakeImage = null ;\r
+       }\r
 \r
+       oActiveEl.name = GetE('txtName').value ;\r
        SetAttribute( oActiveEl, 'value', GetE('txtValue').value ) ;\r
 \r
        if ( !oFakeImage )\r
        {\r
                oFakeImage      = oEditor.FCKDocumentProcessor_CreateFakeImage( 'FCK__InputHidden', oActiveEl ) ;\r
                oFakeImage.setAttribute( '_fckinputhidden', 'true', 0 ) ;\r
-\r
-               oActiveEl.parentNode.insertBefore( oFakeImage, oActiveEl ) ;\r
-               oActiveEl.parentNode.removeChild( oActiveEl ) ;\r
+               oFakeImage      = FCK.InsertElementAndGetIt( oFakeImage ) ;\r
        }\r
        else\r
                oEditor.FCKUndo.SaveUndoStep() ;\r
 \r
+       oEditor.FCKFlashProcessor.RefreshView( oFakeImage, oActiveEl ) ;\r
+\r
        return true ;\r
 }\r
 \r
index b082b2b..e4a8b03 100644 (file)
@@ -1,7 +1,7 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">\r
 <!--\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
        <meta name="robots" content="noindex, nofollow" />\r
        <script src="common/fck_dialog_common.js" type="text/javascript"></script>\r
        <script src="fck_image/fck_image.js" type="text/javascript"></script>\r
-               <script type="text/javascript">\r
-\r
-document.write( FCKTools.GetStyleHtml( GetCommonDialogCss() ) ) ;\r
-\r
-               </script>\r
+       <link href="common/fck_dialog_common.css" rel="stylesheet" type="text/css" />\r
 </head>\r
 <body scroll="no" style="overflow: hidden">\r
        <div id="divInfo">\r
@@ -164,9 +160,7 @@ document.write( FCKTools.GetStyleHtml( GetCommonDialogCss() ) ) ;
                        <input id="txtUploadFile" style="width: 100%" type="file" size="40" name="NewFile" /><br />\r
                        <br />\r
                        <input id="btnUpload" type="submit" value="Send it to the Server" fcklang="DlgLnkBtnUpload" />\r
-                       <script type="text/javascript">\r
-                               document.write( '<iframe name="UploadWindow" style="display: none" src="' + FCKTools.GetVoidUrl() + '"><\/iframe>' ) ;\r
-                       </script>\r
+                       <iframe name="UploadWindow" style="display: none" src="javascript:void(0)"></iframe>\r
                </form>\r
        </div>\r
        <div id="divLink" style="display: none">\r
index c341faa..89b0f95 100644 (file)
@@ -1,6 +1,6 @@
 /*\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
  * Scripts related to the Image dialog window (see fck_image.html).\r
  */\r
 \r
-var dialog             = window.parent ;\r
-var oEditor            = dialog.InnerDialogLoaded() ;\r
+var oEditor            = window.parent.InnerDialogLoaded() ;\r
 var FCK                        = oEditor.FCK ;\r
 var FCKLang            = oEditor.FCKLang ;\r
 var FCKConfig  = oEditor.FCKConfig ;\r
 var FCKDebug   = oEditor.FCKDebug ;\r
-var FCKTools   = oEditor.FCKTools ;\r
 \r
 var bImageButton = ( document.location.search.length > 0 && document.location.search.substr(1) == 'ImageButton' ) ;\r
 \r
 //#### Dialog Tabs\r
 \r
 // Set the dialog tabs.\r
-dialog.AddTab( 'Info', FCKLang.DlgImgInfoTab ) ;\r
+window.parent.AddTab( 'Info', FCKLang.DlgImgInfoTab ) ;\r
 \r
 if ( !bImageButton && !FCKConfig.ImageDlgHideLink )\r
-       dialog.AddTab( 'Link', FCKLang.DlgImgLinkTab ) ;\r
+       window.parent.AddTab( 'Link', FCKLang.DlgImgLinkTab ) ;\r
 \r
 if ( FCKConfig.ImageUpload )\r
-       dialog.AddTab( 'Upload', FCKLang.DlgLnkUpload ) ;\r
+       window.parent.AddTab( 'Upload', FCKLang.DlgLnkUpload ) ;\r
 \r
 if ( !FCKConfig.ImageDlgHideAdvanced )\r
-       dialog.AddTab( 'Advanced', FCKLang.DlgAdvancedTag ) ;\r
+       window.parent.AddTab( 'Advanced', FCKLang.DlgAdvancedTag ) ;\r
 \r
 // Function called when a dialog tag is selected.\r
 function OnDialogTabChange( tabCode )\r
@@ -55,13 +53,13 @@ function OnDialogTabChange( tabCode )
 }\r
 \r
 // Get the selected image (if available).\r
-var oImage = dialog.Selection.GetSelectedElement() ;\r
+var oImage = FCK.Selection.GetSelectedElement() ;\r
 \r
 if ( oImage && oImage.tagName != 'IMG' && !( oImage.tagName == 'INPUT' && oImage.type == 'image' ) )\r
        oImage = null ;\r
 \r
 // Get the active link.\r
-var oLink = dialog.Selection.GetSelection().MoveToAncestorNode( 'A' ) ;\r
+var oLink = FCK.Selection.MoveToAncestorNode( 'A' ) ;\r
 \r
 var oImageOriginal ;\r
 \r
@@ -113,12 +111,10 @@ window.onload = function()
        if ( FCKConfig.ImageUpload )\r
                GetE('frmUpload').action = FCKConfig.ImageUploadURL ;\r
 \r
-       dialog.SetAutoSize( true ) ;\r
+       window.parent.SetAutoSize( true ) ;\r
 \r
        // Activate the "OK" button.\r
-       dialog.SetOkButton( true ) ;\r
-\r
-       SelectField( 'txtUrl' ) ;\r
+       window.parent.SetOkButton( true ) ;\r
 }\r
 \r
 function LoadSelection()\r
@@ -201,7 +197,7 @@ function Ok()
 {\r
        if ( GetE('txtUrl').value.length == 0 )\r
        {\r
-               dialog.SetSelectedTab( 'Info' ) ;\r
+               window.parent.SetSelectedTab( 'Info' ) ;\r
                GetE('txtUrl').focus() ;\r
 \r
                alert( FCKLang.DlgImgAlertUrl ) ;\r
@@ -222,18 +218,19 @@ function Ok()
                        oImage = null ;\r
        }\r
 \r
-       oEditor.FCKUndo.SaveUndoStep() ;\r
        if ( !bHasImage )\r
        {\r
                if ( bImageButton )\r
                {\r
-                       oImage = FCK.EditorDocument.createElement( 'input' ) ;\r
+                       oImage = FCK.EditorDocument.createElement( 'INPUT' ) ;\r
                        oImage.type = 'image' ;\r
-                       oImage = FCK.InsertElement( oImage ) ;\r
+                       oImage = FCK.InsertElementAndGetIt( oImage ) ;\r
                }\r
                else\r
-                       oImage = FCK.InsertElement( 'img' ) ;\r
+                       oImage = FCK.CreateElement( 'IMG' ) ;\r
        }\r
+       else\r
+               oEditor.FCKUndo.SaveUndoStep() ;\r
 \r
        UpdateImage( oImage ) ;\r
 \r
@@ -357,7 +354,7 @@ function SwitchLock( lockButton )
 // Fired when the width or height input texts change\r
 function OnSizeChanged( dimension, value )\r
 {\r
-       // Verifies if the aspect ration has to be maintained\r
+       // Verifies if the aspect ration has to be mantained\r
        if ( oImageOriginal && bLockRatio )\r
        {\r
                var e = dimension == 'Width' ? GetE('txtHeight') : GetE('txtWidth') ;\r
@@ -384,11 +381,6 @@ function OnSizeChanged( dimension, value )
 function ResetSizes()\r
 {\r
        if ( ! oImageOriginal ) return ;\r
-       if ( oEditor.FCKBrowserInfo.IsGecko && !oImageOriginal.complete )\r
-       {\r
-               setTimeout( ResetSizes, 50 ) ;\r
-               return ;\r
-       }\r
 \r
        GetE('txtWidth').value  = oImageOriginal.width ;\r
        GetE('txtHeight').value = oImageOriginal.height ;\r
@@ -442,15 +434,11 @@ function SetUrl( url, width, height, alt )
                UpdateOriginal( true ) ;\r
        }\r
 \r
-       dialog.SetSelectedTab( 'Info' ) ;\r
+       window.parent.SetSelectedTab( 'Info' ) ;\r
 }\r
 \r
 function OnUploadCompleted( errorNumber, fileUrl, fileName, customMsg )\r
 {\r
-       // Remove animation\r
-       window.parent.Throbber.Hide() ;\r
-       GetE( 'divUpload' ).style.display  = '' ;\r
-\r
        switch ( errorNumber )\r
        {\r
                case 0 :        // No errors\r
@@ -471,9 +459,6 @@ function OnUploadCompleted( errorNumber, fileUrl, fileName, customMsg )
                case 203 :\r
                        alert( "Security error. You probably don't have enough permissions to upload. Please check your server." ) ;\r
                        return ;\r
-               case 500 :\r
-                       alert( 'The connector is disabled' ) ;\r
-                       break ;\r
                default :\r
                        alert( 'Error on file upload. Error number: ' + errorNumber ) ;\r
                        return ;\r
@@ -504,9 +489,5 @@ function CheckUpload()
                return false ;\r
        }\r
 \r
-       // Show animation\r
-       window.parent.Throbber.Show( 100 ) ;\r
-       GetE( 'divUpload' ).style.display  = 'none' ;\r
-\r
        return true ;\r
-}\r
+}
\ No newline at end of file
index db0d2e0..21bdc25 100644 (file)
@@ -1,7 +1,7 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">\r
 <!--\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
        <title></title>\r
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />\r
        <meta name="robots" content="noindex, nofollow" />\r
-       <script src="../common/fck_dialog_common.js" type="text/javascript"></script>\r
+       <link href="../common/fck_dialog_common.css" rel="stylesheet" type="text/css" />\r
        <script type="text/javascript">\r
 \r
-var FCKTools   = window.parent.FCKTools ;\r
-var FCKConfig  = window.parent.FCKConfig ;\r
-\r
-// Set the preview CSS\r
-document.write( FCKTools.GetStyleHtml( FCKConfig.EditorAreaCSS ) ) ;\r
-document.write( FCKTools.GetStyleHtml( FCKConfig.EditorAreaStyles ) ) ;\r
+// Sets the Skin CSS\r
+document.write( '<link href="' + window.parent.FCKConfig.SkinPath + 'fck_dialog.css" type="text/css" rel="stylesheet">' ) ;\r
 \r
 if ( window.parent.FCKConfig.BaseHref.length > 0 )\r
        document.write( '<base href="' + window.parent.FCKConfig.BaseHref + '">' ) ;\r
@@ -50,23 +46,21 @@ window.onload = function()
 \r
        </script>\r
 </head>\r
-<body>\r
-       <div>\r
-               <a id="lnkPreview" onclick="return false;" style="cursor: default">\r
-                       <img id="imgPreview" onload="window.parent.UpdateOriginal();"\r
-                               style="display: none" alt="" /></a>Lorem ipsum dolor sit amet, consectetuer adipiscing\r
-               elit. Maecenas feugiat consequat diam. Maecenas metus. Vivamus diam purus, cursus\r
-               a, commodo non, facilisis vitae, nulla. Aenean dictum lacinia tortor. Nunc iaculis,\r
-               nibh non iaculis aliquam, orci felis euismod neque, sed ornare massa mauris sed\r
-               velit. Nulla pretium mi et risus. Fusce mi pede, tempor id, cursus ac, ullamcorper\r
-               nec, enim. Sed tortor. Curabitur molestie. Duis velit augue, condimentum at, ultrices\r
-               a, luctus ut, orci. Donec pellentesque egestas eros. Integer cursus, augue in cursus\r
-               faucibus, eros pede bibendum sem, in tempus tellus justo quis ligula. Etiam eget\r
-               tortor. Vestibulum rutrum, est ut placerat elementum, lectus nisl aliquam velit,\r
-               tempor aliquam eros nunc nonummy metus. In eros metus, gravida a, gravida sed, lobortis\r
-               id, turpis. Ut ultrices, ipsum at venenatis fringilla, sem nulla lacinia tellus,\r
-               eget aliquet turpis mauris non enim. Nam turpis. Suspendisse lacinia. Curabitur\r
-               ac tortor ut ipsum egestas elementum. Nunc imperdiet gravida mauris.\r
-       </div>\r
+<body style="color: #000000; background-color: #ffffff">\r
+       <a id="lnkPreview" onclick="return false;" style="cursor: default">\r
+               <img id="imgPreview" onload="window.parent.UpdateOriginal();" style="display: none" /></a>Lorem\r
+       ipsum dolor sit amet, consectetuer adipiscing elit. Maecenas feugiat consequat diam.\r
+       Maecenas metus. Vivamus diam purus, cursus a, commodo non, facilisis vitae, nulla.\r
+       Aenean dictum lacinia tortor. Nunc iaculis, nibh non iaculis aliquam, orci felis\r
+       euismod neque, sed ornare massa mauris sed velit. Nulla pretium mi et risus. Fusce\r
+       mi pede, tempor id, cursus ac, ullamcorper nec, enim. Sed tortor. Curabitur molestie.\r
+       Duis velit augue, condimentum at, ultrices a, luctus ut, orci. Donec pellentesque\r
+       egestas eros. Integer cursus, augue in cursus faucibus, eros pede bibendum sem,\r
+       in tempus tellus justo quis ligula. Etiam eget tortor. Vestibulum rutrum, est ut\r
+       placerat elementum, lectus nisl aliquam velit, tempor aliquam eros nunc nonummy\r
+       metus. In eros metus, gravida a, gravida sed, lobortis id, turpis. Ut ultrices,\r
+       ipsum at venenatis fringilla, sem nulla lacinia tellus, eget aliquet turpis mauris\r
+       non enim. Nam turpis. Suspendisse lacinia. Curabitur ac tortor ut ipsum egestas\r
+       elementum. Nunc imperdiet gravida mauris.\r
 </body>\r
 </html>\r
index b57e1f0..c8f37b6 100644 (file)
@@ -1,7 +1,7 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">\r
 <!--\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
                                <input id="txtUploadFile" style="WIDTH: 100%" type="file" size="40" name="NewFile" /><br />\r
                                <br />\r
                                <input id="btnUpload" type="submit" value="Send it to the Server" fckLang="DlgLnkBtnUpload" />\r
-                               <script type="text/javascript">\r
-                                       document.write( '<iframe name="UploadWindow" style="display: none" src="' + FCKTools.GetVoidUrl() + '"><\/iframe>' ) ;\r
-                               </script>\r
+                               <iframe name="UploadWindow" style="DISPLAY: none" src="javascript:void(0)"></iframe>\r
                        </form>\r
                </div>\r
                <div id="divTarget" style="DISPLAY: none">\r
index 449e13f..6d96499 100644 (file)
@@ -1,6 +1,6 @@
 /*\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
  * Scripts related to the Link dialog window (see fck_link.html).\r
  */\r
 \r
-var dialog     = window.parent ;\r
-var oEditor = dialog.InnerDialogLoaded() ;\r
-\r
+var oEditor            = window.parent.InnerDialogLoaded() ;\r
 var FCK                        = oEditor.FCK ;\r
 var FCKLang            = oEditor.FCKLang ;\r
 var FCKConfig  = oEditor.FCKConfig ;\r
 var FCKRegexLib        = oEditor.FCKRegexLib ;\r
-var FCKTools   = oEditor.FCKTools ;\r
 \r
 //#### Dialog Tabs\r
 \r
 // Set the dialog tabs.\r
-dialog.AddTab( 'Info', FCKLang.DlgLnkInfoTab ) ;\r
+window.parent.AddTab( 'Info', FCKLang.DlgLnkInfoTab ) ;\r
 \r
 if ( !FCKConfig.LinkDlgHideTarget )\r
-       dialog.AddTab( 'Target', FCKLang.DlgLnkTargetTab, true ) ;\r
+       window.parent.AddTab( 'Target', FCKLang.DlgLnkTargetTab, true ) ;\r
 \r
 if ( FCKConfig.LinkUpload )\r
-       dialog.AddTab( 'Upload', FCKLang.DlgLnkUpload, true ) ;\r
+       window.parent.AddTab( 'Upload', FCKLang.DlgLnkUpload, true ) ;\r
 \r
 if ( !FCKConfig.LinkDlgHideAdvanced )\r
-       dialog.AddTab( 'Advanced', FCKLang.DlgAdvancedTag ) ;\r
+       window.parent.AddTab( 'Advanced', FCKLang.DlgAdvancedTag ) ;\r
 \r
 // Function called when a dialog tag is selected.\r
 function OnDialogTabChange( tabCode )\r
@@ -52,7 +49,7 @@ function OnDialogTabChange( tabCode )
        ShowE('divUpload'       , ( tabCode == 'Upload' ) ) ;\r
        ShowE('divAttribs'      , ( tabCode == 'Advanced' ) ) ;\r
 \r
-       dialog.SetAutoSize( true ) ;\r
+       window.parent.SetAutoSize( true ) ;\r
 }\r
 \r
 //#### Regular Expressions library.\r
@@ -77,187 +74,36 @@ oRegex.PopupFeatures = /(?:^|,)([^=]+)=(\d+|yes|no)/gi ;
 \r
 var oParser = new Object() ;\r
 \r
-// This method simply returns the two inputs in numerical order. You can even\r
-// provide strings, as the method would parseInt() the values.\r
-oParser.SortNumerical = function(a, b)\r
-{\r
-       return parseInt( a, 10 ) - parseInt( b, 10 ) ;\r
-}\r
-\r
-oParser.ParseEMailParams = function(sParams)\r
-{\r
-       // Initialize the oEMailParams object.\r
-       var oEMailParams = new Object() ;\r
-       oEMailParams.Subject = '' ;\r
-       oEMailParams.Body = '' ;\r
-\r
-       var aMatch = sParams.match( /(^|^\?|&)subject=([^&]+)/i ) ;\r
-       if ( aMatch ) oEMailParams.Subject = decodeURIComponent( aMatch[2] ) ;\r
-\r
-       aMatch = sParams.match( /(^|^\?|&)body=([^&]+)/i ) ;\r
-       if ( aMatch ) oEMailParams.Body = decodeURIComponent( aMatch[2] ) ;\r
-\r
-       return oEMailParams ;\r
-}\r
-\r
-// This method returns either an object containing the email info, or FALSE\r
-// if the parameter is not an email link.\r
-oParser.ParseEMailUri = function( sUrl )\r
+oParser.ParseEMailUrl = function( emailUrl )\r
 {\r
        // Initializes the EMailInfo object.\r
        var oEMailInfo = new Object() ;\r
-       oEMailInfo.Address = '' ;\r
-       oEMailInfo.Subject = '' ;\r
-       oEMailInfo.Body = '' ;\r
+       oEMailInfo.Address      = '' ;\r
+       oEMailInfo.Subject      = '' ;\r
+       oEMailInfo.Body         = '' ;\r
 \r
-       var aLinkInfo = sUrl.match( /^(\w+):(.*)$/ ) ;\r
-       if ( aLinkInfo && aLinkInfo[1] == 'mailto' )\r
+       var oParts = emailUrl.match( /^([^\?]+)\??(.+)?/ ) ;\r
+       if ( oParts )\r
        {\r
-               // This seems to be an unprotected email link.\r
-               var aParts = aLinkInfo[2].match( /^([^\?]+)\??(.+)?/ ) ;\r
-               if ( aParts )\r
-               {\r
-                       // Set the e-mail address.\r
-                       oEMailInfo.Address = aParts[1] ;\r
-\r
-                       // Look for the optional e-mail parameters.\r
-                       if ( aParts[2] )\r
-                       {\r
-                               var oEMailParams = oParser.ParseEMailParams( aParts[2] ) ;\r
-                               oEMailInfo.Subject = oEMailParams.Subject ;\r
-                               oEMailInfo.Body = oEMailParams.Body ;\r
-                       }\r
-               }\r
-               return oEMailInfo ;\r
-       }\r
-       else if ( aLinkInfo && aLinkInfo[1] == 'javascript' )\r
-       {\r
-               // This may be a protected email.\r
+               // Set the e-mail address.\r
+               oEMailInfo.Address = oParts[1] ;\r
 \r
-               // Try to match the url against the EMailProtectionFunction.\r
-               var func = FCKConfig.EMailProtectionFunction ;\r
-               if ( func != null )\r
+               // Look for the optional e-mail parameters.\r
+               if ( oParts[2] )\r
                {\r
-                       try\r
-                       {\r
-                               // Escape special chars.\r
-                               func = func.replace( /([\/^$*+.?()\[\]])/g, '\\$1' ) ;\r
-\r
-                               // Define the possible keys.\r
-                               var keys = new Array('NAME', 'DOMAIN', 'SUBJECT', 'BODY') ;\r
-\r
-                               // Get the order of the keys (hold them in the array <pos>) and\r
-                               // the function replaced by regular expression patterns.\r
-                               var sFunc = func ;\r
-                               var pos = new Array() ;\r
-                               for ( var i = 0 ; i < keys.length ; i ++ )\r
-                               {\r
-                                       var rexp = new RegExp( keys[i] ) ;\r
-                                       var p = func.search( rexp ) ;\r
-                                       if ( p >= 0 )\r
-                                       {\r
-                                               sFunc = sFunc.replace( rexp, '\'([^\']*)\'' ) ;\r
-                                               pos[pos.length] = p + ':' + keys[i] ;\r
-                                       }\r
-                               }\r
-\r
-                               // Sort the available keys.\r
-                               pos.sort( oParser.SortNumerical ) ;\r
-\r
-                               // Replace the excaped single quotes in the url, such they do\r
-                               // not affect the regexp afterwards.\r
-                               aLinkInfo[2] = aLinkInfo[2].replace( /\\'/g, '###SINGLE_QUOTE###' ) ;\r
-\r
-                               // Create the regexp and execute it.\r
-                               var rFunc = new RegExp( '^' + sFunc + '$' ) ;\r
-                               var aMatch = rFunc.exec( aLinkInfo[2] ) ;\r
-                               if ( aMatch )\r
-                               {\r
-                                       var aInfo = new Array();\r
-                                       for ( var i = 1 ; i < aMatch.length ; i ++ )\r
-                                       {\r
-                                               var k = pos[i-1].match(/^\d+:(.+)$/) ;\r
-                                               aInfo[k[1]] = aMatch[i].replace(/###SINGLE_QUOTE###/g, '\'') ;\r
-                                       }\r
-\r
-                                       // Fill the EMailInfo object that will be returned\r
-                                       oEMailInfo.Address = aInfo['NAME'] + '@' + aInfo['DOMAIN'] ;\r
-                                       oEMailInfo.Subject = decodeURIComponent( aInfo['SUBJECT'] ) ;\r
-                                       oEMailInfo.Body = decodeURIComponent( aInfo['BODY'] ) ;\r
-\r
-                                       return oEMailInfo ;\r
-                               }\r
-                       }\r
-                       catch (e)\r
-                       {\r
-                       }\r
-               }\r
+                       var oMatch = oParts[2].match( /(^|&)subject=([^&]+)/i ) ;\r
+                       if ( oMatch ) oEMailInfo.Subject = decodeURIComponent( oMatch[2] ) ;\r
 \r
-               // Try to match the email against the encode protection.\r
-               var aMatch = aLinkInfo[2].match( /^(?:void\()?location\.href='mailto:'\+(String\.fromCharCode\([\d,]+\))\+'(.*)'\)?$/ ) ;\r
-               if ( aMatch )\r
-               {\r
-                       // The link is encoded\r
-                       oEMailInfo.Address = eval( aMatch[1] ) ;\r
-                       if ( aMatch[2] )\r
-                       {\r
-                               var oEMailParams = oParser.ParseEMailParams( aMatch[2] ) ;\r
-                               oEMailInfo.Subject = oEMailParams.Subject ;\r
-                               oEMailInfo.Body = oEMailParams.Body ;\r
-                       }\r
-                       return oEMailInfo ;\r
+                       oMatch = oParts[2].match( /(^|&)body=([^&]+)/i ) ;\r
+                       if ( oMatch ) oEMailInfo.Body = decodeURIComponent( oMatch[2] ) ;\r
                }\r
        }\r
-       return false;\r
+\r
+       return oEMailInfo ;\r
 }\r
 \r
 oParser.CreateEMailUri = function( address, subject, body )\r
 {\r
-       // Switch for the EMailProtection setting.\r
-       switch ( FCKConfig.EMailProtection )\r
-       {\r
-               case 'function' :\r
-                       var func = FCKConfig.EMailProtectionFunction ;\r
-                       if ( func == null )\r
-                       {\r
-                               if ( FCKConfig.Debug )\r
-                               {\r
-                                       alert('EMailProtection alert!\nNo function defined. Please set "FCKConfig.EMailProtectionFunction"') ;\r
-                               }\r
-                               return '';\r
-                       }\r
-\r
-                       // Split the email address into name and domain parts.\r
-                       var aAddressParts = address.split( '@', 2 ) ;\r
-                       if ( aAddressParts[1] == undefined )\r
-                       {\r
-                               aAddressParts[1] = '' ;\r
-                       }\r
-\r
-                       // Replace the keys by their values (embedded in single quotes).\r
-                       func = func.replace(/NAME/g, "'" + aAddressParts[0].replace(/'/g, '\\\'') + "'") ;\r
-                       func = func.replace(/DOMAIN/g, "'" + aAddressParts[1].replace(/'/g, '\\\'') + "'") ;\r
-                       func = func.replace(/SUBJECT/g, "'" + encodeURIComponent( subject ).replace(/'/g, '\\\'') + "'") ;\r
-                       func = func.replace(/BODY/g, "'" + encodeURIComponent( body ).replace(/'/g, '\\\'') + "'") ;\r
-\r
-                       return 'javascript:' + func ;\r
-\r
-               case 'encode' :\r
-                       var aParams = [] ;\r
-                       var aAddressCode = [] ;\r
-\r
-                       if ( subject.length > 0 )\r
-                               aParams.push( 'subject='+ encodeURIComponent( subject ) ) ;\r
-                       if ( body.length > 0 )\r
-                               aParams.push( 'body=' + encodeURIComponent( body ) ) ;\r
-                       for ( var i = 0 ; i < address.length ; i++ )\r
-                               aAddressCode.push( address.charCodeAt( i ) ) ;\r
-\r
-                       return 'javascript:void(location.href=\'mailto:\'+String.fromCharCode(' + aAddressCode.join( ',' ) + ')+\'?' + aParams.join( '&' ) + '\')' ;\r
-       }\r
-\r
-       // EMailProtection 'none'\r
-\r
        var sBaseUri = 'mailto:' + address ;\r
 \r
        var sParams = '' ;\r
@@ -277,7 +123,7 @@ oParser.CreateEMailUri = function( address, subject, body )
 //#### Initialization Code\r
 \r
 // oLink: The actual selected link in the editor.\r
-var oLink = dialog.Selection.GetSelection().MoveToAncestorNode( 'A' ) ;\r
+var oLink = FCK.Selection.MoveToAncestorNode( 'A' ) ;\r
 if ( oLink )\r
        FCK.Selection.SelectNode( oLink ) ;\r
 \r
@@ -309,23 +155,7 @@ window.onload = function()
        SetDefaultTarget() ;\r
 \r
        // Activate the "OK" button.\r
-       dialog.SetOkButton( true ) ;\r
-\r
-       // Select the first field.\r
-       switch( GetE('cmbLinkType').value )\r
-       {\r
-               case 'url' :\r
-                       SelectField( 'txtUrl' ) ;\r
-                       break ;\r
-               case 'email' :\r
-                       SelectField( 'txtEMailAddress' ) ;\r
-                       break ;\r
-               case 'anchor' :\r
-                       if ( GetE('divSelAnchor').style.display != 'none' )\r
-                               SelectField( 'cmbAnchorName' ) ;\r
-                       else\r
-                               SelectField( 'cmbLinkType' ) ;\r
-       }\r
+       window.parent.SetOkButton( true ) ;\r
 }\r
 \r
 var bHasAnchors ;\r
@@ -351,7 +181,7 @@ function LoadAnchorNamesAndIds()
                        aAnchors[ aAnchors.length ] = oLinks[i] ;\r
        }\r
 \r
-       var aIds = FCKTools.GetAllChildrenIds( oEditor.FCK.EditorDocument.body ) ;\r
+       var aIds = oEditor.FCKTools.GetAllChildrenIds( oEditor.FCK.EditorDocument.body ) ;\r
 \r
        bHasAnchors = ( aAnchors.length > 0 || aIds.length > 0 ) ;\r
 \r
@@ -359,12 +189,12 @@ function LoadAnchorNamesAndIds()
        {\r
                var sName = aAnchors[i].name ;\r
                if ( sName && sName.length > 0 )\r
-                       FCKTools.AddSelectOption( GetE('cmbAnchorName'), sName, sName ) ;\r
+                       oEditor.FCKTools.AddSelectOption( GetE('cmbAnchorName'), sName, sName ) ;\r
        }\r
 \r
        for ( i = 0 ; i < aIds.length ; i++ )\r
        {\r
-               FCKTools.AddSelectOption( GetE('cmbAnchorId'), aIds[i], aIds[i] ) ;\r
+               oEditor.FCKTools.AddSelectOption( GetE('cmbAnchorId'), aIds[i], aIds[i] ) ;\r
        }\r
 \r
        ShowE( 'divSelAnchor'   , bHasAnchors ) ;\r
@@ -392,48 +222,43 @@ function LoadSelection()
                SetTarget( 'popup' ) ;\r
        }\r
 \r
-       // Accessible popups, the popup data is in the onclick attribute\r
-       if ( !oPopupMatch )\r
-       {\r
+       // Accesible popups, the popup data is in the onclick attribute\r
+       if ( !oPopupMatch ) {\r
                var onclick = oLink.getAttribute( 'onclick_fckprotectedatt' ) ;\r
-               if ( onclick )\r
+               oPopupMatch = oRegex.OnClickPopup.exec( onclick ) ;\r
+               if( oPopupMatch )\r
                {\r
-                       // Decode the protected string\r
-                       onclick = decodeURIComponent( onclick ) ;\r
-\r
-                       oPopupMatch = oRegex.OnClickPopup.exec( onclick ) ;\r
-                       if( oPopupMatch )\r
-                       {\r
-                               GetE( 'cmbTarget' ).value = 'popup' ;\r
-                               FillPopupFields( oPopupMatch[1], oPopupMatch[2] ) ;\r
-                               SetTarget( 'popup' ) ;\r
-                       }\r
+                       GetE( 'cmbTarget' ).value = 'popup' ;\r
+                       FillPopupFields( oPopupMatch[1], oPopupMatch[2] ) ;\r
+                       SetTarget( 'popup' ) ;\r
                }\r
        }\r
 \r
        // Search for the protocol.\r
        var sProtocol = oRegex.UriProtocol.exec( sHRef ) ;\r
 \r
-       // Search for a protected email link.\r
-       var oEMailInfo = oParser.ParseEMailUri( sHRef );\r
-\r
-       if ( oEMailInfo )\r
-       {\r
-               sType = 'email' ;\r
-\r
-               GetE('txtEMailAddress').value = oEMailInfo.Address ;\r
-               GetE('txtEMailSubject').value = oEMailInfo.Subject ;\r
-               GetE('txtEMailBody').value    = oEMailInfo.Body ;\r
-       }\r
-       else if ( sProtocol )\r
+       if ( sProtocol )\r
        {\r
                sProtocol = sProtocol[0].toLowerCase() ;\r
                GetE('cmbLinkProtocol').value = sProtocol ;\r
 \r
-               // Remove the protocol and get the remaining URL.\r
+               // Remove the protocol and get the remainig URL.\r
                var sUrl = sHRef.replace( oRegex.UriProtocol, '' ) ;\r
-               sType = 'url' ;\r
-               GetE('txtUrl').value = sUrl ;\r
+\r
+               if ( sProtocol == 'mailto:' )   // It is an e-mail link.\r
+               {\r
+                       sType = 'email' ;\r
+\r
+                       var oEMailInfo = oParser.ParseEMailUrl( sUrl ) ;\r
+                       GetE('txtEMailAddress').value   = oEMailInfo.Address ;\r
+                       GetE('txtEMailSubject').value   = oEMailInfo.Subject ;\r
+                       GetE('txtEMailBody').value              = oEMailInfo.Body ;\r
+               }\r
+               else                            // It is a normal link.\r
+               {\r
+                       sType = 'url' ;\r
+                       GetE('txtUrl').value = sUrl ;\r
+               }\r
        }\r
        else if ( sHRef.substr(0,1) == '#' && sHRef.length > 1 )        // It is an anchor link.\r
        {\r
@@ -505,16 +330,16 @@ function SetLinkType( linkType )
        ShowE('divLinkTypeEMail'        , (linkType == 'email') ) ;\r
 \r
        if ( !FCKConfig.LinkDlgHideTarget )\r
-               dialog.SetTabVisibility( 'Target'       , (linkType == 'url') ) ;\r
+               window.parent.SetTabVisibility( 'Target'        , (linkType == 'url') ) ;\r
 \r
        if ( FCKConfig.LinkUpload )\r
-               dialog.SetTabVisibility( 'Upload'       , (linkType == 'url') ) ;\r
+               window.parent.SetTabVisibility( 'Upload'        , (linkType == 'url') ) ;\r
 \r
        if ( !FCKConfig.LinkDlgHideAdvanced )\r
-               dialog.SetTabVisibility( 'Advanced'     , (linkType != 'anchor' || bHasAnchors) ) ;\r
+               window.parent.SetTabVisibility( 'Advanced'      , (linkType != 'anchor' || bHasAnchors) ) ;\r
 \r
        if ( linkType == 'email' )\r
-               dialog.SetAutoSize( true ) ;\r
+               window.parent.SetAutoSize( true ) ;\r
 }\r
 \r
 //#### Target type selection.\r
@@ -522,7 +347,7 @@ function SetTarget( targetType )
 {\r
        GetE('tdTargetFrame').style.display     = ( targetType == 'popup' ? 'none' : '' ) ;\r
        GetE('tdPopupName').style.display       =\r
-       GetE('tablePopupFeatures').style.display = ( targetType == 'popup' ? '' : 'none' ) ;\r
+               GetE('tablePopupFeatures').style.display = ( targetType == 'popup' ? '' : 'none' ) ;\r
 \r
        switch ( targetType )\r
        {\r
@@ -538,7 +363,7 @@ function SetTarget( targetType )
        }\r
 \r
        if ( targetType == 'popup' )\r
-               dialog.SetAutoSize( true ) ;\r
+               window.parent.SetAutoSize( true ) ;\r
 }\r
 \r
 //#### Called while the user types the URL.\r
@@ -572,7 +397,7 @@ function OnTargetNameChange()
                GetE('cmbTarget').value = 'frame' ;\r
 }\r
 \r
-// Accessible popups\r
+// Accesible popups\r
 function BuildOnClickPopup()\r
 {\r
        var sWindowName = "'" + GetE('txtPopupName').value.replace(/\W/gi, "") + "'" ;\r
@@ -632,7 +457,6 @@ function FillPopupFields( windowName, features )
 function Ok()\r
 {\r
        var sUri, sInnerHtml ;\r
-       oEditor.FCKUndo.SaveUndoStep() ;\r
 \r
        switch ( GetE('cmbLinkType').value )\r
        {\r
@@ -679,7 +503,7 @@ function Ok()
        }\r
 \r
        // If no link is selected, create a new one (it may result in more than one link creation - #220).\r
-       var aLinks = oLink ? [ oLink ] : oEditor.FCK.CreateLink( sUri, true ) ;\r
+       var aLinks = oLink ? [ oLink ] : oEditor.FCK.CreateLink( sUri ) ;\r
 \r
        // If no selection, no links are created, so use the uri as the link text (by dom, 2006-05-26)\r
        var aHasSelection = ( aLinks.length > 0 ) ;\r
@@ -710,9 +534,11 @@ function Ok()
                }\r
 \r
                // Create a new (empty) anchor.\r
-               aLinks = [ oEditor.FCK.InsertElement( 'a' ) ] ;\r
+               aLinks = [ oEditor.FCK.CreateElement( 'a' ) ] ;\r
        }\r
 \r
+       oEditor.FCKUndo.SaveUndoStep() ;\r
+\r
        for ( var i = 0 ; i < aLinks.length ; i++ )\r
        {\r
                oLink = aLinks[i] ;\r
@@ -723,28 +549,18 @@ function Ok()
                oLink.href = sUri ;\r
                SetAttribute( oLink, '_fcksavedurl', sUri ) ;\r
 \r
-               var onclick;\r
-               // Accessible popups\r
+               // Accesible popups\r
                if( GetE('cmbTarget').value == 'popup' )\r
                {\r
-                       onclick = BuildOnClickPopup() ;\r
-                       // Encode the attribute\r
-                       onclick = encodeURIComponent( " onclick=\"" + onclick + "\"" )  ;\r
-                       SetAttribute( oLink, 'onclick_fckprotectedatt', onclick ) ;\r
+                       SetAttribute( oLink, 'onclick_fckprotectedatt', " onclick=\"" + BuildOnClickPopup() + "\"") ;\r
                }\r
                else\r
                {\r
                        // Check if the previous onclick was for a popup:\r
                        // In that case remove the onclick handler.\r
-                       onclick = oLink.getAttribute( 'onclick_fckprotectedatt' ) ;\r
-                       if ( onclick )\r
-                       {\r
-                               // Decode the protected string\r
-                               onclick = decodeURIComponent( onclick ) ;\r
-\r
-                               if( oRegex.OnClickPopup.test( onclick ) )\r
-                                       SetAttribute( oLink, 'onclick_fckprotectedatt', '' ) ;\r
-                       }\r
+                       var onclick = oLink.getAttribute( 'onclick_fckprotectedatt' ) ;\r
+                       if( oRegex.OnClickPopup.test( onclick ) )\r
+                               SetAttribute( oLink, 'onclick_fckprotectedatt', '' ) ;\r
                }\r
 \r
                oLink.innerHTML = sInnerHtml ;          // Set (or restore) the innerHTML\r
@@ -799,17 +615,13 @@ function BrowseServer()
 \r
 function SetUrl( url )\r
 {\r
-       GetE('txtUrl').value = url ;\r
+       document.getElementById('txtUrl').value = url ;\r
        OnUrlChange() ;\r
-       dialog.SetSelectedTab( 'Info' ) ;\r
+       window.parent.SetSelectedTab( 'Info' ) ;\r
 }\r
 \r
 function OnUploadCompleted( errorNumber, fileUrl, fileName, customMsg )\r
 {\r
-       // Remove animation\r
-       window.parent.Throbber.Hide() ;\r
-       GetE( 'divUpload' ).style.display  = '' ;\r
-\r
        switch ( errorNumber )\r
        {\r
                case 0 :        // No errors\r
@@ -830,9 +642,6 @@ function OnUploadCompleted( errorNumber, fileUrl, fileName, customMsg )
                case 203 :\r
                        alert( "Security error. You probably don't have enough permissions to upload. Please check your server." ) ;\r
                        return ;\r
-               case 500 :\r
-                       alert( 'The connector is disabled' ) ;\r
-                       break ;\r
                default :\r
                        alert( 'Error on file upload. Error number: ' + errorNumber ) ;\r
                        return ;\r
@@ -862,17 +671,13 @@ function CheckUpload()
                return false ;\r
        }\r
 \r
-       // Show animation\r
-       window.parent.Throbber.Show( 100 ) ;\r
-       GetE( 'divUpload' ).style.display  = 'none' ;\r
-\r
        return true ;\r
 }\r
 \r
 function SetDefaultTarget()\r
 {\r
-       var target = FCKConfig.DefaultLinkTarget || '' ;\r
-\r
+       var target = FCKConfig.DefaultLinkTarget + '' ;\r
+       \r
        if ( oLink || target.length == 0 )\r
                return ;\r
 \r
@@ -888,6 +693,6 @@ function SetDefaultTarget()
                        GetE('cmbTarget').value = 'frame' ;\r
                        break ;\r
        }\r
-\r
+       \r
        GetE('txtTargetFrame').value = target ;\r
 }\r
index a67af18..a0a927e 100644 (file)
@@ -1,7 +1,7 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >\r
 <!--\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
        <script src="common/fck_dialog_common.js" type="text/javascript"></script>\r
        <script type="text/javascript">\r
 \r
-var dialog     = window.parent ;\r
-var oEditor = dialog.InnerDialogLoaded() ;\r
+var oEditor = window.parent.InnerDialogLoaded() ;\r
 \r
 // Gets the document DOM\r
 var oDOM = oEditor.FCK.EditorDocument ;\r
 var sListType = ( location.search == '?OL' ? 'OL' : 'UL' ) ;\r
 \r
-var oActiveEl = dialog.Selection.GetSelection().MoveToAncestorNode( sListType ) ;\r
+var oActiveEl = oEditor.FCKSelection.MoveToAncestorNode( sListType ) ;\r
 var oActiveSel ;\r
 \r
 window.onload = function()\r
@@ -64,10 +63,7 @@ window.onload = function()
                        oActiveSel.value = oActiveEl.getAttribute('type') ;\r
        }\r
 \r
-       dialog.SetOkButton( true ) ;\r
-       dialog.SetAutoSize( true ) ;\r
-\r
-       SelectField( sListType == 'OL' ? 'txtStartPosition' : 'selBulleted' ) ;\r
+       window.parent.SetOkButton( true ) ;\r
 }\r
 \r
 function Ok()\r
index 3e11da1..fd16c31 100644 (file)
@@ -1,7 +1,7 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">\r
 <!--\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
        <title></title>\r
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />\r
        <meta name="robots" content="noindex, nofollow" />\r
-       <script src="common/fck_dialog_common.js" type="text/javascript"></script>\r
+\r
        <script type="text/javascript">\r
-var dialog = window.parent ;\r
-var oEditor = dialog.InnerDialogLoaded() ;\r
+var oEditor = window.parent.InnerDialogLoaded() ;\r
 var FCK = oEditor.FCK;\r
 var FCKTools   = oEditor.FCKTools ;\r
 var FCKConfig  = oEditor.FCKConfig ;\r
-var FCKBrowserInfo = oEditor.FCKBrowserInfo ;\r
 \r
 window.onload = function ()\r
 {\r
        // First of all, translate the dialog box texts\r
        oEditor.FCKLanguageManager.TranslatePage(document) ;\r
-\r
-       var sPastingType = dialog.Args().CustomValue ;\r
+       \r
+       var sPastingType = window.parent.dialogArguments.CustomValue ;\r
 \r
        if ( sPastingType == 'Word' || sPastingType == 'Security' )\r
        {\r
                if ( sPastingType == 'Security' )\r
                        document.getElementById( 'xSecurityMsg' ).style.display = '' ;\r
 \r
-               // For document.domain compatibility (#123) we must do all the magic in\r
-               // the URL for IE.\r
-               var sFrameUrl = !oEditor.FCK_IS_CUSTOM_DOMAIN || !FCKBrowserInfo.IsIE ?\r
-                       'javascript:void(0)' :\r
-                       'javascript:void( (function(){' +\r
-                               'document.open() ;' +\r
-                               'document.domain=\'' + document.domain + '\' ;' +\r
-                               'document.write(\'<html><head><scr' + 'ipt>window.onerror = function() { return true ; };<\/script><\/head><body><\/body><\/html>\') ;' +\r
-                               'document.close() ;' +\r
-                               'document.body.contentEditable = true ;' +\r
-                               'window.focus() ;' +\r
-                               '})() )' ;\r
-\r
-               var eFrameSpace = document.getElementById( 'xFrameSpace' ) ;\r
-               eFrameSpace.innerHTML = '<iframe id="frmData" src="' + sFrameUrl + '" ' +\r
-                                       'height="98%" width="99%" frameborder="0" style="border: #000000 1px; background-color: #ffffff"><\/iframe>' ;\r
-\r
-               var oFrame = eFrameSpace.firstChild ;\r
-\r
-               if ( !oEditor.FCK_IS_CUSTOM_DOMAIN || !FCKBrowserInfo.IsIE )\r
-               {\r
-                       // Avoid errors if the pasted content has any script that fails: #389\r
-                       var oDoc = oFrame.contentWindow.document ;\r
-                       oDoc.open() ;\r
-                       oDoc.write('<html><head><scr' + 'ipt>window.onerror = function() { return true ; };<\/script><\/head><body><\/body><\/html>') ;\r
-                       oDoc.close() ;\r
-\r
-                       if ( FCKBrowserInfo.IsIE )\r
-                               oDoc.body.contentEditable = true ;\r
-                       else\r
-                               oDoc.designMode = 'on' ;\r
+               var oFrame = document.getElementById('frmData') ;\r
+               oFrame.style.display = '' ;\r
 \r
-                       oFrame.contentWindow.focus();\r
-               }\r
+               if ( oFrame.contentDocument )\r
+                       oFrame.contentDocument.designMode = 'on' ;\r
+               else\r
+                       oFrame.contentWindow.document.body.contentEditable = true ;\r
        }\r
        else\r
        {\r
                document.getElementById('txtData').style.display = '' ;\r
-               SelectField( 'txtData' ) ;\r
        }\r
 \r
        if ( sPastingType != 'Word' )\r
                document.getElementById('oWordCommands').style.display = 'none' ;\r
 \r
-       dialog.SetOkButton( true ) ;\r
-       dialog.SetAutoSize( true ) ;\r
+       window.parent.SetOkButton( true ) ;\r
+       window.parent.SetAutoSize( true ) ;\r
 }\r
 \r
 function Ok()\r
 {\r
-       // Before doing anything, save undo snapshot.\r
-       oEditor.FCKUndo.SaveUndoStep() ;\r
-\r
        var sHtml ;\r
 \r
-       var sPastingType = dialog.Args().CustomValue ;\r
+       var sPastingType = window.parent.dialogArguments.CustomValue ;\r
 \r
        if ( sPastingType == 'Word' || sPastingType == 'Security' )\r
        {\r
@@ -134,44 +101,7 @@ function Ok()
        else\r
        {\r
                sHtml = oEditor.FCKTools.HTMLEncode( document.getElementById('txtData').value )  ;\r
-               sHtml = FCKTools.ProcessLineBreaks( oEditor, FCKConfig, sHtml ) ;\r
-\r
-               // FCK.InsertHtml() does not work for us, since document fragments cannot contain node fragments. :(\r
-               // Use the marker method instead. It's primitive, but it works.\r
-               var range = new oEditor.FCKDomRange( oEditor.FCK.EditorWindow ) ;\r
-               var oDoc = oEditor.FCK.EditorDocument ;\r
-               dialog.Selection.EnsureSelection() ;\r
-               range.MoveToSelection() ;\r
-               range.DeleteContents() ;\r
-               var marker = [] ;\r
-               for ( var i = 0 ; i < 5 ; i++ )\r
-                       marker.push( parseInt(Math.random() * 100000, 10 ) ) ;\r
-               marker = marker.join( "" ) ;\r
-               range.InsertNode ( oDoc.createTextNode( marker ) ) ;\r
-               var bookmark = range.CreateBookmark() ;\r
-\r
-               // Now we've got a marker indicating the paste position in the editor document.\r
-               // Find its position in the HTML code.\r
-               var htmlString = oDoc.body.innerHTML ;\r
-               var index = htmlString.indexOf( marker ) ;\r
-\r
-               // Split it the HTML code up, add the code we generated, and put them back together.\r
-               var htmlList = [] ;\r
-               htmlList.push( htmlString.substr( 0, index ) ) ;\r
-               htmlList.push( sHtml ) ;\r
-               htmlList.push( htmlString.substr( index + marker.length ) ) ;\r
-               htmlString = htmlList.join( "" ) ;\r
-\r
-               if ( oEditor.FCKBrowserInfo.IsIE )\r
-                       oEditor.FCK.SetInnerHtml( htmlString ) ;\r
-               else\r
-                       oDoc.body.innerHTML = htmlString ;\r
-\r
-               range.MoveToBookmark( bookmark ) ;\r
-               range.Collapse( false ) ;\r
-               range.Select() ;\r
-               range.Release() ;\r
-               return true ;\r
+               sHtml = sHtml.replace( /\n/g, '<BR>' ) ;\r
        }\r
 \r
        oEditor.FCK.InsertHtml( sHtml ) ;\r
@@ -179,6 +109,17 @@ function Ok()
        return true ;\r
 }\r
 \r
+function CleanUpBox()\r
+{\r
+       var oFrame = document.getElementById('frmData') ;\r
+\r
+       if ( oFrame.contentDocument )\r
+               oFrame.contentDocument.body.innerHTML = '' ;\r
+       else\r
+               oFrame.contentWindow.document.body.innerHTML = '' ;\r
+}\r
+\r
+\r
 // This function will be called from the PasteFromWord dialog (fck_paste.html)\r
 // Input: oNode a DOM node that contains the raw paste from the clipboard\r
 // bIgnoreFont, bRemoveStyles booleans according to the values set in the dialog\r
@@ -188,17 +129,17 @@ function CleanWord( oNode, bIgnoreFont, bRemoveStyles )
        var html = oNode.innerHTML ;\r
 \r
        html = html.replace(/<o:p>\s*<\/o:p>/g, '') ;\r
-       html = html.replace(/<o:p>[\s\S]*?<\/o:p>/g, '&nbsp;') ;\r
+       html = html.replace(/<o:p>.*?<\/o:p>/g, '&nbsp;') ;\r
 \r
        // Remove mso-xxx styles.\r
        html = html.replace( /\s*mso-[^:]+:[^;"]+;?/gi, '' ) ;\r
 \r
        // Remove margin styles.\r
-       html = html.replace( /\s*MARGIN: 0(?:cm|in) 0(?:cm|in) 0pt\s*;/gi, '' ) ;\r
-       html = html.replace( /\s*MARGIN: 0(?:cm|in) 0(?:cm|in) 0pt\s*"/gi, "\"" ) ;\r
+       html = html.replace( /\s*MARGIN: 0cm 0cm 0pt\s*;/gi, '' ) ;\r
+       html = html.replace( /\s*MARGIN: 0cm 0cm 0pt\s*"/gi, "\"" ) ;\r
 \r
-       html = html.replace( /\s*TEXT-INDENT: 0(?:cm|in)\s*;/gi, '' ) ;\r
-       html = html.replace( /\s*TEXT-INDENT: 0(?:cm|in)\s*"/gi, "\"" ) ;\r
+       html = html.replace( /\s*TEXT-INDENT: 0cm\s*;/gi, '' ) ;\r
+       html = html.replace( /\s*TEXT-INDENT: 0cm\s*"/gi, "\"" ) ;\r
 \r
        html = html.replace( /\s*TEXT-ALIGN: [^\s;]+;?"/gi, "\"" ) ;\r
 \r
@@ -225,10 +166,6 @@ function CleanWord( oNode, bIgnoreFont, bRemoveStyles )
        if ( bRemoveStyles )\r
                html = html.replace( /<(\w[^>]*) style="([^\"]*)"([^>]*)/gi, "<$1$3" ) ;\r
 \r
-       // Remove style, meta and link tags\r
-       html = html.replace( /<STYLE[^>]*>[\s\S]*?<\/STYLE[^>]*>/gi, '' ) ;\r
-       html = html.replace( /<(?:META|LINK)[^>]*>\s*/gi, '' ) ;\r
-\r
        // Remove empty styles.\r
        html =  html.replace( /\s*style="\s*"/gi, '' ) ;\r
 \r
@@ -239,35 +176,25 @@ function CleanWord( oNode, bIgnoreFont, bRemoveStyles )
        // Remove Lang attributes\r
        html = html.replace(/<(\w[^>]*) lang=([^ |>]*)([^>]*)/gi, "<$1$3") ;\r
 \r
-       html = html.replace( /<SPAN\s*>([\s\S]*?)<\/SPAN>/gi, '$1' ) ;\r
+       html = html.replace( /<SPAN\s*>(.*?)<\/SPAN>/gi, '$1' ) ;\r
 \r
-       html = html.replace( /<FONT\s*>([\s\S]*?)<\/FONT>/gi, '$1' ) ;\r
+       html = html.replace( /<FONT\s*>(.*?)<\/FONT>/gi, '$1' ) ;\r
 \r
        // Remove XML elements and declarations\r
        html = html.replace(/<\\?\?xml[^>]*>/gi, '' ) ;\r
 \r
-       // Remove w: tags with contents.\r
-       html = html.replace( /<w:[^>]*>[\s\S]*?<\/w:[^>]*>/gi, '' ) ;\r
-\r
        // Remove Tags with XML namespace declarations: <o:p><\/o:p>\r
        html = html.replace(/<\/?\w+:[^>]*>/gi, '' ) ;\r
 \r
        // Remove comments [SF BUG-1481861].\r
-       html = html.replace(/<\!--[\s\S]*?-->/g, '' ) ;\r
+       html = html.replace(/<\!--.*-->/g, '' ) ;\r
 \r
        html = html.replace( /<(U|I|STRIKE)>&nbsp;<\/\1>/g, '&nbsp;' ) ;\r
 \r
        html = html.replace( /<H\d>\s*<\/H\d>/gi, '' ) ;\r
 \r
        // Remove "display:none" tags.\r
-       html = html.replace( /<(\w+)[^>]*\sstyle="[^"]*DISPLAY\s?:\s?none[\s\S]*?<\/\1>/ig, '' ) ;\r
-\r
-       // Remove language tags\r
-       html = html.replace( /<(\w[^>]*) language=([^ |>]*)([^>]*)/gi, "<$1$3") ;\r
-\r
-       // Remove onmouseover and onmouseout events (from MS Word comments effect)\r
-       html = html.replace( /<(\w[^>]*) onmouseover="([^\"]*)"([^>]*)/gi, "<$1$3") ;\r
-       html = html.replace( /<(\w[^>]*) onmouseout="([^\"]*)"([^>]*)/gi, "<$1$3") ;\r
+       html = html.replace( /<(\w+)[^>]*\sstyle="[^"]*DISPLAY\s?:\s?none(.*?)<\/\1>/ig, '' ) ;\r
 \r
        if ( FCKConfig.CleanWordKeepsStructure )\r
        {\r
@@ -275,8 +202,8 @@ function CleanWord( oNode, bIgnoreFont, bRemoveStyles )
                html = html.replace( /<H(\d)([^>]*)>/gi, '<h$1>' ) ;\r
 \r
                // Word likes to insert extra <font> tags, when using MSIE. (Wierd).\r
-               html = html.replace( /<(H\d)><FONT[^>]*>([\s\S]*?)<\/FONT><\/\1>/gi, '<$1>$2<\/$1>' );\r
-               html = html.replace( /<(H\d)><EM>([\s\S]*?)<\/EM><\/\1>/gi, '<$1>$2<\/$1>' );\r
+               html = html.replace( /<(H\d)><FONT[^>]*>(.*?)<\/FONT><\/\1>/gi, '<$1>$2<\/$1>' );\r
+               html = html.replace( /<(H\d)><EM>(.*?)<\/EM><\/\1>/gi, '<$1>$2<\/$1>' );\r
        }\r
        else\r
        {\r
@@ -290,7 +217,7 @@ function CleanWord( oNode, bIgnoreFont, bRemoveStyles )
                html = html.replace( /<\/H\d>/gi, '<\/font><\/b><\/div>' ) ;\r
 \r
                // Transform <P> to <DIV>\r
-               var re = new RegExp( '(<P)([^>]*>[\\s\\S]*?)(<\/P>)', 'gi' ) ;  // Different because of a IE 5.0 error\r
+               var re = new RegExp( '(<P)([^>]*>.*?)(<\/P>)', 'gi' ) ; // Different because of a IE 5.0 error\r
                html = html.replace( re, '<div$2<\/div>' ) ;\r
 \r
                // Remove empty tags (three times, just to be sure).\r
@@ -324,22 +251,33 @@ function CleanWord( oNode, bIgnoreFont, bRemoveStyles )
                        </td>\r
                </tr>\r
                <tr>\r
-                       <td id="xFrameSpace" valign="top" height="100%" style="border: #000000 1px solid">\r
+                       <td valign="top" height="100%" style="border-right: #000000 1px solid; border-top: #000000 1px solid;\r
+                               border-left: #000000 1px solid; border-bottom: #000000 1px solid">\r
                                <textarea id="txtData" cols="80" rows="5" style="border: #000000 1px; display: none;\r
                                        width: 99%; height: 98%"></textarea>\r
+                               <iframe id="frmData" src="javascript:void(0)" height="98%" width="99%" frameborder="0"\r
+                                       style="border-right: #000000 1px; border-top: #000000 1px; display: none; border-left: #000000 1px;\r
+                                       border-bottom: #000000 1px; background-color: #ffffff"></iframe>\r
                        </td>\r
                </tr>\r
                <tr id="oWordCommands">\r
                        <td>\r
-\r
-                                       <input id="chkRemoveFont" type="checkbox" checked="checked" />\r
-                                       <label for="chkRemoveFont" fcklang="DlgPasteIgnoreFont">\r
-                                               Ignore Font Face definitions</label>\r
-                                       <br />\r
-                                       <input id="chkRemoveStyles" type="checkbox" />\r
-                                       <label for="chkRemoveStyles" fcklang="DlgPasteRemoveStyles">\r
-                                               Remove Styles definitions</label>\r
-\r
+                               <table border="0" cellpadding="0" cellspacing="0" width="100%">\r
+                                       <tr>\r
+                                               <td nowrap="nowrap">\r
+                                                       <input id="chkRemoveFont" type="checkbox" checked="checked" />\r
+                                                       <label for="chkRemoveFont" fcklang="DlgPasteIgnoreFont">\r
+                                                               Ignore Font Face definitions</label>\r
+                                                       <br />\r
+                                                       <input id="chkRemoveStyles" type="checkbox" />\r
+                                                       <label for="chkRemoveStyles" fcklang="DlgPasteRemoveStyles">\r
+                                                               Remove Styles definitions</label>\r
+                                               </td>\r
+                                               <td align="right" valign="top">\r
+                                                       <input type="button" fcklang="DlgPasteCleanBox" value="Clean Up Box" onclick="CleanUpBox()" />\r
+                                               </td>\r
+                                       </tr>\r
+                               </table>\r
                        </td>\r
                </tr>\r
        </table>\r
index 556890f..f239ad3 100644 (file)
@@ -1,7 +1,7 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >\r
 <!--\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
                <script src="common/fck_dialog_common.js" type="text/javascript"></script>\r
                <script type="text/javascript">\r
 \r
-var dialog     = window.parent ;\r
-var oEditor = dialog.InnerDialogLoaded() ;\r
+var oEditor = window.parent.InnerDialogLoaded() ;\r
 \r
 // Gets the document DOM\r
 var oDOM = oEditor.FCK.EditorDocument ;\r
 \r
-var oActiveEl = dialog.Selection.GetSelectedElement() ;\r
+var oActiveEl = oEditor.FCKSelection.GetSelectedElement() ;\r
 \r
 window.onload = function()\r
 {\r
@@ -51,16 +50,20 @@ window.onload = function()
        else\r
                oActiveEl = null ;\r
 \r
-       dialog.SetOkButton( true ) ;\r
-       dialog.SetAutoSize( true ) ;\r
-       SelectField( 'txtName' ) ;\r
+       window.parent.SetOkButton( true ) ;\r
 }\r
 \r
 function Ok()\r
 {\r
-       oEditor.FCKUndo.SaveUndoStep() ;\r
+       if ( !oActiveEl )\r
+       {\r
+               oActiveEl = oEditor.FCK.EditorDocument.createElement( 'INPUT' ) ;\r
+               oActiveEl.type = 'radio' ;\r
+               oActiveEl = oEditor.FCK.InsertElementAndGetIt( oActiveEl ) ;\r
+       }\r
 \r
-       oActiveEl = CreateNamedElement( oEditor, oActiveEl, 'INPUT', {name: GetE('txtName').value, type: 'radio' } ) ;\r
+       if ( GetE('txtName').value.length > 0 )\r
+               oActiveEl.name = GetE('txtName').value ;\r
 \r
        if ( oEditor.FCKBrowserInfo.IsIE )\r
                oActiveEl.value = GetE('txtValue').value ;\r
index 2c574d2..fe5a788 100644 (file)
@@ -1,7 +1,7 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">\r
 <!--\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
  *\r
  * == END LICENSE ==\r
  *\r
- * "Find" and "Replace" dialog box window.\r
+ * "Replace" dialog box window.\r
 -->\r
 <html xmlns="http://www.w3.org/1999/xhtml">\r
 <head>\r
        <title></title>\r
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />\r
        <meta content="noindex, nofollow" name="robots" />\r
-       <script src="common/fck_dialog_common.js" type="text/javascript"></script>\r
        <script type="text/javascript">\r
 \r
-var dialog     = window.parent ;\r
-var oEditor = dialog.InnerDialogLoaded() ;\r
-var dialogArguments = dialog.Args() ;\r
+var oEditor = window.parent.InnerDialogLoaded() ;\r
 \r
-var FCKLang = oEditor.FCKLang ;\r
-var FCKDomTools = oEditor.FCKDomTools ;\r
-var FCKDomRange = oEditor.FCKDomRange ;\r
-var FCKListsLib = oEditor.FCKListsLib ;\r
-var FCKTools = oEditor.FCKTools ;\r
-var EditorDocument = oEditor.FCK.EditorDocument ;\r
-var HighlightStyle = oEditor.FCKStyles.GetStyle( '_FCK_SelectionHighlight' )  ;\r
-\r
-dialog.AddTab( 'Find', FCKLang.DlgFindTitle ) ;\r
-dialog.AddTab( 'Replace', FCKLang.DlgReplaceTitle ) ;\r
-var idMap = {} ;\r
-\r
-function OnDialogTabChange( tabCode )\r
+function OnLoad()\r
 {\r
-       ShowE( 'divFind', ( tabCode == 'Find' ) ) ;\r
-       ShowE( 'divReplace', ( tabCode == 'Replace' ) ) ;\r
-       idMap['FindText'] = 'txtFind' + tabCode ;\r
-       idMap['CheckCase'] = 'chkCase' + tabCode ;\r
-       idMap['CheckWord'] = 'chkWord' + tabCode ;\r
+       // First of all, translate the dialog box texts\r
+       oEditor.FCKLanguageManager.TranslatePage( document ) ;\r
 \r
-       if ( tabCode == 'Replace' )\r
-               dialog.SetAutoSize( true ) ;\r
-}\r
+       window.parent.SetAutoSize( true ) ;\r
 \r
-GetNextNonEmptyTextNode = function( node, stopNode )\r
-{\r
-       while ( ( node = FCKDomTools.GetNextSourceNode( node, false, 3, stopNode ) ) && node && node.length < 1 )\r
-               1 ;\r
-       return node ;\r
+       oEditor.FCKUndo.SaveUndoStep() ;\r
 }\r
 \r
-CharacterCursor = function( arg )\r
+function btnStat(frm)\r
 {\r
-       if ( arg.nodeType && arg.nodeType == 9 )\r
-       {\r
-               this._textNode = GetNextNonEmptyTextNode( arg.body, arg.documentElement ) ;\r
-               this._offset = 0 ;\r
-               this._doc = arg ;\r
-       }\r
-       else\r
-       {\r
-               this._textNode = arguments[0] ;\r
-               this._offset = arguments[1] ;\r
-               this._doc = FCKTools.GetElementDocument( arguments[0] ) ;\r
-       }\r
+       document.getElementById('btnReplace').disabled =\r
+               document.getElementById('btnReplaceAll').disabled =\r
+                       ( document.getElementById('txtFind').value.length == 0 ) ;\r
 }\r
-CharacterCursor.prototype =\r
-{\r
-       GetCharacter : function()\r
-       {\r
-               return ( this._textNode && this._textNode.nodeValue.charAt( this._offset ) ) || null ;\r
-       },\r
-\r
-       // Non-normalized.\r
-       GetTextNode : function()\r
-       {\r
-               return this._textNode ;\r
-       },\r
 \r
-       // Non-normalized.\r
-       GetIndex : function()\r
-       {\r
-               return this._offset ;\r
-       },\r
-\r
-       // Return value means whehther we've crossed a line break or a paragraph boundary.\r
-       MoveNext : function()\r
-       {\r
-               if ( this._offset < this._textNode.length - 1 )\r
-               {\r
-                       this._offset++ ;\r
-                       return false ;\r
-               }\r
-\r
-               var crossed = false ;\r
-               var curNode = this._textNode ;\r
-               while ( ( curNode = FCKDomTools.GetNextSourceNode( curNode ) )\r
-                               && curNode && ( curNode.nodeType != 3 || curNode.length < 1 ) )\r
-               {\r
-                       var tag = curNode.nodeName.toLowerCase() ;\r
-                       if ( FCKListsLib.BlockElements[tag] || tag == 'br' )\r
-                               crossed = true ;\r
-               }\r
-\r
-               this._textNode = curNode ;\r
-               this._offset = 0 ;\r
-               return crossed ;\r
-       },\r
-\r
-       // Return value means whehther we've crossed a line break or a paragraph boundary.\r
-       MoveBack : function()\r
-       {\r
-               if ( this._offset > 0 && this._textNode.length > 0 )\r
-               {\r
-                       this._offset = Math.min( this._offset - 1, this._textNode.length - 1 ) ;\r
-                       return false ;\r
-               }\r
-\r
-               var crossed = false ;\r
-               var curNode = this._textNode ;\r
-               while ( ( curNode = FCKDomTools.GetPreviousSourceNode( curNode ) )\r
-                               && curNode && ( curNode.nodeType != 3 || curNode.length < 1 ) )\r
-               {\r
-                       var tag = curNode.nodeName.toLowerCase() ;\r
-                       if ( FCKListsLib.BlockElements[tag] || tag == 'br' )\r
-                               crossed = true ;\r
-               }\r
-\r
-               this._textNode = curNode ;\r
-               this._offset = curNode && curNode.length - 1 ;\r
-               return crossed ;\r
-       },\r
-\r
-       Clone : function()\r
-       {\r
-               return new CharacterCursor( this._textNode, this._offset ) ;\r
-       }\r
-} ;\r
-\r
-CharacterRange = function( initCursor, maxLength )\r
-{\r
-       this._cursors = initCursor.push ? initCursor : [initCursor] ;\r
-       this._maxLength = maxLength ;\r
-       this._highlightRange = null ;\r
-}\r
-CharacterRange.prototype =\r
+function ReplaceTextNodes( parentNode, regex, replaceValue, replaceAll, hasFound )\r
 {\r
-       ToDomRange : function()\r
+       for ( var i = 0 ; i < parentNode.childNodes.length ; i++ )\r
        {\r
-               var firstCursor = this._cursors[0] ;\r
-               var lastCursor = this._cursors[ this._cursors.length - 1 ] ;\r
-               var domRange = new FCKDomRange( FCKTools.GetElementWindow( firstCursor.GetTextNode() ) ) ;\r
-               var w3cRange = domRange._Range = domRange.CreateRange() ;\r
-               w3cRange.setStart( firstCursor.GetTextNode(), firstCursor.GetIndex() ) ;\r
-               w3cRange.setEnd( lastCursor.GetTextNode(), lastCursor.GetIndex() + 1 ) ;\r
-               domRange._UpdateElementInfo() ;\r
-               return domRange ;\r
-       },\r
-\r
-       Highlight : function()\r
-       {\r
-               if ( this._cursors.length < 1 )\r
-                       return ;\r
-\r
-               var domRange = this.ToDomRange() ;\r
-               HighlightStyle.ApplyToRange( domRange, false, true ) ;\r
-               this._highlightRange = domRange ;\r
-\r
-               var charRange = CharacterRange.CreateFromDomRange( domRange ) ;\r
-               var focusNode = domRange.StartNode ;\r
-               if ( focusNode.nodeType != 1 )\r
-                       focusNode = focusNode.parentNode ;\r
-               FCKDomTools.ScrollIntoView( focusNode, false ) ;\r
-               this._cursors = charRange._cursors ;\r
-       },\r
-\r
-       RemoveHighlight : function()\r
-       {\r
-               if ( this._highlightRange )\r
-               {\r
-                       HighlightStyle.RemoveFromRange( this._highlightRange, false, true ) ;\r
-                       var charRange = CharacterRange.CreateFromDomRange( this._highlightRange ) ;\r
-                       this._cursors = charRange._cursors ;\r
-                       this._highlightRange = null ;\r
-               }\r
-       },\r
-\r
-       GetHighlightDomRange : function()\r
-       {\r
-               return this._highlightRange;\r
-       },\r
-\r
-       MoveNext : function()\r
-       {\r
-               var next = this._cursors[ this._cursors.length - 1 ].Clone() ;\r
-               var retval = next.MoveNext() ;\r
-               if ( retval )\r
-                       this._cursors = [] ;\r
-               this._cursors.push( next ) ;\r
-               if ( this._cursors.length > this._maxLength )\r
-                       this._cursors.shift() ;\r
-               return retval ;\r
-       },\r
-\r
-       MoveBack : function()\r
-       {\r
-               var prev = this._cursors[0].Clone() ;\r
-               var retval = prev.MoveBack() ;\r
-               if ( retval )\r
-                       this._cursors = [] ;\r
-               this._cursors.unshift( prev ) ;\r
-               if ( this._cursors.length > this._maxLength )\r
-                       this._cursors.pop() ;\r
-               return retval ;\r
-       },\r
-\r
-       GetEndCharacter : function()\r
-       {\r
-               if ( this._cursors.length < 1 )\r
-                       return null ;\r
-               var retval = this._cursors[ this._cursors.length - 1 ].GetCharacter() ;\r
-               return retval ;\r
-       },\r
-\r
-       GetNextRange : function( len )\r
-       {\r
-               if ( this._cursors.length == 0 )\r
-                       return null ;\r
-               var cur = this._cursors[ this._cursors.length - 1 ].Clone() ;\r
-               cur.MoveNext() ;\r
-               return new CharacterRange( cur, len ) ;\r
-       },\r
-\r
-       GetCursors : function()\r
-       {\r
-               return this._cursors ;\r
-       }\r
-} ;\r
-\r
-CharacterRange.CreateFromDomRange = function( domRange )\r
-{\r
-       var w3cRange = domRange._Range ;\r
-       var startContainer = w3cRange.startContainer ;\r
-       var endContainer = w3cRange.endContainer ;\r
-       var startTextNode, startIndex, endTextNode, endIndex ;\r
-\r
-       if ( startContainer.nodeType == 3 )\r
-       {\r
-               startTextNode = startContainer ;\r
-               startIndex = w3cRange.startOffset ;\r
-       }\r
-       else if ( domRange.StartNode.nodeType == 3 )\r
-       {\r
-               startTextNode = domRange.StartNode ;\r
-               startIndex = 0 ;\r
-       }\r
-       else\r
-       {\r
-               startTextNode = GetNextNonEmptyTextNode( domRange.StartNode, domRange.StartNode.parentNode ) ;\r
-               if ( !startTextNode )\r
-                       return null ;\r
-               startIndex = 0 ;\r
-       }\r
-\r
-       if ( endContainer.nodeType == 3 && w3cRange.endOffset > 0 )\r
-       {\r
-               endTextNode = endContainer ;\r
-               endIndex = w3cRange.endOffset - 1 ;\r
-       }\r
-       else\r
-       {\r
-               endTextNode = domRange.EndNode ;\r
-               while ( endTextNode.nodeType != 3 )\r
-                       endTextNode = endTextNode.lastChild ;\r
-               endIndex = endTextNode.length - 1 ;\r
-       }\r
-\r
-       var cursors = [] ;\r
-       var current = new CharacterCursor( startTextNode, startIndex ) ;\r
-       cursors.push( current ) ;\r
-       if ( !( current.GetTextNode() == endTextNode && current.GetIndex() == endIndex ) && !domRange.CheckIsEmpty() )\r
-       {\r
-               do\r
+               var oNode = parentNode.childNodes[i] ;\r
+               if ( oNode.nodeType == 3 )\r
                {\r
-                       current = current.Clone() ;\r
-                       current.MoveNext() ;\r
-                       cursors.push( current ) ;\r
-               }\r
-               while ( !( current.GetTextNode() == endTextNode && current.GetIndex() == endIndex ) ) ;\r
-       }\r
-\r
-       return new CharacterRange( cursors, cursors.length ) ;\r
-}\r
-\r
-// Knuth-Morris-Pratt Algorithm for stream input\r
-KMP_NOMATCH = 0 ;\r
-KMP_ADVANCED = 1 ;\r
-KMP_MATCHED = 2 ;\r
-KmpMatch = function( pattern, ignoreCase )\r
-{\r
-       var overlap = [ -1 ] ;\r
-       for ( var i = 0 ; i < pattern.length ; i++ )\r
-       {\r
-               overlap.push( overlap[i] + 1 ) ;\r
-               while ( overlap[ i + 1 ] > 0 && pattern.charAt( i ) != pattern.charAt( overlap[ i + 1 ] - 1 ) )\r
-                       overlap[ i + 1 ] = overlap[ overlap[ i + 1 ] - 1 ] + 1 ;\r
-       }\r
-       this._Overlap = overlap ;\r
-       this._State = 0 ;\r
-       this._IgnoreCase = ( ignoreCase === true ) ;\r
-       if ( ignoreCase )\r
-               this.Pattern = pattern.toLowerCase();\r
-       else\r
-               this.Pattern = pattern ;\r
-}\r
-KmpMatch.prototype = {\r
-       FeedCharacter : function( c )\r
-       {\r
-               if ( this._IgnoreCase )\r
-                       c = c.toLowerCase();\r
-\r
-               while ( true )\r
-               {\r
-                       if ( c == this.Pattern.charAt( this._State ) )\r
+                       var sReplaced = oNode.nodeValue.replace( regex, replaceValue ) ;\r
+                       if ( oNode.nodeValue != sReplaced )\r
                        {\r
-                               this._State++ ;\r
-                               if ( this._State == this.Pattern.length )\r
-                               {\r
-                                       // found a match, start over, don't care about partial matches involving the current match\r
-                                       this._State = 0;\r
-                                       return KMP_MATCHED;\r
-                               }\r
-                               return KMP_ADVANCED ;\r
+                               oNode.nodeValue = sReplaced ;\r
+                               if ( ! replaceAll )\r
+                                       return true ;\r
+                               hasFound = true ;\r
                        }\r
-                       else if ( this._State == 0 )\r
-                               return KMP_NOMATCH;\r
-                       else\r
-                               this._State = this._Overlap[ this._State ];\r
                }\r
 \r
-               return null ;\r
-       },\r
-\r
-       Reset : function()\r
-       {\r
-               this._State = 0 ;\r
-       }\r
-};\r
-\r
-// Place a range at the start of document.\r
-function OnLoad()\r
-{\r
-       // First of all, translate the dialog box texts.\r
-       oEditor.FCKLanguageManager.TranslatePage( document ) ;\r
-\r
-       // Show the appropriate tab at startup.\r
-       if ( dialogArguments.CustomValue == 'Find' )\r
-       {\r
-               dialog.SetSelectedTab( 'Find' ) ;\r
-               dialog.SetAutoSize( true ) ;\r
+               hasFound = ReplaceTextNodes( oNode, regex, replaceValue, replaceAll, hasFound ) ;\r
+               if ( ! replaceAll && hasFound )\r
+                       return true ;\r
        }\r
-       else\r
-               dialog.SetSelectedTab( 'Replace' ) ;\r
 \r
-       SelectField( 'txtFind' + dialogArguments.CustomValue ) ;\r
+       return hasFound ;\r
 }\r
 \r
-function btnStat()\r
+function GetRegexExpr()\r
 {\r
-       GetE('btnReplace').disabled =\r
-               GetE('btnReplaceAll').disabled =\r
-                       GetE('btnFind').disabled =\r
-                               ( GetE(idMap["FindText"]).value.length == 0 ) ;\r
-}\r
-\r
-function btnStatDelayed()\r
-{\r
-       setTimeout( btnStat, 1 ) ;\r
-}\r
+       var sExpr = EscapeRegexString( document.getElementById('txtFind').value ) ;\r
 \r
-function GetSearchString()\r
-{\r
-       return GetE(idMap['FindText']).value ;\r
-}\r
+       if ( document.getElementById('chkWord').checked )\r
+               sExpr = '\\b' + sExpr + '\\b' ;\r
 \r
-function GetReplaceString()\r
-{\r
-       return GetE("txtReplace").value ;\r
+       return sExpr ;\r
 }\r
 \r
-function GetCheckCase()\r
+function GetCase()\r
 {\r
-       return !! ( GetE(idMap['CheckCase']).checked ) ;\r
+       return ( document.getElementById('chkCase').checked ? '' : 'i' ) ;\r
 }\r
 \r
-function GetMatchWord()\r
+function GetReplacement()\r
 {\r
-       return !! ( GetE(idMap['CheckWord']).checked ) ;\r
-}\r
-\r
-/* Is this character a unicode whitespace or a punctuation mark?\r
- * References:\r
- * http://unicode.org/Public/UNIDATA/PropList.txt (whitespaces)\r
- * http://php.chinaunix.net/manual/tw/ref.regex.php (punctuation marks)\r
- */\r
-function CheckIsWordSeparator( c )\r
-{\r
-       if ( !c )\r
-               return true;\r
-       var code = c.charCodeAt( 0 );\r
-       if ( code >= 9 && code <= 0xd )\r
-               return true;\r
-       if ( code >= 0x2000 && code <= 0x200a )\r
-               return true;\r
-       switch ( code )\r
-       {\r
-               case 0x20:\r
-               case 0x85:\r
-               case 0xa0:\r
-               case 0x1680:\r
-               case 0x180e:\r
-               case 0x2028:\r
-               case 0x2029:\r
-               case 0x202f:\r
-               case 0x205f:\r
-               case 0x3000:\r
-                       return true;\r
-               default:\r
-       }\r
-       return /[.,"'?!;:]/.test( c ) ;\r
-}\r
-\r
-FindRange = null ;\r
-function _Find()\r
-{\r
-       var searchString = GetSearchString() ;\r
-       if ( !FindRange )\r
-               FindRange = new CharacterRange( new CharacterCursor( EditorDocument ), searchString.length ) ;\r
-       else\r
-       {\r
-               FindRange.RemoveHighlight() ;\r
-               FindRange = FindRange.GetNextRange( searchString.length ) ;\r
-       }\r
-       var matcher = new KmpMatch( searchString, ! GetCheckCase() ) ;\r
-       var matchState = KMP_NOMATCH ;\r
-       var character = '%' ;\r
-\r
-       while ( character != null )\r
-       {\r
-               while ( ( character = FindRange.GetEndCharacter() ) )\r
-               {\r
-                       matchState = matcher.FeedCharacter( character ) ;\r
-                       if ( matchState == KMP_MATCHED )\r
-                               break ;\r
-                       if ( FindRange.MoveNext() )\r
-                               matcher.Reset() ;\r
-               }\r
-\r
-               if ( matchState == KMP_MATCHED )\r
-               {\r
-                       if ( GetMatchWord() )\r
-                       {\r
-                               var cursors = FindRange.GetCursors() ;\r
-                               var head = cursors[ cursors.length - 1 ].Clone() ;\r
-                               var tail = cursors[0].Clone() ;\r
-                               if ( !head.MoveNext() && !CheckIsWordSeparator( head.GetCharacter() ) )\r
-                                       continue ;\r
-                               if ( !tail.MoveBack() && !CheckIsWordSeparator( tail.GetCharacter() ) )\r
-                                       continue ;\r
-                       }\r
-\r
-                       FindRange.Highlight() ;\r
-                       return true ;\r
-               }\r
-       }\r
-\r
-       FindRange = null ;\r
-       return false ;\r
+       return document.getElementById('txtReplace').value.replace( /\$/g, '$$$$' ) ;\r
 }\r
 \r
-function Find()\r
+function EscapeRegexString( str )\r
 {\r
-       if ( ! _Find() )\r
-               alert( FCKLang.DlgFindNotFoundMsg ) ;\r
+       return str.replace( /[\\\^\$\*\+\?\{\}\.\(\)\!\|\[\]\-]/g, '\\$&' ) ;\r
 }\r
 \r
 function Replace()\r
 {\r
-       var saveUndoStep = function( selectRange )\r
-       {\r
-               var ieRange ;\r
-               if ( oEditor.FCKBrowserInfo.IsIE )\r
-                       ieRange = document.selection.createRange() ;\r
-\r
-               selectRange.Select() ;\r
-               oEditor.FCKUndo.SaveUndoStep() ;\r
-               var cloneRange = selectRange.Clone() ;\r
-               cloneRange.Collapse( false ) ;\r
-               cloneRange.Select() ;\r
-\r
-               if ( ieRange )\r
-                       setTimeout( function(){ ieRange.select() ; }, 1 ) ;\r
-       }\r
-\r
-       if ( FindRange && FindRange.GetHighlightDomRange() )\r
-       {\r
-               var range = FindRange.GetHighlightDomRange() ;\r
-               var bookmark = range.CreateBookmark() ;\r
-               FindRange.RemoveHighlight() ;\r
-               range.MoveToBookmark( bookmark ) ;\r
-\r
-               saveUndoStep( range ) ;\r
-               range.DeleteContents() ;\r
-               range.InsertNode( EditorDocument.createTextNode( GetReplaceString() ) ) ;\r
-               range._UpdateElementInfo() ;\r
-\r
-               FindRange = CharacterRange.CreateFromDomRange( range ) ;\r
-       }\r
-       else\r
-       {\r
-               if ( ! _Find() )\r
-               {\r
-                       FindRange && FindRange.RemoveHighlight() ;\r
-                       alert( FCKLang.DlgFindNotFoundMsg ) ;\r
-               }\r
-       }\r
+       var oRegex = new RegExp( GetRegexExpr(), GetCase() ) ;\r
+       if ( !ReplaceTextNodes( oEditor.FCK.EditorDocument.body, oRegex, GetReplacement(), false, false ) )\r
+               alert( oEditor.FCKLang.DlgFindNotFoundMsg ) ;\r
 }\r
 \r
 function ReplaceAll()\r
 {\r
-       oEditor.FCKUndo.SaveUndoStep() ;\r
-       var replaceCount = 0 ;\r
-\r
-       while ( _Find() )\r
-       {\r
-               var range = FindRange.GetHighlightDomRange() ;\r
-               var bookmark = range.CreateBookmark() ;\r
-               FindRange.RemoveHighlight() ;\r
-               range.MoveToBookmark( bookmark) ;\r
-\r
-               range.DeleteContents() ;\r
-               range.InsertNode( EditorDocument.createTextNode( GetReplaceString() ) ) ;\r
-               range._UpdateElementInfo() ;\r
-\r
-               FindRange = CharacterRange.CreateFromDomRange( range ) ;\r
-               replaceCount++ ;\r
-       }\r
-       if ( replaceCount == 0 )\r
-       {\r
-               FindRange && FindRange.RemoveHighlight() ;\r
-               alert( FCKLang.DlgFindNotFoundMsg ) ;\r
-       }\r
-       dialog.Cancel() ;\r
-}\r
-\r
-window.onunload = function()\r
-{\r
-       if ( FindRange )\r
-       {\r
-               FindRange.RemoveHighlight() ;\r
-               FindRange.ToDomRange().Select() ;\r
-       }\r
+       var oRegex = new RegExp( GetRegexExpr(), GetCase() + 'g' ) ;\r
+       if ( !ReplaceTextNodes( oEditor.FCK.EditorDocument.body, oRegex, GetReplacement(), true, false ) )\r
+               alert( oEditor.FCKLang.DlgFindNotFoundMsg ) ;\r
+       window.parent.Cancel() ;\r
 }\r
        </script>\r
 </head>\r
 <body onload="OnLoad()" style="overflow: hidden">\r
-       <div id="divFind" style="display: none">\r
-               <table cellspacing="3" cellpadding="2" width="100%" border="0">\r
-                       <tr>\r
-                               <td nowrap="nowrap">\r
-                                       <label for="txtFindFind" fcklang="DlgReplaceFindLbl">\r
-                                               Find what:</label>\r
-                               </td>\r
-                               <td width="100%">\r
-                                       <input id="txtFindFind" onkeyup="btnStat()" oninput="btnStat()" onpaste="btnStatDelayed()" style="width: 100%" tabindex="1"\r
-                                               type="text" />\r
-                               </td>\r
-                               <td>\r
-                                       <input id="btnFind" style="width: 80px" disabled="disabled" onclick="Find();"\r
-                                               type="button" value="Find" fcklang="DlgFindFindBtn" />\r
-                               </td>\r
-                       </tr>\r
-                       <tr>\r
-                               <td valign="bottom" colspan="3">\r
-                                       &nbsp;<input id="chkCaseFind" tabindex="3" type="checkbox" /><label for="chkCaseFind" fcklang="DlgReplaceCaseChk">Match\r
-                                               case</label>\r
-                                       <br />\r
-                                       &nbsp;<input id="chkWordFind" tabindex="4" type="checkbox" /><label for="chkWordFind" fcklang="DlgReplaceWordChk">Match\r
-                                               whole word</label>\r
-                               </td>\r
-                       </tr>\r
-               </table>\r
-       </div>\r
-       <div id="divReplace" style="display:none">\r
-               <table cellspacing="3" cellpadding="2" width="100%" border="0">\r
-                       <tr>\r
-                               <td nowrap="nowrap">\r
-                                       <label for="txtFindReplace" fcklang="DlgReplaceFindLbl">\r
-                                               Find what:</label>\r
-                               </td>\r
-                               <td width="100%">\r
-                                       <input id="txtFindReplace" onkeyup="btnStat()" oninput="btnStat()" onpaste="btnStatDelayed()" style="width: 100%" tabindex="1"\r
-                                               type="text" />\r
-                               </td>\r
-                               <td>\r
-                                       <input id="btnReplace" style="width: 80px" disabled="disabled" onclick="Replace();"\r
-                                               type="button" value="Replace" fcklang="DlgReplaceReplaceBtn" />\r
-                               </td>\r
-                       </tr>\r
-                       <tr>\r
-                               <td valign="top" nowrap="nowrap">\r
-                                       <label for="txtReplace" fcklang="DlgReplaceReplaceLbl">\r
-                                               Replace with:</label>\r
-                               </td>\r
-                               <td valign="top">\r
-                                       <input id="txtReplace" style="width: 100%" tabindex="2" type="text" />\r
-                               </td>\r
-                               <td>\r
-                                       <input id="btnReplaceAll" style="width: 80px" disabled="disabled" onclick="ReplaceAll()" type="button"\r
-                                               value="Replace All" fcklang="DlgReplaceReplAllBtn" />\r
-                               </td>\r
-                       </tr>\r
-                       <tr>\r
-                               <td valign="bottom" colspan="3">\r
-                                       &nbsp;<input id="chkCaseReplace" tabindex="3" type="checkbox" /><label for="chkCaseReplace" fcklang="DlgReplaceCaseChk">Match\r
-                                               case</label>\r
-                                       <br />\r
-                                       &nbsp;<input id="chkWordReplace" tabindex="4" type="checkbox" /><label for="chkWordReplace" fcklang="DlgReplaceWordChk">Match\r
-                                               whole word</label>\r
-                               </td>\r
-                       </tr>\r
-               </table>\r
-       </div>\r
+       <table cellspacing="3" cellpadding="2" width="100%" border="0">\r
+               <tr>\r
+                       <td nowrap="nowrap">\r
+                               <label for="txtFind" fcklang="DlgReplaceFindLbl">\r
+                                       Find what:</label>\r
+                       </td>\r
+                       <td width="100%">\r
+                               <input id="txtFind" onkeyup="btnStat(this.form)" style="width: 100%" tabindex="1"\r
+                                       type="text" />\r
+                       </td>\r
+                       <td>\r
+                               <input id="btnReplace" style="width: 100%" disabled="disabled" onclick="Replace();"\r
+                                       type="button" value="Replace" fcklang="DlgReplaceReplaceBtn" />\r
+                       </td>\r
+               </tr>\r
+               <tr>\r
+                       <td valign="top" nowrap="nowrap">\r
+                               <label for="txtReplace" fcklang="DlgReplaceReplaceLbl">\r
+                                       Replace with:</label>\r
+                       </td>\r
+                       <td valign="top">\r
+                               <input id="txtReplace" style="width: 100%" tabindex="2" type="text" />\r
+                       </td>\r
+                       <td>\r
+                               <input id="btnReplaceAll" disabled="disabled" onclick="ReplaceAll()" type="button"\r
+                                       value="Replace All" fcklang="DlgReplaceReplAllBtn" />\r
+                       </td>\r
+               </tr>\r
+               <tr>\r
+                       <td valign="bottom" colspan="3">\r
+                               &nbsp;<input id="chkCase" tabindex="3" type="checkbox" /><label for="chkCase" fcklang="DlgReplaceCaseChk">Match\r
+                                       case</label>\r
+                               <br />\r
+                               &nbsp;<input id="chkWord" tabindex="4" type="checkbox" /><label for="chkWord" fcklang="DlgReplaceWordChk">Match\r
+                                       whole word</label>\r
+                       </td>\r
+               </tr>\r
+       </table>\r
 </body>\r
 </html>\r
diff --git a/httemplate/elements/fckeditor/editor/dialog/fck_scayt.html b/httemplate/elements/fckeditor/editor/dialog/fck_scayt.html
deleted file mode 100644 (file)
index f8ef9b4..0000000
+++ /dev/null
@@ -1,746 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >\r
-<!--\r
- * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
- *\r
- * == BEGIN LICENSE ==\r
- *\r
- * Licensed under the terms of any of the following licenses at your\r
- * choice:\r
- *\r
- *  - GNU General Public License Version 2 or later (the "GPL")\r
- *    http://www.gnu.org/licenses/gpl.html\r
- *\r
- *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")\r
- *    http://www.gnu.org/licenses/lgpl.html\r
- *\r
- *  - Mozilla Public License Version 1.1 or later (the "MPL")\r
- *    http://www.mozilla.org/MPL/MPL-1.1.html\r
- *\r
- * == END LICENSE ==\r
--->\r
-<html>\r
-       <head>\r
-               <title>SCAYT Properties</title>\r
-               <meta http-equiv="Content-Type" content="text/html; charset=utf-8">\r
-               <meta content="noindex, nofollow" name="robots">\r
-               <script src="common/fck_dialog_common.js" type="text/javascript"></script>\r
-               <link type="text/css" href="fck_scayt/scayt_dialog.css" rel="stylesheet" />\r
-               <script type="text/javascript">\r
-\r
-                       var dialog      = window.parent ;\r
-                       var oEditor     = dialog.InnerDialogLoaded() ;\r
-                       var FCKLang = oEditor.FCKLang;\r
-                       var scayt = oEditor.scayt;\r
-                       var scayt_control = oEditor.scayt_control;\r
-                       var lang_list = {};\r
-            var        sLang;\r
-                       var     fckLang;\r
-            var chosed_lang;\r
-                       var options;\r
-                       var     tabs = scayt_control.uiTags || [1,1,0,1];\r
-                       var     userDicActive = tabs[2] == 1;\r
-                       var     captions;\r
-                       var dic_buttons = [\r
-                               // [0] contains buttons for creating\r
-                               "dic_create,dic_restore",\r
-                               // [1] contains buton for manipulation\r
-                               "dic_rename,dic_delete"\r
-                       ];\r
-\r
-                       var get =\r
-                               new function(){\r
-\r
-                                       var mergeObjs = function(obj1, obj2)\r
-                                       {\r
-                                               for (var k in obj1)\r
-                                                       obj2[k] = obj1[k];\r
-\r
-                                               return obj2;\r
-                                       };\r
-\r
-                                       var removeWhitespaces = function( s )\r
-                                       {\r
-                                               s = s.replace( new RegExp("^ +| +$"), '' ) ;\r
-                                               return s ;\r
-                                       };\r
-\r
-                                       var addEvent = function( el ,sEventName, fTodo )\r
-                                       {\r
-                                               if (el.addEventListener) {\r
-                                                       el.addEventListener (sEventName,fTodo,false);\r
-\r
-                                               } else if (el.attachEvent) {\r
-                                                       el.attachEvent ("on"+sEventName,fTodo);\r
-\r
-                                               } else {\r
-                                                       el["on"+sEventName] = fTodo;\r
-                                               }\r
-                                       };\r
-\r
-                                       var getElementsByClassName = function (node,classname ,strTag) {\r
-                                               strTag = strTag || "*";\r
-                                               node = node || document;\r
-                                               if (node.getElementsByClassName)\r
-                                                       return node.getElementsByClassName(classname);\r
-                                               else {\r
-                                                       var objColl = node.getElementsByTagName(strTag);\r
-                                                       if (!objColl.length &&  strTag == "*" &&  node.all) objColl = node.all;\r
-                                                       var arr = new Array();\r
-                                                       var delim = classname.indexOf('|') != -1  ? '|' : ' ';\r
-                                                       var arrClass = classname.split(delim);\r
-                                                       for (var i = 0, j = objColl.length; i < j; i++) {\r
-                                                               var arrObjClass = objColl[i].className.split(' ');\r
-                                                               if (delim == ' ' && arrClass.length > arrObjClass.length) continue;\r
-                                                               var c = 0;\r
-                                                               comparisonLoop:\r
-                                                                       for ( var k = 0, l = arrObjClass.length ; k < l ; k++ )\r
-                                                                       {\r
-                                                                               for ( var m = 0, n = arrClass.length ; m < n ; m++ )\r
-                                                                               {\r
-                                                                                       if ( arrClass[m] == arrObjClass[k] )\r
-                                                                                               c++ ;\r
-\r
-                                                                                       if ( ( delim == '|' && c == 1 ) || ( delim == ' ' && c == arrClass.length ) )\r
-                                                                                       {\r
-                                                                                               arr.push( objColl[i] ) ;\r
-                                                                                               break comparisonLoop ;\r
-                                                                                       }\r
-                                                                               }\r
-                                                                       }\r
-                                                       }\r
-                                                       return arr;\r
-                                               }\r
-                                       };\r
-\r
-                                       var hasClassName = function ( sClassName, elem ) {\r
-                                               //.split(/\s+/);\r
-                                               var aCnames = elem.className.split(/\s+/) || [];\r
-                                               for (var i=0, l=aCnames.length; i<l ; i++){\r
-                                                       if (sClassName == aCnames[i])\r
-                                                               return true;\r
-                                               }\r
-                                               return false;\r
-                                       }\r
-\r
-                                       var single = {\r
-                                               addClass        : function ( sClassName ) {\r
-                                                       //console.info( sClassName, this.className, );\r
-                                                       if ( hasClassName(sClassName , this) )\r
-                                                               return this;\r
-                                                       var s = removeWhitespaces(this.className + " " +sClassName);\r
-                                                       this.className = s;\r
-                                                       return this;\r
-\r
-                                               },\r
-                                               removeClass : function ( sClassName ) {\r
-                                                       var s = removeWhitespaces(this.className.replace(sClassName,""));\r
-                                                       this.className = s;\r
-                                                       return this;\r
-                                               },\r
-                                               setStyle : function( oStyles )\r
-                                               {\r
-                                                       for ( var style in oStyles )\r
-                                                       {\r
-                                                               this.style[style] = oStyles[style] ;\r
-                                                       }\r
-                                                       return this ;\r
-                                               },\r
-                                               bindOnclick             : function ( handler ) {\r
-                                                       //addEvent( this, "click" , handler);\r
-                                                       this.onclick = handler;\r
-                                                       return this;\r
-                                               },\r
-                                               bindOnchange    : function ( handler ) {\r
-                                                       //addEvent( this, "change" , handler);\r
-                                                       this.onchange = handler;\r
-                                                       return this;\r
-                                               },\r
-                                               getAttr : function ( sAttrName )\r
-                                               {\r
-                                                       if ( !sAttrName )\r
-                                                               return null;\r
-\r
-                                                       return this[sAttrName];\r
-                                               },\r
-                                               setAttr : function ( sAttrName , attrVal )\r
-                                               {\r
-                                                       if ( !sAttrName || !attrVal )\r
-                                                               return null;\r
-\r
-                                                       this[sAttrName] = attrVal;\r
-\r
-                                                       return this;\r
-                                               },\r
-                                               remAttr : function ( sAttrName )\r
-                                               {\r
-                                                       if ( !sAttrName )\r
-                                                               return null;\r
-                                               }\r
-                                       };\r
-\r
-                                       var singleCaller = function ( sMethod,args ) {\r
-                                               for ( var i=0, l=this.length; i<l ; i++ ){\r
-                                                       var oItem = mergeObjs( single, this[i] );\r
-                                                       oItem[sMethod].apply(this[i],args);\r
-                                               }\r
-                                       };\r
-\r
-\r
-                                       var collection = {\r
-\r
-                                               addClass        : function ( sClassName ){\r
-                                                       singleCaller.call(this, "addClass", [sClassName])\r
-                                                       return this;\r
-                                               },\r
-                                               removeClass     : function ( sClassName ) {\r
-                                                       singleCaller.call(this, "removeClass", [sClassName])\r
-                                                       return this;\r
-                                               },\r
-                                               setStyle                : function ( oStyles ) {\r
-                                                       singleCaller.call(this, "setStyle", [oStyles])\r
-                                                       return this;\r
-                                               },\r
-                                               bindOnclick             : function ( f ) {\r
-                                                       singleCaller.call(this, "bindOnclick", [f])\r
-                                                       return this;\r
-                                               },\r
-                                               bindOnchange    : function ( f ) {\r
-                                                       singleCaller.call(this, "bindOnchange", [f])\r
-                                                       return this;\r
-                                               },\r
-\r
-                                               forEach : function ( fTodo ) {\r
-                                                       //el,i\r
-                                                       for (var i=0, l=this.length; i<l ; i++){\r
-                                                               fTodo.apply(this[i], [this[i],i ]);\r
-                                                       }\r
-                                                       return this;\r
-                                               }\r
-\r
-                                       };\r
-\r
-\r
-\r
-                                       this.byClass = function( sClassName ){\r
-                                               var o = getElementsByClassName(document, sClassName );\r
-                                               return o ? mergeObjs( collection, o ) : o;\r
-                                       };\r
-\r
-                                       this.byId = function( sId ){\r
-                                               var o = document.getElementById( sId );\r
-                                               return o ? mergeObjs( single, o ) : o;\r
-                                       };\r
-\r
-                                       this.gup = function ( name ){\r
-                                       name = name.replace( /[\[]/, '\\\[' ).replace( /[\]]/, '\\\]' ) ;\r
-                                       var regexS = '[\\?&]' + name + '=([^&#]*)' ;\r
-                                       var regex = new RegExp( regexS ) ;\r
-                                       var results = regex.exec( window.location.href ) ;\r
-\r
-                                       if( results == null )\r
-                                           return '' ;\r
-                                       else\r
-                                           return results[ 1 ] ;\r
-                                       };\r
-                                       this.wrap = function ( o ) {\r
-                                               return o ? mergeObjs( single, o ) : o;\r
-                                       };\r
-                                       this.forEach = function ( oScope, fTodo ){\r
-                                               collection.forEach.apply( oScope,[fTodo] );\r
-                                       };\r
-\r
-                                };\r
-\r
-\r
-\r
-                       // Add the dialog tabs.\r
-                       tabs[0] == 1 && dialog.AddTab( 'options', 'Options' ) ;\r
-                       tabs[1] == 1 && dialog.AddTab( 'langs', 'Languages' ) ;\r
-                       tabs[2] == 1 && dialog.AddTab( 'dictionary', 'Dictionary' ) ;\r
-                       tabs[3] == 1 && dialog.AddTab( 'about', 'About' ) ;\r
-\r
-                       // Function called when a dialog tab is selected.\r
-                       function OnDialogTabChange( tabCode )\r
-                       {\r
-                               ShowE('inner_options'   , ( tabCode == 'options' ) ) ;\r
-                               ShowE('inner_langs'     , ( tabCode == 'langs' ) ) ;\r
-                               ShowE('inner_dictionary'                , ( tabCode == 'dictionary' ) ) ;\r
-                               ShowE('inner_about'     , ( tabCode == 'about' ) ) ;\r
-                       }\r
-\r
-\r
-\r
-\r
-\r
-                       window.onload = function()\r
-                       {\r
-                               // Things to do when the page is loaded.\r
-\r
-                               if ( document.location.search.length )\r
-                                       dialog.SetSelectedTab( document.location.search.substr(1) ) ;\r
-\r
-                               dialog.SetOkButton( true ) ;\r
-\r
-\r
-                       if (!scayt) throw "SCAYT is undefined";\r
-                       if (!scayt_control) throw "SCAYT_CONTROL is undefined";\r
-\r
-                                       // show alowed tabs\r
-                                       tabs = scayt_control.uiTags || [1,1,1,0];\r
-\r
-\r
-                                       sLang = scayt_control.getLang();\r
-                       fckLang = "en";\r
-                                       options = scayt_control.option();\r
-                                       // apply captions\r
-                                       scayt.getCaption( fckLang, function( caps )\r
-                                       {\r
-                                               //console.info( "scayt.getCaption runned" )\r
-                                               captions = caps;\r
-                                               apllyCaptions();\r
-                                               //lang_list = scayt.getLangList();\r
-                               lang_list = scayt.getLangList() ;//|| {ltr: {"en_US" : "English","en_GB" : "British English","pt_BR" : "Brazilian Portuguese","da_DK" : "Danish","nl_NL" : "Dutch","en_CA" : "English Canadian","fi_FI" : "Finnish","fr_FR" : "French","fr_CA" : "French Canadian","de_DE" : "German","el_GR" : "Greek","hu_HU" : "Hungarian","it_IT" : "Italian","nb_NO" : "Norwegian","pl_PL" : "Polish","pt_PT" : "Portuguese","ru_RU" : "Russian","es_ES" : "Spanish","sv_SE" : "Swedish","tr_TR" : "Turkish","uk_UA" : "Ukrainian","cy_GB" : "Welsh"},rtl: {"ar_EG" : "Arabic"}};\r
-\r
-\r
-\r
-\r
-                               // ** animate options\r
-                               get.byClass("_scayt_option").forEach(function(el,i){\r
-\r
-                                                       if ('undefined' != typeof(options[el.name])) {\r
-                                       // *** set default values\r
-\r
-                                       if ( 1 == options[ el.name ] ){\r
-                                          //el.setAttribute("checked","true");\r
-                                                                  get.wrap(el).setAttr("checked" ,true)\r
-                                                                  //document.all_options[el.name].checked = "true";\r
-                                                                  //el.checked = true;\r
-                                                                  //alert( options[ dojo.attr(el ,'name') ] + " el " )\r
-                                       }\r
-                                                               //console.info(options)\r
-                                       // *** bind events\r
-                                       get.wrap(el).bindOnclick( function(ev){\r
-\r
-                                                                       var that = get.wrap(this);\r
-                                                                       var isCheck = that.getAttr("checked");\r
-                                                                       //console.info(isCheck)\r
-                                           if ( isCheck == false ) {\r
-\r
-                                                                               //that.setAttr("checked",false);\r
-                                                                               options[ this.name ] = 0;\r
-                                           }else{\r
-                                               //that.setAttr("checked",true);\r
-                                                                               options[ this.name ] = 1;\r
-                                           }\r
-                                                                       //console.info(options)\r
-                                       });\r
-                                   }\r
-                               });\r
-\r
-\r
-                               // * Create languages tab\r
-                               // ** convert langs obj to array\r
-                               var lang_arr = [];\r
-\r
-                               for (var k in lang_list.rtl){\r
-                                   // find curent lang\r
-                                   if ( k == sLang)\r
-                                       chosed_lang = lang_list.rtl[k] + "::" + k;\r
-                                   lang_arr[lang_arr.length] = lang_list.rtl[k] + "::" + k;\r
-\r
-                               }\r
-                               for (var k in lang_list.ltr){\r
-                                    // find curent lang\r
-                                    if ( k == sLang)\r
-                                       chosed_lang = lang_list.ltr[k] + "::" + k;\r
-                                   lang_arr[lang_arr.length] = lang_list.ltr[k] + "::" + k;\r
-                               }\r
-                               lang_arr.sort();\r
-\r
-                               // ** find lang containers\r
-\r
-                               var lcol = get.byId("lcolid");\r
-                               var rcol = get.byId("rcolid");\r
-                               // ** place langs in DOM\r
-\r
-                               get.forEach(lang_arr , function( l , i ){\r
-\r
-                                                       //console.info( l,i );\r
-\r
-                                                       var l_arr = l.split('::');\r
-                                   var l_name = l_arr[0];\r
-                                   var l_code = l_arr[1];\r
-                                   var row = document.createElement('div');\r
-                                   row.id = l_code;\r
-                                   row.className = "li";\r
-                                   // split langs on half\r
-                                   var col = ( i < lang_arr.length/2 ) ? lcol:rcol ;\r
-\r
-                                   // append row\r
-                                   //console.dir( col )\r
-                                   col.appendChild(row);\r
-                                   var row_dom = get.byId( l_code )\r
-                                   row_dom.innerHTML = l_name;\r
-\r
-                                   var checkActiveLang = function( id ){\r
-                                       return chosed_lang.split("::")[1] == id;\r
-                                   };\r
-                                   // bind click\r
-                                   row_dom.bindOnclick(function(ev){\r
-\r
-                                       if ( checkActiveLang(this.id) ) return false;\r
-                                       var elId = this.id;\r
-                                                               get.byId(this.id)\r
-                                       .addClass("Button")\r
-                                       .removeClass("DarkBackground");\r
-\r
-                                       window.setTimeout( function (){ get.byId(elId).setStyle({opacity:"0.5",cursor:"no-drop"});  } ,300 );\r
-\r
-                                       get.byId(chosed_lang.split("::")[1])\r
-                                           .addClass("DarkBackground")\r
-                                           .removeClass("Button")\r
-                                           .setStyle({opacity:"1",cursor:"pointer"});\r
-\r
-                                       chosed_lang = this.innerHTML + "::" + this.id;\r
-                                       return true;\r
-                                   })\r
-                                                       .setStyle({\r
-                                       cursor:"pointer"\r
-                                   });\r
-                                   // select current lang\r
-                                   if (l == chosed_lang)\r
-                                       row_dom.addClass("Button").setStyle({opacity:"0.5",cursor:"no-drop"});\r
-                                   else\r
-                                       row_dom.addClass("DarkBackground").setStyle({opacity:"1"});\r
-\r
-                               });\r
-                                               // * user dictionary\r
-                                               if ( userDicActive ){\r
-                                                       initUserDictionary()\r
-\r
-                                               }\r
-                                       });\r
-\r
-\r
-\r
-                       }\r
-\r
-\r
-\r
-\r
-                       var buttons = [ 'dic_create','dic_delete','dic_rename','dic_restore' ];\r
-                       var labels  = [ 'mixedCase','mixedWithDigits','allCaps','ignoreDomainNames' ];\r
-\r
-\r
-                       function apllyCaptions ( )\r
-                       {\r
-\r
-                               // fill tabs headers\r
-                               // add missing captions\r
-\r
-                               get.byClass("PopupTab").forEach(function(el,i){\r
-\r
-                                       if ( tabs[i] == 1 ){\r
-                                               el.style.display = "block";\r
-                                       }\r
-                                       el.innerHTML = captions['tab_'+el.id];\r
-\r
-                               });\r
-\r
-                               // Fill options labels.\r
-                               for ( i in labels )\r
-                               {\r
-                                       var label = 'label_' + labels[ i ],\r
-                                               labelElement = document.getElementById( label );\r
-\r
-                                       if (  'undefined' != typeof labelElement\r
-                                          && 'undefined' != typeof captions[ label ] && captions[ label ] !== ""\r
-                                          && 'undefined' != typeof options[labels[ i ]] )\r
-                                       {\r
-                                               labelElement.innerHTML = captions[ label ];\r
-                                               var labelParent = labelElement.parentNode;\r
-                                               labelParent.style.display = "block";\r
-                                       }\r
-                               }\r
-                               // fill dictionary section\r
-                               for ( var i in buttons )\r
-                               {\r
-                                       var button = buttons[ i ];\r
-                                       get.byId( button ).innerHTML = '<span>' + captions[ 'button_' + button]  +'</span>' ;\r
-                               }\r
-                               get.byId("dname").innerHTML = captions['label_dname'];\r
-                               get.byId( 'dic_info' ).innerHTML = captions[ 'dic_info' ];\r
-\r
-                               // fill about tab\r
-                               var about = '<p>' + captions[ 'about_throwt_image' ] + '</p>'+\r
-                                       '<p>' + captions[ 'version' ]  + scayt.version.toString() + '</p>' +\r
-                                       '<p>' + captions[ 'about_throwt_copy' ] + '</p>';\r
-\r
-                               get.byId( 'scayt_about' ).innerHTML = about;\r
-\r
-                       }\r
-\r
-\r
-                       function initUserDictionary () {\r
-\r
-                               scayt.getNameUserDictionary(\r
-                                       function( o )\r
-                                       {\r
-                                               var dic_name = o.dname;\r
-                                               if ( dic_name )\r
-                                               {\r
-                                                       get.byId( 'dic_name' ).value = dic_name;\r
-                                                       display_dic_buttons( dic_buttons[1] );\r
-                                               }\r
-                                               else\r
-                                                       display_dic_buttons( dic_buttons[0] );\r
-\r
-                                       },\r
-                                       function ()\r
-                                       {\r
-                                               get.byId( 'dic_name' ).value("");\r
-                                               dic_error_message(captions["err_dic_enable"] || "Used dictionary are unaveilable now.")\r
-                                       }\r
-                               );\r
-\r
-                               dic_success_message("");\r
-\r
-                                // ** bind event listeners\r
-                get.byClass("button").bindOnclick(function( ){\r
-\r
-                                       // get dic name\r
-                                       var dic_name = get.byId('dic_name').value ;\r
-                                       // check common dictionary rules\r
-                                       if (!dic_name) {\r
-                                               dic_error_message(" Dictionary name should not be empty. ");\r
-                                               return false;\r
-                                       }\r
-                                       //apply handler\r
-                                       window[this.id].apply( window, [this, dic_name, dic_buttons ] );\r
-\r
-                                       //console.info( typeof window[this.id], window[this.id].calle )\r
-                                       return false;\r
-                               });\r
-\r
-                       }\r
-\r
-                       dic_create = function( el, dic_name , dic_buttons )\r
-                       {\r
-                               // comma separated button's ids include repeats if exists\r
-                               var all_buttons = dic_buttons[0] + ',' + dic_buttons[1];\r
-\r
-                               var err_massage = captions["err_dic_create"];\r
-                               var suc_massage = captions["succ_dic_create"];\r
-                               //console.info("--plugin ");\r
-\r
-                               scayt.createUserDictionary(dic_name,\r
-                                       function(arg)\r
-                                               {\r
-                                                       //console.info( "dic_create callback called with args" , arg );\r
-                                                       hide_dic_buttons ( all_buttons );\r
-                                                       display_dic_buttons ( dic_buttons[1] );\r
-                                                       suc_massage = suc_massage.replace("%s" , arg.dname );\r
-                                                       dic_success_message (suc_massage);\r
-                                               },\r
-                                       function(arg)\r
-                                               {\r
-                                                       //console.info( "dic_create errorback called with args" , arg )\r
-                                                       err_massage = err_massage.replace("%s" ,arg.dname );\r
-                                                       dic_error_message ( err_massage + "( "+ (arg.message || "") +")");\r
-                                               });\r
-\r
-                       };\r
-\r
-                       dic_rename = function( el, dic_name , dic_buttons )\r
-                       {\r
-                               //\r
-                               // try to rename dictionary\r
-                               // @TODO: rename dict\r
-                               //console.info ( captions["err_dic_rename"] )\r
-                               var err_massage = captions["err_dic_rename"] || "";\r
-                               var suc_massage = captions["succ_dic_rename"] || "";\r
-                               scayt.renameUserDictionary(dic_name,\r
-                                       function(arg)\r
-                                               {\r
-                                                       //console.info( "dic_rename callback called with args" , arg );\r
-                                                       suc_massage = suc_massage.replace("%s" , arg.dname );\r
-                                                       set_dic_name( dic_name );\r
-                                                       dic_success_message ( suc_massage );\r
-                                               },\r
-                                       function(arg)\r
-                                               {\r
-                                                       //console.info( "dic_rename errorback called with args" , arg )\r
-                                                       err_massage = err_massage.replace("%s" , arg.dname  );\r
-                                                       set_dic_name( dic_name );\r
-                                                       dic_error_message( err_massage + "( " + ( arg.message || "" ) + " )" );\r
-                                               });\r
-                       };\r
-\r
-                       dic_delete = function ( el, dic_name , dic_buttons )\r
-                       {\r
-                               var all_buttons = dic_buttons[0] + ',' + dic_buttons[1];\r
-                               var err_massage = captions["err_dic_delete"];\r
-                               var suc_massage = captions["succ_dic_delete"];\r
-\r
-                               // try to delete dictionary\r
-                               // @TODO: delete dict\r
-                               scayt.deleteUserDictionary(\r
-                                       function(arg)\r
-                                               {\r
-                                                       //console.info( "dic_delete callback " , dic_name ,arg );\r
-                                                       suc_massage = suc_massage.replace("%s" , arg.dname );\r
-                                                       hide_dic_buttons ( all_buttons );\r
-                                                       display_dic_buttons ( dic_buttons[0] );\r
-                                                       set_dic_name( "" ); // empty input field\r
-                                                       dic_success_message( suc_massage );\r
-                                               },\r
-                                       function(arg)\r
-                                               {\r
-                                                       //console.info( " dic_delete errorback called with args" , arg )\r
-                                                       err_massage = err_massage.replace("%s" , arg.dname );\r
-                                                       dic_error_message(err_massage);\r
-                                               });\r
-                       };\r
-\r
-                       dic_restore = dialog.dic_restore || function ( el, dic_name , dic_buttons )\r
-                       {\r
-                               // try to restore existing dictionary\r
-                               var all_buttons = dic_buttons[0] + ',' + dic_buttons[1];\r
-                               var err_massage = captions["err_dic_restore"];\r
-                               var suc_massage = captions["succ_dic_restore"];\r
-\r
-                               scayt.restoreUserDictionary(dic_name,\r
-                                       function(arg)\r
-                                               {\r
-                                                       //console.info( "dic_restore callback called with args" , arg );\r
-                                                       suc_massage = suc_massage.replace("%s" , arg.dname );\r
-                                                       hide_dic_buttons ( all_buttons );\r
-                                                       display_dic_buttons(dic_buttons[1]);\r
-                                                       dic_success_message( suc_massage );\r
-                                               },\r
-                                       function(arg)\r
-                                               {\r
-                                                       //console.info( " dic_restore errorback called with args" , arg )\r
-                                                       err_massage = err_massage.replace("%s" , arg.dname );\r
-                                                       dic_error_message( err_massage );\r
-                                               });\r
-                       };\r
-\r
-                       function dic_error_message( m )\r
-                       {\r
-                               if ( !m )\r
-                                       return ;\r
-\r
-                               get.byId('dic_message').innerHTML =  '<span class="error">' + m + '</span>' ;\r
-                       }\r
-\r
-            function dic_success_message( m )\r
-            {\r
-                               if ( !m )\r
-                                       return ;\r
-\r
-                               get.byId('dic_message').innerHTML = '<span class="success">' + m + '</span>' ;\r
-                       }\r
-\r
-                       function display_dic_buttons ( sIds ){\r
-                               sIds = new String( sIds );\r
-                               get.forEach( sIds.split(','), function ( id,i) {\r
-                                       get.byId(id).setStyle({display:"inline"});\r
-                               });\r
-                       }\r
-                       function hide_dic_buttons ( sIds ){\r
-                               sIds = new String( sIds );\r
-                               get.forEach( sIds.split(','), function ( id,i) {\r
-                                       get.byId(id).setStyle({display:"none"});\r
-                               });\r
-                       }\r
-                       function set_dic_name ( dic_name ) {\r
-                               get.byId('dic_name').value = dic_name;\r
-                       }\r
-                       function display_dic_tab () {\r
-                               get.byId("dic_tab").style.display = "block";\r
-                       }\r
-\r
-                       function Ok()\r
-                       {\r
-                               // Things to do when the Ok button is clicked.\r
-                               var c = 0;\r
-                           // set upp options if any was set\r
-                           var o = scayt_control.option();\r
-                               //console.info(options)\r
-                           for ( var oN in options ) {\r
-\r
-                               if ( o[oN] != options[oN] && c == 0){\r
-                                               //console.info( "set option " )\r
-                                   scayt_control.option( options );\r
-                                   c++;\r
-                               }\r
-                           }\r
-                           //setup languge if it was change\r
-                           var csLang = chosed_lang.split("::")[1];\r
-                           if ( csLang && sLang != csLang ){\r
-                               scayt_control.setLang( csLang );\r
-                                       //console.info(sLang+" -> "+csLang , scayt_control)\r
-                               c++;\r
-                           }\r
-\r
-                           if ( c > 0 )  scayt_control.refresh();\r
-\r
-                           return dialog.Cancel();\r
-\r
-                       }\r
-\r
-               </script>\r
-       </head>\r
-       <body style="OVERFLOW: hidden" scroll="no">\r
-               <div class="tab_container" id="inner_options">\r
-\r
-           <ul id="scayt_options">\r
-               <li class="_scayt_options">\r
-                   <input class="_scayt_option" type="checkbox" value="0" name="allCaps" />\r
-                   <label for="allCaps" id="label_allCaps"></label>\r
-               </li>\r
-               <li>\r
-                   <input class="_scayt_option" type="checkbox" value="0" name="ignoreDomainNames" />\r
-                   <label for="ignoreDomainNames" id="label_ignoreDomainNames"></label>\r
-               </li>\r
-               <li>\r
-                   <input class="_scayt_option" type="checkbox" value="0" name="mixedCase" />\r
-                   <label for="mixedCase" id="label_mixedCase"></label>\r
-               </li>\r
-               <li>\r
-                   <input class="_scayt_option" type="checkbox" value="0" name="mixedWithDigits" />\r
-                   <label for="mixedWithDigits" id="label_mixedWithDigits"></label>\r
-               </li>\r
-           </ul>\r
-               </div>\r
-               <div class="tab_container" id="inner_langs">\r
-\r
-                  <div class="lcol" id="lcolid"></div>\r
-           <div class="rcol" id="rcolid"></div>\r
-               </div>\r
-               <div class="tab_container" id="inner_dictionary">\r
-\r
-                  <div id="dic_message"></div>\r
-                       <div id="_off_dic_tab" class="dictionary" >\r
-                               <div style="padding-left:10px;">\r
-                                                       <label id="dname" for="dname"></label>\r
-                                                       <input type="text" size="14" maxlength="15" value="" id="dic_name" name="dic_name"/>\r
-                                               </div>\r
-                                               <div class="dic_buttons">\r
-                                                       <a href="#" id="dic_create" class="button">  </a>\r
-                                                       <a href="#" id="dic_delete" class="button">  </a>\r
-                                                       <a href="#" id="dic_rename" class="button">  </a>\r
-                                                       <a href="#" id="dic_restore" class="button">  </a>\r
-                                               </div>\r
-\r
-                                               <div id="dic_info"></div>\r
-\r
-                       </div>\r
-               </div>\r
-               <div id="inner_about" class="tab_container">\r
-                  <div id="scayt_about"></div>\r
-               </div>\r
-       </body>\r
-</html>\r
diff --git a/httemplate/elements/fckeditor/editor/dialog/fck_scayt/scayt_dialog.css b/httemplate/elements/fckeditor/editor/dialog/fck_scayt/scayt_dialog.css
deleted file mode 100644 (file)
index c2eeb75..0000000
+++ /dev/null
@@ -1,169 +0,0 @@
-html, body\r
-{\r
-       background-color: transparent;\r
-       margin: 0px;\r
-       padding: 0px;\r
-}\r
-\r
-body\r
-{\r
-       padding: 10px;\r
-}\r
-\r
-body, td, input, select, textarea\r
-{\r
-       font-size: 11px;\r
-       font-family: 'Microsoft Sans Serif' , Arial, Helvetica, Verdana;\r
-}\r
-\r
-.midtext\r
-{\r
-       padding:0px;\r
-       margin:10px;\r
-}\r
-\r
-.midtext p\r
-{\r
-       padding:0px;\r
-       margin:10px;\r
-}\r
-\r
-.Button\r
-{\r
-       border: #737357 1px solid;\r
-       color: #3b3b1f;\r
-       background-color: #c7c78f;\r
-}\r
-\r
-.PopupTabArea , .button\r
-{\r
-       color: #737357;\r
-       background-color: #e3e3c7;\r
-}\r
-\r
-.PopupTitleBorder\r
-{\r
-       border-bottom: #d5d59d 1px solid;\r
-}\r
-.PopupTabEmptyArea\r
-{\r
-       padding-left: 10px;\r
-       border-bottom: #d5d59d 1px solid;\r
-}\r
-\r
-.PopupTab, .PopupTabSelected\r
-{\r
-       border-right: #d5d59d 1px solid;\r
-       border-top: #d5d59d 1px solid;\r
-       border-left: #d5d59d 1px solid;\r
-       padding: 3px 5px 3px 5px;\r
-       color: #737357;\r
-}\r
-\r
-.PopupTab\r
-{\r
-       margin-top: 1px;\r
-       border-bottom: #d5d59d 1px solid;\r
-       cursor: pointer;\r
-       cursor: hand;\r
-}\r
-\r
-.PopupTabSelected\r
-{\r
-       font-weight: bold;\r
-       cursor: default;\r
-       padding-top: 4px;\r
-       border-bottom: #f1f1e3 1px solid;\r
-       background-color: #f1f1e3;\r
-}\r
-\r
-ul {\r
-    padding:0;\r
-    margin:0px 0px 12px 0px;\r
-    list-style-type:none;\r
-}\r
-ul.tabs {\r
-    height:20px;\r
-    margin:10px 0px;\r
-}\r
-ul.tabs li {\r
-    float: left;\r
-       display:none;\r
-}\r
-div.tab_container {\r
-    /*display:none;*/\r
-    padding: 0px 5px ;\r
-}\r
-.lcol {\r
-    float:left;\r
-    width:47%;\r
-    margin-left:5px;\r
-}\r
-.rcol {\r
-    float:right;\r
-    width:47%;\r
-    margin-right:5px;\r
-}\r
-div.tabs-container{\r
-       height:220px;\r
-       overflow-x:hidden;\r
-       overflow-y:auto;\r
-}\r
-\r
-div.tabs-container h3{\r
-    margin:5px 15px 7px 15px;\r
-    background-color:transparent;\r
-    font-size: 14px ;\r
-}\r
-\r
-.li {\r
-    border: 1px solid transparent;\r
-}\r
-\r
-#dic_message{\r
-       height: 24px;\r
-}\r
-#dic_message .error{\r
-       color: red ;\r
-}\r
-#dic_message .success{\r
-       color: blue ;\r
-}\r
-\r
-.dic_buttons {\r
-       margin-top: 5px;\r
-       padding-left:10px;\r
-}\r
-.dic_buttons a {\r
-       display: none;\r
-}\r
-a.button {\r
-       border: #d5d59d 1px solid;\r
-       padding: 2px 4px;\r
-       margin-right: 4px;\r
-       text-decoration: none;\r
-}\r
-\r
-a.button:hover,\r
-a.button:active,\r
-a.button:visited{\r
-       padding: 2px 4px;\r
-       margin-right: 4px;\r
-       text-decoration: none;\r
-}\r
-a.button:hover {\r
-       border: #d5d59d 1px solid;\r
-       color: #e3e3c7;\r
-       background-color: #737357;\r
-}\r
-\r
-#scayt_options li {\r
-       display: none;\r
-}\r
-\r
-#dic_info {\r
-       margin:10px;\r
-}\r
-#dic_tab {\r
-       display:none;\r
-}\r
index 2f28da6..cb48b50 100644 (file)
@@ -1,7 +1,7 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >\r
 <!--\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
                <script type="text/javascript" src="fck_select/fck_select.js"></script>\r
                <script type="text/javascript">\r
 \r
-var dialog     = window.parent ;\r
-var oEditor = dialog.InnerDialogLoaded() ;\r
+var oEditor = window.parent.InnerDialogLoaded() ;\r
 \r
 // Gets the document DOM\r
 var oDOM = oEditor.FCK.EditorDocument ;\r
 \r
-var oActiveEl = dialog.Selection.GetSelectedElement() ;\r
+var oActiveEl = oEditor.FCKSelection.GetSelectedElement() ;\r
 \r
 var oListText ;\r
 var oListValue ;\r
@@ -49,10 +48,6 @@ window.onload = function()
        oListText       = document.getElementById( 'cmbText' ) ;\r
        oListValue      = document.getElementById( 'cmbValue' ) ;\r
 \r
-       // Fix the lists widths. (Bug #970)\r
-       oListText.style.width = oListText.offsetWidth ;\r
-       oListValue.style.width = oListValue.offsetWidth ;\r
-\r
        if ( oActiveEl && oActiveEl.tagName == 'SELECT' )\r
        {\r
                GetE('txtName').value           = oActiveEl.name ;\r
@@ -73,21 +68,22 @@ window.onload = function()
        else\r
                oActiveEl = null ;\r
 \r
-       dialog.SetOkButton( true ) ;\r
-       dialog.SetAutoSize( true ) ;\r
-       SelectField( 'txtName' ) ;\r
+       window.parent.SetOkButton( true ) ;\r
 }\r
 \r
 function Ok()\r
 {\r
-       oEditor.FCKUndo.SaveUndoStep() ;\r
-\r
        var sSize = GetE('txtLines').value ;\r
        if ( sSize == null || isNaN( sSize ) || sSize <= 1 )\r
                sSize = '' ;\r
 \r
-       oActiveEl = CreateNamedElement( oEditor, oActiveEl, 'SELECT', {name: GetE('txtName').value} ) ;\r
+       if ( !oActiveEl )\r
+       {\r
+               oActiveEl = oEditor.FCK.EditorDocument.createElement( 'SELECT' ) ;\r
+               oActiveEl = oEditor.FCK.InsertElementAndGetIt( oActiveEl ) ;\r
+       }\r
 \r
+       SetAttribute( oActiveEl, 'name' , GetE('txtName').value ) ;\r
        SetAttribute( oActiveEl, 'size' , sSize ) ;\r
        oActiveEl.multiple = ( sSize.length > 0 && GetE('chkMultiple').checked ) ;\r
 \r
@@ -116,7 +112,7 @@ function Ok()
 \r
                </script>\r
        </head>\r
-       <body style="overflow: hidden">\r
+       <body style='OVERFLOW: hidden' scroll='no'>\r
                <table width="100%" height="100%">\r
                        <tr>\r
                                <td>\r
@@ -132,7 +128,7 @@ function Ok()
                                                <tr>\r
                                                        <td nowrap><span fckLang="DlgSelectSize">Size</span>&nbsp;</td>\r
                                                        <td nowrap><input id="txtLines" type="text" size="2" value="">&nbsp;<span fckLang="DlgSelectLines">lines</span></td>\r
-                                                       <td nowrap align="right"><input id="chkMultiple" type="checkbox"><label for="chkMultiple" fckLang="DlgSelectChkMulti">Allow\r
+                                                       <td nowrap align="right"><input id="chkMultiple" name="chkMultiple" type="checkbox"><label for="chkMultiple" fckLang="DlgSelectChkMulti">Allow\r
                                                                        multiple selections</label></td>\r
                                                </tr>\r
                                        </table>\r
@@ -143,20 +139,20 @@ function Ok()
                                        <table width="100%">\r
                                                <tr>\r
                                                        <td width="50%"><span fckLang="DlgSelectOpText">Text</span><br>\r
-                                                               <input id="txtText" style="WIDTH: 100%" type="text">\r
+                                                               <input id="txtText" style="WIDTH: 100%" type="text" name="txtText">\r
                                                        </td>\r
                                                        <td width="50%"><span fckLang="DlgSelectOpValue">Value</span><br>\r
-                                                               <input id="txtValue" style="WIDTH: 100%" type="text">\r
+                                                               <input id="txtValue" style="WIDTH: 100%" type="text" name="txtValue">\r
                                                        </td>\r
                                                        <td vAlign="bottom"><input onclick="Add();" type="button" fckLang="DlgSelectBtnAdd" value="Add"></td>\r
                                                        <td vAlign="bottom"><input onclick="Modify();" type="button" fckLang="DlgSelectBtnModify" value="Modify"></td>\r
                                                </tr>\r
                                                <tr>\r
                                                        <td rowSpan="2"><select id="cmbText" style="WIDTH: 100%" onchange="GetE('cmbValue').selectedIndex = this.selectedIndex;Select(this);"\r
-                                                                       size="5"></select>\r
+                                                                       size="5" name="cmbText"></select>\r
                                                        </td>\r
                                                        <td rowSpan="2"><select id="cmbValue" style="WIDTH: 100%" onchange="GetE('cmbText').selectedIndex = this.selectedIndex;Select(this);"\r
-                                                                       size="5"></select>\r
+                                                                       size="5" name="cmbValue"></select>\r
                                                        </td>\r
                                                        <td vAlign="top" colSpan="2">\r
                                                        </td>\r
index 3120bb3..181b666 100644 (file)
@@ -1,6 +1,6 @@
 /*\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
@@ -191,4 +191,4 @@ function HTMLDecode( text )
        text = text.replace( /&amp;/g, '&' ) ;\r
 \r
        return text ;\r
-}\r
+}
\ No newline at end of file
index ba3a302..c8efd0c 100644 (file)
@@ -1,7 +1,7 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >\r
 <!--\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
                        cursor: hand;\r
                }\r
        </style>\r
-       <script src="common/fck_dialog_common.js" type="text/javascript"></script>\r
        <script type="text/javascript">\r
 \r
-var dialog     = window.parent ;\r
-var oEditor = dialog.InnerDialogLoaded() ;\r
+var oEditor = window.parent.InnerDialogLoaded() ;\r
 \r
 window.onload = function ()\r
 {\r
        // First of all, translate the dialog box texts\r
        oEditor.FCKLanguageManager.TranslatePage(document) ;\r
-\r
-       dialog.SetAutoSize( true ) ;\r
 }\r
 \r
 function InsertSmiley( url )\r
 {\r
-       oEditor.FCKUndo.SaveUndoStep() ;\r
-\r
-       var oImg = oEditor.FCK.InsertElement( 'img' ) ;\r
+       var oImg = oEditor.FCK.CreateElement( 'IMG' ) ;\r
        oImg.src = url ;\r
        oImg.setAttribute( '_fcksavedurl', url ) ;\r
 \r
@@ -60,7 +54,7 @@ function InsertSmiley( url )
        // everything before closing.\r
        document.body.innerHTML = '' ;\r
 \r
-       dialog.Cancel() ;\r
+       window.parent.Cancel() ;\r
 }\r
 \r
 function over(td)\r
@@ -74,7 +68,7 @@ function out(td)
 }\r
        </script>\r
 </head>\r
-<body style="overflow: hidden">\r
+<body scroll="no">\r
        <table cellpadding="2" cellspacing="2" align="center" border="0" width="100%" height="100%">\r
                <script type="text/javascript">\r
 \r
index 0782c65..aba9b39 100644 (file)
@@ -1,7 +1,7 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >\r
 <!--\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
                <title>Source</title>\r
                <meta http-equiv="Content-Type" content="text/html; charset=utf-8">\r
                <meta name="robots" content="noindex, nofollow">\r
-               <script src="common/fck_dialog_common.js" type="text/javascript"></script>\r
+               <link href="common/fck_dialog_common.css" rel="stylesheet" type="text/css" />\r
                <script language="javascript">\r
 \r
 var oEditor            = window.parent.InnerDialogLoaded() ;\r
 var FCK                        = oEditor.FCK ;\r
 var FCKConfig  = oEditor.FCKConfig ;\r
-var FCKTools   = oEditor.FCKTools ;\r
-\r
-document.write( FCKTools.GetStyleHtml( GetCommonDialogCss() ) ) ;\r
 \r
 window.onload = function()\r
 {\r
@@ -52,7 +49,7 @@ function Ok()
        if ( oEditor.FCKBrowserInfo.IsIE )\r
                oEditor.FCKUndo.SaveUndoStep() ;\r
 \r
-       FCK.SetData( document.getElementById('txtSource').value, false ) ;\r
+       FCK.SetHTML( document.getElementById('txtSource').value, false ) ;\r
 \r
        return true ;\r
 }\r
index 9a8ba77..e6d0a5a 100644 (file)
@@ -1,7 +1,7 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >\r
 <!--\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
@@ -33,7 +33,6 @@
                                }\r
                                .Sample { font-size: 24px; }\r
                </style>\r
-               <script src="common/fck_dialog_common.js" type="text/javascript"></script>\r
                <script type="text/javascript">\r
 \r
 var oEditor = window.parent.InnerDialogLoaded() ;\r
@@ -42,23 +41,18 @@ var oSample ;
 \r
 function insertChar(charValue)\r
 {\r
-       oEditor.FCKUndo.SaveUndoStep() ;\r
        oEditor.FCK.InsertHtml( charValue || "" ) ;\r
        window.parent.Cancel() ;\r
 }\r
 \r
 function over(td)\r
 {\r
-       if ( ! oSample )\r
-               return ;\r
        oSample.innerHTML = td.innerHTML ;\r
        td.className = 'LightBackground SpecialCharsOver Hand' ;\r
 }\r
 \r
 function out(td)\r
 {\r
-       if ( ! oSample )\r
-               return ;\r
        oSample.innerHTML = "&nbsp;" ;\r
        td.className = 'DarkBackground SpecialCharsOut Hand' ;\r
 }\r
@@ -70,19 +64,17 @@ function setDefaults()
 \r
        // First of all, translates the dialog box texts.\r
        oEditor.FCKLanguageManager.TranslatePage(document) ;\r
-\r
-       window.parent.SetAutoSize( true ) ;\r
 }\r
 \r
                </script>\r
-       </head>\r
-       <body onload="setDefaults()" style="overflow: hidden">\r
+       </HEAD>\r
+       <BODY onload="setDefaults()" scroll="no">\r
                <table cellpadding="0" cellspacing="0" width="100%" height="100%">\r
                        <tr>\r
                                <td width="100%">\r
                                        <table cellpadding="1" cellspacing="1" align="center" border="0" width="100%" height="100%">\r
                                                <script type="text/javascript">\r
-var aChars = ["!","&quot;","#","$","%","&amp;","\\'","(",")","*","+","-",".","/","0","1","2","3","4","5","6","7","8","9",":",";","&lt;","=","&gt;","?","@","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","[","]","^","_","`","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","{","|","}","~","&euro;","&lsquo;","&rsquo;","&rsquo;","&ldquo;","&rdquo;","&ndash;","&mdash;","&iexcl;","&cent;","&pound;","&curren;","&yen;","&brvbar;","&sect;","&uml;","&copy;","&ordf;","&laquo;","&not;","&reg;","&macr;","&deg;","&plusmn;","&sup2;","&sup3;","&acute;","&micro;","&para;","&middot;","&cedil;","&sup1;","&ordm;","&raquo;","&frac14;","&frac12;","&frac34;","&iquest;","&Agrave;","&Aacute;","&Acirc;","&Atilde;","&Auml;","&Aring;","&AElig;","&Ccedil;","&Egrave;","&Eacute;","&Ecirc;","&Euml;","&Igrave;","&Iacute;","&Icirc;","&Iuml;","&ETH;","&Ntilde;","&Ograve;","&Oacute;","&Ocirc;","&Otilde;","&Ouml;","&times;","&Oslash;","&Ugrave;","&Uacute;","&Ucirc;","&Uuml;","&Yacute;","&THORN;","&szlig;","&agrave;","&aacute;","&acirc;","&atilde;","&auml;","&aring;","&aelig;","&ccedil;","&egrave;","&eacute;","&ecirc;","&euml;","&igrave;","&iacute;","&icirc;","&iuml;","&eth;","&ntilde;","&ograve;","&oacute;","&ocirc;","&otilde;","&ouml;","&divide;","&oslash;","&ugrave;","&uacute;","&ucirc;","&uuml;","&uuml;","&yacute;","&thorn;","&yuml;","&OElig;","&oelig;","&#372;","&#374","&#373","&#375;","&sbquo;","&#8219;","&bdquo;","&hellip;","&trade;","&#9658;","&bull;","&rarr;","&rArr;","&hArr;","&diams;","&asymp;"] ;\r
+var aChars = ["!","&quot;","#","$","%","&amp;","\\'","(",")","*","+","-",".","/","0","1","2","3","4","5","6","7","8","9",":",";","&lt;","=","&gt;","?","@","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","[","]","^","_","`","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","{","|","}","~","&euro;","&lsquo;","&rsquo;","&rsquo;","&ldquo;","&rdquo;","&ndash;","&mdash;","&iexcl;","&cent;","&pound;","&curren;","&yen;","&brvbar;","&sect;","&uml;","&copy;","&ordf;","&laquo;","&not;","&reg;","&macr;","&deg;","&plusmn;","&sup2;","&sup3;","&acute;","&micro;","&para;","&middot;","&cedil;","&sup1;","&ordm;","&raquo;","&frac14;","&frac12;","&frac34;","&iquest;","&Agrave;","&Aacute;","&Acirc;","&Atilde;","&Auml;","&Aring;","&AElig;","&Ccedil;","&Egrave;","&Eacute;","&Ecirc;","&Euml;","&Igrave;","&Iacute;","&Icirc;","&Iuml;","&ETH;","&Ntilde;","&Ograve;","&Oacute;","&Ocirc;","&Otilde;","&Ouml;","&times;","&Oslash;","&Ugrave;","&Uacute;","&Ucirc;","&Uuml;","&Yacute;","&THORN;","&szlig;","&agrave;","&aacute;","&acirc;","&atilde;","&auml;","&aring;","&aelig;","&ccedil;","&egrave;","&eacute;","&ecirc;","&euml;","&igrave;","&iacute;","&icirc;","&iuml;","&eth;","&ntilde;","&ograve;","&oacute;","&ocirc;","&otilde;","&ouml;","&divide;","&oslash;","&ugrave;","&uacute;","&ucirc;","&uuml;","&uuml;","&yacute;","&thorn;","&yuml;","&OElig;","&oelig;","&sbquo;","&#8219;","&bdquo;","&hellip;","&trade;","&#9658;","&bull;","&rarr;","&rArr;","&hArr;","&diams;","&asymp;"] ;\r
 \r
 var cols = 20 ;\r
 \r
@@ -117,5 +109,5 @@ while (i < aChars.length)
                                </td>\r
                        </tr>\r
                </table>\r
-       </body>\r
-</html>\r
+       </BODY>\r
+</HTML>
\ No newline at end of file
index c3b7409..66596e1 100644 (file)
@@ -1,7 +1,7 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >\r
 <!--\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
@@ -26,7 +26,6 @@
                <title>Spell Check</title>\r
                <meta http-equiv="Content-Type" content="text/html; charset=utf-8">\r
                <meta content="noindex, nofollow" name="robots">\r
-               <script src="common/fck_dialog_common.js" type="text/javascript"></script>\r
                <script src="fck_spellerpages/spellerpages/spellChecker.js"></script>\r
                <script type="text/javascript">\r
 \r
@@ -52,12 +51,7 @@ function OnSpellerControlsLoad( controlsWindow )
 function oSpeller_OnFinished( numberOCorrections )\r
 {\r
        if ( numberOCorrections > 0 )\r
-       {\r
-               oEditor.FCKUndo.SaveUndoStep() ;\r
-               oEditor.FCK.EditorDocument.body.innerHTML = document.getElementById('txtHtml').value ;\r
-               if ( oEditor.FCKBrowserInfo.IsIE )\r
-                       oEditor.FCKSelection.Collapse( true ) ;\r
-       }\r
+               oEditor.FCK.SetHTML( document.getElementById('txtHtml').value ) ;\r
        window.parent.Cancel() ;\r
 }\r
 \r
index fae010d..8d3df65 100644 (file)
@@ -58,8 +58,6 @@ sub printCheckerResults {
        # open temp file, add the submitted text.\r
        for( my $i = 0; $i <= $#textinputs; $i++ ) {\r
                $text = url_decode( $textinputs[$i] );\r
-               # Strip all tags for the text. (by FredCK - #339 / #681)\r
-               $text =~ s/<[^>]+>/ /g;\r
                @lines = split( /\n/, $text );\r
                print $fh "\%\n"; # exit terse mode\r
                print $fh "^$input_separator\n";\r
@@ -179,3 +177,4 @@ wordWindowObj.writeBody();
 </body>\r
 </html>\r
 EOF\r
+\r
index 3eb85b4..6bb9d11 100644 (file)
@@ -1,7 +1,7 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >\r
 <!--\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
        <script src="common/fck_dialog_common.js" type="text/javascript"></script>\r
        <script type="text/javascript">\r
 \r
-var dialog     = window.parent ;\r
-var oEditor = dialog.InnerDialogLoaded() ;\r
+var oEditor = window.parent.InnerDialogLoaded() ;\r
 \r
-var FCKDomTools = oEditor.FCKDomTools ;\r
+// Gets the document DOM\r
+var oDOM = oEditor.FCK.EditorDocument ;\r
 \r
 // Gets the table if there is one selected.\r
 var table ;\r
-var e = dialog.Selection.GetSelectedElement() ;\r
-var hasColumnHeaders ;\r
+var e = oEditor.FCKSelection.GetSelectedElement() ;\r
 \r
 if ( ( !e && document.location.search.substr(1) == 'Parent' ) || ( e && e.tagName != 'TABLE' ) )\r
        e = oEditor.FCKSelection.MoveToAncestorNode( 'TABLE' ) ;\r
@@ -84,48 +83,14 @@ window.onload = function()
                document.getElementById('txtSummary').value     = GetAttribute( table, 'summary', '' ) ;\r
 //             document.getElementById('cmbFontStyle').value   = table.className ;\r
 \r
-               var eCaption = oEditor.FCKDomTools.GetFirstChild( table, 'CAPTION' ) ;\r
-               if ( eCaption ) document.getElementById('txtCaption').value = eCaption.innerHTML ;\r
-\r
-               hasColumnHeaders = true ;\r
-               // Check if all the first cells in every row are TH\r
-               for (var row=0; row<table.rows.length; row++)\r
-               {\r
-                       // If just one cell isn't a TH then it isn't a header column\r
-                       if ( table.rows[row].cells[0].nodeName != 'TH' )\r
-                       {\r
-                               hasColumnHeaders = false ;\r
-\r
-                               break;\r
-                       }\r
-               }\r
-\r
-               // Check if the table contains <thead>\r
-               if ((table.tHead !== null) )\r
-               {\r
-                       if (hasColumnHeaders)\r
-                               GetE('selHeaders').value = 'both' ;\r
-                       else\r
-                               GetE('selHeaders').value = 'row' ;\r
-               }\r
-               else\r
-               {\r
-                       if (hasColumnHeaders)\r
-                               GetE('selHeaders').value = 'col' ;\r
-                       else\r
-                               GetE('selHeaders').value = '' ;\r
-               }\r
-\r
+               if (table.caption) document.getElementById('txtCaption').value = table.caption.innerHTML ;\r
 \r
                document.getElementById('txtRows').disabled    = true ;\r
                document.getElementById('txtColumns').disabled = true ;\r
-               SelectField( 'txtWidth' ) ;\r
        }\r
-       else\r
-               SelectField( 'txtRows' ) ;\r
 \r
-       dialog.SetOkButton( true ) ;\r
-       dialog.SetAutoSize( true ) ;\r
+       window.parent.SetOkButton( true ) ;\r
+       window.parent.SetAutoSize( true ) ;\r
 }\r
 \r
 // Fired when the user press the OK button\r
@@ -133,11 +98,8 @@ function Ok()
 {\r
        var bExists = ( table != null ) ;\r
 \r
-       var oDoc = oEditor.FCK.EditorDocument ;\r
-       oEditor.FCKUndo.SaveUndoStep() ;\r
-\r
        if ( ! bExists )\r
-               table = oDoc.createElement( "TABLE" ) ;\r
+               table = oEditor.FCK.EditorDocument.createElement( "TABLE" ) ;\r
 \r
        // Removes the Width and Height styles\r
        if ( bExists && table.style.width )             table.style.width = null ; //.removeAttribute("width") ;\r
@@ -155,159 +117,48 @@ function Ok()
        SetAttribute( table, 'cellSpacing'      , GetE('txtCellSpacing').value ) ;\r
        SetAttribute( table, 'summary'          , GetE('txtSummary').value ) ;\r
 \r
-       var headers = GetE('selHeaders').value ;\r
-       if ( bExists )\r
-       {\r
-               // Should we make a <thead>?\r
-               if ( table.tHead==null && (headers=='row' || headers=='both') )\r
-               {\r
-                       var oThead = table.createTHead() ;\r
-                       var tbody = FCKDomTools.GetFirstChild( table, 'TBODY' ) ;\r
-                       var theRow= FCKDomTools.GetFirstChild( tbody, 'TR' ) ;\r
-\r
-                       //now change TD to TH:\r
-                       for (var i = 0; i<theRow.childNodes.length ; i++)\r
-                       {\r
-                               var th = RenameNode(theRow.childNodes[i], 'TH') ;\r
-                               if (th != null)\r
-                                       th.scope='col' ;\r
-                       }\r
-                       oThead.appendChild( theRow ) ;\r
-               }\r
-\r
-               if ( table.tHead!==null && !(headers=='row' || headers=='both') )\r
-               {\r
-                       // Move the row out of the THead and put it in the TBody:\r
-                       var tHead = table.tHead ;\r
-                       var tbody = FCKDomTools.GetFirstChild( table, 'TBODY' ) ;\r
-\r
-                       var previousFirstRow = tbody.firstChild ;\r
-                       while ( tHead.firstChild )\r
-                       {\r
-                               var theRow = tHead.firstChild ;\r
-                               for (var i = 0; i < theRow.childNodes.length ; i++ )\r
-                               {\r
-                                       var newCell = RenameNode( theRow.childNodes[i], 'TD' ) ;\r
-                                       if ( newCell != null )\r
-                                               newCell.removeAttribute( 'scope' ) ;\r
-                               }\r
-                               tbody.insertBefore( theRow, previousFirstRow ) ;\r
-                       }\r
-                       table.removeChild( tHead ) ;\r
-               }\r
+       var eCaption = oEditor.FCKDomTools.GetFirstChild( table, 'CAPTION' ) ;\r
 \r
-               // Should we make all first cells in a row TH?\r
-               if ( (!hasColumnHeaders)  && (headers=='col' || headers=='both') )\r
+       if ( document.getElementById('txtCaption').value != '')\r
+       {\r
+               if ( !eCaption )\r
                {\r
-                       for( var row=0 ; row < table.rows.length ; row++ )\r
-                       {\r
-                               var newCell = RenameNode(table.rows[row].cells[0], 'TH') ;\r
-                               if ( newCell != null )\r
-                                       newCell.scope = 'row' ;\r
-                       }\r
+                       eCaption = oEditor.FCK.EditorDocument.createElement( 'CAPTION' ) ;\r
+                       table.insertBefore( eCaption, table.firstChild ) ;\r
                }\r
 \r
-               // Should we make all first TH-cells in a row make TD? If 'yes' we do it the other way round :-)\r
-               if ( (hasColumnHeaders)  && !(headers=='col' || headers=='both') )\r
-               {\r
-                       for( var row=0 ; row < table.rows.length ; row++ )\r
-                       {\r
-                               var oRow = table.rows[row] ;\r
-                               if ( oRow.parentNode.nodeName == 'TBODY' )\r
-                               {\r
-                                       var newCell = RenameNode(oRow.cells[0], 'TD') ;\r
-                                       if (newCell != null)\r
-                                               newCell.removeAttribute( 'scope' ) ;\r
-                               }\r
-                       }\r
-               }\r
+               eCaption.innerHTML = document.getElementById('txtCaption').value ;\r
+       }\r
+       else if ( bExists && eCaption )\r
+       {\r
+               if ( oEditor.FCKBrowserInfo.IsIE )\r
+                       eCaption.innerHTML = '' ;       // TODO: It causes an IE internal error if using removeChild or table.deleteCaption().\r
+               else\r
+                       eCaption.parentNode.removeChild( eCaption ) ;\r
        }\r
 \r
        if (! bExists)\r
        {\r
-               var iRows = GetE('txtRows').value ;\r
-               var iCols = GetE('txtColumns').value ;\r
+               var iRows = document.getElementById('txtRows').value ;\r
+               var iCols = document.getElementById('txtColumns').value ;\r
 \r
-               var startRow = 0 ;\r
-               // Should we make a <thead> ?\r
-               if (headers=='row' || headers=='both')\r
+               for ( var r = 0 ; r < iRows ; r++ )\r
                {\r
-                       startRow++ ;\r
-                       var oThead = table.createTHead() ;\r
                        var oRow = table.insertRow(-1) ;\r
-                       oThead.appendChild(oRow);\r
-\r
                        for ( var c = 0 ; c < iCols ; c++ )\r
                        {\r
-                               var oThcell = oDoc.createElement( 'TH' ) ;\r
-                               oThcell.scope = 'col' ;\r
-                               oRow.appendChild( oThcell ) ;\r
+                               var oCell = oRow.insertCell(-1) ;\r
                                if ( oEditor.FCKBrowserInfo.IsGeckoLike )\r
-                                       oEditor.FCKTools.AppendBogusBr( oThcell ) ;\r
+                                       oCell.innerHTML = GECKO_BOGUS ;\r
+                               //oCell.innerHTML = "&nbsp;" ;\r
                        }\r
                }\r
 \r
-               // Opera automatically creates a tbody when a thead has been added\r
-               var oTbody = FCKDomTools.GetFirstChild( table, 'TBODY' ) ;\r
-               if ( !oTbody )\r
-               {\r
-                       // make TBODY if it doesn't exist\r
-                       oTbody = oDoc.createElement( 'TBODY' ) ;\r
-                       table.appendChild( oTbody ) ;\r
-               }\r
-               for ( var r = startRow ; r < iRows; r++ )\r
-               {\r
-                       var oRow = oDoc.createElement( 'TR' ) ;\r
-                       oTbody.appendChild(oRow) ;\r
-\r
-                       var startCol = 0 ;\r
-                       // Is the first column a header?\r
-                       if (headers=='col' || headers=='both')\r
-                       {\r
-                               var oThcell = oDoc.createElement( 'TH' ) ;\r
-                               oThcell.scope = 'row' ;\r
-                               oRow.appendChild( oThcell ) ;\r
-                               if ( oEditor.FCKBrowserInfo.IsGeckoLike )\r
-                                       oEditor.FCKTools.AppendBogusBr( oThcell ) ;\r
-\r
-                               startCol++ ;\r
-                       }\r
-                       for ( var c = startCol ; c < iCols ; c++ )\r
-                       {\r
-                               // IE will leave the TH at the end of the row if we use now oRow.insertCell(-1)\r
-                               var oCell = oDoc.createElement( 'TD' ) ;\r
-                               oRow.appendChild( oCell ) ;\r
-                               if ( oEditor.FCKBrowserInfo.IsGeckoLike )\r
-                                       oEditor.FCKTools.AppendBogusBr( oCell ) ;\r
-                       }\r
-               }\r
+               oEditor.FCKUndo.SaveUndoStep() ;\r
 \r
                oEditor.FCK.InsertElement( table ) ;\r
        }\r
 \r
-       var eCaption = oEditor.FCKDomTools.GetFirstChild( table, 'CAPTION' ) ;\r
-\r
-       if ( eCaption && !oEditor.FCKBrowserInfo.IsIE )\r
-               eCaption.parentNode.removeChild( eCaption ) ;\r
-\r
-       if ( document.getElementById('txtCaption').value != '' )\r
-       {\r
-               if ( !eCaption || !oEditor.FCKBrowserInfo.IsIE )\r
-               {\r
-                       eCaption = oDoc.createElement( 'CAPTION' ) ;\r
-                       table.insertBefore( eCaption, table.firstChild ) ;\r
-               }\r
-\r
-               eCaption.innerHTML = document.getElementById('txtCaption').value ;\r
-       }\r
-       else if ( bExists && eCaption )\r
-       {\r
-               // TODO: It causes an IE internal error if using removeChild or\r
-               // table.deleteCaption() (see #505).\r
-               if ( oEditor.FCKBrowserInfo.IsIE )\r
-                       eCaption.innerHTML = '' ;\r
-       }\r
-\r
        return true ;\r
 }\r
 \r
@@ -320,44 +171,39 @@ function Ok()
                                <table cellspacing="1" cellpadding="1" width="100%" border="0">\r
                                        <tr>\r
                                                <td valign="top">\r
-                                                       <table cellspacing="1" cellpadding="0" border="0">\r
+                                                       <table cellspacing="0" cellpadding="0" border="0">\r
                                                                <tr>\r
                                                                        <td>\r
                                                                                <span fcklang="DlgTableRows">Rows</span>:</td>\r
                                                                        <td>\r
-                                                                               &nbsp;<input id="txtRows" type="text" maxlength="3" size="2" value="3"\r
+                                                                               &nbsp;<input id="txtRows" type="text" maxlength="3" size="2" value="3" name="txtRows"\r
                                                                                        onkeypress="return IsDigit(event);" /></td>\r
                                                                </tr>\r
                                                                <tr>\r
                                                                        <td>\r
                                                                                <span fcklang="DlgTableColumns">Columns</span>:</td>\r
                                                                        <td>\r
-                                                                               &nbsp;<input id="txtColumns" type="text" maxlength="2" size="2" value="2"\r
+                                                                               &nbsp;<input id="txtColumns" type="text" maxlength="2" size="2" value="2" name="txtColumns"\r
                                                                                        onkeypress="return IsDigit(event);" /></td>\r
                                                                </tr>\r
                                                                <tr>\r
-                                                                       <td><span fcklang="DlgTableHeaders">Headers</span>:</td>\r
                                                                        <td>\r
-                                                                               &nbsp;<select id="selHeaders">\r
-                                                                                       <option fcklang="DlgTableHeadersNone" value="">None</option>\r
-                                                                                       <option fcklang="DlgTableHeadersRow" value="row">First row</option>\r
-                                                                                       <option fcklang="DlgTableHeadersColumn" value="col">First column</option>\r
-                                                                                       <option fcklang="DlgTableHeadersBoth" value="both">Both</option>\r
-                                                                               </select>\r
-                                                                       </td>\r
+                                                                               &nbsp;</td>\r
+                                                                       <td>\r
+                                                                               &nbsp;</td>\r
                                                                </tr>\r
                                                                <tr>\r
                                                                        <td>\r
                                                                                <span fcklang="DlgTableBorder">Border size</span>:</td>\r
                                                                        <td>\r
-                                                                               &nbsp;<input id="txtBorder" type="text" maxlength="2" size="2" value="1"\r
+                                                                               &nbsp;<input id="txtBorder" type="text" maxlength="2" size="2" value="1" name="txtBorder"\r
                                                                                        onkeypress="return IsDigit(event);" /></td>\r
                                                                </tr>\r
                                                                <tr>\r
                                                                        <td>\r
                                                                                <span fcklang="DlgTableAlign">Alignment</span>:</td>\r
                                                                        <td>\r
-                                                                               &nbsp;<select id="selAlignment">\r
+                                                                               &nbsp;<select id="selAlignment" name="selAlignment">\r
                                                                                        <option fcklang="DlgTableAlignNotSet" value="" selected="selected">&lt;Not set&gt;</option>\r
                                                                                        <option fcklang="DlgTableAlignLeft" value="left">Left</option>\r
                                                                                        <option fcklang="DlgTableAlignCenter" value="center">Center</option>\r
@@ -374,10 +220,10 @@ function Ok()
                                                                        <td>\r
                                                                                <span fcklang="DlgTableWidth">Width</span>:</td>\r
                                                                        <td>\r
-                                                                               &nbsp;<input id="txtWidth" type="text" maxlength="4" size="3" value="200"\r
+                                                                               &nbsp;<input id="txtWidth" type="text" maxlength="4" size="3" value="200" name="txtWidth"\r
                                                                                        onkeypress="return IsDigit(event);" /></td>\r
                                                                        <td>\r
-                                                                               &nbsp;<select id="selWidthType">\r
+                                                                               &nbsp;<select id="selWidthType" name="selWidthType">\r
                                                                                        <option fcklang="DlgTableWidthPx" value="pixels" selected="selected">pixels</option>\r
                                                                                        <option fcklang="DlgTableWidthPc" value="percent">percent</option>\r
                                                                                </select></td>\r
@@ -386,18 +232,23 @@ function Ok()
                                                                        <td>\r
                                                                                <span fcklang="DlgTableHeight">Height</span>:</td>\r
                                                                        <td>\r
-                                                                               &nbsp;<input id="txtHeight" type="text" maxlength="4" size="3" onkeypress="return IsDigit(event);" /></td>\r
+                                                                               &nbsp;<input id="txtHeight" type="text" maxlength="4" size="3" name="txtHeight" onkeypress="return IsDigit(event);" /></td>\r
                                                                        <td>\r
                                                                                &nbsp;<span fcklang="DlgTableWidthPx">pixels</span></td>\r
                                                                </tr>\r
                                                                <tr>\r
-                                                                       <td colspan="3">&nbsp;</td>\r
+                                                                       <td>\r
+                                                                               &nbsp;</td>\r
+                                                                       <td>\r
+                                                                               &nbsp;</td>\r
+                                                                       <td>\r
+                                                                               &nbsp;</td>\r
                                                                </tr>\r
                                                                <tr>\r
                                                                        <td nowrap="nowrap">\r
                                                                                <span fcklang="DlgTableCellSpace">Cell spacing</span>:</td>\r
                                                                        <td>\r
-                                                                               &nbsp;<input id="txtCellSpacing" type="text" maxlength="2" size="2" value="1"\r
+                                                                               &nbsp;<input id="txtCellSpacing" type="text" maxlength="2" size="2" value="1" name="txtCellSpacing"\r
                                                                                        onkeypress="return IsDigit(event);" /></td>\r
                                                                        <td>\r
                                                                                &nbsp;</td>\r
@@ -406,7 +257,7 @@ function Ok()
                                                                        <td nowrap="nowrap">\r
                                                                                <span fcklang="DlgTableCellPad">Cell padding</span>:</td>\r
                                                                        <td>\r
-                                                                               &nbsp;<input id="txtCellPadding" type="text" maxlength="2" size="2" value="1"\r
+                                                                               &nbsp;<input id="txtCellPadding" type="text" maxlength="2" size="2" value="1" name="txtCellPadding"\r
                                                                                        onkeypress="return IsDigit(event);" /></td>\r
                                                                        <td>\r
                                                                                &nbsp;</td>\r
index a4d1c97..b7c536b 100644 (file)
@@ -1,7 +1,7 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >\r
 <!--\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
        <script src="common/fck_dialog_common.js" type="text/javascript"></script>\r
        <script type="text/javascript">\r
 \r
-var dialog     = window.parent ;\r
-var oEditor = dialog.InnerDialogLoaded() ;\r
+var oEditor = window.parent.InnerDialogLoaded() ;\r
 \r
-var FCKDomTools = oEditor.FCKDomTools ;\r
+// Gets the document DOM\r
+var oDOM = oEditor.FCK.EditorDocument ;\r
 \r
 // Array of selected Cells\r
 var aCells = oEditor.FCKTableHandler.GetSelectedCells() ;\r
@@ -44,9 +44,8 @@ window.onload = function()
 \r
        SetStartupValue() ;\r
 \r
-       dialog.SetOkButton( true ) ;\r
-       dialog.SetAutoSize( true ) ;\r
-       SelectField( 'txtWidth' ) ;\r
+       window.parent.SetOkButton( true ) ;\r
+       window.parent.SetAutoSize( true ) ;\r
 }\r
 \r
 function SetStartupValue()\r
@@ -73,15 +72,13 @@ function SetStartupValue()
                GetE('txtCollSpan').value               = GetAttribute( oCell, 'colSpan' ) ;\r
                GetE('txtBackColor').value              = GetAttribute( oCell, 'bgColor' ) ;\r
                GetE('txtBorderColor').value    = GetAttribute( oCell, 'borderColor' ) ;\r
-               GetE('selCellType').value     = oCell.nodeName.toLowerCase() ;\r
+//             GetE('cmbFontStyle').value              = oCell.className ;\r
        }\r
 }\r
 \r
 // Fired when the user press the OK button\r
 function Ok()\r
 {\r
-       oEditor.FCKUndo.SaveUndoStep() ;\r
-\r
        for( i = 0 ; i < aCells.length ; i++ )\r
        {\r
                if ( GetE('txtWidth').value.length > 0 )\r
@@ -90,7 +87,7 @@ function Ok()
                        aCells[i].removeAttribute( 'width', 0 ) ;\r
 \r
                if ( GetE('selWordWrap').value == 'false' )\r
-                       SetAttribute( aCells[i], 'noWrap', 'nowrap' ) ;\r
+                       aCells[i].noWrap = true ;\r
                else\r
                        aCells[i].removeAttribute( 'noWrap' ) ;\r
 \r
@@ -101,25 +98,7 @@ function Ok()
                SetAttribute( aCells[i], 'colSpan'              , GetE('txtCollSpan').value ) ;\r
                SetAttribute( aCells[i], 'bgColor'              , GetE('txtBackColor').value ) ;\r
                SetAttribute( aCells[i], 'borderColor'  , GetE('txtBorderColor').value ) ;\r
-\r
-               var cellType = GetE('selCellType').value ;\r
-               if ( aCells[i].nodeName.toLowerCase() != cellType )\r
-                       aCells[i] = RenameNode( aCells[i], cellType ) ;\r
-       }\r
-\r
-       // The cells need to be reselected, otherwise the caret will appear inside the table borders (Gecko)\r
-       // or sent back to the beginning of the document (Opera and Safari).\r
-       // Strangely, IE works ok so no change is needed for IE.\r
-       if ( !oEditor.FCKBrowserInfo.IsIE )\r
-       {\r
-               var selection = oEditor.FCK.EditorWindow.getSelection() ;\r
-               selection.removeAllRanges() ;\r
-               for ( var i = 0 ; i < aCells.length ; i++ )\r
-               {\r
-                       var range = oEditor.FCK.EditorDocument.createRange() ;\r
-                       range.selectNode( aCells[i] ) ;\r
-                       selection.addRange( range ) ;\r
-               }\r
+//             SetAttribute( aCells[i], 'className'    , GetE('cmbFontStyle').value ) ;\r
        }\r
 \r
        return true ;\r
@@ -139,7 +118,7 @@ function SelectBorderColor( color )
 \r
 function SelectColor( wich )\r
 {\r
-       oEditor.FCKDialog.OpenDialog( 'FCKDialog_Color', oEditor.FCKLang.DlgColorTitle, 'dialog/fck_colorselector.html', 410, 320, wich == 'Back' ? SelectBackColor : SelectBorderColor ) ;\r
+       oEditor.FCKDialog.OpenDialog( 'FCKDialog_Color', oEditor.FCKLang.DlgColorTitle, 'dialog/fck_colorselector.html', 400, 330, wich == 'Back' ? SelectBackColor : SelectBorderColor, window ) ;\r
 }\r
 \r
        </script>\r
@@ -157,7 +136,7 @@ function SelectColor( wich )
                                                                                <span fcklang="DlgCellWidth">Width</span>:</td>\r
                                                                        <td>\r
                                                                                &nbsp;<input onkeypress="return IsDigit(event);" id="txtWidth" type="text" maxlength="4"\r
-                                                                                       size="3" />&nbsp;<select id="selWidthType">\r
+                                                                                       size="3" name="txtWidth" />&nbsp;<select id="selWidthType" name="selWidthType">\r
                                                                                                <option fcklang="DlgCellWidthPx" value="pixels" selected="selected">pixels</option>\r
                                                                                                <option fcklang="DlgCellWidthPc" value="percent">percent</option>\r
                                                                                        </select></td>\r
@@ -166,7 +145,7 @@ function SelectColor( wich )
                                                                        <td nowrap="nowrap">\r
                                                                                <span fcklang="DlgCellHeight">Height</span>:</td>\r
                                                                        <td>\r
-                                                                               &nbsp;<input id="txtHeight" type="text" maxlength="4" size="3" onkeypress="return IsDigit(event);" />&nbsp;<span\r
+                                                                               &nbsp;<input id="txtHeight" type="text" maxlength="4" size="3" name="txtHeight" onkeypress="return IsDigit(event);" />&nbsp;<span\r
                                                                                        fcklang="DlgCellWidthPx">pixels</span></td>\r
                                                                </tr>\r
                                                                <tr>\r
@@ -179,7 +158,7 @@ function SelectColor( wich )
                                                                        <td nowrap="nowrap">\r
                                                                                <span fcklang="DlgCellWordWrap">Word Wrap</span>:</td>\r
                                                                        <td>\r
-                                                                               &nbsp;<select id="selWordWrap">\r
+                                                                               &nbsp;<select id="selWordWrap" name="selAlignment">\r
                                                                                        <option fcklang="DlgCellWordWrapYes" value="true" selected="selected">Yes</option>\r
                                                                                        <option fcklang="DlgCellWordWrapNo" value="false">No</option>\r
                                                                                </select></td>\r
@@ -194,7 +173,7 @@ function SelectColor( wich )
                                                                        <td nowrap="nowrap">\r
                                                                                <span fcklang="DlgCellHorAlign">Horizontal Alignment</span>:</td>\r
                                                                        <td>\r
-                                                                               &nbsp;<select id="selHAlign">\r
+                                                                               &nbsp;<select id="selHAlign" name="selAlignment">\r
                                                                                        <option fcklang="DlgCellHorAlignNotSet" value="" selected>&lt;Not set&gt;</option>\r
                                                                                        <option fcklang="DlgCellHorAlignLeft" value="left">Left</option>\r
                                                                                        <option fcklang="DlgCellHorAlignCenter" value="center">Center</option>\r
@@ -205,7 +184,7 @@ function SelectColor( wich )
                                                                        <td nowrap="nowrap">\r
                                                                                <span fcklang="DlgCellVerAlign">Vertical Alignment</span>:</td>\r
                                                                        <td>\r
-                                                                               &nbsp;<select id="selVAlign">\r
+                                                                               &nbsp;<select id="selVAlign" name="selAlignment">\r
                                                                                        <option fcklang="DlgCellVerAlignNotSet" value="" selected>&lt;Not set&gt;</option>\r
                                                                                        <option fcklang="DlgCellVerAlignTop" value="top">Top</option>\r
                                                                                        <option fcklang="DlgCellVerAlignMiddle" value="middle">Middle</option>\r
@@ -221,28 +200,11 @@ function SelectColor( wich )
                                                        <table cellspacing="0" cellpadding="0" border="0">\r
                                                                <tr>\r
                                                                        <td nowrap="nowrap">\r
-                                                                        <span fcklang="DlgCellType">Cell Type</span>:</td>\r
-                                                                       <td colspan="2">\r
-                                                                               &nbsp; <select id="selCellType">\r
-                                                                                       <option fcklang="DlgCellTypeData" value="td">Data</option>\r
-                                                                                       <option fcklang="DlgCellTypeHeader" value="th">Header</option>\r
-                                                                               </select>\r
-                                                               </tr>\r
-                                                               <tr>\r
-                                                                       <td>\r
-                                                                               &nbsp;</td>\r
-                                                                       <td>\r
-                                                                               &nbsp;</td>\r
-                                                                       <td>\r
-                                                                               &nbsp;</td>\r
-                                                               </tr>\r
-                                                               <tr>\r
-                                                                       <td nowrap="nowrap">\r
                                                                                <span fcklang="DlgCellRowSpan">Rows Span</span>:</td>\r
                                                                        <td>\r
                                                                                &nbsp;\r
                                                                                <input onkeypress="return IsDigit(event);" id="txtRowSpan" type="text" maxlength="3" size="2"\r
-                                                                                       ></td>\r
+                                                                                       name="txtRows"></td>\r
                                                                        <td>\r
                                                                        </td>\r
                                                                </tr>\r
@@ -252,7 +214,7 @@ function SelectColor( wich )
                                                                        <td>\r
                                                                                &nbsp;\r
                                                                                <input onkeypress="return IsDigit(event);" id="txtCollSpan" type="text" maxlength="2"\r
-                                                                                       size="2"></td>\r
+                                                                                       size="2" name="txtColumns"></td>\r
                                                                        <td>\r
                                                                        </td>\r
                                                                </tr>\r
@@ -268,7 +230,7 @@ function SelectColor( wich )
                                                                        <td nowrap="nowrap">\r
                                                                                <span fcklang="DlgCellBackColor">Background Color</span>:</td>\r
                                                                        <td>\r
-                                                                               &nbsp;<input id="txtBackColor" type="text" size="8" /></td>\r
+                                                                               &nbsp;<input id="txtBackColor" type="text" size="8" name="txtCellSpacing"></td>\r
                                                                        <td>\r
                                                                                &nbsp;\r
                                                                                <input type="button" fcklang="DlgCellBtnSelect" value="Select..." onclick="SelectColor( 'Back' )"></td>\r
@@ -277,7 +239,7 @@ function SelectColor( wich )
                                                                        <td nowrap="nowrap">\r
                                                                                <span fcklang="DlgCellBorderColor">Border Color</span>:</td>\r
                                                                        <td>\r
-                                                                               &nbsp;<input id="txtBorderColor" type="text" size="8" /></td>\r
+                                                                               &nbsp;<input id="txtBorderColor" type="text" size="8" name="txtCellPadding" /></td>\r
                                                                        <td>\r
                                                                                &nbsp;\r
                                                                                <input type="button" fcklang="DlgCellBtnSelect" value="Select..." onclick="SelectColor( 'Border' )" /></td>\r
index e7c1292..418e9df 100644 (file)
@@ -1,7 +1,7 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">\r
 <!--\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
@@ -191,7 +191,7 @@ function SelectTemplate( index )
        oEditor.FCKUndo.SaveUndoStep() ;\r
 \r
        if ( GetE('xChkReplaceAll').checked )\r
-               FCK.SetData( FCK._Templates[index].Html ) ;\r
+               FCK.SetHTML( FCK._Templates[index].Html ) ;\r
        else\r
                FCK.InsertHtml( FCK._Templates[index].Html ) ;\r
 \r
index 631fe27..b7de33a 100644 (file)
@@ -1,7 +1,7 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >\r
 <!--\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
                <script src="common/fck_dialog_common.js" type="text/javascript"></script>\r
                <script type="text/javascript">\r
 \r
-var dialog     = window.parent ;\r
-var oEditor = dialog.InnerDialogLoaded() ;\r
+var oEditor = window.parent.InnerDialogLoaded() ;\r
 \r
 // Gets the document DOM\r
 var oDOM = oEditor.FCK.EditorDocument ;\r
 \r
-var oActiveEl = dialog.Selection.GetSelectedElement() ;\r
+var oActiveEl = oEditor.FCKSelection.GetSelectedElement() ;\r
 \r
 window.onload = function()\r
 {\r
@@ -51,17 +50,18 @@ window.onload = function()
        else\r
                oActiveEl = null ;\r
 \r
-       dialog.SetOkButton( true ) ;\r
-       dialog.SetAutoSize( true ) ;\r
-       SelectField( 'txtName' ) ;\r
+       window.parent.SetOkButton( true ) ;\r
 }\r
 \r
 function Ok()\r
 {\r
-       oEditor.FCKUndo.SaveUndoStep() ;\r
-\r
-       oActiveEl = CreateNamedElement( oEditor, oActiveEl, 'TEXTAREA', {name: GetE('txtName').value} ) ;\r
+       if ( !oActiveEl )\r
+       {\r
+               oActiveEl = oEditor.FCK.EditorDocument.createElement( 'TEXTAREA' ) ;\r
+               oActiveEl = oEditor.FCK.InsertElementAndGetIt( oActiveEl ) ;\r
+       }\r
 \r
+       oActiveEl.name = GetE('txtName').value ;\r
        SetAttribute( oActiveEl, 'cols', GetE('txtCols').value ) ;\r
        SetAttribute( oActiveEl, 'rows', GetE('txtRows').value ) ;\r
 \r
@@ -70,7 +70,7 @@ function Ok()
 \r
                </script>\r
        </head>\r
-       <body style="overflow: hidden">\r
+       <body style='OVERFLOW: hidden' scroll='no'>\r
                <table height="100%" width="100%">\r
                        <tr>\r
                                <td align="center">\r
index 43f91a6..7b4c8ef 100644 (file)
@@ -1,7 +1,7 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >\r
 <!--\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
        <script src="common/fck_dialog_common.js" type="text/javascript"></script>\r
        <script type="text/javascript">\r
 \r
-var dialog     = window.parent ;\r
-var oEditor = dialog.InnerDialogLoaded() ;\r
+var oEditor = window.parent.InnerDialogLoaded() ;\r
 \r
 // Gets the document DOM\r
 var oDOM = oEditor.FCK.EditorDocument ;\r
 \r
-var oActiveEl = dialog.Selection.GetSelectedElement() ;\r
+var oActiveEl = oEditor.FCKSelection.GetSelectedElement() ;\r
 \r
 window.onload = function()\r
 {\r
@@ -49,13 +48,13 @@ window.onload = function()
                GetE('txtSize').value   = GetAttribute( oActiveEl, 'size' ) ;\r
                GetE('txtMax').value    = GetAttribute( oActiveEl, 'maxLength' ) ;\r
                GetE('txtType').value   = oActiveEl.type ;\r
+\r
+               GetE('txtType').disabled = true ;\r
        }\r
        else\r
                oActiveEl = null ;\r
 \r
-       dialog.SetOkButton( true ) ;\r
-       dialog.SetAutoSize( true ) ;\r
-       SelectField( 'txtName' ) ;\r
+       window.parent.SetOkButton( true ) ;\r
 }\r
 \r
 function Ok()\r
@@ -73,10 +72,14 @@ function Ok()
                return false ;\r
        }\r
 \r
-       oEditor.FCKUndo.SaveUndoStep() ;\r
-\r
-       oActiveEl = CreateNamedElement( oEditor, oActiveEl, 'INPUT', {name: GetE('txtName').value, type: GetE('txtType').value } ) ;\r
+       if ( !oActiveEl )\r
+       {\r
+               oActiveEl = oEditor.FCK.EditorDocument.createElement( 'INPUT' ) ;\r
+               oActiveEl.type = GetE('txtType').value ;\r
+               oActiveEl = oEditor.FCK.InsertElementAndGetIt( oActiveEl ) ;\r
+       }\r
 \r
+       oActiveEl.name = GetE('txtName').value ;\r
        SetAttribute( oActiveEl, 'value'        , GetE('txtValue').value ) ;\r
        SetAttribute( oActiveEl, 'size'         , GetE('txtSize').value ) ;\r
        SetAttribute( oActiveEl, 'maxlength', GetE('txtMax').value ) ;\r
diff --git a/httemplate/elements/fckeditor/editor/dtd/fck_dtd_test.html b/httemplate/elements/fckeditor/editor/dtd/fck_dtd_test.html
deleted file mode 100644 (file)
index c149d15..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">\r
-<html xmlns="http://www.w3.org/1999/xhtml">\r
-<head>\r
-       <title>DTD Test Page</title>\r
-       <script type="text/javascript">\r
-\r
-       // Define an object for this test page, so the assignment to FCK.DTD works\r
-       var FCK = {} ;\r
-       </script>\r
-       <script type="text/javascript" src="../_source/internals/fcktools.js"></script>\r
-       <script type="text/javascript" src="fck_xhtml10transitional.js"></script>\r
-</head>\r
-<body>\r
-       <h1>\r
-               DTD Contents\r
-       </h1>\r
-       <table border="1">\r
-               <script type="text/javascript">\r
-\r
-for ( var p in FCK.DTD )\r
-{\r
-       document.write( '<tr><td><b>' + p + '</b></td><td>' ) ;\r
-\r
-       var isFirst = true ;\r
-\r
-       for ( var c in FCK.DTD[p] )\r
-       {\r
-               if ( !isFirst )\r
-                       document.write( ', ' ) ;\r
-               isFirst = false ;\r
-\r
-               document.write( c ) ;\r
-       }\r
-\r
-\r
-       document.write( '</td></tr>' ) ;\r
-}\r
-               </script>\r
-       </table>\r
-</body>\r
-</html>\r
diff --git a/httemplate/elements/fckeditor/editor/dtd/fck_xhtml10strict.js b/httemplate/elements/fckeditor/editor/dtd/fck_xhtml10strict.js
deleted file mode 100644 (file)
index a39fcfc..0000000
+++ /dev/null
@@ -1,116 +0,0 @@
-/*\r
- * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
- *\r
- * == BEGIN LICENSE ==\r
- *\r
- * Licensed under the terms of any of the following licenses at your\r
- * choice:\r
- *\r
- *  - GNU General Public License Version 2 or later (the "GPL")\r
- *    http://www.gnu.org/licenses/gpl.html\r
- *\r
- *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")\r
- *    http://www.gnu.org/licenses/lgpl.html\r
- *\r
- *  - Mozilla Public License Version 1.1 or later (the "MPL")\r
- *    http://www.mozilla.org/MPL/MPL-1.1.html\r
- *\r
- * == END LICENSE ==\r
- *\r
- * Contains the DTD mapping for XHTML 1.0 Strict.\r
- * This file was automatically generated from the file: xhtml10-strict.dtd\r
- */\r
-FCK.DTD = (function()\r
-{\r
-    var X = FCKTools.Merge ;\r
-\r
-    var H,I,J,K,C,L,M,A,B,D,E,G,N,F ;\r
-    A = {ins:1, del:1, script:1} ;\r
-    B = {hr:1, ul:1, div:1, blockquote:1, noscript:1, table:1, address:1, pre:1, p:1, h5:1, dl:1, h4:1, ol:1, h6:1, h1:1, h3:1, h2:1} ;\r
-    C = X({fieldset:1}, B) ;\r
-    D = X({sub:1, bdo:1, 'var':1, sup:1, br:1, kbd:1, map:1, samp:1, b:1, acronym:1, '#':1, abbr:1, code:1, i:1, cite:1, tt:1, strong:1, q:1, em:1, big:1, small:1, span:1, dfn:1}, A) ;\r
-    E = X({img:1, object:1}, D) ;\r
-    F = {input:1, button:1, textarea:1, select:1, label:1} ;\r
-    G = X({a:1}, F) ;\r
-    H = {img:1, noscript:1, br:1, kbd:1, button:1, h5:1, h4:1, samp:1, h6:1, ol:1, h1:1, h3:1, h2:1, form:1, select:1, '#':1, ins:1, abbr:1, label:1, code:1, table:1, script:1, cite:1, input:1, strong:1, textarea:1, big:1, small:1, span:1, hr:1, sub:1, bdo:1, 'var':1, div:1, object:1, sup:1, map:1, dl:1, del:1, fieldset:1, ul:1, b:1, acronym:1, a:1, blockquote:1, i:1, address:1, tt:1, q:1, pre:1, p:1, em:1, dfn:1} ;\r
-\r
-    I = X({form:1, fieldset:1}, B, E, G) ;\r
-    J = {tr:1} ;\r
-    K = {'#':1} ;\r
-    L = X(E, G) ;\r
-    M = {li:1} ;\r
-    N = X({form:1}, A, C) ;\r
-\r
-    return {\r
-        col: {},\r
-        tr: {td:1, th:1},\r
-        img: {},\r
-        colgroup: {col:1},\r
-        noscript: N,\r
-        td: I,\r
-        br: {},\r
-        th: I,\r
-        kbd: L,\r
-        button: X(B, E),\r
-        h5: L,\r
-        h4: L,\r
-        samp: L,\r
-        h6: L,\r
-        ol: M,\r
-        h1: L,\r
-        h3: L,\r
-        option: K,\r
-        h2: L,\r
-        form: X(A, C),\r
-        select: {optgroup:1, option:1},\r
-        ins: I,\r
-        abbr: L,\r
-        label: L,\r
-        code: L,\r
-        table: {thead:1, col:1, tbody:1, tr:1, colgroup:1, caption:1, tfoot:1},\r
-        script: K,\r
-        tfoot: J,\r
-        cite: L,\r
-        li: I,\r
-        input: {},\r
-        strong: L,\r
-        textarea: K,\r
-        big: L,\r
-        small: L,\r
-        span: L,\r
-        dt: L,\r
-        hr: {},\r
-        sub: L,\r
-        optgroup: {option:1},\r
-        bdo: L,\r
-        param: {},\r
-        'var': L,\r
-        div: I,\r
-        object: X({param:1}, H),\r
-        sup: L,\r
-        dd: I,\r
-        area: {},\r
-        map: X({form:1, area:1}, A, C),\r
-        dl: {dt:1, dd:1},\r
-        del: I,\r
-        fieldset: X({legend:1}, H),\r
-        thead: J,\r
-        ul: M,\r
-        acronym: L,\r
-        b: L,\r
-        a: X({img:1, object:1}, D, F),\r
-        blockquote: N,\r
-        caption: L,\r
-        i: L,\r
-        tbody: J,\r
-        address: L,\r
-        tt: L,\r
-        legend: L,\r
-        q: L,\r
-        pre: X({a:1}, D, F),\r
-        p: L,\r
-        em: L,\r
-        dfn: L\r
-    } ;\r
-})() ;\r
diff --git a/httemplate/elements/fckeditor/editor/dtd/fck_xhtml10transitional.js b/httemplate/elements/fckeditor/editor/dtd/fck_xhtml10transitional.js
deleted file mode 100644 (file)
index 53617bd..0000000
+++ /dev/null
@@ -1,140 +0,0 @@
-/*\r
- * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
- *\r
- * == BEGIN LICENSE ==\r
- *\r
- * Licensed under the terms of any of the following licenses at your\r
- * choice:\r
- *\r
- *  - GNU General Public License Version 2 or later (the "GPL")\r
- *    http://www.gnu.org/licenses/gpl.html\r
- *\r
- *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")\r
- *    http://www.gnu.org/licenses/lgpl.html\r
- *\r
- *  - Mozilla Public License Version 1.1 or later (the "MPL")\r
- *    http://www.mozilla.org/MPL/MPL-1.1.html\r
- *\r
- * == END LICENSE ==\r
- *\r
- * Contains the DTD mapping for XHTML 1.0 Transitional.\r
- * This file was automatically generated from the file: xhtml10-transitional.dtd\r
- */\r
-FCK.DTD = (function()\r
-{\r
-    var X = FCKTools.Merge ;\r
-\r
-    var A,L,J,M,N,O,D,H,P,K,Q,F,G,C,B,E,I ;\r
-    A = {isindex:1, fieldset:1} ;\r
-    B = {input:1, button:1, select:1, textarea:1, label:1} ;\r
-    C = X({a:1}, B) ;\r
-    D = X({iframe:1}, C) ;\r
-    E = {hr:1, ul:1, menu:1, div:1, blockquote:1, noscript:1, table:1, center:1, address:1, dir:1, pre:1, h5:1, dl:1, h4:1, noframes:1, h6:1, ol:1, h1:1, h3:1, h2:1} ;\r
-    F = {ins:1, del:1, script:1} ;\r
-    G = X({b:1, acronym:1, bdo:1, 'var':1, '#':1, abbr:1, code:1, br:1, i:1, cite:1, kbd:1, u:1, strike:1, s:1, tt:1, strong:1, q:1, samp:1, em:1, dfn:1, span:1}, F) ;\r
-    H = X({sub:1, img:1, object:1, sup:1, basefont:1, map:1, applet:1, font:1, big:1, small:1}, G) ;\r
-    I = X({p:1}, H) ;\r
-    J = X({iframe:1}, H, B) ;\r
-    K = {img:1, noscript:1, br:1, kbd:1, center:1, button:1, basefont:1, h5:1, h4:1, samp:1, h6:1, ol:1, h1:1, h3:1, h2:1, form:1, font:1, '#':1, select:1, menu:1, ins:1, abbr:1, label:1, code:1, table:1, script:1, cite:1, input:1, iframe:1, strong:1, textarea:1, noframes:1, big:1, small:1, span:1, hr:1, sub:1, bdo:1, 'var':1, div:1, object:1, sup:1, strike:1, dir:1, map:1, dl:1, applet:1, del:1, isindex:1, fieldset:1, ul:1, b:1, acronym:1, a:1, blockquote:1, i:1, u:1, s:1, tt:1, address:1, q:1, pre:1, p:1, em:1, dfn:1} ;\r
-\r
-    L = X({a:1}, J) ;\r
-    M = {tr:1} ;\r
-    N = {'#':1} ;\r
-    O = X({param:1}, K) ;\r
-    P = X({form:1}, A, D, E, I) ;\r
-    Q = {li:1} ;\r
-\r
-    return {\r
-        col: {},\r
-        tr: {td:1, th:1},\r
-        img: {},\r
-        colgroup: {col:1},\r
-        noscript: P,\r
-        td: P,\r
-        br: {},\r
-        th: P,\r
-        center: P,\r
-        kbd: L,\r
-        button: X(I, E),\r
-        basefont: {},\r
-        h5: L,\r
-        h4: L,\r
-        samp: L,\r
-        h6: L,\r
-        ol: Q,\r
-        h1: L,\r
-        h3: L,\r
-        option: N,\r
-        h2: L,\r
-        form: X(A, D, E, I),\r
-        select: {optgroup:1, option:1},\r
-        font: J,               // Changed from L to J (see (1))\r
-        ins: P,\r
-        menu: Q,\r
-        abbr: L,\r
-        label: L,\r
-        table: {thead:1, col:1, tbody:1, tr:1, colgroup:1, caption:1, tfoot:1},\r
-        code: L,\r
-        script: N,\r
-        tfoot: M,\r
-        cite: L,\r
-        li: P,\r
-        input: {},\r
-        iframe: P,\r
-        strong: J,             // Changed from L to J (see (1))\r
-        textarea: N,\r
-        noframes: P,\r
-        big: J,                        // Changed from L to J (see (1))\r
-        small: J,              // Changed from L to J (see (1))\r
-        span: J,               // Changed from L to J (see (1))\r
-        hr: {},\r
-        dt: L,\r
-        sub: J,                        // Changed from L to J (see (1))\r
-        optgroup: {option:1},\r
-        param: {},\r
-        bdo: L,\r
-        'var': J,              // Changed from L to J (see (1))\r
-        div: P,\r
-        object: O,\r
-        sup: J,                        // Changed from L to J (see (1))\r
-        dd: P,\r
-        strike: J,             // Changed from L to J (see (1))\r
-        area: {},\r
-        dir: Q,\r
-        map: X({area:1, form:1, p:1}, A, F, E),\r
-        applet: O,\r
-        dl: {dt:1, dd:1},\r
-        del: P,\r
-        isindex: {},\r
-        fieldset: X({legend:1}, K),\r
-        thead: M,\r
-        ul: Q,\r
-        acronym: L,\r
-        b: J,                  // Changed from L to J (see (1))\r
-        a: J,\r
-        blockquote: P,\r
-        caption: L,\r
-        i: J,                  // Changed from L to J (see (1))\r
-        u: J,                  // Changed from L to J (see (1))\r
-        tbody: M,\r
-        s: L,\r
-        address: X(D, I),\r
-        tt: J,                 // Changed from L to J (see (1))\r
-        legend: L,\r
-        q: L,\r
-        pre: X(G, C),\r
-        p: L,\r
-        em: J,                 // Changed from L to J (see (1))\r
-        dfn: L\r
-    } ;\r
-})() ;\r
-\r
-/*\r
-       Notes:\r
-       (1) According to the DTD, many elements, like <b> accept <a> elements\r
-           inside of them. But, to produce better output results, we have manually\r
-           changed the map to avoid breaking the links on pieces, having\r
-           "<b>this is a </b><a><b>link</b> test</a>", instead of\r
-           "<b>this is a <a>link</a></b><a> test</a>".\r
-*/\r
index e3b3420..db99d60 100644 (file)
@@ -1,7 +1,7 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">\r
 <!--\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
index 0770c89..7f26822 100644 (file)
@@ -1,7 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">\r
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">\r
 <!--\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
 -->\r
 <html xmlns="http://www.w3.org/1999/xhtml">\r
        <head>\r
-               <title></title>\r
                <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />\r
                <meta name="robots" content="noindex, nofollow" />\r
                <script type="text/javascript">\r
-// <![CDATA[\r
 \r
-// Domain relaxation logic.\r
-(function()\r
-{\r
-       var d = document.domain ;\r
-\r
-       while ( true )\r
-       {\r
-               // Test if we can access a parent property.\r
-               try\r
-               {\r
-                       var parentDomain = ( Args().TopWindow || E ).document.domain ;\r
+// On some Gecko browsers (probably over slow connections) the\r
+// "dialogArguments" are not set so we must get it from the opener window.\r
+if ( !window.dialogArguments )\r
+       window.dialogArguments = window.opener.FCKLastDialogInfo ;\r
 \r
-                       if ( document.domain != parentDomain )\r
-                               document.domain = parentDomain ;\r
-\r
-                       break ;\r
-               }\r
-               catch( e ) {}\r
+// Sets the Skin CSS\r
+document.write( '<link href="' + window.dialogArguments.Editor.FCKConfig.SkinPath + 'fck_dialog.css" type="text/css" rel="stylesheet">' ) ;\r
 \r
-               // Remove a domain part: www.mytest.example.com => mytest.example.com => example.com ...\r
-               d = d.replace( /.*?(?:\.|$)/, '' ) ;\r
+// Sets the language direction.\r
+window.document.dir = window.dialogArguments.Editor.FCKLang.Dir ;\r
 \r
-               if ( d.length == 0 )\r
-                       break ;         // It was not able to detect the domain.\r
+var sTitle = window.dialogArguments.Title ;\r
+document.write( '<title>' + sTitle + '<\/title>' ) ;\r
 \r
-               document.domain = d ;\r
-       }\r
-})() ;\r
+function LoadInnerDialog()\r
+{\r
+       if ( window.onresize )\r
+               window.onresize() ;\r
 \r
-var E = frameElement._DialogArguments.Editor ;\r
+       // First of all, translate the dialog box contents.\r
+       window.dialogArguments.Editor.FCKLanguageManager.TranslatePage( document ) ;\r
 \r
-// It seems referencing to frameElement._DialogArguments directly would lead to memory leaks in IE.\r
-// So let's use functions to access its members instead.\r
-function Args()\r
-{\r
-       return frameElement._DialogArguments ;\r
+       window.frames["frmMain"].document.location.href = window.dialogArguments.Page ;\r
 }\r
 \r
-function ParentDialog( dialog )\r
+function InnerDialogLoaded()\r
 {\r
-       return dialog ? dialog._ParentDialog : frameElement._ParentDialog ;\r
-}\r
-\r
-var FCK                                = E.FCK ;\r
-var FCKTools           = E.FCKTools ;\r
-var FCKDomTools                = E.FCKDomTools ;\r
-var FCKDialog          = E.FCKDialog ;\r
-var FCKBrowserInfo     = E.FCKBrowserInfo ;\r
-var FCKConfig          = E.FCKConfig ;\r
-\r
-// Steal the focus so that the caret would no longer stay in the editor iframe.\r
-window.focus() ;\r
+       var oInnerDoc = document.getElementById('frmMain').contentWindow.document ;\r
 \r
-// Sets the Skin CSS\r
-document.write( FCKTools.GetStyleHtml( FCKConfig.SkinDialogCSS ) ) ;\r
+       // Set the language direction.\r
+       oInnerDoc.dir = window.dialogArguments.Editor.FCKLang.Dir ;\r
 \r
-// Sets the language direction.\r
-var langDir = E.FCKLang.Dir ;\r
+       // Sets the Skin CSS.\r
+       oInnerDoc.write( '<link href="' + window.dialogArguments.Editor.FCKConfig.SkinPath + 'fck_dialog.css" type="text/css" rel="stylesheet">' ) ;\r
 \r
-// For IE6-, the fck_dialog_ie6.js is loaded, used to fix limitations in the browser.\r
-if ( FCKBrowserInfo.IsIE && !FCKBrowserInfo.IsIE7 )\r
-       document.write( '<' + 'script type="text/javascript" src="' + FCKConfig.SkinPath + 'fck_dialog_ie6.js"><' + '\/script>' ) ;\r
+       SetOnKeyDown( oInnerDoc ) ;\r
+       DisableContextMenu( oInnerDoc ) ;\r
 \r
-FCKTools.RegisterDollarFunction( window ) ;\r
+       return window.dialogArguments.Editor ;\r
+}\r
 \r
-// Resize related functions.\r
-var Sizer = function()\r
+function SetOkButton( showIt )\r
 {\r
-       var bAutoSize = false ;\r
-\r
-       var retval = {\r
-               // Sets whether the dialog should auto-resize according to its content's height.\r
-               SetAutoSize : function( autoSize )\r
-               {\r
-                       bAutoSize = autoSize ;\r
-                       this.RefreshSize() ;\r
-               },\r
-\r
-               // Fit the dialog container's layout to the inner iframe's external size.\r
-               RefreshContainerSize : function()\r
-               {\r
-                       var frmMain = $( 'frmMain' ) ;\r
-\r
-                       if ( frmMain )\r
-                       {\r
-                               // Get the container size.\r
-                               var height = $( 'contents' ).offsetHeight ;\r
-\r
-                               // Subtract the size of other elements.\r
-                               height -= $( 'TitleArea' ).offsetHeight ;\r
-                               height -= $( 'TabsRow' ).offsetHeight ;\r
-                               height -= $( 'PopupButtons' ).offsetHeight ;\r
-\r
-                               frmMain.style.height = Math.max( height, 0 ) + 'px' ;\r
-                       }\r
-               },\r
-\r
-               // Resize and re-layout the dialog.\r
-               // Triggers the onresize event for the layout logic.\r
-               ResizeDialog : function( width, height )\r
-               {\r
-                       FCKDomTools.SetElementStyles( window.frameElement,\r
-                                       {\r
-                                               'width' : width + 'px',\r
-                                               'height' : height + 'px'\r
-                                       } ) ;\r
-\r
-                       // If the skin have defined a function for resize fixes, call it now.\r
-                       if ( typeof window.DoResizeFixes == 'function' )\r
-                               window.DoResizeFixes() ;\r
-               },\r
-\r
-               // if bAutoSize is true, automatically fit the dialog size and layout to\r
-               // accomodate the inner iframe's internal height.\r
-               // if bAutoSize is false, then only the layout logic for the dialog decorations\r
-               // is run to accomodate the inner iframe's external height.\r
-               RefreshSize : function()\r
-               {\r
-                       if ( bAutoSize )\r
-                       {\r
-                               var frmMain             = $( 'frmMain' ) ;\r
-                               var innerDoc    = frmMain.contentWindow.document ;\r
-                               var isStrict    = FCKTools.IsStrictMode( innerDoc ) ;\r
-\r
-                               // Get the size of the frame contents.\r
-                               var innerWidth  = isStrict ? innerDoc.documentElement.scrollWidth : innerDoc.body.scrollWidth ;\r
-                               var innerHeight = isStrict ? innerDoc.documentElement.scrollHeight : innerDoc.body.scrollHeight ;\r
+       document.getElementById('btnOk').style.visibility = ( showIt ? '' : 'hidden' ) ;\r
+}\r
 \r
-                               // Get the current frame size.\r
-                               var frameSize = FCKTools.GetViewPaneSize( frmMain.contentWindow ) ;\r
+var bAutoSize = false ;\r
 \r
-                               var deltaWidth  = innerWidth - frameSize.Width ;\r
-                               var deltaHeight = innerHeight - frameSize.Height ;\r
+function SetAutoSize( autoSize )\r
+{\r
+       bAutoSize = autoSize ;\r
+       RefreshSize() ;\r
+}\r
 \r
-                               // If the contents fits the current size.\r
-                               if ( deltaWidth <= 0 && deltaHeight <= 0 )\r
-                                       return ;\r
+function RefreshSize()\r
+{\r
+       if ( bAutoSize )\r
+       {\r
+               var oInnerDoc = document.getElementById('frmMain').contentWindow.document ;\r
 \r
-                               var dialogWidth         = frameElement.offsetWidth + Math.max( deltaWidth, 0 ) ;\r
-                               var dialogHeight        = frameElement.offsetHeight + Math.max( deltaHeight, 0 ) ;\r
+               var iFrameHeight ;\r
+               if ( document.all )\r
+                       iFrameHeight = oInnerDoc.body.offsetHeight ;\r
+               else\r
+                       iFrameHeight = document.getElementById('frmMain').contentWindow.innerHeight ;\r
 \r
-                               this.ResizeDialog( dialogWidth, dialogHeight ) ;\r
-                       }\r
-                       this.RefreshContainerSize() ;\r
-               }\r
-       }\r
+               var iInnerHeight = oInnerDoc.body.scrollHeight ;\r
 \r
-       /**\r
-        * Safari seems to have a bug with the time when RefreshSize() is executed - it\r
-        * thinks frmMain's innerHeight is 0 if we query the value too soon after the\r
-        * page is loaded in some circumstances. (#1316)\r
-        * TODO : Maybe this is not needed anymore after #35.\r
-        */\r
-       if ( FCKBrowserInfo.IsSafari )\r
-       {\r
-               var originalRefreshSize = retval.RefreshSize ;\r
+               var iDiff = iInnerHeight - iFrameHeight ;\r
 \r
-               retval.RefreshSize = function()\r
+               if ( iDiff > 0 )\r
                {\r
-                       FCKTools.SetTimeout( originalRefreshSize, 1, retval ) ;\r
+                       if ( document.all )\r
+                               window.dialogHeight = ( parseInt( window.dialogHeight, 10 ) + iDiff ) + 'px' ;\r
+                       else\r
+                               window.resizeBy( 0, iDiff ) ;\r
                }\r
        }\r
+}\r
 \r
-       /**\r
-        * IE6 has a similar bug where it sometimes thinks $('contents') has an\r
-        * offsetHeight of 0 (#2114).\r
-        */\r
-       if ( FCKBrowserInfo.IsIE && !FCKBrowserInfo.IsIE7 )\r
-       {\r
-               var originalRefreshContainerSize = retval.RefreshContainerSize ;\r
-               retval.RefreshContainerSize = function()\r
-               {\r
-                       FCKTools.SetTimeout( originalRefreshContainerSize, 1, retval ) ;\r
-               }\r
-       }\r
+function Ok()\r
+{\r
+       if ( window.frames["frmMain"].Ok && window.frames["frmMain"].Ok() )\r
+               Cancel() ;\r
+}\r
 \r
-       window.onresize = function()\r
+function Cancel( dontFireChange )\r
+{\r
+       if ( !dontFireChange )\r
        {\r
-               retval.RefreshContainerSize() ;\r
+               // All dialog windows, by default, will fire the "OnSelectionChange"\r
+               // event, no matter the Ok or Cancel button has been pressed.\r
+               window.dialogArguments.Editor.FCK.Events.FireEvent( 'OnSelectionChange' ) ;\r
        }\r
+       window.close() ;\r
+}\r
 \r
-       window.SetAutoSize = FCKTools.Bind( retval, retval.SetAutoSize ) ;\r
-\r
-       return retval ;\r
-}() ;\r
+// Object that holds all available tabs.\r
+var oTabs = new Object() ;\r
 \r
-// Manages the throbber image that appears if the inner part of dialog is taking too long to load.\r
-var Throbber = function()\r
+function TabDiv_OnClick()\r
 {\r
-       var timer ;\r
-\r
-       var updateThrobber = function()\r
-       {\r
-               var throbberParent = $( 'throbberBlock' ) ;\r
-               var throbberBlocks = throbberParent.childNodes ;\r
-               var lastClass = throbberParent.lastChild.className ;\r
-\r
-               // From the last to the second one, copy the class from the previous one.\r
-               for ( var i = throbberBlocks.length - 1 ; i > 0 ; i-- )\r
-                       throbberBlocks[i].className = throbberBlocks[i-1].className ;\r
+       SetSelectedTab( this.TabCode ) ;\r
+}\r
 \r
-               // For the first one, copy the last class (rotation).\r
-               throbberBlocks[0].className = lastClass ;\r
-       }\r
+function AddTab( tabCode, tabText, startHidden )\r
+{\r
+       if ( typeof( oTabs[ tabCode ] ) != 'undefined' )\r
+               return ;\r
 \r
-       return {\r
-               Show : function( waitMilliseconds )\r
-               {\r
-                       // Auto-setup the Show function to be called again after the\r
-                       // requested amount of time.\r
-                       if ( waitMilliseconds && waitMilliseconds > 0 )\r
-                       {\r
-                               timer = FCKTools.SetTimeout( this.Show, waitMilliseconds, this, null, window ) ;\r
-                               return ;\r
-                       }\r
+       var eTabsRow = document.getElementById( 'Tabs' ) ;\r
 \r
-                       var throbberParent = $( 'throbberBlock' ) ;\r
+       var oCell = eTabsRow.insertCell(  eTabsRow.cells.length - 1 ) ;\r
+       oCell.noWrap = true ;\r
 \r
-                       if (throbberParent.childNodes.length == 0)\r
-                       {\r
-                               // Create the throbber blocks.\r
-                               var classIds = [ 1,2,3,4,5,4,3,2 ] ;\r
-                               while ( classIds.length > 0 )\r
-                                       throbberParent.appendChild( document.createElement( 'div' ) ).className = ' throbber_' + classIds.shift() ;\r
-                       }\r
+       var oDiv = document.createElement( 'DIV' ) ;\r
+       oDiv.className = 'PopupTab' ;\r
+       oDiv.innerHTML = tabText ;\r
+       oDiv.TabCode = tabCode ;\r
+       oDiv.onclick = TabDiv_OnClick ;\r
 \r
-                       // Center the throbber.\r
-                       var frm = $( 'contents' ) ;\r
-                       var frmCoords = FCKTools.GetDocumentPosition( window, frm ) ;\r
-                       var x = frmCoords.x + ( frm.offsetWidth - throbberParent.offsetWidth ) / 2 ;\r
-                       var y = frmCoords.y + ( frm.offsetHeight - throbberParent.offsetHeight ) / 2 ;\r
-                       throbberParent.style.left = parseInt( x, 10 ) + 'px' ;\r
-                       throbberParent.style.top = parseInt( y, 10 ) + 'px' ;\r
+       if ( startHidden )\r
+               oDiv.style.display = 'none' ;\r
 \r
-                       // Show it.\r
-                       throbberParent.style.visibility = ''  ;\r
+       eTabsRow = document.getElementById( 'TabsRow' ) ;\r
 \r
-                       // Hide tabs and buttons:\r
-                       $( 'Tabs' ).style.visibility = 'hidden' ;\r
-                       $( 'PopupButtons' ).style.visibility = 'hidden' ;\r
+       oCell.appendChild( oDiv ) ;\r
 \r
-                       // Setup the animation interval.\r
-                       timer = setInterval( updateThrobber, 100 ) ;\r
-               },\r
+       if ( eTabsRow.style.display == 'none' )\r
+       {\r
+               var eTitleArea = document.getElementById( 'TitleArea' ) ;\r
+               eTitleArea.className = 'PopupTitle' ;\r
 \r
-               Hide : function()\r
-               {\r
-                       if ( timer )\r
-                       {\r
-                               clearInterval( timer ) ;\r
-                               timer = null ;\r
-                       }\r
+               oDiv.className = 'PopupTabSelected' ;\r
+               eTabsRow.style.display = '' ;\r
 \r
-                       $( 'throbberBlock' ).style.visibility = 'hidden' ;\r
+               if ( ! window.dialogArguments.Editor.FCKBrowserInfo.IsIE )\r
+                       window.onresize() ;\r
+       }\r
 \r
-                       // Show tabs and buttons:\r
-                       $( 'Tabs' ).style.visibility = '' ;\r
-                       $( 'PopupButtons' ).style.visibility = '' ;\r
-               }\r
-       } ;\r
-}() ;\r
+       oTabs[ tabCode ] = oDiv ;\r
+}\r
 \r
-// Drag and drop handlers.\r
-var DragAndDrop = function()\r
+function SetSelectedTab( tabCode )\r
 {\r
-       var registeredWindows = [] ;\r
-       var lastCoords ;\r
-       var currentPos ;\r
-\r
-       var cleanUpHandlers = function()\r
-       {\r
-               for ( var i = 0 ; i < registeredWindows.length ; i++ )\r
-               {\r
-                       FCKTools.RemoveEventListener( registeredWindows[i].document, 'mousemove', dragMouseMoveHandler ) ;\r
-                       FCKTools.RemoveEventListener( registeredWindows[i].document, 'mouseup', dragMouseUpHandler ) ;\r
-               }\r
-       }\r
-\r
-       var dragMouseMoveHandler = function( evt )\r
+       for ( var sCode in oTabs )\r
        {\r
-               if ( !lastCoords )\r
-                       return ;\r
-\r
-               if ( !evt )\r
-                       evt = FCKTools.GetElementDocument( this ).parentWindow.event ;\r
-\r
-               // Updated the last coordinates.\r
-               var currentCoords =\r
-               {\r
-                       x : evt.screenX,\r
-                       y : evt.screenY\r
-               } ;\r
-\r
-               currentPos =\r
-               {\r
-                       x : currentPos.x + ( currentCoords.x - lastCoords.x ),\r
-                       y : currentPos.y + ( currentCoords.y - lastCoords.y )\r
-               } ;\r
-\r
-               lastCoords = currentCoords ;\r
-\r
-               frameElement.style.left = currentPos.x + 'px' ;\r
-               frameElement.style.top  = currentPos.y + 'px' ;\r
-\r
-               if ( evt.preventDefault )\r
-                       evt.preventDefault() ;\r
+               if ( sCode == tabCode )\r
+                       oTabs[sCode].className = 'PopupTabSelected' ;\r
                else\r
-                       evt.returnValue = false ;\r
+                       oTabs[sCode].className = 'PopupTab' ;\r
        }\r
 \r
-       var dragMouseUpHandler = function( evt )\r
-       {\r
-               if ( !lastCoords )\r
-                       return ;\r
-               if ( !evt )\r
-                       evt = FCKTools.GetElementDocument( this ).parentWindow.event ;\r
-               cleanUpHandlers() ;\r
-               lastCoords = null ;\r
-       }\r
+       if ( typeof( window.frames["frmMain"].OnDialogTabChange ) == 'function' )\r
+               window.frames["frmMain"].OnDialogTabChange( tabCode ) ;\r
+}\r
 \r
-       return {\r
+function SetTabVisibility( tabCode, isVisible )\r
+{\r
+       var oTab = oTabs[ tabCode ] ;\r
+       oTab.style.display = isVisible ? '' : 'none' ;\r
 \r
-               MouseDownHandler : function( evt )\r
+       if ( ! isVisible && oTab.className == 'PopupTabSelected' )\r
+       {\r
+               for ( var sCode in oTabs )\r
                {\r
-                       var view = null ;\r
-                       if ( !evt )\r
+                       if ( oTabs[sCode].style.display != 'none' )\r
                        {\r
-                               view = FCKTools.GetElementDocument( this ).parentWindow ;\r
-                               evt = view.event ;\r
+                               SetSelectedTab( sCode ) ;\r
+                               break ;\r
                        }\r
-                       else\r
-                               view = evt.view ;\r
-\r
-                       var target = evt.srcElement || evt.target ;\r
-                       if ( target.id == 'closeButton' || target.className == 'PopupTab' || target.className == 'PopupTabSelected' )\r
-                               return ;\r
-\r
-                       lastCoords =\r
-                       {\r
-                               x : evt.screenX,\r
-                               y : evt.screenY\r
-                       } ;\r
-\r
-                       // Save the current IFRAME position.\r
-                       currentPos =\r
-                       {\r
-                               x : parseInt( FCKDomTools.GetCurrentElementStyle( frameElement, 'left' ), 10 ),\r
-                               y : parseInt( FCKDomTools.GetCurrentElementStyle( frameElement, 'top' ), 10 )\r
-                       } ;\r
-\r
-                       for ( var i = 0 ; i < registeredWindows.length ; i++ )\r
-                       {\r
-                               FCKTools.AddEventListener( registeredWindows[i].document, 'mousemove', dragMouseMoveHandler ) ;\r
-                               FCKTools.AddEventListener( registeredWindows[i].document, 'mouseup', dragMouseUpHandler ) ;\r
-                       }\r
-\r
-                       if ( evt.preventDefault )\r
-                               evt.preventDefault() ;\r
-                       else\r
-                               evt.returnValue = false ;\r
-               },\r
-\r
-               RegisterHandlers : function( w )\r
-               {\r
-                       registeredWindows.push( w ) ;\r
                }\r
        }\r
-}() ;\r
-\r
-// Selection related functions.\r
-//(Became simple shortcuts after the fix for #1990)\r
-var Selection =\r
-{\r
-       /**\r
-        * Ensures that the editing area contains an active selection. This is a\r
-        * requirement for IE, as it looses the selection when the focus moves to other\r
-        * frames.\r
-        */\r
-       EnsureSelection : function()\r
-       {\r
-               // Move the focus to the Cancel button so even if the dialog contains a\r
-               // contentEditable element the selection is properly restored in the editor #2496\r
-               window.focus() ;\r
-               $( 'btnCancel' ).focus() ;\r
-\r
-               FCK.Selection.Restore() ;\r
-       },\r
-\r
-       /**\r
-        * Get the FCKSelection object for the editor instance.\r
-        */\r
-       GetSelection : function()\r
-       {\r
-               return FCK.Selection ;\r
-       },\r
-\r
-       /**\r
-        * Get the selected element in the editing area (for object selections).\r
-        */\r
-       GetSelectedElement : function()\r
-       {\r
-               return FCK.Selection.GetSelectedElement() ;\r
-       }\r
 }\r
 \r
-// Tab related functions.\r
-var Tabs = function()\r
+function SetOnKeyDown( targetDocument )\r
 {\r
-       // Only element ids should be stored here instead of element references since setSelectedTab and TabDiv_OnClick\r
-       // would build circular references with the element references inside and cause memory leaks in IE6.\r
-       var oTabs = new Object() ;\r
-\r
-       var setSelectedTab = function( tabCode )\r
+       targetDocument.onkeydown = function ( e )\r
        {\r
-               for ( var sCode in oTabs )\r
+               e = e || event || this.parentWindow.event ;\r
+               switch ( e.keyCode )\r
                {\r
-                       if ( sCode == tabCode )\r
-                               $( oTabs[sCode] ).className = 'PopupTabSelected' ;\r
-                       else\r
-                               $( oTabs[sCode] ).className = 'PopupTab' ;\r
+                       case 13 :               // ENTER\r
+                               var oTarget = e.srcElement || e.target ;\r
+                               if ( oTarget.tagName == 'TEXTAREA' )\r
+                                       return true ;\r
+                               Ok() ;\r
+                               return false ;\r
+                       case 27 :               // ESC\r
+                               Cancel() ;\r
+                               return false ;\r
+                               break ;\r
                }\r
-\r
-               if ( typeof( window.frames["frmMain"].OnDialogTabChange ) == 'function' )\r
-                       window.frames["frmMain"].OnDialogTabChange( tabCode ) ;\r
-       }\r
-\r
-       function TabDiv_OnClick()\r
-       {\r
-               setSelectedTab( this.TabCode ) ;\r
+               return true ;\r
        }\r
+}\r
+SetOnKeyDown( document ) ;\r
 \r
-       window.AddTab = function( tabCode, tabText, startHidden )\r
-       {\r
-               if ( typeof( oTabs[ tabCode ] ) != 'undefined' )\r
-                       return ;\r
-\r
-               var eTabsRow = $( 'Tabs' ) ;\r
-\r
-               var oCell = eTabsRow.insertCell(  eTabsRow.cells.length - 1 ) ;\r
-               oCell.noWrap = true ;\r
-\r
-               var oDiv = document.createElement( 'DIV' ) ;\r
-               oDiv.className = 'PopupTab' ;\r
-               oDiv.innerHTML = tabText ;\r
-               oDiv.TabCode = tabCode ;\r
-               oDiv.onclick = TabDiv_OnClick ;\r
-               oDiv.id = Math.random() ;\r
-\r
-               if ( startHidden )\r
-                       oDiv.style.display = 'none' ;\r
-\r
-               eTabsRow = $( 'TabsRow' ) ;\r
-\r
-               oCell.appendChild( oDiv ) ;\r
-\r
-               if ( eTabsRow.style.display == 'none' )\r
-               {\r
-                       var eTitleArea = $( 'TitleArea' ) ;\r
-                       eTitleArea.className = 'PopupTitle' ;\r
-\r
-                       oDiv.className = 'PopupTabSelected' ;\r
-                       eTabsRow.style.display = '' ;\r
-\r
-                       if ( window.onresize )\r
-                               window.onresize() ;\r
-               }\r
-\r
-               oTabs[ tabCode ] = oDiv.id ;\r
-\r
-               FCKTools.DisableSelection( oDiv ) ;\r
-       } ;\r
-\r
-       window.SetSelectedTab = setSelectedTab ;\r
-\r
-       window.SetTabVisibility = function( tabCode, isVisible )\r
-       {\r
-               var oTab = $( oTabs[ tabCode ] ) ;\r
-               oTab.style.display = isVisible ? '' : 'none' ;\r
-\r
-               if ( ! isVisible && oTab.className == 'PopupTabSelected' )\r
-               {\r
-                       for ( var sCode in oTabs )\r
-                       {\r
-                               if ( $( oTabs[sCode] ).style.display != 'none' )\r
-                               {\r
-                                       setSelectedTab( sCode ) ;\r
-                                       break ;\r
-                               }\r
-                       }\r
-               }\r
-       } ;\r
-}() ;\r
-\r
-// readystatechange handler for registering drag and drop handlers in cover\r
-// iframes, defined out here to avoid memory leak.\r
-// Do NOT put this function as a private function as it will induce memory leak\r
-// in IE and it's not detectable with Drip or sIEve and undetectable leaks are\r
-// really nasty (sigh).\r
-var onReadyRegister = function()\r
-{\r
-       if ( this.readyState != 'complete' )\r
-               return ;\r
-       DragAndDrop.RegisterHandlers( this.contentWindow ) ;\r
-} ;\r
-\r
-// The business logic of the dialog, dealing with operational things like\r
-// dialog open/dialog close/enable/disable/etc.\r
-(function()\r
+function DisableContextMenu( targetDocument )\r
 {\r
-       var setOnKeyDown = function( targetDocument )\r
-       {\r
-               targetDocument.onkeydown = function ( e )\r
-               {\r
-                       e = e || event || this.parentWindow.event ;\r
-                       switch ( e.keyCode )\r
-                       {\r
-                               case 13 :               // ENTER\r
-                                       var oTarget = e.srcElement || e.target ;\r
-                                       if ( oTarget.tagName == 'TEXTAREA' )\r
-                                               return true ;\r
-                                       Ok() ;\r
-                                       return false ;\r
-\r
-                               case 27 :               // ESC\r
-                                       Cancel() ;\r
-                                       return false ;\r
-                       }\r
-                       return true ;\r
-               }\r
-       } ;\r
+       if ( window.dialogArguments.Editor.FCKBrowserInfo.IsIE ) return ;\r
 \r
-       var contextMenuBlocker = function( e )\r
+       // Disable Right-Click\r
+       var oOnContextMenu = function( e )\r
        {\r
                var sTagName = e.target.tagName ;\r
                if ( ! ( ( sTagName == "INPUT" && e.target.type == "text" ) || sTagName == "TEXTAREA" ) )\r
                        e.preventDefault() ;\r
-       } ;\r
-\r
-       var disableContextMenu = function( targetDocument )\r
-       {\r
-               if ( FCKBrowserInfo.IsIE )\r
-                       return ;\r
-\r
-               targetDocument.addEventListener( 'contextmenu', contextMenuBlocker, true ) ;\r
-       } ;\r
-\r
-       // Program entry point.\r
-       window.Init = function()\r
-       {\r
-               $( 'contents' ).dir = langDir;\r
-\r
-               // Start the throbber timer.\r
-               Throbber.Show( 1000 ) ;\r
-\r
-               Sizer.RefreshContainerSize() ;\r
-               LoadInnerDialog() ;\r
-\r
-               FCKTools.DisableSelection( document.body ) ;\r
-\r
-               // Make the title area draggable.\r
-               var titleElement = $( 'header' ) ;\r
-               titleElement.onmousedown = DragAndDrop.MouseDownHandler ;\r
-\r
-               // Connect mousemove and mouseup events from dialog frame and outer window to dialog dragging logic.\r
-               DragAndDrop.RegisterHandlers( window ) ;\r
-               DragAndDrop.RegisterHandlers( Args().TopWindow ) ;\r
-\r
-               // Disable the previous dialog if it exists.\r
-               if ( ParentDialog() )\r
-               {\r
-                       ParentDialog().contentWindow.SetEnabled( false ) ;\r
-                       if ( FCKBrowserInfo.IsIE && !FCKBrowserInfo.IsIE7 )\r
-                       {\r
-                               var currentParent = ParentDialog() ;\r
-                               while ( currentParent )\r
-                               {\r
-                                       var blockerFrame = currentParent.contentWindow.$( 'blocker' ) ;\r
-                                       if ( blockerFrame.readyState == 'complete' )\r
-                                               DragAndDrop.RegisterHandlers( blockerFrame.contentWindow ) ;\r
-                                       else\r
-                                               blockerFrame.onreadystatechange = onReadyRegister ;\r
-                                       currentParent = ParentDialog( currentParent ) ;\r
-                               }\r
-                       }\r
-                       else\r
-                       {\r
-                               var currentParent = ParentDialog() ;\r
-                               while ( currentParent )\r
-                               {\r
-                                       DragAndDrop.RegisterHandlers( currentParent.contentWindow ) ;\r
-                                       currentParent = ParentDialog( currentParent ) ;\r
-                               }\r
-                       }\r
-               }\r
-\r
-               // If this is the only dialog on screen, enable the background cover.\r
-               if ( FCKBrowserInfo.IsIE && !FCKBrowserInfo.IsIE7 )\r
-               {\r
-                       var blockerFrame = FCKDialog.GetCover().firstChild ;\r
-                       if ( blockerFrame.readyState == 'complete' )\r
-                               DragAndDrop.RegisterHandlers( blockerFrame.contentWindow ) ;\r
-                       else\r
-                               blockerFrame.onreadystatechange = onReadyRegister;\r
-               }\r
-\r
-               // Add Enter/Esc hotkeys and disable context menu for the dialog.\r
-               setOnKeyDown( document ) ;\r
-               disableContextMenu( document ) ;\r
-       } ;\r
-\r
-       window.LoadInnerDialog = function()\r
-       {\r
-               if ( window.onresize )\r
-                       window.onresize() ;\r
-\r
-               // First of all, translate the dialog box contents.\r
-               E.FCKLanguageManager.TranslatePage( document ) ;\r
-\r
-               // Create the IFRAME that holds the dialog contents.\r
-               $( 'innerContents' ).innerHTML = '<iframe id="frmMain" src="' + Args().Page + '" name="frmMain" frameborder="0" width="100%" height="100%" scrolling="auto" style="visibility: hidden;" allowtransparency="true"><\/iframe>' ;\r
-       } ;\r
-\r
-       window.InnerDialogLoaded = function()\r
-       {\r
-               // If the dialog has been closed before the iframe is loaded, do nothing.\r
-               if ( !frameElement.parentNode )\r
-                       return null ;\r
-\r
-               Throbber.Hide() ;\r
-\r
-               var frmMain = $('frmMain') ;\r
-               var innerWindow = frmMain.contentWindow ;\r
-               var innerDoc = innerWindow.document ;\r
-\r
-               // Show the loaded iframe.\r
-               frmMain.style.visibility = '' ;\r
-\r
-               // Set the language direction.\r
-               innerDoc.documentElement.dir = langDir ;\r
-\r
-               // Sets the Skin CSS.\r
-               innerDoc.write( FCKTools.GetStyleHtml( FCKConfig.SkinDialogCSS ) ) ;\r
-\r
-               setOnKeyDown( innerDoc ) ;\r
-               disableContextMenu( innerDoc ) ;\r
-\r
-               Sizer.RefreshContainerSize();\r
-\r
-               DragAndDrop.RegisterHandlers( innerWindow ) ;\r
-\r
-               innerWindow.focus() ;\r
-\r
-               return E ;\r
-       } ;\r
+       }\r
+       targetDocument.addEventListener( 'contextmenu', oOnContextMenu, true ) ;\r
+}\r
+DisableContextMenu( document ) ;\r
 \r
-       window.SetOkButton = function( showIt )\r
+if ( ! window.dialogArguments.Editor.FCKBrowserInfo.IsIE )\r
+{\r
+       window.onresize = function()\r
        {\r
-               $('btnOk').style.visibility = ( showIt ? '' : 'hidden' ) ;\r
-       } ;\r
+               var oFrame = document.getElementById("frmMain") ;\r
 \r
-       window.Ok = function()\r
-       {\r
-               Selection.EnsureSelection() ;\r
+               if ( ! oFrame )\r
+               return ;\r
 \r
-               var frmMain = window.frames["frmMain"] ;\r
+               oFrame.height = 0 ;\r
 \r
-               if ( frmMain.Ok && frmMain.Ok() )\r
-                       CloseDialog() ;\r
-               else\r
-                       frmMain.focus() ;\r
-       } ;\r
+               var oCell = document.getElementById("FrameCell") ;\r
+               var iHeight = oCell.offsetHeight ;\r
 \r
-       window.Cancel = function( dontFireChange )\r
-       {\r
-               Selection.EnsureSelection() ;\r
-               return CloseDialog( dontFireChange ) ;\r
-       } ;\r
+               oFrame.height = iHeight - 2 ;\r
+       }\r
+}\r
 \r
-       window.CloseDialog = function( dontFireChange )\r
+if ( window.dialogArguments.Editor.FCKBrowserInfo.IsIE )\r
+{\r
+       function Window_OnBeforeUnload()\r
        {\r
-               Throbber.Hide() ;\r
-\r
-               // Points the src to a non-existent location to avoid loading errors later, in case the dialog\r
-               // haven't been completed loaded at this point.\r
-               if ( $( 'frmMain' ) )\r
-                       $( 'frmMain' ).src = FCKTools.GetVoidUrl() ;\r
+               for ( var t in oTabs )\r
+                       oTabs[t] = null ;\r
 \r
-               if ( !dontFireChange && !FCK.EditMode )\r
-               {\r
-                       // All dialog windows, by default, will fire the "OnSelectionChange"\r
-                       // event, no matter the Ok or Cancel button has been pressed.\r
-                       // It seems that OnSelectionChange may enter on a concurrency state\r
-                       // on some situations (#1965), so we should put the event firing in\r
-                       // the execution queue instead of executing it immediately.\r
-                       setTimeout( function()\r
-                               {\r
-                                       FCK.Events.FireEvent( 'OnSelectionChange' ) ;\r
-                               }, 0 ) ;\r
-               }\r
+               window.dialogArguments.Editor = null ;\r
+       }\r
+       window.attachEvent( "onbeforeunload", Window_OnBeforeUnload ) ;\r
+}\r
 \r
-               FCKDialog.OnDialogClose( window ) ;\r
-       } ;\r
+function Window_OnClose()\r
+{\r
+       window.dialogArguments.Editor.FCKFocusManager.Unlock() ;\r
+}\r
 \r
-       window.SetEnabled = function( isEnabled )\r
-       {\r
-               var cover = $( 'cover' ) ;\r
-               cover.style.display = isEnabled ? 'none' : '' ;\r
+if ( window.addEventListener )\r
+       window.addEventListener( 'unload', Window_OnClose, false ) ;\r
 \r
-               if ( FCKBrowserInfo.IsIE && !FCKBrowserInfo.IsIE7 )\r
-               {\r
-                       if ( !isEnabled )\r
-                       {\r
-                               // Inser the blocker IFRAME before the cover.\r
-                               var blocker = document.createElement( 'iframe' ) ;\r
-                               blocker.src = FCKTools.GetVoidUrl() ;\r
-                               blocker.hideFocus = true ;\r
-                               blocker.frameBorder = 0 ;\r
-                               blocker.id = blocker.className = 'blocker' ;\r
-                               cover.appendChild( blocker ) ;\r
-                       }\r
-                       else\r
-                       {\r
-                               var blocker = $( 'blocker' ) ;\r
-                               if ( blocker && blocker.parentNode )\r
-                                       blocker.parentNode.removeChild( blocker ) ;\r
-                       }\r
-               }\r
-       } ;\r
-})() ;\r
-// ]]>\r
                </script>\r
        </head>\r
-       <body onload="Init();" class="PopupBody">\r
-               <div class="contents" id="contents">\r
-                       <div id="header">\r
-                               <div id="TitleArea" class="PopupTitle PopupTitleBorder">\r
+       <body onload="LoadInnerDialog();" class="PopupBody">\r
+               <table height="100%" cellspacing="0" cellpadding="0" width="100%" border="0">\r
+                       <tr>\r
+                               <td id="TitleArea" class="PopupTitle PopupTitleBorder">\r
                                        <script type="text/javascript">\r
-// <![CDATA[\r
-document.write( Args().Title ) ;\r
-// ]]>\r
+document.write( sTitle ) ;\r
                                        </script>\r
-                                       <div id="closeButton" onclick="Cancel();"></div>\r
-                               </div>\r
-                               <div id="TabsRow" class="PopupTabArea" style="display: none">\r
+                               </td>\r
+                       </tr>\r
+                       <tr id="TabsRow" style="DISPLAY: none">\r
+                               <td class="PopupTabArea">\r
                                        <table border="0" cellpadding="0" cellspacing="0" width="100%">\r
-                                               <tr id="Tabs">\r
+                                               <tr id="Tabs" onselectstart="return false;">\r
                                                        <td class="PopupTabEmptyArea">&nbsp;</td>\r
                                                        <td class="PopupTabEmptyArea" width="100%">&nbsp;</td>\r
                                                </tr>\r
                                        </table>\r
-                               </div>\r
-                       </div>\r
-                       <div id="innerContents"></div>\r
-                       <div id="PopupButtons" class="PopupButtons">\r
-                               <table border="0" cellpadding="0" cellspacing="0">\r
-                                       <tr>\r
-                                               <td width="100%">&nbsp;</td>\r
-                                               <td nowrap="nowrap">\r
-                                                       <input id="btnOk" style="visibility: hidden;" type="button" value="Ok" class="Button" onclick="Ok();" fckLang="DlgBtnOK" />\r
-                                                       &nbsp;\r
-                                                       <input id="btnCancel" type="button" value="Cancel" class="Button" onclick="Cancel();" fckLang="DlgBtnCancel" />\r
-                                               </td>\r
-                                       </tr>\r
-                               </table>\r
-                       </div>\r
-               </div>\r
-               <div class="tl"></div>\r
-               <div class="tc"></div>\r
-               <div class="tr"></div>\r
-               <div class="ml"></div>\r
-               <div class="mr"></div>\r
-               <div class="bl"></div>\r
-               <div class="bc"></div>\r
-               <div class="br"></div>\r
-               <div class="cover" id="cover" style="display:none"></div>\r
-               <div id="throbberBlock" style="position: absolute; visibility: hidden"></div>\r
-               <script type="text/javascript">\r
-// <![CDATA[\r
-                       // Set the class name for language direction.\r
-                       document.body.className += ' ' + langDir ;\r
-\r
-                       var cover = $( 'cover' ) ;\r
-                       cover.style.backgroundColor = FCKConfig.BackgroundBlockerColor ;\r
-                       FCKDomTools.SetOpacity( cover, FCKConfig.BackgroundBlockerOpacity ) ;\r
-// ]]>\r
-               </script>\r
+                               </td>\r
+                       </tr>\r
+                       <tr>\r
+                               <td id="FrameCell" height="100%" valign="top">\r
+                                       <iframe id="frmMain" src="javascript:void(0)" name="frmMain" frameborder="0" height="100%" width="100%" scrolling="auto">\r
+                                       </iframe>\r
+                               </td>\r
+                       </tr>\r
+                       <tr>\r
+                               <td class="PopupButtons">\r
+                                       <table border="0" cellpadding="0" cellspacing="0">\r
+                                               <tr>\r
+                                                       <td width="100%">&nbsp;</td>\r
+                                                       <td nowrap="nowrap">\r
+                                                               <input id="btnOk" style="VISIBILITY: hidden;" type="button" value="Ok" class="Button" onclick="Ok();" fckLang="DlgBtnOK" />\r
+                                                               &nbsp; \r
+                                                               <input id="btnCancel" type="button" value="Cancel" class="Button" onclick="Cancel();" fckLang="DlgBtnCancel" />\r
+                                                       </td>\r
+                                               </tr>\r
+                                       </table>\r
+                               </td>\r
+                       </tr>\r
+               </table>\r
        </body>\r
-</html>\r
+</html>
\ No newline at end of file
index 5f90c3d..25ad37e 100644 (file)
@@ -1,7 +1,7 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">\r
 <!--\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
  *\r
  * Main page that holds the editor.\r
 -->\r
-<html>\r
+<html xmlns="http://www.w3.org/1999/xhtml">\r
 <head>\r
        <title>FCKeditor</title>\r
-       <meta name="robots" content="noindex, nofollow">\r
-       <meta http-equiv="Content-Type" content="text/html; charset=utf-8">\r
-       <meta http-equiv="Cache-Control" content="public">\r
+       <meta name="robots" content="noindex, nofollow" />\r
+       <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />\r
+       <meta http-equiv="Cache-Control" content="public" />\r
        <script type="text/javascript">\r
 \r
-// #1645: Alert the user if opening FCKeditor in FF3 from local filesystem\r
-// without security.fileuri.strict_origin_policy disabled.\r
-if ( document.location.protocol == 'file:' )\r
-{\r
-       try\r
-       {\r
-               window.parent.document.domain ;\r
-       }\r
-       catch ( e )\r
-       {\r
-               window.addEventListener( 'load', function()\r
-                       {\r
-                               document.body.innerHTML = '\\r
-                                       <div style="border: 1px red solid; font-family: arial; font-size: 12px; color: red; padding:10px;">\\r
-                                               <p>\\r
-                                                       <b>Your browser security settings don\'t allow FCKeditor to be opened from\\r
-                                                       the local filesystem.<\/b>\\r
-                                               <\/p>\\r
-                                               <p>\\r
-                                                       Please open the <b>about:config<\/b> page and disable the\\r
-                                                       &quot;security.fileuri.strict_origin_policy&quot; option; then load this page again.\\r
-                                               <\/p>\\r
-                                               <p>\\r
-                                                       Check our <a href="http://docs.fckeditor.net/FCKeditor_2.x/Developers_Guide/FAQ#ff3perms">FAQ<\/a>\\r
-                                                       for more information.\\r
-                                               <\/p>\\r
-                                       <\/div>' ;\r
-                       }, false ) ;\r
-       }\r
-}\r
-\r
-// Save a reference to the default domain.\r
-var FCK_ORIGINAL_DOMAIN ;\r
-\r
-// Automatically detect the correct document.domain (#123).\r
-(function()\r
-{\r
-       var d = FCK_ORIGINAL_DOMAIN = document.domain ;\r
-\r
-       while ( true )\r
-       {\r
-               // Test if we can access a parent property.\r
-               try\r
-               {\r
-                       var test = window.parent.document.domain ;\r
-                       break ;\r
-               }\r
-               catch( e ) {}\r
-\r
-               // Remove a domain part: www.mytest.example.com => mytest.example.com => example.com ...\r
-               d = d.replace( /.*?(?:\.|$)/, '' ) ;\r
-\r
-               if ( d.length == 0 )\r
-                       break ;         // It was not able to detect the domain.\r
-\r
-               try\r
-               {\r
-                       document.domain = d ;\r
-               }\r
-               catch (e)\r
-               {\r
-                       break ;\r
-               }\r
-       }\r
-})() ;\r
-\r
-// Save a reference to the detected runtime domain.\r
-var FCK_RUNTIME_DOMAIN = document.domain ;\r
-\r
-var FCK_IS_CUSTOM_DOMAIN = ( FCK_ORIGINAL_DOMAIN != FCK_RUNTIME_DOMAIN ) ;\r
-\r
 // Instead of loading scripts and CSSs using inline tags, all scripts are\r
 // loaded by code. In this way we can guarantee the correct processing order,\r
 // otherwise external scripts and inline scripts could be executed in an\r
@@ -107,11 +36,16 @@ var FCK_IS_CUSTOM_DOMAIN = ( FCK_ORIGINAL_DOMAIN != FCK_RUNTIME_DOMAIN ) ;
 \r
 function LoadScript( url )\r
 {\r
-       document.write( '<scr' + 'ipt type="text/javascript" src="' + url + '"><\/scr' + 'ipt>' ) ;\r
+       document.write( '<scr' + 'ipt type="text/javascript" src="' + url + '" onerror="alert(\'Error loading \' + this.src);"><\/scr' + 'ipt>' ) ;\r
+}\r
+\r
+function LoadCss( url )\r
+{\r
+       document.write( '<link href="' + url + '" type="text/css" rel="stylesheet" onerror="alert(\'Error loading \' + this.src);" />' ) ;\r
 }\r
 \r
 // Main editor scripts.\r
-var sSuffix = ( /*@cc_on!@*/false ) ? 'ie' : 'gecko' ;\r
+var sSuffix = /msie/.test( navigator.userAgent.toLowerCase() ) ? 'ie' : 'gecko' ;\r
 \r
 LoadScript( 'js/fckeditorcode_' + sSuffix + '.js' ) ;\r
 \r
@@ -121,10 +55,6 @@ LoadScript( '../fckconfig.js' ) ;
        </script>\r
        <script type="text/javascript">\r
 \r
-// Adobe AIR compatibility file.\r
-if ( FCKBrowserInfo.IsAIR )\r
-       LoadScript( 'js/fckadobeair.js' ) ;\r
-\r
 if ( FCKBrowserInfo.IsIE )\r
 {\r
        // Remove IE mouse flickering.\r
@@ -144,11 +74,6 @@ if ( FCKBrowserInfo.IsIE )
        FCK.IECleanup.AddItem( FCK, FCK_Cleanup ) ;\r
 }\r
 \r
-// The first function to be called on selection change must the the styles\r
-// change checker, because the result of its processing may be used by another\r
-// functions listening to the same event.\r
-FCK.Events.AttachEvent( 'OnSelectionChange', function() { FCKStyles.CheckSelectionChanges() ; } ) ;\r
-\r
 // The config hidden field is processed immediately, because\r
 // CustomConfigurationsPath may be set in the page.\r
 FCKConfig.ProcessHiddenField() ;\r
@@ -165,24 +90,8 @@ FCKConfig_LoadPageConfig() ;
 \r
 FCKConfig_PreProcess() ;\r
 \r
-// Load the full debug script.\r
-if ( FCKConfig.Debug )\r
-       LoadScript( '_source/internals/fckdebug.js' ) ;\r
-\r
-       </script>\r
-       <script type="text/javascript">\r
-\r
-// CSS minified by http://iceyboard.no-ip.org/projects/css_compressor (see _dev/css_compression.txt).\r
-var FCK_InternalCSS                    = FCKTools.FixCssUrls( FCKConfig.BasePath + 'css/', 'html{min-height:100%}table.FCK__ShowTableBorders,table.FCK__ShowTableBorders td,table.FCK__ShowTableBorders th{border:#d3d3d3 1px solid}form{border:1px dotted #F00;padding:2px}.FCK__Flash{border:#a9a9a9 1px solid;background-position:center center;background-image:url(images/fck_flashlogo.gif);background-repeat:no-repeat;width:80px;height:80px}.FCK__UnknownObject{border:#a9a9a9 1px solid;background-position:center center;background-image:url(images/fck_plugin.gif);background-repeat:no-repeat;width:80px;height:80px}.FCK__Anchor{border:1px dotted #00F;background-position:center center;background-image:url(images/fck_anchor.gif);background-repeat:no-repeat;width:16px;height:15px;vertical-align:middle}.FCK__AnchorC{border:1px dotted #00F;background-position:1px center;background-image:url(images/fck_anchor.gif);background-repeat:no-repeat;padding-left:18px}a[name]{border:1px dotted #00F;background-position:0 center;background-image:url(images/fck_anchor.gif);background-repeat:no-repeat;padding-left:18px}.FCK__PageBreak{background-position:center center;background-image:url(images/fck_pagebreak.gif);background-repeat:no-repeat;clear:both;display:block;float:none;width:100%;border-top:#999 1px dotted;border-bottom:#999 1px dotted;border-right:0;border-left:0;height:5px}.FCK__InputHidden{width:19px;height:18px;background-image:url(images/fck_hiddenfield.gif);background-repeat:no-repeat;vertical-align:text-bottom;background-position:center center}.FCK__ShowBlocks p,.FCK__ShowBlocks div,.FCK__ShowBlocks pre,.FCK__ShowBlocks address,.FCK__ShowBlocks blockquote,.FCK__ShowBlocks h1,.FCK__ShowBlocks h2,.FCK__ShowBlocks h3,.FCK__ShowBlocks h4,.FCK__ShowBlocks h5,.FCK__ShowBlocks h6{background-repeat:no-repeat;border:1px dotted gray;padding-top:8px;padding-left:8px}.FCK__ShowBlocks p{background-image:url(images/block_p.png)}.FCK__ShowBlocks div{background-image:url(images/block_div.png)}.FCK__ShowBlocks pre{background-image:url(images/block_pre.png)}.FCK__ShowBlocks address{background-image:url(images/block_address.png)}.FCK__ShowBlocks blockquote{background-image:url(images/block_blockquote.png)}.FCK__ShowBlocks h1{background-image:url(images/block_h1.png)}.FCK__ShowBlocks h2{background-image:url(images/block_h2.png)}.FCK__ShowBlocks h3{background-image:url(images/block_h3.png)}.FCK__ShowBlocks h4{background-image:url(images/block_h4.png)}.FCK__ShowBlocks h5{background-image:url(images/block_h5.png)}.FCK__ShowBlocks h6{background-image:url(images/block_h6.png)}' ) ;\r
-var FCK_ShowTableBordersCSS    = FCKTools.FixCssUrls( FCKConfig.BasePath + 'css/', 'table:not([border]),table:not([border]) > tr > td,table:not([border]) > tr > th,table:not([border]) > tbody > tr > td,table:not([border]) > tbody > tr > th,table:not([border]) > thead > tr > td,table:not([border]) > thead > tr > th,table:not([border]) > tfoot > tr > td,table:not([border]) > tfoot > tr > th,table[border=\"0\"],table[border=\"0\"] > tr > td,table[border=\"0\"] > tr > th,table[border=\"0\"] > tbody > tr > td,table[border=\"0\"] > tbody > tr > th,table[border=\"0\"] > thead > tr > td,table[border=\"0\"] > thead > tr > th,table[border=\"0\"] > tfoot > tr > td,table[border=\"0\"] > tfoot > tr > th{border:#d3d3d3 1px dotted}' ) ;\r
-\r
-// Popup the debug window if debug mode is set to true. It guarantees that the\r
-// first debug message will not be lost.\r
-if ( FCKConfig.Debug )\r
-       FCKDebug._GetWindow() ;\r
-\r
 // Load the active skin CSS.\r
-document.write( FCKTools.GetStyleHtml( FCKConfig.SkinEditorCSS ) ) ;\r
+LoadCss( FCKConfig.SkinPath + 'fck_editor.css' ) ;\r
 \r
 // Load the language file.\r
 FCKLanguageManager.Initialize() ;\r
@@ -202,6 +111,10 @@ FCKPlugins.Load() ;
 // Set the editor interface direction.\r
 window.document.dir = FCKLang.Dir ;\r
 \r
+// Activate pasting operations.\r
+if ( FCKConfig.ForcePasteAsPlainText || FCKConfig.AutoDetectPasteFromWord )\r
+       FCK.Events.AttachEvent( 'OnPaste', FCK.Paste ) ;\r
+\r
        </script>\r
        <script type="text/javascript">\r
 \r
@@ -253,8 +166,7 @@ function WaitForActive( editorInstance, newStatus )
                if ( FCKBrowserInfo.IsGecko )\r
                        FCKTools.RunFunction( window.onresize ) ;\r
 \r
-               if ( !FCKConfig.PreventSubmitHandler )\r
-                       _AttachFormSubmitToAPI() ;\r
+               _AttachFormSubmitToAPI() ;\r
 \r
                FCK.SetStatus( FCK_STATUS_COMPLETE ) ;\r
 \r
@@ -265,16 +177,13 @@ function WaitForActive( editorInstance, newStatus )
        }\r
 }\r
 \r
-// Gecko and Webkit browsers don't calculate well the IFRAME size so we must\r
+// Gecko browsers doens't calculate well that IFRAME size so we must\r
 // recalculate it every time the window size changes.\r
-if ( FCKBrowserInfo.IsGecko || ( FCKBrowserInfo.IsSafari && !FCKBrowserInfo.IsSafari3 ) )\r
+if ( FCKBrowserInfo.IsGecko )\r
 {\r
-       window.onresize = function( e )\r
+       function Window_OnResize()\r
        {\r
-               // Running in Firefox's chrome makes the window receive the event including subframes.\r
-               // we care only about this window. Ticket #1642.\r
-               // #2002: The originalTarget from the event can be the current document, the window, or the editing area.\r
-               if ( e && e.originalTarget && e.originalTarget !== document && e.originalTarget !== window && (!e.originalTarget.ownerDocument || e.originalTarget.ownerDocument != document ))\r
+               if ( FCKBrowserInfo.IsOpera )\r
                        return ;\r
 \r
                var oCell = document.getElementById( 'xEditingArea' ) ;\r
@@ -282,10 +191,11 @@ if ( FCKBrowserInfo.IsGecko || ( FCKBrowserInfo.IsSafari && !FCKBrowserInfo.IsSa
                var eInnerElement = oCell.firstChild ;\r
                if ( eInnerElement )\r
                {\r
-                       eInnerElement.style.height = '0px' ;\r
-                       eInnerElement.style.height = ( oCell.scrollHeight - 2 ) + 'px' ;\r
+                       eInnerElement.style.height = 0 ;\r
+                       eInnerElement.style.height = oCell.scrollHeight - 2 ;\r
                }\r
        }\r
+       window.onresize = Window_OnResize ;\r
 }\r
 \r
        </script>\r
index 34d76ca..846eed9 100644 (file)
@@ -1,7 +1,7 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">\r
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">\r
 <!--\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
  *\r
  * Main page that holds the editor.\r
 -->\r
-<html>\r
+<html xmlns="http://www.w3.org/1999/xhtml">\r
 <head>\r
        <title>FCKeditor</title>\r
-       <meta name="robots" content="noindex, nofollow">\r
-       <meta http-equiv="Content-Type" content="text/html; charset=utf-8">\r
+       <meta name="robots" content="noindex, nofollow" />\r
+       <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />\r
        <!-- @Packager.RemoveLine\r
-       <meta http-equiv="Cache-Control" content="public">\r
+       <meta http-equiv="Cache-Control" content="public" />\r
        @Packager.RemoveLine -->\r
        <script type="text/javascript">\r
 \r
-// #1645: Alert the user if opening FCKeditor in FF3 from local filesystem\r
-// without security.fileuri.strict_origin_policy disabled.\r
-if ( document.location.protocol == 'file:' )\r
-{\r
-       try\r
-       {\r
-               window.parent.document.domain ;\r
-       }\r
-       catch ( e )\r
-       {\r
-               window.addEventListener( 'load', function()\r
-                       {\r
-                               document.body.innerHTML = '\\r
-                                       <div style="border: 1px red solid; font-family: arial; font-size: 12px; color: red; padding:10px;">\\r
-                                               <p>\\r
-                                                       <b>Your browser security settings don\'t allow FCKeditor to be opened from\\r
-                                                       the local filesystem.<\/b>\\r
-                                               <\/p>\\r
-                                               <p>\\r
-                                                       Please open the <b>about:config<\/b> page and disable the\\r
-                                                       &quot;security.fileuri.strict_origin_policy&quot; option; then load this page again.\\r
-                                               <\/p>\\r
-                                               <p>\\r
-                                                       Check our <a href="http://docs.fckeditor.net/FCKeditor_2.x/Developers_Guide/FAQ#ff3perms">FAQ<\/a>\\r
-                                                       for more information.\\r
-                                               <\/p>\\r
-                                       <\/div>' ;\r
-                       }, false ) ;\r
-       }\r
-}\r
-\r
-// Save a reference to the default domain.\r
-var FCK_ORIGINAL_DOMAIN ;\r
-\r
-// Automatically detect the correct document.domain (#123).\r
-(function()\r
-{\r
-       var d = FCK_ORIGINAL_DOMAIN = document.domain ;\r
-\r
-       while ( true )\r
-       {\r
-               // Test if we can access a parent property.\r
-               try\r
-               {\r
-                       var test = window.parent.document.domain ;\r
-                       break ;\r
-               }\r
-               catch( e ) {}\r
-\r
-               // Remove a domain part: www.mytest.example.com => mytest.example.com => example.com ...\r
-               d = d.replace( /.*?(?:\.|$)/, '' ) ;\r
-\r
-               if ( d.length == 0 )\r
-                       break ;         // It was not able to detect the domain.\r
-\r
-               try\r
-               {\r
-                       document.domain = d ;\r
-               }\r
-               catch (e)\r
-               {\r
-                       break ;\r
-               }\r
-       }\r
-})() ;\r
-\r
-// Save a reference to the detected runtime domain.\r
-var FCK_RUNTIME_DOMAIN = document.domain ;\r
-\r
-var FCK_IS_CUSTOM_DOMAIN = ( FCK_ORIGINAL_DOMAIN != FCK_RUNTIME_DOMAIN ) ;\r
-\r
 // Instead of loading scripts and CSSs using inline tags, all scripts are\r
 // loaded by code. In this way we can guarantee the correct processing order,\r
 // otherwise external scripts and inline scripts could be executed in an\r
@@ -109,11 +38,16 @@ var FCK_IS_CUSTOM_DOMAIN = ( FCK_ORIGINAL_DOMAIN != FCK_RUNTIME_DOMAIN ) ;
 \r
 function LoadScript( url )\r
 {\r
-       document.write( '<scr' + 'ipt type="text/javascript" src="' + url + '"><\/scr' + 'ipt>' ) ;\r
+       document.write( '<scr' + 'ipt type="text/javascript" src="' + url + '" onerror="alert(\'Error loading \' + this.src);"><\/scr' + 'ipt>' ) ;\r
+}\r
+\r
+function LoadCss( url )\r
+{\r
+       document.write( '<link href="' + url + '" type="text/css" rel="stylesheet" onerror="alert(\'Error loading \' + this.src);" />' ) ;\r
 }\r
 \r
 // Main editor scripts.\r
-var sSuffix = ( /*@cc_on!@*/false ) ? 'ie' : 'gecko' ;\r
+var sSuffix = /msie/.test( navigator.userAgent.toLowerCase() ) ? 'ie' : 'gecko' ;\r
 \r
 /* @Packager.RemoveLine\r
 LoadScript( 'js/fckeditorcode_' + sSuffix + '.js' ) ;\r
@@ -129,12 +63,11 @@ if ( sSuffix == 'ie' )
 LoadScript( '_source/internals/fckbrowserinfo.js' ) ;\r
 LoadScript( '_source/internals/fckurlparams.js' ) ;\r
 LoadScript( '_source/classes/fckevents.js' ) ;\r
-LoadScript( '_source/classes/fckdataprocessor.js' ) ;\r
 LoadScript( '_source/internals/fck.js' ) ;\r
 LoadScript( '_source/internals/fck_' + sSuffix + '.js' ) ;\r
 LoadScript( '_source/internals/fckconfig.js' ) ;\r
 \r
-LoadScript( '_source/internals/fckdebug_empty.js' ) ;\r
+LoadScript( '_source/internals/fckdebug.js' ) ;\r
 LoadScript( '_source/internals/fckdomtools.js' ) ;\r
 LoadScript( '_source/internals/fcktools.js' ) ;\r
 LoadScript( '_source/internals/fcktools_' + sSuffix + '.js' ) ;\r
@@ -147,21 +80,16 @@ LoadScript( '_source/internals/fckxhtmlentities.js' ) ;
 LoadScript( '_source/internals/fckxhtml.js' ) ;\r
 LoadScript( '_source/internals/fckxhtml_' + sSuffix + '.js' ) ;\r
 LoadScript( '_source/internals/fckcodeformatter.js' ) ;\r
-LoadScript( '_source/internals/fckundo.js' ) ;\r
+LoadScript( '_source/internals/fckundo_' + sSuffix + '.js' ) ;\r
 LoadScript( '_source/classes/fckeditingarea.js' ) ;\r
 LoadScript( '_source/classes/fckkeystrokehandler.js' ) ;\r
 \r
-LoadScript( 'dtd/fck_xhtml10transitional.js' ) ;\r
-LoadScript( '_source/classes/fckstyle.js' ) ;\r
-LoadScript( '_source/internals/fckstyles.js' ) ;\r
-\r
 LoadScript( '_source/internals/fcklisthandler.js' ) ;\r
 LoadScript( '_source/classes/fckelementpath.js' ) ;\r
 LoadScript( '_source/classes/fckdomrange.js' ) ;\r
 LoadScript( '_source/classes/fckdocumentfragment_' + sSuffix + '.js' ) ;\r
 LoadScript( '_source/classes/fckw3crange.js' ) ;\r
 LoadScript( '_source/classes/fckdomrange_' + sSuffix + '.js' ) ;\r
-LoadScript( '_source/classes/fckdomrangeiterator.js' ) ;\r
 LoadScript( '_source/classes/fckenterkey.js' ) ;\r
 \r
 LoadScript( '_source/internals/fckdocumentprocessor.js' ) ;\r
@@ -170,25 +98,20 @@ LoadScript( '_source/internals/fckselection_' + sSuffix + '.js' ) ;
 \r
 LoadScript( '_source/internals/fcktablehandler.js' ) ;\r
 LoadScript( '_source/internals/fcktablehandler_' + sSuffix + '.js' ) ;\r
-LoadScript( '_source/classes/fckxml.js' ) ;\r
 LoadScript( '_source/classes/fckxml_' + sSuffix + '.js' ) ;\r
+LoadScript( '_source/classes/fckstyledef.js' ) ;\r
+LoadScript( '_source/classes/fckstyledef_' + sSuffix + '.js' ) ;\r
+LoadScript( '_source/classes/fckstylesloader.js' ) ;\r
 \r
 LoadScript( '_source/commandclasses/fcknamedcommand.js' ) ;\r
-LoadScript( '_source/commandclasses/fckstylecommand.js' ) ;\r
 LoadScript( '_source/commandclasses/fck_othercommands.js' ) ;\r
-LoadScript( '_source/commandclasses/fckshowblocks.js' ) ;\r
 LoadScript( '_source/commandclasses/fckspellcheckcommand_' + sSuffix + '.js' ) ;\r
 LoadScript( '_source/commandclasses/fcktextcolorcommand.js' ) ;\r
 LoadScript( '_source/commandclasses/fckpasteplaintextcommand.js' ) ;\r
 LoadScript( '_source/commandclasses/fckpastewordcommand.js' ) ;\r
 LoadScript( '_source/commandclasses/fcktablecommand.js' ) ;\r
+LoadScript( '_source/commandclasses/fckstylecommand.js' ) ;\r
 LoadScript( '_source/commandclasses/fckfitwindow.js' ) ;\r
-LoadScript( '_source/commandclasses/fcklistcommands.js' ) ;\r
-LoadScript( '_source/commandclasses/fckjustifycommands.js' ) ;\r
-LoadScript( '_source/commandclasses/fckindentcommands.js' ) ;\r
-LoadScript( '_source/commandclasses/fckblockquotecommand.js' ) ;\r
-LoadScript( '_source/commandclasses/fckcorestylecommand.js' ) ;\r
-LoadScript( '_source/commandclasses/fckremoveformatcommand.js' ) ;\r
 LoadScript( '_source/internals/fckcommands.js' ) ;\r
 \r
 LoadScript( '_source/classes/fckpanel.js' ) ;\r
@@ -197,23 +120,22 @@ LoadScript( '_source/classes/fcktoolbarbuttonui.js' ) ;
 LoadScript( '_source/classes/fcktoolbarbutton.js' ) ;\r
 LoadScript( '_source/classes/fckspecialcombo.js' ) ;\r
 LoadScript( '_source/classes/fcktoolbarspecialcombo.js' ) ;\r
-LoadScript( '_source/classes/fcktoolbarstylecombo.js' ) ;\r
-LoadScript( '_source/classes/fcktoolbarfontformatcombo.js' ) ;\r
 LoadScript( '_source/classes/fcktoolbarfontscombo.js' ) ;\r
 LoadScript( '_source/classes/fcktoolbarfontsizecombo.js' ) ;\r
+LoadScript( '_source/classes/fcktoolbarfontformatcombo.js' ) ;\r
+LoadScript( '_source/classes/fcktoolbarstylecombo.js' ) ;\r
 LoadScript( '_source/classes/fcktoolbarpanelbutton.js' ) ;\r
-LoadScript( '_source/internals/fckscayt.js' ) ;\r
 LoadScript( '_source/internals/fcktoolbaritems.js' ) ;\r
 LoadScript( '_source/classes/fcktoolbar.js' ) ;\r
 LoadScript( '_source/classes/fcktoolbarbreak_' + sSuffix + '.js' ) ;\r
 LoadScript( '_source/internals/fcktoolbarset.js' ) ;\r
 LoadScript( '_source/internals/fckdialog.js' ) ;\r
+LoadScript( '_source/internals/fckdialog_' + sSuffix + '.js' ) ;\r
 LoadScript( '_source/classes/fckmenuitem.js' ) ;\r
 LoadScript( '_source/classes/fckmenublock.js' ) ;\r
 LoadScript( '_source/classes/fckmenublockpanel.js' ) ;\r
 LoadScript( '_source/classes/fckcontextmenu.js' ) ;\r
 LoadScript( '_source/internals/fck_contextmenu.js' ) ;\r
-LoadScript( '_source/classes/fckhtmliterator.js' ) ;\r
 LoadScript( '_source/classes/fckplugin.js' ) ;\r
 LoadScript( '_source/internals/fckplugins.js' ) ;\r
 \r
@@ -225,10 +147,6 @@ LoadScript( '../fckconfig.js' ) ;
        </script>\r
        <script type="text/javascript">\r
 \r
-// Adobe AIR compatibility file.\r
-if ( FCKBrowserInfo.IsAIR )\r
-       LoadScript( 'js/fckadobeair.js' ) ;\r
-\r
 if ( FCKBrowserInfo.IsIE )\r
 {\r
        // Remove IE mouse flickering.\r
@@ -248,11 +166,6 @@ if ( FCKBrowserInfo.IsIE )
        FCK.IECleanup.AddItem( FCK, FCK_Cleanup ) ;\r
 }\r
 \r
-// The first function to be called on selection change must the the styles\r
-// change checker, because the result of its processing may be used by another\r
-// functions listening to the same event.\r
-FCK.Events.AttachEvent( 'OnSelectionChange', function() { FCKStyles.CheckSelectionChanges() ; } ) ;\r
-\r
 // The config hidden field is processed immediately, because\r
 // CustomConfigurationsPath may be set in the page.\r
 FCKConfig.ProcessHiddenField() ;\r
@@ -269,28 +182,8 @@ FCKConfig_LoadPageConfig() ;
 \r
 FCKConfig_PreProcess() ;\r
 \r
-// Load the full debug script.\r
-if ( FCKConfig.Debug )\r
-       LoadScript( '_source/internals/fckdebug.js' ) ;\r
-\r
-       </script>\r
-       <script type="text/javascript">\r
-\r
-var FCK_InternalCSS                    = FCKConfig.BasePath + 'css/fck_internal.css' ;                                 // @Packager.RemoveLine\r
-var FCK_ShowTableBordersCSS    = FCKConfig.BasePath + 'css/fck_showtableborders_gecko.css' ;   // @Packager.RemoveLine\r
-/* @Packager.RemoveLine\r
-// CSS minified by http://iceyboard.no-ip.org/projects/css_compressor (see _dev/css_compression.txt).\r
-var FCK_InternalCSS                    = FCKTools.FixCssUrls( FCKConfig.BasePath + 'css/', 'html{min-height:100%}table.FCK__ShowTableBorders,table.FCK__ShowTableBorders td,table.FCK__ShowTableBorders th{border:#d3d3d3 1px solid}form{border:1px dotted #F00;padding:2px}.FCK__Flash{border:#a9a9a9 1px solid;background-position:center center;background-image:url(images/fck_flashlogo.gif);background-repeat:no-repeat;width:80px;height:80px}.FCK__UnknownObject{border:#a9a9a9 1px solid;background-position:center center;background-image:url(images/fck_plugin.gif);background-repeat:no-repeat;width:80px;height:80px}.FCK__Anchor{border:1px dotted #00F;background-position:center center;background-image:url(images/fck_anchor.gif);background-repeat:no-repeat;width:16px;height:15px;vertical-align:middle}.FCK__AnchorC{border:1px dotted #00F;background-position:1px center;background-image:url(images/fck_anchor.gif);background-repeat:no-repeat;padding-left:18px}a[name]{border:1px dotted #00F;background-position:0 center;background-image:url(images/fck_anchor.gif);background-repeat:no-repeat;padding-left:18px}.FCK__PageBreak{background-position:center center;background-image:url(images/fck_pagebreak.gif);background-repeat:no-repeat;clear:both;display:block;float:none;width:100%;border-top:#999 1px dotted;border-bottom:#999 1px dotted;border-right:0;border-left:0;height:5px}.FCK__InputHidden{width:19px;height:18px;background-image:url(images/fck_hiddenfield.gif);background-repeat:no-repeat;vertical-align:text-bottom;background-position:center center}.FCK__ShowBlocks p,.FCK__ShowBlocks div,.FCK__ShowBlocks pre,.FCK__ShowBlocks address,.FCK__ShowBlocks blockquote,.FCK__ShowBlocks h1,.FCK__ShowBlocks h2,.FCK__ShowBlocks h3,.FCK__ShowBlocks h4,.FCK__ShowBlocks h5,.FCK__ShowBlocks h6{background-repeat:no-repeat;border:1px dotted gray;padding-top:8px;padding-left:8px}.FCK__ShowBlocks p{background-image:url(images/block_p.png)}.FCK__ShowBlocks div{background-image:url(images/block_div.png)}.FCK__ShowBlocks pre{background-image:url(images/block_pre.png)}.FCK__ShowBlocks address{background-image:url(images/block_address.png)}.FCK__ShowBlocks blockquote{background-image:url(images/block_blockquote.png)}.FCK__ShowBlocks h1{background-image:url(images/block_h1.png)}.FCK__ShowBlocks h2{background-image:url(images/block_h2.png)}.FCK__ShowBlocks h3{background-image:url(images/block_h3.png)}.FCK__ShowBlocks h4{background-image:url(images/block_h4.png)}.FCK__ShowBlocks h5{background-image:url(images/block_h5.png)}.FCK__ShowBlocks h6{background-image:url(images/block_h6.png)}' ) ;\r
-var FCK_ShowTableBordersCSS    = FCKTools.FixCssUrls( FCKConfig.BasePath + 'css/', 'table:not([border]),table:not([border]) > tr > td,table:not([border]) > tr > th,table:not([border]) > tbody > tr > td,table:not([border]) > tbody > tr > th,table:not([border]) > thead > tr > td,table:not([border]) > thead > tr > th,table:not([border]) > tfoot > tr > td,table:not([border]) > tfoot > tr > th,table[border=\"0\"],table[border=\"0\"] > tr > td,table[border=\"0\"] > tr > th,table[border=\"0\"] > tbody > tr > td,table[border=\"0\"] > tbody > tr > th,table[border=\"0\"] > thead > tr > td,table[border=\"0\"] > thead > tr > th,table[border=\"0\"] > tfoot > tr > td,table[border=\"0\"] > tfoot > tr > th{border:#d3d3d3 1px dotted}' ) ;\r
-@Packager.RemoveLine */\r
-\r
-// Popup the debug window if debug mode is set to true. It guarantees that the\r
-// first debug message will not be lost.\r
-if ( FCKConfig.Debug )\r
-       FCKDebug._GetWindow() ;\r
-\r
 // Load the active skin CSS.\r
-document.write( FCKTools.GetStyleHtml( FCKConfig.SkinEditorCSS ) ) ;\r
+LoadCss( FCKConfig.SkinPath + 'fck_editor.css' ) ;\r
 \r
 // Load the language file.\r
 FCKLanguageManager.Initialize() ;\r
@@ -310,6 +203,10 @@ FCKPlugins.Load() ;
 // Set the editor interface direction.\r
 window.document.dir = FCKLang.Dir ;\r
 \r
+// Activate pasting operations.\r
+if ( FCKConfig.ForcePasteAsPlainText || FCKConfig.AutoDetectPasteFromWord )\r
+       FCK.Events.AttachEvent( 'OnPaste', FCK.Paste ) ;\r
+\r
        </script>\r
        <script type="text/javascript">\r
 \r
@@ -361,8 +258,7 @@ function WaitForActive( editorInstance, newStatus )
                if ( FCKBrowserInfo.IsGecko )\r
                        FCKTools.RunFunction( window.onresize ) ;\r
 \r
-               if ( !FCKConfig.PreventSubmitHandler )\r
-                       _AttachFormSubmitToAPI() ;\r
+               _AttachFormSubmitToAPI() ;\r
 \r
                FCK.SetStatus( FCK_STATUS_COMPLETE ) ;\r
 \r
@@ -373,16 +269,13 @@ function WaitForActive( editorInstance, newStatus )
        }\r
 }\r
 \r
-// Gecko and Webkit browsers don't calculate well the IFRAME size so we must\r
+// Gecko browsers doens't calculate well that IFRAME size so we must\r
 // recalculate it every time the window size changes.\r
-if ( FCKBrowserInfo.IsGecko || ( FCKBrowserInfo.IsSafari && !FCKBrowserInfo.IsSafari3 ) )\r
+if ( FCKBrowserInfo.IsGecko )\r
 {\r
-       window.onresize = function( e )\r
+       function Window_OnResize()\r
        {\r
-               // Running in Firefox's chrome makes the window receive the event including subframes.\r
-               // we care only about this window. Ticket #1642.\r
-               // #2002: The originalTarget from the event can be the current document, the window, or the editing area.\r
-               if ( e && e.originalTarget && e.originalTarget !== document && e.originalTarget !== window && (!e.originalTarget.ownerDocument || e.originalTarget.ownerDocument != document ))\r
+               if ( FCKBrowserInfo.IsOpera )\r
                        return ;\r
 \r
                var oCell = document.getElementById( 'xEditingArea' ) ;\r
@@ -390,10 +283,11 @@ if ( FCKBrowserInfo.IsGecko || ( FCKBrowserInfo.IsSafari && !FCKBrowserInfo.IsSa
                var eInnerElement = oCell.firstChild ;\r
                if ( eInnerElement )\r
                {\r
-                       eInnerElement.style.height = '0px' ;\r
-                       eInnerElement.style.height = ( oCell.scrollHeight - 2 ) + 'px' ;\r
+                       eInnerElement.style.height = 0 ;\r
+                       eInnerElement.style.height = oCell.scrollHeight - 2 ;\r
                }\r
        }\r
+       window.onresize = Window_OnResize ;\r
 }\r
 \r
        </script>\r
index 8325a88..ba464ba 100644 (file)
@@ -1,6 +1,6 @@
 /*\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
 body\r
 {\r
        background-color: #f1f1e3;\r
-       margin-top:0;\r
-       margin-bottom:0;\r
 }\r
 \r
 form\r
 {\r
-       margin: 0;\r
-       padding: 0;\r
+       margin: 0px 0px 0px 0px ;\r
+       padding: 0px 0px 0px 0px ;\r
 }\r
 \r
 .Frame\r
 {\r
        background-color: #f1f1e3;\r
-       border: thin inset #f1f1e3;\r
+       border-color: #f1f1e3;\r
+       border-right: thin inset;\r
+       border-top: thin inset;\r
+       border-left: thin inset;\r
+       border-bottom: thin inset;\r
 }\r
 \r
 body.FileArea\r
 {\r
+\r
        background-color: #ffffff;\r
-       margin: 10px;\r
 }\r
 \r
 body, td, input, select\r
@@ -67,8 +69,11 @@ body, td, input, select
 \r
 .Button, button\r
 {\r
+       border-right: #737357 1px solid;\r
+       border-top: #737357 1px solid;\r
+       border-left: #737357 1px solid;\r
        color: #3b3b1f;\r
-       border: #737357 1px solid;\r
+       border-bottom: #737357 1px solid;\r
        background-color: #c7c78f;\r
 }\r
 \r
@@ -80,8 +85,4 @@ body, td, input, select
 .FolderListFolder img\r
 {\r
        background-image: url(images/Folder.gif);\r
-}\r
-\r
-.fullHeight {\r
-       height: 100%;\r
-}\r
+}
\ No newline at end of file
index d5e773b..8b776a2 100644 (file)
@@ -1,8 +1,7 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN"\r
-   "http://www.w3.org/TR/html4/frameset.dtd">\r
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">\r
 <!--\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
 <html>\r
        <head>\r
                <title>FCKeditor - Resources Browser</title>\r
-               <meta http-equiv="Content-Type" content="text/html; charset=utf-8">\r
                <link href="browser.css" type="text/css" rel="stylesheet">\r
                <script type="text/javascript" src="js/fckxml.js"></script>\r
-               <script type="text/javascript">\r
-// Automatically detect the correct document.domain (#1919).\r
-(function()\r
-{\r
-       var d = document.domain ;\r
-\r
-       while ( true )\r
-       {\r
-               // Test if we can access a parent property.\r
-               try\r
-               {\r
-                       var test = window.opener.document.domain ;\r
-                       break ;\r
-               }\r
-               catch( e )\r
-               {}\r
-\r
-               // Remove a domain part: www.mytest.example.com => mytest.example.com => example.com ...\r
-               d = d.replace( /.*?(?:\.|$)/, '' ) ;\r
-\r
-               if ( d.length == 0 )\r
-                       break ;         // It was not able to detect the domain.\r
-\r
-               try\r
-               {\r
-                       document.domain = d ;\r
-               }\r
-               catch (e)\r
-               {\r
-                       break ;\r
-               }\r
-       }\r
-})() ;\r
+               <script language="javascript">\r
 \r
 function GetUrlParam( paramName )\r
 {\r
@@ -102,9 +68,6 @@ oConnector.SendCommand = function( command, params, callBackFunction )
 \r
        if ( params ) sUrl += '&' + params ;\r
 \r
-       // Add a random salt to avoid getting a cached version of the command execution\r
-       sUrl += '&uuid=' + new Date().getTime() ;\r
-\r
        var oXML = new FCKXml() ;\r
 \r
        if ( callBackFunction )\r
@@ -171,15 +134,6 @@ oIcons.GetIcon = function( fileName )
        else\r
                return 'default.icon' ;\r
 }\r
-\r
-function OnUploadCompleted( errorNumber, fileUrl, fileName, customMsg )\r
-{\r
-       if (errorNumber == "1")\r
-               window.frames['frmUpload'].OnUploadCompleted( errorNumber, customMsg ) ;\r
-       else\r
-               window.frames['frmUpload'].OnUploadCompleted( errorNumber, fileName ) ;\r
-}\r
-\r
                </script>\r
        </head>\r
        <frameset cols="150,*" class="Frame" framespacing="3" bordercolor="#f1f1e3" frameborder="1">\r
index dc1f517..90653d6 100644 (file)
@@ -1,7 +1,7 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">\r
 <!--\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
 -->\r
 <html>\r
        <head>\r
-               <title>Folder path</title>\r
-               <meta http-equiv="Content-Type" content="text/html; charset=utf-8">\r
                <link href="browser.css" type="text/css" rel="stylesheet">\r
                <script type="text/javascript">\r
-// Automatically detect the correct document.domain (#1919).\r
-(function()\r
-{\r
-       var d = document.domain ;\r
-\r
-       while ( true )\r
-       {\r
-               // Test if we can access a parent property.\r
-               try\r
-               {\r
-                       var test = window.top.opener.document.domain ;\r
-                       break ;\r
-               }\r
-               catch( e )\r
-               {}\r
-\r
-               // Remove a domain part: www.mytest.example.com => mytest.example.com => example.com ...\r
-               d = d.replace( /.*?(?:\.|$)/, '' ) ;\r
 \r
-               if ( d.length == 0 )\r
-                       break ;         // It was not able to detect the domain.\r
-\r
-               try\r
-               {\r
-                       document.domain = d ;\r
-               }\r
-               catch (e)\r
-               {\r
-                       break ;\r
-               }\r
-       }\r
-})() ;\r
+function OnResize()\r
+{\r
+       divName.style.width = "1px" ;\r
+       divName.style.width = tdName.offsetWidth + "px" ;\r
+}\r
 \r
 function SetCurrentFolder( resourceType, folderPath )\r
 {\r
@@ -72,8 +44,8 @@ window.onload = function()
 \r
                </script>\r
        </head>\r
-       <body>\r
-               <table class="fullHeight" cellSpacing="0" cellPadding="0" width="100%" border="0">\r
+       <body bottomMargin="0" topMargin="0">\r
+               <table height="100%" cellSpacing="0" cellPadding="0" width="100%" border="0">\r
                        <tr>\r
                                <td>\r
                                        <button style="WIDTH: 100%" type="button">\r
@@ -83,7 +55,7 @@ window.onload = function()
                                                                <td>&nbsp;</td>\r
                                                                <td id="tdName" width="100%" nowrap class="ActualFolder">/</td>\r
                                                                <td>&nbsp;</td>\r
-                                                               <td><img height="8" src="images/ButtonArrow.gif" width="12" alt=""></td>\r
+                                                               <td><img height="8" src="images/ButtonArrow.gif" width="12"></td>\r
                                                                <td>&nbsp;</td>\r
                                                        </tr>\r
                                                </table>\r
index 390eb49..8f72ff5 100644 (file)
@@ -1,7 +1,7 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">\r
 <!--\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
 -->\r
 <html>\r
        <head>\r
-               <title>Create Folder</title>\r
                <meta http-equiv="Content-Type" content="text/html; charset=utf-8">\r
                <link href="browser.css" type="text/css" rel="stylesheet">\r
                <script type="text/javascript" src="js/common.js"></script>\r
-               <script type="text/javascript">\r
+               <script language="javascript">\r
 \r
 function SetCurrentFolder( resourceType, folderPath )\r
 {\r
@@ -94,8 +93,8 @@ window.onload = function()
 }\r
                </script>\r
        </head>\r
-       <body>\r
-               <table class="fullHeight" cellSpacing="0" cellPadding="0" width="100%" border="0">\r
+       <body bottomMargin="0" topMargin="0">\r
+               <table height="100%" cellSpacing="0" cellPadding="0" width="100%" border="0">\r
                        <tr>\r
                                <td>\r
                                        <button type="button" style="WIDTH: 100%" onclick="CreateFolder();">\r
index d4b3b3d..2dc0eb0 100644 (file)
@@ -1,7 +1,7 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">\r
 <!--\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
 -->\r
 <html>\r
        <head>\r
-               <title>Folders</title>\r
                <link href="browser.css" type="text/css" rel="stylesheet">\r
-               <meta http-equiv="Content-Type" content="text/html; charset=utf-8">\r
                <script type="text/javascript" src="js/common.js"></script>\r
-               <script type="text/javascript">\r
+               <script language="javascript">\r
 \r
 var sActiveFolder ;\r
 \r
@@ -67,12 +65,12 @@ oListManager.AddItem = function( folderName, folderPath )
        // Add the folder icon cell.\r
        var oCell = oRow.insertCell(-1) ;\r
        oCell.width = 16 ;\r
-       oCell.innerHTML = sLink + '<img alt="" src="images/spacer.gif" width="16" height="16" border="0"><\/a>' ;\r
+       oCell.innerHTML = sLink + '<img alt="" src="images/spacer.gif" width="16" height="16" border="0"></a>' ;\r
 \r
        // Add the folder name cell.\r
        oCell = oRow.insertCell(-1) ;\r
        oCell.noWrap = true ;\r
-       oCell.innerHTML = '&nbsp;' + sLink + folderName + '<\/a>' ;\r
+       oCell.innerHTML = '&nbsp;' + sLink + folderName + '</a>' ;\r
 \r
        this.TableRows[ folderPath ] = oRow ;\r
 }\r
@@ -168,7 +166,7 @@ function GetFoldersCallBack( fckXml )
        for ( var i = 0 ; i < oNodes.length ; i++ )\r
        {\r
                var sFolderName = oNodes[i].attributes.getNamedItem('name').value ;\r
-               oListManager.AddItem( sFolderName, sCurrentFolderPath + sFolderName + '/' ) ;\r
+               oListManager.AddItem( sFolderName, sCurrentFolderPath + sFolderName + "/" ) ;\r
        }\r
 \r
        OpenFolder( sActiveFolder ) ;\r
@@ -187,7 +185,7 @@ window.onload = function()
 }\r
                </script>\r
        </head>\r
-       <body class="FileArea">\r
+       <body class="FileArea" bottomMargin="10" leftMargin="10" topMargin="10" rightMargin="10">\r
                <table id="tableFiles" cellSpacing="0" cellPadding="0" width="100%" border="0">\r
                        <tr id="trUp" style="DISPLAY: none">\r
                                <td width="16"><a id="linkUpIcon" href="#"><img alt="" src="images/FolderUp.gif" width="16" height="16" border="0"></a></td>\r
index 3e2771d..3f041f7 100644 (file)
@@ -1,7 +1,7 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">\r
 <!--\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
  *\r
  * This page shows all resources available in a folder in the File Browser.\r
 -->\r
-<html>\r
+<html xmlns="http://www.w3.org/1999/xhtml">\r
 <head>\r
-       <title>Resources</title>\r
-       <link href="browser.css" type="text/css" rel="stylesheet">\r
-       <meta http-equiv="Content-Type" content="text/html; charset=utf-8">\r
+       <link href="browser.css" type="text/css" rel="stylesheet" />\r
        <script type="text/javascript" src="js/common.js"></script>\r
        <script type="text/javascript">\r
 \r
@@ -36,33 +34,26 @@ oListManager.Clear = function()
        document.body.innerHTML = '' ;\r
 }\r
 \r
-function ProtectPath(path)\r
-{\r
-       path = path.replace( /\\/g, '\\\\') ;\r
-       path = path.replace( /'/g, '\\\'') ;\r
-       return path ;\r
-}\r
-\r
 oListManager.GetFolderRowHtml = function( folderName, folderPath )\r
 {\r
        // Build the link to view the folder.\r
-       var sLink = '<a href="#" onclick="OpenFolder(\'' + ProtectPath( folderPath ) + '\');return false;">' ;\r
+       var sLink = '<a href="#" onclick="OpenFolder(\'' + folderPath.replace( /'/g, '\\\'') + '\');return false;">' ;\r
 \r
        return '<tr>' +\r
                        '<td width="16">' +\r
                                sLink +\r
-                               '<img alt="" src="images/Folder.gif" width="16" height="16" border="0"><\/a>' +\r
-                       '<\/td><td nowrap colspan="2">&nbsp;' +\r
+                               '<img alt="" src="images/Folder.gif" width="16" height="16" border="0"></a>' +\r
+                       '</td><td nowrap colspan="2">&nbsp;' +\r
                                sLink +\r
                                folderName +\r
-                               '<\/a>' +\r
-               '<\/td><\/tr>' ;\r
+                               '</a>' +\r
+               '</td></tr>' ;\r
 }\r
 \r
 oListManager.GetFileRowHtml = function( fileName, fileUrl, fileSize )\r
 {\r
        // Build the link to view the folder.\r
-       var sLink = '<a href="#" onclick="OpenFile(\'' + ProtectPath( fileUrl ) + '\');return false;">' ;\r
+       var sLink = '<a href="#" onclick="OpenFile(\'' + fileUrl.replace( /'/g, '\\\'') + '\');return false;">' ;\r
 \r
        // Get the file icon.\r
        var sIcon = oIcons.GetIcon( fileName ) ;\r
@@ -70,15 +61,15 @@ oListManager.GetFileRowHtml = function( fileName, fileUrl, fileSize )
        return '<tr>' +\r
                        '<td width="16">' +\r
                                sLink +\r
-                               '<img alt="" src="images/icons/' + sIcon + '.gif" width="16" height="16" border="0"><\/a>' +\r
-                       '<\/td><td>&nbsp;' +\r
+                               '<img alt="" src="images/icons/' + sIcon + '.gif" width="16" height="16" border="0"></a>' +\r
+                       '</td><td>&nbsp;' +\r
                                sLink +\r
                                fileName +\r
-                               '<\/a>' +\r
-                       '<\/td><td align="right" nowrap>&nbsp;' +\r
+                               '</a>' +\r
+                       '</td><td align="right" nowrap>&nbsp;' +\r
                                fileSize +\r
                                ' KB' +\r
-               '<\/td><\/tr>' ;\r
+               '</td></tr>' ;\r
 }\r
 \r
 function OpenFolder( folderPath )\r
@@ -89,7 +80,7 @@ function OpenFolder( folderPath )
 \r
 function OpenFile( fileUrl )\r
 {\r
-       window.top.opener.SetUrl( fileUrl ) ;\r
+       window.top.opener.SetUrl( encodeURI( fileUrl ) ) ;\r
        window.top.close() ;\r
        window.top.opener.focus() ;\r
 }\r
@@ -145,7 +136,7 @@ function GetFoldersAndFilesCallBack( fckXml )
 \r
                // Get the optional "url" attribute. If not available, build the url.\r
                var oFileUrlAtt = oNodes[j].attributes.getNamedItem('url') ;\r
-               var sFileUrl = oFileUrlAtt != null ? oFileUrlAtt.value : encodeURI( sCurrentFolderUrl + sFileName ).replace( /#/g, '%23' ) ;\r
+               var sFileUrl = oFileUrlAtt != null ? oFileUrlAtt.value : sCurrentFolderUrl + sFileName ;\r
 \r
                oHtml.Append( oListManager.GetFileRowHtml( sFileName, sFileUrl, sFileSize ) ) ;\r
        }\r
@@ -164,6 +155,6 @@ window.onload = function()
 }\r
        </script>\r
 </head>\r
-<body class="FileArea">\r
+<body class="FileArea" bottommargin="10" leftmargin="10" topmargin="10" rightmargin="10">\r
 </body>\r
 </html>\r
index e918f9f..933e855 100644 (file)
@@ -1,7 +1,7 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">\r
 <!--\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
 -->\r
 <html>\r
        <head>\r
-               <title>Available types</title>\r
                <meta http-equiv="Content-Type" content="text/html; charset=utf-8">\r
                <link href="browser.css" type="text/css" rel="stylesheet">\r
                <script type="text/javascript" src="js/common.js"></script>\r
-               <script type="text/javascript">\r
+               <script language="javascript">\r
 \r
 function SetResourceType( type )\r
 {\r
@@ -43,24 +42,21 @@ var aTypes = [
 \r
 window.onload = function()\r
 {\r
-       var oCombo = document.getElementById('cmbType') ;\r
-       oCombo.innerHTML = '' ;\r
        for ( var i = 0 ; i < aTypes.length ; i++ )\r
        {\r
                if ( oConnector.ShowAllTypes || aTypes[i][0] == oConnector.ResourceType )\r
-                       AddSelectOption( oCombo, aTypes[i][1], aTypes[i][0] ) ;\r
+                       AddSelectOption( document.getElementById('cmbType'), aTypes[i][1], aTypes[i][0] ) ;\r
        }\r
 }\r
 \r
                </script>\r
        </head>\r
-       <body>\r
-               <table class="fullHeight" cellSpacing="0" cellPadding="0" width="100%" border="0">\r
+       <body bottomMargin="0" topMargin="0">\r
+               <table height="100%" cellSpacing="0" cellPadding="0" width="100%" border="0">\r
                        <tr>\r
                                <td nowrap>\r
                                        Resource Type<BR>\r
                                        <select id="cmbType" style="WIDTH: 100%" onchange="SetResourceType(this.value);">\r
-                                               <option>&nbsp;\r
                                        </select>\r
                                </td>\r
                        </tr>\r
index e840c0a..b84882d 100644 (file)
@@ -1,7 +1,7 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">\r
 <!--\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
  *\r
  * Page used to upload new files in the current folder.\r
 -->\r
-<html>\r
+<html xmlns="http://www.w3.org/1999/xhtml">\r
        <head>\r
-               <title>File Upload</title>\r
-               <meta http-equiv="Content-Type" content="text/html; charset=utf-8">\r
-               <link href="browser.css" type="text/css" rel="stylesheet" >\r
+               <link href="browser.css" type="text/css" rel="stylesheet" />\r
                <script type="text/javascript" src="js/common.js"></script>\r
                <script type="text/javascript">\r
 \r
@@ -58,7 +56,7 @@ function OnUploadCompleted( errorNumber, data )
        // Reset the Upload Worker Frame.\r
        window.parent.frames['frmUploadWorker'].location = 'javascript:void(0)' ;\r
 \r
-       // Reset the upload form (On IE we must do a little trick to avoid problems).\r
+       // Reset the upload form (On IE we must do a little trick to avout problems).\r
        if ( document.all )\r
                document.getElementById('NewFile').outerHTML = '<input id="NewFile" name="NewFile" style="WIDTH: 100%" type="file">' ;\r
        else\r
@@ -95,9 +93,9 @@ window.onload = function()
 }\r
                </script>\r
        </head>\r
-       <body>\r
+       <body bottommargin="0" topmargin="0">\r
                <form id="frmUpload" action="" target="frmUploadWorker" method="post" enctype="multipart/form-data" onsubmit="return OnSubmit();">\r
-                       <table class="fullHeight" cellspacing="0" cellpadding="0" width="100%" border="0">\r
+                       <table height="100%" cellspacing="0" cellpadding="0" width="100%" border="0">\r
                                <tr>\r
                                        <td nowrap="nowrap">\r
                                                <span id="eUploadMessage">Upload a new file in this folder</span><br>\r
index 98c4b90..2f47217 100644 (file)
@@ -1,6 +1,6 @@
 /*\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
  * File Browser dialog window.\r
  */\r
 \r
-// Automatically detect the correct document.domain (#1919).\r
-(function()\r
-{\r
-       var d = document.domain ;\r
-\r
-       while ( true )\r
-       {\r
-               // Test if we can access a parent property.\r
-               try\r
-               {\r
-                       var test = window.top.opener.document.domain ;\r
-                       break ;\r
-               }\r
-               catch( e )\r
-               {}\r
-\r
-               // Remove a domain part: www.mytest.example.com => mytest.example.com => example.com ...\r
-               d = d.replace( /.*?(?:\.|$)/, '' ) ;\r
-\r
-               if ( d.length == 0 )\r
-                       break ;         // It was not able to detect the domain.\r
-\r
-               try\r
-               {\r
-                       document.domain = d ;\r
-               }\r
-               catch (e)\r
-               {\r
-                       break ;\r
-               }\r
-       }\r
-})() ;\r
-\r
 function AddSelectOption( selectElement, optionText, optionValue )\r
 {\r
        var oOption = document.createElement("OPTION") ;\r
@@ -85,4 +52,4 @@ StringBuilder.prototype.Append = function( value )
 StringBuilder.prototype.ToString = function()\r
 {\r
     return this._Strings.join( '' ) ;\r
-}\r
+}
\ No newline at end of file
index b7eddc6..043ca84 100644 (file)
@@ -1,6 +1,6 @@
 /*\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
@@ -31,8 +31,8 @@ var FCKXml = function()
 FCKXml.prototype.GetHttpRequest = function()\r
 {\r
        // Gecko / IE7\r
-       try { return new XMLHttpRequest(); }\r
-       catch(e) {}\r
+       if ( typeof(XMLHttpRequest) != 'undefined' )\r
+               return new XMLHttpRequest() ;\r
 \r
        // IE6\r
        try { return new ActiveXObject( 'Msxml2.XMLHTTP' ) ; }\r
@@ -61,25 +61,7 @@ FCKXml.prototype.LoadUrl = function( urlToCall, asyncFunctionPointer )
                {\r
                        if ( oXmlHttp.readyState == 4 )\r
                        {\r
-                               var oXml ;\r
-                               try\r
-                               {\r
-                                       // this is the same test for an FF2 bug as in fckxml_gecko.js\r
-                                       // but we've moved the responseXML assignment into the try{}\r
-                                       // so we don't even have to check the return status codes.\r
-                                       var test = oXmlHttp.responseXML.firstChild ;\r
-                                       oXml = oXmlHttp.responseXML ;\r
-                               }\r
-                               catch ( e )\r
-                               {\r
-                                       try\r
-                                       {\r
-                                               oXml = (new DOMParser()).parseFromString( oXmlHttp.responseText, 'text/xml' ) ;\r
-                                       }\r
-                                       catch ( e ) {}\r
-                               }\r
-\r
-                               if ( !oXml || !oXml.firstChild || oXml.firstChild.nodeName == 'parsererror' )\r
+                               if ( ( oXmlHttp.status != 200 && oXmlHttp.status != 304 ) || oXmlHttp.responseXML == null || oXmlHttp.responseXML.firstChild == null )\r
                                {\r
                                        alert( 'The server didn\'t send back a proper XML response. Please contact your system administrator.\n\n' +\r
                                                        'XML request error: ' + oXmlHttp.statusText + ' (' + oXmlHttp.status + ')\n\n' +\r
@@ -88,7 +70,7 @@ FCKXml.prototype.LoadUrl = function( urlToCall, asyncFunctionPointer )
                                        return ;\r
                                }\r
 \r
-                               oFCKXml.DOMDocument = oXml ;\r
+                               oFCKXml.DOMDocument = oXmlHttp.responseXML ;\r
                                asyncFunctionPointer( oFCKXml ) ;\r
                        }\r
                }\r
diff --git a/httemplate/elements/fckeditor/editor/filemanager/connectors/perl/basexml.pl b/httemplate/elements/fckeditor/editor/filemanager/connectors/perl/basexml.pl
deleted file mode 100644 (file)
index e0835c3..0000000
+++ /dev/null
@@ -1,68 +0,0 @@
-#####\r
-#  FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
-#  Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
-#\r
-#  == BEGIN LICENSE ==\r
-#\r
-#  Licensed under the terms of any of the following licenses at your\r
-#  choice:\r
-#\r
-#   - GNU General Public License Version 2 or later (the "GPL")\r
-#     http://www.gnu.org/licenses/gpl.html\r
-#\r
-#   - GNU Lesser General Public License Version 2.1 or later (the "LGPL")\r
-#     http://www.gnu.org/licenses/lgpl.html\r
-#\r
-#   - Mozilla Public License Version 1.1 or later (the "MPL")\r
-#     http://www.mozilla.org/MPL/MPL-1.1.html\r
-#\r
-#  == END LICENSE ==\r
-#\r
-#  This is the File Manager Connector for Perl.\r
-#####\r
-\r
-sub CreateXmlHeader\r
-{\r
-       local($command,$resourceType,$currentFolder) = @_;\r
-\r
-       # Create the XML document header.\r
-       print '<?xml version="1.0" encoding="utf-8" ?>';\r
-\r
-       # Create the main "Connector" node.\r
-       print '<Connector command="' . $command . '" resourceType="' . $resourceType . '">';\r
-\r
-       # Add the current folder node.\r
-       print '<CurrentFolder path="' . ConvertToXmlAttribute($currentFolder) . '" url="' . ConvertToXmlAttribute(GetUrlFromPath($resourceType,$currentFolder)) . '" />';\r
-}\r
-\r
-sub CreateXmlFooter\r
-{\r
-       print '</Connector>';\r
-}\r
-\r
-sub SendError\r
-{\r
-       local( $number, $text ) = @_;\r
-\r
-       print << "_HTML_HEAD_";\r
-Content-Type:text/xml; charset=utf-8\r
-Pragma: no-cache\r
-Cache-Control: no-cache\r
-Expires: Thu, 01 Dec 1994 16:00:00 GMT\r
-\r
-_HTML_HEAD_\r
-\r
-       # Create the XML document header\r
-       print '<?xml version="1.0" encoding="utf-8" ?>' ;\r
-\r
-       if ($text) {\r
-               print '<Connector><Error number="' . $number . '" text="' . &specialchar_cnv( $text ) . '" /></Connector>' ;\r
-       }\r
-       else {\r
-               print '<Connector><Error number="' . $number . '" /></Connector>' ;\r
-       }\r
-\r
-       exit ;\r
-}\r
-\r
-1;\r
diff --git a/httemplate/elements/fckeditor/editor/filemanager/connectors/perl/commands.pl b/httemplate/elements/fckeditor/editor/filemanager/connectors/perl/commands.pl
deleted file mode 100644 (file)
index 66b4d6d..0000000
+++ /dev/null
@@ -1,200 +0,0 @@
-#####\r
-#  FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
-#  Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
-#\r
-#  == BEGIN LICENSE ==\r
-#\r
-#  Licensed under the terms of any of the following licenses at your\r
-#  choice:\r
-#\r
-#   - GNU General Public License Version 2 or later (the "GPL")\r
-#     http://www.gnu.org/licenses/gpl.html\r
-#\r
-#   - GNU Lesser General Public License Version 2.1 or later (the "LGPL")\r
-#     http://www.gnu.org/licenses/lgpl.html\r
-#\r
-#   - Mozilla Public License Version 1.1 or later (the "MPL")\r
-#     http://www.mozilla.org/MPL/MPL-1.1.html\r
-#\r
-#  == END LICENSE ==\r
-#\r
-#  This is the File Manager Connector for Perl.\r
-#####\r
-\r
-sub GetFolders\r
-{\r
-\r
-       local($resourceType, $currentFolder) = @_;\r
-\r
-       # Map the virtual path to the local server path.\r
-       $sServerDir = &ServerMapFolder($resourceType, $currentFolder);\r
-       print "<Folders>";                      # Open the "Folders" node.\r
-\r
-       opendir(DIR,"$sServerDir");\r
-       @files = grep(!/^\.\.?$/,readdir(DIR));\r
-       closedir(DIR);\r
-\r
-       foreach $sFile (@files) {\r
-               if($sFile != '.' && $sFile != '..' && (-d "$sServerDir$sFile")) {\r
-                       $cnv_filename = &ConvertToXmlAttribute($sFile);\r
-                       print '<Folder name="' . $cnv_filename . '" />';\r
-               }\r
-       }\r
-       print "</Folders>";                     # Close the "Folders" node.\r
-}\r
-\r
-sub GetFoldersAndFiles\r
-{\r
-\r
-       local($resourceType, $currentFolder) = @_;\r
-       # Map the virtual path to the local server path.\r
-       $sServerDir = &ServerMapFolder($resourceType,$currentFolder);\r
-\r
-       # Initialize the output buffers for "Folders" and "Files".\r
-       $sFolders       = '<Folders>';\r
-       $sFiles         = '<Files>';\r
-\r
-       opendir(DIR,"$sServerDir");\r
-       @files = grep(!/^\.\.?$/,readdir(DIR));\r
-       closedir(DIR);\r
-\r
-       foreach $sFile (@files) {\r
-               if($sFile ne '.' && $sFile ne '..') {\r
-                       if(-d "$sServerDir$sFile") {\r
-                               $cnv_filename = &ConvertToXmlAttribute($sFile);\r
-                               $sFolders .= '<Folder name="' . $cnv_filename . '" />' ;\r
-                       } else {\r
-                               ($iFileSize,$refdate,$filedate,$fileperm) = (stat("$sServerDir$sFile"))[7,8,9,2];\r
-                               if($iFileSize > 0) {\r
-                                       $iFileSize = int($iFileSize / 1024);\r
-                                       if($iFileSize < 1) {\r
-                                               $iFileSize = 1;\r
-                                       }\r
-                               }\r
-                               $cnv_filename = &ConvertToXmlAttribute($sFile);\r
-                               $sFiles .= '<File name="' . $cnv_filename . '" size="' . $iFileSize . '" />' ;\r
-                       }\r
-               }\r
-       }\r
-       print $sFolders ;\r
-       print '</Folders>';                     # Close the "Folders" node.\r
-       print $sFiles ;\r
-       print '</Files>';                       # Close the "Files" node.\r
-}\r
-\r
-sub CreateFolder\r
-{\r
-\r
-       local($resourceType, $currentFolder) = @_;\r
-       $sErrorNumber   = '0' ;\r
-       $sErrorMsg              = '' ;\r
-\r
-       if($FORM{'NewFolderName'} ne "") {\r
-               $sNewFolderName = $FORM{'NewFolderName'};\r
-               $sNewFolderName =~ s/\.|\\|\/|\||\:|\?|\*|\"|<|>|[[:cntrl:]]/_/g;\r
-               # Map the virtual path to the local server path of the current folder.\r
-               $sServerDir = &ServerMapFolder($resourceType, $currentFolder);\r
-               if(-w $sServerDir) {\r
-                       $sServerDir .= $sNewFolderName;\r
-                       $sErrorMsg = &CreateServerFolder($sServerDir);\r
-                       if($sErrorMsg == 0) {\r
-                               $sErrorNumber = '0';\r
-                       } elsif($sErrorMsg eq 'Invalid argument' || $sErrorMsg eq 'No such file or directory') {\r
-                               $sErrorNumber = '102';          #// Path too long.\r
-                       } else {\r
-                               $sErrorNumber = '110';\r
-                       }\r
-               } else {\r
-                       $sErrorNumber = '103';\r
-               }\r
-       } else {\r
-               $sErrorNumber = '102' ;\r
-       }\r
-       # Create the "Error" node.\r
-       $cnv_errmsg = &ConvertToXmlAttribute($sErrorMsg);\r
-       print '<Error number="' . $sErrorNumber . '" />';\r
-}\r
-\r
-sub FileUpload\r
-{\r
-eval("use File::Copy;");\r
-\r
-       local($resourceType, $currentFolder) = @_;\r
-       $allowedExtensions = $allowedExtensions{$resourceType};\r
-\r
-       $sErrorNumber = '0' ;\r
-       $sFileName = '' ;\r
-       if($new_fname) {\r
-               # Map the virtual path to the local server path.\r
-               $sServerDir = &ServerMapFolder($resourceType,$currentFolder);\r
-\r
-               # Get the uploaded file name.\r
-               $sFileName = $new_fname;\r
-               $sFileName =~ s/\\|\/|\||\:|\?|\*|\"|<|>|[[:cntrl:]]/_/g;\r
-               $sFileName =~ s/\.(?![^.]*$)/_/g;\r
-\r
-               $ext = '';\r
-               if($sFileName =~ /([^\\\/]*)\.(.*)$/) {\r
-                       $ext  = $2;\r
-               }\r
-\r
-               $allowedRegex = qr/^($allowedExtensions)$/i;\r
-               if (!($ext =~ $allowedRegex)) {\r
-                       SendUploadResults('202', '', '', '');\r
-               }\r
-\r
-               $sOriginalFileName = $sFileName;\r
-\r
-               $iCounter = 0;\r
-               while(1) {\r
-                       $sFilePath = $sServerDir . $sFileName;\r
-                       if(-e $sFilePath) {\r
-                               $iCounter++ ;\r
-                               ($path,$BaseName,$ext) = &RemoveExtension($sOriginalFileName);\r
-                               $sFileName = $BaseName . '(' . $iCounter . ').' . $ext;\r
-                               $sErrorNumber = '201';\r
-                       } else {\r
-                               copy("$img_dir/$new_fname","$sFilePath");\r
-                               if (defined $CHMOD_ON_UPLOAD) {\r
-                                       if ($CHMOD_ON_UPLOAD) {\r
-                                               umask(000);\r
-                                               chmod($CHMOD_ON_UPLOAD,$sFilePath);\r
-                                       }\r
-                               }\r
-                               else {\r
-                                       umask(000);\r
-                                       chmod(0777,$sFilePath);\r
-                               }\r
-                               unlink("$img_dir/$new_fname");\r
-                               last;\r
-                       }\r
-               }\r
-       } else {\r
-               $sErrorNumber = '202' ;\r
-       }\r
-       $sFileName      =~ s/"/\\"/g;\r
-\r
-       SendUploadResults($sErrorNumber, $GLOBALS{'UserFilesPath'}.$resourceType.$currentFolder.$sFileName, $sFileName, '');\r
-}\r
-\r
-sub SendUploadResults\r
-{\r
-\r
-       local($sErrorNumber, $sFileUrl, $sFileName, $customMsg) = @_;\r
-\r
-       # Minified version of the document.domain automatic fix script (#1919).\r
-       # The original script can be found at _dev/domain_fix_template.js\r
-       # Note: in Perl replace \ with \\ and $ with \$\r
-       print <<EOF;\r
-Content-type: text/html\r
-\r
-<script type="text/javascript">\r
-(function(){var d=document.domain;while (true){try{var A=window.parent.document.domain;break;}catch(e) {};d=d.replace(/.*?(?:\\.|\$)/,'');if (d.length==0) break;try{document.domain=d;}catch (e){break;}}})();\r
-\r
-EOF\r
-       print 'window.parent.OnUploadCompleted(' . $sErrorNumber . ',"' . JS_cnv($sFileUrl) . '","' . JS_cnv($sFileName) . '","' . JS_cnv($customMsg) . '") ;';\r
-       print '</script>';\r
-       exit ;\r
-}\r
-\r
-1;\r
diff --git a/httemplate/elements/fckeditor/editor/filemanager/connectors/perl/config.pl b/httemplate/elements/fckeditor/editor/filemanager/connectors/perl/config.pl
deleted file mode 100644 (file)
index de85c79..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-#####\r
-#  FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
-#  Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
-#\r
-#  == BEGIN LICENSE ==\r
-#\r
-#  Licensed under the terms of any of the following licenses at your\r
-#  choice:\r
-#\r
-#   - GNU General Public License Version 2 or later (the "GPL")\r
-#     http://www.gnu.org/licenses/gpl.html\r
-#\r
-#   - GNU Lesser General Public License Version 2.1 or later (the "LGPL")\r
-#     http://www.gnu.org/licenses/lgpl.html\r
-#\r
-#   - Mozilla Public License Version 1.1 or later (the "MPL")\r
-#     http://www.mozilla.org/MPL/MPL-1.1.html\r
-#\r
-#  == END LICENSE ==\r
-#\r
-#  This is the File Manager Connector for Perl.\r
-#####\r
-\r
-##\r
-# SECURITY: REMOVE/COMMENT THE FOLLOWING LINE TO ENABLE THIS CONNECTOR.\r
-##\r
-&SendError( 1, 'This connector is disabled. Please check the "editor/filemanager/connectors/perl/config.cgi" file' ) ;\r
-\r
-$GLOBALS{'UserFilesPath'} = '/userfiles/';\r
-\r
-# Map the "UserFiles" path to a local directory.\r
-$rootpath = &GetRootPath();\r
-$GLOBALS{'UserFilesDirectory'} = $rootpath . $GLOBALS{'UserFilesPath'};\r
-\r
-%allowedExtensions =  ("File", "7z|aiff|asf|avi|bmp|csv|doc|fla|flv|gif|gz|gzip|jpeg|jpg|mid|mov|mp3|mp4|mpc|mpeg|mpg|ods|odt|pdf|png|ppt|pxd|qt|ram|rar|rm|rmi|rmvb|rtf|sdc|sitd|swf|sxc|sxw|tar|tgz|tif|tiff|txt|vsd|wav|wma|wmv|xls|xml|zip",\r
-"Image", "bmp|gif|jpeg|jpg|png",\r
-"Flash", "swf|flv",\r
-"Media", "aiff|asf|avi|bmp|fla|flv|gif|jpeg|jpg|mid|mov|mp3|mp4|mpc|mpeg|mpg|png|qt|ram|rm|rmi|rmvb|swf|tif|tiff|wav|wma|wmv"\r
-);\r
diff --git a/httemplate/elements/fckeditor/editor/filemanager/connectors/perl/connector.cgi b/httemplate/elements/fckeditor/editor/filemanager/connectors/perl/connector.cgi
deleted file mode 100644 (file)
index 990a92e..0000000
+++ /dev/null
@@ -1,129 +0,0 @@
-#!/usr/bin/env perl\r
-\r
-#####\r
-#  FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
-#  Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
-#\r
-#  == BEGIN LICENSE ==\r
-#\r
-#  Licensed under the terms of any of the following licenses at your\r
-#  choice:\r
-#\r
-#   - GNU General Public License Version 2 or later (the "GPL")\r
-#     http://www.gnu.org/licenses/gpl.html\r
-#\r
-#   - GNU Lesser General Public License Version 2.1 or later (the "LGPL")\r
-#     http://www.gnu.org/licenses/lgpl.html\r
-#\r
-#   - Mozilla Public License Version 1.1 or later (the "MPL")\r
-#     http://www.mozilla.org/MPL/MPL-1.1.html\r
-#\r
-#  == END LICENSE ==\r
-#\r
-#  This is the File Manager Connector for Perl.\r
-#####\r
-\r
-##\r
-# ATTENTION: To enable this connector, look for the "SECURITY" comment in config.pl.\r
-##\r
-\r
-## START: Hack for Windows (Not important to understand the editor code... Perl specific).\r
-if(Windows_check()) {\r
-       chdir(GetScriptPath($0));\r
-}\r
-\r
-sub Windows_check\r
-{\r
-       # IIS,PWS(NT/95)\r
-       $www_server_os = $^O;\r
-       # Win98 & NT(SP4)\r
-       if($www_server_os eq "") { $www_server_os= $ENV{'OS'}; }\r
-       # AnHTTPd/Omni/IIS\r
-       if($ENV{'SERVER_SOFTWARE'} =~ /AnWeb|Omni|IIS\//i) { $www_server_os= 'win'; }\r
-       # Win Apache\r
-       if($ENV{'WINDIR'} ne "") { $www_server_os= 'win'; }\r
-       if($www_server_os=~ /win/i) { return(1); }\r
-       return(0);\r
-}\r
-\r
-sub GetScriptPath {\r
-       local($path) = @_;\r
-       if($path =~ /[\:\/\\]/) { $path =~ s/(.*?)[\/\\][^\/\\]+$/$1/; } else { $path = '.'; }\r
-       $path;\r
-}\r
-## END: Hack for IIS\r
-\r
-require 'util.pl';\r
-require 'io.pl';\r
-require 'basexml.pl';\r
-require 'commands.pl';\r
-require 'upload_fck.pl';\r
-require 'config.pl';\r
-\r
-&read_input();\r
-&DoResponse();\r
-\r
-sub DoResponse\r
-{\r
-\r
-       if($FORM{'Command'} eq "" || $FORM{'Type'} eq "" || $FORM{'CurrentFolder'} eq "") {\r
-               return ;\r
-       }\r
-       # Get the main request informaiton.\r
-       $sCommand               = &specialchar_cnv($FORM{'Command'});\r
-       $sResourceType  = &specialchar_cnv($FORM{'Type'});\r
-       $sCurrentFolder = $FORM{'CurrentFolder'};\r
-\r
-       if ( !($sCommand =~ /^(FileUpload|GetFolders|GetFoldersAndFiles|CreateFolder)$/) ) {\r
-               SendError( 1, "Command not allowed" ) ;\r
-       }\r
-\r
-       if ( !($sResourceType =~ /^(File|Image|Flash|Media)$/) ) {\r
-               SendError( 1, "Invalid type specified" ) ;\r
-       }\r
-\r
-       # Check the current folder syntax (must begin and start with a slash).\r
-       if(!($sCurrentFolder =~ /\/$/)) {\r
-               $sCurrentFolder .= '/';\r
-       }\r
-       if(!($sCurrentFolder =~ /^\//)) {\r
-               $sCurrentFolder = '/' . $sCurrentFolder;\r
-       }\r
-\r
-       # Check for invalid folder paths (..)\r
-       if ( $sCurrentFolder =~ /(?:\.\.|\\)/ ) {\r
-               SendError( 102, "" ) ;\r
-       }\r
-       if ( $sCurrentFolder =~ /(\/\.)|[[:cntrl:]]|(\/\/)|(\\\\)|([\:\*\?\"\<\>\|])/ ) {\r
-               SendError( 102, "" ) ;\r
-       }\r
-\r
-       # File Upload doesn't have to Return XML, so it must be intercepted before anything.\r
-       if($sCommand eq 'FileUpload') {\r
-               FileUpload($sResourceType,$sCurrentFolder);\r
-               return ;\r
-       }\r
-\r
-       print << "_HTML_HEAD_";\r
-Content-Type:text/xml; charset=utf-8\r
-Pragma: no-cache\r
-Cache-Control: no-cache\r
-Expires: Thu, 01 Dec 1994 16:00:00 GMT\r
-\r
-_HTML_HEAD_\r
-\r
-       &CreateXmlHeader($sCommand,$sResourceType,$sCurrentFolder);\r
-\r
-       # Execute the required command.\r
-       if($sCommand eq 'GetFolders') {\r
-               &GetFolders($sResourceType,$sCurrentFolder);\r
-       } elsif($sCommand eq 'GetFoldersAndFiles') {\r
-               &GetFoldersAndFiles($sResourceType,$sCurrentFolder);\r
-       } elsif($sCommand eq 'CreateFolder') {\r
-               &CreateFolder($sResourceType,$sCurrentFolder);\r
-       }\r
-\r
-       &CreateXmlFooter();\r
-\r
-       exit ;\r
-}\r
diff --git a/httemplate/elements/fckeditor/editor/filemanager/connectors/perl/io.pl b/httemplate/elements/fckeditor/editor/filemanager/connectors/perl/io.pl
deleted file mode 100644 (file)
index 56e5481..0000000
+++ /dev/null
@@ -1,141 +0,0 @@
-#####\r
-#  FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
-#  Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
-#\r
-#  == BEGIN LICENSE ==\r
-#\r
-#  Licensed under the terms of any of the following licenses at your\r
-#  choice:\r
-#\r
-#   - GNU General Public License Version 2 or later (the "GPL")\r
-#     http://www.gnu.org/licenses/gpl.html\r
-#\r
-#   - GNU Lesser General Public License Version 2.1 or later (the "LGPL")\r
-#     http://www.gnu.org/licenses/lgpl.html\r
-#\r
-#   - Mozilla Public License Version 1.1 or later (the "MPL")\r
-#     http://www.mozilla.org/MPL/MPL-1.1.html\r
-#\r
-#  == END LICENSE ==\r
-#\r
-#  This is the File Manager Connector for Perl.\r
-#####\r
-\r
-sub GetUrlFromPath\r
-{\r
-       local($resourceType, $folderPath) = @_;\r
-\r
-       if($resourceType eq '') {\r
-               $rmpath = &RemoveFromEnd($GLOBALS{'UserFilesPath'},'/');\r
-               return("$rmpath$folderPath");\r
-       } else {\r
-               return("$GLOBALS{'UserFilesPath'}$resourceType$folderPath");\r
-       }\r
-}\r
-\r
-sub RemoveExtension\r
-{\r
-       local($fileName) = @_;\r
-       local($path, $base, $ext);\r
-       if($fileName !~ /\./) {\r
-               $fileName .= '.';\r
-       }\r
-       if($fileName =~ /([^\\\/]*)\.(.*)$/) {\r
-               $base = $1;\r
-               $ext  = $2;\r
-               if($fileName =~ /(.*)$base\.$ext$/) {\r
-                       $path = $1;\r
-               }\r
-       }\r
-       return($path,$base,$ext);\r
-\r
-}\r
-\r
-sub ServerMapFolder\r
-{\r
-       local($resourceType,$folderPath) = @_;\r
-\r
-       # Get the resource type directory.\r
-       $sResourceTypePath = $GLOBALS{'UserFilesDirectory'} . $resourceType . '/';\r
-\r
-       # Ensure that the directory exists.\r
-       &CreateServerFolder($sResourceTypePath);\r
-\r
-       # Return the resource type directory combined with the required path.\r
-       $rmpath = &RemoveFromStart($folderPath,'/');\r
-       return("$sResourceTypePath$rmpath");\r
-}\r
-\r
-sub GetParentFolder\r
-{\r
-       local($folderPath) = @_;\r
-\r
-       $folderPath =~ s/[\/][^\/]+[\/]?$//g;\r
-       return $folderPath;\r
-}\r
-\r
-sub CreateServerFolder\r
-{\r
-       local($folderPath) = @_;\r
-\r
-       $sParent = &GetParentFolder($folderPath);\r
-       # Check if the parent exists, or create it.\r
-       if(!(-e $sParent)) {\r
-               $sErrorMsg = &CreateServerFolder($sParent);\r
-               if($sErrorMsg == 1) {\r
-                       return(1);\r
-               }\r
-       }\r
-       if(!(-e $folderPath)) {\r
-               if (defined $CHMOD_ON_FOLDER_CREATE && !$CHMOD_ON_FOLDER_CREATE) {\r
-                       mkdir("$folderPath");\r
-               }\r
-               else {\r
-                       umask(000);\r
-                       if (defined $CHMOD_ON_FOLDER_CREATE) {\r
-                               mkdir("$folderPath",$CHMOD_ON_FOLDER_CREATE);\r
-                       }\r
-                       else {\r
-                               mkdir("$folderPath",0777);\r
-                       }\r
-               }\r
-\r
-               return(0);\r
-       } else {\r
-               return(1);\r
-       }\r
-}\r
-\r
-sub GetRootPath\r
-{\r
-#use Cwd;\r
-\r
-#      my $dir = getcwd;\r
-#      print $dir;\r
-#      $dir  =~ s/$ENV{'DOCUMENT_ROOT'}//g;\r
-#      print $dir;\r
-#      return($dir);\r
-\r
-#      $wk = $0;\r
-#      $wk =~ s/\/connector\.cgi//g;\r
-#      if($wk) {\r
-#              $current_dir = $wk;\r
-#      } else {\r
-#              $current_dir = `pwd`;\r
-#      }\r
-#      return($current_dir);\r
-use Cwd;\r
-\r
-       if($ENV{'DOCUMENT_ROOT'}) {\r
-               $dir = $ENV{'DOCUMENT_ROOT'};\r
-       } else {\r
-               my $dir = getcwd;\r
-               $workdir =~ s/\/connector\.cgi//g;\r
-               $dir  =~ s/$workdir//g;\r
-       }\r
-       return($dir);\r
-\r
-\r
-\r
-}\r
-1;\r
diff --git a/httemplate/elements/fckeditor/editor/filemanager/connectors/perl/upload.cgi b/httemplate/elements/fckeditor/editor/filemanager/connectors/perl/upload.cgi
deleted file mode 100644 (file)
index 38c5ea5..0000000
+++ /dev/null
@@ -1,87 +0,0 @@
-#!/usr/bin/env perl\r
-\r
-#####\r
-#  FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
-#  Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
-#\r
-#  == BEGIN LICENSE ==\r
-#\r
-#  Licensed under the terms of any of the following licenses at your\r
-#  choice:\r
-#\r
-#   - GNU General Public License Version 2 or later (the "GPL")\r
-#     http://www.gnu.org/licenses/gpl.html\r
-#\r
-#   - GNU Lesser General Public License Version 2.1 or later (the "LGPL")\r
-#     http://www.gnu.org/licenses/lgpl.html\r
-#\r
-#   - Mozilla Public License Version 1.1 or later (the "MPL")\r
-#     http://www.mozilla.org/MPL/MPL-1.1.html\r
-#\r
-#  == END LICENSE ==\r
-#\r
-#  This is the File Manager Connector for Perl.\r
-#####\r
-\r
-##\r
-# ATTENTION: To enable this connector, look for the "SECURITY" comment in config.pl.\r
-##\r
-\r
-## START: Hack for Windows (Not important to understand the editor code... Perl specific).\r
-if(Windows_check()) {\r
-       chdir(GetScriptPath($0));\r
-}\r
-\r
-sub Windows_check\r
-{\r
-       # IIS,PWS(NT/95)\r
-       $www_server_os = $^O;\r
-       # Win98 & NT(SP4)\r
-       if($www_server_os eq "") { $www_server_os= $ENV{'OS'}; }\r
-       # AnHTTPd/Omni/IIS\r
-       if($ENV{'SERVER_SOFTWARE'} =~ /AnWeb|Omni|IIS\//i) { $www_server_os= 'win'; }\r
-       # Win Apache\r
-       if($ENV{'WINDIR'} ne "") { $www_server_os= 'win'; }\r
-       if($www_server_os=~ /win/i) { return(1); }\r
-       return(0);\r
-}\r
-\r
-sub GetScriptPath {\r
-       local($path) = @_;\r
-       if($path =~ /[\:\/\\]/) { $path =~ s/(.*?)[\/\\][^\/\\]+$/$1/; } else { $path = '.'; }\r
-       $path;\r
-}\r
-## END: Hack for IIS\r
-\r
-require 'util.pl';\r
-require 'io.pl';\r
-require 'basexml.pl';\r
-require 'commands.pl';\r
-require 'upload_fck.pl';\r
-require 'config.pl';\r
-\r
-&read_input();\r
-&DoResponse();\r
-\r
-sub DoResponse\r
-{\r
-       # Get the main request information.\r
-       $sCommand               = 'FileUpload';\r
-       $sResourceType  = &specialchar_cnv($FORM{'Type'});\r
-       $sCurrentFolder = "/";\r
-\r
-       if ($sResourceType eq '') {\r
-               $sResourceType = 'File' ;\r
-       }\r
-\r
-       if ( !($sResourceType =~ /^(File|Image|Flash|Media)$/) ) {\r
-               SendError( 1, "Invalid type specified" ) ;\r
-       }\r
-\r
-       # File Upload doesn't have to Return XML, so it must be intercepted before anything.\r
-       if($sCommand eq 'FileUpload') {\r
-               FileUpload($sResourceType,$sCurrentFolder);\r
-               return ;\r
-       }\r
-\r
-}\r
diff --git a/httemplate/elements/fckeditor/editor/filemanager/connectors/perl/upload_fck.pl b/httemplate/elements/fckeditor/editor/filemanager/connectors/perl/upload_fck.pl
deleted file mode 100644 (file)
index debdad6..0000000
+++ /dev/null
@@ -1,686 +0,0 @@
-#####\r
-#  FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
-#  Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
-#\r
-#  == BEGIN LICENSE ==\r
-#\r
-#  Licensed under the terms of any of the following licenses at your\r
-#  choice:\r
-#\r
-#   - GNU General Public License Version 2 or later (the "GPL")\r
-#     http://www.gnu.org/licenses/gpl.html\r
-#\r
-#   - GNU Lesser General Public License Version 2.1 or later (the "LGPL")\r
-#     http://www.gnu.org/licenses/lgpl.html\r
-#\r
-#   - Mozilla Public License Version 1.1 or later (the "MPL")\r
-#     http://www.mozilla.org/MPL/MPL-1.1.html\r
-#\r
-#  == END LICENSE ==\r
-#\r
-#  This is the File Manager Connector for Perl.\r
-#####\r
-\r
-# image data save dir\r
-$img_dir       = './temp/';\r
-\r
-\r
-# File size max(unit KB)\r
-$MAX_CONTENT_SIZE =  30000;\r
-\r
-# After file is uploaded, sometimes it is required to change its permissions\r
-# so that it was possible to access it at the later time.\r
-# If possible, it is recommended to set more restrictive permissions, like 0755.\r
-# Set to 0 to disable this feature.\r
-$CHMOD_ON_UPLOAD = 0777;\r
-\r
-# See comments above.\r
-# Used when creating folders that does not exist.\r
-$CHMOD_ON_FOLDER_CREATE = 0755;\r
-\r
-# Filelock (1=use,0=not use)\r
-$PM{'flock'}           = '1';\r
-\r
-\r
-# upload Content-Type list\r
-my %UPLOAD_CONTENT_TYPE_LIST = (\r
-       'image/(x-)?png'                                                =>      'png',  # PNG image\r
-       'image/p?jpe?g'                                                 =>      'jpg',  # JPEG image\r
-       'image/gif'                                                             =>      'gif',  # GIF image\r
-       'image/x-xbitmap'                                               =>      'xbm',  # XBM image\r
-\r
-       'image/(x-(MS-)?)?bmp'                                  =>      'bmp',  # Windows BMP image\r
-       'image/pict'                                                    =>      'pict', # Macintosh PICT image\r
-       'image/tiff'                                                    =>      'tif',  # TIFF image\r
-       'application/pdf'                                               =>      'pdf',  # PDF image\r
-       'application/x-shockwave-flash'                 =>      'swf',  # Shockwave Flash\r
-\r
-       'video/(x-)?msvideo'                                    =>      'avi',  # Microsoft Video\r
-       'video/quicktime'                                               =>      'mov',  # QuickTime Video\r
-       'video/mpeg'                                                    =>      'mpeg', # MPEG Video\r
-       'video/x-mpeg2'                                                 =>      'mpv2', # MPEG2 Video\r
-\r
-       'audio/(x-)?midi?'                                              =>      'mid',  # MIDI Audio\r
-       'audio/(x-)?wav'                                                =>      'wav',  # WAV Audio\r
-       'audio/basic'                                                   =>      'au',   # ULAW Audio\r
-       'audio/mpeg'                                                    =>      'mpga', # MPEG Audio\r
-\r
-       'application/(x-)?zip(-compressed)?'    =>      'zip',  # ZIP Compress\r
-\r
-       'text/html'                                                             =>      'html', # HTML\r
-       'text/plain'                                                    =>      'txt',  # TEXT\r
-       '(?:application|text)/(?:rtf|richtext)' =>      'rtf',  # RichText\r
-\r
-       'application/msword'                                    =>      'doc',  # Microsoft Word\r
-       'application/vnd.ms-excel'                              =>      'xls',  # Microsoft Excel\r
-\r
-       ''\r
-);\r
-\r
-# Upload is permitted.\r
-# A regular expression is possible.\r
-my %UPLOAD_EXT_LIST = (\r
-       'png'                                   =>      'PNG image',\r
-       'p?jpe?g|jpe|jfif|pjp'  =>      'JPEG image',\r
-       'gif'                                   =>      'GIF image',\r
-       'xbm'                                   =>      'XBM image',\r
-\r
-       'bmp|dib|rle'                   =>      'Windows BMP image',\r
-       'pi?ct'                                 =>      'Macintosh PICT image',\r
-       'tiff?'                                 =>      'TIFF image',\r
-       'pdf'                                   =>      'PDF image',\r
-       'swf'                                   =>      'Shockwave Flash',\r
-\r
-       'avi'                                   =>      'Microsoft Video',\r
-       'moo?v|qt'                              =>      'QuickTime Video',\r
-       'm(p(e?gv?|e|v)|1v)'    =>      'MPEG Video',\r
-       'mp(v2|2v)'                             =>      'MPEG2 Video',\r
-\r
-       'midi?|kar|smf|rmi|mff' =>      'MIDI Audio',\r
-       'wav'                                   =>      'WAVE Audio',\r
-       'au|snd'                                =>      'ULAW Audio',\r
-       'mp(e?ga|2|a|3)|abs'    =>      'MPEG Audio',\r
-\r
-       'zip'                                   =>      'ZIP Compress',\r
-       'lzh'                                   =>      'LZH Compress',\r
-       'cab'                                   =>      'CAB Compress',\r
-\r
-       'd?html?'                               =>      'HTML',\r
-       'rtf|rtx'                               =>      'RichText',\r
-       'txt|text'                              =>      'Text',\r
-\r
-       ''\r
-);\r
-\r
-\r
-# sjis or euc\r
-my $CHARCODE = 'sjis';\r
-\r
-$TRANS_2BYTE_CODE = 0;\r
-\r
-##############################################################################\r
-# Summary\r
-#\r
-# Form Read input\r
-#\r
-# Parameters\r
-# Returns\r
-# Memo\r
-##############################################################################\r
-sub read_input\r
-{\r
-eval("use File::Copy;");\r
-eval("use File::Path;");\r
-\r
-       my ($FORM) = @_;\r
-\r
-       if (defined $CHMOD_ON_FOLDER_CREATE && !$CHMOD_ON_FOLDER_CREATE) {\r
-               mkdir("$img_dir");\r
-       }\r
-       else {\r
-               umask(000);\r
-               if (defined $CHMOD_ON_FOLDER_CREATE) {\r
-                       mkdir("$img_dir",$CHMOD_ON_FOLDER_CREATE);\r
-               }\r
-               else {\r
-                       mkdir("$img_dir",0777);\r
-               }\r
-       }\r
-\r
-       undef $img_data_exists;\r
-       undef @NEWFNAMES;\r
-       undef @NEWFNAME_DATA;\r
-\r
-       if($ENV{'CONTENT_LENGTH'} > 10000000 || $ENV{'CONTENT_LENGTH'} > $MAX_CONTENT_SIZE * 1024) {\r
-               &upload_error(\r
-                       'Size Error',\r
-                       sprintf(\r
-                               "Transmitting size is too large.MAX <strong>%d KB</strong> Now Size <strong>%d KB</strong>(<strong>%d bytes</strong> Over)",\r
-                               $MAX_CONTENT_SIZE,\r
-                               int($ENV{'CONTENT_LENGTH'} / 1024),\r
-                               $ENV{'CONTENT_LENGTH'} - $MAX_CONTENT_SIZE * 1024\r
-                       )\r
-               );\r
-       }\r
-\r
-       my $Buffer;\r
-       if($ENV{'CONTENT_TYPE'} =~ /multipart\/form-data/) {\r
-               # METHOD POST only\r
-               return  unless($ENV{'CONTENT_LENGTH'});\r
-\r
-               binmode(STDIN);\r
-               # STDIN A pause character is detected.'(MacIE3.0 boundary of $ENV{'CONTENT_TYPE'} cannot be trusted.)\r
-               my $Boundary = <STDIN>;\r
-               $Boundary =~ s/\x0D\x0A//;\r
-               $Boundary = quotemeta($Boundary);\r
-               while(<STDIN>) {\r
-                       if(/^\s*Content-Disposition:/i) {\r
-                               my($name,$ContentType,$FileName);\r
-                               # form data get\r
-                               if(/\bname="([^"]+)"/i || /\bname=([^\s:;]+)/i) {\r
-                                       $name = $1;\r
-                                       $name   =~ tr/+/ /;\r
-                                       $name   =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;\r
-                                       &Encode(\$name);\r
-                               }\r
-                               if(/\bfilename="([^"]*)"/i || /\bfilename=([^\s:;]*)/i) {\r
-                                       $FileName = $1 || 'unknown';\r
-                               }\r
-                               # head read\r
-                               while(<STDIN>) {\r
-                                       last    if(! /\w/);\r
-                                       if(/^\s*Content-Type:\s*"([^"]+)"/i || /^\s*Content-Type:\s*([^\s:;]+)/i) {\r
-                                               $ContentType = $1;\r
-                                       }\r
-                               }\r
-                               # body read\r
-                               $value = "";\r
-                               while(<STDIN>) {\r
-                                       last    if(/^$Boundary/o);\r
-                                       $value .= $_;\r
-                               };\r
-                               $lastline = $_;\r
-                               $value =~s /\x0D\x0A$//;\r
-                               if($value ne '') {\r
-                                       if($FileName || $ContentType) {\r
-                                               $img_data_exists = 1;\r
-                                               (\r
-                                                       $FileName,              #\r
-                                                       $Ext,                   #\r
-                                                       $Length,                #\r
-                                                       $ImageWidth,    #\r
-                                                       $ImageHeight,   #\r
-                                                       $ContentName    #\r
-                                               ) = &CheckContentType(\$value,$FileName,$ContentType);\r
-\r
-                                               $FORM{$name}    = $FileName;\r
-                                               $new_fname              = $FileName;\r
-                                               push(@NEWFNAME_DATA,"$FileName\t$Ext\t$Length\t$ImageWidth\t$ImageHeight\t$ContentName");\r
-\r
-                                               # Multi-upload correspondence\r
-                                               push(@NEWFNAMES,$new_fname);\r
-                                               open(OUT,">$img_dir/$new_fname");\r
-                                               binmode(OUT);\r
-                                               eval "flock(OUT,2);" if($PM{'flock'} == 1);\r
-                                               print OUT $value;\r
-                                               eval "flock(OUT,8);" if($PM{'flock'} == 1);\r
-                                               close(OUT);\r
-\r
-                                       } elsif($name) {\r
-                                               $value  =~ tr/+/ /;\r
-                                               $value  =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;\r
-                                               &Encode(\$value,'trans');\r
-                                               $FORM{$name} .= "\0"                    if(defined($FORM{$name}));\r
-                                               $FORM{$name} .= $value;\r
-                                       }\r
-                               }\r
-                       };\r
-                       last if($lastline =~ /^$Boundary\-\-/o);\r
-               }\r
-       } elsif($ENV{'CONTENT_LENGTH'}) {\r
-               read(STDIN,$Buffer,$ENV{'CONTENT_LENGTH'});\r
-       }\r
-       foreach(split(/&/,$Buffer),split(/&/,$ENV{'QUERY_STRING'})) {\r
-               my($name, $value) = split(/=/);\r
-               $name   =~ tr/+/ /;\r
-               $name   =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;\r
-               $value  =~ tr/+/ /;\r
-               $value  =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;\r
-\r
-               &Encode(\$name);\r
-               &Encode(\$value,'trans');\r
-               $FORM{$name} .= "\0"                    if(defined($FORM{$name}));\r
-               $FORM{$name} .= $value;\r
-\r
-       }\r
-\r
-}\r
-\r
-##############################################################################\r
-# Summary\r
-#\r
-#      CheckContentType\r
-#\r
-# Parameters\r
-# Returns\r
-# Memo\r
-##############################################################################\r
-sub CheckContentType\r
-{\r
-\r
-       my($DATA,$FileName,$ContentType) = @_;\r
-       my($Ext,$ImageWidth,$ImageHeight,$ContentName,$Infomation);\r
-       my $DataLength = length($$DATA);\r
-\r
-       # An unknown file type\r
-\r
-       $_ = $ContentType;\r
-       my $UnknownType = (\r
-               !$_\r
-               || /^application\/(x-)?macbinary$/i\r
-               || /^application\/applefile$/i\r
-               || /^application\/octet-stream$/i\r
-               || /^text\/plane$/i\r
-               || /^x-unknown-content-type/i\r
-       );\r
-\r
-       # MacBinary(Mac Unnecessary data are deleted.)\r
-       if($UnknownType || $ENV{'HTTP_USER_AGENT'} =~ /Macintosh|Mac_/) {\r
-               if($DataLength > 128 && !unpack("C",substr($$DATA,0,1)) && !unpack("C",substr($$DATA,74,1)) && !unpack("C",substr($$DATA,82,1)) ) {\r
-                       my $MacBinary_ForkLength = unpack("N", substr($$DATA, 83, 4));          # ForkLength Get\r
-                       my $MacBinary_FileName = quotemeta(substr($$DATA, 2, unpack("C",substr($$DATA, 1, 1))));\r
-                       if($MacBinary_FileName && $MacBinary_ForkLength && $DataLength >= $MacBinary_ForkLength + 128\r
-                                       && ($FileName =~ /$MacBinary_FileName/i || substr($$DATA,102,4) eq 'mBIN')) {   # DATA TOP 128byte MacBinary!!\r
-                               $$DATA                          = substr($$DATA,128,$MacBinary_ForkLength);\r
-                               my $ResourceLength      = $DataLength - $MacBinary_ForkLength - 128;\r
-                               $DataLength                     = $MacBinary_ForkLength;\r
-                       }\r
-               }\r
-       }\r
-\r
-       # A file name is changed into EUC.\r
-#      &jcode::convert(\$FileName,'euc',$FormCodeDefault);\r
-#      &jcode::h2z_euc(\$FileName);\r
-       $FileName =~ s/^.*\\//;                                 # Windows, Mac\r
-       $FileName =~ s/^.*\///;                                 # UNIX\r
-       $FileName =~ s/&/&amp;/g;\r
-       $FileName =~ s/"/&quot;/g;\r
-       $FileName =~ s/</&lt;/g;\r
-       $FileName =~ s/>/&gt;/g;\r
-#\r
-#      if($CHARCODE ne 'euc') {\r
-#              &jcode::convert(\$FileName,$CHARCODE,'euc');\r
-#      }\r
-\r
-       # An extension is extracted and it changes into a small letter.\r
-       my $FileExt;\r
-       if($FileName =~ /\.(\w+)$/) {\r
-               $FileExt = $1;\r
-               $FileExt =~ tr/A-Z/a-z/;\r
-       }\r
-\r
-       # Executable file detection (ban on upload)\r
-       if($$DATA =~ /^MZ/) {\r
-               $Ext = 'exe';\r
-       }\r
-       # text\r
-       if(!$Ext && ($UnknownType || $ContentType =~ /^text\//i || $ContentType =~ /^application\/(?:rtf|richtext)$/i || $ContentType =~ /^image\/x-xbitmap$/i)\r
-                               && ! $$DATA =~ /[\000-\006\177\377]/) {\r
-#              $$DATA =~ s/\x0D\x0A/\n/g;\r
-#              $$DATA =~ tr/\x0D\x0A/\n\n/;\r
-#\r
-#              if(\r
-#                      $$DATA =~ /<\s*SCRIPT(?:.|\n)*?>/i\r
-#                              || $$DATA =~ /<\s*(?:.|\n)*?\bONLOAD\s*=(?:.|\n)*?>/i\r
-#                              || $$DATA =~ /<\s*(?:.|\n)*?\bONCLICK\s*=(?:.|\n)*?>/i\r
-#                              ) {\r
-#                      $Infomation = '(JavaScript contains)';\r
-#              }\r
-#              if($$DATA =~ /<\s*TABLE(?:.|\n)*?>/i\r
-#                              || $$DATA =~ /<\s*BLINK(?:.|\n)*?>/i\r
-#                              || $$DATA =~ /<\s*MARQUEE(?:.|\n)*?>/i\r
-#                              || $$DATA =~ /<\s*OBJECT(?:.|\n)*?>/i\r
-#                              || $$DATA =~ /<\s*EMBED(?:.|\n)*?>/i\r
-#                              || $$DATA =~ /<\s*FRAME(?:.|\n)*?>/i\r
-#                              || $$DATA =~ /<\s*APPLET(?:.|\n)*?>/i\r
-#                              || $$DATA =~ /<\s*FORM(?:.|\n)*?>/i\r
-#                              || $$DATA =~ /<\s*(?:.|\n)*?\bSRC\s*=(?:.|\n)*?>/i\r
-#                              || $$DATA =~ /<\s*(?:.|\n)*?\bDYNSRC\s*=(?:.|\n)*?>/i\r
-#                              ) {\r
-#                      $Infomation = '(the HTML tag which is not safe is included)';\r
-#              }\r
-\r
-               if($FileExt =~ /^txt$/i || $FileExt =~ /^cgi$/i || $FileExt =~ /^pl$/i) {                                                               # Text File\r
-                       $Ext = 'txt';\r
-               } elsif($ContentType =~ /^text\/html$/i || $FileExt =~ /html?/i || $$DATA =~ /<\s*HTML(?:.|\n)*?>/i) {  # HTML File\r
-                       $Ext = 'html';\r
-               } elsif($ContentType =~ /^image\/x-xbitmap$/i || $FileExt =~ /^xbm$/i) {                                                                # XBM(x-BitMap) Image\r
-                       my $XbmName = $1;\r
-                       my ($XbmWidth, $XbmHeight);\r
-                       if($$DATA =~ /\#define\s*$XbmName\_width\s*(\d+)/i) {\r
-                               $XbmWidth = $1;\r
-                       }\r
-                       if($$DATA =~ /\#define\s*$XbmName\_height\s*(\d+)/i) {\r
-                               $XbmHeight = $1;\r
-                       }\r
-                       if($XbmWidth && $XbmHeight) {\r
-                               $Ext = 'xbm';\r
-                               $ImageWidth             = $XbmWidth;\r
-                               $ImageHeight    = $XbmHeight;\r
-                       }\r
-               } else {                #\r
-                       $Ext = 'txt';\r
-               }\r
-       }\r
-\r
-       # image\r
-       if(!$Ext && ($UnknownType || $ContentType =~ /^image\//i)) {\r
-               # PNG\r
-               if($$DATA =~ /^\x89PNG\x0D\x0A\x1A\x0A/) {\r
-                       if(substr($$DATA, 12, 4) eq 'IHDR') {\r
-                               $Ext = 'png';\r
-                               ($ImageWidth, $ImageHeight) = unpack("N2", substr($$DATA, 16, 8));\r
-                       }\r
-               } elsif($$DATA =~ /^GIF8(?:9|7)a/) {                                                                                                                    # GIF89a(modified), GIF89a, GIF87a\r
-                       $Ext = 'gif';\r
-                       ($ImageWidth, $ImageHeight) = unpack("v2", substr($$DATA, 6, 4));\r
-               } elsif($$DATA =~ /^II\x2a\x00\x08\x00\x00\x00/ || $$DATA =~ /^MM\x00\x2a\x00\x00\x00\x08/) {   # TIFF\r
-                       $Ext = 'tif';\r
-               } elsif($$DATA =~ /^BM/) {                                                                                                                                              # BMP\r
-                       $Ext = 'bmp';\r
-               } elsif($$DATA =~ /^\xFF\xD8\xFF/ || $$DATA =~ /JFIF/) {                                                                                # JPEG\r
-                       my $HeaderPoint = index($$DATA, "\xFF\xD8\xFF", 0);\r
-                       my $Point = $HeaderPoint + 2;\r
-                       while($Point < $DataLength) {\r
-                               my($Maker, $MakerType, $MakerLength) = unpack("C2n",substr($$DATA,$Point,4));\r
-                               if($Maker != 0xFF || $MakerType == 0xd9 || $MakerType == 0xda) {\r
-                                       last;\r
-                               } elsif($MakerType >= 0xC0 && $MakerType <= 0xC3) {\r
-                                       $Ext = 'jpg';\r
-                                       ($ImageHeight, $ImageWidth) = unpack("n2", substr($$DATA, $Point + 5, 4));\r
-                                       if($HeaderPoint > 0) {\r
-                                               $$DATA = substr($$DATA, $HeaderPoint);\r
-                                               $DataLength = length($$DATA);\r
-                                       }\r
-                                       last;\r
-                               } else {\r
-                                       $Point += $MakerLength + 2;\r
-                               }\r
-                       }\r
-               }\r
-       }\r
-\r
-       # audio\r
-       if(!$Ext && ($UnknownType || $ContentType =~ /^audio\//i)) {\r
-               # MIDI Audio\r
-               if($$DATA =~ /^MThd/) {\r
-                       $Ext = 'mid';\r
-               } elsif($$DATA =~ /^\x2esnd/) {         # ULAW Audio\r
-                       $Ext = 'au';\r
-               } elsif($$DATA =~ /^RIFF/ || $$DATA =~ /^ID3/ && $$DATA =~ /RIFF/) {\r
-                       my $HeaderPoint = index($$DATA, "RIFF", 0);\r
-                       $_ = substr($$DATA, $HeaderPoint + 8, 8);\r
-                       if(/^WAVEfmt $/) {\r
-                               # WAVE\r
-                               if(unpack("V",substr($$DATA, $HeaderPoint + 16, 4)) == 16) {\r
-                                       $Ext = 'wav';\r
-                               } else {                                        # RIFF WAVE MP3\r
-                                       $Ext = 'mp3';\r
-                               }\r
-                       } elsif(/^RMIDdata$/) {                 # RIFF MIDI\r
-                               $Ext = 'rmi';\r
-                       } elsif(/^RMP3data$/) {                 # RIFF MP3\r
-                               $Ext = 'rmp';\r
-                       }\r
-                       if($ContentType =~ /^audio\//i) {\r
-                               $Infomation .= '(RIFF '. substr($$DATA, $HeaderPoint + 8, 4). ')';\r
-                       }\r
-               }\r
-       }\r
-\r
-       # a binary file\r
-       unless ($Ext) {\r
-               # PDF image\r
-               if($$DATA =~ /^\%PDF/) {\r
-                       # Picture size is not measured.\r
-                       $Ext = 'pdf';\r
-               } elsif($$DATA =~ /^FWS/) {             # Shockwave Flash\r
-                       $Ext = 'swf';\r
-               } elsif($$DATA =~ /^RIFF/ || $$DATA =~ /^ID3/ && $$DATA =~ /RIFF/) {\r
-                       my $HeaderPoint = index($$DATA, "RIFF", 0);\r
-                       $_ = substr($$DATA,$HeaderPoint + 8, 8);\r
-                       # AVI\r
-                       if(/^AVI LIST$/) {\r
-                               $Ext = 'avi';\r
-                       }\r
-                       if($ContentType =~ /^video\//i) {\r
-                               $Infomation .= '(RIFF '. substr($$DATA, $HeaderPoint + 8, 4). ')';\r
-                       }\r
-               } elsif($$DATA =~ /^PK/) {                      # ZIP Compress File\r
-                       $Ext = 'zip';\r
-               } elsif($$DATA =~ /^MSCF/) {            # CAB Compress File\r
-                       $Ext = 'cab';\r
-               } elsif($$DATA =~ /^Rar\!/) {           # RAR Compress File\r
-                       $Ext = 'rar';\r
-               } elsif(substr($$DATA, 2, 5) =~ /^\-lh(\d+|d)\-$/) {            # LHA Compress File\r
-                       $Infomation .= "(lh$1)";\r
-                       $Ext = 'lzh';\r
-               } elsif(substr($$DATA, 325, 25) eq "Apple Video Media Handler" || substr($$DATA, 325, 30) eq "Apple \x83\x72\x83\x66\x83\x49\x81\x45\x83\x81\x83\x66\x83\x42\x83\x41\x83\x6E\x83\x93\x83\x68\x83\x89") {\r
-                       # QuickTime\r
-                       $Ext = 'mov';\r
-               }\r
-       }\r
-\r
-       # Header analysis failure\r
-       unless ($Ext) {\r
-               # It will be followed if it applies for the MIME type from the browser.\r
-               foreach (keys %UPLOAD_CONTENT_TYPE_LIST) {\r
-                       next unless ($_);\r
-                       if($ContentType =~ /^$_$/i) {\r
-                               $Ext = $UPLOAD_CONTENT_TYPE_LIST{$_};\r
-                               $ContentName = &CheckContentExt($Ext);\r
-                               if(\r
-                                       grep {$_ eq $Ext;} (\r
-                                               'png',\r
-                                               'gif',\r
-                                               'jpg',\r
-                                               'xbm',\r
-                                               'tif',\r
-                                               'bmp',\r
-                                               'pdf',\r
-                                               'swf',\r
-                                               'mov',\r
-                                               'zip',\r
-                                               'cab',\r
-                                               'lzh',\r
-                                               'rar',\r
-                                               'mid',\r
-                                               'rmi',\r
-                                               'au',\r
-                                               'wav',\r
-                                               'avi',\r
-                                               'exe'\r
-                                       )\r
-                               ) {\r
-                                       $Infomation .= ' / Header analysis failure';\r
-                               }\r
-                               if($Ext ne $FileExt && &CheckContentExt($FileExt) eq $ContentName) {\r
-                                       $Ext = $FileExt;\r
-                               }\r
-                               last;\r
-                       }\r
-               }\r
-               # a MIME type is unknown--It judges from an extension.\r
-               unless ($Ext) {\r
-                       $ContentName = &CheckContentExt($FileExt);\r
-                       if($ContentName) {\r
-                               $Ext = $FileExt;\r
-                               $Infomation .= ' /      MIME type is unknown('. $ContentType. ')';\r
-                               last;\r
-                       }\r
-               }\r
-       }\r
-\r
-#      $ContentName = &CheckContentExt($Ext)   unless($ContentName);\r
-#      if($Ext && $ContentName) {\r
-#              $ContentName .=  $Infomation;\r
-#      } else {\r
-#              &upload_error(\r
-#                      'Extension Error',\r
-#                      "$FileName A not corresponding extension ($Ext)<BR>The extension which can be responded ". join(',', sort values(%UPLOAD_EXT_LIST))\r
-#              );\r
-#      }\r
-\r
-#      # SSI Tag Deletion\r
-#      if($Ext =~ /.?html?/ && $$DATA =~ /<\!/) {\r
-#              foreach (\r
-#                      'config',\r
-#                      'echo',\r
-#                      'exec',\r
-#                      'flastmod',\r
-#                      'fsize',\r
-#                      'include'\r
-#              ) {\r
-#                      $$DATA =~ s/\#\s*$_/\&\#35\;$_/ig\r
-#              }\r
-#      }\r
-\r
-       return (\r
-               $FileName,\r
-               $Ext,\r
-               int($DataLength / 1024 + 1),\r
-               $ImageWidth,\r
-               $ImageHeight,\r
-               $ContentName\r
-       );\r
-}\r
-\r
-##############################################################################\r
-# Summary\r
-#\r
-# Extension discernment\r
-#\r
-# Parameters\r
-# Returns\r
-# Memo\r
-##############################################################################\r
-\r
-sub CheckContentExt\r
-{\r
-\r
-       my($Ext) = @_;\r
-       my $ContentName;\r
-       foreach (keys %UPLOAD_EXT_LIST) {\r
-               next    unless ($_);\r
-               if($_ && $Ext =~ /^$_$/) {\r
-                       $ContentName = $UPLOAD_EXT_LIST{$_};\r
-                       last;\r
-               }\r
-       }\r
-       return $ContentName;\r
-\r
-}\r
-\r
-##############################################################################\r
-# Summary\r
-#\r
-# Form decode\r
-#\r
-# Parameters\r
-# Returns\r
-# Memo\r
-##############################################################################\r
-sub Encode\r
-{\r
-\r
-       my($value,$Trans) = @_;\r
-\r
-#      my $FormCode = &jcode::getcode($value) || $FormCodeDefault;\r
-#      $FormCodeDefault ||= $FormCode;\r
-#\r
-#      if($Trans && $TRANS_2BYTE_CODE) {\r
-#              if($FormCode ne 'euc') {\r
-#                      &jcode::convert($value, 'euc', $FormCode);\r
-#              }\r
-#              &jcode::tr(\r
-#                      $value,\r
-#                      "\xA3\xB0-\xA3\xB9\xA3\xC1-\xA3\xDA\xA3\xE1-\xA3\xFA",\r
-#                      '0-9A-Za-z'\r
-#              );\r
-#              if($CHARCODE ne 'euc') {\r
-#                      &jcode::convert($value,$CHARCODE,'euc');\r
-#              }\r
-#      } else {\r
-#              if($CHARCODE ne $FormCode) {\r
-#                      &jcode::convert($value,$CHARCODE,$FormCode);\r
-#              }\r
-#      }\r
-#      if($CHARCODE eq 'euc') {\r
-#              &jcode::h2z_euc($value);\r
-#      } elsif($CHARCODE eq 'sjis') {\r
-#              &jcode::h2z_sjis($value);\r
-#      }\r
-\r
-}\r
-\r
-##############################################################################\r
-# Summary\r
-#\r
-# Error Msg\r
-#\r
-# Parameters\r
-# Returns\r
-# Memo\r
-##############################################################################\r
-\r
-sub upload_error\r
-{\r
-\r
-       local($error_message)   = $_[0];\r
-       local($error_message2)  = $_[1];\r
-\r
-       print "Content-type: text/html\n\n";\r
-       print<<EOF;\r
-<HTML>\r
-<HEAD>\r
-<TITLE>Error Message</TITLE></HEAD>\r
-<BODY>\r
-<table border="1" cellspacing="10" cellpadding="10">\r
-       <TR bgcolor="#0000B0">\r
-       <TD bgcolor="#0000B0" NOWRAP><font size="-1" color="white"><B>Error Message</B></font></TD>\r
-       </TR>\r
-</table>\r
-<UL>\r
-<H4> $error_message </H4>\r
-$error_message2 <BR>\r
-</UL>\r
-</BODY>\r
-</HTML>\r
-EOF\r
-       &rm_tmp_uploaded_files;                 # Image Temporary deletion\r
-       exit;\r
-}\r
-\r
-##############################################################################\r
-# Summary\r
-#\r
-# Image Temporary deletion\r
-#\r
-# Parameters\r
-# Returns\r
-# Memo\r
-##############################################################################\r
-\r
-sub rm_tmp_uploaded_files\r
-{\r
-       if($img_data_exists == 1){\r
-               sleep 1;\r
-               foreach $fname_list(@NEWFNAMES) {\r
-                       if(-e "$img_dir/$fname_list") {\r
-                               unlink("$img_dir/$fname_list");\r
-                       }\r
-               }\r
-       }\r
-\r
-}\r
-1;\r
diff --git a/httemplate/elements/fckeditor/editor/filemanager/connectors/perl/util.pl b/httemplate/elements/fckeditor/editor/filemanager/connectors/perl/util.pl
deleted file mode 100644 (file)
index c245a04..0000000
+++ /dev/null
@@ -1,66 +0,0 @@
-#####\r
-#  FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
-#  Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
-#\r
-#  == BEGIN LICENSE ==\r
-#\r
-#  Licensed under the terms of any of the following licenses at your\r
-#  choice:\r
-#\r
-#   - GNU General Public License Version 2 or later (the "GPL")\r
-#     http://www.gnu.org/licenses/gpl.html\r
-#\r
-#   - GNU Lesser General Public License Version 2.1 or later (the "LGPL")\r
-#     http://www.gnu.org/licenses/lgpl.html\r
-#\r
-#   - Mozilla Public License Version 1.1 or later (the "MPL")\r
-#     http://www.mozilla.org/MPL/MPL-1.1.html\r
-#\r
-#  == END LICENSE ==\r
-#\r
-#  This is the File Manager Connector for Perl.\r
-#####\r
-\r
-sub RemoveFromStart\r
-{\r
-       local($sourceString, $charToRemove) = @_;\r
-       $sPattern = '^' . $charToRemove . '+' ;\r
-       $sourceString =~ s/^$charToRemove+//g;\r
-       return $sourceString;\r
-}\r
-\r
-sub RemoveFromEnd\r
-{\r
-       local($sourceString, $charToRemove) = @_;\r
-       $sPattern = $charToRemove . '+$' ;\r
-       $sourceString =~ s/$charToRemove+$//g;\r
-       return $sourceString;\r
-}\r
-\r
-sub ConvertToXmlAttribute\r
-{\r
-       local($value) = @_;\r
-       return(&specialchar_cnv($value));\r
-}\r
-\r
-sub specialchar_cnv\r
-{\r
-       local($ch) = @_;\r
-\r
-       $ch =~ s/&/&amp;/g;             # &\r
-       $ch =~ s/\"/&quot;/g;   #"\r
-       $ch =~ s/\'/&#39;/g;    # '\r
-       $ch =~ s/</&lt;/g;              # <\r
-       $ch =~ s/>/&gt;/g;              # >\r
-       return($ch);\r
-}\r
-\r
-sub JS_cnv\r
-{\r
-       local($ch) = @_;\r
-\r
-       $ch =~ s/\"/\\\"/g;     #"\r
-       return($ch);\r
-}\r
-\r
-1;\r
diff --git a/httemplate/elements/fckeditor/editor/filemanager/connectors/test.html b/httemplate/elements/fckeditor/editor/filemanager/connectors/test.html
deleted file mode 100644 (file)
index a394750..0000000
+++ /dev/null
@@ -1,210 +0,0 @@
-<!--\r
- * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
- *\r
- * == BEGIN LICENSE ==\r
- *\r
- * Licensed under the terms of any of the following licenses at your\r
- * choice:\r
- *\r
- *  - GNU General Public License Version 2 or later (the "GPL")\r
- *    http://www.gnu.org/licenses/gpl.html\r
- *\r
- *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")\r
- *    http://www.gnu.org/licenses/lgpl.html\r
- *\r
- *  - Mozilla Public License Version 1.1 or later (the "MPL")\r
- *    http://www.mozilla.org/MPL/MPL-1.1.html\r
- *\r
- * == END LICENSE ==\r
- *\r
- * Test page for the File Browser connectors.\r
--->\r
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">\r
-<html xmlns="http://www.w3.org/1999/xhtml">\r
-<head>\r
-       <title>FCKeditor - Connectors Tests</title>\r
-       <meta http-equiv="Content-Type" content="text/html; charset=utf-8">\r
-       <script type="text/javascript">\r
-\r
-// Automatically detect the correct document.domain (#1919).\r
-(function()\r
-{\r
-       var d = document.domain ;\r
-\r
-       while ( true )\r
-       {\r
-               // Test if we can access a parent property.\r
-               try\r
-               {\r
-                       var test = window.opener.document.domain ;\r
-                       break ;\r
-               }\r
-               catch( e ) {}\r
-\r
-               // Remove a domain part: www.mytest.example.com => mytest.example.com => example.com ...\r
-               d = d.replace( /.*?(?:\.|$)/, '' ) ;\r
-\r
-               if ( d.length == 0 )\r
-                       break ;         // It was not able to detect the domain.\r
-\r
-               try\r
-               {\r
-                       document.domain = d ;\r
-               }\r
-               catch (e)\r
-               {\r
-                       break ;\r
-               }\r
-       }\r
-})() ;\r
-\r
-function BuildBaseUrl( command )\r
-{\r
-       var sUrl =\r
-               document.getElementById('cmbConnector').value +\r
-               '?Command=' + command +\r
-               '&Type=' + document.getElementById('cmbType').value +\r
-               '&CurrentFolder=' + encodeURIComponent(document.getElementById('txtFolder').value) ;\r
-\r
-       return sUrl ;\r
-}\r
-\r
-function SetFrameUrl( url )\r
-{\r
-       document.getElementById('eRunningFrame').src = url ;\r
-\r
-       document.getElementById('eUrl').innerHTML = url ;\r
-}\r
-\r
-function GetFolders()\r
-{\r
-       SetFrameUrl( BuildBaseUrl( 'GetFolders' ) ) ;\r
-       return false ;\r
-}\r
-\r
-function GetFoldersAndFiles()\r
-{\r
-       SetFrameUrl( BuildBaseUrl( 'GetFoldersAndFiles' ) ) ;\r
-       return false ;\r
-}\r
-\r
-function CreateFolder()\r
-{\r
-       var sFolder = prompt( 'Type the folder name:', 'Test Folder' ) ;\r
-\r
-       if ( ! sFolder )\r
-               return false ;\r
-\r
-       var sUrl = BuildBaseUrl( 'CreateFolder' ) ;\r
-       sUrl += '&NewFolderName=' + encodeURIComponent( sFolder ) ;\r
-\r
-       SetFrameUrl( sUrl ) ;\r
-       return false ;\r
-}\r
-\r
-function OnUploadCompleted( errorNumber, fileName )\r
-{\r
-       switch ( errorNumber )\r
-       {\r
-               case 0 :\r
-                       alert( 'File uploaded with no errors' ) ;\r
-                       break ;\r
-               case 201 :\r
-                       GetFoldersAndFiles() ;\r
-                       alert( 'A file with the same name is already available. The uploaded file has been renamed to "' + fileName + '"' ) ;\r
-                       break ;\r
-               case 202 :\r
-                       alert( 'Invalid file' ) ;\r
-                       break ;\r
-               default :\r
-                       alert( 'Error on file upload. Error number: ' + errorNumber ) ;\r
-                       break ;\r
-       }\r
-}\r
-\r
-this.frames.frmUpload = this ;\r
-\r
-function SetAction()\r
-{\r
-       var sUrl = BuildBaseUrl( 'FileUpload' ) ;\r
-       document.getElementById('eUrl').innerHTML = sUrl ;\r
-       document.getElementById('frmUpload').action = sUrl ;\r
-}\r
-\r
-       </script>\r
-</head>\r
-<body>\r
-       <table height="100%" cellspacing="0" cellpadding="0" width="100%" border="0">\r
-               <tr>\r
-                       <td>\r
-                               <table cellspacing="0" cellpadding="0" border="0">\r
-                                       <tr>\r
-                                               <td>\r
-                                                       Connector:<br />\r
-                                                       <select id="cmbConnector" name="cmbConnector">\r
-                                                               <option value="asp/connector.asp" selected="selected">ASP</option>\r
-                                                               <option value="aspx/connector.aspx">ASP.Net</option>\r
-                                                               <option value="cfm/connector.cfm">ColdFusion</option>\r
-                                                               <option value="lasso/connector.lasso">Lasso</option>\r
-                                                               <option value="perl/connector.cgi">Perl</option>\r
-                                                               <option value="php/connector.php">PHP</option>\r
-                                                               <option value="py/connector.py">Python</option>\r
-                                                       </select>\r
-                                               </td>\r
-                                               <td>\r
-                                                       &nbsp;&nbsp;&nbsp;</td>\r
-                                               <td>\r
-                                                       Current Folder<br />\r
-                                                       <input id="txtFolder" type="text" value="/" name="txtFolder" /></td>\r
-                                               <td>\r
-                                                       &nbsp;&nbsp;&nbsp;</td>\r
-                                               <td>\r
-                                                       Resource Type<br />\r
-                                                       <select id="cmbType" name="cmbType">\r
-                                                               <option value="File" selected="selected">File</option>\r
-                                                               <option value="Image">Image</option>\r
-                                                               <option value="Flash">Flash</option>\r
-                                                               <option value="Media">Media</option>\r
-                                                               <option value="Invalid">Invalid Type (for testing)</option>\r
-                                                       </select>\r
-                                               </td>\r
-                                       </tr>\r
-                               </table>\r
-                               <br />\r
-                               <table cellspacing="0" cellpadding="0" border="0">\r
-                                       <tr>\r
-                                               <td valign="top">\r
-                                                       <a href="#" onclick="GetFolders();">Get Folders</a></td>\r
-                                               <td>\r
-                                                       &nbsp;&nbsp;&nbsp;</td>\r
-                                               <td valign="top">\r
-                                                       <a href="#" onclick="GetFoldersAndFiles();">Get Folders and Files</a></td>\r
-                                               <td>\r
-                                                       &nbsp;&nbsp;&nbsp;</td>\r
-                                               <td valign="top">\r
-                                                       <a href="#" onclick="CreateFolder();">Create Folder</a></td>\r
-                                               <td>\r
-                                                       &nbsp;&nbsp;&nbsp;</td>\r
-                                               <td valign="top">\r
-                                                       <form id="frmUpload" action="" target="eRunningFrame" method="post" enctype="multipart/form-data">\r
-                                                               File Upload<br />\r
-                                                               <input id="txtFileUpload" type="file" name="NewFile" />\r
-                                                               <input type="submit" value="Upload" onclick="SetAction();" />\r
-                                                       </form>\r
-                                               </td>\r
-                                       </tr>\r
-                               </table>\r
-                               <br />\r
-                               URL: <span id="eUrl"></span>\r
-                       </td>\r
-               </tr>\r
-               <tr>\r
-                       <td height="100%" valign="top">\r
-                               <iframe id="eRunningFrame" src="javascript:void(0)" name="eRunningFrame" width="100%"\r
-                                       height="100%"></iframe>\r
-                       </td>\r
-               </tr>\r
-       </table>\r
-</body>\r
-</html>\r
diff --git a/httemplate/elements/fckeditor/editor/filemanager/connectors/uploadtest.html b/httemplate/elements/fckeditor/editor/filemanager/connectors/uploadtest.html
deleted file mode 100644 (file)
index 9d7b97b..0000000
+++ /dev/null
@@ -1,192 +0,0 @@
-<!--\r
- * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
- *\r
- * == BEGIN LICENSE ==\r
- *\r
- * Licensed under the terms of any of the following licenses at your\r
- * choice:\r
- *\r
- *  - GNU General Public License Version 2 or later (the "GPL")\r
- *    http://www.gnu.org/licenses/gpl.html\r
- *\r
- *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")\r
- *    http://www.gnu.org/licenses/lgpl.html\r
- *\r
- *  - Mozilla Public License Version 1.1 or later (the "MPL")\r
- *    http://www.mozilla.org/MPL/MPL-1.1.html\r
- *\r
- * == END LICENSE ==\r
- *\r
- * Test page for the "File Uploaders".\r
--->\r
-<html>\r
-       <head>\r
-               <title>FCKeditor - Uploaders Tests</title>\r
-               <meta http-equiv="Content-Type" content="text/html; charset=utf-8">\r
-               <script type="text/javascript">\r
-\r
-// Automatically detect the correct document.domain (#1919).\r
-(function()\r
-{\r
-       var d = document.domain ;\r
-\r
-       while ( true )\r
-       {\r
-               // Test if we can access a parent property.\r
-               try\r
-               {\r
-                       var test = window.opener.document.domain ;\r
-                       break ;\r
-               }\r
-               catch( e ) {}\r
-\r
-               // Remove a domain part: www.mytest.example.com => mytest.example.com => example.com ...\r
-               d = d.replace( /.*?(?:\.|$)/, '' ) ;\r
-\r
-               if ( d.length == 0 )\r
-                       break ;         // It was not able to detect the domain.\r
-\r
-               try\r
-               {\r
-                       document.domain = d ;\r
-               }\r
-               catch (e)\r
-               {\r
-                       break ;\r
-               }\r
-       }\r
-})() ;\r
-\r
-function SendFile()\r
-{\r
-       var sUploaderUrl = cmbUploaderUrl.value ;\r
-\r
-       if ( sUploaderUrl.length == 0 )\r
-               sUploaderUrl = txtCustomUrl.value ;\r
-\r
-       if ( sUploaderUrl.length == 0 )\r
-       {\r
-               alert( 'Please provide your custom URL or select a default one' ) ;\r
-               return ;\r
-       }\r
-\r
-       eURL.innerHTML = sUploaderUrl ;\r
-       txtUrl.value = '' ;\r
-\r
-       var date = new Date()\r
-\r
-       frmUpload.action = sUploaderUrl + '?time=' + date.getTime();\r
-       if (document.getElementById('cmbType').value) {\r
-               frmUpload.action = frmUpload.action + '&Type='+document.getElementById('cmbType').value;\r
-       }\r
-       if (document.getElementById('CurrentFolder').value) {\r
-               frmUpload.action = frmUpload.action + '&CurrentFolder='+document.getElementById('CurrentFolder').value;\r
-       }\r
-       frmUpload.submit() ;\r
-}\r
-\r
-function OnUploadCompleted( errorNumber, fileUrl, fileName, customMsg )\r
-{\r
-       switch ( errorNumber )\r
-       {\r
-               case 0 :        // No errors\r
-                       txtUrl.value = fileUrl ;\r
-                       alert( 'File uploaded with no errors' ) ;\r
-                       break ;\r
-               case 1 :        // Custom error\r
-                       alert( customMsg ) ;\r
-                       break ;\r
-               case 10 :       // Custom warning\r
-                       txtUrl.value = fileUrl ;\r
-                       alert( customMsg ) ;\r
-                       break ;\r
-               case 201 :\r
-                       txtUrl.value = fileUrl ;\r
-                       alert( 'A file with the same name is already available. The uploaded file has been renamed to "' + fileName + '"' ) ;\r
-                       break ;\r
-               case 202 :\r
-                       alert( 'Invalid file' ) ;\r
-                       break ;\r
-               case 203 :\r
-                       alert( "Security error. You probably don't have enough permissions to upload. Please check your server." ) ;\r
-                       break ;\r
-               default :\r
-                       alert( 'Error on file upload. Error number: ' + errorNumber ) ;\r
-                       break ;\r
-       }\r
-}\r
-\r
-               </script>\r
-       </head>\r
-       <body>\r
-               <table cellSpacing="0" cellPadding="0" width="100%" border="0" height="100%">\r
-                       <tr>\r
-                               <td>\r
-                                       <table cellSpacing="0" cellPadding="0" width="100%" border="0">\r
-                                               <tr>\r
-                                                       <td nowrap>\r
-                                                               Select the "File Uploader" to use: <br>\r
-                                                               <select id="cmbUploaderUrl">\r
-                                                                       <option selected value="asp/upload.asp">ASP</option>\r
-                                                                       <option value="aspx/upload.aspx">ASP.Net</option>\r
-                                                                       <option value="cfm/upload.cfm">ColdFusion</option>\r
-                                                                       <option value="lasso/upload.lasso">Lasso</option>\r
-                                                                       <option value="perl/upload.cgi">Perl</option>\r
-                                                                       <option value="php/upload.php">PHP</option>\r
-                                                                       <option value="py/upload.py">Python</option>\r
-                                                                       <option value="">(Custom)</option>\r
-                                                               </select>\r
-                                                       </td>\r
-                                               <td>\r
-                                                       Resource Type<br />\r
-                                                       <select id="cmbType" name="cmbType">\r
-                                                               <option value="">None</option>\r
-                                                               <option value="File">File</option>\r
-                                                               <option value="Image">Image</option>\r
-                                                               <option value="Flash">Flash</option>\r
-                                                               <option value="Media">Media</option>\r
-                                                               <option value="Invalid">Invalid Type (for testing)</option>\r
-                                                       </select>\r
-                                               </td>\r
-                                               <td>\r
-                                               Current Folder: <br>\r
-                                               <input type="text" name="CurrentFolder" id="CurrentFolder" value="/">\r
-                                               </td>\r
-                                                       <td nowrap>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</td>\r
-                                                       <td width="100%">\r
-                                                               Custom Uploader URL:<BR>\r
-                                                               <input id="txtCustomUrl" style="WIDTH: 100%; BACKGROUND-COLOR: #dcdcdc" disabled type="text">\r
-                                                       </td>\r
-                                               </tr>\r
-                                       </table>\r
-                                       <br>\r
-                                       <table cellSpacing="0" cellPadding="0" width="100%" border="0">\r
-                                               <tr>\r
-                                                       <td noWrap>\r
-                                                               <form id="frmUpload" target="UploadWindow" enctype="multipart/form-data" action="" method="post">\r
-                                                                       Upload a new file:<br>\r
-                                                                       <input type="file" name="NewFile"><br>\r
-\r
-                                                                       <input type="button" value="Send it to the Server" onclick="SendFile();">\r
-                                                               </form>\r
-                                                       </td>\r
-                                                       <td style="WIDTH: 16px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</td>\r
-                                                       <td vAlign="top" width="100%">\r
-                                                               Uploaded File URL:<br>\r
-                                                               <INPUT id="txtUrl" style="WIDTH: 100%" readonly type="text">\r
-                                                       </td>\r
-                                               </tr>\r
-                                       </table>\r
-                                       <br>\r
-                                       Post URL: <span id="eURL">&nbsp;</span>\r
-                               </td>\r
-                       </tr>\r
-                       <tr>\r
-                               <td height="100%">\r
-                                       <iframe name="UploadWindow" width="100%" height="100%" src="javascript:void(0)"></iframe>\r
-                               </td>\r
-                       </tr>\r
-               </table>\r
-       </body>\r
-</html>\r
diff --git a/httemplate/elements/fckeditor/editor/js/fckadobeair.js b/httemplate/elements/fckeditor/editor/js/fckadobeair.js
deleted file mode 100644 (file)
index aea8fdc..0000000
+++ /dev/null
@@ -1,176 +0,0 @@
-/*\r
- * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
- *\r
- * == BEGIN LICENSE ==\r
- *\r
- * Licensed under the terms of any of the following licenses at your\r
- * choice:\r
- *\r
- *  - GNU General Public License Version 2 or later (the "GPL")\r
- *    http://www.gnu.org/licenses/gpl.html\r
- *\r
- *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")\r
- *    http://www.gnu.org/licenses/lgpl.html\r
- *\r
- *  - Mozilla Public License Version 1.1 or later (the "MPL")\r
- *    http://www.mozilla.org/MPL/MPL-1.1.html\r
- *\r
- * == END LICENSE ==\r
- *\r
- * Compatibility code for Adobe AIR.\r
- */\r
-\r
-if ( FCKBrowserInfo.IsAIR )\r
-{\r
-       var FCKAdobeAIR = (function()\r
-       {\r
-               /*\r
-                * ### Private functions.\r
-                */\r
-\r
-               var getDocumentHead = function( doc )\r
-               {\r
-                       var head ;\r
-                       var heads = doc.getElementsByTagName( 'head' ) ;\r
-\r
-                       if( heads && heads[0] )\r
-                               head = heads[0] ;\r
-                       else\r
-                       {\r
-                               head = doc.createElement( 'head' ) ;\r
-                               doc.documentElement.insertBefore( head, doc.documentElement.firstChild ) ;\r
-                       }\r
-\r
-                       return head ;\r
-               } ;\r
-\r
-               /*\r
-                * ### Public interface.\r
-                */\r
-               return {\r
-                       FCKeditorAPI_Evaluate : function( parentWindow, script )\r
-                       {\r
-                               // TODO : This one doesn't work always. The parent window will\r
-                               // point to an anonymous function in this window. If this\r
-                               // window is destroyied the parent window will be pointing to\r
-                               // an invalid reference.\r
-\r
-                               // Evaluate the script in this window.\r
-                               eval( script ) ;\r
-\r
-                               // Point the FCKeditorAPI property of the parent window to the\r
-                               // local reference.\r
-                               parentWindow.FCKeditorAPI = window.FCKeditorAPI ;\r
-                       },\r
-\r
-                       EditingArea_Start : function( doc, html )\r
-                       {\r
-                               // Get the HTML for the <head>.\r
-                               var headInnerHtml = html.match( /<head>([\s\S]*)<\/head>/i )[1] ;\r
-\r
-                               if ( headInnerHtml && headInnerHtml.length > 0 )\r
-                               {\r
-                                       // Inject the <head> HTML inside a <div>.\r
-                                       // Do that before getDocumentHead because WebKit moves\r
-                                       // <link css> elements to the <head> at this point.\r
-                                       var div = doc.createElement( 'div' ) ;\r
-                                       div.innerHTML = headInnerHtml ;\r
-\r
-                                       // Move the <div> nodes to <head>.\r
-                                       FCKDomTools.MoveChildren( div, getDocumentHead( doc ) ) ;\r
-                               }\r
-\r
-                               doc.body.innerHTML = html.match( /<body>([\s\S]*)<\/body>/i )[1] ;\r
-\r
-                               //prevent clicking on hyperlinks and navigating away\r
-                               doc.addEventListener('click', function( ev )\r
-                                       {\r
-                                               ev.preventDefault() ;\r
-                                               ev.stopPropagation() ;\r
-                                       }, true ) ;\r
-                       },\r
-\r
-                       Panel_Contructor : function( doc, baseLocation )\r
-                       {\r
-                               var head = getDocumentHead( doc ) ;\r
-\r
-                               // Set the <base> href.\r
-                               head.appendChild( doc.createElement('base') ).href = baseLocation ;\r
-\r
-                               doc.body.style.margin   = '0px' ;\r
-                               doc.body.style.padding  = '0px' ;\r
-                       },\r
-\r
-                       ToolbarSet_GetOutElement : function( win, outMatch )\r
-                       {\r
-                               var toolbarTarget = win.parent ;\r
-\r
-                               var targetWindowParts = outMatch[1].split( '.' ) ;\r
-                               while ( targetWindowParts.length > 0 )\r
-                               {\r
-                                       var part = targetWindowParts.shift() ;\r
-                                       if ( part.length > 0 )\r
-                                               toolbarTarget = toolbarTarget[ part ] ;\r
-                               }\r
-\r
-                               toolbarTarget = toolbarTarget.document.getElementById( outMatch[2] ) ;\r
-                       },\r
-\r
-                       ToolbarSet_InitOutFrame : function( doc )\r
-                       {\r
-                               var head = getDocumentHead( doc ) ;\r
-\r
-                               head.appendChild( doc.createElement('base') ).href = window.document.location ;\r
-\r
-                               var targetWindow = doc.defaultView;\r
-\r
-                               targetWindow.adjust = function()\r
-                               {\r
-                                       targetWindow.frameElement.height = doc.body.scrollHeight;\r
-                               } ;\r
-\r
-                               targetWindow.onresize = targetWindow.adjust ;\r
-                               targetWindow.setTimeout( targetWindow.adjust, 0 ) ;\r
-\r
-                               doc.body.style.overflow = 'hidden';\r
-                               doc.body.innerHTML = document.getElementById( 'xToolbarSpace' ).innerHTML ;\r
-                       }\r
-               } ;\r
-       })();\r
-\r
-       /*\r
-        * ### Overrides\r
-        */\r
-       ( function()\r
-       {\r
-               // Save references for override reuse.\r
-               var _Original_FCKPanel_Window_OnFocus   = FCKPanel_Window_OnFocus ;\r
-               var _Original_FCKPanel_Window_OnBlur    = FCKPanel_Window_OnBlur ;\r
-               var _Original_FCK_StartEditor                   = FCK.StartEditor ;\r
-\r
-               FCKPanel_Window_OnFocus = function( e, panel )\r
-               {\r
-                       // Call the original implementation.\r
-                       _Original_FCKPanel_Window_OnFocus.call( this, e, panel ) ;\r
-\r
-                       if ( panel._focusTimer )\r
-                               clearTimeout( panel._focusTimer ) ;\r
-               }\r
-\r
-               FCKPanel_Window_OnBlur = function( e, panel )\r
-               {\r
-                       // Delay the execution of the original function.\r
-                       panel._focusTimer = FCKTools.SetTimeout( _Original_FCKPanel_Window_OnBlur, 100, this, [ e, panel ] ) ;\r
-               }\r
-\r
-               FCK.StartEditor = function()\r
-               {\r
-                       // Force pointing to the CSS files instead of using the inline CSS cached styles.\r
-                       window.FCK_InternalCSS                  = FCKConfig.BasePath + 'css/fck_internal.css' ;\r
-                       window.FCK_ShowTableBordersCSS  = FCKConfig.BasePath + 'css/fck_showtableborders_gecko.css' ;\r
-\r
-                       _Original_FCK_StartEditor.apply( this, arguments ) ;\r
-               }\r
-       })();\r
-}\r
index fa57c15..8d5d31a 100644 (file)
 /*\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
- *\r
+ * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
+ * \r
  * == BEGIN LICENSE ==\r
- *\r
+ * \r
  * Licensed under the terms of any of the following licenses at your\r
  * choice:\r
- *\r
+ * \r
  *  - GNU General Public License Version 2 or later (the "GPL")\r
  *    http://www.gnu.org/licenses/gpl.html\r
- *\r
+ * \r
  *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")\r
  *    http://www.gnu.org/licenses/lgpl.html\r
- *\r
+ * \r
  *  - Mozilla Public License Version 1.1 or later (the "MPL")\r
  *    http://www.mozilla.org/MPL/MPL-1.1.html\r
- *\r
+ * \r
  * == END LICENSE ==\r
- *\r
+ * \r
  * This file has been compressed for better performance. The original source\r
  * can be found at "editor/_source".\r
  */\r
 \r
-var FCK_STATUS_NOTLOADED=window.parent.FCK_STATUS_NOTLOADED=0;var FCK_STATUS_ACTIVE=window.parent.FCK_STATUS_ACTIVE=1;var FCK_STATUS_COMPLETE=window.parent.FCK_STATUS_COMPLETE=2;var FCK_TRISTATE_OFF=window.parent.FCK_TRISTATE_OFF=0;var FCK_TRISTATE_ON=window.parent.FCK_TRISTATE_ON=1;var FCK_TRISTATE_DISABLED=window.parent.FCK_TRISTATE_DISABLED=-1;var FCK_UNKNOWN=window.parent.FCK_UNKNOWN=-9;var FCK_TOOLBARITEM_ONLYICON=window.parent.FCK_TOOLBARITEM_ONLYICON=0;var FCK_TOOLBARITEM_ONLYTEXT=window.parent.FCK_TOOLBARITEM_ONLYTEXT=1;var FCK_TOOLBARITEM_ICONTEXT=window.parent.FCK_TOOLBARITEM_ICONTEXT=2;var FCK_EDITMODE_WYSIWYG=window.parent.FCK_EDITMODE_WYSIWYG=0;var FCK_EDITMODE_SOURCE=window.parent.FCK_EDITMODE_SOURCE=1;var FCK_IMAGES_PATH='images/';var FCK_SPACER_PATH='images/spacer.gif';var CTRL=1000;var SHIFT=2000;var ALT=4000;var FCK_STYLE_BLOCK=0;var FCK_STYLE_INLINE=1;var FCK_STYLE_OBJECT=2;\r
-String.prototype.Contains=function(A){return (this.indexOf(A)>-1);};String.prototype.Equals=function(){var A=arguments;if (A.length==1&&A[0].pop) A=A[0];for (var i=0;i<A.length;i++){if (this==A[i]) return true;};return false;};String.prototype.IEquals=function(){var A=this.toUpperCase();var B=arguments;if (B.length==1&&B[0].pop) B=B[0];for (var i=0;i<B.length;i++){if (A==B[i].toUpperCase()) return true;};return false;};String.prototype.ReplaceAll=function(A,B){var C=this;for (var i=0;i<A.length;i++){C=C.replace(A[i],B[i]);};return C;};String.prototype.StartsWith=function(A){return (this.substr(0,A.length)==A);};String.prototype.EndsWith=function(A,B){var C=this.length;var D=A.length;if (D>C) return false;if (B){var E=new RegExp(A+'$','i');return E.test(this);}else return (D==0||this.substr(C-D,D)==A);};String.prototype.Remove=function(A,B){var s='';if (A>0) s=this.substring(0,A);if (A+B<this.length) s+=this.substring(A+B,this.length);return s;};String.prototype.Trim=function(){return this.replace(/(^[ \t\n\r]*)|([ \t\n\r]*$)/g,'');};String.prototype.LTrim=function(){return this.replace(/^[ \t\n\r]*/g,'');};String.prototype.RTrim=function(){return this.replace(/[ \t\n\r]*$/g,'');};String.prototype.ReplaceNewLineChars=function(A){return this.replace(/\n/g,A);};String.prototype.Replace=function(A,B,C){if (typeof B=='function'){return this.replace(A,function(){return B.apply(C||this,arguments);});}else return this.replace(A,B);};Array.prototype.IndexOf=function(A){for (var i=0;i<this.length;i++){if (this[i]==A) return i;};return-1;};\r
-var s=navigator.userAgent.toLowerCase();var FCKBrowserInfo={IsIE:/*@cc_on!@*/false,IsIE7:/*@cc_on!@*/false&&(parseInt(s.match(/msie (\d+)/)[1],10)>=7),IsIE6:/*@cc_on!@*/false&&(parseInt(s.match(/msie (\d+)/)[1],10)>=6),IsSafari:s.Contains(' applewebkit/'),IsOpera:!!window.opera,IsAIR:s.Contains(' adobeair/'),IsMac:s.Contains('macintosh')};(function(A){A.IsGecko=(navigator.product=='Gecko')&&!A.IsSafari&&!A.IsOpera;A.IsGeckoLike=(A.IsGecko||A.IsSafari||A.IsOpera);if (A.IsGecko){var B=s.match(/rv:(\d+\.\d+)/);var C=B&&parseFloat(B[1]);if (C){A.IsGecko10=(C<1.8);A.IsGecko19=(C>1.8);}};if (A.IsSafari) A.IsSafari3=(parseFloat(s.match(/ applewebkit\/(\d+)/)[1])<526);})(FCKBrowserInfo);\r
+var FCK_STATUS_NOTLOADED=window.parent.FCK_STATUS_NOTLOADED=0;var FCK_STATUS_ACTIVE=window.parent.FCK_STATUS_ACTIVE=1;var FCK_STATUS_COMPLETE=window.parent.FCK_STATUS_COMPLETE=2;var FCK_TRISTATE_OFF=window.parent.FCK_TRISTATE_OFF=0;var FCK_TRISTATE_ON=window.parent.FCK_TRISTATE_ON=1;var FCK_TRISTATE_DISABLED=window.parent.FCK_TRISTATE_DISABLED=-1;var FCK_UNKNOWN=window.parent.FCK_UNKNOWN=-9;var FCK_TOOLBARITEM_ONLYICON=window.parent.FCK_TOOLBARITEM_ONLYICON=0;var FCK_TOOLBARITEM_ONLYTEXT=window.parent.FCK_TOOLBARITEM_ONLYTEXT=1;var FCK_TOOLBARITEM_ICONTEXT=window.parent.FCK_TOOLBARITEM_ICONTEXT=2;var FCK_EDITMODE_WYSIWYG=window.parent.FCK_EDITMODE_WYSIWYG=0;var FCK_EDITMODE_SOURCE=window.parent.FCK_EDITMODE_SOURCE=1;var FCK_IMAGES_PATH='images/';var FCK_SPACER_PATH='images/spacer.gif';var CTRL=1000;var SHIFT=2000;var ALT=4000;\r
+String.prototype.Contains=function(A){return (this.indexOf(A)>-1);};String.prototype.Equals=function(){var A=arguments;if (A.length==1&&A[0].pop) A=A[0];for (var i=0;i<A.length;i++){if (this==A[i]) return true;};return false;};String.prototype.IEquals=function(){var A=this.toUpperCase();var B=arguments;if (B.length==1&&B[0].pop) B=B[0];for (var i=0;i<B.length;i++){if (A==B[i].toUpperCase()) return true;};return false;};String.prototype.ReplaceAll=function(A,B){var C=this;for (var i=0;i<A.length;i++){C=C.replace(A[i],B[i]);};return C;};Array.prototype.AddItem=function(A){var i=this.length;this[i]=A;return i;};Array.prototype.IndexOf=function(A){for (var i=0;i<this.length;i++){if (this[i]==A) return i;};return-1;};String.prototype.StartsWith=function(A){return (this.substr(0,A.length)==A);};String.prototype.EndsWith=function(A,B){var C=this.length;var D=A.length;if (D>C) return false;if (B){var E=new RegExp(A+'$','i');return E.test(this);}else return (D==0||this.substr(C-D,D)==A);};String.prototype.Remove=function(A,B){var s='';if (A>0) s=this.substring(0,A);if (A+B<this.length) s+=this.substring(A+B,this.length);return s;};String.prototype.Trim=function(){return this.replace(/(^[ \t\n\r]*)|([ \t\n\r]*$)/g,'');};String.prototype.LTrim=function(){return this.replace(/^[ \t\n\r]*/g,'');};String.prototype.RTrim=function(){return this.replace(/[ \t\n\r]*$/g,'');};String.prototype.ReplaceNewLineChars=function(A){return this.replace(/\n/g,A);}\r
+var s=navigator.userAgent.toLowerCase();var FCKBrowserInfo={IsIE:s.Contains('msie'),IsIE7:s.Contains('msie 7'),IsGecko:s.Contains('gecko/'),IsSafari:s.Contains('safari'),IsOpera:s.Contains('opera'),IsMac:s.Contains('macintosh')};(function(A){A.IsGeckoLike=(A.IsGecko||A.IsSafari||A.IsOpera);if (A.IsGecko){var B=s.match(/gecko\/(\d+)/)[1];A.IsGecko10=((B<20051111)||(/rv:1\.7/.test(s)));}else A.IsGecko10=false;})(FCKBrowserInfo);\r
 var FCKURLParams={};(function(){var A=document.location.search.substr(1).split('&');for (var i=0;i<A.length;i++){var B=A[i].split('=');var C=decodeURIComponent(B[0]);var D=decodeURIComponent(B[1]);FCKURLParams[C]=D;}})();\r
-var FCKEvents=function(A){this.Owner=A;this._RegisteredEvents={};};FCKEvents.prototype.AttachEvent=function(A,B){var C;if (!(C=this._RegisteredEvents[A])) this._RegisteredEvents[A]=[B];else{if (C.IndexOf(B)==-1) C.push(B);}};FCKEvents.prototype.FireEvent=function(A,B){var C=true;var D=this._RegisteredEvents[A];if (D){for (var i=0;i<D.length;i++){try{C=(D[i](this.Owner,B)&&C);}catch(e){if (e.number!=-2146823277) throw e;}}};return C;};\r
-var FCKDataProcessor=function(){};FCKDataProcessor.prototype={ConvertToHtml:function(A){if (FCKConfig.FullPage){FCK.DocTypeDeclaration=A.match(FCKRegexLib.DocTypeTag);if (!FCKRegexLib.HasBodyTag.test(A)) A='<body>'+A+'</body>';if (!FCKRegexLib.HtmlOpener.test(A)) A='<html dir="'+FCKConfig.ContentLangDirection+'">'+A+'</html>';if (!FCKRegexLib.HeadOpener.test(A)) A=A.replace(FCKRegexLib.HtmlOpener,'$&<head><title></title></head>');return A;}else{var B=FCKConfig.DocType+'<html dir="'+FCKConfig.ContentLangDirection+'"';if (FCKBrowserInfo.IsIE&&FCKConfig.DocType.length>0&&!FCKRegexLib.Html4DocType.test(FCKConfig.DocType)) B+=' style="overflow-y: scroll"';B+='><head><title></title></head><body'+FCKConfig.GetBodyAttributes()+'>'+A+'</body></html>';return B;}},ConvertToDataFormat:function(A,B,C,D){var E=FCKXHtml.GetXHTML(A,!B,D);if (C&&FCKRegexLib.EmptyOutParagraph.test(E)) return '';return E;},FixHtml:function(A){return A;}};\r
-var FCK={Name:FCKURLParams['InstanceName'],Status:0,EditMode:0,Toolbar:null,HasFocus:false,DataProcessor:new FCKDataProcessor(),GetInstanceObject:(function(){var w=window;return function(name){return w[name];}})(),AttachToOnSelectionChange:function(A){this.Events.AttachEvent('OnSelectionChange',A);},GetLinkedFieldValue:function(){return this.LinkedField.value;},GetParentForm:function(){return this.LinkedField.form;},StartupValue:'',IsDirty:function(){if (this.EditMode==1) return (this.StartupValue!=this.EditingArea.Textarea.value);else{if (!this.EditorDocument) return false;return (this.StartupValue!=this.EditorDocument.body.innerHTML);}},ResetIsDirty:function(){if (this.EditMode==1) this.StartupValue=this.EditingArea.Textarea.value;else if (this.EditorDocument.body) this.StartupValue=this.EditorDocument.body.innerHTML;},StartEditor:function(){this.TempBaseTag=FCKConfig.BaseHref.length>0?'<base href="'+FCKConfig.BaseHref+'" _fcktemp="true"></base>':'';var A=FCK.KeystrokeHandler=new FCKKeystrokeHandler();A.OnKeystroke=_FCK_KeystrokeHandler_OnKeystroke;A.SetKeystrokes(FCKConfig.Keystrokes);if (FCKBrowserInfo.IsIE7){if ((CTRL+86) in A.Keystrokes) A.SetKeystrokes([CTRL+86,true]);if ((SHIFT+45) in A.Keystrokes) A.SetKeystrokes([SHIFT+45,true]);};A.SetKeystrokes([CTRL+8,true]);this.EditingArea=new FCKEditingArea(document.getElementById('xEditingArea'));this.EditingArea.FFSpellChecker=FCKConfig.FirefoxSpellChecker;this.SetData(this.GetLinkedFieldValue(),true);FCKTools.AddEventListener(document,"keydown",this._TabKeyHandler);this.AttachToOnSelectionChange(_FCK_PaddingNodeListener);if (FCKBrowserInfo.IsGecko) this.AttachToOnSelectionChange(this._ExecCheckEmptyBlock);},Focus:function(){FCK.EditingArea.Focus();},SetStatus:function(A){this.Status=A;if (A==1){FCKFocusManager.AddWindow(window,true);if (FCKBrowserInfo.IsIE) FCKFocusManager.AddWindow(window.frameElement,true);if (FCKConfig.StartupFocus) FCK.Focus();};this.Events.FireEvent('OnStatusChange',A);},FixBody:function(){var A=FCKConfig.EnterMode;if (A!='p'&&A!='div') return;var B=this.EditorDocument;if (!B) return;var C=B.body;if (!C) return;FCKDomTools.TrimNode(C);var D=C.firstChild;var E;while (D){var F=false;switch (D.nodeType){case 1:var G=D.nodeName.toLowerCase();if (!FCKListsLib.BlockElements[G]&&G!='li'&&!D.getAttribute('_fckfakelement')&&D.getAttribute('_moz_dirty')==null) F=true;break;case 3:if (E||D.nodeValue.Trim().length>0) F=true;break;case 8:if (E) F=true;break;};if (F){var H=D.parentNode;if (!E) E=H.insertBefore(B.createElement(A),D);E.appendChild(H.removeChild(D));D=E.nextSibling;}else{if (E){FCKDomTools.TrimNode(E);E=null;};D=D.nextSibling;}};if (E) FCKDomTools.TrimNode(E);},GetData:function(A){FCK.Events.FireEvent("OnBeforeGetData");if (FCK.EditMode==1) return FCK.EditingArea.Textarea.value;this.FixBody();var B=FCK.EditorDocument;if (!B) return null;var C=FCKConfig.FullPage;var D=FCK.DataProcessor.ConvertToDataFormat(C?B.documentElement:B.body,!C,FCKConfig.IgnoreEmptyParagraphValue,A);D=FCK.ProtectEventsRestore(D);if (FCKBrowserInfo.IsIE) D=D.replace(FCKRegexLib.ToReplace,'$1');if (C){if (FCK.DocTypeDeclaration&&FCK.DocTypeDeclaration.length>0) D=FCK.DocTypeDeclaration+'\n'+D;if (FCK.XmlDeclaration&&FCK.XmlDeclaration.length>0) D=FCK.XmlDeclaration+'\n'+D;};D=FCKConfig.ProtectedSource.Revert(D);setTimeout(function() { FCK.Events.FireEvent("OnAfterGetData");},0);return D;},UpdateLinkedField:function(){var A=FCK.GetXHTML(FCKConfig.FormatOutput);if (FCKConfig.HtmlEncodeOutput) A=FCKTools.HTMLEncode(A);FCK.LinkedField.value=A;FCK.Events.FireEvent('OnAfterLinkedFieldUpdate');},RegisteredDoubleClickHandlers:{},OnDoubleClick:function(A){var B=FCK.RegisteredDoubleClickHandlers[A.tagName.toUpperCase()];if (B){for (var i=0;i<B.length;i++) B[i](A);};B=FCK.RegisteredDoubleClickHandlers['*'];if (B){for (var i=0;i<B.length;i++) B[i](A);}},RegisterDoubleClickHandler:function(A,B){var C=B||'*';C=C.toUpperCase();var D;if (!(D=FCK.RegisteredDoubleClickHandlers[C])) FCK.RegisteredDoubleClickHandlers[C]=[A];else{if (D.IndexOf(A)==-1) D.push(A);}},OnAfterSetHTML:function(){FCKDocumentProcessor.Process(FCK.EditorDocument);FCKUndo.SaveUndoStep();FCK.Events.FireEvent('OnSelectionChange');FCK.Events.FireEvent('OnAfterSetHTML');},ProtectUrls:function(A){A=A.replace(FCKRegexLib.ProtectUrlsA,'$& _fcksavedurl=$1');A=A.replace(FCKRegexLib.ProtectUrlsImg,'$& _fcksavedurl=$1');A=A.replace(FCKRegexLib.ProtectUrlsArea,'$& _fcksavedurl=$1');return A;},ProtectEvents:function(A){return A.replace(FCKRegexLib.TagsWithEvent,_FCK_ProtectEvents_ReplaceTags);},ProtectEventsRestore:function(A){return A.replace(FCKRegexLib.ProtectedEvents,_FCK_ProtectEvents_RestoreEvents);},ProtectTags:function(A){var B=FCKConfig.ProtectedTags;if (FCKBrowserInfo.IsIE) B+=B.length>0?'|ABBR|XML|EMBED|OBJECT':'ABBR|XML|EMBED|OBJECT';var C;if (B.length>0){C=new RegExp('<('+B+')(?!\w|:)','gi');A=A.replace(C,'<FCK:$1');C=new RegExp('<\/('+B+')>','gi');A=A.replace(C,'<\/FCK:$1>');};B='META';if (FCKBrowserInfo.IsIE) B+='|HR';C=new RegExp('<(('+B+')(?=\\s|>|/)[\\s\\S]*?)/?>','gi');A=A.replace(C,'<FCK:$1 />');return A;},SetData:function(A,B){this.EditingArea.Mode=FCK.EditMode;if (FCKBrowserInfo.IsIE&&FCK.EditorDocument){FCK.EditorDocument.detachEvent("onselectionchange",Doc_OnSelectionChange);};FCKTempBin.Reset();FCK.Selection.Release();if (FCK.EditMode==0){this._ForceResetIsDirty=(B===true);A=FCKConfig.ProtectedSource.Protect(A);A=FCK.DataProcessor.ConvertToHtml(A);A=A.replace(FCKRegexLib.InvalidSelfCloseTags,'$1></$2>');A=FCK.ProtectEvents(A);A=FCK.ProtectUrls(A);A=FCK.ProtectTags(A);if (FCK.TempBaseTag.length>0&&!FCKRegexLib.HasBaseTag.test(A)) A=A.replace(FCKRegexLib.HeadOpener,'$&'+FCK.TempBaseTag);var C='';if (!FCKConfig.FullPage) C+=_FCK_GetEditorAreaStyleTags();if (FCKBrowserInfo.IsIE) C+=FCK._GetBehaviorsStyle();else if (FCKConfig.ShowBorders) C+=FCKTools.GetStyleHtml(FCK_ShowTableBordersCSS,true);C+=FCKTools.GetStyleHtml(FCK_InternalCSS,true);A=A.replace(FCKRegexLib.HeadCloser,C+'$&');this.EditingArea.OnLoad=_FCK_EditingArea_OnLoad;this.EditingArea.Start(A);}else{FCK.EditorWindow=null;FCK.EditorDocument=null;FCKDomTools.PaddingNode=null;this.EditingArea.OnLoad=null;this.EditingArea.Start(A);this.EditingArea.Textarea._FCKShowContextMenu=true;FCK.EnterKeyHandler=null;if (B) this.ResetIsDirty();FCK.KeystrokeHandler.AttachToElement(this.EditingArea.Textarea);this.EditingArea.Textarea.focus();FCK.Events.FireEvent('OnAfterSetHTML');};if (window.onresize) window.onresize();},RedirectNamedCommands:{},ExecuteNamedCommand:function(A,B,C,D){if (!D) FCKUndo.SaveUndoStep();if (!C&&FCK.RedirectNamedCommands[A]!=null) FCK.ExecuteRedirectedNamedCommand(A,B);else{FCK.Focus();FCK.EditorDocument.execCommand(A,false,B);FCK.Events.FireEvent('OnSelectionChange');};if (!D) FCKUndo.SaveUndoStep();},GetNamedCommandState:function(A){try{if (FCKBrowserInfo.IsSafari&&FCK.EditorWindow&&A.IEquals('Paste')) return 0;if (!FCK.EditorDocument.queryCommandEnabled(A)) return -1;else{return FCK.EditorDocument.queryCommandState(A)?1:0;}}catch (e){return 0;}},GetNamedCommandValue:function(A){var B='';var C=FCK.GetNamedCommandState(A);if (C==-1) return null;try{B=this.EditorDocument.queryCommandValue(A);}catch(e) {};return B?B:'';},Paste:function(A){if (FCK.Status!=2||!FCK.Events.FireEvent('OnPaste')) return false;return A||FCK._ExecPaste();},PasteFromWord:function(){FCKDialog.OpenDialog('FCKDialog_Paste',FCKLang.PasteFromWord,'dialog/fck_paste.html',400,330,'Word');},Preview:function(){var A;if (FCKConfig.FullPage){if (FCK.TempBaseTag.length>0) A=FCK.TempBaseTag+FCK.GetXHTML();else A=FCK.GetXHTML();}else{A=FCKConfig.DocType+'<html dir="'+FCKConfig.ContentLangDirection+'"><head>'+FCK.TempBaseTag+'<title>'+FCKLang.Preview+'</title>'+_FCK_GetEditorAreaStyleTags()+'</head><body'+FCKConfig.GetBodyAttributes()+'>'+FCK.GetXHTML()+'</body></html>';};var B=FCKConfig.ScreenWidth*0.8;var C=FCKConfig.ScreenHeight*0.7;var D=(FCKConfig.ScreenWidth-B)/2;var E='';if (FCK_IS_CUSTOM_DOMAIN&&FCKBrowserInfo.IsIE){window._FCKHtmlToLoad=A;E='javascript:void( (function(){document.open() ;document.domain="'+document.domain+'" ;document.write( window.opener._FCKHtmlToLoad );document.close() ;window.opener._FCKHtmlToLoad = null ;})() )';};var F=window.open(E,null,'toolbar=yes,location=no,status=yes,menubar=yes,scrollbars=yes,resizable=yes,width='+B+',height='+C+',left='+D);if (!FCK_IS_CUSTOM_DOMAIN||!FCKBrowserInfo.IsIE){F.document.write(A);F.document.close();}},SwitchEditMode:function(A){var B=(FCK.EditMode==0);var C=FCK.IsDirty();var D;if (B){FCKCommands.GetCommand('ShowBlocks').SaveState();if (!A&&FCKBrowserInfo.IsIE) FCKUndo.SaveUndoStep();D=FCK.GetXHTML(FCKConfig.FormatSource);if (FCKBrowserInfo.IsIE) FCKTempBin.ToHtml();if (D==null) return false;}else D=this.EditingArea.Textarea.value;FCK.EditMode=B?1:0;FCK.SetData(D,!C);FCK.Focus();FCKTools.RunFunction(FCK.ToolbarSet.RefreshModeState,FCK.ToolbarSet);return true;},InsertElement:function(A){if (typeof A=='string') A=this.EditorDocument.createElement(A);var B=A.nodeName.toLowerCase();FCKSelection.Restore();var C=new FCKDomRange(this.EditorWindow);C.MoveToSelection();C.DeleteContents();if (FCKListsLib.BlockElements[B]!=null){if (C.StartBlock){if (C.CheckStartOfBlock()) C.MoveToPosition(C.StartBlock,3);else if (C.CheckEndOfBlock()) C.MoveToPosition(C.StartBlock,4);else C.SplitBlock();};C.InsertNode(A);var D=FCKDomTools.GetNextSourceElement(A,false,null,['hr','br','param','img','area','input'],true);if (!D&&FCKConfig.EnterMode!='br'){D=this.EditorDocument.body.appendChild(this.EditorDocument.createElement(FCKConfig.EnterMode));if (FCKBrowserInfo.IsGeckoLike) FCKTools.AppendBogusBr(D);};if (FCKListsLib.EmptyElements[B]==null) C.MoveToElementEditStart(A);else if (D) C.MoveToElementEditStart(D);else C.MoveToPosition(A,4);if (FCKBrowserInfo.IsGeckoLike){if (D) FCKDomTools.ScrollIntoView(D,false);FCKDomTools.ScrollIntoView(A,false);}}else{C.InsertNode(A);C.SetStart(A,4);C.SetEnd(A,4);};C.Select();C.Release();this.Focus();return A;},_InsertBlockElement:function(A){},_IsFunctionKey:function(A){if (A>=16&&A<=20) return true;if (A==27||(A>=33&&A<=40)) return true;if (A==45) return true;return false;},_KeyDownListener:function(A){if (!A) A=FCK.EditorWindow.event;if (FCK.EditorWindow){if (!FCK._IsFunctionKey(A.keyCode)&&!(A.ctrlKey||A.metaKey)&&!(A.keyCode==46)) FCK._KeyDownUndo();};return true;},_KeyDownUndo:function(){if (!FCKUndo.Typing){FCKUndo.SaveUndoStep();FCKUndo.Typing=true;FCK.Events.FireEvent("OnSelectionChange");};FCKUndo.TypesCount++;FCKUndo.Changed=1;if (FCKUndo.TypesCount>FCKUndo.MaxTypes){FCKUndo.TypesCount=0;FCKUndo.SaveUndoStep();}},_TabKeyHandler:function(A){if (!A) A=window.event;var B=A.keyCode;if (B==9&&FCK.EditMode!=0){if (FCKBrowserInfo.IsIE){var C=document.selection.createRange();if (C.parentElement()!=FCK.EditingArea.Textarea) return true;C.text='\t';C.select();}else{var a=[];var D=FCK.EditingArea.Textarea;var E=D.selectionStart;var F=D.selectionEnd;a.push(D.value.substr(0,E));a.push('\t');a.push(D.value.substr(F));D.value=a.join('');D.setSelectionRange(E+1,E+1);};if (A.preventDefault) return A.preventDefault();return A.returnValue=false;};return true;}};FCK.Events=new FCKEvents(FCK);FCK.GetHTML=FCK.GetXHTML=FCK.GetData;FCK.SetHTML=FCK.SetData;FCK.InsertElementAndGetIt=FCK.CreateElement=FCK.InsertElement;function _FCK_ProtectEvents_ReplaceTags(A){return A.replace(FCKRegexLib.EventAttributes,_FCK_ProtectEvents_ReplaceEvents);};function _FCK_ProtectEvents_ReplaceEvents(A,B){return ' '+B+'_fckprotectedatt="'+encodeURIComponent(A)+'"';};function _FCK_ProtectEvents_RestoreEvents(A,B){return decodeURIComponent(B);};function _FCK_MouseEventsListener(A){if (!A) A=window.event;if (A.type=='mousedown') FCK.MouseDownFlag=true;else if (A.type=='mouseup') FCK.MouseDownFlag=false;else if (A.type=='mousemove') FCK.Events.FireEvent('OnMouseMove',A);};function _FCK_PaddingNodeListener(){if (FCKConfig.EnterMode.IEquals('br')) return;FCKDomTools.EnforcePaddingNode(FCK.EditorDocument,FCKConfig.EnterMode);if (!FCKBrowserInfo.IsIE&&FCKDomTools.PaddingNode){var A=FCKSelection.GetSelection();if (A&&A.rangeCount==1){var B=A.getRangeAt(0);if (B.collapsed&&B.startContainer==FCK.EditorDocument.body&&B.startOffset==0){B.selectNodeContents(FCKDomTools.PaddingNode);B.collapse(true);A.removeAllRanges();A.addRange(B);}}}else if (FCKDomTools.PaddingNode){var C=FCKSelection.GetParentElement();var D=FCKDomTools.PaddingNode;if (C&&C.nodeName.IEquals('body')){if (FCK.EditorDocument.body.childNodes.length==1&&FCK.EditorDocument.body.firstChild==D){if (FCKSelection._GetSelectionDocument(FCK.EditorDocument.selection)!=FCK.EditorDocument) return;var B=FCK.EditorDocument.body.createTextRange();var F=false;if (!D.childNodes.firstChild){D.appendChild(FCKTools.GetElementDocument(D).createTextNode('\ufeff'));F=true;};B.moveToElementText(D);B.select();if (F) B.pasteHTML('');}}}};function _FCK_EditingArea_OnLoad(){FCK.EditorWindow=FCK.EditingArea.Window;FCK.EditorDocument=FCK.EditingArea.Document;if (FCKBrowserInfo.IsIE) FCKTempBin.ToElements();FCK.InitializeBehaviors();FCK.MouseDownFlag=false;FCKTools.AddEventListener(FCK.EditorDocument,'mousemove',_FCK_MouseEventsListener);FCKTools.AddEventListener(FCK.EditorDocument,'mousedown',_FCK_MouseEventsListener);FCKTools.AddEventListener(FCK.EditorDocument,'mouseup',_FCK_MouseEventsListener);if (FCKBrowserInfo.IsSafari){FCKTools.AddEventListener(FCK.EditorDocument,'paste',function(evt){var A=new FCKDomRange(FCK.EditorWindow);var B=FCK.EditorDocument.createTextNode('\ufeff');var C=FCK.EditorDocument.createElement('a');C.id='fck_paste_padding';C.innerHTML='&#65279;';A.MoveToSelection();A.DeleteContents();A.InsertNode(B);A.Collapse();A.InsertNode(C);A.MoveToPosition(C,3);A.Select();setTimeout(function(){B.parentNode.removeChild(B);C=FCK.EditorDocument.getElementById('fck_paste_padding');C.parentNode.removeChild(C);},0);});};if (FCKBrowserInfo.IsSafari){var D=function(evt){if (!(evt.ctrlKey||evt.metaKey)) return;if (FCK.EditMode!=0) return;switch (evt.keyCode){case 89:FCKUndo.Redo();break;case 90:FCKUndo.Undo();break;}};FCKTools.AddEventListener(FCK.EditorDocument,'keyup',D);};FCK.EnterKeyHandler=new FCKEnterKey(FCK.EditorWindow,FCKConfig.EnterMode,FCKConfig.ShiftEnterMode,FCKConfig.TabSpaces);FCK.KeystrokeHandler.AttachToElement(FCK.EditorDocument);if (FCK._ForceResetIsDirty) FCK.ResetIsDirty();if (FCKBrowserInfo.IsIE&&FCK.HasFocus) FCK.EditorDocument.body.setActive();FCK.OnAfterSetHTML();FCKCommands.GetCommand('ShowBlocks').RestoreState();if (FCK.Status!=0) return;FCK.SetStatus(1);};function _FCK_GetEditorAreaStyleTags(){return FCKTools.GetStyleHtml(FCKConfig.EditorAreaCSS)+FCKTools.GetStyleHtml(FCKConfig.EditorAreaStyles);};function _FCK_KeystrokeHandler_OnKeystroke(A,B){if (FCK.Status!=2) return false;if (FCK.EditMode==0){switch (B){case 'Paste':return!FCK.Paste();case 'Cut':FCKUndo.SaveUndoStep();return false;}}else{if (B.Equals('Paste','Undo','Redo','SelectAll','Cut')) return false;};var C=FCK.Commands.GetCommand(B);if (C.GetState()==-1) return false;return (C.Execute.apply(C,FCKTools.ArgumentsToArray(arguments,2))!==false);};(function(){var A=window.parent.document;var B=A.getElementById(FCK.Name);var i=0;while (B||i==0){if (B&&B.tagName.toLowerCase().Equals('input','textarea')){FCK.LinkedField=B;break;};B=A.getElementsByName(FCK.Name)[i++];}})();var FCKTempBin={Elements:[],AddElement:function(A){var B=this.Elements.length;this.Elements[B]=A;return B;},RemoveElement:function(A){var e=this.Elements[A];this.Elements[A]=null;return e;},Reset:function(){var i=0;while (i<this.Elements.length) this.Elements[i++]=null;this.Elements.length=0;},ToHtml:function(){for (var i=0;i<this.Elements.length;i++){this.Elements[i]='<div>&nbsp;'+this.Elements[i].outerHTML+'</div>';this.Elements[i].isHtml=true;}},ToElements:function(){var A=FCK.EditorDocument.createElement('div');for (var i=0;i<this.Elements.length;i++){if (this.Elements[i].isHtml){A.innerHTML=this.Elements[i];this.Elements[i]=A.firstChild.removeChild(A.firstChild.lastChild);}}}};var FCKFocusManager=FCK.FocusManager={IsLocked:false,AddWindow:function(A,B){var C;if (FCKBrowserInfo.IsIE) C=A.nodeType==1?A:A.frameElement?A.frameElement:A.document;else if (FCKBrowserInfo.IsSafari) C=A;else C=A.document;FCKTools.AddEventListener(C,'blur',FCKFocusManager_Win_OnBlur);FCKTools.AddEventListener(C,'focus',B?FCKFocusManager_Win_OnFocus_Area:FCKFocusManager_Win_OnFocus);},RemoveWindow:function(A){if (FCKBrowserInfo.IsIE) oTarget=A.nodeType==1?A:A.frameElement?A.frameElement:A.document;else oTarget=A.document;FCKTools.RemoveEventListener(oTarget,'blur',FCKFocusManager_Win_OnBlur);FCKTools.RemoveEventListener(oTarget,'focus',FCKFocusManager_Win_OnFocus_Area);FCKTools.RemoveEventListener(oTarget,'focus',FCKFocusManager_Win_OnFocus);},Lock:function(){this.IsLocked=true;},Unlock:function(){if (this._HasPendingBlur) FCKFocusManager._Timer=window.setTimeout(FCKFocusManager_FireOnBlur,100);this.IsLocked=false;},_ResetTimer:function(){this._HasPendingBlur=false;if (this._Timer){window.clearTimeout(this._Timer);delete this._Timer;}}};function FCKFocusManager_Win_OnBlur(){if (typeof(FCK)!='undefined'&&FCK.HasFocus){FCKFocusManager._ResetTimer();FCKFocusManager._Timer=window.setTimeout(FCKFocusManager_FireOnBlur,100);}};function FCKFocusManager_FireOnBlur(){if (FCKFocusManager.IsLocked) FCKFocusManager._HasPendingBlur=true;else{FCK.HasFocus=false;FCK.Events.FireEvent("OnBlur");}};function FCKFocusManager_Win_OnFocus_Area(){if (FCKFocusManager._IsFocusing) return;FCKFocusManager._IsFocusing=true;FCK.Focus();FCKFocusManager_Win_OnFocus();FCKTools.RunFunction(function(){delete FCKFocusManager._IsFocusing;});};function FCKFocusManager_Win_OnFocus(){FCKFocusManager._ResetTimer();if (!FCK.HasFocus&&!FCKFocusManager.IsLocked){FCK.HasFocus=true;FCK.Events.FireEvent("OnFocus");}};(function(){var A=window.frameElement;var B=A.width;var C=A.height;if (/^\d+$/.test(B)) B+='px';if (/^\d+$/.test(C)) C+='px';var D=A.style;D.border=D.padding=D.margin=0;D.backgroundColor='transparent';D.backgroundImage='none';D.width=B;D.height=C;})();\r
-FCK.Description="FCKeditor for Gecko Browsers";FCK.InitializeBehaviors=function(){if (window.onresize) window.onresize();FCKFocusManager.AddWindow(this.EditorWindow);this.ExecOnSelectionChange=function(){FCK.Events.FireEvent("OnSelectionChange");};this._ExecDrop=function(evt){if (FCK.MouseDownFlag){FCK.MouseDownFlag=false;return;};if (FCKConfig.ForcePasteAsPlainText){if (evt.dataTransfer){var A=evt.dataTransfer.getData('Text');A=FCKTools.HTMLEncode(A);A=FCKTools.ProcessLineBreaks(window,FCKConfig,A);FCK.InsertHtml(A);}else if (FCKConfig.ShowDropDialog) FCK.PasteAsPlainText();evt.preventDefault();evt.stopPropagation();}};this._ExecCheckCaret=function(evt){if (FCK.EditMode!=0) return;if (evt.type=='keypress'){var B=evt.keyCode;if (B<33||B>40) return;};var C=function(H){if (H.nodeType!=1) return false;var D=H.tagName.toLowerCase();return (FCKListsLib.BlockElements[D]||FCKListsLib.EmptyElements[D]);};var E=function(){var F=FCKSelection.GetSelection();var G=F.getRangeAt(0);if (!G||!G.collapsed) return;var H=G.endContainer;if (H.nodeType!=3) return;if (H.nodeValue.length!=G.endOffset) return;var I=H.parentNode.tagName.toLowerCase();if (!(I=='a'||(!FCKBrowserInfo.IsOpera&&String(H.parentNode.contentEditable)=='false')||(!(FCKListsLib.BlockElements[I]||FCKListsLib.NonEmptyBlockElements[I])&&B==35))) return;var J=FCKTools.GetNextTextNode(H,H.parentNode,C);if (J) return;G=FCK.EditorDocument.createRange();J=FCKTools.GetNextTextNode(H,H.parentNode.parentNode,C);if (J){if (FCKBrowserInfo.IsOpera&&B==37) return;G.setStart(J,0);G.setEnd(J,0);}else{while (H.parentNode&&H.parentNode!=FCK.EditorDocument.body&&H.parentNode!=FCK.EditorDocument.documentElement&&H==H.parentNode.lastChild&&(!FCKListsLib.BlockElements[H.parentNode.tagName.toLowerCase()]&&!FCKListsLib.NonEmptyBlockElements[H.parentNode.tagName.toLowerCase()])) H=H.parentNode;if (FCKListsLib.BlockElements[I]||FCKListsLib.EmptyElements[I]||H==FCK.EditorDocument.body){G.setStart(H,H.childNodes.length);G.setEnd(H,H.childNodes.length);}else{var K=H.nextSibling;while (K){if (K.nodeType!=1){K=K.nextSibling;continue;};var L=K.tagName.toLowerCase();if (FCKListsLib.BlockElements[L]||FCKListsLib.EmptyElements[L]||FCKListsLib.NonEmptyBlockElements[L]) break;K=K.nextSibling;};var M=FCK.EditorDocument.createTextNode('');if (K) H.parentNode.insertBefore(M,K);else H.parentNode.appendChild(M);G.setStart(M,0);G.setEnd(M,0);}};F.removeAllRanges();F.addRange(G);FCK.Events.FireEvent("OnSelectionChange");};setTimeout(E,1);};this.ExecOnSelectionChangeTimer=function(){if (FCK.LastOnChangeTimer) window.clearTimeout(FCK.LastOnChangeTimer);FCK.LastOnChangeTimer=window.setTimeout(FCK.ExecOnSelectionChange,100);};this.EditorDocument.addEventListener('mouseup',this.ExecOnSelectionChange,false);this.EditorDocument.addEventListener('keyup',this.ExecOnSelectionChangeTimer,false);this._DblClickListener=function(e){FCK.OnDoubleClick(e.target);e.stopPropagation();};this.EditorDocument.addEventListener('dblclick',this._DblClickListener,true);this.EditorDocument.addEventListener('keydown',this._KeyDownListener,false);if (FCKBrowserInfo.IsGecko){this.EditorWindow.addEventListener('dragdrop',this._ExecDrop,true);}else if (FCKBrowserInfo.IsSafari){this.EditorDocument.addEventListener('dragover',function (evt){ if (!FCK.MouseDownFlag&&FCK.Config.ForcePasteAsPlainText) evt.returnValue=false;},true);this.EditorDocument.addEventListener('drop',this._ExecDrop,true);this.EditorDocument.addEventListener('mousedown',function(ev){var N=ev.srcElement;if (N.nodeName.IEquals('IMG','HR','INPUT','TEXTAREA','SELECT')){FCKSelection.SelectNode(N);}},true);this.EditorDocument.addEventListener('mouseup',function(ev){if (ev.srcElement.nodeName.IEquals('INPUT','TEXTAREA','SELECT')) ev.preventDefault()},true);this.EditorDocument.addEventListener('click',function(ev){if (ev.srcElement.nodeName.IEquals('INPUT','TEXTAREA','SELECT')) ev.preventDefault()},true);};if (FCKBrowserInfo.IsGecko||FCKBrowserInfo.IsOpera){this.EditorDocument.addEventListener('keypress',this._ExecCheckCaret,false);this.EditorDocument.addEventListener('click',this._ExecCheckCaret,false);};FCK.ContextMenu._InnerContextMenu.SetMouseClickWindow(FCK.EditorWindow);FCK.ContextMenu._InnerContextMenu.AttachToElement(FCK.EditorDocument);};FCK.MakeEditable=function(){this.EditingArea.MakeEditable();};function Document_OnContextMenu(e){if (!e.target._FCKShowContextMenu) e.preventDefault();};document.oncontextmenu=Document_OnContextMenu;FCK._BaseGetNamedCommandState=FCK.GetNamedCommandState;FCK.GetNamedCommandState=function(A){switch (A){case 'Unlink':return FCKSelection.HasAncestorNode('A')?0:-1;default:return FCK._BaseGetNamedCommandState(A);}};FCK.RedirectNamedCommands={Print:true,Paste:true};FCK.ExecuteRedirectedNamedCommand=function(A,B){switch (A){case 'Print':FCK.EditorWindow.print();break;case 'Paste':try{if (FCKBrowserInfo.IsSafari) throw '';if (FCK.Paste()) FCK.ExecuteNamedCommand('Paste',null,true);}catch (e)  {if (FCKConfig.ForcePasteAsPlainText) FCK.PasteAsPlainText();else FCKDialog.OpenDialog('FCKDialog_Paste',FCKLang.Paste,'dialog/fck_paste.html',400,330,'Security');};break;default:FCK.ExecuteNamedCommand(A,B);}};FCK._ExecPaste=function(){FCKUndo.SaveUndoStep();if (FCKConfig.ForcePasteAsPlainText){FCK.PasteAsPlainText();return false;};return true;};FCK.InsertHtml=function(A){var B=FCK.EditorDocument,range;A=FCKConfig.ProtectedSource.Protect(A);A=FCK.ProtectEvents(A);A=FCK.ProtectUrls(A);A=FCK.ProtectTags(A);FCKUndo.SaveUndoStep();if (FCKBrowserInfo.IsGecko){A=A.replace(/&nbsp;$/,'$&<span _fcktemp="1"/>');var C=new FCKDocumentFragment(this.EditorDocument);C.AppendHtml(A);var D=C.RootNode.lastChild;range=new FCKDomRange(this.EditorWindow);range.MoveToSelection();var E=C.RootNode.firstChild;while (E&&E.nodeType!=1) E=E.nextSibling;if (E&&FCKListsLib.BlockElements[E.nodeName.toLowerCase()]) range.SplitBlock();range.DeleteContents();range.InsertNode(C.RootNode);range.MoveToPosition(D,4);}else B.execCommand('inserthtml',false,A);this.Focus();if (!range){range=new FCKDomRange(this.EditorWindow);range.MoveToSelection();};var F=range.CreateBookmark();FCKDocumentProcessor.Process(B);try{range.MoveToBookmark(F);range.Select();}catch (e) {};this.Events.FireEvent("OnSelectionChange");};FCK.PasteAsPlainText=function(){FCKTools.RunFunction(FCKDialog.OpenDialog,FCKDialog,['FCKDialog_Paste',FCKLang.PasteAsText,'dialog/fck_paste.html',400,330,'PlainText']);};FCK.GetClipboardHTML=function(){return '';};FCK.CreateLink=function(A,B){var C=[];if (FCKSelection.GetSelection().isCollapsed) return C;FCK.ExecuteNamedCommand('Unlink',null,false,!!B);if (A.length>0){var D='javascript:void(0);/*'+(new Date().getTime())+'*/';FCK.ExecuteNamedCommand('CreateLink',D,false,!!B);var E=this.EditorDocument.evaluate("//a[@href='"+D+"']",this.EditorDocument.body,null,XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE,null);for (var i=0;i<E.snapshotLength;i++){var F=E.snapshotItem(i);F.href=A;C.push(F);}};return C;};FCK._FillEmptyBlock=function(A){if (!A||A.nodeType!=1) return;var B=A.tagName.toLowerCase();if (B!='p'&&B!='div') return;if (A.firstChild) return;FCKTools.AppendBogusBr(A);};FCK._ExecCheckEmptyBlock=function(){FCK._FillEmptyBlock(FCK.EditorDocument.body.firstChild);var A=FCKSelection.GetSelection();if (!A||A.rangeCount<1) return;var B=A.getRangeAt(0);FCK._FillEmptyBlock(B.startContainer);};\r
-var FCKConfig=FCK.Config={};if (document.location.protocol=='file:'){FCKConfig.BasePath=decodeURIComponent(document.location.pathname.substr(1));FCKConfig.BasePath=FCKConfig.BasePath.replace(/\\/gi,'/');var sFullProtocol=document.location.href.match(/^(file\:\/{2,3})/)[1];if (FCKBrowserInfo.IsOpera) sFullProtocol+='localhost/';FCKConfig.BasePath=sFullProtocol+FCKConfig.BasePath.substring(0,FCKConfig.BasePath.lastIndexOf('/')+1);}else FCKConfig.BasePath=document.location.protocol+'//'+document.location.host+document.location.pathname.substring(0,document.location.pathname.lastIndexOf('/')+1);FCKConfig.FullBasePath=FCKConfig.BasePath;FCKConfig.EditorPath=FCKConfig.BasePath.replace(/editor\/$/,'');try{FCKConfig.ScreenWidth=screen.width;FCKConfig.ScreenHeight=screen.height;}catch (e){FCKConfig.ScreenWidth=800;FCKConfig.ScreenHeight=600;};FCKConfig.ProcessHiddenField=function(){this.PageConfig={};var A=window.parent.document.getElementById(FCK.Name+'___Config');if (!A) return;var B=A.value.split('&');for (var i=0;i<B.length;i++){if (B[i].length==0) continue;var C=B[i].split('=');var D=decodeURIComponent(C[0]);var E=decodeURIComponent(C[1]);if (D=='CustomConfigurationsPath') FCKConfig[D]=E;else if (E.toLowerCase()=="true") this.PageConfig[D]=true;else if (E.toLowerCase()=="false") this.PageConfig[D]=false;else if (E.length>0&&!isNaN(E)) this.PageConfig[D]=parseFloat(E);else this.PageConfig[D]=E;}};function FCKConfig_LoadPageConfig(){var A=FCKConfig.PageConfig;for (var B in A) FCKConfig[B]=A[B];};function FCKConfig_PreProcess(){var A=FCKConfig;if (A.AllowQueryStringDebug){try{if ((/fckdebug=true/i).test(window.top.location.search)) A.Debug=true;}catch (e) {  }};if (!A.PluginsPath.EndsWith('/')) A.PluginsPath+='/';var B=A.ToolbarComboPreviewCSS;if (!B||B.length==0) A.ToolbarComboPreviewCSS=A.EditorAreaCSS;A.RemoveAttributesArray=(A.RemoveAttributes||'').split(',');if (!FCKConfig.SkinEditorCSS||FCKConfig.SkinEditorCSS.length==0) FCKConfig.SkinEditorCSS=FCKConfig.SkinPath+'fck_editor.css';if (!FCKConfig.SkinDialogCSS||FCKConfig.SkinDialogCSS.length==0) FCKConfig.SkinDialogCSS=FCKConfig.SkinPath+'fck_dialog.css';};FCKConfig.ToolbarSets={};FCKConfig.Plugins={};FCKConfig.Plugins.Items=[];FCKConfig.Plugins.Add=function(A,B,C){FCKConfig.Plugins.Items.push([A,B,C]);};FCKConfig.ProtectedSource={};FCKConfig.ProtectedSource._CodeTag=(new Date()).valueOf();FCKConfig.ProtectedSource.RegexEntries=[/<!--[\s\S]*?-->/g,/<script[\s\S]*?<\/script>/gi,/<noscript[\s\S]*?<\/noscript>/gi];FCKConfig.ProtectedSource.Add=function(A){this.RegexEntries.push(A);};FCKConfig.ProtectedSource.Protect=function(A){var B=this._CodeTag;function _Replace(protectedSource){var C=FCKTempBin.AddElement(protectedSource);return '<!--{'+B+C+'}-->';};for (var i=0;i<this.RegexEntries.length;i++){A=A.replace(this.RegexEntries[i],_Replace);};return A;};FCKConfig.ProtectedSource.Revert=function(A,B){function _Replace(m,opener,index){var C=B?FCKTempBin.RemoveElement(index):FCKTempBin.Elements[index];return FCKConfig.ProtectedSource.Revert(C,B);};var D=new RegExp("(<|&lt;)!--\\{"+this._CodeTag+"(\\d+)\\}--(>|&gt;)","g");return A.replace(D,_Replace);};FCKConfig.GetBodyAttributes=function(){var A='';if (this.BodyId&&this.BodyId.length>0) A+=' id="'+this.BodyId+'"';if (this.BodyClass&&this.BodyClass.length>0) A+=' class="'+this.BodyClass+'"';return A;};FCKConfig.ApplyBodyAttributes=function(A){if (this.BodyId&&this.BodyId.length>0) A.id=FCKConfig.BodyId;if (this.BodyClass&&this.BodyClass.length>0) A.className+=' '+FCKConfig.BodyClass;};\r
-var FCKDebug={Output:function(){},OutputObject:function(){}};\r
-var FCKDomTools={MoveChildren:function(A,B,C){if (A==B) return;var D;if (C){while ((D=A.lastChild)) B.insertBefore(A.removeChild(D),B.firstChild);}else{while ((D=A.firstChild)) B.appendChild(A.removeChild(D));}},MoveNode:function(A,B,C){if (C) B.insertBefore(FCKDomTools.RemoveNode(A),B.firstChild);else B.appendChild(FCKDomTools.RemoveNode(A));},TrimNode:function(A){this.LTrimNode(A);this.RTrimNode(A);},LTrimNode:function(A){var B;while ((B=A.firstChild)){if (B.nodeType==3){var C=B.nodeValue.LTrim();var D=B.nodeValue.length;if (C.length==0){A.removeChild(B);continue;}else if (C.length<D){B.splitText(D-C.length);A.removeChild(A.firstChild);}};break;}},RTrimNode:function(A){var B;while ((B=A.lastChild)){if (B.nodeType==3){var C=B.nodeValue.RTrim();var D=B.nodeValue.length;if (C.length==0){B.parentNode.removeChild(B);continue;}else if (C.length<D){B.splitText(C.length);A.lastChild.parentNode.removeChild(A.lastChild);}};break;};if (!FCKBrowserInfo.IsIE&&!FCKBrowserInfo.IsOpera){B=A.lastChild;if (B&&B.nodeType==1&&B.nodeName.toLowerCase()=='br'){B.parentNode.removeChild(B);}}},RemoveNode:function(A,B){if (B){var C;while ((C=A.firstChild)) A.parentNode.insertBefore(A.removeChild(C),A);};return A.parentNode.removeChild(A);},GetFirstChild:function(A,B){if (typeof (B)=='string') B=[B];var C=A.firstChild;while(C){if (C.nodeType==1&&C.tagName.Equals.apply(C.tagName,B)) return C;C=C.nextSibling;};return null;},GetLastChild:function(A,B){if (typeof (B)=='string') B=[B];var C=A.lastChild;while(C){if (C.nodeType==1&&(!B||C.tagName.Equals(B))) return C;C=C.previousSibling;};return null;},GetPreviousSourceElement:function(A,B,C,D){if (!A) return null;if (C&&A.nodeType==1&&A.nodeName.IEquals(C)) return null;if (A.previousSibling) A=A.previousSibling;else return this.GetPreviousSourceElement(A.parentNode,B,C,D);while (A){if (A.nodeType==1){if (C&&A.nodeName.IEquals(C)) break;if (!D||!A.nodeName.IEquals(D)) return A;}else if (B&&A.nodeType==3&&A.nodeValue.RTrim().length>0) break;if (A.lastChild) A=A.lastChild;else return this.GetPreviousSourceElement(A,B,C,D);};return null;},GetNextSourceElement:function(A,B,C,D,E){while((A=this.GetNextSourceNode(A,E))){if (A.nodeType==1){if (C&&A.nodeName.IEquals(C)) break;if (D&&A.nodeName.IEquals(D)) return this.GetNextSourceElement(A,B,C,D);return A;}else if (B&&A.nodeType==3&&A.nodeValue.RTrim().length>0) break;};return null;},GetNextSourceNode:function(A,B,C,D){if (!A) return null;var E;if (!B&&A.firstChild) E=A.firstChild;else{if (D&&A==D) return null;E=A.nextSibling;if (!E&&(!D||D!=A.parentNode)) return this.GetNextSourceNode(A.parentNode,true,C,D);};if (C&&E&&E.nodeType!=C) return this.GetNextSourceNode(E,false,C,D);return E;},GetPreviousSourceNode:function(A,B,C,D){if (!A) return null;var E;if (!B&&A.lastChild) E=A.lastChild;else{if (D&&A==D) return null;E=A.previousSibling;if (!E&&(!D||D!=A.parentNode)) return this.GetPreviousSourceNode(A.parentNode,true,C,D);};if (C&&E&&E.nodeType!=C) return this.GetPreviousSourceNode(E,false,C,D);return E;},InsertAfterNode:function(A,B){return A.parentNode.insertBefore(B,A.nextSibling);},GetParents:function(A){var B=[];while (A){B.unshift(A);A=A.parentNode;};return B;},GetCommonParents:function(A,B){var C=this.GetParents(A);var D=this.GetParents(B);var E=[];for (var i=0;i<C.length;i++){if (C[i]==D[i]) E.push(C[i]);};return E;},GetCommonParentNode:function(A,B,C){var D={};if (!C.pop) C=[C];while (C.length>0) D[C.pop().toLowerCase()]=1;var E=this.GetCommonParents(A,B);var F=null;while ((F=E.pop())){if (D[F.nodeName.toLowerCase()]) return F;};return null;},GetIndexOf:function(A){var B=A.parentNode?A.parentNode.firstChild:null;var C=-1;while (B){C++;if (B==A) return C;B=B.nextSibling;};return-1;},PaddingNode:null,EnforcePaddingNode:function(A,B){try{if (!A||!A.body) return;}catch (e){return;};this.CheckAndRemovePaddingNode(A,B,true);try{if (A.body.lastChild&&(A.body.lastChild.nodeType!=1||A.body.lastChild.tagName.toLowerCase()==B.toLowerCase())) return;}catch (e){return;};var C=A.createElement(B);if (FCKBrowserInfo.IsGecko&&FCKListsLib.NonEmptyBlockElements[B]) FCKTools.AppendBogusBr(C);this.PaddingNode=C;if (A.body.childNodes.length==1&&A.body.firstChild.nodeType==1&&A.body.firstChild.tagName.toLowerCase()=='br'&&(A.body.firstChild.getAttribute('_moz_dirty')!=null||A.body.firstChild.getAttribute('type')=='_moz')) A.body.replaceChild(C,A.body.firstChild);else A.body.appendChild(C);},CheckAndRemovePaddingNode:function(A,B,C){var D=this.PaddingNode;if (!D) return;try{if (D.parentNode!=A.body||D.tagName.toLowerCase()!=B||(D.childNodes.length>1)||(D.firstChild&&D.firstChild.nodeValue!='\xa0'&&String(D.firstChild.tagName).toLowerCase()!='br')){this.PaddingNode=null;return;}}catch (e){this.PaddingNode=null;return;};if (!C){if (D.parentNode.childNodes.length>1) D.parentNode.removeChild(D);this.PaddingNode=null;}},HasAttribute:function(A,B){if (A.hasAttribute) return A.hasAttribute(B);else{var C=A.attributes[B];return (C!=undefined&&C.specified);}},HasAttributes:function(A){var B=A.attributes;for (var i=0;i<B.length;i++){if (FCKBrowserInfo.IsIE){var C=B[i].nodeName;if (C.StartsWith('_fck')){continue;};if (C=='class'){if (A.className.length>0) return true;continue;}};if (B[i].specified) return true;};return false;},RemoveAttribute:function(A,B){if (FCKBrowserInfo.IsIE&&B.toLowerCase()=='class') B='className';return A.removeAttribute(B,0);},RemoveAttributes:function (A,B){for (var i=0;i<B.length;i++) this.RemoveAttribute(A,B[i]);},GetAttributeValue:function(A,B){var C=B;if (typeof B=='string') B=A.attributes[B];else C=B.nodeName;if (B&&B.specified){if (C=='style') return A.style.cssText;else if (C=='class'||C.indexOf('on')==0) return B.nodeValue;else{return A.getAttribute(C,2);}};return null;},Contains:function(A,B){if (A.contains&&B.nodeType==1) return A.contains(B);while ((B=B.parentNode)){if (B==A) return true;};return false;},BreakParent:function(A,B,C){var D=C||new FCKDomRange(FCKTools.GetElementWindow(A));D.SetStart(A,4);D.SetEnd(B,4);var E=D.ExtractContents();D.InsertNode(A.parentNode.removeChild(A));E.InsertAfterNode(A);D.Release(!!C);},GetNodeAddress:function(A,B){var C=[];while (A&&A!=FCKTools.GetElementDocument(A).documentElement){var D=A.parentNode;var E=-1;for(var i=0;i<D.childNodes.length;i++){var F=D.childNodes[i];if (B===true&&F.nodeType==3&&F.previousSibling&&F.previousSibling.nodeType==3) continue;E++;if (D.childNodes[i]==A) break;};C.unshift(E);A=A.parentNode;};return C;},GetNodeFromAddress:function(A,B,C){var D=A.documentElement;for (var i=0;i<B.length;i++){var E=B[i];if (!C){D=D.childNodes[E];continue;};var F=-1;for (var j=0;j<D.childNodes.length;j++){var G=D.childNodes[j];if (C===true&&G.nodeType==3&&G.previousSibling&&G.previousSibling.nodeType==3) continue;F++;if (F==E){D=G;break;}}};return D;},CloneElement:function(A){A=A.cloneNode(false);A.removeAttribute('id',false);return A;},ClearElementJSProperty:function(A,B){if (FCKBrowserInfo.IsIE) A.removeAttribute(B);else delete A[B];},SetElementMarker:function (A,B,C,D){var E=String(parseInt(Math.random()*0xffffffff,10));B._FCKMarkerId=E;B[C]=D;if (!A[E]) A[E]={ 'element':B,'markers':{} };A[E]['markers'][C]=D;},ClearElementMarkers:function(A,B,C){var D=B._FCKMarkerId;if (!D) return;this.ClearElementJSProperty(B,'_FCKMarkerId');for (var j in A[D]['markers']) this.ClearElementJSProperty(B,j);if (C) delete A[D];},ClearAllMarkers:function(A){for (var i in A) this.ClearElementMarkers(A,A[i]['element'],true);},ListToArray:function(A,B,C,D,E){if (!A.nodeName.IEquals(['ul','ol'])) return [];if (!D) D=0;if (!C) C=[];for (var i=0;i<A.childNodes.length;i++){var F=A.childNodes[i];if (!F.nodeName.IEquals('li')) continue;var G={ 'parent':A,'indent':D,'contents':[] };if (!E){G.grandparent=A.parentNode;if (G.grandparent&&G.grandparent.nodeName.IEquals('li')) G.grandparent=G.grandparent.parentNode;}else G.grandparent=E;if (B) this.SetElementMarker(B,F,'_FCK_ListArray_Index',C.length);C.push(G);for (var j=0;j<F.childNodes.length;j++){var H=F.childNodes[j];if (H.nodeName.IEquals(['ul','ol'])) this.ListToArray(H,B,C,D+1,G.grandparent);else G.contents.push(H);}};return C;},ArrayToList:function(A,B,C){if (C==undefined) C=0;if (!A||A.length<C+1) return null;var D=FCKTools.GetElementDocument(A[C].parent);var E=D.createDocumentFragment();var F=null;var G=C;var H=Math.max(A[C].indent,0);var I=null;while (true){var J=A[G];if (J.indent==H){if (!F||A[G].parent.nodeName!=F.nodeName){F=A[G].parent.cloneNode(false);E.appendChild(F);};I=D.createElement('li');F.appendChild(I);for (var i=0;i<J.contents.length;i++) I.appendChild(J.contents[i].cloneNode(true));G++;}else if (J.indent==Math.max(H,0)+1){var K=this.ArrayToList(A,null,G);I.appendChild(K.listNode);G=K.nextIndex;}else if (J.indent==-1&&C==0&&J.grandparent){var I;if (J.grandparent.nodeName.IEquals(['ul','ol'])) I=D.createElement('li');else{if (FCKConfig.EnterMode.IEquals(['div','p'])&&!J.grandparent.nodeName.IEquals('td')) I=D.createElement(FCKConfig.EnterMode);else I=D.createDocumentFragment();};for (var i=0;i<J.contents.length;i++) I.appendChild(J.contents[i].cloneNode(true));if (I.nodeType==11){if (I.lastChild&&I.lastChild.getAttribute&&I.lastChild.getAttribute('type')=='_moz') I.removeChild(I.lastChild);I.appendChild(D.createElement('br'));};if (I.nodeName.IEquals(FCKConfig.EnterMode)&&I.firstChild){this.TrimNode(I);if (FCKListsLib.BlockBoundaries[I.firstChild.nodeName.toLowerCase()]){var M=D.createDocumentFragment();while (I.firstChild) M.appendChild(I.removeChild(I.firstChild));I=M;}};if (FCKBrowserInfo.IsGeckoLike&&I.nodeName.IEquals(['div','p'])) FCKTools.AppendBogusBr(I);E.appendChild(I);F=null;G++;}else return null;if (A.length<=G||Math.max(A[G].indent,0)<H){break;}};if (B){var N=E.firstChild;while (N){if (N.nodeType==1) this.ClearElementMarkers(B,N);N=this.GetNextSourceNode(N);}};return { 'listNode':E,'nextIndex':G };},GetNextSibling:function(A,B){A=A.nextSibling;while (A&&!B&&A.nodeType!=1&&(A.nodeType!=3||A.nodeValue.length==0)) A=A.nextSibling;return A;},GetPreviousSibling:function(A,B){A=A.previousSibling;while (A&&!B&&A.nodeType!=1&&(A.nodeType!=3||A.nodeValue.length==0)) A=A.previousSibling;return A;},CheckIsEmptyElement:function(A,B){var C=A.firstChild;var D;while (C){if (C.nodeType==1){if (D||!FCKListsLib.InlineNonEmptyElements[C.nodeName.toLowerCase()]) return false;if (!B||B(C)===true) D=C;}else if (C.nodeType==3&&C.nodeValue.length>0) return false;C=C.nextSibling;};return D?this.CheckIsEmptyElement(D,B):true;},SetElementStyles:function(A,B){var C=A.style;for (var D in B) C[D]=B[D];},SetOpacity:function(A,B){if (FCKBrowserInfo.IsIE){B=Math.round(B*100);A.style.filter=(B>100?'':'progid:DXImageTransform.Microsoft.Alpha(opacity='+B+')');}else A.style.opacity=B;},GetCurrentElementStyle:function(A,B){if (FCKBrowserInfo.IsIE) return A.currentStyle[B];else return A.ownerDocument.defaultView.getComputedStyle(A,'').getPropertyValue(B);},GetPositionedAncestor:function(A){var B=A;while (B!=FCKTools.GetElementDocument(B).documentElement){if (this.GetCurrentElementStyle(B,'position')!='static') return B;if (B==FCKTools.GetElementDocument(B).documentElement&&currentWindow!=w) B=currentWindow.frameElement;else B=B.parentNode;};return null;},ScrollIntoView:function(A,B){var C=FCKTools.GetElementWindow(A);var D=FCKTools.GetViewPaneSize(C).Height;var E=D*-1;if (B===false){E+=A.offsetHeight||0;E+=parseInt(this.GetCurrentElementStyle(A,'marginBottom')||0,10)||0;};var F=FCKTools.GetDocumentPosition(C,A);E+=F.y;var G=FCKTools.GetScrollPosition(C).Y;if (E>0&&(E>G||E<G-D)) C.scrollTo(0,E);},CheckIsEditable:function(A){var B=A.nodeName.toLowerCase();var C=FCK.DTD[B]||FCK.DTD.span;return (C['#']&&!FCKListsLib.NonEditableElements[B]);},GetSelectedDivContainers:function(){var A=[];var B=new FCKDomRange(FCK.EditorWindow);B.MoveToSelection();var C=B.GetTouchedStartNode();var D=B.GetTouchedEndNode();var E=C;if (C==D){while (D.nodeType==1&&D.lastChild) D=D.lastChild;D=FCKDomTools.GetNextSourceNode(D);}while (E&&E!=D){if (E.nodeType!=3||!/^[ \t\n]*$/.test(E.nodeValue)){var F=new FCKElementPath(E);var G=F.BlockLimit;if (G&&G.nodeName.IEquals('div')&&A.IndexOf(G)==-1) A.push(G);};E=FCKDomTools.GetNextSourceNode(E);};return A;}};\r
-var FCKTools={};FCKTools.CreateBogusBR=function(A){var B=A.createElement('br');B.setAttribute('type','_moz');return B;};FCKTools.FixCssUrls=function(A,B){if (!A||A.length==0) return B;return B.replace(/url\s*\(([\s'"]*)(.*?)([\s"']*)\)/g,function(match,opener,path,closer){if (/^\/|^\w?:/.test(path)) return match;else return 'url('+opener+A+path+closer+')';});};FCKTools._GetUrlFixedCss=function(A,B){var C=A.match(/^([^|]+)\|([\s\S]*)/);if (C) return FCKTools.FixCssUrls(C[1],C[2]);else return A;};FCKTools.AppendStyleSheet=function(A,B){if (!B) return [];if (typeof(B)=='string'){if (/[\\\/\.][^{}]*$/.test(B)){return this.AppendStyleSheet(A,B.split(','));}else return [this.AppendStyleString(A,FCKTools._GetUrlFixedCss(B))];}else{var C=[];for (var i=0;i<B.length;i++) C.push(this._AppendStyleSheet(A,B[i]));return C;}};FCKTools.GetStyleHtml=(function(){var A=function(styleDef,markTemp){if (styleDef.length==0) return '';var B=markTemp?' _fcktemp="true"':'';return '<style type="text/css"'+B+'>'+styleDef+'</style>';};var C=function(cssFileUrl,markTemp){if (cssFileUrl.length==0) return '';var B=markTemp?' _fcktemp="true"':'';return '<link href="'+cssFileUrl+'" type="text/css" rel="stylesheet" '+B+'/>';};return function(cssFileOrArrayOrDef,markTemp){if (!cssFileOrArrayOrDef) return '';if (typeof(cssFileOrArrayOrDef)=='string'){if (/[\\\/\.][^{}]*$/.test(cssFileOrArrayOrDef)){return this.GetStyleHtml(cssFileOrArrayOrDef.split(','),markTemp);}else return A(this._GetUrlFixedCss(cssFileOrArrayOrDef),markTemp);}else{var E='';for (var i=0;i<cssFileOrArrayOrDef.length;i++) E+=C(cssFileOrArrayOrDef[i],markTemp);return E;}}})();FCKTools.GetElementDocument=function (A){return A.ownerDocument||A.document;};FCKTools.GetElementWindow=function(A){return this.GetDocumentWindow(this.GetElementDocument(A));};FCKTools.GetDocumentWindow=function(A){if (FCKBrowserInfo.IsSafari&&!A.parentWindow) this.FixDocumentParentWindow(window.top);return A.parentWindow||A.defaultView;};FCKTools.FixDocumentParentWindow=function(A){if (A.document) A.document.parentWindow=A;for (var i=0;i<A.frames.length;i++) FCKTools.FixDocumentParentWindow(A.frames[i]);};FCKTools.HTMLEncode=function(A){if (!A) return '';A=A.replace(/&/g,'&amp;');A=A.replace(/</g,'&lt;');A=A.replace(/>/g,'&gt;');return A;};FCKTools.HTMLDecode=function(A){if (!A) return '';A=A.replace(/&gt;/g,'>');A=A.replace(/&lt;/g,'<');A=A.replace(/&amp;/g,'&');return A;};FCKTools._ProcessLineBreaksForPMode=function(A,B,C,D,E){var F=0;var G="<p>";var H="</p>";var I="<br />";if (C){G="<li>";H="</li>";F=1;}while (D&&D!=A.FCK.EditorDocument.body){if (D.tagName.toLowerCase()=='p'){F=1;break;};D=D.parentNode;};for (var i=0;i<B.length;i++){var c=B.charAt(i);if (c=='\r') continue;if (c!='\n'){E.push(c);continue;};var n=B.charAt(i+1);if (n=='\r'){i++;n=B.charAt(i+1);};if (n=='\n'){i++;if (F) E.push(H);E.push(G);F=1;}else E.push(I);}};FCKTools._ProcessLineBreaksForDivMode=function(A,B,C,D,E){var F=0;var G="<div>";var H="</div>";if (C){G="<li>";H="</li>";F=1;}while (D&&D!=A.FCK.EditorDocument.body){if (D.tagName.toLowerCase()=='div'){F=1;break;};D=D.parentNode;};for (var i=0;i<B.length;i++){var c=B.charAt(i);if (c=='\r') continue;if (c!='\n'){E.push(c);continue;};if (F){if (E[E.length-1]==G){E.push("&nbsp;");};E.push(H);};E.push(G);F=1;};if (F) E.push(H);};FCKTools._ProcessLineBreaksForBrMode=function(A,B,C,D,E){var F=0;var G="<br />";var H="";if (C){G="<li>";H="</li>";F=1;};for (var i=0;i<B.length;i++){var c=B.charAt(i);if (c=='\r') continue;if (c!='\n'){E.push(c);continue;};if (F&&H.length) E.push (H);E.push(G);F=1;}};FCKTools.ProcessLineBreaks=function(A,B,C){var D=B.EnterMode.toLowerCase();var E=[];var F=0;var G=new A.FCKDomRange(A.FCK.EditorWindow);G.MoveToSelection();var H=G._Range.startContainer;while (H&&H.nodeType!=1) H=H.parentNode;if (H&&H.tagName.toLowerCase()=='li') F=1;if (D=='p') this._ProcessLineBreaksForPMode(A,C,F,H,E);else if (D=='div') this._ProcessLineBreaksForDivMode(A,C,F,H,E);else if (D=='br') this._ProcessLineBreaksForBrMode(A,C,F,H,E);return E.join("");};FCKTools.AddSelectOption=function(A,B,C){var D=FCKTools.GetElementDocument(A).createElement("OPTION");D.text=B;D.value=C;A.options.add(D);return D;};FCKTools.RunFunction=function(A,B,C,D){if (A) this.SetTimeout(A,0,B,C,D);};FCKTools.SetTimeout=function(A,B,C,D,E){return (E||window).setTimeout(function(){if (D) A.apply(C,[].concat(D));else A.apply(C);},B);};FCKTools.SetInterval=function(A,B,C,D,E){return (E||window).setInterval(function(){A.apply(C,D||[]);},B);};FCKTools.ConvertStyleSizeToHtml=function(A){return A.EndsWith('%')?A:parseInt(A,10);};FCKTools.ConvertHtmlSizeToStyle=function(A){return A.EndsWith('%')?A:(A+'px');};FCKTools.GetElementAscensor=function(A,B){var e=A;var C=","+B.toUpperCase()+",";while (e){if (C.indexOf(","+e.nodeName.toUpperCase()+",")!=-1) return e;e=e.parentNode;};return null;};FCKTools.CreateEventListener=function(A,B){var f=function(){var C=[];for (var i=0;i<arguments.length;i++) C.push(arguments[i]);A.apply(this,C.concat(B));};return f;};FCKTools.IsStrictMode=function(A){return ('CSS1Compat'==(A.compatMode||(FCKBrowserInfo.IsSafari?'CSS1Compat':null)));};FCKTools.ArgumentsToArray=function(A,B,C){B=B||0;C=C||A.length;var D=[];for (var i=B;i<B+C&&i<A.length;i++) D.push(A[i]);return D;};FCKTools.CloneObject=function(A){var B=function() {};B.prototype=A;return new B;};FCKTools.AppendBogusBr=function(A){if (!A) return;var B=this.GetLastItem(A.getElementsByTagName('br'));if (!B||(B.getAttribute('type',2)!='_moz'&&B.getAttribute('_moz_dirty')==null)){var C=this.GetElementDocument(A);if (FCKBrowserInfo.IsOpera) A.appendChild(C.createTextNode(''));else A.appendChild(this.CreateBogusBR(C));}};FCKTools.GetLastItem=function(A){if (A.length>0) return A[A.length-1];return null;};FCKTools.GetDocumentPosition=function(w,A){var x=0;var y=0;var B=A;var C=null;var D=FCKTools.GetElementWindow(B);while (B&&!(D==w&&(B==w.document.body||B==w.document.documentElement))){x+=B.offsetLeft-B.scrollLeft;y+=B.offsetTop-B.scrollTop;if (!FCKBrowserInfo.IsOpera){var E=C;while (E&&E!=B){x-=E.scrollLeft;y-=E.scrollTop;E=E.parentNode;}};C=B;if (B.offsetParent) B=B.offsetParent;else{if (D!=w){B=D.frameElement;C=null;if (B) D=B.contentWindow.parent;}else B=null;}};if (FCKDomTools.GetCurrentElementStyle(w.document.body,'position')!='static'||(FCKBrowserInfo.IsIE&&FCKDomTools.GetPositionedAncestor(A)==null)){x+=w.document.body.offsetLeft;y+=w.document.body.offsetTop;};return { "x":x,"y":y };};FCKTools.GetWindowPosition=function(w,A){var B=this.GetDocumentPosition(w,A);var C=FCKTools.GetScrollPosition(w);B.x-=C.X;B.y-=C.Y;return B;};FCKTools.ProtectFormStyles=function(A){if (!A||A.nodeType!=1||A.tagName.toLowerCase()!='form') return [];var B=[];var C=['style','className'];for (var i=0;i<C.length;i++){var D=C[i];if (A.elements.namedItem(D)){var E=A.elements.namedItem(D);B.push([E,E.nextSibling]);A.removeChild(E);}};return B;};FCKTools.RestoreFormStyles=function(A,B){if (!A||A.nodeType!=1||A.tagName.toLowerCase()!='form') return;if (B.length>0){for (var i=B.length-1;i>=0;i--){var C=B[i][0];var D=B[i][1];if (D) A.insertBefore(C,D);else A.appendChild(C);}}};FCKTools.GetNextNode=function(A,B){if (A.firstChild) return A.firstChild;else if (A.nextSibling) return A.nextSibling;else{var C=A.parentNode;while (C){if (C==B) return null;if (C.nextSibling) return C.nextSibling;else C=C.parentNode;}};return null;};FCKTools.GetNextTextNode=function(A,B,C){node=this.GetNextNode(A,B);if (C&&node&&C(node)) return null;while (node&&node.nodeType!=3){node=this.GetNextNode(node,B);if (C&&node&&C(node)) return null;};return node;};FCKTools.Merge=function(){var A=arguments;var o=A[0];for (var i=1;i<A.length;i++){var B=A[i];for (var p in B) o[p]=B[p];};return o;};FCKTools.IsArray=function(A){return (A instanceof Array);};FCKTools.AppendLengthProperty=function(A,B){var C=0;for (var n in A) C++;return A[B||'length']=C;};FCKTools.NormalizeCssText=function(A){var B=document.createElement('span');B.style.cssText=A;return B.style.cssText;};FCKTools.Bind=function(A,B){return function(){ return B.apply(A,arguments);};};FCKTools.GetVoidUrl=function(){if (FCK_IS_CUSTOM_DOMAIN) return "javascript: void( function(){document.open();document.write('<html><head><title></title></head><body></body></html>');document.domain = '"+FCK_RUNTIME_DOMAIN+"';document.close();}() ) ;";if (FCKBrowserInfo.IsIE){if (FCKBrowserInfo.IsIE7||!FCKBrowserInfo.IsIE6) return "";else return "javascript: '';";};return "javascript: void(0);";};FCKTools.ResetStyles=function(A){A.style.cssText='margin:0;padding:0;border:0;background-color:transparent;background-image:none;';};\r
-FCKTools.CancelEvent=function(e){if (e) e.preventDefault();};FCKTools.DisableSelection=function(A){if (FCKBrowserInfo.IsGecko) A.style.MozUserSelect='none';else if (FCKBrowserInfo.IsSafari) A.style.KhtmlUserSelect='none';else A.style.userSelect='none';};FCKTools._AppendStyleSheet=function(A,B){var e=A.createElement('LINK');e.rel='stylesheet';e.type='text/css';e.href=B;A.getElementsByTagName("HEAD")[0].appendChild(e);return e;};FCKTools.AppendStyleString=function(A,B){if (!B) return null;var e=A.createElement("STYLE");e.appendChild(A.createTextNode(B));A.getElementsByTagName("HEAD")[0].appendChild(e);return e;};FCKTools.ClearElementAttributes=function(A){for (var i=0;i<A.attributes.length;i++){A.removeAttribute(A.attributes[i].name,0);}};FCKTools.GetAllChildrenIds=function(A){var B=[];var C=function(parent){for (var i=0;i<parent.childNodes.length;i++){var D=parent.childNodes[i].id;if (D&&D.length>0) B[B.length]=D;C(parent.childNodes[i]);}};C(A);return B;};FCKTools.RemoveOuterTags=function(e){var A=e.ownerDocument.createDocumentFragment();for (var i=0;i<e.childNodes.length;i++) A.appendChild(e.childNodes[i].cloneNode(true));e.parentNode.replaceChild(A,e);};FCKTools.CreateXmlObject=function(A){switch (A){case 'XmlHttp':return new XMLHttpRequest();case 'DOMDocument':var B=(new DOMParser()).parseFromString('<tmp></tmp>','text/xml');FCKDomTools.RemoveNode(B.firstChild);return B;};return null;};FCKTools.GetScrollPosition=function(A){return { X:A.pageXOffset,Y:A.pageYOffset };};FCKTools.AddEventListener=function(A,B,C){A.addEventListener(B,C,false);};FCKTools.RemoveEventListener=function(A,B,C){A.removeEventListener(B,C,false);};FCKTools.AddEventListenerEx=function(A,B,C,D){A.addEventListener(B,function(e){C.apply(A,[e].concat(D||[]));},false);};FCKTools.GetViewPaneSize=function(A){return { Width:A.innerWidth,Height:A.innerHeight };};FCKTools.SaveStyles=function(A){var B=FCKTools.ProtectFormStyles(A);var C={};if (A.className.length>0){C.Class=A.className;A.className='';};var D=A.getAttribute('style');if (D&&D.length>0){C.Inline=D;A.setAttribute('style','',0);};FCKTools.RestoreFormStyles(A,B);return C;};FCKTools.RestoreStyles=function(A,B){var C=FCKTools.ProtectFormStyles(A);A.className=B.Class||'';if (B.Inline) A.setAttribute('style',B.Inline,0);else A.removeAttribute('style',0);FCKTools.RestoreFormStyles(A,C);};FCKTools.RegisterDollarFunction=function(A){A.$=function(id){return A.document.getElementById(id);};};FCKTools.AppendElement=function(A,B){return A.appendChild(A.ownerDocument.createElement(B));};FCKTools.GetElementPosition=function(A,B){var c={ X:0,Y:0 };var C=B||window;var D=FCKTools.GetElementWindow(A);var E=null;while (A){var F=D.getComputedStyle(A,'').position;if (F&&F!='static'&&A.style.zIndex!=FCKConfig.FloatingPanelsZIndex) break;c.X+=A.offsetLeft-A.scrollLeft;c.Y+=A.offsetTop-A.scrollTop;if (!FCKBrowserInfo.IsOpera){var G=E;while (G&&G!=A){c.X-=G.scrollLeft;c.Y-=G.scrollTop;G=G.parentNode;}};E=A;if (A.offsetParent) A=A.offsetParent;else{if (D!=C){A=D.frameElement;E=null;if (A) D=FCKTools.GetElementWindow(A);}else{c.X+=A.scrollLeft;c.Y+=A.scrollTop;break;}}};return c;};\r
-var FCKeditorAPI;function InitializeAPI(){var A=window.parent;if (!(FCKeditorAPI=A.FCKeditorAPI)){var B='window.FCKeditorAPI = {Version : "2.6.6",VersionBuild : "25427",Instances : window.FCKeditorAPI && window.FCKeditorAPI.Instances || {},GetInstance : function( name ){return this.Instances[ name ];},_FormSubmit : function(){for ( var name in FCKeditorAPI.Instances ){var oEditor = FCKeditorAPI.Instances[ name ] ;if ( oEditor.GetParentForm && oEditor.GetParentForm() == this )oEditor.UpdateLinkedField() ;}this._FCKOriginalSubmit() ;},_FunctionQueue      : window.FCKeditorAPI && window.FCKeditorAPI._FunctionQueue || {Functions : new Array(),IsRunning : false,Add : function( f ){this.Functions.push( f );if ( !this.IsRunning )this.StartNext();},StartNext : function(){var aQueue = this.Functions ;if ( aQueue.length > 0 ){this.IsRunning = true;aQueue[0].call();}else this.IsRunning = false;},Remove : function( f ){var aQueue = this.Functions;var i = 0, fFunc;while( (fFunc = aQueue[ i ]) ){if ( fFunc == f )aQueue.splice( i,1 );i++ ;}this.StartNext();}}}';if (A.execScript) A.execScript(B,'JavaScript');else{if (FCKBrowserInfo.IsGecko10){eval.call(A,B);}else if(FCKBrowserInfo.IsAIR){FCKAdobeAIR.FCKeditorAPI_Evaluate(A,B);}else if (FCKBrowserInfo.IsSafari){var C=A.document;var D=C.createElement('script');D.appendChild(C.createTextNode(B));C.documentElement.appendChild(D);}else A.eval(B);};FCKeditorAPI=A.FCKeditorAPI;FCKeditorAPI.__Instances=FCKeditorAPI.Instances;};FCKeditorAPI.Instances[FCK.Name]=FCK;};function _AttachFormSubmitToAPI(){var A=FCK.GetParentForm();if (A){FCKTools.AddEventListener(A,'submit',FCK.UpdateLinkedField);if (!A._FCKOriginalSubmit&&(typeof(A.submit)=='function'||(!A.submit.tagName&&!A.submit.length))){A._FCKOriginalSubmit=A.submit;A.submit=FCKeditorAPI._FormSubmit;}}};function FCKeditorAPI_Cleanup(){if (window.FCKConfig&&FCKConfig.MsWebBrowserControlCompat&&!window.FCKUnloadFlag) return;delete FCKeditorAPI.Instances[FCK.Name];};function FCKeditorAPI_ConfirmCleanup(){if (window.FCKConfig&&FCKConfig.MsWebBrowserControlCompat) window.FCKUnloadFlag=true;};FCKTools.AddEventListener(window,'unload',FCKeditorAPI_Cleanup);FCKTools.AddEventListener(window,'beforeunload',FCKeditorAPI_ConfirmCleanup);\r
-var FCKImagePreloader=function(){this._Images=[];};FCKImagePreloader.prototype={AddImages:function(A){if (typeof(A)=='string') A=A.split(';');this._Images=this._Images.concat(A);},Start:function(){var A=this._Images;this._PreloadCount=A.length;for (var i=0;i<A.length;i++){var B=document.createElement('img');FCKTools.AddEventListenerEx(B,'load',_FCKImagePreloader_OnImage,this);FCKTools.AddEventListenerEx(B,'error',_FCKImagePreloader_OnImage,this);B.src=A[i];_FCKImagePreloader_ImageCache.push(B);}}};var _FCKImagePreloader_ImageCache=[];function _FCKImagePreloader_OnImage(A,B){if ((--B._PreloadCount)==0&&B.OnComplete) B.OnComplete();};\r
-var FCKRegexLib={AposEntity:/&apos;/gi,ObjectElements:/^(?:IMG|TABLE|TR|TD|TH|INPUT|SELECT|TEXTAREA|HR|OBJECT|A|UL|OL|LI)$/i,NamedCommands:/^(?:Cut|Copy|Paste|Print|SelectAll|RemoveFormat|Unlink|Undo|Redo|Bold|Italic|Underline|StrikeThrough|Subscript|Superscript|JustifyLeft|JustifyCenter|JustifyRight|JustifyFull|Outdent|Indent|InsertOrderedList|InsertUnorderedList|InsertHorizontalRule)$/i,BeforeBody:/(^[\s\S]*\<body[^\>]*\>)/i,AfterBody:/(\<\/body\>[\s\S]*$)/i,ToReplace:/___fcktoreplace:([\w]+)/ig,MetaHttpEquiv:/http-equiv\s*=\s*["']?([^"' ]+)/i,HasBaseTag:/<base /i,HasBodyTag:/<body[\s|>]/i,HtmlOpener:/<html\s?[^>]*>/i,HeadOpener:/<head\s?[^>]*>/i,HeadCloser:/<\/head\s*>/i,FCK_Class:/\s*FCK__[^ ]*(?=\s+|$)/,ElementName:/(^[a-z_:][\w.\-:]*\w$)|(^[a-z_]$)/,ForceSimpleAmpersand:/___FCKAmp___/g,SpaceNoClose:/\/>/g,EmptyParagraph:/^<(p|div|address|h\d|center)(?=[ >])[^>]*>\s*(<\/\1>)?$/,EmptyOutParagraph:/^<(p|div|address|h\d|center)(?=[ >])[^>]*>(?:\s*|&nbsp;|&#160;)(<\/\1>)?$/,TagBody:/></,GeckoEntitiesMarker:/#\?-\:/g,ProtectUrlsImg:/<img(?=\s).*?\ssrc=((?:(?:\s*)("|').*?\2)|(?:[^"'][^ >]+))/gi,ProtectUrlsA:/<a(?=\s).*?\shref=((?:(?:\s*)("|').*?\2)|(?:[^"'][^ >]+))/gi,ProtectUrlsArea:/<area(?=\s).*?\shref=((?:(?:\s*)("|').*?\2)|(?:[^"'][^ >]+))/gi,Html4DocType:/HTML 4\.0 Transitional/i,DocTypeTag:/<!DOCTYPE[^>]*>/i,HtmlDocType:/DTD HTML/,TagsWithEvent:/<[^\>]+ on\w+[\s\r\n]*=[\s\r\n]*?('|")[\s\S]+?\>/g,EventAttributes:/\s(on\w+)[\s\r\n]*=[\s\r\n]*?('|")([\s\S]*?)\2/g,ProtectedEvents:/\s\w+_fckprotectedatt="([^"]+)"/g,StyleProperties:/\S+\s*:/g,InvalidSelfCloseTags:/(<(?!base|meta|link|hr|br|param|img|area|input)([a-zA-Z0-9:]+)[^>]*)\/>/gi,StyleVariableAttName:/#\(\s*("|')(.+?)\1[^\)]*\s*\)/g,RegExp:/^\/(.*)\/([gim]*)$/,HtmlTag:/<[^\s<>](?:"[^"]*"|'[^']*'|[^<])*>/};\r
-var FCKListsLib={BlockElements:{ address:1,blockquote:1,center:1,div:1,dl:1,fieldset:1,form:1,h1:1,h2:1,h3:1,h4:1,h5:1,h6:1,hr:1,marquee:1,noscript:1,ol:1,p:1,pre:1,script:1,table:1,ul:1 },NonEmptyBlockElements:{ p:1,div:1,form:1,h1:1,h2:1,h3:1,h4:1,h5:1,h6:1,address:1,pre:1,ol:1,ul:1,li:1,td:1,th:1 },InlineChildReqElements:{ abbr:1,acronym:1,b:1,bdo:1,big:1,cite:1,code:1,del:1,dfn:1,em:1,font:1,i:1,ins:1,label:1,kbd:1,q:1,samp:1,small:1,span:1,strike:1,strong:1,sub:1,sup:1,tt:1,u:1,'var':1 },InlineNonEmptyElements:{ a:1,abbr:1,acronym:1,b:1,bdo:1,big:1,cite:1,code:1,del:1,dfn:1,em:1,font:1,i:1,ins:1,label:1,kbd:1,q:1,samp:1,small:1,span:1,strike:1,strong:1,sub:1,sup:1,tt:1,u:1,'var':1 },EmptyElements:{ base:1,col:1,meta:1,link:1,hr:1,br:1,param:1,img:1,area:1,input:1 },PathBlockElements:{ address:1,blockquote:1,dl:1,h1:1,h2:1,h3:1,h4:1,h5:1,h6:1,p:1,pre:1,li:1,dt:1,de:1 },PathBlockLimitElements:{ body:1,div:1,td:1,th:1,caption:1,form:1 },StyleBlockElements:{ address:1,div:1,h1:1,h2:1,h3:1,h4:1,h5:1,h6:1,p:1,pre:1 },StyleObjectElements:{ img:1,hr:1,li:1,table:1,tr:1,td:1,embed:1,object:1,ol:1,ul:1 },NonEditableElements:{ button:1,option:1,script:1,iframe:1,textarea:1,object:1,embed:1,map:1,applet:1 },BlockBoundaries:{ p:1,div:1,h1:1,h2:1,h3:1,h4:1,h5:1,h6:1,hr:1,address:1,pre:1,ol:1,ul:1,li:1,dt:1,de:1,table:1,thead:1,tbody:1,tfoot:1,tr:1,th:1,td:1,caption:1,col:1,colgroup:1,blockquote:1,body:1 },ListBoundaries:{ p:1,div:1,h1:1,h2:1,h3:1,h4:1,h5:1,h6:1,hr:1,address:1,pre:1,ol:1,ul:1,li:1,dt:1,de:1,table:1,thead:1,tbody:1,tfoot:1,tr:1,th:1,td:1,caption:1,col:1,colgroup:1,blockquote:1,body:1,br:1 }};\r
-var FCKLanguageManager=FCK.Language={AvailableLanguages:{af:'Afrikaans',ar:'Arabic',bg:'Bulgarian',bn:'Bengali/Bangla',bs:'Bosnian',ca:'Catalan',cs:'Czech',da:'Danish',de:'German',el:'Greek',en:'English','en-au':'English (Australia)','en-ca':'English (Canadian)','en-uk':'English (United Kingdom)',eo:'Esperanto',es:'Spanish',et:'Estonian',eu:'Basque',fa:'Persian',fi:'Finnish',fo:'Faroese',fr:'French','fr-ca':'French (Canada)',gl:'Galician',gu:'Gujarati',he:'Hebrew',hi:'Hindi',hr:'Croatian',hu:'Hungarian',is:'Icelandic',it:'Italian',ja:'Japanese',km:'Khmer',ko:'Korean',lt:'Lithuanian',lv:'Latvian',mn:'Mongolian',ms:'Malay',nb:'Norwegian Bokmal',nl:'Dutch',no:'Norwegian',pl:'Polish',pt:'Portuguese (Portugal)','pt-br':'Portuguese (Brazil)',ro:'Romanian',ru:'Russian',sk:'Slovak',sl:'Slovenian',sr:'Serbian (Cyrillic)','sr-latn':'Serbian (Latin)',sv:'Swedish',th:'Thai',tr:'Turkish',uk:'Ukrainian',vi:'Vietnamese',zh:'Chinese Traditional','zh-cn':'Chinese Simplified'},GetActiveLanguage:function(){if (FCKConfig.AutoDetectLanguage){var A;if (navigator.userLanguage) A=navigator.userLanguage.toLowerCase();else if (navigator.language) A=navigator.language.toLowerCase();else{return FCKConfig.DefaultLanguage;};if (A.length>=5){A=A.substr(0,5);if (this.AvailableLanguages[A]) return A;};if (A.length>=2){A=A.substr(0,2);if (this.AvailableLanguages[A]) return A;}};return this.DefaultLanguage;},TranslateElements:function(A,B,C,D){var e=A.getElementsByTagName(B);var E,s;for (var i=0;i<e.length;i++){if ((E=e[i].getAttribute('fckLang'))){if ((s=FCKLang[E])){if (D) s=FCKTools.HTMLEncode(s);e[i][C]=s;}}}},TranslatePage:function(A){this.TranslateElements(A,'INPUT','value');this.TranslateElements(A,'SPAN','innerHTML');this.TranslateElements(A,'LABEL','innerHTML');this.TranslateElements(A,'OPTION','innerHTML',true);this.TranslateElements(A,'LEGEND','innerHTML');},Initialize:function(){if (this.AvailableLanguages[FCKConfig.DefaultLanguage]) this.DefaultLanguage=FCKConfig.DefaultLanguage;else this.DefaultLanguage='en';this.ActiveLanguage={};this.ActiveLanguage.Code=this.GetActiveLanguage();this.ActiveLanguage.Name=this.AvailableLanguages[this.ActiveLanguage.Code];}};\r
-var FCKXHtmlEntities={};FCKXHtmlEntities.Initialize=function(){if (FCKXHtmlEntities.Entities) return;var A='';var B,e;if (FCKConfig.ProcessHTMLEntities){FCKXHtmlEntities.Entities={' ':'nbsp','¡':'iexcl','¢':'cent','£':'pound','¤':'curren','¥':'yen','¦':'brvbar','§':'sect','¨':'uml','©':'copy','ª':'ordf','«':'laquo','¬':'not','­':'shy','®':'reg','¯':'macr','°':'deg','±':'plusmn','²':'sup2','³':'sup3','´':'acute','µ':'micro','¶':'para','·':'middot','¸':'cedil','¹':'sup1','º':'ordm','»':'raquo','¼':'frac14','½':'frac12','¾':'frac34','¿':'iquest','×':'times','÷':'divide','ƒ':'fnof','•':'bull','…':'hellip','′':'prime','″':'Prime','‾':'oline','⁄':'frasl','℘':'weierp','ℑ':'image','ℜ':'real','™':'trade','ℵ':'alefsym','←':'larr','↑':'uarr','→':'rarr','↓':'darr','↔':'harr','↵':'crarr','⇐':'lArr','⇑':'uArr','⇒':'rArr','⇓':'dArr','⇔':'hArr','∀':'forall','∂':'part','∃':'exist','∅':'empty','∇':'nabla','∈':'isin','∉':'notin','∋':'ni','∏':'prod','∑':'sum','−':'minus','∗':'lowast','√':'radic','∝':'prop','∞':'infin','∠':'ang','∧':'and','∨':'or','∩':'cap','∪':'cup','∫':'int','∴':'there4','∼':'sim','≅':'cong','≈':'asymp','≠':'ne','≡':'equiv','≤':'le','≥':'ge','⊂':'sub','⊃':'sup','⊄':'nsub','⊆':'sube','⊇':'supe','⊕':'oplus','⊗':'otimes','⊥':'perp','⋅':'sdot','\u2308':'lceil','\u2309':'rceil','\u230a':'lfloor','\u230b':'rfloor','\u2329':'lang','\u232a':'rang','◊':'loz','♠':'spades','♣':'clubs','♥':'hearts','♦':'diams','"':'quot','>':'gt','ˆ':'circ','˜':'tilde',' ':'ensp',' ':'emsp',' ':'thinsp','‌':'zwnj','‍':'zwj','‎':'lrm','‏':'rlm','–':'ndash','—':'mdash','‘':'lsquo','’':'rsquo','‚':'sbquo','“':'ldquo','”':'rdquo','„':'bdquo','†':'dagger','‡':'Dagger','‰':'permil','‹':'lsaquo','›':'rsaquo','€':'euro'};for (e in FCKXHtmlEntities.Entities) A+=e;if (FCKConfig.IncludeLatinEntities){B={'À':'Agrave','Á':'Aacute','Â':'Acirc','Ã':'Atilde','Ä':'Auml','Å':'Aring','Æ':'AElig','Ç':'Ccedil','È':'Egrave','É':'Eacute','Ê':'Ecirc','Ë':'Euml','Ì':'Igrave','Í':'Iacute','Î':'Icirc','Ï':'Iuml','Ð':'ETH','Ñ':'Ntilde','Ò':'Ograve','Ó':'Oacute','Ô':'Ocirc','Õ':'Otilde','Ö':'Ouml','Ø':'Oslash','Ù':'Ugrave','Ú':'Uacute','Û':'Ucirc','Ü':'Uuml','Ý':'Yacute','Þ':'THORN','ß':'szlig','à':'agrave','á':'aacute','â':'acirc','ã':'atilde','ä':'auml','å':'aring','æ':'aelig','ç':'ccedil','è':'egrave','é':'eacute','ê':'ecirc','ë':'euml','ì':'igrave','í':'iacute','î':'icirc','ï':'iuml','ð':'eth','ñ':'ntilde','ò':'ograve','ó':'oacute','ô':'ocirc','õ':'otilde','ö':'ouml','ø':'oslash','ù':'ugrave','ú':'uacute','û':'ucirc','ü':'uuml','ý':'yacute','þ':'thorn','ÿ':'yuml','Œ':'OElig','œ':'oelig','Š':'Scaron','š':'scaron','Ÿ':'Yuml'};for (e in B){FCKXHtmlEntities.Entities[e]=B[e];A+=e;};B=null;};if (FCKConfig.IncludeGreekEntities){B={'Α':'Alpha','Β':'Beta','Γ':'Gamma','Δ':'Delta','Ε':'Epsilon','Ζ':'Zeta','Η':'Eta','Θ':'Theta','Ι':'Iota','Κ':'Kappa','Λ':'Lambda','Μ':'Mu','Ν':'Nu','Ξ':'Xi','Ο':'Omicron','Π':'Pi','Ρ':'Rho','Σ':'Sigma','Τ':'Tau','Υ':'Upsilon','Φ':'Phi','Χ':'Chi','Ψ':'Psi','Ω':'Omega','α':'alpha','β':'beta','γ':'gamma','δ':'delta','ε':'epsilon','ζ':'zeta','η':'eta','θ':'theta','ι':'iota','κ':'kappa','λ':'lambda','μ':'mu','ν':'nu','ξ':'xi','ο':'omicron','π':'pi','ρ':'rho','ς':'sigmaf','σ':'sigma','τ':'tau','υ':'upsilon','φ':'phi','χ':'chi','ψ':'psi','ω':'omega','\u03d1':'thetasym','\u03d2':'upsih','\u03d6':'piv'};for (e in B){FCKXHtmlEntities.Entities[e]=B[e];A+=e;};B=null;}}else{FCKXHtmlEntities.Entities={'>':'gt'};A='>';A+=' ';};var C='['+A+']';if (FCKConfig.ProcessNumericEntities) C='[^ -~]|'+C;var D=FCKConfig.AdditionalNumericEntities;if (D&&D.length>0) C+='|'+FCKConfig.AdditionalNumericEntities;FCKXHtmlEntities.EntitiesRegex=new RegExp(C,'g');};\r
-var FCKXHtml={};FCKXHtml.CurrentJobNum=0;FCKXHtml.GetXHTML=function(A,B,C){FCKDomTools.CheckAndRemovePaddingNode(FCKTools.GetElementDocument(A),FCKConfig.EnterMode);FCKXHtmlEntities.Initialize();this._NbspEntity=(FCKConfig.ProcessHTMLEntities?'nbsp':'#160');var D=FCK.IsDirty();FCKXHtml.SpecialBlocks=[];this.XML=FCKTools.CreateXmlObject('DOMDocument');this.MainNode=this.XML.appendChild(this.XML.createElement('xhtml'));FCKXHtml.CurrentJobNum++;if (B) this._AppendNode(this.MainNode,A);else this._AppendChildNodes(this.MainNode,A,false);if (FCKBrowserInfo.IsIE) FCKXHtml._RemoveXHtmlJobProperties(A);var E=this._GetMainXmlString();this.XML=null;if (FCKBrowserInfo.IsSafari) E=E.replace(/^<xhtml.*?>/,'<xhtml>');E=E.substr(7,E.length-15).Trim();if (FCKConfig.DocType.length>0&&FCKRegexLib.HtmlDocType.test(FCKConfig.DocType)) E=E.replace(FCKRegexLib.SpaceNoClose,'>');else E=E.replace(FCKRegexLib.SpaceNoClose,' />');if (FCKConfig.ForceSimpleAmpersand) E=E.replace(FCKRegexLib.ForceSimpleAmpersand,'&');if (C) E=FCKCodeFormatter.Format(E);for (var i=0;i<FCKXHtml.SpecialBlocks.length;i++){var F=new RegExp('___FCKsi___'+i);E=E.replace(F,FCKXHtml.SpecialBlocks[i]);};E=E.replace(FCKRegexLib.GeckoEntitiesMarker,'&');if (!D) FCK.ResetIsDirty();FCKDomTools.EnforcePaddingNode(FCKTools.GetElementDocument(A),FCKConfig.EnterMode);return E;};FCKXHtml._AppendAttribute=function(A,B,C){try{if (C==undefined||C==null) C='';else if (C.replace){if (FCKConfig.ForceSimpleAmpersand) C=C.replace(/&/g,'___FCKAmp___');C=C.replace(FCKXHtmlEntities.EntitiesRegex,FCKXHtml_GetEntity);};var D=this.XML.createAttribute(B);D.value=C;A.attributes.setNamedItem(D);}catch (e){}};FCKXHtml._AppendChildNodes=function(A,B,C){var D=B.firstChild;while (D){this._AppendNode(A,D);D=D.nextSibling;};if (C&&B.tagName&&B.tagName.toLowerCase()!='pre'){FCKDomTools.TrimNode(A);if (FCKConfig.FillEmptyBlocks){var E=A.lastChild;if (E&&E.nodeType==1&&E.nodeName=='br') this._AppendEntity(A,this._NbspEntity);}};if (A.childNodes.length==0){if (C&&FCKConfig.FillEmptyBlocks){this._AppendEntity(A,this._NbspEntity);return A;};var F=A.nodeName;if (FCKListsLib.InlineChildReqElements[F]) return null;if (!FCKListsLib.EmptyElements[F]) A.appendChild(this.XML.createTextNode(''));};return A;};FCKXHtml._AppendNode=function(A,B){if (!B) return false;switch (B.nodeType){case 1:if (FCKBrowserInfo.IsGecko&&B.tagName.toLowerCase()=='br'&&B.parentNode.tagName.toLowerCase()=='pre'){var C='\r';if (B==B.parentNode.firstChild) C+='\r';return FCKXHtml._AppendNode(A,this.XML.createTextNode(C));};if (B.getAttribute('_fckfakelement')) return FCKXHtml._AppendNode(A,FCK.GetRealElement(B));if (FCKBrowserInfo.IsGecko&&(B.hasAttribute('_moz_editor_bogus_node')||B.getAttribute('type')=='_moz')){if (B.nextSibling) return false;else{B.removeAttribute('_moz_editor_bogus_node');B.removeAttribute('type');}};if (B.getAttribute('_fcktemp')) return false;var D=B.tagName.toLowerCase();if (FCKBrowserInfo.IsIE){if (B.scopeName&&B.scopeName!='HTML'&&B.scopeName!='FCK') D=B.scopeName.toLowerCase()+':'+D;}else{if (D.StartsWith('fck:')) D=D.Remove(0,4);};if (!FCKRegexLib.ElementName.test(D)) return false;if (B._fckxhtmljob&&B._fckxhtmljob==FCKXHtml.CurrentJobNum) return false;var E=this.XML.createElement(D);FCKXHtml._AppendAttributes(A,B,E,D);B._fckxhtmljob=FCKXHtml.CurrentJobNum;var F=FCKXHtml.TagProcessors[D];if (F) E=F(E,B,A);else E=this._AppendChildNodes(E,B,Boolean(FCKListsLib.NonEmptyBlockElements[D]));if (!E) return false;A.appendChild(E);break;case 3:if (B.parentNode&&B.parentNode.nodeName.IEquals('pre')) return this._AppendTextNode(A,B.nodeValue);return this._AppendTextNode(A,B.nodeValue.ReplaceNewLineChars(' '));case 8:if (FCKBrowserInfo.IsIE&&!B.innerHTML) break;try { A.appendChild(this.XML.createComment(B.nodeValue));}catch (e) {};break;default:A.appendChild(this.XML.createComment("Element not supported - Type: "+B.nodeType+" Name: "+B.nodeName));break;};return true;};FCKXHtml._AppendSpecialItem=function(A){return '___FCKsi___'+(FCKXHtml.SpecialBlocks.push(A)-1);};FCKXHtml._AppendEntity=function(A,B){A.appendChild(this.XML.createTextNode('#?-:'+B+';'));};FCKXHtml._AppendTextNode=function(A,B){var C=B.length>0;if (C) A.appendChild(this.XML.createTextNode(B.replace(FCKXHtmlEntities.EntitiesRegex,FCKXHtml_GetEntity)));return C;};function FCKXHtml_GetEntity(A){var B=FCKXHtmlEntities.Entities[A]||('#'+A.charCodeAt(0));return '#?-:'+B+';';};FCKXHtml.TagProcessors={a:function(A,B){if (B.innerHTML.Trim().length==0&&!B.name) return false;var C=B.getAttribute('_fcksavedurl');if (C!=null) FCKXHtml._AppendAttribute(A,'href',C);if (FCKBrowserInfo.IsIE){if (B.name) FCKXHtml._AppendAttribute(A,'name',B.name);};A=FCKXHtml._AppendChildNodes(A,B,false);return A;},area:function(A,B){var C=B.getAttribute('_fcksavedurl');if (C!=null) FCKXHtml._AppendAttribute(A,'href',C);if (FCKBrowserInfo.IsIE){if (!A.attributes.getNamedItem('coords')){var D=B.getAttribute('coords',2);if (D&&D!='0,0,0') FCKXHtml._AppendAttribute(A,'coords',D);};if (!A.attributes.getNamedItem('shape')){var E=B.getAttribute('shape',2);if (E&&E.length>0) FCKXHtml._AppendAttribute(A,'shape',E.toLowerCase());}};return A;},body:function(A,B){A=FCKXHtml._AppendChildNodes(A,B,false);A.removeAttribute('spellcheck');return A;},iframe:function(A,B){var C=B.innerHTML;if (FCKBrowserInfo.IsGecko) C=FCKTools.HTMLDecode(C);C=C.replace(/\s_fcksavedurl="[^"]*"/g,'');A.appendChild(FCKXHtml.XML.createTextNode(FCKXHtml._AppendSpecialItem(C)));return A;},img:function(A,B){if (!A.attributes.getNamedItem('alt')) FCKXHtml._AppendAttribute(A,'alt','');var C=B.getAttribute('_fcksavedurl');if (C!=null) FCKXHtml._AppendAttribute(A,'src',C);if (B.style.width) A.removeAttribute('width');if (B.style.height) A.removeAttribute('height');return A;},li:function(A,B,C){if (C.nodeName.IEquals(['ul','ol'])) return FCKXHtml._AppendChildNodes(A,B,true);var D=FCKXHtml.XML.createElement('ul');B._fckxhtmljob=null;do{FCKXHtml._AppendNode(D,B);do{B=FCKDomTools.GetNextSibling(B);} while (B&&B.nodeType==3&&B.nodeValue.Trim().length==0)}      while (B&&B.nodeName.toLowerCase()=='li') return D;},ol:function(A,B,C){if (B.innerHTML.Trim().length==0) return false;var D=C.lastChild;if (D&&D.nodeType==3) D=D.previousSibling;if (D&&D.nodeName.toUpperCase()=='LI'){B._fckxhtmljob=null;FCKXHtml._AppendNode(D,B);return false;};A=FCKXHtml._AppendChildNodes(A,B);return A;},pre:function (A,B){var C=B.firstChild;if (C&&C.nodeType==3) A.appendChild(FCKXHtml.XML.createTextNode(FCKXHtml._AppendSpecialItem('\r\n')));FCKXHtml._AppendChildNodes(A,B,true);return A;},script:function(A,B){if (!A.attributes.getNamedItem('type')) FCKXHtml._AppendAttribute(A,'type','text/javascript');A.appendChild(FCKXHtml.XML.createTextNode(FCKXHtml._AppendSpecialItem(B.text)));return A;},span:function(A,B){if (B.innerHTML.length==0) return false;A=FCKXHtml._AppendChildNodes(A,B,false);return A;},style:function(A,B){if (!A.attributes.getNamedItem('type')) FCKXHtml._AppendAttribute(A,'type','text/css');var C=B.innerHTML;if (FCKBrowserInfo.IsIE) C=C.replace(/^(\r\n|\n|\r)/,'');A.appendChild(FCKXHtml.XML.createTextNode(FCKXHtml._AppendSpecialItem(C)));return A;},title:function(A,B){A.appendChild(FCKXHtml.XML.createTextNode(FCK.EditorDocument.title));return A;}};FCKXHtml.TagProcessors.ul=FCKXHtml.TagProcessors.ol;\r
-FCKXHtml._GetMainXmlString=function(){return (new XMLSerializer()).serializeToString(this.MainNode);};FCKXHtml._AppendAttributes=function(A,B,C){var D=B.attributes;for (var n=0;n<D.length;n++){var E=D[n];if (E.specified){var F=E.nodeName.toLowerCase();var G;if (F.StartsWith('_fck')) continue;else if (F.indexOf('_moz')==0) continue;else if (F=='class'){G=E.nodeValue.replace(FCKRegexLib.FCK_Class,'');if (G.length==0) continue;}else if (E.nodeValue===true) G=F;else G=B.getAttribute(F,2);this._AppendAttribute(C,F,G);}}};if (FCKBrowserInfo.IsOpera){FCKXHtml.TagProcessors['head']=function(A,B){FCKXHtml.XML._HeadElement=A;A=FCKXHtml._AppendChildNodes(A,B,true);return A;};FCKXHtml.TagProcessors['meta']=function(A,B,C){if (B.parentNode.nodeName.toLowerCase()!='head'){var D=FCKXHtml.XML._HeadElement;if (D&&C!=D){delete B._fckxhtmljob;FCKXHtml._AppendNode(D,B);return null;}};return A;}};if (FCKBrowserInfo.IsGecko){FCKXHtml.TagProcessors['link']=function(A,B){if (B.href.substr(0,9).toLowerCase()=='chrome://') return false;return A;}};\r
-var FCKCodeFormatter={};FCKCodeFormatter.Init=function(){var A=this.Regex={};A.BlocksOpener=/\<(P|DIV|H1|H2|H3|H4|H5|H6|ADDRESS|PRE|OL|UL|LI|DL|DT|DD|TITLE|META|LINK|BASE|SCRIPT|LINK|TD|TH|AREA|OPTION)[^\>]*\>/gi;A.BlocksCloser=/\<\/(P|DIV|H1|H2|H3|H4|H5|H6|ADDRESS|PRE|OL|UL|LI|DL|DT|DD|TITLE|META|LINK|BASE|SCRIPT|LINK|TD|TH|AREA|OPTION)[^\>]*\>/gi;A.NewLineTags=/\<(BR|HR)[^\>]*\>/gi;A.MainTags=/\<\/?(HTML|HEAD|BODY|FORM|TABLE|TBODY|THEAD|TR)[^\>]*\>/gi;A.LineSplitter=/\s*\n+\s*/g;A.IncreaseIndent=/^\<(HTML|HEAD|BODY|FORM|TABLE|TBODY|THEAD|TR|UL|OL|DL)[ \/\>]/i;A.DecreaseIndent=/^\<\/(HTML|HEAD|BODY|FORM|TABLE|TBODY|THEAD|TR|UL|OL|DL)[ \>]/i;A.FormatIndentatorRemove=new RegExp('^'+FCKConfig.FormatIndentator);A.ProtectedTags=/(<PRE[^>]*>)([\s\S]*?)(<\/PRE>)/gi;};FCKCodeFormatter._ProtectData=function(A,B,C,D){return B+'___FCKpd___'+(FCKCodeFormatter.ProtectedData.push(C)-1)+D;};FCKCodeFormatter.Format=function(A){if (!this.Regex) this.Init();FCKCodeFormatter.ProtectedData=[];var B=A.replace(this.Regex.ProtectedTags,FCKCodeFormatter._ProtectData);B=B.replace(this.Regex.BlocksOpener,'\n$&');B=B.replace(this.Regex.BlocksCloser,'$&\n');B=B.replace(this.Regex.NewLineTags,'$&\n');B=B.replace(this.Regex.MainTags,'\n$&\n');var C='';var D=B.split(this.Regex.LineSplitter);B='';for (var i=0;i<D.length;i++){var E=D[i];if (E.length==0) continue;if (this.Regex.DecreaseIndent.test(E)) C=C.replace(this.Regex.FormatIndentatorRemove,'');B+=C+E+'\n';if (this.Regex.IncreaseIndent.test(E)) C+=FCKConfig.FormatIndentator;};for (var j=0;j<FCKCodeFormatter.ProtectedData.length;j++){var F=new RegExp('___FCKpd___'+j);B=B.replace(F,FCKCodeFormatter.ProtectedData[j].replace(/\$/g,'$$$$'));};return B.Trim();};\r
-var FCKUndo={};FCKUndo.SavedData=[];FCKUndo.CurrentIndex=-1;FCKUndo.TypesCount=0;FCKUndo.Changed=false;FCKUndo.MaxTypes=25;FCKUndo.Typing=false;FCKUndo.SaveLocked=false;FCKUndo._GetBookmark=function(){FCKSelection.Restore();var A=new FCKDomRange(FCK.EditorWindow);try{A.MoveToSelection();}catch (e){return null;};if (FCKBrowserInfo.IsIE){var B=A.CreateBookmark();var C=FCK.EditorDocument.body.innerHTML;A.MoveToBookmark(B);return [B,C];};return A.CreateBookmark2();};FCKUndo._SelectBookmark=function(A){if (!A) return;var B=new FCKDomRange(FCK.EditorWindow);if (A instanceof Object){if (FCKBrowserInfo.IsIE) B.MoveToBookmark(A[0]);else B.MoveToBookmark2(A);try{B.Select();}catch (e){B.MoveToPosition(FCK.EditorDocument.body,4);B.Select();}}};FCKUndo._CompareCursors=function(A,B){for (var i=0;i<Math.min(A.length,B.length);i++){if (A[i]<B[i]) return-1;else if (A[i]>B[i]) return 1;};if (A.length<B.length) return-1;else if (A.length>B.length) return 1;return 0;};FCKUndo._CheckIsBookmarksEqual=function(A,B){if (!(A&&B)) return false;if (FCKBrowserInfo.IsIE){var C=A[1].search(A[0].StartId);var D=B[1].search(B[0].StartId);var E=A[1].search(A[0].EndId);var F=B[1].search(B[0].EndId);return C==D&&E==F;}else{return this._CompareCursors(A.Start,B.Start)==0&&this._CompareCursors(A.End,B.End)==0;}};FCKUndo.SaveUndoStep=function(){if (FCK.EditMode!=0||this.SaveLocked) return;if (this.SavedData.length) this.Changed=true;var A=FCK.EditorDocument.body.innerHTML;var B=this._GetBookmark();this.SavedData=this.SavedData.slice(0,this.CurrentIndex+1);if (this.CurrentIndex>0&&A==this.SavedData[this.CurrentIndex][0]&&this._CheckIsBookmarksEqual(B,this.SavedData[this.CurrentIndex][1])) return;else if (this.CurrentIndex==0&&this.SavedData.length&&A==this.SavedData[0][0]){this.SavedData[0][1]=B;return;};if (this.CurrentIndex+1>=FCKConfig.MaxUndoLevels) this.SavedData.shift();else this.CurrentIndex++;this.SavedData[this.CurrentIndex]=[A,B];FCK.Events.FireEvent("OnSelectionChange");};FCKUndo.CheckUndoState=function(){return (this.Changed||this.CurrentIndex>0);};FCKUndo.CheckRedoState=function(){return (this.CurrentIndex<(this.SavedData.length-1));};FCKUndo.Undo=function(){if (this.CheckUndoState()){if (this.CurrentIndex==(this.SavedData.length-1)){this.SaveUndoStep();};this._ApplyUndoLevel(--this.CurrentIndex);FCK.Events.FireEvent("OnSelectionChange");}};FCKUndo.Redo=function(){if (this.CheckRedoState()){this._ApplyUndoLevel(++this.CurrentIndex);FCK.Events.FireEvent("OnSelectionChange");}};FCKUndo._ApplyUndoLevel=function(A){var B=this.SavedData[A];if (!B) return;if (FCKBrowserInfo.IsIE){if (B[1]&&B[1][1]) FCK.SetInnerHtml(B[1][1]);else FCK.SetInnerHtml(B[0]);}else FCK.EditorDocument.body.innerHTML=B[0];this._SelectBookmark(B[1]);this.TypesCount=0;this.Changed=false;this.Typing=false;};\r
-var FCKEditingArea=function(A){this.TargetElement=A;this.Mode=0;if (FCK.IECleanup) FCK.IECleanup.AddItem(this,FCKEditingArea_Cleanup);};FCKEditingArea.prototype.Start=function(A,B){var C=this.TargetElement;var D=FCKTools.GetElementDocument(C);while(C.firstChild) C.removeChild(C.firstChild);if (this.Mode==0){if (FCK_IS_CUSTOM_DOMAIN) A='<script>document.domain="'+FCK_RUNTIME_DOMAIN+'";</script>'+A;if (FCKBrowserInfo.IsIE) A=A.replace(/(<base[^>]*?)\s*\/?>(?!\s*<\/base>)/gi,'$1></base>');else if (!B){var E=A.match(FCKRegexLib.BeforeBody);var F=A.match(FCKRegexLib.AfterBody);if (E&&F){var G=A.substr(E[1].length,A.length-E[1].length-F[1].length);A=E[1]+'&nbsp;'+F[1];if (FCKBrowserInfo.IsGecko&&(G.length==0||FCKRegexLib.EmptyParagraph.test(G))) G='<br type="_moz">';this._BodyHTML=G;}else this._BodyHTML=A;};var H=this.IFrame=D.createElement('iframe');var I='<script type="text/javascript" _fcktemp="true">window.onerror=function(){return true;};</script>';H.frameBorder=0;H.style.width=H.style.height='100%';if (FCK_IS_CUSTOM_DOMAIN&&FCKBrowserInfo.IsIE){window._FCKHtmlToLoad=A.replace(/<head>/i,'<head>'+I);H.src='javascript:void( (function(){document.open() ;document.domain="'+document.domain+'" ;document.write( window.parent._FCKHtmlToLoad );document.close() ;window.parent._FCKHtmlToLoad = null ;})() )';}else if (!FCKBrowserInfo.IsGecko){H.src='javascript:void(0)';};C.appendChild(H);this.Window=H.contentWindow;if (!FCK_IS_CUSTOM_DOMAIN||!FCKBrowserInfo.IsIE){var J=this.Window.document;J.open();J.write(A.replace(/<head>/i,'<head>'+I));J.close();};if (FCKBrowserInfo.IsAIR) FCKAdobeAIR.EditingArea_Start(J,A);if (FCKBrowserInfo.IsGecko10&&!B){this.Start(A,true);return;};if (H.readyState&&H.readyState!='completed'){var K=this;setTimeout(function(){try{K.Window.document.documentElement.doScroll("left");}catch(e){setTimeout(arguments.callee,0);return;};K.Window._FCKEditingArea=K;FCKEditingArea_CompleteStart.call(K.Window);},0);}else{this.Window._FCKEditingArea=this;if (FCKBrowserInfo.IsGecko10) this.Window.setTimeout(FCKEditingArea_CompleteStart,500);else FCKEditingArea_CompleteStart.call(this.Window);}}else{var L=this.Textarea=D.createElement('textarea');L.className='SourceField';L.dir='ltr';FCKDomTools.SetElementStyles(L,{width:'100%',height:'100%',border:'none',resize:'none',outline:'none'});C.appendChild(L);L.value=A;FCKTools.RunFunction(this.OnLoad);}};function FCKEditingArea_CompleteStart(){if (!this.document.body){this.setTimeout(FCKEditingArea_CompleteStart,50);return;};var A=this._FCKEditingArea;A.Document=A.Window.document;A.MakeEditable();FCKTools.RunFunction(A.OnLoad);};FCKEditingArea.prototype.MakeEditable=function(){var A=this.Document;if (FCKBrowserInfo.IsIE){A.body.disabled=true;A.body.contentEditable=true;A.body.removeAttribute("disabled");}else{try{A.body.spellcheck=(this.FFSpellChecker!==false);if (this._BodyHTML){A.body.innerHTML=this._BodyHTML;A.body.offsetLeft;this._BodyHTML=null;};A.designMode='on';A.execCommand('enableObjectResizing',false,!FCKConfig.DisableObjectResizing);A.execCommand('enableInlineTableEditing',false,!FCKConfig.DisableFFTableHandles);}catch (e){FCKTools.AddEventListener(this.Window.frameElement,'DOMAttrModified',FCKEditingArea_Document_AttributeNodeModified);}}};function FCKEditingArea_Document_AttributeNodeModified(A){var B=A.currentTarget.contentWindow._FCKEditingArea;if (B._timer) window.clearTimeout(B._timer);B._timer=FCKTools.SetTimeout(FCKEditingArea_MakeEditableByMutation,1000,B);};function FCKEditingArea_MakeEditableByMutation(){delete this._timer;FCKTools.RemoveEventListener(this.Window.frameElement,'DOMAttrModified',FCKEditingArea_Document_AttributeNodeModified);this.MakeEditable();};FCKEditingArea.prototype.Focus=function(){try{if (this.Mode==0){if (FCKBrowserInfo.IsIE) this._FocusIE();else this.Window.focus();}else{var A=FCKTools.GetElementDocument(this.Textarea);if ((!A.hasFocus||A.hasFocus())&&A.activeElement==this.Textarea) return;this.Textarea.focus();}}catch(e) {}};FCKEditingArea.prototype._FocusIE=function(){this.Document.body.setActive();this.Window.focus();var A=this.Document.selection.createRange();var B=A.parentElement();var C=B.nodeName.toLowerCase();if (B.childNodes.length>0||!(FCKListsLib.BlockElements[C]||FCKListsLib.NonEmptyBlockElements[C])){return;};A=new FCKDomRange(this.Window);A.MoveToElementEditStart(B);A.Select();};function FCKEditingArea_Cleanup(){if (this.Document){this.Document.selection.empty();this.Document.body.innerHTML="";};this.TargetElement=null;this.IFrame=null;this.Document=null;this.Textarea=null;if (this.Window){this.Window._FCKEditingArea=null;this.Window=null;}};\r
-var FCKKeystrokeHandler=function(A){this.Keystrokes={};this.CancelCtrlDefaults=(A!==false);};FCKKeystrokeHandler.prototype.AttachToElement=function(A){FCKTools.AddEventListenerEx(A,'keydown',_FCKKeystrokeHandler_OnKeyDown,this);if (FCKBrowserInfo.IsGecko10||FCKBrowserInfo.IsOpera||(FCKBrowserInfo.IsGecko&&FCKBrowserInfo.IsMac)) FCKTools.AddEventListenerEx(A,'keypress',_FCKKeystrokeHandler_OnKeyPress,this);};FCKKeystrokeHandler.prototype.SetKeystrokes=function(){for (var i=0;i<arguments.length;i++){var A=arguments[i];if (!A) continue;if (typeof(A[0])=='object') this.SetKeystrokes.apply(this,A);else{if (A.length==1) delete this.Keystrokes[A[0]];else this.Keystrokes[A[0]]=A[1]===true?true:A;}}};function _FCKKeystrokeHandler_OnKeyDown(A,B){var C=A.keyCode||A.which;var D=0;if (A.ctrlKey||A.metaKey) D+=CTRL;if (A.shiftKey) D+=SHIFT;if (A.altKey) D+=ALT;var E=C+D;var F=B._CancelIt=false;var G=B.Keystrokes[E];if (G){if (G===true||!(B.OnKeystroke&&B.OnKeystroke.apply(B,G))) return true;F=true;};if (F||(B.CancelCtrlDefaults&&D==CTRL&&(C<33||C>40))){B._CancelIt=true;if (A.preventDefault) return A.preventDefault();A.returnValue=false;A.cancelBubble=true;return false;};return true;};function _FCKKeystrokeHandler_OnKeyPress(A,B){if (B._CancelIt){if (A.preventDefault) return A.preventDefault();return false;};return true;};\r
-FCK.DTD=(function(){var X=FCKTools.Merge;var A,L,J,M,N,O,D,H,P,K,Q,F,G,C,B,E,I;A={isindex:1,fieldset:1};B={input:1,button:1,select:1,textarea:1,label:1};C=X({a:1},B);D=X({iframe:1},C);E={hr:1,ul:1,menu:1,div:1,blockquote:1,noscript:1,table:1,center:1,address:1,dir:1,pre:1,h5:1,dl:1,h4:1,noframes:1,h6:1,ol:1,h1:1,h3:1,h2:1};F={ins:1,del:1,script:1};G=X({b:1,acronym:1,bdo:1,'var':1,'#':1,abbr:1,code:1,br:1,i:1,cite:1,kbd:1,u:1,strike:1,s:1,tt:1,strong:1,q:1,samp:1,em:1,dfn:1,span:1},F);H=X({sub:1,img:1,object:1,sup:1,basefont:1,map:1,applet:1,font:1,big:1,small:1},G);I=X({p:1},H);J=X({iframe:1},H,B);K={img:1,noscript:1,br:1,kbd:1,center:1,button:1,basefont:1,h5:1,h4:1,samp:1,h6:1,ol:1,h1:1,h3:1,h2:1,form:1,font:1,'#':1,select:1,menu:1,ins:1,abbr:1,label:1,code:1,table:1,script:1,cite:1,input:1,iframe:1,strong:1,textarea:1,noframes:1,big:1,small:1,span:1,hr:1,sub:1,bdo:1,'var':1,div:1,object:1,sup:1,strike:1,dir:1,map:1,dl:1,applet:1,del:1,isindex:1,fieldset:1,ul:1,b:1,acronym:1,a:1,blockquote:1,i:1,u:1,s:1,tt:1,address:1,q:1,pre:1,p:1,em:1,dfn:1};L=X({a:1},J);M={tr:1};N={'#':1};O=X({param:1},K);P=X({form:1},A,D,E,I);Q={li:1};return {col:{},tr:{td:1,th:1},img:{},colgroup:{col:1},noscript:P,td:P,br:{},th:P,center:P,kbd:L,button:X(I,E),basefont:{},h5:L,h4:L,samp:L,h6:L,ol:Q,h1:L,h3:L,option:N,h2:L,form:X(A,D,E,I),select:{optgroup:1,option:1},font:J,ins:P,menu:Q,abbr:L,label:L,table:{thead:1,col:1,tbody:1,tr:1,colgroup:1,caption:1,tfoot:1},code:L,script:N,tfoot:M,cite:L,li:P,input:{},iframe:P,strong:J,textarea:N,noframes:P,big:J,small:J,span:J,hr:{},dt:L,sub:J,optgroup:{option:1},param:{},bdo:L,'var':J,div:P,object:O,sup:J,dd:P,strike:J,area:{},dir:Q,map:X({area:1,form:1,p:1},A,F,E),applet:O,dl:{dt:1,dd:1},del:P,isindex:{},fieldset:X({legend:1},K),thead:M,ul:Q,acronym:L,b:J,a:J,blockquote:P,caption:L,i:J,u:J,tbody:M,s:L,address:X(D,I),tt:J,legend:L,q:L,pre:X(G,C),p:L,em:J,dfn:L};})();\r
-var FCKStyle=function(A){this.Element=(A.Element||'span').toLowerCase();this._StyleDesc=A;};FCKStyle.prototype={GetType:function(){var A=this.GetType_$;if (A!=undefined) return A;var B=this.Element;if (B=='#'||FCKListsLib.StyleBlockElements[B]) A=0;else if (FCKListsLib.StyleObjectElements[B]) A=2;else A=1;return (this.GetType_$=A);},ApplyToSelection:function(A){var B=new FCKDomRange(A);B.MoveToSelection();this.ApplyToRange(B,true);},ApplyToRange:function(A,B,C){switch (this.GetType()){case 0:this.ApplyToRange=this._ApplyBlockStyle;break;case 1:this.ApplyToRange=this._ApplyInlineStyle;break;default:return;};this.ApplyToRange(A,B,C);},ApplyToObject:function(A){if (!A) return;this.BuildElement(null,A);},RemoveFromSelection:function(A){var B=new FCKDomRange(A);B.MoveToSelection();this.RemoveFromRange(B,true);},RemoveFromRange:function(A,B,C){var D;var E=this._GetAttribsForComparison();var F=this._GetOverridesForComparison();if (A.CheckIsCollapsed()){var D=A.CreateBookmark(true);var H=A.GetBookmarkNode(D,true);var I=new FCKElementPath(H.parentNode);var J=[];var K=!FCKDomTools.GetNextSibling(H);var L=K||!FCKDomTools.GetPreviousSibling(H);var M;var N=-1;for (var i=0;i<I.Elements.length;i++){var O=I.Elements[i];if (this.CheckElementRemovable(O)){if (L&&!FCKDomTools.CheckIsEmptyElement(O,function(el){return (el!=H);})){M=O;N=J.length-1;}else{var P=O.nodeName.toLowerCase();if (P==this.Element){for (var Q in E){if (FCKDomTools.HasAttribute(O,Q)){switch (Q){case 'style':this._RemoveStylesFromElement(O);break;case 'class':if (FCKDomTools.GetAttributeValue(O,Q)!=this.GetFinalAttributeValue(Q)) continue;default:FCKDomTools.RemoveAttribute(O,Q);}}}};this._RemoveOverrides(O,F[P]);if (this.GetType()==1) this._RemoveNoAttribElement(O);}}else if (L) J.push(O);L=L&&((K&&!FCKDomTools.GetNextSibling(O))||(!K&&!FCKDomTools.GetPreviousSibling(O)));if (M&&(!L||(i==I.Elements.length-1))){var R=FCKDomTools.RemoveNode(H);for (var j=0;j<=N;j++){var S=FCKDomTools.CloneElement(J[j]);S.appendChild(R);R=S;};if (K) FCKDomTools.InsertAfterNode(M,R);else M.parentNode.insertBefore(R,M);L=false;M=null;}};if (B) A.SelectBookmark(D);if (C) A.MoveToBookmark(D);return;};A.Expand('inline_elements');D=A.CreateBookmark(true);var T=A.GetBookmarkNode(D,true);var U=A.GetBookmarkNode(D,false);A.Release(true);var I=new FCKElementPath(T);var X=I.Elements;var O;for (var i=1;i<X.length;i++){O=X[i];if (O==I.Block||O==I.BlockLimit) break;if (this.CheckElementRemovable(O)) FCKDomTools.BreakParent(T,O,A);};I=new FCKElementPath(U);X=I.Elements;for (var i=1;i<X.length;i++){O=X[i];if (O==I.Block||O==I.BlockLimit) break;b=O.nodeName.toLowerCase();if (this.CheckElementRemovable(O)) FCKDomTools.BreakParent(U,O,A);};var Z=FCKDomTools.GetNextSourceNode(T,true);while (Z){var a=FCKDomTools.GetNextSourceNode(Z);if (Z.nodeType==1){var b=Z.nodeName.toLowerCase();var c=(b==this.Element);if (c){for (var Q in E){if (FCKDomTools.HasAttribute(Z,Q)){switch (Q){case 'style':this._RemoveStylesFromElement(Z);break;case 'class':if (FCKDomTools.GetAttributeValue(Z,Q)!=this.GetFinalAttributeValue(Q)) continue;default:FCKDomTools.RemoveAttribute(Z,Q);}}}}else c=!!F[b];if (c){this._RemoveOverrides(Z,F[b]);this._RemoveNoAttribElement(Z);}};if (a==U) break;Z=a;};this._FixBookmarkStart(T);if (B) A.SelectBookmark(D);if (C) A.MoveToBookmark(D);},CheckElementRemovable:function(A,B){if (!A) return false;var C=A.nodeName.toLowerCase();if (C==this.Element){if (!B&&!FCKDomTools.HasAttributes(A)) return true;var D=this._GetAttribsForComparison();var E=(D._length==0);for (var F in D){if (F=='_length') continue;if (this._CompareAttributeValues(F,FCKDomTools.GetAttributeValue(A,F),(this.GetFinalAttributeValue(F)||''))){E=true;if (!B) break;}else{E=false;if (B) return false;}};if (E) return true;};var G=this._GetOverridesForComparison()[C];if (G){if (!(D=G.Attributes)) return true;for (var i=0;i<D.length;i++){var H=D[i][0];if (FCKDomTools.HasAttribute(A,H)){var I=D[i][1];if (I==null||(typeof I=='string'&&FCKDomTools.GetAttributeValue(A,H)==I)||I.test(FCKDomTools.GetAttributeValue(A,H))) return true;}}};return false;},CheckActive:function(A){switch (this.GetType()){case 0:return this.CheckElementRemovable(A.Block||A.BlockLimit,true);case 1:var B=A.Elements;for (var i=0;i<B.length;i++){var C=B[i];if (C==A.Block||C==A.BlockLimit) continue;if (this.CheckElementRemovable(C,true)) return true;}};return false;},RemoveFromElement:function(A){var B=this._GetAttribsForComparison();var C=this._GetOverridesForComparison();var D=A.getElementsByTagName(this.Element);for (var i=D.length-1;i>=0;i--){var E=D[i];for (var F in B){if (FCKDomTools.HasAttribute(E,F)){switch (F){case 'style':this._RemoveStylesFromElement(E);break;case 'class':if (FCKDomTools.GetAttributeValue(E,F)!=this.GetFinalAttributeValue(F)) continue;default:FCKDomTools.RemoveAttribute(E,F);}}};this._RemoveOverrides(E,C[this.Element]);this._RemoveNoAttribElement(E);};for (var G in C){if (G!=this.Element){D=A.getElementsByTagName(G);for (var i=D.length-1;i>=0;i--){var E=D[i];this._RemoveOverrides(E,C[G]);this._RemoveNoAttribElement(E);}}}},_RemoveStylesFromElement:function(A){var B=A.style.cssText;var C=this.GetFinalStyleValue();if (B.length>0&&C.length==0) return;C='(^|;)\\s*('+C.replace(/\s*([^ ]+):.*?(;|$)/g,'$1|').replace(/\|$/,'')+'):[^;]+';var D=new RegExp(C,'gi');B=B.replace(D,'').Trim();if (B.length==0||B==';') FCKDomTools.RemoveAttribute(A,'style');else A.style.cssText=B.replace(D,'');},_RemoveOverrides:function(A,B){var C=B&&B.Attributes;if (C){for (var i=0;i<C.length;i++){var D=C[i][0];if (FCKDomTools.HasAttribute(A,D)){var E=C[i][1];if (E==null||(E.test&&E.test(FCKDomTools.GetAttributeValue(A,D)))||(typeof E=='string'&&FCKDomTools.GetAttributeValue(A,D)==E)) FCKDomTools.RemoveAttribute(A,D);}}}},_RemoveNoAttribElement:function(A){if (!FCKDomTools.HasAttributes(A)){var B=A.firstChild;var C=A.lastChild;FCKDomTools.RemoveNode(A,true);this._MergeSiblings(B);if (B!=C) this._MergeSiblings(C);}},BuildElement:function(A,B){var C=B||A.createElement(this.Element);var D=this._StyleDesc.Attributes;var E;if (D){for (var F in D){E=this.GetFinalAttributeValue(F);if (F.toLowerCase()=='class') C.className=E;else C.setAttribute(F,E);}};if (this._GetStyleText().length>0) C.style.cssText=this.GetFinalStyleValue();return C;},_CompareAttributeValues:function(A,B,C){if (A=='style'&&B&&C){B=B.replace(/;$/,'').toLowerCase();C=C.replace(/;$/,'').toLowerCase();};return (B==C||((B===null||B==='')&&(C===null||C==='')))},GetFinalAttributeValue:function(A){var B=this._StyleDesc.Attributes;var B=B?B[A]:null;if (!B&&A=='style') return this.GetFinalStyleValue();if (B&&this._Variables) B=B.Replace(FCKRegexLib.StyleVariableAttName,this._GetVariableReplace,this);return B;},GetFinalStyleValue:function(){var A=this._GetStyleText();if (A.length>0&&this._Variables){A=A.Replace(FCKRegexLib.StyleVariableAttName,this._GetVariableReplace,this);A=FCKTools.NormalizeCssText(A);};return A;},_GetVariableReplace:function(){return this._Variables[arguments[2]]||arguments[0];},SetVariable:function(A,B){var C=this._Variables;if (!C) C=this._Variables={};this._Variables[A]=B;},_FromPre:function(A,B,C){var D=B.innerHTML;D=D.replace(/(\r\n|\r)/g,'\n');D=D.replace(/^[ \t]*\n/,'');D=D.replace(/\n$/,'');D=D.replace(/^[ \t]+|[ \t]+$/g,function(match,offset,s){if (match.length==1) return '&nbsp;';else if (offset==0) return new Array(match.length).join('&nbsp;')+' ';else return ' '+new Array(match.length).join('&nbsp;');});var E=new FCKHtmlIterator(D);var F=[];E.Each(function(isTag,value){if (!isTag){value=value.replace(/\n/g,'<br>');value=value.replace(/[ \t]{2,}/g,function (match){return new Array(match.length).join('&nbsp;')+' ';});};F.push(value);});C.innerHTML=F.join('');return C;},_ToPre:function(A,B,C){var D=B.innerHTML.Trim();D=D.replace(/[ \t\r\n]*(<br[^>]*>)[ \t\r\n]*/gi,'<br />');var E=new FCKHtmlIterator(D);var F=[];E.Each(function(isTag,value){if (!isTag) value=value.replace(/([ \t\n\r]+|&nbsp;)/g,' ');else if (isTag&&value=='<br />') value='\n';F.push(value);});if (FCKBrowserInfo.IsIE){var G=A.createElement('div');G.appendChild(C);C.outerHTML='<pre>\n'+F.join('')+'</pre>';C=G.removeChild(G.firstChild);}else C.innerHTML=F.join('');return C;},_CheckAndMergePre:function(A,B){if (A!=FCKDomTools.GetPreviousSourceElement(B,true)) return;var C=A.innerHTML.replace(/\n$/,'')+'\n\n'+B.innerHTML.replace(/^\n/,'');if (FCKBrowserInfo.IsIE) B.outerHTML='<pre>'+C+'</pre>';else B.innerHTML=C;FCKDomTools.RemoveNode(A);},_CheckAndSplitPre:function(A){var B;var C=A.firstChild;C=C&&C.nextSibling;while (C){var D=C.nextSibling;if (D&&D.nextSibling&&C.nodeName.IEquals('br')&&D.nodeName.IEquals('br')){FCKDomTools.RemoveNode(C);C=D.nextSibling;FCKDomTools.RemoveNode(D);B=FCKDomTools.InsertAfterNode(B||A,FCKDomTools.CloneElement(A));continue;};if (B){C=C.previousSibling;FCKDomTools.MoveNode(C.nextSibling,B);};C=C.nextSibling;}},_ApplyBlockStyle:function(A,B,C){var D;if (B) D=A.CreateBookmark();var E=new FCKDomRangeIterator(A);E.EnforceRealBlocks=true;var F;var G=A.Window.document;var H;while((F=E.GetNextParagraph())){var I=this.BuildElement(G);var J=I.nodeName.IEquals('pre');var K=F.nodeName.IEquals('pre');var L=J&&!K;var M=!J&&K;if (L) I=this._ToPre(G,F,I);else if (M) I=this._FromPre(G,F,I);else FCKDomTools.MoveChildren(F,I);F.parentNode.insertBefore(I,F);FCKDomTools.RemoveNode(F);if (J){if (H) this._CheckAndMergePre(H,I);H=I;}else if (M) this._CheckAndSplitPre(I);};if (B) A.SelectBookmark(D);if (C) A.MoveToBookmark(D);},_ApplyInlineStyle:function(A,B,C){var D=A.Window.document;if (A.CheckIsCollapsed()){var E=this.BuildElement(D);A.InsertNode(E);A.MoveToPosition(E,2);A.Select();return;};var F=this.Element;var G=FCK.DTD[F]||FCK.DTD.span;var H=this._GetAttribsForComparison();var I;A.Expand('inline_elements');var J=A.CreateBookmark(true);var K=A.GetBookmarkNode(J,true);var L=A.GetBookmarkNode(J,false);A.Release(true);var M=FCKDomTools.GetNextSourceNode(K,true);while (M){var N=false;var O=M.nodeType;var P=O==1?M.nodeName.toLowerCase():null;if (!P||G[P]){if ((FCK.DTD[M.parentNode.nodeName.toLowerCase()]||FCK.DTD.span)[F]||!FCK.DTD[F]){if (!A.CheckHasRange()) A.SetStart(M,3);if (O!=1||M.childNodes.length==0){var Q=M;var R=Q.parentNode;while (Q==R.lastChild&&G[R.nodeName.toLowerCase()]){Q=R;};A.SetEnd(Q,4);if (Q==Q.parentNode.lastChild&&!G[Q.parentNode.nodeName.toLowerCase()]) N=true;}else{A.SetEnd(M,3);}}else N=true;}else N=true;M=FCKDomTools.GetNextSourceNode(M);if (M==L){M=null;N=true;};if (N&&A.CheckHasRange()&&!A.CheckIsCollapsed()){I=this.BuildElement(D);A.ExtractContents().AppendTo(I);if (I.innerHTML.RTrim().length>0){A.InsertNode(I);this.RemoveFromElement(I);this._MergeSiblings(I,this._GetAttribsForComparison());if (!FCKBrowserInfo.IsIE) I.normalize();};A.Release(true);}};this._FixBookmarkStart(K);if (B) A.SelectBookmark(J);if (C) A.MoveToBookmark(J);},_FixBookmarkStart:function(A){var B;while ((B=A.nextSibling)){if (B.nodeType==1&&FCKListsLib.InlineNonEmptyElements[B.nodeName.toLowerCase()]){if (!B.firstChild) FCKDomTools.RemoveNode(B);else FCKDomTools.MoveNode(A,B,true);continue;};if (B.nodeType==3&&B.length==0){FCKDomTools.RemoveNode(B);continue;};break;}},_MergeSiblings:function(A,B){if (!A||A.nodeType!=1||!FCKListsLib.InlineNonEmptyElements[A.nodeName.toLowerCase()]) return;this._MergeNextSibling(A,B);this._MergePreviousSibling(A,B);},_MergeNextSibling:function(A,B){var C=A.nextSibling;var D=(C&&C.nodeType==1&&C.getAttribute('_fck_bookmark'));if (D) C=C.nextSibling;if (C&&C.nodeType==1&&C.nodeName==A.nodeName){if (!B) B=this._CreateElementAttribsForComparison(A);if (this._CheckAttributesMatch(C,B)){var E=A.lastChild;if (D) FCKDomTools.MoveNode(A.nextSibling,A);FCKDomTools.MoveChildren(C,A);FCKDomTools.RemoveNode(C);if (E) this._MergeNextSibling(E);}}},_MergePreviousSibling:function(A,B){var C=A.previousSibling;var D=(C&&C.nodeType==1&&C.getAttribute('_fck_bookmark'));if (D) C=C.previousSibling;if (C&&C.nodeType==1&&C.nodeName==A.nodeName){if (!B) B=this._CreateElementAttribsForComparison(A);if (this._CheckAttributesMatch(C,B)){var E=A.firstChild;if (D) FCKDomTools.MoveNode(A.previousSibling,A,true);FCKDomTools.MoveChildren(C,A,true);FCKDomTools.RemoveNode(C);if (E) this._MergePreviousSibling(E);}}},_GetStyleText:function(){var A=this._StyleDesc.Styles;var B=(this._StyleDesc.Attributes?this._StyleDesc.Attributes['style']||'':'');if (B.length>0) B+=';';for (var C in A) B+=C+':'+A[C]+';';if (B.length>0&&!(/#\(/.test(B))){B=FCKTools.NormalizeCssText(B);};return (this._GetStyleText=function() { return B;})();},_GetAttribsForComparison:function(){var A=this._GetAttribsForComparison_$;if (A) return A;A={};var B=this._StyleDesc.Attributes;if (B){for (var C in B){A[C.toLowerCase()]=B[C].toLowerCase();}};if (this._GetStyleText().length>0){A['style']=this._GetStyleText().toLowerCase();};FCKTools.AppendLengthProperty(A,'_length');return (this._GetAttribsForComparison_$=A);},_GetOverridesForComparison:function(){var A=this._GetOverridesForComparison_$;if (A) return A;A={};var B=this._StyleDesc.Overrides;if (B){if (!FCKTools.IsArray(B)) B=[B];for (var i=0;i<B.length;i++){var C=B[i];var D;var E;var F;if (typeof C=='string') D=C.toLowerCase();else{D=C.Element?C.Element.toLowerCase():this.Element;F=C.Attributes;};E=A[D]||(A[D]={});if (F){var G=(E.Attributes=E.Attributes||[]);for (var H in F){G.push([H.toLowerCase(),F[H]]);}}}};return (this._GetOverridesForComparison_$=A);},_CreateElementAttribsForComparison:function(A){var B={};var C=0;for (var i=0;i<A.attributes.length;i++){var D=A.attributes[i];if (D.specified){B[D.nodeName.toLowerCase()]=FCKDomTools.GetAttributeValue(A,D).toLowerCase();C++;}};B._length=C;return B;},_CheckAttributesMatch:function(A,B){var C=A.attributes;var D=0;for (var i=0;i<C.length;i++){var E=C[i];if (E.specified){var F=E.nodeName.toLowerCase();var G=B[F];if (!G) break;if (G!=FCKDomTools.GetAttributeValue(A,E).toLowerCase()) break;D++;}};return (D==B._length);}};\r
-var FCKStyles=FCK.Styles={_Callbacks:{},_ObjectStyles:{},ApplyStyle:function(A){if (typeof A=='string') A=this.GetStyles()[A];if (A){if (A.GetType()==2) A.ApplyToObject(FCKSelection.GetSelectedElement());else A.ApplyToSelection(FCK.EditorWindow);FCK.Events.FireEvent('OnSelectionChange');}},RemoveStyle:function(A){if (typeof A=='string') A=this.GetStyles()[A];if (A){A.RemoveFromSelection(FCK.EditorWindow);FCK.Events.FireEvent('OnSelectionChange');}},AttachStyleStateChange:function(A,B,C){var D=this._Callbacks[A];if (!D) D=this._Callbacks[A]=[];D.push([B,C]);},CheckSelectionChanges:function(){var A=FCKSelection.GetBoundaryParentElement(true);if (!A) return;var B=new FCKElementPath(A);var C=this.GetStyles();for (var D in C){var E=this._Callbacks[D];if (E){var F=C[D];var G=F.CheckActive(B);if (G!=(F._LastState||null)){F._LastState=G;for (var i=0;i<E.length;i++){var H=E[i][0];var I=E[i][1];H.call(I||window,D,G);}}}}},CheckStyleInSelection:function(A){return false;},_GetRemoveFormatTagsRegex:function (){var A=new RegExp('^(?:'+FCKConfig.RemoveFormatTags.replace(/,/g,'|')+')$','i');return (this._GetRemoveFormatTagsRegex=function(){return A;})&&A;},RemoveAll:function(){var A=new FCKDomRange(FCK.EditorWindow);A.MoveToSelection();if (A.CheckIsCollapsed()) return;A.Expand('inline_elements');var B=A.CreateBookmark(true);var C=A.GetBookmarkNode(B,true);var D=A.GetBookmarkNode(B,false);A.Release(true);var E=this._GetRemoveFormatTagsRegex();var F=new FCKElementPath(C);var G=F.Elements;var H;for (var i=1;i<G.length;i++){H=G[i];if (H==F.Block||H==F.BlockLimit) break;if (E.test(H.nodeName)) FCKDomTools.BreakParent(C,H,A);};F=new FCKElementPath(D);G=F.Elements;for (var i=1;i<G.length;i++){H=G[i];if (H==F.Block||H==F.BlockLimit) break;elementName=H.nodeName.toLowerCase();if (E.test(H.nodeName)) FCKDomTools.BreakParent(D,H,A);};var I=FCKDomTools.GetNextSourceNode(C,true,1);while (I){if (I==D) break;var J=FCKDomTools.GetNextSourceNode(I,false,1);if (E.test(I.nodeName)) FCKDomTools.RemoveNode(I,true);else FCKDomTools.RemoveAttributes(I,FCKConfig.RemoveAttributesArray);I=J;};A.SelectBookmark(B);FCK.Events.FireEvent('OnSelectionChange');},GetStyle:function(A){return this.GetStyles()[A];},GetStyles:function(){var A=this._GetStyles;if (!A){A=this._GetStyles=FCKTools.Merge(this._LoadStylesCore(),this._LoadStylesCustom(),this._LoadStylesXml());};return A;},CheckHasObjectStyle:function(A){return!!this._ObjectStyles[A];},_LoadStylesCore:function(){var A={};var B=FCKConfig.CoreStyles;for (var C in B){var D=A['_FCK_'+C]=new FCKStyle(B[C]);D.IsCore=true;};return A;},_LoadStylesCustom:function(){var A={};var B=FCKConfig.CustomStyles;if (B){for (var C in B){var D=A[C]=new FCKStyle(B[C]);D.Name=C;}};return A;},_LoadStylesXml:function(){var A={};var B=FCKConfig.StylesXmlPath;if (!B||B.length==0) return A;var C=new FCKXml();C.LoadUrl(B);var D=FCKXml.TransformToObject(C.SelectSingleNode('Styles'));var E=D.$Style;if (!E) return A;for (var i=0;i<E.length;i++){var F=E[i];var G=(F.element||'').toLowerCase();if (G.length==0) throw('The element name is required. Error loading "'+B+'"');var H={Element:G,Attributes:{},Styles:{},Overrides:[]};var I=F.$Attribute||[];for (var j=0;j<I.length;j++){H.Attributes[I[j].name]=I[j].value;};var J=F.$Style||[];for (j=0;j<J.length;j++){H.Styles[J[j].name]=J[j].value;};var K=F.$Override;if (K){for (j=0;j<K.length;j++){var L=K[j];var M={Element:L.element};var N=L.$Attribute;if (N){M.Attributes={};for (var k=0;k<N.length;k++){var O=N[k].value||null;if (O){var P=O&&FCKRegexLib.RegExp.exec(O);if (P) O=new RegExp(P[1],P[2]||'');};M.Attributes[N[k].name]=O;}};H.Overrides.push(M);}};var Q=new FCKStyle(H);Q.Name=F.name||G;if (Q.GetType()==2) this._ObjectStyles[G]=true;A[Q.Name]=Q;};return A;}};\r
+var FCKEvents=function(A){this.Owner=A;this._RegisteredEvents={};};FCKEvents.prototype.AttachEvent=function(A,B){var C;if (!(C=this._RegisteredEvents[A])) this._RegisteredEvents[A]=[B];else C.push(B);};FCKEvents.prototype.FireEvent=function(A,B){var C=true;var D=this._RegisteredEvents[A];if (D){for (var i=0;i<D.length;i++) C=(D[i](this.Owner,B)&&C);};return C;};\r
+var FCK={Name:FCKURLParams['InstanceName'],Status:0,EditMode:0,Toolbar:null,HasFocus:false,AttachToOnSelectionChange:function(A){this.Events.AttachEvent('OnSelectionChange',A);},GetLinkedFieldValue:function(){return this.LinkedField.value;},GetParentForm:function(){return this.LinkedField.form;},StartupValue:'',IsDirty:function(){if (this.EditMode==1) return (this.StartupValue!=this.EditingArea.Textarea.value);else return (this.StartupValue!=this.EditorDocument.body.innerHTML);},ResetIsDirty:function(){if (this.EditMode==1) this.StartupValue=this.EditingArea.Textarea.value;else if (this.EditorDocument.body) this.StartupValue=this.EditorDocument.body.innerHTML;},StartEditor:function(){this.TempBaseTag=FCKConfig.BaseHref.length>0?'<base href="'+FCKConfig.BaseHref+'" _fcktemp="true"></base>':'';var A=FCK.KeystrokeHandler=new FCKKeystrokeHandler();A.OnKeystroke=_FCK_KeystrokeHandler_OnKeystroke;A.SetKeystrokes(FCKConfig.Keystrokes);if (FCKBrowserInfo.IsIE7){if ((CTRL+86/*V*/) in A.Keystrokes) A.SetKeystrokes([CTRL+86,true]);if ((SHIFT+45/*INS*/) in A.Keystrokes) A.SetKeystrokes([SHIFT+45,true]);};this.EditingArea=new FCKEditingArea(document.getElementById('xEditingArea'));this.EditingArea.FFSpellChecker=FCKConfig.FirefoxSpellChecker;FCKListsLib.Setup();this.SetHTML(this.GetLinkedFieldValue(),true);},Focus:function(){FCK.EditingArea.Focus();},SetStatus:function(A){this.Status=A;if (A==1){FCKFocusManager.AddWindow(window,true);if (FCKBrowserInfo.IsIE) FCKFocusManager.AddWindow(window.frameElement,true);if (FCKConfig.StartupFocus) FCK.Focus();};this.Events.FireEvent('OnStatusChange',A);},FixBody:function(){var A=FCKConfig.EnterMode;if (A!='p'&&A!='div') return;var B=this.EditorDocument;if (!B) return;var C=B.body;if (!C) return;FCKDomTools.TrimNode(C);var D=C.firstChild;var E;while (D){var F=false;switch (D.nodeType){case 1:if (!FCKListsLib.BlockElements[D.nodeName.toLowerCase()]) F=true;break;case 3:if (E||D.nodeValue.Trim().length>0) F=true;};if (F){var G=D.parentNode;if (!E) E=G.insertBefore(B.createElement(A),D);E.appendChild(G.removeChild(D));D=E.nextSibling;}else{if (E){FCKDomTools.TrimNode(E);E=null;};D=D.nextSibling;}};if (E) FCKDomTools.TrimNode(E);},GetXHTML:function(A){if (FCK.EditMode==1) return FCK.EditingArea.Textarea.value;this.FixBody();var B;var C=FCK.EditorDocument;if (!C) return null;if (FCKConfig.FullPage){B=FCKXHtml.GetXHTML(C.getElementsByTagName('html')[0],true,A);if (FCK.DocTypeDeclaration&&FCK.DocTypeDeclaration.length>0) B=FCK.DocTypeDeclaration+'\n'+B;if (FCK.XmlDeclaration&&FCK.XmlDeclaration.length>0) B=FCK.XmlDeclaration+'\n'+B;}else{B=FCKXHtml.GetXHTML(C.body,false,A);if (FCKConfig.IgnoreEmptyParagraphValue&&FCKRegexLib.EmptyOutParagraph.test(B)) B='';};B=FCK.ProtectEventsRestore(B);if (FCKBrowserInfo.IsIE) B=B.replace(FCKRegexLib.ToReplace,'$1');return FCKConfig.ProtectedSource.Revert(B);},UpdateLinkedField:function(){FCK.LinkedField.value=FCK.GetXHTML(FCKConfig.FormatOutput);FCK.Events.FireEvent('OnAfterLinkedFieldUpdate');},RegisteredDoubleClickHandlers:{},OnDoubleClick:function(A){var B=FCK.RegisteredDoubleClickHandlers[A.tagName];if (B) B(A);},RegisterDoubleClickHandler:function(A,B){FCK.RegisteredDoubleClickHandlers[B.toUpperCase()]=A;},OnAfterSetHTML:function(){FCKDocumentProcessor.Process(FCK.EditorDocument);FCKUndo.SaveUndoStep();FCK.Events.FireEvent('OnSelectionChange');FCK.Events.FireEvent('OnAfterSetHTML');},ProtectUrls:function(A){A=A.replace(FCKRegexLib.ProtectUrlsA,'$& _fcksavedurl=$1');A=A.replace(FCKRegexLib.ProtectUrlsImg,'$& _fcksavedurl=$1');return A;},ProtectEvents:function(A){return A.replace(FCKRegexLib.TagsWithEvent,_FCK_ProtectEvents_ReplaceTags);},ProtectEventsRestore:function(A){return A.replace(FCKRegexLib.ProtectedEvents,_FCK_ProtectEvents_RestoreEvents);},ProtectTags:function(A){var B=FCKConfig.ProtectedTags;if (FCKBrowserInfo.IsIE) B+=B.length>0?'|ABBR|XML':'ABBR|XML';var C;if (B.length>0){C=new RegExp('<('+B+')(?!\w|:)','gi');A=A.replace(C,'<FCK:$1');C=new RegExp('<\/('+B+')>','gi');A=A.replace(C,'<\/FCK:$1>');};B='META';if (FCKBrowserInfo.IsIE) B+='|HR';C=new RegExp('<(('+B+')(?=\\s|>|/)[\\s\\S]*?)/?>','gi');A=A.replace(C,'<FCK:$1 />');return A;},SetHTML:function(A,B){this.EditingArea.Mode=FCK.EditMode;if (FCK.EditMode==0){A=FCKConfig.ProtectedSource.Protect(A);A=A.replace(FCKRegexLib.InvalidSelfCloseTags,'$1></$2>');A=FCK.ProtectEvents(A);A=FCK.ProtectUrls(A);A=FCK.ProtectTags(A);if (FCKBrowserInfo.IsGecko){A=A.replace(FCKRegexLib.StrongOpener,'<b$1');A=A.replace(FCKRegexLib.StrongCloser,'<\/b>');A=A.replace(FCKRegexLib.EmOpener,'<i$1');A=A.replace(FCKRegexLib.EmCloser,'<\/i>');};this._ForceResetIsDirty=(B===true);var C='';if (FCKConfig.FullPage){if (!FCKRegexLib.HeadOpener.test(A)){if (!FCKRegexLib.HtmlOpener.test(A)) A='<html dir="'+FCKConfig.ContentLangDirection+'">'+A+'</html>';A=A.replace(FCKRegexLib.HtmlOpener,'$&<head></head>');};FCK.DocTypeDeclaration=A.match(FCKRegexLib.DocTypeTag);if (FCKBrowserInfo.IsIE) C=FCK._GetBehaviorsStyle();else if (FCKConfig.ShowBorders) C='<link href="'+FCKConfig.FullBasePath+'css/fck_showtableborders_gecko.css" rel="stylesheet" type="text/css" _fcktemp="true" />';C+='<link href="'+FCKConfig.FullBasePath+'css/fck_internal.css" rel="stylesheet" type="text/css" _fcktemp="true" />';C=A.replace(FCKRegexLib.HeadCloser,C+'$&');if (FCK.TempBaseTag.length>0&&!FCKRegexLib.HasBaseTag.test(A)) C=C.replace(FCKRegexLib.HeadOpener,'$&'+FCK.TempBaseTag);}else{C=FCKConfig.DocType+'<html dir="'+FCKConfig.ContentLangDirection+'"';if (FCKBrowserInfo.IsIE&&!FCKRegexLib.Html4DocType.test(FCKConfig.DocType)) C+=' style="overflow-y: scroll"';C+='><head><title></title>'+_FCK_GetEditorAreaStyleTags()+'<link href="'+FCKConfig.FullBasePath+'css/fck_internal.css" rel="stylesheet" type="text/css" _fcktemp="true" />';if (FCKBrowserInfo.IsIE) C+=FCK._GetBehaviorsStyle();else if (FCKConfig.ShowBorders) C+='<link href="'+FCKConfig.FullBasePath+'css/fck_showtableborders_gecko.css" rel="stylesheet" type="text/css" _fcktemp="true" />';C+=FCK.TempBaseTag;var D='<body';if (FCKConfig.BodyId&&FCKConfig.BodyId.length>0) D+=' id="'+FCKConfig.BodyId+'"';if (FCKConfig.BodyClass&&FCKConfig.BodyClass.length>0) D+=' class="'+FCKConfig.BodyClass+'"';C+='</head>'+D+'>';if (FCKBrowserInfo.IsGecko&&(A.length==0||FCKRegexLib.EmptyParagraph.test(A))) C+=GECKO_BOGUS;else C+=A;C+='</body></html>';};this.EditingArea.OnLoad=_FCK_EditingArea_OnLoad;this.EditingArea.Start(C);}else{FCK.EditorWindow=null;FCK.EditorDocument=null;this.EditingArea.OnLoad=null;this.EditingArea.Start(A);this.EditingArea.Textarea._FCKShowContextMenu=true;FCK.EnterKeyHandler=null;if (B) this.ResetIsDirty();FCK.KeystrokeHandler.AttachToElement(this.EditingArea.Textarea);this.EditingArea.Textarea.focus();FCK.Events.FireEvent('OnAfterSetHTML');};if (FCKBrowserInfo.IsGecko) window.onresize();},HasFocus:false,RedirectNamedCommands:{},ExecuteNamedCommand:function(A,B,C){FCKUndo.SaveUndoStep();if (!C&&FCK.RedirectNamedCommands[A]!=null) FCK.ExecuteRedirectedNamedCommand(A,B);else{FCK.Focus();FCK.EditorDocument.execCommand(A,false,B);FCK.Events.FireEvent('OnSelectionChange');};FCKUndo.SaveUndoStep();},GetNamedCommandState:function(A){try{if (!FCK.EditorDocument.queryCommandEnabled(A)) return -1;else return FCK.EditorDocument.queryCommandState(A)?1:0;}catch (e){return 0;}},GetNamedCommandValue:function(A){var B='';var C=FCK.GetNamedCommandState(A);if (C==-1) return null;try{B=this.EditorDocument.queryCommandValue(A);}catch(e) {};return B?B:'';},PasteFromWord:function(){FCKDialog.OpenDialog('FCKDialog_Paste',FCKLang.PasteFromWord,'dialog/fck_paste.html',400,330,'Word');},Preview:function(){var A=FCKConfig.ScreenWidth*0.8;var B=FCKConfig.ScreenHeight*0.7;var C=(FCKConfig.ScreenWidth-A)/2;var D=window.open('',null,'toolbar=yes,location=no,status=yes,menubar=yes,scrollbars=yes,resizable=yes,width='+A+',height='+B+',left='+C);var E;if (FCKConfig.FullPage){if (FCK.TempBaseTag.length>0) E=FCK.TempBaseTag+FCK.GetXHTML();else E=FCK.GetXHTML();}else{E=FCKConfig.DocType+'<html dir="'+FCKConfig.ContentLangDirection+'"><head>'+FCK.TempBaseTag+'<title>'+FCKLang.Preview+'</title>'+_FCK_GetEditorAreaStyleTags()+'</head><body>'+FCK.GetXHTML()+'</body></html>';};D.document.write(E);D.document.close();},SwitchEditMode:function(A){var B=(FCK.EditMode==0);var C=FCK.IsDirty();var D;if (B){if (!A&&FCKBrowserInfo.IsIE) FCKUndo.SaveUndoStep();D=FCK.GetXHTML(FCKConfig.FormatSource);if (D==null) return false;}else D=this.EditingArea.Textarea.value;FCK.EditMode=B?1:0;FCK.SetHTML(D,!C);FCK.Focus();FCKTools.RunFunction(FCK.ToolbarSet.RefreshModeState,FCK.ToolbarSet);return true;},CreateElement:function(A){var e=FCK.EditorDocument.createElement(A);return FCK.InsertElementAndGetIt(e);},InsertElementAndGetIt:function(e){e.setAttribute('FCKTempLabel','true');this.InsertElement(e);var A=FCK.EditorDocument.getElementsByTagName(e.tagName);for (var i=0;i<A.length;i++){if (A[i].getAttribute('FCKTempLabel')){A[i].removeAttribute('FCKTempLabel');return A[i];}};return null;}};FCK.Events=new FCKEvents(FCK);FCK.GetHTML=FCK.GetXHTML;function _FCK_ProtectEvents_ReplaceTags(A){return A.replace(FCKRegexLib.EventAttributes,_FCK_ProtectEvents_ReplaceEvents);};function _FCK_ProtectEvents_ReplaceEvents(A,B){return ' '+B+'_fckprotectedatt="'+A.ReplaceAll([/&/g,/'/g,/"/g,/=/g,/</g,/>/g,/\r/g,/\n/g],['&apos;','&#39;','&quot;','&#61;','&lt;','&gt;','&#10;','&#13;'])+'"';};function _FCK_ProtectEvents_RestoreEvents(A,B){return B.ReplaceAll([/&#39;/g,/&quot;/g,/&#61;/g,/&lt;/g,/&gt;/g,/&#10;/g,/&#13;/g,/&apos;/g],["'",'"','=','<','>','\r','\n','&']);};function _FCK_EditingArea_OnLoad(){FCK.EditorWindow=FCK.EditingArea.Window;FCK.EditorDocument=FCK.EditingArea.Document;FCK.InitializeBehaviors();if (!FCKConfig.DisableEnterKeyHandler) FCK.EnterKeyHandler=new FCKEnterKey(FCK.EditorWindow,FCKConfig.EnterMode,FCKConfig.ShiftEnterMode);FCK.KeystrokeHandler.AttachToElement(FCK.EditorDocument);if (FCK._ForceResetIsDirty) FCK.ResetIsDirty();if (FCKBrowserInfo.IsIE&&FCK.HasFocus) FCK.EditorDocument.body.setActive();FCK.OnAfterSetHTML();if (FCK.Status!=0) return;FCK.SetStatus(1);};function _FCK_GetEditorAreaStyleTags(){var A='';var B=FCKConfig.EditorAreaCSS;for (var i=0;i<B.length;i++) A+='<link href="'+B[i]+'" rel="stylesheet" type="text/css" />';return A;};function _FCK_KeystrokeHandler_OnKeystroke(A,B){if (FCK.Status!=2) return false;if (FCK.EditMode==0){if (B=='Paste') return!FCK.Events.FireEvent('OnPaste');}else{if (B.Equals('Paste','Undo','Redo','SelectAll')) return false;};var C=FCK.Commands.GetCommand(B);return (C.Execute.apply(C,FCKTools.ArgumentsToArray(arguments,2))!==false);};(function(){var A=window.parent.document;var B=A.getElementById(FCK.Name);var i=0;while (B||i==0){if (B&&B.tagName.toLowerCase().Equals('input','textarea')){FCK.LinkedField=B;break;};B=A.getElementsByName(FCK.Name)[i++];}})();var FCKTempBin={Elements:[],AddElement:function(A){var B=this.Elements.length;this.Elements[B]=A;return B;},RemoveElement:function(A){var e=this.Elements[A];this.Elements[A]=null;return e;},Reset:function(){var i=0;while (i<this.Elements.length) this.Elements[i++]=null;this.Elements.length=0;}};var FCKFocusManager=FCK.FocusManager={IsLocked:false,AddWindow:function(A,B){var C;if (FCKBrowserInfo.IsIE) C=A.nodeType==1?A:A.frameElement?A.frameElement:A.document;else C=A.document;FCKTools.AddEventListener(C,'blur',FCKFocusManager_Win_OnBlur);FCKTools.AddEventListener(C,'focus',B?FCKFocusManager_Win_OnFocus_Area:FCKFocusManager_Win_OnFocus);},RemoveWindow:function(A){if (FCKBrowserInfo.IsIE) oTarget=A.nodeType==1?A:A.frameElement?A.frameElement:A.document;else oTarget=A.document;FCKTools.RemoveEventListener(oTarget,'blur',FCKFocusManager_Win_OnBlur);FCKTools.RemoveEventListener(oTarget,'focus',FCKFocusManager_Win_OnFocus_Area);FCKTools.RemoveEventListener(oTarget,'focus',FCKFocusManager_Win_OnFocus);},Lock:function(){this.IsLocked=true;},Unlock:function(){if (this._HasPendingBlur) FCKFocusManager._Timer=window.setTimeout(FCKFocusManager_FireOnBlur,100);this.IsLocked=false;},_ResetTimer:function(){this._HasPendingBlur=false;if (this._Timer){window.clearTimeout(this._Timer);delete this._Timer;}}};function FCKFocusManager_Win_OnBlur(){if (typeof(FCK)!='undefined'&&FCK.HasFocus){FCKFocusManager._ResetTimer();FCKFocusManager._Timer=window.setTimeout(FCKFocusManager_FireOnBlur,100);}};function FCKFocusManager_FireOnBlur(){if (FCKFocusManager.IsLocked) FCKFocusManager._HasPendingBlur=true;else{FCK.HasFocus=false;FCK.Events.FireEvent("OnBlur");}};function FCKFocusManager_Win_OnFocus_Area(){FCK.Focus();FCKFocusManager_Win_OnFocus();};function FCKFocusManager_Win_OnFocus(){FCKFocusManager._ResetTimer();if (!FCK.HasFocus&&!FCKFocusManager.IsLocked){FCK.HasFocus=true;FCK.Events.FireEvent("OnFocus");}};\r
+FCK.Description="FCKeditor for Gecko Browsers";FCK.InitializeBehaviors=function(){if (FCKBrowserInfo.IsGecko) Window_OnResize();FCKFocusManager.AddWindow(this.EditorWindow);this.ExecOnSelectionChange=function(){FCK.Events.FireEvent("OnSelectionChange");};this.ExecOnSelectionChangeTimer=function(){if (FCK.LastOnChangeTimer) window.clearTimeout(FCK.LastOnChangeTimer);FCK.LastOnChangeTimer=window.setTimeout(FCK.ExecOnSelectionChange,100);};this.EditorDocument.addEventListener('mouseup',this.ExecOnSelectionChange,false);this.EditorDocument.addEventListener('keyup',this.ExecOnSelectionChangeTimer,false);this._DblClickListener=function(e){FCK.OnDoubleClick(e.target);e.stopPropagation();};this.EditorDocument.addEventListener('dblclick',this._DblClickListener,true);FCK.ContextMenu._InnerContextMenu.SetMouseClickWindow(FCK.EditorWindow);FCK.ContextMenu._InnerContextMenu.AttachToElement(FCK.EditorDocument);};FCK.MakeEditable=function(){this.EditingArea.MakeEditable();};function Document_OnContextMenu(e){if (!e.target._FCKShowContextMenu) e.preventDefault();};document.oncontextmenu=Document_OnContextMenu;FCK._BaseGetNamedCommandState=FCK.GetNamedCommandState;FCK.GetNamedCommandState=function(A){switch (A){case 'Unlink':return FCKSelection.HasAncestorNode('A')?0:-1;default:return FCK._BaseGetNamedCommandState(A);}};FCK.RedirectNamedCommands={Print:true,Paste:true,Cut:true,Copy:true};FCK.ExecuteRedirectedNamedCommand=function(A,B){switch (A){case 'Print':FCK.EditorWindow.print();break;case 'Paste':try                      { if (FCK.Paste()) FCK.ExecuteNamedCommand('Paste',null,true);}catch (e)        { FCKDialog.OpenDialog('FCKDialog_Paste',FCKLang.Paste,'dialog/fck_paste.html',400,330,'Security');};break;case 'Cut':try                       { FCK.ExecuteNamedCommand('Cut',null,true);}catch (e)   { alert(FCKLang.PasteErrorCut);};break;case 'Copy':try                  { FCK.ExecuteNamedCommand('Copy',null,true);}catch (e)  { alert(FCKLang.PasteErrorCopy);};break;default:FCK.ExecuteNamedCommand(A,B);}};FCK.Paste=function(){if (FCKConfig.ForcePasteAsPlainText){FCK.PasteAsPlainText();return false;};return true;};FCK.InsertHtml=function(A){A=FCKConfig.ProtectedSource.Protect(A);A=FCK.ProtectEvents(A);A=FCK.ProtectUrls(A);A=FCK.ProtectTags(A);A=A.replace(FCKRegexLib.StrongOpener,'<b$1');A=A.replace(FCKRegexLib.StrongCloser,'<\/b>');A=A.replace(FCKRegexLib.EmOpener,'<i$1');A=A.replace(FCKRegexLib.EmCloser,'<\/i>');var B=FCKSelection.Delete();var C=B.getRangeAt(0);var D=C.createContextualFragment(A);var E=D.lastChild;C.insertNode(D);FCKSelection.SelectNode(E);FCKSelection.Collapse(false);this.Focus();};FCK.InsertElement=function(A){var B=FCKSelection.Delete();var C=B.getRangeAt(0);C.insertNode(A);FCKSelection.SelectNode(A);FCKSelection.Collapse(false);this.Focus();};FCK.PasteAsPlainText=function(){FCKTools.RunFunction(FCKDialog.OpenDialog,FCKDialog,['FCKDialog_Paste',FCKLang.PasteAsText,'dialog/fck_paste.html',400,330,'PlainText']);};FCK.GetClipboardHTML=function(){return '';};FCK.CreateLink=function(A){var B=[];FCK.ExecuteNamedCommand('Unlink');if (A.length>0){var C='javascript:void(0);/*'+(new Date().getTime())+'*/';FCK.ExecuteNamedCommand('CreateLink',C);var D=this.EditorDocument.evaluate("//a[@href='"+C+"']",this.EditorDocument.body,null,XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE,null);for (var i=0;i<D.snapshotLength;i++){var E=D.snapshotItem(i);E.href=A;B.push(E);}};return B;};\r
+var FCKConfig=FCK.Config={};if (document.location.protocol=='file:'){FCKConfig.BasePath=decodeURIComponent(document.location.pathname.substr(1));FCKConfig.BasePath=FCKConfig.BasePath.replace(/\\/gi, '/');FCKConfig.BasePath='file://'+FCKConfig.BasePath.substring(0,FCKConfig.BasePath.lastIndexOf('/')+1);FCKConfig.FullBasePath=FCKConfig.BasePath;}else{FCKConfig.BasePath=document.location.pathname.substring(0,document.location.pathname.lastIndexOf('/')+1);FCKConfig.FullBasePath=document.location.protocol+'//'+document.location.host+FCKConfig.BasePath;};FCKConfig.EditorPath=FCKConfig.BasePath.replace(/editor\/$/,'');try{FCKConfig.ScreenWidth=screen.width;FCKConfig.ScreenHeight=screen.height;}catch (e){FCKConfig.ScreenWidth=800;FCKConfig.ScreenHeight=600;};FCKConfig.ProcessHiddenField=function(){this.PageConfig={};var A=window.parent.document.getElementById(FCK.Name+'___Config');if (!A) return;var B=A.value.split('&');for (var i=0;i<B.length;i++){if (B[i].length==0) continue;var C=B[i].split('=');var D=decodeURIComponent(C[0]);var E=decodeURIComponent(C[1]);if (D=='CustomConfigurationsPath') FCKConfig[D]=E;else if (E.toLowerCase()=="true") this.PageConfig[D]=true;else if (E.toLowerCase()=="false") this.PageConfig[D]=false;else if (E.length>0&&!isNaN(E)) this.PageConfig[D]=parseInt(E,10);else this.PageConfig[D]=E;}};function FCKConfig_LoadPageConfig(){var A=FCKConfig.PageConfig;for (var B in A) FCKConfig[B]=A[B];};function FCKConfig_PreProcess(){var A=FCKConfig;if (A.AllowQueryStringDebug){try{if ((/fckdebug=true/i).test(window.top.location.search)) A.Debug=true;}catch (e) {/*Ignore it. Much probably we are inside a FRAME where the "top" is in another domain (security error).*/}};if (!A.PluginsPath.EndsWith('/')) A.PluginsPath+='/';if (typeof(A.EditorAreaCSS)=='string') A.EditorAreaCSS=[A.EditorAreaCSS];var B=A.ToolbarComboPreviewCSS;if (!B||B.length==0) A.ToolbarComboPreviewCSS=A.EditorAreaCSS;else if (typeof(B)=='string') A.ToolbarComboPreviewCSS=[B];};FCKConfig.ToolbarSets={};FCKConfig.Plugins={};FCKConfig.Plugins.Items=[];FCKConfig.Plugins.Add=function(A,B,C){FCKConfig.Plugins.Items.AddItem([A,B,C]);};FCKConfig.ProtectedSource={};FCKConfig.ProtectedSource.RegexEntries=[/<!--[\s\S]*?-->/g,/<script[\s\S]*?<\/script>/gi,/<noscript[\s\S]*?<\/noscript>/gi,/<object[\s\S]+?<\/object>/gi];FCKConfig.ProtectedSource.Add=function(A){this.RegexEntries.AddItem(A);};FCKConfig.ProtectedSource.Protect=function(A){function _Replace(protectedSource){var B=FCKTempBin.AddElement(protectedSource);return '<!--{PS..'+B+'}-->';};for (var i=0;i<this.RegexEntries.length;i++){A=A.replace(this.RegexEntries[i],_Replace);};return A;};FCKConfig.ProtectedSource.Revert=function(A,B){function _Replace(m,opener,index){var C=B?FCKTempBin.RemoveElement(index):FCKTempBin.Elements[index];return FCKConfig.ProtectedSource.Revert(C,B);};return A.replace(/(<|&lt;)!--\{PS..(\d+)\}--(>|&gt;)/g,_Replace);}\r
+var FCKDebug={};FCKDebug._GetWindow=function(){if (!this.DebugWindow||this.DebugWindow.closed) this.DebugWindow=window.open(FCKConfig.BasePath+'fckdebug.html','FCKeditorDebug','menubar=no,scrollbars=yes,resizable=yes,location=no,toolbar=no,width=600,height=500',true);return this.DebugWindow;};FCKDebug.Output=function(A,B,C){if (!FCKConfig.Debug) return;try{this._GetWindow().Output(A,B);}catch (e) {}};FCKDebug.OutputObject=function(A,B){if (!FCKConfig.Debug) return;try{this._GetWindow().OutputObject(A,B);}catch (e) {}}\r
+var FCKDomTools={MoveChildren:function(A,B){if (A==B) return;var C;while ((C=A.firstChild)) B.appendChild(A.removeChild(C));},TrimNode:function(A,B){this.LTrimNode(A);this.RTrimNode(A,B);},LTrimNode:function(A){var B;while ((B=A.firstChild)){if (B.nodeType==3){var C=B.nodeValue.LTrim();var D=B.nodeValue.length;if (C.length==0){A.removeChild(B);continue;}else if (C.length<D){B.splitText(D-C.length);A.removeChild(A.firstChild);}};break;}},RTrimNode:function(A,B){var C;while ((C=A.lastChild)){switch (C.nodeType){case 1:if (C.nodeName.toUpperCase()=='BR'&&(B||C.getAttribute('type',2)=='_moz')){C.parentNode.removeChild(C);continue;};break;case 3:var D=C.nodeValue.RTrim();var E=C.nodeValue.length;if (D.length==0){C.parentNode.removeChild(C);continue;}else if (D.length<E){C.splitText(D.length);A.lastChild.parentNode.removeChild(A.lastChild);}};break;}},RemoveNode:function(A,B){if (B){var C;while ((C=A.firstChild)) A.parentNode.insertBefore(A.removeChild(C),A);};return A.parentNode.removeChild(A);},GetFirstChild:function(A,B){if (typeof (B)=='string') B=[B];var C=A.firstChild;while(C){if (C.nodeType==1&&C.tagName.Equals.apply(C.tagName,B)) return C;C=C.nextSibling;};return null;},GetLastChild:function(A,B){if (typeof (B)=='string') B=[B];var C=A.lastChild;while(C){if (C.nodeType==1&&(!B||C.tagName.Equals(B))) return C;C=C.previousSibling;};return null;},GetPreviousSourceElement:function(A,B,C,D){if (!A) return null;if (C&&A.nodeType==1&&A.nodeName.IEquals(C)) return null;if (A.previousSibling) A=A.previousSibling;else return this.GetPreviousSourceElement(A.parentNode,B,C,D);while (A){if (A.nodeType==1){if (C&&A.nodeName.IEquals(C)) break;if (!D||!A.nodeName.IEquals(D)) return A;}else if (B&&A.nodeType==3&&A.nodeValue.RTrim().length>0) break;if (A.lastChild) A=A.lastChild;else return this.GetPreviousSourceElement(A,B,C,D);};return null;},GetNextSourceElement:function(A,B,C,D){if (!A) return null;if (A.nextSibling) A=A.nextSibling;else return this.GetNextSourceElement(A.parentNode,B,C,D);while (A){if (A.nodeType==1){if (C&&A.nodeName.IEquals(C)) break;if (!D||!A.nodeName.IEquals(D)) return A;}else if (B&&A.nodeType==3&&A.nodeValue.RTrim().length>0) break;if (A.firstChild) A=A.firstChild;else return this.GetNextSourceElement(A,B,C,D);};return null;},InsertAfterNode:function(A,B){return A.parentNode.insertBefore(B,A.nextSibling);},GetParents:function(A){var B=[];while (A){B.splice(0,0,A);A=A.parentNode;};return B;},GetIndexOf:function(A){var B=A.parentNode?A.parentNode.firstChild:null;var C=-1;while (B){C++;if (B==A) return C;B=B.nextSibling;};return-1;}};\r
+var GECKO_BOGUS='<br type="_moz">';var FCKTools={};FCKTools.CreateBogusBR=function(A){var B=A.createElement('br');B.setAttribute('type','_moz');return B;};FCKTools.AppendStyleSheet=function(A,B){if (typeof(B)=='string') return this._AppendStyleSheet(A,B);else{var C=[];for (var i=0;i<B.length;i++) C.push(this._AppendStyleSheet(A,B[i]));return C;}};FCKTools.GetElementDocument=function (A){return A.ownerDocument||A.document;};FCKTools.GetElementWindow=function(A){return this.GetDocumentWindow(this.GetElementDocument(A));};FCKTools.GetDocumentWindow=function(A){if (FCKBrowserInfo.IsSafari&&!A.parentWindow) this.FixDocumentParentWindow(window.top);return A.parentWindow||A.defaultView;};FCKTools.FixDocumentParentWindow=function(A){A.document.parentWindow=A;for (var i=0;i<A.frames.length;i++) FCKTools.FixDocumentParentWindow(A.frames[i]);};FCKTools.HTMLEncode=function(A){if (!A) return '';A=A.replace(/&/g,'&amp;');A=A.replace(/</g,'&lt;');A=A.replace(/>/g,'&gt;');return A;};FCKTools.HTMLDecode=function(A){if (!A) return '';A=A.replace(/&gt;/g,'>');A=A.replace(/&lt;/g,'<');A=A.replace(/&amp;/g,'&');return A;};FCKTools.AddSelectOption=function(A,B,C){var D=FCKTools.GetElementDocument(A).createElement("OPTION");D.text=B;D.value=C;A.options.add(D);return D;};FCKTools.RunFunction=function(A,B,C,D){if (A) this.SetTimeout(A,0,B,C,D);};FCKTools.SetTimeout=function(A,B,C,D,E){return (E||window).setTimeout(function(){if (D) A.apply(C,[].concat(D));else A.apply(C);},B);};FCKTools.SetInterval=function(A,B,C,D,E){return (E||window).setInterval(function(){A.apply(C,D||[]);},B);};FCKTools.ConvertStyleSizeToHtml=function(A){return A.EndsWith('%')?A:parseInt(A,10);};FCKTools.ConvertHtmlSizeToStyle=function(A){return A.EndsWith('%')?A:(A+'px');};FCKTools.GetElementAscensor=function(A,B){var e=A;var C=","+B.toUpperCase()+",";while (e){if (C.indexOf(","+e.nodeName.toUpperCase()+",")!=-1) return e;e=e.parentNode;};return null;};FCKTools.CreateEventListener=function(A,B){var f=function(){var C=[];for (var i=0;i<arguments.length;i++) C.push(arguments[i]);A.apply(this,C.concat(B));};return f;};FCKTools.IsStrictMode=function(A){return ('CSS1Compat'==(A.compatMode||'CSS1Compat'));};FCKTools.ArgumentsToArray=function(A,B,C){B=B||0;C=C||A.length;var D=[];for (var i=B;i<B+C&&i<A.length;i++) D.push(A[i]);return D;};FCKTools.CloneObject=function(A){var B=function() {};B.prototype=A;return new B;};FCKTools.GetLastItem=function(A){if (A.length>0) return A[A.length-1];return null;};\r
+FCKTools.CancelEvent=function(e){if (e) e.preventDefault();};FCKTools.DisableSelection=function(A){if (FCKBrowserInfo.IsGecko) A.style.MozUserSelect='none';else A.style.userSelect='none';};FCKTools._AppendStyleSheet=function(A,B){var e=A.createElement('LINK');e.rel='stylesheet';e.type='text/css';e.href=B;A.getElementsByTagName("HEAD")[0].appendChild(e);return e;};FCKTools.ClearElementAttributes=function(A){for (var i=0;i<A.attributes.length;i++){A.removeAttribute(A.attributes[i].name,0);}};FCKTools.GetAllChildrenIds=function(A){var B=[];var C=function(parent){for (var i=0;i<parent.childNodes.length;i++){var D=parent.childNodes[i].id;if (D&&D.length>0) B[B.length]=D;C(parent.childNodes[i]);}};C(A);return B;};FCKTools.RemoveOuterTags=function(e){var A=e.ownerDocument.createDocumentFragment();for (var i=0;i<e.childNodes.length;i++) A.appendChild(e.childNodes[i].cloneNode(true));e.parentNode.replaceChild(A,e);};FCKTools.CreateXmlObject=function(A){switch (A){case 'XmlHttp':return new XMLHttpRequest();case 'DOMDocument':return document.implementation.createDocument('','',null);};return null;};FCKTools.GetScrollPosition=function(A){return { X:A.pageXOffset,Y:A.pageYOffset };};FCKTools.AddEventListener=function(A,B,C){A.addEventListener(B,C,false);};FCKTools.RemoveEventListener=function(A,B,C){A.removeEventListener(B,C,false);};FCKTools.AddEventListenerEx=function(A,B,C,D){A.addEventListener(B,function(e){C.apply(A,[e].concat(D||[]));},false);};FCKTools.GetViewPaneSize=function(A){return { Width:A.innerWidth,Height:A.innerHeight };};FCKTools.SaveStyles=function(A){var B={};if (A.className.length>0){B.Class=A.className;A.className='';};var C=A.getAttribute('style');if (C&&C.length>0){B.Inline=C;A.setAttribute('style','',0);};return B;};FCKTools.RestoreStyles=function(A,B){A.className=B.Class||'';if (B.Inline) A.setAttribute('style',B.Inline,0);else A.removeAttribute('style',0);};FCKTools.RegisterDollarFunction=function(A){A.$=function(id){return this.document.getElementById(id);};};FCKTools.AppendElement=function(A,B){return A.appendChild(A.ownerDocument.createElement(B));};FCKTools.GetElementPosition=function(A,B){var c={ X:0,Y:0 };var C=B||window;var D=FCKTools.GetElementWindow(A);while (A){var E=D.getComputedStyle(A,'').position;if (E&&E!='static'&&A.style.zIndex!=FCKConfig.FloatingPanelsZIndex) break;c.X+=A.offsetLeft-A.scrollLeft;c.Y+=A.offsetTop-A.scrollTop;if (A.offsetParent) A=A.offsetParent;else{if (D!=C){A=D.frameElement;if (A) D=FCKTools.GetElementWindow(A);}else{c.X+=A.scrollLeft;c.Y+=A.scrollTop;break;}}};return c;}\r
+var FCKeditorAPI;function InitializeAPI(){var A=window.parent;if (!(FCKeditorAPI=A.FCKeditorAPI)){var B='var FCKeditorAPI = {Version : "2.4.3",VersionBuild : "15657",__Instances : new Object(),GetInstance : function( name ){return this.__Instances[ name ];},_FormSubmit : function(){for ( var name in FCKeditorAPI.__Instances ){var oEditor = FCKeditorAPI.__Instances[ name ] ;if ( oEditor.GetParentForm && oEditor.GetParentForm() == this )oEditor.UpdateLinkedField() ;}this._FCKOriginalSubmit() ;},_FunctionQueue       : {Functions : new Array(),IsRunning : false,Add : function( f ){this.Functions.push( f );if ( !this.IsRunning )this.StartNext();},StartNext : function(){var aQueue = this.Functions ;if ( aQueue.length > 0 ){this.IsRunning = true;aQueue[0].call();}else this.IsRunning = false;},Remove : function( f ){var aQueue = this.Functions;var i = 0, fFunc;while( (fFunc = aQueue[ i ]) ){if ( fFunc == f )aQueue.splice( i,1 );i++ ;}this.StartNext();}}}';if (A.execScript) A.execScript(B,'JavaScript');else{if (FCKBrowserInfo.IsGecko10){eval.call(A,B);}else if (FCKBrowserInfo.IsSafari){var C=A.document;var D=C.createElement('script');D.appendChild(C.createTextNode(B));C.documentElement.appendChild(D);}else A.eval(B);};FCKeditorAPI=A.FCKeditorAPI;};FCKeditorAPI.__Instances[FCK.Name]=FCK;};function _AttachFormSubmitToAPI(){var A=FCK.GetParentForm();if (A){FCKTools.AddEventListener(A,'submit',FCK.UpdateLinkedField);if (!A._FCKOriginalSubmit&&(typeof(A.submit)=='function'||(!A.submit.tagName&&!A.submit.length))){A._FCKOriginalSubmit=A.submit;A.submit=FCKeditorAPI._FormSubmit;}}};function FCKeditorAPI_Cleanup(){delete FCKeditorAPI.__Instances[FCK.Name];};FCKTools.AddEventListener(window,'unload',FCKeditorAPI_Cleanup);\r
+var FCKImagePreloader=function(){this._Images=[];};FCKImagePreloader.prototype={AddImages:function(A){if (typeof(A)=='string') A=A.split(';');this._Images=this._Images.concat(A);},Start:function(){var A=this._Images;this._PreloadCount=A.length;for (var i=0;i<A.length;i++){var B=document.createElement('img');B.onload=B.onerror=_FCKImagePreloader_OnImage;B._FCKImagePreloader=this;B.src=A[i];_FCKImagePreloader_ImageCache.push(B);}}};var _FCKImagePreloader_ImageCache=[];function _FCKImagePreloader_OnImage(){var A=this._FCKImagePreloader;if ((--A._PreloadCount)==0&&A.OnComplete) A.OnComplete();this._FCKImagePreloader=null;}\r
+var FCKRegexLib={AposEntity:/&apos;/gi,ObjectElements:/^(?:IMG|TABLE|TR|TD|TH|INPUT|SELECT|TEXTAREA|HR|OBJECT|A|UL|OL|LI)$/i,NamedCommands:/^(?:Cut|Copy|Paste|Print|SelectAll|RemoveFormat|Unlink|Undo|Redo|Bold|Italic|Underline|StrikeThrough|Subscript|Superscript|JustifyLeft|JustifyCenter|JustifyRight|JustifyFull|Outdent|Indent|InsertOrderedList|InsertUnorderedList|InsertHorizontalRule)$/i,BodyContents:/([\s\S]*\<body[^\>]*\>)([\s\S]*)(\<\/body\>[\s\S]*)/i,ToReplace:/___fcktoreplace:([\w]+)/ig,MetaHttpEquiv:/http-equiv\s*=\s*["']?([^"' ]+)/i,HasBaseTag:/<base /i,HtmlOpener:/<html\s?[^>]*>/i,HeadOpener:/<head\s?[^>]*>/i,HeadCloser:/<\/head\s*>/i,FCK_Class:/(\s*FCK__[A-Za-z]*\s*)/,ElementName:/(^[a-z_:][\w.\-:]*\w$)|(^[a-z_]$)/,ForceSimpleAmpersand:/___FCKAmp___/g,SpaceNoClose:/\/>/g,EmptyParagraph:/^<(p|div|address|h\d|center)(?=[ >])[^>]*>\s*(<\/\1>)?$/,EmptyOutParagraph:/^<(p|div|address|h\d|center)(?=[ >])[^>]*>(?:\s*|&nbsp;)(<\/\1>)?$/,TagBody:/></,StrongOpener:/<STRONG([ \>])/gi,StrongCloser:/<\/STRONG>/gi,EmOpener:/<EM([ \>])/gi,EmCloser:/<\/EM>/gi,GeckoEntitiesMarker:/#\?-\:/g,ProtectUrlsImg:/<img(?=\s).*?\ssrc=((?:(?:\s*)("|').*?\2)|(?:[^"'][^ >]+))/gi,ProtectUrlsA:/<a(?=\s).*?\shref=((?:(?:\s*)("|').*?\2)|(?:[^"'][^ >]+))/gi,Html4DocType:/HTML 4\.0 Transitional/i,DocTypeTag:/<!DOCTYPE[^>]*>/i,TagsWithEvent:/<[^\>]+ on\w+[\s\r\n]*=[\s\r\n]*?('|")[\s\S]+?\>/g,EventAttributes:/\s(on\w+)[\s\r\n]*=[\s\r\n]*?('|")([\s\S]*?)\2/g,ProtectedEvents:/\s\w+_fckprotectedatt="([^"]+)"/g,StyleProperties:/\S+\s*:/g,InvalidSelfCloseTags:/(<(?!base|meta|link|hr|br|param|img|area|input)([a-zA-Z0-9:]+)[^>]*)\/>/gi};\r
+var FCKListsLib={BlockElements:{ address:1,blockquote:1,center:1,div:1,dl:1,fieldset:1,form:1,h1:1,h2:1,h3:1,h4:1,h5:1,h6:1,hr:1,marquee:1,noscript:1,ol:1,p:1,pre:1,script:1,table:1,ul:1 },NonEmptyBlockElements:{ p:1,div:1,h1:1,h2:1,h3:1,h4:1,h5:1,h6:1,address:1,pre:1,ol:1,ul:1,li:1,td:1,th:1 },InlineChildReqElements:{ abbr:1,acronym:1,b:1,bdo:1,big:1,cite:1,code:1,del:1,dfn:1,em:1,font:1,i:1,ins:1,label:1,kbd:1,q:1,samp:1,small:1,span:1,strong:1,sub:1,sup:1,tt:1,u:1,'var':1 },EmptyElements:{ base:1,meta:1,link:1,hr:1,br:1,param:1,img:1,area:1,input:1 },PathBlockElements:{ address:1,blockquote:1,dl:1,h1:1,h2:1,h3:1,h4:1,h5:1,h6:1,p:1,pre:1,ol:1,ul:1,li:1,dt:1,de:1 },PathBlockLimitElements:{ body:1,td:1,th:1,caption:1,form:1 },Setup:function(){if (FCKConfig.EnterMode=='div') this.PathBlockElements.div=1;else this.PathBlockLimitElements.div=1;}};\r
+var FCKLanguageManager=FCK.Language={AvailableLanguages:{af:'Afrikaans',ar:'Arabic',bg:'Bulgarian',bn:'Bengali/Bangla',bs:'Bosnian',ca:'Catalan',cs:'Czech',da:'Danish',de:'German',el:'Greek',en:'English','en-au':'English (Australia)','en-ca':'English (Canadian)','en-uk':'English (United Kingdom)',eo:'Esperanto',es:'Spanish',et:'Estonian',eu:'Basque',fa:'Persian',fi:'Finnish',fo:'Faroese',fr:'French',gl:'Galician',he:'Hebrew',hi:'Hindi',hr:'Croatian',hu:'Hungarian',it:'Italian',ja:'Japanese',km:'Khmer',ko:'Korean',lt:'Lithuanian',lv:'Latvian',mn:'Mongolian',ms:'Malay',nb:'Norwegian Bokmal',nl:'Dutch',no:'Norwegian',pl:'Polish',pt:'Portuguese (Portugal)','pt-br':'Portuguese (Brazil)',ro:'Romanian',ru:'Russian',sk:'Slovak',sl:'Slovenian',sr:'Serbian (Cyrillic)','sr-latn':'Serbian (Latin)',sv:'Swedish',th:'Thai',tr:'Turkish',uk:'Ukrainian',vi:'Vietnamese',zh:'Chinese Traditional','zh-cn':'Chinese Simplified'},GetActiveLanguage:function(){if (FCKConfig.AutoDetectLanguage){var A;if (navigator.userLanguage) A=navigator.userLanguage.toLowerCase();else if (navigator.language) A=navigator.language.toLowerCase();else{return FCKConfig.DefaultLanguage;};if (A.length>=5){A=A.substr(0,5);if (this.AvailableLanguages[A]) return A;};if (A.length>=2){A=A.substr(0,2);if (this.AvailableLanguages[A]) return A;}};return this.DefaultLanguage;},TranslateElements:function(A,B,C,D){var e=A.getElementsByTagName(B);var E,s;for (var i=0;i<e.length;i++){if ((E=e[i].getAttribute('fckLang'))){if ((s=FCKLang[E])){if (D) s=FCKTools.HTMLEncode(s);eval('e[i].'+C+' = s');}}}},TranslatePage:function(A){this.TranslateElements(A,'INPUT','value');this.TranslateElements(A,'SPAN','innerHTML');this.TranslateElements(A,'LABEL','innerHTML');this.TranslateElements(A,'OPTION','innerHTML',true);},Initialize:function(){if (this.AvailableLanguages[FCKConfig.DefaultLanguage]) this.DefaultLanguage=FCKConfig.DefaultLanguage;else this.DefaultLanguage='en';this.ActiveLanguage={};this.ActiveLanguage.Code=this.GetActiveLanguage();this.ActiveLanguage.Name=this.AvailableLanguages[this.ActiveLanguage.Code];}};\r
+var FCKXHtmlEntities={};FCKXHtmlEntities.Initialize=function(){if (FCKXHtmlEntities.Entities) return;var A='';var B,e;if (FCKConfig.ProcessHTMLEntities){FCKXHtmlEntities.Entities={' ':'nbsp','¡':'iexcl','¢':'cent','£':'pound','¤':'curren','¥':'yen','¦':'brvbar','§':'sect','¨':'uml','©':'copy','ª':'ordf','«':'laquo','¬':'not','­':'shy','®':'reg','¯':'macr','°':'deg','±':'plusmn','²':'sup2','³':'sup3','´':'acute','µ':'micro','¶':'para','·':'middot','¸':'cedil','¹':'sup1','º':'ordm','»':'raquo','¼':'frac14','½':'frac12','¾':'frac34','¿':'iquest','×':'times','÷':'divide','ƒ':'fnof','•':'bull','…':'hellip','′':'prime','″':'Prime','‾':'oline','⁄':'frasl','℘':'weierp','ℑ':'image','ℜ':'real','™':'trade','ℵ':'alefsym','←':'larr','↑':'uarr','→':'rarr','↓':'darr','↔':'harr','↵':'crarr','⇐':'lArr','⇑':'uArr','⇒':'rArr','⇓':'dArr','⇔':'hArr','∀':'forall','∂':'part','∃':'exist','∅':'empty','∇':'nabla','∈':'isin','∉':'notin','∋':'ni','∏':'prod','∑':'sum','−':'minus','∗':'lowast','√':'radic','∝':'prop','∞':'infin','∠':'ang','∧':'and','∨':'or','∩':'cap','∪':'cup','∫':'int','∴':'there4','∼':'sim','≅':'cong','≈':'asymp','≠':'ne','≡':'equiv','≤':'le','≥':'ge','⊂':'sub','⊃':'sup','⊄':'nsub','⊆':'sube','⊇':'supe','⊕':'oplus','⊗':'otimes','⊥':'perp','⋅':'sdot','◊':'loz','♠':'spades','♣':'clubs','♥':'hearts','♦':'diams','"':'quot','ˆ':'circ','˜':'tilde',' ':'ensp',' ':'emsp',' ':'thinsp','‌':'zwnj','‍':'zwj','‎':'lrm','‏':'rlm','–':'ndash','—':'mdash','‘':'lsquo','’':'rsquo','‚':'sbquo','“':'ldquo','”':'rdquo','„':'bdquo','†':'dagger','‡':'Dagger','‰':'permil','‹':'lsaquo','›':'rsaquo','€':'euro'};for (e in FCKXHtmlEntities.Entities) A+=e;if (FCKConfig.IncludeLatinEntities){B={'À':'Agrave','Á':'Aacute','Â':'Acirc','Ã':'Atilde','Ä':'Auml','Å':'Aring','Æ':'AElig','Ç':'Ccedil','È':'Egrave','É':'Eacute','Ê':'Ecirc','Ë':'Euml','Ì':'Igrave','Í':'Iacute','Î':'Icirc','Ï':'Iuml','Ð':'ETH','Ñ':'Ntilde','Ò':'Ograve','Ó':'Oacute','Ô':'Ocirc','Õ':'Otilde','Ö':'Ouml','Ø':'Oslash','Ù':'Ugrave','Ú':'Uacute','Û':'Ucirc','Ü':'Uuml','Ý':'Yacute','Þ':'THORN','ß':'szlig','à':'agrave','á':'aacute','â':'acirc','ã':'atilde','ä':'auml','å':'aring','æ':'aelig','ç':'ccedil','è':'egrave','é':'eacute','ê':'ecirc','ë':'euml','ì':'igrave','í':'iacute','î':'icirc','ï':'iuml','ð':'eth','ñ':'ntilde','ò':'ograve','ó':'oacute','ô':'ocirc','õ':'otilde','ö':'ouml','ø':'oslash','ù':'ugrave','ú':'uacute','û':'ucirc','ü':'uuml','ý':'yacute','þ':'thorn','ÿ':'yuml','Œ':'OElig','œ':'oelig','Š':'Scaron','š':'scaron','Ÿ':'Yuml'};for (e in B){FCKXHtmlEntities.Entities[e]=B[e];A+=e;};B=null;};if (FCKConfig.IncludeGreekEntities){B={'Α':'Alpha','Β':'Beta','Γ':'Gamma','Δ':'Delta','Ε':'Epsilon','Ζ':'Zeta','Η':'Eta','Θ':'Theta','Ι':'Iota','Κ':'Kappa','Λ':'Lambda','Μ':'Mu','Ν':'Nu','Ξ':'Xi','Ο':'Omicron','Π':'Pi','Ρ':'Rho','Σ':'Sigma','Τ':'Tau','Υ':'Upsilon','Φ':'Phi','Χ':'Chi','Ψ':'Psi','Ω':'Omega','α':'alpha','β':'beta','γ':'gamma','δ':'delta','ε':'epsilon','ζ':'zeta','η':'eta','θ':'theta','ι':'iota','κ':'kappa','λ':'lambda','μ':'mu','ν':'nu','ξ':'xi','ο':'omicron','π':'pi','ρ':'rho','ς':'sigmaf','σ':'sigma','τ':'tau','υ':'upsilon','φ':'phi','χ':'chi','ψ':'psi','ω':'omega'};for (e in B){FCKXHtmlEntities.Entities[e]=B[e];A+=e;};B=null;}}else{FCKXHtmlEntities.Entities={};A=' ';};var C='['+A+']';if (FCKConfig.ProcessNumericEntities) C='[^ -~]|'+C;var D=FCKConfig.AdditionalNumericEntities;if (D&&D.length>0) C+='|'+FCKConfig.AdditionalNumericEntities;FCKXHtmlEntities.EntitiesRegex=new RegExp(C,'g');}\r
+var FCKXHtml={};FCKXHtml.CurrentJobNum=0;FCKXHtml.GetXHTML=function(A,B,C){FCKXHtmlEntities.Initialize();this._NbspEntity=(FCKConfig.ProcessHTMLEntities?'nbsp':'#160');var D=FCK.IsDirty();this._CreateNode=FCKConfig.ForceStrongEm?FCKXHtml_CreateNode_StrongEm:FCKXHtml_CreateNode_Normal;FCKXHtml.SpecialBlocks=[];this.XML=FCKTools.CreateXmlObject('DOMDocument');this.MainNode=this.XML.appendChild(this.XML.createElement('xhtml'));FCKXHtml.CurrentJobNum++;if (B) this._AppendNode(this.MainNode,A);else this._AppendChildNodes(this.MainNode,A,false);var E=this._GetMainXmlString();this.XML=null;E=E.substr(7,E.length-15).Trim();if (FCKBrowserInfo.IsGecko) E=E.replace(/<br\/>$/,'');E=E.replace(FCKRegexLib.SpaceNoClose,' />');if (FCKConfig.ForceSimpleAmpersand) E=E.replace(FCKRegexLib.ForceSimpleAmpersand,'&');if (C) E=FCKCodeFormatter.Format(E);for (var i=0;i<FCKXHtml.SpecialBlocks.length;i++){var F=new RegExp('___FCKsi___'+i);E=E.replace(F,FCKXHtml.SpecialBlocks[i]);};E=E.replace(FCKRegexLib.GeckoEntitiesMarker,'&');if (!D) FCK.ResetIsDirty();return E;};FCKXHtml._AppendAttribute=function(A,B,C){try{if (C==undefined||C==null) C='';else if (C.replace){if (FCKConfig.ForceSimpleAmpersand) C=C.replace(/&/g,'___FCKAmp___');C=C.replace(FCKXHtmlEntities.EntitiesRegex,FCKXHtml_GetEntity);};var D=this.XML.createAttribute(B);D.value=C;A.attributes.setNamedItem(D);}catch (e){}};FCKXHtml._AppendChildNodes=function(A,B,C){var D=B.firstChild;while (D){this._AppendNode(A,D);D=D.nextSibling;};if (C) FCKDomTools.TrimNode(A,true);if (A.childNodes.length==0){if (C&&FCKConfig.FillEmptyBlocks){this._AppendEntity(A,this._NbspEntity);return A;};var E=A.nodeName;if (FCKListsLib.InlineChildReqElements[E]) return null;if (!FCKListsLib.EmptyElements[E]) A.appendChild(this.XML.createTextNode(''));};return A;};FCKXHtml._AppendNode=function(A,B){if (!B) return false;switch (B.nodeType){case 1:if (B.getAttribute('_fckfakelement')) return FCKXHtml._AppendNode(A,FCK.GetRealElement(B));if (FCKBrowserInfo.IsGecko&&B.hasAttribute('_moz_editor_bogus_node')) return false;if (B.getAttribute('_fcktemp')) return false;var C=B.tagName.toLowerCase();if (FCKBrowserInfo.IsIE){if (B.scopeName&&B.scopeName!='HTML'&&B.scopeName!='FCK') C=B.scopeName.toLowerCase()+':'+C;}else{if (C.StartsWith('fck:')) C=C.Remove(0,4);};if (!FCKRegexLib.ElementName.test(C)) return false;if (C=='br'&&B.getAttribute('type',2)=='_moz') return false;if (B._fckxhtmljob&&B._fckxhtmljob==FCKXHtml.CurrentJobNum) return false;var D=this._CreateNode(C);FCKXHtml._AppendAttributes(A,B,D,C);B._fckxhtmljob=FCKXHtml.CurrentJobNum;var E=FCKXHtml.TagProcessors[C];if (E) D=E(D,B,A);else D=this._AppendChildNodes(D,B,Boolean(FCKListsLib.NonEmptyBlockElements[C]));if (!D) return false;A.appendChild(D);break;case 3:return this._AppendTextNode(A,B.nodeValue.ReplaceNewLineChars(' '));case 8:if (FCKBrowserInfo.IsIE&&!B.innerHTML) break;try { A.appendChild(this.XML.createComment(B.nodeValue));}catch (e) {/*Do nothing... probably this is a wrong format comment.*/};break;default:A.appendChild(this.XML.createComment("Element not supported - Type: "+B.nodeType+" Name: "+B.nodeName));break;};return true;};function FCKXHtml_CreateNode_StrongEm(A){switch (A){case 'b':A='strong';break;case 'i':A='em';break;};return this.XML.createElement(A);};function FCKXHtml_CreateNode_Normal(A){return this.XML.createElement(A);};FCKXHtml._AppendSpecialItem=function(A){return '___FCKsi___'+FCKXHtml.SpecialBlocks.AddItem(A);};FCKXHtml._AppendEntity=function(A,B){A.appendChild(this.XML.createTextNode('#?-:'+B+';'));};FCKXHtml._AppendTextNode=function(A,B){var C=B.length>0;if (C) A.appendChild(this.XML.createTextNode(B.replace(FCKXHtmlEntities.EntitiesRegex,FCKXHtml_GetEntity)));return C;};function FCKXHtml_GetEntity(A){var B=FCKXHtmlEntities.Entities[A]||('#'+A.charCodeAt(0));return '#?-:'+B+';';};FCKXHtml._RemoveAttribute=function(A,B,C){var D=A.attributes.getNamedItem(C);if (D&&B.test(D.nodeValue)){var E=D.nodeValue.replace(B,'');if (E.length==0) A.attributes.removeNamedItem(C);else D.nodeValue=E;}};FCKXHtml.TagProcessors={img:function(A,B){if (!A.attributes.getNamedItem('alt')) FCKXHtml._AppendAttribute(A,'alt','');var C=B.getAttribute('_fcksavedurl');if (C!=null) FCKXHtml._AppendAttribute(A,'src',C);return A;},a:function(A,B){if (B.innerHTML.Trim().length==0&&!B.name) return false;var C=B.getAttribute('_fcksavedurl');if (C!=null) FCKXHtml._AppendAttribute(A,'href',C);if (FCKBrowserInfo.IsIE){FCKXHtml._RemoveAttribute(A,FCKRegexLib.FCK_Class,'class');if (B.name) FCKXHtml._AppendAttribute(A,'name',B.name);};A=FCKXHtml._AppendChildNodes(A,B,false);return A;},script:function(A,B){if (!A.attributes.getNamedItem('type')) FCKXHtml._AppendAttribute(A,'type','text/javascript');A.appendChild(FCKXHtml.XML.createTextNode(FCKXHtml._AppendSpecialItem(B.text)));return A;},style:function(A,B){if (!A.attributes.getNamedItem('type')) FCKXHtml._AppendAttribute(A,'type','text/css');A.appendChild(FCKXHtml.XML.createTextNode(FCKXHtml._AppendSpecialItem(B.innerHTML)));return A;},title:function(A,B){A.appendChild(FCKXHtml.XML.createTextNode(FCK.EditorDocument.title));return A;},table:function(A,B){if (FCKBrowserInfo.IsIE) FCKXHtml._RemoveAttribute(A,FCKRegexLib.FCK_Class,'class');A=FCKXHtml._AppendChildNodes(A,B,false);return A;},ol:function(A,B,C){if (B.innerHTML.Trim().length==0) return false;var D=C.lastChild;if (D&&D.nodeType==3) D=D.previousSibling;if (D&&D.nodeName.toUpperCase()=='LI'){B._fckxhtmljob=null;FCKXHtml._AppendNode(D,B);return false;};A=FCKXHtml._AppendChildNodes(A,B);return A;},span:function(A,B){if (B.innerHTML.length==0) return false;A=FCKXHtml._AppendChildNodes(A,B,false);return A;},iframe:function(A,B){var C=B.innerHTML;if (FCKBrowserInfo.IsGecko) C=FCKTools.HTMLDecode(C);C=C.replace(/\s_fcksavedurl="[^"]*"/g,'');A.appendChild(FCKXHtml.XML.createTextNode(FCKXHtml._AppendSpecialItem(C)));return A;}};FCKXHtml.TagProcessors.ul=FCKXHtml.TagProcessors.ol;\r
+FCKXHtml._GetMainXmlString=function(){var A=new XMLSerializer();return A.serializeToString(this.MainNode);};FCKXHtml._AppendAttributes=function(A,B,C){var D=B.attributes;for (var n=0;n<D.length;n++){var E=D[n];if (E.specified){var F=E.nodeName.toLowerCase();var G;if (F.StartsWith('_fck')) continue;else if (F.indexOf('_moz')==0) continue;else if (F=='class') G=E.nodeValue;else if (E.nodeValue===true) G=F;else G=B.getAttribute(F,2);this._AppendAttribute(C,F,G);}}}\r
+var FCKCodeFormatter={};FCKCodeFormatter.Init=function(){var A=this.Regex={};A.BlocksOpener=/\<(P|DIV|H1|H2|H3|H4|H5|H6|ADDRESS|PRE|OL|UL|LI|TITLE|META|LINK|BASE|SCRIPT|LINK|TD|TH|AREA|OPTION)[^\>]*\>/gi;A.BlocksCloser=/\<\/(P|DIV|H1|H2|H3|H4|H5|H6|ADDRESS|PRE|OL|UL|LI|TITLE|META|LINK|BASE|SCRIPT|LINK|TD|TH|AREA|OPTION)[^\>]*\>/gi;A.NewLineTags=/\<(BR|HR)[^\>]*\>/gi;A.MainTags=/\<\/?(HTML|HEAD|BODY|FORM|TABLE|TBODY|THEAD|TR)[^\>]*\>/gi;A.LineSplitter=/\s*\n+\s*/g;A.IncreaseIndent=/^\<(HTML|HEAD|BODY|FORM|TABLE|TBODY|THEAD|TR|UL|OL)[ \/\>]/i;A.DecreaseIndent=/^\<\/(HTML|HEAD|BODY|FORM|TABLE|TBODY|THEAD|TR|UL|OL)[ \>]/i;A.FormatIndentatorRemove=new RegExp('^'+FCKConfig.FormatIndentator);A.ProtectedTags=/(<PRE[^>]*>)([\s\S]*?)(<\/PRE>)/gi;};FCKCodeFormatter._ProtectData=function(A,B,C,D){return B+'___FCKpd___'+FCKCodeFormatter.ProtectedData.AddItem(C)+D;};FCKCodeFormatter.Format=function(A){if (!this.Regex) this.Init();FCKCodeFormatter.ProtectedData=[];var B=A.replace(this.Regex.ProtectedTags,FCKCodeFormatter._ProtectData);B=B.replace(this.Regex.BlocksOpener,'\n$&');B=B.replace(this.Regex.BlocksCloser,'$&\n');B=B.replace(this.Regex.NewLineTags,'$&\n');B=B.replace(this.Regex.MainTags,'\n$&\n');var C='';var D=B.split(this.Regex.LineSplitter);B='';for (var i=0;i<D.length;i++){var E=D[i];if (E.length==0) continue;if (this.Regex.DecreaseIndent.test(E)) C=C.replace(this.Regex.FormatIndentatorRemove,'');B+=C+E+'\n';if (this.Regex.IncreaseIndent.test(E)) C+=FCKConfig.FormatIndentator;};for (var j=0;j<FCKCodeFormatter.ProtectedData.length;j++){var F=new RegExp('___FCKpd___'+j);B=B.replace(F,FCKCodeFormatter.ProtectedData[j].replace(/\$/g,'$$$$'));};return B.Trim();}\r
+var FCKUndo={};FCKUndo.SaveUndoStep=function(){}\r
+var FCKEditingArea=function(A){this.TargetElement=A;this.Mode=0;if (FCK.IECleanup) FCK.IECleanup.AddItem(this,FCKEditingArea_Cleanup);};FCKEditingArea.prototype.Start=function(A,B){var C=this.TargetElement;var D=FCKTools.GetElementDocument(C);while(C.childNodes.length>0) C.removeChild(C.childNodes[0]);if (this.Mode==0){var E=this.IFrame=D.createElement('iframe');E.src='javascript:void(0)';E.frameBorder=0;E.width=E.height='100%';C.appendChild(E);if (FCKBrowserInfo.IsIE) A=A.replace(/(<base[^>]*?)\s*\/?>(?!\s*<\/base>)/gi,'$1></base>');else if (!B){if (FCKBrowserInfo.IsGecko) A=A.replace(/(<body[^>]*>)\s*(<\/body>)/i,'$1'+GECKO_BOGUS+'$2');var F=A.match(FCKRegexLib.BodyContents);if (F){A=F[1]+'&nbsp;'+F[3];this._BodyHTML=F[2];}else this._BodyHTML=A;};this.Window=E.contentWindow;var G=this.Document=this.Window.document;G.open();G.write(A);G.close();if (FCKBrowserInfo.IsGecko10&&!B){this.Start(A,true);return;};this.Window._FCKEditingArea=this;if (FCKBrowserInfo.IsGecko10) this.Window.setTimeout(FCKEditingArea_CompleteStart,500);else FCKEditingArea_CompleteStart.call(this.Window);}else{var H=this.Textarea=D.createElement('textarea');H.className='SourceField';H.dir='ltr';H.style.width=H.style.height='100%';H.style.border='none';C.appendChild(H);H.value=A;FCKTools.RunFunction(this.OnLoad);}};function FCKEditingArea_CompleteStart(){if (!this.document.body){this.setTimeout(FCKEditingArea_CompleteStart,50);return;};var A=this._FCKEditingArea;A.MakeEditable();FCKTools.RunFunction(A.OnLoad);};FCKEditingArea.prototype.MakeEditable=function(){var A=this.Document;if (FCKBrowserInfo.IsIE){A.body.contentEditable=true;}else{try{A.body.spellcheck=(this.FFSpellChecker!==false);if (this._BodyHTML){A.body.innerHTML=this._BodyHTML;this._BodyHTML=null;};A.designMode='on';try{A.execCommand('styleWithCSS',false,FCKConfig.GeckoUseSPAN);}catch (e){A.execCommand('useCSS',false,!FCKConfig.GeckoUseSPAN);};A.execCommand('enableObjectResizing',false,!FCKConfig.DisableObjectResizing);A.execCommand('enableInlineTableEditing',false,!FCKConfig.DisableFFTableHandles);}catch (e) {}}};FCKEditingArea.prototype.Focus=function(){try{if (this.Mode==0){if (FCKBrowserInfo.IsIE&&this.Document.hasFocus()) return;if (FCKBrowserInfo.IsSafari) this.IFrame.focus();else{this.Window.focus();}}else{var A=FCKTools.GetElementDocument(this.Textarea);if ((!A.hasFocus||A.hasFocus())&&A.activeElement==this.Textarea) return;this.Textarea.focus();}}catch(e) {}};function FCKEditingArea_Cleanup(){this.TargetElement=null;this.IFrame=null;this.Document=null;this.Textarea=null;if (this.Window){this.Window._FCKEditingArea=null;this.Window=null;}};\r
+var FCKKeystrokeHandler=function(A){this.Keystrokes={};this.CancelCtrlDefaults=(A!==false);};FCKKeystrokeHandler.prototype.AttachToElement=function(A){FCKTools.AddEventListenerEx(A,'keydown',_FCKKeystrokeHandler_OnKeyDown,this);if (FCKBrowserInfo.IsGecko10||FCKBrowserInfo.IsOpera||(FCKBrowserInfo.IsGecko&&FCKBrowserInfo.IsMac)) FCKTools.AddEventListenerEx(A,'keypress',_FCKKeystrokeHandler_OnKeyPress,this);};FCKKeystrokeHandler.prototype.SetKeystrokes=function(){for (var i=0;i<arguments.length;i++){var A=arguments[i];if (typeof(A[0])=='object') this.SetKeystrokes.apply(this,A);else{if (A.length==1) delete this.Keystrokes[A[0]];else this.Keystrokes[A[0]]=A[1]===true?true:A;}}};function _FCKKeystrokeHandler_OnKeyDown(A,B){var C=A.keyCode||A.which;var D=0;if (A.ctrlKey||A.metaKey) D+=CTRL;if (A.shiftKey) D+=SHIFT;if (A.altKey) D+=ALT;var E=C+D;var F=B._CancelIt=false;var G=B.Keystrokes[E];if (G){if (G===true||!(B.OnKeystroke&&B.OnKeystroke.apply(B,G))) return true;F=true;};if (F||(B.CancelCtrlDefaults&&D==CTRL&&(C<33||C>40))){B._CancelIt=true;if (A.preventDefault) return A.preventDefault();A.returnValue=false;A.cancelBubble=true;return false;};return true;};function _FCKKeystrokeHandler_OnKeyPress(A,B){if (B._CancelIt){if (A.preventDefault) return A.preventDefault();return false;};return true;}\r
 var FCKListHandler={OutdentListItem:function(A){var B=A.parentNode;if (B.tagName.toUpperCase().Equals('UL','OL')){var C=FCKTools.GetElementDocument(A);var D=new FCKDocumentFragment(C);var E=D.RootNode;var F=false;var G=FCKDomTools.GetFirstChild(A,['UL','OL']);if (G){F=true;var H;while ((H=G.firstChild)) E.appendChild(G.removeChild(H));FCKDomTools.RemoveNode(G);};var I;var J=false;while ((I=A.nextSibling)){if (!F&&I.nodeType==1&&I.nodeName.toUpperCase()=='LI') J=F=true;E.appendChild(I.parentNode.removeChild(I));if (!J&&I.nodeType==1&&I.nodeName.toUpperCase().Equals('UL','OL')) FCKDomTools.RemoveNode(I,true);};var K=B.parentNode.tagName.toUpperCase();var L=(K=='LI');if (L||K.Equals('UL','OL')){if (F){var G=B.cloneNode(false);D.AppendTo(G);A.appendChild(G);}else if (L) D.InsertAfterNode(B.parentNode);else D.InsertAfterNode(B);if (L) FCKDomTools.InsertAfterNode(B.parentNode,B.removeChild(A));else FCKDomTools.InsertAfterNode(B,B.removeChild(A));}else{if (F){var N=B.cloneNode(false);D.AppendTo(N);FCKDomTools.InsertAfterNode(B,N);};var O=C.createElement(FCKConfig.EnterMode=='p'?'p':'div');FCKDomTools.MoveChildren(B.removeChild(A),O);FCKDomTools.InsertAfterNode(B,O);if (FCKConfig.EnterMode=='br'){if (FCKBrowserInfo.IsGecko) O.parentNode.insertBefore(FCKTools.CreateBogusBR(C),O);else FCKDomTools.InsertAfterNode(O,FCKTools.CreateBogusBR(C));FCKDomTools.RemoveNode(O,true);}};if (this.CheckEmptyList(B)) FCKDomTools.RemoveNode(B,true);}},CheckEmptyList:function(A){return (FCKDomTools.GetFirstChild(A,'LI')==null);},CheckListHasContents:function(A){var B=A.firstChild;while (B){switch (B.nodeType){case 1:if (!B.nodeName.IEquals('UL','LI')) return true;break;case 3:if (B.nodeValue.Trim().length>0) return true;};B=B.nextSibling;};return false;}};\r
-var FCKElementPath=function(A){var B=null;var C=null;var D=[];var e=A;while (e){if (e.nodeType==1){if (!this.LastElement) this.LastElement=e;var E=e.nodeName.toLowerCase();if (FCKBrowserInfo.IsIE&&e.scopeName!='HTML') E=e.scopeName.toLowerCase()+':'+E;if (!C){if (!B&&FCKListsLib.PathBlockElements[E]!=null) B=e;if (FCKListsLib.PathBlockLimitElements[E]!=null){if (!B&&E=='div'&&!FCKElementPath._CheckHasBlock(e)) B=e;else C=e;}};D.push(e);if (E=='body') break;};e=e.parentNode;};this.Block=B;this.BlockLimit=C;this.Elements=D;};FCKElementPath._CheckHasBlock=function(A){var B=A.childNodes;for (var i=0,count=B.length;i<count;i++){var C=B[i];if (C.nodeType==1&&FCKListsLib.BlockElements[C.nodeName.toLowerCase()]) return true;};return false;};\r
-var FCKDomRange=function(A){this.Window=A;this._Cache={};};FCKDomRange.prototype={_UpdateElementInfo:function(){var A=this._Range;if (!A) this.Release(true);else{var B=A.startContainer;var C=new FCKElementPath(B);this.StartNode=B.nodeType==3?B:B.childNodes[A.startOffset];this.StartContainer=B;this.StartBlock=C.Block;this.StartBlockLimit=C.BlockLimit;if (A.collapsed){this.EndNode=this.StartNode;this.EndContainer=this.StartContainer;this.EndBlock=this.StartBlock;this.EndBlockLimit=this.StartBlockLimit;}else{var D=A.endContainer;if (B!=D) C=new FCKElementPath(D);var E=D;if (A.endOffset==0){while (E&&!E.previousSibling) E=E.parentNode;if (E) E=E.previousSibling;}else if (E.nodeType==1) E=E.childNodes[A.endOffset-1];this.EndNode=E;this.EndContainer=D;this.EndBlock=C.Block;this.EndBlockLimit=C.BlockLimit;}};this._Cache={};},CreateRange:function(){return new FCKW3CRange(this.Window.document);},DeleteContents:function(){if (this._Range){this._Range.deleteContents();this._UpdateElementInfo();}},ExtractContents:function(){if (this._Range){var A=this._Range.extractContents();this._UpdateElementInfo();return A;};return null;},CheckIsCollapsed:function(){if (this._Range) return this._Range.collapsed;return false;},Collapse:function(A){if (this._Range) this._Range.collapse(A);this._UpdateElementInfo();},Clone:function(){var A=FCKTools.CloneObject(this);if (this._Range) A._Range=this._Range.cloneRange();return A;},MoveToNodeContents:function(A){if (!this._Range) this._Range=this.CreateRange();this._Range.selectNodeContents(A);this._UpdateElementInfo();},MoveToElementStart:function(A){this.SetStart(A,1);this.SetEnd(A,1);},MoveToElementEditStart:function(A){var B;while (A&&A.nodeType==1){if (FCKDomTools.CheckIsEditable(A)) B=A;else if (B) break;A=A.firstChild;};if (B) this.MoveToElementStart(B);},InsertNode:function(A){if (this._Range) this._Range.insertNode(A);},CheckIsEmpty:function(){if (this.CheckIsCollapsed()) return true;var A=this.Window.document.createElement('div');this._Range.cloneContents().AppendTo(A);FCKDomTools.TrimNode(A);return (A.innerHTML.length==0);},CheckStartOfBlock:function(){var A=this._Cache;var B=A.IsStartOfBlock;if (B!=undefined) return B;var C=this.StartBlock||this.StartBlockLimit;var D=this._Range.startContainer;var E=this._Range.startOffset;var F;if (E>0){if (D.nodeType==3){var G=D.nodeValue.substr(0,E).Trim();if (G.length!=0) return A.IsStartOfBlock=false;}else F=D.childNodes[E-1];};if (!F) F=FCKDomTools.GetPreviousSourceNode(D,true,null,C);while (F){switch (F.nodeType){case 1:if (!FCKListsLib.InlineChildReqElements[F.nodeName.toLowerCase()]) return A.IsStartOfBlock=false;break;case 3:if (F.nodeValue.Trim().length>0) return A.IsStartOfBlock=false;};F=FCKDomTools.GetPreviousSourceNode(F,false,null,C);};return A.IsStartOfBlock=true;},CheckEndOfBlock:function(A){var B=this._Cache.IsEndOfBlock;if (B!=undefined) return B;var C=this.EndBlock||this.EndBlockLimit;var D=this._Range.endContainer;var E=this._Range.endOffset;var F;if (D.nodeType==3){var G=D.nodeValue;if (E<G.length){G=G.substr(E);if (G.Trim().length!=0) return this._Cache.IsEndOfBlock=false;}}else F=D.childNodes[E];if (!F) F=FCKDomTools.GetNextSourceNode(D,true,null,C);var H=false;while (F){switch (F.nodeType){case 1:var I=F.nodeName.toLowerCase();if (FCKListsLib.InlineChildReqElements[I]) break;if (I=='br'&&!H){H=true;break;};return this._Cache.IsEndOfBlock=false;case 3:if (F.nodeValue.Trim().length>0) return this._Cache.IsEndOfBlock=false;};F=FCKDomTools.GetNextSourceNode(F,false,null,C);};if (A) this.Select();return this._Cache.IsEndOfBlock=true;},CreateBookmark:function(A){var B={StartId:(new Date()).valueOf()+Math.floor(Math.random()*1000)+'S',EndId:(new Date()).valueOf()+Math.floor(Math.random()*1000)+'E'};var C=this.Window.document;var D;var E;var F;if (!this.CheckIsCollapsed()){E=C.createElement('span');E.style.display='none';E.id=B.EndId;E.setAttribute('_fck_bookmark',true);E.innerHTML='&nbsp;';F=this.Clone();F.Collapse(false);F.InsertNode(E);};D=C.createElement('span');D.style.display='none';D.id=B.StartId;D.setAttribute('_fck_bookmark',true);D.innerHTML='&nbsp;';F=this.Clone();F.Collapse(true);F.InsertNode(D);if (A){B.StartNode=D;B.EndNode=E;};if (E){this.SetStart(D,4);this.SetEnd(E,3);}else this.MoveToPosition(D,4);return B;},GetBookmarkNode:function(A,B){var C=this.Window.document;if (B) return A.StartNode||C.getElementById(A.StartId);else return A.EndNode||C.getElementById(A.EndId);},MoveToBookmark:function(A,B){var C=this.GetBookmarkNode(A,true);var D=this.GetBookmarkNode(A,false);this.SetStart(C,3);if (!B) FCKDomTools.RemoveNode(C);if (D){this.SetEnd(D,3);if (!B) FCKDomTools.RemoveNode(D);}else this.Collapse(true);this._UpdateElementInfo();},CreateBookmark2:function(){if (!this._Range) return { "Start":0,"End":0 };var A={"Start":[this._Range.startOffset],"End":[this._Range.endOffset]};var B=this._Range.startContainer.previousSibling;var C=this._Range.endContainer.previousSibling;var D=this._Range.startContainer;var E=this._Range.endContainer;while (B&&B.nodeType==3&&D.nodeType==3){A.Start[0]+=B.length;D=B;B=B.previousSibling;}while (C&&C.nodeType==3&&E.nodeType==3){A.End[0]+=C.length;E=C;C=C.previousSibling;};if (D.nodeType==1&&D.childNodes[A.Start[0]]&&D.childNodes[A.Start[0]].nodeType==3){var F=D.childNodes[A.Start[0]];var G=0;while (F.previousSibling&&F.previousSibling.nodeType==3){F=F.previousSibling;G+=F.length;};D=F;A.Start[0]=G;};if (E.nodeType==1&&E.childNodes[A.End[0]]&&E.childNodes[A.End[0]].nodeType==3){var F=E.childNodes[A.End[0]];var G=0;while (F.previousSibling&&F.previousSibling.nodeType==3){F=F.previousSibling;G+=F.length;};E=F;A.End[0]=G;};A.Start=FCKDomTools.GetNodeAddress(D,true).concat(A.Start);A.End=FCKDomTools.GetNodeAddress(E,true).concat(A.End);return A;},MoveToBookmark2:function(A){var B=FCKDomTools.GetNodeFromAddress(this.Window.document,A.Start.slice(0,-1),true);var C=FCKDomTools.GetNodeFromAddress(this.Window.document,A.End.slice(0,-1),true);this.Release(true);this._Range=new FCKW3CRange(this.Window.document);var D=A.Start[A.Start.length-1];var E=A.End[A.End.length-1];while (B.nodeType==3&&D>B.length){if (!B.nextSibling||B.nextSibling.nodeType!=3) break;D-=B.length;B=B.nextSibling;}while (C.nodeType==3&&E>C.length){if (!C.nextSibling||C.nextSibling.nodeType!=3) break;E-=C.length;C=C.nextSibling;};this._Range.setStart(B,D);this._Range.setEnd(C,E);this._UpdateElementInfo();},MoveToPosition:function(A,B){this.SetStart(A,B);this.Collapse(true);},SetStart:function(A,B,C){var D=this._Range;if (!D) D=this._Range=this.CreateRange();switch(B){case 1:D.setStart(A,0);break;case 2:D.setStart(A,A.childNodes.length);break;case 3:D.setStartBefore(A);break;case 4:D.setStartAfter(A);};if (!C) this._UpdateElementInfo();},SetEnd:function(A,B,C){var D=this._Range;if (!D) D=this._Range=this.CreateRange();switch(B){case 1:D.setEnd(A,0);break;case 2:D.setEnd(A,A.childNodes.length);break;case 3:D.setEndBefore(A);break;case 4:D.setEndAfter(A);};if (!C) this._UpdateElementInfo();},Expand:function(A){var B,oSibling;switch (A){case 'inline_elements':if (this._Range.startOffset==0){B=this._Range.startContainer;if (B.nodeType!=1) B=B.previousSibling?null:B.parentNode;if (B){while (FCKListsLib.InlineNonEmptyElements[B.nodeName.toLowerCase()]){this._Range.setStartBefore(B);if (B!=B.parentNode.firstChild) break;B=B.parentNode;}}};B=this._Range.endContainer;var C=this._Range.endOffset;if ((B.nodeType==3&&C>=B.nodeValue.length)||(B.nodeType==1&&C>=B.childNodes.length)||(B.nodeType!=1&&B.nodeType!=3)){if (B.nodeType!=1) B=B.nextSibling?null:B.parentNode;if (B){while (FCKListsLib.InlineNonEmptyElements[B.nodeName.toLowerCase()]){this._Range.setEndAfter(B);if (B!=B.parentNode.lastChild) break;B=B.parentNode;}}};break;case 'block_contents':case 'list_contents':var D=FCKListsLib.BlockBoundaries;if (A=='list_contents'||FCKConfig.EnterMode=='br') D=FCKListsLib.ListBoundaries;if (this.StartBlock&&FCKConfig.EnterMode!='br'&&A=='block_contents') this.SetStart(this.StartBlock,1);else{B=this._Range.startContainer;if (B.nodeType==1){var E=B.childNodes[this._Range.startOffset];if (E) B=FCKDomTools.GetPreviousSourceNode(E,true);else B=B.lastChild||B;}while (B&&(B.nodeType!=1||(B!=this.StartBlockLimit&&!D[B.nodeName.toLowerCase()]))){this._Range.setStartBefore(B);B=B.previousSibling||B.parentNode;}};if (this.EndBlock&&FCKConfig.EnterMode!='br'&&A=='block_contents'&&this.EndBlock.nodeName.toLowerCase()!='li') this.SetEnd(this.EndBlock,2);else{B=this._Range.endContainer;if (B.nodeType==1) B=B.childNodes[this._Range.endOffset]||B.lastChild;while (B&&(B.nodeType!=1||(B!=this.StartBlockLimit&&!D[B.nodeName.toLowerCase()]))){this._Range.setEndAfter(B);B=B.nextSibling||B.parentNode;};if (B&&B.nodeName.toLowerCase()=='br') this._Range.setEndAfter(B);};this._UpdateElementInfo();}},SplitBlock:function(A){var B=A||FCKConfig.EnterMode;if (!this._Range) this.MoveToSelection();if (this.StartBlockLimit==this.EndBlockLimit){var C=this.StartBlock;var D=this.EndBlock;var E=null;if (B!='br'){if (!C){C=this.FixBlock(true,B);D=this.EndBlock;};if (!D) D=this.FixBlock(false,B);};var F=(C!=null&&this.CheckStartOfBlock());var G=(D!=null&&this.CheckEndOfBlock());if (!this.CheckIsEmpty()) this.DeleteContents();if (C&&D&&C==D){if (G){E=new FCKElementPath(this.StartContainer);this.MoveToPosition(D,4);D=null;}else if (F){E=new FCKElementPath(this.StartContainer);this.MoveToPosition(C,3);C=null;}else{this.SetEnd(C,2);var H=this.ExtractContents();D=C.cloneNode(false);D.removeAttribute('id',false);H.AppendTo(D);FCKDomTools.InsertAfterNode(C,D);this.MoveToPosition(C,4);if (FCKBrowserInfo.IsGecko&&!C.nodeName.IEquals(['ul','ol'])) FCKTools.AppendBogusBr(C);}};return {PreviousBlock:C,NextBlock:D,WasStartOfBlock:F,WasEndOfBlock:G,ElementPath:E};};return null;},FixBlock:function(A,B){var C=this.CreateBookmark();this.Collapse(A);this.Expand('block_contents');var D=this.Window.document.createElement(B);this.ExtractContents().AppendTo(D);FCKDomTools.TrimNode(D);if (FCKDomTools.CheckIsEmptyElement(D,function(element) { return element.getAttribute('_fck_bookmark')!='true';})&&FCKBrowserInfo.IsGeckoLike) FCKTools.AppendBogusBr(D);this.InsertNode(D);this.MoveToBookmark(C);return D;},Release:function(A){if (!A) this.Window=null;this.StartNode=null;this.StartContainer=null;this.StartBlock=null;this.StartBlockLimit=null;this.EndNode=null;this.EndContainer=null;this.EndBlock=null;this.EndBlockLimit=null;this._Range=null;this._Cache=null;},CheckHasRange:function(){return!!this._Range;},GetTouchedStartNode:function(){var A=this._Range;var B=A.startContainer;if (A.collapsed||B.nodeType!=1) return B;return B.childNodes[A.startOffset]||B;},GetTouchedEndNode:function(){var A=this._Range;var B=A.endContainer;if (A.collapsed||B.nodeType!=1) return B;return B.childNodes[A.endOffset-1]||B;}};\r
-FCKDomRange.prototype.MoveToSelection=function(){this.Release(true);var A=this.Window.getSelection();if (A&&A.rangeCount>0){this._Range=FCKW3CRange.CreateFromRange(this.Window.document,A.getRangeAt(0));this._UpdateElementInfo();}else if (this.Window.document) this.MoveToElementStart(this.Window.document.body);};FCKDomRange.prototype.Select=function(){var A=this._Range;if (A){var B=A.startContainer;if (A.collapsed&&B.nodeType==1&&B.childNodes.length==0) B.appendChild(A._Document.createTextNode(''));var C=this.Window.document.createRange();C.setStart(B,A.startOffset);try{C.setEnd(A.endContainer,A.endOffset);}catch (e){if (e.toString().Contains('NS_ERROR_ILLEGAL_VALUE')){A.collapse(true);C.setEnd(A.endContainer,A.endOffset);}else throw(e);};var D=this.Window.getSelection();D.removeAllRanges();D.addRange(C);}};FCKDomRange.prototype.SelectBookmark=function(A){var B=this.Window.document.createRange();var C=this.GetBookmarkNode(A,true);var D=this.GetBookmarkNode(A,false);B.setStart(C.parentNode,FCKDomTools.GetIndexOf(C));FCKDomTools.RemoveNode(C);if (D){B.setEnd(D.parentNode,FCKDomTools.GetIndexOf(D));FCKDomTools.RemoveNode(D);};var E=this.Window.getSelection();E.removeAllRanges();E.addRange(B);};\r
-var FCKDomRangeIterator=function(A){this.Range=A;this.ForceBrBreak=false;this.EnforceRealBlocks=false;};FCKDomRangeIterator.CreateFromSelection=function(A){var B=new FCKDomRange(A);B.MoveToSelection();return new FCKDomRangeIterator(B);};FCKDomRangeIterator.prototype={GetNextParagraph:function(){var A;var B;var C;var D;var E;var F=this.ForceBrBreak?FCKListsLib.ListBoundaries:FCKListsLib.BlockBoundaries;if (!this._LastNode){var B=this.Range.Clone();B.Expand(this.ForceBrBreak?'list_contents':'block_contents');this._NextNode=B.GetTouchedStartNode();this._LastNode=B.GetTouchedEndNode();B=null;};var H=this._NextNode;var I=this._LastNode;this._NextNode=null;while (H){var J=false;var K=(H.nodeType!=1);var L=false;if (!K){var M=H.nodeName.toLowerCase();if (F[M]&&(!FCKBrowserInfo.IsIE||H.scopeName=='HTML')){if (M=='br') K=true;else if (!B&&H.childNodes.length==0&&M!='hr'){A=H;C=H==I;break;};if (B){B.SetEnd(H,3,true);if (M!='br') this._NextNode=FCKDomTools.GetNextSourceNode(H,true,null,I)||H;};J=true;}else{if (H.firstChild){if (!B){B=new FCKDomRange(this.Range.Window);B.SetStart(H,3,true);};H=H.firstChild;continue;};K=true;}}else if (H.nodeType==3){if (/^[\r\n\t ]+$/.test(H.nodeValue)) K=false;};if (K&&!B){B=new FCKDomRange(this.Range.Window);B.SetStart(H,3,true);};C=((!J||K)&&H==I);if (B&&!J){while (!H.nextSibling&&!C){var N=H.parentNode;if (F[N.nodeName.toLowerCase()]){J=true;C=C||(N==I);break;};H=N;K=true;C=(H==I);L=true;}};if (K) B.SetEnd(H,4,true);if ((J||C)&&B){B._UpdateElementInfo();if (B.StartNode==B.EndNode&&B.StartNode.parentNode==B.StartBlockLimit&&B.StartNode.getAttribute&&B.StartNode.getAttribute('_fck_bookmark')) B=null;else break;};if (C) break;H=FCKDomTools.GetNextSourceNode(H,L,null,I);};if (!A){if (!B){this._NextNode=null;return null;};A=B.StartBlock;if (!A&&!this.EnforceRealBlocks&&B.StartBlockLimit.nodeName.IEquals('DIV','TH','TD')&&B.CheckStartOfBlock()&&B.CheckEndOfBlock()){A=B.StartBlockLimit;}else if (!A||(this.EnforceRealBlocks&&A.nodeName.toLowerCase()=='li')){A=this.Range.Window.document.createElement(FCKConfig.EnterMode=='p'?'p':'div');B.ExtractContents().AppendTo(A);FCKDomTools.TrimNode(A);B.InsertNode(A);D=true;E=true;}else if (A.nodeName.toLowerCase()!='li'){if (!B.CheckStartOfBlock()||!B.CheckEndOfBlock()){A=A.cloneNode(false);B.ExtractContents().AppendTo(A);FCKDomTools.TrimNode(A);var O=B.SplitBlock();D=!O.WasStartOfBlock;E=!O.WasEndOfBlock;B.InsertNode(A);}}else if (!C){this._NextNode=A==I?null:FCKDomTools.GetNextSourceNode(B.EndNode,true,null,I);return A;}};if (D){var P=A.previousSibling;if (P&&P.nodeType==1){if (P.nodeName.toLowerCase()=='br') P.parentNode.removeChild(P);else if (P.lastChild&&P.lastChild.nodeName.IEquals('br')) P.removeChild(P.lastChild);}};if (E){var Q=A.lastChild;if (Q&&Q.nodeType==1&&Q.nodeName.toLowerCase()=='br') A.removeChild(Q);};if (!this._NextNode) this._NextNode=(C||A==I)?null:FCKDomTools.GetNextSourceNode(A,true,null,I);return A;}};\r
-var FCKDocumentFragment=function(A,B){this.RootNode=B||A.createDocumentFragment();};FCKDocumentFragment.prototype={AppendTo:function(A){A.appendChild(this.RootNode);},AppendHtml:function(A){var B=this.RootNode.ownerDocument.createElement('div');B.innerHTML=A;FCKDomTools.MoveChildren(B,this.RootNode);},InsertAfterNode:function(A){FCKDomTools.InsertAfterNode(A,this.RootNode);}};\r
-var FCKW3CRange=function(A){this._Document=A;this.startContainer=null;this.startOffset=null;this.endContainer=null;this.endOffset=null;this.collapsed=true;};FCKW3CRange.CreateRange=function(A){return new FCKW3CRange(A);};FCKW3CRange.CreateFromRange=function(A,B){var C=FCKW3CRange.CreateRange(A);C.setStart(B.startContainer,B.startOffset);C.setEnd(B.endContainer,B.endOffset);return C;};FCKW3CRange.prototype={_UpdateCollapsed:function(){this.collapsed=(this.startContainer==this.endContainer&&this.startOffset==this.endOffset);},setStart:function(A,B){this.startContainer=A;this.startOffset=B;if (!this.endContainer){this.endContainer=A;this.endOffset=B;};this._UpdateCollapsed();},setEnd:function(A,B){this.endContainer=A;this.endOffset=B;if (!this.startContainer){this.startContainer=A;this.startOffset=B;};this._UpdateCollapsed();},setStartAfter:function(A){this.setStart(A.parentNode,FCKDomTools.GetIndexOf(A)+1);},setStartBefore:function(A){this.setStart(A.parentNode,FCKDomTools.GetIndexOf(A));},setEndAfter:function(A){this.setEnd(A.parentNode,FCKDomTools.GetIndexOf(A)+1);},setEndBefore:function(A){this.setEnd(A.parentNode,FCKDomTools.GetIndexOf(A));},collapse:function(A){if (A){this.endContainer=this.startContainer;this.endOffset=this.startOffset;}else{this.startContainer=this.endContainer;this.startOffset=this.endOffset;};this.collapsed=true;},selectNodeContents:function(A){this.setStart(A,0);this.setEnd(A,A.nodeType==3?A.data.length:A.childNodes.length);},insertNode:function(A){var B=this.startContainer;var C=this.startOffset;if (B.nodeType==3){B.splitText(C);if (B==this.endContainer) this.setEnd(B.nextSibling,this.endOffset-this.startOffset);FCKDomTools.InsertAfterNode(B,A);return;}else{B.insertBefore(A,B.childNodes[C]||null);if (B==this.endContainer){this.endOffset++;this.collapsed=false;}}},deleteContents:function(){if (this.collapsed) return;this._ExecContentsAction(0);},extractContents:function(){var A=new FCKDocumentFragment(this._Document);if (!this.collapsed) this._ExecContentsAction(1,A);return A;},cloneContents:function(){var A=new FCKDocumentFragment(this._Document);if (!this.collapsed) this._ExecContentsAction(2,A);return A;},_ExecContentsAction:function(A,B){var C=this.startContainer;var D=this.endContainer;var E=this.startOffset;var F=this.endOffset;var G=false;var H=false;if (D.nodeType==3) D=D.splitText(F);else{if (D.childNodes.length>0){if (F>D.childNodes.length-1){D=FCKDomTools.InsertAfterNode(D.lastChild,this._Document.createTextNode(''));H=true;}else D=D.childNodes[F];}};if (C.nodeType==3){C.splitText(E);if (C==D) D=C.nextSibling;}else{if (E==0){C=C.insertBefore(this._Document.createTextNode(''),C.firstChild);G=true;}else if (E>C.childNodes.length-1){C=C.appendChild(this._Document.createTextNode(''));G=true;}else C=C.childNodes[E].previousSibling;};var I=FCKDomTools.GetParents(C);var J=FCKDomTools.GetParents(D);var i,topStart,topEnd;for (i=0;i<I.length;i++){topStart=I[i];topEnd=J[i];if (topStart!=topEnd) break;};var K,levelStartNode,levelClone,currentNode,currentSibling;if (B) K=B.RootNode;for (var j=i;j<I.length;j++){levelStartNode=I[j];if (K&&levelStartNode!=C) levelClone=K.appendChild(levelStartNode.cloneNode(levelStartNode==C));currentNode=levelStartNode.nextSibling;while(currentNode){if (currentNode==J[j]||currentNode==D) break;currentSibling=currentNode.nextSibling;if (A==2) K.appendChild(currentNode.cloneNode(true));else{currentNode.parentNode.removeChild(currentNode);if (A==1) K.appendChild(currentNode);};currentNode=currentSibling;};if (K) K=levelClone;};if (B) K=B.RootNode;for (var k=i;k<J.length;k++){levelStartNode=J[k];if (A>0&&levelStartNode!=D) levelClone=K.appendChild(levelStartNode.cloneNode(levelStartNode==D));if (!I[k]||levelStartNode.parentNode!=I[k].parentNode){currentNode=levelStartNode.previousSibling;while(currentNode){if (currentNode==I[k]||currentNode==C) break;currentSibling=currentNode.previousSibling;if (A==2) K.insertBefore(currentNode.cloneNode(true),K.firstChild);else{currentNode.parentNode.removeChild(currentNode);if (A==1) K.insertBefore(currentNode,K.firstChild);};currentNode=currentSibling;}};if (K) K=levelClone;};if (A==2){var L=this.startContainer;if (L.nodeType==3){L.data+=L.nextSibling.data;L.parentNode.removeChild(L.nextSibling);};var M=this.endContainer;if (M.nodeType==3&&M.nextSibling){M.data+=M.nextSibling.data;M.parentNode.removeChild(M.nextSibling);}}else{if (topStart&&topEnd&&(C.parentNode!=topStart.parentNode||D.parentNode!=topEnd.parentNode)){var N=FCKDomTools.GetIndexOf(topEnd);if (G&&topEnd.parentNode==C.parentNode) N--;this.setStart(topEnd.parentNode,N);};this.collapse(true);};if(G) C.parentNode.removeChild(C);if(H&&D.parentNode) D.parentNode.removeChild(D);},cloneRange:function(){return FCKW3CRange.CreateFromRange(this._Document,this);}};\r
-var FCKEnterKey=function(A,B,C,D){this.Window=A;this.EnterMode=B||'p';this.ShiftEnterMode=C||'br';var E=new FCKKeystrokeHandler(false);E._EnterKey=this;E.OnKeystroke=FCKEnterKey_OnKeystroke;E.SetKeystrokes([[13,'Enter'],[SHIFT+13,'ShiftEnter'],[8,'Backspace'],[CTRL+8,'CtrlBackspace'],[46,'Delete']]);this.TabText='';if (D>0||FCKBrowserInfo.IsSafari){while (D--) this.TabText+='\xa0';E.SetKeystrokes([9,'Tab']);};E.AttachToElement(A.document);};function FCKEnterKey_OnKeystroke(A,B){var C=this._EnterKey;try{switch (B){case 'Enter':return C.DoEnter();break;case 'ShiftEnter':return C.DoShiftEnter();break;case 'Backspace':return C.DoBackspace();break;case 'Delete':return C.DoDelete();break;case 'Tab':return C.DoTab();break;case 'CtrlBackspace':return C.DoCtrlBackspace();break;}}catch (e){};return false;};FCKEnterKey.prototype.DoEnter=function(A,B){FCKUndo.SaveUndoStep();this._HasShift=(B===true);var C=FCKSelection.GetParentElement();var D=new FCKElementPath(C);var E=A||this.EnterMode;if (E=='br'||D.Block&&D.Block.tagName.toLowerCase()=='pre') return this._ExecuteEnterBr();else return this._ExecuteEnterBlock(E);};FCKEnterKey.prototype.DoShiftEnter=function(){return this.DoEnter(this.ShiftEnterMode,true);};FCKEnterKey.prototype.DoBackspace=function(){var A=false;var B=new FCKDomRange(this.Window);B.MoveToSelection();if (FCKBrowserInfo.IsIE&&this._CheckIsAllContentsIncluded(B,this.Window.document.body)){this._FixIESelectAllBug(B);return true;};var C=B.CheckIsCollapsed();if (!C){if (FCKBrowserInfo.IsIE&&this.Window.document.selection.type.toLowerCase()=="control"){var D=this.Window.document.selection.createRange();for (var i=D.length-1;i>=0;i--){var E=D.item(i);E.parentNode.removeChild(E);};return true;};return false;};if (FCKBrowserInfo.IsIE){var F=FCKDomTools.GetPreviousSourceElement(B.StartNode,true);if (F&&F.nodeName.toLowerCase()=='br'){var G=B.Clone();G.SetStart(F,4);if (G.CheckIsEmpty()){F.parentNode.removeChild(F);return true;}}};var H=B.StartBlock;var I=B.EndBlock;if (B.StartBlockLimit==B.EndBlockLimit&&H&&I){if (!C){var J=B.CheckEndOfBlock();B.DeleteContents();if (H!=I){B.SetStart(I,1);B.SetEnd(I,1);};B.Select();A=(H==I);};if (B.CheckStartOfBlock()){var K=B.StartBlock;var L=FCKDomTools.GetPreviousSourceElement(K,true,['BODY',B.StartBlockLimit.nodeName],['UL','OL']);A=this._ExecuteBackspace(B,L,K);}else if (FCKBrowserInfo.IsGeckoLike){B.Select();}};B.Release();return A;};FCKEnterKey.prototype.DoCtrlBackspace=function(){FCKUndo.SaveUndoStep();var A=new FCKDomRange(this.Window);A.MoveToSelection();if (FCKBrowserInfo.IsIE&&this._CheckIsAllContentsIncluded(A,this.Window.document.body)){this._FixIESelectAllBug(A);return true;};return false;};FCKEnterKey.prototype._ExecuteBackspace=function(A,B,C){var D=false;if (!B&&C&&C.nodeName.IEquals('LI')&&C.parentNode.parentNode.nodeName.IEquals('LI')){this._OutdentWithSelection(C,A);return true;};if (B&&B.nodeName.IEquals('LI')){var E=FCKDomTools.GetLastChild(B,['UL','OL']);while (E){B=FCKDomTools.GetLastChild(E,'LI');E=FCKDomTools.GetLastChild(B,['UL','OL']);}};if (B&&C){if (C.nodeName.IEquals('LI')&&!B.nodeName.IEquals('LI')){this._OutdentWithSelection(C,A);return true;};var F=C.parentNode;var G=B.nodeName.toLowerCase();if (FCKListsLib.EmptyElements[G]!=null||G=='table'){FCKDomTools.RemoveNode(B);D=true;}else{FCKDomTools.RemoveNode(C);while (F.innerHTML.Trim().length==0){var H=F.parentNode;H.removeChild(F);F=H;};FCKDomTools.LTrimNode(C);FCKDomTools.RTrimNode(B);A.SetStart(B,2,true);A.Collapse(true);var I=A.CreateBookmark(true);if (!C.tagName.IEquals(['TABLE'])) FCKDomTools.MoveChildren(C,B);A.SelectBookmark(I);D=true;}};return D;};FCKEnterKey.prototype.DoDelete=function(){FCKUndo.SaveUndoStep();var A=false;var B=new FCKDomRange(this.Window);B.MoveToSelection();if (FCKBrowserInfo.IsIE&&this._CheckIsAllContentsIncluded(B,this.Window.document.body)){this._FixIESelectAllBug(B);return true;};if (B.CheckIsCollapsed()&&B.CheckEndOfBlock(FCKBrowserInfo.IsGeckoLike)){var C=B.StartBlock;var D=FCKTools.GetElementAscensor(C,'td');var E=FCKDomTools.GetNextSourceElement(C,true,[B.StartBlockLimit.nodeName],['UL','OL','TR'],true);if (D){var F=FCKTools.GetElementAscensor(E,'td');if (F!=D) return true;};A=this._ExecuteBackspace(B,C,E);};B.Release();return A;};FCKEnterKey.prototype.DoTab=function(){var A=new FCKDomRange(this.Window);A.MoveToSelection();var B=A._Range.startContainer;while (B){if (B.nodeType==1){var C=B.tagName.toLowerCase();if (C=="tr"||C=="td"||C=="th"||C=="tbody"||C=="table") return false;else break;};B=B.parentNode;};if (this.TabText){A.DeleteContents();A.InsertNode(this.Window.document.createTextNode(this.TabText));A.Collapse(false);A.Select();};return true;};FCKEnterKey.prototype._ExecuteEnterBlock=function(A,B){var C=B||new FCKDomRange(this.Window);var D=C.SplitBlock(A);if (D){var E=D.PreviousBlock;var F=D.NextBlock;var G=D.WasStartOfBlock;var H=D.WasEndOfBlock;if (F){if (F.parentNode.nodeName.IEquals('li')){FCKDomTools.BreakParent(F,F.parentNode);FCKDomTools.MoveNode(F,F.nextSibling,true);}}else if (E&&E.parentNode.nodeName.IEquals('li')){FCKDomTools.BreakParent(E,E.parentNode);C.MoveToElementEditStart(E.nextSibling);FCKDomTools.MoveNode(E,E.previousSibling);};if (!G&&!H){if (F.nodeName.IEquals('li')&&F.firstChild&&F.firstChild.nodeName.IEquals(['ul','ol'])) F.insertBefore(FCKTools.GetElementDocument(F).createTextNode('\xa0'),F.firstChild);if (F) C.MoveToElementEditStart(F);}else{if (G&&H&&E.tagName.toUpperCase()=='LI'){C.MoveToElementStart(E);this._OutdentWithSelection(E,C);C.Release();return true;};var I;if (E){var J=E.tagName.toUpperCase();if (!this._HasShift&&!(/^H[1-6]$/).test(J)){I=FCKDomTools.CloneElement(E);}}else if (F) I=FCKDomTools.CloneElement(F);if (!I) I=this.Window.document.createElement(A);var K=D.ElementPath;if (K){for (var i=0,len=K.Elements.length;i<len;i++){var L=K.Elements[i];if (L==K.Block||L==K.BlockLimit) break;if (FCKListsLib.InlineChildReqElements[L.nodeName.toLowerCase()]){L=FCKDomTools.CloneElement(L);FCKDomTools.MoveChildren(I,L);I.appendChild(L);}}};if (FCKBrowserInfo.IsGeckoLike) FCKTools.AppendBogusBr(I);C.InsertNode(I);if (FCKBrowserInfo.IsIE){C.MoveToElementEditStart(I);C.Select();};C.MoveToElementEditStart(G&&!H?F:I);};if (FCKBrowserInfo.IsGeckoLike){if (F){var M=this.Window.document.createElement('span');M.innerHTML='&nbsp;';C.InsertNode(M);FCKDomTools.ScrollIntoView(M,false);C.DeleteContents();}else{FCKDomTools.ScrollIntoView(F||I,false);}};C.Select();};C.Release();return true;};FCKEnterKey.prototype._ExecuteEnterBr=function(A){var B=new FCKDomRange(this.Window);B.MoveToSelection();if (B.StartBlockLimit==B.EndBlockLimit){B.DeleteContents();B.MoveToSelection();var C=B.CheckStartOfBlock();var D=B.CheckEndOfBlock();var E=B.StartBlock?B.StartBlock.tagName.toUpperCase():'';var F=this._HasShift;var G=false;if (!F&&E=='LI') return this._ExecuteEnterBlock(null,B);if (!F&&D&&(/^H[1-6]$/).test(E)){FCKDomTools.InsertAfterNode(B.StartBlock,this.Window.document.createElement('br'));if (FCKBrowserInfo.IsGecko) FCKDomTools.InsertAfterNode(B.StartBlock,this.Window.document.createTextNode(''));B.SetStart(B.StartBlock.nextSibling,FCKBrowserInfo.IsIE?3:1);}else{var H;G=E.IEquals('pre');if (G) H=this.Window.document.createTextNode(FCKBrowserInfo.IsIE?'\r':'\n');else H=this.Window.document.createElement('br');B.InsertNode(H);if (FCKBrowserInfo.IsGecko) FCKDomTools.InsertAfterNode(H,this.Window.document.createTextNode(''));if (D&&FCKBrowserInfo.IsGeckoLike) FCKTools.AppendBogusBr(H.parentNode);if (FCKBrowserInfo.IsIE) B.SetStart(H,4);else B.SetStart(H.nextSibling,1);if (!FCKBrowserInfo.IsIE){var I=null;if (FCKBrowserInfo.IsOpera) I=this.Window.document.createElement('span');else I=this.Window.document.createElement('br');H.parentNode.insertBefore(I,H.nextSibling);FCKDomTools.ScrollIntoView(I,false);I.parentNode.removeChild(I);}};B.Collapse(true);B.Select(G);};B.Release();return true;};FCKEnterKey.prototype._OutdentWithSelection=function(A,B){var C=B.CreateBookmark();FCKListHandler.OutdentListItem(A);B.MoveToBookmark(C);B.Select();};FCKEnterKey.prototype._CheckIsAllContentsIncluded=function(A,B){var C=false;var D=false;if (A.StartContainer==B||A.StartContainer==B.firstChild) C=(A._Range.startOffset==0);if (A.EndContainer==B||A.EndContainer==B.lastChild){var E=A.EndContainer.nodeType==3?A.EndContainer.length:A.EndContainer.childNodes.length;D=(A._Range.endOffset==E);};return C&&D;};FCKEnterKey.prototype._FixIESelectAllBug=function(A){var B=this.Window.document;B.body.innerHTML='';var C;if (FCKConfig.EnterMode.IEquals(['div','p'])){C=B.createElement(FCKConfig.EnterMode);B.body.appendChild(C);}else C=B.body;A.MoveToNodeContents(C);A.Collapse(true);A.Select();A.Release();};\r
-var FCKDocumentProcessor={};FCKDocumentProcessor._Items=[];FCKDocumentProcessor.AppendNew=function(){var A={};this._Items.push(A);return A;};FCKDocumentProcessor.Process=function(A){var B=FCK.IsDirty();var C,i=0;while((C=this._Items[i++])) C.ProcessDocument(A);if (!B) FCK.ResetIsDirty();};var FCKDocumentProcessor_CreateFakeImage=function(A,B){var C=FCKTools.GetElementDocument(B).createElement('IMG');C.className=A;C.src=FCKConfig.BasePath+'images/spacer.gif';C.setAttribute('_fckfakelement','true',0);C.setAttribute('_fckrealelement',FCKTempBin.AddElement(B),0);return C;};if (FCKBrowserInfo.IsIE||FCKBrowserInfo.IsOpera){var FCKAnchorsProcessor=FCKDocumentProcessor.AppendNew();FCKAnchorsProcessor.ProcessDocument=function(A){var B=A.getElementsByTagName('A');var C;var i=B.length-1;while (i>=0&&(C=B[i--])){if (C.name.length>0){if (C.innerHTML!==''){if (FCKBrowserInfo.IsIE) C.className+=' FCK__AnchorC';}else{var D=FCKDocumentProcessor_CreateFakeImage('FCK__Anchor',C.cloneNode(true));D.setAttribute('_fckanchor','true',0);C.parentNode.insertBefore(D,C);C.parentNode.removeChild(C);}}}}};var FCKPageBreaksProcessor=FCKDocumentProcessor.AppendNew();FCKPageBreaksProcessor.ProcessDocument=function(A){var B=A.getElementsByTagName('DIV');var C;var i=B.length-1;while (i>=0&&(C=B[i--])){if (C.style.pageBreakAfter=='always'&&C.childNodes.length==1&&C.childNodes[0].style&&C.childNodes[0].style.display=='none'){var D=FCKDocumentProcessor_CreateFakeImage('FCK__PageBreak',C.cloneNode(true));C.parentNode.insertBefore(D,C);C.parentNode.removeChild(C);}}};var FCKEmbedAndObjectProcessor=(function(){var A=[];var B=function(el){var C=el.cloneNode(true);var D;var E=D=FCKDocumentProcessor_CreateFakeImage('FCK__UnknownObject',C);FCKEmbedAndObjectProcessor.RefreshView(E,el);for (var i=0;i<A.length;i++) D=A[i](el,D)||D;if (D!=E) FCKTempBin.RemoveElement(E.getAttribute('_fckrealelement'));el.parentNode.replaceChild(D,el);};var F=function(elementName,doc){var G=doc.getElementsByTagName(elementName);for (var i=G.length-1;i>=0;i--) B(G[i]);};var H=function(doc){F('object',doc);F('embed',doc);};return FCKTools.Merge(FCKDocumentProcessor.AppendNew(),{ProcessDocument:function(doc){if (FCKBrowserInfo.IsGecko) FCKTools.RunFunction(H,this,[doc]);else H(doc);},RefreshView:function(placeHolder,original){if (original.getAttribute('width')>0) placeHolder.style.width=FCKTools.ConvertHtmlSizeToStyle(original.getAttribute('width'));if (original.getAttribute('height')>0) placeHolder.style.height=FCKTools.ConvertHtmlSizeToStyle(original.getAttribute('height'));},AddCustomHandler:function(func){A.push(func);}});})();FCK.GetRealElement=function(A){var e=FCKTempBin.Elements[A.getAttribute('_fckrealelement')];if (A.getAttribute('_fckflash')){if (A.style.width.length>0) e.width=FCKTools.ConvertStyleSizeToHtml(A.style.width);if (A.style.height.length>0) e.height=FCKTools.ConvertStyleSizeToHtml(A.style.height);};return e;};if (FCKBrowserInfo.IsIE){FCKDocumentProcessor.AppendNew().ProcessDocument=function(A){var B=A.getElementsByTagName('HR');var C;var i=B.length-1;while (i>=0&&(C=B[i--])){var D=A.createElement('hr');D.mergeAttributes(C,true);FCKDomTools.InsertAfterNode(C,D);C.parentNode.removeChild(C);}}};FCKDocumentProcessor.AppendNew().ProcessDocument=function(A){var B=A.getElementsByTagName('INPUT');var C;var i=B.length-1;while (i>=0&&(C=B[i--])){if (C.type=='hidden'){var D=FCKDocumentProcessor_CreateFakeImage('FCK__InputHidden',C.cloneNode(true));D.setAttribute('_fckinputhidden','true',0);C.parentNode.insertBefore(D,C);C.parentNode.removeChild(C);}}};FCKEmbedAndObjectProcessor.AddCustomHandler(function(A,B){if (!(A.nodeName.IEquals('embed')&&(A.type=='application/x-shockwave-flash'||/\.swf($|#|\?)/i.test(A.src)))) return;B.className='FCK__Flash';B.setAttribute('_fckflash','true',0);});if (FCKBrowserInfo.IsSafari){FCKDocumentProcessor.AppendNew().ProcessDocument=function(A){var B=A.getElementsByClassName?A.getElementsByClassName('Apple-style-span'):Array.prototype.filter.call(A.getElementsByTagName('span'),function(item){ return item.className=='Apple-style-span';});for (var i=B.length-1;i>=0;i--) FCKDomTools.RemoveNode(B[i],true);}};\r
-var FCKSelection=FCK.Selection={GetParentBlock:function(){var A=this.GetParentElement();while (A){if (FCKListsLib.BlockBoundaries[A.nodeName.toLowerCase()]) break;A=A.parentNode;};return A;},ApplyStyle:function(A){FCKStyles.ApplyStyle(new FCKStyle(A));}};\r
-FCKSelection.GetType=function(){var A='Text';var B;try { B=this.GetSelection();} catch (e) {};if (B&&B.rangeCount==1){var C=B.getRangeAt(0);if (C.startContainer==C.endContainer&&(C.endOffset-C.startOffset)==1&&C.startContainer.nodeType==1&&FCKListsLib.StyleObjectElements[C.startContainer.childNodes[C.startOffset].nodeName.toLowerCase()]){A='Control';}};return A;};FCKSelection.GetSelectedElement=function(){var A=!!FCK.EditorWindow&&this.GetSelection();if (!A||A.rangeCount<1) return null;var B=A.getRangeAt(0);if (B.startContainer!=B.endContainer||B.startContainer.nodeType!=1||B.startOffset!=B.endOffset-1) return null;var C=B.startContainer.childNodes[B.startOffset];if (C.nodeType!=1) return null;return C;};FCKSelection.GetParentElement=function(){if (this.GetType()=='Control') return FCKSelection.GetSelectedElement().parentNode;else{var A=this.GetSelection();if (A){if (A.anchorNode&&A.anchorNode==A.focusNode){var B=A.getRangeAt(0);if (B.collapsed||B.startContainer.nodeType==3) return A.anchorNode.parentNode;else return A.anchorNode;};var C=new FCKElementPath(A.anchorNode);var D=new FCKElementPath(A.focusNode);var E=null;var F=null;if (C.Elements.length>D.Elements.length){E=C.Elements;F=D.Elements;}else{E=D.Elements;F=C.Elements;};var G=E.length-F.length;for(var i=0;i<F.length;i++){if (E[G+i]==F[i]) return F[i];};return null;}};return null;};FCKSelection.GetBoundaryParentElement=function(A){if (!FCK.EditorWindow) return null;if (this.GetType()=='Control') return FCKSelection.GetSelectedElement().parentNode;else{var B=this.GetSelection();if (B&&B.rangeCount>0){var C=B.getRangeAt(A?0:(B.rangeCount-1));var D=A?C.startContainer:C.endContainer;return (D.nodeType==1?D:D.parentNode);}};return null;};FCKSelection.SelectNode=function(A){var B=FCK.EditorDocument.createRange();B.selectNode(A);var C=this.GetSelection();C.removeAllRanges();C.addRange(B);};FCKSelection.Collapse=function(A){var B=this.GetSelection();if (A==null||A===true) B.collapseToStart();else B.collapseToEnd();};FCKSelection.HasAncestorNode=function(A){var B=this.GetSelectedElement();if (!B&&FCK.EditorWindow){try         { B=this.GetSelection().getRangeAt(0).startContainer;}catch(e){}}while (B){if (B.nodeType==1&&B.nodeName.IEquals(A)) return true;B=B.parentNode;};return false;};FCKSelection.MoveToAncestorNode=function(A){var B;var C=this.GetSelectedElement();if (!C) C=this.GetSelection().getRangeAt(0).startContainer;while (C){if (C.nodeName.IEquals(A)) return C;C=C.parentNode;};return null;};FCKSelection.Delete=function(){var A=this.GetSelection();for (var i=0;i<A.rangeCount;i++){A.getRangeAt(i).deleteContents();};return A;};FCKSelection.GetSelection=function(){return FCK.EditorWindow.getSelection();};FCKSelection.Save=function(){};FCKSelection.Restore=function(){};FCKSelection.Release=function(){};\r
-var FCKTableHandler={};FCKTableHandler.InsertRow=function(A){var B=FCKSelection.MoveToAncestorNode('TR');if (!B) return;var C=B.cloneNode(true);B.parentNode.insertBefore(C,B);FCKTableHandler.ClearRow(A?C:B);};FCKTableHandler.DeleteRows=function(A){if (!A){var B=FCKTableHandler.GetSelectedCells();var C=[];for (var i=0;i<B.length;i++){var D=B[i].parentNode;C[D.rowIndex]=D;};for (var i=C.length;i>=0;i--){if (C[i]) FCKTableHandler.DeleteRows(C[i]);};return;};var E=FCKTools.GetElementAscensor(A,'TABLE');if (E.rows.length==1){FCKTableHandler.DeleteTable(E);return;};A.parentNode.removeChild(A);};FCKTableHandler.DeleteTable=function(A){if (!A){A=FCKSelection.GetSelectedElement();if (!A||A.tagName!='TABLE') A=FCKSelection.MoveToAncestorNode('TABLE');};if (!A) return;FCKSelection.SelectNode(A);FCKSelection.Collapse();if (A.parentNode.childNodes.length==1) A.parentNode.parentNode.removeChild(A.parentNode);else A.parentNode.removeChild(A);};FCKTableHandler.InsertColumn=function(A){var B=null;var C=this.GetSelectedCells();if (C&&C.length) B=C[A?0:(C.length-1)];if (!B) return;var D=FCKTools.GetElementAscensor(B,'TABLE');var E=B.cellIndex;for (var i=0;i<D.rows.length;i++){var F=D.rows[i];if (F.cells.length<(E+1)) continue;B=F.cells[E].cloneNode(false);if (FCKBrowserInfo.IsGeckoLike) FCKTools.AppendBogusBr(B);var G=F.cells[E];F.insertBefore(B,(A?G:G.nextSibling));}};FCKTableHandler.DeleteColumns=function(A){if (!A){var B=FCKTableHandler.GetSelectedCells();for (var i=B.length;i>=0;i--){if (B[i]) FCKTableHandler.DeleteColumns(B[i]);};return;};if (!A) return;var C=FCKTools.GetElementAscensor(A,'TABLE');var D=A.cellIndex;for (var i=C.rows.length-1;i>=0;i--){var E=C.rows[i];if (D==0&&E.cells.length==1){FCKTableHandler.DeleteRows(E);continue;};if (E.cells[D]) E.removeChild(E.cells[D]);}};FCKTableHandler.InsertCell=function(A,B){var C=null;var D=this.GetSelectedCells();if (D&&D.length) C=D[B?0:(D.length-1)];if (!C) return null;var E=FCK.EditorDocument.createElement('TD');if (FCKBrowserInfo.IsGeckoLike) FCKTools.AppendBogusBr(E);if (!B&&C.cellIndex==C.parentNode.cells.length-1) C.parentNode.appendChild(E);else C.parentNode.insertBefore(E,B?C:C.nextSibling);return E;};FCKTableHandler.DeleteCell=function(A){if (A.parentNode.cells.length==1){FCKTableHandler.DeleteRows(A.parentNode);return;};A.parentNode.removeChild(A);};FCKTableHandler.DeleteCells=function(){var A=FCKTableHandler.GetSelectedCells();for (var i=A.length-1;i>=0;i--){FCKTableHandler.DeleteCell(A[i]);}};FCKTableHandler._MarkCells=function(A,B){for (var i=0;i<A.length;i++) A[i][B]=true;};FCKTableHandler._UnmarkCells=function(A,B){for (var i=0;i<A.length;i++){FCKDomTools.ClearElementJSProperty(A[i],B);}};FCKTableHandler._ReplaceCellsByMarker=function(A,B,C){for (var i=0;i<A.length;i++){for (var j=0;j<A[i].length;j++){if (A[i][j][B]) A[i][j]=C;}}};FCKTableHandler._GetMarkerGeometry=function(A,B,C,D){var E=0;var F=0;var G=0;var H=0;for (var i=C;A[B][i]&&A[B][i][D];i++) E++;for (var i=C-1;A[B][i]&&A[B][i][D];i--){E++;G++;};for (var i=B;A[i]&&A[i][C]&&A[i][C][D];i++) F++;for (var i=B-1;A[i]&&A[i][C]&&A[i][C][D];i--){F++;H++;};return { 'width':E,'height':F,'x':G,'y':H };};FCKTableHandler.CheckIsSelectionRectangular=function(){var A=FCKTableHandler.GetSelectedCells();if (A.length<1) return false;for (var i=0;i<A.length;i++){if (A[i].parentNode.parentNode!=A[0].parentNode.parentNode) return false;};this._MarkCells(A,'_CellSelected');var B=this._CreateTableMap(A[0]);var C=A[0].parentNode.rowIndex;var D=this._GetCellIndexSpan(B,C,A[0]);var E=this._GetMarkerGeometry(B,C,D,'_CellSelected');var F=D-E.x;var G=C-E.y;if (E.width>=E.height){for (D=F;D<F+E.width;D++){C=G+(D-F) % E.height;if (!B[C]||!B[C][D]){this._UnmarkCells(A,'_CellSelected');return false;};var g=this._GetMarkerGeometry(B,C,D,'_CellSelected');if (g.width!=E.width||g.height!=E.height){this._UnmarkCells(A,'_CellSelected');return false;}}}else{for (C=G;C<G+E.height;C++){D=F+(C-G) % E.width;if (!B[C]||!B[C][D]){this._UnmarkCells(A,'_CellSelected');return false;};var g=this._GetMarkerGeometry(B,C,D,'_CellSelected');if (g.width!=E.width||g.height!=E.height){this._UnmarkCells(A,'_CellSelected');return false;}}};this._UnmarkCells(A,'_CellSelected');return true;};FCKTableHandler.MergeCells=function(){var A=this.GetSelectedCells();if (A.length<2) return;var B=A[0];var C=this._CreateTableMap(B);var D=B.parentNode.rowIndex;var E=this._GetCellIndexSpan(C,D,B);this._MarkCells(A,'_SelectedCells');var F=this._GetMarkerGeometry(C,D,E,'_SelectedCells');var G=E-F.x;var H=D-F.y;var I=FCKTools.GetElementDocument(B).createDocumentFragment();for (var i=0;i<F.height;i++){var J=0;for (var j=0;j<F.width;j++){var K=C[H+i][G+j];while (K.childNodes.length>0){var L=K.removeChild(K.firstChild);if (L.nodeType!=1||(L.getAttribute('type',2)!='_moz'&&L.getAttribute('_moz_dirty')!=null)){I.appendChild(L);J++;}}};if (J>0) I.appendChild(FCK.EditorDocument.createElement('br'));};this._ReplaceCellsByMarker(C,'_SelectedCells',B);this._UnmarkCells(A,'_SelectedCells');this._InstallTableMap(C,B.parentNode.parentNode.parentNode);B.appendChild(I);if (FCKBrowserInfo.IsGeckoLike&&(!B.firstChild)) FCKTools.AppendBogusBr(B);this._MoveCaretToCell(B,false);};FCKTableHandler.MergeRight=function(){var A=this.GetMergeRightTarget();if (A==null) return;var B=A.refCell;var C=A.tableMap;var D=A.nextCell;var E=FCK.EditorDocument.createDocumentFragment();while (D&&D.childNodes&&D.childNodes.length>0) E.appendChild(D.removeChild(D.firstChild));D.parentNode.removeChild(D);B.appendChild(E);this._MarkCells([D],'_Replace');this._ReplaceCellsByMarker(C,'_Replace',B);this._InstallTableMap(C,B.parentNode.parentNode.parentNode);this._MoveCaretToCell(B,false);};FCKTableHandler.MergeDown=function(){var A=this.GetMergeDownTarget();if (A==null) return;var B=A.refCell;var C=A.tableMap;var D=A.nextCell;var E=FCKTools.GetElementDocument(B).createDocumentFragment();while (D&&D.childNodes&&D.childNodes.length>0) E.appendChild(D.removeChild(D.firstChild));if (E.firstChild) E.insertBefore(FCK.EditorDocument.createElement('br'),E.firstChild);B.appendChild(E);this._MarkCells([D],'_Replace');this._ReplaceCellsByMarker(C,'_Replace',B);this._InstallTableMap(C,B.parentNode.parentNode.parentNode);this._MoveCaretToCell(B,false);};FCKTableHandler.HorizontalSplitCell=function(){var A=FCKTableHandler.GetSelectedCells();if (A.length!=1) return;var B=A[0];var C=this._CreateTableMap(B);var D=B.parentNode.rowIndex;var E=FCKTableHandler._GetCellIndexSpan(C,D,B);var F=isNaN(B.colSpan)?1:B.colSpan;if (F>1){var G=Math.ceil(F/2);var H=FCK.EditorDocument.createElement(B.nodeName);if (FCKBrowserInfo.IsGeckoLike) FCKTools.AppendBogusBr(H);var I=E+G;var J=E+F;var K=isNaN(B.rowSpan)?1:B.rowSpan;for (var r=D;r<D+K;r++){for (var i=I;i<J;i++) C[r][i]=H;}}else{var L=[];for (var i=0;i<C.length;i++){var M=C[i].slice(0,E);if (C[i].length<=E){L.push(M);continue;};if (C[i][E]==B){M.push(B);M.push(FCK.EditorDocument.createElement(B.nodeName));if (FCKBrowserInfo.IsGeckoLike) FCKTools.AppendBogusBr(M[M.length-1]);}else{M.push(C[i][E]);M.push(C[i][E]);};for (var j=E+1;j<C[i].length;j++) M.push(C[i][j]);L.push(M);};C=L;};this._InstallTableMap(C,B.parentNode.parentNode.parentNode);};FCKTableHandler.VerticalSplitCell=function(){var A=FCKTableHandler.GetSelectedCells();if (A.length!=1) return;var B=A[0];var C=this._CreateTableMap(B);var D=B.parentNode.rowIndex;var E=FCKTableHandler._GetCellIndexSpan(C,D,B);var F=isNaN(B.colSpan)?1:B.colSpan;var G=B.rowSpan;if (isNaN(G)) G=1;if (G>1){B.rowSpan=Math.ceil(G/2);var H=D+Math.ceil(G/2);var I=C[H];var J=null;for (var i=E+1;i<I.length;i++){if (I[i].parentNode.rowIndex==H){J=I[i];break;}};var K=FCK.EditorDocument.createElement(B.nodeName);K.rowSpan=Math.floor(G/2);if (F>1) K.colSpan=F;if (FCKBrowserInfo.IsGeckoLike) FCKTools.AppendBogusBr(K);B.parentNode.parentNode.parentNode.rows[H].insertBefore(K,J);}else{var L=B.parentNode.sectionRowIndex+1;var M=FCK.EditorDocument.createElement('tr');var N=B.parentNode.parentNode;if (N.rows.length>L) N.insertBefore(M,N.rows[L]);else N.appendChild(M);for (var i=0;i<C[D].length;){var O=C[D][i].colSpan;if (isNaN(O)||O<1) O=1;if (i==E){i+=O;continue;};var P=C[D][i].rowSpan;if (isNaN(P)) P=1;C[D][i].rowSpan=P+1;i+=O;};var K=FCK.EditorDocument.createElement(B.nodeName);if (F>1) K.colSpan=F;if (FCKBrowserInfo.IsGeckoLike) FCKTools.AppendBogusBr(K);M.appendChild(K);}};FCKTableHandler._GetCellIndexSpan=function(A,B,C){if (A.length<B+1) return null;var D=A[B];for (var c=0;c<D.length;c++){if (D[c]==C) return c;};return null;};FCKTableHandler._GetCellLocation=function(A,B){for (var i=0;i<A.length;i++){for (var c=0;c<A[i].length;c++){if (A[i][c]==B) return [i,c];}};return null;};FCKTableHandler._CreateTableMap=function(A){var B=(A.nodeName=='TABLE'?A:A.parentNode.parentNode.parentNode);var C=B.rows;var r=-1;var D=[];for (var i=0;i<C.length;i++){r++;if (!D[r]) D[r]=[];var c=-1;for (var j=0;j<C[i].cells.length;j++){var E=C[i].cells[j];c++;while (D[r][c]) c++;var F=isNaN(E.colSpan)?1:E.colSpan;var G=isNaN(E.rowSpan)?1:E.rowSpan;for (var H=0;H<G;H++){if (!D[r+H]) D[r+H]=[];for (var I=0;I<F;I++){D[r+H][c+I]=C[i].cells[j];}};c+=F-1;}};return D;};FCKTableHandler._InstallTableMap=function(A,B){var C=FCKBrowserInfo.IsIE?"_fckrowspan":"rowSpan";for (var i=0;i<A.length;i++){for (var j=0;j<A[i].length;j++){var D=A[i][j];if (D.parentNode) D.parentNode.removeChild(D);D.colSpan=D[C]=1;}};var E=0;for (var i=0;i<A.length;i++){for (var j=0;j<A[i].length;j++){var D=A[i][j];if (!D) continue;if (j>E) E=j;if (D._colScanned===true) continue;if (A[i][j-1]==D) D.colSpan++;if (A[i][j+1]!=D) D._colScanned=true;}};for (var i=0;i<=E;i++){for (var j=0;j<A.length;j++){if (!A[j]) continue;var D=A[j][i];if (!D||D._rowScanned===true) continue;if (A[j-1]&&A[j-1][i]==D) D[C]++;if (!A[j+1]||A[j+1][i]!=D) D._rowScanned=true;}};for (var i=0;i<A.length;i++){for (var j=0;j<A[i].length;j++){var D=A[i][j];FCKDomTools.ClearElementJSProperty(D,'_colScanned');FCKDomTools.ClearElementJSProperty(D,'_rowScanned');}};for (var i=0;i<A.length;i++){var I=FCK.EditorDocument.createElement('tr');for (var j=0;j<A[i].length;){var D=A[i][j];if (A[i-1]&&A[i-1][j]==D){j+=D.colSpan;continue;};I.appendChild(D);if (C!='rowSpan'){D.rowSpan=D[C];D.removeAttribute(C);};j+=D.colSpan;if (D.colSpan==1) D.removeAttribute('colspan');if (D.rowSpan==1) D.removeAttribute('rowspan');};if (FCKBrowserInfo.IsIE){B.rows[i].replaceNode(I);}else{B.rows[i].innerHTML='';FCKDomTools.MoveChildren(I,B.rows[i]);}}};FCKTableHandler._MoveCaretToCell=function (A,B){var C=new FCKDomRange(FCK.EditorWindow);C.MoveToNodeContents(A);C.Collapse(B);C.Select();};FCKTableHandler.ClearRow=function(A){var B=A.cells;for (var i=0;i<B.length;i++){B[i].innerHTML='';if (FCKBrowserInfo.IsGeckoLike) FCKTools.AppendBogusBr(B[i]);}};FCKTableHandler.GetMergeRightTarget=function(){var A=this.GetSelectedCells();if (A.length!=1) return null;var B=A[0];var C=this._CreateTableMap(B);var D=B.parentNode.rowIndex;var E=this._GetCellIndexSpan(C,D,B);var F=E+(isNaN(B.colSpan)?1:B.colSpan);var G=C[D][F];if (!G) return null;this._MarkCells([B,G],'_SizeTest');var H=this._GetMarkerGeometry(C,D,E,'_SizeTest');var I=this._GetMarkerGeometry(C,D,F,'_SizeTest');this._UnmarkCells([B,G],'_SizeTest');if (H.height!=I.height||H.y!=I.y) return null;return { 'refCell':B,'nextCell':G,'tableMap':C };};FCKTableHandler.GetMergeDownTarget=function(){var A=this.GetSelectedCells();if (A.length!=1) return null;var B=A[0];var C=this._CreateTableMap(B);var D=B.parentNode.rowIndex;var E=this._GetCellIndexSpan(C,D,B);var F=D+(isNaN(B.rowSpan)?1:B.rowSpan);if (!C[F]) return null;var G=C[F][E];if (!G) return null;if (B.parentNode.parentNode!=G.parentNode.parentNode) return null;this._MarkCells([B,G],'_SizeTest');var H=this._GetMarkerGeometry(C,D,E,'_SizeTest');var I=this._GetMarkerGeometry(C,F,E,'_SizeTest');this._UnmarkCells([B,G],'_SizeTest');if (H.width!=I.width||H.x!=I.x) return null;return { 'refCell':B,'nextCell':G,'tableMap':C };};\r
-FCKTableHandler.GetSelectedCells=function(){var A=[];var B=FCKSelection.GetSelection();if (B.rangeCount==1&&B.anchorNode.nodeType==3){var C=FCKTools.GetElementAscensor(B.anchorNode,'TD,TH');if (C) A[0]=C;return A;};for (var i=0;i<B.rangeCount;i++){var D=B.getRangeAt(i);var E;if (D.startContainer.tagName.Equals('TD','TH')) E=D.startContainer;else E=D.startContainer.childNodes[D.startOffset];if (E.nodeName.Equals('TD','TH')) A[A.length]=E;};return A;};\r
-var FCKXml=function(){this.Error=false;};FCKXml.GetAttribute=function(A,B,C){var D=A.attributes.getNamedItem(B);return D?D.value:C;};FCKXml.TransformToObject=function(A){if (!A) return null;var B={};var C=A.attributes;for (var i=0;i<C.length;i++){var D=C[i];B[D.name]=D.value;};var E=A.childNodes;for (i=0;i<E.length;i++){var F=E[i];if (F.nodeType==1){var G='$'+F.nodeName;var H=B[G];if (!H) H=B[G]=[];H.push(this.TransformToObject(F));}};return B;};\r
-FCKXml.prototype={LoadUrl:function(A){this.Error=false;var B;var C=FCKTools.CreateXmlObject('XmlHttp');C.open('GET',A,false);C.send(null);if (C.status==200||C.status==304||(C.status==0&&C.readyState==4)){B=C.responseXML;if (!B) B=(new DOMParser()).parseFromString(C.responseText,'text/xml');}else B=null;if (B){try{var D=B.firstChild;}catch (e){B=(new DOMParser()).parseFromString(C.responseText,'text/xml');}};if (!B||!B.firstChild){this.Error=true;if (window.confirm('Error loading "'+A+'" (HTTP Status: '+C.status+').\r\nDo you want to see the server response dump?')) alert(C.responseText);};this.DOMDocument=B;},SelectNodes:function(A,B){if (this.Error) return [];var C=[];var D=this.DOMDocument.evaluate(A,B?B:this.DOMDocument,this.DOMDocument.createNSResolver(this.DOMDocument.documentElement),XPathResult.ORDERED_NODE_ITERATOR_TYPE,null);if (D){var E=D.iterateNext();while(E){C[C.length]=E;E=D.iterateNext();}};return C;},SelectSingleNode:function(A,B){if (this.Error) return null;var C=this.DOMDocument.evaluate(A,B?B:this.DOMDocument,this.DOMDocument.createNSResolver(this.DOMDocument.documentElement),9,null);if (C&&C.singleNodeValue) return C.singleNodeValue;else return null;}};\r
-var FCKNamedCommand=function(A){this.Name=A;};FCKNamedCommand.prototype.Execute=function(){FCK.ExecuteNamedCommand(this.Name);};FCKNamedCommand.prototype.GetState=function(){if (FCK.EditMode!=0) return -1;return FCK.GetNamedCommandState(this.Name);};\r
-var FCKStyleCommand=function(){};FCKStyleCommand.prototype={Name:'Style',Execute:function(A,B){FCKUndo.SaveUndoStep();if (B.Selected) FCK.Styles.RemoveStyle(B.Style);else FCK.Styles.ApplyStyle(B.Style);FCKUndo.SaveUndoStep();FCK.Focus();FCK.Events.FireEvent('OnSelectionChange');},GetState:function(){if (FCK.EditMode!=0||!FCK.EditorDocument) return -1;if (FCKSelection.GetType()=='Control'){var A=FCKSelection.GetSelectedElement();if (!A||!FCKStyles.CheckHasObjectStyle(A.nodeName.toLowerCase())) return -1;};return 0;}};\r
-var FCKDialogCommand=function(A,B,C,D,E,F,G,H){this.Name=A;this.Title=B;this.Url=C;this.Width=D;this.Height=E;this.CustomValue=H;this.GetStateFunction=F;this.GetStateParam=G;this.Resizable=false;};FCKDialogCommand.prototype.Execute=function(){FCKDialog.OpenDialog('FCKDialog_'+this.Name,this.Title,this.Url,this.Width,this.Height,this.CustomValue,this.Resizable);};FCKDialogCommand.prototype.GetState=function(){if (this.GetStateFunction) return this.GetStateFunction(this.GetStateParam);else return FCK.EditMode==0?0:-1;};var FCKUndefinedCommand=function(){this.Name='Undefined';};FCKUndefinedCommand.prototype.Execute=function(){alert(FCKLang.NotImplemented);};FCKUndefinedCommand.prototype.GetState=function(){return 0;};var FCKFormatBlockCommand=function(){};FCKFormatBlockCommand.prototype={Name:'FormatBlock',Execute:FCKStyleCommand.prototype.Execute,GetState:function(){return FCK.EditorDocument?0:-1;}};var FCKFontNameCommand=function(){};FCKFontNameCommand.prototype={Name:'FontName',Execute:FCKStyleCommand.prototype.Execute,GetState:FCKFormatBlockCommand.prototype.GetState};var FCKFontSizeCommand=function(){};FCKFontSizeCommand.prototype={Name:'FontSize',Execute:FCKStyleCommand.prototype.Execute,GetState:FCKFormatBlockCommand.prototype.GetState};var FCKPreviewCommand=function(){this.Name='Preview';};FCKPreviewCommand.prototype.Execute=function(){FCK.Preview();};FCKPreviewCommand.prototype.GetState=function(){return 0;};var FCKSaveCommand=function(){this.Name='Save';};FCKSaveCommand.prototype.Execute=function(){var A=FCK.GetParentForm();if (typeof(A.onsubmit)=='function'){var B=A.onsubmit();if (B!=null&&B===false) return;};if (typeof(A.submit)=='function') A.submit();else A.submit.click();};FCKSaveCommand.prototype.GetState=function(){return 0;};var FCKNewPageCommand=function(){this.Name='NewPage';};FCKNewPageCommand.prototype.Execute=function(){FCKUndo.SaveUndoStep();FCK.SetData('');FCKUndo.Typing=true;FCK.Focus();};FCKNewPageCommand.prototype.GetState=function(){return 0;};var FCKSourceCommand=function(){this.Name='Source';};FCKSourceCommand.prototype.Execute=function(){if (FCKConfig.SourcePopup){var A=FCKConfig.ScreenWidth*0.65;var B=FCKConfig.ScreenHeight*0.65;FCKDialog.OpenDialog('FCKDialog_Source',FCKLang.Source,'dialog/fck_source.html',A,B,null,true);}else FCK.SwitchEditMode();};FCKSourceCommand.prototype.GetState=function(){return (FCK.EditMode==0?0:1);};var FCKUndoCommand=function(){this.Name='Undo';};FCKUndoCommand.prototype.Execute=function(){FCKUndo.Undo();};FCKUndoCommand.prototype.GetState=function(){if (FCK.EditMode!=0) return -1;return (FCKUndo.CheckUndoState()?0:-1);};var FCKRedoCommand=function(){this.Name='Redo';};FCKRedoCommand.prototype.Execute=function(){FCKUndo.Redo();};FCKRedoCommand.prototype.GetState=function(){if (FCK.EditMode!=0) return -1;return (FCKUndo.CheckRedoState()?0:-1);};var FCKPageBreakCommand=function(){this.Name='PageBreak';};FCKPageBreakCommand.prototype.Execute=function(){FCKUndo.SaveUndoStep();var e=FCK.EditorDocument.createElement('DIV');e.style.pageBreakAfter='always';e.innerHTML='<span style="DISPLAY:none">&nbsp;</span>';var A=FCKDocumentProcessor_CreateFakeImage('FCK__PageBreak',e);var B=new FCKDomRange(FCK.EditorWindow);B.MoveToSelection();var C=B.SplitBlock();B.InsertNode(A);FCK.Events.FireEvent('OnSelectionChange');};FCKPageBreakCommand.prototype.GetState=function(){if (FCK.EditMode!=0) return -1;return 0;};var FCKUnlinkCommand=function(){this.Name='Unlink';};FCKUnlinkCommand.prototype.Execute=function(){FCKUndo.SaveUndoStep();if (FCKBrowserInfo.IsGeckoLike){var A=FCK.Selection.MoveToAncestorNode('A');if (A) FCKTools.RemoveOuterTags(A);return;};FCK.ExecuteNamedCommand(this.Name);};FCKUnlinkCommand.prototype.GetState=function(){if (FCK.EditMode!=0) return -1;var A=FCK.GetNamedCommandState(this.Name);if (A==0&&FCK.EditMode==0){var B=FCKSelection.MoveToAncestorNode('A');var C=(B&&B.name.length>0&&B.href.length==0);if (C) A=-1;};return A;};var FCKVisitLinkCommand=function(){this.Name='VisitLink';};FCKVisitLinkCommand.prototype={GetState:function(){if (FCK.EditMode!=0) return -1;var A=FCK.GetNamedCommandState('Unlink');if (A==0){var B=FCKSelection.MoveToAncestorNode('A');if (!B.href) A=-1;};return A;},Execute:function(){var A=FCKSelection.MoveToAncestorNode('A');var B=A.getAttribute('_fcksavedurl')||A.getAttribute('href',2);if (!/:\/\//.test(B)){var C=FCKConfig.BaseHref;var D=FCK.GetInstanceObject('parent');if (!C){C=D.document.location.href;C=C.substring(0,C.lastIndexOf('/')+1);};if (/^\//.test(B)){try{C=C.match(/^.*:\/\/+[^\/]+/)[0];}catch (e){C=D.document.location.protocol+'://'+D.parent.document.location.host;}};B=C+B;};if (!window.open(B,'_blank')) alert(FCKLang.VisitLinkBlocked);}};var FCKSelectAllCommand=function(){this.Name='SelectAll';};FCKSelectAllCommand.prototype.Execute=function(){if (FCK.EditMode==0){FCK.ExecuteNamedCommand('SelectAll');}else{var A=FCK.EditingArea.Textarea;if (FCKBrowserInfo.IsIE){A.createTextRange().execCommand('SelectAll');}else{A.selectionStart=0;A.selectionEnd=A.value.length;};A.focus();}};FCKSelectAllCommand.prototype.GetState=function(){if (FCK.EditMode!=0) return -1;return 0;};var FCKPasteCommand=function(){this.Name='Paste';};FCKPasteCommand.prototype={Execute:function(){if (FCKBrowserInfo.IsIE) FCK.Paste();else FCK.ExecuteNamedCommand('Paste');},GetState:function(){if (FCK.EditMode!=0) return -1;return FCK.GetNamedCommandState('Paste');}};var FCKRuleCommand=function(){this.Name='Rule';};FCKRuleCommand.prototype={Execute:function(){FCKUndo.SaveUndoStep();FCK.InsertElement('hr');},GetState:function(){if (FCK.EditMode!=0) return -1;return FCK.GetNamedCommandState('InsertHorizontalRule');}};var FCKCutCopyCommand=function(A){this.Name=A?'Cut':'Copy';};FCKCutCopyCommand.prototype={Execute:function(){var A=false;if (FCKBrowserInfo.IsIE){var B=function(){A=true;};var C='on'+this.Name.toLowerCase();FCK.EditorDocument.body.attachEvent(C,B);FCK.ExecuteNamedCommand(this.Name);FCK.EditorDocument.body.detachEvent(C,B);}else{try{FCK.ExecuteNamedCommand(this.Name);A=true;}catch(e){}};if (!A) alert(FCKLang['PasteError'+this.Name]);},GetState:function(){return FCK.EditMode!=0?-1:FCK.GetNamedCommandState('Cut');}};var FCKAnchorDeleteCommand=function(){this.Name='AnchorDelete';};FCKAnchorDeleteCommand.prototype={Execute:function(){if (FCK.Selection.GetType()=='Control'){FCK.Selection.Delete();}else{var A=FCK.Selection.GetSelectedElement();if (A){if (A.tagName=='IMG'&&A.getAttribute('_fckanchor')) oAnchor=FCK.GetRealElement(A);else A=null;};if (!A){oAnchor=FCK.Selection.MoveToAncestorNode('A');if (oAnchor) FCK.Selection.SelectNode(oAnchor);};if (oAnchor.href.length!=0){oAnchor.removeAttribute('name');if (FCKBrowserInfo.IsIE) oAnchor.className=oAnchor.className.replace(FCKRegexLib.FCK_Class,'');return;};if (A){A.parentNode.removeChild(A);return;};if (oAnchor.innerHTML.length==0){oAnchor.parentNode.removeChild(oAnchor);return;};FCKTools.RemoveOuterTags(oAnchor);};if (FCKBrowserInfo.IsGecko) FCK.Selection.Collapse(true);},GetState:function(){if (FCK.EditMode!=0) return -1;return FCK.GetNamedCommandState('Unlink');}};var FCKDeleteDivCommand=function(){};FCKDeleteDivCommand.prototype={GetState:function(){if (FCK.EditMode!=0) return -1;var A=FCKSelection.GetParentElement();var B=new FCKElementPath(A);return B.BlockLimit&&B.BlockLimit.nodeName.IEquals('div')?0:-1;},Execute:function(){FCKUndo.SaveUndoStep();var A=FCKDomTools.GetSelectedDivContainers();var B=new FCKDomRange(FCK.EditorWindow);B.MoveToSelection();var C=B.CreateBookmark();for (var i=0;i<A.length;i++) FCKDomTools.RemoveNode(A[i],true);B.MoveToBookmark(C);B.Select();}};var FCKNbsp=function(){this.Name='Non Breaking Space';};FCKNbsp.prototype={Execute:function(){FCK.InsertHtml('&nbsp;');},GetState:function(){return (FCK.EditMode!=0?-1:0);}};\r
-var FCKShowBlockCommand=function(A,B){this.Name=A;if (B!=undefined) this._SavedState=B;else this._SavedState=null;};FCKShowBlockCommand.prototype.Execute=function(){var A=this.GetState();if (A==-1) return;var B=FCK.EditorDocument.body;if (A==1) B.className=B.className.replace(/(^| )FCK__ShowBlocks/g,'');else B.className+=' FCK__ShowBlocks';if (FCKBrowserInfo.IsIE){try{FCK.EditorDocument.selection.createRange().select();}catch (e){}}else{var C=FCK.EditorWindow.getSelection().focusNode;if (C){if (C.nodeType!=1) C=C.parentNode;FCKDomTools.ScrollIntoView(C,false);}};FCK.Events.FireEvent('OnSelectionChange');};FCKShowBlockCommand.prototype.GetState=function(){if (FCK.EditMode!=0) return -1;if (!FCK.EditorDocument) return 0;if (/FCK__ShowBlocks(?:\s|$)/.test(FCK.EditorDocument.body.className)) return 1;return 0;};FCKShowBlockCommand.prototype.SaveState=function(){this._SavedState=this.GetState();};FCKShowBlockCommand.prototype.RestoreState=function(){if (this._SavedState!=null&&this.GetState()!=this._SavedState) this.Execute();};\r
-var FCKSpellCheckCommand=function(){this.Name='SpellCheck';this.IsEnabled=(FCKConfig.SpellChecker!='ieSpell');};FCKSpellCheckCommand.prototype.Execute=function(){switch (FCKConfig.SpellChecker){case 'SpellerPages':FCKDialog.OpenDialog('FCKDialog_SpellCheck','Spell Check','dialog/fck_spellerpages.html',440,480);break;case 'WSC':FCKDialog.OpenDialog('FCKDialog_SpellCheck','Spell Check','wsc/w.html',530,480);}};FCKSpellCheckCommand.prototype.GetState=function(){if (FCK.EditMode!=0) return -1;return this.IsEnabled?0:-1;};\r
-var FCKTextColorCommand=function(A){this.Name=A=='ForeColor'?'TextColor':'BGColor';this.Type=A;var B;if (FCKBrowserInfo.IsIE) B=window;else if (FCK.ToolbarSet._IFrame) B=FCKTools.GetElementWindow(FCK.ToolbarSet._IFrame);else B=window.parent;this._Panel=new FCKPanel(B);this._Panel.AppendStyleSheet(FCKConfig.SkinEditorCSS);this._Panel.MainNode.className='FCK_Panel';this._CreatePanelBody(this._Panel.Document,this._Panel.MainNode);FCK.ToolbarSet.ToolbarItems.GetItem(this.Name).RegisterPanel(this._Panel);FCKTools.DisableSelection(this._Panel.Document.body);};FCKTextColorCommand.prototype.Execute=function(A,B,C){this._Panel.Show(A,B,C);};FCKTextColorCommand.prototype.SetColor=function(A){FCKUndo.SaveUndoStep();var B=FCKStyles.GetStyle('_FCK_'+(this.Type=='ForeColor'?'Color':'BackColor'));if (!A||A.length==0) FCK.Styles.RemoveStyle(B);else{B.SetVariable('Color',A);FCKStyles.ApplyStyle(B);};FCKUndo.SaveUndoStep();FCK.Focus();FCK.Events.FireEvent('OnSelectionChange');};FCKTextColorCommand.prototype.GetState=function(){if (FCK.EditMode!=0) return -1;return 0;};function FCKTextColorCommand_OnMouseOver(){this.className='ColorSelected';};function FCKTextColorCommand_OnMouseOut(){this.className='ColorDeselected';};function FCKTextColorCommand_OnClick(A,B,C){this.className='ColorDeselected';B.SetColor(C);B._Panel.Hide();};function FCKTextColorCommand_AutoOnClick(A,B){this.className='ColorDeselected';B.SetColor('');B._Panel.Hide();};function FCKTextColorCommand_MoreOnClick(A,B){this.className='ColorDeselected';B._Panel.Hide();FCKDialog.OpenDialog('FCKDialog_Color',FCKLang.DlgColorTitle,'dialog/fck_colorselector.html',410,320,FCKTools.Bind(B,B.SetColor));};FCKTextColorCommand.prototype._CreatePanelBody=function(A,B){function CreateSelectionDiv(){var C=A.createElement("DIV");C.className='ColorDeselected';FCKTools.AddEventListenerEx(C,'mouseover',FCKTextColorCommand_OnMouseOver);FCKTools.AddEventListenerEx(C,'mouseout',FCKTextColorCommand_OnMouseOut);return C;};var D=B.appendChild(A.createElement("TABLE"));D.className='ForceBaseFont';D.style.tableLayout='fixed';D.cellPadding=0;D.cellSpacing=0;D.border=0;D.width=150;var E=D.insertRow(-1).insertCell(-1);E.colSpan=8;var C=E.appendChild(CreateSelectionDiv());C.innerHTML='<table cellspacing="0" cellpadding="0" width="100%" border="0">\n                        <tr>\n                          <td><div class="ColorBoxBorder"><div class="ColorBox" style="background-color: #000000"></div></div></td>\n                             <td nowrap width="100%" align="center">'+FCKLang.ColorAutomatic+'</td>\n                        </tr>\n         </table>';FCKTools.AddEventListenerEx(C,'click',FCKTextColorCommand_AutoOnClick,this);if (!FCKBrowserInfo.IsIE) C.style.width='96%';var G=FCKConfig.FontColors.toString().split(',');var H=0;while (H<G.length){var I=D.insertRow(-1);for (var i=0;i<8;i++,H++){if (H<G.length){var J=G[H].split('/');var K='#'+J[0];var L=J[1]||K;};C=I.insertCell(-1).appendChild(CreateSelectionDiv());C.innerHTML='<div class="ColorBoxBorder"><div class="ColorBox" style="background-color: '+K+'"></div></div>';if (H>=G.length) C.style.visibility='hidden';else FCKTools.AddEventListenerEx(C,'click',FCKTextColorCommand_OnClick,[this,L]);}};if (FCKConfig.EnableMoreFontColors){E=D.insertRow(-1).insertCell(-1);E.colSpan=8;C=E.appendChild(CreateSelectionDiv());C.innerHTML='<table width="100%" cellpadding="0" cellspacing="0" border="0"><tr><td nowrap align="center">'+FCKLang.ColorMoreColors+'</td></tr></table>';FCKTools.AddEventListenerEx(C,'click',FCKTextColorCommand_MoreOnClick,this);if (!FCKBrowserInfo.IsIE) C.style.width='96%';}};\r
-var FCKPastePlainTextCommand=function(){this.Name='PasteText';};FCKPastePlainTextCommand.prototype.Execute=function(){FCK.PasteAsPlainText();};FCKPastePlainTextCommand.prototype.GetState=function(){if (FCK.EditMode!=0) return -1;return FCK.GetNamedCommandState('Paste');};\r
-var FCKPasteWordCommand=function(){this.Name='PasteWord';};FCKPasteWordCommand.prototype.Execute=function(){FCK.PasteFromWord();};FCKPasteWordCommand.prototype.GetState=function(){if (FCK.EditMode!=0||FCKConfig.ForcePasteAsPlainText) return -1;else return FCK.GetNamedCommandState('Paste');};\r
-var FCKTableCommand=function(A){this.Name=A;};FCKTableCommand.prototype.Execute=function(){FCKUndo.SaveUndoStep();if (!FCKBrowserInfo.IsGecko){switch (this.Name){case 'TableMergeRight':return FCKTableHandler.MergeRight();case 'TableMergeDown':return FCKTableHandler.MergeDown();}};switch (this.Name){case 'TableInsertRowAfter':return FCKTableHandler.InsertRow(false);case 'TableInsertRowBefore':return FCKTableHandler.InsertRow(true);case 'TableDeleteRows':return FCKTableHandler.DeleteRows();case 'TableInsertColumnAfter':return FCKTableHandler.InsertColumn(false);case 'TableInsertColumnBefore':return FCKTableHandler.InsertColumn(true);case 'TableDeleteColumns':return FCKTableHandler.DeleteColumns();case 'TableInsertCellAfter':return FCKTableHandler.InsertCell(null,false);case 'TableInsertCellBefore':return FCKTableHandler.InsertCell(null,true);case 'TableDeleteCells':return FCKTableHandler.DeleteCells();case 'TableMergeCells':return FCKTableHandler.MergeCells();case 'TableHorizontalSplitCell':return FCKTableHandler.HorizontalSplitCell();case 'TableVerticalSplitCell':return FCKTableHandler.VerticalSplitCell();case 'TableDelete':return FCKTableHandler.DeleteTable();default:return alert(FCKLang.UnknownCommand.replace(/%1/g,this.Name));}};FCKTableCommand.prototype.GetState=function(){if (FCK.EditorDocument!=null&&FCKSelection.HasAncestorNode('TABLE')){switch (this.Name){case 'TableHorizontalSplitCell':case 'TableVerticalSplitCell':if (FCKTableHandler.GetSelectedCells().length==1) return 0;else return -1;case 'TableMergeCells':if (FCKTableHandler.CheckIsSelectionRectangular()&&FCKTableHandler.GetSelectedCells().length>1) return 0;else return -1;case 'TableMergeRight':return FCKTableHandler.GetMergeRightTarget()?0:-1;case 'TableMergeDown':return FCKTableHandler.GetMergeDownTarget()?0:-1;default:return 0;}}else return -1;};\r
-var FCKFitWindow=function(){this.Name='FitWindow';};FCKFitWindow.prototype.Execute=function(){var A=window.frameElement;var B=A.style;var C=parent;var D=C.document.documentElement;var E=C.document.body;var F=E.style;var G;var H,oEditorScrollPos;if (FCK.EditMode==0){H=new FCKDomRange(FCK.EditorWindow);H.MoveToSelection();oEditorScrollPos=FCKTools.GetScrollPosition(FCK.EditorWindow);}else{var I=FCK.EditingArea.Textarea;H=!FCKBrowserInfo.IsIE&&[I.selectionStart,I.selectionEnd];oEditorScrollPos=[I.scrollLeft,I.scrollTop];};if (!this.IsMaximized){if(FCKBrowserInfo.IsIE) C.attachEvent('onresize',FCKFitWindow_Resize);else C.addEventListener('resize',FCKFitWindow_Resize,true);this._ScrollPos=FCKTools.GetScrollPosition(C);G=A;while((G=G.parentNode)){if (G.nodeType==1){G._fckSavedStyles=FCKTools.SaveStyles(G);G.style.zIndex=FCKConfig.FloatingPanelsZIndex-1;}};if (FCKBrowserInfo.IsIE){this.documentElementOverflow=D.style.overflow;D.style.overflow='hidden';F.overflow='hidden';}else{F.overflow='hidden';F.width='0px';F.height='0px';};this._EditorFrameStyles=FCKTools.SaveStyles(A);var J=FCKTools.GetViewPaneSize(C);B.position="absolute";A.offsetLeft;B.zIndex=FCKConfig.FloatingPanelsZIndex-1;B.left="0px";B.top="0px";B.width=J.Width+"px";B.height=J.Height+"px";if (!FCKBrowserInfo.IsIE){B.borderRight=B.borderBottom="9999px solid white";B.backgroundColor="white";};C.scrollTo(0,0);var K=FCKTools.GetWindowPosition(C,A);if (K.x!=0) B.left=(-1*K.x)+"px";if (K.y!=0) B.top=(-1*K.y)+"px";this.IsMaximized=true;}else{if(FCKBrowserInfo.IsIE) C.detachEvent("onresize",FCKFitWindow_Resize);else C.removeEventListener("resize",FCKFitWindow_Resize,true);G=A;while((G=G.parentNode)){if (G._fckSavedStyles){FCKTools.RestoreStyles(G,G._fckSavedStyles);G._fckSavedStyles=null;}};if (FCKBrowserInfo.IsIE) D.style.overflow=this.documentElementOverflow;FCKTools.RestoreStyles(A,this._EditorFrameStyles);C.scrollTo(this._ScrollPos.X,this._ScrollPos.Y);this.IsMaximized=false;};FCKToolbarItems.GetItem('FitWindow').RefreshState();if (FCK.EditMode==0) FCK.EditingArea.MakeEditable();FCK.Focus();if (FCK.EditMode==0){H.Select();FCK.EditorWindow.scrollTo(oEditorScrollPos.X,oEditorScrollPos.Y);}else{if (!FCKBrowserInfo.IsIE){I.selectionStart=H[0];I.selectionEnd=H[1];};I.scrollLeft=oEditorScrollPos[0];I.scrollTop=oEditorScrollPos[1];}};FCKFitWindow.prototype.GetState=function(){if (FCKConfig.ToolbarLocation!='In') return -1;else return (this.IsMaximized?1:0);};function FCKFitWindow_Resize(){var A=FCKTools.GetViewPaneSize(parent);var B=window.frameElement.style;B.width=A.Width+'px';B.height=A.Height+'px';};\r
-var FCKListCommand=function(A,B){this.Name=A;this.TagName=B;};FCKListCommand.prototype={GetState:function(){if (FCK.EditMode!=0||!FCK.EditorWindow) return -1;var A=FCKSelection.GetBoundaryParentElement(true);var B=A;while (B){if (B.nodeName.IEquals(['ul','ol'])) break;B=B.parentNode;};if (B&&B.nodeName.IEquals(this.TagName)) return 1;else return 0;},Execute:function(){FCKUndo.SaveUndoStep();var A=FCK.EditorDocument;var B=new FCKDomRange(FCK.EditorWindow);B.MoveToSelection();var C=this.GetState();if (C==0){FCKDomTools.TrimNode(A.body);if (!A.body.firstChild){var D=A.createElement('p');A.body.appendChild(D);B.MoveToNodeContents(D);}};var E=B.CreateBookmark();var F=[];var G={};var H=new FCKDomRangeIterator(B);var I;H.ForceBrBreak=(C==0);var J=true;var K=null;while (J){while ((I=H.GetNextParagraph())){var L=new FCKElementPath(I);var M=null;var N=false;var O=L.BlockLimit;for (var i=L.Elements.length-1;i>=0;i--){var P=L.Elements[i];if (P.nodeName.IEquals(['ol','ul'])){if (O._FCK_ListGroupObject) O._FCK_ListGroupObject=null;var Q=P._FCK_ListGroupObject;if (Q) Q.contents.push(I);else{Q={ 'root':P,'contents':[I] };F.push(Q);FCKDomTools.SetElementMarker(G,P,'_FCK_ListGroupObject',Q);};N=true;break;}};if (N) continue;var R=O;if (R._FCK_ListGroupObject) R._FCK_ListGroupObject.contents.push(I);else{var Q={ 'root':R,'contents':[I] };FCKDomTools.SetElementMarker(G,R,'_FCK_ListGroupObject',Q);F.push(Q);}};if (FCKBrowserInfo.IsIE) J=false;else{if (K==null){K=[];var T=FCKSelection.GetSelection();if (T&&F.length==0) K.push(T.getRangeAt(0));for (var i=1;T&&i<T.rangeCount;i++) K.push(T.getRangeAt(i));};if (K.length<1) J=false;else{var U=FCKW3CRange.CreateFromRange(A,K.shift());B._Range=U;B._UpdateElementInfo();if (B.StartNode.nodeName.IEquals('td')) B.SetStart(B.StartNode,1);if (B.EndNode.nodeName.IEquals('td')) B.SetEnd(B.EndNode,2);H=new FCKDomRangeIterator(B);H.ForceBrBreak=(C==0);}}};var W=[];while (F.length>0){var Q=F.shift();if (C==0){if (Q.root.nodeName.IEquals(['ul','ol'])) this._ChangeListType(Q,G,W);else this._CreateList(Q,W);}else if (C==1&&Q.root.nodeName.IEquals(['ul','ol'])) this._RemoveList(Q,G);};for (var i=0;i<W.length;i++){var M=W[i];var Z=false;var a=M;while (!Z){a=a.nextSibling;if (a&&a.nodeType==3&&a.nodeValue.search(/^[\n\r\t ]*$/)==0) continue;Z=true;};if (a&&a.nodeName.IEquals(this.TagName)){a.parentNode.removeChild(a);while (a.firstChild) M.appendChild(a.removeChild(a.firstChild));};Z=false;a=M;while (!Z){a=a.previousSibling;if (a&&a.nodeType==3&&a.nodeValue.search(/^[\n\r\t ]*$/)==0) continue;Z=true;};if (a&&a.nodeName.IEquals(this.TagName)){a.parentNode.removeChild(a);while (a.lastChild) M.insertBefore(a.removeChild(a.lastChild),M.firstChild);}};FCKDomTools.ClearAllMarkers(G);B.MoveToBookmark(E);B.Select();FCK.Focus();FCK.Events.FireEvent('OnSelectionChange');},_ChangeListType:function(A,B,C){var D=FCKDomTools.ListToArray(A.root,B);var E=[];for (var i=0;i<A.contents.length;i++){var F=A.contents[i];F=FCKTools.GetElementAscensor(F,'li');if (!F||F._FCK_ListItem_Processed) continue;E.push(F);FCKDomTools.SetElementMarker(B,F,'_FCK_ListItem_Processed',true);};var G=FCKTools.GetElementDocument(A.root).createElement(this.TagName);for (var i=0;i<E.length;i++){var H=E[i]._FCK_ListArray_Index;D[H].parent=G;};var I=FCKDomTools.ArrayToList(D,B);for (var i=0;i<I.listNode.childNodes.length;i++){if (I.listNode.childNodes[i].nodeName.IEquals(this.TagName)) C.push(I.listNode.childNodes[i]);};A.root.parentNode.replaceChild(I.listNode,A.root);},_CreateList:function(A,B){var C=A.contents;var D=FCKTools.GetElementDocument(A.root);var E=[];if (C.length==1&&C[0]==A.root){var F=D.createElement('div');while (C[0].firstChild) F.appendChild(C[0].removeChild(C[0].firstChild));C[0].appendChild(F);C[0]=F;};var G=A.contents[0].parentNode;for (var i=0;i<C.length;i++) G=FCKDomTools.GetCommonParents(G,C[i].parentNode).pop();for (var i=0;i<C.length;i++){var H=C[i];while (H.parentNode){if (H.parentNode==G){E.push(H);break;};H=H.parentNode;}};if (E.length<1) return;var I=E[E.length-1].nextSibling;var J=D.createElement(this.TagName);B.push(J);while (E.length){var K=E.shift();var L=D.createDocumentFragment();while (K.firstChild) L.appendChild(K.removeChild(K.firstChild));K.parentNode.removeChild(K);var M=D.createElement('li');M.appendChild(L);J.appendChild(M);};G.insertBefore(J,I);},_RemoveList:function(A,B){var C=FCKDomTools.ListToArray(A.root,B);var D=[];for (var i=0;i<A.contents.length;i++){var E=A.contents[i];E=FCKTools.GetElementAscensor(E,'li');if (!E||E._FCK_ListItem_Processed) continue;D.push(E);FCKDomTools.SetElementMarker(B,E,'_FCK_ListItem_Processed',true);};var F=null;for (var i=0;i<D.length;i++){var G=D[i]._FCK_ListArray_Index;C[G].indent=-1;F=G;};for (var i=F+1;i<C.length;i++){if (C[i].indent>C[i-1].indent+1){var H=C[i-1].indent+1-C[i].indent;var I=C[i].indent;while (C[i]&&C[i].indent>=I){C[i].indent+=H;i++;};i--;}};var J=FCKDomTools.ArrayToList(C,B);if (A.root.nextSibling==null||A.root.nextSibling.nodeName.IEquals('br')){if (J.listNode.lastChild.nodeName.IEquals('br')) J.listNode.removeChild(J.listNode.lastChild);};A.root.parentNode.replaceChild(J.listNode,A.root);}};\r
-var FCKJustifyCommand=function(A){this.AlignValue=A;var B=FCKConfig.ContentLangDirection.toLowerCase();this.IsDefaultAlign=(A=='left'&&B=='ltr')||(A=='right'&&B=='rtl');var C=this._CssClassName=(function(){var D=FCKConfig.JustifyClasses;if (D){switch (A){case 'left':return D[0]||null;case 'center':return D[1]||null;case 'right':return D[2]||null;case 'justify':return D[3]||null;}};return null;})();if (C&&C.length>0) this._CssClassRegex=new RegExp('(?:^|\\s+)'+C+'(?=$|\\s)');};FCKJustifyCommand._GetClassNameRegex=function(){var A=FCKJustifyCommand._ClassRegex;if (A!=undefined) return A;var B=[];var C=FCKConfig.JustifyClasses;if (C){for (var i=0;i<4;i++){var D=C[i];if (D&&D.length>0) B.push(D);}};if (B.length>0) A=new RegExp('(?:^|\\s+)(?:'+B.join('|')+')(?=$|\\s)');else A=null;return FCKJustifyCommand._ClassRegex=A;};FCKJustifyCommand.prototype={Execute:function(){FCKUndo.SaveUndoStep();var A=new FCKDomRange(FCK.EditorWindow);A.MoveToSelection();var B=this.GetState();if (B==-1) return;var C=A.CreateBookmark();var D=this._CssClassName;var E=new FCKDomRangeIterator(A);var F;while ((F=E.GetNextParagraph())){F.removeAttribute('align');if (D){var G=F.className.replace(FCKJustifyCommand._GetClassNameRegex(),'');if (B==0){if (G.length>0) G+=' ';F.className=G+D;}else if (G.length==0) FCKDomTools.RemoveAttribute(F,'class');}else{var H=F.style;if (B==0) H.textAlign=this.AlignValue;else{H.textAlign='';if (H.cssText.length==0) F.removeAttribute('style');}}};A.MoveToBookmark(C);A.Select();FCK.Focus();FCK.Events.FireEvent('OnSelectionChange');},GetState:function(){if (FCK.EditMode!=0||!FCK.EditorWindow) return -1;var A=new FCKElementPath(FCKSelection.GetBoundaryParentElement(true));var B=A.Block||A.BlockLimit;if (!B||B.nodeName.toLowerCase()=='body') return 0;var C;if (FCKBrowserInfo.IsIE) C=B.currentStyle.textAlign;else C=FCK.EditorWindow.getComputedStyle(B,'').getPropertyValue('text-align');C=C.replace(/(-moz-|-webkit-|start|auto)/i,'');if ((!C&&this.IsDefaultAlign)||C==this.AlignValue) return 1;return 0;}};\r
-var FCKIndentCommand=function(A,B){this.Name=A;this.Offset=B;this.IndentCSSProperty=FCKConfig.ContentLangDirection.IEquals('ltr')?'marginLeft':'marginRight';};FCKIndentCommand._InitIndentModeParameters=function(){if (FCKConfig.IndentClasses&&FCKConfig.IndentClasses.length>0){this._UseIndentClasses=true;this._IndentClassMap={};for (var i=0;i<FCKConfig.IndentClasses.length;i++) this._IndentClassMap[FCKConfig.IndentClasses[i]]=i+1;this._ClassNameRegex=new RegExp('(?:^|\\s+)('+FCKConfig.IndentClasses.join('|')+')(?=$|\\s)');}else this._UseIndentClasses=false;};FCKIndentCommand.prototype={Execute:function(){FCKUndo.SaveUndoStep();var A=new FCKDomRange(FCK.EditorWindow);A.MoveToSelection();var B=A.CreateBookmark();var C=FCKDomTools.GetCommonParentNode(A.StartNode||A.StartContainer,A.EndNode||A.EndContainer,['ul','ol']);if (C) this._IndentList(A,C);else this._IndentBlock(A);A.MoveToBookmark(B);A.Select();FCK.Focus();FCK.Events.FireEvent('OnSelectionChange');},GetState:function(){if (FCK.EditMode!=0||!FCK.EditorWindow) return -1;if (FCKIndentCommand._UseIndentClasses==undefined) FCKIndentCommand._InitIndentModeParameters();var A=FCKSelection.GetBoundaryParentElement(true);var B=FCKSelection.GetBoundaryParentElement(false);var C=FCKDomTools.GetCommonParentNode(A,B,['ul','ol']);if (C){if (this.Name.IEquals('outdent')) return 0;var D=FCKTools.GetElementAscensor(A,'li');if (!D||!D.previousSibling) return -1;return 0;};if (!FCKIndentCommand._UseIndentClasses&&this.Name.IEquals('indent')) return 0;var E=new FCKElementPath(A);var F=E.Block||E.BlockLimit;if (!F) return -1;if (FCKIndentCommand._UseIndentClasses){var G=F.className.match(FCKIndentCommand._ClassNameRegex);var H=0;if (G!=null){G=G[1];H=FCKIndentCommand._IndentClassMap[G];};if ((this.Name=='outdent'&&H==0)||(this.Name=='indent'&&H==FCKConfig.IndentClasses.length)) return -1;return 0;}else{var I=parseInt(F.style[this.IndentCSSProperty],10);if (isNaN(I)) I=0;if (I<=0) return -1;return 0;}},_IndentBlock:function(A){var B=new FCKDomRangeIterator(A);B.EnforceRealBlocks=true;A.Expand('block_contents');var C=FCKDomTools.GetCommonParents(A.StartContainer,A.EndContainer);var D=C[C.length-1];var E;while ((E=B.GetNextParagraph())){if (!(E==D||E.parentNode==D)) continue;if (FCKIndentCommand._UseIndentClasses){var F=E.className.match(FCKIndentCommand._ClassNameRegex);var G=0;if (F!=null){F=F[1];G=FCKIndentCommand._IndentClassMap[F];};if (this.Name.IEquals('outdent')) G--;else if (this.Name.IEquals('indent')) G++;G=Math.min(G,FCKConfig.IndentClasses.length);G=Math.max(G,0);var H=E.className.replace(FCKIndentCommand._ClassNameRegex,'');if (G<1) E.className=H;else E.className=(H.length>0?H+' ':'')+FCKConfig.IndentClasses[G-1];}else{var I=parseInt(E.style[this.IndentCSSProperty],10);if (isNaN(I)) I=0;I+=this.Offset;I=Math.max(I,0);I=Math.ceil(I/this.Offset)*this.Offset;E.style[this.IndentCSSProperty]=I?I+FCKConfig.IndentUnit:'';if (E.getAttribute('style')=='') E.removeAttribute('style');}}},_IndentList:function(A,B){var C=A.StartContainer;var D=A.EndContainer;while (C&&C.parentNode!=B) C=C.parentNode;while (D&&D.parentNode!=B) D=D.parentNode;if (!C||!D) return;var E=C;var F=[];var G=false;while (G==false){if (E==D) G=true;F.push(E);E=E.nextSibling;};if (F.length<1) return;var H=FCKDomTools.GetParents(B);for (var i=0;i<H.length;i++){if (H[i].nodeName.IEquals(['ul','ol'])){B=H[i];break;}};var I=this.Name.IEquals('indent')?1:-1;var J=F[0];var K=F[F.length-1];var L={};var M=FCKDomTools.ListToArray(B,L);var N=M[K._FCK_ListArray_Index].indent;for (var i=J._FCK_ListArray_Index;i<=K._FCK_ListArray_Index;i++) M[i].indent+=I;for (var i=K._FCK_ListArray_Index+1;i<M.length&&M[i].indent>N;i++) M[i].indent+=I;var O=FCKDomTools.ArrayToList(M);if (O) B.parentNode.replaceChild(O.listNode,B);FCKDomTools.ClearAllMarkers(L);}};\r
-var FCKBlockQuoteCommand=function(){};FCKBlockQuoteCommand.prototype={Execute:function(){FCKUndo.SaveUndoStep();var A=this.GetState();var B=new FCKDomRange(FCK.EditorWindow);B.MoveToSelection();var C=B.CreateBookmark();if (FCKBrowserInfo.IsIE){var D=B.GetBookmarkNode(C,true);var E=B.GetBookmarkNode(C,false);var F;if (D&&D.parentNode.nodeName.IEquals('blockquote')&&!D.previousSibling){F=D;while ((F=F.nextSibling)){if (FCKListsLib.BlockElements[F.nodeName.toLowerCase()]) FCKDomTools.MoveNode(D,F,true);}};if (E&&E.parentNode.nodeName.IEquals('blockquote')&&!E.previousSibling){F=E;while ((F=F.nextSibling)){if (FCKListsLib.BlockElements[F.nodeName.toLowerCase()]){if (F.firstChild==D) FCKDomTools.InsertAfterNode(D,E);else FCKDomTools.MoveNode(E,F,true);}}}};var G=new FCKDomRangeIterator(B);var H;if (A==0){var I=[];while ((H=G.GetNextParagraph())) I.push(H);if (I.length<1){para=B.Window.document.createElement(FCKConfig.EnterMode.IEquals('p')?'p':'div');B.InsertNode(para);para.appendChild(B.Window.document.createTextNode('\ufeff'));B.MoveToBookmark(C);B.MoveToNodeContents(para);B.Collapse(true);C=B.CreateBookmark();I.push(para);};var J=I[0].parentNode;var K=[];for (var i=0;i<I.length;i++){H=I[i];J=FCKDomTools.GetCommonParents(H.parentNode,J).pop();}while (J.nodeName.IEquals('table','tbody','tr','ol','ul')) J=J.parentNode;var L=null;while (I.length>0){H=I.shift();while (H.parentNode!=J) H=H.parentNode;if (H!=L) K.push(H);L=H;}while (K.length>0){H=K.shift();if (H.nodeName.IEquals('blockquote')){var M=FCKTools.GetElementDocument(H).createDocumentFragment();while (H.firstChild){M.appendChild(H.removeChild(H.firstChild));I.push(M.lastChild);};H.parentNode.replaceChild(M,H);}else I.push(H);};var N=B.Window.document.createElement('blockquote');J.insertBefore(N,I[0]);while (I.length>0){H=I.shift();N.appendChild(H);}}else if (A==1){var O=[];var P={};while ((H=G.GetNextParagraph())){var Q=null;var R=null;while (H.parentNode){if (H.parentNode.nodeName.IEquals('blockquote')){Q=H.parentNode;R=H;break;};H=H.parentNode;};if (Q&&R&&!R._fckblockquotemoveout){O.push(R);FCKDomTools.SetElementMarker(P,R,'_fckblockquotemoveout',true);}};FCKDomTools.ClearAllMarkers(P);var S=[];var T=[],P={};var U=function(N){for (var i=0;i<N.childNodes.length;i++){if (FCKListsLib.BlockElements[N.childNodes[i].nodeName.toLowerCase()]) return false;};return true;};while (O.length>0){var W=O.shift();var N=W.parentNode;if (W==W.parentNode.firstChild) N.parentNode.insertBefore(N.removeChild(W),N);else if (W==W.parentNode.lastChild) N.parentNode.insertBefore(N.removeChild(W),N.nextSibling);else FCKDomTools.BreakParent(W,W.parentNode,B);if (!N._fckbqprocessed){T.push(N);FCKDomTools.SetElementMarker(P,N,'_fckbqprocessed',true);};S.push(W);};for (var i=T.length-1;i>=0;i--){var N=T[i];if (U(N)) FCKDomTools.RemoveNode(N);};FCKDomTools.ClearAllMarkers(P);if (FCKConfig.EnterMode.IEquals('br')){while (S.length){var W=S.shift();var a=true;if (W.nodeName.IEquals('div')){var M=FCKTools.GetElementDocument(W).createDocumentFragment();var c=a&&W.previousSibling&&!FCKListsLib.BlockBoundaries[W.previousSibling.nodeName.toLowerCase()];if (a&&c) M.appendChild(FCKTools.GetElementDocument(W).createElement('br'));var d=W.nextSibling&&!FCKListsLib.BlockBoundaries[W.nextSibling.nodeName.toLowerCase()];while (W.firstChild) M.appendChild(W.removeChild(W.firstChild));if (d) M.appendChild(FCKTools.GetElementDocument(W).createElement('br'));W.parentNode.replaceChild(M,W);a=false;}}}};B.MoveToBookmark(C);B.Select();FCK.Focus();FCK.Events.FireEvent('OnSelectionChange');},GetState:function(){if (FCK.EditMode!=0||!FCK.EditorWindow) return -1;var A=new FCKElementPath(FCKSelection.GetBoundaryParentElement(true));var B=A.Block||A.BlockLimit;if (!B||B.nodeName.toLowerCase()=='body') return 0;for (var i=0;i<A.Elements.length;i++){if (A.Elements[i].nodeName.IEquals('blockquote')) return 1;};return 0;}};\r
-var FCKCoreStyleCommand=function(A){this.Name='CoreStyle';this.StyleName='_FCK_'+A;this.IsActive=false;FCKStyles.AttachStyleStateChange(this.StyleName,this._OnStyleStateChange,this);};FCKCoreStyleCommand.prototype={Execute:function(){FCKUndo.SaveUndoStep();if (this.IsActive) FCKStyles.RemoveStyle(this.StyleName);else FCKStyles.ApplyStyle(this.StyleName);FCK.Focus();FCK.Events.FireEvent('OnSelectionChange');},GetState:function(){if (FCK.EditMode!=0) return -1;return this.IsActive?1:0;},_OnStyleStateChange:function(A,B){this.IsActive=B;}};\r
-var FCKRemoveFormatCommand=function(){this.Name='RemoveFormat';};FCKRemoveFormatCommand.prototype={Execute:function(){FCKStyles.RemoveAll();FCK.Focus();FCK.Events.FireEvent('OnSelectionChange');},GetState:function(){return FCK.EditorWindow?0:-1;}};\r
-var FCKCommands=FCK.Commands={};FCKCommands.LoadedCommands={};FCKCommands.RegisterCommand=function(A,B){this.LoadedCommands[A]=B;};FCKCommands.GetCommand=function(A){var B=FCKCommands.LoadedCommands[A];if (B) return B;switch (A){case 'Bold':case 'Italic':case 'Underline':case 'StrikeThrough':case 'Subscript':case 'Superscript':B=new FCKCoreStyleCommand(A);break;case 'RemoveFormat':B=new FCKRemoveFormatCommand();break;case 'DocProps':B=new FCKDialogCommand('DocProps',FCKLang.DocProps,'dialog/fck_docprops.html',400,380,FCKCommands.GetFullPageState);break;case 'Templates':B=new FCKDialogCommand('Templates',FCKLang.DlgTemplatesTitle,'dialog/fck_template.html',380,450);break;case 'Link':B=new FCKDialogCommand('Link',FCKLang.DlgLnkWindowTitle,'dialog/fck_link.html',400,300);break;case 'Unlink':B=new FCKUnlinkCommand();break;case 'VisitLink':B=new FCKVisitLinkCommand();break;case 'Anchor':B=new FCKDialogCommand('Anchor',FCKLang.DlgAnchorTitle,'dialog/fck_anchor.html',370,160);break;case 'AnchorDelete':B=new FCKAnchorDeleteCommand();break;case 'BulletedList':B=new FCKDialogCommand('BulletedList',FCKLang.BulletedListProp,'dialog/fck_listprop.html?UL',370,160);break;case 'NumberedList':B=new FCKDialogCommand('NumberedList',FCKLang.NumberedListProp,'dialog/fck_listprop.html?OL',370,160);break;case 'About':B=new FCKDialogCommand('About',FCKLang.About,'dialog/fck_about.html',420,330,function(){ return 0;});break;case 'Find':B=new FCKDialogCommand('Find',FCKLang.DlgFindAndReplaceTitle,'dialog/fck_replace.html',340,230,null,null,'Find');break;case 'Replace':B=new FCKDialogCommand('Replace',FCKLang.DlgFindAndReplaceTitle,'dialog/fck_replace.html',340,230,null,null,'Replace');break;case 'Image':B=new FCKDialogCommand('Image',FCKLang.DlgImgTitle,'dialog/fck_image.html',450,390);break;case 'Flash':B=new FCKDialogCommand('Flash',FCKLang.DlgFlashTitle,'dialog/fck_flash.html',450,390);break;case 'SpecialChar':B=new FCKDialogCommand('SpecialChar',FCKLang.DlgSpecialCharTitle,'dialog/fck_specialchar.html',400,290);break;case 'Smiley':B=new FCKDialogCommand('Smiley',FCKLang.DlgSmileyTitle,'dialog/fck_smiley.html',FCKConfig.SmileyWindowWidth,FCKConfig.SmileyWindowHeight);break;case 'Table':B=new FCKDialogCommand('Table',FCKLang.DlgTableTitle,'dialog/fck_table.html',480,250);break;case 'TableProp':B=new FCKDialogCommand('Table',FCKLang.DlgTableTitle,'dialog/fck_table.html?Parent',480,250);break;case 'TableCellProp':B=new FCKDialogCommand('TableCell',FCKLang.DlgCellTitle,'dialog/fck_tablecell.html',550,240);break;case 'Style':B=new FCKStyleCommand();break;case 'FontName':B=new FCKFontNameCommand();break;case 'FontSize':B=new FCKFontSizeCommand();break;case 'FontFormat':B=new FCKFormatBlockCommand();break;case 'Source':B=new FCKSourceCommand();break;case 'Preview':B=new FCKPreviewCommand();break;case 'Save':B=new FCKSaveCommand();break;case 'NewPage':B=new FCKNewPageCommand();break;case 'PageBreak':B=new FCKPageBreakCommand();break;case 'Rule':B=new FCKRuleCommand();break;case 'Nbsp':B=new FCKNbsp();break;case 'TextColor':B=new FCKTextColorCommand('ForeColor');break;case 'BGColor':B=new FCKTextColorCommand('BackColor');break;case 'Paste':B=new FCKPasteCommand();break;case 'PasteText':B=new FCKPastePlainTextCommand();break;case 'PasteWord':B=new FCKPasteWordCommand();break;case 'JustifyLeft':B=new FCKJustifyCommand('left');break;case 'JustifyCenter':B=new FCKJustifyCommand('center');break;case 'JustifyRight':B=new FCKJustifyCommand('right');break;case 'JustifyFull':B=new FCKJustifyCommand('justify');break;case 'Indent':B=new FCKIndentCommand('indent',FCKConfig.IndentLength);break;case 'Outdent':B=new FCKIndentCommand('outdent',FCKConfig.IndentLength*-1);break;case 'Blockquote':B=new FCKBlockQuoteCommand();break;case 'CreateDiv':B=new FCKDialogCommand('CreateDiv',FCKLang.CreateDiv,'dialog/fck_div.html',380,210,null,null,true);break;case 'EditDiv':B=new FCKDialogCommand('EditDiv',FCKLang.EditDiv,'dialog/fck_div.html',380,210,null,null,false);break;case 'DeleteDiv':B=new FCKDeleteDivCommand();break;case 'TableInsertRowAfter':B=new FCKTableCommand('TableInsertRowAfter');break;case 'TableInsertRowBefore':B=new FCKTableCommand('TableInsertRowBefore');break;case 'TableDeleteRows':B=new FCKTableCommand('TableDeleteRows');break;case 'TableInsertColumnAfter':B=new FCKTableCommand('TableInsertColumnAfter');break;case 'TableInsertColumnBefore':B=new FCKTableCommand('TableInsertColumnBefore');break;case 'TableDeleteColumns':B=new FCKTableCommand('TableDeleteColumns');break;case 'TableInsertCellAfter':B=new FCKTableCommand('TableInsertCellAfter');break;case 'TableInsertCellBefore':B=new FCKTableCommand('TableInsertCellBefore');break;case 'TableDeleteCells':B=new FCKTableCommand('TableDeleteCells');break;case 'TableMergeCells':B=new FCKTableCommand('TableMergeCells');break;case 'TableMergeRight':B=new FCKTableCommand('TableMergeRight');break;case 'TableMergeDown':B=new FCKTableCommand('TableMergeDown');break;case 'TableHorizontalSplitCell':B=new FCKTableCommand('TableHorizontalSplitCell');break;case 'TableVerticalSplitCell':B=new FCKTableCommand('TableVerticalSplitCell');break;case 'TableDelete':B=new FCKTableCommand('TableDelete');break;case 'Form':B=new FCKDialogCommand('Form',FCKLang.Form,'dialog/fck_form.html',380,210);break;case 'Checkbox':B=new FCKDialogCommand('Checkbox',FCKLang.Checkbox,'dialog/fck_checkbox.html',380,200);break;case 'Radio':B=new FCKDialogCommand('Radio',FCKLang.RadioButton,'dialog/fck_radiobutton.html',380,200);break;case 'TextField':B=new FCKDialogCommand('TextField',FCKLang.TextField,'dialog/fck_textfield.html',380,210);break;case 'Textarea':B=new FCKDialogCommand('Textarea',FCKLang.Textarea,'dialog/fck_textarea.html',380,210);break;case 'HiddenField':B=new FCKDialogCommand('HiddenField',FCKLang.HiddenField,'dialog/fck_hiddenfield.html',380,190);break;case 'Button':B=new FCKDialogCommand('Button',FCKLang.Button,'dialog/fck_button.html',380,210);break;case 'Select':B=new FCKDialogCommand('Select',FCKLang.SelectionField,'dialog/fck_select.html',400,340);break;case 'ImageButton':B=new FCKDialogCommand('ImageButton',FCKLang.ImageButton,'dialog/fck_image.html?ImageButton',450,390);break;case 'SpellCheck':B=new FCKSpellCheckCommand();break;case 'FitWindow':B=new FCKFitWindow();break;case 'Undo':B=new FCKUndoCommand();break;case 'Redo':B=new FCKRedoCommand();break;case 'Copy':B=new FCKCutCopyCommand(false);break;case 'Cut':B=new FCKCutCopyCommand(true);break;case 'SelectAll':B=new FCKSelectAllCommand();break;case 'InsertOrderedList':B=new FCKListCommand('insertorderedlist','ol');break;case 'InsertUnorderedList':B=new FCKListCommand('insertunorderedlist','ul');break;case 'ShowBlocks':B=new FCKShowBlockCommand('ShowBlocks',FCKConfig.StartupShowBlocks?1:0);break;case 'Undefined':B=new FCKUndefinedCommand();break;case 'Scayt':B=FCKScayt.CreateCommand();break;case 'ScaytContext':B=FCKScayt.CreateContextCommand();break;default:if (FCKRegexLib.NamedCommands.test(A)) B=new FCKNamedCommand(A);else{alert(FCKLang.UnknownCommand.replace(/%1/g,A));return null;}};FCKCommands.LoadedCommands[A]=B;return B;};FCKCommands.GetFullPageState=function(){return FCKConfig.FullPage?0:-1;};FCKCommands.GetBooleanState=function(A){return A?-1:0;};\r
-var FCKPanel=function(A){this.IsRTL=(FCKLang.Dir=='rtl');this.IsContextMenu=false;this._LockCounter=0;this._Window=A||window;var B;if (FCKBrowserInfo.IsIE){this._Popup=this._Window.createPopup();var C=this._Window.document;if (FCK_IS_CUSTOM_DOMAIN&&!FCKBrowserInfo.IsIE7){C.domain=FCK_ORIGINAL_DOMAIN;document.domain=FCK_ORIGINAL_DOMAIN;};B=this.Document=this._Popup.document;if (FCK_IS_CUSTOM_DOMAIN){B.domain=FCK_RUNTIME_DOMAIN;C.domain=FCK_RUNTIME_DOMAIN;document.domain=FCK_RUNTIME_DOMAIN;};FCK.IECleanup.AddItem(this,FCKPanel_Cleanup);}else{var D=this._IFrame=this._Window.document.createElement('iframe');FCKTools.ResetStyles(D);D.src='javascript:void(0)';D.allowTransparency=true;D.frameBorder='0';D.scrolling='no';D.style.width=D.style.height='0px';FCKDomTools.SetElementStyles(D,{position:'absolute',zIndex:FCKConfig.FloatingPanelsZIndex});this._Window.document.body.appendChild(D);var E=D.contentWindow;B=this.Document=E.document;var F='';if (FCKBrowserInfo.IsSafari) F='<base href="'+window.document.location+'">';B.open();B.write('<html><head>'+F+'<\/head><body style="margin:0px;padding:0px;"><\/body><\/html>');B.close();if(FCKBrowserInfo.IsAIR) FCKAdobeAIR.Panel_Contructor(B,window.document.location);FCKTools.AddEventListenerEx(E,'focus',FCKPanel_Window_OnFocus,this);FCKTools.AddEventListenerEx(E,'blur',FCKPanel_Window_OnBlur,this);};B.dir=FCKLang.Dir;FCKTools.AddEventListener(B,'contextmenu',FCKTools.CancelEvent);this.MainNode=B.body.appendChild(B.createElement('DIV'));this.MainNode.style.cssFloat=this.IsRTL?'right':'left';};FCKPanel.prototype.AppendStyleSheet=function(A){FCKTools.AppendStyleSheet(this.Document,A);};FCKPanel.prototype.Preload=function(x,y,A){if (this._Popup) this._Popup.show(x,y,0,0,A);};FCKPanel.prototype.ResizeForSubpanel=function(A,B,C){if (!FCKBrowserInfo.IsIE7) return false;if (!this._Popup.isOpen){this.Subpanel=null;return false;};if (B==0&&C==0){if (this.Subpanel!==A) return false;this.Subpanel=null;this.IncreasedX=0;}else{this.Subpanel=A;if ((this.IncreasedX>=B)&&(this.IncreasedY>=C)) return false;this.IncreasedX=Math.max(this.IncreasedX,B);this.IncreasedY=Math.max(this.IncreasedY,C);};var x=this.ShowRect.x;var w=this.IncreasedX;if (this.IsRTL) x=x-w;var D=this.ShowRect.w+w;var E=Math.max(this.ShowRect.h,this.IncreasedY);if (this.ParentPanel) this.ParentPanel.ResizeForSubpanel(this,D,E);this._Popup.show(x,this.ShowRect.y,D,E,this.RelativeElement);return this.IsRTL;};FCKPanel.prototype.Show=function(x,y,A,B,C){var D;var E=this.MainNode;if (this._Popup){this._Popup.show(x,y,0,0,A);FCKDomTools.SetElementStyles(E,{B:B?B+'px':'',C:C?C+'px':''});D=E.offsetWidth;if (FCKBrowserInfo.IsIE7){if (this.ParentPanel&&this.ParentPanel.ResizeForSubpanel(this,D,E.offsetHeight)){FCKTools.RunFunction(this.Show,this,[x,y,A]);return;}};if (this.IsRTL){if (this.IsContextMenu) x=x-D+1;else if (A) x=(x*-1)+A.offsetWidth-D;};if (FCKBrowserInfo.IsIE7){this.ShowRect={x:x,y:y,w:D,h:E.offsetHeight};this.IncreasedX=0;this.IncreasedY=0;this.RelativeElement=A;};this._PopupArgs=[x,y,D,E.offsetHeight,A];this._Popup.show(x,y,D,E.offsetHeight,A);if (this.OnHide){if (this._Timer) CheckPopupOnHide.call(this,true);this._Timer=FCKTools.SetInterval(CheckPopupOnHide,100,this);}}else{if (typeof(FCK.ToolbarSet.CurrentInstance.FocusManager)!='undefined') FCK.ToolbarSet.CurrentInstance.FocusManager.Lock();if (this.ParentPanel){this.ParentPanel.Lock();FCKPanel_Window_OnBlur(null,this.ParentPanel);};if (FCKBrowserInfo.IsGecko&&FCKBrowserInfo.IsMac){this._IFrame.scrolling='';FCKTools.RunFunction(function(){ this._IFrame.scrolling='no';},this);};if (FCK.ToolbarSet.CurrentInstance.GetInstanceObject('FCKPanel')._OpenedPanel&&FCK.ToolbarSet.CurrentInstance.GetInstanceObject('FCKPanel')._OpenedPanel!=this) FCK.ToolbarSet.CurrentInstance.GetInstanceObject('FCKPanel')._OpenedPanel.Hide(false,true);FCKDomTools.SetElementStyles(E,{B:B?B+'px':'',C:C?C+'px':''});D=E.offsetWidth;if (!B)       this._IFrame.width=1;if (!C)    this._IFrame.height=1;D=E.offsetWidth||E.firstChild.offsetWidth;var F=FCKTools.GetDocumentPosition(this._Window,A.nodeType==9?(FCKTools.IsStrictMode(A)?A.documentElement:A.body):A);var G=FCKDomTools.GetPositionedAncestor(this._IFrame.parentNode);if (G){var H=FCKTools.GetDocumentPosition(FCKTools.GetElementWindow(G),G);F.x-=H.x;F.y-=H.y;};if (this.IsRTL&&!this.IsContextMenu) x=(x*-1);x+=F.x;y+=F.y;if (this.IsRTL){if (this.IsContextMenu) x=x-D+1;else if (A) x=x+A.offsetWidth-D;}else{var I=FCKTools.GetViewPaneSize(this._Window);var J=FCKTools.GetScrollPosition(this._Window);var K=I.Height+J.Y;var L=I.Width+J.X;if ((x+D)>L) x-=x+D-L;if ((y+E.offsetHeight)>K) y-=y+E.offsetHeight-K;};FCKDomTools.SetElementStyles(this._IFrame,{left:x+'px',top:y+'px'});this._IFrame.contentWindow.focus();this._IsOpened=true;var M=this;this._resizeTimer=setTimeout(function(){var N=E.offsetWidth||E.firstChild.offsetWidth;var O=E.offsetHeight;M._IFrame.style.width=N+'px';M._IFrame.style.height=O+'px';},0);FCK.ToolbarSet.CurrentInstance.GetInstanceObject('FCKPanel')._OpenedPanel=this;};FCKTools.RunFunction(this.OnShow,this);};FCKPanel.prototype.Hide=function(A,B){if (this._Popup) this._Popup.hide();else{if (!this._IsOpened||this._LockCounter>0) return;if (typeof(FCKFocusManager)!='undefined'&&!B) FCKFocusManager.Unlock();this._IFrame.style.width=this._IFrame.style.height='0px';this._IsOpened=false;if (this._resizeTimer){clearTimeout(this._resizeTimer);this._resizeTimer=null;};if (this.ParentPanel) this.ParentPanel.Unlock();if (!A) FCKTools.RunFunction(this.OnHide,this);}};FCKPanel.prototype.CheckIsOpened=function(){if (this._Popup) return this._Popup.isOpen;else return this._IsOpened;};FCKPanel.prototype.CreateChildPanel=function(){var A=this._Popup?FCKTools.GetDocumentWindow(this.Document):this._Window;var B=new FCKPanel(A);B.ParentPanel=this;return B;};FCKPanel.prototype.Lock=function(){this._LockCounter++;};FCKPanel.prototype.Unlock=function(){if (--this._LockCounter==0&&!this.HasFocus) this.Hide();};function FCKPanel_Window_OnFocus(e,A){A.HasFocus=true;};function FCKPanel_Window_OnBlur(e,A){A.HasFocus=false;if (A._LockCounter==0) FCKTools.RunFunction(A.Hide,A);};function CheckPopupOnHide(A){if (A||!this._Popup.isOpen){window.clearInterval(this._Timer);this._Timer=null;if (this._Popup&&this.ParentPanel&&!A) this.ParentPanel.ResizeForSubpanel(this,0,0);FCKTools.RunFunction(this.OnHide,this);}};function FCKPanel_Cleanup(){this._Popup=null;this._Window=null;this.Document=null;this.MainNode=null;this.RelativeElement=null;};\r
-var FCKIcon=function(A){var B=A?typeof(A):'undefined';switch (B){case 'number':this.Path=FCKConfig.SkinPath+'fck_strip.gif';this.Size=16;this.Position=A;break;case 'undefined':this.Path=FCK_SPACER_PATH;break;case 'string':this.Path=A;break;default:this.Path=A[0];this.Size=A[1];this.Position=A[2];}};FCKIcon.prototype.CreateIconElement=function(A){var B,eIconImage;if (this.Position){var C='-'+((this.Position-1)*this.Size)+'px';if (FCKBrowserInfo.IsIE){B=A.createElement('DIV');eIconImage=B.appendChild(A.createElement('IMG'));eIconImage.src=this.Path;eIconImage.style.top=C;}else{B=A.createElement('IMG');B.src=FCK_SPACER_PATH;B.style.backgroundPosition='0px '+C;B.style.backgroundImage='url("'+this.Path+'")';}}else{if (FCKBrowserInfo.IsIE){B=A.createElement('DIV');eIconImage=B.appendChild(A.createElement('IMG'));eIconImage.src=this.Path?this.Path:FCK_SPACER_PATH;}else{B=A.createElement('IMG');B.src=this.Path?this.Path:FCK_SPACER_PATH;}};B.className='TB_Button_Image';return B;};\r
-var FCKToolbarButtonUI=function(A,B,C,D,E,F){this.Name=A;this.Label=B||A;this.Tooltip=C||this.Label;this.Style=E||0;this.State=F||0;this.Icon=new FCKIcon(D);if (FCK.IECleanup) FCK.IECleanup.AddItem(this,FCKToolbarButtonUI_Cleanup);};FCKToolbarButtonUI.prototype._CreatePaddingElement=function(A){var B=A.createElement('IMG');B.className='TB_Button_Padding';B.src=FCK_SPACER_PATH;return B;};FCKToolbarButtonUI.prototype.Create=function(A){var B=FCKTools.GetElementDocument(A);var C=this.MainElement=B.createElement('DIV');C.title=this.Tooltip;if (FCKBrowserInfo.IsGecko) C.onmousedown=FCKTools.CancelEvent;FCKTools.AddEventListenerEx(C,'mouseover',FCKToolbarButtonUI_OnMouseOver,this);FCKTools.AddEventListenerEx(C,'mouseout',FCKToolbarButtonUI_OnMouseOut,this);FCKTools.AddEventListenerEx(C,'click',FCKToolbarButtonUI_OnClick,this);this.ChangeState(this.State,true);if (this.Style==0&&!this.ShowArrow){C.appendChild(this.Icon.CreateIconElement(B));}else{var D=C.appendChild(B.createElement('TABLE'));D.cellPadding=0;D.cellSpacing=0;var E=D.insertRow(-1);var F=E.insertCell(-1);if (this.Style==0||this.Style==2) F.appendChild(this.Icon.CreateIconElement(B));else F.appendChild(this._CreatePaddingElement(B));if (this.Style==1||this.Style==2){F=E.insertCell(-1);F.className='TB_Button_Text';F.noWrap=true;F.appendChild(B.createTextNode(this.Label));};if (this.ShowArrow){if (this.Style!=0){E.insertCell(-1).appendChild(this._CreatePaddingElement(B));};F=E.insertCell(-1);var G=F.appendChild(B.createElement('IMG'));G.src=FCKConfig.SkinPath+'images/toolbar.buttonarrow.gif';G.width=5;G.height=3;};F=E.insertCell(-1);F.appendChild(this._CreatePaddingElement(B));};A.appendChild(C);};FCKToolbarButtonUI.prototype.ChangeState=function(A,B){if (!B&&this.State==A) return;var e=this.MainElement;if (!e) return;switch (parseInt(A,10)){case 0:e.className='TB_Button_Off';break;case 1:e.className='TB_Button_On';break;case -1:e.className='TB_Button_Disabled';break;};this.State=A;};function FCKToolbarButtonUI_OnMouseOver(A,B){if (B.State==0) this.className='TB_Button_Off_Over';else if (B.State==1) this.className='TB_Button_On_Over';};function FCKToolbarButtonUI_OnMouseOut(A,B){if (B.State==0) this.className='TB_Button_Off';else if (B.State==1) this.className='TB_Button_On';};function FCKToolbarButtonUI_OnClick(A,B){if (B.OnClick&&B.State!=-1) B.OnClick(B);};function FCKToolbarButtonUI_Cleanup(){this.MainElement=null;};\r
-var FCKToolbarButton=function(A,B,C,D,E,F,G){this.CommandName=A;this.Label=B;this.Tooltip=C;this.Style=D;this.SourceView=E?true:false;this.ContextSensitive=F?true:false;if (G==null) this.IconPath=FCKConfig.SkinPath+'toolbar/'+A.toLowerCase()+'.gif';else if (typeof(G)=='number') this.IconPath=[FCKConfig.SkinPath+'fck_strip.gif',16,G];else this.IconPath=G;};FCKToolbarButton.prototype.Create=function(A){this._UIButton=new FCKToolbarButtonUI(this.CommandName,this.Label,this.Tooltip,this.IconPath,this.Style);this._UIButton.OnClick=this.Click;this._UIButton._ToolbarButton=this;this._UIButton.Create(A);};FCKToolbarButton.prototype.RefreshState=function(){var A=this._UIButton;if (!A) return;var B=FCK.ToolbarSet.CurrentInstance.Commands.GetCommand(this.CommandName).GetState();if (B==A.State) return;A.ChangeState(B);};FCKToolbarButton.prototype.Click=function(){var A=this._ToolbarButton||this;FCK.ToolbarSet.CurrentInstance.Commands.GetCommand(A.CommandName).Execute();};FCKToolbarButton.prototype.Enable=function(){this.RefreshState();};FCKToolbarButton.prototype.Disable=function(){this._UIButton.ChangeState(-1);};\r
-var FCKSpecialCombo=function(A,B,C,D,E){this.FieldWidth=B||100;this.PanelWidth=C||150;this.PanelMaxHeight=D||150;this.Label='&nbsp;';this.Caption=A;this.Tooltip=A;this.Style=2;this.Enabled=true;this.Items={};this._Panel=new FCKPanel(E||window);this._Panel.AppendStyleSheet(FCKConfig.SkinEditorCSS);this._PanelBox=this._Panel.MainNode.appendChild(this._Panel.Document.createElement('DIV'));this._PanelBox.className='SC_Panel';this._PanelBox.style.width=this.PanelWidth+'px';this._PanelBox.innerHTML='<table cellpadding="0" cellspacing="0" width="100%" style="TABLE-LAYOUT: fixed"><tr><td nowrap></td></tr></table>';this._ItemsHolderEl=this._PanelBox.getElementsByTagName('TD')[0];if (FCK.IECleanup) FCK.IECleanup.AddItem(this,FCKSpecialCombo_Cleanup);};function FCKSpecialCombo_ItemOnMouseOver(){this.className+=' SC_ItemOver';};function FCKSpecialCombo_ItemOnMouseOut(){this.className=this.originalClass;};function FCKSpecialCombo_ItemOnClick(A,B,C){this.className=this.originalClass;B._Panel.Hide();B.SetLabel(this.FCKItemLabel);if (typeof(B.OnSelect)=='function') B.OnSelect(C,this);};FCKSpecialCombo.prototype.ClearItems=function (){if (this.Items) this.Items={};var A=this._ItemsHolderEl;while (A.firstChild) A.removeChild(A.firstChild);};FCKSpecialCombo.prototype.AddItem=function(A,B,C,D){var E=this._ItemsHolderEl.appendChild(this._Panel.Document.createElement('DIV'));E.className=E.originalClass='SC_Item';E.innerHTML=B;E.FCKItemLabel=C||A;E.Selected=false;if (FCKBrowserInfo.IsIE) E.style.width='100%';if (D) E.style.backgroundColor=D;FCKTools.AddEventListenerEx(E,'mouseover',FCKSpecialCombo_ItemOnMouseOver);FCKTools.AddEventListenerEx(E,'mouseout',FCKSpecialCombo_ItemOnMouseOut);FCKTools.AddEventListenerEx(E,'click',FCKSpecialCombo_ItemOnClick,[this,A]);this.Items[A.toString().toLowerCase()]=E;return E;};FCKSpecialCombo.prototype.SelectItem=function(A){if (typeof A=='string') A=this.Items[A.toString().toLowerCase()];if (A){A.className=A.originalClass='SC_ItemSelected';A.Selected=true;}};FCKSpecialCombo.prototype.SelectItemByLabel=function(A,B){for (var C in this.Items){var D=this.Items[C];if (D.FCKItemLabel==A){D.className=D.originalClass='SC_ItemSelected';D.Selected=true;if (B) this.SetLabel(A);}}};FCKSpecialCombo.prototype.DeselectAll=function(A){for (var i in this.Items){if (!this.Items[i]) continue;this.Items[i].className=this.Items[i].originalClass='SC_Item';this.Items[i].Selected=false;};if (A) this.SetLabel('');};FCKSpecialCombo.prototype.SetLabelById=function(A){A=A?A.toString().toLowerCase():'';var B=this.Items[A];this.SetLabel(B?B.FCKItemLabel:'');};FCKSpecialCombo.prototype.SetLabel=function(A){A=(!A||A.length==0)?'&nbsp;':A;if (A==this.Label) return;this.Label=A;var B=this._LabelEl;if (B){B.innerHTML=A;FCKTools.DisableSelection(B);}};FCKSpecialCombo.prototype.SetEnabled=function(A){this.Enabled=A;if (this._OuterTable) this._OuterTable.className=A?'':'SC_FieldDisabled';};FCKSpecialCombo.prototype.Create=function(A){var B=FCKTools.GetElementDocument(A);var C=this._OuterTable=A.appendChild(B.createElement('TABLE'));C.cellPadding=0;C.cellSpacing=0;C.insertRow(-1);var D;var E;switch (this.Style){case 0:D='TB_ButtonType_Icon';E=false;break;case 1:D='TB_ButtonType_Text';E=false;break;case 2:E=true;break;};if (this.Caption&&this.Caption.length>0&&E){var F=C.rows[0].insertCell(-1);F.innerHTML=this.Caption;F.className='SC_FieldCaption';};var G=FCKTools.AppendElement(C.rows[0].insertCell(-1),'div');if (E){G.className='SC_Field';G.style.width=this.FieldWidth+'px';G.innerHTML='<table width="100%" cellpadding="0" cellspacing="0" style="TABLE-LAYOUT: fixed;"><tbody><tr><td class="SC_FieldLabel"><label>&nbsp;</label></td><td class="SC_FieldButton">&nbsp;</td></tr></tbody></table>';this._LabelEl=G.getElementsByTagName('label')[0];this._LabelEl.innerHTML=this.Label;}else{G.className='TB_Button_Off';G.innerHTML='<table title="'+this.Tooltip+'" class="'+D+'" cellspacing="0" cellpadding="0" border="0"><tr><td><img class="TB_Button_Padding" src="'+FCK_SPACER_PATH+'" /></td><td class="TB_Text">'+this.Caption+'</td><td><img class="TB_Button_Padding" src="'+FCK_SPACER_PATH+'" /></td><td class="TB_ButtonArrow"><img src="'+FCKConfig.SkinPath+'images/toolbar.buttonarrow.gif" width="5" height="3"></td><td><img class="TB_Button_Padding" src="'+FCK_SPACER_PATH+'" /></td></tr></table>';};FCKTools.AddEventListenerEx(G,'mouseover',FCKSpecialCombo_OnMouseOver,this);FCKTools.AddEventListenerEx(G,'mouseout',FCKSpecialCombo_OnMouseOut,this);FCKTools.AddEventListenerEx(G,'click',FCKSpecialCombo_OnClick,this);FCKTools.DisableSelection(this._Panel.Document.body);};function FCKSpecialCombo_Cleanup(){this._LabelEl=null;this._OuterTable=null;this._ItemsHolderEl=null;this._PanelBox=null;if (this.Items){for (var A in this.Items) this.Items[A]=null;}};function FCKSpecialCombo_OnMouseOver(A,B){if (B.Enabled){switch (B.Style){case 0:this.className='TB_Button_On_Over';break;case 1:this.className='TB_Button_On_Over';break;case 2:this.className='SC_Field SC_FieldOver';break;}}};function FCKSpecialCombo_OnMouseOut(A,B){switch (B.Style){case 0:this.className='TB_Button_Off';break;case 1:this.className='TB_Button_Off';break;case 2:this.className='SC_Field';break;}};function FCKSpecialCombo_OnClick(e,A){if (A.Enabled){var B=A._Panel;var C=A._PanelBox;var D=A._ItemsHolderEl;var E=A.PanelMaxHeight;if (A.OnBeforeClick) A.OnBeforeClick(A);if (FCKBrowserInfo.IsIE) B.Preload(0,this.offsetHeight,this);if (D.offsetHeight>E) C.style.height=E+'px';else C.style.height='';B.Show(0,this.offsetHeight,this);}};\r
-var FCKToolbarSpecialCombo=function(){this.SourceView=false;this.ContextSensitive=true;this.FieldWidth=null;this.PanelWidth=null;this.PanelMaxHeight=null;};FCKToolbarSpecialCombo.prototype.DefaultLabel='';function FCKToolbarSpecialCombo_OnSelect(A,B){FCK.ToolbarSet.CurrentInstance.Commands.GetCommand(this.CommandName).Execute(A,B);};FCKToolbarSpecialCombo.prototype.Create=function(A){this._Combo=new FCKSpecialCombo(this.GetLabel(),this.FieldWidth,this.PanelWidth,this.PanelMaxHeight,FCKBrowserInfo.IsIE?window:FCKTools.GetElementWindow(A).parent);this._Combo.Tooltip=this.Tooltip;this._Combo.Style=this.Style;this.CreateItems(this._Combo);this._Combo.Create(A);this._Combo.CommandName=this.CommandName;this._Combo.OnSelect=FCKToolbarSpecialCombo_OnSelect;};function FCKToolbarSpecialCombo_RefreshActiveItems(A,B){A.DeselectAll();A.SelectItem(B);A.SetLabelById(B);};FCKToolbarSpecialCombo.prototype.RefreshState=function(){var A;var B=FCK.ToolbarSet.CurrentInstance.Commands.GetCommand(this.CommandName).GetState();if (B!=-1){A=1;if (this.RefreshActiveItems) this.RefreshActiveItems(this._Combo,B);else{if (this._LastValue!==B){this._LastValue=B;if (!B||B.length==0){this._Combo.DeselectAll();this._Combo.SetLabel(this.DefaultLabel);}else FCKToolbarSpecialCombo_RefreshActiveItems(this._Combo,B);}}}else A=-1;if (A==this.State) return;if (A==-1){this._Combo.DeselectAll();this._Combo.SetLabel('');};this.State=A;this._Combo.SetEnabled(A!=-1);};FCKToolbarSpecialCombo.prototype.Enable=function(){this.RefreshState();};FCKToolbarSpecialCombo.prototype.Disable=function(){this.State=-1;this._Combo.DeselectAll();this._Combo.SetLabel('');this._Combo.SetEnabled(false);};\r
-var FCKToolbarStyleCombo=function(A,B){if (A===false) return;this.CommandName='Style';this.Label=this.GetLabel();this.Tooltip=A?A:this.Label;this.Style=B?B:2;this.DefaultLabel=FCKConfig.DefaultStyleLabel||'';};FCKToolbarStyleCombo.prototype=new FCKToolbarSpecialCombo;FCKToolbarStyleCombo.prototype.GetLabel=function(){return FCKLang.Style;};FCKToolbarStyleCombo.prototype.GetStyles=function(){var A={};var B=FCK.ToolbarSet.CurrentInstance.Styles.GetStyles();for (var C in B){var D=B[C];if (!D.IsCore) A[C]=D;};return A;};FCKToolbarStyleCombo.prototype.CreateItems=function(A){var B=A._Panel.Document;FCKTools.AppendStyleSheet(B,FCKConfig.ToolbarComboPreviewCSS);FCKTools.AppendStyleString(B,FCKConfig.EditorAreaStyles);B.body.className+=' ForceBaseFont';FCKConfig.ApplyBodyAttributes(B.body);var C=this.GetStyles();for (var D in C){var E=C[D];var F=E.GetType()==2?D:FCKToolbarStyleCombo_BuildPreview(E,E.Label||D);var G=A.AddItem(D,F);G.Style=E;};A.OnBeforeClick=this.StyleCombo_OnBeforeClick;};FCKToolbarStyleCombo.prototype.RefreshActiveItems=function(A){var B=FCK.ToolbarSet.CurrentInstance.Selection.GetBoundaryParentElement(true);if (B){var C=new FCKElementPath(B);var D=C.Elements;for (var e=0;e<D.length;e++){for (var i in A.Items){var E=A.Items[i];var F=E.Style;if (F.CheckElementRemovable(D[e],true)){A.SetLabel(F.Label||F.Name);return;}}}};A.SetLabel(this.DefaultLabel);};FCKToolbarStyleCombo.prototype.StyleCombo_OnBeforeClick=function(A){A.DeselectAll();var B;var C;var D;var E=FCK.ToolbarSet.CurrentInstance.Selection;if (E.GetType()=='Control'){B=E.GetSelectedElement();D=B.nodeName.toLowerCase();}else{B=E.GetBoundaryParentElement(true);C=new FCKElementPath(B);};for (var i in A.Items){var F=A.Items[i];var G=F.Style;if ((D&&G.Element==D)||(!D&&G.GetType()!=2)){F.style.display='';if ((C&&G.CheckActive(C))||(!C&&G.CheckElementRemovable(B,true))) A.SelectItem(G.Name);}else F.style.display='none';}};function FCKToolbarStyleCombo_BuildPreview(A,B){var C=A.GetType();var D=[];if (C==0) D.push('<div class="BaseFont">');var E=A.Element;if (E=='bdo') E='span';D=['<',E];var F=A._StyleDesc.Attributes;if (F){for (var G in F){D.push(' ',G,'="',A.GetFinalAttributeValue(G),'"');}};if (A._GetStyleText().length>0) D.push(' style="',A.GetFinalStyleValue(),'"');D.push('>',B,'</',E,'>');if (C==0) D.push('</div>');return D.join('');};\r
-var FCKToolbarFontFormatCombo=function(A,B){if (A===false) return;this.CommandName='FontFormat';this.Label=this.GetLabel();this.Tooltip=A?A:this.Label;this.Style=B?B:2;this.NormalLabel='Normal';this.PanelWidth=190;this.DefaultLabel=FCKConfig.DefaultFontFormatLabel||'';};FCKToolbarFontFormatCombo.prototype=new FCKToolbarStyleCombo(false);FCKToolbarFontFormatCombo.prototype.GetLabel=function(){return FCKLang.FontFormat;};FCKToolbarFontFormatCombo.prototype.GetStyles=function(){var A={};var B=FCKLang['FontFormats'].split(';');var C={p:B[0],pre:B[1],address:B[2],h1:B[3],h2:B[4],h3:B[5],h4:B[6],h5:B[7],h6:B[8],div:B[9]||(B[0]+' (DIV)')};var D=FCKConfig.FontFormats.split(';');for (var i=0;i<D.length;i++){var E=D[i];var F=FCKStyles.GetStyle('_FCK_'+E);if (F){F.Label=C[E];A['_FCK_'+E]=F;}else alert("The FCKConfig.CoreStyles['"+E+"'] setting was not found. Please check the fckconfig.js file");};return A;};FCKToolbarFontFormatCombo.prototype.RefreshActiveItems=function(A){var B=FCK.ToolbarSet.CurrentInstance.Selection.GetBoundaryParentElement(true);if (B){var C=new FCKElementPath(B);var D=C.Block;if (D){for (var i in A.Items){var E=A.Items[i];var F=E.Style;if (F.CheckElementRemovable(D)){A.SetLabel(F.Label);return;}}}};A.SetLabel(this.DefaultLabel);};FCKToolbarFontFormatCombo.prototype.StyleCombo_OnBeforeClick=function(A){A.DeselectAll();var B=FCK.ToolbarSet.CurrentInstance.Selection.GetBoundaryParentElement(true);if (B){var C=new FCKElementPath(B);var D=C.Block;for (var i in A.Items){var E=A.Items[i];var F=E.Style;if (F.CheckElementRemovable(D)){A.SelectItem(E);return;}}}};\r
-var FCKToolbarFontsCombo=function(A,B){this.CommandName='FontName';this.Label=this.GetLabel();this.Tooltip=A?A:this.Label;this.Style=B?B:2;this.DefaultLabel=FCKConfig.DefaultFontLabel||'';};FCKToolbarFontsCombo.prototype=new FCKToolbarFontFormatCombo(false);FCKToolbarFontsCombo.prototype.GetLabel=function(){return FCKLang.Font;};FCKToolbarFontsCombo.prototype.GetStyles=function(){var A=FCKStyles.GetStyle('_FCK_FontFace');if (!A){alert("The FCKConfig.CoreStyles['Size'] setting was not found. Please check the fckconfig.js file");return {};};var B={};var C=FCKConfig.FontNames.split(';');for (var i=0;i<C.length;i++){var D=C[i].split('/');var E=D[0];var F=D[1]||E;var G=FCKTools.CloneObject(A);G.SetVariable('Font',E);G.Label=F;B[F]=G;};return B;};FCKToolbarFontsCombo.prototype.RefreshActiveItems=FCKToolbarStyleCombo.prototype.RefreshActiveItems;FCKToolbarFontsCombo.prototype.StyleCombo_OnBeforeClick=function(A){A.DeselectAll();var B=FCKSelection.GetBoundaryParentElement(true);if (B){var C=new FCKElementPath(B);for (var i in A.Items){var D=A.Items[i];var E=D.Style;if (E.CheckActive(C)){A.SelectItem(D);return;}}}};\r
-var FCKToolbarFontSizeCombo=function(A,B){this.CommandName='FontSize';this.Label=this.GetLabel();this.Tooltip=A?A:this.Label;this.Style=B?B:2;this.DefaultLabel=FCKConfig.DefaultFontSizeLabel||'';this.FieldWidth=70;};FCKToolbarFontSizeCombo.prototype=new FCKToolbarFontFormatCombo(false);FCKToolbarFontSizeCombo.prototype.GetLabel=function(){return FCKLang.FontSize;};FCKToolbarFontSizeCombo.prototype.GetStyles=function(){var A=FCKStyles.GetStyle('_FCK_Size');if (!A){alert("The FCKConfig.CoreStyles['FontFace'] setting was not found. Please check the fckconfig.js file");return {};};var B={};var C=FCKConfig.FontSizes.split(';');for (var i=0;i<C.length;i++){var D=C[i].split('/');var E=D[0];var F=D[1]||E;var G=FCKTools.CloneObject(A);G.SetVariable('Size',E);G.Label=F;B[F]=G;};return B;};FCKToolbarFontSizeCombo.prototype.RefreshActiveItems=FCKToolbarStyleCombo.prototype.RefreshActiveItems;FCKToolbarFontSizeCombo.prototype.StyleCombo_OnBeforeClick=FCKToolbarFontsCombo.prototype.StyleCombo_OnBeforeClick;\r
-var FCKToolbarPanelButton=function(A,B,C,D,E){this.CommandName=A;var F;if (E==null) F=FCKConfig.SkinPath+'toolbar/'+A.toLowerCase()+'.gif';else if (typeof(E)=='number') F=[FCKConfig.SkinPath+'fck_strip.gif',16,E];var G=this._UIButton=new FCKToolbarButtonUI(A,B,C,F,D);G._FCKToolbarPanelButton=this;G.ShowArrow=true;G.OnClick=FCKToolbarPanelButton_OnButtonClick;};FCKToolbarPanelButton.prototype.TypeName='FCKToolbarPanelButton';FCKToolbarPanelButton.prototype.Create=function(A){A.className+='Menu';this._UIButton.Create(A);var B=FCK.ToolbarSet.CurrentInstance.Commands.GetCommand(this.CommandName)._Panel;this.RegisterPanel(B);};FCKToolbarPanelButton.prototype.RegisterPanel=function(A){if (A._FCKToolbarPanelButton) return;A._FCKToolbarPanelButton=this;var B=A.Document.body.appendChild(A.Document.createElement('div'));B.style.position='absolute';B.style.top='0px';var C=A._FCKToolbarPanelButtonLineDiv=B.appendChild(A.Document.createElement('IMG'));C.className='TB_ConnectionLine';C.style.position='absolute';C.src=FCK_SPACER_PATH;A.OnHide=FCKToolbarPanelButton_OnPanelHide;};function FCKToolbarPanelButton_OnButtonClick(A){var B=this._FCKToolbarPanelButton;var e=B._UIButton.MainElement;B._UIButton.ChangeState(1);var C=FCK.ToolbarSet.CurrentInstance.Commands.GetCommand(B.CommandName);var D=C._Panel;D._FCKToolbarPanelButtonLineDiv.style.width=(e.offsetWidth-2)+'px';C.Execute(0,e.offsetHeight-1,e);};function FCKToolbarPanelButton_OnPanelHide(){var A=this._FCKToolbarPanelButton;A._UIButton.ChangeState(0);};FCKToolbarPanelButton.prototype.RefreshState=FCKToolbarButton.prototype.RefreshState;FCKToolbarPanelButton.prototype.Enable=FCKToolbarButton.prototype.Enable;FCKToolbarPanelButton.prototype.Disable=FCKToolbarButton.prototype.Disable;\r
-var FCKScayt;(function(){var A=[];var B=(FCK&&FCK.EditorWindow&&FCK.EditorWindow.parent.parent.scayt)?true:false;var C=false;var D=false;function ScaytEngineLoad(callback){if (B) return;B=true;var E=FCK.EditorWindow.parent.parent;var F=function (){window.scayt=E.scayt;InitScayt();var G=FCKToolbarItems.LoadedItems['ScaytCombobox'];G&&G.SetEnabled(scyt_control&&scyt_control.disabled);InitSetup();};if (E.scayt){F();return;};if (FCK.Config.ScaytCustomUrl) FCK.Config.ScaytCustomUrl=new String(FCK.Config.ScaytCustomUrl).replace(new RegExp("^http[s]*:\/\/"),"");var H=document.location.protocol;var I=FCK.Config.ScaytCustomUrl||'svc.spellchecker.net/spellcheck3/lf/scayt/scayt4.js';var J=H+'//'+I;var K=ParseUrl(J).path+'/';var L=E.window.CKEDITOR||(E.window.CKEDITOR={});L._djScaytConfig={I:K,addOnLoad:function(){F();},isDebug:false};if (callback) A.push(callback);DoLoadScript(J);};function DoLoadScript(url){if (!url) return false;var E=FCK.EditorWindow.parent.parent;var s=E.document.createElement('script');s.type='text/javascript';s.src=url;E.document.getElementsByTagName('head')[0].appendChild(s);return true;};function ParseUrl(data){var m=data.match(/(.*)[\/\\]([^\/\\]+\.\w+)$/);return m?{ path:m[1],file:m[2] }:data;};function createScaytControl (){var N={};var E=FCK.EditorWindow.parent.parent;N.srcNodeRef=FCK.EditingArea.IFrame;N.customerid=FCK.Config.ScaytCustomerid;N.customDictionaryName=FCK.Config.ScaytCustomDictionaryName;N.userDictionaryName=FCK.Config.ScaytUserDictionaryName;N.defLang=FCK.Config.ScaytDefLang;var P=E.scayt;var Q=window.scayt_control=new P(N);};function InitScayt(){createScaytControl();var Q=window.scayt_control;if (Q){Q.setDisabled(false);D=true;C=!Q.disabled;var G=FCKToolbarItems.LoadedItems['ScaytCombobox'];G&&G.Enable();ShowScaytState();};for (var i=0;i<A.length;i++){try{A[i].call(this);}catch(err){}}};var T=function(){name='Scayt';};T.prototype.Execute=function(c){switch (c){case 'Options':case 'Langs':case 'About':if (B&&D&&!C){ScaytMessage('SCAYT is not enabled');break;};if (B&&D) FCKDialog.OpenDialog('Scayt','SCAYT Settings','dialog/fck_scayt.html?'+c.toLowerCase(),343,343);break;default:if (!B){var U=this;ScaytEngineLoad(function (){U.SetEnabled(!window.scayt_control.disabled);});return true;}else if (D){if (C) this.Disable();else this.Enable();ShowScaytState();}};if (!B) return ScaytMessage('SCAYT is not loaded')||false;if (!D) return ScaytMessage('SCAYT is not ready')||false;return true;};T.prototype.Enable=function(){window.scayt_control.setDisabled(false);C=true;};T.prototype.Disable=function(){window.scayt_control.setDisabled(true);C=false;};T.prototype.SetEnabled=function(state){if (state) this.Enable();else this.Disable();ShowScaytState();return true;};T.prototype.GetState=function(){return 0;};function ShowScaytState(){var W=FCKToolbarItems.GetItem('SpellCheck');if (!W||!W._Combo||!W._Combo._OuterTable) return;var X=W._Combo._OuterTable.getElementsByTagName('img')[1];var Y=W._Combo.Items['trigger'];if (C){X.style.opacity='1';Y.innerHTML=GetStatusLabel();}else{X.style.opacity='0.5';Y.innerHTML=GetStatusLabel();}};function GetStatusLabel(){if (!D) return  '<b>Enable SCAYT</b>';return C?'<b>Disable SCAYT</b>':'<b>Enable SCAYT</b>';};var Z=function(tooltip,style){this.Command=FCKCommands.GetCommand('Scayt');this.CommandName='Scayt';this.Label=this.GetLabel();this.Tooltip=FCKLang.ScaytTitle;this.Style=1;};Z.prototype=new FCKToolbarSpecialCombo;Z.prototype.CreateItems=function(){this._Combo.AddItem('Trigger','<b>Enable SCAYT</b>');this._Combo.AddItem('Options',FCKLang.ScaytTitleOptions||"Options");this._Combo.AddItem('Langs',FCKLang.ScaytTitleLangs||"Languages");this._Combo.AddItem('About',FCKLang.ScaytTitleAbout||"About");};Z.prototype.GetLabel=function(){var a=FCKConfig.SkinPath+'fck_strip.gif';return FCKBrowserInfo.IsIE?'<div class="TB_Button_Image"><img src="'+a+'" style="top:-192px"></div>':'<img class="TB_Button_Image" src="'+FCK_SPACER_PATH+'" style="background-position: 0px -192px;background-image: url('+a+');">';};function ScaytMessage(m){m&&alert(m);};var b=function(){name='ScaytContext';};b.prototype.Execute=function(contextInfo){var c=contextInfo&&contextInfo.action,g=c&&contextInfo.node,Q=window.scayt_control;if (g){switch (c){case 'Suggestion':Q.replace(g,contextInfo.suggestion);break;case 'Ignore':Q.ignore(g);break;case 'Ignore All':Q.ignoreAll(g);break;case 'Add Word':var E=FCK.EditorWindow.parent.parent;E.scayt.addWordToUserDictionary(g);break;}}};function InitSetup(){FCK.ContextMenu.RegisterListener({AddItems:function(menu){var E=FCK.EditorWindow.parent.parent;var Q=window.scayt_control,P=E.scayt;if (!Q) return;var g=Q.getScaytNode();if (!g) return;var h=P.getSuggestion(Q.getWord(g),Q.getLang());if (!h||!h.length) return;menu.AddSeparator();var j=FCK.Config.ScaytMaxSuggestions||5;var k=(j==-1)?h.length:j;for (var i=0;i<k;i+=1){if (h[i]){menu.AddItem('ScaytContext',h[i],null,false,{'action':'Suggestion','node':g,'suggestion':h[i] });}};menu.AddSeparator();menu.AddItem('ScaytContext','Ignore',null,false,{ 'action':'Ignore','node':g });menu.AddItem('ScaytContext','Ignore All',null,false,{ 'action':'Ignore All','node':g });menu.AddItem('ScaytContext','Add Word',null,false,{ 'action':'Add Word','node':g });try{if (D&&C) Q.fireOnContextMenu(null,FCK.ContextMenu._InnerContextMenu);}catch(err) {}}});FCK.Events.AttachEvent('OnPaste',function(){window.scayt_control.refresh();return true;});};FCK.Events.AttachEvent('OnAfterSetHTML',function(){if (FCKConfig.SpellChecker=='SCAYT'){if (!B&&FCK.Config.ScaytAutoStartup) ScaytEngineLoad();if (FCK.EditMode==0&&B&&D) createScaytControl();ShowScaytState();}});FCK.Events.AttachEvent('OnBeforeGetData',function(){D&&window.scayt_control.reset();});FCK.Events.AttachEvent('OnAfterGetData',function(){D&&window.scayt_control.refresh();});FCKScayt={CreateCommand:function(){return new T();},CreateContextCommand:function(){return new b();},CreateToolbarItem:function(){return new Z();}};})();\r
-var FCKToolbarItems={};FCKToolbarItems.LoadedItems={};FCKToolbarItems.RegisterItem=function(A,B){this.LoadedItems[A]=B;};FCKToolbarItems.GetItem=function(A){var B=FCKToolbarItems.LoadedItems[A];if (B) return B;switch (A){case 'Source':B=new FCKToolbarButton('Source',FCKLang.Source,null,2,true,true,1);break;case 'DocProps':B=new FCKToolbarButton('DocProps',FCKLang.DocProps,null,null,null,null,2);break;case 'Save':B=new FCKToolbarButton('Save',FCKLang.Save,null,null,true,null,3);break;case 'NewPage':B=new FCKToolbarButton('NewPage',FCKLang.NewPage,null,null,true,null,4);break;case 'Preview':B=new FCKToolbarButton('Preview',FCKLang.Preview,null,null,true,null,5);break;case 'Templates':B=new FCKToolbarButton('Templates',FCKLang.Templates,null,null,null,null,6);break;case 'About':B=new FCKToolbarButton('About',FCKLang.About,null,null,true,null,47);break;case 'Cut':B=new FCKToolbarButton('Cut',FCKLang.Cut,null,null,false,true,7);break;case 'Copy':B=new FCKToolbarButton('Copy',FCKLang.Copy,null,null,false,true,8);break;case 'Paste':B=new FCKToolbarButton('Paste',FCKLang.Paste,null,null,false,true,9);break;case 'PasteText':B=new FCKToolbarButton('PasteText',FCKLang.PasteText,null,null,false,true,10);break;case 'PasteWord':B=new FCKToolbarButton('PasteWord',FCKLang.PasteWord,null,null,false,true,11);break;case 'Print':B=new FCKToolbarButton('Print',FCKLang.Print,null,null,false,true,12);break;case 'Undo':B=new FCKToolbarButton('Undo',FCKLang.Undo,null,null,false,true,14);break;case 'Redo':B=new FCKToolbarButton('Redo',FCKLang.Redo,null,null,false,true,15);break;case 'SelectAll':B=new FCKToolbarButton('SelectAll',FCKLang.SelectAll,null,null,true,null,18);break;case 'RemoveFormat':B=new FCKToolbarButton('RemoveFormat',FCKLang.RemoveFormat,null,null,false,true,19);break;case 'FitWindow':B=new FCKToolbarButton('FitWindow',FCKLang.FitWindow,null,null,true,true,66);break;case 'Bold':B=new FCKToolbarButton('Bold',FCKLang.Bold,null,null,false,true,20);break;case 'Italic':B=new FCKToolbarButton('Italic',FCKLang.Italic,null,null,false,true,21);break;case 'Underline':B=new FCKToolbarButton('Underline',FCKLang.Underline,null,null,false,true,22);break;case 'StrikeThrough':B=new FCKToolbarButton('StrikeThrough',FCKLang.StrikeThrough,null,null,false,true,23);break;case 'Subscript':B=new FCKToolbarButton('Subscript',FCKLang.Subscript,null,null,false,true,24);break;case 'Superscript':B=new FCKToolbarButton('Superscript',FCKLang.Superscript,null,null,false,true,25);break;case 'OrderedList':B=new FCKToolbarButton('InsertOrderedList',FCKLang.NumberedListLbl,FCKLang.NumberedList,null,false,true,26);break;case 'UnorderedList':B=new FCKToolbarButton('InsertUnorderedList',FCKLang.BulletedListLbl,FCKLang.BulletedList,null,false,true,27);break;case 'Outdent':B=new FCKToolbarButton('Outdent',FCKLang.DecreaseIndent,null,null,false,true,28);break;case 'Indent':B=new FCKToolbarButton('Indent',FCKLang.IncreaseIndent,null,null,false,true,29);break;case 'Blockquote':B=new FCKToolbarButton('Blockquote',FCKLang.Blockquote,null,null,false,true,73);break;case 'CreateDiv':B=new FCKToolbarButton('CreateDiv',FCKLang.CreateDiv,null,null,false,true,74);break;case 'Link':B=new FCKToolbarButton('Link',FCKLang.InsertLinkLbl,FCKLang.InsertLink,null,false,true,34);break;case 'Unlink':B=new FCKToolbarButton('Unlink',FCKLang.RemoveLink,null,null,false,true,35);break;case 'Anchor':B=new FCKToolbarButton('Anchor',FCKLang.Anchor,null,null,null,null,36);break;case 'Image':B=new FCKToolbarButton('Image',FCKLang.InsertImageLbl,FCKLang.InsertImage,null,false,true,37);break;case 'Flash':B=new FCKToolbarButton('Flash',FCKLang.InsertFlashLbl,FCKLang.InsertFlash,null,false,true,38);break;case 'Table':B=new FCKToolbarButton('Table',FCKLang.InsertTableLbl,FCKLang.InsertTable,null,false,true,39);break;case 'SpecialChar':B=new FCKToolbarButton('SpecialChar',FCKLang.InsertSpecialCharLbl,FCKLang.InsertSpecialChar,null,false,true,42);break;case 'Smiley':B=new FCKToolbarButton('Smiley',FCKLang.InsertSmileyLbl,FCKLang.InsertSmiley,null,false,true,41);break;case 'PageBreak':B=new FCKToolbarButton('PageBreak',FCKLang.PageBreakLbl,FCKLang.PageBreak,null,false,true,43);break;case 'Rule':B=new FCKToolbarButton('Rule',FCKLang.InsertLineLbl,FCKLang.InsertLine,null,false,true,40);break;case 'JustifyLeft':B=new FCKToolbarButton('JustifyLeft',FCKLang.LeftJustify,null,null,false,true,30);break;case 'JustifyCenter':B=new FCKToolbarButton('JustifyCenter',FCKLang.CenterJustify,null,null,false,true,31);break;case 'JustifyRight':B=new FCKToolbarButton('JustifyRight',FCKLang.RightJustify,null,null,false,true,32);break;case 'JustifyFull':B=new FCKToolbarButton('JustifyFull',FCKLang.BlockJustify,null,null,false,true,33);break;case 'Style':B=new FCKToolbarStyleCombo();break;case 'FontName':B=new FCKToolbarFontsCombo();break;case 'FontSize':B=new FCKToolbarFontSizeCombo();break;case 'FontFormat':B=new FCKToolbarFontFormatCombo();break;case 'TextColor':B=new FCKToolbarPanelButton('TextColor',FCKLang.TextColor,null,null,45);break;case 'BGColor':B=new FCKToolbarPanelButton('BGColor',FCKLang.BGColor,null,null,46);break;case 'Find':B=new FCKToolbarButton('Find',FCKLang.Find,null,null,null,null,16);break;case 'Replace':B=new FCKToolbarButton('Replace',FCKLang.Replace,null,null,null,null,17);break;case 'Form':B=new FCKToolbarButton('Form',FCKLang.Form,null,null,null,null,48);break;case 'Checkbox':B=new FCKToolbarButton('Checkbox',FCKLang.Checkbox,null,null,null,null,49);break;case 'Radio':B=new FCKToolbarButton('Radio',FCKLang.RadioButton,null,null,null,null,50);break;case 'TextField':B=new FCKToolbarButton('TextField',FCKLang.TextField,null,null,null,null,51);break;case 'Textarea':B=new FCKToolbarButton('Textarea',FCKLang.Textarea,null,null,null,null,52);break;case 'HiddenField':B=new FCKToolbarButton('HiddenField',FCKLang.HiddenField,null,null,null,null,56);break;case 'Button':B=new FCKToolbarButton('Button',FCKLang.Button,null,null,null,null,54);break;case 'Select':B=new FCKToolbarButton('Select',FCKLang.SelectionField,null,null,null,null,53);break;case 'ImageButton':B=new FCKToolbarButton('ImageButton',FCKLang.ImageButton,null,null,null,null,55);break;case 'ShowBlocks':B=new FCKToolbarButton('ShowBlocks',FCKLang.ShowBlocks,null,null,null,true,72);break;case 'SpellCheck':if (FCKConfig.SpellChecker=='SCAYT') B=FCKScayt.CreateToolbarItem();else B=new FCKToolbarButton('SpellCheck',FCKLang.SpellCheck,null,null,null,null,13);break;default:alert(FCKLang.UnknownToolbarItem.replace(/%1/g,A));return null;};FCKToolbarItems.LoadedItems[A]=B;return B;};\r
-var FCKToolbar=function(){this.Items=[];};FCKToolbar.prototype.AddItem=function(A){return this.Items[this.Items.length]=A;};FCKToolbar.prototype.AddButton=function(A,B,C,D,E,F){if (typeof(D)=='number') D=[this.DefaultIconsStrip,this.DefaultIconSize,D];var G=new FCKToolbarButtonUI(A,B,C,D,E,F);G._FCKToolbar=this;G.OnClick=FCKToolbar_OnItemClick;return this.AddItem(G);};function FCKToolbar_OnItemClick(A){var B=A._FCKToolbar;if (B.OnItemClick) B.OnItemClick(B,A);};FCKToolbar.prototype.AddSeparator=function(){this.AddItem(new FCKToolbarSeparator());};FCKToolbar.prototype.Create=function(A){var B=FCKTools.GetElementDocument(A);var e=B.createElement('table');e.className='TB_Toolbar';e.style.styleFloat=e.style.cssFloat=(FCKLang.Dir=='ltr'?'left':'right');e.dir=FCKLang.Dir;e.cellPadding=0;e.cellSpacing=0;var C=e.insertRow(-1);var D;if (!this.HideStart){D=C.insertCell(-1);D.appendChild(B.createElement('div')).className='TB_Start';};for (var i=0;i<this.Items.length;i++){this.Items[i].Create(C.insertCell(-1));};if (!this.HideEnd){D=C.insertCell(-1);D.appendChild(B.createElement('div')).className='TB_End';};A.appendChild(e);};var FCKToolbarSeparator=function(){};FCKToolbarSeparator.prototype.Create=function(A){FCKTools.AppendElement(A,'div').className='TB_Separator';};\r
-var FCKToolbarBreak=function(){};FCKToolbarBreak.prototype.Create=function(A){var B=A.ownerDocument.createElement('div');B.style.clear=B.style.cssFloat=FCKLang.Dir=='rtl'?'right':'left';A.appendChild(B);};\r
-function FCKToolbarSet_Create(A){var B;var C=A||FCKConfig.ToolbarLocation;switch (C){case 'In':document.getElementById('xToolbarRow').style.display='';B=new FCKToolbarSet(document);break;case 'None':B=new FCKToolbarSet(document);break;default:FCK.Events.AttachEvent('OnBlur',FCK_OnBlur);FCK.Events.AttachEvent('OnFocus',FCK_OnFocus);var D;var E=C.match(/^Out:(.+)\((\w+)\)$/);if (E){if (FCKBrowserInfo.IsAIR) FCKAdobeAIR.ToolbarSet_GetOutElement(window,E);else D=eval('parent.'+E[1]).document.getElementById(E[2]);}else{E=C.match(/^Out:(\w+)$/);if (E) D=parent.document.getElementById(E[1]);};if (!D){alert('Invalid value for "ToolbarLocation"');return arguments.callee('In');};B=D.__FCKToolbarSet;if (B) break;var F=FCKTools.GetElementDocument(D).createElement('iframe');F.src='javascript:void(0)';F.frameBorder=0;F.width='100%';F.height='10';D.appendChild(F);F.unselectable='on';var G=F.contentWindow.document;var H='';if (FCKBrowserInfo.IsSafari) H='<base href="'+window.document.location+'">';G.open();G.write('<html><head>'+H+'<script type="text/javascript"> var adjust = function() { window.frameElement.height = document.body.scrollHeight ; }; window.onresize = window.onload = function(){var timer = null;var lastHeight = -1;var lastChange = 0;var poller = function(){var currentHeight = document.body.scrollHeight || 0;var currentTime = (new Date()).getTime();if (currentHeight != lastHeight){lastChange = currentTime;adjust();lastHeight = document.body.scrollHeight;}if (lastChange < currentTime - 1000) clearInterval(timer);};timer = setInterval(poller, 100);}</script></head><body style="overflow: hidden">'+document.getElementById('xToolbarSpace').innerHTML+'</body></html>');G.close();if(FCKBrowserInfo.IsAIR) FCKAdobeAIR.ToolbarSet_InitOutFrame(G);FCKTools.AddEventListener(G,'contextmenu',FCKTools.CancelEvent);FCKTools.AppendStyleSheet(G,FCKConfig.SkinEditorCSS);B=D.__FCKToolbarSet=new FCKToolbarSet(G);B._IFrame=F;if (FCK.IECleanup) FCK.IECleanup.AddItem(D,FCKToolbarSet_Target_Cleanup);};B.CurrentInstance=FCK;if (!B.ToolbarItems) B.ToolbarItems=FCKToolbarItems;FCK.AttachToOnSelectionChange(B.RefreshItemsState);return B;};function FCK_OnBlur(A){var B=A.ToolbarSet;if (B.CurrentInstance==A) B.Disable();};function FCK_OnFocus(A){var B=A.ToolbarSet;var C=A||FCK;B.CurrentInstance.FocusManager.RemoveWindow(B._IFrame.contentWindow);B.CurrentInstance=C;C.FocusManager.AddWindow(B._IFrame.contentWindow,true);B.Enable();};function FCKToolbarSet_Cleanup(){this._TargetElement=null;this._IFrame=null;};function FCKToolbarSet_Target_Cleanup(){this.__FCKToolbarSet=null;};var FCKToolbarSet=function(A){this._Document=A;this._TargetElement=A.getElementById('xToolbar');var B=A.getElementById('xExpandHandle');var C=A.getElementById('xCollapseHandle');B.title=FCKLang.ToolbarExpand;FCKTools.AddEventListener(B,'click',FCKToolbarSet_Expand_OnClick);C.title=FCKLang.ToolbarCollapse;FCKTools.AddEventListener(C,'click',FCKToolbarSet_Collapse_OnClick);if (!FCKConfig.ToolbarCanCollapse||FCKConfig.ToolbarStartExpanded) this.Expand();else this.Collapse();C.style.display=FCKConfig.ToolbarCanCollapse?'':'none';if (FCKConfig.ToolbarCanCollapse) C.style.display='';else A.getElementById('xTBLeftBorder').style.display='';this.Toolbars=[];this.IsLoaded=false;if (FCK.IECleanup) FCK.IECleanup.AddItem(this,FCKToolbarSet_Cleanup);};function FCKToolbarSet_Expand_OnClick(){FCK.ToolbarSet.Expand();};function FCKToolbarSet_Collapse_OnClick(){FCK.ToolbarSet.Collapse();};FCKToolbarSet.prototype.Expand=function(){this._ChangeVisibility(false);};FCKToolbarSet.prototype.Collapse=function(){this._ChangeVisibility(true);};FCKToolbarSet.prototype._ChangeVisibility=function(A){this._Document.getElementById('xCollapsed').style.display=A?'':'none';this._Document.getElementById('xExpanded').style.display=A?'none':'';if (window.onresize){FCKTools.RunFunction(window.onresize);}};FCKToolbarSet.prototype.Load=function(A){this.Name=A;this.Items=[];this.ItemsWysiwygOnly=[];this.ItemsContextSensitive=[];this._TargetElement.innerHTML='';var B=FCKConfig.ToolbarSets[A];if (!B){alert(FCKLang.UnknownToolbarSet.replace(/%1/g,A));return;};this.Toolbars=[];for (var x=0;x<B.length;x++){var C=B[x];if (!C) continue;var D;if (typeof(C)=='string'){if (C=='/') D=new FCKToolbarBreak();}else{D=new FCKToolbar();for (var j=0;j<C.length;j++){var E=C[j];if (E=='-') D.AddSeparator();else{var F=FCKToolbarItems.GetItem(E);if (F){D.AddItem(F);this.Items.push(F);if (!F.SourceView) this.ItemsWysiwygOnly.push(F);if (F.ContextSensitive) this.ItemsContextSensitive.push(F);}}}};D.Create(this._TargetElement);this.Toolbars[this.Toolbars.length]=D;};FCKTools.DisableSelection(this._Document.getElementById('xCollapseHandle').parentNode);if (FCK.Status!=2) FCK.Events.AttachEvent('OnStatusChange',this.RefreshModeState);else this.RefreshModeState();this.IsLoaded=true;this.IsEnabled=true;FCKTools.RunFunction(this.OnLoad);};FCKToolbarSet.prototype.Enable=function(){if (this.IsEnabled) return;this.IsEnabled=true;var A=this.Items;for (var i=0;i<A.length;i++) A[i].RefreshState();};FCKToolbarSet.prototype.Disable=function(){if (!this.IsEnabled) return;this.IsEnabled=false;var A=this.Items;for (var i=0;i<A.length;i++) A[i].Disable();};FCKToolbarSet.prototype.RefreshModeState=function(A){if (FCK.Status!=2) return;var B=A?A.ToolbarSet:this;var C=B.ItemsWysiwygOnly;if (FCK.EditMode==0){for (var i=0;i<C.length;i++) C[i].Enable();B.RefreshItemsState(A);}else{B.RefreshItemsState(A);for (var j=0;j<C.length;j++) C[j].Disable();}};FCKToolbarSet.prototype.RefreshItemsState=function(A){var B=(A?A.ToolbarSet:this).ItemsContextSensitive;for (var i=0;i<B.length;i++) B[i].RefreshState();};\r
-var FCKDialog=(function(){var A;var B;var C;var D=window.parent;while (D.parent&&D.parent!=D){try{if (D.parent.document.domain!=document.domain) break;if (D.parent.document.getElementsByTagName('frameset').length>0) break;}catch (e){break;};D=D.parent;};var E=D.document;var F=function(){if (!B) B=FCKConfig.FloatingPanelsZIndex+999;return++B;};var G=function(){if (!C) return;var H=FCKTools.IsStrictMode(E)?E.documentElement:E.body;FCKDomTools.SetElementStyles(C,{'width':Math.max(H.scrollWidth,H.clientWidth,E.scrollWidth||0)-1+'px','height':Math.max(H.scrollHeight,H.clientHeight,E.scrollHeight||0)-1+'px'});};return {OpenDialog:function(dialogName,dialogTitle,dialogPage,width,height,customValue,resizable){if (!A) this.DisplayMainCover();var I={Title:dialogTitle,Page:dialogPage,Editor:window,CustomValue:customValue,TopWindow:D};FCK.ToolbarSet.CurrentInstance.Selection.Save(true);var J=FCKTools.GetViewPaneSize(D);var K={ 'X':0,'Y':0 };var L=FCKBrowserInfo.IsIE&&(!FCKBrowserInfo.IsIE7||!FCKTools.IsStrictMode(D.document));if (L) K=FCKTools.GetScrollPosition(D);var M=Math.max(K.Y+(J.Height-height-20)/2,0);var N=Math.max(K.X+(J.Width-width-20)/2,0);var O=E.createElement('iframe');FCKTools.ResetStyles(O);O.src=FCKConfig.BasePath+'fckdialog.html';O.frameBorder=0;O.allowTransparency=true;FCKDomTools.SetElementStyles(O,{'position':(L)?'absolute':'fixed','top':M+'px','left':N+'px','width':width+'px','height':height+'px','zIndex':F()});O._DialogArguments=I;E.body.appendChild(O);O._ParentDialog=A;A=O;},OnDialogClose:function(dialogWindow){var O=dialogWindow.frameElement;FCKDomTools.RemoveNode(O);if (O._ParentDialog){A=O._ParentDialog;O._ParentDialog.contentWindow.SetEnabled(true);}else{if (!FCKBrowserInfo.IsIE) FCK.Focus();this.HideMainCover();setTimeout(function(){ A=null;},0);FCK.ToolbarSet.CurrentInstance.Selection.Release();}},DisplayMainCover:function(){C=E.createElement('div');FCKTools.ResetStyles(C);FCKDomTools.SetElementStyles(C,{'position':'absolute','zIndex':F(),'top':'0px','left':'0px','backgroundColor':FCKConfig.BackgroundBlockerColor});FCKDomTools.SetOpacity(C,FCKConfig.BackgroundBlockerOpacity);if (FCKBrowserInfo.IsIE&&!FCKBrowserInfo.IsIE7){var Q=E.createElement('iframe');FCKTools.ResetStyles(Q);Q.hideFocus=true;Q.frameBorder=0;Q.src=FCKTools.GetVoidUrl();FCKDomTools.SetElementStyles(Q,{'width':'100%','height':'100%','position':'absolute','left':'0px','top':'0px','filter':'progid:DXImageTransform.Microsoft.Alpha(opacity=0)'});C.appendChild(Q);};FCKTools.AddEventListener(D,'resize',G);G();E.body.appendChild(C);FCKFocusManager.Lock();var R=FCK.ToolbarSet.CurrentInstance.GetInstanceObject('frameElement');R._fck_originalTabIndex=R.tabIndex;R.tabIndex=-1;},HideMainCover:function(){FCKDomTools.RemoveNode(C);FCKFocusManager.Unlock();var R=FCK.ToolbarSet.CurrentInstance.GetInstanceObject('frameElement');R.tabIndex=R._fck_originalTabIndex;FCKDomTools.ClearElementJSProperty(R,'_fck_originalTabIndex');},GetCover:function(){return C;}};})();\r
-var FCKMenuItem=function(A,B,C,D,E,F){this.Name=B;this.Label=C||B;this.IsDisabled=E;this.Icon=new FCKIcon(D);this.SubMenu=new FCKMenuBlockPanel();this.SubMenu.Parent=A;this.SubMenu.OnClick=FCKTools.CreateEventListener(FCKMenuItem_SubMenu_OnClick,this);this.CustomData=F;if (FCK.IECleanup) FCK.IECleanup.AddItem(this,FCKMenuItem_Cleanup);};FCKMenuItem.prototype.AddItem=function(A,B,C,D,E){this.HasSubMenu=true;return this.SubMenu.AddItem(A,B,C,D,E);};FCKMenuItem.prototype.AddSeparator=function(){this.SubMenu.AddSeparator();};FCKMenuItem.prototype.Create=function(A){var B=this.HasSubMenu;var C=FCKTools.GetElementDocument(A);var r=this.MainElement=A.insertRow(-1);r.className=this.IsDisabled?'MN_Item_Disabled':'MN_Item';if (!this.IsDisabled){FCKTools.AddEventListenerEx(r,'mouseover',FCKMenuItem_OnMouseOver,[this]);FCKTools.AddEventListenerEx(r,'click',FCKMenuItem_OnClick,[this]);if (!B) FCKTools.AddEventListenerEx(r,'mouseout',FCKMenuItem_OnMouseOut,[this]);};var D=r.insertCell(-1);D.className='MN_Icon';D.appendChild(this.Icon.CreateIconElement(C));D=r.insertCell(-1);D.className='MN_Label';D.noWrap=true;D.appendChild(C.createTextNode(this.Label));D=r.insertCell(-1);if (B){D.className='MN_Arrow';var E=D.appendChild(C.createElement('IMG'));E.src=FCK_IMAGES_PATH+'arrow_'+FCKLang.Dir+'.gif';E.width=4;E.height=7;this.SubMenu.Create();this.SubMenu.Panel.OnHide=FCKTools.CreateEventListener(FCKMenuItem_SubMenu_OnHide,this);}};FCKMenuItem.prototype.Activate=function(){this.MainElement.className='MN_Item_Over';if (this.HasSubMenu){this.SubMenu.Show(this.MainElement.offsetWidth+2,-2,this.MainElement);};FCKTools.RunFunction(this.OnActivate,this);};FCKMenuItem.prototype.Deactivate=function(){this.MainElement.className='MN_Item';if (this.HasSubMenu) this.SubMenu.Hide();};function FCKMenuItem_SubMenu_OnClick(A,B){FCKTools.RunFunction(B.OnClick,B,[A]);};function FCKMenuItem_SubMenu_OnHide(A){A.Deactivate();};function FCKMenuItem_OnClick(A,B){if (B.HasSubMenu) B.Activate();else{B.Deactivate();FCKTools.RunFunction(B.OnClick,B,[B]);}};function FCKMenuItem_OnMouseOver(A,B){B.Activate();};function FCKMenuItem_OnMouseOut(A,B){B.Deactivate();};function FCKMenuItem_Cleanup(){this.MainElement=null;};\r
-var FCKMenuBlock=function(){this._Items=[];};FCKMenuBlock.prototype.Count=function(){return this._Items.length;};FCKMenuBlock.prototype.AddItem=function(A,B,C,D,E){var F=new FCKMenuItem(this,A,B,C,D,E);F.OnClick=FCKTools.CreateEventListener(FCKMenuBlock_Item_OnClick,this);F.OnActivate=FCKTools.CreateEventListener(FCKMenuBlock_Item_OnActivate,this);this._Items.push(F);return F;};FCKMenuBlock.prototype.AddSeparator=function(){this._Items.push(new FCKMenuSeparator());};FCKMenuBlock.prototype.RemoveAllItems=function(){this._Items=[];var A=this._ItemsTable;if (A){while (A.rows.length>0) A.deleteRow(0);}};FCKMenuBlock.prototype.Create=function(A){if (!this._ItemsTable){if (FCK.IECleanup) FCK.IECleanup.AddItem(this,FCKMenuBlock_Cleanup);this._Window=FCKTools.GetElementWindow(A);var B=FCKTools.GetElementDocument(A);var C=A.appendChild(B.createElement('table'));C.cellPadding=0;C.cellSpacing=0;FCKTools.DisableSelection(C);var D=C.insertRow(-1).insertCell(-1);D.className='MN_Menu';var E=this._ItemsTable=D.appendChild(B.createElement('table'));E.cellPadding=0;E.cellSpacing=0;};for (var i=0;i<this._Items.length;i++) this._Items[i].Create(this._ItemsTable);};function FCKMenuBlock_Item_OnClick(A,B){if (B.Hide) B.Hide();FCKTools.RunFunction(B.OnClick,B,[A]);};function FCKMenuBlock_Item_OnActivate(A){var B=A._ActiveItem;if (B&&B!=this){if (!FCKBrowserInfo.IsIE&&B.HasSubMenu&&!this.HasSubMenu){A._Window.focus();A.Panel.HasFocus=true;};B.Deactivate();};A._ActiveItem=this;};function FCKMenuBlock_Cleanup(){this._Window=null;this._ItemsTable=null;};var FCKMenuSeparator=function(){};FCKMenuSeparator.prototype.Create=function(A){var B=FCKTools.GetElementDocument(A);var r=A.insertRow(-1);var C=r.insertCell(-1);C.className='MN_Separator MN_Icon';C=r.insertCell(-1);C.className='MN_Separator';C.appendChild(B.createElement('DIV')).className='MN_Separator_Line';C=r.insertCell(-1);C.className='MN_Separator';C.appendChild(B.createElement('DIV')).className='MN_Separator_Line';};\r
-var FCKMenuBlockPanel=function(){FCKMenuBlock.call(this);};FCKMenuBlockPanel.prototype=new FCKMenuBlock();FCKMenuBlockPanel.prototype.Create=function(){var A=this.Panel=(this.Parent&&this.Parent.Panel?this.Parent.Panel.CreateChildPanel():new FCKPanel());A.AppendStyleSheet(FCKConfig.SkinEditorCSS);FCKMenuBlock.prototype.Create.call(this,A.MainNode);};FCKMenuBlockPanel.prototype.Show=function(x,y,A){if (!this.Panel.CheckIsOpened()) this.Panel.Show(x,y,A);};FCKMenuBlockPanel.prototype.Hide=function(){if (this.Panel.CheckIsOpened()) this.Panel.Hide();};\r
-var FCKContextMenu=function(A,B){this.CtrlDisable=false;var C=this._Panel=new FCKPanel(A);C.AppendStyleSheet(FCKConfig.SkinEditorCSS);C.IsContextMenu=true;if (FCKBrowserInfo.IsGecko) C.Document.addEventListener('draggesture',function(e) {e.preventDefault();return false;},true);var D=this._MenuBlock=new FCKMenuBlock();D.Panel=C;D.OnClick=FCKTools.CreateEventListener(FCKContextMenu_MenuBlock_OnClick,this);this._Redraw=true;};FCKContextMenu.prototype.SetMouseClickWindow=function(A){if (!FCKBrowserInfo.IsIE){this._Document=A.document;if (FCKBrowserInfo.IsOpera&&!('oncontextmenu' in document.createElement('foo'))){this._Document.addEventListener('mousedown',FCKContextMenu_Document_OnMouseDown,false);this._Document.addEventListener('mouseup',FCKContextMenu_Document_OnMouseUp,false);};this._Document.addEventListener('contextmenu',FCKContextMenu_Document_OnContextMenu,false);}};FCKContextMenu.prototype.AddItem=function(A,B,C,D,E){var F=this._MenuBlock.AddItem(A,B,C,D,E);this._Redraw=true;return F;};FCKContextMenu.prototype.AddSeparator=function(){this._MenuBlock.AddSeparator();this._Redraw=true;};FCKContextMenu.prototype.RemoveAllItems=function(){this._MenuBlock.RemoveAllItems();this._Redraw=true;};FCKContextMenu.prototype.AttachToElement=function(A){if (FCKBrowserInfo.IsIE) FCKTools.AddEventListenerEx(A,'contextmenu',FCKContextMenu_AttachedElement_OnContextMenu,this);else A._FCKContextMenu=this;};function FCKContextMenu_Document_OnContextMenu(e){if (FCKConfig.BrowserContextMenu) return true;var A=e.target;while (A){if (A._FCKContextMenu){if (A._FCKContextMenu.CtrlDisable&&(e.ctrlKey||e.metaKey)) return true;FCKTools.CancelEvent(e);FCKContextMenu_AttachedElement_OnContextMenu(e,A._FCKContextMenu,A);return false;};A=A.parentNode;};return true;};var FCKContextMenu_OverrideButton;function FCKContextMenu_Document_OnMouseDown(e){if(!e||e.button!=2) return false;if (FCKConfig.BrowserContextMenu) return true;var A=e.target;while (A){if (A._FCKContextMenu){if (A._FCKContextMenu.CtrlDisable&&(e.ctrlKey||e.metaKey)) return true;var B=FCKContextMenu_OverrideButton;if(!B){var C=FCKTools.GetElementDocument(e.target);B=FCKContextMenu_OverrideButton=C.createElement('input');B.type='button';var D=C.createElement('p');C.body.appendChild(D);D.appendChild(B);};B.style.cssText='position:absolute;top:'+(e.clientY-2)+'px;left:'+(e.clientX-2)+'px;width:5px;height:5px;opacity:0.01';};A=A.parentNode;};return false;};function FCKContextMenu_Document_OnMouseUp(e){if (FCKConfig.BrowserContextMenu) return true;var A=FCKContextMenu_OverrideButton;if (A){var B=A.parentNode;B.parentNode.removeChild(B);FCKContextMenu_OverrideButton=undefined;if(e&&e.button==2){FCKContextMenu_Document_OnContextMenu(e);return false;}};return true;};function FCKContextMenu_AttachedElement_OnContextMenu(A,B,C){if ((B.CtrlDisable&&(A.ctrlKey||A.metaKey))||FCKConfig.BrowserContextMenu) return true;var D=C||this;if (B.OnBeforeOpen) B.OnBeforeOpen.call(B,D);if (B._MenuBlock.Count()==0) return false;if (B._Redraw){B._MenuBlock.Create(B._Panel.MainNode);B._Redraw=false;};FCKTools.DisableSelection(B._Panel.Document.body);var x=0;var y=0;if (FCKBrowserInfo.IsIE){x=A.screenX;y=A.screenY;}else if (FCKBrowserInfo.IsSafari){x=A.clientX;y=A.clientY;}else{x=A.pageX;y=A.pageY;};B._Panel.Show(x,y,A.currentTarget||null);return false;};function FCKContextMenu_MenuBlock_OnClick(A,B){B._Panel.Hide();FCKTools.RunFunction(B.OnItemClick,B,A);};\r
-FCK.ContextMenu={};FCK.ContextMenu.Listeners=[];FCK.ContextMenu.RegisterListener=function(A){if (A) this.Listeners.push(A);};function FCK_ContextMenu_Init(){var A=FCK.ContextMenu._InnerContextMenu=new FCKContextMenu(FCKBrowserInfo.IsIE?window:window.parent,FCKLang.Dir);A.CtrlDisable=FCKConfig.BrowserContextMenuOnCtrl;A.OnBeforeOpen=FCK_ContextMenu_OnBeforeOpen;A.OnItemClick=FCK_ContextMenu_OnItemClick;var B=FCK.ContextMenu;for (var i=0;i<FCKConfig.ContextMenu.length;i++) B.RegisterListener(FCK_ContextMenu_GetListener(FCKConfig.ContextMenu[i]));};function FCK_ContextMenu_GetListener(A){switch (A){case 'Generic':return {AddItems:function(menu,tag,tagName){menu.AddItem('Cut',FCKLang.Cut,7,FCKCommands.GetCommand('Cut').GetState()==-1);menu.AddItem('Copy',FCKLang.Copy,8,FCKCommands.GetCommand('Copy').GetState()==-1);menu.AddItem('Paste',FCKLang.Paste,9,FCKCommands.GetCommand('Paste').GetState()==-1);}};case 'Table':return {AddItems:function(menu,tag,tagName){var B=(tagName=='TABLE');var C=(!B&&FCKSelection.HasAncestorNode('TABLE'));if (C){menu.AddSeparator();var D=menu.AddItem('Cell',FCKLang.CellCM);D.AddItem('TableInsertCellBefore',FCKLang.InsertCellBefore,69);D.AddItem('TableInsertCellAfter',FCKLang.InsertCellAfter,58);D.AddItem('TableDeleteCells',FCKLang.DeleteCells,59);if (FCKBrowserInfo.IsGecko) D.AddItem('TableMergeCells',FCKLang.MergeCells,60,FCKCommands.GetCommand('TableMergeCells').GetState()==-1);else{D.AddItem('TableMergeRight',FCKLang.MergeRight,60,FCKCommands.GetCommand('TableMergeRight').GetState()==-1);D.AddItem('TableMergeDown',FCKLang.MergeDown,60,FCKCommands.GetCommand('TableMergeDown').GetState()==-1);};D.AddItem('TableHorizontalSplitCell',FCKLang.HorizontalSplitCell,61,FCKCommands.GetCommand('TableHorizontalSplitCell').GetState()==-1);D.AddItem('TableVerticalSplitCell',FCKLang.VerticalSplitCell,61,FCKCommands.GetCommand('TableVerticalSplitCell').GetState()==-1);D.AddSeparator();D.AddItem('TableCellProp',FCKLang.CellProperties,57,FCKCommands.GetCommand('TableCellProp').GetState()==-1);menu.AddSeparator();D=menu.AddItem('Row',FCKLang.RowCM);D.AddItem('TableInsertRowBefore',FCKLang.InsertRowBefore,70);D.AddItem('TableInsertRowAfter',FCKLang.InsertRowAfter,62);D.AddItem('TableDeleteRows',FCKLang.DeleteRows,63);menu.AddSeparator();D=menu.AddItem('Column',FCKLang.ColumnCM);D.AddItem('TableInsertColumnBefore',FCKLang.InsertColumnBefore,71);D.AddItem('TableInsertColumnAfter',FCKLang.InsertColumnAfter,64);D.AddItem('TableDeleteColumns',FCKLang.DeleteColumns,65);};if (B||C){menu.AddSeparator();menu.AddItem('TableDelete',FCKLang.TableDelete);menu.AddItem('TableProp',FCKLang.TableProperties,39);}}};case 'Link':return {AddItems:function(menu,tag,tagName){var E=(tagName=='A'||FCKSelection.HasAncestorNode('A'));if (E||FCK.GetNamedCommandState('Unlink')!=-1){var F=FCKSelection.MoveToAncestorNode('A');var G=(F&&F.name.length>0&&F.href.length==0);if (G) return;menu.AddSeparator();menu.AddItem('VisitLink',FCKLang.VisitLink);menu.AddSeparator();if (E) menu.AddItem('Link',FCKLang.EditLink,34);menu.AddItem('Unlink',FCKLang.RemoveLink,35);}}};case 'Image':return {AddItems:function(menu,tag,tagName){if (tagName=='IMG'&&!tag.getAttribute('_fckfakelement')){menu.AddSeparator();menu.AddItem('Image',FCKLang.ImageProperties,37);}}};case 'Anchor':return {AddItems:function(menu,tag,tagName){var F=FCKSelection.MoveToAncestorNode('A');var G=(F&&F.name.length>0);if (G||(tagName=='IMG'&&tag.getAttribute('_fckanchor'))){menu.AddSeparator();menu.AddItem('Anchor',FCKLang.AnchorProp,36);menu.AddItem('AnchorDelete',FCKLang.AnchorDelete);}}};case 'Flash':return {AddItems:function(menu,tag,tagName){if (tagName=='IMG'&&tag.getAttribute('_fckflash')){menu.AddSeparator();menu.AddItem('Flash',FCKLang.FlashProperties,38);}}};case 'Form':return {AddItems:function(menu,tag,tagName){if (FCKSelection.HasAncestorNode('FORM')){menu.AddSeparator();menu.AddItem('Form',FCKLang.FormProp,48);}}};case 'Checkbox':return {AddItems:function(menu,tag,tagName){if (tagName=='INPUT'&&tag.type=='checkbox'){menu.AddSeparator();menu.AddItem('Checkbox',FCKLang.CheckboxProp,49);}}};case 'Radio':return {AddItems:function(menu,tag,tagName){if (tagName=='INPUT'&&tag.type=='radio'){menu.AddSeparator();menu.AddItem('Radio',FCKLang.RadioButtonProp,50);}}};case 'TextField':return {AddItems:function(menu,tag,tagName){if (tagName=='INPUT'&&(tag.type=='text'||tag.type=='password')){menu.AddSeparator();menu.AddItem('TextField',FCKLang.TextFieldProp,51);}}};case 'HiddenField':return {AddItems:function(menu,tag,tagName){if (tagName=='IMG'&&tag.getAttribute('_fckinputhidden')){menu.AddSeparator();menu.AddItem('HiddenField',FCKLang.HiddenFieldProp,56);}}};case 'ImageButton':return {AddItems:function(menu,tag,tagName){if (tagName=='INPUT'&&tag.type=='image'){menu.AddSeparator();menu.AddItem('ImageButton',FCKLang.ImageButtonProp,55);}}};case 'Button':return {AddItems:function(menu,tag,tagName){if (tagName=='INPUT'&&(tag.type=='button'||tag.type=='submit'||tag.type=='reset')){menu.AddSeparator();menu.AddItem('Button',FCKLang.ButtonProp,54);}}};case 'Select':return {AddItems:function(menu,tag,tagName){if (tagName=='SELECT'){menu.AddSeparator();menu.AddItem('Select',FCKLang.SelectionFieldProp,53);}}};case 'Textarea':return {AddItems:function(menu,tag,tagName){if (tagName=='TEXTAREA'){menu.AddSeparator();menu.AddItem('Textarea',FCKLang.TextareaProp,52);}}};case 'BulletedList':return {AddItems:function(menu,tag,tagName){if (FCKSelection.HasAncestorNode('UL')){menu.AddSeparator();menu.AddItem('BulletedList',FCKLang.BulletedListProp,27);}}};case 'NumberedList':return {AddItems:function(menu,tag,tagName){if (FCKSelection.HasAncestorNode('OL')){menu.AddSeparator();menu.AddItem('NumberedList',FCKLang.NumberedListProp,26);}}};case 'DivContainer':return {AddItems:function(menu,tag,tagName){var J=FCKDomTools.GetSelectedDivContainers();if (J.length>0){menu.AddSeparator();menu.AddItem('EditDiv',FCKLang.EditDiv,75);menu.AddItem('DeleteDiv',FCKLang.DeleteDiv,76);}}};};return null;};function FCK_ContextMenu_OnBeforeOpen(){FCK.Events.FireEvent('OnSelectionChange');var A,sTagName;if ((A=FCKSelection.GetSelectedElement())) sTagName=A.tagName;var B=FCK.ContextMenu._InnerContextMenu;B.RemoveAllItems();var C=FCK.ContextMenu.Listeners;for (var i=0;i<C.length;i++) C[i].AddItems(B,A,sTagName);};function FCK_ContextMenu_OnItemClick(A){if (!FCKBrowserInfo.IsIE) FCK.Focus();FCKCommands.GetCommand(A.Name).Execute(A.CustomData);};\r
-var FCKHtmlIterator=function(A){this._sourceHtml=A;};FCKHtmlIterator.prototype={Next:function(){var A=this._sourceHtml;if (A==null) return null;var B=FCKRegexLib.HtmlTag.exec(A);var C=false;var D="";if (B){if (B.index>0){D=A.substr(0,B.index);this._sourceHtml=A.substr(B.index);}else{C=true;D=B[0];this._sourceHtml=A.substr(B[0].length);}}else{D=A;this._sourceHtml=null;};return { 'isTag':C,'value':D };},Each:function(A){var B;while ((B=this.Next())) A(B.isTag,B.value);}};var FCKHtmlIterator=function(A){this._sourceHtml=A;};FCKHtmlIterator.prototype={Next:function(){var A=this._sourceHtml;if (A==null) return null;var B=FCKRegexLib.HtmlTag.exec(A);var C=false;var D="";if (B){if (B.index>0){D=A.substr(0,B.index);this._sourceHtml=A.substr(B.index);}else{C=true;D=B[0];this._sourceHtml=A.substr(B[0].length);}}else{D=A;this._sourceHtml=null;};return { 'isTag':C,'value':D };},Each:function(A){var B;while ((B=this.Next())) A(B.isTag,B.value);}};\r
-var FCKPlugin=function(A,B,C){this.Name=A;this.BasePath=C?C:FCKConfig.PluginsPath;this.Path=this.BasePath+A+'/';if (!B||B.length==0) this.AvailableLangs=[];else this.AvailableLangs=B.split(',');};FCKPlugin.prototype.Load=function(){if (this.AvailableLangs.length>0){var A;if (this.AvailableLangs.IndexOf(FCKLanguageManager.ActiveLanguage.Code)>=0) A=FCKLanguageManager.ActiveLanguage.Code;else A=this.AvailableLangs[0];LoadScript(this.Path+'lang/'+A+'.js');};LoadScript(this.Path+'fckplugin.js');};\r
-var FCKPlugins=FCK.Plugins={};FCKPlugins.ItemsCount=0;FCKPlugins.Items={};FCKPlugins.Load=function(){var A=FCKPlugins.Items;for (var i=0;i<FCKConfig.Plugins.Items.length;i++){var B=FCKConfig.Plugins.Items[i];var C=A[B[0]]=new FCKPlugin(B[0],B[1],B[2]);FCKPlugins.ItemsCount++;};for (var s in A) A[s].Load();FCKPlugins.Load=null;};\r
+var FCKElementPath=function(A){var B=null;var C=null;var D=[];var e=A;while (e){if (e.nodeType==1){if (!this.LastElement) this.LastElement=e;var E=e.nodeName.toLowerCase();if (!C){if (!B&&FCKListsLib.PathBlockElements[E]!=null) B=e;if (FCKListsLib.PathBlockLimitElements[E]!=null) C=e;};D.push(e);if (E=='body') break;};e=e.parentNode;};this.Block=B;this.BlockLimit=C;this.Elements=D;};\r
+var FCKDomRange=function(A){this.Window=A;};FCKDomRange.prototype={_UpdateElementInfo:function(){if (!this._Range) this.Release(true);else{var A=this._Range.startContainer;var B=this._Range.endContainer;var C=new FCKElementPath(A);this.StartContainer=C.LastElement;this.StartBlock=C.Block;this.StartBlockLimit=C.BlockLimit;if (A!=B) C=new FCKElementPath(B);this.EndContainer=C.LastElement;this.EndBlock=C.Block;this.EndBlockLimit=C.BlockLimit;}},CreateRange:function(){return new FCKW3CRange(this.Window.document);},DeleteContents:function(){if (this._Range){this._Range.deleteContents();this._UpdateElementInfo();}},ExtractContents:function(){if (this._Range){var A=this._Range.extractContents();this._UpdateElementInfo();return A;}},CheckIsCollapsed:function(){if (this._Range) return this._Range.collapsed;},Collapse:function(A){if (this._Range) this._Range.collapse(A);this._UpdateElementInfo();},Clone:function(){var A=FCKTools.CloneObject(this);if (this._Range) A._Range=this._Range.cloneRange();return A;},MoveToNodeContents:function(A){if (!this._Range) this._Range=this.CreateRange();this._Range.selectNodeContents(A);this._UpdateElementInfo();},MoveToElementStart:function(A){this.SetStart(A,1);this.SetEnd(A,1);},MoveToElementEditStart:function(A){var B;while ((B=A.firstChild)&&B.nodeType==1&&FCKListsLib.EmptyElements[B.nodeName.toLowerCase()]==null) A=B;this.MoveToElementStart(A);},InsertNode:function(A){if (this._Range) this._Range.insertNode(A);},CheckIsEmpty:function(A){if (this.CheckIsCollapsed()) return true;var B=this.Window.document.createElement('div');this._Range.cloneContents().AppendTo(B);FCKDomTools.TrimNode(B,A);return (B.innerHTML.length==0);},CheckStartOfBlock:function(){var A=this.Clone();A.Collapse(true);A.SetStart(A.StartBlock||A.StartBlockLimit,1);var B=A.CheckIsEmpty();A.Release();return B;},CheckEndOfBlock:function(A){var B=this.Clone();B.Collapse(false);B.SetEnd(B.EndBlock||B.EndBlockLimit,2);var C=B.CheckIsCollapsed();if (!C){var D=this.Window.document.createElement('div');B._Range.cloneContents().AppendTo(D);FCKDomTools.TrimNode(D,true);C=true;var E=D;while ((E=E.lastChild)){if (E.previousSibling||E.nodeType!=1||FCKListsLib.InlineChildReqElements[E.nodeName.toLowerCase()]==null){C=false;break;}}};B.Release();if (A) this.Select();return C;},CreateBookmark:function(){var A={StartId:'fck_dom_range_start_'+(new Date()).valueOf()+'_'+Math.floor(Math.random()*1000),EndId:'fck_dom_range_end_'+(new Date()).valueOf()+'_'+Math.floor(Math.random()*1000)};var B=this.Window.document;var C;var D;if (!this.CheckIsCollapsed()){C=B.createElement('span');C.id=A.EndId;C.innerHTML='&nbsp;';D=this.Clone();D.Collapse(false);D.InsertNode(C);};C=B.createElement('span');C.id=A.StartId;C.innerHTML='&nbsp;';D=this.Clone();D.Collapse(true);D.InsertNode(C);return A;},MoveToBookmark:function(A,B){var C=this.Window.document;var D=C.getElementById(A.StartId);var E=C.getElementById(A.EndId);this.SetStart(D,3);if (!B) FCKDomTools.RemoveNode(D);if (E){this.SetEnd(E,3);if (!B) FCKDomTools.RemoveNode(E);}else this.Collapse(true);},SetStart:function(A,B){var C=this._Range;if (!C) C=this._Range=this.CreateRange();switch(B){case 1:C.setStart(A,0);break;case 2:C.setStart(A,A.childNodes.length);break;case 3:C.setStartBefore(A);break;case 4:C.setStartAfter(A);};this._UpdateElementInfo();},SetEnd:function(A,B){var C=this._Range;if (!C) C=this._Range=this.CreateRange();switch(B){case 1:C.setEnd(A,0);break;case 2:C.setEnd(A,A.childNodes.length);break;case 3:C.setEndBefore(A);break;case 4:C.setEndAfter(A);};this._UpdateElementInfo();},Expand:function(A){var B,oSibling;switch (A){case 'block_contents':if (this.StartBlock) this.SetStart(this.StartBlock,1);else{B=this._Range.startContainer;if (B.nodeType==1){if (!(B=B.childNodes[this._Range.startOffset])) B=B.firstChild;};if (!B) return;while (true){oSibling=B.previousSibling;if (!oSibling){if (B.parentNode!=this.StartBlockLimit) B=B.parentNode;else break;}else if (oSibling.nodeType!=1||!(/^(?:P|DIV|H1|H2|H3|H4|H5|H6|ADDRESS|PRE|OL|UL|LI|DT|DE)$/).test(oSibling.nodeName.toUpperCase())){B=oSibling;}else break;};this._Range.setStartBefore(B);};if (this.EndBlock) this.SetEnd(this.EndBlock,2);else{B=this._Range.endContainer;if (B.nodeType==1) B=B.childNodes[this._Range.endOffset]||B.lastChild;if (!B) return;while (true){oSibling=B.nextSibling;if (!oSibling){if (B.parentNode!=this.EndBlockLimit) B=B.parentNode;else break;}else if (oSibling.nodeType!=1||!(/^(?:P|DIV|H1|H2|H3|H4|H5|H6|ADDRESS|PRE|OL|UL|LI|DT|DE)$/).test(oSibling.nodeName.toUpperCase())){B=oSibling;}else break;};this._Range.setEndAfter(B);};this._UpdateElementInfo();}},Release:function(A){if (!A) this.Window=null;this.StartContainer=null;this.StartBlock=null;this.StartBlockLimit=null;this.EndContainer=null;this.EndBlock=null;this.EndBlockLimit=null;this._Range=null;}};\r
+FCKDomRange.prototype.MoveToSelection=function(){this.Release(true);var A=this.Window.getSelection();if (A.rangeCount==1){this._Range=FCKW3CRange.CreateFromRange(this.Window.document,A.getRangeAt(0));this._UpdateElementInfo();}};FCKDomRange.prototype.Select=function(){var A=this._Range;if (A){var B=this.Window.document.createRange();B.setStart(A.startContainer,A.startOffset);try{B.setEnd(A.endContainer,A.endOffset);}catch (e){if (e.toString().Contains('NS_ERROR_ILLEGAL_VALUE')){A.collapse(true);B.setEnd(A.endContainer,A.endOffset);}else throw(e);};var C=this.Window.getSelection();C.removeAllRanges();C.addRange(B);}};\r
+var FCKDocumentFragment=function(A,B){this.RootNode=B||A.createDocumentFragment();};FCKDocumentFragment.prototype={AppendTo:function(A){A.appendChild(this.RootNode);},InsertAfterNode:function(A){FCKDomTools.InsertAfterNode(A,this.RootNode);}}\r
+var FCKW3CRange=function(A){this._Document=A;this.startContainer=null;this.startOffset=null;this.endContainer=null;this.endOffset=null;this.collapsed=true;};FCKW3CRange.CreateRange=function(A){return new FCKW3CRange(A);};FCKW3CRange.CreateFromRange=function(A,B){var C=FCKW3CRange.CreateRange(A);C.setStart(B.startContainer,B.startOffset);C.setEnd(B.endContainer,B.endOffset);return C;};FCKW3CRange.prototype={_UpdateCollapsed:function(){this.collapsed=(this.startContainer==this.endContainer&&this.startOffset==this.endOffset);},setStart:function(A,B){this.startContainer=A;this.startOffset=B;if (!this.endContainer){this.endContainer=A;this.endOffset=B;};this._UpdateCollapsed();},setEnd:function(A,B){this.endContainer=A;this.endOffset=B;if (!this.startContainer){this.startContainer=A;this.startOffset=B;};this._UpdateCollapsed();},setStartAfter:function(A){this.setStart(A.parentNode,FCKDomTools.GetIndexOf(A)+1);},setStartBefore:function(A){this.setStart(A.parentNode,FCKDomTools.GetIndexOf(A));},setEndAfter:function(A){this.setEnd(A.parentNode,FCKDomTools.GetIndexOf(A)+1);},setEndBefore:function(A){this.setEnd(A.parentNode,FCKDomTools.GetIndexOf(A));},collapse:function(A){if (A){this.endContainer=this.startContainer;this.endOffset=this.startOffset;}else{this.startContainer=this.endContainer;this.startOffset=this.endOffset;};this.collapsed=true;},selectNodeContents:function(A){this.setStart(A,0);this.setEnd(A,A.nodeType==3?A.data.length:A.childNodes.length);},insertNode:function(A){var B=this.startContainer;var C=this.startOffset;if (B.nodeType==3){B.splitText(C);if (B==this.endContainer) this.setEnd(B.nextSibling,this.endOffset-this.startOffset);FCKDomTools.InsertAfterNode(B,A);return;}else{B.insertBefore(A,B.childNodes[C]||null);if (B==this.endContainer){this.endOffset++;this.collapsed=false;}}},deleteContents:function(){if (this.collapsed) return;this._ExecContentsAction(0);},extractContents:function(){var A=new FCKDocumentFragment(this._Document);if (!this.collapsed) this._ExecContentsAction(1,A);return A;},cloneContents:function(){var A=new FCKDocumentFragment(this._Document);if (!this.collapsed) this._ExecContentsAction(2,A);return A;},_ExecContentsAction:function(A,B){var C=this.startContainer;var D=this.endContainer;var E=this.startOffset;var F=this.endOffset;var G=false;var H=false;if (D.nodeType==3) D=D.splitText(F);else{if (D.childNodes.length>0){if (F>D.childNodes.length-1){D=FCKDomTools.InsertAfterNode(D.lastChild,this._Document.createTextNode(''));H=true;}else D=D.childNodes[F];}};if (C.nodeType==3){C.splitText(E);if (C==D) D=C.nextSibling;}else{if (C.childNodes.length>0&&E<=C.childNodes.length-1){if (E==0){C=C.insertBefore(this._Document.createTextNode(''),C.firstChild);G=true;}else C=C.childNodes[E].previousSibling;}};var I=FCKDomTools.GetParents(C);var J=FCKDomTools.GetParents(D);var i,topStart,topEnd;for (i=0;i<I.length;i++){topStart=I[i];topEnd=J[i];if (topStart!=topEnd) break;};var K,levelStartNode,levelClone,currentNode,currentSibling;if (B) K=B.RootNode;for (var j=i;j<I.length;j++){levelStartNode=I[j];if (K&&levelStartNode!=C) levelClone=K.appendChild(levelStartNode.cloneNode(levelStartNode==C));currentNode=levelStartNode.nextSibling;while(currentNode){if (currentNode==J[j]||currentNode==D) break;currentSibling=currentNode.nextSibling;if (A==2) K.appendChild(currentNode.cloneNode(true));else{currentNode.parentNode.removeChild(currentNode);if (A==1) K.appendChild(currentNode);};currentNode=currentSibling;};if (K) K=levelClone;};if (B) K=B.RootNode;for (var k=i;k<J.length;k++){levelStartNode=J[k];if (A>0&&levelStartNode!=D) levelClone=K.appendChild(levelStartNode.cloneNode(levelStartNode==D));if (!I[k]||levelStartNode.parentNode!=I[k].parentNode){currentNode=levelStartNode.previousSibling;while(currentNode){if (currentNode==I[k]||currentNode==C) break;currentSibling=currentNode.previousSibling;if (A==2) K.insertBefore(currentNode.cloneNode(true),K.firstChild);else{currentNode.parentNode.removeChild(currentNode);if (A==1) K.insertBefore(currentNode,K.firstChild);};currentNode=currentSibling;}};if (K) K=levelClone;};if (A==2){var L=this.startContainer;if (L.nodeType==3){L.data+=L.nextSibling.data;L.parentNode.removeChild(L.nextSibling);};var M=this.endContainer;if (M.nodeType==3&&M.nextSibling){M.data+=M.nextSibling.data;M.parentNode.removeChild(M.nextSibling);}}else{if (topStart&&topEnd&&(C.parentNode!=topStart.parentNode||D.parentNode!=topEnd.parentNode)) this.setStart(topEnd.parentNode,FCKDomTools.GetIndexOf(topEnd));this.collapse(true);};if(G) C.parentNode.removeChild(C);if(H&&D.parentNode) D.parentNode.removeChild(D);},cloneRange:function(){return FCKW3CRange.CreateFromRange(this._Document,this);},toString:function(){var A=this.cloneContents();var B=this._Document.createElement('div');A.AppendTo(B);return B.textContent||B.innerText;}};\r
+var FCKEnterKey=function(A,B,C){this.Window=A;this.EnterMode=B||'p';this.ShiftEnterMode=C||'br';var D=new FCKKeystrokeHandler(false);D._EnterKey=this;D.OnKeystroke=FCKEnterKey_OnKeystroke;D.SetKeystrokes([[13,'Enter'],[SHIFT+13,'ShiftEnter'],[8,'Backspace'],[46,'Delete']]);D.AttachToElement(A.document);};function FCKEnterKey_OnKeystroke(A,B){var C=this._EnterKey;try{switch (B){case 'Enter':return C.DoEnter();break;case 'ShiftEnter':return C.DoShiftEnter();break;case 'Backspace':return C.DoBackspace();break;case 'Delete':return C.DoDelete();}}catch (e){};return false;};FCKEnterKey.prototype.DoEnter=function(A,B){this._HasShift=(B===true);var C=A||this.EnterMode;if (C=='br') return this._ExecuteEnterBr();else return this._ExecuteEnterBlock(C);};FCKEnterKey.prototype.DoShiftEnter=function(){return this.DoEnter(this.ShiftEnterMode,true);};FCKEnterKey.prototype.DoBackspace=function(){var A=false;var B=new FCKDomRange(this.Window);B.MoveToSelection();if (!B.CheckIsCollapsed()) return false;var C=B.StartBlock;var D=B.EndBlock;if (B.StartBlockLimit==B.EndBlockLimit&&C&&D){if (!B.CheckIsCollapsed()){var E=B.CheckEndOfBlock();B.DeleteContents();if (C!=D){B.SetStart(D,1);B.SetEnd(D,1);};B.Select();A=(C==D);};if (B.CheckStartOfBlock()){var F=B.StartBlock;var G=FCKDomTools.GetPreviousSourceElement(F,true,['BODY',B.StartBlockLimit.nodeName],['UL','OL']);A=this._ExecuteBackspace(B,G,F);}else if (FCKBrowserInfo.IsGecko){B.Select();}};B.Release();return A;};FCKEnterKey.prototype._ExecuteBackspace=function(A,B,C){var D=false;if (!B&&C&&C.nodeName.IEquals('LI')&&C.parentNode.parentNode.nodeName.IEquals('LI')){this._OutdentWithSelection(C,A);return true;};if (B&&B.nodeName.IEquals('LI')){var E=FCKDomTools.GetLastChild(B,['UL','OL']);while (E){B=FCKDomTools.GetLastChild(E,'LI');E=FCKDomTools.GetLastChild(B,['UL','OL']);}};if (B&&C){if (C.nodeName.IEquals('LI')&&!B.nodeName.IEquals('LI')){this._OutdentWithSelection(C,A);return true;};var F=C.parentNode;var G=B.nodeName.toLowerCase();if (FCKListsLib.EmptyElements[G]!=null||G=='table'){FCKDomTools.RemoveNode(B);D=true;}else{FCKDomTools.RemoveNode(C);while (F.innerHTML.Trim().length==0){var H=F.parentNode;H.removeChild(F);F=H;};FCKDomTools.TrimNode(C);FCKDomTools.TrimNode(B);A.SetStart(B,2);A.Collapse(true);var I=A.CreateBookmark();FCKDomTools.MoveChildren(C,B);A.MoveToBookmark(I);A.Select();D=true;}};return D;};FCKEnterKey.prototype.DoDelete=function(){var A=false;var B=new FCKDomRange(this.Window);B.MoveToSelection();if (B.CheckIsCollapsed()&&B.CheckEndOfBlock(FCKBrowserInfo.IsGeckoLike)){var C=B.StartBlock;var D=FCKDomTools.GetNextSourceElement(C,true,[B.StartBlockLimit.nodeName],['UL','OL']);A=this._ExecuteBackspace(B,C,D);};B.Release();return A;};FCKEnterKey.prototype._ExecuteEnterBlock=function(A,B){var C=B||new FCKDomRange(this.Window);if (!B) C.MoveToSelection();if (C.StartBlockLimit==C.EndBlockLimit){if (!C.StartBlock) this._FixBlock(C,true,A);if (!C.EndBlock) this._FixBlock(C,false,A);var D=C.StartBlock;var E=C.EndBlock;if (!C.CheckIsEmpty()) C.DeleteContents();if (D==E){var F;var G=C.CheckStartOfBlock();var H=C.CheckEndOfBlock();if (G&&!H){F=D.cloneNode(false);if (FCKBrowserInfo.IsGeckoLike) F.innerHTML=GECKO_BOGUS;D.parentNode.insertBefore(F,D);if (FCKBrowserInfo.IsIE){C.MoveToNodeContents(F);C.Select();};C.MoveToElementEditStart(D);}else{if (H){var I=D.tagName.toUpperCase();if (G&&I=='LI'){this._OutdentWithSelection(D,C);C.Release();return true;}else{if ((/^H[1-6]$/).test(I)||this._HasShift) F=this.Window.document.createElement(A);else{F=D.cloneNode(false);this._RecreateEndingTree(D,F);};if (FCKBrowserInfo.IsGeckoLike){F.innerHTML=GECKO_BOGUS;if (G) D.innerHTML=GECKO_BOGUS;}}}else{C.SetEnd(D,2);var J=C.ExtractContents();F=D.cloneNode(false);FCKDomTools.TrimNode(J.RootNode);if (J.RootNode.firstChild.nodeType==1&&J.RootNode.firstChild.tagName.toUpperCase().Equals('UL','OL')) F.innerHTML=GECKO_BOGUS;J.AppendTo(F);if (FCKBrowserInfo.IsGecko){this._AppendBogusBr(D);this._AppendBogusBr(F);}};if (F){FCKDomTools.InsertAfterNode(D,F);C.MoveToElementEditStart(F);if (FCKBrowserInfo.IsGeckoLike) F.scrollIntoView(false);}}}else{C.MoveToElementEditStart(E);};C.Select();};C.Release();return true;};FCKEnterKey.prototype._ExecuteEnterBr=function(A){var B=new FCKDomRange(this.Window);B.MoveToSelection();if (B.StartBlockLimit==B.EndBlockLimit){B.DeleteContents();B.MoveToSelection();var C=B.CheckStartOfBlock();var D=B.CheckEndOfBlock();var E=B.StartBlock?B.StartBlock.tagName.toUpperCase():'';var F=this._HasShift;if (!F&&E=='LI') return this._ExecuteEnterBlock(null,B);if (!F&&D&&(/^H[1-6]$/).test(E)){FCKDebug.Output('BR - Header');FCKDomTools.InsertAfterNode(B.StartBlock,this.Window.document.createElement('br'));if (FCKBrowserInfo.IsGecko) FCKDomTools.InsertAfterNode(B.StartBlock,this.Window.document.createTextNode(''));B.SetStart(B.StartBlock.nextSibling,FCKBrowserInfo.IsIE?3:1);}else{FCKDebug.Output('BR - No Header');var G=this.Window.document.createElement('br');B.InsertNode(G);if (FCKBrowserInfo.IsGecko) FCKDomTools.InsertAfterNode(G,this.Window.document.createTextNode(''));if (D&&FCKBrowserInfo.IsGeckoLike) this._AppendBogusBr(G.parentNode);if (FCKBrowserInfo.IsIE) B.SetStart(G,4);else B.SetStart(G.nextSibling,1);};B.Collapse(true);B.Select();};B.Release();return true;};FCKEnterKey.prototype._FixBlock=function(A,B,C){var D=A.CreateBookmark();A.Collapse(B);A.Expand('block_contents');var E=this.Window.document.createElement(C);A.ExtractContents().AppendTo(E);FCKDomTools.TrimNode(E);A.InsertNode(E);A.MoveToBookmark(D);};FCKEnterKey.prototype._AppendBogusBr=function(A){if (!A) return;var B=FCKTools.GetLastItem(A.getElementsByTagName('br'));if (!B||B.getAttribute('type',2)!='_moz') A.appendChild(FCKTools.CreateBogusBR(this.Window.document));};FCKEnterKey.prototype._RecreateEndingTree=function(A,B){while ((A=A.lastChild)&&A.nodeType==1&&FCKListsLib.InlineChildReqElements[A.nodeName.toLowerCase()]!=null) B=B.insertBefore(A.cloneNode(false),B.firstChild);};FCKEnterKey.prototype._OutdentWithSelection=function(A,B){var C=B.CreateBookmark();FCKListHandler.OutdentListItem(A);B.MoveToBookmark(C);B.Select();}\r
+var FCKDocumentProcessor={};FCKDocumentProcessor._Items=[];FCKDocumentProcessor.AppendNew=function(){var A={};this._Items.AddItem(A);return A;};FCKDocumentProcessor.Process=function(A){var B,i=0;while((B=this._Items[i++])) B.ProcessDocument(A);};var FCKDocumentProcessor_CreateFakeImage=function(A,B){var C=FCK.EditorDocument.createElement('IMG');C.className=A;C.src=FCKConfig.FullBasePath+'images/spacer.gif';C.setAttribute('_fckfakelement','true',0);C.setAttribute('_fckrealelement',FCKTempBin.AddElement(B),0);return C;};if (FCKBrowserInfo.IsIE||FCKBrowserInfo.IsOpera){var FCKAnchorsProcessor=FCKDocumentProcessor.AppendNew();FCKAnchorsProcessor.ProcessDocument=function(A){var B=A.getElementsByTagName('A');var C;var i=B.length-1;while (i>=0&&(C=B[i--])){if (C.name.length>0){if (C.innerHTML!==''){if (FCKBrowserInfo.IsIE) C.className+=' FCK__AnchorC';}else{var D=FCKDocumentProcessor_CreateFakeImage('FCK__Anchor',C.cloneNode(true));D.setAttribute('_fckanchor','true',0);C.parentNode.insertBefore(D,C);C.parentNode.removeChild(C);}}}}};var FCKPageBreaksProcessor=FCKDocumentProcessor.AppendNew();FCKPageBreaksProcessor.ProcessDocument=function(A){var B=A.getElementsByTagName('DIV');var C;var i=B.length-1;while (i>=0&&(C=B[i--])){if (C.style.pageBreakAfter=='always'&&C.childNodes.length==1&&C.childNodes[0].style&&C.childNodes[0].style.display=='none'){var D=FCKDocumentProcessor_CreateFakeImage('FCK__PageBreak',C.cloneNode(true));C.parentNode.insertBefore(D,C);C.parentNode.removeChild(C);}}};var FCKFlashProcessor=FCKDocumentProcessor.AppendNew();FCKFlashProcessor.ProcessDocument=function(A){var B=A.getElementsByTagName('EMBED');var C;var i=B.length-1;while (i>=0&&(C=B[i--])){var D=C.attributes['type'];if ((C.src&&C.src.EndsWith('.swf',true))||(D&&D.nodeValue=='application/x-shockwave-flash')){var E=C.cloneNode(true);if (FCKBrowserInfo.IsIE){var F=['scale','play','loop','menu','wmode','quality'];for (var G=0;G<F.length;G++){var H=C.getAttribute(F[G]);if (H) E.setAttribute(F[G],H);};E.setAttribute('type',D.nodeValue);};var I=FCKDocumentProcessor_CreateFakeImage('FCK__Flash',E);I.setAttribute('_fckflash','true',0);FCKFlashProcessor.RefreshView(I,C);C.parentNode.insertBefore(I,C);C.parentNode.removeChild(C);}}};FCKFlashProcessor.RefreshView=function(A,B){if (B.getAttribute('width')>0) A.style.width=FCKTools.ConvertHtmlSizeToStyle(B.getAttribute('width'));if (B.getAttribute('height')>0) A.style.height=FCKTools.ConvertHtmlSizeToStyle(B.getAttribute('height'));};FCK.GetRealElement=function(A){var e=FCKTempBin.Elements[A.getAttribute('_fckrealelement')];if (A.getAttribute('_fckflash')){if (A.style.width.length>0) e.width=FCKTools.ConvertStyleSizeToHtml(A.style.width);if (A.style.height.length>0) e.height=FCKTools.ConvertStyleSizeToHtml(A.style.height);};return e;};if (FCKBrowserInfo.IsIE){FCKDocumentProcessor.AppendNew().ProcessDocument=function(A){var B=A.getElementsByTagName('HR');var C;var i=B.length-1;while (i>=0&&(C=B[i--])){var D=A.createElement('hr');D.mergeAttributes(C,true);FCKDomTools.InsertAfterNode(C,D);C.parentNode.removeChild(C);}}};FCKDocumentProcessor.AppendNew().ProcessDocument=function(A){var B=A.getElementsByTagName('INPUT');var C;var i=B.length-1;while (i>=0&&(C=B[i--])){if (C.type=='hidden'){var D=FCKDocumentProcessor_CreateFakeImage('FCK__InputHidden',C.cloneNode(true));D.setAttribute('_fckinputhidden','true',0);C.parentNode.insertBefore(D,C);C.parentNode.removeChild(C);}}}\r
+var FCKSelection=FCK.Selection={};\r
+FCKSelection.GetType=function(){this._Type='Text';var A;try { A=FCK.EditorWindow.getSelection();}catch (e) {};if (A&&A.rangeCount==1){var B=A.getRangeAt(0);if (B.startContainer==B.endContainer&&(B.endOffset-B.startOffset)==1&&B.startContainer.nodeType!=Node.TEXT_NODE) this._Type='Control';};return this._Type;};FCKSelection.GetSelectedElement=function(){if (this.GetType()=='Control'){var A=FCK.EditorWindow.getSelection();return A.anchorNode.childNodes[A.anchorOffset];};return null;};FCKSelection.GetParentElement=function(){if (this.GetType()=='Control') return FCKSelection.GetSelectedElement().parentNode;else{var A=FCK.EditorWindow.getSelection();if (A){var B=A.anchorNode;while (B&&B.nodeType!=1) B=B.parentNode;return B;}};return null;};FCKSelection.SelectNode=function(A){var B=FCK.EditorDocument.createRange();B.selectNode(A);var C=FCK.EditorWindow.getSelection();C.removeAllRanges();C.addRange(B);};FCKSelection.Collapse=function(A){var B=FCK.EditorWindow.getSelection();if (A==null||A===true) B.collapseToStart();else B.collapseToEnd();};FCKSelection.HasAncestorNode=function(A){var B=this.GetSelectedElement();if (!B&&FCK.EditorWindow){try              { B=FCK.EditorWindow.getSelection().getRangeAt(0).startContainer;}catch(e){}};while (B){if (B.nodeType==1&&B.tagName==A) return true;B=B.parentNode;};return false;};FCKSelection.MoveToAncestorNode=function(A){var B;var C=this.GetSelectedElement();if (!C) C=FCK.EditorWindow.getSelection().getRangeAt(0).startContainer;while (C){if (C.nodeName==A) return C;C=C.parentNode;};return null;};FCKSelection.Delete=function(){var A=FCK.EditorWindow.getSelection();for (var i=0;i<A.rangeCount;i++){A.getRangeAt(i).deleteContents();};return A;};\r
+var FCKTableHandler={};FCKTableHandler.InsertRow=function(){var A=FCKSelection.MoveToAncestorNode('TR');if (!A) return;var B=A.cloneNode(true);A.parentNode.insertBefore(B,A);FCKTableHandler.ClearRow(A);};FCKTableHandler.DeleteRows=function(A){if (!A) A=FCKSelection.MoveToAncestorNode('TR');if (!A) return;var B=FCKTools.GetElementAscensor(A,'TABLE');if (B.rows.length==1){FCKTableHandler.DeleteTable(B);return;};A.parentNode.removeChild(A);};FCKTableHandler.DeleteTable=function(A){if (!A){A=FCKSelection.GetSelectedElement();if (!A||A.tagName!='TABLE') A=FCKSelection.MoveToAncestorNode('TABLE');};if (!A) return;FCKSelection.SelectNode(A);FCKSelection.Collapse();A.parentNode.removeChild(A);};FCKTableHandler.InsertColumn=function(){var A=FCKSelection.MoveToAncestorNode('TD')||FCKSelection.MoveToAncestorNode('TH');if (!A) return;var B=FCKTools.GetElementAscensor(A,'TABLE');var C=A.cellIndex+1;for (var i=0;i<B.rows.length;i++){var D=B.rows[i];if (D.cells.length<C) continue;A=D.cells[C-1].cloneNode(false);if (FCKBrowserInfo.IsGecko) A.innerHTML=GECKO_BOGUS;var E=D.cells[C];if (E) D.insertBefore(A,E);else D.appendChild(A);}};FCKTableHandler.DeleteColumns=function(){var A=FCKSelection.MoveToAncestorNode('TD')||FCKSelection.MoveToAncestorNode('TH');if (!A) return;var B=FCKTools.GetElementAscensor(A,'TABLE');var C=A.cellIndex;for (var i=B.rows.length-1;i>=0;i--){var D=B.rows[i];if (C==0&&D.cells.length==1){FCKTableHandler.DeleteRows(D);continue;};if (D.cells[C]) D.removeChild(D.cells[C]);}};FCKTableHandler.InsertCell=function(A){var B=A?A:FCKSelection.MoveToAncestorNode('TD');if (!B) return null;var C=FCK.EditorDocument.createElement('TD');if (FCKBrowserInfo.IsGecko) C.innerHTML=GECKO_BOGUS;if (B.cellIndex==B.parentNode.cells.length-1){B.parentNode.appendChild(C);}else{B.parentNode.insertBefore(C,B.nextSibling);};return C;};FCKTableHandler.DeleteCell=function(A){if (A.parentNode.cells.length==1){FCKTableHandler.DeleteRows(FCKTools.GetElementAscensor(A,'TR'));return;};A.parentNode.removeChild(A);};FCKTableHandler.DeleteCells=function(){var A=FCKTableHandler.GetSelectedCells();for (var i=A.length-1;i>=0;i--){FCKTableHandler.DeleteCell(A[i]);}};FCKTableHandler.MergeCells=function(){var A=FCKTableHandler.GetSelectedCells();if (A.length<2) return;if (A[0].parentNode!=A[A.length-1].parentNode) return;var B=isNaN(A[0].colSpan)?1:A[0].colSpan;var C='';var D=FCK.EditorDocument.createDocumentFragment();for (var i=A.length-1;i>=0;i--){var E=A[i];for (var c=E.childNodes.length-1;c>=0;c--){var F=E.removeChild(E.childNodes[c]);if ((F.hasAttribute&&F.hasAttribute('_moz_editor_bogus_node'))||(F.getAttribute&&F.getAttribute('type',2)=='_moz')) continue;D.insertBefore(F,D.firstChild);};if (i>0){B+=isNaN(E.colSpan)?1:E.colSpan;FCKTableHandler.DeleteCell(E);}};A[0].colSpan=B;if (FCKBrowserInfo.IsGecko&&D.childNodes.length==0) A[0].innerHTML=GECKO_BOGUS;else A[0].appendChild(D);};FCKTableHandler.SplitCell=function(){var A=FCKTableHandler.GetSelectedCells();if (A.length!=1) return;var B=this._CreateTableMap(A[0].parentNode.parentNode);var C=FCKTableHandler._GetCellIndexSpan(B,A[0].parentNode.rowIndex,A[0]);var D=this._GetCollumnCells(B,C);for (var i=0;i<D.length;i++){if (D[i]==A[0]){var E=this.InsertCell(A[0]);if (!isNaN(A[0].rowSpan)&&A[0].rowSpan>1) E.rowSpan=A[0].rowSpan;}else{if (isNaN(D[i].colSpan)) D[i].colSpan=2;else D[i].colSpan+=1;}}};FCKTableHandler._GetCellIndexSpan=function(A,B,C){if (A.length<B+1) return null;var D=A[B];for (var c=0;c<D.length;c++){if (D[c]==C) return c;};return null;};FCKTableHandler._GetCollumnCells=function(A,B){var C=[];for (var r=0;r<A.length;r++){var D=A[r][B];if (D&&(C.length==0||C[C.length-1]!=D)) C[C.length]=D;};return C;};FCKTableHandler._CreateTableMap=function(A){var B=A.rows;var r=-1;var C=[];for (var i=0;i<B.length;i++){r++;if (!C[r]) C[r]=[];var c=-1;for (var j=0;j<B[i].cells.length;j++){var D=B[i].cells[j];c++;while (C[r][c]) c++;var E=isNaN(D.colSpan)?1:D.colSpan;var F=isNaN(D.rowSpan)?1:D.rowSpan;for (var G=0;G<F;G++){if (!C[r+G]) C[r+G]=[];for (var H=0;H<E;H++){C[r+G][c+H]=B[i].cells[j];}};c+=E-1;}};return C;};FCKTableHandler.ClearRow=function(A){var B=A.cells;for (var i=0;i<B.length;i++){if (FCKBrowserInfo.IsGecko) B[i].innerHTML=GECKO_BOGUS;else B[i].innerHTML='';}};\r
+FCKTableHandler.GetSelectedCells=function(){var A=[];var B=FCK.EditorWindow.getSelection();if (B.rangeCount==1&&B.anchorNode.nodeType==3){var C=FCKTools.GetElementAscensor(B.anchorNode,'TD,TH');if (C){A[0]=C;return A;}};for (var i=0;i<B.rangeCount;i++){var D=B.getRangeAt(i);var E;if (D.startContainer.tagName.Equals('TD','TH')) E=D.startContainer;else E=D.startContainer.childNodes[D.startOffset];if (E.tagName.Equals('TD','TH')) A[A.length]=E;};return A;};\r
+var FCKXml=function(){};FCKXml.prototype.LoadUrl=function(A){this.Error=false;var B=this;var C=FCKTools.CreateXmlObject('XmlHttp');C.open("GET",A,false);C.send(null);if (C.status==200||C.status==304) this.DOMDocument=C.responseXML;else if (C.status==0&&C.readyState==4) this.DOMDocument=C.responseXML;else this.DOMDocument=null;if (this.DOMDocument==null||this.DOMDocument.firstChild==null){this.Error=true;if (window.confirm('Error loading "'+A+'"\r\nDo you want to see more info?')) alert('URL requested: "'+A+'"\r\nServer response:\r\nStatus: '+C.status+'\r\nResponse text:\r\n'+C.responseText);}};FCKXml.prototype.SelectNodes=function(A,B){if (this.Error) return [];var C=[];var D=this.DOMDocument.evaluate(A,B?B:this.DOMDocument,this.DOMDocument.createNSResolver(this.DOMDocument.documentElement),XPathResult.ORDERED_NODE_ITERATOR_TYPE,null);if (D){var E=D.iterateNext();while(E){C[C.length]=E;E=D.iterateNext();}};return C;};FCKXml.prototype.SelectSingleNode=function(A,B){if (this.Error) return null;var C=this.DOMDocument.evaluate(A,B?B:this.DOMDocument,this.DOMDocument.createNSResolver(this.DOMDocument.documentElement),9,null);if (C&&C.singleNodeValue) return C.singleNodeValue;else return null;}\r
+var FCKStyleDef=function(A,B){this.Name=A;this.Element=B.toUpperCase();this.IsObjectElement=FCKRegexLib.ObjectElements.test(this.Element);this.Attributes={};};FCKStyleDef.prototype.AddAttribute=function(A,B){this.Attributes[A]=B;};FCKStyleDef.prototype.GetOpenerTag=function(){var s='<'+this.Element;for (var a in this.Attributes) s+=' '+a+'="'+this.Attributes[a]+'"';return s+'>';};FCKStyleDef.prototype.GetCloserTag=function(){return '</'+this.Element+'>';};FCKStyleDef.prototype.RemoveFromSelection=function(){if (FCKSelection.GetType()=='Control') this._RemoveMe(FCK.ToolbarSet.CurrentInstance.Selection.GetSelectedElement());else this._RemoveMe(FCK.ToolbarSet.CurrentInstance.Selection.GetParentElement());}\r
+FCKStyleDef.prototype.ApplyToSelection=function(){if (FCKSelection.GetType()=='Text'&&!this.IsObjectElement){var A=FCK.ToolbarSet.CurrentInstance.EditorWindow.getSelection();var e=FCK.ToolbarSet.CurrentInstance.EditorDocument.createElement(this.Element);for (var i=0;i<A.rangeCount;i++){e.appendChild(A.getRangeAt(i).extractContents());};this._AddAttributes(e);this._RemoveDuplicates(e);var B=A.getRangeAt(0);B.insertNode(e);}else{var C=FCK.ToolbarSet.CurrentInstance.Selection.GetSelectedElement();if (C.tagName==this.Element) this._AddAttributes(C);}};FCKStyleDef.prototype._AddAttributes=function(A){for (var a in this.Attributes){switch (a.toLowerCase()){case 'src':A.setAttribute('_fcksavedurl',this.Attributes[a],0);default:A.setAttribute(a,this.Attributes[a],0);}}};FCKStyleDef.prototype._RemoveDuplicates=function(A){for (var i=0;i<A.childNodes.length;i++){var B=A.childNodes[i];if (B.nodeType!=1) continue;this._RemoveDuplicates(B);if (this.IsEqual(B)) FCKTools.RemoveOuterTags(B);}};FCKStyleDef.prototype.IsEqual=function(e){if (e.tagName!=this.Element) return false;for (var a in this.Attributes){if (e.getAttribute(a)!=this.Attributes[a]) return false;};return true;};FCKStyleDef.prototype._RemoveMe=function(A){if (!A) return;var B=A.parentNode;if (A.nodeType==1&&this.IsEqual(A)){if (this.IsObjectElement){for (var a in this.Attributes) A.removeAttribute(a,0);return;}else FCKTools.RemoveOuterTags(A);};this._RemoveMe(B);}\r
+var FCKStylesLoader=function(){this.Styles={};this.StyleGroups={};this.Loaded=false;this.HasObjectElements=false;};FCKStylesLoader.prototype.Load=function(A){var B=new FCKXml();B.LoadUrl(A);var C=B.SelectNodes('Styles/Style');for (var i=0;i<C.length;i++){var D=C[i].attributes.getNamedItem('element').value.toUpperCase();var E=new FCKStyleDef(C[i].attributes.getNamedItem('name').value,D);if (E.IsObjectElement) this.HasObjectElements=true;var F=B.SelectNodes('Attribute',C[i]);for (var j=0;j<F.length;j++){var G=F[j].attributes.getNamedItem('name').value;var H=F[j].attributes.getNamedItem('value').value;if (G.toLowerCase()=='style'){var I=document.createElement('SPAN');I.style.cssText=H;H=I.style.cssText;};E.AddAttribute(G,H);};this.Styles[E.Name]=E;var J=this.StyleGroups[D];if (J==null){this.StyleGroups[D]=[];J=this.StyleGroups[D];};J[J.length]=E;};this.Loaded=true;}\r
+var FCKNamedCommand=function(A){this.Name=A;};FCKNamedCommand.prototype.Execute=function(){FCK.ExecuteNamedCommand(this.Name);};FCKNamedCommand.prototype.GetState=function(){return FCK.GetNamedCommandState(this.Name);};\r
+var FCKDialogCommand=function(A,B,C,D,E,F,G){this.Name=A;this.Title=B;this.Url=C;this.Width=D;this.Height=E;this.GetStateFunction=F;this.GetStateParam=G;this.Resizable=false;};FCKDialogCommand.prototype.Execute=function(){FCKDialog.OpenDialog('FCKDialog_'+this.Name,this.Title,this.Url,this.Width,this.Height,null,null,this.Resizable);};FCKDialogCommand.prototype.GetState=function(){if (this.GetStateFunction) return this.GetStateFunction(this.GetStateParam);else return 0;};var FCKUndefinedCommand=function(){this.Name='Undefined';};FCKUndefinedCommand.prototype.Execute=function(){alert(FCKLang.NotImplemented);};FCKUndefinedCommand.prototype.GetState=function(){return 0;};var FCKFontNameCommand=function(){this.Name='FontName';};FCKFontNameCommand.prototype.Execute=function(A){if (A==null||A==""){}else FCK.ExecuteNamedCommand('FontName',A);};FCKFontNameCommand.prototype.GetState=function(){return FCK.GetNamedCommandValue('FontName');};var FCKFontSizeCommand=function(){this.Name='FontSize';};FCKFontSizeCommand.prototype.Execute=function(A){if (typeof(A)=='string') A=parseInt(A,10);if (A==null||A==''){FCK.ExecuteNamedCommand('FontSize',3);}else FCK.ExecuteNamedCommand('FontSize',A);};FCKFontSizeCommand.prototype.GetState=function(){return FCK.GetNamedCommandValue('FontSize');};var FCKFormatBlockCommand=function(){this.Name='FormatBlock';};FCKFormatBlockCommand.prototype.Execute=function(A){if (A==null||A=='') FCK.ExecuteNamedCommand('FormatBlock','<P>');else if (A=='div'&&FCKBrowserInfo.IsGecko) FCK.ExecuteNamedCommand('FormatBlock','div');else FCK.ExecuteNamedCommand('FormatBlock','<'+A+'>');};FCKFormatBlockCommand.prototype.GetState=function(){return FCK.GetNamedCommandValue('FormatBlock');};var FCKPreviewCommand=function(){this.Name='Preview';};FCKPreviewCommand.prototype.Execute=function(){FCK.Preview();};FCKPreviewCommand.prototype.GetState=function(){return 0;};var FCKSaveCommand=function(){this.Name='Save';};FCKSaveCommand.prototype.Execute=function(){var A=FCK.GetParentForm();if (typeof(A.onsubmit)=='function'){var B=A.onsubmit();if (B!=null&&B===false) return;};if (typeof(A.submit)=='function') A.submit();else A.submit.click();};FCKSaveCommand.prototype.GetState=function(){return 0;};var FCKNewPageCommand=function(){this.Name='NewPage';};FCKNewPageCommand.prototype.Execute=function(){FCKUndo.SaveUndoStep();FCK.SetHTML('');FCKUndo.Typing=true;};FCKNewPageCommand.prototype.GetState=function(){return 0;};var FCKSourceCommand=function(){this.Name='Source';};FCKSourceCommand.prototype.Execute=function(){if (FCKConfig.SourcePopup){var A=FCKConfig.ScreenWidth*0.65;var B=FCKConfig.ScreenHeight*0.65;FCKDialog.OpenDialog('FCKDialog_Source',FCKLang.Source,'dialog/fck_source.html',A,B,null,null,true);}else FCK.SwitchEditMode();};FCKSourceCommand.prototype.GetState=function(){return (FCK.EditMode==0?0:1);};var FCKUndoCommand=function(){this.Name='Undo';};FCKUndoCommand.prototype.Execute=function(){if (FCKBrowserInfo.IsIE) FCKUndo.Undo();else FCK.ExecuteNamedCommand('Undo');};FCKUndoCommand.prototype.GetState=function(){if (FCKBrowserInfo.IsIE) return (FCKUndo.CheckUndoState()?0:-1);else return FCK.GetNamedCommandState('Undo');};var FCKRedoCommand=function(){this.Name='Redo';};FCKRedoCommand.prototype.Execute=function(){if (FCKBrowserInfo.IsIE) FCKUndo.Redo();else FCK.ExecuteNamedCommand('Redo');};FCKRedoCommand.prototype.GetState=function(){if (FCKBrowserInfo.IsIE) return (FCKUndo.CheckRedoState()?0:-1);else return FCK.GetNamedCommandState('Redo');};var FCKPageBreakCommand=function(){this.Name='PageBreak';};FCKPageBreakCommand.prototype.Execute=function(){var e=FCK.EditorDocument.createElement('DIV');e.style.pageBreakAfter='always';e.innerHTML='<span style="DISPLAY:none">&nbsp;</span>';var A=FCKDocumentProcessor_CreateFakeImage('FCK__PageBreak',e);A=FCK.InsertElement(A);};FCKPageBreakCommand.prototype.GetState=function(){return 0;};var FCKUnlinkCommand=function(){this.Name='Unlink';};FCKUnlinkCommand.prototype.Execute=function(){if (FCKBrowserInfo.IsGecko){var A=FCK.Selection.MoveToAncestorNode('A');if (A) FCKTools.RemoveOuterTags(A);return;};FCK.ExecuteNamedCommand(this.Name);};FCKUnlinkCommand.prototype.GetState=function(){var A=FCK.GetNamedCommandState(this.Name);if (A==0&&FCK.EditMode==0){var B=FCKSelection.MoveToAncestorNode('A');var C=(B&&B.name.length>0&&B.href.length==0);if (C) A=-1;};return A;};var FCKSelectAllCommand=function(){this.Name='SelectAll';};FCKSelectAllCommand.prototype.Execute=function(){if (FCK.EditMode==0){FCK.ExecuteNamedCommand('SelectAll');}else{var A=FCK.EditingArea.Textarea;if (FCKBrowserInfo.IsIE){A.createTextRange().execCommand('SelectAll');}else{A.selectionStart=0;A.selectionEnd=A.value.length;};A.focus();}};FCKSelectAllCommand.prototype.GetState=function(){return 0;};var FCKPasteCommand=function(){this.Name='Paste';};FCKPasteCommand.prototype={Execute:function(){if (FCKBrowserInfo.IsIE) FCK.Paste();else FCK.ExecuteNamedCommand('Paste');},GetState:function(){return FCK.GetNamedCommandState('Paste');}};\r
+var FCKSpellCheckCommand=function(){this.Name='SpellCheck';this.IsEnabled=(FCKConfig.SpellChecker=='SpellerPages');};FCKSpellCheckCommand.prototype.Execute=function(){FCKDialog.OpenDialog('FCKDialog_SpellCheck','Spell Check','dialog/fck_spellerpages.html',440,480);};FCKSpellCheckCommand.prototype.GetState=function(){return this.IsEnabled?0:-1;}\r
+var FCKTextColorCommand=function(A){this.Name=A=='ForeColor'?'TextColor':'BGColor';this.Type=A;var B;if (FCKBrowserInfo.IsIE) B=window;else if (FCK.ToolbarSet._IFrame) B=FCKTools.GetElementWindow(FCK.ToolbarSet._IFrame);else B=window.parent;this._Panel=new FCKPanel(B);this._Panel.AppendStyleSheet(FCKConfig.SkinPath+'fck_editor.css');this._Panel.MainNode.className='FCK_Panel';this._CreatePanelBody(this._Panel.Document,this._Panel.MainNode);FCKTools.DisableSelection(this._Panel.Document.body);};FCKTextColorCommand.prototype.Execute=function(A,B,C){FCK._ActiveColorPanelType=this.Type;this._Panel.Show(A,B,C);};FCKTextColorCommand.prototype.SetColor=function(A){if (FCK._ActiveColorPanelType=='ForeColor') FCK.ExecuteNamedCommand('ForeColor',A);else if (FCKBrowserInfo.IsGeckoLike){if (FCKBrowserInfo.IsGecko&&!FCKConfig.GeckoUseSPAN) FCK.EditorDocument.execCommand('useCSS',false,false);FCK.ExecuteNamedCommand('hilitecolor',A);if (FCKBrowserInfo.IsGecko&&!FCKConfig.GeckoUseSPAN) FCK.EditorDocument.execCommand('useCSS',false,true);}else FCK.ExecuteNamedCommand('BackColor',A);delete FCK._ActiveColorPanelType;};FCKTextColorCommand.prototype.GetState=function(){return 0;};function FCKTextColorCommand_OnMouseOver()   { this.className='ColorSelected';};function FCKTextColorCommand_OnMouseOut()    { this.className='ColorDeselected';};function FCKTextColorCommand_OnClick(){this.className='ColorDeselected';this.Command.SetColor('#'+this.Color);this.Command._Panel.Hide();};function FCKTextColorCommand_AutoOnClick(){this.className='ColorDeselected';this.Command.SetColor('');this.Command._Panel.Hide();};function FCKTextColorCommand_MoreOnClick(){this.className='ColorDeselected';this.Command._Panel.Hide();FCKDialog.OpenDialog('FCKDialog_Color',FCKLang.DlgColorTitle,'dialog/fck_colorselector.html',400,330,this.Command.SetColor);};FCKTextColorCommand.prototype._CreatePanelBody=function(A,B){function CreateSelectionDiv(){var C=A.createElement("DIV");C.className='ColorDeselected';C.onmouseover=FCKTextColorCommand_OnMouseOver;C.onmouseout=FCKTextColorCommand_OnMouseOut;return C;};var D=B.appendChild(A.createElement("TABLE"));D.className='ForceBaseFont';D.style.tableLayout='fixed';D.cellPadding=0;D.cellSpacing=0;D.border=0;D.width=150;var E=D.insertRow(-1).insertCell(-1);E.colSpan=8;var C=E.appendChild(CreateSelectionDiv());C.innerHTML='<table cellspacing="0" cellpadding="0" width="100%" border="0">\n                       <tr>\n                          <td><div class="ColorBoxBorder"><div class="ColorBox" style="background-color: #000000"></div></div></td>\n                             <td nowrap width="100%" align="center">'+FCKLang.ColorAutomatic+'</td>\n                        </tr>\n         </table>';C.Command=this;C.onclick=FCKTextColorCommand_AutoOnClick;var G=FCKConfig.FontColors.toString().split(',');var H=0;while (H<G.length){var I=D.insertRow(-1);for (var i=0;i<8&&H<G.length;i++,H++){C=I.insertCell(-1).appendChild(CreateSelectionDiv());C.Color=G[H];C.innerHTML='<div class="ColorBoxBorder"><div class="ColorBox" style="background-color: #'+G[H]+'"></div></div>';C.Command=this;C.onclick=FCKTextColorCommand_OnClick;}};E=D.insertRow(-1).insertCell(-1);E.colSpan=8;C=E.appendChild(CreateSelectionDiv());C.innerHTML='<table width="100%" cellpadding="0" cellspacing="0" border="0"><tr><td nowrap align="center">'+FCKLang.ColorMoreColors+'</td></tr></table>';C.Command=this;C.onclick=FCKTextColorCommand_MoreOnClick;}\r
+var FCKPastePlainTextCommand=function(){this.Name='PasteText';};FCKPastePlainTextCommand.prototype.Execute=function(){FCK.PasteAsPlainText();};FCKPastePlainTextCommand.prototype.GetState=function(){return FCK.GetNamedCommandState('Paste');};\r
+var FCKPasteWordCommand=function(){this.Name='PasteWord';};FCKPasteWordCommand.prototype.Execute=function(){FCK.PasteFromWord();};FCKPasteWordCommand.prototype.GetState=function(){if (FCKConfig.ForcePasteAsPlainText) return -1;else return FCK.GetNamedCommandState('Paste');};\r
+var FCKTableCommand=function(A){this.Name=A;};FCKTableCommand.prototype.Execute=function(){FCKUndo.SaveUndoStep();switch (this.Name){case 'TableInsertRow':FCKTableHandler.InsertRow();break;case 'TableDeleteRows':FCKTableHandler.DeleteRows();break;case 'TableInsertColumn':FCKTableHandler.InsertColumn();break;case 'TableDeleteColumns':FCKTableHandler.DeleteColumns();break;case 'TableInsertCell':FCKTableHandler.InsertCell();break;case 'TableDeleteCells':FCKTableHandler.DeleteCells();break;case 'TableMergeCells':FCKTableHandler.MergeCells();break;case 'TableSplitCell':FCKTableHandler.SplitCell();break;case 'TableDelete':FCKTableHandler.DeleteTable();break;default:alert(FCKLang.UnknownCommand.replace(/%1/g,this.Name));}};FCKTableCommand.prototype.GetState=function(){return 0;}\r
+var FCKStyleCommand=function(){this.Name='Style';this.StylesLoader=new FCKStylesLoader();this.StylesLoader.Load(FCKConfig.StylesXmlPath);this.Styles=this.StylesLoader.Styles;};FCKStyleCommand.prototype.Execute=function(A,B){FCKUndo.SaveUndoStep();if (B.Selected) B.Style.RemoveFromSelection();else B.Style.ApplyToSelection();FCKUndo.SaveUndoStep();FCK.Focus();FCK.Events.FireEvent("OnSelectionChange");};FCKStyleCommand.prototype.GetState=function(){if (!FCK.EditorDocument) return -1;var A=FCK.EditorDocument.selection;if (FCKSelection.GetType()=='Control'){var e=FCKSelection.GetSelectedElement();if (e) return this.StylesLoader.StyleGroups[e.tagName]?0:-1;};return 0;};FCKStyleCommand.prototype.GetActiveStyles=function(){var A=[];if (FCKSelection.GetType()=='Control') this._CheckStyle(FCKSelection.GetSelectedElement(),A,false);else this._CheckStyle(FCKSelection.GetParentElement(),A,true);return A;};FCKStyleCommand.prototype._CheckStyle=function(A,B,C){if (!A) return;if (A.nodeType==1){var D=this.StylesLoader.StyleGroups[A.tagName];if (D){for (var i=0;i<D.length;i++){if (D[i].IsEqual(A)) B[B.length]=D[i];}}};if (C) this._CheckStyle(A.parentNode,B,C);}\r
+var FCKFitWindow=function(){this.Name='FitWindow';};FCKFitWindow.prototype.Execute=function(){var A=window.frameElement;var B=A.style;var C=parent;var D=C.document.documentElement;var E=C.document.body;var F=E.style;var G;if (!this.IsMaximized){if(FCKBrowserInfo.IsIE) C.attachEvent('onresize',FCKFitWindow_Resize);else C.addEventListener('resize',FCKFitWindow_Resize,true);this._ScrollPos=FCKTools.GetScrollPosition(C);G=A;while((G=G.parentNode)){if (G.nodeType==1) G._fckSavedStyles=FCKTools.SaveStyles(G);};if (FCKBrowserInfo.IsIE){this.documentElementOverflow=D.style.overflow;D.style.overflow='hidden';F.overflow='hidden';}else{F.overflow='hidden';F.width='0px';F.height='0px';};this._EditorFrameStyles=FCKTools.SaveStyles(A);var H=FCKTools.GetViewPaneSize(C);B.position="absolute";B.zIndex=FCKConfig.FloatingPanelsZIndex-1;B.left="0px";B.top="0px";B.width=H.Width+"px";B.height=H.Height+"px";if (!FCKBrowserInfo.IsIE){B.borderRight=B.borderBottom="9999px solid white";B.backgroundColor="white";};C.scrollTo(0,0);this.IsMaximized=true;}else{if(FCKBrowserInfo.IsIE) C.detachEvent("onresize",FCKFitWindow_Resize);else C.removeEventListener("resize",FCKFitWindow_Resize,true);G=A;while((G=G.parentNode)){if (G._fckSavedStyles){FCKTools.RestoreStyles(G,G._fckSavedStyles);G._fckSavedStyles=null;}};if (FCKBrowserInfo.IsIE) D.style.overflow=this.documentElementOverflow;FCKTools.RestoreStyles(A,this._EditorFrameStyles);C.scrollTo(this._ScrollPos.X,this._ScrollPos.Y);this.IsMaximized=false;};FCKToolbarItems.GetItem('FitWindow').RefreshState();FCK.EditingArea.MakeEditable();FCK.Focus();};FCKFitWindow.prototype.GetState=function(){if (FCKConfig.ToolbarLocation!='In') return -1;else return (this.IsMaximized?1:0);};function FCKFitWindow_Resize(){var A=FCKTools.GetViewPaneSize(parent);var B=window.frameElement.style;B.width=A.Width+'px';B.height=A.Height+'px';};\r
+var FCKCommands=FCK.Commands={};FCKCommands.LoadedCommands={};FCKCommands.RegisterCommand=function(A,B){this.LoadedCommands[A]=B;};FCKCommands.GetCommand=function(A){var B=FCKCommands.LoadedCommands[A];if (B) return B;switch (A){case 'DocProps':B=new FCKDialogCommand('DocProps',FCKLang.DocProps,'dialog/fck_docprops.html',400,390,FCKCommands.GetFullPageState);break;case 'Templates':B=new FCKDialogCommand('Templates',FCKLang.DlgTemplatesTitle,'dialog/fck_template.html',380,450);break;case 'Link':B=new FCKDialogCommand('Link',FCKLang.DlgLnkWindowTitle,'dialog/fck_link.html',400,330);break;case 'Unlink':B=new FCKUnlinkCommand();break;case 'Anchor':B=new FCKDialogCommand('Anchor',FCKLang.DlgAnchorTitle,'dialog/fck_anchor.html',370,170);break;case 'BulletedList':B=new FCKDialogCommand('BulletedList',FCKLang.BulletedListProp,'dialog/fck_listprop.html?UL',370,170);break;case 'NumberedList':B=new FCKDialogCommand('NumberedList',FCKLang.NumberedListProp,'dialog/fck_listprop.html?OL',370,170);break;case 'About':B=new FCKDialogCommand('About',FCKLang.About,'dialog/fck_about.html',400,330);break;case 'Find':B=new FCKDialogCommand('Find',FCKLang.DlgFindTitle,'dialog/fck_find.html',340,170);break;case 'Replace':B=new FCKDialogCommand('Replace',FCKLang.DlgReplaceTitle,'dialog/fck_replace.html',340,200);break;case 'Image':B=new FCKDialogCommand('Image',FCKLang.DlgImgTitle,'dialog/fck_image.html',450,400);break;case 'Flash':B=new FCKDialogCommand('Flash',FCKLang.DlgFlashTitle,'dialog/fck_flash.html',450,400);break;case 'SpecialChar':B=new FCKDialogCommand('SpecialChar',FCKLang.DlgSpecialCharTitle,'dialog/fck_specialchar.html',400,320);break;case 'Smiley':B=new FCKDialogCommand('Smiley',FCKLang.DlgSmileyTitle,'dialog/fck_smiley.html',FCKConfig.SmileyWindowWidth,FCKConfig.SmileyWindowHeight);break;case 'Table':B=new FCKDialogCommand('Table',FCKLang.DlgTableTitle,'dialog/fck_table.html',450,250);break;case 'TableProp':B=new FCKDialogCommand('Table',FCKLang.DlgTableTitle,'dialog/fck_table.html?Parent',400,250);break;case 'TableCellProp':B=new FCKDialogCommand('TableCell',FCKLang.DlgCellTitle,'dialog/fck_tablecell.html',550,250);break;case 'Style':B=new FCKStyleCommand();break;case 'FontName':B=new FCKFontNameCommand();break;case 'FontSize':B=new FCKFontSizeCommand();break;case 'FontFormat':B=new FCKFormatBlockCommand();break;case 'Source':B=new FCKSourceCommand();break;case 'Preview':B=new FCKPreviewCommand();break;case 'Save':B=new FCKSaveCommand();break;case 'NewPage':B=new FCKNewPageCommand();break;case 'PageBreak':B=new FCKPageBreakCommand();break;case 'TextColor':B=new FCKTextColorCommand('ForeColor');break;case 'BGColor':B=new FCKTextColorCommand('BackColor');break;case 'Paste':B=new FCKPasteCommand();break;case 'PasteText':B=new FCKPastePlainTextCommand();break;case 'PasteWord':B=new FCKPasteWordCommand();break;case 'TableInsertRow':B=new FCKTableCommand('TableInsertRow');break;case 'TableDeleteRows':B=new FCKTableCommand('TableDeleteRows');break;case 'TableInsertColumn':B=new FCKTableCommand('TableInsertColumn');break;case 'TableDeleteColumns':B=new FCKTableCommand('TableDeleteColumns');break;case 'TableInsertCell':B=new FCKTableCommand('TableInsertCell');break;case 'TableDeleteCells':B=new FCKTableCommand('TableDeleteCells');break;case 'TableMergeCells':B=new FCKTableCommand('TableMergeCells');break;case 'TableSplitCell':B=new FCKTableCommand('TableSplitCell');break;case 'TableDelete':B=new FCKTableCommand('TableDelete');break;case 'Form':B=new FCKDialogCommand('Form',FCKLang.Form,'dialog/fck_form.html',380,230);break;case 'Checkbox':B=new FCKDialogCommand('Checkbox',FCKLang.Checkbox,'dialog/fck_checkbox.html',380,230);break;case 'Radio':B=new FCKDialogCommand('Radio',FCKLang.RadioButton,'dialog/fck_radiobutton.html',380,230);break;case 'TextField':B=new FCKDialogCommand('TextField',FCKLang.TextField,'dialog/fck_textfield.html',380,230);break;case 'Textarea':B=new FCKDialogCommand('Textarea',FCKLang.Textarea,'dialog/fck_textarea.html',380,230);break;case 'HiddenField':B=new FCKDialogCommand('HiddenField',FCKLang.HiddenField,'dialog/fck_hiddenfield.html',380,230);break;case 'Button':B=new FCKDialogCommand('Button',FCKLang.Button,'dialog/fck_button.html',380,230);break;case 'Select':B=new FCKDialogCommand('Select',FCKLang.SelectionField,'dialog/fck_select.html',400,380);break;case 'ImageButton':B=new FCKDialogCommand('ImageButton',FCKLang.ImageButton,'dialog/fck_image.html?ImageButton',450,400);break;case 'SpellCheck':B=new FCKSpellCheckCommand();break;case 'FitWindow':B=new FCKFitWindow();break;case 'Undo':B=new FCKUndoCommand();break;case 'Redo':B=new FCKRedoCommand();break;case 'SelectAll':B=new FCKSelectAllCommand();break;case 'Undefined':B=new FCKUndefinedCommand();break;default:if (FCKRegexLib.NamedCommands.test(A)) B=new FCKNamedCommand(A);else{alert(FCKLang.UnknownCommand.replace(/%1/g,A));return null;}};FCKCommands.LoadedCommands[A]=B;return B;};FCKCommands.GetFullPageState=function(){return FCKConfig.FullPage?0:-1;};\r
+var FCKPanel=function(A){this.IsRTL=(FCKLang.Dir=='rtl');this.IsContextMenu=false;this._LockCounter=0;this._Window=A||window;var B;if (FCKBrowserInfo.IsIE){this._Popup=this._Window.createPopup();B=this.Document=this._Popup.document;FCK.IECleanup.AddItem(this,FCKPanel_Cleanup);}else{var C=this._IFrame=this._Window.document.createElement('iframe');C.src='javascript:void(0)';C.allowTransparency=true;C.frameBorder='0';C.scrolling='no';C.style.position='absolute';C.style.zIndex=FCKConfig.FloatingPanelsZIndex;C.width=C.height=0;if (this._Window==window.parent&&window.frameElement) window.frameElement.parentNode.insertBefore(C,window.frameElement);else this._Window.document.body.appendChild(C);var D=C.contentWindow;B=this.Document=D.document;var E='';if (FCKBrowserInfo.IsSafari) E='<base href="'+window.document.location+'">';B.open();B.write('<html><head>'+E+'<\/head><body style="margin:0px;padding:0px;"><\/body><\/html>');B.close();FCKTools.AddEventListenerEx(D,'focus',FCKPanel_Window_OnFocus,this);FCKTools.AddEventListenerEx(D,'blur',FCKPanel_Window_OnBlur,this);};B.dir=FCKLang.Dir;B.oncontextmenu=FCKTools.CancelEvent;this.MainNode=B.body.appendChild(B.createElement('DIV'));this.MainNode.style.cssFloat=this.IsRTL?'right':'left';};FCKPanel.prototype.AppendStyleSheet=function(A){FCKTools.AppendStyleSheet(this.Document,A);};FCKPanel.prototype.Preload=function(x,y,A){if (this._Popup) this._Popup.show(x,y,0,0,A);};FCKPanel.prototype.Show=function(x,y,A,B,C){var D;if (this._Popup){this._Popup.show(x,y,0,0,A);this.MainNode.style.width=B?B+'px':'';this.MainNode.style.height=C?C+'px':'';D=this.MainNode.offsetWidth;if (this.IsRTL){if (this.IsContextMenu) x=x-D+1;else if (A) x=(x*-1)+A.offsetWidth-D;};this._Popup.show(x,y,D,this.MainNode.offsetHeight,A);if (this.OnHide){if (this._Timer) CheckPopupOnHide.call(this,true);this._Timer=FCKTools.SetInterval(CheckPopupOnHide,100,this);}}else{if (typeof(FCKFocusManager)!='undefined') FCKFocusManager.Lock();if (this.ParentPanel) this.ParentPanel.Lock();this.MainNode.style.width=B?B+'px':'';this.MainNode.style.height=C?C+'px':'';D=this.MainNode.offsetWidth;if (!B)  this._IFrame.width=1;if (!C)    this._IFrame.height=1;D=this.MainNode.offsetWidth;var E=FCKTools.GetElementPosition(A.nodeType==9?(FCKTools.IsStrictMode(A)?A.documentElement:A.body):A,this._Window);if (this.IsRTL&&!this.IsContextMenu) x=(x*-1);x+=E.X;y+=E.Y;if (this.IsRTL){if (this.IsContextMenu) x=x-D+1;else if (A) x=x+A.offsetWidth-D;}else{var F=FCKTools.GetViewPaneSize(this._Window);var G=FCKTools.GetScrollPosition(this._Window);var H=F.Height+G.Y;var I=F.Width+G.X;if ((x+D)>I) x-=x+D-I;if ((y+this.MainNode.offsetHeight)>H) y-=y+this.MainNode.offsetHeight-H;};if (x<0) x=0;this._IFrame.style.left=x+'px';this._IFrame.style.top=y+'px';var J=D;var K=this.MainNode.offsetHeight;this._IFrame.width=J;this._IFrame.height=K;this._IFrame.contentWindow.focus();};this._IsOpened=true;FCKTools.RunFunction(this.OnShow,this);};FCKPanel.prototype.Hide=function(A){if (this._Popup) this._Popup.hide();else{if (!this._IsOpened) return;if (typeof(FCKFocusManager)!='undefined') FCKFocusManager.Unlock();this._IFrame.width=this._IFrame.height=0;this._IsOpened=false;if (this.ParentPanel) this.ParentPanel.Unlock();if (!A) FCKTools.RunFunction(this.OnHide,this);}};FCKPanel.prototype.CheckIsOpened=function(){if (this._Popup) return this._Popup.isOpen;else return this._IsOpened;};FCKPanel.prototype.CreateChildPanel=function(){var A=this._Popup?FCKTools.GetDocumentWindow(this.Document):this._Window;var B=new FCKPanel(A);B.ParentPanel=this;return B;};FCKPanel.prototype.Lock=function(){this._LockCounter++;};FCKPanel.prototype.Unlock=function(){if (--this._LockCounter==0&&!this.HasFocus) this.Hide();};function FCKPanel_Window_OnFocus(e,A){A.HasFocus=true;};function FCKPanel_Window_OnBlur(e,A){A.HasFocus=false;if (A._LockCounter==0) FCKTools.RunFunction(A.Hide,A);};function CheckPopupOnHide(A){if (A||!this._Popup.isOpen){window.clearInterval(this._Timer);this._Timer=null;FCKTools.RunFunction(this.OnHide,this);}};function FCKPanel_Cleanup(){this._Popup=null;this._Window=null;this.Document=null;this.MainNode=null;}\r
+var FCKIcon=function(A){var B=A?typeof(A):'undefined';switch (B){case 'number':this.Path=FCKConfig.SkinPath+'fck_strip.gif';this.Size=16;this.Position=A;break;case 'undefined':this.Path=FCK_SPACER_PATH;break;case 'string':this.Path=A;break;default:this.Path=A[0];this.Size=A[1];this.Position=A[2];}};FCKIcon.prototype.CreateIconElement=function(A){var B,eIconImage;if (this.Position){var C='-'+((this.Position-1)*this.Size)+'px';if (FCKBrowserInfo.IsIE){B=A.createElement('DIV');eIconImage=B.appendChild(A.createElement('IMG'));eIconImage.src=this.Path;eIconImage.style.top=C;}else{B=A.createElement('IMG');B.src=FCK_SPACER_PATH;B.style.backgroundPosition='0px '+C;B.style.backgroundImage='url('+this.Path+')';}}else{if (FCKBrowserInfo.IsIE){B=A.createElement('DIV');eIconImage=B.appendChild(A.createElement('IMG'));eIconImage.src=this.Path?this.Path:FCK_SPACER_PATH;}else{B=A.createElement('IMG');B.src=this.Path?this.Path:FCK_SPACER_PATH;}};B.className='TB_Button_Image';return B;}\r
+var FCKToolbarButtonUI=function(A,B,C,D,E,F){this.Name=A;this.Label=B||A;this.Tooltip=C||this.Label;this.Style=E||0;this.State=F||0;this.Icon=new FCKIcon(D);if (FCK.IECleanup) FCK.IECleanup.AddItem(this,FCKToolbarButtonUI_Cleanup);};FCKToolbarButtonUI.prototype._CreatePaddingElement=function(A){var B=A.createElement('IMG');B.className='TB_Button_Padding';B.src=FCK_SPACER_PATH;return B;};FCKToolbarButtonUI.prototype.Create=function(A){var B=this.MainElement;if (B){FCKToolbarButtonUI_Cleanup.call(this);if (B.parentNode) B.parentNode.removeChild(B);B=this.MainElement=null;};var C=FCKTools.GetElementDocument(A);B=this.MainElement=C.createElement('DIV');B._FCKButton=this;B.title=this.Tooltip;if (FCKBrowserInfo.IsGecko) B.onmousedown=FCKTools.CancelEvent;this.ChangeState(this.State,true);if (this.Style==0&&!this.ShowArrow){B.appendChild(this.Icon.CreateIconElement(C));}else{var D=B.appendChild(C.createElement('TABLE'));D.cellPadding=0;D.cellSpacing=0;var E=D.insertRow(-1);var F=E.insertCell(-1);if (this.Style==0||this.Style==2) F.appendChild(this.Icon.CreateIconElement(C));else F.appendChild(this._CreatePaddingElement(C));if (this.Style==1||this.Style==2){F=E.insertCell(-1);F.className='TB_Button_Text';F.noWrap=true;F.appendChild(C.createTextNode(this.Label));};if (this.ShowArrow){if (this.Style!=0){E.insertCell(-1).appendChild(this._CreatePaddingElement(C));};F=E.insertCell(-1);var G=F.appendChild(C.createElement('IMG'));G.src=FCKConfig.SkinPath+'images/toolbar.buttonarrow.gif';G.width=5;G.height=3;};F=E.insertCell(-1);F.appendChild(this._CreatePaddingElement(C));};A.appendChild(B);};FCKToolbarButtonUI.prototype.ChangeState=function(A,B){if (!B&&this.State==A) return;var e=this.MainElement;switch (parseInt(A,10)){case 0:e.className='TB_Button_Off';e.onmouseover=FCKToolbarButton_OnMouseOverOff;e.onmouseout=FCKToolbarButton_OnMouseOutOff;e.onclick=FCKToolbarButton_OnClick;break;case 1:e.className='TB_Button_On';e.onmouseover=FCKToolbarButton_OnMouseOverOn;e.onmouseout=FCKToolbarButton_OnMouseOutOn;e.onclick=FCKToolbarButton_OnClick;break;case -1:e.className='TB_Button_Disabled';e.onmouseover=null;e.onmouseout=null;e.onclick=null;break;};this.State=A;};function FCKToolbarButtonUI_Cleanup(){if (this.MainElement){this.MainElement._FCKButton=null;this.MainElement=null;}};function FCKToolbarButton_OnMouseOverOn(){this.className='TB_Button_On_Over';};function FCKToolbarButton_OnMouseOutOn(){this.className='TB_Button_On';};function FCKToolbarButton_OnMouseOverOff(){this.className='TB_Button_Off_Over';};function FCKToolbarButton_OnMouseOutOff(){this.className='TB_Button_Off';};function FCKToolbarButton_OnClick(e){if (this._FCKButton.OnClick) this._FCKButton.OnClick(this._FCKButton);};\r
+var FCKToolbarButton=function(A,B,C,D,E,F,G){this.CommandName=A;this.Label=B;this.Tooltip=C;this.Style=D;this.SourceView=E?true:false;this.ContextSensitive=F?true:false;if (G==null) this.IconPath=FCKConfig.SkinPath+'toolbar/'+A.toLowerCase()+'.gif';else if (typeof(G)=='number') this.IconPath=[FCKConfig.SkinPath+'fck_strip.gif',16,G];};FCKToolbarButton.prototype.Create=function(A){this._UIButton=new FCKToolbarButtonUI(this.CommandName,this.Label,this.Tooltip,this.IconPath,this.Style);this._UIButton.OnClick=this.Click;this._UIButton._ToolbarButton=this;this._UIButton.Create(A);};FCKToolbarButton.prototype.RefreshState=function(){var A=FCK.ToolbarSet.CurrentInstance.Commands.GetCommand(this.CommandName).GetState();if (A==this._UIButton.State) return;this._UIButton.ChangeState(A);};FCKToolbarButton.prototype.Click=function(){var A=this._ToolbarButton||this;FCK.ToolbarSet.CurrentInstance.Commands.GetCommand(A.CommandName).Execute();};FCKToolbarButton.prototype.Enable=function(){this.RefreshState();};FCKToolbarButton.prototype.Disable=function(){this._UIButton.ChangeState(-1);}\r
+var FCKSpecialCombo=function(A,B,C,D,E){this.FieldWidth=B||100;this.PanelWidth=C||150;this.PanelMaxHeight=D||150;this.Label='&nbsp;';this.Caption=A;this.Tooltip=A;this.Style=2;this.Enabled=true;this.Items={};this._Panel=new FCKPanel(E||window);this._Panel.AppendStyleSheet(FCKConfig.SkinPath+'fck_editor.css');this._PanelBox=this._Panel.MainNode.appendChild(this._Panel.Document.createElement('DIV'));this._PanelBox.className='SC_Panel';this._PanelBox.style.width=this.PanelWidth+'px';this._PanelBox.innerHTML='<table cellpadding="0" cellspacing="0" width="100%" style="TABLE-LAYOUT: fixed"><tr><td nowrap></td></tr></table>';this._ItemsHolderEl=this._PanelBox.getElementsByTagName('TD')[0];if (FCK.IECleanup) FCK.IECleanup.AddItem(this,FCKSpecialCombo_Cleanup);};function FCKSpecialCombo_ItemOnMouseOver(){this.className+=' SC_ItemOver';};function FCKSpecialCombo_ItemOnMouseOut(){this.className=this.originalClass;};function FCKSpecialCombo_ItemOnClick(){this.className=this.originalClass;this.FCKSpecialCombo._Panel.Hide();this.FCKSpecialCombo.SetLabel(this.FCKItemLabel);if (typeof(this.FCKSpecialCombo.OnSelect)=='function') this.FCKSpecialCombo.OnSelect(this.FCKItemID,this);};FCKSpecialCombo.prototype.AddItem=function(A,B,C,D){var E=this._ItemsHolderEl.appendChild(this._Panel.Document.createElement('DIV'));E.className=E.originalClass='SC_Item';E.innerHTML=B;E.FCKItemID=A;E.FCKItemLabel=C||A;E.FCKSpecialCombo=this;E.Selected=false;if (FCKBrowserInfo.IsIE) E.style.width='100%';if (D) E.style.backgroundColor=D;E.onmouseover=FCKSpecialCombo_ItemOnMouseOver;E.onmouseout=FCKSpecialCombo_ItemOnMouseOut;E.onclick=FCKSpecialCombo_ItemOnClick;this.Items[A.toString().toLowerCase()]=E;return E;};FCKSpecialCombo.prototype.SelectItem=function(A){A=A?A.toString().toLowerCase():'';var B=this.Items[A];if (B){B.className=B.originalClass='SC_ItemSelected';B.Selected=true;}};FCKSpecialCombo.prototype.SelectItemByLabel=function(A,B){for (var C in this.Items){var D=this.Items[C];if (D.FCKItemLabel==A){D.className=D.originalClass='SC_ItemSelected';D.Selected=true;if (B) this.SetLabel(A);}}};FCKSpecialCombo.prototype.DeselectAll=function(A){for (var i in this.Items){this.Items[i].className=this.Items[i].originalClass='SC_Item';this.Items[i].Selected=false;};if (A) this.SetLabel('');};FCKSpecialCombo.prototype.SetLabelById=function(A){A=A?A.toString().toLowerCase():'';var B=this.Items[A];this.SetLabel(B?B.FCKItemLabel:'');};FCKSpecialCombo.prototype.SetLabel=function(A){this.Label=A.length==0?'&nbsp;':A;if (this._LabelEl){this._LabelEl.innerHTML=this.Label;FCKTools.DisableSelection(this._LabelEl);}};FCKSpecialCombo.prototype.SetEnabled=function(A){this.Enabled=A;this._OuterTable.className=A?'':'SC_FieldDisabled';};FCKSpecialCombo.prototype.Create=function(A){var B=FCKTools.GetElementDocument(A);var C=this._OuterTable=A.appendChild(B.createElement('TABLE'));C.cellPadding=0;C.cellSpacing=0;C.insertRow(-1);var D;var E;switch (this.Style){case 0:D='TB_ButtonType_Icon';E=false;break;case 1:D='TB_ButtonType_Text';E=false;break;case 2:E=true;break;};if (this.Caption&&this.Caption.length>0&&E){var F=C.rows[0].insertCell(-1);F.innerHTML=this.Caption;F.className='SC_FieldCaption';};var G=FCKTools.AppendElement(C.rows[0].insertCell(-1),'div');if (E){G.className='SC_Field';G.style.width=this.FieldWidth+'px';G.innerHTML='<table width="100%" cellpadding="0" cellspacing="0" style="TABLE-LAYOUT: fixed;"><tbody><tr><td class="SC_FieldLabel"><label>&nbsp;</label></td><td class="SC_FieldButton">&nbsp;</td></tr></tbody></table>';this._LabelEl=G.getElementsByTagName('label')[0];this._LabelEl.innerHTML=this.Label;}else{G.className='TB_Button_Off';G.innerHTML='<table title="'+this.Tooltip+'" class="'+D+'" cellspacing="0" cellpadding="0" border="0"><tr><td><img class="TB_Button_Padding" src="'+FCK_SPACER_PATH+'" /></td><td class="TB_Text">'+this.Caption+'</td><td><img class="TB_Button_Padding" src="'+FCK_SPACER_PATH+'" /></td><td class="TB_ButtonArrow"><img src="'+FCKConfig.SkinPath+'images/toolbar.buttonarrow.gif" width="5" height="3"></td><td><img class="TB_Button_Padding" src="'+FCK_SPACER_PATH+'" /></td></tr></table>';};G.SpecialCombo=this;G.onmouseover=FCKSpecialCombo_OnMouseOver;G.onmouseout=FCKSpecialCombo_OnMouseOut;G.onclick=FCKSpecialCombo_OnClick;FCKTools.DisableSelection(this._Panel.Document.body);};function FCKSpecialCombo_Cleanup(){this._LabelEl=null;this._OuterTable=null;this._ItemsHolderEl=null;this._PanelBox=null;if (this.Items){for (var A in this.Items) this.Items[A]=null;}};function FCKSpecialCombo_OnMouseOver(){if (this.SpecialCombo.Enabled){switch (this.SpecialCombo.Style){case 0:this.className='TB_Button_On_Over';break;case 1:this.className='TB_Button_On_Over';break;case 2:this.className='SC_Field SC_FieldOver';break;}}};function FCKSpecialCombo_OnMouseOut(){switch (this.SpecialCombo.Style){case 0:this.className='TB_Button_Off';break;case 1:this.className='TB_Button_Off';break;case 2:this.className='SC_Field';break;}};function FCKSpecialCombo_OnClick(e){var A=this.SpecialCombo;if (A.Enabled){var B=A._Panel;var C=A._PanelBox;var D=A._ItemsHolderEl;var E=A.PanelMaxHeight;if (A.OnBeforeClick) A.OnBeforeClick(A);if (FCKBrowserInfo.IsIE) B.Preload(0,this.offsetHeight,this);if (D.offsetHeight>E) C.style.height=E+'px';else C.style.height='';B.Show(0,this.offsetHeight,this);}};\r
+var FCKToolbarSpecialCombo=function(){this.SourceView=false;this.ContextSensitive=true;this._LastValue=null;};function FCKToolbarSpecialCombo_OnSelect(A,B){FCK.ToolbarSet.CurrentInstance.Commands.GetCommand(this.CommandName).Execute(A,B);};FCKToolbarSpecialCombo.prototype.Create=function(A){this._Combo=new FCKSpecialCombo(this.GetLabel(),this.FieldWidth,this.PanelWidth,this.PanelMaxHeight,FCKBrowserInfo.IsIE?window:FCKTools.GetElementWindow(A).parent);this._Combo.Tooltip=this.Tooltip;this._Combo.Style=this.Style;this.CreateItems(this._Combo);this._Combo.Create(A);this._Combo.CommandName=this.CommandName;this._Combo.OnSelect=FCKToolbarSpecialCombo_OnSelect;};function FCKToolbarSpecialCombo_RefreshActiveItems(A,B){A.DeselectAll();A.SelectItem(B);A.SetLabelById(B);};FCKToolbarSpecialCombo.prototype.RefreshState=function(){var A;var B=FCK.ToolbarSet.CurrentInstance.Commands.GetCommand(this.CommandName).GetState();if (B!=-1){A=1;if (this.RefreshActiveItems) this.RefreshActiveItems(this._Combo,B);else{if (this._LastValue!=B){this._LastValue=B;FCKToolbarSpecialCombo_RefreshActiveItems(this._Combo,B);}}}else A=-1;if (A==this.State) return;if (A==-1){this._Combo.DeselectAll();this._Combo.SetLabel('');};this.State=A;this._Combo.SetEnabled(A!=-1);};FCKToolbarSpecialCombo.prototype.Enable=function(){this.RefreshState();};FCKToolbarSpecialCombo.prototype.Disable=function(){this.State=-1;this._Combo.DeselectAll();this._Combo.SetLabel('');this._Combo.SetEnabled(false);};\r
+var FCKToolbarFontsCombo=function(A,B){this.CommandName='FontName';this.Label=this.GetLabel();this.Tooltip=A?A:this.Label;this.Style=B?B:2;};FCKToolbarFontsCombo.prototype=new FCKToolbarSpecialCombo;FCKToolbarFontsCombo.prototype.GetLabel=function(){return FCKLang.Font;};FCKToolbarFontsCombo.prototype.CreateItems=function(A){var B=FCKConfig.FontNames.split(';');for (var i=0;i<B.length;i++) this._Combo.AddItem(B[i],'<font face="'+B[i]+'" style="font-size: 12px">'+B[i]+'</font>');}\r
+var FCKToolbarFontSizeCombo=function(A,B){this.CommandName='FontSize';this.Label=this.GetLabel();this.Tooltip=A?A:this.Label;this.Style=B?B:2;};FCKToolbarFontSizeCombo.prototype=new FCKToolbarSpecialCombo;FCKToolbarFontSizeCombo.prototype.GetLabel=function(){return FCKLang.FontSize;};FCKToolbarFontSizeCombo.prototype.CreateItems=function(A){A.FieldWidth=70;var B=FCKConfig.FontSizes.split(';');for (var i=0;i<B.length;i++){var C=B[i].split('/');this._Combo.AddItem(C[0],'<font size="'+C[0]+'">'+C[1]+'</font>',C[1]);}}\r
+var FCKToolbarFontFormatCombo=function(A,B){this.CommandName='FontFormat';this.Label=this.GetLabel();this.Tooltip=A?A:this.Label;this.Style=B?B:2;this.NormalLabel='Normal';this.PanelWidth=190;};FCKToolbarFontFormatCombo.prototype=new FCKToolbarSpecialCombo;FCKToolbarFontFormatCombo.prototype.GetLabel=function(){return FCKLang.FontFormat;};FCKToolbarFontFormatCombo.prototype.CreateItems=function(A){var B=A._Panel.Document;FCKTools.AppendStyleSheet(B,FCKConfig.ToolbarComboPreviewCSS);if (FCKConfig.BodyId&&FCKConfig.BodyId.length>0) B.body.id=FCKConfig.BodyId;if (FCKConfig.BodyClass&&FCKConfig.BodyClass.length>0) B.body.className+=' '+FCKConfig.BodyClass;var C=FCKLang['FontFormats'].split(';');var D={p:C[0],pre:C[1],address:C[2],h1:C[3],h2:C[4],h3:C[5],h4:C[6],h5:C[7],h6:C[8],div:C[9]};var E=FCKConfig.FontFormats.split(';');for (var i=0;i<E.length;i++){var F=E[i];var G=D[F];if (F=='p') this.NormalLabel=G;this._Combo.AddItem(F,'<div class="BaseFont"><'+F+'>'+G+'</'+F+'></div>',G);}};if (FCKBrowserInfo.IsIE){FCKToolbarFontFormatCombo.prototype.RefreshActiveItems=function(A,B){if (B==this.NormalLabel){if (A.Label!='&nbsp;') A.DeselectAll(true);}else{if (this._LastValue==B) return;A.SelectItemByLabel(B,true);};this._LastValue=B;}}\r
+var FCKToolbarStyleCombo=function(A,B){this.CommandName='Style';this.Label=this.GetLabel();this.Tooltip=A?A:this.Label;this.Style=B?B:2;};FCKToolbarStyleCombo.prototype=new FCKToolbarSpecialCombo;FCKToolbarStyleCombo.prototype.GetLabel=function(){return FCKLang.Style;};FCKToolbarStyleCombo.prototype.CreateItems=function(A){var B=A._Panel.Document;FCKTools.AppendStyleSheet(B,FCKConfig.ToolbarComboPreviewCSS);B.body.className+=' ForceBaseFont';if (FCKConfig.BodyId&&FCKConfig.BodyId.length>0) B.body.id=FCKConfig.BodyId;if (FCKConfig.BodyClass&&FCKConfig.BodyClass.length>0) B.body.className+=' '+FCKConfig.BodyClass;if (!(FCKBrowserInfo.IsGecko&&FCKBrowserInfo.IsGecko10)) A.OnBeforeClick=this.RefreshVisibleItems;var C=FCK.ToolbarSet.CurrentInstance.Commands.GetCommand(this.CommandName).Styles;for (var s in C){var D=C[s];var E;if (D.IsObjectElement) E=A.AddItem(s,s);else E=A.AddItem(s,D.GetOpenerTag()+s+D.GetCloserTag());E.Style=D;}};FCKToolbarStyleCombo.prototype.RefreshActiveItems=function(A){A.DeselectAll();var B=FCK.ToolbarSet.CurrentInstance.Commands.GetCommand(this.CommandName).GetActiveStyles();if (B.length>0){for (var i=0;i<B.length;i++) A.SelectItem(B[i].Name);A.SetLabelById(B[0].Name);}else A.SetLabel('');};FCKToolbarStyleCombo.prototype.RefreshVisibleItems=function(A){if (FCKSelection.GetType()=='Control') var B=FCKSelection.GetSelectedElement().tagName;for (var i in A.Items){var C=A.Items[i];if ((B&&C.Style.Element==B)||(!B&&!C.Style.IsObjectElement)) C.style.display='';else C.style.display='none';}}\r
+var FCKToolbarPanelButton=function(A,B,C,D,E){this.CommandName=A;var F;if (E==null) F=FCKConfig.SkinPath+'toolbar/'+A.toLowerCase()+'.gif';else if (typeof(E)=='number') F=[FCKConfig.SkinPath+'fck_strip.gif',16,E];var G=this._UIButton=new FCKToolbarButtonUI(A,B,C,F,D);G._FCKToolbarPanelButton=this;G.ShowArrow=true;G.OnClick=FCKToolbarPanelButton_OnButtonClick;};FCKToolbarPanelButton.prototype.TypeName='FCKToolbarPanelButton';FCKToolbarPanelButton.prototype.Create=function(A){A.className+='Menu';this._UIButton.Create(A);var B=FCK.ToolbarSet.CurrentInstance.Commands.GetCommand(this.CommandName)._Panel;B._FCKToolbarPanelButton=this;var C=B.Document.body.appendChild(B.Document.createElement('div'));C.style.position='absolute';C.style.top='0px';var D=this.LineImg=C.appendChild(B.Document.createElement('IMG'));D.className='TB_ConnectionLine';D.src=FCK_SPACER_PATH;B.OnHide=FCKToolbarPanelButton_OnPanelHide;};function FCKToolbarPanelButton_OnButtonClick(A){var B=this._FCKToolbarPanelButton;var e=B._UIButton.MainElement;B._UIButton.ChangeState(1);B.LineImg.style.width=(e.offsetWidth-2)+'px';FCK.ToolbarSet.CurrentInstance.Commands.GetCommand(B.CommandName).Execute(0,e.offsetHeight-1,e);};function FCKToolbarPanelButton_OnPanelHide(){var A=this._FCKToolbarPanelButton;A._UIButton.ChangeState(0);};FCKToolbarPanelButton.prototype.RefreshState=FCKToolbarButton.prototype.RefreshState;FCKToolbarPanelButton.prototype.Enable=FCKToolbarButton.prototype.Enable;FCKToolbarPanelButton.prototype.Disable=FCKToolbarButton.prototype.Disable;\r
+var FCKToolbarItems={};FCKToolbarItems.LoadedItems={};FCKToolbarItems.RegisterItem=function(A,B){this.LoadedItems[A]=B;};FCKToolbarItems.GetItem=function(A){var B=FCKToolbarItems.LoadedItems[A];if (B) return B;switch (A){case 'Source':B=new FCKToolbarButton('Source',FCKLang.Source,null,2,true,true,1);break;case 'DocProps':B=new FCKToolbarButton('DocProps',FCKLang.DocProps,null,null,null,null,2);break;case 'Save':B=new FCKToolbarButton('Save',FCKLang.Save,null,null,true,null,3);break;case 'NewPage':B=new FCKToolbarButton('NewPage',FCKLang.NewPage,null,null,true,null,4);break;case 'Preview':B=new FCKToolbarButton('Preview',FCKLang.Preview,null,null,true,null,5);break;case 'Templates':B=new FCKToolbarButton('Templates',FCKLang.Templates,null,null,null,null,6);break;case 'About':B=new FCKToolbarButton('About',FCKLang.About,null,null,true,null,47);break;case 'Cut':B=new FCKToolbarButton('Cut',FCKLang.Cut,null,null,false,true,7);break;case 'Copy':B=new FCKToolbarButton('Copy',FCKLang.Copy,null,null,false,true,8);break;case 'Paste':B=new FCKToolbarButton('Paste',FCKLang.Paste,null,null,false,true,9);break;case 'PasteText':B=new FCKToolbarButton('PasteText',FCKLang.PasteText,null,null,false,true,10);break;case 'PasteWord':B=new FCKToolbarButton('PasteWord',FCKLang.PasteWord,null,null,false,true,11);break;case 'Print':B=new FCKToolbarButton('Print',FCKLang.Print,null,null,false,true,12);break;case 'SpellCheck':B=new FCKToolbarButton('SpellCheck',FCKLang.SpellCheck,null,null,null,null,13);break;case 'Undo':B=new FCKToolbarButton('Undo',FCKLang.Undo,null,null,false,true,14);break;case 'Redo':B=new FCKToolbarButton('Redo',FCKLang.Redo,null,null,false,true,15);break;case 'SelectAll':B=new FCKToolbarButton('SelectAll',FCKLang.SelectAll,null,null,true,null,18);break;case 'RemoveFormat':B=new FCKToolbarButton('RemoveFormat',FCKLang.RemoveFormat,null,null,false,true,19);break;case 'FitWindow':B=new FCKToolbarButton('FitWindow',FCKLang.FitWindow,null,null,true,true,66);break;case 'Bold':B=new FCKToolbarButton('Bold',FCKLang.Bold,null,null,false,true,20);break;case 'Italic':B=new FCKToolbarButton('Italic',FCKLang.Italic,null,null,false,true,21);break;case 'Underline':B=new FCKToolbarButton('Underline',FCKLang.Underline,null,null,false,true,22);break;case 'StrikeThrough':B=new FCKToolbarButton('StrikeThrough',FCKLang.StrikeThrough,null,null,false,true,23);break;case 'Subscript':B=new FCKToolbarButton('Subscript',FCKLang.Subscript,null,null,false,true,24);break;case 'Superscript':B=new FCKToolbarButton('Superscript',FCKLang.Superscript,null,null,false,true,25);break;case 'OrderedList':B=new FCKToolbarButton('InsertOrderedList',FCKLang.NumberedListLbl,FCKLang.NumberedList,null,false,true,26);break;case 'UnorderedList':B=new FCKToolbarButton('InsertUnorderedList',FCKLang.BulletedListLbl,FCKLang.BulletedList,null,false,true,27);break;case 'Outdent':B=new FCKToolbarButton('Outdent',FCKLang.DecreaseIndent,null,null,false,true,28);break;case 'Indent':B=new FCKToolbarButton('Indent',FCKLang.IncreaseIndent,null,null,false,true,29);break;case 'Link':B=new FCKToolbarButton('Link',FCKLang.InsertLinkLbl,FCKLang.InsertLink,null,false,true,34);break;case 'Unlink':B=new FCKToolbarButton('Unlink',FCKLang.RemoveLink,null,null,false,true,35);break;case 'Anchor':B=new FCKToolbarButton('Anchor',FCKLang.Anchor,null,null,null,null,36);break;case 'Image':B=new FCKToolbarButton('Image',FCKLang.InsertImageLbl,FCKLang.InsertImage,null,false,true,37);break;case 'Flash':B=new FCKToolbarButton('Flash',FCKLang.InsertFlashLbl,FCKLang.InsertFlash,null,false,true,38);break;case 'Table':B=new FCKToolbarButton('Table',FCKLang.InsertTableLbl,FCKLang.InsertTable,null,false,true,39);break;case 'SpecialChar':B=new FCKToolbarButton('SpecialChar',FCKLang.InsertSpecialCharLbl,FCKLang.InsertSpecialChar,null,false,true,42);break;case 'Smiley':B=new FCKToolbarButton('Smiley',FCKLang.InsertSmileyLbl,FCKLang.InsertSmiley,null,false,true,41);break;case 'PageBreak':B=new FCKToolbarButton('PageBreak',FCKLang.PageBreakLbl,FCKLang.PageBreak,null,false,true,43);break;case 'Rule':B=new FCKToolbarButton('InsertHorizontalRule',FCKLang.InsertLineLbl,FCKLang.InsertLine,null,false,true,40);break;case 'JustifyLeft':B=new FCKToolbarButton('JustifyLeft',FCKLang.LeftJustify,null,null,false,true,30);break;case 'JustifyCenter':B=new FCKToolbarButton('JustifyCenter',FCKLang.CenterJustify,null,null,false,true,31);break;case 'JustifyRight':B=new FCKToolbarButton('JustifyRight',FCKLang.RightJustify,null,null,false,true,32);break;case 'JustifyFull':B=new FCKToolbarButton('JustifyFull',FCKLang.BlockJustify,null,null,false,true,33);break;case 'Style':B=new FCKToolbarStyleCombo();break;case 'FontName':B=new FCKToolbarFontsCombo();break;case 'FontSize':B=new FCKToolbarFontSizeCombo();break;case 'FontFormat':B=new FCKToolbarFontFormatCombo();break;case 'TextColor':B=new FCKToolbarPanelButton('TextColor',FCKLang.TextColor,null,null,45);break;case 'BGColor':B=new FCKToolbarPanelButton('BGColor',FCKLang.BGColor,null,null,46);break;case 'Find':B=new FCKToolbarButton('Find',FCKLang.Find,null,null,null,null,16);break;case 'Replace':B=new FCKToolbarButton('Replace',FCKLang.Replace,null,null,null,null,17);break;case 'Form':B=new FCKToolbarButton('Form',FCKLang.Form,null,null,null,null,48);break;case 'Checkbox':B=new FCKToolbarButton('Checkbox',FCKLang.Checkbox,null,null,null,null,49);break;case 'Radio':B=new FCKToolbarButton('Radio',FCKLang.RadioButton,null,null,null,null,50);break;case 'TextField':B=new FCKToolbarButton('TextField',FCKLang.TextField,null,null,null,null,51);break;case 'Textarea':B=new FCKToolbarButton('Textarea',FCKLang.Textarea,null,null,null,null,52);break;case 'HiddenField':B=new FCKToolbarButton('HiddenField',FCKLang.HiddenField,null,null,null,null,56);break;case 'Button':B=new FCKToolbarButton('Button',FCKLang.Button,null,null,null,null,54);break;case 'Select':B=new FCKToolbarButton('Select',FCKLang.SelectionField,null,null,null,null,53);break;case 'ImageButton':B=new FCKToolbarButton('ImageButton',FCKLang.ImageButton,null,null,null,null,55);break;default:alert(FCKLang.UnknownToolbarItem.replace(/%1/g,A));return null;};FCKToolbarItems.LoadedItems[A]=B;return B;}\r
+var FCKToolbar=function(){this.Items=[];if (FCK.IECleanup) FCK.IECleanup.AddItem(this,FCKToolbar_Cleanup);};FCKToolbar.prototype.AddItem=function(A){return this.Items[this.Items.length]=A;};FCKToolbar.prototype.AddButton=function(A,B,C,D,E,F){if (typeof(D)=='number') D=[this.DefaultIconsStrip,this.DefaultIconSize,D];var G=new FCKToolbarButtonUI(A,B,C,D,E,F);G._FCKToolbar=this;G.OnClick=FCKToolbar_OnItemClick;return this.AddItem(G);};function FCKToolbar_OnItemClick(A){var B=A._FCKToolbar;if (B.OnItemClick) B.OnItemClick(B,A);};FCKToolbar.prototype.AddSeparator=function(){this.AddItem(new FCKToolbarSeparator());};FCKToolbar.prototype.Create=function(A){if (this.MainElement){if (this.MainElement.parentNode) this.MainElement.parentNode.removeChild(this.MainElement);this.MainElement=null;};var B=FCKTools.GetElementDocument(A);var e=this.MainElement=B.createElement('table');e.className='TB_Toolbar';e.style.styleFloat=e.style.cssFloat=(FCKLang.Dir=='ltr'?'left':'right');e.dir=FCKLang.Dir;e.cellPadding=0;e.cellSpacing=0;this.RowElement=e.insertRow(-1);var C;if (!this.HideStart){C=this.RowElement.insertCell(-1);C.appendChild(B.createElement('div')).className='TB_Start';};for (var i=0;i<this.Items.length;i++){this.Items[i].Create(this.RowElement.insertCell(-1));};if (!this.HideEnd){C=this.RowElement.insertCell(-1);C.appendChild(B.createElement('div')).className='TB_End';};A.appendChild(e);};function FCKToolbar_Cleanup(){this.MainElement=null;this.RowElement=null;};var FCKToolbarSeparator=function(){};FCKToolbarSeparator.prototype.Create=function(A){FCKTools.AppendElement(A,'div').className='TB_Separator';}\r
+var FCKToolbarBreak=function(){};FCKToolbarBreak.prototype.Create=function(A){var B=A.ownerDocument.createElement('div');B.style.clear=B.style.cssFloat=FCKLang.Dir=='rtl'?'right':'left';A.appendChild(B);}\r
+function FCKToolbarSet_Create(A){var B;var C=A||FCKConfig.ToolbarLocation;switch (C){case 'In':document.getElementById('xToolbarRow').style.display='';B=new FCKToolbarSet(document);break;default:FCK.Events.AttachEvent('OnBlur',FCK_OnBlur);FCK.Events.AttachEvent('OnFocus',FCK_OnFocus);var D;var E=C.match(/^Out:(.+)\((\w+)\)$/);if (E){D=eval('parent.'+E[1]).document.getElementById(E[2]);}else{E=C.match(/^Out:(\w+)$/);if (E) D=parent.document.getElementById(E[1]);};if (!D){alert('Invalid value for "ToolbarLocation"');return this._Init('In');};B=D.__FCKToolbarSet;if (B) break;var F=FCKTools.GetElementDocument(D).createElement('iframe');F.src='javascript:void(0)';F.frameBorder=0;F.width='100%';F.height='10';D.appendChild(F);F.unselectable='on';var G=F.contentWindow.document;G.open();G.write('<html><head><script type="text/javascript"> window.onload = window.onresize = function() { window.frameElement.height = document.body.scrollHeight ; } </script></head><body style="overflow: hidden">'+document.getElementById('xToolbarSpace').innerHTML+'</body></html>');G.close();G.oncontextmenu=FCKTools.CancelEvent;FCKTools.AppendStyleSheet(G,FCKConfig.SkinPath+'fck_editor.css');B=D.__FCKToolbarSet=new FCKToolbarSet(G);B._IFrame=F;if (FCK.IECleanup) FCK.IECleanup.AddItem(D,FCKToolbarSet_Target_Cleanup);};B.CurrentInstance=FCK;FCK.AttachToOnSelectionChange(B.RefreshItemsState);return B;};function FCK_OnBlur(A){var B=A.ToolbarSet;if (B.CurrentInstance==A) B.Disable();};function FCK_OnFocus(A){var B=A.ToolbarSet;var C=A||FCK;B.CurrentInstance.FocusManager.RemoveWindow(B._IFrame.contentWindow);B.CurrentInstance=C;C.FocusManager.AddWindow(B._IFrame.contentWindow,true);B.Enable();};function FCKToolbarSet_Cleanup(){this._TargetElement=null;this._IFrame=null;};function FCKToolbarSet_Target_Cleanup(){this.__FCKToolbarSet=null;};var FCKToolbarSet=function(A){this._Document=A;this._TargetElement=A.getElementById('xToolbar');var B=A.getElementById('xExpandHandle');var C=A.getElementById('xCollapseHandle');B.title=FCKLang.ToolbarExpand;B.onclick=FCKToolbarSet_Expand_OnClick;C.title=FCKLang.ToolbarCollapse;C.onclick=FCKToolbarSet_Collapse_OnClick;if (!FCKConfig.ToolbarCanCollapse||FCKConfig.ToolbarStartExpanded) this.Expand();else this.Collapse();C.style.display=FCKConfig.ToolbarCanCollapse?'':'none';if (FCKConfig.ToolbarCanCollapse) C.style.display='';else A.getElementById('xTBLeftBorder').style.display='';this.Toolbars=[];this.IsLoaded=false;if (FCK.IECleanup) FCK.IECleanup.AddItem(this,FCKToolbarSet_Cleanup);};function FCKToolbarSet_Expand_OnClick(){FCK.ToolbarSet.Expand();};function FCKToolbarSet_Collapse_OnClick(){FCK.ToolbarSet.Collapse();};FCKToolbarSet.prototype.Expand=function(){this._ChangeVisibility(false);};FCKToolbarSet.prototype.Collapse=function(){this._ChangeVisibility(true);};FCKToolbarSet.prototype._ChangeVisibility=function(A){this._Document.getElementById('xCollapsed').style.display=A?'':'none';this._Document.getElementById('xExpanded').style.display=A?'none':'';if (FCKBrowserInfo.IsGecko){FCKTools.RunFunction(window.onresize);}};FCKToolbarSet.prototype.Load=function(A){this.Name=A;this.Items=[];this.ItemsWysiwygOnly=[];this.ItemsContextSensitive=[];this._TargetElement.innerHTML='';var B=FCKConfig.ToolbarSets[A];if (!B){alert(FCKLang.UnknownToolbarSet.replace(/%1/g,A));return;};this.Toolbars=[];for (var x=0;x<B.length;x++){var C=B[x];if (!C) continue;var D;if (typeof(C)=='string'){if (C=='/') D=new FCKToolbarBreak();}else{D=new FCKToolbar();for (var j=0;j<C.length;j++){var E=C[j];if (E=='-') D.AddSeparator();else{var F=FCKToolbarItems.GetItem(E);if (F){D.AddItem(F);this.Items.push(F);if (!F.SourceView) this.ItemsWysiwygOnly.push(F);if (F.ContextSensitive) this.ItemsContextSensitive.push(F);}}}};D.Create(this._TargetElement);this.Toolbars[this.Toolbars.length]=D;};FCKTools.DisableSelection(this._Document.getElementById('xCollapseHandle').parentNode);if (FCK.Status!=2) FCK.Events.AttachEvent('OnStatusChange',this.RefreshModeState);else this.RefreshModeState();this.IsLoaded=true;this.IsEnabled=true;FCKTools.RunFunction(this.OnLoad);};FCKToolbarSet.prototype.Enable=function(){if (this.IsEnabled) return;this.IsEnabled=true;var A=this.Items;for (var i=0;i<A.length;i++) A[i].RefreshState();};FCKToolbarSet.prototype.Disable=function(){if (!this.IsEnabled) return;this.IsEnabled=false;var A=this.Items;for (var i=0;i<A.length;i++) A[i].Disable();};FCKToolbarSet.prototype.RefreshModeState=function(A){if (FCK.Status!=2) return;var B=A?A.ToolbarSet:this;var C=B.ItemsWysiwygOnly;if (FCK.EditMode==0){for (var i=0;i<C.length;i++) C[i].Enable();B.RefreshItemsState(A);}else{B.RefreshItemsState(A);for (var j=0;j<C.length;j++) C[j].Disable();}};FCKToolbarSet.prototype.RefreshItemsState=function(A){var B=(A?A.ToolbarSet:this).ItemsContextSensitive;for (var i=0;i<B.length;i++) B[i].RefreshState();};\r
+var FCKDialog={};FCKDialog.OpenDialog=function(A,B,C,D,E,F,G,H){var I={};I.Title=B;I.Page=C;I.Editor=window;I.CustomValue=F;var J=FCKConfig.BasePath+'fckdialog.html';this.Show(I,A,J,D,E,G,H);};\r
+FCKDialog.Show=function(A,B,C,D,E,F,G){var H=(FCKConfig.ScreenHeight-E)/2;var I=(FCKConfig.ScreenWidth-D)/2;var J="location=no,menubar=no,toolbar=no,dependent=yes,dialog=yes,minimizable=no,modal=yes,alwaysRaised=yes,resizable="+(G?'yes':'no')+",width="+D+",height="+E+",top="+H+",left="+I;if (!F) F=window;FCKFocusManager.Lock();var K=F.open('','FCKeditorDialog_'+B,J,true);if (!K){alert(FCKLang.DialogBlocked);FCKFocusManager.Unlock();return;};K.moveTo(I,H);K.resizeTo(D,E);K.focus();K.location.href=C;K.dialogArguments=A;F.FCKLastDialogInfo=A;this.Window=K;try{window.top.parent.addEventListener('mousedown',this.CheckFocus,true);window.top.parent.addEventListener('mouseup',this.CheckFocus,true);window.top.parent.addEventListener('click',this.CheckFocus,true);window.top.parent.addEventListener('focus',this.CheckFocus,true);}catch (e){}};FCKDialog.CheckFocus=function(){if (typeof(FCKDialog)!="object") return false;if (FCKDialog.Window&&!FCKDialog.Window.closed) FCKDialog.Window.focus();else{try{window.top.parent.removeEventListener('onmousedown',FCKDialog.CheckFocus,true);window.top.parent.removeEventListener('mouseup',FCKDialog.CheckFocus,true);window.top.parent.removeEventListener('click',FCKDialog.CheckFocus,true);window.top.parent.removeEventListener('onfocus',FCKDialog.CheckFocus,true);}catch (e){}};return false;};\r
+var FCKMenuItem=function(A,B,C,D,E){this.Name=B;this.Label=C||B;this.IsDisabled=E;this.Icon=new FCKIcon(D);this.SubMenu=new FCKMenuBlockPanel();this.SubMenu.Parent=A;this.SubMenu.OnClick=FCKTools.CreateEventListener(FCKMenuItem_SubMenu_OnClick,this);if (FCK.IECleanup) FCK.IECleanup.AddItem(this,FCKMenuItem_Cleanup);};FCKMenuItem.prototype.AddItem=function(A,B,C,D){this.HasSubMenu=true;return this.SubMenu.AddItem(A,B,C,D);};FCKMenuItem.prototype.AddSeparator=function(){this.SubMenu.AddSeparator();};FCKMenuItem.prototype.Create=function(A){var B=this.HasSubMenu;var C=FCKTools.GetElementDocument(A);var r=this.MainElement=A.insertRow(-1);r.className=this.IsDisabled?'MN_Item_Disabled':'MN_Item';if (!this.IsDisabled){FCKTools.AddEventListenerEx(r,'mouseover',FCKMenuItem_OnMouseOver,[this]);FCKTools.AddEventListenerEx(r,'click',FCKMenuItem_OnClick,[this]);if (!B) FCKTools.AddEventListenerEx(r,'mouseout',FCKMenuItem_OnMouseOut,[this]);};var D=r.insertCell(-1);D.className='MN_Icon';D.appendChild(this.Icon.CreateIconElement(C));D=r.insertCell(-1);D.className='MN_Label';D.noWrap=true;D.appendChild(C.createTextNode(this.Label));D=r.insertCell(-1);if (B){D.className='MN_Arrow';var E=D.appendChild(C.createElement('IMG'));E.src=FCK_IMAGES_PATH+'arrow_'+FCKLang.Dir+'.gif';E.width=4;E.height=7;this.SubMenu.Create();this.SubMenu.Panel.OnHide=FCKTools.CreateEventListener(FCKMenuItem_SubMenu_OnHide,this);}};FCKMenuItem.prototype.Activate=function(){this.MainElement.className='MN_Item_Over';if (this.HasSubMenu){this.SubMenu.Show(this.MainElement.offsetWidth+2,-2,this.MainElement);};FCKTools.RunFunction(this.OnActivate,this);};FCKMenuItem.prototype.Deactivate=function(){this.MainElement.className='MN_Item';if (this.HasSubMenu) this.SubMenu.Hide();};function FCKMenuItem_SubMenu_OnClick(A,B){FCKTools.RunFunction(B.OnClick,B,[A]);};function FCKMenuItem_SubMenu_OnHide(A){A.Deactivate();};function FCKMenuItem_OnClick(A,B){if (B.HasSubMenu) B.Activate();else{B.Deactivate();FCKTools.RunFunction(B.OnClick,B,[B]);}};function FCKMenuItem_OnMouseOver(A,B){B.Activate();};function FCKMenuItem_OnMouseOut(A,B){B.Deactivate();};function FCKMenuItem_Cleanup(){this.MainElement=null;}\r
+var FCKMenuBlock=function(){this._Items=[];};FCKMenuBlock.prototype.Count=function(){return this._Items.length;};FCKMenuBlock.prototype.AddItem=function(A,B,C,D){var E=new FCKMenuItem(this,A,B,C,D);E.OnClick=FCKTools.CreateEventListener(FCKMenuBlock_Item_OnClick,this);E.OnActivate=FCKTools.CreateEventListener(FCKMenuBlock_Item_OnActivate,this);this._Items.push(E);return E;};FCKMenuBlock.prototype.AddSeparator=function(){this._Items.push(new FCKMenuSeparator());};FCKMenuBlock.prototype.RemoveAllItems=function(){this._Items=[];var A=this._ItemsTable;if (A){while (A.rows.length>0) A.deleteRow(0);}};FCKMenuBlock.prototype.Create=function(A){if (!this._ItemsTable){if (FCK.IECleanup) FCK.IECleanup.AddItem(this,FCKMenuBlock_Cleanup);this._Window=FCKTools.GetElementWindow(A);var B=FCKTools.GetElementDocument(A);var C=A.appendChild(B.createElement('table'));C.cellPadding=0;C.cellSpacing=0;FCKTools.DisableSelection(C);var D=C.insertRow(-1).insertCell(-1);D.className='MN_Menu';var E=this._ItemsTable=D.appendChild(B.createElement('table'));E.cellPadding=0;E.cellSpacing=0;};for (var i=0;i<this._Items.length;i++) this._Items[i].Create(this._ItemsTable);};function FCKMenuBlock_Item_OnClick(A,B){FCKTools.RunFunction(B.OnClick,B,[A]);};function FCKMenuBlock_Item_OnActivate(A){var B=A._ActiveItem;if (B&&B!=this){if (!FCKBrowserInfo.IsIE&&B.HasSubMenu&&!this.HasSubMenu) A._Window.focus();B.Deactivate();};A._ActiveItem=this;};function FCKMenuBlock_Cleanup(){this._Window=null;this._ItemsTable=null;};var FCKMenuSeparator=function(){};FCKMenuSeparator.prototype.Create=function(A){var B=FCKTools.GetElementDocument(A);var r=A.insertRow(-1);var C=r.insertCell(-1);C.className='MN_Separator MN_Icon';C=r.insertCell(-1);C.className='MN_Separator';C.appendChild(B.createElement('DIV')).className='MN_Separator_Line';C=r.insertCell(-1);C.className='MN_Separator';C.appendChild(B.createElement('DIV')).className='MN_Separator_Line';}\r
+var FCKMenuBlockPanel=function(){FCKMenuBlock.call(this);};FCKMenuBlockPanel.prototype=new FCKMenuBlock();FCKMenuBlockPanel.prototype.Create=function(){var A=this.Panel=(this.Parent&&this.Parent.Panel?this.Parent.Panel.CreateChildPanel():new FCKPanel());A.AppendStyleSheet(FCKConfig.SkinPath+'fck_editor.css');FCKMenuBlock.prototype.Create.call(this,A.MainNode);};FCKMenuBlockPanel.prototype.Show=function(x,y,A){if (!this.Panel.CheckIsOpened()) this.Panel.Show(x,y,A);};FCKMenuBlockPanel.prototype.Hide=function(){if (this.Panel.CheckIsOpened()) this.Panel.Hide();}\r
+var FCKContextMenu=function(A,B){this.CtrlDisable=false;var C=this._Panel=new FCKPanel(A);C.AppendStyleSheet(FCKConfig.SkinPath+'fck_editor.css');C.IsContextMenu=true;if (FCKBrowserInfo.IsGecko) C.Document.addEventListener('draggesture',function(e) {e.preventDefault();return false;},true);var D=this._MenuBlock=new FCKMenuBlock();D.Panel=C;D.OnClick=FCKTools.CreateEventListener(FCKContextMenu_MenuBlock_OnClick,this);this._Redraw=true;};FCKContextMenu.prototype.SetMouseClickWindow=function(A){if (!FCKBrowserInfo.IsIE){this._Document=A.document;this._Document.addEventListener('contextmenu',FCKContextMenu_Document_OnContextMenu,false);}};FCKContextMenu.prototype.AddItem=function(A,B,C,D){var E=this._MenuBlock.AddItem(A,B,C,D);this._Redraw=true;return E;};FCKContextMenu.prototype.AddSeparator=function(){this._MenuBlock.AddSeparator();this._Redraw=true;};FCKContextMenu.prototype.RemoveAllItems=function(){this._MenuBlock.RemoveAllItems();this._Redraw=true;};FCKContextMenu.prototype.AttachToElement=function(A){if (FCKBrowserInfo.IsIE) FCKTools.AddEventListenerEx(A,'contextmenu',FCKContextMenu_AttachedElement_OnContextMenu,this);else A._FCKContextMenu=this;};function FCKContextMenu_Document_OnContextMenu(e){var A=e.target;while (A){if (A._FCKContextMenu){if (A._FCKContextMenu.CtrlDisable&&(e.ctrlKey||e.metaKey)) return true;FCKTools.CancelEvent(e);FCKContextMenu_AttachedElement_OnContextMenu(e,A._FCKContextMenu,A);};A=A.parentNode;}};function FCKContextMenu_AttachedElement_OnContextMenu(A,B,C){if (B.CtrlDisable&&(A.ctrlKey||A.metaKey)) return true;var D=C||this;if (B.OnBeforeOpen) B.OnBeforeOpen.call(B,D);if (B._MenuBlock.Count()==0) return false;if (B._Redraw){B._MenuBlock.Create(B._Panel.MainNode);B._Redraw=false;};FCKTools.DisableSelection(B._Panel.Document.body);B._Panel.Show(A.pageX||A.screenX,A.pageY||A.screenY,A.currentTarget||null);return false;};function FCKContextMenu_MenuBlock_OnClick(A,B){B._Panel.Hide();FCKTools.RunFunction(B.OnItemClick,B,A);}\r
+FCK.ContextMenu={};FCK.ContextMenu.Listeners=[];FCK.ContextMenu.RegisterListener=function(A){if (A) this.Listeners.push(A);};function FCK_ContextMenu_Init(){var A=FCK.ContextMenu._InnerContextMenu=new FCKContextMenu(FCKBrowserInfo.IsIE?window:window.parent,FCKLang.Dir);A.CtrlDisable=FCKConfig.BrowserContextMenuOnCtrl;A.OnBeforeOpen=FCK_ContextMenu_OnBeforeOpen;A.OnItemClick=FCK_ContextMenu_OnItemClick;var B=FCK.ContextMenu;for (var i=0;i<FCKConfig.ContextMenu.length;i++) B.RegisterListener(FCK_ContextMenu_GetListener(FCKConfig.ContextMenu[i]));};function FCK_ContextMenu_GetListener(A){switch (A){case 'Generic':return {AddItems:function(menu,tag,tagName){menu.AddItem('Cut',FCKLang.Cut,7,FCKCommands.GetCommand('Cut').GetState()==-1);menu.AddItem('Copy',FCKLang.Copy,8,FCKCommands.GetCommand('Copy').GetState()==-1);menu.AddItem('Paste',FCKLang.Paste,9,FCKCommands.GetCommand('Paste').GetState()==-1);}};case 'Table':return {AddItems:function(menu,tag,tagName){var B=(tagName=='TABLE');var C=(!B&&FCKSelection.HasAncestorNode('TABLE'));if (C){menu.AddSeparator();var D=menu.AddItem('Cell',FCKLang.CellCM);D.AddItem('TableInsertCell',FCKLang.InsertCell,58);D.AddItem('TableDeleteCells',FCKLang.DeleteCells,59);D.AddItem('TableMergeCells',FCKLang.MergeCells,60);D.AddItem('TableSplitCell',FCKLang.SplitCell,61);D.AddSeparator();D.AddItem('TableCellProp',FCKLang.CellProperties,57);menu.AddSeparator();D=menu.AddItem('Row',FCKLang.RowCM);D.AddItem('TableInsertRow',FCKLang.InsertRow,62);D.AddItem('TableDeleteRows',FCKLang.DeleteRows,63);menu.AddSeparator();D=menu.AddItem('Column',FCKLang.ColumnCM);D.AddItem('TableInsertColumn',FCKLang.InsertColumn,64);D.AddItem('TableDeleteColumns',FCKLang.DeleteColumns,65);};if (B||C){menu.AddSeparator();menu.AddItem('TableDelete',FCKLang.TableDelete);menu.AddItem('TableProp',FCKLang.TableProperties,39);}}};case 'Link':return {AddItems:function(menu,tag,tagName){var E=(tagName=='A'||FCKSelection.HasAncestorNode('A'));if (E||FCK.GetNamedCommandState('Unlink')!=-1){var F=FCKSelection.MoveToAncestorNode('A');var G=(F&&F.name.length>0&&F.href.length==0);if (G) return;menu.AddSeparator();if (E) menu.AddItem('Link',FCKLang.EditLink,34);menu.AddItem('Unlink',FCKLang.RemoveLink,35);}}};case 'Image':return {AddItems:function(menu,tag,tagName){if (tagName=='IMG'&&!tag.getAttribute('_fckfakelement')){menu.AddSeparator();menu.AddItem('Image',FCKLang.ImageProperties,37);}}};case 'Anchor':return {AddItems:function(menu,tag,tagName){var F=FCKSelection.MoveToAncestorNode('A');var G=(F&&F.name.length>0);if (G||(tagName=='IMG'&&tag.getAttribute('_fckanchor'))){menu.AddSeparator();menu.AddItem('Anchor',FCKLang.AnchorProp,36);}}};case 'Flash':return {AddItems:function(menu,tag,tagName){if (tagName=='IMG'&&tag.getAttribute('_fckflash')){menu.AddSeparator();menu.AddItem('Flash',FCKLang.FlashProperties,38);}}};case 'Form':return {AddItems:function(menu,tag,tagName){if (FCKSelection.HasAncestorNode('FORM')){menu.AddSeparator();menu.AddItem('Form',FCKLang.FormProp,48);}}};case 'Checkbox':return {AddItems:function(menu,tag,tagName){if (tagName=='INPUT'&&tag.type=='checkbox'){menu.AddSeparator();menu.AddItem('Checkbox',FCKLang.CheckboxProp,49);}}};case 'Radio':return {AddItems:function(menu,tag,tagName){if (tagName=='INPUT'&&tag.type=='radio'){menu.AddSeparator();menu.AddItem('Radio',FCKLang.RadioButtonProp,50);}}};case 'TextField':return {AddItems:function(menu,tag,tagName){if (tagName=='INPUT'&&(tag.type=='text'||tag.type=='password')){menu.AddSeparator();menu.AddItem('TextField',FCKLang.TextFieldProp,51);}}};case 'HiddenField':return {AddItems:function(menu,tag,tagName){if (tagName=='IMG'&&tag.getAttribute('_fckinputhidden')){menu.AddSeparator();menu.AddItem('HiddenField',FCKLang.HiddenFieldProp,56);}}};case 'ImageButton':return {AddItems:function(menu,tag,tagName){if (tagName=='INPUT'&&tag.type=='image'){menu.AddSeparator();menu.AddItem('ImageButton',FCKLang.ImageButtonProp,55);}}};case 'Button':return {AddItems:function(menu,tag,tagName){if (tagName=='INPUT'&&(tag.type=='button'||tag.type=='submit'||tag.type=='reset')){menu.AddSeparator();menu.AddItem('Button',FCKLang.ButtonProp,54);}}};case 'Select':return {AddItems:function(menu,tag,tagName){if (tagName=='SELECT'){menu.AddSeparator();menu.AddItem('Select',FCKLang.SelectionFieldProp,53);}}};case 'Textarea':return {AddItems:function(menu,tag,tagName){if (tagName=='TEXTAREA'){menu.AddSeparator();menu.AddItem('Textarea',FCKLang.TextareaProp,52);}}};case 'BulletedList':return {AddItems:function(menu,tag,tagName){if (FCKSelection.HasAncestorNode('UL')){menu.AddSeparator();menu.AddItem('BulletedList',FCKLang.BulletedListProp,27);}}};case 'NumberedList':return {AddItems:function(menu,tag,tagName){if (FCKSelection.HasAncestorNode('OL')){menu.AddSeparator();menu.AddItem('NumberedList',FCKLang.NumberedListProp,26);}}};};return null;};function FCK_ContextMenu_OnBeforeOpen(){FCK.Events.FireEvent('OnSelectionChange');var A,sTagName;if ((A=FCKSelection.GetSelectedElement())) sTagName=A.tagName;var B=FCK.ContextMenu._InnerContextMenu;B.RemoveAllItems();var C=FCK.ContextMenu.Listeners;for (var i=0;i<C.length;i++) C[i].AddItems(B,A,sTagName);};function FCK_ContextMenu_OnItemClick(A){FCK.Focus();FCKCommands.GetCommand(A.Name).Execute();};\r
+var FCKPlugin=function(A,B,C){this.Name=A;this.BasePath=C?C:FCKConfig.PluginsPath;this.Path=this.BasePath+A+'/';if (!B||B.length==0) this.AvailableLangs=[];else this.AvailableLangs=B.split(',');};FCKPlugin.prototype.Load=function(){if (this.AvailableLangs.length>0){var A;if (this.AvailableLangs.IndexOf(FCKLanguageManager.ActiveLanguage.Code)>=0) A=FCKLanguageManager.ActiveLanguage.Code;else A=this.AvailableLangs[0];LoadScript(this.Path+'lang/'+A+'.js');};LoadScript(this.Path+'fckplugin.js');}\r
+var FCKPlugins=FCK.Plugins={};FCKPlugins.ItemsCount=0;FCKPlugins.Items={};FCKPlugins.Load=function(){var A=FCKPlugins.Items;for (var i=0;i<FCKConfig.Plugins.Items.length;i++){var B=FCKConfig.Plugins.Items[i];var C=A[B[0]]=new FCKPlugin(B[0],B[1],B[2]);FCKPlugins.ItemsCount++;};for (var s in A) A[s].Load();FCKPlugins.Load=null;}\r
index dab0d63..0d43957 100644 (file)
 /*\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
- *\r
+ * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
+ * \r
  * == BEGIN LICENSE ==\r
- *\r
+ * \r
  * Licensed under the terms of any of the following licenses at your\r
  * choice:\r
- *\r
+ * \r
  *  - GNU General Public License Version 2 or later (the "GPL")\r
  *    http://www.gnu.org/licenses/gpl.html\r
- *\r
+ * \r
  *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")\r
  *    http://www.gnu.org/licenses/lgpl.html\r
- *\r
+ * \r
  *  - Mozilla Public License Version 1.1 or later (the "MPL")\r
  *    http://www.mozilla.org/MPL/MPL-1.1.html\r
- *\r
+ * \r
  * == END LICENSE ==\r
- *\r
+ * \r
  * This file has been compressed for better performance. The original source\r
  * can be found at "editor/_source".\r
  */\r
 \r
-var FCK_STATUS_NOTLOADED=window.parent.FCK_STATUS_NOTLOADED=0;var FCK_STATUS_ACTIVE=window.parent.FCK_STATUS_ACTIVE=1;var FCK_STATUS_COMPLETE=window.parent.FCK_STATUS_COMPLETE=2;var FCK_TRISTATE_OFF=window.parent.FCK_TRISTATE_OFF=0;var FCK_TRISTATE_ON=window.parent.FCK_TRISTATE_ON=1;var FCK_TRISTATE_DISABLED=window.parent.FCK_TRISTATE_DISABLED=-1;var FCK_UNKNOWN=window.parent.FCK_UNKNOWN=-9;var FCK_TOOLBARITEM_ONLYICON=window.parent.FCK_TOOLBARITEM_ONLYICON=0;var FCK_TOOLBARITEM_ONLYTEXT=window.parent.FCK_TOOLBARITEM_ONLYTEXT=1;var FCK_TOOLBARITEM_ICONTEXT=window.parent.FCK_TOOLBARITEM_ICONTEXT=2;var FCK_EDITMODE_WYSIWYG=window.parent.FCK_EDITMODE_WYSIWYG=0;var FCK_EDITMODE_SOURCE=window.parent.FCK_EDITMODE_SOURCE=1;var FCK_IMAGES_PATH='images/';var FCK_SPACER_PATH='images/spacer.gif';var CTRL=1000;var SHIFT=2000;var ALT=4000;var FCK_STYLE_BLOCK=0;var FCK_STYLE_INLINE=1;var FCK_STYLE_OBJECT=2;\r
-String.prototype.Contains=function(A){return (this.indexOf(A)>-1);};String.prototype.Equals=function(){var A=arguments;if (A.length==1&&A[0].pop) A=A[0];for (var i=0;i<A.length;i++){if (this==A[i]) return true;};return false;};String.prototype.IEquals=function(){var A=this.toUpperCase();var B=arguments;if (B.length==1&&B[0].pop) B=B[0];for (var i=0;i<B.length;i++){if (A==B[i].toUpperCase()) return true;};return false;};String.prototype.ReplaceAll=function(A,B){var C=this;for (var i=0;i<A.length;i++){C=C.replace(A[i],B[i]);};return C;};String.prototype.StartsWith=function(A){return (this.substr(0,A.length)==A);};String.prototype.EndsWith=function(A,B){var C=this.length;var D=A.length;if (D>C) return false;if (B){var E=new RegExp(A+'$','i');return E.test(this);}else return (D==0||this.substr(C-D,D)==A);};String.prototype.Remove=function(A,B){var s='';if (A>0) s=this.substring(0,A);if (A+B<this.length) s+=this.substring(A+B,this.length);return s;};String.prototype.Trim=function(){return this.replace(/(^[ \t\n\r]*)|([ \t\n\r]*$)/g,'');};String.prototype.LTrim=function(){return this.replace(/^[ \t\n\r]*/g,'');};String.prototype.RTrim=function(){return this.replace(/[ \t\n\r]*$/g,'');};String.prototype.ReplaceNewLineChars=function(A){return this.replace(/\n/g,A);};String.prototype.Replace=function(A,B,C){if (typeof B=='function'){return this.replace(A,function(){return B.apply(C||this,arguments);});}else return this.replace(A,B);};Array.prototype.IndexOf=function(A){for (var i=0;i<this.length;i++){if (this[i]==A) return i;};return-1;};\r
-var    FCKIECleanup=function(A){if (A._FCKCleanupObj) this.Items=A._FCKCleanupObj.Items;else{this.Items=[];A._FCKCleanupObj=this;FCKTools.AddEventListenerEx(A,'unload',FCKIECleanup_Cleanup);}};FCKIECleanup.prototype.AddItem=function(A,B){this.Items.push([A,B]);};function FCKIECleanup_Cleanup(){if (!this._FCKCleanupObj||(FCKConfig.MsWebBrowserControlCompat&&!window.FCKUnloadFlag)) return;var A=this._FCKCleanupObj.Items;while (A.length>0){var B=A.pop();if (B) B[1].call(B[0]);};this._FCKCleanupObj=null;if (CollectGarbage) CollectGarbage();};\r
-var s=navigator.userAgent.toLowerCase();var FCKBrowserInfo={IsIE:/*@cc_on!@*/false,IsIE7:/*@cc_on!@*/false&&(parseInt(s.match(/msie (\d+)/)[1],10)>=7),IsIE6:/*@cc_on!@*/false&&(parseInt(s.match(/msie (\d+)/)[1],10)>=6),IsSafari:s.Contains(' applewebkit/'),IsOpera:!!window.opera,IsAIR:s.Contains(' adobeair/'),IsMac:s.Contains('macintosh')};(function(A){A.IsGecko=(navigator.product=='Gecko')&&!A.IsSafari&&!A.IsOpera;A.IsGeckoLike=(A.IsGecko||A.IsSafari||A.IsOpera);if (A.IsGecko){var B=s.match(/rv:(\d+\.\d+)/);var C=B&&parseFloat(B[1]);if (C){A.IsGecko10=(C<1.8);A.IsGecko19=(C>1.8);}};if (A.IsSafari) A.IsSafari3=(parseFloat(s.match(/ applewebkit\/(\d+)/)[1])<526);})(FCKBrowserInfo);\r
+var FCK_STATUS_NOTLOADED=window.parent.FCK_STATUS_NOTLOADED=0;var FCK_STATUS_ACTIVE=window.parent.FCK_STATUS_ACTIVE=1;var FCK_STATUS_COMPLETE=window.parent.FCK_STATUS_COMPLETE=2;var FCK_TRISTATE_OFF=window.parent.FCK_TRISTATE_OFF=0;var FCK_TRISTATE_ON=window.parent.FCK_TRISTATE_ON=1;var FCK_TRISTATE_DISABLED=window.parent.FCK_TRISTATE_DISABLED=-1;var FCK_UNKNOWN=window.parent.FCK_UNKNOWN=-9;var FCK_TOOLBARITEM_ONLYICON=window.parent.FCK_TOOLBARITEM_ONLYICON=0;var FCK_TOOLBARITEM_ONLYTEXT=window.parent.FCK_TOOLBARITEM_ONLYTEXT=1;var FCK_TOOLBARITEM_ICONTEXT=window.parent.FCK_TOOLBARITEM_ICONTEXT=2;var FCK_EDITMODE_WYSIWYG=window.parent.FCK_EDITMODE_WYSIWYG=0;var FCK_EDITMODE_SOURCE=window.parent.FCK_EDITMODE_SOURCE=1;var FCK_IMAGES_PATH='images/';var FCK_SPACER_PATH='images/spacer.gif';var CTRL=1000;var SHIFT=2000;var ALT=4000;\r
+String.prototype.Contains=function(A){return (this.indexOf(A)>-1);};String.prototype.Equals=function(){var A=arguments;if (A.length==1&&A[0].pop) A=A[0];for (var i=0;i<A.length;i++){if (this==A[i]) return true;};return false;};String.prototype.IEquals=function(){var A=this.toUpperCase();var B=arguments;if (B.length==1&&B[0].pop) B=B[0];for (var i=0;i<B.length;i++){if (A==B[i].toUpperCase()) return true;};return false;};String.prototype.ReplaceAll=function(A,B){var C=this;for (var i=0;i<A.length;i++){C=C.replace(A[i],B[i]);};return C;};Array.prototype.AddItem=function(A){var i=this.length;this[i]=A;return i;};Array.prototype.IndexOf=function(A){for (var i=0;i<this.length;i++){if (this[i]==A) return i;};return-1;};String.prototype.StartsWith=function(A){return (this.substr(0,A.length)==A);};String.prototype.EndsWith=function(A,B){var C=this.length;var D=A.length;if (D>C) return false;if (B){var E=new RegExp(A+'$','i');return E.test(this);}else return (D==0||this.substr(C-D,D)==A);};String.prototype.Remove=function(A,B){var s='';if (A>0) s=this.substring(0,A);if (A+B<this.length) s+=this.substring(A+B,this.length);return s;};String.prototype.Trim=function(){return this.replace(/(^[ \t\n\r]*)|([ \t\n\r]*$)/g,'');};String.prototype.LTrim=function(){return this.replace(/^[ \t\n\r]*/g,'');};String.prototype.RTrim=function(){return this.replace(/[ \t\n\r]*$/g,'');};String.prototype.ReplaceNewLineChars=function(A){return this.replace(/\n/g,A);}\r
+var    FCKIECleanup=function(A){if (A._FCKCleanupObj) this.Items=A._FCKCleanupObj.Items;else{this.Items=[];A._FCKCleanupObj=this;FCKTools.AddEventListenerEx(A,'unload',FCKIECleanup_Cleanup);}};FCKIECleanup.prototype.AddItem=function(A,B){this.Items.push([A,B]);};function FCKIECleanup_Cleanup(){if (!this._FCKCleanupObj) return;var A=this._FCKCleanupObj.Items;while (A.length>0){var B=A.pop();if (B) B[1].call(B[0]);};this._FCKCleanupObj=null;if (CollectGarbage) CollectGarbage();}\r
+var s=navigator.userAgent.toLowerCase();var FCKBrowserInfo={IsIE:s.Contains('msie'),IsIE7:s.Contains('msie 7'),IsGecko:s.Contains('gecko/'),IsSafari:s.Contains('safari'),IsOpera:s.Contains('opera'),IsMac:s.Contains('macintosh')};(function(A){A.IsGeckoLike=(A.IsGecko||A.IsSafari||A.IsOpera);if (A.IsGecko){var B=s.match(/gecko\/(\d+)/)[1];A.IsGecko10=((B<20051111)||(/rv:1\.7/.test(s)));}else A.IsGecko10=false;})(FCKBrowserInfo);\r
 var FCKURLParams={};(function(){var A=document.location.search.substr(1).split('&');for (var i=0;i<A.length;i++){var B=A[i].split('=');var C=decodeURIComponent(B[0]);var D=decodeURIComponent(B[1]);FCKURLParams[C]=D;}})();\r
-var FCKEvents=function(A){this.Owner=A;this._RegisteredEvents={};};FCKEvents.prototype.AttachEvent=function(A,B){var C;if (!(C=this._RegisteredEvents[A])) this._RegisteredEvents[A]=[B];else{if (C.IndexOf(B)==-1) C.push(B);}};FCKEvents.prototype.FireEvent=function(A,B){var C=true;var D=this._RegisteredEvents[A];if (D){for (var i=0;i<D.length;i++){try{C=(D[i](this.Owner,B)&&C);}catch(e){if (e.number!=-2146823277) throw e;}}};return C;};\r
-var FCKDataProcessor=function(){};FCKDataProcessor.prototype={ConvertToHtml:function(A){if (FCKConfig.FullPage){FCK.DocTypeDeclaration=A.match(FCKRegexLib.DocTypeTag);if (!FCKRegexLib.HasBodyTag.test(A)) A='<body>'+A+'</body>';if (!FCKRegexLib.HtmlOpener.test(A)) A='<html dir="'+FCKConfig.ContentLangDirection+'">'+A+'</html>';if (!FCKRegexLib.HeadOpener.test(A)) A=A.replace(FCKRegexLib.HtmlOpener,'$&<head><title></title></head>');return A;}else{var B=FCKConfig.DocType+'<html dir="'+FCKConfig.ContentLangDirection+'"';if (FCKBrowserInfo.IsIE&&FCKConfig.DocType.length>0&&!FCKRegexLib.Html4DocType.test(FCKConfig.DocType)) B+=' style="overflow-y: scroll"';B+='><head><title></title></head><body'+FCKConfig.GetBodyAttributes()+'>'+A+'</body></html>';return B;}},ConvertToDataFormat:function(A,B,C,D){var E=FCKXHtml.GetXHTML(A,!B,D);if (C&&FCKRegexLib.EmptyOutParagraph.test(E)) return '';return E;},FixHtml:function(A){return A;}};\r
-var FCK={Name:FCKURLParams['InstanceName'],Status:0,EditMode:0,Toolbar:null,HasFocus:false,DataProcessor:new FCKDataProcessor(),GetInstanceObject:(function(){var w=window;return function(name){return w[name];}})(),AttachToOnSelectionChange:function(A){this.Events.AttachEvent('OnSelectionChange',A);},GetLinkedFieldValue:function(){return this.LinkedField.value;},GetParentForm:function(){return this.LinkedField.form;},StartupValue:'',IsDirty:function(){if (this.EditMode==1) return (this.StartupValue!=this.EditingArea.Textarea.value);else{if (!this.EditorDocument) return false;return (this.StartupValue!=this.EditorDocument.body.innerHTML);}},ResetIsDirty:function(){if (this.EditMode==1) this.StartupValue=this.EditingArea.Textarea.value;else if (this.EditorDocument.body) this.StartupValue=this.EditorDocument.body.innerHTML;},StartEditor:function(){this.TempBaseTag=FCKConfig.BaseHref.length>0?'<base href="'+FCKConfig.BaseHref+'" _fcktemp="true"></base>':'';var A=FCK.KeystrokeHandler=new FCKKeystrokeHandler();A.OnKeystroke=_FCK_KeystrokeHandler_OnKeystroke;A.SetKeystrokes(FCKConfig.Keystrokes);if (FCKBrowserInfo.IsIE7){if ((CTRL+86) in A.Keystrokes) A.SetKeystrokes([CTRL+86,true]);if ((SHIFT+45) in A.Keystrokes) A.SetKeystrokes([SHIFT+45,true]);};A.SetKeystrokes([CTRL+8,true]);this.EditingArea=new FCKEditingArea(document.getElementById('xEditingArea'));this.EditingArea.FFSpellChecker=FCKConfig.FirefoxSpellChecker;this.SetData(this.GetLinkedFieldValue(),true);FCKTools.AddEventListener(document,"keydown",this._TabKeyHandler);this.AttachToOnSelectionChange(_FCK_PaddingNodeListener);if (FCKBrowserInfo.IsGecko) this.AttachToOnSelectionChange(this._ExecCheckEmptyBlock);},Focus:function(){FCK.EditingArea.Focus();},SetStatus:function(A){this.Status=A;if (A==1){FCKFocusManager.AddWindow(window,true);if (FCKBrowserInfo.IsIE) FCKFocusManager.AddWindow(window.frameElement,true);if (FCKConfig.StartupFocus) FCK.Focus();};this.Events.FireEvent('OnStatusChange',A);},FixBody:function(){var A=FCKConfig.EnterMode;if (A!='p'&&A!='div') return;var B=this.EditorDocument;if (!B) return;var C=B.body;if (!C) return;FCKDomTools.TrimNode(C);var D=C.firstChild;var E;while (D){var F=false;switch (D.nodeType){case 1:var G=D.nodeName.toLowerCase();if (!FCKListsLib.BlockElements[G]&&G!='li'&&!D.getAttribute('_fckfakelement')&&D.getAttribute('_moz_dirty')==null) F=true;break;case 3:if (E||D.nodeValue.Trim().length>0) F=true;break;case 8:if (E) F=true;break;};if (F){var H=D.parentNode;if (!E) E=H.insertBefore(B.createElement(A),D);E.appendChild(H.removeChild(D));D=E.nextSibling;}else{if (E){FCKDomTools.TrimNode(E);E=null;};D=D.nextSibling;}};if (E) FCKDomTools.TrimNode(E);},GetData:function(A){FCK.Events.FireEvent("OnBeforeGetData");if (FCK.EditMode==1) return FCK.EditingArea.Textarea.value;this.FixBody();var B=FCK.EditorDocument;if (!B) return null;var C=FCKConfig.FullPage;var D=FCK.DataProcessor.ConvertToDataFormat(C?B.documentElement:B.body,!C,FCKConfig.IgnoreEmptyParagraphValue,A);D=FCK.ProtectEventsRestore(D);if (FCKBrowserInfo.IsIE) D=D.replace(FCKRegexLib.ToReplace,'$1');if (C){if (FCK.DocTypeDeclaration&&FCK.DocTypeDeclaration.length>0) D=FCK.DocTypeDeclaration+'\n'+D;if (FCK.XmlDeclaration&&FCK.XmlDeclaration.length>0) D=FCK.XmlDeclaration+'\n'+D;};D=FCKConfig.ProtectedSource.Revert(D);setTimeout(function() { FCK.Events.FireEvent("OnAfterGetData");},0);return D;},UpdateLinkedField:function(){var A=FCK.GetXHTML(FCKConfig.FormatOutput);if (FCKConfig.HtmlEncodeOutput) A=FCKTools.HTMLEncode(A);FCK.LinkedField.value=A;FCK.Events.FireEvent('OnAfterLinkedFieldUpdate');},RegisteredDoubleClickHandlers:{},OnDoubleClick:function(A){var B=FCK.RegisteredDoubleClickHandlers[A.tagName.toUpperCase()];if (B){for (var i=0;i<B.length;i++) B[i](A);};B=FCK.RegisteredDoubleClickHandlers['*'];if (B){for (var i=0;i<B.length;i++) B[i](A);}},RegisterDoubleClickHandler:function(A,B){var C=B||'*';C=C.toUpperCase();var D;if (!(D=FCK.RegisteredDoubleClickHandlers[C])) FCK.RegisteredDoubleClickHandlers[C]=[A];else{if (D.IndexOf(A)==-1) D.push(A);}},OnAfterSetHTML:function(){FCKDocumentProcessor.Process(FCK.EditorDocument);FCKUndo.SaveUndoStep();FCK.Events.FireEvent('OnSelectionChange');FCK.Events.FireEvent('OnAfterSetHTML');},ProtectUrls:function(A){A=A.replace(FCKRegexLib.ProtectUrlsA,'$& _fcksavedurl=$1');A=A.replace(FCKRegexLib.ProtectUrlsImg,'$& _fcksavedurl=$1');A=A.replace(FCKRegexLib.ProtectUrlsArea,'$& _fcksavedurl=$1');return A;},ProtectEvents:function(A){return A.replace(FCKRegexLib.TagsWithEvent,_FCK_ProtectEvents_ReplaceTags);},ProtectEventsRestore:function(A){return A.replace(FCKRegexLib.ProtectedEvents,_FCK_ProtectEvents_RestoreEvents);},ProtectTags:function(A){var B=FCKConfig.ProtectedTags;if (FCKBrowserInfo.IsIE) B+=B.length>0?'|ABBR|XML|EMBED|OBJECT':'ABBR|XML|EMBED|OBJECT';var C;if (B.length>0){C=new RegExp('<('+B+')(?!\w|:)','gi');A=A.replace(C,'<FCK:$1');C=new RegExp('<\/('+B+')>','gi');A=A.replace(C,'<\/FCK:$1>');};B='META';if (FCKBrowserInfo.IsIE) B+='|HR';C=new RegExp('<(('+B+')(?=\\s|>|/)[\\s\\S]*?)/?>','gi');A=A.replace(C,'<FCK:$1 />');return A;},SetData:function(A,B){this.EditingArea.Mode=FCK.EditMode;if (FCKBrowserInfo.IsIE&&FCK.EditorDocument){FCK.EditorDocument.detachEvent("onselectionchange",Doc_OnSelectionChange);};FCKTempBin.Reset();FCK.Selection.Release();if (FCK.EditMode==0){this._ForceResetIsDirty=(B===true);A=FCKConfig.ProtectedSource.Protect(A);A=FCK.DataProcessor.ConvertToHtml(A);A=A.replace(FCKRegexLib.InvalidSelfCloseTags,'$1></$2>');A=FCK.ProtectEvents(A);A=FCK.ProtectUrls(A);A=FCK.ProtectTags(A);if (FCK.TempBaseTag.length>0&&!FCKRegexLib.HasBaseTag.test(A)) A=A.replace(FCKRegexLib.HeadOpener,'$&'+FCK.TempBaseTag);var C='';if (!FCKConfig.FullPage) C+=_FCK_GetEditorAreaStyleTags();if (FCKBrowserInfo.IsIE) C+=FCK._GetBehaviorsStyle();else if (FCKConfig.ShowBorders) C+=FCKTools.GetStyleHtml(FCK_ShowTableBordersCSS,true);C+=FCKTools.GetStyleHtml(FCK_InternalCSS,true);A=A.replace(FCKRegexLib.HeadCloser,C+'$&');this.EditingArea.OnLoad=_FCK_EditingArea_OnLoad;this.EditingArea.Start(A);}else{FCK.EditorWindow=null;FCK.EditorDocument=null;FCKDomTools.PaddingNode=null;this.EditingArea.OnLoad=null;this.EditingArea.Start(A);this.EditingArea.Textarea._FCKShowContextMenu=true;FCK.EnterKeyHandler=null;if (B) this.ResetIsDirty();FCK.KeystrokeHandler.AttachToElement(this.EditingArea.Textarea);this.EditingArea.Textarea.focus();FCK.Events.FireEvent('OnAfterSetHTML');};if (window.onresize) window.onresize();},RedirectNamedCommands:{},ExecuteNamedCommand:function(A,B,C,D){if (!D) FCKUndo.SaveUndoStep();if (!C&&FCK.RedirectNamedCommands[A]!=null) FCK.ExecuteRedirectedNamedCommand(A,B);else{FCK.Focus();FCK.EditorDocument.execCommand(A,false,B);FCK.Events.FireEvent('OnSelectionChange');};if (!D) FCKUndo.SaveUndoStep();},GetNamedCommandState:function(A){try{if (FCKBrowserInfo.IsSafari&&FCK.EditorWindow&&A.IEquals('Paste')) return 0;if (!FCK.EditorDocument.queryCommandEnabled(A)) return -1;else{return FCK.EditorDocument.queryCommandState(A)?1:0;}}catch (e){return 0;}},GetNamedCommandValue:function(A){var B='';var C=FCK.GetNamedCommandState(A);if (C==-1) return null;try{B=this.EditorDocument.queryCommandValue(A);}catch(e) {};return B?B:'';},Paste:function(A){if (FCK.Status!=2||!FCK.Events.FireEvent('OnPaste')) return false;return A||FCK._ExecPaste();},PasteFromWord:function(){FCKDialog.OpenDialog('FCKDialog_Paste',FCKLang.PasteFromWord,'dialog/fck_paste.html',400,330,'Word');},Preview:function(){var A;if (FCKConfig.FullPage){if (FCK.TempBaseTag.length>0) A=FCK.TempBaseTag+FCK.GetXHTML();else A=FCK.GetXHTML();}else{A=FCKConfig.DocType+'<html dir="'+FCKConfig.ContentLangDirection+'"><head>'+FCK.TempBaseTag+'<title>'+FCKLang.Preview+'</title>'+_FCK_GetEditorAreaStyleTags()+'</head><body'+FCKConfig.GetBodyAttributes()+'>'+FCK.GetXHTML()+'</body></html>';};var B=FCKConfig.ScreenWidth*0.8;var C=FCKConfig.ScreenHeight*0.7;var D=(FCKConfig.ScreenWidth-B)/2;var E='';if (FCK_IS_CUSTOM_DOMAIN&&FCKBrowserInfo.IsIE){window._FCKHtmlToLoad=A;E='javascript:void( (function(){document.open() ;document.domain="'+document.domain+'" ;document.write( window.opener._FCKHtmlToLoad );document.close() ;window.opener._FCKHtmlToLoad = null ;})() )';};var F=window.open(E,null,'toolbar=yes,location=no,status=yes,menubar=yes,scrollbars=yes,resizable=yes,width='+B+',height='+C+',left='+D);if (!FCK_IS_CUSTOM_DOMAIN||!FCKBrowserInfo.IsIE){F.document.write(A);F.document.close();}},SwitchEditMode:function(A){var B=(FCK.EditMode==0);var C=FCK.IsDirty();var D;if (B){FCKCommands.GetCommand('ShowBlocks').SaveState();if (!A&&FCKBrowserInfo.IsIE) FCKUndo.SaveUndoStep();D=FCK.GetXHTML(FCKConfig.FormatSource);if (FCKBrowserInfo.IsIE) FCKTempBin.ToHtml();if (D==null) return false;}else D=this.EditingArea.Textarea.value;FCK.EditMode=B?1:0;FCK.SetData(D,!C);FCK.Focus();FCKTools.RunFunction(FCK.ToolbarSet.RefreshModeState,FCK.ToolbarSet);return true;},InsertElement:function(A){if (typeof A=='string') A=this.EditorDocument.createElement(A);var B=A.nodeName.toLowerCase();FCKSelection.Restore();var C=new FCKDomRange(this.EditorWindow);C.MoveToSelection();C.DeleteContents();if (FCKListsLib.BlockElements[B]!=null){if (C.StartBlock){if (C.CheckStartOfBlock()) C.MoveToPosition(C.StartBlock,3);else if (C.CheckEndOfBlock()) C.MoveToPosition(C.StartBlock,4);else C.SplitBlock();};C.InsertNode(A);var D=FCKDomTools.GetNextSourceElement(A,false,null,['hr','br','param','img','area','input'],true);if (!D&&FCKConfig.EnterMode!='br'){D=this.EditorDocument.body.appendChild(this.EditorDocument.createElement(FCKConfig.EnterMode));if (FCKBrowserInfo.IsGeckoLike) FCKTools.AppendBogusBr(D);};if (FCKListsLib.EmptyElements[B]==null) C.MoveToElementEditStart(A);else if (D) C.MoveToElementEditStart(D);else C.MoveToPosition(A,4);if (FCKBrowserInfo.IsGeckoLike){if (D) FCKDomTools.ScrollIntoView(D,false);FCKDomTools.ScrollIntoView(A,false);}}else{C.InsertNode(A);C.SetStart(A,4);C.SetEnd(A,4);};C.Select();C.Release();this.Focus();return A;},_InsertBlockElement:function(A){},_IsFunctionKey:function(A){if (A>=16&&A<=20) return true;if (A==27||(A>=33&&A<=40)) return true;if (A==45) return true;return false;},_KeyDownListener:function(A){if (!A) A=FCK.EditorWindow.event;if (FCK.EditorWindow){if (!FCK._IsFunctionKey(A.keyCode)&&!(A.ctrlKey||A.metaKey)&&!(A.keyCode==46)) FCK._KeyDownUndo();};return true;},_KeyDownUndo:function(){if (!FCKUndo.Typing){FCKUndo.SaveUndoStep();FCKUndo.Typing=true;FCK.Events.FireEvent("OnSelectionChange");};FCKUndo.TypesCount++;FCKUndo.Changed=1;if (FCKUndo.TypesCount>FCKUndo.MaxTypes){FCKUndo.TypesCount=0;FCKUndo.SaveUndoStep();}},_TabKeyHandler:function(A){if (!A) A=window.event;var B=A.keyCode;if (B==9&&FCK.EditMode!=0){if (FCKBrowserInfo.IsIE){var C=document.selection.createRange();if (C.parentElement()!=FCK.EditingArea.Textarea) return true;C.text='\t';C.select();}else{var a=[];var D=FCK.EditingArea.Textarea;var E=D.selectionStart;var F=D.selectionEnd;a.push(D.value.substr(0,E));a.push('\t');a.push(D.value.substr(F));D.value=a.join('');D.setSelectionRange(E+1,E+1);};if (A.preventDefault) return A.preventDefault();return A.returnValue=false;};return true;}};FCK.Events=new FCKEvents(FCK);FCK.GetHTML=FCK.GetXHTML=FCK.GetData;FCK.SetHTML=FCK.SetData;FCK.InsertElementAndGetIt=FCK.CreateElement=FCK.InsertElement;function _FCK_ProtectEvents_ReplaceTags(A){return A.replace(FCKRegexLib.EventAttributes,_FCK_ProtectEvents_ReplaceEvents);};function _FCK_ProtectEvents_ReplaceEvents(A,B){return ' '+B+'_fckprotectedatt="'+encodeURIComponent(A)+'"';};function _FCK_ProtectEvents_RestoreEvents(A,B){return decodeURIComponent(B);};function _FCK_MouseEventsListener(A){if (!A) A=window.event;if (A.type=='mousedown') FCK.MouseDownFlag=true;else if (A.type=='mouseup') FCK.MouseDownFlag=false;else if (A.type=='mousemove') FCK.Events.FireEvent('OnMouseMove',A);};function _FCK_PaddingNodeListener(){if (FCKConfig.EnterMode.IEquals('br')) return;FCKDomTools.EnforcePaddingNode(FCK.EditorDocument,FCKConfig.EnterMode);if (!FCKBrowserInfo.IsIE&&FCKDomTools.PaddingNode){var A=FCKSelection.GetSelection();if (A&&A.rangeCount==1){var B=A.getRangeAt(0);if (B.collapsed&&B.startContainer==FCK.EditorDocument.body&&B.startOffset==0){B.selectNodeContents(FCKDomTools.PaddingNode);B.collapse(true);A.removeAllRanges();A.addRange(B);}}}else if (FCKDomTools.PaddingNode){var C=FCKSelection.GetParentElement();var D=FCKDomTools.PaddingNode;if (C&&C.nodeName.IEquals('body')){if (FCK.EditorDocument.body.childNodes.length==1&&FCK.EditorDocument.body.firstChild==D){if (FCKSelection._GetSelectionDocument(FCK.EditorDocument.selection)!=FCK.EditorDocument) return;var B=FCK.EditorDocument.body.createTextRange();var F=false;if (!D.childNodes.firstChild){D.appendChild(FCKTools.GetElementDocument(D).createTextNode('\ufeff'));F=true;};B.moveToElementText(D);B.select();if (F) B.pasteHTML('');}}}};function _FCK_EditingArea_OnLoad(){FCK.EditorWindow=FCK.EditingArea.Window;FCK.EditorDocument=FCK.EditingArea.Document;if (FCKBrowserInfo.IsIE) FCKTempBin.ToElements();FCK.InitializeBehaviors();FCK.MouseDownFlag=false;FCKTools.AddEventListener(FCK.EditorDocument,'mousemove',_FCK_MouseEventsListener);FCKTools.AddEventListener(FCK.EditorDocument,'mousedown',_FCK_MouseEventsListener);FCKTools.AddEventListener(FCK.EditorDocument,'mouseup',_FCK_MouseEventsListener);if (FCKBrowserInfo.IsSafari){FCKTools.AddEventListener(FCK.EditorDocument,'paste',function(evt){var A=new FCKDomRange(FCK.EditorWindow);var B=FCK.EditorDocument.createTextNode('\ufeff');var C=FCK.EditorDocument.createElement('a');C.id='fck_paste_padding';C.innerHTML='&#65279;';A.MoveToSelection();A.DeleteContents();A.InsertNode(B);A.Collapse();A.InsertNode(C);A.MoveToPosition(C,3);A.Select();setTimeout(function(){B.parentNode.removeChild(B);C=FCK.EditorDocument.getElementById('fck_paste_padding');C.parentNode.removeChild(C);},0);});};if (FCKBrowserInfo.IsSafari){var D=function(evt){if (!(evt.ctrlKey||evt.metaKey)) return;if (FCK.EditMode!=0) return;switch (evt.keyCode){case 89:FCKUndo.Redo();break;case 90:FCKUndo.Undo();break;}};FCKTools.AddEventListener(FCK.EditorDocument,'keyup',D);};FCK.EnterKeyHandler=new FCKEnterKey(FCK.EditorWindow,FCKConfig.EnterMode,FCKConfig.ShiftEnterMode,FCKConfig.TabSpaces);FCK.KeystrokeHandler.AttachToElement(FCK.EditorDocument);if (FCK._ForceResetIsDirty) FCK.ResetIsDirty();if (FCKBrowserInfo.IsIE&&FCK.HasFocus) FCK.EditorDocument.body.setActive();FCK.OnAfterSetHTML();FCKCommands.GetCommand('ShowBlocks').RestoreState();if (FCK.Status!=0) return;FCK.SetStatus(1);};function _FCK_GetEditorAreaStyleTags(){return FCKTools.GetStyleHtml(FCKConfig.EditorAreaCSS)+FCKTools.GetStyleHtml(FCKConfig.EditorAreaStyles);};function _FCK_KeystrokeHandler_OnKeystroke(A,B){if (FCK.Status!=2) return false;if (FCK.EditMode==0){switch (B){case 'Paste':return!FCK.Paste();case 'Cut':FCKUndo.SaveUndoStep();return false;}}else{if (B.Equals('Paste','Undo','Redo','SelectAll','Cut')) return false;};var C=FCK.Commands.GetCommand(B);if (C.GetState()==-1) return false;return (C.Execute.apply(C,FCKTools.ArgumentsToArray(arguments,2))!==false);};(function(){var A=window.parent.document;var B=A.getElementById(FCK.Name);var i=0;while (B||i==0){if (B&&B.tagName.toLowerCase().Equals('input','textarea')){FCK.LinkedField=B;break;};B=A.getElementsByName(FCK.Name)[i++];}})();var FCKTempBin={Elements:[],AddElement:function(A){var B=this.Elements.length;this.Elements[B]=A;return B;},RemoveElement:function(A){var e=this.Elements[A];this.Elements[A]=null;return e;},Reset:function(){var i=0;while (i<this.Elements.length) this.Elements[i++]=null;this.Elements.length=0;},ToHtml:function(){for (var i=0;i<this.Elements.length;i++){this.Elements[i]='<div>&nbsp;'+this.Elements[i].outerHTML+'</div>';this.Elements[i].isHtml=true;}},ToElements:function(){var A=FCK.EditorDocument.createElement('div');for (var i=0;i<this.Elements.length;i++){if (this.Elements[i].isHtml){A.innerHTML=this.Elements[i];this.Elements[i]=A.firstChild.removeChild(A.firstChild.lastChild);}}}};var FCKFocusManager=FCK.FocusManager={IsLocked:false,AddWindow:function(A,B){var C;if (FCKBrowserInfo.IsIE) C=A.nodeType==1?A:A.frameElement?A.frameElement:A.document;else if (FCKBrowserInfo.IsSafari) C=A;else C=A.document;FCKTools.AddEventListener(C,'blur',FCKFocusManager_Win_OnBlur);FCKTools.AddEventListener(C,'focus',B?FCKFocusManager_Win_OnFocus_Area:FCKFocusManager_Win_OnFocus);},RemoveWindow:function(A){if (FCKBrowserInfo.IsIE) oTarget=A.nodeType==1?A:A.frameElement?A.frameElement:A.document;else oTarget=A.document;FCKTools.RemoveEventListener(oTarget,'blur',FCKFocusManager_Win_OnBlur);FCKTools.RemoveEventListener(oTarget,'focus',FCKFocusManager_Win_OnFocus_Area);FCKTools.RemoveEventListener(oTarget,'focus',FCKFocusManager_Win_OnFocus);},Lock:function(){this.IsLocked=true;},Unlock:function(){if (this._HasPendingBlur) FCKFocusManager._Timer=window.setTimeout(FCKFocusManager_FireOnBlur,100);this.IsLocked=false;},_ResetTimer:function(){this._HasPendingBlur=false;if (this._Timer){window.clearTimeout(this._Timer);delete this._Timer;}}};function FCKFocusManager_Win_OnBlur(){if (typeof(FCK)!='undefined'&&FCK.HasFocus){FCKFocusManager._ResetTimer();FCKFocusManager._Timer=window.setTimeout(FCKFocusManager_FireOnBlur,100);}};function FCKFocusManager_FireOnBlur(){if (FCKFocusManager.IsLocked) FCKFocusManager._HasPendingBlur=true;else{FCK.HasFocus=false;FCK.Events.FireEvent("OnBlur");}};function FCKFocusManager_Win_OnFocus_Area(){if (FCKFocusManager._IsFocusing) return;FCKFocusManager._IsFocusing=true;FCK.Focus();FCKFocusManager_Win_OnFocus();FCKTools.RunFunction(function(){delete FCKFocusManager._IsFocusing;});};function FCKFocusManager_Win_OnFocus(){FCKFocusManager._ResetTimer();if (!FCK.HasFocus&&!FCKFocusManager.IsLocked){FCK.HasFocus=true;FCK.Events.FireEvent("OnFocus");}};(function(){var A=window.frameElement;var B=A.width;var C=A.height;if (/^\d+$/.test(B)) B+='px';if (/^\d+$/.test(C)) C+='px';var D=A.style;D.border=D.padding=D.margin=0;D.backgroundColor='transparent';D.backgroundImage='none';D.width=B;D.height=C;})();\r
-FCK.Description="FCKeditor for Internet Explorer 5.5+";FCK._GetBehaviorsStyle=function(){if (!FCK._BehaviorsStyle){var A=FCKConfig.BasePath;var B='';var C;C='<style type="text/css" _fcktemp="true">';if (FCKConfig.ShowBorders) B='url('+A+'css/behaviors/showtableborders.htc)';C+='INPUT,TEXTAREA,SELECT,.FCK__Anchor,.FCK__PageBreak,.FCK__InputHidden';if (FCKConfig.DisableObjectResizing){C+=',IMG';B+=' url('+A+'css/behaviors/disablehandles.htc)';};C+=' { behavior: url('+A+'css/behaviors/disablehandles.htc) ; }';if (B.length>0) C+='TABLE { behavior: '+B+' ; }';C+='</style>';FCK._BehaviorsStyle=C;};return FCK._BehaviorsStyle;};function Doc_OnMouseUp(){if (FCK.EditorWindow.event.srcElement.tagName=='HTML'){FCK.Focus();FCK.EditorWindow.event.cancelBubble=true;FCK.EditorWindow.event.returnValue=false;}};function Doc_OnPaste(){var A=FCK.EditorDocument.body;A.detachEvent('onpaste',Doc_OnPaste);var B=FCK.Paste(!FCKConfig.ForcePasteAsPlainText&&!FCKConfig.AutoDetectPasteFromWord);A.attachEvent('onpaste',Doc_OnPaste);return B;};function Doc_OnDblClick(){FCK.OnDoubleClick(FCK.EditorWindow.event.srcElement);FCK.EditorWindow.event.cancelBubble=true;};function Doc_OnSelectionChange(){if (!FCK.IsSelectionChangeLocked&&FCK.EditorDocument) FCK.Events.FireEvent("OnSelectionChange");};function Doc_OnDrop(){if (FCK.MouseDownFlag){FCK.MouseDownFlag=false;return;};if (FCKConfig.ForcePasteAsPlainText){var A=FCK.EditorWindow.event;if (FCK._CheckIsPastingEnabled()||FCKConfig.ShowDropDialog) FCK.PasteAsPlainText(A.dataTransfer.getData('Text'));A.returnValue=false;A.cancelBubble=true;}};FCK.InitializeBehaviors=function(A){this.EditorDocument.attachEvent('onmouseup',Doc_OnMouseUp);this.EditorDocument.body.attachEvent('onpaste',Doc_OnPaste);this.EditorDocument.body.attachEvent('ondrop',Doc_OnDrop);FCK.ContextMenu._InnerContextMenu.AttachToElement(FCK.EditorDocument.body);this.EditorDocument.attachEvent("onkeydown",FCK._KeyDownListener);this.EditorDocument.attachEvent("ondblclick",Doc_OnDblClick);this.EditorDocument.attachEvent("onbeforedeactivate",function(){ FCKSelection.Save();});this.EditorDocument.attachEvent("onselectionchange",Doc_OnSelectionChange);FCKTools.AddEventListener(FCK.EditorDocument,'mousedown',Doc_OnMouseDown);};FCK.InsertHtml=function(A){A=FCKConfig.ProtectedSource.Protect(A);A=FCK.ProtectEvents(A);A=FCK.ProtectUrls(A);A=FCK.ProtectTags(A);FCKSelection.Restore();FCK.EditorWindow.focus();FCKUndo.SaveUndoStep();var B=FCKSelection.GetSelection();if (B.type.toLowerCase()=='control') B.clear();A='<span id="__fakeFCKRemove__" style="display:none;">fakeFCKRemove</span>'+A;B.createRange().pasteHTML(A);var C=FCK.EditorDocument.getElementById('__fakeFCKRemove__');if (C.parentNode.childNodes.length==1) C=C.parentNode;C.removeNode(true);FCKDocumentProcessor.Process(FCK.EditorDocument);this.Events.FireEvent("OnSelectionChange");};FCK.SetInnerHtml=function(A){var B=FCK.EditorDocument;B.body.innerHTML='<div id="__fakeFCKRemove__">&nbsp;</div>'+A;B.getElementById('__fakeFCKRemove__').removeNode(true);};function FCK_PreloadImages(){var A=new FCKImagePreloader();A.AddImages(FCKConfig.PreloadImages);A.AddImages(FCKConfig.SkinPath+'fck_strip.gif');A.OnComplete=LoadToolbarSetup;A.Start();};function Document_OnContextMenu(){return (event.srcElement._FCKShowContextMenu==true);};document.oncontextmenu=Document_OnContextMenu;function FCK_Cleanup(){this.LinkedField=null;this.EditorWindow=null;this.EditorDocument=null;};FCK._ExecPaste=function(){if (FCK._PasteIsRunning) return true;if (FCKConfig.ForcePasteAsPlainText){FCK.PasteAsPlainText();return false;};var A=FCK._CheckIsPastingEnabled(true);if (A===false) FCKTools.RunFunction(FCKDialog.OpenDialog,FCKDialog,['FCKDialog_Paste',FCKLang.Paste,'dialog/fck_paste.html',400,330,'Security']);else{if (FCKConfig.AutoDetectPasteFromWord&&A.length>0){var B=/<\w[^>]*(( class="?MsoNormal"?)|(="mso-))/gi;if (B.test(A)){if (confirm(FCKLang.PasteWordConfirm)){FCK.PasteFromWord();return false;}}};FCK._PasteIsRunning=true;FCK.ExecuteNamedCommand('Paste');delete FCK._PasteIsRunning;};return false;};FCK.PasteAsPlainText=function(A){if (!FCK._CheckIsPastingEnabled()){FCKDialog.OpenDialog('FCKDialog_Paste',FCKLang.PasteAsText,'dialog/fck_paste.html',400,330,'PlainText');return;};var B=null;if (!A) B=clipboardData.getData("Text");else B=A;if (B&&B.length>0){B=FCKTools.HTMLEncode(B);B=FCKTools.ProcessLineBreaks(window,FCKConfig,B);var C=B.search('</p>');var D=B.search('<p>');if ((C!=-1&&D!=-1&&C<D)||(C!=-1&&D==-1)){var E=B.substr(0,C);B=B.substr(C+4);this.InsertHtml(E);};FCKUndo.SaveLocked=true;this.InsertHtml(B);FCKUndo.SaveLocked=false;}};FCK._CheckIsPastingEnabled=function(A){FCK._PasteIsEnabled=false;document.body.attachEvent('onpaste',FCK_CheckPasting_Listener);var B=FCK.GetClipboardHTML();document.body.detachEvent('onpaste',FCK_CheckPasting_Listener);if (FCK._PasteIsEnabled){if (!A) B=true;}else B=false;delete FCK._PasteIsEnabled;return B;};function FCK_CheckPasting_Listener(){FCK._PasteIsEnabled=true;};FCK.GetClipboardHTML=function(){var A=document.getElementById('___FCKHiddenDiv');if (!A){A=document.createElement('DIV');A.id='___FCKHiddenDiv';var B=A.style;B.position='absolute';B.visibility=B.overflow='hidden';B.width=B.height=1;document.body.appendChild(A);};A.innerHTML='';var C=document.body.createTextRange();C.moveToElementText(A);C.execCommand('Paste');var D=A.innerHTML;A.innerHTML='';return D;};FCK.CreateLink=function(A,B){var C=[];var D=FCKSelection.GetType()=='Control';var E=D&&FCKSelection.GetSelectedElement();if (!(D&&!FCKTools.GetElementAscensor(E,'a'))) FCK.ExecuteNamedCommand('Unlink',null,false,!!B);if (A.length>0){if (D){var F=this.EditorDocument.createElement('A');F.href=A;var G=E;G.parentNode.insertBefore(F,G);G.parentNode.removeChild(G);F.appendChild(G);return [F];};var H='javascript:void(0);/*'+(new Date().getTime())+'*/';FCK.ExecuteNamedCommand('CreateLink',H,false,!!B);var I=this.EditorDocument.links;for (i=0;i<I.length;i++){var F=I[i];if (F.getAttribute('href',2)==H){var K=F.innerHTML;F.href=A;F.innerHTML=K;var L=F.lastChild;if (L&&L.nodeName=='BR'){FCKDomTools.InsertAfterNode(F,F.removeChild(L));};C.push(F);}}};return C;};function _FCK_RemoveDisabledAtt(){this.removeAttribute('disabled');};function Doc_OnMouseDown(A){var e=A.srcElement;if (e.nodeName&&e.nodeName.IEquals('input')&&e.type.IEquals(['radio','checkbox'])&&!e.disabled){e.disabled=true;FCKTools.SetTimeout(_FCK_RemoveDisabledAtt,1,e);}};\r
-var FCKConfig=FCK.Config={};if (document.location.protocol=='file:'){FCKConfig.BasePath=decodeURIComponent(document.location.pathname.substr(1));FCKConfig.BasePath=FCKConfig.BasePath.replace(/\\/gi,'/');var sFullProtocol=document.location.href.match(/^(file\:\/{2,3})/)[1];if (FCKBrowserInfo.IsOpera) sFullProtocol+='localhost/';FCKConfig.BasePath=sFullProtocol+FCKConfig.BasePath.substring(0,FCKConfig.BasePath.lastIndexOf('/')+1);}else FCKConfig.BasePath=document.location.protocol+'//'+document.location.host+document.location.pathname.substring(0,document.location.pathname.lastIndexOf('/')+1);FCKConfig.FullBasePath=FCKConfig.BasePath;FCKConfig.EditorPath=FCKConfig.BasePath.replace(/editor\/$/,'');try{FCKConfig.ScreenWidth=screen.width;FCKConfig.ScreenHeight=screen.height;}catch (e){FCKConfig.ScreenWidth=800;FCKConfig.ScreenHeight=600;};FCKConfig.ProcessHiddenField=function(){this.PageConfig={};var A=window.parent.document.getElementById(FCK.Name+'___Config');if (!A) return;var B=A.value.split('&');for (var i=0;i<B.length;i++){if (B[i].length==0) continue;var C=B[i].split('=');var D=decodeURIComponent(C[0]);var E=decodeURIComponent(C[1]);if (D=='CustomConfigurationsPath') FCKConfig[D]=E;else if (E.toLowerCase()=="true") this.PageConfig[D]=true;else if (E.toLowerCase()=="false") this.PageConfig[D]=false;else if (E.length>0&&!isNaN(E)) this.PageConfig[D]=parseFloat(E);else this.PageConfig[D]=E;}};function FCKConfig_LoadPageConfig(){var A=FCKConfig.PageConfig;for (var B in A) FCKConfig[B]=A[B];};function FCKConfig_PreProcess(){var A=FCKConfig;if (A.AllowQueryStringDebug){try{if ((/fckdebug=true/i).test(window.top.location.search)) A.Debug=true;}catch (e) {  }};if (!A.PluginsPath.EndsWith('/')) A.PluginsPath+='/';var B=A.ToolbarComboPreviewCSS;if (!B||B.length==0) A.ToolbarComboPreviewCSS=A.EditorAreaCSS;A.RemoveAttributesArray=(A.RemoveAttributes||'').split(',');if (!FCKConfig.SkinEditorCSS||FCKConfig.SkinEditorCSS.length==0) FCKConfig.SkinEditorCSS=FCKConfig.SkinPath+'fck_editor.css';if (!FCKConfig.SkinDialogCSS||FCKConfig.SkinDialogCSS.length==0) FCKConfig.SkinDialogCSS=FCKConfig.SkinPath+'fck_dialog.css';};FCKConfig.ToolbarSets={};FCKConfig.Plugins={};FCKConfig.Plugins.Items=[];FCKConfig.Plugins.Add=function(A,B,C){FCKConfig.Plugins.Items.push([A,B,C]);};FCKConfig.ProtectedSource={};FCKConfig.ProtectedSource._CodeTag=(new Date()).valueOf();FCKConfig.ProtectedSource.RegexEntries=[/<!--[\s\S]*?-->/g,/<script[\s\S]*?<\/script>/gi,/<noscript[\s\S]*?<\/noscript>/gi];FCKConfig.ProtectedSource.Add=function(A){this.RegexEntries.push(A);};FCKConfig.ProtectedSource.Protect=function(A){var B=this._CodeTag;function _Replace(protectedSource){var C=FCKTempBin.AddElement(protectedSource);return '<!--{'+B+C+'}-->';};for (var i=0;i<this.RegexEntries.length;i++){A=A.replace(this.RegexEntries[i],_Replace);};return A;};FCKConfig.ProtectedSource.Revert=function(A,B){function _Replace(m,opener,index){var C=B?FCKTempBin.RemoveElement(index):FCKTempBin.Elements[index];return FCKConfig.ProtectedSource.Revert(C,B);};var D=new RegExp("(<|&lt;)!--\\{"+this._CodeTag+"(\\d+)\\}--(>|&gt;)","g");return A.replace(D,_Replace);};FCKConfig.GetBodyAttributes=function(){var A='';if (this.BodyId&&this.BodyId.length>0) A+=' id="'+this.BodyId+'"';if (this.BodyClass&&this.BodyClass.length>0) A+=' class="'+this.BodyClass+'"';return A;};FCKConfig.ApplyBodyAttributes=function(A){if (this.BodyId&&this.BodyId.length>0) A.id=FCKConfig.BodyId;if (this.BodyClass&&this.BodyClass.length>0) A.className+=' '+FCKConfig.BodyClass;};\r
-var FCKDebug={Output:function(){},OutputObject:function(){}};\r
-var FCKDomTools={MoveChildren:function(A,B,C){if (A==B) return;var D;if (C){while ((D=A.lastChild)) B.insertBefore(A.removeChild(D),B.firstChild);}else{while ((D=A.firstChild)) B.appendChild(A.removeChild(D));}},MoveNode:function(A,B,C){if (C) B.insertBefore(FCKDomTools.RemoveNode(A),B.firstChild);else B.appendChild(FCKDomTools.RemoveNode(A));},TrimNode:function(A){this.LTrimNode(A);this.RTrimNode(A);},LTrimNode:function(A){var B;while ((B=A.firstChild)){if (B.nodeType==3){var C=B.nodeValue.LTrim();var D=B.nodeValue.length;if (C.length==0){A.removeChild(B);continue;}else if (C.length<D){B.splitText(D-C.length);A.removeChild(A.firstChild);}};break;}},RTrimNode:function(A){var B;while ((B=A.lastChild)){if (B.nodeType==3){var C=B.nodeValue.RTrim();var D=B.nodeValue.length;if (C.length==0){B.parentNode.removeChild(B);continue;}else if (C.length<D){B.splitText(C.length);A.lastChild.parentNode.removeChild(A.lastChild);}};break;};if (!FCKBrowserInfo.IsIE&&!FCKBrowserInfo.IsOpera){B=A.lastChild;if (B&&B.nodeType==1&&B.nodeName.toLowerCase()=='br'){B.parentNode.removeChild(B);}}},RemoveNode:function(A,B){if (B){var C;while ((C=A.firstChild)) A.parentNode.insertBefore(A.removeChild(C),A);};return A.parentNode.removeChild(A);},GetFirstChild:function(A,B){if (typeof (B)=='string') B=[B];var C=A.firstChild;while(C){if (C.nodeType==1&&C.tagName.Equals.apply(C.tagName,B)) return C;C=C.nextSibling;};return null;},GetLastChild:function(A,B){if (typeof (B)=='string') B=[B];var C=A.lastChild;while(C){if (C.nodeType==1&&(!B||C.tagName.Equals(B))) return C;C=C.previousSibling;};return null;},GetPreviousSourceElement:function(A,B,C,D){if (!A) return null;if (C&&A.nodeType==1&&A.nodeName.IEquals(C)) return null;if (A.previousSibling) A=A.previousSibling;else return this.GetPreviousSourceElement(A.parentNode,B,C,D);while (A){if (A.nodeType==1){if (C&&A.nodeName.IEquals(C)) break;if (!D||!A.nodeName.IEquals(D)) return A;}else if (B&&A.nodeType==3&&A.nodeValue.RTrim().length>0) break;if (A.lastChild) A=A.lastChild;else return this.GetPreviousSourceElement(A,B,C,D);};return null;},GetNextSourceElement:function(A,B,C,D,E){while((A=this.GetNextSourceNode(A,E))){if (A.nodeType==1){if (C&&A.nodeName.IEquals(C)) break;if (D&&A.nodeName.IEquals(D)) return this.GetNextSourceElement(A,B,C,D);return A;}else if (B&&A.nodeType==3&&A.nodeValue.RTrim().length>0) break;};return null;},GetNextSourceNode:function(A,B,C,D){if (!A) return null;var E;if (!B&&A.firstChild) E=A.firstChild;else{if (D&&A==D) return null;E=A.nextSibling;if (!E&&(!D||D!=A.parentNode)) return this.GetNextSourceNode(A.parentNode,true,C,D);};if (C&&E&&E.nodeType!=C) return this.GetNextSourceNode(E,false,C,D);return E;},GetPreviousSourceNode:function(A,B,C,D){if (!A) return null;var E;if (!B&&A.lastChild) E=A.lastChild;else{if (D&&A==D) return null;E=A.previousSibling;if (!E&&(!D||D!=A.parentNode)) return this.GetPreviousSourceNode(A.parentNode,true,C,D);};if (C&&E&&E.nodeType!=C) return this.GetPreviousSourceNode(E,false,C,D);return E;},InsertAfterNode:function(A,B){return A.parentNode.insertBefore(B,A.nextSibling);},GetParents:function(A){var B=[];while (A){B.unshift(A);A=A.parentNode;};return B;},GetCommonParents:function(A,B){var C=this.GetParents(A);var D=this.GetParents(B);var E=[];for (var i=0;i<C.length;i++){if (C[i]==D[i]) E.push(C[i]);};return E;},GetCommonParentNode:function(A,B,C){var D={};if (!C.pop) C=[C];while (C.length>0) D[C.pop().toLowerCase()]=1;var E=this.GetCommonParents(A,B);var F=null;while ((F=E.pop())){if (D[F.nodeName.toLowerCase()]) return F;};return null;},GetIndexOf:function(A){var B=A.parentNode?A.parentNode.firstChild:null;var C=-1;while (B){C++;if (B==A) return C;B=B.nextSibling;};return-1;},PaddingNode:null,EnforcePaddingNode:function(A,B){try{if (!A||!A.body) return;}catch (e){return;};this.CheckAndRemovePaddingNode(A,B,true);try{if (A.body.lastChild&&(A.body.lastChild.nodeType!=1||A.body.lastChild.tagName.toLowerCase()==B.toLowerCase())) return;}catch (e){return;};var C=A.createElement(B);if (FCKBrowserInfo.IsGecko&&FCKListsLib.NonEmptyBlockElements[B]) FCKTools.AppendBogusBr(C);this.PaddingNode=C;if (A.body.childNodes.length==1&&A.body.firstChild.nodeType==1&&A.body.firstChild.tagName.toLowerCase()=='br'&&(A.body.firstChild.getAttribute('_moz_dirty')!=null||A.body.firstChild.getAttribute('type')=='_moz')) A.body.replaceChild(C,A.body.firstChild);else A.body.appendChild(C);},CheckAndRemovePaddingNode:function(A,B,C){var D=this.PaddingNode;if (!D) return;try{if (D.parentNode!=A.body||D.tagName.toLowerCase()!=B||(D.childNodes.length>1)||(D.firstChild&&D.firstChild.nodeValue!='\xa0'&&String(D.firstChild.tagName).toLowerCase()!='br')){this.PaddingNode=null;return;}}catch (e){this.PaddingNode=null;return;};if (!C){if (D.parentNode.childNodes.length>1) D.parentNode.removeChild(D);this.PaddingNode=null;}},HasAttribute:function(A,B){if (A.hasAttribute) return A.hasAttribute(B);else{var C=A.attributes[B];return (C!=undefined&&C.specified);}},HasAttributes:function(A){var B=A.attributes;for (var i=0;i<B.length;i++){if (FCKBrowserInfo.IsIE){var C=B[i].nodeName;if (C.StartsWith('_fck')){continue;};if (C=='class'){if (A.className.length>0) return true;continue;}};if (B[i].specified) return true;};return false;},RemoveAttribute:function(A,B){if (FCKBrowserInfo.IsIE&&B.toLowerCase()=='class') B='className';return A.removeAttribute(B,0);},RemoveAttributes:function (A,B){for (var i=0;i<B.length;i++) this.RemoveAttribute(A,B[i]);},GetAttributeValue:function(A,B){var C=B;if (typeof B=='string') B=A.attributes[B];else C=B.nodeName;if (B&&B.specified){if (C=='style') return A.style.cssText;else if (C=='class'||C.indexOf('on')==0) return B.nodeValue;else{return A.getAttribute(C,2);}};return null;},Contains:function(A,B){if (A.contains&&B.nodeType==1) return A.contains(B);while ((B=B.parentNode)){if (B==A) return true;};return false;},BreakParent:function(A,B,C){var D=C||new FCKDomRange(FCKTools.GetElementWindow(A));D.SetStart(A,4);D.SetEnd(B,4);var E=D.ExtractContents();D.InsertNode(A.parentNode.removeChild(A));E.InsertAfterNode(A);D.Release(!!C);},GetNodeAddress:function(A,B){var C=[];while (A&&A!=FCKTools.GetElementDocument(A).documentElement){var D=A.parentNode;var E=-1;for(var i=0;i<D.childNodes.length;i++){var F=D.childNodes[i];if (B===true&&F.nodeType==3&&F.previousSibling&&F.previousSibling.nodeType==3) continue;E++;if (D.childNodes[i]==A) break;};C.unshift(E);A=A.parentNode;};return C;},GetNodeFromAddress:function(A,B,C){var D=A.documentElement;for (var i=0;i<B.length;i++){var E=B[i];if (!C){D=D.childNodes[E];continue;};var F=-1;for (var j=0;j<D.childNodes.length;j++){var G=D.childNodes[j];if (C===true&&G.nodeType==3&&G.previousSibling&&G.previousSibling.nodeType==3) continue;F++;if (F==E){D=G;break;}}};return D;},CloneElement:function(A){A=A.cloneNode(false);A.removeAttribute('id',false);return A;},ClearElementJSProperty:function(A,B){if (FCKBrowserInfo.IsIE) A.removeAttribute(B);else delete A[B];},SetElementMarker:function (A,B,C,D){var E=String(parseInt(Math.random()*0xffffffff,10));B._FCKMarkerId=E;B[C]=D;if (!A[E]) A[E]={ 'element':B,'markers':{} };A[E]['markers'][C]=D;},ClearElementMarkers:function(A,B,C){var D=B._FCKMarkerId;if (!D) return;this.ClearElementJSProperty(B,'_FCKMarkerId');for (var j in A[D]['markers']) this.ClearElementJSProperty(B,j);if (C) delete A[D];},ClearAllMarkers:function(A){for (var i in A) this.ClearElementMarkers(A,A[i]['element'],true);},ListToArray:function(A,B,C,D,E){if (!A.nodeName.IEquals(['ul','ol'])) return [];if (!D) D=0;if (!C) C=[];for (var i=0;i<A.childNodes.length;i++){var F=A.childNodes[i];if (!F.nodeName.IEquals('li')) continue;var G={ 'parent':A,'indent':D,'contents':[] };if (!E){G.grandparent=A.parentNode;if (G.grandparent&&G.grandparent.nodeName.IEquals('li')) G.grandparent=G.grandparent.parentNode;}else G.grandparent=E;if (B) this.SetElementMarker(B,F,'_FCK_ListArray_Index',C.length);C.push(G);for (var j=0;j<F.childNodes.length;j++){var H=F.childNodes[j];if (H.nodeName.IEquals(['ul','ol'])) this.ListToArray(H,B,C,D+1,G.grandparent);else G.contents.push(H);}};return C;},ArrayToList:function(A,B,C){if (C==undefined) C=0;if (!A||A.length<C+1) return null;var D=FCKTools.GetElementDocument(A[C].parent);var E=D.createDocumentFragment();var F=null;var G=C;var H=Math.max(A[C].indent,0);var I=null;while (true){var J=A[G];if (J.indent==H){if (!F||A[G].parent.nodeName!=F.nodeName){F=A[G].parent.cloneNode(false);E.appendChild(F);};I=D.createElement('li');F.appendChild(I);for (var i=0;i<J.contents.length;i++) I.appendChild(J.contents[i].cloneNode(true));G++;}else if (J.indent==Math.max(H,0)+1){var K=this.ArrayToList(A,null,G);I.appendChild(K.listNode);G=K.nextIndex;}else if (J.indent==-1&&C==0&&J.grandparent){var I;if (J.grandparent.nodeName.IEquals(['ul','ol'])) I=D.createElement('li');else{if (FCKConfig.EnterMode.IEquals(['div','p'])&&!J.grandparent.nodeName.IEquals('td')) I=D.createElement(FCKConfig.EnterMode);else I=D.createDocumentFragment();};for (var i=0;i<J.contents.length;i++) I.appendChild(J.contents[i].cloneNode(true));if (I.nodeType==11){if (I.lastChild&&I.lastChild.getAttribute&&I.lastChild.getAttribute('type')=='_moz') I.removeChild(I.lastChild);I.appendChild(D.createElement('br'));};if (I.nodeName.IEquals(FCKConfig.EnterMode)&&I.firstChild){this.TrimNode(I);if (FCKListsLib.BlockBoundaries[I.firstChild.nodeName.toLowerCase()]){var M=D.createDocumentFragment();while (I.firstChild) M.appendChild(I.removeChild(I.firstChild));I=M;}};if (FCKBrowserInfo.IsGeckoLike&&I.nodeName.IEquals(['div','p'])) FCKTools.AppendBogusBr(I);E.appendChild(I);F=null;G++;}else return null;if (A.length<=G||Math.max(A[G].indent,0)<H){break;}};if (B){var N=E.firstChild;while (N){if (N.nodeType==1) this.ClearElementMarkers(B,N);N=this.GetNextSourceNode(N);}};return { 'listNode':E,'nextIndex':G };},GetNextSibling:function(A,B){A=A.nextSibling;while (A&&!B&&A.nodeType!=1&&(A.nodeType!=3||A.nodeValue.length==0)) A=A.nextSibling;return A;},GetPreviousSibling:function(A,B){A=A.previousSibling;while (A&&!B&&A.nodeType!=1&&(A.nodeType!=3||A.nodeValue.length==0)) A=A.previousSibling;return A;},CheckIsEmptyElement:function(A,B){var C=A.firstChild;var D;while (C){if (C.nodeType==1){if (D||!FCKListsLib.InlineNonEmptyElements[C.nodeName.toLowerCase()]) return false;if (!B||B(C)===true) D=C;}else if (C.nodeType==3&&C.nodeValue.length>0) return false;C=C.nextSibling;};return D?this.CheckIsEmptyElement(D,B):true;},SetElementStyles:function(A,B){var C=A.style;for (var D in B) C[D]=B[D];},SetOpacity:function(A,B){if (FCKBrowserInfo.IsIE){B=Math.round(B*100);A.style.filter=(B>100?'':'progid:DXImageTransform.Microsoft.Alpha(opacity='+B+')');}else A.style.opacity=B;},GetCurrentElementStyle:function(A,B){if (FCKBrowserInfo.IsIE) return A.currentStyle[B];else return A.ownerDocument.defaultView.getComputedStyle(A,'').getPropertyValue(B);},GetPositionedAncestor:function(A){var B=A;while (B!=FCKTools.GetElementDocument(B).documentElement){if (this.GetCurrentElementStyle(B,'position')!='static') return B;if (B==FCKTools.GetElementDocument(B).documentElement&&currentWindow!=w) B=currentWindow.frameElement;else B=B.parentNode;};return null;},ScrollIntoView:function(A,B){var C=FCKTools.GetElementWindow(A);var D=FCKTools.GetViewPaneSize(C).Height;var E=D*-1;if (B===false){E+=A.offsetHeight||0;E+=parseInt(this.GetCurrentElementStyle(A,'marginBottom')||0,10)||0;};var F=FCKTools.GetDocumentPosition(C,A);E+=F.y;var G=FCKTools.GetScrollPosition(C).Y;if (E>0&&(E>G||E<G-D)) C.scrollTo(0,E);},CheckIsEditable:function(A){var B=A.nodeName.toLowerCase();var C=FCK.DTD[B]||FCK.DTD.span;return (C['#']&&!FCKListsLib.NonEditableElements[B]);},GetSelectedDivContainers:function(){var A=[];var B=new FCKDomRange(FCK.EditorWindow);B.MoveToSelection();var C=B.GetTouchedStartNode();var D=B.GetTouchedEndNode();var E=C;if (C==D){while (D.nodeType==1&&D.lastChild) D=D.lastChild;D=FCKDomTools.GetNextSourceNode(D);}while (E&&E!=D){if (E.nodeType!=3||!/^[ \t\n]*$/.test(E.nodeValue)){var F=new FCKElementPath(E);var G=F.BlockLimit;if (G&&G.nodeName.IEquals('div')&&A.IndexOf(G)==-1) A.push(G);};E=FCKDomTools.GetNextSourceNode(E);};return A;}};\r
-var FCKTools={};FCKTools.CreateBogusBR=function(A){var B=A.createElement('br');B.setAttribute('type','_moz');return B;};FCKTools.FixCssUrls=function(A,B){if (!A||A.length==0) return B;return B.replace(/url\s*\(([\s'"]*)(.*?)([\s"']*)\)/g,function(match,opener,path,closer){if (/^\/|^\w?:/.test(path)) return match;else return 'url('+opener+A+path+closer+')';});};FCKTools._GetUrlFixedCss=function(A,B){var C=A.match(/^([^|]+)\|([\s\S]*)/);if (C) return FCKTools.FixCssUrls(C[1],C[2]);else return A;};FCKTools.AppendStyleSheet=function(A,B){if (!B) return [];if (typeof(B)=='string'){if (/[\\\/\.][^{}]*$/.test(B)){return this.AppendStyleSheet(A,B.split(','));}else return [this.AppendStyleString(A,FCKTools._GetUrlFixedCss(B))];}else{var C=[];for (var i=0;i<B.length;i++) C.push(this._AppendStyleSheet(A,B[i]));return C;}};FCKTools.GetStyleHtml=(function(){var A=function(styleDef,markTemp){if (styleDef.length==0) return '';var B=markTemp?' _fcktemp="true"':'';return '<style type="text/css"'+B+'>'+styleDef+'</style>';};var C=function(cssFileUrl,markTemp){if (cssFileUrl.length==0) return '';var B=markTemp?' _fcktemp="true"':'';return '<link href="'+cssFileUrl+'" type="text/css" rel="stylesheet" '+B+'/>';};return function(cssFileOrArrayOrDef,markTemp){if (!cssFileOrArrayOrDef) return '';if (typeof(cssFileOrArrayOrDef)=='string'){if (/[\\\/\.][^{}]*$/.test(cssFileOrArrayOrDef)){return this.GetStyleHtml(cssFileOrArrayOrDef.split(','),markTemp);}else return A(this._GetUrlFixedCss(cssFileOrArrayOrDef),markTemp);}else{var E='';for (var i=0;i<cssFileOrArrayOrDef.length;i++) E+=C(cssFileOrArrayOrDef[i],markTemp);return E;}}})();FCKTools.GetElementDocument=function (A){return A.ownerDocument||A.document;};FCKTools.GetElementWindow=function(A){return this.GetDocumentWindow(this.GetElementDocument(A));};FCKTools.GetDocumentWindow=function(A){if (FCKBrowserInfo.IsSafari&&!A.parentWindow) this.FixDocumentParentWindow(window.top);return A.parentWindow||A.defaultView;};FCKTools.FixDocumentParentWindow=function(A){if (A.document) A.document.parentWindow=A;for (var i=0;i<A.frames.length;i++) FCKTools.FixDocumentParentWindow(A.frames[i]);};FCKTools.HTMLEncode=function(A){if (!A) return '';A=A.replace(/&/g,'&amp;');A=A.replace(/</g,'&lt;');A=A.replace(/>/g,'&gt;');return A;};FCKTools.HTMLDecode=function(A){if (!A) return '';A=A.replace(/&gt;/g,'>');A=A.replace(/&lt;/g,'<');A=A.replace(/&amp;/g,'&');return A;};FCKTools._ProcessLineBreaksForPMode=function(A,B,C,D,E){var F=0;var G="<p>";var H="</p>";var I="<br />";if (C){G="<li>";H="</li>";F=1;}while (D&&D!=A.FCK.EditorDocument.body){if (D.tagName.toLowerCase()=='p'){F=1;break;};D=D.parentNode;};for (var i=0;i<B.length;i++){var c=B.charAt(i);if (c=='\r') continue;if (c!='\n'){E.push(c);continue;};var n=B.charAt(i+1);if (n=='\r'){i++;n=B.charAt(i+1);};if (n=='\n'){i++;if (F) E.push(H);E.push(G);F=1;}else E.push(I);}};FCKTools._ProcessLineBreaksForDivMode=function(A,B,C,D,E){var F=0;var G="<div>";var H="</div>";if (C){G="<li>";H="</li>";F=1;}while (D&&D!=A.FCK.EditorDocument.body){if (D.tagName.toLowerCase()=='div'){F=1;break;};D=D.parentNode;};for (var i=0;i<B.length;i++){var c=B.charAt(i);if (c=='\r') continue;if (c!='\n'){E.push(c);continue;};if (F){if (E[E.length-1]==G){E.push("&nbsp;");};E.push(H);};E.push(G);F=1;};if (F) E.push(H);};FCKTools._ProcessLineBreaksForBrMode=function(A,B,C,D,E){var F=0;var G="<br />";var H="";if (C){G="<li>";H="</li>";F=1;};for (var i=0;i<B.length;i++){var c=B.charAt(i);if (c=='\r') continue;if (c!='\n'){E.push(c);continue;};if (F&&H.length) E.push (H);E.push(G);F=1;}};FCKTools.ProcessLineBreaks=function(A,B,C){var D=B.EnterMode.toLowerCase();var E=[];var F=0;var G=new A.FCKDomRange(A.FCK.EditorWindow);G.MoveToSelection();var H=G._Range.startContainer;while (H&&H.nodeType!=1) H=H.parentNode;if (H&&H.tagName.toLowerCase()=='li') F=1;if (D=='p') this._ProcessLineBreaksForPMode(A,C,F,H,E);else if (D=='div') this._ProcessLineBreaksForDivMode(A,C,F,H,E);else if (D=='br') this._ProcessLineBreaksForBrMode(A,C,F,H,E);return E.join("");};FCKTools.AddSelectOption=function(A,B,C){var D=FCKTools.GetElementDocument(A).createElement("OPTION");D.text=B;D.value=C;A.options.add(D);return D;};FCKTools.RunFunction=function(A,B,C,D){if (A) this.SetTimeout(A,0,B,C,D);};FCKTools.SetTimeout=function(A,B,C,D,E){return (E||window).setTimeout(function(){if (D) A.apply(C,[].concat(D));else A.apply(C);},B);};FCKTools.SetInterval=function(A,B,C,D,E){return (E||window).setInterval(function(){A.apply(C,D||[]);},B);};FCKTools.ConvertStyleSizeToHtml=function(A){return A.EndsWith('%')?A:parseInt(A,10);};FCKTools.ConvertHtmlSizeToStyle=function(A){return A.EndsWith('%')?A:(A+'px');};FCKTools.GetElementAscensor=function(A,B){var e=A;var C=","+B.toUpperCase()+",";while (e){if (C.indexOf(","+e.nodeName.toUpperCase()+",")!=-1) return e;e=e.parentNode;};return null;};FCKTools.CreateEventListener=function(A,B){var f=function(){var C=[];for (var i=0;i<arguments.length;i++) C.push(arguments[i]);A.apply(this,C.concat(B));};return f;};FCKTools.IsStrictMode=function(A){return ('CSS1Compat'==(A.compatMode||(FCKBrowserInfo.IsSafari?'CSS1Compat':null)));};FCKTools.ArgumentsToArray=function(A,B,C){B=B||0;C=C||A.length;var D=[];for (var i=B;i<B+C&&i<A.length;i++) D.push(A[i]);return D;};FCKTools.CloneObject=function(A){var B=function() {};B.prototype=A;return new B;};FCKTools.AppendBogusBr=function(A){if (!A) return;var B=this.GetLastItem(A.getElementsByTagName('br'));if (!B||(B.getAttribute('type',2)!='_moz'&&B.getAttribute('_moz_dirty')==null)){var C=this.GetElementDocument(A);if (FCKBrowserInfo.IsOpera) A.appendChild(C.createTextNode(''));else A.appendChild(this.CreateBogusBR(C));}};FCKTools.GetLastItem=function(A){if (A.length>0) return A[A.length-1];return null;};FCKTools.GetDocumentPosition=function(w,A){var x=0;var y=0;var B=A;var C=null;var D=FCKTools.GetElementWindow(B);while (B&&!(D==w&&(B==w.document.body||B==w.document.documentElement))){x+=B.offsetLeft-B.scrollLeft;y+=B.offsetTop-B.scrollTop;if (!FCKBrowserInfo.IsOpera){var E=C;while (E&&E!=B){x-=E.scrollLeft;y-=E.scrollTop;E=E.parentNode;}};C=B;if (B.offsetParent) B=B.offsetParent;else{if (D!=w){B=D.frameElement;C=null;if (B) D=B.contentWindow.parent;}else B=null;}};if (FCKDomTools.GetCurrentElementStyle(w.document.body,'position')!='static'||(FCKBrowserInfo.IsIE&&FCKDomTools.GetPositionedAncestor(A)==null)){x+=w.document.body.offsetLeft;y+=w.document.body.offsetTop;};return { "x":x,"y":y };};FCKTools.GetWindowPosition=function(w,A){var B=this.GetDocumentPosition(w,A);var C=FCKTools.GetScrollPosition(w);B.x-=C.X;B.y-=C.Y;return B;};FCKTools.ProtectFormStyles=function(A){if (!A||A.nodeType!=1||A.tagName.toLowerCase()!='form') return [];var B=[];var C=['style','className'];for (var i=0;i<C.length;i++){var D=C[i];if (A.elements.namedItem(D)){var E=A.elements.namedItem(D);B.push([E,E.nextSibling]);A.removeChild(E);}};return B;};FCKTools.RestoreFormStyles=function(A,B){if (!A||A.nodeType!=1||A.tagName.toLowerCase()!='form') return;if (B.length>0){for (var i=B.length-1;i>=0;i--){var C=B[i][0];var D=B[i][1];if (D) A.insertBefore(C,D);else A.appendChild(C);}}};FCKTools.GetNextNode=function(A,B){if (A.firstChild) return A.firstChild;else if (A.nextSibling) return A.nextSibling;else{var C=A.parentNode;while (C){if (C==B) return null;if (C.nextSibling) return C.nextSibling;else C=C.parentNode;}};return null;};FCKTools.GetNextTextNode=function(A,B,C){node=this.GetNextNode(A,B);if (C&&node&&C(node)) return null;while (node&&node.nodeType!=3){node=this.GetNextNode(node,B);if (C&&node&&C(node)) return null;};return node;};FCKTools.Merge=function(){var A=arguments;var o=A[0];for (var i=1;i<A.length;i++){var B=A[i];for (var p in B) o[p]=B[p];};return o;};FCKTools.IsArray=function(A){return (A instanceof Array);};FCKTools.AppendLengthProperty=function(A,B){var C=0;for (var n in A) C++;return A[B||'length']=C;};FCKTools.NormalizeCssText=function(A){var B=document.createElement('span');B.style.cssText=A;return B.style.cssText;};FCKTools.Bind=function(A,B){return function(){ return B.apply(A,arguments);};};FCKTools.GetVoidUrl=function(){if (FCK_IS_CUSTOM_DOMAIN) return "javascript: void( function(){document.open();document.write('<html><head><title></title></head><body></body></html>');document.domain = '"+FCK_RUNTIME_DOMAIN+"';document.close();}() ) ;";if (FCKBrowserInfo.IsIE){if (FCKBrowserInfo.IsIE7||!FCKBrowserInfo.IsIE6) return "";else return "javascript: '';";};return "javascript: void(0);";};FCKTools.ResetStyles=function(A){A.style.cssText='margin:0;padding:0;border:0;background-color:transparent;background-image:none;';};\r
-FCKTools.CancelEvent=function(e){return false;};FCKTools._AppendStyleSheet=function(A,B){return A.createStyleSheet(B).owningElement;};FCKTools.AppendStyleString=function(A,B){if (!B) return null;var s=A.createStyleSheet("");s.cssText=B;return s;};FCKTools.ClearElementAttributes=function(A){A.clearAttributes();};FCKTools.GetAllChildrenIds=function(A){var B=[];for (var i=0;i<A.all.length;i++){var C=A.all[i].id;if (C&&C.length>0) B[B.length]=C;};return B;};FCKTools.RemoveOuterTags=function(e){e.insertAdjacentHTML('beforeBegin',e.innerHTML);e.parentNode.removeChild(e);};FCKTools.CreateXmlObject=function(A){var B;switch (A){case 'XmlHttp':if (document.location.protocol!='file:') try { return new XMLHttpRequest();} catch (e) {};B=['MSXML2.XmlHttp','Microsoft.XmlHttp'];break;case 'DOMDocument':B=['MSXML2.DOMDocument','Microsoft.XmlDom'];break;};for (var i=0;i<2;i++){try { return new ActiveXObject(B[i]);}catch (e){}};if (FCKLang.NoActiveX){alert(FCKLang.NoActiveX);FCKLang.NoActiveX=null;};return null;};FCKTools.DisableSelection=function(A){A.unselectable='on';var e,i=0;while ((e=A.all[i++])){switch (e.tagName){case 'IFRAME':case 'TEXTAREA':case 'INPUT':case 'SELECT':break;default:e.unselectable='on';}}};FCKTools.GetScrollPosition=function(A){var B=A.document;var C={ X:B.documentElement.scrollLeft,Y:B.documentElement.scrollTop };if (C.X>0||C.Y>0) return C;return { X:B.body.scrollLeft,Y:B.body.scrollTop };};FCKTools.AddEventListener=function(A,B,C){A.attachEvent('on'+B,C);};FCKTools.RemoveEventListener=function(A,B,C){A.detachEvent('on'+B,C);};FCKTools.AddEventListenerEx=function(A,B,C,D){var o={};o.Source=A;o.Params=D||[];o.Listener=function(ev){return C.apply(o.Source,[ev].concat(o.Params));};if (FCK.IECleanup) FCK.IECleanup.AddItem(null,function() { o.Source=null;o.Params=null;});A.attachEvent('on'+B,o.Listener);A=null;D=null;};FCKTools.GetViewPaneSize=function(A){var B;var C=A.document.documentElement;if (C&&C.clientWidth) B=C;else B=A.document.body;if (B) return { Width:B.clientWidth,Height:B.clientHeight };else return { Width:0,Height:0 };};FCKTools.SaveStyles=function(A){var B=FCKTools.ProtectFormStyles(A);var C={};if (A.className.length>0){C.Class=A.className;A.className='';};var D=A.style.cssText;if (D.length>0){C.Inline=D;A.style.cssText='';};FCKTools.RestoreFormStyles(A,B);return C;};FCKTools.RestoreStyles=function(A,B){var C=FCKTools.ProtectFormStyles(A);A.className=B.Class||'';A.style.cssText=B.Inline||'';FCKTools.RestoreFormStyles(A,C);};FCKTools.RegisterDollarFunction=function(A){A.$=A.document.getElementById;};FCKTools.AppendElement=function(A,B){return A.appendChild(this.GetElementDocument(A).createElement(B));};FCKTools.ToLowerCase=function(A){return A.toLowerCase();};\r
-var FCKeditorAPI;function InitializeAPI(){var A=window.parent;if (!(FCKeditorAPI=A.FCKeditorAPI)){var B='window.FCKeditorAPI = {Version : "2.6.6",VersionBuild : "25427",Instances : window.FCKeditorAPI && window.FCKeditorAPI.Instances || {},GetInstance : function( name ){return this.Instances[ name ];},_FormSubmit : function(){for ( var name in FCKeditorAPI.Instances ){var oEditor = FCKeditorAPI.Instances[ name ] ;if ( oEditor.GetParentForm && oEditor.GetParentForm() == this )oEditor.UpdateLinkedField() ;}this._FCKOriginalSubmit() ;},_FunctionQueue      : window.FCKeditorAPI && window.FCKeditorAPI._FunctionQueue || {Functions : new Array(),IsRunning : false,Add : function( f ){this.Functions.push( f );if ( !this.IsRunning )this.StartNext();},StartNext : function(){var aQueue = this.Functions ;if ( aQueue.length > 0 ){this.IsRunning = true;aQueue[0].call();}else this.IsRunning = false;},Remove : function( f ){var aQueue = this.Functions;var i = 0, fFunc;while( (fFunc = aQueue[ i ]) ){if ( fFunc == f )aQueue.splice( i,1 );i++ ;}this.StartNext();}}}';if (A.execScript) A.execScript(B,'JavaScript');else{if (FCKBrowserInfo.IsGecko10){eval.call(A,B);}else if(FCKBrowserInfo.IsAIR){FCKAdobeAIR.FCKeditorAPI_Evaluate(A,B);}else if (FCKBrowserInfo.IsSafari){var C=A.document;var D=C.createElement('script');D.appendChild(C.createTextNode(B));C.documentElement.appendChild(D);}else A.eval(B);};FCKeditorAPI=A.FCKeditorAPI;FCKeditorAPI.__Instances=FCKeditorAPI.Instances;};FCKeditorAPI.Instances[FCK.Name]=FCK;};function _AttachFormSubmitToAPI(){var A=FCK.GetParentForm();if (A){FCKTools.AddEventListener(A,'submit',FCK.UpdateLinkedField);if (!A._FCKOriginalSubmit&&(typeof(A.submit)=='function'||(!A.submit.tagName&&!A.submit.length))){A._FCKOriginalSubmit=A.submit;A.submit=FCKeditorAPI._FormSubmit;}}};function FCKeditorAPI_Cleanup(){if (window.FCKConfig&&FCKConfig.MsWebBrowserControlCompat&&!window.FCKUnloadFlag) return;delete FCKeditorAPI.Instances[FCK.Name];};function FCKeditorAPI_ConfirmCleanup(){if (window.FCKConfig&&FCKConfig.MsWebBrowserControlCompat) window.FCKUnloadFlag=true;};FCKTools.AddEventListener(window,'unload',FCKeditorAPI_Cleanup);FCKTools.AddEventListener(window,'beforeunload',FCKeditorAPI_ConfirmCleanup);\r
-var FCKImagePreloader=function(){this._Images=[];};FCKImagePreloader.prototype={AddImages:function(A){if (typeof(A)=='string') A=A.split(';');this._Images=this._Images.concat(A);},Start:function(){var A=this._Images;this._PreloadCount=A.length;for (var i=0;i<A.length;i++){var B=document.createElement('img');FCKTools.AddEventListenerEx(B,'load',_FCKImagePreloader_OnImage,this);FCKTools.AddEventListenerEx(B,'error',_FCKImagePreloader_OnImage,this);B.src=A[i];_FCKImagePreloader_ImageCache.push(B);}}};var _FCKImagePreloader_ImageCache=[];function _FCKImagePreloader_OnImage(A,B){if ((--B._PreloadCount)==0&&B.OnComplete) B.OnComplete();};\r
-var FCKRegexLib={AposEntity:/&apos;/gi,ObjectElements:/^(?:IMG|TABLE|TR|TD|TH|INPUT|SELECT|TEXTAREA|HR|OBJECT|A|UL|OL|LI)$/i,NamedCommands:/^(?:Cut|Copy|Paste|Print|SelectAll|RemoveFormat|Unlink|Undo|Redo|Bold|Italic|Underline|StrikeThrough|Subscript|Superscript|JustifyLeft|JustifyCenter|JustifyRight|JustifyFull|Outdent|Indent|InsertOrderedList|InsertUnorderedList|InsertHorizontalRule)$/i,BeforeBody:/(^[\s\S]*\<body[^\>]*\>)/i,AfterBody:/(\<\/body\>[\s\S]*$)/i,ToReplace:/___fcktoreplace:([\w]+)/ig,MetaHttpEquiv:/http-equiv\s*=\s*["']?([^"' ]+)/i,HasBaseTag:/<base /i,HasBodyTag:/<body[\s|>]/i,HtmlOpener:/<html\s?[^>]*>/i,HeadOpener:/<head\s?[^>]*>/i,HeadCloser:/<\/head\s*>/i,FCK_Class:/\s*FCK__[^ ]*(?=\s+|$)/,ElementName:/(^[a-z_:][\w.\-:]*\w$)|(^[a-z_]$)/,ForceSimpleAmpersand:/___FCKAmp___/g,SpaceNoClose:/\/>/g,EmptyParagraph:/^<(p|div|address|h\d|center)(?=[ >])[^>]*>\s*(<\/\1>)?$/,EmptyOutParagraph:/^<(p|div|address|h\d|center)(?=[ >])[^>]*>(?:\s*|&nbsp;|&#160;)(<\/\1>)?$/,TagBody:/></,GeckoEntitiesMarker:/#\?-\:/g,ProtectUrlsImg:/<img(?=\s).*?\ssrc=((?:(?:\s*)("|').*?\2)|(?:[^"'][^ >]+))/gi,ProtectUrlsA:/<a(?=\s).*?\shref=((?:(?:\s*)("|').*?\2)|(?:[^"'][^ >]+))/gi,ProtectUrlsArea:/<area(?=\s).*?\shref=((?:(?:\s*)("|').*?\2)|(?:[^"'][^ >]+))/gi,Html4DocType:/HTML 4\.0 Transitional/i,DocTypeTag:/<!DOCTYPE[^>]*>/i,HtmlDocType:/DTD HTML/,TagsWithEvent:/<[^\>]+ on\w+[\s\r\n]*=[\s\r\n]*?('|")[\s\S]+?\>/g,EventAttributes:/\s(on\w+)[\s\r\n]*=[\s\r\n]*?('|")([\s\S]*?)\2/g,ProtectedEvents:/\s\w+_fckprotectedatt="([^"]+)"/g,StyleProperties:/\S+\s*:/g,InvalidSelfCloseTags:/(<(?!base|meta|link|hr|br|param|img|area|input)([a-zA-Z0-9:]+)[^>]*)\/>/gi,StyleVariableAttName:/#\(\s*("|')(.+?)\1[^\)]*\s*\)/g,RegExp:/^\/(.*)\/([gim]*)$/,HtmlTag:/<[^\s<>](?:"[^"]*"|'[^']*'|[^<])*>/};\r
-var FCKListsLib={BlockElements:{ address:1,blockquote:1,center:1,div:1,dl:1,fieldset:1,form:1,h1:1,h2:1,h3:1,h4:1,h5:1,h6:1,hr:1,marquee:1,noscript:1,ol:1,p:1,pre:1,script:1,table:1,ul:1 },NonEmptyBlockElements:{ p:1,div:1,form:1,h1:1,h2:1,h3:1,h4:1,h5:1,h6:1,address:1,pre:1,ol:1,ul:1,li:1,td:1,th:1 },InlineChildReqElements:{ abbr:1,acronym:1,b:1,bdo:1,big:1,cite:1,code:1,del:1,dfn:1,em:1,font:1,i:1,ins:1,label:1,kbd:1,q:1,samp:1,small:1,span:1,strike:1,strong:1,sub:1,sup:1,tt:1,u:1,'var':1 },InlineNonEmptyElements:{ a:1,abbr:1,acronym:1,b:1,bdo:1,big:1,cite:1,code:1,del:1,dfn:1,em:1,font:1,i:1,ins:1,label:1,kbd:1,q:1,samp:1,small:1,span:1,strike:1,strong:1,sub:1,sup:1,tt:1,u:1,'var':1 },EmptyElements:{ base:1,col:1,meta:1,link:1,hr:1,br:1,param:1,img:1,area:1,input:1 },PathBlockElements:{ address:1,blockquote:1,dl:1,h1:1,h2:1,h3:1,h4:1,h5:1,h6:1,p:1,pre:1,li:1,dt:1,de:1 },PathBlockLimitElements:{ body:1,div:1,td:1,th:1,caption:1,form:1 },StyleBlockElements:{ address:1,div:1,h1:1,h2:1,h3:1,h4:1,h5:1,h6:1,p:1,pre:1 },StyleObjectElements:{ img:1,hr:1,li:1,table:1,tr:1,td:1,embed:1,object:1,ol:1,ul:1 },NonEditableElements:{ button:1,option:1,script:1,iframe:1,textarea:1,object:1,embed:1,map:1,applet:1 },BlockBoundaries:{ p:1,div:1,h1:1,h2:1,h3:1,h4:1,h5:1,h6:1,hr:1,address:1,pre:1,ol:1,ul:1,li:1,dt:1,de:1,table:1,thead:1,tbody:1,tfoot:1,tr:1,th:1,td:1,caption:1,col:1,colgroup:1,blockquote:1,body:1 },ListBoundaries:{ p:1,div:1,h1:1,h2:1,h3:1,h4:1,h5:1,h6:1,hr:1,address:1,pre:1,ol:1,ul:1,li:1,dt:1,de:1,table:1,thead:1,tbody:1,tfoot:1,tr:1,th:1,td:1,caption:1,col:1,colgroup:1,blockquote:1,body:1,br:1 }};\r
-var FCKLanguageManager=FCK.Language={AvailableLanguages:{af:'Afrikaans',ar:'Arabic',bg:'Bulgarian',bn:'Bengali/Bangla',bs:'Bosnian',ca:'Catalan',cs:'Czech',da:'Danish',de:'German',el:'Greek',en:'English','en-au':'English (Australia)','en-ca':'English (Canadian)','en-uk':'English (United Kingdom)',eo:'Esperanto',es:'Spanish',et:'Estonian',eu:'Basque',fa:'Persian',fi:'Finnish',fo:'Faroese',fr:'French','fr-ca':'French (Canada)',gl:'Galician',gu:'Gujarati',he:'Hebrew',hi:'Hindi',hr:'Croatian',hu:'Hungarian',is:'Icelandic',it:'Italian',ja:'Japanese',km:'Khmer',ko:'Korean',lt:'Lithuanian',lv:'Latvian',mn:'Mongolian',ms:'Malay',nb:'Norwegian Bokmal',nl:'Dutch',no:'Norwegian',pl:'Polish',pt:'Portuguese (Portugal)','pt-br':'Portuguese (Brazil)',ro:'Romanian',ru:'Russian',sk:'Slovak',sl:'Slovenian',sr:'Serbian (Cyrillic)','sr-latn':'Serbian (Latin)',sv:'Swedish',th:'Thai',tr:'Turkish',uk:'Ukrainian',vi:'Vietnamese',zh:'Chinese Traditional','zh-cn':'Chinese Simplified'},GetActiveLanguage:function(){if (FCKConfig.AutoDetectLanguage){var A;if (navigator.userLanguage) A=navigator.userLanguage.toLowerCase();else if (navigator.language) A=navigator.language.toLowerCase();else{return FCKConfig.DefaultLanguage;};if (A.length>=5){A=A.substr(0,5);if (this.AvailableLanguages[A]) return A;};if (A.length>=2){A=A.substr(0,2);if (this.AvailableLanguages[A]) return A;}};return this.DefaultLanguage;},TranslateElements:function(A,B,C,D){var e=A.getElementsByTagName(B);var E,s;for (var i=0;i<e.length;i++){if ((E=e[i].getAttribute('fckLang'))){if ((s=FCKLang[E])){if (D) s=FCKTools.HTMLEncode(s);e[i][C]=s;}}}},TranslatePage:function(A){this.TranslateElements(A,'INPUT','value');this.TranslateElements(A,'SPAN','innerHTML');this.TranslateElements(A,'LABEL','innerHTML');this.TranslateElements(A,'OPTION','innerHTML',true);this.TranslateElements(A,'LEGEND','innerHTML');},Initialize:function(){if (this.AvailableLanguages[FCKConfig.DefaultLanguage]) this.DefaultLanguage=FCKConfig.DefaultLanguage;else this.DefaultLanguage='en';this.ActiveLanguage={};this.ActiveLanguage.Code=this.GetActiveLanguage();this.ActiveLanguage.Name=this.AvailableLanguages[this.ActiveLanguage.Code];}};\r
-var FCKXHtmlEntities={};FCKXHtmlEntities.Initialize=function(){if (FCKXHtmlEntities.Entities) return;var A='';var B,e;if (FCKConfig.ProcessHTMLEntities){FCKXHtmlEntities.Entities={' ':'nbsp','¡':'iexcl','¢':'cent','£':'pound','¤':'curren','¥':'yen','¦':'brvbar','§':'sect','¨':'uml','©':'copy','ª':'ordf','«':'laquo','¬':'not','­':'shy','®':'reg','¯':'macr','°':'deg','±':'plusmn','²':'sup2','³':'sup3','´':'acute','µ':'micro','¶':'para','·':'middot','¸':'cedil','¹':'sup1','º':'ordm','»':'raquo','¼':'frac14','½':'frac12','¾':'frac34','¿':'iquest','×':'times','÷':'divide','ƒ':'fnof','•':'bull','…':'hellip','′':'prime','″':'Prime','‾':'oline','⁄':'frasl','℘':'weierp','ℑ':'image','ℜ':'real','™':'trade','ℵ':'alefsym','←':'larr','↑':'uarr','→':'rarr','↓':'darr','↔':'harr','↵':'crarr','⇐':'lArr','⇑':'uArr','⇒':'rArr','⇓':'dArr','⇔':'hArr','∀':'forall','∂':'part','∃':'exist','∅':'empty','∇':'nabla','∈':'isin','∉':'notin','∋':'ni','∏':'prod','∑':'sum','−':'minus','∗':'lowast','√':'radic','∝':'prop','∞':'infin','∠':'ang','∧':'and','∨':'or','∩':'cap','∪':'cup','∫':'int','∴':'there4','∼':'sim','≅':'cong','≈':'asymp','≠':'ne','≡':'equiv','≤':'le','≥':'ge','⊂':'sub','⊃':'sup','⊄':'nsub','⊆':'sube','⊇':'supe','⊕':'oplus','⊗':'otimes','⊥':'perp','⋅':'sdot','\u2308':'lceil','\u2309':'rceil','\u230a':'lfloor','\u230b':'rfloor','\u2329':'lang','\u232a':'rang','◊':'loz','♠':'spades','♣':'clubs','♥':'hearts','♦':'diams','"':'quot','>':'gt','ˆ':'circ','˜':'tilde',' ':'ensp',' ':'emsp',' ':'thinsp','‌':'zwnj','‍':'zwj','‎':'lrm','‏':'rlm','–':'ndash','—':'mdash','‘':'lsquo','’':'rsquo','‚':'sbquo','“':'ldquo','”':'rdquo','„':'bdquo','†':'dagger','‡':'Dagger','‰':'permil','‹':'lsaquo','›':'rsaquo','€':'euro'};for (e in FCKXHtmlEntities.Entities) A+=e;if (FCKConfig.IncludeLatinEntities){B={'À':'Agrave','Á':'Aacute','Â':'Acirc','Ã':'Atilde','Ä':'Auml','Å':'Aring','Æ':'AElig','Ç':'Ccedil','È':'Egrave','É':'Eacute','Ê':'Ecirc','Ë':'Euml','Ì':'Igrave','Í':'Iacute','Î':'Icirc','Ï':'Iuml','Ð':'ETH','Ñ':'Ntilde','Ò':'Ograve','Ó':'Oacute','Ô':'Ocirc','Õ':'Otilde','Ö':'Ouml','Ø':'Oslash','Ù':'Ugrave','Ú':'Uacute','Û':'Ucirc','Ü':'Uuml','Ý':'Yacute','Þ':'THORN','ß':'szlig','à':'agrave','á':'aacute','â':'acirc','ã':'atilde','ä':'auml','å':'aring','æ':'aelig','ç':'ccedil','è':'egrave','é':'eacute','ê':'ecirc','ë':'euml','ì':'igrave','í':'iacute','î':'icirc','ï':'iuml','ð':'eth','ñ':'ntilde','ò':'ograve','ó':'oacute','ô':'ocirc','õ':'otilde','ö':'ouml','ø':'oslash','ù':'ugrave','ú':'uacute','û':'ucirc','ü':'uuml','ý':'yacute','þ':'thorn','ÿ':'yuml','Œ':'OElig','œ':'oelig','Š':'Scaron','š':'scaron','Ÿ':'Yuml'};for (e in B){FCKXHtmlEntities.Entities[e]=B[e];A+=e;};B=null;};if (FCKConfig.IncludeGreekEntities){B={'Α':'Alpha','Β':'Beta','Γ':'Gamma','Δ':'Delta','Ε':'Epsilon','Ζ':'Zeta','Η':'Eta','Θ':'Theta','Ι':'Iota','Κ':'Kappa','Λ':'Lambda','Μ':'Mu','Ν':'Nu','Ξ':'Xi','Ο':'Omicron','Π':'Pi','Ρ':'Rho','Σ':'Sigma','Τ':'Tau','Υ':'Upsilon','Φ':'Phi','Χ':'Chi','Ψ':'Psi','Ω':'Omega','α':'alpha','β':'beta','γ':'gamma','δ':'delta','ε':'epsilon','ζ':'zeta','η':'eta','θ':'theta','ι':'iota','κ':'kappa','λ':'lambda','μ':'mu','ν':'nu','ξ':'xi','ο':'omicron','π':'pi','ρ':'rho','ς':'sigmaf','σ':'sigma','τ':'tau','υ':'upsilon','φ':'phi','χ':'chi','ψ':'psi','ω':'omega','\u03d1':'thetasym','\u03d2':'upsih','\u03d6':'piv'};for (e in B){FCKXHtmlEntities.Entities[e]=B[e];A+=e;};B=null;}}else{FCKXHtmlEntities.Entities={'>':'gt'};A='>';A+=' ';};var C='['+A+']';if (FCKConfig.ProcessNumericEntities) C='[^ -~]|'+C;var D=FCKConfig.AdditionalNumericEntities;if (D&&D.length>0) C+='|'+FCKConfig.AdditionalNumericEntities;FCKXHtmlEntities.EntitiesRegex=new RegExp(C,'g');};\r
-var FCKXHtml={};FCKXHtml.CurrentJobNum=0;FCKXHtml.GetXHTML=function(A,B,C){FCKDomTools.CheckAndRemovePaddingNode(FCKTools.GetElementDocument(A),FCKConfig.EnterMode);FCKXHtmlEntities.Initialize();this._NbspEntity=(FCKConfig.ProcessHTMLEntities?'nbsp':'#160');var D=FCK.IsDirty();FCKXHtml.SpecialBlocks=[];this.XML=FCKTools.CreateXmlObject('DOMDocument');this.MainNode=this.XML.appendChild(this.XML.createElement('xhtml'));FCKXHtml.CurrentJobNum++;if (B) this._AppendNode(this.MainNode,A);else this._AppendChildNodes(this.MainNode,A,false);if (FCKBrowserInfo.IsIE) FCKXHtml._RemoveXHtmlJobProperties(A);var E=this._GetMainXmlString();this.XML=null;if (FCKBrowserInfo.IsSafari) E=E.replace(/^<xhtml.*?>/,'<xhtml>');E=E.substr(7,E.length-15).Trim();if (FCKConfig.DocType.length>0&&FCKRegexLib.HtmlDocType.test(FCKConfig.DocType)) E=E.replace(FCKRegexLib.SpaceNoClose,'>');else E=E.replace(FCKRegexLib.SpaceNoClose,' />');if (FCKConfig.ForceSimpleAmpersand) E=E.replace(FCKRegexLib.ForceSimpleAmpersand,'&');if (C) E=FCKCodeFormatter.Format(E);for (var i=0;i<FCKXHtml.SpecialBlocks.length;i++){var F=new RegExp('___FCKsi___'+i);E=E.replace(F,FCKXHtml.SpecialBlocks[i]);};E=E.replace(FCKRegexLib.GeckoEntitiesMarker,'&');if (!D) FCK.ResetIsDirty();FCKDomTools.EnforcePaddingNode(FCKTools.GetElementDocument(A),FCKConfig.EnterMode);return E;};FCKXHtml._AppendAttribute=function(A,B,C){try{if (C==undefined||C==null) C='';else if (C.replace){if (FCKConfig.ForceSimpleAmpersand) C=C.replace(/&/g,'___FCKAmp___');C=C.replace(FCKXHtmlEntities.EntitiesRegex,FCKXHtml_GetEntity);};var D=this.XML.createAttribute(B);D.value=C;A.attributes.setNamedItem(D);}catch (e){}};FCKXHtml._AppendChildNodes=function(A,B,C){var D=B.firstChild;while (D){this._AppendNode(A,D);D=D.nextSibling;};if (C&&B.tagName&&B.tagName.toLowerCase()!='pre'){FCKDomTools.TrimNode(A);if (FCKConfig.FillEmptyBlocks){var E=A.lastChild;if (E&&E.nodeType==1&&E.nodeName=='br') this._AppendEntity(A,this._NbspEntity);}};if (A.childNodes.length==0){if (C&&FCKConfig.FillEmptyBlocks){this._AppendEntity(A,this._NbspEntity);return A;};var F=A.nodeName;if (FCKListsLib.InlineChildReqElements[F]) return null;if (!FCKListsLib.EmptyElements[F]) A.appendChild(this.XML.createTextNode(''));};return A;};FCKXHtml._AppendNode=function(A,B){if (!B) return false;switch (B.nodeType){case 1:if (FCKBrowserInfo.IsGecko&&B.tagName.toLowerCase()=='br'&&B.parentNode.tagName.toLowerCase()=='pre'){var C='\r';if (B==B.parentNode.firstChild) C+='\r';return FCKXHtml._AppendNode(A,this.XML.createTextNode(C));};if (B.getAttribute('_fckfakelement')) return FCKXHtml._AppendNode(A,FCK.GetRealElement(B));if (FCKBrowserInfo.IsGecko&&(B.hasAttribute('_moz_editor_bogus_node')||B.getAttribute('type')=='_moz')){if (B.nextSibling) return false;else{B.removeAttribute('_moz_editor_bogus_node');B.removeAttribute('type');}};if (B.getAttribute('_fcktemp')) return false;var D=B.tagName.toLowerCase();if (FCKBrowserInfo.IsIE){if (B.scopeName&&B.scopeName!='HTML'&&B.scopeName!='FCK') D=B.scopeName.toLowerCase()+':'+D;}else{if (D.StartsWith('fck:')) D=D.Remove(0,4);};if (!FCKRegexLib.ElementName.test(D)) return false;if (B._fckxhtmljob&&B._fckxhtmljob==FCKXHtml.CurrentJobNum) return false;var E=this.XML.createElement(D);FCKXHtml._AppendAttributes(A,B,E,D);B._fckxhtmljob=FCKXHtml.CurrentJobNum;var F=FCKXHtml.TagProcessors[D];if (F) E=F(E,B,A);else E=this._AppendChildNodes(E,B,Boolean(FCKListsLib.NonEmptyBlockElements[D]));if (!E) return false;A.appendChild(E);break;case 3:if (B.parentNode&&B.parentNode.nodeName.IEquals('pre')) return this._AppendTextNode(A,B.nodeValue);return this._AppendTextNode(A,B.nodeValue.ReplaceNewLineChars(' '));case 8:if (FCKBrowserInfo.IsIE&&!B.innerHTML) break;try { A.appendChild(this.XML.createComment(B.nodeValue));}catch (e) {};break;default:A.appendChild(this.XML.createComment("Element not supported - Type: "+B.nodeType+" Name: "+B.nodeName));break;};return true;};FCKXHtml._AppendSpecialItem=function(A){return '___FCKsi___'+(FCKXHtml.SpecialBlocks.push(A)-1);};FCKXHtml._AppendEntity=function(A,B){A.appendChild(this.XML.createTextNode('#?-:'+B+';'));};FCKXHtml._AppendTextNode=function(A,B){var C=B.length>0;if (C) A.appendChild(this.XML.createTextNode(B.replace(FCKXHtmlEntities.EntitiesRegex,FCKXHtml_GetEntity)));return C;};function FCKXHtml_GetEntity(A){var B=FCKXHtmlEntities.Entities[A]||('#'+A.charCodeAt(0));return '#?-:'+B+';';};FCKXHtml.TagProcessors={a:function(A,B){if (B.innerHTML.Trim().length==0&&!B.name) return false;var C=B.getAttribute('_fcksavedurl');if (C!=null) FCKXHtml._AppendAttribute(A,'href',C);if (FCKBrowserInfo.IsIE){if (B.name) FCKXHtml._AppendAttribute(A,'name',B.name);};A=FCKXHtml._AppendChildNodes(A,B,false);return A;},area:function(A,B){var C=B.getAttribute('_fcksavedurl');if (C!=null) FCKXHtml._AppendAttribute(A,'href',C);if (FCKBrowserInfo.IsIE){if (!A.attributes.getNamedItem('coords')){var D=B.getAttribute('coords',2);if (D&&D!='0,0,0') FCKXHtml._AppendAttribute(A,'coords',D);};if (!A.attributes.getNamedItem('shape')){var E=B.getAttribute('shape',2);if (E&&E.length>0) FCKXHtml._AppendAttribute(A,'shape',E.toLowerCase());}};return A;},body:function(A,B){A=FCKXHtml._AppendChildNodes(A,B,false);A.removeAttribute('spellcheck');return A;},iframe:function(A,B){var C=B.innerHTML;if (FCKBrowserInfo.IsGecko) C=FCKTools.HTMLDecode(C);C=C.replace(/\s_fcksavedurl="[^"]*"/g,'');A.appendChild(FCKXHtml.XML.createTextNode(FCKXHtml._AppendSpecialItem(C)));return A;},img:function(A,B){if (!A.attributes.getNamedItem('alt')) FCKXHtml._AppendAttribute(A,'alt','');var C=B.getAttribute('_fcksavedurl');if (C!=null) FCKXHtml._AppendAttribute(A,'src',C);if (B.style.width) A.removeAttribute('width');if (B.style.height) A.removeAttribute('height');return A;},li:function(A,B,C){if (C.nodeName.IEquals(['ul','ol'])) return FCKXHtml._AppendChildNodes(A,B,true);var D=FCKXHtml.XML.createElement('ul');B._fckxhtmljob=null;do{FCKXHtml._AppendNode(D,B);do{B=FCKDomTools.GetNextSibling(B);} while (B&&B.nodeType==3&&B.nodeValue.Trim().length==0)}      while (B&&B.nodeName.toLowerCase()=='li') return D;},ol:function(A,B,C){if (B.innerHTML.Trim().length==0) return false;var D=C.lastChild;if (D&&D.nodeType==3) D=D.previousSibling;if (D&&D.nodeName.toUpperCase()=='LI'){B._fckxhtmljob=null;FCKXHtml._AppendNode(D,B);return false;};A=FCKXHtml._AppendChildNodes(A,B);return A;},pre:function (A,B){var C=B.firstChild;if (C&&C.nodeType==3) A.appendChild(FCKXHtml.XML.createTextNode(FCKXHtml._AppendSpecialItem('\r\n')));FCKXHtml._AppendChildNodes(A,B,true);return A;},script:function(A,B){if (!A.attributes.getNamedItem('type')) FCKXHtml._AppendAttribute(A,'type','text/javascript');A.appendChild(FCKXHtml.XML.createTextNode(FCKXHtml._AppendSpecialItem(B.text)));return A;},span:function(A,B){if (B.innerHTML.length==0) return false;A=FCKXHtml._AppendChildNodes(A,B,false);return A;},style:function(A,B){if (!A.attributes.getNamedItem('type')) FCKXHtml._AppendAttribute(A,'type','text/css');var C=B.innerHTML;if (FCKBrowserInfo.IsIE) C=C.replace(/^(\r\n|\n|\r)/,'');A.appendChild(FCKXHtml.XML.createTextNode(FCKXHtml._AppendSpecialItem(C)));return A;},title:function(A,B){A.appendChild(FCKXHtml.XML.createTextNode(FCK.EditorDocument.title));return A;}};FCKXHtml.TagProcessors.ul=FCKXHtml.TagProcessors.ol;\r
-FCKXHtml._GetMainXmlString=function(){return this.MainNode.xml;};FCKXHtml._AppendAttributes=function(A,B,C,D){var E=B.attributes,bHasStyle;for (var n=0;n<E.length;n++){var F=E[n];if (F.specified){var G=F.nodeName.toLowerCase();var H;if (G.StartsWith('_fck')) continue;else if (G=='style'){bHasStyle=true;continue;}else if (G=='class'){H=F.nodeValue.replace(FCKRegexLib.FCK_Class,'');if (H.length==0) continue;}else if (G.indexOf('on')==0) H=F.nodeValue;else if (D=='body'&&G=='contenteditable') continue;else if (F.nodeValue===true) H=G;else{try{H=B.getAttribute(G,2);}catch (e) {}};this._AppendAttribute(C,G,H||F.nodeValue);}};if (bHasStyle||B.style.cssText.length>0){var I=FCKTools.ProtectFormStyles(B);var J=B.style.cssText.replace(FCKRegexLib.StyleProperties,FCKTools.ToLowerCase);FCKTools.RestoreFormStyles(B,I);this._AppendAttribute(C,'style',J);}};FCKXHtml._RemoveXHtmlJobProperties=function (A){if (!A||!A.nodeType||A.nodeType!=1) return;if (typeof A._fckxhtmljob=='undefined'&&A.tagName!=='BODY') return;A.removeAttribute('_fckxhtmljob');if (A.hasChildNodes()){var B=A.childNodes;for (var i=B.length-1;i>=0;i--){var C=B[i];if (C.parentNode==A) FCKXHtml._RemoveXHtmlJobProperties(C);}}};FCKXHtml.TagProcessors['div']=function(A,B){if (B.align.length>0) FCKXHtml._AppendAttribute(A,'align',B.align);A=FCKXHtml._AppendChildNodes(A,B,true);return A;};FCKXHtml.TagProcessors['font']=function(A,B){if (A.attributes.length==0) A=FCKXHtml.XML.createDocumentFragment();A=FCKXHtml._AppendChildNodes(A,B);return A;};FCKXHtml.TagProcessors['form']=function(A,B){if (B.acceptCharset&&B.acceptCharset.length>0&&B.acceptCharset!='UNKNOWN') FCKXHtml._AppendAttribute(A,'accept-charset',B.acceptCharset);var C=B.attributes['name'];if (C&&C.value.length>0) FCKXHtml._AppendAttribute(A,'name',C.value);A=FCKXHtml._AppendChildNodes(A,B,true);return A;};FCKXHtml.TagProcessors['input']=function(A,B){if (B.name) FCKXHtml._AppendAttribute(A,'name',B.name);if (B.value&&!A.attributes.getNamedItem('value')) FCKXHtml._AppendAttribute(A,'value',B.value);if (!A.attributes.getNamedItem('type')) FCKXHtml._AppendAttribute(A,'type','text');return A;};FCKXHtml.TagProcessors['label']=function(A,B){if (B.htmlFor.length>0) FCKXHtml._AppendAttribute(A,'for',B.htmlFor);A=FCKXHtml._AppendChildNodes(A,B);return A;};FCKXHtml.TagProcessors['map']=function(A,B){if (!A.attributes.getNamedItem('name')){var C=B.name;if (C) FCKXHtml._AppendAttribute(A,'name',C);};A=FCKXHtml._AppendChildNodes(A,B,true);return A;};FCKXHtml.TagProcessors['meta']=function(A,B){var C=A.attributes.getNamedItem('http-equiv');if (C==null||C.value.length==0){var D=B.outerHTML.match(FCKRegexLib.MetaHttpEquiv);if (D){D=D[1];FCKXHtml._AppendAttribute(A,'http-equiv',D);}};return A;};FCKXHtml.TagProcessors['option']=function(A,B){if (B.selected&&!A.attributes.getNamedItem('selected')) FCKXHtml._AppendAttribute(A,'selected','selected');A=FCKXHtml._AppendChildNodes(A,B);return A;};FCKXHtml.TagProcessors['textarea']=FCKXHtml.TagProcessors['select']=function(A,B){if (B.name) FCKXHtml._AppendAttribute(A,'name',B.name);A=FCKXHtml._AppendChildNodes(A,B);return A;};\r
-var FCKCodeFormatter={};FCKCodeFormatter.Init=function(){var A=this.Regex={};A.BlocksOpener=/\<(P|DIV|H1|H2|H3|H4|H5|H6|ADDRESS|PRE|OL|UL|LI|DL|DT|DD|TITLE|META|LINK|BASE|SCRIPT|LINK|TD|TH|AREA|OPTION)[^\>]*\>/gi;A.BlocksCloser=/\<\/(P|DIV|H1|H2|H3|H4|H5|H6|ADDRESS|PRE|OL|UL|LI|DL|DT|DD|TITLE|META|LINK|BASE|SCRIPT|LINK|TD|TH|AREA|OPTION)[^\>]*\>/gi;A.NewLineTags=/\<(BR|HR)[^\>]*\>/gi;A.MainTags=/\<\/?(HTML|HEAD|BODY|FORM|TABLE|TBODY|THEAD|TR)[^\>]*\>/gi;A.LineSplitter=/\s*\n+\s*/g;A.IncreaseIndent=/^\<(HTML|HEAD|BODY|FORM|TABLE|TBODY|THEAD|TR|UL|OL|DL)[ \/\>]/i;A.DecreaseIndent=/^\<\/(HTML|HEAD|BODY|FORM|TABLE|TBODY|THEAD|TR|UL|OL|DL)[ \>]/i;A.FormatIndentatorRemove=new RegExp('^'+FCKConfig.FormatIndentator);A.ProtectedTags=/(<PRE[^>]*>)([\s\S]*?)(<\/PRE>)/gi;};FCKCodeFormatter._ProtectData=function(A,B,C,D){return B+'___FCKpd___'+(FCKCodeFormatter.ProtectedData.push(C)-1)+D;};FCKCodeFormatter.Format=function(A){if (!this.Regex) this.Init();FCKCodeFormatter.ProtectedData=[];var B=A.replace(this.Regex.ProtectedTags,FCKCodeFormatter._ProtectData);B=B.replace(this.Regex.BlocksOpener,'\n$&');B=B.replace(this.Regex.BlocksCloser,'$&\n');B=B.replace(this.Regex.NewLineTags,'$&\n');B=B.replace(this.Regex.MainTags,'\n$&\n');var C='';var D=B.split(this.Regex.LineSplitter);B='';for (var i=0;i<D.length;i++){var E=D[i];if (E.length==0) continue;if (this.Regex.DecreaseIndent.test(E)) C=C.replace(this.Regex.FormatIndentatorRemove,'');B+=C+E+'\n';if (this.Regex.IncreaseIndent.test(E)) C+=FCKConfig.FormatIndentator;};for (var j=0;j<FCKCodeFormatter.ProtectedData.length;j++){var F=new RegExp('___FCKpd___'+j);B=B.replace(F,FCKCodeFormatter.ProtectedData[j].replace(/\$/g,'$$$$'));};return B.Trim();};\r
-var FCKUndo={};FCKUndo.SavedData=[];FCKUndo.CurrentIndex=-1;FCKUndo.TypesCount=0;FCKUndo.Changed=false;FCKUndo.MaxTypes=25;FCKUndo.Typing=false;FCKUndo.SaveLocked=false;FCKUndo._GetBookmark=function(){FCKSelection.Restore();var A=new FCKDomRange(FCK.EditorWindow);try{A.MoveToSelection();}catch (e){return null;};if (FCKBrowserInfo.IsIE){var B=A.CreateBookmark();var C=FCK.EditorDocument.body.innerHTML;A.MoveToBookmark(B);return [B,C];};return A.CreateBookmark2();};FCKUndo._SelectBookmark=function(A){if (!A) return;var B=new FCKDomRange(FCK.EditorWindow);if (A instanceof Object){if (FCKBrowserInfo.IsIE) B.MoveToBookmark(A[0]);else B.MoveToBookmark2(A);try{B.Select();}catch (e){B.MoveToPosition(FCK.EditorDocument.body,4);B.Select();}}};FCKUndo._CompareCursors=function(A,B){for (var i=0;i<Math.min(A.length,B.length);i++){if (A[i]<B[i]) return-1;else if (A[i]>B[i]) return 1;};if (A.length<B.length) return-1;else if (A.length>B.length) return 1;return 0;};FCKUndo._CheckIsBookmarksEqual=function(A,B){if (!(A&&B)) return false;if (FCKBrowserInfo.IsIE){var C=A[1].search(A[0].StartId);var D=B[1].search(B[0].StartId);var E=A[1].search(A[0].EndId);var F=B[1].search(B[0].EndId);return C==D&&E==F;}else{return this._CompareCursors(A.Start,B.Start)==0&&this._CompareCursors(A.End,B.End)==0;}};FCKUndo.SaveUndoStep=function(){if (FCK.EditMode!=0||this.SaveLocked) return;if (this.SavedData.length) this.Changed=true;var A=FCK.EditorDocument.body.innerHTML;var B=this._GetBookmark();this.SavedData=this.SavedData.slice(0,this.CurrentIndex+1);if (this.CurrentIndex>0&&A==this.SavedData[this.CurrentIndex][0]&&this._CheckIsBookmarksEqual(B,this.SavedData[this.CurrentIndex][1])) return;else if (this.CurrentIndex==0&&this.SavedData.length&&A==this.SavedData[0][0]){this.SavedData[0][1]=B;return;};if (this.CurrentIndex+1>=FCKConfig.MaxUndoLevels) this.SavedData.shift();else this.CurrentIndex++;this.SavedData[this.CurrentIndex]=[A,B];FCK.Events.FireEvent("OnSelectionChange");};FCKUndo.CheckUndoState=function(){return (this.Changed||this.CurrentIndex>0);};FCKUndo.CheckRedoState=function(){return (this.CurrentIndex<(this.SavedData.length-1));};FCKUndo.Undo=function(){if (this.CheckUndoState()){if (this.CurrentIndex==(this.SavedData.length-1)){this.SaveUndoStep();};this._ApplyUndoLevel(--this.CurrentIndex);FCK.Events.FireEvent("OnSelectionChange");}};FCKUndo.Redo=function(){if (this.CheckRedoState()){this._ApplyUndoLevel(++this.CurrentIndex);FCK.Events.FireEvent("OnSelectionChange");}};FCKUndo._ApplyUndoLevel=function(A){var B=this.SavedData[A];if (!B) return;if (FCKBrowserInfo.IsIE){if (B[1]&&B[1][1]) FCK.SetInnerHtml(B[1][1]);else FCK.SetInnerHtml(B[0]);}else FCK.EditorDocument.body.innerHTML=B[0];this._SelectBookmark(B[1]);this.TypesCount=0;this.Changed=false;this.Typing=false;};\r
-var FCKEditingArea=function(A){this.TargetElement=A;this.Mode=0;if (FCK.IECleanup) FCK.IECleanup.AddItem(this,FCKEditingArea_Cleanup);};FCKEditingArea.prototype.Start=function(A,B){var C=this.TargetElement;var D=FCKTools.GetElementDocument(C);while(C.firstChild) C.removeChild(C.firstChild);if (this.Mode==0){if (FCK_IS_CUSTOM_DOMAIN) A='<script>document.domain="'+FCK_RUNTIME_DOMAIN+'";</script>'+A;if (FCKBrowserInfo.IsIE) A=A.replace(/(<base[^>]*?)\s*\/?>(?!\s*<\/base>)/gi,'$1></base>');else if (!B){var E=A.match(FCKRegexLib.BeforeBody);var F=A.match(FCKRegexLib.AfterBody);if (E&&F){var G=A.substr(E[1].length,A.length-E[1].length-F[1].length);A=E[1]+'&nbsp;'+F[1];if (FCKBrowserInfo.IsGecko&&(G.length==0||FCKRegexLib.EmptyParagraph.test(G))) G='<br type="_moz">';this._BodyHTML=G;}else this._BodyHTML=A;};var H=this.IFrame=D.createElement('iframe');var I='<script type="text/javascript" _fcktemp="true">window.onerror=function(){return true;};</script>';H.frameBorder=0;H.style.width=H.style.height='100%';if (FCK_IS_CUSTOM_DOMAIN&&FCKBrowserInfo.IsIE){window._FCKHtmlToLoad=A.replace(/<head>/i,'<head>'+I);H.src='javascript:void( (function(){document.open() ;document.domain="'+document.domain+'" ;document.write( window.parent._FCKHtmlToLoad );document.close() ;window.parent._FCKHtmlToLoad = null ;})() )';}else if (!FCKBrowserInfo.IsGecko){H.src='javascript:void(0)';};C.appendChild(H);this.Window=H.contentWindow;if (!FCK_IS_CUSTOM_DOMAIN||!FCKBrowserInfo.IsIE){var J=this.Window.document;J.open();J.write(A.replace(/<head>/i,'<head>'+I));J.close();};if (FCKBrowserInfo.IsAIR) FCKAdobeAIR.EditingArea_Start(J,A);if (FCKBrowserInfo.IsGecko10&&!B){this.Start(A,true);return;};if (H.readyState&&H.readyState!='completed'){var K=this;setTimeout(function(){try{K.Window.document.documentElement.doScroll("left");}catch(e){setTimeout(arguments.callee,0);return;};K.Window._FCKEditingArea=K;FCKEditingArea_CompleteStart.call(K.Window);},0);}else{this.Window._FCKEditingArea=this;if (FCKBrowserInfo.IsGecko10) this.Window.setTimeout(FCKEditingArea_CompleteStart,500);else FCKEditingArea_CompleteStart.call(this.Window);}}else{var L=this.Textarea=D.createElement('textarea');L.className='SourceField';L.dir='ltr';FCKDomTools.SetElementStyles(L,{width:'100%',height:'100%',border:'none',resize:'none',outline:'none'});C.appendChild(L);L.value=A;FCKTools.RunFunction(this.OnLoad);}};function FCKEditingArea_CompleteStart(){if (!this.document.body){this.setTimeout(FCKEditingArea_CompleteStart,50);return;};var A=this._FCKEditingArea;A.Document=A.Window.document;A.MakeEditable();FCKTools.RunFunction(A.OnLoad);};FCKEditingArea.prototype.MakeEditable=function(){var A=this.Document;if (FCKBrowserInfo.IsIE){A.body.disabled=true;A.body.contentEditable=true;A.body.removeAttribute("disabled");}else{try{A.body.spellcheck=(this.FFSpellChecker!==false);if (this._BodyHTML){A.body.innerHTML=this._BodyHTML;A.body.offsetLeft;this._BodyHTML=null;};A.designMode='on';A.execCommand('enableObjectResizing',false,!FCKConfig.DisableObjectResizing);A.execCommand('enableInlineTableEditing',false,!FCKConfig.DisableFFTableHandles);}catch (e){FCKTools.AddEventListener(this.Window.frameElement,'DOMAttrModified',FCKEditingArea_Document_AttributeNodeModified);}}};function FCKEditingArea_Document_AttributeNodeModified(A){var B=A.currentTarget.contentWindow._FCKEditingArea;if (B._timer) window.clearTimeout(B._timer);B._timer=FCKTools.SetTimeout(FCKEditingArea_MakeEditableByMutation,1000,B);};function FCKEditingArea_MakeEditableByMutation(){delete this._timer;FCKTools.RemoveEventListener(this.Window.frameElement,'DOMAttrModified',FCKEditingArea_Document_AttributeNodeModified);this.MakeEditable();};FCKEditingArea.prototype.Focus=function(){try{if (this.Mode==0){if (FCKBrowserInfo.IsIE) this._FocusIE();else this.Window.focus();}else{var A=FCKTools.GetElementDocument(this.Textarea);if ((!A.hasFocus||A.hasFocus())&&A.activeElement==this.Textarea) return;this.Textarea.focus();}}catch(e) {}};FCKEditingArea.prototype._FocusIE=function(){this.Document.body.setActive();this.Window.focus();var A=this.Document.selection.createRange();var B=A.parentElement();var C=B.nodeName.toLowerCase();if (B.childNodes.length>0||!(FCKListsLib.BlockElements[C]||FCKListsLib.NonEmptyBlockElements[C])){return;};A=new FCKDomRange(this.Window);A.MoveToElementEditStart(B);A.Select();};function FCKEditingArea_Cleanup(){if (this.Document){this.Document.selection.empty();this.Document.body.innerHTML="";};this.TargetElement=null;this.IFrame=null;this.Document=null;this.Textarea=null;if (this.Window){this.Window._FCKEditingArea=null;this.Window=null;}};\r
-var FCKKeystrokeHandler=function(A){this.Keystrokes={};this.CancelCtrlDefaults=(A!==false);};FCKKeystrokeHandler.prototype.AttachToElement=function(A){FCKTools.AddEventListenerEx(A,'keydown',_FCKKeystrokeHandler_OnKeyDown,this);if (FCKBrowserInfo.IsGecko10||FCKBrowserInfo.IsOpera||(FCKBrowserInfo.IsGecko&&FCKBrowserInfo.IsMac)) FCKTools.AddEventListenerEx(A,'keypress',_FCKKeystrokeHandler_OnKeyPress,this);};FCKKeystrokeHandler.prototype.SetKeystrokes=function(){for (var i=0;i<arguments.length;i++){var A=arguments[i];if (!A) continue;if (typeof(A[0])=='object') this.SetKeystrokes.apply(this,A);else{if (A.length==1) delete this.Keystrokes[A[0]];else this.Keystrokes[A[0]]=A[1]===true?true:A;}}};function _FCKKeystrokeHandler_OnKeyDown(A,B){var C=A.keyCode||A.which;var D=0;if (A.ctrlKey||A.metaKey) D+=CTRL;if (A.shiftKey) D+=SHIFT;if (A.altKey) D+=ALT;var E=C+D;var F=B._CancelIt=false;var G=B.Keystrokes[E];if (G){if (G===true||!(B.OnKeystroke&&B.OnKeystroke.apply(B,G))) return true;F=true;};if (F||(B.CancelCtrlDefaults&&D==CTRL&&(C<33||C>40))){B._CancelIt=true;if (A.preventDefault) return A.preventDefault();A.returnValue=false;A.cancelBubble=true;return false;};return true;};function _FCKKeystrokeHandler_OnKeyPress(A,B){if (B._CancelIt){if (A.preventDefault) return A.preventDefault();return false;};return true;};\r
-FCK.DTD=(function(){var X=FCKTools.Merge;var A,L,J,M,N,O,D,H,P,K,Q,F,G,C,B,E,I;A={isindex:1,fieldset:1};B={input:1,button:1,select:1,textarea:1,label:1};C=X({a:1},B);D=X({iframe:1},C);E={hr:1,ul:1,menu:1,div:1,blockquote:1,noscript:1,table:1,center:1,address:1,dir:1,pre:1,h5:1,dl:1,h4:1,noframes:1,h6:1,ol:1,h1:1,h3:1,h2:1};F={ins:1,del:1,script:1};G=X({b:1,acronym:1,bdo:1,'var':1,'#':1,abbr:1,code:1,br:1,i:1,cite:1,kbd:1,u:1,strike:1,s:1,tt:1,strong:1,q:1,samp:1,em:1,dfn:1,span:1},F);H=X({sub:1,img:1,object:1,sup:1,basefont:1,map:1,applet:1,font:1,big:1,small:1},G);I=X({p:1},H);J=X({iframe:1},H,B);K={img:1,noscript:1,br:1,kbd:1,center:1,button:1,basefont:1,h5:1,h4:1,samp:1,h6:1,ol:1,h1:1,h3:1,h2:1,form:1,font:1,'#':1,select:1,menu:1,ins:1,abbr:1,label:1,code:1,table:1,script:1,cite:1,input:1,iframe:1,strong:1,textarea:1,noframes:1,big:1,small:1,span:1,hr:1,sub:1,bdo:1,'var':1,div:1,object:1,sup:1,strike:1,dir:1,map:1,dl:1,applet:1,del:1,isindex:1,fieldset:1,ul:1,b:1,acronym:1,a:1,blockquote:1,i:1,u:1,s:1,tt:1,address:1,q:1,pre:1,p:1,em:1,dfn:1};L=X({a:1},J);M={tr:1};N={'#':1};O=X({param:1},K);P=X({form:1},A,D,E,I);Q={li:1};return {col:{},tr:{td:1,th:1},img:{},colgroup:{col:1},noscript:P,td:P,br:{},th:P,center:P,kbd:L,button:X(I,E),basefont:{},h5:L,h4:L,samp:L,h6:L,ol:Q,h1:L,h3:L,option:N,h2:L,form:X(A,D,E,I),select:{optgroup:1,option:1},font:J,ins:P,menu:Q,abbr:L,label:L,table:{thead:1,col:1,tbody:1,tr:1,colgroup:1,caption:1,tfoot:1},code:L,script:N,tfoot:M,cite:L,li:P,input:{},iframe:P,strong:J,textarea:N,noframes:P,big:J,small:J,span:J,hr:{},dt:L,sub:J,optgroup:{option:1},param:{},bdo:L,'var':J,div:P,object:O,sup:J,dd:P,strike:J,area:{},dir:Q,map:X({area:1,form:1,p:1},A,F,E),applet:O,dl:{dt:1,dd:1},del:P,isindex:{},fieldset:X({legend:1},K),thead:M,ul:Q,acronym:L,b:J,a:J,blockquote:P,caption:L,i:J,u:J,tbody:M,s:L,address:X(D,I),tt:J,legend:L,q:L,pre:X(G,C),p:L,em:J,dfn:L};})();\r
-var FCKStyle=function(A){this.Element=(A.Element||'span').toLowerCase();this._StyleDesc=A;};FCKStyle.prototype={GetType:function(){var A=this.GetType_$;if (A!=undefined) return A;var B=this.Element;if (B=='#'||FCKListsLib.StyleBlockElements[B]) A=0;else if (FCKListsLib.StyleObjectElements[B]) A=2;else A=1;return (this.GetType_$=A);},ApplyToSelection:function(A){var B=new FCKDomRange(A);B.MoveToSelection();this.ApplyToRange(B,true);},ApplyToRange:function(A,B,C){switch (this.GetType()){case 0:this.ApplyToRange=this._ApplyBlockStyle;break;case 1:this.ApplyToRange=this._ApplyInlineStyle;break;default:return;};this.ApplyToRange(A,B,C);},ApplyToObject:function(A){if (!A) return;this.BuildElement(null,A);},RemoveFromSelection:function(A){var B=new FCKDomRange(A);B.MoveToSelection();this.RemoveFromRange(B,true);},RemoveFromRange:function(A,B,C){var D;var E=this._GetAttribsForComparison();var F=this._GetOverridesForComparison();if (A.CheckIsCollapsed()){var D=A.CreateBookmark(true);var H=A.GetBookmarkNode(D,true);var I=new FCKElementPath(H.parentNode);var J=[];var K=!FCKDomTools.GetNextSibling(H);var L=K||!FCKDomTools.GetPreviousSibling(H);var M;var N=-1;for (var i=0;i<I.Elements.length;i++){var O=I.Elements[i];if (this.CheckElementRemovable(O)){if (L&&!FCKDomTools.CheckIsEmptyElement(O,function(el){return (el!=H);})){M=O;N=J.length-1;}else{var P=O.nodeName.toLowerCase();if (P==this.Element){for (var Q in E){if (FCKDomTools.HasAttribute(O,Q)){switch (Q){case 'style':this._RemoveStylesFromElement(O);break;case 'class':if (FCKDomTools.GetAttributeValue(O,Q)!=this.GetFinalAttributeValue(Q)) continue;default:FCKDomTools.RemoveAttribute(O,Q);}}}};this._RemoveOverrides(O,F[P]);if (this.GetType()==1) this._RemoveNoAttribElement(O);}}else if (L) J.push(O);L=L&&((K&&!FCKDomTools.GetNextSibling(O))||(!K&&!FCKDomTools.GetPreviousSibling(O)));if (M&&(!L||(i==I.Elements.length-1))){var R=FCKDomTools.RemoveNode(H);for (var j=0;j<=N;j++){var S=FCKDomTools.CloneElement(J[j]);S.appendChild(R);R=S;};if (K) FCKDomTools.InsertAfterNode(M,R);else M.parentNode.insertBefore(R,M);L=false;M=null;}};if (B) A.SelectBookmark(D);if (C) A.MoveToBookmark(D);return;};A.Expand('inline_elements');D=A.CreateBookmark(true);var T=A.GetBookmarkNode(D,true);var U=A.GetBookmarkNode(D,false);A.Release(true);var I=new FCKElementPath(T);var X=I.Elements;var O;for (var i=1;i<X.length;i++){O=X[i];if (O==I.Block||O==I.BlockLimit) break;if (this.CheckElementRemovable(O)) FCKDomTools.BreakParent(T,O,A);};I=new FCKElementPath(U);X=I.Elements;for (var i=1;i<X.length;i++){O=X[i];if (O==I.Block||O==I.BlockLimit) break;b=O.nodeName.toLowerCase();if (this.CheckElementRemovable(O)) FCKDomTools.BreakParent(U,O,A);};var Z=FCKDomTools.GetNextSourceNode(T,true);while (Z){var a=FCKDomTools.GetNextSourceNode(Z);if (Z.nodeType==1){var b=Z.nodeName.toLowerCase();var c=(b==this.Element);if (c){for (var Q in E){if (FCKDomTools.HasAttribute(Z,Q)){switch (Q){case 'style':this._RemoveStylesFromElement(Z);break;case 'class':if (FCKDomTools.GetAttributeValue(Z,Q)!=this.GetFinalAttributeValue(Q)) continue;default:FCKDomTools.RemoveAttribute(Z,Q);}}}}else c=!!F[b];if (c){this._RemoveOverrides(Z,F[b]);this._RemoveNoAttribElement(Z);}};if (a==U) break;Z=a;};this._FixBookmarkStart(T);if (B) A.SelectBookmark(D);if (C) A.MoveToBookmark(D);},CheckElementRemovable:function(A,B){if (!A) return false;var C=A.nodeName.toLowerCase();if (C==this.Element){if (!B&&!FCKDomTools.HasAttributes(A)) return true;var D=this._GetAttribsForComparison();var E=(D._length==0);for (var F in D){if (F=='_length') continue;if (this._CompareAttributeValues(F,FCKDomTools.GetAttributeValue(A,F),(this.GetFinalAttributeValue(F)||''))){E=true;if (!B) break;}else{E=false;if (B) return false;}};if (E) return true;};var G=this._GetOverridesForComparison()[C];if (G){if (!(D=G.Attributes)) return true;for (var i=0;i<D.length;i++){var H=D[i][0];if (FCKDomTools.HasAttribute(A,H)){var I=D[i][1];if (I==null||(typeof I=='string'&&FCKDomTools.GetAttributeValue(A,H)==I)||I.test(FCKDomTools.GetAttributeValue(A,H))) return true;}}};return false;},CheckActive:function(A){switch (this.GetType()){case 0:return this.CheckElementRemovable(A.Block||A.BlockLimit,true);case 1:var B=A.Elements;for (var i=0;i<B.length;i++){var C=B[i];if (C==A.Block||C==A.BlockLimit) continue;if (this.CheckElementRemovable(C,true)) return true;}};return false;},RemoveFromElement:function(A){var B=this._GetAttribsForComparison();var C=this._GetOverridesForComparison();var D=A.getElementsByTagName(this.Element);for (var i=D.length-1;i>=0;i--){var E=D[i];for (var F in B){if (FCKDomTools.HasAttribute(E,F)){switch (F){case 'style':this._RemoveStylesFromElement(E);break;case 'class':if (FCKDomTools.GetAttributeValue(E,F)!=this.GetFinalAttributeValue(F)) continue;default:FCKDomTools.RemoveAttribute(E,F);}}};this._RemoveOverrides(E,C[this.Element]);this._RemoveNoAttribElement(E);};for (var G in C){if (G!=this.Element){D=A.getElementsByTagName(G);for (var i=D.length-1;i>=0;i--){var E=D[i];this._RemoveOverrides(E,C[G]);this._RemoveNoAttribElement(E);}}}},_RemoveStylesFromElement:function(A){var B=A.style.cssText;var C=this.GetFinalStyleValue();if (B.length>0&&C.length==0) return;C='(^|;)\\s*('+C.replace(/\s*([^ ]+):.*?(;|$)/g,'$1|').replace(/\|$/,'')+'):[^;]+';var D=new RegExp(C,'gi');B=B.replace(D,'').Trim();if (B.length==0||B==';') FCKDomTools.RemoveAttribute(A,'style');else A.style.cssText=B.replace(D,'');},_RemoveOverrides:function(A,B){var C=B&&B.Attributes;if (C){for (var i=0;i<C.length;i++){var D=C[i][0];if (FCKDomTools.HasAttribute(A,D)){var E=C[i][1];if (E==null||(E.test&&E.test(FCKDomTools.GetAttributeValue(A,D)))||(typeof E=='string'&&FCKDomTools.GetAttributeValue(A,D)==E)) FCKDomTools.RemoveAttribute(A,D);}}}},_RemoveNoAttribElement:function(A){if (!FCKDomTools.HasAttributes(A)){var B=A.firstChild;var C=A.lastChild;FCKDomTools.RemoveNode(A,true);this._MergeSiblings(B);if (B!=C) this._MergeSiblings(C);}},BuildElement:function(A,B){var C=B||A.createElement(this.Element);var D=this._StyleDesc.Attributes;var E;if (D){for (var F in D){E=this.GetFinalAttributeValue(F);if (F.toLowerCase()=='class') C.className=E;else C.setAttribute(F,E);}};if (this._GetStyleText().length>0) C.style.cssText=this.GetFinalStyleValue();return C;},_CompareAttributeValues:function(A,B,C){if (A=='style'&&B&&C){B=B.replace(/;$/,'').toLowerCase();C=C.replace(/;$/,'').toLowerCase();};return (B==C||((B===null||B==='')&&(C===null||C==='')))},GetFinalAttributeValue:function(A){var B=this._StyleDesc.Attributes;var B=B?B[A]:null;if (!B&&A=='style') return this.GetFinalStyleValue();if (B&&this._Variables) B=B.Replace(FCKRegexLib.StyleVariableAttName,this._GetVariableReplace,this);return B;},GetFinalStyleValue:function(){var A=this._GetStyleText();if (A.length>0&&this._Variables){A=A.Replace(FCKRegexLib.StyleVariableAttName,this._GetVariableReplace,this);A=FCKTools.NormalizeCssText(A);};return A;},_GetVariableReplace:function(){return this._Variables[arguments[2]]||arguments[0];},SetVariable:function(A,B){var C=this._Variables;if (!C) C=this._Variables={};this._Variables[A]=B;},_FromPre:function(A,B,C){var D=B.innerHTML;D=D.replace(/(\r\n|\r)/g,'\n');D=D.replace(/^[ \t]*\n/,'');D=D.replace(/\n$/,'');D=D.replace(/^[ \t]+|[ \t]+$/g,function(match,offset,s){if (match.length==1) return '&nbsp;';else if (offset==0) return new Array(match.length).join('&nbsp;')+' ';else return ' '+new Array(match.length).join('&nbsp;');});var E=new FCKHtmlIterator(D);var F=[];E.Each(function(isTag,value){if (!isTag){value=value.replace(/\n/g,'<br>');value=value.replace(/[ \t]{2,}/g,function (match){return new Array(match.length).join('&nbsp;')+' ';});};F.push(value);});C.innerHTML=F.join('');return C;},_ToPre:function(A,B,C){var D=B.innerHTML.Trim();D=D.replace(/[ \t\r\n]*(<br[^>]*>)[ \t\r\n]*/gi,'<br />');var E=new FCKHtmlIterator(D);var F=[];E.Each(function(isTag,value){if (!isTag) value=value.replace(/([ \t\n\r]+|&nbsp;)/g,' ');else if (isTag&&value=='<br />') value='\n';F.push(value);});if (FCKBrowserInfo.IsIE){var G=A.createElement('div');G.appendChild(C);C.outerHTML='<pre>\n'+F.join('')+'</pre>';C=G.removeChild(G.firstChild);}else C.innerHTML=F.join('');return C;},_CheckAndMergePre:function(A,B){if (A!=FCKDomTools.GetPreviousSourceElement(B,true)) return;var C=A.innerHTML.replace(/\n$/,'')+'\n\n'+B.innerHTML.replace(/^\n/,'');if (FCKBrowserInfo.IsIE) B.outerHTML='<pre>'+C+'</pre>';else B.innerHTML=C;FCKDomTools.RemoveNode(A);},_CheckAndSplitPre:function(A){var B;var C=A.firstChild;C=C&&C.nextSibling;while (C){var D=C.nextSibling;if (D&&D.nextSibling&&C.nodeName.IEquals('br')&&D.nodeName.IEquals('br')){FCKDomTools.RemoveNode(C);C=D.nextSibling;FCKDomTools.RemoveNode(D);B=FCKDomTools.InsertAfterNode(B||A,FCKDomTools.CloneElement(A));continue;};if (B){C=C.previousSibling;FCKDomTools.MoveNode(C.nextSibling,B);};C=C.nextSibling;}},_ApplyBlockStyle:function(A,B,C){var D;if (B) D=A.CreateBookmark();var E=new FCKDomRangeIterator(A);E.EnforceRealBlocks=true;var F;var G=A.Window.document;var H;while((F=E.GetNextParagraph())){var I=this.BuildElement(G);var J=I.nodeName.IEquals('pre');var K=F.nodeName.IEquals('pre');var L=J&&!K;var M=!J&&K;if (L) I=this._ToPre(G,F,I);else if (M) I=this._FromPre(G,F,I);else FCKDomTools.MoveChildren(F,I);F.parentNode.insertBefore(I,F);FCKDomTools.RemoveNode(F);if (J){if (H) this._CheckAndMergePre(H,I);H=I;}else if (M) this._CheckAndSplitPre(I);};if (B) A.SelectBookmark(D);if (C) A.MoveToBookmark(D);},_ApplyInlineStyle:function(A,B,C){var D=A.Window.document;if (A.CheckIsCollapsed()){var E=this.BuildElement(D);A.InsertNode(E);A.MoveToPosition(E,2);A.Select();return;};var F=this.Element;var G=FCK.DTD[F]||FCK.DTD.span;var H=this._GetAttribsForComparison();var I;A.Expand('inline_elements');var J=A.CreateBookmark(true);var K=A.GetBookmarkNode(J,true);var L=A.GetBookmarkNode(J,false);A.Release(true);var M=FCKDomTools.GetNextSourceNode(K,true);while (M){var N=false;var O=M.nodeType;var P=O==1?M.nodeName.toLowerCase():null;if (!P||G[P]){if ((FCK.DTD[M.parentNode.nodeName.toLowerCase()]||FCK.DTD.span)[F]||!FCK.DTD[F]){if (!A.CheckHasRange()) A.SetStart(M,3);if (O!=1||M.childNodes.length==0){var Q=M;var R=Q.parentNode;while (Q==R.lastChild&&G[R.nodeName.toLowerCase()]){Q=R;};A.SetEnd(Q,4);if (Q==Q.parentNode.lastChild&&!G[Q.parentNode.nodeName.toLowerCase()]) N=true;}else{A.SetEnd(M,3);}}else N=true;}else N=true;M=FCKDomTools.GetNextSourceNode(M);if (M==L){M=null;N=true;};if (N&&A.CheckHasRange()&&!A.CheckIsCollapsed()){I=this.BuildElement(D);A.ExtractContents().AppendTo(I);if (I.innerHTML.RTrim().length>0){A.InsertNode(I);this.RemoveFromElement(I);this._MergeSiblings(I,this._GetAttribsForComparison());if (!FCKBrowserInfo.IsIE) I.normalize();};A.Release(true);}};this._FixBookmarkStart(K);if (B) A.SelectBookmark(J);if (C) A.MoveToBookmark(J);},_FixBookmarkStart:function(A){var B;while ((B=A.nextSibling)){if (B.nodeType==1&&FCKListsLib.InlineNonEmptyElements[B.nodeName.toLowerCase()]){if (!B.firstChild) FCKDomTools.RemoveNode(B);else FCKDomTools.MoveNode(A,B,true);continue;};if (B.nodeType==3&&B.length==0){FCKDomTools.RemoveNode(B);continue;};break;}},_MergeSiblings:function(A,B){if (!A||A.nodeType!=1||!FCKListsLib.InlineNonEmptyElements[A.nodeName.toLowerCase()]) return;this._MergeNextSibling(A,B);this._MergePreviousSibling(A,B);},_MergeNextSibling:function(A,B){var C=A.nextSibling;var D=(C&&C.nodeType==1&&C.getAttribute('_fck_bookmark'));if (D) C=C.nextSibling;if (C&&C.nodeType==1&&C.nodeName==A.nodeName){if (!B) B=this._CreateElementAttribsForComparison(A);if (this._CheckAttributesMatch(C,B)){var E=A.lastChild;if (D) FCKDomTools.MoveNode(A.nextSibling,A);FCKDomTools.MoveChildren(C,A);FCKDomTools.RemoveNode(C);if (E) this._MergeNextSibling(E);}}},_MergePreviousSibling:function(A,B){var C=A.previousSibling;var D=(C&&C.nodeType==1&&C.getAttribute('_fck_bookmark'));if (D) C=C.previousSibling;if (C&&C.nodeType==1&&C.nodeName==A.nodeName){if (!B) B=this._CreateElementAttribsForComparison(A);if (this._CheckAttributesMatch(C,B)){var E=A.firstChild;if (D) FCKDomTools.MoveNode(A.previousSibling,A,true);FCKDomTools.MoveChildren(C,A,true);FCKDomTools.RemoveNode(C);if (E) this._MergePreviousSibling(E);}}},_GetStyleText:function(){var A=this._StyleDesc.Styles;var B=(this._StyleDesc.Attributes?this._StyleDesc.Attributes['style']||'':'');if (B.length>0) B+=';';for (var C in A) B+=C+':'+A[C]+';';if (B.length>0&&!(/#\(/.test(B))){B=FCKTools.NormalizeCssText(B);};return (this._GetStyleText=function() { return B;})();},_GetAttribsForComparison:function(){var A=this._GetAttribsForComparison_$;if (A) return A;A={};var B=this._StyleDesc.Attributes;if (B){for (var C in B){A[C.toLowerCase()]=B[C].toLowerCase();}};if (this._GetStyleText().length>0){A['style']=this._GetStyleText().toLowerCase();};FCKTools.AppendLengthProperty(A,'_length');return (this._GetAttribsForComparison_$=A);},_GetOverridesForComparison:function(){var A=this._GetOverridesForComparison_$;if (A) return A;A={};var B=this._StyleDesc.Overrides;if (B){if (!FCKTools.IsArray(B)) B=[B];for (var i=0;i<B.length;i++){var C=B[i];var D;var E;var F;if (typeof C=='string') D=C.toLowerCase();else{D=C.Element?C.Element.toLowerCase():this.Element;F=C.Attributes;};E=A[D]||(A[D]={});if (F){var G=(E.Attributes=E.Attributes||[]);for (var H in F){G.push([H.toLowerCase(),F[H]]);}}}};return (this._GetOverridesForComparison_$=A);},_CreateElementAttribsForComparison:function(A){var B={};var C=0;for (var i=0;i<A.attributes.length;i++){var D=A.attributes[i];if (D.specified){B[D.nodeName.toLowerCase()]=FCKDomTools.GetAttributeValue(A,D).toLowerCase();C++;}};B._length=C;return B;},_CheckAttributesMatch:function(A,B){var C=A.attributes;var D=0;for (var i=0;i<C.length;i++){var E=C[i];if (E.specified){var F=E.nodeName.toLowerCase();var G=B[F];if (!G) break;if (G!=FCKDomTools.GetAttributeValue(A,E).toLowerCase()) break;D++;}};return (D==B._length);}};\r
-var FCKStyles=FCK.Styles={_Callbacks:{},_ObjectStyles:{},ApplyStyle:function(A){if (typeof A=='string') A=this.GetStyles()[A];if (A){if (A.GetType()==2) A.ApplyToObject(FCKSelection.GetSelectedElement());else A.ApplyToSelection(FCK.EditorWindow);FCK.Events.FireEvent('OnSelectionChange');}},RemoveStyle:function(A){if (typeof A=='string') A=this.GetStyles()[A];if (A){A.RemoveFromSelection(FCK.EditorWindow);FCK.Events.FireEvent('OnSelectionChange');}},AttachStyleStateChange:function(A,B,C){var D=this._Callbacks[A];if (!D) D=this._Callbacks[A]=[];D.push([B,C]);},CheckSelectionChanges:function(){var A=FCKSelection.GetBoundaryParentElement(true);if (!A) return;var B=new FCKElementPath(A);var C=this.GetStyles();for (var D in C){var E=this._Callbacks[D];if (E){var F=C[D];var G=F.CheckActive(B);if (G!=(F._LastState||null)){F._LastState=G;for (var i=0;i<E.length;i++){var H=E[i][0];var I=E[i][1];H.call(I||window,D,G);}}}}},CheckStyleInSelection:function(A){return false;},_GetRemoveFormatTagsRegex:function (){var A=new RegExp('^(?:'+FCKConfig.RemoveFormatTags.replace(/,/g,'|')+')$','i');return (this._GetRemoveFormatTagsRegex=function(){return A;})&&A;},RemoveAll:function(){var A=new FCKDomRange(FCK.EditorWindow);A.MoveToSelection();if (A.CheckIsCollapsed()) return;A.Expand('inline_elements');var B=A.CreateBookmark(true);var C=A.GetBookmarkNode(B,true);var D=A.GetBookmarkNode(B,false);A.Release(true);var E=this._GetRemoveFormatTagsRegex();var F=new FCKElementPath(C);var G=F.Elements;var H;for (var i=1;i<G.length;i++){H=G[i];if (H==F.Block||H==F.BlockLimit) break;if (E.test(H.nodeName)) FCKDomTools.BreakParent(C,H,A);};F=new FCKElementPath(D);G=F.Elements;for (var i=1;i<G.length;i++){H=G[i];if (H==F.Block||H==F.BlockLimit) break;elementName=H.nodeName.toLowerCase();if (E.test(H.nodeName)) FCKDomTools.BreakParent(D,H,A);};var I=FCKDomTools.GetNextSourceNode(C,true,1);while (I){if (I==D) break;var J=FCKDomTools.GetNextSourceNode(I,false,1);if (E.test(I.nodeName)) FCKDomTools.RemoveNode(I,true);else FCKDomTools.RemoveAttributes(I,FCKConfig.RemoveAttributesArray);I=J;};A.SelectBookmark(B);FCK.Events.FireEvent('OnSelectionChange');},GetStyle:function(A){return this.GetStyles()[A];},GetStyles:function(){var A=this._GetStyles;if (!A){A=this._GetStyles=FCKTools.Merge(this._LoadStylesCore(),this._LoadStylesCustom(),this._LoadStylesXml());};return A;},CheckHasObjectStyle:function(A){return!!this._ObjectStyles[A];},_LoadStylesCore:function(){var A={};var B=FCKConfig.CoreStyles;for (var C in B){var D=A['_FCK_'+C]=new FCKStyle(B[C]);D.IsCore=true;};return A;},_LoadStylesCustom:function(){var A={};var B=FCKConfig.CustomStyles;if (B){for (var C in B){var D=A[C]=new FCKStyle(B[C]);D.Name=C;}};return A;},_LoadStylesXml:function(){var A={};var B=FCKConfig.StylesXmlPath;if (!B||B.length==0) return A;var C=new FCKXml();C.LoadUrl(B);var D=FCKXml.TransformToObject(C.SelectSingleNode('Styles'));var E=D.$Style;if (!E) return A;for (var i=0;i<E.length;i++){var F=E[i];var G=(F.element||'').toLowerCase();if (G.length==0) throw('The element name is required. Error loading "'+B+'"');var H={Element:G,Attributes:{},Styles:{},Overrides:[]};var I=F.$Attribute||[];for (var j=0;j<I.length;j++){H.Attributes[I[j].name]=I[j].value;};var J=F.$Style||[];for (j=0;j<J.length;j++){H.Styles[J[j].name]=J[j].value;};var K=F.$Override;if (K){for (j=0;j<K.length;j++){var L=K[j];var M={Element:L.element};var N=L.$Attribute;if (N){M.Attributes={};for (var k=0;k<N.length;k++){var O=N[k].value||null;if (O){var P=O&&FCKRegexLib.RegExp.exec(O);if (P) O=new RegExp(P[1],P[2]||'');};M.Attributes[N[k].name]=O;}};H.Overrides.push(M);}};var Q=new FCKStyle(H);Q.Name=F.name||G;if (Q.GetType()==2) this._ObjectStyles[G]=true;A[Q.Name]=Q;};return A;}};\r
+var FCKEvents=function(A){this.Owner=A;this._RegisteredEvents={};};FCKEvents.prototype.AttachEvent=function(A,B){var C;if (!(C=this._RegisteredEvents[A])) this._RegisteredEvents[A]=[B];else C.push(B);};FCKEvents.prototype.FireEvent=function(A,B){var C=true;var D=this._RegisteredEvents[A];if (D){for (var i=0;i<D.length;i++) C=(D[i](this.Owner,B)&&C);};return C;};\r
+var FCK={Name:FCKURLParams['InstanceName'],Status:0,EditMode:0,Toolbar:null,HasFocus:false,AttachToOnSelectionChange:function(A){this.Events.AttachEvent('OnSelectionChange',A);},GetLinkedFieldValue:function(){return this.LinkedField.value;},GetParentForm:function(){return this.LinkedField.form;},StartupValue:'',IsDirty:function(){if (this.EditMode==1) return (this.StartupValue!=this.EditingArea.Textarea.value);else return (this.StartupValue!=this.EditorDocument.body.innerHTML);},ResetIsDirty:function(){if (this.EditMode==1) this.StartupValue=this.EditingArea.Textarea.value;else if (this.EditorDocument.body) this.StartupValue=this.EditorDocument.body.innerHTML;},StartEditor:function(){this.TempBaseTag=FCKConfig.BaseHref.length>0?'<base href="'+FCKConfig.BaseHref+'" _fcktemp="true"></base>':'';var A=FCK.KeystrokeHandler=new FCKKeystrokeHandler();A.OnKeystroke=_FCK_KeystrokeHandler_OnKeystroke;A.SetKeystrokes(FCKConfig.Keystrokes);if (FCKBrowserInfo.IsIE7){if ((CTRL+86/*V*/) in A.Keystrokes) A.SetKeystrokes([CTRL+86,true]);if ((SHIFT+45/*INS*/) in A.Keystrokes) A.SetKeystrokes([SHIFT+45,true]);};this.EditingArea=new FCKEditingArea(document.getElementById('xEditingArea'));this.EditingArea.FFSpellChecker=FCKConfig.FirefoxSpellChecker;FCKListsLib.Setup();this.SetHTML(this.GetLinkedFieldValue(),true);},Focus:function(){FCK.EditingArea.Focus();},SetStatus:function(A){this.Status=A;if (A==1){FCKFocusManager.AddWindow(window,true);if (FCKBrowserInfo.IsIE) FCKFocusManager.AddWindow(window.frameElement,true);if (FCKConfig.StartupFocus) FCK.Focus();};this.Events.FireEvent('OnStatusChange',A);},FixBody:function(){var A=FCKConfig.EnterMode;if (A!='p'&&A!='div') return;var B=this.EditorDocument;if (!B) return;var C=B.body;if (!C) return;FCKDomTools.TrimNode(C);var D=C.firstChild;var E;while (D){var F=false;switch (D.nodeType){case 1:if (!FCKListsLib.BlockElements[D.nodeName.toLowerCase()]) F=true;break;case 3:if (E||D.nodeValue.Trim().length>0) F=true;};if (F){var G=D.parentNode;if (!E) E=G.insertBefore(B.createElement(A),D);E.appendChild(G.removeChild(D));D=E.nextSibling;}else{if (E){FCKDomTools.TrimNode(E);E=null;};D=D.nextSibling;}};if (E) FCKDomTools.TrimNode(E);},GetXHTML:function(A){if (FCK.EditMode==1) return FCK.EditingArea.Textarea.value;this.FixBody();var B;var C=FCK.EditorDocument;if (!C) return null;if (FCKConfig.FullPage){B=FCKXHtml.GetXHTML(C.getElementsByTagName('html')[0],true,A);if (FCK.DocTypeDeclaration&&FCK.DocTypeDeclaration.length>0) B=FCK.DocTypeDeclaration+'\n'+B;if (FCK.XmlDeclaration&&FCK.XmlDeclaration.length>0) B=FCK.XmlDeclaration+'\n'+B;}else{B=FCKXHtml.GetXHTML(C.body,false,A);if (FCKConfig.IgnoreEmptyParagraphValue&&FCKRegexLib.EmptyOutParagraph.test(B)) B='';};B=FCK.ProtectEventsRestore(B);if (FCKBrowserInfo.IsIE) B=B.replace(FCKRegexLib.ToReplace,'$1');return FCKConfig.ProtectedSource.Revert(B);},UpdateLinkedField:function(){FCK.LinkedField.value=FCK.GetXHTML(FCKConfig.FormatOutput);FCK.Events.FireEvent('OnAfterLinkedFieldUpdate');},RegisteredDoubleClickHandlers:{},OnDoubleClick:function(A){var B=FCK.RegisteredDoubleClickHandlers[A.tagName];if (B) B(A);},RegisterDoubleClickHandler:function(A,B){FCK.RegisteredDoubleClickHandlers[B.toUpperCase()]=A;},OnAfterSetHTML:function(){FCKDocumentProcessor.Process(FCK.EditorDocument);FCKUndo.SaveUndoStep();FCK.Events.FireEvent('OnSelectionChange');FCK.Events.FireEvent('OnAfterSetHTML');},ProtectUrls:function(A){A=A.replace(FCKRegexLib.ProtectUrlsA,'$& _fcksavedurl=$1');A=A.replace(FCKRegexLib.ProtectUrlsImg,'$& _fcksavedurl=$1');return A;},ProtectEvents:function(A){return A.replace(FCKRegexLib.TagsWithEvent,_FCK_ProtectEvents_ReplaceTags);},ProtectEventsRestore:function(A){return A.replace(FCKRegexLib.ProtectedEvents,_FCK_ProtectEvents_RestoreEvents);},ProtectTags:function(A){var B=FCKConfig.ProtectedTags;if (FCKBrowserInfo.IsIE) B+=B.length>0?'|ABBR|XML':'ABBR|XML';var C;if (B.length>0){C=new RegExp('<('+B+')(?!\w|:)','gi');A=A.replace(C,'<FCK:$1');C=new RegExp('<\/('+B+')>','gi');A=A.replace(C,'<\/FCK:$1>');};B='META';if (FCKBrowserInfo.IsIE) B+='|HR';C=new RegExp('<(('+B+')(?=\\s|>|/)[\\s\\S]*?)/?>','gi');A=A.replace(C,'<FCK:$1 />');return A;},SetHTML:function(A,B){this.EditingArea.Mode=FCK.EditMode;if (FCK.EditMode==0){A=FCKConfig.ProtectedSource.Protect(A);A=A.replace(FCKRegexLib.InvalidSelfCloseTags,'$1></$2>');A=FCK.ProtectEvents(A);A=FCK.ProtectUrls(A);A=FCK.ProtectTags(A);if (FCKBrowserInfo.IsGecko){A=A.replace(FCKRegexLib.StrongOpener,'<b$1');A=A.replace(FCKRegexLib.StrongCloser,'<\/b>');A=A.replace(FCKRegexLib.EmOpener,'<i$1');A=A.replace(FCKRegexLib.EmCloser,'<\/i>');};this._ForceResetIsDirty=(B===true);var C='';if (FCKConfig.FullPage){if (!FCKRegexLib.HeadOpener.test(A)){if (!FCKRegexLib.HtmlOpener.test(A)) A='<html dir="'+FCKConfig.ContentLangDirection+'">'+A+'</html>';A=A.replace(FCKRegexLib.HtmlOpener,'$&<head></head>');};FCK.DocTypeDeclaration=A.match(FCKRegexLib.DocTypeTag);if (FCKBrowserInfo.IsIE) C=FCK._GetBehaviorsStyle();else if (FCKConfig.ShowBorders) C='<link href="'+FCKConfig.FullBasePath+'css/fck_showtableborders_gecko.css" rel="stylesheet" type="text/css" _fcktemp="true" />';C+='<link href="'+FCKConfig.FullBasePath+'css/fck_internal.css" rel="stylesheet" type="text/css" _fcktemp="true" />';C=A.replace(FCKRegexLib.HeadCloser,C+'$&');if (FCK.TempBaseTag.length>0&&!FCKRegexLib.HasBaseTag.test(A)) C=C.replace(FCKRegexLib.HeadOpener,'$&'+FCK.TempBaseTag);}else{C=FCKConfig.DocType+'<html dir="'+FCKConfig.ContentLangDirection+'"';if (FCKBrowserInfo.IsIE&&!FCKRegexLib.Html4DocType.test(FCKConfig.DocType)) C+=' style="overflow-y: scroll"';C+='><head><title></title>'+_FCK_GetEditorAreaStyleTags()+'<link href="'+FCKConfig.FullBasePath+'css/fck_internal.css" rel="stylesheet" type="text/css" _fcktemp="true" />';if (FCKBrowserInfo.IsIE) C+=FCK._GetBehaviorsStyle();else if (FCKConfig.ShowBorders) C+='<link href="'+FCKConfig.FullBasePath+'css/fck_showtableborders_gecko.css" rel="stylesheet" type="text/css" _fcktemp="true" />';C+=FCK.TempBaseTag;var D='<body';if (FCKConfig.BodyId&&FCKConfig.BodyId.length>0) D+=' id="'+FCKConfig.BodyId+'"';if (FCKConfig.BodyClass&&FCKConfig.BodyClass.length>0) D+=' class="'+FCKConfig.BodyClass+'"';C+='</head>'+D+'>';if (FCKBrowserInfo.IsGecko&&(A.length==0||FCKRegexLib.EmptyParagraph.test(A))) C+=GECKO_BOGUS;else C+=A;C+='</body></html>';};this.EditingArea.OnLoad=_FCK_EditingArea_OnLoad;this.EditingArea.Start(C);}else{FCK.EditorWindow=null;FCK.EditorDocument=null;this.EditingArea.OnLoad=null;this.EditingArea.Start(A);this.EditingArea.Textarea._FCKShowContextMenu=true;FCK.EnterKeyHandler=null;if (B) this.ResetIsDirty();FCK.KeystrokeHandler.AttachToElement(this.EditingArea.Textarea);this.EditingArea.Textarea.focus();FCK.Events.FireEvent('OnAfterSetHTML');};if (FCKBrowserInfo.IsGecko) window.onresize();},HasFocus:false,RedirectNamedCommands:{},ExecuteNamedCommand:function(A,B,C){FCKUndo.SaveUndoStep();if (!C&&FCK.RedirectNamedCommands[A]!=null) FCK.ExecuteRedirectedNamedCommand(A,B);else{FCK.Focus();FCK.EditorDocument.execCommand(A,false,B);FCK.Events.FireEvent('OnSelectionChange');};FCKUndo.SaveUndoStep();},GetNamedCommandState:function(A){try{if (!FCK.EditorDocument.queryCommandEnabled(A)) return -1;else return FCK.EditorDocument.queryCommandState(A)?1:0;}catch (e){return 0;}},GetNamedCommandValue:function(A){var B='';var C=FCK.GetNamedCommandState(A);if (C==-1) return null;try{B=this.EditorDocument.queryCommandValue(A);}catch(e) {};return B?B:'';},PasteFromWord:function(){FCKDialog.OpenDialog('FCKDialog_Paste',FCKLang.PasteFromWord,'dialog/fck_paste.html',400,330,'Word');},Preview:function(){var A=FCKConfig.ScreenWidth*0.8;var B=FCKConfig.ScreenHeight*0.7;var C=(FCKConfig.ScreenWidth-A)/2;var D=window.open('',null,'toolbar=yes,location=no,status=yes,menubar=yes,scrollbars=yes,resizable=yes,width='+A+',height='+B+',left='+C);var E;if (FCKConfig.FullPage){if (FCK.TempBaseTag.length>0) E=FCK.TempBaseTag+FCK.GetXHTML();else E=FCK.GetXHTML();}else{E=FCKConfig.DocType+'<html dir="'+FCKConfig.ContentLangDirection+'"><head>'+FCK.TempBaseTag+'<title>'+FCKLang.Preview+'</title>'+_FCK_GetEditorAreaStyleTags()+'</head><body>'+FCK.GetXHTML()+'</body></html>';};D.document.write(E);D.document.close();},SwitchEditMode:function(A){var B=(FCK.EditMode==0);var C=FCK.IsDirty();var D;if (B){if (!A&&FCKBrowserInfo.IsIE) FCKUndo.SaveUndoStep();D=FCK.GetXHTML(FCKConfig.FormatSource);if (D==null) return false;}else D=this.EditingArea.Textarea.value;FCK.EditMode=B?1:0;FCK.SetHTML(D,!C);FCK.Focus();FCKTools.RunFunction(FCK.ToolbarSet.RefreshModeState,FCK.ToolbarSet);return true;},CreateElement:function(A){var e=FCK.EditorDocument.createElement(A);return FCK.InsertElementAndGetIt(e);},InsertElementAndGetIt:function(e){e.setAttribute('FCKTempLabel','true');this.InsertElement(e);var A=FCK.EditorDocument.getElementsByTagName(e.tagName);for (var i=0;i<A.length;i++){if (A[i].getAttribute('FCKTempLabel')){A[i].removeAttribute('FCKTempLabel');return A[i];}};return null;}};FCK.Events=new FCKEvents(FCK);FCK.GetHTML=FCK.GetXHTML;function _FCK_ProtectEvents_ReplaceTags(A){return A.replace(FCKRegexLib.EventAttributes,_FCK_ProtectEvents_ReplaceEvents);};function _FCK_ProtectEvents_ReplaceEvents(A,B){return ' '+B+'_fckprotectedatt="'+A.ReplaceAll([/&/g,/'/g,/"/g,/=/g,/</g,/>/g,/\r/g,/\n/g],['&apos;','&#39;','&quot;','&#61;','&lt;','&gt;','&#10;','&#13;'])+'"';};function _FCK_ProtectEvents_RestoreEvents(A,B){return B.ReplaceAll([/&#39;/g,/&quot;/g,/&#61;/g,/&lt;/g,/&gt;/g,/&#10;/g,/&#13;/g,/&apos;/g],["'",'"','=','<','>','\r','\n','&']);};function _FCK_EditingArea_OnLoad(){FCK.EditorWindow=FCK.EditingArea.Window;FCK.EditorDocument=FCK.EditingArea.Document;FCK.InitializeBehaviors();if (!FCKConfig.DisableEnterKeyHandler) FCK.EnterKeyHandler=new FCKEnterKey(FCK.EditorWindow,FCKConfig.EnterMode,FCKConfig.ShiftEnterMode);FCK.KeystrokeHandler.AttachToElement(FCK.EditorDocument);if (FCK._ForceResetIsDirty) FCK.ResetIsDirty();if (FCKBrowserInfo.IsIE&&FCK.HasFocus) FCK.EditorDocument.body.setActive();FCK.OnAfterSetHTML();if (FCK.Status!=0) return;FCK.SetStatus(1);};function _FCK_GetEditorAreaStyleTags(){var A='';var B=FCKConfig.EditorAreaCSS;for (var i=0;i<B.length;i++) A+='<link href="'+B[i]+'" rel="stylesheet" type="text/css" />';return A;};function _FCK_KeystrokeHandler_OnKeystroke(A,B){if (FCK.Status!=2) return false;if (FCK.EditMode==0){if (B=='Paste') return!FCK.Events.FireEvent('OnPaste');}else{if (B.Equals('Paste','Undo','Redo','SelectAll')) return false;};var C=FCK.Commands.GetCommand(B);return (C.Execute.apply(C,FCKTools.ArgumentsToArray(arguments,2))!==false);};(function(){var A=window.parent.document;var B=A.getElementById(FCK.Name);var i=0;while (B||i==0){if (B&&B.tagName.toLowerCase().Equals('input','textarea')){FCK.LinkedField=B;break;};B=A.getElementsByName(FCK.Name)[i++];}})();var FCKTempBin={Elements:[],AddElement:function(A){var B=this.Elements.length;this.Elements[B]=A;return B;},RemoveElement:function(A){var e=this.Elements[A];this.Elements[A]=null;return e;},Reset:function(){var i=0;while (i<this.Elements.length) this.Elements[i++]=null;this.Elements.length=0;}};var FCKFocusManager=FCK.FocusManager={IsLocked:false,AddWindow:function(A,B){var C;if (FCKBrowserInfo.IsIE) C=A.nodeType==1?A:A.frameElement?A.frameElement:A.document;else C=A.document;FCKTools.AddEventListener(C,'blur',FCKFocusManager_Win_OnBlur);FCKTools.AddEventListener(C,'focus',B?FCKFocusManager_Win_OnFocus_Area:FCKFocusManager_Win_OnFocus);},RemoveWindow:function(A){if (FCKBrowserInfo.IsIE) oTarget=A.nodeType==1?A:A.frameElement?A.frameElement:A.document;else oTarget=A.document;FCKTools.RemoveEventListener(oTarget,'blur',FCKFocusManager_Win_OnBlur);FCKTools.RemoveEventListener(oTarget,'focus',FCKFocusManager_Win_OnFocus_Area);FCKTools.RemoveEventListener(oTarget,'focus',FCKFocusManager_Win_OnFocus);},Lock:function(){this.IsLocked=true;},Unlock:function(){if (this._HasPendingBlur) FCKFocusManager._Timer=window.setTimeout(FCKFocusManager_FireOnBlur,100);this.IsLocked=false;},_ResetTimer:function(){this._HasPendingBlur=false;if (this._Timer){window.clearTimeout(this._Timer);delete this._Timer;}}};function FCKFocusManager_Win_OnBlur(){if (typeof(FCK)!='undefined'&&FCK.HasFocus){FCKFocusManager._ResetTimer();FCKFocusManager._Timer=window.setTimeout(FCKFocusManager_FireOnBlur,100);}};function FCKFocusManager_FireOnBlur(){if (FCKFocusManager.IsLocked) FCKFocusManager._HasPendingBlur=true;else{FCK.HasFocus=false;FCK.Events.FireEvent("OnBlur");}};function FCKFocusManager_Win_OnFocus_Area(){FCK.Focus();FCKFocusManager_Win_OnFocus();};function FCKFocusManager_Win_OnFocus(){FCKFocusManager._ResetTimer();if (!FCK.HasFocus&&!FCKFocusManager.IsLocked){FCK.HasFocus=true;FCK.Events.FireEvent("OnFocus");}};\r
+FCK.Description="FCKeditor for Internet Explorer 5.5+";FCK._GetBehaviorsStyle=function(){if (!FCK._BehaviorsStyle){var A=FCKConfig.FullBasePath;var B='';var C;C='<style type="text/css" _fcktemp="true">';if (FCKConfig.ShowBorders) B='url('+A+'css/behaviors/showtableborders.htc)';C+='INPUT,TEXTAREA,SELECT,.FCK__Anchor,.FCK__PageBreak,.FCK__InputHidden';if (FCKConfig.DisableObjectResizing){C+=',IMG';B+=' url('+A+'css/behaviors/disablehandles.htc)';};C+=' { behavior: url('+A+'css/behaviors/disablehandles.htc) ; }';if (B.length>0) C+='TABLE { behavior: '+B+' ; }';C+='</style>';FCK._BehaviorsStyle=C;};return FCK._BehaviorsStyle;};function Doc_OnMouseUp(){if (FCK.EditorWindow.event.srcElement.tagName=='HTML'){FCK.Focus();FCK.EditorWindow.event.cancelBubble=true;FCK.EditorWindow.event.returnValue=false;}};function Doc_OnPaste(){return (FCK.Status==2&&FCK.Events.FireEvent("OnPaste"));};function Doc_OnKeyDown(){if (FCK.EditorWindow){var e=FCK.EditorWindow.event;if (!(e.keyCode>=16&&e.keyCode<=18)) Doc_OnKeyDownUndo();};return true;};function Doc_OnKeyDownUndo(){if (!FCKUndo.Typing){FCKUndo.SaveUndoStep();FCKUndo.Typing=true;FCK.Events.FireEvent("OnSelectionChange");};FCKUndo.TypesCount++;if (FCKUndo.TypesCount>FCKUndo.MaxTypes){FCKUndo.TypesCount=0;FCKUndo.SaveUndoStep();}};function Doc_OnDblClick(){FCK.OnDoubleClick(FCK.EditorWindow.event.srcElement);FCK.EditorWindow.event.cancelBubble=true;};function Doc_OnSelectionChange(){FCK.Events.FireEvent("OnSelectionChange");};FCK.InitializeBehaviors=function(A){this.EditorDocument.attachEvent('onmouseup',Doc_OnMouseUp);this.EditorDocument.body.attachEvent('onpaste',Doc_OnPaste);FCK.ContextMenu._InnerContextMenu.AttachToElement(FCK.EditorDocument.body);if (FCKConfig.TabSpaces>0){window.FCKTabHTML='';for (i=0;i<FCKConfig.TabSpaces;i++) window.FCKTabHTML+="&nbsp;";};this.EditorDocument.attachEvent("onkeydown",Doc_OnKeyDown);this.EditorDocument.attachEvent("ondblclick",Doc_OnDblClick);this.EditorDocument.attachEvent("onselectionchange",Doc_OnSelectionChange);};FCK.InsertHtml=function(A){A=FCKConfig.ProtectedSource.Protect(A);A=FCK.ProtectEvents(A);A=FCK.ProtectUrls(A);A=FCK.ProtectTags(A);FCK.EditorWindow.focus();FCKUndo.SaveUndoStep();var B=FCK.EditorDocument.selection;if (B.type.toLowerCase()=='control') B.clear();A='<span id="__fakeFCKRemove__">&nbsp;</span>'+A;B.createRange().pasteHTML(A);FCK.EditorDocument.getElementById('__fakeFCKRemove__').removeNode(true);FCKDocumentProcessor.Process(FCK.EditorDocument);};FCK.SetInnerHtml=function(A){var B=FCK.EditorDocument;B.body.innerHTML='<div id="__fakeFCKRemove__">&nbsp;</div>'+A;B.getElementById('__fakeFCKRemove__').removeNode(true);};function FCK_PreloadImages(){var A=new FCKImagePreloader();A.AddImages(FCKConfig.PreloadImages);A.AddImages(FCKConfig.SkinPath+'fck_strip.gif');A.OnComplete=LoadToolbarSetup;A.Start();};function Document_OnContextMenu(){return (event.srcElement._FCKShowContextMenu==true);};document.oncontextmenu=Document_OnContextMenu;function FCK_Cleanup(){this.EditorWindow=null;this.EditorDocument=null;};FCK.Paste=function(){if (FCK._PasteIsRunning) return true;if (FCKConfig.ForcePasteAsPlainText){FCK.PasteAsPlainText();return false;};var A=FCK._CheckIsPastingEnabled(true);if (A===false) FCKTools.RunFunction(FCKDialog.OpenDialog,FCKDialog,['FCKDialog_Paste',FCKLang.Paste,'dialog/fck_paste.html',400,330,'Security']);else{if (FCKConfig.AutoDetectPasteFromWord&&A.length>0){var B=/<\w[^>]*(( class="?MsoNormal"?)|(="mso-))/gi;if (B.test(A)){if (confirm(FCKLang.PasteWordConfirm)){FCK.PasteFromWord();return false;}}};FCK._PasteIsRunning=true;FCK.ExecuteNamedCommand('Paste');delete FCK._PasteIsRunning;};return false;};FCK.PasteAsPlainText=function(){if (!FCK._CheckIsPastingEnabled()){FCKDialog.OpenDialog('FCKDialog_Paste',FCKLang.PasteAsText,'dialog/fck_paste.html',400,330,'PlainText');return;};var A=clipboardData.getData("Text");if (A&&A.length>0){A=FCKTools.HTMLEncode(A).replace(/\n/g,'<BR>');this.InsertHtml(A);}};FCK._CheckIsPastingEnabled=function(A){FCK._PasteIsEnabled=false;document.body.attachEvent('onpaste',FCK_CheckPasting_Listener);var B=FCK.GetClipboardHTML();document.body.detachEvent('onpaste',FCK_CheckPasting_Listener);if (FCK._PasteIsEnabled){if (!A) B=true;}else B=false;delete FCK._PasteIsEnabled;return B;};function FCK_CheckPasting_Listener(){FCK._PasteIsEnabled=true;};FCK.InsertElement=function(A){FCK.InsertHtml(A.outerHTML);};FCK.GetClipboardHTML=function(){var A=document.getElementById('___FCKHiddenDiv');if (!A){A=document.createElement('DIV');A.id='___FCKHiddenDiv';var B=A.style;B.position='absolute';B.visibility=B.overflow='hidden';B.width=B.height=1;document.body.appendChild(A);};A.innerHTML='';var C=document.body.createTextRange();C.moveToElementText(A);C.execCommand('Paste');var D=A.innerHTML;A.innerHTML='';return D;};FCK.CreateLink=function(A){var B=[];FCK.ExecuteNamedCommand('Unlink');if (A.length>0){if (FCKSelection.GetType()=='Control'){var C=this.EditorDocument.createElement('A');C.href=A;var D=FCKSelection.GetSelectedElement();D.parentNode.insertBefore(C,D);D.parentNode.removeChild(D);C.appendChild(D);return [C];};var E='javascript:void(0);/*'+(new Date().getTime())+'*/';FCK.ExecuteNamedCommand('CreateLink',E);var F=this.EditorDocument.links;for (i=0;i<F.length;i++){var C=F[i];if (C.getAttribute('href',2)==E){var H=C.innerHTML;C.href=A;C.innerHTML=H;var I=C.lastChild;if (I&&I.nodeName=='BR'){FCKDomTools.InsertAfterNode(C,C.removeChild(I));};B.push(C);}}};return B;};\r
+var FCKConfig=FCK.Config={};if (document.location.protocol=='file:'){FCKConfig.BasePath=decodeURIComponent(document.location.pathname.substr(1));FCKConfig.BasePath=FCKConfig.BasePath.replace(/\\/gi, '/');FCKConfig.BasePath='file://'+FCKConfig.BasePath.substring(0,FCKConfig.BasePath.lastIndexOf('/')+1);FCKConfig.FullBasePath=FCKConfig.BasePath;}else{FCKConfig.BasePath=document.location.pathname.substring(0,document.location.pathname.lastIndexOf('/')+1);FCKConfig.FullBasePath=document.location.protocol+'//'+document.location.host+FCKConfig.BasePath;};FCKConfig.EditorPath=FCKConfig.BasePath.replace(/editor\/$/,'');try{FCKConfig.ScreenWidth=screen.width;FCKConfig.ScreenHeight=screen.height;}catch (e){FCKConfig.ScreenWidth=800;FCKConfig.ScreenHeight=600;};FCKConfig.ProcessHiddenField=function(){this.PageConfig={};var A=window.parent.document.getElementById(FCK.Name+'___Config');if (!A) return;var B=A.value.split('&');for (var i=0;i<B.length;i++){if (B[i].length==0) continue;var C=B[i].split('=');var D=decodeURIComponent(C[0]);var E=decodeURIComponent(C[1]);if (D=='CustomConfigurationsPath') FCKConfig[D]=E;else if (E.toLowerCase()=="true") this.PageConfig[D]=true;else if (E.toLowerCase()=="false") this.PageConfig[D]=false;else if (E.length>0&&!isNaN(E)) this.PageConfig[D]=parseInt(E,10);else this.PageConfig[D]=E;}};function FCKConfig_LoadPageConfig(){var A=FCKConfig.PageConfig;for (var B in A) FCKConfig[B]=A[B];};function FCKConfig_PreProcess(){var A=FCKConfig;if (A.AllowQueryStringDebug){try{if ((/fckdebug=true/i).test(window.top.location.search)) A.Debug=true;}catch (e) {/*Ignore it. Much probably we are inside a FRAME where the "top" is in another domain (security error).*/}};if (!A.PluginsPath.EndsWith('/')) A.PluginsPath+='/';if (typeof(A.EditorAreaCSS)=='string') A.EditorAreaCSS=[A.EditorAreaCSS];var B=A.ToolbarComboPreviewCSS;if (!B||B.length==0) A.ToolbarComboPreviewCSS=A.EditorAreaCSS;else if (typeof(B)=='string') A.ToolbarComboPreviewCSS=[B];};FCKConfig.ToolbarSets={};FCKConfig.Plugins={};FCKConfig.Plugins.Items=[];FCKConfig.Plugins.Add=function(A,B,C){FCKConfig.Plugins.Items.AddItem([A,B,C]);};FCKConfig.ProtectedSource={};FCKConfig.ProtectedSource.RegexEntries=[/<!--[\s\S]*?-->/g,/<script[\s\S]*?<\/script>/gi,/<noscript[\s\S]*?<\/noscript>/gi,/<object[\s\S]+?<\/object>/gi];FCKConfig.ProtectedSource.Add=function(A){this.RegexEntries.AddItem(A);};FCKConfig.ProtectedSource.Protect=function(A){function _Replace(protectedSource){var B=FCKTempBin.AddElement(protectedSource);return '<!--{PS..'+B+'}-->';};for (var i=0;i<this.RegexEntries.length;i++){A=A.replace(this.RegexEntries[i],_Replace);};return A;};FCKConfig.ProtectedSource.Revert=function(A,B){function _Replace(m,opener,index){var C=B?FCKTempBin.RemoveElement(index):FCKTempBin.Elements[index];return FCKConfig.ProtectedSource.Revert(C,B);};return A.replace(/(<|&lt;)!--\{PS..(\d+)\}--(>|&gt;)/g,_Replace);}\r
+var FCKDebug={};FCKDebug._GetWindow=function(){if (!this.DebugWindow||this.DebugWindow.closed) this.DebugWindow=window.open(FCKConfig.BasePath+'fckdebug.html','FCKeditorDebug','menubar=no,scrollbars=yes,resizable=yes,location=no,toolbar=no,width=600,height=500',true);return this.DebugWindow;};FCKDebug.Output=function(A,B,C){if (!FCKConfig.Debug) return;try{this._GetWindow().Output(A,B);}catch (e) {}};FCKDebug.OutputObject=function(A,B){if (!FCKConfig.Debug) return;try{this._GetWindow().OutputObject(A,B);}catch (e) {}}\r
+var FCKDomTools={MoveChildren:function(A,B){if (A==B) return;var C;while ((C=A.firstChild)) B.appendChild(A.removeChild(C));},TrimNode:function(A,B){this.LTrimNode(A);this.RTrimNode(A,B);},LTrimNode:function(A){var B;while ((B=A.firstChild)){if (B.nodeType==3){var C=B.nodeValue.LTrim();var D=B.nodeValue.length;if (C.length==0){A.removeChild(B);continue;}else if (C.length<D){B.splitText(D-C.length);A.removeChild(A.firstChild);}};break;}},RTrimNode:function(A,B){var C;while ((C=A.lastChild)){switch (C.nodeType){case 1:if (C.nodeName.toUpperCase()=='BR'&&(B||C.getAttribute('type',2)=='_moz')){C.parentNode.removeChild(C);continue;};break;case 3:var D=C.nodeValue.RTrim();var E=C.nodeValue.length;if (D.length==0){C.parentNode.removeChild(C);continue;}else if (D.length<E){C.splitText(D.length);A.lastChild.parentNode.removeChild(A.lastChild);}};break;}},RemoveNode:function(A,B){if (B){var C;while ((C=A.firstChild)) A.parentNode.insertBefore(A.removeChild(C),A);};return A.parentNode.removeChild(A);},GetFirstChild:function(A,B){if (typeof (B)=='string') B=[B];var C=A.firstChild;while(C){if (C.nodeType==1&&C.tagName.Equals.apply(C.tagName,B)) return C;C=C.nextSibling;};return null;},GetLastChild:function(A,B){if (typeof (B)=='string') B=[B];var C=A.lastChild;while(C){if (C.nodeType==1&&(!B||C.tagName.Equals(B))) return C;C=C.previousSibling;};return null;},GetPreviousSourceElement:function(A,B,C,D){if (!A) return null;if (C&&A.nodeType==1&&A.nodeName.IEquals(C)) return null;if (A.previousSibling) A=A.previousSibling;else return this.GetPreviousSourceElement(A.parentNode,B,C,D);while (A){if (A.nodeType==1){if (C&&A.nodeName.IEquals(C)) break;if (!D||!A.nodeName.IEquals(D)) return A;}else if (B&&A.nodeType==3&&A.nodeValue.RTrim().length>0) break;if (A.lastChild) A=A.lastChild;else return this.GetPreviousSourceElement(A,B,C,D);};return null;},GetNextSourceElement:function(A,B,C,D){if (!A) return null;if (A.nextSibling) A=A.nextSibling;else return this.GetNextSourceElement(A.parentNode,B,C,D);while (A){if (A.nodeType==1){if (C&&A.nodeName.IEquals(C)) break;if (!D||!A.nodeName.IEquals(D)) return A;}else if (B&&A.nodeType==3&&A.nodeValue.RTrim().length>0) break;if (A.firstChild) A=A.firstChild;else return this.GetNextSourceElement(A,B,C,D);};return null;},InsertAfterNode:function(A,B){return A.parentNode.insertBefore(B,A.nextSibling);},GetParents:function(A){var B=[];while (A){B.splice(0,0,A);A=A.parentNode;};return B;},GetIndexOf:function(A){var B=A.parentNode?A.parentNode.firstChild:null;var C=-1;while (B){C++;if (B==A) return C;B=B.nextSibling;};return-1;}};\r
+var GECKO_BOGUS='<br type="_moz">';var FCKTools={};FCKTools.CreateBogusBR=function(A){var B=A.createElement('br');B.setAttribute('type','_moz');return B;};FCKTools.AppendStyleSheet=function(A,B){if (typeof(B)=='string') return this._AppendStyleSheet(A,B);else{var C=[];for (var i=0;i<B.length;i++) C.push(this._AppendStyleSheet(A,B[i]));return C;}};FCKTools.GetElementDocument=function (A){return A.ownerDocument||A.document;};FCKTools.GetElementWindow=function(A){return this.GetDocumentWindow(this.GetElementDocument(A));};FCKTools.GetDocumentWindow=function(A){if (FCKBrowserInfo.IsSafari&&!A.parentWindow) this.FixDocumentParentWindow(window.top);return A.parentWindow||A.defaultView;};FCKTools.FixDocumentParentWindow=function(A){A.document.parentWindow=A;for (var i=0;i<A.frames.length;i++) FCKTools.FixDocumentParentWindow(A.frames[i]);};FCKTools.HTMLEncode=function(A){if (!A) return '';A=A.replace(/&/g,'&amp;');A=A.replace(/</g,'&lt;');A=A.replace(/>/g,'&gt;');return A;};FCKTools.HTMLDecode=function(A){if (!A) return '';A=A.replace(/&gt;/g,'>');A=A.replace(/&lt;/g,'<');A=A.replace(/&amp;/g,'&');return A;};FCKTools.AddSelectOption=function(A,B,C){var D=FCKTools.GetElementDocument(A).createElement("OPTION");D.text=B;D.value=C;A.options.add(D);return D;};FCKTools.RunFunction=function(A,B,C,D){if (A) this.SetTimeout(A,0,B,C,D);};FCKTools.SetTimeout=function(A,B,C,D,E){return (E||window).setTimeout(function(){if (D) A.apply(C,[].concat(D));else A.apply(C);},B);};FCKTools.SetInterval=function(A,B,C,D,E){return (E||window).setInterval(function(){A.apply(C,D||[]);},B);};FCKTools.ConvertStyleSizeToHtml=function(A){return A.EndsWith('%')?A:parseInt(A,10);};FCKTools.ConvertHtmlSizeToStyle=function(A){return A.EndsWith('%')?A:(A+'px');};FCKTools.GetElementAscensor=function(A,B){var e=A;var C=","+B.toUpperCase()+",";while (e){if (C.indexOf(","+e.nodeName.toUpperCase()+",")!=-1) return e;e=e.parentNode;};return null;};FCKTools.CreateEventListener=function(A,B){var f=function(){var C=[];for (var i=0;i<arguments.length;i++) C.push(arguments[i]);A.apply(this,C.concat(B));};return f;};FCKTools.IsStrictMode=function(A){return ('CSS1Compat'==(A.compatMode||'CSS1Compat'));};FCKTools.ArgumentsToArray=function(A,B,C){B=B||0;C=C||A.length;var D=[];for (var i=B;i<B+C&&i<A.length;i++) D.push(A[i]);return D;};FCKTools.CloneObject=function(A){var B=function() {};B.prototype=A;return new B;};FCKTools.GetLastItem=function(A){if (A.length>0) return A[A.length-1];return null;};\r
+FCKTools.CancelEvent=function(e){return false;};FCKTools._AppendStyleSheet=function(A,B){return A.createStyleSheet(B).owningElement;};FCKTools.ClearElementAttributes=function(A){A.clearAttributes();};FCKTools.GetAllChildrenIds=function(A){var B=[];for (var i=0;i<A.all.length;i++){var C=A.all[i].id;if (C&&C.length>0) B[B.length]=C;};return B;};FCKTools.RemoveOuterTags=function(e){e.insertAdjacentHTML('beforeBegin',e.innerHTML);e.parentNode.removeChild(e);};FCKTools.CreateXmlObject=function(A){var B;switch (A){case 'XmlHttp':B=['MSXML2.XmlHttp','Microsoft.XmlHttp'];break;case 'DOMDocument':B=['MSXML2.DOMDocument','Microsoft.XmlDom'];break;};for (var i=0;i<2;i++){try { return new ActiveXObject(B[i]);}catch (e){}};if (FCKLang.NoActiveX){alert(FCKLang.NoActiveX);FCKLang.NoActiveX=null;};return null;};FCKTools.DisableSelection=function(A){A.unselectable='on';var e,i=0;while ((e=A.all[i++])){switch (e.tagName){case 'IFRAME':case 'TEXTAREA':case 'INPUT':case 'SELECT':break;default:e.unselectable='on';}}};FCKTools.GetScrollPosition=function(A){var B=A.document;var C={ X:B.documentElement.scrollLeft,Y:B.documentElement.scrollTop };if (C.X>0||C.Y>0) return C;return { X:B.body.scrollLeft,Y:B.body.scrollTop };};FCKTools.AddEventListener=function(A,B,C){A.attachEvent('on'+B,C);};FCKTools.RemoveEventListener=function(A,B,C){A.detachEvent('on'+B,C);};FCKTools.AddEventListenerEx=function(A,B,C,D){var o={};o.Source=A;o.Params=D||[];o.Listener=function(ev){return C.apply(o.Source,[ev].concat(o.Params));};if (FCK.IECleanup) FCK.IECleanup.AddItem(null,function() { o.Source=null;o.Params=null;});A.attachEvent('on'+B,o.Listener);A=null;D=null;};FCKTools.GetViewPaneSize=function(A){var B;var C=A.document.documentElement;if (C&&C.clientWidth) B=C;else B=top.document.body;if (B) return { Width:B.clientWidth,Height:B.clientHeight };else return { Width:0,Height:0 };};FCKTools.SaveStyles=function(A){var B={};if (A.className.length>0){B.Class=A.className;A.className='';};var C=A.style.cssText;if (C.length>0){B.Inline=C;A.style.cssText='';};return B;};FCKTools.RestoreStyles=function(A,B){A.className=B.Class||'';A.style.cssText=B.Inline||'';};FCKTools.RegisterDollarFunction=function(A){A.$=A.document.getElementById;};FCKTools.AppendElement=function(A,B){return A.appendChild(this.GetElementDocument(A).createElement(B));};FCKTools.ToLowerCase=function(A){return A.toLowerCase();}\r
+var FCKeditorAPI;function InitializeAPI(){var A=window.parent;if (!(FCKeditorAPI=A.FCKeditorAPI)){var B='var FCKeditorAPI = {Version : "2.4.3",VersionBuild : "15657",__Instances : new Object(),GetInstance : function( name ){return this.__Instances[ name ];},_FormSubmit : function(){for ( var name in FCKeditorAPI.__Instances ){var oEditor = FCKeditorAPI.__Instances[ name ] ;if ( oEditor.GetParentForm && oEditor.GetParentForm() == this )oEditor.UpdateLinkedField() ;}this._FCKOriginalSubmit() ;},_FunctionQueue       : {Functions : new Array(),IsRunning : false,Add : function( f ){this.Functions.push( f );if ( !this.IsRunning )this.StartNext();},StartNext : function(){var aQueue = this.Functions ;if ( aQueue.length > 0 ){this.IsRunning = true;aQueue[0].call();}else this.IsRunning = false;},Remove : function( f ){var aQueue = this.Functions;var i = 0, fFunc;while( (fFunc = aQueue[ i ]) ){if ( fFunc == f )aQueue.splice( i,1 );i++ ;}this.StartNext();}}}';if (A.execScript) A.execScript(B,'JavaScript');else{if (FCKBrowserInfo.IsGecko10){eval.call(A,B);}else if (FCKBrowserInfo.IsSafari){var C=A.document;var D=C.createElement('script');D.appendChild(C.createTextNode(B));C.documentElement.appendChild(D);}else A.eval(B);};FCKeditorAPI=A.FCKeditorAPI;};FCKeditorAPI.__Instances[FCK.Name]=FCK;};function _AttachFormSubmitToAPI(){var A=FCK.GetParentForm();if (A){FCKTools.AddEventListener(A,'submit',FCK.UpdateLinkedField);if (!A._FCKOriginalSubmit&&(typeof(A.submit)=='function'||(!A.submit.tagName&&!A.submit.length))){A._FCKOriginalSubmit=A.submit;A.submit=FCKeditorAPI._FormSubmit;}}};function FCKeditorAPI_Cleanup(){delete FCKeditorAPI.__Instances[FCK.Name];};FCKTools.AddEventListener(window,'unload',FCKeditorAPI_Cleanup);\r
+var FCKImagePreloader=function(){this._Images=[];};FCKImagePreloader.prototype={AddImages:function(A){if (typeof(A)=='string') A=A.split(';');this._Images=this._Images.concat(A);},Start:function(){var A=this._Images;this._PreloadCount=A.length;for (var i=0;i<A.length;i++){var B=document.createElement('img');B.onload=B.onerror=_FCKImagePreloader_OnImage;B._FCKImagePreloader=this;B.src=A[i];_FCKImagePreloader_ImageCache.push(B);}}};var _FCKImagePreloader_ImageCache=[];function _FCKImagePreloader_OnImage(){var A=this._FCKImagePreloader;if ((--A._PreloadCount)==0&&A.OnComplete) A.OnComplete();this._FCKImagePreloader=null;}\r
+var FCKRegexLib={AposEntity:/&apos;/gi,ObjectElements:/^(?:IMG|TABLE|TR|TD|TH|INPUT|SELECT|TEXTAREA|HR|OBJECT|A|UL|OL|LI)$/i,NamedCommands:/^(?:Cut|Copy|Paste|Print|SelectAll|RemoveFormat|Unlink|Undo|Redo|Bold|Italic|Underline|StrikeThrough|Subscript|Superscript|JustifyLeft|JustifyCenter|JustifyRight|JustifyFull|Outdent|Indent|InsertOrderedList|InsertUnorderedList|InsertHorizontalRule)$/i,BodyContents:/([\s\S]*\<body[^\>]*\>)([\s\S]*)(\<\/body\>[\s\S]*)/i,ToReplace:/___fcktoreplace:([\w]+)/ig,MetaHttpEquiv:/http-equiv\s*=\s*["']?([^"' ]+)/i,HasBaseTag:/<base /i,HtmlOpener:/<html\s?[^>]*>/i,HeadOpener:/<head\s?[^>]*>/i,HeadCloser:/<\/head\s*>/i,FCK_Class:/(\s*FCK__[A-Za-z]*\s*)/,ElementName:/(^[a-z_:][\w.\-:]*\w$)|(^[a-z_]$)/,ForceSimpleAmpersand:/___FCKAmp___/g,SpaceNoClose:/\/>/g,EmptyParagraph:/^<(p|div|address|h\d|center)(?=[ >])[^>]*>\s*(<\/\1>)?$/,EmptyOutParagraph:/^<(p|div|address|h\d|center)(?=[ >])[^>]*>(?:\s*|&nbsp;)(<\/\1>)?$/,TagBody:/></,StrongOpener:/<STRONG([ \>])/gi,StrongCloser:/<\/STRONG>/gi,EmOpener:/<EM([ \>])/gi,EmCloser:/<\/EM>/gi,GeckoEntitiesMarker:/#\?-\:/g,ProtectUrlsImg:/<img(?=\s).*?\ssrc=((?:(?:\s*)("|').*?\2)|(?:[^"'][^ >]+))/gi,ProtectUrlsA:/<a(?=\s).*?\shref=((?:(?:\s*)("|').*?\2)|(?:[^"'][^ >]+))/gi,Html4DocType:/HTML 4\.0 Transitional/i,DocTypeTag:/<!DOCTYPE[^>]*>/i,TagsWithEvent:/<[^\>]+ on\w+[\s\r\n]*=[\s\r\n]*?('|")[\s\S]+?\>/g,EventAttributes:/\s(on\w+)[\s\r\n]*=[\s\r\n]*?('|")([\s\S]*?)\2/g,ProtectedEvents:/\s\w+_fckprotectedatt="([^"]+)"/g,StyleProperties:/\S+\s*:/g,InvalidSelfCloseTags:/(<(?!base|meta|link|hr|br|param|img|area|input)([a-zA-Z0-9:]+)[^>]*)\/>/gi};\r
+var FCKListsLib={BlockElements:{ address:1,blockquote:1,center:1,div:1,dl:1,fieldset:1,form:1,h1:1,h2:1,h3:1,h4:1,h5:1,h6:1,hr:1,marquee:1,noscript:1,ol:1,p:1,pre:1,script:1,table:1,ul:1 },NonEmptyBlockElements:{ p:1,div:1,h1:1,h2:1,h3:1,h4:1,h5:1,h6:1,address:1,pre:1,ol:1,ul:1,li:1,td:1,th:1 },InlineChildReqElements:{ abbr:1,acronym:1,b:1,bdo:1,big:1,cite:1,code:1,del:1,dfn:1,em:1,font:1,i:1,ins:1,label:1,kbd:1,q:1,samp:1,small:1,span:1,strong:1,sub:1,sup:1,tt:1,u:1,'var':1 },EmptyElements:{ base:1,meta:1,link:1,hr:1,br:1,param:1,img:1,area:1,input:1 },PathBlockElements:{ address:1,blockquote:1,dl:1,h1:1,h2:1,h3:1,h4:1,h5:1,h6:1,p:1,pre:1,ol:1,ul:1,li:1,dt:1,de:1 },PathBlockLimitElements:{ body:1,td:1,th:1,caption:1,form:1 },Setup:function(){if (FCKConfig.EnterMode=='div') this.PathBlockElements.div=1;else this.PathBlockLimitElements.div=1;}};\r
+var FCKLanguageManager=FCK.Language={AvailableLanguages:{af:'Afrikaans',ar:'Arabic',bg:'Bulgarian',bn:'Bengali/Bangla',bs:'Bosnian',ca:'Catalan',cs:'Czech',da:'Danish',de:'German',el:'Greek',en:'English','en-au':'English (Australia)','en-ca':'English (Canadian)','en-uk':'English (United Kingdom)',eo:'Esperanto',es:'Spanish',et:'Estonian',eu:'Basque',fa:'Persian',fi:'Finnish',fo:'Faroese',fr:'French',gl:'Galician',he:'Hebrew',hi:'Hindi',hr:'Croatian',hu:'Hungarian',it:'Italian',ja:'Japanese',km:'Khmer',ko:'Korean',lt:'Lithuanian',lv:'Latvian',mn:'Mongolian',ms:'Malay',nb:'Norwegian Bokmal',nl:'Dutch',no:'Norwegian',pl:'Polish',pt:'Portuguese (Portugal)','pt-br':'Portuguese (Brazil)',ro:'Romanian',ru:'Russian',sk:'Slovak',sl:'Slovenian',sr:'Serbian (Cyrillic)','sr-latn':'Serbian (Latin)',sv:'Swedish',th:'Thai',tr:'Turkish',uk:'Ukrainian',vi:'Vietnamese',zh:'Chinese Traditional','zh-cn':'Chinese Simplified'},GetActiveLanguage:function(){if (FCKConfig.AutoDetectLanguage){var A;if (navigator.userLanguage) A=navigator.userLanguage.toLowerCase();else if (navigator.language) A=navigator.language.toLowerCase();else{return FCKConfig.DefaultLanguage;};if (A.length>=5){A=A.substr(0,5);if (this.AvailableLanguages[A]) return A;};if (A.length>=2){A=A.substr(0,2);if (this.AvailableLanguages[A]) return A;}};return this.DefaultLanguage;},TranslateElements:function(A,B,C,D){var e=A.getElementsByTagName(B);var E,s;for (var i=0;i<e.length;i++){if ((E=e[i].getAttribute('fckLang'))){if ((s=FCKLang[E])){if (D) s=FCKTools.HTMLEncode(s);eval('e[i].'+C+' = s');}}}},TranslatePage:function(A){this.TranslateElements(A,'INPUT','value');this.TranslateElements(A,'SPAN','innerHTML');this.TranslateElements(A,'LABEL','innerHTML');this.TranslateElements(A,'OPTION','innerHTML',true);},Initialize:function(){if (this.AvailableLanguages[FCKConfig.DefaultLanguage]) this.DefaultLanguage=FCKConfig.DefaultLanguage;else this.DefaultLanguage='en';this.ActiveLanguage={};this.ActiveLanguage.Code=this.GetActiveLanguage();this.ActiveLanguage.Name=this.AvailableLanguages[this.ActiveLanguage.Code];}};\r
+var FCKXHtmlEntities={};FCKXHtmlEntities.Initialize=function(){if (FCKXHtmlEntities.Entities) return;var A='';var B,e;if (FCKConfig.ProcessHTMLEntities){FCKXHtmlEntities.Entities={' ':'nbsp','¡':'iexcl','¢':'cent','£':'pound','¤':'curren','¥':'yen','¦':'brvbar','§':'sect','¨':'uml','©':'copy','ª':'ordf','«':'laquo','¬':'not','­':'shy','®':'reg','¯':'macr','°':'deg','±':'plusmn','²':'sup2','³':'sup3','´':'acute','µ':'micro','¶':'para','·':'middot','¸':'cedil','¹':'sup1','º':'ordm','»':'raquo','¼':'frac14','½':'frac12','¾':'frac34','¿':'iquest','×':'times','÷':'divide','ƒ':'fnof','•':'bull','…':'hellip','′':'prime','″':'Prime','‾':'oline','⁄':'frasl','℘':'weierp','ℑ':'image','ℜ':'real','™':'trade','ℵ':'alefsym','←':'larr','↑':'uarr','→':'rarr','↓':'darr','↔':'harr','↵':'crarr','⇐':'lArr','⇑':'uArr','⇒':'rArr','⇓':'dArr','⇔':'hArr','∀':'forall','∂':'part','∃':'exist','∅':'empty','∇':'nabla','∈':'isin','∉':'notin','∋':'ni','∏':'prod','∑':'sum','−':'minus','∗':'lowast','√':'radic','∝':'prop','∞':'infin','∠':'ang','∧':'and','∨':'or','∩':'cap','∪':'cup','∫':'int','∴':'there4','∼':'sim','≅':'cong','≈':'asymp','≠':'ne','≡':'equiv','≤':'le','≥':'ge','⊂':'sub','⊃':'sup','⊄':'nsub','⊆':'sube','⊇':'supe','⊕':'oplus','⊗':'otimes','⊥':'perp','⋅':'sdot','◊':'loz','♠':'spades','♣':'clubs','♥':'hearts','♦':'diams','"':'quot','ˆ':'circ','˜':'tilde',' ':'ensp',' ':'emsp',' ':'thinsp','‌':'zwnj','‍':'zwj','‎':'lrm','‏':'rlm','–':'ndash','—':'mdash','‘':'lsquo','’':'rsquo','‚':'sbquo','“':'ldquo','”':'rdquo','„':'bdquo','†':'dagger','‡':'Dagger','‰':'permil','‹':'lsaquo','›':'rsaquo','€':'euro'};for (e in FCKXHtmlEntities.Entities) A+=e;if (FCKConfig.IncludeLatinEntities){B={'À':'Agrave','Á':'Aacute','Â':'Acirc','Ã':'Atilde','Ä':'Auml','Å':'Aring','Æ':'AElig','Ç':'Ccedil','È':'Egrave','É':'Eacute','Ê':'Ecirc','Ë':'Euml','Ì':'Igrave','Í':'Iacute','Î':'Icirc','Ï':'Iuml','Ð':'ETH','Ñ':'Ntilde','Ò':'Ograve','Ó':'Oacute','Ô':'Ocirc','Õ':'Otilde','Ö':'Ouml','Ø':'Oslash','Ù':'Ugrave','Ú':'Uacute','Û':'Ucirc','Ü':'Uuml','Ý':'Yacute','Þ':'THORN','ß':'szlig','à':'agrave','á':'aacute','â':'acirc','ã':'atilde','ä':'auml','å':'aring','æ':'aelig','ç':'ccedil','è':'egrave','é':'eacute','ê':'ecirc','ë':'euml','ì':'igrave','í':'iacute','î':'icirc','ï':'iuml','ð':'eth','ñ':'ntilde','ò':'ograve','ó':'oacute','ô':'ocirc','õ':'otilde','ö':'ouml','ø':'oslash','ù':'ugrave','ú':'uacute','û':'ucirc','ü':'uuml','ý':'yacute','þ':'thorn','ÿ':'yuml','Œ':'OElig','œ':'oelig','Š':'Scaron','š':'scaron','Ÿ':'Yuml'};for (e in B){FCKXHtmlEntities.Entities[e]=B[e];A+=e;};B=null;};if (FCKConfig.IncludeGreekEntities){B={'Α':'Alpha','Β':'Beta','Γ':'Gamma','Δ':'Delta','Ε':'Epsilon','Ζ':'Zeta','Η':'Eta','Θ':'Theta','Ι':'Iota','Κ':'Kappa','Λ':'Lambda','Μ':'Mu','Ν':'Nu','Ξ':'Xi','Ο':'Omicron','Π':'Pi','Ρ':'Rho','Σ':'Sigma','Τ':'Tau','Υ':'Upsilon','Φ':'Phi','Χ':'Chi','Ψ':'Psi','Ω':'Omega','α':'alpha','β':'beta','γ':'gamma','δ':'delta','ε':'epsilon','ζ':'zeta','η':'eta','θ':'theta','ι':'iota','κ':'kappa','λ':'lambda','μ':'mu','ν':'nu','ξ':'xi','ο':'omicron','π':'pi','ρ':'rho','ς':'sigmaf','σ':'sigma','τ':'tau','υ':'upsilon','φ':'phi','χ':'chi','ψ':'psi','ω':'omega'};for (e in B){FCKXHtmlEntities.Entities[e]=B[e];A+=e;};B=null;}}else{FCKXHtmlEntities.Entities={};A=' ';};var C='['+A+']';if (FCKConfig.ProcessNumericEntities) C='[^ -~]|'+C;var D=FCKConfig.AdditionalNumericEntities;if (D&&D.length>0) C+='|'+FCKConfig.AdditionalNumericEntities;FCKXHtmlEntities.EntitiesRegex=new RegExp(C,'g');}\r
+var FCKXHtml={};FCKXHtml.CurrentJobNum=0;FCKXHtml.GetXHTML=function(A,B,C){FCKXHtmlEntities.Initialize();this._NbspEntity=(FCKConfig.ProcessHTMLEntities?'nbsp':'#160');var D=FCK.IsDirty();this._CreateNode=FCKConfig.ForceStrongEm?FCKXHtml_CreateNode_StrongEm:FCKXHtml_CreateNode_Normal;FCKXHtml.SpecialBlocks=[];this.XML=FCKTools.CreateXmlObject('DOMDocument');this.MainNode=this.XML.appendChild(this.XML.createElement('xhtml'));FCKXHtml.CurrentJobNum++;if (B) this._AppendNode(this.MainNode,A);else this._AppendChildNodes(this.MainNode,A,false);var E=this._GetMainXmlString();this.XML=null;E=E.substr(7,E.length-15).Trim();if (FCKBrowserInfo.IsGecko) E=E.replace(/<br\/>$/,'');E=E.replace(FCKRegexLib.SpaceNoClose,' />');if (FCKConfig.ForceSimpleAmpersand) E=E.replace(FCKRegexLib.ForceSimpleAmpersand,'&');if (C) E=FCKCodeFormatter.Format(E);for (var i=0;i<FCKXHtml.SpecialBlocks.length;i++){var F=new RegExp('___FCKsi___'+i);E=E.replace(F,FCKXHtml.SpecialBlocks[i]);};E=E.replace(FCKRegexLib.GeckoEntitiesMarker,'&');if (!D) FCK.ResetIsDirty();return E;};FCKXHtml._AppendAttribute=function(A,B,C){try{if (C==undefined||C==null) C='';else if (C.replace){if (FCKConfig.ForceSimpleAmpersand) C=C.replace(/&/g,'___FCKAmp___');C=C.replace(FCKXHtmlEntities.EntitiesRegex,FCKXHtml_GetEntity);};var D=this.XML.createAttribute(B);D.value=C;A.attributes.setNamedItem(D);}catch (e){}};FCKXHtml._AppendChildNodes=function(A,B,C){var D=B.firstChild;while (D){this._AppendNode(A,D);D=D.nextSibling;};if (C) FCKDomTools.TrimNode(A,true);if (A.childNodes.length==0){if (C&&FCKConfig.FillEmptyBlocks){this._AppendEntity(A,this._NbspEntity);return A;};var E=A.nodeName;if (FCKListsLib.InlineChildReqElements[E]) return null;if (!FCKListsLib.EmptyElements[E]) A.appendChild(this.XML.createTextNode(''));};return A;};FCKXHtml._AppendNode=function(A,B){if (!B) return false;switch (B.nodeType){case 1:if (B.getAttribute('_fckfakelement')) return FCKXHtml._AppendNode(A,FCK.GetRealElement(B));if (FCKBrowserInfo.IsGecko&&B.hasAttribute('_moz_editor_bogus_node')) return false;if (B.getAttribute('_fcktemp')) return false;var C=B.tagName.toLowerCase();if (FCKBrowserInfo.IsIE){if (B.scopeName&&B.scopeName!='HTML'&&B.scopeName!='FCK') C=B.scopeName.toLowerCase()+':'+C;}else{if (C.StartsWith('fck:')) C=C.Remove(0,4);};if (!FCKRegexLib.ElementName.test(C)) return false;if (C=='br'&&B.getAttribute('type',2)=='_moz') return false;if (B._fckxhtmljob&&B._fckxhtmljob==FCKXHtml.CurrentJobNum) return false;var D=this._CreateNode(C);FCKXHtml._AppendAttributes(A,B,D,C);B._fckxhtmljob=FCKXHtml.CurrentJobNum;var E=FCKXHtml.TagProcessors[C];if (E) D=E(D,B,A);else D=this._AppendChildNodes(D,B,Boolean(FCKListsLib.NonEmptyBlockElements[C]));if (!D) return false;A.appendChild(D);break;case 3:return this._AppendTextNode(A,B.nodeValue.ReplaceNewLineChars(' '));case 8:if (FCKBrowserInfo.IsIE&&!B.innerHTML) break;try { A.appendChild(this.XML.createComment(B.nodeValue));}catch (e) {/*Do nothing... probably this is a wrong format comment.*/};break;default:A.appendChild(this.XML.createComment("Element not supported - Type: "+B.nodeType+" Name: "+B.nodeName));break;};return true;};function FCKXHtml_CreateNode_StrongEm(A){switch (A){case 'b':A='strong';break;case 'i':A='em';break;};return this.XML.createElement(A);};function FCKXHtml_CreateNode_Normal(A){return this.XML.createElement(A);};FCKXHtml._AppendSpecialItem=function(A){return '___FCKsi___'+FCKXHtml.SpecialBlocks.AddItem(A);};FCKXHtml._AppendEntity=function(A,B){A.appendChild(this.XML.createTextNode('#?-:'+B+';'));};FCKXHtml._AppendTextNode=function(A,B){var C=B.length>0;if (C) A.appendChild(this.XML.createTextNode(B.replace(FCKXHtmlEntities.EntitiesRegex,FCKXHtml_GetEntity)));return C;};function FCKXHtml_GetEntity(A){var B=FCKXHtmlEntities.Entities[A]||('#'+A.charCodeAt(0));return '#?-:'+B+';';};FCKXHtml._RemoveAttribute=function(A,B,C){var D=A.attributes.getNamedItem(C);if (D&&B.test(D.nodeValue)){var E=D.nodeValue.replace(B,'');if (E.length==0) A.attributes.removeNamedItem(C);else D.nodeValue=E;}};FCKXHtml.TagProcessors={img:function(A,B){if (!A.attributes.getNamedItem('alt')) FCKXHtml._AppendAttribute(A,'alt','');var C=B.getAttribute('_fcksavedurl');if (C!=null) FCKXHtml._AppendAttribute(A,'src',C);return A;},a:function(A,B){if (B.innerHTML.Trim().length==0&&!B.name) return false;var C=B.getAttribute('_fcksavedurl');if (C!=null) FCKXHtml._AppendAttribute(A,'href',C);if (FCKBrowserInfo.IsIE){FCKXHtml._RemoveAttribute(A,FCKRegexLib.FCK_Class,'class');if (B.name) FCKXHtml._AppendAttribute(A,'name',B.name);};A=FCKXHtml._AppendChildNodes(A,B,false);return A;},script:function(A,B){if (!A.attributes.getNamedItem('type')) FCKXHtml._AppendAttribute(A,'type','text/javascript');A.appendChild(FCKXHtml.XML.createTextNode(FCKXHtml._AppendSpecialItem(B.text)));return A;},style:function(A,B){if (!A.attributes.getNamedItem('type')) FCKXHtml._AppendAttribute(A,'type','text/css');A.appendChild(FCKXHtml.XML.createTextNode(FCKXHtml._AppendSpecialItem(B.innerHTML)));return A;},title:function(A,B){A.appendChild(FCKXHtml.XML.createTextNode(FCK.EditorDocument.title));return A;},table:function(A,B){if (FCKBrowserInfo.IsIE) FCKXHtml._RemoveAttribute(A,FCKRegexLib.FCK_Class,'class');A=FCKXHtml._AppendChildNodes(A,B,false);return A;},ol:function(A,B,C){if (B.innerHTML.Trim().length==0) return false;var D=C.lastChild;if (D&&D.nodeType==3) D=D.previousSibling;if (D&&D.nodeName.toUpperCase()=='LI'){B._fckxhtmljob=null;FCKXHtml._AppendNode(D,B);return false;};A=FCKXHtml._AppendChildNodes(A,B);return A;},span:function(A,B){if (B.innerHTML.length==0) return false;A=FCKXHtml._AppendChildNodes(A,B,false);return A;},iframe:function(A,B){var C=B.innerHTML;if (FCKBrowserInfo.IsGecko) C=FCKTools.HTMLDecode(C);C=C.replace(/\s_fcksavedurl="[^"]*"/g,'');A.appendChild(FCKXHtml.XML.createTextNode(FCKXHtml._AppendSpecialItem(C)));return A;}};FCKXHtml.TagProcessors.ul=FCKXHtml.TagProcessors.ol;\r
+FCKXHtml._GetMainXmlString=function(){return this.MainNode.xml;};FCKXHtml._AppendAttributes=function(A,B,C,D){var E=B.attributes;for (var n=0;n<E.length;n++){var F=E[n];if (F.specified){var G=F.nodeName.toLowerCase();var H;if (G.StartsWith('_fck')) continue;else if (G=='style') H=B.style.cssText.replace(FCKRegexLib.StyleProperties,FCKTools.ToLowerCase);else if (G=='class'||G.indexOf('on')==0) H=F.nodeValue;else if (D=='body'&&G=='contenteditable') continue;else if (F.nodeValue===true) H=G;else{try{H=B.getAttribute(G,2);}catch (e) {}};this._AppendAttribute(C,G,H||F.nodeValue);}}};FCKXHtml.TagProcessors['meta']=function(A,B){var C=A.attributes.getNamedItem('http-equiv');if (C==null||C.value.length==0){var D=B.outerHTML.match(FCKRegexLib.MetaHttpEquiv);if (D){D=D[1];FCKXHtml._AppendAttribute(A,'http-equiv',D);}};return A;};FCKXHtml.TagProcessors['font']=function(A,B){if (A.attributes.length==0) A=FCKXHtml.XML.createDocumentFragment();A=FCKXHtml._AppendChildNodes(A,B);return A;};FCKXHtml.TagProcessors['input']=function(A,B){if (B.name) FCKXHtml._AppendAttribute(A,'name',B.name);if (B.value&&!A.attributes.getNamedItem('value')) FCKXHtml._AppendAttribute(A,'value',B.value);if (!A.attributes.getNamedItem('type')) FCKXHtml._AppendAttribute(A,'type','text');return A;};FCKXHtml.TagProcessors['option']=function(A,B){if (B.selected&&!A.attributes.getNamedItem('selected')) FCKXHtml._AppendAttribute(A,'selected','selected');A=FCKXHtml._AppendChildNodes(A,B);return A;};FCKXHtml.TagProcessors['area']=function(A,B){if (!A.attributes.getNamedItem('coords')){var C=B.getAttribute('coords',2);if (C&&C!='0,0,0') FCKXHtml._AppendAttribute(A,'coords',C);};if (!A.attributes.getNamedItem('shape')){var D=B.getAttribute('shape',2);if (D&&D.length>0) FCKXHtml._AppendAttribute(A,'shape',D);};return A;};FCKXHtml.TagProcessors['label']=function(A,B){if (B.htmlFor.length>0) FCKXHtml._AppendAttribute(A,'for',B.htmlFor);A=FCKXHtml._AppendChildNodes(A,B);return A;};FCKXHtml.TagProcessors['form']=function(A,B){if (B.acceptCharset&&B.acceptCharset.length>0&&B.acceptCharset!='UNKNOWN') FCKXHtml._AppendAttribute(A,'accept-charset',B.acceptCharset);var C=B.attributes['name'];if (C&&C.value.length>0) FCKXHtml._AppendAttribute(A,'name',C.value);A=FCKXHtml._AppendChildNodes(A,B);return A;};FCKXHtml.TagProcessors['textarea']=FCKXHtml.TagProcessors['select']=function(A,B){if (B.name) FCKXHtml._AppendAttribute(A,'name',B.name);A=FCKXHtml._AppendChildNodes(A,B);return A;};FCKXHtml.TagProcessors['div']=function(A,B){if (B.align.length>0) FCKXHtml._AppendAttribute(A,'align',B.align);A=FCKXHtml._AppendChildNodes(A,B,true);return A;}\r
+var FCKCodeFormatter={};FCKCodeFormatter.Init=function(){var A=this.Regex={};A.BlocksOpener=/\<(P|DIV|H1|H2|H3|H4|H5|H6|ADDRESS|PRE|OL|UL|LI|TITLE|META|LINK|BASE|SCRIPT|LINK|TD|TH|AREA|OPTION)[^\>]*\>/gi;A.BlocksCloser=/\<\/(P|DIV|H1|H2|H3|H4|H5|H6|ADDRESS|PRE|OL|UL|LI|TITLE|META|LINK|BASE|SCRIPT|LINK|TD|TH|AREA|OPTION)[^\>]*\>/gi;A.NewLineTags=/\<(BR|HR)[^\>]*\>/gi;A.MainTags=/\<\/?(HTML|HEAD|BODY|FORM|TABLE|TBODY|THEAD|TR)[^\>]*\>/gi;A.LineSplitter=/\s*\n+\s*/g;A.IncreaseIndent=/^\<(HTML|HEAD|BODY|FORM|TABLE|TBODY|THEAD|TR|UL|OL)[ \/\>]/i;A.DecreaseIndent=/^\<\/(HTML|HEAD|BODY|FORM|TABLE|TBODY|THEAD|TR|UL|OL)[ \>]/i;A.FormatIndentatorRemove=new RegExp('^'+FCKConfig.FormatIndentator);A.ProtectedTags=/(<PRE[^>]*>)([\s\S]*?)(<\/PRE>)/gi;};FCKCodeFormatter._ProtectData=function(A,B,C,D){return B+'___FCKpd___'+FCKCodeFormatter.ProtectedData.AddItem(C)+D;};FCKCodeFormatter.Format=function(A){if (!this.Regex) this.Init();FCKCodeFormatter.ProtectedData=[];var B=A.replace(this.Regex.ProtectedTags,FCKCodeFormatter._ProtectData);B=B.replace(this.Regex.BlocksOpener,'\n$&');B=B.replace(this.Regex.BlocksCloser,'$&\n');B=B.replace(this.Regex.NewLineTags,'$&\n');B=B.replace(this.Regex.MainTags,'\n$&\n');var C='';var D=B.split(this.Regex.LineSplitter);B='';for (var i=0;i<D.length;i++){var E=D[i];if (E.length==0) continue;if (this.Regex.DecreaseIndent.test(E)) C=C.replace(this.Regex.FormatIndentatorRemove,'');B+=C+E+'\n';if (this.Regex.IncreaseIndent.test(E)) C+=FCKConfig.FormatIndentator;};for (var j=0;j<FCKCodeFormatter.ProtectedData.length;j++){var F=new RegExp('___FCKpd___'+j);B=B.replace(F,FCKCodeFormatter.ProtectedData[j].replace(/\$/g,'$$$$'));};return B.Trim();}\r
+var FCKUndo={};FCKUndo.SavedData=[];FCKUndo.CurrentIndex=-1;FCKUndo.TypesCount=FCKUndo.MaxTypes=25;FCKUndo.Typing=false;FCKUndo.SaveUndoStep=function(){if (FCK.EditMode!=0) return;FCKUndo.SavedData=FCKUndo.SavedData.slice(0,FCKUndo.CurrentIndex+1);var A=FCK.EditorDocument.body.innerHTML;if (FCKUndo.CurrentIndex>=0&&A==FCKUndo.SavedData[FCKUndo.CurrentIndex][0]) return;if (FCKUndo.CurrentIndex+1>=FCKConfig.MaxUndoLevels) FCKUndo.SavedData.shift();else FCKUndo.CurrentIndex++;var B;if (FCK.EditorDocument.selection.type=='Text') B=FCK.EditorDocument.selection.createRange().getBookmark();FCKUndo.SavedData[FCKUndo.CurrentIndex]=[A,B];FCK.Events.FireEvent("OnSelectionChange");};FCKUndo.CheckUndoState=function(){return (FCKUndo.Typing||FCKUndo.CurrentIndex>0);};FCKUndo.CheckRedoState=function(){return (!FCKUndo.Typing&&FCKUndo.CurrentIndex<(FCKUndo.SavedData.length-1));};FCKUndo.Undo=function(){if (FCKUndo.CheckUndoState()){if (FCKUndo.CurrentIndex==(FCKUndo.SavedData.length-1)){FCKUndo.SaveUndoStep();};FCKUndo._ApplyUndoLevel(--FCKUndo.CurrentIndex);FCK.Events.FireEvent("OnSelectionChange");}};FCKUndo.Redo=function(){if (FCKUndo.CheckRedoState()){FCKUndo._ApplyUndoLevel(++FCKUndo.CurrentIndex);FCK.Events.FireEvent("OnSelectionChange");}};FCKUndo._ApplyUndoLevel=function(A){var B=FCKUndo.SavedData[A];if (!B) return;FCK.SetInnerHtml(B[0]);if (B[1]){var C=FCK.EditorDocument.selection.createRange();C.moveToBookmark(B[1]);C.select();};FCKUndo.TypesCount=0;FCKUndo.Typing=false;}\r
+var FCKEditingArea=function(A){this.TargetElement=A;this.Mode=0;if (FCK.IECleanup) FCK.IECleanup.AddItem(this,FCKEditingArea_Cleanup);};FCKEditingArea.prototype.Start=function(A,B){var C=this.TargetElement;var D=FCKTools.GetElementDocument(C);while(C.childNodes.length>0) C.removeChild(C.childNodes[0]);if (this.Mode==0){var E=this.IFrame=D.createElement('iframe');E.src='javascript:void(0)';E.frameBorder=0;E.width=E.height='100%';C.appendChild(E);if (FCKBrowserInfo.IsIE) A=A.replace(/(<base[^>]*?)\s*\/?>(?!\s*<\/base>)/gi,'$1></base>');else if (!B){if (FCKBrowserInfo.IsGecko) A=A.replace(/(<body[^>]*>)\s*(<\/body>)/i,'$1'+GECKO_BOGUS+'$2');var F=A.match(FCKRegexLib.BodyContents);if (F){A=F[1]+'&nbsp;'+F[3];this._BodyHTML=F[2];}else this._BodyHTML=A;};this.Window=E.contentWindow;var G=this.Document=this.Window.document;G.open();G.write(A);G.close();if (FCKBrowserInfo.IsGecko10&&!B){this.Start(A,true);return;};this.Window._FCKEditingArea=this;if (FCKBrowserInfo.IsGecko10) this.Window.setTimeout(FCKEditingArea_CompleteStart,500);else FCKEditingArea_CompleteStart.call(this.Window);}else{var H=this.Textarea=D.createElement('textarea');H.className='SourceField';H.dir='ltr';H.style.width=H.style.height='100%';H.style.border='none';C.appendChild(H);H.value=A;FCKTools.RunFunction(this.OnLoad);}};function FCKEditingArea_CompleteStart(){if (!this.document.body){this.setTimeout(FCKEditingArea_CompleteStart,50);return;};var A=this._FCKEditingArea;A.MakeEditable();FCKTools.RunFunction(A.OnLoad);};FCKEditingArea.prototype.MakeEditable=function(){var A=this.Document;if (FCKBrowserInfo.IsIE){A.body.contentEditable=true;}else{try{A.body.spellcheck=(this.FFSpellChecker!==false);if (this._BodyHTML){A.body.innerHTML=this._BodyHTML;this._BodyHTML=null;};A.designMode='on';try{A.execCommand('styleWithCSS',false,FCKConfig.GeckoUseSPAN);}catch (e){A.execCommand('useCSS',false,!FCKConfig.GeckoUseSPAN);};A.execCommand('enableObjectResizing',false,!FCKConfig.DisableObjectResizing);A.execCommand('enableInlineTableEditing',false,!FCKConfig.DisableFFTableHandles);}catch (e) {}}};FCKEditingArea.prototype.Focus=function(){try{if (this.Mode==0){if (FCKBrowserInfo.IsIE&&this.Document.hasFocus()) return;if (FCKBrowserInfo.IsSafari) this.IFrame.focus();else{this.Window.focus();}}else{var A=FCKTools.GetElementDocument(this.Textarea);if ((!A.hasFocus||A.hasFocus())&&A.activeElement==this.Textarea) return;this.Textarea.focus();}}catch(e) {}};function FCKEditingArea_Cleanup(){this.TargetElement=null;this.IFrame=null;this.Document=null;this.Textarea=null;if (this.Window){this.Window._FCKEditingArea=null;this.Window=null;}};\r
+var FCKKeystrokeHandler=function(A){this.Keystrokes={};this.CancelCtrlDefaults=(A!==false);};FCKKeystrokeHandler.prototype.AttachToElement=function(A){FCKTools.AddEventListenerEx(A,'keydown',_FCKKeystrokeHandler_OnKeyDown,this);if (FCKBrowserInfo.IsGecko10||FCKBrowserInfo.IsOpera||(FCKBrowserInfo.IsGecko&&FCKBrowserInfo.IsMac)) FCKTools.AddEventListenerEx(A,'keypress',_FCKKeystrokeHandler_OnKeyPress,this);};FCKKeystrokeHandler.prototype.SetKeystrokes=function(){for (var i=0;i<arguments.length;i++){var A=arguments[i];if (typeof(A[0])=='object') this.SetKeystrokes.apply(this,A);else{if (A.length==1) delete this.Keystrokes[A[0]];else this.Keystrokes[A[0]]=A[1]===true?true:A;}}};function _FCKKeystrokeHandler_OnKeyDown(A,B){var C=A.keyCode||A.which;var D=0;if (A.ctrlKey||A.metaKey) D+=CTRL;if (A.shiftKey) D+=SHIFT;if (A.altKey) D+=ALT;var E=C+D;var F=B._CancelIt=false;var G=B.Keystrokes[E];if (G){if (G===true||!(B.OnKeystroke&&B.OnKeystroke.apply(B,G))) return true;F=true;};if (F||(B.CancelCtrlDefaults&&D==CTRL&&(C<33||C>40))){B._CancelIt=true;if (A.preventDefault) return A.preventDefault();A.returnValue=false;A.cancelBubble=true;return false;};return true;};function _FCKKeystrokeHandler_OnKeyPress(A,B){if (B._CancelIt){if (A.preventDefault) return A.preventDefault();return false;};return true;}\r
 var FCKListHandler={OutdentListItem:function(A){var B=A.parentNode;if (B.tagName.toUpperCase().Equals('UL','OL')){var C=FCKTools.GetElementDocument(A);var D=new FCKDocumentFragment(C);var E=D.RootNode;var F=false;var G=FCKDomTools.GetFirstChild(A,['UL','OL']);if (G){F=true;var H;while ((H=G.firstChild)) E.appendChild(G.removeChild(H));FCKDomTools.RemoveNode(G);};var I;var J=false;while ((I=A.nextSibling)){if (!F&&I.nodeType==1&&I.nodeName.toUpperCase()=='LI') J=F=true;E.appendChild(I.parentNode.removeChild(I));if (!J&&I.nodeType==1&&I.nodeName.toUpperCase().Equals('UL','OL')) FCKDomTools.RemoveNode(I,true);};var K=B.parentNode.tagName.toUpperCase();var L=(K=='LI');if (L||K.Equals('UL','OL')){if (F){var G=B.cloneNode(false);D.AppendTo(G);A.appendChild(G);}else if (L) D.InsertAfterNode(B.parentNode);else D.InsertAfterNode(B);if (L) FCKDomTools.InsertAfterNode(B.parentNode,B.removeChild(A));else FCKDomTools.InsertAfterNode(B,B.removeChild(A));}else{if (F){var N=B.cloneNode(false);D.AppendTo(N);FCKDomTools.InsertAfterNode(B,N);};var O=C.createElement(FCKConfig.EnterMode=='p'?'p':'div');FCKDomTools.MoveChildren(B.removeChild(A),O);FCKDomTools.InsertAfterNode(B,O);if (FCKConfig.EnterMode=='br'){if (FCKBrowserInfo.IsGecko) O.parentNode.insertBefore(FCKTools.CreateBogusBR(C),O);else FCKDomTools.InsertAfterNode(O,FCKTools.CreateBogusBR(C));FCKDomTools.RemoveNode(O,true);}};if (this.CheckEmptyList(B)) FCKDomTools.RemoveNode(B,true);}},CheckEmptyList:function(A){return (FCKDomTools.GetFirstChild(A,'LI')==null);},CheckListHasContents:function(A){var B=A.firstChild;while (B){switch (B.nodeType){case 1:if (!B.nodeName.IEquals('UL','LI')) return true;break;case 3:if (B.nodeValue.Trim().length>0) return true;};B=B.nextSibling;};return false;}};\r
-var FCKElementPath=function(A){var B=null;var C=null;var D=[];var e=A;while (e){if (e.nodeType==1){if (!this.LastElement) this.LastElement=e;var E=e.nodeName.toLowerCase();if (FCKBrowserInfo.IsIE&&e.scopeName!='HTML') E=e.scopeName.toLowerCase()+':'+E;if (!C){if (!B&&FCKListsLib.PathBlockElements[E]!=null) B=e;if (FCKListsLib.PathBlockLimitElements[E]!=null){if (!B&&E=='div'&&!FCKElementPath._CheckHasBlock(e)) B=e;else C=e;}};D.push(e);if (E=='body') break;};e=e.parentNode;};this.Block=B;this.BlockLimit=C;this.Elements=D;};FCKElementPath._CheckHasBlock=function(A){var B=A.childNodes;for (var i=0,count=B.length;i<count;i++){var C=B[i];if (C.nodeType==1&&FCKListsLib.BlockElements[C.nodeName.toLowerCase()]) return true;};return false;};\r
-var FCKDomRange=function(A){this.Window=A;this._Cache={};};FCKDomRange.prototype={_UpdateElementInfo:function(){var A=this._Range;if (!A) this.Release(true);else{var B=A.startContainer;var C=new FCKElementPath(B);this.StartNode=B.nodeType==3?B:B.childNodes[A.startOffset];this.StartContainer=B;this.StartBlock=C.Block;this.StartBlockLimit=C.BlockLimit;if (A.collapsed){this.EndNode=this.StartNode;this.EndContainer=this.StartContainer;this.EndBlock=this.StartBlock;this.EndBlockLimit=this.StartBlockLimit;}else{var D=A.endContainer;if (B!=D) C=new FCKElementPath(D);var E=D;if (A.endOffset==0){while (E&&!E.previousSibling) E=E.parentNode;if (E) E=E.previousSibling;}else if (E.nodeType==1) E=E.childNodes[A.endOffset-1];this.EndNode=E;this.EndContainer=D;this.EndBlock=C.Block;this.EndBlockLimit=C.BlockLimit;}};this._Cache={};},CreateRange:function(){return new FCKW3CRange(this.Window.document);},DeleteContents:function(){if (this._Range){this._Range.deleteContents();this._UpdateElementInfo();}},ExtractContents:function(){if (this._Range){var A=this._Range.extractContents();this._UpdateElementInfo();return A;};return null;},CheckIsCollapsed:function(){if (this._Range) return this._Range.collapsed;return false;},Collapse:function(A){if (this._Range) this._Range.collapse(A);this._UpdateElementInfo();},Clone:function(){var A=FCKTools.CloneObject(this);if (this._Range) A._Range=this._Range.cloneRange();return A;},MoveToNodeContents:function(A){if (!this._Range) this._Range=this.CreateRange();this._Range.selectNodeContents(A);this._UpdateElementInfo();},MoveToElementStart:function(A){this.SetStart(A,1);this.SetEnd(A,1);},MoveToElementEditStart:function(A){var B;while (A&&A.nodeType==1){if (FCKDomTools.CheckIsEditable(A)) B=A;else if (B) break;A=A.firstChild;};if (B) this.MoveToElementStart(B);},InsertNode:function(A){if (this._Range) this._Range.insertNode(A);},CheckIsEmpty:function(){if (this.CheckIsCollapsed()) return true;var A=this.Window.document.createElement('div');this._Range.cloneContents().AppendTo(A);FCKDomTools.TrimNode(A);return (A.innerHTML.length==0);},CheckStartOfBlock:function(){var A=this._Cache;var B=A.IsStartOfBlock;if (B!=undefined) return B;var C=this.StartBlock||this.StartBlockLimit;var D=this._Range.startContainer;var E=this._Range.startOffset;var F;if (E>0){if (D.nodeType==3){var G=D.nodeValue.substr(0,E).Trim();if (G.length!=0) return A.IsStartOfBlock=false;}else F=D.childNodes[E-1];};if (!F) F=FCKDomTools.GetPreviousSourceNode(D,true,null,C);while (F){switch (F.nodeType){case 1:if (!FCKListsLib.InlineChildReqElements[F.nodeName.toLowerCase()]) return A.IsStartOfBlock=false;break;case 3:if (F.nodeValue.Trim().length>0) return A.IsStartOfBlock=false;};F=FCKDomTools.GetPreviousSourceNode(F,false,null,C);};return A.IsStartOfBlock=true;},CheckEndOfBlock:function(A){var B=this._Cache.IsEndOfBlock;if (B!=undefined) return B;var C=this.EndBlock||this.EndBlockLimit;var D=this._Range.endContainer;var E=this._Range.endOffset;var F;if (D.nodeType==3){var G=D.nodeValue;if (E<G.length){G=G.substr(E);if (G.Trim().length!=0) return this._Cache.IsEndOfBlock=false;}}else F=D.childNodes[E];if (!F) F=FCKDomTools.GetNextSourceNode(D,true,null,C);var H=false;while (F){switch (F.nodeType){case 1:var I=F.nodeName.toLowerCase();if (FCKListsLib.InlineChildReqElements[I]) break;if (I=='br'&&!H){H=true;break;};return this._Cache.IsEndOfBlock=false;case 3:if (F.nodeValue.Trim().length>0) return this._Cache.IsEndOfBlock=false;};F=FCKDomTools.GetNextSourceNode(F,false,null,C);};if (A) this.Select();return this._Cache.IsEndOfBlock=true;},CreateBookmark:function(A){var B={StartId:(new Date()).valueOf()+Math.floor(Math.random()*1000)+'S',EndId:(new Date()).valueOf()+Math.floor(Math.random()*1000)+'E'};var C=this.Window.document;var D;var E;var F;if (!this.CheckIsCollapsed()){E=C.createElement('span');E.style.display='none';E.id=B.EndId;E.setAttribute('_fck_bookmark',true);E.innerHTML='&nbsp;';F=this.Clone();F.Collapse(false);F.InsertNode(E);};D=C.createElement('span');D.style.display='none';D.id=B.StartId;D.setAttribute('_fck_bookmark',true);D.innerHTML='&nbsp;';F=this.Clone();F.Collapse(true);F.InsertNode(D);if (A){B.StartNode=D;B.EndNode=E;};if (E){this.SetStart(D,4);this.SetEnd(E,3);}else this.MoveToPosition(D,4);return B;},GetBookmarkNode:function(A,B){var C=this.Window.document;if (B) return A.StartNode||C.getElementById(A.StartId);else return A.EndNode||C.getElementById(A.EndId);},MoveToBookmark:function(A,B){var C=this.GetBookmarkNode(A,true);var D=this.GetBookmarkNode(A,false);this.SetStart(C,3);if (!B) FCKDomTools.RemoveNode(C);if (D){this.SetEnd(D,3);if (!B) FCKDomTools.RemoveNode(D);}else this.Collapse(true);this._UpdateElementInfo();},CreateBookmark2:function(){if (!this._Range) return { "Start":0,"End":0 };var A={"Start":[this._Range.startOffset],"End":[this._Range.endOffset]};var B=this._Range.startContainer.previousSibling;var C=this._Range.endContainer.previousSibling;var D=this._Range.startContainer;var E=this._Range.endContainer;while (B&&B.nodeType==3&&D.nodeType==3){A.Start[0]+=B.length;D=B;B=B.previousSibling;}while (C&&C.nodeType==3&&E.nodeType==3){A.End[0]+=C.length;E=C;C=C.previousSibling;};if (D.nodeType==1&&D.childNodes[A.Start[0]]&&D.childNodes[A.Start[0]].nodeType==3){var F=D.childNodes[A.Start[0]];var G=0;while (F.previousSibling&&F.previousSibling.nodeType==3){F=F.previousSibling;G+=F.length;};D=F;A.Start[0]=G;};if (E.nodeType==1&&E.childNodes[A.End[0]]&&E.childNodes[A.End[0]].nodeType==3){var F=E.childNodes[A.End[0]];var G=0;while (F.previousSibling&&F.previousSibling.nodeType==3){F=F.previousSibling;G+=F.length;};E=F;A.End[0]=G;};A.Start=FCKDomTools.GetNodeAddress(D,true).concat(A.Start);A.End=FCKDomTools.GetNodeAddress(E,true).concat(A.End);return A;},MoveToBookmark2:function(A){var B=FCKDomTools.GetNodeFromAddress(this.Window.document,A.Start.slice(0,-1),true);var C=FCKDomTools.GetNodeFromAddress(this.Window.document,A.End.slice(0,-1),true);this.Release(true);this._Range=new FCKW3CRange(this.Window.document);var D=A.Start[A.Start.length-1];var E=A.End[A.End.length-1];while (B.nodeType==3&&D>B.length){if (!B.nextSibling||B.nextSibling.nodeType!=3) break;D-=B.length;B=B.nextSibling;}while (C.nodeType==3&&E>C.length){if (!C.nextSibling||C.nextSibling.nodeType!=3) break;E-=C.length;C=C.nextSibling;};this._Range.setStart(B,D);this._Range.setEnd(C,E);this._UpdateElementInfo();},MoveToPosition:function(A,B){this.SetStart(A,B);this.Collapse(true);},SetStart:function(A,B,C){var D=this._Range;if (!D) D=this._Range=this.CreateRange();switch(B){case 1:D.setStart(A,0);break;case 2:D.setStart(A,A.childNodes.length);break;case 3:D.setStartBefore(A);break;case 4:D.setStartAfter(A);};if (!C) this._UpdateElementInfo();},SetEnd:function(A,B,C){var D=this._Range;if (!D) D=this._Range=this.CreateRange();switch(B){case 1:D.setEnd(A,0);break;case 2:D.setEnd(A,A.childNodes.length);break;case 3:D.setEndBefore(A);break;case 4:D.setEndAfter(A);};if (!C) this._UpdateElementInfo();},Expand:function(A){var B,oSibling;switch (A){case 'inline_elements':if (this._Range.startOffset==0){B=this._Range.startContainer;if (B.nodeType!=1) B=B.previousSibling?null:B.parentNode;if (B){while (FCKListsLib.InlineNonEmptyElements[B.nodeName.toLowerCase()]){this._Range.setStartBefore(B);if (B!=B.parentNode.firstChild) break;B=B.parentNode;}}};B=this._Range.endContainer;var C=this._Range.endOffset;if ((B.nodeType==3&&C>=B.nodeValue.length)||(B.nodeType==1&&C>=B.childNodes.length)||(B.nodeType!=1&&B.nodeType!=3)){if (B.nodeType!=1) B=B.nextSibling?null:B.parentNode;if (B){while (FCKListsLib.InlineNonEmptyElements[B.nodeName.toLowerCase()]){this._Range.setEndAfter(B);if (B!=B.parentNode.lastChild) break;B=B.parentNode;}}};break;case 'block_contents':case 'list_contents':var D=FCKListsLib.BlockBoundaries;if (A=='list_contents'||FCKConfig.EnterMode=='br') D=FCKListsLib.ListBoundaries;if (this.StartBlock&&FCKConfig.EnterMode!='br'&&A=='block_contents') this.SetStart(this.StartBlock,1);else{B=this._Range.startContainer;if (B.nodeType==1){var E=B.childNodes[this._Range.startOffset];if (E) B=FCKDomTools.GetPreviousSourceNode(E,true);else B=B.lastChild||B;}while (B&&(B.nodeType!=1||(B!=this.StartBlockLimit&&!D[B.nodeName.toLowerCase()]))){this._Range.setStartBefore(B);B=B.previousSibling||B.parentNode;}};if (this.EndBlock&&FCKConfig.EnterMode!='br'&&A=='block_contents'&&this.EndBlock.nodeName.toLowerCase()!='li') this.SetEnd(this.EndBlock,2);else{B=this._Range.endContainer;if (B.nodeType==1) B=B.childNodes[this._Range.endOffset]||B.lastChild;while (B&&(B.nodeType!=1||(B!=this.StartBlockLimit&&!D[B.nodeName.toLowerCase()]))){this._Range.setEndAfter(B);B=B.nextSibling||B.parentNode;};if (B&&B.nodeName.toLowerCase()=='br') this._Range.setEndAfter(B);};this._UpdateElementInfo();}},SplitBlock:function(A){var B=A||FCKConfig.EnterMode;if (!this._Range) this.MoveToSelection();if (this.StartBlockLimit==this.EndBlockLimit){var C=this.StartBlock;var D=this.EndBlock;var E=null;if (B!='br'){if (!C){C=this.FixBlock(true,B);D=this.EndBlock;};if (!D) D=this.FixBlock(false,B);};var F=(C!=null&&this.CheckStartOfBlock());var G=(D!=null&&this.CheckEndOfBlock());if (!this.CheckIsEmpty()) this.DeleteContents();if (C&&D&&C==D){if (G){E=new FCKElementPath(this.StartContainer);this.MoveToPosition(D,4);D=null;}else if (F){E=new FCKElementPath(this.StartContainer);this.MoveToPosition(C,3);C=null;}else{this.SetEnd(C,2);var H=this.ExtractContents();D=C.cloneNode(false);D.removeAttribute('id',false);H.AppendTo(D);FCKDomTools.InsertAfterNode(C,D);this.MoveToPosition(C,4);if (FCKBrowserInfo.IsGecko&&!C.nodeName.IEquals(['ul','ol'])) FCKTools.AppendBogusBr(C);}};return {PreviousBlock:C,NextBlock:D,WasStartOfBlock:F,WasEndOfBlock:G,ElementPath:E};};return null;},FixBlock:function(A,B){var C=this.CreateBookmark();this.Collapse(A);this.Expand('block_contents');var D=this.Window.document.createElement(B);this.ExtractContents().AppendTo(D);FCKDomTools.TrimNode(D);if (FCKDomTools.CheckIsEmptyElement(D,function(element) { return element.getAttribute('_fck_bookmark')!='true';})&&FCKBrowserInfo.IsGeckoLike) FCKTools.AppendBogusBr(D);this.InsertNode(D);this.MoveToBookmark(C);return D;},Release:function(A){if (!A) this.Window=null;this.StartNode=null;this.StartContainer=null;this.StartBlock=null;this.StartBlockLimit=null;this.EndNode=null;this.EndContainer=null;this.EndBlock=null;this.EndBlockLimit=null;this._Range=null;this._Cache=null;},CheckHasRange:function(){return!!this._Range;},GetTouchedStartNode:function(){var A=this._Range;var B=A.startContainer;if (A.collapsed||B.nodeType!=1) return B;return B.childNodes[A.startOffset]||B;},GetTouchedEndNode:function(){var A=this._Range;var B=A.endContainer;if (A.collapsed||B.nodeType!=1) return B;return B.childNodes[A.endOffset-1]||B;}};\r
-FCKDomRange.prototype.MoveToSelection=function(){this.Release(true);this._Range=new FCKW3CRange(this.Window.document);var A=this.Window.document.selection;if (A.type!='Control'){var B=this._GetSelectionMarkerTag(true);var C=this._GetSelectionMarkerTag(false);if (!B&&!C){this._Range.setStart(this.Window.document.body,0);this._UpdateElementInfo();return;};this._Range.setStart(B.parentNode,FCKDomTools.GetIndexOf(B));B.parentNode.removeChild(B);this._Range.setEnd(C.parentNode,FCKDomTools.GetIndexOf(C));C.parentNode.removeChild(C);this._UpdateElementInfo();}else{var D=A.createRange().item(0);if (D){this._Range.setStartBefore(D);this._Range.setEndAfter(D);this._UpdateElementInfo();}}};FCKDomRange.prototype.Select=function(A){if (this._Range) this.SelectBookmark(this.CreateBookmark(true),A);};FCKDomRange.prototype.SelectBookmark=function(A,B){var C=this.CheckIsCollapsed();var D;var E;var F=this.GetBookmarkNode(A,true);if (!F) return;var G;if (!C) G=this.GetBookmarkNode(A,false);var H=this.Window.document.body.createTextRange();H.moveToElementText(F);H.moveStart('character',1);if (G){var I=this.Window.document.body.createTextRange();I.moveToElementText(G);H.setEndPoint('EndToEnd',I);H.moveEnd('character',-1);}else{D=B||!F.previousSibling||F.previousSibling.nodeName.toLowerCase()=='br';E=this.Window.document.createElement('span');E.innerHTML='&#65279;';F.parentNode.insertBefore(E,F);if (D){F.parentNode.insertBefore(this.Window.document.createTextNode('\ufeff'),F);}};if (!this._Range) this._Range=this.CreateRange();this._Range.setStartBefore(F);F.parentNode.removeChild(F);if (C){if (D){H.moveStart('character',-1);H.select();this.Window.document.selection.clear();}else H.select();FCKDomTools.RemoveNode(E);}else{this._Range.setEndBefore(G);G.parentNode.removeChild(G);H.select();}};FCKDomRange.prototype._GetSelectionMarkerTag=function(A){var B=this.Window.document;var C=B.selection;var D;try{D=C.createRange();}catch (e){return null;};if (D.parentElement().document!=B) return null;D.collapse(A===true);var E='fck_dom_range_temp_'+(new Date()).valueOf()+'_'+Math.floor(Math.random()*1000);D.pasteHTML('<span id="'+E+'"></span>');return B.getElementById(E);};\r
-var FCKDomRangeIterator=function(A){this.Range=A;this.ForceBrBreak=false;this.EnforceRealBlocks=false;};FCKDomRangeIterator.CreateFromSelection=function(A){var B=new FCKDomRange(A);B.MoveToSelection();return new FCKDomRangeIterator(B);};FCKDomRangeIterator.prototype={GetNextParagraph:function(){var A;var B;var C;var D;var E;var F=this.ForceBrBreak?FCKListsLib.ListBoundaries:FCKListsLib.BlockBoundaries;if (!this._LastNode){var B=this.Range.Clone();B.Expand(this.ForceBrBreak?'list_contents':'block_contents');this._NextNode=B.GetTouchedStartNode();this._LastNode=B.GetTouchedEndNode();B=null;};var H=this._NextNode;var I=this._LastNode;this._NextNode=null;while (H){var J=false;var K=(H.nodeType!=1);var L=false;if (!K){var M=H.nodeName.toLowerCase();if (F[M]&&(!FCKBrowserInfo.IsIE||H.scopeName=='HTML')){if (M=='br') K=true;else if (!B&&H.childNodes.length==0&&M!='hr'){A=H;C=H==I;break;};if (B){B.SetEnd(H,3,true);if (M!='br') this._NextNode=FCKDomTools.GetNextSourceNode(H,true,null,I)||H;};J=true;}else{if (H.firstChild){if (!B){B=new FCKDomRange(this.Range.Window);B.SetStart(H,3,true);};H=H.firstChild;continue;};K=true;}}else if (H.nodeType==3){if (/^[\r\n\t ]+$/.test(H.nodeValue)) K=false;};if (K&&!B){B=new FCKDomRange(this.Range.Window);B.SetStart(H,3,true);};C=((!J||K)&&H==I);if (B&&!J){while (!H.nextSibling&&!C){var N=H.parentNode;if (F[N.nodeName.toLowerCase()]){J=true;C=C||(N==I);break;};H=N;K=true;C=(H==I);L=true;}};if (K) B.SetEnd(H,4,true);if ((J||C)&&B){B._UpdateElementInfo();if (B.StartNode==B.EndNode&&B.StartNode.parentNode==B.StartBlockLimit&&B.StartNode.getAttribute&&B.StartNode.getAttribute('_fck_bookmark')) B=null;else break;};if (C) break;H=FCKDomTools.GetNextSourceNode(H,L,null,I);};if (!A){if (!B){this._NextNode=null;return null;};A=B.StartBlock;if (!A&&!this.EnforceRealBlocks&&B.StartBlockLimit.nodeName.IEquals('DIV','TH','TD')&&B.CheckStartOfBlock()&&B.CheckEndOfBlock()){A=B.StartBlockLimit;}else if (!A||(this.EnforceRealBlocks&&A.nodeName.toLowerCase()=='li')){A=this.Range.Window.document.createElement(FCKConfig.EnterMode=='p'?'p':'div');B.ExtractContents().AppendTo(A);FCKDomTools.TrimNode(A);B.InsertNode(A);D=true;E=true;}else if (A.nodeName.toLowerCase()!='li'){if (!B.CheckStartOfBlock()||!B.CheckEndOfBlock()){A=A.cloneNode(false);B.ExtractContents().AppendTo(A);FCKDomTools.TrimNode(A);var O=B.SplitBlock();D=!O.WasStartOfBlock;E=!O.WasEndOfBlock;B.InsertNode(A);}}else if (!C){this._NextNode=A==I?null:FCKDomTools.GetNextSourceNode(B.EndNode,true,null,I);return A;}};if (D){var P=A.previousSibling;if (P&&P.nodeType==1){if (P.nodeName.toLowerCase()=='br') P.parentNode.removeChild(P);else if (P.lastChild&&P.lastChild.nodeName.IEquals('br')) P.removeChild(P.lastChild);}};if (E){var Q=A.lastChild;if (Q&&Q.nodeType==1&&Q.nodeName.toLowerCase()=='br') A.removeChild(Q);};if (!this._NextNode) this._NextNode=(C||A==I)?null:FCKDomTools.GetNextSourceNode(A,true,null,I);return A;}};\r
+var FCKElementPath=function(A){var B=null;var C=null;var D=[];var e=A;while (e){if (e.nodeType==1){if (!this.LastElement) this.LastElement=e;var E=e.nodeName.toLowerCase();if (!C){if (!B&&FCKListsLib.PathBlockElements[E]!=null) B=e;if (FCKListsLib.PathBlockLimitElements[E]!=null) C=e;};D.push(e);if (E=='body') break;};e=e.parentNode;};this.Block=B;this.BlockLimit=C;this.Elements=D;};\r
+var FCKDomRange=function(A){this.Window=A;};FCKDomRange.prototype={_UpdateElementInfo:function(){if (!this._Range) this.Release(true);else{var A=this._Range.startContainer;var B=this._Range.endContainer;var C=new FCKElementPath(A);this.StartContainer=C.LastElement;this.StartBlock=C.Block;this.StartBlockLimit=C.BlockLimit;if (A!=B) C=new FCKElementPath(B);this.EndContainer=C.LastElement;this.EndBlock=C.Block;this.EndBlockLimit=C.BlockLimit;}},CreateRange:function(){return new FCKW3CRange(this.Window.document);},DeleteContents:function(){if (this._Range){this._Range.deleteContents();this._UpdateElementInfo();}},ExtractContents:function(){if (this._Range){var A=this._Range.extractContents();this._UpdateElementInfo();return A;}},CheckIsCollapsed:function(){if (this._Range) return this._Range.collapsed;},Collapse:function(A){if (this._Range) this._Range.collapse(A);this._UpdateElementInfo();},Clone:function(){var A=FCKTools.CloneObject(this);if (this._Range) A._Range=this._Range.cloneRange();return A;},MoveToNodeContents:function(A){if (!this._Range) this._Range=this.CreateRange();this._Range.selectNodeContents(A);this._UpdateElementInfo();},MoveToElementStart:function(A){this.SetStart(A,1);this.SetEnd(A,1);},MoveToElementEditStart:function(A){var B;while ((B=A.firstChild)&&B.nodeType==1&&FCKListsLib.EmptyElements[B.nodeName.toLowerCase()]==null) A=B;this.MoveToElementStart(A);},InsertNode:function(A){if (this._Range) this._Range.insertNode(A);},CheckIsEmpty:function(A){if (this.CheckIsCollapsed()) return true;var B=this.Window.document.createElement('div');this._Range.cloneContents().AppendTo(B);FCKDomTools.TrimNode(B,A);return (B.innerHTML.length==0);},CheckStartOfBlock:function(){var A=this.Clone();A.Collapse(true);A.SetStart(A.StartBlock||A.StartBlockLimit,1);var B=A.CheckIsEmpty();A.Release();return B;},CheckEndOfBlock:function(A){var B=this.Clone();B.Collapse(false);B.SetEnd(B.EndBlock||B.EndBlockLimit,2);var C=B.CheckIsCollapsed();if (!C){var D=this.Window.document.createElement('div');B._Range.cloneContents().AppendTo(D);FCKDomTools.TrimNode(D,true);C=true;var E=D;while ((E=E.lastChild)){if (E.previousSibling||E.nodeType!=1||FCKListsLib.InlineChildReqElements[E.nodeName.toLowerCase()]==null){C=false;break;}}};B.Release();if (A) this.Select();return C;},CreateBookmark:function(){var A={StartId:'fck_dom_range_start_'+(new Date()).valueOf()+'_'+Math.floor(Math.random()*1000),EndId:'fck_dom_range_end_'+(new Date()).valueOf()+'_'+Math.floor(Math.random()*1000)};var B=this.Window.document;var C;var D;if (!this.CheckIsCollapsed()){C=B.createElement('span');C.id=A.EndId;C.innerHTML='&nbsp;';D=this.Clone();D.Collapse(false);D.InsertNode(C);};C=B.createElement('span');C.id=A.StartId;C.innerHTML='&nbsp;';D=this.Clone();D.Collapse(true);D.InsertNode(C);return A;},MoveToBookmark:function(A,B){var C=this.Window.document;var D=C.getElementById(A.StartId);var E=C.getElementById(A.EndId);this.SetStart(D,3);if (!B) FCKDomTools.RemoveNode(D);if (E){this.SetEnd(E,3);if (!B) FCKDomTools.RemoveNode(E);}else this.Collapse(true);},SetStart:function(A,B){var C=this._Range;if (!C) C=this._Range=this.CreateRange();switch(B){case 1:C.setStart(A,0);break;case 2:C.setStart(A,A.childNodes.length);break;case 3:C.setStartBefore(A);break;case 4:C.setStartAfter(A);};this._UpdateElementInfo();},SetEnd:function(A,B){var C=this._Range;if (!C) C=this._Range=this.CreateRange();switch(B){case 1:C.setEnd(A,0);break;case 2:C.setEnd(A,A.childNodes.length);break;case 3:C.setEndBefore(A);break;case 4:C.setEndAfter(A);};this._UpdateElementInfo();},Expand:function(A){var B,oSibling;switch (A){case 'block_contents':if (this.StartBlock) this.SetStart(this.StartBlock,1);else{B=this._Range.startContainer;if (B.nodeType==1){if (!(B=B.childNodes[this._Range.startOffset])) B=B.firstChild;};if (!B) return;while (true){oSibling=B.previousSibling;if (!oSibling){if (B.parentNode!=this.StartBlockLimit) B=B.parentNode;else break;}else if (oSibling.nodeType!=1||!(/^(?:P|DIV|H1|H2|H3|H4|H5|H6|ADDRESS|PRE|OL|UL|LI|DT|DE)$/).test(oSibling.nodeName.toUpperCase())){B=oSibling;}else break;};this._Range.setStartBefore(B);};if (this.EndBlock) this.SetEnd(this.EndBlock,2);else{B=this._Range.endContainer;if (B.nodeType==1) B=B.childNodes[this._Range.endOffset]||B.lastChild;if (!B) return;while (true){oSibling=B.nextSibling;if (!oSibling){if (B.parentNode!=this.EndBlockLimit) B=B.parentNode;else break;}else if (oSibling.nodeType!=1||!(/^(?:P|DIV|H1|H2|H3|H4|H5|H6|ADDRESS|PRE|OL|UL|LI|DT|DE)$/).test(oSibling.nodeName.toUpperCase())){B=oSibling;}else break;};this._Range.setEndAfter(B);};this._UpdateElementInfo();}},Release:function(A){if (!A) this.Window=null;this.StartContainer=null;this.StartBlock=null;this.StartBlockLimit=null;this.EndContainer=null;this.EndBlock=null;this.EndBlockLimit=null;this._Range=null;}};\r
+FCKDomRange.prototype.MoveToSelection=function(){this.Release(true);this._Range=new FCKW3CRange(this.Window.document);var A=this.Window.document.selection;if (A.type!='Control'){B=this._GetSelectionMarkerTag(true);this._Range.setStart(B.parentNode,FCKDomTools.GetIndexOf(B));B.parentNode.removeChild(B);var B=this._GetSelectionMarkerTag(false);this._Range.setEnd(B.parentNode,FCKDomTools.GetIndexOf(B));B.parentNode.removeChild(B);this._UpdateElementInfo();}else{var C=A.createRange().item(0);if (C){this._Range.setStartBefore(C);this._Range.setEndAfter(C);this._UpdateElementInfo();}}};FCKDomRange.prototype.Select=function(){if (this._Range){var A=this.CheckIsCollapsed();var B=this._GetRangeMarkerTag(true);if (!A) var C=this._GetRangeMarkerTag(false);var D=this.Window.document.body.createTextRange();D.moveToElementText(B);D.moveStart('character',1);if (!A){var E=this.Window.document.body.createTextRange();E.moveToElementText(C);D.setEndPoint('EndToEnd',E);D.moveEnd('character',-1);};this._Range.setStartBefore(B);B.parentNode.removeChild(B);if (A){try{D.pasteHTML('&nbsp;');D.moveStart('character',-1);}catch (e){};D.select();D.pasteHTML('');}else{this._Range.setEndBefore(C);C.parentNode.removeChild(C);D.select();}}};FCKDomRange.prototype._GetSelectionMarkerTag=function(A){var B=this.Window.document.selection.createRange();B.collapse(A===true);var C='fck_dom_range_temp_'+(new Date()).valueOf()+'_'+Math.floor(Math.random()*1000);B.pasteHTML('<span id="'+C+'"></span>');return this.Window.document.getElementById(C);};FCKDomRange.prototype._GetRangeMarkerTag=function(A){var B=this._Range;if (!A){B=B.cloneRange();B.collapse(A===true);};var C=this.Window.document.createElement('span');C.innerHTML='&nbsp;';B.insertNode(C);return C;}\r
 var FCKDocumentFragment=function(A){this._Document=A;this.RootNode=A.createElement('div');};FCKDocumentFragment.prototype={AppendTo:function(A){FCKDomTools.MoveChildren(this.RootNode,A);},AppendHtml:function(A){var B=this._Document.createElement('div');B.innerHTML=A;FCKDomTools.MoveChildren(B,this.RootNode);},InsertAfterNode:function(A){var B=this.RootNode;var C;while((C=B.lastChild)) FCKDomTools.InsertAfterNode(A,B.removeChild(C));}};\r
-var FCKW3CRange=function(A){this._Document=A;this.startContainer=null;this.startOffset=null;this.endContainer=null;this.endOffset=null;this.collapsed=true;};FCKW3CRange.CreateRange=function(A){return new FCKW3CRange(A);};FCKW3CRange.CreateFromRange=function(A,B){var C=FCKW3CRange.CreateRange(A);C.setStart(B.startContainer,B.startOffset);C.setEnd(B.endContainer,B.endOffset);return C;};FCKW3CRange.prototype={_UpdateCollapsed:function(){this.collapsed=(this.startContainer==this.endContainer&&this.startOffset==this.endOffset);},setStart:function(A,B){this.startContainer=A;this.startOffset=B;if (!this.endContainer){this.endContainer=A;this.endOffset=B;};this._UpdateCollapsed();},setEnd:function(A,B){this.endContainer=A;this.endOffset=B;if (!this.startContainer){this.startContainer=A;this.startOffset=B;};this._UpdateCollapsed();},setStartAfter:function(A){this.setStart(A.parentNode,FCKDomTools.GetIndexOf(A)+1);},setStartBefore:function(A){this.setStart(A.parentNode,FCKDomTools.GetIndexOf(A));},setEndAfter:function(A){this.setEnd(A.parentNode,FCKDomTools.GetIndexOf(A)+1);},setEndBefore:function(A){this.setEnd(A.parentNode,FCKDomTools.GetIndexOf(A));},collapse:function(A){if (A){this.endContainer=this.startContainer;this.endOffset=this.startOffset;}else{this.startContainer=this.endContainer;this.startOffset=this.endOffset;};this.collapsed=true;},selectNodeContents:function(A){this.setStart(A,0);this.setEnd(A,A.nodeType==3?A.data.length:A.childNodes.length);},insertNode:function(A){var B=this.startContainer;var C=this.startOffset;if (B.nodeType==3){B.splitText(C);if (B==this.endContainer) this.setEnd(B.nextSibling,this.endOffset-this.startOffset);FCKDomTools.InsertAfterNode(B,A);return;}else{B.insertBefore(A,B.childNodes[C]||null);if (B==this.endContainer){this.endOffset++;this.collapsed=false;}}},deleteContents:function(){if (this.collapsed) return;this._ExecContentsAction(0);},extractContents:function(){var A=new FCKDocumentFragment(this._Document);if (!this.collapsed) this._ExecContentsAction(1,A);return A;},cloneContents:function(){var A=new FCKDocumentFragment(this._Document);if (!this.collapsed) this._ExecContentsAction(2,A);return A;},_ExecContentsAction:function(A,B){var C=this.startContainer;var D=this.endContainer;var E=this.startOffset;var F=this.endOffset;var G=false;var H=false;if (D.nodeType==3) D=D.splitText(F);else{if (D.childNodes.length>0){if (F>D.childNodes.length-1){D=FCKDomTools.InsertAfterNode(D.lastChild,this._Document.createTextNode(''));H=true;}else D=D.childNodes[F];}};if (C.nodeType==3){C.splitText(E);if (C==D) D=C.nextSibling;}else{if (E==0){C=C.insertBefore(this._Document.createTextNode(''),C.firstChild);G=true;}else if (E>C.childNodes.length-1){C=C.appendChild(this._Document.createTextNode(''));G=true;}else C=C.childNodes[E].previousSibling;};var I=FCKDomTools.GetParents(C);var J=FCKDomTools.GetParents(D);var i,topStart,topEnd;for (i=0;i<I.length;i++){topStart=I[i];topEnd=J[i];if (topStart!=topEnd) break;};var K,levelStartNode,levelClone,currentNode,currentSibling;if (B) K=B.RootNode;for (var j=i;j<I.length;j++){levelStartNode=I[j];if (K&&levelStartNode!=C) levelClone=K.appendChild(levelStartNode.cloneNode(levelStartNode==C));currentNode=levelStartNode.nextSibling;while(currentNode){if (currentNode==J[j]||currentNode==D) break;currentSibling=currentNode.nextSibling;if (A==2) K.appendChild(currentNode.cloneNode(true));else{currentNode.parentNode.removeChild(currentNode);if (A==1) K.appendChild(currentNode);};currentNode=currentSibling;};if (K) K=levelClone;};if (B) K=B.RootNode;for (var k=i;k<J.length;k++){levelStartNode=J[k];if (A>0&&levelStartNode!=D) levelClone=K.appendChild(levelStartNode.cloneNode(levelStartNode==D));if (!I[k]||levelStartNode.parentNode!=I[k].parentNode){currentNode=levelStartNode.previousSibling;while(currentNode){if (currentNode==I[k]||currentNode==C) break;currentSibling=currentNode.previousSibling;if (A==2) K.insertBefore(currentNode.cloneNode(true),K.firstChild);else{currentNode.parentNode.removeChild(currentNode);if (A==1) K.insertBefore(currentNode,K.firstChild);};currentNode=currentSibling;}};if (K) K=levelClone;};if (A==2){var L=this.startContainer;if (L.nodeType==3){L.data+=L.nextSibling.data;L.parentNode.removeChild(L.nextSibling);};var M=this.endContainer;if (M.nodeType==3&&M.nextSibling){M.data+=M.nextSibling.data;M.parentNode.removeChild(M.nextSibling);}}else{if (topStart&&topEnd&&(C.parentNode!=topStart.parentNode||D.parentNode!=topEnd.parentNode)){var N=FCKDomTools.GetIndexOf(topEnd);if (G&&topEnd.parentNode==C.parentNode) N--;this.setStart(topEnd.parentNode,N);};this.collapse(true);};if(G) C.parentNode.removeChild(C);if(H&&D.parentNode) D.parentNode.removeChild(D);},cloneRange:function(){return FCKW3CRange.CreateFromRange(this._Document,this);}};\r
-var FCKEnterKey=function(A,B,C,D){this.Window=A;this.EnterMode=B||'p';this.ShiftEnterMode=C||'br';var E=new FCKKeystrokeHandler(false);E._EnterKey=this;E.OnKeystroke=FCKEnterKey_OnKeystroke;E.SetKeystrokes([[13,'Enter'],[SHIFT+13,'ShiftEnter'],[8,'Backspace'],[CTRL+8,'CtrlBackspace'],[46,'Delete']]);this.TabText='';if (D>0||FCKBrowserInfo.IsSafari){while (D--) this.TabText+='\xa0';E.SetKeystrokes([9,'Tab']);};E.AttachToElement(A.document);};function FCKEnterKey_OnKeystroke(A,B){var C=this._EnterKey;try{switch (B){case 'Enter':return C.DoEnter();break;case 'ShiftEnter':return C.DoShiftEnter();break;case 'Backspace':return C.DoBackspace();break;case 'Delete':return C.DoDelete();break;case 'Tab':return C.DoTab();break;case 'CtrlBackspace':return C.DoCtrlBackspace();break;}}catch (e){};return false;};FCKEnterKey.prototype.DoEnter=function(A,B){FCKUndo.SaveUndoStep();this._HasShift=(B===true);var C=FCKSelection.GetParentElement();var D=new FCKElementPath(C);var E=A||this.EnterMode;if (E=='br'||D.Block&&D.Block.tagName.toLowerCase()=='pre') return this._ExecuteEnterBr();else return this._ExecuteEnterBlock(E);};FCKEnterKey.prototype.DoShiftEnter=function(){return this.DoEnter(this.ShiftEnterMode,true);};FCKEnterKey.prototype.DoBackspace=function(){var A=false;var B=new FCKDomRange(this.Window);B.MoveToSelection();if (FCKBrowserInfo.IsIE&&this._CheckIsAllContentsIncluded(B,this.Window.document.body)){this._FixIESelectAllBug(B);return true;};var C=B.CheckIsCollapsed();if (!C){if (FCKBrowserInfo.IsIE&&this.Window.document.selection.type.toLowerCase()=="control"){var D=this.Window.document.selection.createRange();for (var i=D.length-1;i>=0;i--){var E=D.item(i);E.parentNode.removeChild(E);};return true;};return false;};if (FCKBrowserInfo.IsIE){var F=FCKDomTools.GetPreviousSourceElement(B.StartNode,true);if (F&&F.nodeName.toLowerCase()=='br'){var G=B.Clone();G.SetStart(F,4);if (G.CheckIsEmpty()){F.parentNode.removeChild(F);return true;}}};var H=B.StartBlock;var I=B.EndBlock;if (B.StartBlockLimit==B.EndBlockLimit&&H&&I){if (!C){var J=B.CheckEndOfBlock();B.DeleteContents();if (H!=I){B.SetStart(I,1);B.SetEnd(I,1);};B.Select();A=(H==I);};if (B.CheckStartOfBlock()){var K=B.StartBlock;var L=FCKDomTools.GetPreviousSourceElement(K,true,['BODY',B.StartBlockLimit.nodeName],['UL','OL']);A=this._ExecuteBackspace(B,L,K);}else if (FCKBrowserInfo.IsGeckoLike){B.Select();}};B.Release();return A;};FCKEnterKey.prototype.DoCtrlBackspace=function(){FCKUndo.SaveUndoStep();var A=new FCKDomRange(this.Window);A.MoveToSelection();if (FCKBrowserInfo.IsIE&&this._CheckIsAllContentsIncluded(A,this.Window.document.body)){this._FixIESelectAllBug(A);return true;};return false;};FCKEnterKey.prototype._ExecuteBackspace=function(A,B,C){var D=false;if (!B&&C&&C.nodeName.IEquals('LI')&&C.parentNode.parentNode.nodeName.IEquals('LI')){this._OutdentWithSelection(C,A);return true;};if (B&&B.nodeName.IEquals('LI')){var E=FCKDomTools.GetLastChild(B,['UL','OL']);while (E){B=FCKDomTools.GetLastChild(E,'LI');E=FCKDomTools.GetLastChild(B,['UL','OL']);}};if (B&&C){if (C.nodeName.IEquals('LI')&&!B.nodeName.IEquals('LI')){this._OutdentWithSelection(C,A);return true;};var F=C.parentNode;var G=B.nodeName.toLowerCase();if (FCKListsLib.EmptyElements[G]!=null||G=='table'){FCKDomTools.RemoveNode(B);D=true;}else{FCKDomTools.RemoveNode(C);while (F.innerHTML.Trim().length==0){var H=F.parentNode;H.removeChild(F);F=H;};FCKDomTools.LTrimNode(C);FCKDomTools.RTrimNode(B);A.SetStart(B,2,true);A.Collapse(true);var I=A.CreateBookmark(true);if (!C.tagName.IEquals(['TABLE'])) FCKDomTools.MoveChildren(C,B);A.SelectBookmark(I);D=true;}};return D;};FCKEnterKey.prototype.DoDelete=function(){FCKUndo.SaveUndoStep();var A=false;var B=new FCKDomRange(this.Window);B.MoveToSelection();if (FCKBrowserInfo.IsIE&&this._CheckIsAllContentsIncluded(B,this.Window.document.body)){this._FixIESelectAllBug(B);return true;};if (B.CheckIsCollapsed()&&B.CheckEndOfBlock(FCKBrowserInfo.IsGeckoLike)){var C=B.StartBlock;var D=FCKTools.GetElementAscensor(C,'td');var E=FCKDomTools.GetNextSourceElement(C,true,[B.StartBlockLimit.nodeName],['UL','OL','TR'],true);if (D){var F=FCKTools.GetElementAscensor(E,'td');if (F!=D) return true;};A=this._ExecuteBackspace(B,C,E);};B.Release();return A;};FCKEnterKey.prototype.DoTab=function(){var A=new FCKDomRange(this.Window);A.MoveToSelection();var B=A._Range.startContainer;while (B){if (B.nodeType==1){var C=B.tagName.toLowerCase();if (C=="tr"||C=="td"||C=="th"||C=="tbody"||C=="table") return false;else break;};B=B.parentNode;};if (this.TabText){A.DeleteContents();A.InsertNode(this.Window.document.createTextNode(this.TabText));A.Collapse(false);A.Select();};return true;};FCKEnterKey.prototype._ExecuteEnterBlock=function(A,B){var C=B||new FCKDomRange(this.Window);var D=C.SplitBlock(A);if (D){var E=D.PreviousBlock;var F=D.NextBlock;var G=D.WasStartOfBlock;var H=D.WasEndOfBlock;if (F){if (F.parentNode.nodeName.IEquals('li')){FCKDomTools.BreakParent(F,F.parentNode);FCKDomTools.MoveNode(F,F.nextSibling,true);}}else if (E&&E.parentNode.nodeName.IEquals('li')){FCKDomTools.BreakParent(E,E.parentNode);C.MoveToElementEditStart(E.nextSibling);FCKDomTools.MoveNode(E,E.previousSibling);};if (!G&&!H){if (F.nodeName.IEquals('li')&&F.firstChild&&F.firstChild.nodeName.IEquals(['ul','ol'])) F.insertBefore(FCKTools.GetElementDocument(F).createTextNode('\xa0'),F.firstChild);if (F) C.MoveToElementEditStart(F);}else{if (G&&H&&E.tagName.toUpperCase()=='LI'){C.MoveToElementStart(E);this._OutdentWithSelection(E,C);C.Release();return true;};var I;if (E){var J=E.tagName.toUpperCase();if (!this._HasShift&&!(/^H[1-6]$/).test(J)){I=FCKDomTools.CloneElement(E);}}else if (F) I=FCKDomTools.CloneElement(F);if (!I) I=this.Window.document.createElement(A);var K=D.ElementPath;if (K){for (var i=0,len=K.Elements.length;i<len;i++){var L=K.Elements[i];if (L==K.Block||L==K.BlockLimit) break;if (FCKListsLib.InlineChildReqElements[L.nodeName.toLowerCase()]){L=FCKDomTools.CloneElement(L);FCKDomTools.MoveChildren(I,L);I.appendChild(L);}}};if (FCKBrowserInfo.IsGeckoLike) FCKTools.AppendBogusBr(I);C.InsertNode(I);if (FCKBrowserInfo.IsIE){C.MoveToElementEditStart(I);C.Select();};C.MoveToElementEditStart(G&&!H?F:I);};if (FCKBrowserInfo.IsGeckoLike){if (F){var M=this.Window.document.createElement('span');M.innerHTML='&nbsp;';C.InsertNode(M);FCKDomTools.ScrollIntoView(M,false);C.DeleteContents();}else{FCKDomTools.ScrollIntoView(F||I,false);}};C.Select();};C.Release();return true;};FCKEnterKey.prototype._ExecuteEnterBr=function(A){var B=new FCKDomRange(this.Window);B.MoveToSelection();if (B.StartBlockLimit==B.EndBlockLimit){B.DeleteContents();B.MoveToSelection();var C=B.CheckStartOfBlock();var D=B.CheckEndOfBlock();var E=B.StartBlock?B.StartBlock.tagName.toUpperCase():'';var F=this._HasShift;var G=false;if (!F&&E=='LI') return this._ExecuteEnterBlock(null,B);if (!F&&D&&(/^H[1-6]$/).test(E)){FCKDomTools.InsertAfterNode(B.StartBlock,this.Window.document.createElement('br'));if (FCKBrowserInfo.IsGecko) FCKDomTools.InsertAfterNode(B.StartBlock,this.Window.document.createTextNode(''));B.SetStart(B.StartBlock.nextSibling,FCKBrowserInfo.IsIE?3:1);}else{var H;G=E.IEquals('pre');if (G) H=this.Window.document.createTextNode(FCKBrowserInfo.IsIE?'\r':'\n');else H=this.Window.document.createElement('br');B.InsertNode(H);if (FCKBrowserInfo.IsGecko) FCKDomTools.InsertAfterNode(H,this.Window.document.createTextNode(''));if (D&&FCKBrowserInfo.IsGeckoLike) FCKTools.AppendBogusBr(H.parentNode);if (FCKBrowserInfo.IsIE) B.SetStart(H,4);else B.SetStart(H.nextSibling,1);if (!FCKBrowserInfo.IsIE){var I=null;if (FCKBrowserInfo.IsOpera) I=this.Window.document.createElement('span');else I=this.Window.document.createElement('br');H.parentNode.insertBefore(I,H.nextSibling);FCKDomTools.ScrollIntoView(I,false);I.parentNode.removeChild(I);}};B.Collapse(true);B.Select(G);};B.Release();return true;};FCKEnterKey.prototype._OutdentWithSelection=function(A,B){var C=B.CreateBookmark();FCKListHandler.OutdentListItem(A);B.MoveToBookmark(C);B.Select();};FCKEnterKey.prototype._CheckIsAllContentsIncluded=function(A,B){var C=false;var D=false;if (A.StartContainer==B||A.StartContainer==B.firstChild) C=(A._Range.startOffset==0);if (A.EndContainer==B||A.EndContainer==B.lastChild){var E=A.EndContainer.nodeType==3?A.EndContainer.length:A.EndContainer.childNodes.length;D=(A._Range.endOffset==E);};return C&&D;};FCKEnterKey.prototype._FixIESelectAllBug=function(A){var B=this.Window.document;B.body.innerHTML='';var C;if (FCKConfig.EnterMode.IEquals(['div','p'])){C=B.createElement(FCKConfig.EnterMode);B.body.appendChild(C);}else C=B.body;A.MoveToNodeContents(C);A.Collapse(true);A.Select();A.Release();};\r
-var FCKDocumentProcessor={};FCKDocumentProcessor._Items=[];FCKDocumentProcessor.AppendNew=function(){var A={};this._Items.push(A);return A;};FCKDocumentProcessor.Process=function(A){var B=FCK.IsDirty();var C,i=0;while((C=this._Items[i++])) C.ProcessDocument(A);if (!B) FCK.ResetIsDirty();};var FCKDocumentProcessor_CreateFakeImage=function(A,B){var C=FCKTools.GetElementDocument(B).createElement('IMG');C.className=A;C.src=FCKConfig.BasePath+'images/spacer.gif';C.setAttribute('_fckfakelement','true',0);C.setAttribute('_fckrealelement',FCKTempBin.AddElement(B),0);return C;};if (FCKBrowserInfo.IsIE||FCKBrowserInfo.IsOpera){var FCKAnchorsProcessor=FCKDocumentProcessor.AppendNew();FCKAnchorsProcessor.ProcessDocument=function(A){var B=A.getElementsByTagName('A');var C;var i=B.length-1;while (i>=0&&(C=B[i--])){if (C.name.length>0){if (C.innerHTML!==''){if (FCKBrowserInfo.IsIE) C.className+=' FCK__AnchorC';}else{var D=FCKDocumentProcessor_CreateFakeImage('FCK__Anchor',C.cloneNode(true));D.setAttribute('_fckanchor','true',0);C.parentNode.insertBefore(D,C);C.parentNode.removeChild(C);}}}}};var FCKPageBreaksProcessor=FCKDocumentProcessor.AppendNew();FCKPageBreaksProcessor.ProcessDocument=function(A){var B=A.getElementsByTagName('DIV');var C;var i=B.length-1;while (i>=0&&(C=B[i--])){if (C.style.pageBreakAfter=='always'&&C.childNodes.length==1&&C.childNodes[0].style&&C.childNodes[0].style.display=='none'){var D=FCKDocumentProcessor_CreateFakeImage('FCK__PageBreak',C.cloneNode(true));C.parentNode.insertBefore(D,C);C.parentNode.removeChild(C);}}};var FCKEmbedAndObjectProcessor=(function(){var A=[];var B=function(el){var C=el.cloneNode(true);var D;var E=D=FCKDocumentProcessor_CreateFakeImage('FCK__UnknownObject',C);FCKEmbedAndObjectProcessor.RefreshView(E,el);for (var i=0;i<A.length;i++) D=A[i](el,D)||D;if (D!=E) FCKTempBin.RemoveElement(E.getAttribute('_fckrealelement'));el.parentNode.replaceChild(D,el);};var F=function(elementName,doc){var G=doc.getElementsByTagName(elementName);for (var i=G.length-1;i>=0;i--) B(G[i]);};var H=function(doc){F('object',doc);F('embed',doc);};return FCKTools.Merge(FCKDocumentProcessor.AppendNew(),{ProcessDocument:function(doc){if (FCKBrowserInfo.IsGecko) FCKTools.RunFunction(H,this,[doc]);else H(doc);},RefreshView:function(placeHolder,original){if (original.getAttribute('width')>0) placeHolder.style.width=FCKTools.ConvertHtmlSizeToStyle(original.getAttribute('width'));if (original.getAttribute('height')>0) placeHolder.style.height=FCKTools.ConvertHtmlSizeToStyle(original.getAttribute('height'));},AddCustomHandler:function(func){A.push(func);}});})();FCK.GetRealElement=function(A){var e=FCKTempBin.Elements[A.getAttribute('_fckrealelement')];if (A.getAttribute('_fckflash')){if (A.style.width.length>0) e.width=FCKTools.ConvertStyleSizeToHtml(A.style.width);if (A.style.height.length>0) e.height=FCKTools.ConvertStyleSizeToHtml(A.style.height);};return e;};if (FCKBrowserInfo.IsIE){FCKDocumentProcessor.AppendNew().ProcessDocument=function(A){var B=A.getElementsByTagName('HR');var C;var i=B.length-1;while (i>=0&&(C=B[i--])){var D=A.createElement('hr');D.mergeAttributes(C,true);FCKDomTools.InsertAfterNode(C,D);C.parentNode.removeChild(C);}}};FCKDocumentProcessor.AppendNew().ProcessDocument=function(A){var B=A.getElementsByTagName('INPUT');var C;var i=B.length-1;while (i>=0&&(C=B[i--])){if (C.type=='hidden'){var D=FCKDocumentProcessor_CreateFakeImage('FCK__InputHidden',C.cloneNode(true));D.setAttribute('_fckinputhidden','true',0);C.parentNode.insertBefore(D,C);C.parentNode.removeChild(C);}}};FCKEmbedAndObjectProcessor.AddCustomHandler(function(A,B){if (!(A.nodeName.IEquals('embed')&&(A.type=='application/x-shockwave-flash'||/\.swf($|#|\?)/i.test(A.src)))) return;B.className='FCK__Flash';B.setAttribute('_fckflash','true',0);});if (FCKBrowserInfo.IsSafari){FCKDocumentProcessor.AppendNew().ProcessDocument=function(A){var B=A.getElementsByClassName?A.getElementsByClassName('Apple-style-span'):Array.prototype.filter.call(A.getElementsByTagName('span'),function(item){ return item.className=='Apple-style-span';});for (var i=B.length-1;i>=0;i--) FCKDomTools.RemoveNode(B[i],true);}};\r
-var FCKSelection=FCK.Selection={GetParentBlock:function(){var A=this.GetParentElement();while (A){if (FCKListsLib.BlockBoundaries[A.nodeName.toLowerCase()]) break;A=A.parentNode;};return A;},ApplyStyle:function(A){FCKStyles.ApplyStyle(new FCKStyle(A));}};\r
-FCKSelection.GetType=function(){try{var A=FCKSelection.GetSelection().type;if (A=='Control'||A=='Text') return A;if (this.GetSelection().createRange().parentElement) return 'Text';}catch(e){};return 'None';};FCKSelection.GetSelectedElement=function(){if (this.GetType()=='Control'){var A=this.GetSelection().createRange();if (A&&A.item) return this.GetSelection().createRange().item(0);};return null;};FCKSelection.GetParentElement=function(){switch (this.GetType()){case 'Control':var A=FCKSelection.GetSelectedElement();return A?A.parentElement:null;case 'None':return null;default:return this.GetSelection().createRange().parentElement();}};FCKSelection.GetBoundaryParentElement=function(A){switch (this.GetType()){case 'Control':var B=FCKSelection.GetSelectedElement();return B?B.parentElement:null;case 'None':return null;default:var C=FCK.EditorDocument;var D=C.selection.createRange();D.collapse(A!==false);var B=D.parentElement();return FCKTools.GetElementDocument(B)==C?B:null;}};FCKSelection.SelectNode=function(A){FCK.Focus();this.GetSelection().empty();var B;try{B=FCK.EditorDocument.body.createControlRange();B.addElement(A);B.select();}catch(e){B=FCK.EditorDocument.body.createTextRange();B.moveToElementText(A);B.select();}};FCKSelection.Collapse=function(A){FCK.Focus();if (this.GetType()=='Text'){var B=this.GetSelection().createRange();B.collapse(A==null||A===true);B.select();}};FCKSelection.HasAncestorNode=function(A){var B;if (this.GetSelection().type=="Control"){B=this.GetSelectedElement();}else{var C=this.GetSelection().createRange();B=C.parentElement();}while (B){if (B.nodeName.IEquals(A)) return true;B=B.parentNode;};return false;};FCKSelection.MoveToAncestorNode=function(A){var B,oRange;if (!FCK.EditorDocument) return null;if (this.GetSelection().type=="Control"){oRange=this.GetSelection().createRange();for (i=0;i<oRange.length;i++){if (oRange(i).parentNode){B=oRange(i).parentNode;break;}}}else{oRange=this.GetSelection().createRange();B=oRange.parentElement();}while (B&&!B.nodeName.Equals(A)) B=B.parentNode;return B;};FCKSelection.Delete=function(){var A=this.GetSelection();if (A.type.toLowerCase()!="none"){A.clear();};return A;};FCKSelection.GetSelection=function(){this.Restore();return FCK.EditorDocument.selection;};FCKSelection.Save=function(A){var B=FCK.EditorDocument;if (!B) return;if (this.locked) return;this.locked=!!A;var C=B.selection;var D;if (C){try {D=C.createRange();}catch(e) {};if (D){if (D.parentElement&&FCKTools.GetElementDocument(D.parentElement())!=B) D=null;else if (D.item&&FCKTools.GetElementDocument(D.item(0))!=B) D=null;}};this.SelectionData=D;};FCKSelection._GetSelectionDocument=function(A){var B=A.createRange();if (!B) return null;else if (B.item) return FCKTools.GetElementDocument(B.item(0));else return FCKTools.GetElementDocument(B.parentElement());};FCKSelection.Restore=function(){if (this.SelectionData){FCK.IsSelectionChangeLocked=true;try{if (String(this._GetSelectionDocument(FCK.EditorDocument.selection).body.contentEditable)=='true'){FCK.IsSelectionChangeLocked=false;return;};this.SelectionData.select();}catch (e) {};FCK.IsSelectionChangeLocked=false;}};FCKSelection.Release=function(){this.locked=false;delete this.SelectionData;};\r
-var FCKTableHandler={};FCKTableHandler.InsertRow=function(A){var B=FCKSelection.MoveToAncestorNode('TR');if (!B) return;var C=B.cloneNode(true);B.parentNode.insertBefore(C,B);FCKTableHandler.ClearRow(A?C:B);};FCKTableHandler.DeleteRows=function(A){if (!A){var B=FCKTableHandler.GetSelectedCells();var C=[];for (var i=0;i<B.length;i++){var D=B[i].parentNode;C[D.rowIndex]=D;};for (var i=C.length;i>=0;i--){if (C[i]) FCKTableHandler.DeleteRows(C[i]);};return;};var E=FCKTools.GetElementAscensor(A,'TABLE');if (E.rows.length==1){FCKTableHandler.DeleteTable(E);return;};A.parentNode.removeChild(A);};FCKTableHandler.DeleteTable=function(A){if (!A){A=FCKSelection.GetSelectedElement();if (!A||A.tagName!='TABLE') A=FCKSelection.MoveToAncestorNode('TABLE');};if (!A) return;FCKSelection.SelectNode(A);FCKSelection.Collapse();if (A.parentNode.childNodes.length==1) A.parentNode.parentNode.removeChild(A.parentNode);else A.parentNode.removeChild(A);};FCKTableHandler.InsertColumn=function(A){var B=null;var C=this.GetSelectedCells();if (C&&C.length) B=C[A?0:(C.length-1)];if (!B) return;var D=FCKTools.GetElementAscensor(B,'TABLE');var E=B.cellIndex;for (var i=0;i<D.rows.length;i++){var F=D.rows[i];if (F.cells.length<(E+1)) continue;B=F.cells[E].cloneNode(false);if (FCKBrowserInfo.IsGeckoLike) FCKTools.AppendBogusBr(B);var G=F.cells[E];F.insertBefore(B,(A?G:G.nextSibling));}};FCKTableHandler.DeleteColumns=function(A){if (!A){var B=FCKTableHandler.GetSelectedCells();for (var i=B.length;i>=0;i--){if (B[i]) FCKTableHandler.DeleteColumns(B[i]);};return;};if (!A) return;var C=FCKTools.GetElementAscensor(A,'TABLE');var D=A.cellIndex;for (var i=C.rows.length-1;i>=0;i--){var E=C.rows[i];if (D==0&&E.cells.length==1){FCKTableHandler.DeleteRows(E);continue;};if (E.cells[D]) E.removeChild(E.cells[D]);}};FCKTableHandler.InsertCell=function(A,B){var C=null;var D=this.GetSelectedCells();if (D&&D.length) C=D[B?0:(D.length-1)];if (!C) return null;var E=FCK.EditorDocument.createElement('TD');if (FCKBrowserInfo.IsGeckoLike) FCKTools.AppendBogusBr(E);if (!B&&C.cellIndex==C.parentNode.cells.length-1) C.parentNode.appendChild(E);else C.parentNode.insertBefore(E,B?C:C.nextSibling);return E;};FCKTableHandler.DeleteCell=function(A){if (A.parentNode.cells.length==1){FCKTableHandler.DeleteRows(A.parentNode);return;};A.parentNode.removeChild(A);};FCKTableHandler.DeleteCells=function(){var A=FCKTableHandler.GetSelectedCells();for (var i=A.length-1;i>=0;i--){FCKTableHandler.DeleteCell(A[i]);}};FCKTableHandler._MarkCells=function(A,B){for (var i=0;i<A.length;i++) A[i][B]=true;};FCKTableHandler._UnmarkCells=function(A,B){for (var i=0;i<A.length;i++){FCKDomTools.ClearElementJSProperty(A[i],B);}};FCKTableHandler._ReplaceCellsByMarker=function(A,B,C){for (var i=0;i<A.length;i++){for (var j=0;j<A[i].length;j++){if (A[i][j][B]) A[i][j]=C;}}};FCKTableHandler._GetMarkerGeometry=function(A,B,C,D){var E=0;var F=0;var G=0;var H=0;for (var i=C;A[B][i]&&A[B][i][D];i++) E++;for (var i=C-1;A[B][i]&&A[B][i][D];i--){E++;G++;};for (var i=B;A[i]&&A[i][C]&&A[i][C][D];i++) F++;for (var i=B-1;A[i]&&A[i][C]&&A[i][C][D];i--){F++;H++;};return { 'width':E,'height':F,'x':G,'y':H };};FCKTableHandler.CheckIsSelectionRectangular=function(){var A=FCKTableHandler.GetSelectedCells();if (A.length<1) return false;for (var i=0;i<A.length;i++){if (A[i].parentNode.parentNode!=A[0].parentNode.parentNode) return false;};this._MarkCells(A,'_CellSelected');var B=this._CreateTableMap(A[0]);var C=A[0].parentNode.rowIndex;var D=this._GetCellIndexSpan(B,C,A[0]);var E=this._GetMarkerGeometry(B,C,D,'_CellSelected');var F=D-E.x;var G=C-E.y;if (E.width>=E.height){for (D=F;D<F+E.width;D++){C=G+(D-F) % E.height;if (!B[C]||!B[C][D]){this._UnmarkCells(A,'_CellSelected');return false;};var g=this._GetMarkerGeometry(B,C,D,'_CellSelected');if (g.width!=E.width||g.height!=E.height){this._UnmarkCells(A,'_CellSelected');return false;}}}else{for (C=G;C<G+E.height;C++){D=F+(C-G) % E.width;if (!B[C]||!B[C][D]){this._UnmarkCells(A,'_CellSelected');return false;};var g=this._GetMarkerGeometry(B,C,D,'_CellSelected');if (g.width!=E.width||g.height!=E.height){this._UnmarkCells(A,'_CellSelected');return false;}}};this._UnmarkCells(A,'_CellSelected');return true;};FCKTableHandler.MergeCells=function(){var A=this.GetSelectedCells();if (A.length<2) return;var B=A[0];var C=this._CreateTableMap(B);var D=B.parentNode.rowIndex;var E=this._GetCellIndexSpan(C,D,B);this._MarkCells(A,'_SelectedCells');var F=this._GetMarkerGeometry(C,D,E,'_SelectedCells');var G=E-F.x;var H=D-F.y;var I=FCKTools.GetElementDocument(B).createDocumentFragment();for (var i=0;i<F.height;i++){var J=0;for (var j=0;j<F.width;j++){var K=C[H+i][G+j];while (K.childNodes.length>0){var L=K.removeChild(K.firstChild);if (L.nodeType!=1||(L.getAttribute('type',2)!='_moz'&&L.getAttribute('_moz_dirty')!=null)){I.appendChild(L);J++;}}};if (J>0) I.appendChild(FCK.EditorDocument.createElement('br'));};this._ReplaceCellsByMarker(C,'_SelectedCells',B);this._UnmarkCells(A,'_SelectedCells');this._InstallTableMap(C,B.parentNode.parentNode.parentNode);B.appendChild(I);if (FCKBrowserInfo.IsGeckoLike&&(!B.firstChild)) FCKTools.AppendBogusBr(B);this._MoveCaretToCell(B,false);};FCKTableHandler.MergeRight=function(){var A=this.GetMergeRightTarget();if (A==null) return;var B=A.refCell;var C=A.tableMap;var D=A.nextCell;var E=FCK.EditorDocument.createDocumentFragment();while (D&&D.childNodes&&D.childNodes.length>0) E.appendChild(D.removeChild(D.firstChild));D.parentNode.removeChild(D);B.appendChild(E);this._MarkCells([D],'_Replace');this._ReplaceCellsByMarker(C,'_Replace',B);this._InstallTableMap(C,B.parentNode.parentNode.parentNode);this._MoveCaretToCell(B,false);};FCKTableHandler.MergeDown=function(){var A=this.GetMergeDownTarget();if (A==null) return;var B=A.refCell;var C=A.tableMap;var D=A.nextCell;var E=FCKTools.GetElementDocument(B).createDocumentFragment();while (D&&D.childNodes&&D.childNodes.length>0) E.appendChild(D.removeChild(D.firstChild));if (E.firstChild) E.insertBefore(FCK.EditorDocument.createElement('br'),E.firstChild);B.appendChild(E);this._MarkCells([D],'_Replace');this._ReplaceCellsByMarker(C,'_Replace',B);this._InstallTableMap(C,B.parentNode.parentNode.parentNode);this._MoveCaretToCell(B,false);};FCKTableHandler.HorizontalSplitCell=function(){var A=FCKTableHandler.GetSelectedCells();if (A.length!=1) return;var B=A[0];var C=this._CreateTableMap(B);var D=B.parentNode.rowIndex;var E=FCKTableHandler._GetCellIndexSpan(C,D,B);var F=isNaN(B.colSpan)?1:B.colSpan;if (F>1){var G=Math.ceil(F/2);var H=FCK.EditorDocument.createElement(B.nodeName);if (FCKBrowserInfo.IsGeckoLike) FCKTools.AppendBogusBr(H);var I=E+G;var J=E+F;var K=isNaN(B.rowSpan)?1:B.rowSpan;for (var r=D;r<D+K;r++){for (var i=I;i<J;i++) C[r][i]=H;}}else{var L=[];for (var i=0;i<C.length;i++){var M=C[i].slice(0,E);if (C[i].length<=E){L.push(M);continue;};if (C[i][E]==B){M.push(B);M.push(FCK.EditorDocument.createElement(B.nodeName));if (FCKBrowserInfo.IsGeckoLike) FCKTools.AppendBogusBr(M[M.length-1]);}else{M.push(C[i][E]);M.push(C[i][E]);};for (var j=E+1;j<C[i].length;j++) M.push(C[i][j]);L.push(M);};C=L;};this._InstallTableMap(C,B.parentNode.parentNode.parentNode);};FCKTableHandler.VerticalSplitCell=function(){var A=FCKTableHandler.GetSelectedCells();if (A.length!=1) return;var B=A[0];var C=this._CreateTableMap(B);var D=B.parentNode.rowIndex;var E=FCKTableHandler._GetCellIndexSpan(C,D,B);var F=isNaN(B.colSpan)?1:B.colSpan;var G=B.rowSpan;if (isNaN(G)) G=1;if (G>1){B.rowSpan=Math.ceil(G/2);var H=D+Math.ceil(G/2);var I=C[H];var J=null;for (var i=E+1;i<I.length;i++){if (I[i].parentNode.rowIndex==H){J=I[i];break;}};var K=FCK.EditorDocument.createElement(B.nodeName);K.rowSpan=Math.floor(G/2);if (F>1) K.colSpan=F;if (FCKBrowserInfo.IsGeckoLike) FCKTools.AppendBogusBr(K);B.parentNode.parentNode.parentNode.rows[H].insertBefore(K,J);}else{var L=B.parentNode.sectionRowIndex+1;var M=FCK.EditorDocument.createElement('tr');var N=B.parentNode.parentNode;if (N.rows.length>L) N.insertBefore(M,N.rows[L]);else N.appendChild(M);for (var i=0;i<C[D].length;){var O=C[D][i].colSpan;if (isNaN(O)||O<1) O=1;if (i==E){i+=O;continue;};var P=C[D][i].rowSpan;if (isNaN(P)) P=1;C[D][i].rowSpan=P+1;i+=O;};var K=FCK.EditorDocument.createElement(B.nodeName);if (F>1) K.colSpan=F;if (FCKBrowserInfo.IsGeckoLike) FCKTools.AppendBogusBr(K);M.appendChild(K);}};FCKTableHandler._GetCellIndexSpan=function(A,B,C){if (A.length<B+1) return null;var D=A[B];for (var c=0;c<D.length;c++){if (D[c]==C) return c;};return null;};FCKTableHandler._GetCellLocation=function(A,B){for (var i=0;i<A.length;i++){for (var c=0;c<A[i].length;c++){if (A[i][c]==B) return [i,c];}};return null;};FCKTableHandler._CreateTableMap=function(A){var B=(A.nodeName=='TABLE'?A:A.parentNode.parentNode.parentNode);var C=B.rows;var r=-1;var D=[];for (var i=0;i<C.length;i++){r++;if (!D[r]) D[r]=[];var c=-1;for (var j=0;j<C[i].cells.length;j++){var E=C[i].cells[j];c++;while (D[r][c]) c++;var F=isNaN(E.colSpan)?1:E.colSpan;var G=isNaN(E.rowSpan)?1:E.rowSpan;for (var H=0;H<G;H++){if (!D[r+H]) D[r+H]=[];for (var I=0;I<F;I++){D[r+H][c+I]=C[i].cells[j];}};c+=F-1;}};return D;};FCKTableHandler._InstallTableMap=function(A,B){var C=FCKBrowserInfo.IsIE?"_fckrowspan":"rowSpan";for (var i=0;i<A.length;i++){for (var j=0;j<A[i].length;j++){var D=A[i][j];if (D.parentNode) D.parentNode.removeChild(D);D.colSpan=D[C]=1;}};var E=0;for (var i=0;i<A.length;i++){for (var j=0;j<A[i].length;j++){var D=A[i][j];if (!D) continue;if (j>E) E=j;if (D._colScanned===true) continue;if (A[i][j-1]==D) D.colSpan++;if (A[i][j+1]!=D) D._colScanned=true;}};for (var i=0;i<=E;i++){for (var j=0;j<A.length;j++){if (!A[j]) continue;var D=A[j][i];if (!D||D._rowScanned===true) continue;if (A[j-1]&&A[j-1][i]==D) D[C]++;if (!A[j+1]||A[j+1][i]!=D) D._rowScanned=true;}};for (var i=0;i<A.length;i++){for (var j=0;j<A[i].length;j++){var D=A[i][j];FCKDomTools.ClearElementJSProperty(D,'_colScanned');FCKDomTools.ClearElementJSProperty(D,'_rowScanned');}};for (var i=0;i<A.length;i++){var I=FCK.EditorDocument.createElement('tr');for (var j=0;j<A[i].length;){var D=A[i][j];if (A[i-1]&&A[i-1][j]==D){j+=D.colSpan;continue;};I.appendChild(D);if (C!='rowSpan'){D.rowSpan=D[C];D.removeAttribute(C);};j+=D.colSpan;if (D.colSpan==1) D.removeAttribute('colspan');if (D.rowSpan==1) D.removeAttribute('rowspan');};if (FCKBrowserInfo.IsIE){B.rows[i].replaceNode(I);}else{B.rows[i].innerHTML='';FCKDomTools.MoveChildren(I,B.rows[i]);}}};FCKTableHandler._MoveCaretToCell=function (A,B){var C=new FCKDomRange(FCK.EditorWindow);C.MoveToNodeContents(A);C.Collapse(B);C.Select();};FCKTableHandler.ClearRow=function(A){var B=A.cells;for (var i=0;i<B.length;i++){B[i].innerHTML='';if (FCKBrowserInfo.IsGeckoLike) FCKTools.AppendBogusBr(B[i]);}};FCKTableHandler.GetMergeRightTarget=function(){var A=this.GetSelectedCells();if (A.length!=1) return null;var B=A[0];var C=this._CreateTableMap(B);var D=B.parentNode.rowIndex;var E=this._GetCellIndexSpan(C,D,B);var F=E+(isNaN(B.colSpan)?1:B.colSpan);var G=C[D][F];if (!G) return null;this._MarkCells([B,G],'_SizeTest');var H=this._GetMarkerGeometry(C,D,E,'_SizeTest');var I=this._GetMarkerGeometry(C,D,F,'_SizeTest');this._UnmarkCells([B,G],'_SizeTest');if (H.height!=I.height||H.y!=I.y) return null;return { 'refCell':B,'nextCell':G,'tableMap':C };};FCKTableHandler.GetMergeDownTarget=function(){var A=this.GetSelectedCells();if (A.length!=1) return null;var B=A[0];var C=this._CreateTableMap(B);var D=B.parentNode.rowIndex;var E=this._GetCellIndexSpan(C,D,B);var F=D+(isNaN(B.rowSpan)?1:B.rowSpan);if (!C[F]) return null;var G=C[F][E];if (!G) return null;if (B.parentNode.parentNode!=G.parentNode.parentNode) return null;this._MarkCells([B,G],'_SizeTest');var H=this._GetMarkerGeometry(C,D,E,'_SizeTest');var I=this._GetMarkerGeometry(C,F,E,'_SizeTest');this._UnmarkCells([B,G],'_SizeTest');if (H.width!=I.width||H.x!=I.x) return null;return { 'refCell':B,'nextCell':G,'tableMap':C };};\r
-FCKTableHandler.GetSelectedCells=function(){if (FCKSelection.GetType()=='Control'){var A=FCKSelection.MoveToAncestorNode(['TD','TH']);return A?[A]:[];};var B=[];var C=FCKSelection.GetSelection().createRange();var D=FCKSelection.GetParentElement();if (D&&D.tagName.Equals('TD','TH')) B[0]=D;else{D=FCKSelection.MoveToAncestorNode('TABLE');if (D){for (var i=0;i<D.cells.length;i++){var E=FCK.EditorDocument.body.createTextRange();E.moveToElementText(D.cells[i]);if (C.inRange(E)||(C.compareEndPoints('StartToStart',E)>=0&&C.compareEndPoints('StartToEnd',E)<=0)||(C.compareEndPoints('EndToStart',E)>=0&&C.compareEndPoints('EndToEnd',E)<=0)){B[B.length]=D.cells[i];}}}};return B;};\r
-var FCKXml=function(){this.Error=false;};FCKXml.GetAttribute=function(A,B,C){var D=A.attributes.getNamedItem(B);return D?D.value:C;};FCKXml.TransformToObject=function(A){if (!A) return null;var B={};var C=A.attributes;for (var i=0;i<C.length;i++){var D=C[i];B[D.name]=D.value;};var E=A.childNodes;for (i=0;i<E.length;i++){var F=E[i];if (F.nodeType==1){var G='$'+F.nodeName;var H=B[G];if (!H) H=B[G]=[];H.push(this.TransformToObject(F));}};return B;};\r
-FCKXml.prototype={LoadUrl:function(A){this.Error=false;var B=FCKTools.CreateXmlObject('XmlHttp');if (!B){this.Error=true;return;};B.open("GET",A,false);B.send(null);if (B.status==200||B.status==304||(B.status==0&&B.readyState==4)){this.DOMDocument=B.responseXML;if (!this.DOMDocument||this.DOMDocument.firstChild==null){this.DOMDocument=FCKTools.CreateXmlObject('DOMDocument');this.DOMDocument.async=false;this.DOMDocument.resolveExternals=false;this.DOMDocument.loadXML(B.responseText);}}else{this.DOMDocument=null;};if (this.DOMDocument==null||this.DOMDocument.firstChild==null){this.Error=true;if (window.confirm('Error loading "'+A+'"\r\nDo you want to see more info?')) alert('URL requested: "'+A+'"\r\nServer response:\r\nStatus: '+B.status+'\r\nResponse text:\r\n'+B.responseText);}},SelectNodes:function(A,B){if (this.Error) return [];if (B) return B.selectNodes(A);else return this.DOMDocument.selectNodes(A);},SelectSingleNode:function(A,B){if (this.Error) return null;if (B) return B.selectSingleNode(A);else return this.DOMDocument.selectSingleNode(A);}};\r
-var FCKNamedCommand=function(A){this.Name=A;};FCKNamedCommand.prototype.Execute=function(){FCK.ExecuteNamedCommand(this.Name);};FCKNamedCommand.prototype.GetState=function(){if (FCK.EditMode!=0) return -1;return FCK.GetNamedCommandState(this.Name);};\r
-var FCKStyleCommand=function(){};FCKStyleCommand.prototype={Name:'Style',Execute:function(A,B){FCKUndo.SaveUndoStep();if (B.Selected) FCK.Styles.RemoveStyle(B.Style);else FCK.Styles.ApplyStyle(B.Style);FCKUndo.SaveUndoStep();FCK.Focus();FCK.Events.FireEvent('OnSelectionChange');},GetState:function(){if (FCK.EditMode!=0||!FCK.EditorDocument) return -1;if (FCKSelection.GetType()=='Control'){var A=FCKSelection.GetSelectedElement();if (!A||!FCKStyles.CheckHasObjectStyle(A.nodeName.toLowerCase())) return -1;};return 0;}};\r
-var FCKDialogCommand=function(A,B,C,D,E,F,G,H){this.Name=A;this.Title=B;this.Url=C;this.Width=D;this.Height=E;this.CustomValue=H;this.GetStateFunction=F;this.GetStateParam=G;this.Resizable=false;};FCKDialogCommand.prototype.Execute=function(){FCKDialog.OpenDialog('FCKDialog_'+this.Name,this.Title,this.Url,this.Width,this.Height,this.CustomValue,this.Resizable);};FCKDialogCommand.prototype.GetState=function(){if (this.GetStateFunction) return this.GetStateFunction(this.GetStateParam);else return FCK.EditMode==0?0:-1;};var FCKUndefinedCommand=function(){this.Name='Undefined';};FCKUndefinedCommand.prototype.Execute=function(){alert(FCKLang.NotImplemented);};FCKUndefinedCommand.prototype.GetState=function(){return 0;};var FCKFormatBlockCommand=function(){};FCKFormatBlockCommand.prototype={Name:'FormatBlock',Execute:FCKStyleCommand.prototype.Execute,GetState:function(){return FCK.EditorDocument?0:-1;}};var FCKFontNameCommand=function(){};FCKFontNameCommand.prototype={Name:'FontName',Execute:FCKStyleCommand.prototype.Execute,GetState:FCKFormatBlockCommand.prototype.GetState};var FCKFontSizeCommand=function(){};FCKFontSizeCommand.prototype={Name:'FontSize',Execute:FCKStyleCommand.prototype.Execute,GetState:FCKFormatBlockCommand.prototype.GetState};var FCKPreviewCommand=function(){this.Name='Preview';};FCKPreviewCommand.prototype.Execute=function(){FCK.Preview();};FCKPreviewCommand.prototype.GetState=function(){return 0;};var FCKSaveCommand=function(){this.Name='Save';};FCKSaveCommand.prototype.Execute=function(){var A=FCK.GetParentForm();if (typeof(A.onsubmit)=='function'){var B=A.onsubmit();if (B!=null&&B===false) return;};if (typeof(A.submit)=='function') A.submit();else A.submit.click();};FCKSaveCommand.prototype.GetState=function(){return 0;};var FCKNewPageCommand=function(){this.Name='NewPage';};FCKNewPageCommand.prototype.Execute=function(){FCKUndo.SaveUndoStep();FCK.SetData('');FCKUndo.Typing=true;FCK.Focus();};FCKNewPageCommand.prototype.GetState=function(){return 0;};var FCKSourceCommand=function(){this.Name='Source';};FCKSourceCommand.prototype.Execute=function(){if (FCKConfig.SourcePopup){var A=FCKConfig.ScreenWidth*0.65;var B=FCKConfig.ScreenHeight*0.65;FCKDialog.OpenDialog('FCKDialog_Source',FCKLang.Source,'dialog/fck_source.html',A,B,null,true);}else FCK.SwitchEditMode();};FCKSourceCommand.prototype.GetState=function(){return (FCK.EditMode==0?0:1);};var FCKUndoCommand=function(){this.Name='Undo';};FCKUndoCommand.prototype.Execute=function(){FCKUndo.Undo();};FCKUndoCommand.prototype.GetState=function(){if (FCK.EditMode!=0) return -1;return (FCKUndo.CheckUndoState()?0:-1);};var FCKRedoCommand=function(){this.Name='Redo';};FCKRedoCommand.prototype.Execute=function(){FCKUndo.Redo();};FCKRedoCommand.prototype.GetState=function(){if (FCK.EditMode!=0) return -1;return (FCKUndo.CheckRedoState()?0:-1);};var FCKPageBreakCommand=function(){this.Name='PageBreak';};FCKPageBreakCommand.prototype.Execute=function(){FCKUndo.SaveUndoStep();var e=FCK.EditorDocument.createElement('DIV');e.style.pageBreakAfter='always';e.innerHTML='<span style="DISPLAY:none">&nbsp;</span>';var A=FCKDocumentProcessor_CreateFakeImage('FCK__PageBreak',e);var B=new FCKDomRange(FCK.EditorWindow);B.MoveToSelection();var C=B.SplitBlock();B.InsertNode(A);FCK.Events.FireEvent('OnSelectionChange');};FCKPageBreakCommand.prototype.GetState=function(){if (FCK.EditMode!=0) return -1;return 0;};var FCKUnlinkCommand=function(){this.Name='Unlink';};FCKUnlinkCommand.prototype.Execute=function(){FCKUndo.SaveUndoStep();if (FCKBrowserInfo.IsGeckoLike){var A=FCK.Selection.MoveToAncestorNode('A');if (A) FCKTools.RemoveOuterTags(A);return;};FCK.ExecuteNamedCommand(this.Name);};FCKUnlinkCommand.prototype.GetState=function(){if (FCK.EditMode!=0) return -1;var A=FCK.GetNamedCommandState(this.Name);if (A==0&&FCK.EditMode==0){var B=FCKSelection.MoveToAncestorNode('A');var C=(B&&B.name.length>0&&B.href.length==0);if (C) A=-1;};return A;};var FCKVisitLinkCommand=function(){this.Name='VisitLink';};FCKVisitLinkCommand.prototype={GetState:function(){if (FCK.EditMode!=0) return -1;var A=FCK.GetNamedCommandState('Unlink');if (A==0){var B=FCKSelection.MoveToAncestorNode('A');if (!B.href) A=-1;};return A;},Execute:function(){var A=FCKSelection.MoveToAncestorNode('A');var B=A.getAttribute('_fcksavedurl')||A.getAttribute('href',2);if (!/:\/\//.test(B)){var C=FCKConfig.BaseHref;var D=FCK.GetInstanceObject('parent');if (!C){C=D.document.location.href;C=C.substring(0,C.lastIndexOf('/')+1);};if (/^\//.test(B)){try{C=C.match(/^.*:\/\/+[^\/]+/)[0];}catch (e){C=D.document.location.protocol+'://'+D.parent.document.location.host;}};B=C+B;};if (!window.open(B,'_blank')) alert(FCKLang.VisitLinkBlocked);}};var FCKSelectAllCommand=function(){this.Name='SelectAll';};FCKSelectAllCommand.prototype.Execute=function(){if (FCK.EditMode==0){FCK.ExecuteNamedCommand('SelectAll');}else{var A=FCK.EditingArea.Textarea;if (FCKBrowserInfo.IsIE){A.createTextRange().execCommand('SelectAll');}else{A.selectionStart=0;A.selectionEnd=A.value.length;};A.focus();}};FCKSelectAllCommand.prototype.GetState=function(){if (FCK.EditMode!=0) return -1;return 0;};var FCKPasteCommand=function(){this.Name='Paste';};FCKPasteCommand.prototype={Execute:function(){if (FCKBrowserInfo.IsIE) FCK.Paste();else FCK.ExecuteNamedCommand('Paste');},GetState:function(){if (FCK.EditMode!=0) return -1;return FCK.GetNamedCommandState('Paste');}};var FCKRuleCommand=function(){this.Name='Rule';};FCKRuleCommand.prototype={Execute:function(){FCKUndo.SaveUndoStep();FCK.InsertElement('hr');},GetState:function(){if (FCK.EditMode!=0) return -1;return FCK.GetNamedCommandState('InsertHorizontalRule');}};var FCKCutCopyCommand=function(A){this.Name=A?'Cut':'Copy';};FCKCutCopyCommand.prototype={Execute:function(){var A=false;if (FCKBrowserInfo.IsIE){var B=function(){A=true;};var C='on'+this.Name.toLowerCase();FCK.EditorDocument.body.attachEvent(C,B);FCK.ExecuteNamedCommand(this.Name);FCK.EditorDocument.body.detachEvent(C,B);}else{try{FCK.ExecuteNamedCommand(this.Name);A=true;}catch(e){}};if (!A) alert(FCKLang['PasteError'+this.Name]);},GetState:function(){return FCK.EditMode!=0?-1:FCK.GetNamedCommandState('Cut');}};var FCKAnchorDeleteCommand=function(){this.Name='AnchorDelete';};FCKAnchorDeleteCommand.prototype={Execute:function(){if (FCK.Selection.GetType()=='Control'){FCK.Selection.Delete();}else{var A=FCK.Selection.GetSelectedElement();if (A){if (A.tagName=='IMG'&&A.getAttribute('_fckanchor')) oAnchor=FCK.GetRealElement(A);else A=null;};if (!A){oAnchor=FCK.Selection.MoveToAncestorNode('A');if (oAnchor) FCK.Selection.SelectNode(oAnchor);};if (oAnchor.href.length!=0){oAnchor.removeAttribute('name');if (FCKBrowserInfo.IsIE) oAnchor.className=oAnchor.className.replace(FCKRegexLib.FCK_Class,'');return;};if (A){A.parentNode.removeChild(A);return;};if (oAnchor.innerHTML.length==0){oAnchor.parentNode.removeChild(oAnchor);return;};FCKTools.RemoveOuterTags(oAnchor);};if (FCKBrowserInfo.IsGecko) FCK.Selection.Collapse(true);},GetState:function(){if (FCK.EditMode!=0) return -1;return FCK.GetNamedCommandState('Unlink');}};var FCKDeleteDivCommand=function(){};FCKDeleteDivCommand.prototype={GetState:function(){if (FCK.EditMode!=0) return -1;var A=FCKSelection.GetParentElement();var B=new FCKElementPath(A);return B.BlockLimit&&B.BlockLimit.nodeName.IEquals('div')?0:-1;},Execute:function(){FCKUndo.SaveUndoStep();var A=FCKDomTools.GetSelectedDivContainers();var B=new FCKDomRange(FCK.EditorWindow);B.MoveToSelection();var C=B.CreateBookmark();for (var i=0;i<A.length;i++) FCKDomTools.RemoveNode(A[i],true);B.MoveToBookmark(C);B.Select();}};var FCKNbsp=function(){this.Name='Non Breaking Space';};FCKNbsp.prototype={Execute:function(){FCK.InsertHtml('&nbsp;');},GetState:function(){return (FCK.EditMode!=0?-1:0);}};\r
-var FCKShowBlockCommand=function(A,B){this.Name=A;if (B!=undefined) this._SavedState=B;else this._SavedState=null;};FCKShowBlockCommand.prototype.Execute=function(){var A=this.GetState();if (A==-1) return;var B=FCK.EditorDocument.body;if (A==1) B.className=B.className.replace(/(^| )FCK__ShowBlocks/g,'');else B.className+=' FCK__ShowBlocks';if (FCKBrowserInfo.IsIE){try{FCK.EditorDocument.selection.createRange().select();}catch (e){}}else{var C=FCK.EditorWindow.getSelection().focusNode;if (C){if (C.nodeType!=1) C=C.parentNode;FCKDomTools.ScrollIntoView(C,false);}};FCK.Events.FireEvent('OnSelectionChange');};FCKShowBlockCommand.prototype.GetState=function(){if (FCK.EditMode!=0) return -1;if (!FCK.EditorDocument) return 0;if (/FCK__ShowBlocks(?:\s|$)/.test(FCK.EditorDocument.body.className)) return 1;return 0;};FCKShowBlockCommand.prototype.SaveState=function(){this._SavedState=this.GetState();};FCKShowBlockCommand.prototype.RestoreState=function(){if (this._SavedState!=null&&this.GetState()!=this._SavedState) this.Execute();};\r
-var FCKSpellCheckCommand=function(){this.Name='SpellCheck';this.IsEnabled=true;};FCKSpellCheckCommand.prototype.Execute=function(){switch (FCKConfig.SpellChecker){case 'ieSpell':this._RunIeSpell();break;case 'SpellerPages':FCKDialog.OpenDialog('FCKDialog_SpellCheck','Spell Check','dialog/fck_spellerpages.html',440,480);break;case 'WSC':FCKDialog.OpenDialog('FCKDialog_SpellCheck','Spell Check','wsc/w.html',530,480);}};FCKSpellCheckCommand.prototype._RunIeSpell=function(){try{var A=new ActiveXObject("ieSpell.ieSpellExtension");A.CheckAllLinkedDocuments(FCK.EditorDocument);}catch(e){if(e.number==-2146827859){if (confirm(FCKLang.IeSpellDownload)) window.open(FCKConfig.IeSpellDownloadUrl,'IeSpellDownload');}else alert('Error Loading ieSpell: '+e.message+' ('+e.number+')');}};FCKSpellCheckCommand.prototype.GetState=function(){if (FCK.EditMode!=0) return -1;return this.IsEnabled?0:-1;};\r
-var FCKTextColorCommand=function(A){this.Name=A=='ForeColor'?'TextColor':'BGColor';this.Type=A;var B;if (FCKBrowserInfo.IsIE) B=window;else if (FCK.ToolbarSet._IFrame) B=FCKTools.GetElementWindow(FCK.ToolbarSet._IFrame);else B=window.parent;this._Panel=new FCKPanel(B);this._Panel.AppendStyleSheet(FCKConfig.SkinEditorCSS);this._Panel.MainNode.className='FCK_Panel';this._CreatePanelBody(this._Panel.Document,this._Panel.MainNode);FCK.ToolbarSet.ToolbarItems.GetItem(this.Name).RegisterPanel(this._Panel);FCKTools.DisableSelection(this._Panel.Document.body);};FCKTextColorCommand.prototype.Execute=function(A,B,C){this._Panel.Show(A,B,C);};FCKTextColorCommand.prototype.SetColor=function(A){FCKUndo.SaveUndoStep();var B=FCKStyles.GetStyle('_FCK_'+(this.Type=='ForeColor'?'Color':'BackColor'));if (!A||A.length==0) FCK.Styles.RemoveStyle(B);else{B.SetVariable('Color',A);FCKStyles.ApplyStyle(B);};FCKUndo.SaveUndoStep();FCK.Focus();FCK.Events.FireEvent('OnSelectionChange');};FCKTextColorCommand.prototype.GetState=function(){if (FCK.EditMode!=0) return -1;return 0;};function FCKTextColorCommand_OnMouseOver(){this.className='ColorSelected';};function FCKTextColorCommand_OnMouseOut(){this.className='ColorDeselected';};function FCKTextColorCommand_OnClick(A,B,C){this.className='ColorDeselected';B.SetColor(C);B._Panel.Hide();};function FCKTextColorCommand_AutoOnClick(A,B){this.className='ColorDeselected';B.SetColor('');B._Panel.Hide();};function FCKTextColorCommand_MoreOnClick(A,B){this.className='ColorDeselected';B._Panel.Hide();FCKDialog.OpenDialog('FCKDialog_Color',FCKLang.DlgColorTitle,'dialog/fck_colorselector.html',410,320,FCKTools.Bind(B,B.SetColor));};FCKTextColorCommand.prototype._CreatePanelBody=function(A,B){function CreateSelectionDiv(){var C=A.createElement("DIV");C.className='ColorDeselected';FCKTools.AddEventListenerEx(C,'mouseover',FCKTextColorCommand_OnMouseOver);FCKTools.AddEventListenerEx(C,'mouseout',FCKTextColorCommand_OnMouseOut);return C;};var D=B.appendChild(A.createElement("TABLE"));D.className='ForceBaseFont';D.style.tableLayout='fixed';D.cellPadding=0;D.cellSpacing=0;D.border=0;D.width=150;var E=D.insertRow(-1).insertCell(-1);E.colSpan=8;var C=E.appendChild(CreateSelectionDiv());C.innerHTML='<table cellspacing="0" cellpadding="0" width="100%" border="0">\n                        <tr>\n                          <td><div class="ColorBoxBorder"><div class="ColorBox" style="background-color: #000000"></div></div></td>\n                             <td nowrap width="100%" align="center">'+FCKLang.ColorAutomatic+'</td>\n                        </tr>\n         </table>';FCKTools.AddEventListenerEx(C,'click',FCKTextColorCommand_AutoOnClick,this);if (!FCKBrowserInfo.IsIE) C.style.width='96%';var G=FCKConfig.FontColors.toString().split(',');var H=0;while (H<G.length){var I=D.insertRow(-1);for (var i=0;i<8;i++,H++){if (H<G.length){var J=G[H].split('/');var K='#'+J[0];var L=J[1]||K;};C=I.insertCell(-1).appendChild(CreateSelectionDiv());C.innerHTML='<div class="ColorBoxBorder"><div class="ColorBox" style="background-color: '+K+'"></div></div>';if (H>=G.length) C.style.visibility='hidden';else FCKTools.AddEventListenerEx(C,'click',FCKTextColorCommand_OnClick,[this,L]);}};if (FCKConfig.EnableMoreFontColors){E=D.insertRow(-1).insertCell(-1);E.colSpan=8;C=E.appendChild(CreateSelectionDiv());C.innerHTML='<table width="100%" cellpadding="0" cellspacing="0" border="0"><tr><td nowrap align="center">'+FCKLang.ColorMoreColors+'</td></tr></table>';FCKTools.AddEventListenerEx(C,'click',FCKTextColorCommand_MoreOnClick,this);if (!FCKBrowserInfo.IsIE) C.style.width='96%';}};\r
-var FCKPastePlainTextCommand=function(){this.Name='PasteText';};FCKPastePlainTextCommand.prototype.Execute=function(){FCK.PasteAsPlainText();};FCKPastePlainTextCommand.prototype.GetState=function(){if (FCK.EditMode!=0) return -1;return FCK.GetNamedCommandState('Paste');};\r
-var FCKPasteWordCommand=function(){this.Name='PasteWord';};FCKPasteWordCommand.prototype.Execute=function(){FCK.PasteFromWord();};FCKPasteWordCommand.prototype.GetState=function(){if (FCK.EditMode!=0||FCKConfig.ForcePasteAsPlainText) return -1;else return FCK.GetNamedCommandState('Paste');};\r
-var FCKTableCommand=function(A){this.Name=A;};FCKTableCommand.prototype.Execute=function(){FCKUndo.SaveUndoStep();if (!FCKBrowserInfo.IsGecko){switch (this.Name){case 'TableMergeRight':return FCKTableHandler.MergeRight();case 'TableMergeDown':return FCKTableHandler.MergeDown();}};switch (this.Name){case 'TableInsertRowAfter':return FCKTableHandler.InsertRow(false);case 'TableInsertRowBefore':return FCKTableHandler.InsertRow(true);case 'TableDeleteRows':return FCKTableHandler.DeleteRows();case 'TableInsertColumnAfter':return FCKTableHandler.InsertColumn(false);case 'TableInsertColumnBefore':return FCKTableHandler.InsertColumn(true);case 'TableDeleteColumns':return FCKTableHandler.DeleteColumns();case 'TableInsertCellAfter':return FCKTableHandler.InsertCell(null,false);case 'TableInsertCellBefore':return FCKTableHandler.InsertCell(null,true);case 'TableDeleteCells':return FCKTableHandler.DeleteCells();case 'TableMergeCells':return FCKTableHandler.MergeCells();case 'TableHorizontalSplitCell':return FCKTableHandler.HorizontalSplitCell();case 'TableVerticalSplitCell':return FCKTableHandler.VerticalSplitCell();case 'TableDelete':return FCKTableHandler.DeleteTable();default:return alert(FCKLang.UnknownCommand.replace(/%1/g,this.Name));}};FCKTableCommand.prototype.GetState=function(){if (FCK.EditorDocument!=null&&FCKSelection.HasAncestorNode('TABLE')){switch (this.Name){case 'TableHorizontalSplitCell':case 'TableVerticalSplitCell':if (FCKTableHandler.GetSelectedCells().length==1) return 0;else return -1;case 'TableMergeCells':if (FCKTableHandler.CheckIsSelectionRectangular()&&FCKTableHandler.GetSelectedCells().length>1) return 0;else return -1;case 'TableMergeRight':return FCKTableHandler.GetMergeRightTarget()?0:-1;case 'TableMergeDown':return FCKTableHandler.GetMergeDownTarget()?0:-1;default:return 0;}}else return -1;};\r
-var FCKFitWindow=function(){this.Name='FitWindow';};FCKFitWindow.prototype.Execute=function(){var A=window.frameElement;var B=A.style;var C=parent;var D=C.document.documentElement;var E=C.document.body;var F=E.style;var G;var H,oEditorScrollPos;if (FCK.EditMode==0){H=new FCKDomRange(FCK.EditorWindow);H.MoveToSelection();oEditorScrollPos=FCKTools.GetScrollPosition(FCK.EditorWindow);}else{var I=FCK.EditingArea.Textarea;H=!FCKBrowserInfo.IsIE&&[I.selectionStart,I.selectionEnd];oEditorScrollPos=[I.scrollLeft,I.scrollTop];};if (!this.IsMaximized){if(FCKBrowserInfo.IsIE) C.attachEvent('onresize',FCKFitWindow_Resize);else C.addEventListener('resize',FCKFitWindow_Resize,true);this._ScrollPos=FCKTools.GetScrollPosition(C);G=A;while((G=G.parentNode)){if (G.nodeType==1){G._fckSavedStyles=FCKTools.SaveStyles(G);G.style.zIndex=FCKConfig.FloatingPanelsZIndex-1;}};if (FCKBrowserInfo.IsIE){this.documentElementOverflow=D.style.overflow;D.style.overflow='hidden';F.overflow='hidden';}else{F.overflow='hidden';F.width='0px';F.height='0px';};this._EditorFrameStyles=FCKTools.SaveStyles(A);var J=FCKTools.GetViewPaneSize(C);B.position="absolute";A.offsetLeft;B.zIndex=FCKConfig.FloatingPanelsZIndex-1;B.left="0px";B.top="0px";B.width=J.Width+"px";B.height=J.Height+"px";if (!FCKBrowserInfo.IsIE){B.borderRight=B.borderBottom="9999px solid white";B.backgroundColor="white";};C.scrollTo(0,0);var K=FCKTools.GetWindowPosition(C,A);if (K.x!=0) B.left=(-1*K.x)+"px";if (K.y!=0) B.top=(-1*K.y)+"px";this.IsMaximized=true;}else{if(FCKBrowserInfo.IsIE) C.detachEvent("onresize",FCKFitWindow_Resize);else C.removeEventListener("resize",FCKFitWindow_Resize,true);G=A;while((G=G.parentNode)){if (G._fckSavedStyles){FCKTools.RestoreStyles(G,G._fckSavedStyles);G._fckSavedStyles=null;}};if (FCKBrowserInfo.IsIE) D.style.overflow=this.documentElementOverflow;FCKTools.RestoreStyles(A,this._EditorFrameStyles);C.scrollTo(this._ScrollPos.X,this._ScrollPos.Y);this.IsMaximized=false;};FCKToolbarItems.GetItem('FitWindow').RefreshState();if (FCK.EditMode==0) FCK.EditingArea.MakeEditable();FCK.Focus();if (FCK.EditMode==0){H.Select();FCK.EditorWindow.scrollTo(oEditorScrollPos.X,oEditorScrollPos.Y);}else{if (!FCKBrowserInfo.IsIE){I.selectionStart=H[0];I.selectionEnd=H[1];};I.scrollLeft=oEditorScrollPos[0];I.scrollTop=oEditorScrollPos[1];}};FCKFitWindow.prototype.GetState=function(){if (FCKConfig.ToolbarLocation!='In') return -1;else return (this.IsMaximized?1:0);};function FCKFitWindow_Resize(){var A=FCKTools.GetViewPaneSize(parent);var B=window.frameElement.style;B.width=A.Width+'px';B.height=A.Height+'px';};\r
-var FCKListCommand=function(A,B){this.Name=A;this.TagName=B;};FCKListCommand.prototype={GetState:function(){if (FCK.EditMode!=0||!FCK.EditorWindow) return -1;var A=FCKSelection.GetBoundaryParentElement(true);var B=A;while (B){if (B.nodeName.IEquals(['ul','ol'])) break;B=B.parentNode;};if (B&&B.nodeName.IEquals(this.TagName)) return 1;else return 0;},Execute:function(){FCKUndo.SaveUndoStep();var A=FCK.EditorDocument;var B=new FCKDomRange(FCK.EditorWindow);B.MoveToSelection();var C=this.GetState();if (C==0){FCKDomTools.TrimNode(A.body);if (!A.body.firstChild){var D=A.createElement('p');A.body.appendChild(D);B.MoveToNodeContents(D);}};var E=B.CreateBookmark();var F=[];var G={};var H=new FCKDomRangeIterator(B);var I;H.ForceBrBreak=(C==0);var J=true;var K=null;while (J){while ((I=H.GetNextParagraph())){var L=new FCKElementPath(I);var M=null;var N=false;var O=L.BlockLimit;for (var i=L.Elements.length-1;i>=0;i--){var P=L.Elements[i];if (P.nodeName.IEquals(['ol','ul'])){if (O._FCK_ListGroupObject) O._FCK_ListGroupObject=null;var Q=P._FCK_ListGroupObject;if (Q) Q.contents.push(I);else{Q={ 'root':P,'contents':[I] };F.push(Q);FCKDomTools.SetElementMarker(G,P,'_FCK_ListGroupObject',Q);};N=true;break;}};if (N) continue;var R=O;if (R._FCK_ListGroupObject) R._FCK_ListGroupObject.contents.push(I);else{var Q={ 'root':R,'contents':[I] };FCKDomTools.SetElementMarker(G,R,'_FCK_ListGroupObject',Q);F.push(Q);}};if (FCKBrowserInfo.IsIE) J=false;else{if (K==null){K=[];var T=FCKSelection.GetSelection();if (T&&F.length==0) K.push(T.getRangeAt(0));for (var i=1;T&&i<T.rangeCount;i++) K.push(T.getRangeAt(i));};if (K.length<1) J=false;else{var U=FCKW3CRange.CreateFromRange(A,K.shift());B._Range=U;B._UpdateElementInfo();if (B.StartNode.nodeName.IEquals('td')) B.SetStart(B.StartNode,1);if (B.EndNode.nodeName.IEquals('td')) B.SetEnd(B.EndNode,2);H=new FCKDomRangeIterator(B);H.ForceBrBreak=(C==0);}}};var W=[];while (F.length>0){var Q=F.shift();if (C==0){if (Q.root.nodeName.IEquals(['ul','ol'])) this._ChangeListType(Q,G,W);else this._CreateList(Q,W);}else if (C==1&&Q.root.nodeName.IEquals(['ul','ol'])) this._RemoveList(Q,G);};for (var i=0;i<W.length;i++){var M=W[i];var Z=false;var a=M;while (!Z){a=a.nextSibling;if (a&&a.nodeType==3&&a.nodeValue.search(/^[\n\r\t ]*$/)==0) continue;Z=true;};if (a&&a.nodeName.IEquals(this.TagName)){a.parentNode.removeChild(a);while (a.firstChild) M.appendChild(a.removeChild(a.firstChild));};Z=false;a=M;while (!Z){a=a.previousSibling;if (a&&a.nodeType==3&&a.nodeValue.search(/^[\n\r\t ]*$/)==0) continue;Z=true;};if (a&&a.nodeName.IEquals(this.TagName)){a.parentNode.removeChild(a);while (a.lastChild) M.insertBefore(a.removeChild(a.lastChild),M.firstChild);}};FCKDomTools.ClearAllMarkers(G);B.MoveToBookmark(E);B.Select();FCK.Focus();FCK.Events.FireEvent('OnSelectionChange');},_ChangeListType:function(A,B,C){var D=FCKDomTools.ListToArray(A.root,B);var E=[];for (var i=0;i<A.contents.length;i++){var F=A.contents[i];F=FCKTools.GetElementAscensor(F,'li');if (!F||F._FCK_ListItem_Processed) continue;E.push(F);FCKDomTools.SetElementMarker(B,F,'_FCK_ListItem_Processed',true);};var G=FCKTools.GetElementDocument(A.root).createElement(this.TagName);for (var i=0;i<E.length;i++){var H=E[i]._FCK_ListArray_Index;D[H].parent=G;};var I=FCKDomTools.ArrayToList(D,B);for (var i=0;i<I.listNode.childNodes.length;i++){if (I.listNode.childNodes[i].nodeName.IEquals(this.TagName)) C.push(I.listNode.childNodes[i]);};A.root.parentNode.replaceChild(I.listNode,A.root);},_CreateList:function(A,B){var C=A.contents;var D=FCKTools.GetElementDocument(A.root);var E=[];if (C.length==1&&C[0]==A.root){var F=D.createElement('div');while (C[0].firstChild) F.appendChild(C[0].removeChild(C[0].firstChild));C[0].appendChild(F);C[0]=F;};var G=A.contents[0].parentNode;for (var i=0;i<C.length;i++) G=FCKDomTools.GetCommonParents(G,C[i].parentNode).pop();for (var i=0;i<C.length;i++){var H=C[i];while (H.parentNode){if (H.parentNode==G){E.push(H);break;};H=H.parentNode;}};if (E.length<1) return;var I=E[E.length-1].nextSibling;var J=D.createElement(this.TagName);B.push(J);while (E.length){var K=E.shift();var L=D.createDocumentFragment();while (K.firstChild) L.appendChild(K.removeChild(K.firstChild));K.parentNode.removeChild(K);var M=D.createElement('li');M.appendChild(L);J.appendChild(M);};G.insertBefore(J,I);},_RemoveList:function(A,B){var C=FCKDomTools.ListToArray(A.root,B);var D=[];for (var i=0;i<A.contents.length;i++){var E=A.contents[i];E=FCKTools.GetElementAscensor(E,'li');if (!E||E._FCK_ListItem_Processed) continue;D.push(E);FCKDomTools.SetElementMarker(B,E,'_FCK_ListItem_Processed',true);};var F=null;for (var i=0;i<D.length;i++){var G=D[i]._FCK_ListArray_Index;C[G].indent=-1;F=G;};for (var i=F+1;i<C.length;i++){if (C[i].indent>C[i-1].indent+1){var H=C[i-1].indent+1-C[i].indent;var I=C[i].indent;while (C[i]&&C[i].indent>=I){C[i].indent+=H;i++;};i--;}};var J=FCKDomTools.ArrayToList(C,B);if (A.root.nextSibling==null||A.root.nextSibling.nodeName.IEquals('br')){if (J.listNode.lastChild.nodeName.IEquals('br')) J.listNode.removeChild(J.listNode.lastChild);};A.root.parentNode.replaceChild(J.listNode,A.root);}};\r
-var FCKJustifyCommand=function(A){this.AlignValue=A;var B=FCKConfig.ContentLangDirection.toLowerCase();this.IsDefaultAlign=(A=='left'&&B=='ltr')||(A=='right'&&B=='rtl');var C=this._CssClassName=(function(){var D=FCKConfig.JustifyClasses;if (D){switch (A){case 'left':return D[0]||null;case 'center':return D[1]||null;case 'right':return D[2]||null;case 'justify':return D[3]||null;}};return null;})();if (C&&C.length>0) this._CssClassRegex=new RegExp('(?:^|\\s+)'+C+'(?=$|\\s)');};FCKJustifyCommand._GetClassNameRegex=function(){var A=FCKJustifyCommand._ClassRegex;if (A!=undefined) return A;var B=[];var C=FCKConfig.JustifyClasses;if (C){for (var i=0;i<4;i++){var D=C[i];if (D&&D.length>0) B.push(D);}};if (B.length>0) A=new RegExp('(?:^|\\s+)(?:'+B.join('|')+')(?=$|\\s)');else A=null;return FCKJustifyCommand._ClassRegex=A;};FCKJustifyCommand.prototype={Execute:function(){FCKUndo.SaveUndoStep();var A=new FCKDomRange(FCK.EditorWindow);A.MoveToSelection();var B=this.GetState();if (B==-1) return;var C=A.CreateBookmark();var D=this._CssClassName;var E=new FCKDomRangeIterator(A);var F;while ((F=E.GetNextParagraph())){F.removeAttribute('align');if (D){var G=F.className.replace(FCKJustifyCommand._GetClassNameRegex(),'');if (B==0){if (G.length>0) G+=' ';F.className=G+D;}else if (G.length==0) FCKDomTools.RemoveAttribute(F,'class');}else{var H=F.style;if (B==0) H.textAlign=this.AlignValue;else{H.textAlign='';if (H.cssText.length==0) F.removeAttribute('style');}}};A.MoveToBookmark(C);A.Select();FCK.Focus();FCK.Events.FireEvent('OnSelectionChange');},GetState:function(){if (FCK.EditMode!=0||!FCK.EditorWindow) return -1;var A=new FCKElementPath(FCKSelection.GetBoundaryParentElement(true));var B=A.Block||A.BlockLimit;if (!B||B.nodeName.toLowerCase()=='body') return 0;var C;if (FCKBrowserInfo.IsIE) C=B.currentStyle.textAlign;else C=FCK.EditorWindow.getComputedStyle(B,'').getPropertyValue('text-align');C=C.replace(/(-moz-|-webkit-|start|auto)/i,'');if ((!C&&this.IsDefaultAlign)||C==this.AlignValue) return 1;return 0;}};\r
-var FCKIndentCommand=function(A,B){this.Name=A;this.Offset=B;this.IndentCSSProperty=FCKConfig.ContentLangDirection.IEquals('ltr')?'marginLeft':'marginRight';};FCKIndentCommand._InitIndentModeParameters=function(){if (FCKConfig.IndentClasses&&FCKConfig.IndentClasses.length>0){this._UseIndentClasses=true;this._IndentClassMap={};for (var i=0;i<FCKConfig.IndentClasses.length;i++) this._IndentClassMap[FCKConfig.IndentClasses[i]]=i+1;this._ClassNameRegex=new RegExp('(?:^|\\s+)('+FCKConfig.IndentClasses.join('|')+')(?=$|\\s)');}else this._UseIndentClasses=false;};FCKIndentCommand.prototype={Execute:function(){FCKUndo.SaveUndoStep();var A=new FCKDomRange(FCK.EditorWindow);A.MoveToSelection();var B=A.CreateBookmark();var C=FCKDomTools.GetCommonParentNode(A.StartNode||A.StartContainer,A.EndNode||A.EndContainer,['ul','ol']);if (C) this._IndentList(A,C);else this._IndentBlock(A);A.MoveToBookmark(B);A.Select();FCK.Focus();FCK.Events.FireEvent('OnSelectionChange');},GetState:function(){if (FCK.EditMode!=0||!FCK.EditorWindow) return -1;if (FCKIndentCommand._UseIndentClasses==undefined) FCKIndentCommand._InitIndentModeParameters();var A=FCKSelection.GetBoundaryParentElement(true);var B=FCKSelection.GetBoundaryParentElement(false);var C=FCKDomTools.GetCommonParentNode(A,B,['ul','ol']);if (C){if (this.Name.IEquals('outdent')) return 0;var D=FCKTools.GetElementAscensor(A,'li');if (!D||!D.previousSibling) return -1;return 0;};if (!FCKIndentCommand._UseIndentClasses&&this.Name.IEquals('indent')) return 0;var E=new FCKElementPath(A);var F=E.Block||E.BlockLimit;if (!F) return -1;if (FCKIndentCommand._UseIndentClasses){var G=F.className.match(FCKIndentCommand._ClassNameRegex);var H=0;if (G!=null){G=G[1];H=FCKIndentCommand._IndentClassMap[G];};if ((this.Name=='outdent'&&H==0)||(this.Name=='indent'&&H==FCKConfig.IndentClasses.length)) return -1;return 0;}else{var I=parseInt(F.style[this.IndentCSSProperty],10);if (isNaN(I)) I=0;if (I<=0) return -1;return 0;}},_IndentBlock:function(A){var B=new FCKDomRangeIterator(A);B.EnforceRealBlocks=true;A.Expand('block_contents');var C=FCKDomTools.GetCommonParents(A.StartContainer,A.EndContainer);var D=C[C.length-1];var E;while ((E=B.GetNextParagraph())){if (!(E==D||E.parentNode==D)) continue;if (FCKIndentCommand._UseIndentClasses){var F=E.className.match(FCKIndentCommand._ClassNameRegex);var G=0;if (F!=null){F=F[1];G=FCKIndentCommand._IndentClassMap[F];};if (this.Name.IEquals('outdent')) G--;else if (this.Name.IEquals('indent')) G++;G=Math.min(G,FCKConfig.IndentClasses.length);G=Math.max(G,0);var H=E.className.replace(FCKIndentCommand._ClassNameRegex,'');if (G<1) E.className=H;else E.className=(H.length>0?H+' ':'')+FCKConfig.IndentClasses[G-1];}else{var I=parseInt(E.style[this.IndentCSSProperty],10);if (isNaN(I)) I=0;I+=this.Offset;I=Math.max(I,0);I=Math.ceil(I/this.Offset)*this.Offset;E.style[this.IndentCSSProperty]=I?I+FCKConfig.IndentUnit:'';if (E.getAttribute('style')=='') E.removeAttribute('style');}}},_IndentList:function(A,B){var C=A.StartContainer;var D=A.EndContainer;while (C&&C.parentNode!=B) C=C.parentNode;while (D&&D.parentNode!=B) D=D.parentNode;if (!C||!D) return;var E=C;var F=[];var G=false;while (G==false){if (E==D) G=true;F.push(E);E=E.nextSibling;};if (F.length<1) return;var H=FCKDomTools.GetParents(B);for (var i=0;i<H.length;i++){if (H[i].nodeName.IEquals(['ul','ol'])){B=H[i];break;}};var I=this.Name.IEquals('indent')?1:-1;var J=F[0];var K=F[F.length-1];var L={};var M=FCKDomTools.ListToArray(B,L);var N=M[K._FCK_ListArray_Index].indent;for (var i=J._FCK_ListArray_Index;i<=K._FCK_ListArray_Index;i++) M[i].indent+=I;for (var i=K._FCK_ListArray_Index+1;i<M.length&&M[i].indent>N;i++) M[i].indent+=I;var O=FCKDomTools.ArrayToList(M);if (O) B.parentNode.replaceChild(O.listNode,B);FCKDomTools.ClearAllMarkers(L);}};\r
-var FCKBlockQuoteCommand=function(){};FCKBlockQuoteCommand.prototype={Execute:function(){FCKUndo.SaveUndoStep();var A=this.GetState();var B=new FCKDomRange(FCK.EditorWindow);B.MoveToSelection();var C=B.CreateBookmark();if (FCKBrowserInfo.IsIE){var D=B.GetBookmarkNode(C,true);var E=B.GetBookmarkNode(C,false);var F;if (D&&D.parentNode.nodeName.IEquals('blockquote')&&!D.previousSibling){F=D;while ((F=F.nextSibling)){if (FCKListsLib.BlockElements[F.nodeName.toLowerCase()]) FCKDomTools.MoveNode(D,F,true);}};if (E&&E.parentNode.nodeName.IEquals('blockquote')&&!E.previousSibling){F=E;while ((F=F.nextSibling)){if (FCKListsLib.BlockElements[F.nodeName.toLowerCase()]){if (F.firstChild==D) FCKDomTools.InsertAfterNode(D,E);else FCKDomTools.MoveNode(E,F,true);}}}};var G=new FCKDomRangeIterator(B);var H;if (A==0){var I=[];while ((H=G.GetNextParagraph())) I.push(H);if (I.length<1){para=B.Window.document.createElement(FCKConfig.EnterMode.IEquals('p')?'p':'div');B.InsertNode(para);para.appendChild(B.Window.document.createTextNode('\ufeff'));B.MoveToBookmark(C);B.MoveToNodeContents(para);B.Collapse(true);C=B.CreateBookmark();I.push(para);};var J=I[0].parentNode;var K=[];for (var i=0;i<I.length;i++){H=I[i];J=FCKDomTools.GetCommonParents(H.parentNode,J).pop();}while (J.nodeName.IEquals('table','tbody','tr','ol','ul')) J=J.parentNode;var L=null;while (I.length>0){H=I.shift();while (H.parentNode!=J) H=H.parentNode;if (H!=L) K.push(H);L=H;}while (K.length>0){H=K.shift();if (H.nodeName.IEquals('blockquote')){var M=FCKTools.GetElementDocument(H).createDocumentFragment();while (H.firstChild){M.appendChild(H.removeChild(H.firstChild));I.push(M.lastChild);};H.parentNode.replaceChild(M,H);}else I.push(H);};var N=B.Window.document.createElement('blockquote');J.insertBefore(N,I[0]);while (I.length>0){H=I.shift();N.appendChild(H);}}else if (A==1){var O=[];var P={};while ((H=G.GetNextParagraph())){var Q=null;var R=null;while (H.parentNode){if (H.parentNode.nodeName.IEquals('blockquote')){Q=H.parentNode;R=H;break;};H=H.parentNode;};if (Q&&R&&!R._fckblockquotemoveout){O.push(R);FCKDomTools.SetElementMarker(P,R,'_fckblockquotemoveout',true);}};FCKDomTools.ClearAllMarkers(P);var S=[];var T=[],P={};var U=function(N){for (var i=0;i<N.childNodes.length;i++){if (FCKListsLib.BlockElements[N.childNodes[i].nodeName.toLowerCase()]) return false;};return true;};while (O.length>0){var W=O.shift();var N=W.parentNode;if (W==W.parentNode.firstChild) N.parentNode.insertBefore(N.removeChild(W),N);else if (W==W.parentNode.lastChild) N.parentNode.insertBefore(N.removeChild(W),N.nextSibling);else FCKDomTools.BreakParent(W,W.parentNode,B);if (!N._fckbqprocessed){T.push(N);FCKDomTools.SetElementMarker(P,N,'_fckbqprocessed',true);};S.push(W);};for (var i=T.length-1;i>=0;i--){var N=T[i];if (U(N)) FCKDomTools.RemoveNode(N);};FCKDomTools.ClearAllMarkers(P);if (FCKConfig.EnterMode.IEquals('br')){while (S.length){var W=S.shift();var a=true;if (W.nodeName.IEquals('div')){var M=FCKTools.GetElementDocument(W).createDocumentFragment();var c=a&&W.previousSibling&&!FCKListsLib.BlockBoundaries[W.previousSibling.nodeName.toLowerCase()];if (a&&c) M.appendChild(FCKTools.GetElementDocument(W).createElement('br'));var d=W.nextSibling&&!FCKListsLib.BlockBoundaries[W.nextSibling.nodeName.toLowerCase()];while (W.firstChild) M.appendChild(W.removeChild(W.firstChild));if (d) M.appendChild(FCKTools.GetElementDocument(W).createElement('br'));W.parentNode.replaceChild(M,W);a=false;}}}};B.MoveToBookmark(C);B.Select();FCK.Focus();FCK.Events.FireEvent('OnSelectionChange');},GetState:function(){if (FCK.EditMode!=0||!FCK.EditorWindow) return -1;var A=new FCKElementPath(FCKSelection.GetBoundaryParentElement(true));var B=A.Block||A.BlockLimit;if (!B||B.nodeName.toLowerCase()=='body') return 0;for (var i=0;i<A.Elements.length;i++){if (A.Elements[i].nodeName.IEquals('blockquote')) return 1;};return 0;}};\r
-var FCKCoreStyleCommand=function(A){this.Name='CoreStyle';this.StyleName='_FCK_'+A;this.IsActive=false;FCKStyles.AttachStyleStateChange(this.StyleName,this._OnStyleStateChange,this);};FCKCoreStyleCommand.prototype={Execute:function(){FCKUndo.SaveUndoStep();if (this.IsActive) FCKStyles.RemoveStyle(this.StyleName);else FCKStyles.ApplyStyle(this.StyleName);FCK.Focus();FCK.Events.FireEvent('OnSelectionChange');},GetState:function(){if (FCK.EditMode!=0) return -1;return this.IsActive?1:0;},_OnStyleStateChange:function(A,B){this.IsActive=B;}};\r
-var FCKRemoveFormatCommand=function(){this.Name='RemoveFormat';};FCKRemoveFormatCommand.prototype={Execute:function(){FCKStyles.RemoveAll();FCK.Focus();FCK.Events.FireEvent('OnSelectionChange');},GetState:function(){return FCK.EditorWindow?0:-1;}};\r
-var FCKCommands=FCK.Commands={};FCKCommands.LoadedCommands={};FCKCommands.RegisterCommand=function(A,B){this.LoadedCommands[A]=B;};FCKCommands.GetCommand=function(A){var B=FCKCommands.LoadedCommands[A];if (B) return B;switch (A){case 'Bold':case 'Italic':case 'Underline':case 'StrikeThrough':case 'Subscript':case 'Superscript':B=new FCKCoreStyleCommand(A);break;case 'RemoveFormat':B=new FCKRemoveFormatCommand();break;case 'DocProps':B=new FCKDialogCommand('DocProps',FCKLang.DocProps,'dialog/fck_docprops.html',400,380,FCKCommands.GetFullPageState);break;case 'Templates':B=new FCKDialogCommand('Templates',FCKLang.DlgTemplatesTitle,'dialog/fck_template.html',380,450);break;case 'Link':B=new FCKDialogCommand('Link',FCKLang.DlgLnkWindowTitle,'dialog/fck_link.html',400,300);break;case 'Unlink':B=new FCKUnlinkCommand();break;case 'VisitLink':B=new FCKVisitLinkCommand();break;case 'Anchor':B=new FCKDialogCommand('Anchor',FCKLang.DlgAnchorTitle,'dialog/fck_anchor.html',370,160);break;case 'AnchorDelete':B=new FCKAnchorDeleteCommand();break;case 'BulletedList':B=new FCKDialogCommand('BulletedList',FCKLang.BulletedListProp,'dialog/fck_listprop.html?UL',370,160);break;case 'NumberedList':B=new FCKDialogCommand('NumberedList',FCKLang.NumberedListProp,'dialog/fck_listprop.html?OL',370,160);break;case 'About':B=new FCKDialogCommand('About',FCKLang.About,'dialog/fck_about.html',420,330,function(){ return 0;});break;case 'Find':B=new FCKDialogCommand('Find',FCKLang.DlgFindAndReplaceTitle,'dialog/fck_replace.html',340,230,null,null,'Find');break;case 'Replace':B=new FCKDialogCommand('Replace',FCKLang.DlgFindAndReplaceTitle,'dialog/fck_replace.html',340,230,null,null,'Replace');break;case 'Image':B=new FCKDialogCommand('Image',FCKLang.DlgImgTitle,'dialog/fck_image.html',450,390);break;case 'Flash':B=new FCKDialogCommand('Flash',FCKLang.DlgFlashTitle,'dialog/fck_flash.html',450,390);break;case 'SpecialChar':B=new FCKDialogCommand('SpecialChar',FCKLang.DlgSpecialCharTitle,'dialog/fck_specialchar.html',400,290);break;case 'Smiley':B=new FCKDialogCommand('Smiley',FCKLang.DlgSmileyTitle,'dialog/fck_smiley.html',FCKConfig.SmileyWindowWidth,FCKConfig.SmileyWindowHeight);break;case 'Table':B=new FCKDialogCommand('Table',FCKLang.DlgTableTitle,'dialog/fck_table.html',480,250);break;case 'TableProp':B=new FCKDialogCommand('Table',FCKLang.DlgTableTitle,'dialog/fck_table.html?Parent',480,250);break;case 'TableCellProp':B=new FCKDialogCommand('TableCell',FCKLang.DlgCellTitle,'dialog/fck_tablecell.html',550,240);break;case 'Style':B=new FCKStyleCommand();break;case 'FontName':B=new FCKFontNameCommand();break;case 'FontSize':B=new FCKFontSizeCommand();break;case 'FontFormat':B=new FCKFormatBlockCommand();break;case 'Source':B=new FCKSourceCommand();break;case 'Preview':B=new FCKPreviewCommand();break;case 'Save':B=new FCKSaveCommand();break;case 'NewPage':B=new FCKNewPageCommand();break;case 'PageBreak':B=new FCKPageBreakCommand();break;case 'Rule':B=new FCKRuleCommand();break;case 'Nbsp':B=new FCKNbsp();break;case 'TextColor':B=new FCKTextColorCommand('ForeColor');break;case 'BGColor':B=new FCKTextColorCommand('BackColor');break;case 'Paste':B=new FCKPasteCommand();break;case 'PasteText':B=new FCKPastePlainTextCommand();break;case 'PasteWord':B=new FCKPasteWordCommand();break;case 'JustifyLeft':B=new FCKJustifyCommand('left');break;case 'JustifyCenter':B=new FCKJustifyCommand('center');break;case 'JustifyRight':B=new FCKJustifyCommand('right');break;case 'JustifyFull':B=new FCKJustifyCommand('justify');break;case 'Indent':B=new FCKIndentCommand('indent',FCKConfig.IndentLength);break;case 'Outdent':B=new FCKIndentCommand('outdent',FCKConfig.IndentLength*-1);break;case 'Blockquote':B=new FCKBlockQuoteCommand();break;case 'CreateDiv':B=new FCKDialogCommand('CreateDiv',FCKLang.CreateDiv,'dialog/fck_div.html',380,210,null,null,true);break;case 'EditDiv':B=new FCKDialogCommand('EditDiv',FCKLang.EditDiv,'dialog/fck_div.html',380,210,null,null,false);break;case 'DeleteDiv':B=new FCKDeleteDivCommand();break;case 'TableInsertRowAfter':B=new FCKTableCommand('TableInsertRowAfter');break;case 'TableInsertRowBefore':B=new FCKTableCommand('TableInsertRowBefore');break;case 'TableDeleteRows':B=new FCKTableCommand('TableDeleteRows');break;case 'TableInsertColumnAfter':B=new FCKTableCommand('TableInsertColumnAfter');break;case 'TableInsertColumnBefore':B=new FCKTableCommand('TableInsertColumnBefore');break;case 'TableDeleteColumns':B=new FCKTableCommand('TableDeleteColumns');break;case 'TableInsertCellAfter':B=new FCKTableCommand('TableInsertCellAfter');break;case 'TableInsertCellBefore':B=new FCKTableCommand('TableInsertCellBefore');break;case 'TableDeleteCells':B=new FCKTableCommand('TableDeleteCells');break;case 'TableMergeCells':B=new FCKTableCommand('TableMergeCells');break;case 'TableMergeRight':B=new FCKTableCommand('TableMergeRight');break;case 'TableMergeDown':B=new FCKTableCommand('TableMergeDown');break;case 'TableHorizontalSplitCell':B=new FCKTableCommand('TableHorizontalSplitCell');break;case 'TableVerticalSplitCell':B=new FCKTableCommand('TableVerticalSplitCell');break;case 'TableDelete':B=new FCKTableCommand('TableDelete');break;case 'Form':B=new FCKDialogCommand('Form',FCKLang.Form,'dialog/fck_form.html',380,210);break;case 'Checkbox':B=new FCKDialogCommand('Checkbox',FCKLang.Checkbox,'dialog/fck_checkbox.html',380,200);break;case 'Radio':B=new FCKDialogCommand('Radio',FCKLang.RadioButton,'dialog/fck_radiobutton.html',380,200);break;case 'TextField':B=new FCKDialogCommand('TextField',FCKLang.TextField,'dialog/fck_textfield.html',380,210);break;case 'Textarea':B=new FCKDialogCommand('Textarea',FCKLang.Textarea,'dialog/fck_textarea.html',380,210);break;case 'HiddenField':B=new FCKDialogCommand('HiddenField',FCKLang.HiddenField,'dialog/fck_hiddenfield.html',380,190);break;case 'Button':B=new FCKDialogCommand('Button',FCKLang.Button,'dialog/fck_button.html',380,210);break;case 'Select':B=new FCKDialogCommand('Select',FCKLang.SelectionField,'dialog/fck_select.html',400,340);break;case 'ImageButton':B=new FCKDialogCommand('ImageButton',FCKLang.ImageButton,'dialog/fck_image.html?ImageButton',450,390);break;case 'SpellCheck':B=new FCKSpellCheckCommand();break;case 'FitWindow':B=new FCKFitWindow();break;case 'Undo':B=new FCKUndoCommand();break;case 'Redo':B=new FCKRedoCommand();break;case 'Copy':B=new FCKCutCopyCommand(false);break;case 'Cut':B=new FCKCutCopyCommand(true);break;case 'SelectAll':B=new FCKSelectAllCommand();break;case 'InsertOrderedList':B=new FCKListCommand('insertorderedlist','ol');break;case 'InsertUnorderedList':B=new FCKListCommand('insertunorderedlist','ul');break;case 'ShowBlocks':B=new FCKShowBlockCommand('ShowBlocks',FCKConfig.StartupShowBlocks?1:0);break;case 'Undefined':B=new FCKUndefinedCommand();break;case 'Scayt':B=FCKScayt.CreateCommand();break;case 'ScaytContext':B=FCKScayt.CreateContextCommand();break;default:if (FCKRegexLib.NamedCommands.test(A)) B=new FCKNamedCommand(A);else{alert(FCKLang.UnknownCommand.replace(/%1/g,A));return null;}};FCKCommands.LoadedCommands[A]=B;return B;};FCKCommands.GetFullPageState=function(){return FCKConfig.FullPage?0:-1;};FCKCommands.GetBooleanState=function(A){return A?-1:0;};\r
-var FCKPanel=function(A){this.IsRTL=(FCKLang.Dir=='rtl');this.IsContextMenu=false;this._LockCounter=0;this._Window=A||window;var B;if (FCKBrowserInfo.IsIE){this._Popup=this._Window.createPopup();var C=this._Window.document;if (FCK_IS_CUSTOM_DOMAIN&&!FCKBrowserInfo.IsIE7){C.domain=FCK_ORIGINAL_DOMAIN;document.domain=FCK_ORIGINAL_DOMAIN;};B=this.Document=this._Popup.document;if (FCK_IS_CUSTOM_DOMAIN){B.domain=FCK_RUNTIME_DOMAIN;C.domain=FCK_RUNTIME_DOMAIN;document.domain=FCK_RUNTIME_DOMAIN;};FCK.IECleanup.AddItem(this,FCKPanel_Cleanup);}else{var D=this._IFrame=this._Window.document.createElement('iframe');FCKTools.ResetStyles(D);D.src='javascript:void(0)';D.allowTransparency=true;D.frameBorder='0';D.scrolling='no';D.style.width=D.style.height='0px';FCKDomTools.SetElementStyles(D,{position:'absolute',zIndex:FCKConfig.FloatingPanelsZIndex});this._Window.document.body.appendChild(D);var E=D.contentWindow;B=this.Document=E.document;var F='';if (FCKBrowserInfo.IsSafari) F='<base href="'+window.document.location+'">';B.open();B.write('<html><head>'+F+'<\/head><body style="margin:0px;padding:0px;"><\/body><\/html>');B.close();if(FCKBrowserInfo.IsAIR) FCKAdobeAIR.Panel_Contructor(B,window.document.location);FCKTools.AddEventListenerEx(E,'focus',FCKPanel_Window_OnFocus,this);FCKTools.AddEventListenerEx(E,'blur',FCKPanel_Window_OnBlur,this);};B.dir=FCKLang.Dir;FCKTools.AddEventListener(B,'contextmenu',FCKTools.CancelEvent);this.MainNode=B.body.appendChild(B.createElement('DIV'));this.MainNode.style.cssFloat=this.IsRTL?'right':'left';};FCKPanel.prototype.AppendStyleSheet=function(A){FCKTools.AppendStyleSheet(this.Document,A);};FCKPanel.prototype.Preload=function(x,y,A){if (this._Popup) this._Popup.show(x,y,0,0,A);};FCKPanel.prototype.ResizeForSubpanel=function(A,B,C){if (!FCKBrowserInfo.IsIE7) return false;if (!this._Popup.isOpen){this.Subpanel=null;return false;};if (B==0&&C==0){if (this.Subpanel!==A) return false;this.Subpanel=null;this.IncreasedX=0;}else{this.Subpanel=A;if ((this.IncreasedX>=B)&&(this.IncreasedY>=C)) return false;this.IncreasedX=Math.max(this.IncreasedX,B);this.IncreasedY=Math.max(this.IncreasedY,C);};var x=this.ShowRect.x;var w=this.IncreasedX;if (this.IsRTL) x=x-w;var D=this.ShowRect.w+w;var E=Math.max(this.ShowRect.h,this.IncreasedY);if (this.ParentPanel) this.ParentPanel.ResizeForSubpanel(this,D,E);this._Popup.show(x,this.ShowRect.y,D,E,this.RelativeElement);return this.IsRTL;};FCKPanel.prototype.Show=function(x,y,A,B,C){var D;var E=this.MainNode;if (this._Popup){this._Popup.show(x,y,0,0,A);FCKDomTools.SetElementStyles(E,{B:B?B+'px':'',C:C?C+'px':''});D=E.offsetWidth;if (FCKBrowserInfo.IsIE7){if (this.ParentPanel&&this.ParentPanel.ResizeForSubpanel(this,D,E.offsetHeight)){FCKTools.RunFunction(this.Show,this,[x,y,A]);return;}};if (this.IsRTL){if (this.IsContextMenu) x=x-D+1;else if (A) x=(x*-1)+A.offsetWidth-D;};if (FCKBrowserInfo.IsIE7){this.ShowRect={x:x,y:y,w:D,h:E.offsetHeight};this.IncreasedX=0;this.IncreasedY=0;this.RelativeElement=A;};this._PopupArgs=[x,y,D,E.offsetHeight,A];this._Popup.show(x,y,D,E.offsetHeight,A);if (this.OnHide){if (this._Timer) CheckPopupOnHide.call(this,true);this._Timer=FCKTools.SetInterval(CheckPopupOnHide,100,this);}}else{if (typeof(FCK.ToolbarSet.CurrentInstance.FocusManager)!='undefined') FCK.ToolbarSet.CurrentInstance.FocusManager.Lock();if (this.ParentPanel){this.ParentPanel.Lock();FCKPanel_Window_OnBlur(null,this.ParentPanel);};if (FCKBrowserInfo.IsGecko&&FCKBrowserInfo.IsMac){this._IFrame.scrolling='';FCKTools.RunFunction(function(){ this._IFrame.scrolling='no';},this);};if (FCK.ToolbarSet.CurrentInstance.GetInstanceObject('FCKPanel')._OpenedPanel&&FCK.ToolbarSet.CurrentInstance.GetInstanceObject('FCKPanel')._OpenedPanel!=this) FCK.ToolbarSet.CurrentInstance.GetInstanceObject('FCKPanel')._OpenedPanel.Hide(false,true);FCKDomTools.SetElementStyles(E,{B:B?B+'px':'',C:C?C+'px':''});D=E.offsetWidth;if (!B)       this._IFrame.width=1;if (!C)    this._IFrame.height=1;D=E.offsetWidth||E.firstChild.offsetWidth;var F=FCKTools.GetDocumentPosition(this._Window,A.nodeType==9?(FCKTools.IsStrictMode(A)?A.documentElement:A.body):A);var G=FCKDomTools.GetPositionedAncestor(this._IFrame.parentNode);if (G){var H=FCKTools.GetDocumentPosition(FCKTools.GetElementWindow(G),G);F.x-=H.x;F.y-=H.y;};if (this.IsRTL&&!this.IsContextMenu) x=(x*-1);x+=F.x;y+=F.y;if (this.IsRTL){if (this.IsContextMenu) x=x-D+1;else if (A) x=x+A.offsetWidth-D;}else{var I=FCKTools.GetViewPaneSize(this._Window);var J=FCKTools.GetScrollPosition(this._Window);var K=I.Height+J.Y;var L=I.Width+J.X;if ((x+D)>L) x-=x+D-L;if ((y+E.offsetHeight)>K) y-=y+E.offsetHeight-K;};FCKDomTools.SetElementStyles(this._IFrame,{left:x+'px',top:y+'px'});this._IFrame.contentWindow.focus();this._IsOpened=true;var M=this;this._resizeTimer=setTimeout(function(){var N=E.offsetWidth||E.firstChild.offsetWidth;var O=E.offsetHeight;M._IFrame.style.width=N+'px';M._IFrame.style.height=O+'px';},0);FCK.ToolbarSet.CurrentInstance.GetInstanceObject('FCKPanel')._OpenedPanel=this;};FCKTools.RunFunction(this.OnShow,this);};FCKPanel.prototype.Hide=function(A,B){if (this._Popup) this._Popup.hide();else{if (!this._IsOpened||this._LockCounter>0) return;if (typeof(FCKFocusManager)!='undefined'&&!B) FCKFocusManager.Unlock();this._IFrame.style.width=this._IFrame.style.height='0px';this._IsOpened=false;if (this._resizeTimer){clearTimeout(this._resizeTimer);this._resizeTimer=null;};if (this.ParentPanel) this.ParentPanel.Unlock();if (!A) FCKTools.RunFunction(this.OnHide,this);}};FCKPanel.prototype.CheckIsOpened=function(){if (this._Popup) return this._Popup.isOpen;else return this._IsOpened;};FCKPanel.prototype.CreateChildPanel=function(){var A=this._Popup?FCKTools.GetDocumentWindow(this.Document):this._Window;var B=new FCKPanel(A);B.ParentPanel=this;return B;};FCKPanel.prototype.Lock=function(){this._LockCounter++;};FCKPanel.prototype.Unlock=function(){if (--this._LockCounter==0&&!this.HasFocus) this.Hide();};function FCKPanel_Window_OnFocus(e,A){A.HasFocus=true;};function FCKPanel_Window_OnBlur(e,A){A.HasFocus=false;if (A._LockCounter==0) FCKTools.RunFunction(A.Hide,A);};function CheckPopupOnHide(A){if (A||!this._Popup.isOpen){window.clearInterval(this._Timer);this._Timer=null;if (this._Popup&&this.ParentPanel&&!A) this.ParentPanel.ResizeForSubpanel(this,0,0);FCKTools.RunFunction(this.OnHide,this);}};function FCKPanel_Cleanup(){this._Popup=null;this._Window=null;this.Document=null;this.MainNode=null;this.RelativeElement=null;};\r
-var FCKIcon=function(A){var B=A?typeof(A):'undefined';switch (B){case 'number':this.Path=FCKConfig.SkinPath+'fck_strip.gif';this.Size=16;this.Position=A;break;case 'undefined':this.Path=FCK_SPACER_PATH;break;case 'string':this.Path=A;break;default:this.Path=A[0];this.Size=A[1];this.Position=A[2];}};FCKIcon.prototype.CreateIconElement=function(A){var B,eIconImage;if (this.Position){var C='-'+((this.Position-1)*this.Size)+'px';if (FCKBrowserInfo.IsIE){B=A.createElement('DIV');eIconImage=B.appendChild(A.createElement('IMG'));eIconImage.src=this.Path;eIconImage.style.top=C;}else{B=A.createElement('IMG');B.src=FCK_SPACER_PATH;B.style.backgroundPosition='0px '+C;B.style.backgroundImage='url("'+this.Path+'")';}}else{if (FCKBrowserInfo.IsIE){B=A.createElement('DIV');eIconImage=B.appendChild(A.createElement('IMG'));eIconImage.src=this.Path?this.Path:FCK_SPACER_PATH;}else{B=A.createElement('IMG');B.src=this.Path?this.Path:FCK_SPACER_PATH;}};B.className='TB_Button_Image';return B;};\r
-var FCKToolbarButtonUI=function(A,B,C,D,E,F){this.Name=A;this.Label=B||A;this.Tooltip=C||this.Label;this.Style=E||0;this.State=F||0;this.Icon=new FCKIcon(D);if (FCK.IECleanup) FCK.IECleanup.AddItem(this,FCKToolbarButtonUI_Cleanup);};FCKToolbarButtonUI.prototype._CreatePaddingElement=function(A){var B=A.createElement('IMG');B.className='TB_Button_Padding';B.src=FCK_SPACER_PATH;return B;};FCKToolbarButtonUI.prototype.Create=function(A){var B=FCKTools.GetElementDocument(A);var C=this.MainElement=B.createElement('DIV');C.title=this.Tooltip;if (FCKBrowserInfo.IsGecko) C.onmousedown=FCKTools.CancelEvent;FCKTools.AddEventListenerEx(C,'mouseover',FCKToolbarButtonUI_OnMouseOver,this);FCKTools.AddEventListenerEx(C,'mouseout',FCKToolbarButtonUI_OnMouseOut,this);FCKTools.AddEventListenerEx(C,'click',FCKToolbarButtonUI_OnClick,this);this.ChangeState(this.State,true);if (this.Style==0&&!this.ShowArrow){C.appendChild(this.Icon.CreateIconElement(B));}else{var D=C.appendChild(B.createElement('TABLE'));D.cellPadding=0;D.cellSpacing=0;var E=D.insertRow(-1);var F=E.insertCell(-1);if (this.Style==0||this.Style==2) F.appendChild(this.Icon.CreateIconElement(B));else F.appendChild(this._CreatePaddingElement(B));if (this.Style==1||this.Style==2){F=E.insertCell(-1);F.className='TB_Button_Text';F.noWrap=true;F.appendChild(B.createTextNode(this.Label));};if (this.ShowArrow){if (this.Style!=0){E.insertCell(-1).appendChild(this._CreatePaddingElement(B));};F=E.insertCell(-1);var G=F.appendChild(B.createElement('IMG'));G.src=FCKConfig.SkinPath+'images/toolbar.buttonarrow.gif';G.width=5;G.height=3;};F=E.insertCell(-1);F.appendChild(this._CreatePaddingElement(B));};A.appendChild(C);};FCKToolbarButtonUI.prototype.ChangeState=function(A,B){if (!B&&this.State==A) return;var e=this.MainElement;if (!e) return;switch (parseInt(A,10)){case 0:e.className='TB_Button_Off';break;case 1:e.className='TB_Button_On';break;case -1:e.className='TB_Button_Disabled';break;};this.State=A;};function FCKToolbarButtonUI_OnMouseOver(A,B){if (B.State==0) this.className='TB_Button_Off_Over';else if (B.State==1) this.className='TB_Button_On_Over';};function FCKToolbarButtonUI_OnMouseOut(A,B){if (B.State==0) this.className='TB_Button_Off';else if (B.State==1) this.className='TB_Button_On';};function FCKToolbarButtonUI_OnClick(A,B){if (B.OnClick&&B.State!=-1) B.OnClick(B);};function FCKToolbarButtonUI_Cleanup(){this.MainElement=null;};\r
-var FCKToolbarButton=function(A,B,C,D,E,F,G){this.CommandName=A;this.Label=B;this.Tooltip=C;this.Style=D;this.SourceView=E?true:false;this.ContextSensitive=F?true:false;if (G==null) this.IconPath=FCKConfig.SkinPath+'toolbar/'+A.toLowerCase()+'.gif';else if (typeof(G)=='number') this.IconPath=[FCKConfig.SkinPath+'fck_strip.gif',16,G];else this.IconPath=G;};FCKToolbarButton.prototype.Create=function(A){this._UIButton=new FCKToolbarButtonUI(this.CommandName,this.Label,this.Tooltip,this.IconPath,this.Style);this._UIButton.OnClick=this.Click;this._UIButton._ToolbarButton=this;this._UIButton.Create(A);};FCKToolbarButton.prototype.RefreshState=function(){var A=this._UIButton;if (!A) return;var B=FCK.ToolbarSet.CurrentInstance.Commands.GetCommand(this.CommandName).GetState();if (B==A.State) return;A.ChangeState(B);};FCKToolbarButton.prototype.Click=function(){var A=this._ToolbarButton||this;FCK.ToolbarSet.CurrentInstance.Commands.GetCommand(A.CommandName).Execute();};FCKToolbarButton.prototype.Enable=function(){this.RefreshState();};FCKToolbarButton.prototype.Disable=function(){this._UIButton.ChangeState(-1);};\r
-var FCKSpecialCombo=function(A,B,C,D,E){this.FieldWidth=B||100;this.PanelWidth=C||150;this.PanelMaxHeight=D||150;this.Label='&nbsp;';this.Caption=A;this.Tooltip=A;this.Style=2;this.Enabled=true;this.Items={};this._Panel=new FCKPanel(E||window);this._Panel.AppendStyleSheet(FCKConfig.SkinEditorCSS);this._PanelBox=this._Panel.MainNode.appendChild(this._Panel.Document.createElement('DIV'));this._PanelBox.className='SC_Panel';this._PanelBox.style.width=this.PanelWidth+'px';this._PanelBox.innerHTML='<table cellpadding="0" cellspacing="0" width="100%" style="TABLE-LAYOUT: fixed"><tr><td nowrap></td></tr></table>';this._ItemsHolderEl=this._PanelBox.getElementsByTagName('TD')[0];if (FCK.IECleanup) FCK.IECleanup.AddItem(this,FCKSpecialCombo_Cleanup);};function FCKSpecialCombo_ItemOnMouseOver(){this.className+=' SC_ItemOver';};function FCKSpecialCombo_ItemOnMouseOut(){this.className=this.originalClass;};function FCKSpecialCombo_ItemOnClick(A,B,C){this.className=this.originalClass;B._Panel.Hide();B.SetLabel(this.FCKItemLabel);if (typeof(B.OnSelect)=='function') B.OnSelect(C,this);};FCKSpecialCombo.prototype.ClearItems=function (){if (this.Items) this.Items={};var A=this._ItemsHolderEl;while (A.firstChild) A.removeChild(A.firstChild);};FCKSpecialCombo.prototype.AddItem=function(A,B,C,D){var E=this._ItemsHolderEl.appendChild(this._Panel.Document.createElement('DIV'));E.className=E.originalClass='SC_Item';E.innerHTML=B;E.FCKItemLabel=C||A;E.Selected=false;if (FCKBrowserInfo.IsIE) E.style.width='100%';if (D) E.style.backgroundColor=D;FCKTools.AddEventListenerEx(E,'mouseover',FCKSpecialCombo_ItemOnMouseOver);FCKTools.AddEventListenerEx(E,'mouseout',FCKSpecialCombo_ItemOnMouseOut);FCKTools.AddEventListenerEx(E,'click',FCKSpecialCombo_ItemOnClick,[this,A]);this.Items[A.toString().toLowerCase()]=E;return E;};FCKSpecialCombo.prototype.SelectItem=function(A){if (typeof A=='string') A=this.Items[A.toString().toLowerCase()];if (A){A.className=A.originalClass='SC_ItemSelected';A.Selected=true;}};FCKSpecialCombo.prototype.SelectItemByLabel=function(A,B){for (var C in this.Items){var D=this.Items[C];if (D.FCKItemLabel==A){D.className=D.originalClass='SC_ItemSelected';D.Selected=true;if (B) this.SetLabel(A);}}};FCKSpecialCombo.prototype.DeselectAll=function(A){for (var i in this.Items){if (!this.Items[i]) continue;this.Items[i].className=this.Items[i].originalClass='SC_Item';this.Items[i].Selected=false;};if (A) this.SetLabel('');};FCKSpecialCombo.prototype.SetLabelById=function(A){A=A?A.toString().toLowerCase():'';var B=this.Items[A];this.SetLabel(B?B.FCKItemLabel:'');};FCKSpecialCombo.prototype.SetLabel=function(A){A=(!A||A.length==0)?'&nbsp;':A;if (A==this.Label) return;this.Label=A;var B=this._LabelEl;if (B){B.innerHTML=A;FCKTools.DisableSelection(B);}};FCKSpecialCombo.prototype.SetEnabled=function(A){this.Enabled=A;if (this._OuterTable) this._OuterTable.className=A?'':'SC_FieldDisabled';};FCKSpecialCombo.prototype.Create=function(A){var B=FCKTools.GetElementDocument(A);var C=this._OuterTable=A.appendChild(B.createElement('TABLE'));C.cellPadding=0;C.cellSpacing=0;C.insertRow(-1);var D;var E;switch (this.Style){case 0:D='TB_ButtonType_Icon';E=false;break;case 1:D='TB_ButtonType_Text';E=false;break;case 2:E=true;break;};if (this.Caption&&this.Caption.length>0&&E){var F=C.rows[0].insertCell(-1);F.innerHTML=this.Caption;F.className='SC_FieldCaption';};var G=FCKTools.AppendElement(C.rows[0].insertCell(-1),'div');if (E){G.className='SC_Field';G.style.width=this.FieldWidth+'px';G.innerHTML='<table width="100%" cellpadding="0" cellspacing="0" style="TABLE-LAYOUT: fixed;"><tbody><tr><td class="SC_FieldLabel"><label>&nbsp;</label></td><td class="SC_FieldButton">&nbsp;</td></tr></tbody></table>';this._LabelEl=G.getElementsByTagName('label')[0];this._LabelEl.innerHTML=this.Label;}else{G.className='TB_Button_Off';G.innerHTML='<table title="'+this.Tooltip+'" class="'+D+'" cellspacing="0" cellpadding="0" border="0"><tr><td><img class="TB_Button_Padding" src="'+FCK_SPACER_PATH+'" /></td><td class="TB_Text">'+this.Caption+'</td><td><img class="TB_Button_Padding" src="'+FCK_SPACER_PATH+'" /></td><td class="TB_ButtonArrow"><img src="'+FCKConfig.SkinPath+'images/toolbar.buttonarrow.gif" width="5" height="3"></td><td><img class="TB_Button_Padding" src="'+FCK_SPACER_PATH+'" /></td></tr></table>';};FCKTools.AddEventListenerEx(G,'mouseover',FCKSpecialCombo_OnMouseOver,this);FCKTools.AddEventListenerEx(G,'mouseout',FCKSpecialCombo_OnMouseOut,this);FCKTools.AddEventListenerEx(G,'click',FCKSpecialCombo_OnClick,this);FCKTools.DisableSelection(this._Panel.Document.body);};function FCKSpecialCombo_Cleanup(){this._LabelEl=null;this._OuterTable=null;this._ItemsHolderEl=null;this._PanelBox=null;if (this.Items){for (var A in this.Items) this.Items[A]=null;}};function FCKSpecialCombo_OnMouseOver(A,B){if (B.Enabled){switch (B.Style){case 0:this.className='TB_Button_On_Over';break;case 1:this.className='TB_Button_On_Over';break;case 2:this.className='SC_Field SC_FieldOver';break;}}};function FCKSpecialCombo_OnMouseOut(A,B){switch (B.Style){case 0:this.className='TB_Button_Off';break;case 1:this.className='TB_Button_Off';break;case 2:this.className='SC_Field';break;}};function FCKSpecialCombo_OnClick(e,A){if (A.Enabled){var B=A._Panel;var C=A._PanelBox;var D=A._ItemsHolderEl;var E=A.PanelMaxHeight;if (A.OnBeforeClick) A.OnBeforeClick(A);if (FCKBrowserInfo.IsIE) B.Preload(0,this.offsetHeight,this);if (D.offsetHeight>E) C.style.height=E+'px';else C.style.height='';B.Show(0,this.offsetHeight,this);}};\r
-var FCKToolbarSpecialCombo=function(){this.SourceView=false;this.ContextSensitive=true;this.FieldWidth=null;this.PanelWidth=null;this.PanelMaxHeight=null;};FCKToolbarSpecialCombo.prototype.DefaultLabel='';function FCKToolbarSpecialCombo_OnSelect(A,B){FCK.ToolbarSet.CurrentInstance.Commands.GetCommand(this.CommandName).Execute(A,B);};FCKToolbarSpecialCombo.prototype.Create=function(A){this._Combo=new FCKSpecialCombo(this.GetLabel(),this.FieldWidth,this.PanelWidth,this.PanelMaxHeight,FCKBrowserInfo.IsIE?window:FCKTools.GetElementWindow(A).parent);this._Combo.Tooltip=this.Tooltip;this._Combo.Style=this.Style;this.CreateItems(this._Combo);this._Combo.Create(A);this._Combo.CommandName=this.CommandName;this._Combo.OnSelect=FCKToolbarSpecialCombo_OnSelect;};function FCKToolbarSpecialCombo_RefreshActiveItems(A,B){A.DeselectAll();A.SelectItem(B);A.SetLabelById(B);};FCKToolbarSpecialCombo.prototype.RefreshState=function(){var A;var B=FCK.ToolbarSet.CurrentInstance.Commands.GetCommand(this.CommandName).GetState();if (B!=-1){A=1;if (this.RefreshActiveItems) this.RefreshActiveItems(this._Combo,B);else{if (this._LastValue!==B){this._LastValue=B;if (!B||B.length==0){this._Combo.DeselectAll();this._Combo.SetLabel(this.DefaultLabel);}else FCKToolbarSpecialCombo_RefreshActiveItems(this._Combo,B);}}}else A=-1;if (A==this.State) return;if (A==-1){this._Combo.DeselectAll();this._Combo.SetLabel('');};this.State=A;this._Combo.SetEnabled(A!=-1);};FCKToolbarSpecialCombo.prototype.Enable=function(){this.RefreshState();};FCKToolbarSpecialCombo.prototype.Disable=function(){this.State=-1;this._Combo.DeselectAll();this._Combo.SetLabel('');this._Combo.SetEnabled(false);};\r
-var FCKToolbarStyleCombo=function(A,B){if (A===false) return;this.CommandName='Style';this.Label=this.GetLabel();this.Tooltip=A?A:this.Label;this.Style=B?B:2;this.DefaultLabel=FCKConfig.DefaultStyleLabel||'';};FCKToolbarStyleCombo.prototype=new FCKToolbarSpecialCombo;FCKToolbarStyleCombo.prototype.GetLabel=function(){return FCKLang.Style;};FCKToolbarStyleCombo.prototype.GetStyles=function(){var A={};var B=FCK.ToolbarSet.CurrentInstance.Styles.GetStyles();for (var C in B){var D=B[C];if (!D.IsCore) A[C]=D;};return A;};FCKToolbarStyleCombo.prototype.CreateItems=function(A){var B=A._Panel.Document;FCKTools.AppendStyleSheet(B,FCKConfig.ToolbarComboPreviewCSS);FCKTools.AppendStyleString(B,FCKConfig.EditorAreaStyles);B.body.className+=' ForceBaseFont';FCKConfig.ApplyBodyAttributes(B.body);var C=this.GetStyles();for (var D in C){var E=C[D];var F=E.GetType()==2?D:FCKToolbarStyleCombo_BuildPreview(E,E.Label||D);var G=A.AddItem(D,F);G.Style=E;};A.OnBeforeClick=this.StyleCombo_OnBeforeClick;};FCKToolbarStyleCombo.prototype.RefreshActiveItems=function(A){var B=FCK.ToolbarSet.CurrentInstance.Selection.GetBoundaryParentElement(true);if (B){var C=new FCKElementPath(B);var D=C.Elements;for (var e=0;e<D.length;e++){for (var i in A.Items){var E=A.Items[i];var F=E.Style;if (F.CheckElementRemovable(D[e],true)){A.SetLabel(F.Label||F.Name);return;}}}};A.SetLabel(this.DefaultLabel);};FCKToolbarStyleCombo.prototype.StyleCombo_OnBeforeClick=function(A){A.DeselectAll();var B;var C;var D;var E=FCK.ToolbarSet.CurrentInstance.Selection;if (E.GetType()=='Control'){B=E.GetSelectedElement();D=B.nodeName.toLowerCase();}else{B=E.GetBoundaryParentElement(true);C=new FCKElementPath(B);};for (var i in A.Items){var F=A.Items[i];var G=F.Style;if ((D&&G.Element==D)||(!D&&G.GetType()!=2)){F.style.display='';if ((C&&G.CheckActive(C))||(!C&&G.CheckElementRemovable(B,true))) A.SelectItem(G.Name);}else F.style.display='none';}};function FCKToolbarStyleCombo_BuildPreview(A,B){var C=A.GetType();var D=[];if (C==0) D.push('<div class="BaseFont">');var E=A.Element;if (E=='bdo') E='span';D=['<',E];var F=A._StyleDesc.Attributes;if (F){for (var G in F){D.push(' ',G,'="',A.GetFinalAttributeValue(G),'"');}};if (A._GetStyleText().length>0) D.push(' style="',A.GetFinalStyleValue(),'"');D.push('>',B,'</',E,'>');if (C==0) D.push('</div>');return D.join('');};\r
-var FCKToolbarFontFormatCombo=function(A,B){if (A===false) return;this.CommandName='FontFormat';this.Label=this.GetLabel();this.Tooltip=A?A:this.Label;this.Style=B?B:2;this.NormalLabel='Normal';this.PanelWidth=190;this.DefaultLabel=FCKConfig.DefaultFontFormatLabel||'';};FCKToolbarFontFormatCombo.prototype=new FCKToolbarStyleCombo(false);FCKToolbarFontFormatCombo.prototype.GetLabel=function(){return FCKLang.FontFormat;};FCKToolbarFontFormatCombo.prototype.GetStyles=function(){var A={};var B=FCKLang['FontFormats'].split(';');var C={p:B[0],pre:B[1],address:B[2],h1:B[3],h2:B[4],h3:B[5],h4:B[6],h5:B[7],h6:B[8],div:B[9]||(B[0]+' (DIV)')};var D=FCKConfig.FontFormats.split(';');for (var i=0;i<D.length;i++){var E=D[i];var F=FCKStyles.GetStyle('_FCK_'+E);if (F){F.Label=C[E];A['_FCK_'+E]=F;}else alert("The FCKConfig.CoreStyles['"+E+"'] setting was not found. Please check the fckconfig.js file");};return A;};FCKToolbarFontFormatCombo.prototype.RefreshActiveItems=function(A){var B=FCK.ToolbarSet.CurrentInstance.Selection.GetBoundaryParentElement(true);if (B){var C=new FCKElementPath(B);var D=C.Block;if (D){for (var i in A.Items){var E=A.Items[i];var F=E.Style;if (F.CheckElementRemovable(D)){A.SetLabel(F.Label);return;}}}};A.SetLabel(this.DefaultLabel);};FCKToolbarFontFormatCombo.prototype.StyleCombo_OnBeforeClick=function(A){A.DeselectAll();var B=FCK.ToolbarSet.CurrentInstance.Selection.GetBoundaryParentElement(true);if (B){var C=new FCKElementPath(B);var D=C.Block;for (var i in A.Items){var E=A.Items[i];var F=E.Style;if (F.CheckElementRemovable(D)){A.SelectItem(E);return;}}}};\r
-var FCKToolbarFontsCombo=function(A,B){this.CommandName='FontName';this.Label=this.GetLabel();this.Tooltip=A?A:this.Label;this.Style=B?B:2;this.DefaultLabel=FCKConfig.DefaultFontLabel||'';};FCKToolbarFontsCombo.prototype=new FCKToolbarFontFormatCombo(false);FCKToolbarFontsCombo.prototype.GetLabel=function(){return FCKLang.Font;};FCKToolbarFontsCombo.prototype.GetStyles=function(){var A=FCKStyles.GetStyle('_FCK_FontFace');if (!A){alert("The FCKConfig.CoreStyles['Size'] setting was not found. Please check the fckconfig.js file");return {};};var B={};var C=FCKConfig.FontNames.split(';');for (var i=0;i<C.length;i++){var D=C[i].split('/');var E=D[0];var F=D[1]||E;var G=FCKTools.CloneObject(A);G.SetVariable('Font',E);G.Label=F;B[F]=G;};return B;};FCKToolbarFontsCombo.prototype.RefreshActiveItems=FCKToolbarStyleCombo.prototype.RefreshActiveItems;FCKToolbarFontsCombo.prototype.StyleCombo_OnBeforeClick=function(A){A.DeselectAll();var B=FCKSelection.GetBoundaryParentElement(true);if (B){var C=new FCKElementPath(B);for (var i in A.Items){var D=A.Items[i];var E=D.Style;if (E.CheckActive(C)){A.SelectItem(D);return;}}}};\r
-var FCKToolbarFontSizeCombo=function(A,B){this.CommandName='FontSize';this.Label=this.GetLabel();this.Tooltip=A?A:this.Label;this.Style=B?B:2;this.DefaultLabel=FCKConfig.DefaultFontSizeLabel||'';this.FieldWidth=70;};FCKToolbarFontSizeCombo.prototype=new FCKToolbarFontFormatCombo(false);FCKToolbarFontSizeCombo.prototype.GetLabel=function(){return FCKLang.FontSize;};FCKToolbarFontSizeCombo.prototype.GetStyles=function(){var A=FCKStyles.GetStyle('_FCK_Size');if (!A){alert("The FCKConfig.CoreStyles['FontFace'] setting was not found. Please check the fckconfig.js file");return {};};var B={};var C=FCKConfig.FontSizes.split(';');for (var i=0;i<C.length;i++){var D=C[i].split('/');var E=D[0];var F=D[1]||E;var G=FCKTools.CloneObject(A);G.SetVariable('Size',E);G.Label=F;B[F]=G;};return B;};FCKToolbarFontSizeCombo.prototype.RefreshActiveItems=FCKToolbarStyleCombo.prototype.RefreshActiveItems;FCKToolbarFontSizeCombo.prototype.StyleCombo_OnBeforeClick=FCKToolbarFontsCombo.prototype.StyleCombo_OnBeforeClick;\r
-var FCKToolbarPanelButton=function(A,B,C,D,E){this.CommandName=A;var F;if (E==null) F=FCKConfig.SkinPath+'toolbar/'+A.toLowerCase()+'.gif';else if (typeof(E)=='number') F=[FCKConfig.SkinPath+'fck_strip.gif',16,E];var G=this._UIButton=new FCKToolbarButtonUI(A,B,C,F,D);G._FCKToolbarPanelButton=this;G.ShowArrow=true;G.OnClick=FCKToolbarPanelButton_OnButtonClick;};FCKToolbarPanelButton.prototype.TypeName='FCKToolbarPanelButton';FCKToolbarPanelButton.prototype.Create=function(A){A.className+='Menu';this._UIButton.Create(A);var B=FCK.ToolbarSet.CurrentInstance.Commands.GetCommand(this.CommandName)._Panel;this.RegisterPanel(B);};FCKToolbarPanelButton.prototype.RegisterPanel=function(A){if (A._FCKToolbarPanelButton) return;A._FCKToolbarPanelButton=this;var B=A.Document.body.appendChild(A.Document.createElement('div'));B.style.position='absolute';B.style.top='0px';var C=A._FCKToolbarPanelButtonLineDiv=B.appendChild(A.Document.createElement('IMG'));C.className='TB_ConnectionLine';C.style.position='absolute';C.src=FCK_SPACER_PATH;A.OnHide=FCKToolbarPanelButton_OnPanelHide;};function FCKToolbarPanelButton_OnButtonClick(A){var B=this._FCKToolbarPanelButton;var e=B._UIButton.MainElement;B._UIButton.ChangeState(1);var C=FCK.ToolbarSet.CurrentInstance.Commands.GetCommand(B.CommandName);var D=C._Panel;D._FCKToolbarPanelButtonLineDiv.style.width=(e.offsetWidth-2)+'px';C.Execute(0,e.offsetHeight-1,e);};function FCKToolbarPanelButton_OnPanelHide(){var A=this._FCKToolbarPanelButton;A._UIButton.ChangeState(0);};FCKToolbarPanelButton.prototype.RefreshState=FCKToolbarButton.prototype.RefreshState;FCKToolbarPanelButton.prototype.Enable=FCKToolbarButton.prototype.Enable;FCKToolbarPanelButton.prototype.Disable=FCKToolbarButton.prototype.Disable;\r
-var FCKScayt;(function(){var A=[];var B=(FCK&&FCK.EditorWindow&&FCK.EditorWindow.parent.parent.scayt)?true:false;var C=false;var D=false;function ScaytEngineLoad(callback){if (B) return;B=true;var E=FCK.EditorWindow.parent.parent;var F=function (){window.scayt=E.scayt;InitScayt();var G=FCKToolbarItems.LoadedItems['ScaytCombobox'];G&&G.SetEnabled(scyt_control&&scyt_control.disabled);InitSetup();};if (E.scayt){F();return;};if (FCK.Config.ScaytCustomUrl) FCK.Config.ScaytCustomUrl=new String(FCK.Config.ScaytCustomUrl).replace(new RegExp("^http[s]*:\/\/"),"");var H=document.location.protocol;var I=FCK.Config.ScaytCustomUrl||'svc.spellchecker.net/spellcheck3/lf/scayt/scayt4.js';var J=H+'//'+I;var K=ParseUrl(J).path+'/';var L=E.window.CKEDITOR||(E.window.CKEDITOR={});L._djScaytConfig={I:K,addOnLoad:function(){F();},isDebug:false};if (callback) A.push(callback);DoLoadScript(J);};function DoLoadScript(url){if (!url) return false;var E=FCK.EditorWindow.parent.parent;var s=E.document.createElement('script');s.type='text/javascript';s.src=url;E.document.getElementsByTagName('head')[0].appendChild(s);return true;};function ParseUrl(data){var m=data.match(/(.*)[\/\\]([^\/\\]+\.\w+)$/);return m?{ path:m[1],file:m[2] }:data;};function createScaytControl (){var N={};var E=FCK.EditorWindow.parent.parent;N.srcNodeRef=FCK.EditingArea.IFrame;N.customerid=FCK.Config.ScaytCustomerid;N.customDictionaryName=FCK.Config.ScaytCustomDictionaryName;N.userDictionaryName=FCK.Config.ScaytUserDictionaryName;N.defLang=FCK.Config.ScaytDefLang;var P=E.scayt;var Q=window.scayt_control=new P(N);};function InitScayt(){createScaytControl();var Q=window.scayt_control;if (Q){Q.setDisabled(false);D=true;C=!Q.disabled;var G=FCKToolbarItems.LoadedItems['ScaytCombobox'];G&&G.Enable();ShowScaytState();};for (var i=0;i<A.length;i++){try{A[i].call(this);}catch(err){}}};var T=function(){name='Scayt';};T.prototype.Execute=function(c){switch (c){case 'Options':case 'Langs':case 'About':if (B&&D&&!C){ScaytMessage('SCAYT is not enabled');break;};if (B&&D) FCKDialog.OpenDialog('Scayt','SCAYT Settings','dialog/fck_scayt.html?'+c.toLowerCase(),343,343);break;default:if (!B){var U=this;ScaytEngineLoad(function (){U.SetEnabled(!window.scayt_control.disabled);});return true;}else if (D){if (C) this.Disable();else this.Enable();ShowScaytState();}};if (!B) return ScaytMessage('SCAYT is not loaded')||false;if (!D) return ScaytMessage('SCAYT is not ready')||false;return true;};T.prototype.Enable=function(){window.scayt_control.setDisabled(false);C=true;};T.prototype.Disable=function(){window.scayt_control.setDisabled(true);C=false;};T.prototype.SetEnabled=function(state){if (state) this.Enable();else this.Disable();ShowScaytState();return true;};T.prototype.GetState=function(){return 0;};function ShowScaytState(){var W=FCKToolbarItems.GetItem('SpellCheck');if (!W||!W._Combo||!W._Combo._OuterTable) return;var X=W._Combo._OuterTable.getElementsByTagName('img')[1];var Y=W._Combo.Items['trigger'];if (C){X.style.opacity='1';Y.innerHTML=GetStatusLabel();}else{X.style.opacity='0.5';Y.innerHTML=GetStatusLabel();}};function GetStatusLabel(){if (!D) return  '<b>Enable SCAYT</b>';return C?'<b>Disable SCAYT</b>':'<b>Enable SCAYT</b>';};var Z=function(tooltip,style){this.Command=FCKCommands.GetCommand('Scayt');this.CommandName='Scayt';this.Label=this.GetLabel();this.Tooltip=FCKLang.ScaytTitle;this.Style=1;};Z.prototype=new FCKToolbarSpecialCombo;Z.prototype.CreateItems=function(){this._Combo.AddItem('Trigger','<b>Enable SCAYT</b>');this._Combo.AddItem('Options',FCKLang.ScaytTitleOptions||"Options");this._Combo.AddItem('Langs',FCKLang.ScaytTitleLangs||"Languages");this._Combo.AddItem('About',FCKLang.ScaytTitleAbout||"About");};Z.prototype.GetLabel=function(){var a=FCKConfig.SkinPath+'fck_strip.gif';return FCKBrowserInfo.IsIE?'<div class="TB_Button_Image"><img src="'+a+'" style="top:-192px"></div>':'<img class="TB_Button_Image" src="'+FCK_SPACER_PATH+'" style="background-position: 0px -192px;background-image: url('+a+');">';};function ScaytMessage(m){m&&alert(m);};var b=function(){name='ScaytContext';};b.prototype.Execute=function(contextInfo){var c=contextInfo&&contextInfo.action,g=c&&contextInfo.node,Q=window.scayt_control;if (g){switch (c){case 'Suggestion':Q.replace(g,contextInfo.suggestion);break;case 'Ignore':Q.ignore(g);break;case 'Ignore All':Q.ignoreAll(g);break;case 'Add Word':var E=FCK.EditorWindow.parent.parent;E.scayt.addWordToUserDictionary(g);break;}}};function InitSetup(){FCK.ContextMenu.RegisterListener({AddItems:function(menu){var E=FCK.EditorWindow.parent.parent;var Q=window.scayt_control,P=E.scayt;if (!Q) return;var g=Q.getScaytNode();if (!g) return;var h=P.getSuggestion(Q.getWord(g),Q.getLang());if (!h||!h.length) return;menu.AddSeparator();var j=FCK.Config.ScaytMaxSuggestions||5;var k=(j==-1)?h.length:j;for (var i=0;i<k;i+=1){if (h[i]){menu.AddItem('ScaytContext',h[i],null,false,{'action':'Suggestion','node':g,'suggestion':h[i] });}};menu.AddSeparator();menu.AddItem('ScaytContext','Ignore',null,false,{ 'action':'Ignore','node':g });menu.AddItem('ScaytContext','Ignore All',null,false,{ 'action':'Ignore All','node':g });menu.AddItem('ScaytContext','Add Word',null,false,{ 'action':'Add Word','node':g });try{if (D&&C) Q.fireOnContextMenu(null,FCK.ContextMenu._InnerContextMenu);}catch(err) {}}});FCK.Events.AttachEvent('OnPaste',function(){window.scayt_control.refresh();return true;});};FCK.Events.AttachEvent('OnAfterSetHTML',function(){if (FCKConfig.SpellChecker=='SCAYT'){if (!B&&FCK.Config.ScaytAutoStartup) ScaytEngineLoad();if (FCK.EditMode==0&&B&&D) createScaytControl();ShowScaytState();}});FCK.Events.AttachEvent('OnBeforeGetData',function(){D&&window.scayt_control.reset();});FCK.Events.AttachEvent('OnAfterGetData',function(){D&&window.scayt_control.refresh();});FCKScayt={CreateCommand:function(){return new T();},CreateContextCommand:function(){return new b();},CreateToolbarItem:function(){return new Z();}};})();\r
-var FCKToolbarItems={};FCKToolbarItems.LoadedItems={};FCKToolbarItems.RegisterItem=function(A,B){this.LoadedItems[A]=B;};FCKToolbarItems.GetItem=function(A){var B=FCKToolbarItems.LoadedItems[A];if (B) return B;switch (A){case 'Source':B=new FCKToolbarButton('Source',FCKLang.Source,null,2,true,true,1);break;case 'DocProps':B=new FCKToolbarButton('DocProps',FCKLang.DocProps,null,null,null,null,2);break;case 'Save':B=new FCKToolbarButton('Save',FCKLang.Save,null,null,true,null,3);break;case 'NewPage':B=new FCKToolbarButton('NewPage',FCKLang.NewPage,null,null,true,null,4);break;case 'Preview':B=new FCKToolbarButton('Preview',FCKLang.Preview,null,null,true,null,5);break;case 'Templates':B=new FCKToolbarButton('Templates',FCKLang.Templates,null,null,null,null,6);break;case 'About':B=new FCKToolbarButton('About',FCKLang.About,null,null,true,null,47);break;case 'Cut':B=new FCKToolbarButton('Cut',FCKLang.Cut,null,null,false,true,7);break;case 'Copy':B=new FCKToolbarButton('Copy',FCKLang.Copy,null,null,false,true,8);break;case 'Paste':B=new FCKToolbarButton('Paste',FCKLang.Paste,null,null,false,true,9);break;case 'PasteText':B=new FCKToolbarButton('PasteText',FCKLang.PasteText,null,null,false,true,10);break;case 'PasteWord':B=new FCKToolbarButton('PasteWord',FCKLang.PasteWord,null,null,false,true,11);break;case 'Print':B=new FCKToolbarButton('Print',FCKLang.Print,null,null,false,true,12);break;case 'Undo':B=new FCKToolbarButton('Undo',FCKLang.Undo,null,null,false,true,14);break;case 'Redo':B=new FCKToolbarButton('Redo',FCKLang.Redo,null,null,false,true,15);break;case 'SelectAll':B=new FCKToolbarButton('SelectAll',FCKLang.SelectAll,null,null,true,null,18);break;case 'RemoveFormat':B=new FCKToolbarButton('RemoveFormat',FCKLang.RemoveFormat,null,null,false,true,19);break;case 'FitWindow':B=new FCKToolbarButton('FitWindow',FCKLang.FitWindow,null,null,true,true,66);break;case 'Bold':B=new FCKToolbarButton('Bold',FCKLang.Bold,null,null,false,true,20);break;case 'Italic':B=new FCKToolbarButton('Italic',FCKLang.Italic,null,null,false,true,21);break;case 'Underline':B=new FCKToolbarButton('Underline',FCKLang.Underline,null,null,false,true,22);break;case 'StrikeThrough':B=new FCKToolbarButton('StrikeThrough',FCKLang.StrikeThrough,null,null,false,true,23);break;case 'Subscript':B=new FCKToolbarButton('Subscript',FCKLang.Subscript,null,null,false,true,24);break;case 'Superscript':B=new FCKToolbarButton('Superscript',FCKLang.Superscript,null,null,false,true,25);break;case 'OrderedList':B=new FCKToolbarButton('InsertOrderedList',FCKLang.NumberedListLbl,FCKLang.NumberedList,null,false,true,26);break;case 'UnorderedList':B=new FCKToolbarButton('InsertUnorderedList',FCKLang.BulletedListLbl,FCKLang.BulletedList,null,false,true,27);break;case 'Outdent':B=new FCKToolbarButton('Outdent',FCKLang.DecreaseIndent,null,null,false,true,28);break;case 'Indent':B=new FCKToolbarButton('Indent',FCKLang.IncreaseIndent,null,null,false,true,29);break;case 'Blockquote':B=new FCKToolbarButton('Blockquote',FCKLang.Blockquote,null,null,false,true,73);break;case 'CreateDiv':B=new FCKToolbarButton('CreateDiv',FCKLang.CreateDiv,null,null,false,true,74);break;case 'Link':B=new FCKToolbarButton('Link',FCKLang.InsertLinkLbl,FCKLang.InsertLink,null,false,true,34);break;case 'Unlink':B=new FCKToolbarButton('Unlink',FCKLang.RemoveLink,null,null,false,true,35);break;case 'Anchor':B=new FCKToolbarButton('Anchor',FCKLang.Anchor,null,null,null,null,36);break;case 'Image':B=new FCKToolbarButton('Image',FCKLang.InsertImageLbl,FCKLang.InsertImage,null,false,true,37);break;case 'Flash':B=new FCKToolbarButton('Flash',FCKLang.InsertFlashLbl,FCKLang.InsertFlash,null,false,true,38);break;case 'Table':B=new FCKToolbarButton('Table',FCKLang.InsertTableLbl,FCKLang.InsertTable,null,false,true,39);break;case 'SpecialChar':B=new FCKToolbarButton('SpecialChar',FCKLang.InsertSpecialCharLbl,FCKLang.InsertSpecialChar,null,false,true,42);break;case 'Smiley':B=new FCKToolbarButton('Smiley',FCKLang.InsertSmileyLbl,FCKLang.InsertSmiley,null,false,true,41);break;case 'PageBreak':B=new FCKToolbarButton('PageBreak',FCKLang.PageBreakLbl,FCKLang.PageBreak,null,false,true,43);break;case 'Rule':B=new FCKToolbarButton('Rule',FCKLang.InsertLineLbl,FCKLang.InsertLine,null,false,true,40);break;case 'JustifyLeft':B=new FCKToolbarButton('JustifyLeft',FCKLang.LeftJustify,null,null,false,true,30);break;case 'JustifyCenter':B=new FCKToolbarButton('JustifyCenter',FCKLang.CenterJustify,null,null,false,true,31);break;case 'JustifyRight':B=new FCKToolbarButton('JustifyRight',FCKLang.RightJustify,null,null,false,true,32);break;case 'JustifyFull':B=new FCKToolbarButton('JustifyFull',FCKLang.BlockJustify,null,null,false,true,33);break;case 'Style':B=new FCKToolbarStyleCombo();break;case 'FontName':B=new FCKToolbarFontsCombo();break;case 'FontSize':B=new FCKToolbarFontSizeCombo();break;case 'FontFormat':B=new FCKToolbarFontFormatCombo();break;case 'TextColor':B=new FCKToolbarPanelButton('TextColor',FCKLang.TextColor,null,null,45);break;case 'BGColor':B=new FCKToolbarPanelButton('BGColor',FCKLang.BGColor,null,null,46);break;case 'Find':B=new FCKToolbarButton('Find',FCKLang.Find,null,null,null,null,16);break;case 'Replace':B=new FCKToolbarButton('Replace',FCKLang.Replace,null,null,null,null,17);break;case 'Form':B=new FCKToolbarButton('Form',FCKLang.Form,null,null,null,null,48);break;case 'Checkbox':B=new FCKToolbarButton('Checkbox',FCKLang.Checkbox,null,null,null,null,49);break;case 'Radio':B=new FCKToolbarButton('Radio',FCKLang.RadioButton,null,null,null,null,50);break;case 'TextField':B=new FCKToolbarButton('TextField',FCKLang.TextField,null,null,null,null,51);break;case 'Textarea':B=new FCKToolbarButton('Textarea',FCKLang.Textarea,null,null,null,null,52);break;case 'HiddenField':B=new FCKToolbarButton('HiddenField',FCKLang.HiddenField,null,null,null,null,56);break;case 'Button':B=new FCKToolbarButton('Button',FCKLang.Button,null,null,null,null,54);break;case 'Select':B=new FCKToolbarButton('Select',FCKLang.SelectionField,null,null,null,null,53);break;case 'ImageButton':B=new FCKToolbarButton('ImageButton',FCKLang.ImageButton,null,null,null,null,55);break;case 'ShowBlocks':B=new FCKToolbarButton('ShowBlocks',FCKLang.ShowBlocks,null,null,null,true,72);break;case 'SpellCheck':if (FCKConfig.SpellChecker=='SCAYT') B=FCKScayt.CreateToolbarItem();else B=new FCKToolbarButton('SpellCheck',FCKLang.SpellCheck,null,null,null,null,13);break;default:alert(FCKLang.UnknownToolbarItem.replace(/%1/g,A));return null;};FCKToolbarItems.LoadedItems[A]=B;return B;};\r
-var FCKToolbar=function(){this.Items=[];};FCKToolbar.prototype.AddItem=function(A){return this.Items[this.Items.length]=A;};FCKToolbar.prototype.AddButton=function(A,B,C,D,E,F){if (typeof(D)=='number') D=[this.DefaultIconsStrip,this.DefaultIconSize,D];var G=new FCKToolbarButtonUI(A,B,C,D,E,F);G._FCKToolbar=this;G.OnClick=FCKToolbar_OnItemClick;return this.AddItem(G);};function FCKToolbar_OnItemClick(A){var B=A._FCKToolbar;if (B.OnItemClick) B.OnItemClick(B,A);};FCKToolbar.prototype.AddSeparator=function(){this.AddItem(new FCKToolbarSeparator());};FCKToolbar.prototype.Create=function(A){var B=FCKTools.GetElementDocument(A);var e=B.createElement('table');e.className='TB_Toolbar';e.style.styleFloat=e.style.cssFloat=(FCKLang.Dir=='ltr'?'left':'right');e.dir=FCKLang.Dir;e.cellPadding=0;e.cellSpacing=0;var C=e.insertRow(-1);var D;if (!this.HideStart){D=C.insertCell(-1);D.appendChild(B.createElement('div')).className='TB_Start';};for (var i=0;i<this.Items.length;i++){this.Items[i].Create(C.insertCell(-1));};if (!this.HideEnd){D=C.insertCell(-1);D.appendChild(B.createElement('div')).className='TB_End';};A.appendChild(e);};var FCKToolbarSeparator=function(){};FCKToolbarSeparator.prototype.Create=function(A){FCKTools.AppendElement(A,'div').className='TB_Separator';};\r
-var FCKToolbarBreak=function(){};FCKToolbarBreak.prototype.Create=function(A){var B=FCKTools.GetElementDocument(A).createElement('div');B.className='TB_Break';B.style.clear=FCKLang.Dir=='rtl'?'left':'right';A.appendChild(B);};\r
-function FCKToolbarSet_Create(A){var B;var C=A||FCKConfig.ToolbarLocation;switch (C){case 'In':document.getElementById('xToolbarRow').style.display='';B=new FCKToolbarSet(document);break;case 'None':B=new FCKToolbarSet(document);break;default:FCK.Events.AttachEvent('OnBlur',FCK_OnBlur);FCK.Events.AttachEvent('OnFocus',FCK_OnFocus);var D;var E=C.match(/^Out:(.+)\((\w+)\)$/);if (E){if (FCKBrowserInfo.IsAIR) FCKAdobeAIR.ToolbarSet_GetOutElement(window,E);else D=eval('parent.'+E[1]).document.getElementById(E[2]);}else{E=C.match(/^Out:(\w+)$/);if (E) D=parent.document.getElementById(E[1]);};if (!D){alert('Invalid value for "ToolbarLocation"');return arguments.callee('In');};B=D.__FCKToolbarSet;if (B) break;var F=FCKTools.GetElementDocument(D).createElement('iframe');F.src='javascript:void(0)';F.frameBorder=0;F.width='100%';F.height='10';D.appendChild(F);F.unselectable='on';var G=F.contentWindow.document;var H='';if (FCKBrowserInfo.IsSafari) H='<base href="'+window.document.location+'">';G.open();G.write('<html><head>'+H+'<script type="text/javascript"> var adjust = function() { window.frameElement.height = document.body.scrollHeight ; }; window.onresize = window.onload = function(){var timer = null;var lastHeight = -1;var lastChange = 0;var poller = function(){var currentHeight = document.body.scrollHeight || 0;var currentTime = (new Date()).getTime();if (currentHeight != lastHeight){lastChange = currentTime;adjust();lastHeight = document.body.scrollHeight;}if (lastChange < currentTime - 1000) clearInterval(timer);};timer = setInterval(poller, 100);}</script></head><body style="overflow: hidden">'+document.getElementById('xToolbarSpace').innerHTML+'</body></html>');G.close();if(FCKBrowserInfo.IsAIR) FCKAdobeAIR.ToolbarSet_InitOutFrame(G);FCKTools.AddEventListener(G,'contextmenu',FCKTools.CancelEvent);FCKTools.AppendStyleSheet(G,FCKConfig.SkinEditorCSS);B=D.__FCKToolbarSet=new FCKToolbarSet(G);B._IFrame=F;if (FCK.IECleanup) FCK.IECleanup.AddItem(D,FCKToolbarSet_Target_Cleanup);};B.CurrentInstance=FCK;if (!B.ToolbarItems) B.ToolbarItems=FCKToolbarItems;FCK.AttachToOnSelectionChange(B.RefreshItemsState);return B;};function FCK_OnBlur(A){var B=A.ToolbarSet;if (B.CurrentInstance==A) B.Disable();};function FCK_OnFocus(A){var B=A.ToolbarSet;var C=A||FCK;B.CurrentInstance.FocusManager.RemoveWindow(B._IFrame.contentWindow);B.CurrentInstance=C;C.FocusManager.AddWindow(B._IFrame.contentWindow,true);B.Enable();};function FCKToolbarSet_Cleanup(){this._TargetElement=null;this._IFrame=null;};function FCKToolbarSet_Target_Cleanup(){this.__FCKToolbarSet=null;};var FCKToolbarSet=function(A){this._Document=A;this._TargetElement=A.getElementById('xToolbar');var B=A.getElementById('xExpandHandle');var C=A.getElementById('xCollapseHandle');B.title=FCKLang.ToolbarExpand;FCKTools.AddEventListener(B,'click',FCKToolbarSet_Expand_OnClick);C.title=FCKLang.ToolbarCollapse;FCKTools.AddEventListener(C,'click',FCKToolbarSet_Collapse_OnClick);if (!FCKConfig.ToolbarCanCollapse||FCKConfig.ToolbarStartExpanded) this.Expand();else this.Collapse();C.style.display=FCKConfig.ToolbarCanCollapse?'':'none';if (FCKConfig.ToolbarCanCollapse) C.style.display='';else A.getElementById('xTBLeftBorder').style.display='';this.Toolbars=[];this.IsLoaded=false;if (FCK.IECleanup) FCK.IECleanup.AddItem(this,FCKToolbarSet_Cleanup);};function FCKToolbarSet_Expand_OnClick(){FCK.ToolbarSet.Expand();};function FCKToolbarSet_Collapse_OnClick(){FCK.ToolbarSet.Collapse();};FCKToolbarSet.prototype.Expand=function(){this._ChangeVisibility(false);};FCKToolbarSet.prototype.Collapse=function(){this._ChangeVisibility(true);};FCKToolbarSet.prototype._ChangeVisibility=function(A){this._Document.getElementById('xCollapsed').style.display=A?'':'none';this._Document.getElementById('xExpanded').style.display=A?'none':'';if (window.onresize){FCKTools.RunFunction(window.onresize);}};FCKToolbarSet.prototype.Load=function(A){this.Name=A;this.Items=[];this.ItemsWysiwygOnly=[];this.ItemsContextSensitive=[];this._TargetElement.innerHTML='';var B=FCKConfig.ToolbarSets[A];if (!B){alert(FCKLang.UnknownToolbarSet.replace(/%1/g,A));return;};this.Toolbars=[];for (var x=0;x<B.length;x++){var C=B[x];if (!C) continue;var D;if (typeof(C)=='string'){if (C=='/') D=new FCKToolbarBreak();}else{D=new FCKToolbar();for (var j=0;j<C.length;j++){var E=C[j];if (E=='-') D.AddSeparator();else{var F=FCKToolbarItems.GetItem(E);if (F){D.AddItem(F);this.Items.push(F);if (!F.SourceView) this.ItemsWysiwygOnly.push(F);if (F.ContextSensitive) this.ItemsContextSensitive.push(F);}}}};D.Create(this._TargetElement);this.Toolbars[this.Toolbars.length]=D;};FCKTools.DisableSelection(this._Document.getElementById('xCollapseHandle').parentNode);if (FCK.Status!=2) FCK.Events.AttachEvent('OnStatusChange',this.RefreshModeState);else this.RefreshModeState();this.IsLoaded=true;this.IsEnabled=true;FCKTools.RunFunction(this.OnLoad);};FCKToolbarSet.prototype.Enable=function(){if (this.IsEnabled) return;this.IsEnabled=true;var A=this.Items;for (var i=0;i<A.length;i++) A[i].RefreshState();};FCKToolbarSet.prototype.Disable=function(){if (!this.IsEnabled) return;this.IsEnabled=false;var A=this.Items;for (var i=0;i<A.length;i++) A[i].Disable();};FCKToolbarSet.prototype.RefreshModeState=function(A){if (FCK.Status!=2) return;var B=A?A.ToolbarSet:this;var C=B.ItemsWysiwygOnly;if (FCK.EditMode==0){for (var i=0;i<C.length;i++) C[i].Enable();B.RefreshItemsState(A);}else{B.RefreshItemsState(A);for (var j=0;j<C.length;j++) C[j].Disable();}};FCKToolbarSet.prototype.RefreshItemsState=function(A){var B=(A?A.ToolbarSet:this).ItemsContextSensitive;for (var i=0;i<B.length;i++) B[i].RefreshState();};\r
-var FCKDialog=(function(){var A;var B;var C;var D=window.parent;while (D.parent&&D.parent!=D){try{if (D.parent.document.domain!=document.domain) break;if (D.parent.document.getElementsByTagName('frameset').length>0) break;}catch (e){break;};D=D.parent;};var E=D.document;var F=function(){if (!B) B=FCKConfig.FloatingPanelsZIndex+999;return++B;};var G=function(){if (!C) return;var H=FCKTools.IsStrictMode(E)?E.documentElement:E.body;FCKDomTools.SetElementStyles(C,{'width':Math.max(H.scrollWidth,H.clientWidth,E.scrollWidth||0)-1+'px','height':Math.max(H.scrollHeight,H.clientHeight,E.scrollHeight||0)-1+'px'});};return {OpenDialog:function(dialogName,dialogTitle,dialogPage,width,height,customValue,resizable){if (!A) this.DisplayMainCover();var I={Title:dialogTitle,Page:dialogPage,Editor:window,CustomValue:customValue,TopWindow:D};FCK.ToolbarSet.CurrentInstance.Selection.Save(true);var J=FCKTools.GetViewPaneSize(D);var K={ 'X':0,'Y':0 };var L=FCKBrowserInfo.IsIE&&(!FCKBrowserInfo.IsIE7||!FCKTools.IsStrictMode(D.document));if (L) K=FCKTools.GetScrollPosition(D);var M=Math.max(K.Y+(J.Height-height-20)/2,0);var N=Math.max(K.X+(J.Width-width-20)/2,0);var O=E.createElement('iframe');FCKTools.ResetStyles(O);O.src=FCKConfig.BasePath+'fckdialog.html';O.frameBorder=0;O.allowTransparency=true;FCKDomTools.SetElementStyles(O,{'position':(L)?'absolute':'fixed','top':M+'px','left':N+'px','width':width+'px','height':height+'px','zIndex':F()});O._DialogArguments=I;E.body.appendChild(O);O._ParentDialog=A;A=O;},OnDialogClose:function(dialogWindow){var O=dialogWindow.frameElement;FCKDomTools.RemoveNode(O);if (O._ParentDialog){A=O._ParentDialog;O._ParentDialog.contentWindow.SetEnabled(true);}else{if (!FCKBrowserInfo.IsIE) FCK.Focus();this.HideMainCover();setTimeout(function(){ A=null;},0);FCK.ToolbarSet.CurrentInstance.Selection.Release();}},DisplayMainCover:function(){C=E.createElement('div');FCKTools.ResetStyles(C);FCKDomTools.SetElementStyles(C,{'position':'absolute','zIndex':F(),'top':'0px','left':'0px','backgroundColor':FCKConfig.BackgroundBlockerColor});FCKDomTools.SetOpacity(C,FCKConfig.BackgroundBlockerOpacity);if (FCKBrowserInfo.IsIE&&!FCKBrowserInfo.IsIE7){var Q=E.createElement('iframe');FCKTools.ResetStyles(Q);Q.hideFocus=true;Q.frameBorder=0;Q.src=FCKTools.GetVoidUrl();FCKDomTools.SetElementStyles(Q,{'width':'100%','height':'100%','position':'absolute','left':'0px','top':'0px','filter':'progid:DXImageTransform.Microsoft.Alpha(opacity=0)'});C.appendChild(Q);};FCKTools.AddEventListener(D,'resize',G);G();E.body.appendChild(C);FCKFocusManager.Lock();var R=FCK.ToolbarSet.CurrentInstance.GetInstanceObject('frameElement');R._fck_originalTabIndex=R.tabIndex;R.tabIndex=-1;},HideMainCover:function(){FCKDomTools.RemoveNode(C);FCKFocusManager.Unlock();var R=FCK.ToolbarSet.CurrentInstance.GetInstanceObject('frameElement');R.tabIndex=R._fck_originalTabIndex;FCKDomTools.ClearElementJSProperty(R,'_fck_originalTabIndex');},GetCover:function(){return C;}};})();\r
-var FCKMenuItem=function(A,B,C,D,E,F){this.Name=B;this.Label=C||B;this.IsDisabled=E;this.Icon=new FCKIcon(D);this.SubMenu=new FCKMenuBlockPanel();this.SubMenu.Parent=A;this.SubMenu.OnClick=FCKTools.CreateEventListener(FCKMenuItem_SubMenu_OnClick,this);this.CustomData=F;if (FCK.IECleanup) FCK.IECleanup.AddItem(this,FCKMenuItem_Cleanup);};FCKMenuItem.prototype.AddItem=function(A,B,C,D,E){this.HasSubMenu=true;return this.SubMenu.AddItem(A,B,C,D,E);};FCKMenuItem.prototype.AddSeparator=function(){this.SubMenu.AddSeparator();};FCKMenuItem.prototype.Create=function(A){var B=this.HasSubMenu;var C=FCKTools.GetElementDocument(A);var r=this.MainElement=A.insertRow(-1);r.className=this.IsDisabled?'MN_Item_Disabled':'MN_Item';if (!this.IsDisabled){FCKTools.AddEventListenerEx(r,'mouseover',FCKMenuItem_OnMouseOver,[this]);FCKTools.AddEventListenerEx(r,'click',FCKMenuItem_OnClick,[this]);if (!B) FCKTools.AddEventListenerEx(r,'mouseout',FCKMenuItem_OnMouseOut,[this]);};var D=r.insertCell(-1);D.className='MN_Icon';D.appendChild(this.Icon.CreateIconElement(C));D=r.insertCell(-1);D.className='MN_Label';D.noWrap=true;D.appendChild(C.createTextNode(this.Label));D=r.insertCell(-1);if (B){D.className='MN_Arrow';var E=D.appendChild(C.createElement('IMG'));E.src=FCK_IMAGES_PATH+'arrow_'+FCKLang.Dir+'.gif';E.width=4;E.height=7;this.SubMenu.Create();this.SubMenu.Panel.OnHide=FCKTools.CreateEventListener(FCKMenuItem_SubMenu_OnHide,this);}};FCKMenuItem.prototype.Activate=function(){this.MainElement.className='MN_Item_Over';if (this.HasSubMenu){this.SubMenu.Show(this.MainElement.offsetWidth+2,-2,this.MainElement);};FCKTools.RunFunction(this.OnActivate,this);};FCKMenuItem.prototype.Deactivate=function(){this.MainElement.className='MN_Item';if (this.HasSubMenu) this.SubMenu.Hide();};function FCKMenuItem_SubMenu_OnClick(A,B){FCKTools.RunFunction(B.OnClick,B,[A]);};function FCKMenuItem_SubMenu_OnHide(A){A.Deactivate();};function FCKMenuItem_OnClick(A,B){if (B.HasSubMenu) B.Activate();else{B.Deactivate();FCKTools.RunFunction(B.OnClick,B,[B]);}};function FCKMenuItem_OnMouseOver(A,B){B.Activate();};function FCKMenuItem_OnMouseOut(A,B){B.Deactivate();};function FCKMenuItem_Cleanup(){this.MainElement=null;};\r
-var FCKMenuBlock=function(){this._Items=[];};FCKMenuBlock.prototype.Count=function(){return this._Items.length;};FCKMenuBlock.prototype.AddItem=function(A,B,C,D,E){var F=new FCKMenuItem(this,A,B,C,D,E);F.OnClick=FCKTools.CreateEventListener(FCKMenuBlock_Item_OnClick,this);F.OnActivate=FCKTools.CreateEventListener(FCKMenuBlock_Item_OnActivate,this);this._Items.push(F);return F;};FCKMenuBlock.prototype.AddSeparator=function(){this._Items.push(new FCKMenuSeparator());};FCKMenuBlock.prototype.RemoveAllItems=function(){this._Items=[];var A=this._ItemsTable;if (A){while (A.rows.length>0) A.deleteRow(0);}};FCKMenuBlock.prototype.Create=function(A){if (!this._ItemsTable){if (FCK.IECleanup) FCK.IECleanup.AddItem(this,FCKMenuBlock_Cleanup);this._Window=FCKTools.GetElementWindow(A);var B=FCKTools.GetElementDocument(A);var C=A.appendChild(B.createElement('table'));C.cellPadding=0;C.cellSpacing=0;FCKTools.DisableSelection(C);var D=C.insertRow(-1).insertCell(-1);D.className='MN_Menu';var E=this._ItemsTable=D.appendChild(B.createElement('table'));E.cellPadding=0;E.cellSpacing=0;};for (var i=0;i<this._Items.length;i++) this._Items[i].Create(this._ItemsTable);};function FCKMenuBlock_Item_OnClick(A,B){if (B.Hide) B.Hide();FCKTools.RunFunction(B.OnClick,B,[A]);};function FCKMenuBlock_Item_OnActivate(A){var B=A._ActiveItem;if (B&&B!=this){if (!FCKBrowserInfo.IsIE&&B.HasSubMenu&&!this.HasSubMenu){A._Window.focus();A.Panel.HasFocus=true;};B.Deactivate();};A._ActiveItem=this;};function FCKMenuBlock_Cleanup(){this._Window=null;this._ItemsTable=null;};var FCKMenuSeparator=function(){};FCKMenuSeparator.prototype.Create=function(A){var B=FCKTools.GetElementDocument(A);var r=A.insertRow(-1);var C=r.insertCell(-1);C.className='MN_Separator MN_Icon';C=r.insertCell(-1);C.className='MN_Separator';C.appendChild(B.createElement('DIV')).className='MN_Separator_Line';C=r.insertCell(-1);C.className='MN_Separator';C.appendChild(B.createElement('DIV')).className='MN_Separator_Line';};\r
-var FCKMenuBlockPanel=function(){FCKMenuBlock.call(this);};FCKMenuBlockPanel.prototype=new FCKMenuBlock();FCKMenuBlockPanel.prototype.Create=function(){var A=this.Panel=(this.Parent&&this.Parent.Panel?this.Parent.Panel.CreateChildPanel():new FCKPanel());A.AppendStyleSheet(FCKConfig.SkinEditorCSS);FCKMenuBlock.prototype.Create.call(this,A.MainNode);};FCKMenuBlockPanel.prototype.Show=function(x,y,A){if (!this.Panel.CheckIsOpened()) this.Panel.Show(x,y,A);};FCKMenuBlockPanel.prototype.Hide=function(){if (this.Panel.CheckIsOpened()) this.Panel.Hide();};\r
-var FCKContextMenu=function(A,B){this.CtrlDisable=false;var C=this._Panel=new FCKPanel(A);C.AppendStyleSheet(FCKConfig.SkinEditorCSS);C.IsContextMenu=true;if (FCKBrowserInfo.IsGecko) C.Document.addEventListener('draggesture',function(e) {e.preventDefault();return false;},true);var D=this._MenuBlock=new FCKMenuBlock();D.Panel=C;D.OnClick=FCKTools.CreateEventListener(FCKContextMenu_MenuBlock_OnClick,this);this._Redraw=true;};FCKContextMenu.prototype.SetMouseClickWindow=function(A){if (!FCKBrowserInfo.IsIE){this._Document=A.document;if (FCKBrowserInfo.IsOpera&&!('oncontextmenu' in document.createElement('foo'))){this._Document.addEventListener('mousedown',FCKContextMenu_Document_OnMouseDown,false);this._Document.addEventListener('mouseup',FCKContextMenu_Document_OnMouseUp,false);};this._Document.addEventListener('contextmenu',FCKContextMenu_Document_OnContextMenu,false);}};FCKContextMenu.prototype.AddItem=function(A,B,C,D,E){var F=this._MenuBlock.AddItem(A,B,C,D,E);this._Redraw=true;return F;};FCKContextMenu.prototype.AddSeparator=function(){this._MenuBlock.AddSeparator();this._Redraw=true;};FCKContextMenu.prototype.RemoveAllItems=function(){this._MenuBlock.RemoveAllItems();this._Redraw=true;};FCKContextMenu.prototype.AttachToElement=function(A){if (FCKBrowserInfo.IsIE) FCKTools.AddEventListenerEx(A,'contextmenu',FCKContextMenu_AttachedElement_OnContextMenu,this);else A._FCKContextMenu=this;};function FCKContextMenu_Document_OnContextMenu(e){if (FCKConfig.BrowserContextMenu) return true;var A=e.target;while (A){if (A._FCKContextMenu){if (A._FCKContextMenu.CtrlDisable&&(e.ctrlKey||e.metaKey)) return true;FCKTools.CancelEvent(e);FCKContextMenu_AttachedElement_OnContextMenu(e,A._FCKContextMenu,A);return false;};A=A.parentNode;};return true;};var FCKContextMenu_OverrideButton;function FCKContextMenu_Document_OnMouseDown(e){if(!e||e.button!=2) return false;if (FCKConfig.BrowserContextMenu) return true;var A=e.target;while (A){if (A._FCKContextMenu){if (A._FCKContextMenu.CtrlDisable&&(e.ctrlKey||e.metaKey)) return true;var B=FCKContextMenu_OverrideButton;if(!B){var C=FCKTools.GetElementDocument(e.target);B=FCKContextMenu_OverrideButton=C.createElement('input');B.type='button';var D=C.createElement('p');C.body.appendChild(D);D.appendChild(B);};B.style.cssText='position:absolute;top:'+(e.clientY-2)+'px;left:'+(e.clientX-2)+'px;width:5px;height:5px;opacity:0.01';};A=A.parentNode;};return false;};function FCKContextMenu_Document_OnMouseUp(e){if (FCKConfig.BrowserContextMenu) return true;var A=FCKContextMenu_OverrideButton;if (A){var B=A.parentNode;B.parentNode.removeChild(B);FCKContextMenu_OverrideButton=undefined;if(e&&e.button==2){FCKContextMenu_Document_OnContextMenu(e);return false;}};return true;};function FCKContextMenu_AttachedElement_OnContextMenu(A,B,C){if ((B.CtrlDisable&&(A.ctrlKey||A.metaKey))||FCKConfig.BrowserContextMenu) return true;var D=C||this;if (B.OnBeforeOpen) B.OnBeforeOpen.call(B,D);if (B._MenuBlock.Count()==0) return false;if (B._Redraw){B._MenuBlock.Create(B._Panel.MainNode);B._Redraw=false;};FCKTools.DisableSelection(B._Panel.Document.body);var x=0;var y=0;if (FCKBrowserInfo.IsIE){x=A.screenX;y=A.screenY;}else if (FCKBrowserInfo.IsSafari){x=A.clientX;y=A.clientY;}else{x=A.pageX;y=A.pageY;};B._Panel.Show(x,y,A.currentTarget||null);return false;};function FCKContextMenu_MenuBlock_OnClick(A,B){B._Panel.Hide();FCKTools.RunFunction(B.OnItemClick,B,A);};\r
-FCK.ContextMenu={};FCK.ContextMenu.Listeners=[];FCK.ContextMenu.RegisterListener=function(A){if (A) this.Listeners.push(A);};function FCK_ContextMenu_Init(){var A=FCK.ContextMenu._InnerContextMenu=new FCKContextMenu(FCKBrowserInfo.IsIE?window:window.parent,FCKLang.Dir);A.CtrlDisable=FCKConfig.BrowserContextMenuOnCtrl;A.OnBeforeOpen=FCK_ContextMenu_OnBeforeOpen;A.OnItemClick=FCK_ContextMenu_OnItemClick;var B=FCK.ContextMenu;for (var i=0;i<FCKConfig.ContextMenu.length;i++) B.RegisterListener(FCK_ContextMenu_GetListener(FCKConfig.ContextMenu[i]));};function FCK_ContextMenu_GetListener(A){switch (A){case 'Generic':return {AddItems:function(menu,tag,tagName){menu.AddItem('Cut',FCKLang.Cut,7,FCKCommands.GetCommand('Cut').GetState()==-1);menu.AddItem('Copy',FCKLang.Copy,8,FCKCommands.GetCommand('Copy').GetState()==-1);menu.AddItem('Paste',FCKLang.Paste,9,FCKCommands.GetCommand('Paste').GetState()==-1);}};case 'Table':return {AddItems:function(menu,tag,tagName){var B=(tagName=='TABLE');var C=(!B&&FCKSelection.HasAncestorNode('TABLE'));if (C){menu.AddSeparator();var D=menu.AddItem('Cell',FCKLang.CellCM);D.AddItem('TableInsertCellBefore',FCKLang.InsertCellBefore,69);D.AddItem('TableInsertCellAfter',FCKLang.InsertCellAfter,58);D.AddItem('TableDeleteCells',FCKLang.DeleteCells,59);if (FCKBrowserInfo.IsGecko) D.AddItem('TableMergeCells',FCKLang.MergeCells,60,FCKCommands.GetCommand('TableMergeCells').GetState()==-1);else{D.AddItem('TableMergeRight',FCKLang.MergeRight,60,FCKCommands.GetCommand('TableMergeRight').GetState()==-1);D.AddItem('TableMergeDown',FCKLang.MergeDown,60,FCKCommands.GetCommand('TableMergeDown').GetState()==-1);};D.AddItem('TableHorizontalSplitCell',FCKLang.HorizontalSplitCell,61,FCKCommands.GetCommand('TableHorizontalSplitCell').GetState()==-1);D.AddItem('TableVerticalSplitCell',FCKLang.VerticalSplitCell,61,FCKCommands.GetCommand('TableVerticalSplitCell').GetState()==-1);D.AddSeparator();D.AddItem('TableCellProp',FCKLang.CellProperties,57,FCKCommands.GetCommand('TableCellProp').GetState()==-1);menu.AddSeparator();D=menu.AddItem('Row',FCKLang.RowCM);D.AddItem('TableInsertRowBefore',FCKLang.InsertRowBefore,70);D.AddItem('TableInsertRowAfter',FCKLang.InsertRowAfter,62);D.AddItem('TableDeleteRows',FCKLang.DeleteRows,63);menu.AddSeparator();D=menu.AddItem('Column',FCKLang.ColumnCM);D.AddItem('TableInsertColumnBefore',FCKLang.InsertColumnBefore,71);D.AddItem('TableInsertColumnAfter',FCKLang.InsertColumnAfter,64);D.AddItem('TableDeleteColumns',FCKLang.DeleteColumns,65);};if (B||C){menu.AddSeparator();menu.AddItem('TableDelete',FCKLang.TableDelete);menu.AddItem('TableProp',FCKLang.TableProperties,39);}}};case 'Link':return {AddItems:function(menu,tag,tagName){var E=(tagName=='A'||FCKSelection.HasAncestorNode('A'));if (E||FCK.GetNamedCommandState('Unlink')!=-1){var F=FCKSelection.MoveToAncestorNode('A');var G=(F&&F.name.length>0&&F.href.length==0);if (G) return;menu.AddSeparator();menu.AddItem('VisitLink',FCKLang.VisitLink);menu.AddSeparator();if (E) menu.AddItem('Link',FCKLang.EditLink,34);menu.AddItem('Unlink',FCKLang.RemoveLink,35);}}};case 'Image':return {AddItems:function(menu,tag,tagName){if (tagName=='IMG'&&!tag.getAttribute('_fckfakelement')){menu.AddSeparator();menu.AddItem('Image',FCKLang.ImageProperties,37);}}};case 'Anchor':return {AddItems:function(menu,tag,tagName){var F=FCKSelection.MoveToAncestorNode('A');var G=(F&&F.name.length>0);if (G||(tagName=='IMG'&&tag.getAttribute('_fckanchor'))){menu.AddSeparator();menu.AddItem('Anchor',FCKLang.AnchorProp,36);menu.AddItem('AnchorDelete',FCKLang.AnchorDelete);}}};case 'Flash':return {AddItems:function(menu,tag,tagName){if (tagName=='IMG'&&tag.getAttribute('_fckflash')){menu.AddSeparator();menu.AddItem('Flash',FCKLang.FlashProperties,38);}}};case 'Form':return {AddItems:function(menu,tag,tagName){if (FCKSelection.HasAncestorNode('FORM')){menu.AddSeparator();menu.AddItem('Form',FCKLang.FormProp,48);}}};case 'Checkbox':return {AddItems:function(menu,tag,tagName){if (tagName=='INPUT'&&tag.type=='checkbox'){menu.AddSeparator();menu.AddItem('Checkbox',FCKLang.CheckboxProp,49);}}};case 'Radio':return {AddItems:function(menu,tag,tagName){if (tagName=='INPUT'&&tag.type=='radio'){menu.AddSeparator();menu.AddItem('Radio',FCKLang.RadioButtonProp,50);}}};case 'TextField':return {AddItems:function(menu,tag,tagName){if (tagName=='INPUT'&&(tag.type=='text'||tag.type=='password')){menu.AddSeparator();menu.AddItem('TextField',FCKLang.TextFieldProp,51);}}};case 'HiddenField':return {AddItems:function(menu,tag,tagName){if (tagName=='IMG'&&tag.getAttribute('_fckinputhidden')){menu.AddSeparator();menu.AddItem('HiddenField',FCKLang.HiddenFieldProp,56);}}};case 'ImageButton':return {AddItems:function(menu,tag,tagName){if (tagName=='INPUT'&&tag.type=='image'){menu.AddSeparator();menu.AddItem('ImageButton',FCKLang.ImageButtonProp,55);}}};case 'Button':return {AddItems:function(menu,tag,tagName){if (tagName=='INPUT'&&(tag.type=='button'||tag.type=='submit'||tag.type=='reset')){menu.AddSeparator();menu.AddItem('Button',FCKLang.ButtonProp,54);}}};case 'Select':return {AddItems:function(menu,tag,tagName){if (tagName=='SELECT'){menu.AddSeparator();menu.AddItem('Select',FCKLang.SelectionFieldProp,53);}}};case 'Textarea':return {AddItems:function(menu,tag,tagName){if (tagName=='TEXTAREA'){menu.AddSeparator();menu.AddItem('Textarea',FCKLang.TextareaProp,52);}}};case 'BulletedList':return {AddItems:function(menu,tag,tagName){if (FCKSelection.HasAncestorNode('UL')){menu.AddSeparator();menu.AddItem('BulletedList',FCKLang.BulletedListProp,27);}}};case 'NumberedList':return {AddItems:function(menu,tag,tagName){if (FCKSelection.HasAncestorNode('OL')){menu.AddSeparator();menu.AddItem('NumberedList',FCKLang.NumberedListProp,26);}}};case 'DivContainer':return {AddItems:function(menu,tag,tagName){var J=FCKDomTools.GetSelectedDivContainers();if (J.length>0){menu.AddSeparator();menu.AddItem('EditDiv',FCKLang.EditDiv,75);menu.AddItem('DeleteDiv',FCKLang.DeleteDiv,76);}}};};return null;};function FCK_ContextMenu_OnBeforeOpen(){FCK.Events.FireEvent('OnSelectionChange');var A,sTagName;if ((A=FCKSelection.GetSelectedElement())) sTagName=A.tagName;var B=FCK.ContextMenu._InnerContextMenu;B.RemoveAllItems();var C=FCK.ContextMenu.Listeners;for (var i=0;i<C.length;i++) C[i].AddItems(B,A,sTagName);};function FCK_ContextMenu_OnItemClick(A){if (!FCKBrowserInfo.IsIE) FCK.Focus();FCKCommands.GetCommand(A.Name).Execute(A.CustomData);};\r
-var FCKHtmlIterator=function(A){this._sourceHtml=A;};FCKHtmlIterator.prototype={Next:function(){var A=this._sourceHtml;if (A==null) return null;var B=FCKRegexLib.HtmlTag.exec(A);var C=false;var D="";if (B){if (B.index>0){D=A.substr(0,B.index);this._sourceHtml=A.substr(B.index);}else{C=true;D=B[0];this._sourceHtml=A.substr(B[0].length);}}else{D=A;this._sourceHtml=null;};return { 'isTag':C,'value':D };},Each:function(A){var B;while ((B=this.Next())) A(B.isTag,B.value);}};var FCKHtmlIterator=function(A){this._sourceHtml=A;};FCKHtmlIterator.prototype={Next:function(){var A=this._sourceHtml;if (A==null) return null;var B=FCKRegexLib.HtmlTag.exec(A);var C=false;var D="";if (B){if (B.index>0){D=A.substr(0,B.index);this._sourceHtml=A.substr(B.index);}else{C=true;D=B[0];this._sourceHtml=A.substr(B[0].length);}}else{D=A;this._sourceHtml=null;};return { 'isTag':C,'value':D };},Each:function(A){var B;while ((B=this.Next())) A(B.isTag,B.value);}};\r
-var FCKPlugin=function(A,B,C){this.Name=A;this.BasePath=C?C:FCKConfig.PluginsPath;this.Path=this.BasePath+A+'/';if (!B||B.length==0) this.AvailableLangs=[];else this.AvailableLangs=B.split(',');};FCKPlugin.prototype.Load=function(){if (this.AvailableLangs.length>0){var A;if (this.AvailableLangs.IndexOf(FCKLanguageManager.ActiveLanguage.Code)>=0) A=FCKLanguageManager.ActiveLanguage.Code;else A=this.AvailableLangs[0];LoadScript(this.Path+'lang/'+A+'.js');};LoadScript(this.Path+'fckplugin.js');};\r
-var FCKPlugins=FCK.Plugins={};FCKPlugins.ItemsCount=0;FCKPlugins.Items={};FCKPlugins.Load=function(){var A=FCKPlugins.Items;for (var i=0;i<FCKConfig.Plugins.Items.length;i++){var B=FCKConfig.Plugins.Items[i];var C=A[B[0]]=new FCKPlugin(B[0],B[1],B[2]);FCKPlugins.ItemsCount++;};for (var s in A) A[s].Load();FCKPlugins.Load=null;};\r
+var FCKW3CRange=function(A){this._Document=A;this.startContainer=null;this.startOffset=null;this.endContainer=null;this.endOffset=null;this.collapsed=true;};FCKW3CRange.CreateRange=function(A){return new FCKW3CRange(A);};FCKW3CRange.CreateFromRange=function(A,B){var C=FCKW3CRange.CreateRange(A);C.setStart(B.startContainer,B.startOffset);C.setEnd(B.endContainer,B.endOffset);return C;};FCKW3CRange.prototype={_UpdateCollapsed:function(){this.collapsed=(this.startContainer==this.endContainer&&this.startOffset==this.endOffset);},setStart:function(A,B){this.startContainer=A;this.startOffset=B;if (!this.endContainer){this.endContainer=A;this.endOffset=B;};this._UpdateCollapsed();},setEnd:function(A,B){this.endContainer=A;this.endOffset=B;if (!this.startContainer){this.startContainer=A;this.startOffset=B;};this._UpdateCollapsed();},setStartAfter:function(A){this.setStart(A.parentNode,FCKDomTools.GetIndexOf(A)+1);},setStartBefore:function(A){this.setStart(A.parentNode,FCKDomTools.GetIndexOf(A));},setEndAfter:function(A){this.setEnd(A.parentNode,FCKDomTools.GetIndexOf(A)+1);},setEndBefore:function(A){this.setEnd(A.parentNode,FCKDomTools.GetIndexOf(A));},collapse:function(A){if (A){this.endContainer=this.startContainer;this.endOffset=this.startOffset;}else{this.startContainer=this.endContainer;this.startOffset=this.endOffset;};this.collapsed=true;},selectNodeContents:function(A){this.setStart(A,0);this.setEnd(A,A.nodeType==3?A.data.length:A.childNodes.length);},insertNode:function(A){var B=this.startContainer;var C=this.startOffset;if (B.nodeType==3){B.splitText(C);if (B==this.endContainer) this.setEnd(B.nextSibling,this.endOffset-this.startOffset);FCKDomTools.InsertAfterNode(B,A);return;}else{B.insertBefore(A,B.childNodes[C]||null);if (B==this.endContainer){this.endOffset++;this.collapsed=false;}}},deleteContents:function(){if (this.collapsed) return;this._ExecContentsAction(0);},extractContents:function(){var A=new FCKDocumentFragment(this._Document);if (!this.collapsed) this._ExecContentsAction(1,A);return A;},cloneContents:function(){var A=new FCKDocumentFragment(this._Document);if (!this.collapsed) this._ExecContentsAction(2,A);return A;},_ExecContentsAction:function(A,B){var C=this.startContainer;var D=this.endContainer;var E=this.startOffset;var F=this.endOffset;var G=false;var H=false;if (D.nodeType==3) D=D.splitText(F);else{if (D.childNodes.length>0){if (F>D.childNodes.length-1){D=FCKDomTools.InsertAfterNode(D.lastChild,this._Document.createTextNode(''));H=true;}else D=D.childNodes[F];}};if (C.nodeType==3){C.splitText(E);if (C==D) D=C.nextSibling;}else{if (C.childNodes.length>0&&E<=C.childNodes.length-1){if (E==0){C=C.insertBefore(this._Document.createTextNode(''),C.firstChild);G=true;}else C=C.childNodes[E].previousSibling;}};var I=FCKDomTools.GetParents(C);var J=FCKDomTools.GetParents(D);var i,topStart,topEnd;for (i=0;i<I.length;i++){topStart=I[i];topEnd=J[i];if (topStart!=topEnd) break;};var K,levelStartNode,levelClone,currentNode,currentSibling;if (B) K=B.RootNode;for (var j=i;j<I.length;j++){levelStartNode=I[j];if (K&&levelStartNode!=C) levelClone=K.appendChild(levelStartNode.cloneNode(levelStartNode==C));currentNode=levelStartNode.nextSibling;while(currentNode){if (currentNode==J[j]||currentNode==D) break;currentSibling=currentNode.nextSibling;if (A==2) K.appendChild(currentNode.cloneNode(true));else{currentNode.parentNode.removeChild(currentNode);if (A==1) K.appendChild(currentNode);};currentNode=currentSibling;};if (K) K=levelClone;};if (B) K=B.RootNode;for (var k=i;k<J.length;k++){levelStartNode=J[k];if (A>0&&levelStartNode!=D) levelClone=K.appendChild(levelStartNode.cloneNode(levelStartNode==D));if (!I[k]||levelStartNode.parentNode!=I[k].parentNode){currentNode=levelStartNode.previousSibling;while(currentNode){if (currentNode==I[k]||currentNode==C) break;currentSibling=currentNode.previousSibling;if (A==2) K.insertBefore(currentNode.cloneNode(true),K.firstChild);else{currentNode.parentNode.removeChild(currentNode);if (A==1) K.insertBefore(currentNode,K.firstChild);};currentNode=currentSibling;}};if (K) K=levelClone;};if (A==2){var L=this.startContainer;if (L.nodeType==3){L.data+=L.nextSibling.data;L.parentNode.removeChild(L.nextSibling);};var M=this.endContainer;if (M.nodeType==3&&M.nextSibling){M.data+=M.nextSibling.data;M.parentNode.removeChild(M.nextSibling);}}else{if (topStart&&topEnd&&(C.parentNode!=topStart.parentNode||D.parentNode!=topEnd.parentNode)) this.setStart(topEnd.parentNode,FCKDomTools.GetIndexOf(topEnd));this.collapse(true);};if(G) C.parentNode.removeChild(C);if(H&&D.parentNode) D.parentNode.removeChild(D);},cloneRange:function(){return FCKW3CRange.CreateFromRange(this._Document,this);},toString:function(){var A=this.cloneContents();var B=this._Document.createElement('div');A.AppendTo(B);return B.textContent||B.innerText;}};\r
+var FCKEnterKey=function(A,B,C){this.Window=A;this.EnterMode=B||'p';this.ShiftEnterMode=C||'br';var D=new FCKKeystrokeHandler(false);D._EnterKey=this;D.OnKeystroke=FCKEnterKey_OnKeystroke;D.SetKeystrokes([[13,'Enter'],[SHIFT+13,'ShiftEnter'],[8,'Backspace'],[46,'Delete']]);D.AttachToElement(A.document);};function FCKEnterKey_OnKeystroke(A,B){var C=this._EnterKey;try{switch (B){case 'Enter':return C.DoEnter();break;case 'ShiftEnter':return C.DoShiftEnter();break;case 'Backspace':return C.DoBackspace();break;case 'Delete':return C.DoDelete();}}catch (e){};return false;};FCKEnterKey.prototype.DoEnter=function(A,B){this._HasShift=(B===true);var C=A||this.EnterMode;if (C=='br') return this._ExecuteEnterBr();else return this._ExecuteEnterBlock(C);};FCKEnterKey.prototype.DoShiftEnter=function(){return this.DoEnter(this.ShiftEnterMode,true);};FCKEnterKey.prototype.DoBackspace=function(){var A=false;var B=new FCKDomRange(this.Window);B.MoveToSelection();if (!B.CheckIsCollapsed()) return false;var C=B.StartBlock;var D=B.EndBlock;if (B.StartBlockLimit==B.EndBlockLimit&&C&&D){if (!B.CheckIsCollapsed()){var E=B.CheckEndOfBlock();B.DeleteContents();if (C!=D){B.SetStart(D,1);B.SetEnd(D,1);};B.Select();A=(C==D);};if (B.CheckStartOfBlock()){var F=B.StartBlock;var G=FCKDomTools.GetPreviousSourceElement(F,true,['BODY',B.StartBlockLimit.nodeName],['UL','OL']);A=this._ExecuteBackspace(B,G,F);}else if (FCKBrowserInfo.IsGecko){B.Select();}};B.Release();return A;};FCKEnterKey.prototype._ExecuteBackspace=function(A,B,C){var D=false;if (!B&&C&&C.nodeName.IEquals('LI')&&C.parentNode.parentNode.nodeName.IEquals('LI')){this._OutdentWithSelection(C,A);return true;};if (B&&B.nodeName.IEquals('LI')){var E=FCKDomTools.GetLastChild(B,['UL','OL']);while (E){B=FCKDomTools.GetLastChild(E,'LI');E=FCKDomTools.GetLastChild(B,['UL','OL']);}};if (B&&C){if (C.nodeName.IEquals('LI')&&!B.nodeName.IEquals('LI')){this._OutdentWithSelection(C,A);return true;};var F=C.parentNode;var G=B.nodeName.toLowerCase();if (FCKListsLib.EmptyElements[G]!=null||G=='table'){FCKDomTools.RemoveNode(B);D=true;}else{FCKDomTools.RemoveNode(C);while (F.innerHTML.Trim().length==0){var H=F.parentNode;H.removeChild(F);F=H;};FCKDomTools.TrimNode(C);FCKDomTools.TrimNode(B);A.SetStart(B,2);A.Collapse(true);var I=A.CreateBookmark();FCKDomTools.MoveChildren(C,B);A.MoveToBookmark(I);A.Select();D=true;}};return D;};FCKEnterKey.prototype.DoDelete=function(){var A=false;var B=new FCKDomRange(this.Window);B.MoveToSelection();if (B.CheckIsCollapsed()&&B.CheckEndOfBlock(FCKBrowserInfo.IsGeckoLike)){var C=B.StartBlock;var D=FCKDomTools.GetNextSourceElement(C,true,[B.StartBlockLimit.nodeName],['UL','OL']);A=this._ExecuteBackspace(B,C,D);};B.Release();return A;};FCKEnterKey.prototype._ExecuteEnterBlock=function(A,B){var C=B||new FCKDomRange(this.Window);if (!B) C.MoveToSelection();if (C.StartBlockLimit==C.EndBlockLimit){if (!C.StartBlock) this._FixBlock(C,true,A);if (!C.EndBlock) this._FixBlock(C,false,A);var D=C.StartBlock;var E=C.EndBlock;if (!C.CheckIsEmpty()) C.DeleteContents();if (D==E){var F;var G=C.CheckStartOfBlock();var H=C.CheckEndOfBlock();if (G&&!H){F=D.cloneNode(false);if (FCKBrowserInfo.IsGeckoLike) F.innerHTML=GECKO_BOGUS;D.parentNode.insertBefore(F,D);if (FCKBrowserInfo.IsIE){C.MoveToNodeContents(F);C.Select();};C.MoveToElementEditStart(D);}else{if (H){var I=D.tagName.toUpperCase();if (G&&I=='LI'){this._OutdentWithSelection(D,C);C.Release();return true;}else{if ((/^H[1-6]$/).test(I)||this._HasShift) F=this.Window.document.createElement(A);else{F=D.cloneNode(false);this._RecreateEndingTree(D,F);};if (FCKBrowserInfo.IsGeckoLike){F.innerHTML=GECKO_BOGUS;if (G) D.innerHTML=GECKO_BOGUS;}}}else{C.SetEnd(D,2);var J=C.ExtractContents();F=D.cloneNode(false);FCKDomTools.TrimNode(J.RootNode);if (J.RootNode.firstChild.nodeType==1&&J.RootNode.firstChild.tagName.toUpperCase().Equals('UL','OL')) F.innerHTML=GECKO_BOGUS;J.AppendTo(F);if (FCKBrowserInfo.IsGecko){this._AppendBogusBr(D);this._AppendBogusBr(F);}};if (F){FCKDomTools.InsertAfterNode(D,F);C.MoveToElementEditStart(F);if (FCKBrowserInfo.IsGeckoLike) F.scrollIntoView(false);}}}else{C.MoveToElementEditStart(E);};C.Select();};C.Release();return true;};FCKEnterKey.prototype._ExecuteEnterBr=function(A){var B=new FCKDomRange(this.Window);B.MoveToSelection();if (B.StartBlockLimit==B.EndBlockLimit){B.DeleteContents();B.MoveToSelection();var C=B.CheckStartOfBlock();var D=B.CheckEndOfBlock();var E=B.StartBlock?B.StartBlock.tagName.toUpperCase():'';var F=this._HasShift;if (!F&&E=='LI') return this._ExecuteEnterBlock(null,B);if (!F&&D&&(/^H[1-6]$/).test(E)){FCKDebug.Output('BR - Header');FCKDomTools.InsertAfterNode(B.StartBlock,this.Window.document.createElement('br'));if (FCKBrowserInfo.IsGecko) FCKDomTools.InsertAfterNode(B.StartBlock,this.Window.document.createTextNode(''));B.SetStart(B.StartBlock.nextSibling,FCKBrowserInfo.IsIE?3:1);}else{FCKDebug.Output('BR - No Header');var G=this.Window.document.createElement('br');B.InsertNode(G);if (FCKBrowserInfo.IsGecko) FCKDomTools.InsertAfterNode(G,this.Window.document.createTextNode(''));if (D&&FCKBrowserInfo.IsGeckoLike) this._AppendBogusBr(G.parentNode);if (FCKBrowserInfo.IsIE) B.SetStart(G,4);else B.SetStart(G.nextSibling,1);};B.Collapse(true);B.Select();};B.Release();return true;};FCKEnterKey.prototype._FixBlock=function(A,B,C){var D=A.CreateBookmark();A.Collapse(B);A.Expand('block_contents');var E=this.Window.document.createElement(C);A.ExtractContents().AppendTo(E);FCKDomTools.TrimNode(E);A.InsertNode(E);A.MoveToBookmark(D);};FCKEnterKey.prototype._AppendBogusBr=function(A){if (!A) return;var B=FCKTools.GetLastItem(A.getElementsByTagName('br'));if (!B||B.getAttribute('type',2)!='_moz') A.appendChild(FCKTools.CreateBogusBR(this.Window.document));};FCKEnterKey.prototype._RecreateEndingTree=function(A,B){while ((A=A.lastChild)&&A.nodeType==1&&FCKListsLib.InlineChildReqElements[A.nodeName.toLowerCase()]!=null) B=B.insertBefore(A.cloneNode(false),B.firstChild);};FCKEnterKey.prototype._OutdentWithSelection=function(A,B){var C=B.CreateBookmark();FCKListHandler.OutdentListItem(A);B.MoveToBookmark(C);B.Select();}\r
+var FCKDocumentProcessor={};FCKDocumentProcessor._Items=[];FCKDocumentProcessor.AppendNew=function(){var A={};this._Items.AddItem(A);return A;};FCKDocumentProcessor.Process=function(A){var B,i=0;while((B=this._Items[i++])) B.ProcessDocument(A);};var FCKDocumentProcessor_CreateFakeImage=function(A,B){var C=FCK.EditorDocument.createElement('IMG');C.className=A;C.src=FCKConfig.FullBasePath+'images/spacer.gif';C.setAttribute('_fckfakelement','true',0);C.setAttribute('_fckrealelement',FCKTempBin.AddElement(B),0);return C;};if (FCKBrowserInfo.IsIE||FCKBrowserInfo.IsOpera){var FCKAnchorsProcessor=FCKDocumentProcessor.AppendNew();FCKAnchorsProcessor.ProcessDocument=function(A){var B=A.getElementsByTagName('A');var C;var i=B.length-1;while (i>=0&&(C=B[i--])){if (C.name.length>0){if (C.innerHTML!==''){if (FCKBrowserInfo.IsIE) C.className+=' FCK__AnchorC';}else{var D=FCKDocumentProcessor_CreateFakeImage('FCK__Anchor',C.cloneNode(true));D.setAttribute('_fckanchor','true',0);C.parentNode.insertBefore(D,C);C.parentNode.removeChild(C);}}}}};var FCKPageBreaksProcessor=FCKDocumentProcessor.AppendNew();FCKPageBreaksProcessor.ProcessDocument=function(A){var B=A.getElementsByTagName('DIV');var C;var i=B.length-1;while (i>=0&&(C=B[i--])){if (C.style.pageBreakAfter=='always'&&C.childNodes.length==1&&C.childNodes[0].style&&C.childNodes[0].style.display=='none'){var D=FCKDocumentProcessor_CreateFakeImage('FCK__PageBreak',C.cloneNode(true));C.parentNode.insertBefore(D,C);C.parentNode.removeChild(C);}}};var FCKFlashProcessor=FCKDocumentProcessor.AppendNew();FCKFlashProcessor.ProcessDocument=function(A){var B=A.getElementsByTagName('EMBED');var C;var i=B.length-1;while (i>=0&&(C=B[i--])){var D=C.attributes['type'];if ((C.src&&C.src.EndsWith('.swf',true))||(D&&D.nodeValue=='application/x-shockwave-flash')){var E=C.cloneNode(true);if (FCKBrowserInfo.IsIE){var F=['scale','play','loop','menu','wmode','quality'];for (var G=0;G<F.length;G++){var H=C.getAttribute(F[G]);if (H) E.setAttribute(F[G],H);};E.setAttribute('type',D.nodeValue);};var I=FCKDocumentProcessor_CreateFakeImage('FCK__Flash',E);I.setAttribute('_fckflash','true',0);FCKFlashProcessor.RefreshView(I,C);C.parentNode.insertBefore(I,C);C.parentNode.removeChild(C);}}};FCKFlashProcessor.RefreshView=function(A,B){if (B.getAttribute('width')>0) A.style.width=FCKTools.ConvertHtmlSizeToStyle(B.getAttribute('width'));if (B.getAttribute('height')>0) A.style.height=FCKTools.ConvertHtmlSizeToStyle(B.getAttribute('height'));};FCK.GetRealElement=function(A){var e=FCKTempBin.Elements[A.getAttribute('_fckrealelement')];if (A.getAttribute('_fckflash')){if (A.style.width.length>0) e.width=FCKTools.ConvertStyleSizeToHtml(A.style.width);if (A.style.height.length>0) e.height=FCKTools.ConvertStyleSizeToHtml(A.style.height);};return e;};if (FCKBrowserInfo.IsIE){FCKDocumentProcessor.AppendNew().ProcessDocument=function(A){var B=A.getElementsByTagName('HR');var C;var i=B.length-1;while (i>=0&&(C=B[i--])){var D=A.createElement('hr');D.mergeAttributes(C,true);FCKDomTools.InsertAfterNode(C,D);C.parentNode.removeChild(C);}}};FCKDocumentProcessor.AppendNew().ProcessDocument=function(A){var B=A.getElementsByTagName('INPUT');var C;var i=B.length-1;while (i>=0&&(C=B[i--])){if (C.type=='hidden'){var D=FCKDocumentProcessor_CreateFakeImage('FCK__InputHidden',C.cloneNode(true));D.setAttribute('_fckinputhidden','true',0);C.parentNode.insertBefore(D,C);C.parentNode.removeChild(C);}}}\r
+var FCKSelection=FCK.Selection={};\r
+FCKSelection.GetType=function(){return FCK.EditorDocument.selection.type;};FCKSelection.GetSelectedElement=function(){if (this.GetType()=='Control'){var A=FCK.EditorDocument.selection.createRange();if (A&&A.item) return FCK.EditorDocument.selection.createRange().item(0);};return null;};FCKSelection.GetParentElement=function(){switch (this.GetType()){case 'Control':return FCKSelection.GetSelectedElement().parentElement;case 'None':return null;default:return FCK.EditorDocument.selection.createRange().parentElement();}};FCKSelection.SelectNode=function(A){FCK.Focus();FCK.EditorDocument.selection.empty();var B;try{B=FCK.EditorDocument.body.createControlRange();B.addElement(A);}catch(e){B=FCK.EditorDocument.body.createTextRange();B.moveToElementText(A);};B.select();};FCKSelection.Collapse=function(A){FCK.Focus();if (this.GetType()=='Text'){var B=FCK.EditorDocument.selection.createRange();B.collapse(A==null||A===true);B.select();}};FCKSelection.HasAncestorNode=function(A){var B;if (FCK.EditorDocument.selection.type=="Control"){B=this.GetSelectedElement();}else{var C=FCK.EditorDocument.selection.createRange();B=C.parentElement();};while (B){if (B.tagName==A) return true;B=B.parentNode;};return false;};FCKSelection.MoveToAncestorNode=function(A){var B,oRange;if (!FCK.EditorDocument) return null;if (FCK.EditorDocument.selection.type=="Control"){oRange=FCK.EditorDocument.selection.createRange();for (i=0;i<oRange.length;i++){if (oRange(i).parentNode){B=oRange(i).parentNode;break;}}}else{oRange=FCK.EditorDocument.selection.createRange();B=oRange.parentElement();};while (B&&B.nodeName!=A) B=B.parentNode;return B;};FCKSelection.Delete=function(){var A=FCK.EditorDocument.selection;if (A.type.toLowerCase()!="none"){A.clear();};return A;};\r
+var FCKTableHandler={};FCKTableHandler.InsertRow=function(){var A=FCKSelection.MoveToAncestorNode('TR');if (!A) return;var B=A.cloneNode(true);A.parentNode.insertBefore(B,A);FCKTableHandler.ClearRow(A);};FCKTableHandler.DeleteRows=function(A){if (!A) A=FCKSelection.MoveToAncestorNode('TR');if (!A) return;var B=FCKTools.GetElementAscensor(A,'TABLE');if (B.rows.length==1){FCKTableHandler.DeleteTable(B);return;};A.parentNode.removeChild(A);};FCKTableHandler.DeleteTable=function(A){if (!A){A=FCKSelection.GetSelectedElement();if (!A||A.tagName!='TABLE') A=FCKSelection.MoveToAncestorNode('TABLE');};if (!A) return;FCKSelection.SelectNode(A);FCKSelection.Collapse();A.parentNode.removeChild(A);};FCKTableHandler.InsertColumn=function(){var A=FCKSelection.MoveToAncestorNode('TD')||FCKSelection.MoveToAncestorNode('TH');if (!A) return;var B=FCKTools.GetElementAscensor(A,'TABLE');var C=A.cellIndex+1;for (var i=0;i<B.rows.length;i++){var D=B.rows[i];if (D.cells.length<C) continue;A=D.cells[C-1].cloneNode(false);if (FCKBrowserInfo.IsGecko) A.innerHTML=GECKO_BOGUS;var E=D.cells[C];if (E) D.insertBefore(A,E);else D.appendChild(A);}};FCKTableHandler.DeleteColumns=function(){var A=FCKSelection.MoveToAncestorNode('TD')||FCKSelection.MoveToAncestorNode('TH');if (!A) return;var B=FCKTools.GetElementAscensor(A,'TABLE');var C=A.cellIndex;for (var i=B.rows.length-1;i>=0;i--){var D=B.rows[i];if (C==0&&D.cells.length==1){FCKTableHandler.DeleteRows(D);continue;};if (D.cells[C]) D.removeChild(D.cells[C]);}};FCKTableHandler.InsertCell=function(A){var B=A?A:FCKSelection.MoveToAncestorNode('TD');if (!B) return null;var C=FCK.EditorDocument.createElement('TD');if (FCKBrowserInfo.IsGecko) C.innerHTML=GECKO_BOGUS;if (B.cellIndex==B.parentNode.cells.length-1){B.parentNode.appendChild(C);}else{B.parentNode.insertBefore(C,B.nextSibling);};return C;};FCKTableHandler.DeleteCell=function(A){if (A.parentNode.cells.length==1){FCKTableHandler.DeleteRows(FCKTools.GetElementAscensor(A,'TR'));return;};A.parentNode.removeChild(A);};FCKTableHandler.DeleteCells=function(){var A=FCKTableHandler.GetSelectedCells();for (var i=A.length-1;i>=0;i--){FCKTableHandler.DeleteCell(A[i]);}};FCKTableHandler.MergeCells=function(){var A=FCKTableHandler.GetSelectedCells();if (A.length<2) return;if (A[0].parentNode!=A[A.length-1].parentNode) return;var B=isNaN(A[0].colSpan)?1:A[0].colSpan;var C='';var D=FCK.EditorDocument.createDocumentFragment();for (var i=A.length-1;i>=0;i--){var E=A[i];for (var c=E.childNodes.length-1;c>=0;c--){var F=E.removeChild(E.childNodes[c]);if ((F.hasAttribute&&F.hasAttribute('_moz_editor_bogus_node'))||(F.getAttribute&&F.getAttribute('type',2)=='_moz')) continue;D.insertBefore(F,D.firstChild);};if (i>0){B+=isNaN(E.colSpan)?1:E.colSpan;FCKTableHandler.DeleteCell(E);}};A[0].colSpan=B;if (FCKBrowserInfo.IsGecko&&D.childNodes.length==0) A[0].innerHTML=GECKO_BOGUS;else A[0].appendChild(D);};FCKTableHandler.SplitCell=function(){var A=FCKTableHandler.GetSelectedCells();if (A.length!=1) return;var B=this._CreateTableMap(A[0].parentNode.parentNode);var C=FCKTableHandler._GetCellIndexSpan(B,A[0].parentNode.rowIndex,A[0]);var D=this._GetCollumnCells(B,C);for (var i=0;i<D.length;i++){if (D[i]==A[0]){var E=this.InsertCell(A[0]);if (!isNaN(A[0].rowSpan)&&A[0].rowSpan>1) E.rowSpan=A[0].rowSpan;}else{if (isNaN(D[i].colSpan)) D[i].colSpan=2;else D[i].colSpan+=1;}}};FCKTableHandler._GetCellIndexSpan=function(A,B,C){if (A.length<B+1) return null;var D=A[B];for (var c=0;c<D.length;c++){if (D[c]==C) return c;};return null;};FCKTableHandler._GetCollumnCells=function(A,B){var C=[];for (var r=0;r<A.length;r++){var D=A[r][B];if (D&&(C.length==0||C[C.length-1]!=D)) C[C.length]=D;};return C;};FCKTableHandler._CreateTableMap=function(A){var B=A.rows;var r=-1;var C=[];for (var i=0;i<B.length;i++){r++;if (!C[r]) C[r]=[];var c=-1;for (var j=0;j<B[i].cells.length;j++){var D=B[i].cells[j];c++;while (C[r][c]) c++;var E=isNaN(D.colSpan)?1:D.colSpan;var F=isNaN(D.rowSpan)?1:D.rowSpan;for (var G=0;G<F;G++){if (!C[r+G]) C[r+G]=[];for (var H=0;H<E;H++){C[r+G][c+H]=B[i].cells[j];}};c+=E-1;}};return C;};FCKTableHandler.ClearRow=function(A){var B=A.cells;for (var i=0;i<B.length;i++){if (FCKBrowserInfo.IsGecko) B[i].innerHTML=GECKO_BOGUS;else B[i].innerHTML='';}};\r
+FCKTableHandler.GetSelectedCells=function(){var A=[];var B=FCK.EditorDocument.selection.createRange();var C=FCKSelection.GetParentElement();if (C&&C.tagName.Equals('TD','TH')) A[0]=C;else{C=FCKSelection.MoveToAncestorNode('TABLE');if (C){for (var i=0;i<C.cells.length;i++){var D=FCK.EditorDocument.selection.createRange();D.moveToElementText(C.cells[i]);if (B.inRange(D)||(B.compareEndPoints('StartToStart',D)>=0&&B.compareEndPoints('StartToEnd',D)<=0)||(B.compareEndPoints('EndToStart',D)>=0&&B.compareEndPoints('EndToEnd',D)<=0)){A[A.length]=C.cells[i];}}}};return A;};\r
+var FCKXml=function(){this.Error=false;};FCKXml.prototype.LoadUrl=function(A){this.Error=false;var B=FCKTools.CreateXmlObject('XmlHttp');if (!B){this.Error=true;return;};B.open("GET",A,false);B.send(null);if (B.status==200||B.status==304) this.DOMDocument=B.responseXML;else if (B.status==0&&B.readyState==4){this.DOMDocument=FCKTools.CreateXmlObject('DOMDocument');this.DOMDocument.async=false;this.DOMDocument.resolveExternals=false;this.DOMDocument.loadXML(B.responseText);}else{this.DOMDocument=null;};if (this.DOMDocument==null||this.DOMDocument.firstChild==null){this.Error=true;if (window.confirm('Error loading "'+A+'"\r\nDo you want to see more info?')) alert('URL requested: "'+A+'"\r\nServer response:\r\nStatus: '+B.status+'\r\nResponse text:\r\n'+B.responseText);}};FCKXml.prototype.SelectNodes=function(A,B){if (this.Error) return [];if (B) return B.selectNodes(A);else return this.DOMDocument.selectNodes(A);};FCKXml.prototype.SelectSingleNode=function(A,B){if (this.Error) return null;if (B) return B.selectSingleNode(A);else return this.DOMDocument.selectSingleNode(A);}\r
+var FCKStyleDef=function(A,B){this.Name=A;this.Element=B.toUpperCase();this.IsObjectElement=FCKRegexLib.ObjectElements.test(this.Element);this.Attributes={};};FCKStyleDef.prototype.AddAttribute=function(A,B){this.Attributes[A]=B;};FCKStyleDef.prototype.GetOpenerTag=function(){var s='<'+this.Element;for (var a in this.Attributes) s+=' '+a+'="'+this.Attributes[a]+'"';return s+'>';};FCKStyleDef.prototype.GetCloserTag=function(){return '</'+this.Element+'>';};FCKStyleDef.prototype.RemoveFromSelection=function(){if (FCKSelection.GetType()=='Control') this._RemoveMe(FCK.ToolbarSet.CurrentInstance.Selection.GetSelectedElement());else this._RemoveMe(FCK.ToolbarSet.CurrentInstance.Selection.GetParentElement());}\r
+FCKStyleDef.prototype.ApplyToSelection=function(){var A=FCK.ToolbarSet.CurrentInstance.EditorDocument.selection;if (A.type=='Text'){var B=A.createRange();var e=document.createElement(this.Element);e.innerHTML=B.htmlText;this._AddAttributes(e);this._RemoveDuplicates(e);B.pasteHTML(e.outerHTML);}else if (A.type=='Control'){var C=FCK.ToolbarSet.CurrentInstance.Selection.GetSelectedElement();if (C.tagName==this.Element) this._AddAttributes(C);}};FCKStyleDef.prototype._AddAttributes=function(A){for (var a in this.Attributes){switch (a.toLowerCase()){case 'style':A.style.cssText=this.Attributes[a];break;case 'class':A.setAttribute('className',this.Attributes[a],0);break;case 'src':A.setAttribute('_fcksavedurl',this.Attributes[a],0);default:A.setAttribute(a,this.Attributes[a],0);}}};FCKStyleDef.prototype._RemoveDuplicates=function(A){for (var i=0;i<A.children.length;i++){var B=A.children[i];this._RemoveDuplicates(B);if (this.IsEqual(B)) FCKTools.RemoveOuterTags(B);}};FCKStyleDef.prototype.IsEqual=function(e){if (e.tagName!=this.Element) return false;for (var a in this.Attributes){switch (a.toLowerCase()){case 'style':if (e.style.cssText.toLowerCase()!=this.Attributes[a].toLowerCase()) return false;break;case 'class':if (e.getAttribute('className',0)!=this.Attributes[a]) return false;break;default:if (e.getAttribute(a,0)!=this.Attributes[a]) return false;}};return true;};FCKStyleDef.prototype._RemoveMe=function(A){if (!A) return;var B=A.parentElement;if (this.IsEqual(A)){if (this.IsObjectElement){for (var a in this.Attributes){switch (a.toLowerCase()){case 'class':A.removeAttribute('className',0);break;default:A.removeAttribute(a,0);}};return;}else FCKTools.RemoveOuterTags(A);};this._RemoveMe(B);}\r
+var FCKStylesLoader=function(){this.Styles={};this.StyleGroups={};this.Loaded=false;this.HasObjectElements=false;};FCKStylesLoader.prototype.Load=function(A){var B=new FCKXml();B.LoadUrl(A);var C=B.SelectNodes('Styles/Style');for (var i=0;i<C.length;i++){var D=C[i].attributes.getNamedItem('element').value.toUpperCase();var E=new FCKStyleDef(C[i].attributes.getNamedItem('name').value,D);if (E.IsObjectElement) this.HasObjectElements=true;var F=B.SelectNodes('Attribute',C[i]);for (var j=0;j<F.length;j++){var G=F[j].attributes.getNamedItem('name').value;var H=F[j].attributes.getNamedItem('value').value;if (G.toLowerCase()=='style'){var I=document.createElement('SPAN');I.style.cssText=H;H=I.style.cssText;};E.AddAttribute(G,H);};this.Styles[E.Name]=E;var J=this.StyleGroups[D];if (J==null){this.StyleGroups[D]=[];J=this.StyleGroups[D];};J[J.length]=E;};this.Loaded=true;}\r
+var FCKNamedCommand=function(A){this.Name=A;};FCKNamedCommand.prototype.Execute=function(){FCK.ExecuteNamedCommand(this.Name);};FCKNamedCommand.prototype.GetState=function(){return FCK.GetNamedCommandState(this.Name);};\r
+var FCKDialogCommand=function(A,B,C,D,E,F,G){this.Name=A;this.Title=B;this.Url=C;this.Width=D;this.Height=E;this.GetStateFunction=F;this.GetStateParam=G;this.Resizable=false;};FCKDialogCommand.prototype.Execute=function(){FCKDialog.OpenDialog('FCKDialog_'+this.Name,this.Title,this.Url,this.Width,this.Height,null,null,this.Resizable);};FCKDialogCommand.prototype.GetState=function(){if (this.GetStateFunction) return this.GetStateFunction(this.GetStateParam);else return 0;};var FCKUndefinedCommand=function(){this.Name='Undefined';};FCKUndefinedCommand.prototype.Execute=function(){alert(FCKLang.NotImplemented);};FCKUndefinedCommand.prototype.GetState=function(){return 0;};var FCKFontNameCommand=function(){this.Name='FontName';};FCKFontNameCommand.prototype.Execute=function(A){if (A==null||A==""){}else FCK.ExecuteNamedCommand('FontName',A);};FCKFontNameCommand.prototype.GetState=function(){return FCK.GetNamedCommandValue('FontName');};var FCKFontSizeCommand=function(){this.Name='FontSize';};FCKFontSizeCommand.prototype.Execute=function(A){if (typeof(A)=='string') A=parseInt(A,10);if (A==null||A==''){FCK.ExecuteNamedCommand('FontSize',3);}else FCK.ExecuteNamedCommand('FontSize',A);};FCKFontSizeCommand.prototype.GetState=function(){return FCK.GetNamedCommandValue('FontSize');};var FCKFormatBlockCommand=function(){this.Name='FormatBlock';};FCKFormatBlockCommand.prototype.Execute=function(A){if (A==null||A=='') FCK.ExecuteNamedCommand('FormatBlock','<P>');else if (A=='div'&&FCKBrowserInfo.IsGecko) FCK.ExecuteNamedCommand('FormatBlock','div');else FCK.ExecuteNamedCommand('FormatBlock','<'+A+'>');};FCKFormatBlockCommand.prototype.GetState=function(){return FCK.GetNamedCommandValue('FormatBlock');};var FCKPreviewCommand=function(){this.Name='Preview';};FCKPreviewCommand.prototype.Execute=function(){FCK.Preview();};FCKPreviewCommand.prototype.GetState=function(){return 0;};var FCKSaveCommand=function(){this.Name='Save';};FCKSaveCommand.prototype.Execute=function(){var A=FCK.GetParentForm();if (typeof(A.onsubmit)=='function'){var B=A.onsubmit();if (B!=null&&B===false) return;};if (typeof(A.submit)=='function') A.submit();else A.submit.click();};FCKSaveCommand.prototype.GetState=function(){return 0;};var FCKNewPageCommand=function(){this.Name='NewPage';};FCKNewPageCommand.prototype.Execute=function(){FCKUndo.SaveUndoStep();FCK.SetHTML('');FCKUndo.Typing=true;};FCKNewPageCommand.prototype.GetState=function(){return 0;};var FCKSourceCommand=function(){this.Name='Source';};FCKSourceCommand.prototype.Execute=function(){if (FCKConfig.SourcePopup){var A=FCKConfig.ScreenWidth*0.65;var B=FCKConfig.ScreenHeight*0.65;FCKDialog.OpenDialog('FCKDialog_Source',FCKLang.Source,'dialog/fck_source.html',A,B,null,null,true);}else FCK.SwitchEditMode();};FCKSourceCommand.prototype.GetState=function(){return (FCK.EditMode==0?0:1);};var FCKUndoCommand=function(){this.Name='Undo';};FCKUndoCommand.prototype.Execute=function(){if (FCKBrowserInfo.IsIE) FCKUndo.Undo();else FCK.ExecuteNamedCommand('Undo');};FCKUndoCommand.prototype.GetState=function(){if (FCKBrowserInfo.IsIE) return (FCKUndo.CheckUndoState()?0:-1);else return FCK.GetNamedCommandState('Undo');};var FCKRedoCommand=function(){this.Name='Redo';};FCKRedoCommand.prototype.Execute=function(){if (FCKBrowserInfo.IsIE) FCKUndo.Redo();else FCK.ExecuteNamedCommand('Redo');};FCKRedoCommand.prototype.GetState=function(){if (FCKBrowserInfo.IsIE) return (FCKUndo.CheckRedoState()?0:-1);else return FCK.GetNamedCommandState('Redo');};var FCKPageBreakCommand=function(){this.Name='PageBreak';};FCKPageBreakCommand.prototype.Execute=function(){var e=FCK.EditorDocument.createElement('DIV');e.style.pageBreakAfter='always';e.innerHTML='<span style="DISPLAY:none">&nbsp;</span>';var A=FCKDocumentProcessor_CreateFakeImage('FCK__PageBreak',e);A=FCK.InsertElement(A);};FCKPageBreakCommand.prototype.GetState=function(){return 0;};var FCKUnlinkCommand=function(){this.Name='Unlink';};FCKUnlinkCommand.prototype.Execute=function(){if (FCKBrowserInfo.IsGecko){var A=FCK.Selection.MoveToAncestorNode('A');if (A) FCKTools.RemoveOuterTags(A);return;};FCK.ExecuteNamedCommand(this.Name);};FCKUnlinkCommand.prototype.GetState=function(){var A=FCK.GetNamedCommandState(this.Name);if (A==0&&FCK.EditMode==0){var B=FCKSelection.MoveToAncestorNode('A');var C=(B&&B.name.length>0&&B.href.length==0);if (C) A=-1;};return A;};var FCKSelectAllCommand=function(){this.Name='SelectAll';};FCKSelectAllCommand.prototype.Execute=function(){if (FCK.EditMode==0){FCK.ExecuteNamedCommand('SelectAll');}else{var A=FCK.EditingArea.Textarea;if (FCKBrowserInfo.IsIE){A.createTextRange().execCommand('SelectAll');}else{A.selectionStart=0;A.selectionEnd=A.value.length;};A.focus();}};FCKSelectAllCommand.prototype.GetState=function(){return 0;};var FCKPasteCommand=function(){this.Name='Paste';};FCKPasteCommand.prototype={Execute:function(){if (FCKBrowserInfo.IsIE) FCK.Paste();else FCK.ExecuteNamedCommand('Paste');},GetState:function(){return FCK.GetNamedCommandState('Paste');}};\r
+var FCKSpellCheckCommand=function(){this.Name='SpellCheck';this.IsEnabled=(FCKConfig.SpellChecker=='ieSpell'||FCKConfig.SpellChecker=='SpellerPages');};FCKSpellCheckCommand.prototype.Execute=function(){switch (FCKConfig.SpellChecker){case 'ieSpell':this._RunIeSpell();break;case 'SpellerPages':FCKDialog.OpenDialog('FCKDialog_SpellCheck','Spell Check','dialog/fck_spellerpages.html',440,480);break;}};FCKSpellCheckCommand.prototype._RunIeSpell=function(){try{var A=new ActiveXObject("ieSpell.ieSpellExtension");A.CheckAllLinkedDocuments(FCK.EditorDocument);}catch(e){if(e.number==-2146827859){if (confirm(FCKLang.IeSpellDownload)) window.open(FCKConfig.IeSpellDownloadUrl,'IeSpellDownload');}else alert('Error Loading ieSpell: '+e.message+' ('+e.number+')');}};FCKSpellCheckCommand.prototype.GetState=function(){return this.IsEnabled?0:-1;}\r
+var FCKTextColorCommand=function(A){this.Name=A=='ForeColor'?'TextColor':'BGColor';this.Type=A;var B;if (FCKBrowserInfo.IsIE) B=window;else if (FCK.ToolbarSet._IFrame) B=FCKTools.GetElementWindow(FCK.ToolbarSet._IFrame);else B=window.parent;this._Panel=new FCKPanel(B);this._Panel.AppendStyleSheet(FCKConfig.SkinPath+'fck_editor.css');this._Panel.MainNode.className='FCK_Panel';this._CreatePanelBody(this._Panel.Document,this._Panel.MainNode);FCKTools.DisableSelection(this._Panel.Document.body);};FCKTextColorCommand.prototype.Execute=function(A,B,C){FCK._ActiveColorPanelType=this.Type;this._Panel.Show(A,B,C);};FCKTextColorCommand.prototype.SetColor=function(A){if (FCK._ActiveColorPanelType=='ForeColor') FCK.ExecuteNamedCommand('ForeColor',A);else if (FCKBrowserInfo.IsGeckoLike){if (FCKBrowserInfo.IsGecko&&!FCKConfig.GeckoUseSPAN) FCK.EditorDocument.execCommand('useCSS',false,false);FCK.ExecuteNamedCommand('hilitecolor',A);if (FCKBrowserInfo.IsGecko&&!FCKConfig.GeckoUseSPAN) FCK.EditorDocument.execCommand('useCSS',false,true);}else FCK.ExecuteNamedCommand('BackColor',A);delete FCK._ActiveColorPanelType;};FCKTextColorCommand.prototype.GetState=function(){return 0;};function FCKTextColorCommand_OnMouseOver()   { this.className='ColorSelected';};function FCKTextColorCommand_OnMouseOut()    { this.className='ColorDeselected';};function FCKTextColorCommand_OnClick(){this.className='ColorDeselected';this.Command.SetColor('#'+this.Color);this.Command._Panel.Hide();};function FCKTextColorCommand_AutoOnClick(){this.className='ColorDeselected';this.Command.SetColor('');this.Command._Panel.Hide();};function FCKTextColorCommand_MoreOnClick(){this.className='ColorDeselected';this.Command._Panel.Hide();FCKDialog.OpenDialog('FCKDialog_Color',FCKLang.DlgColorTitle,'dialog/fck_colorselector.html',400,330,this.Command.SetColor);};FCKTextColorCommand.prototype._CreatePanelBody=function(A,B){function CreateSelectionDiv(){var C=A.createElement("DIV");C.className='ColorDeselected';C.onmouseover=FCKTextColorCommand_OnMouseOver;C.onmouseout=FCKTextColorCommand_OnMouseOut;return C;};var D=B.appendChild(A.createElement("TABLE"));D.className='ForceBaseFont';D.style.tableLayout='fixed';D.cellPadding=0;D.cellSpacing=0;D.border=0;D.width=150;var E=D.insertRow(-1).insertCell(-1);E.colSpan=8;var C=E.appendChild(CreateSelectionDiv());C.innerHTML='<table cellspacing="0" cellpadding="0" width="100%" border="0">\n                       <tr>\n                          <td><div class="ColorBoxBorder"><div class="ColorBox" style="background-color: #000000"></div></div></td>\n                             <td nowrap width="100%" align="center">'+FCKLang.ColorAutomatic+'</td>\n                        </tr>\n         </table>';C.Command=this;C.onclick=FCKTextColorCommand_AutoOnClick;var G=FCKConfig.FontColors.toString().split(',');var H=0;while (H<G.length){var I=D.insertRow(-1);for (var i=0;i<8&&H<G.length;i++,H++){C=I.insertCell(-1).appendChild(CreateSelectionDiv());C.Color=G[H];C.innerHTML='<div class="ColorBoxBorder"><div class="ColorBox" style="background-color: #'+G[H]+'"></div></div>';C.Command=this;C.onclick=FCKTextColorCommand_OnClick;}};E=D.insertRow(-1).insertCell(-1);E.colSpan=8;C=E.appendChild(CreateSelectionDiv());C.innerHTML='<table width="100%" cellpadding="0" cellspacing="0" border="0"><tr><td nowrap align="center">'+FCKLang.ColorMoreColors+'</td></tr></table>';C.Command=this;C.onclick=FCKTextColorCommand_MoreOnClick;}\r
+var FCKPastePlainTextCommand=function(){this.Name='PasteText';};FCKPastePlainTextCommand.prototype.Execute=function(){FCK.PasteAsPlainText();};FCKPastePlainTextCommand.prototype.GetState=function(){return FCK.GetNamedCommandState('Paste');};\r
+var FCKPasteWordCommand=function(){this.Name='PasteWord';};FCKPasteWordCommand.prototype.Execute=function(){FCK.PasteFromWord();};FCKPasteWordCommand.prototype.GetState=function(){if (FCKConfig.ForcePasteAsPlainText) return -1;else return FCK.GetNamedCommandState('Paste');};\r
+var FCKTableCommand=function(A){this.Name=A;};FCKTableCommand.prototype.Execute=function(){FCKUndo.SaveUndoStep();switch (this.Name){case 'TableInsertRow':FCKTableHandler.InsertRow();break;case 'TableDeleteRows':FCKTableHandler.DeleteRows();break;case 'TableInsertColumn':FCKTableHandler.InsertColumn();break;case 'TableDeleteColumns':FCKTableHandler.DeleteColumns();break;case 'TableInsertCell':FCKTableHandler.InsertCell();break;case 'TableDeleteCells':FCKTableHandler.DeleteCells();break;case 'TableMergeCells':FCKTableHandler.MergeCells();break;case 'TableSplitCell':FCKTableHandler.SplitCell();break;case 'TableDelete':FCKTableHandler.DeleteTable();break;default:alert(FCKLang.UnknownCommand.replace(/%1/g,this.Name));}};FCKTableCommand.prototype.GetState=function(){return 0;}\r
+var FCKStyleCommand=function(){this.Name='Style';this.StylesLoader=new FCKStylesLoader();this.StylesLoader.Load(FCKConfig.StylesXmlPath);this.Styles=this.StylesLoader.Styles;};FCKStyleCommand.prototype.Execute=function(A,B){FCKUndo.SaveUndoStep();if (B.Selected) B.Style.RemoveFromSelection();else B.Style.ApplyToSelection();FCKUndo.SaveUndoStep();FCK.Focus();FCK.Events.FireEvent("OnSelectionChange");};FCKStyleCommand.prototype.GetState=function(){if (!FCK.EditorDocument) return -1;var A=FCK.EditorDocument.selection;if (FCKSelection.GetType()=='Control'){var e=FCKSelection.GetSelectedElement();if (e) return this.StylesLoader.StyleGroups[e.tagName]?0:-1;};return 0;};FCKStyleCommand.prototype.GetActiveStyles=function(){var A=[];if (FCKSelection.GetType()=='Control') this._CheckStyle(FCKSelection.GetSelectedElement(),A,false);else this._CheckStyle(FCKSelection.GetParentElement(),A,true);return A;};FCKStyleCommand.prototype._CheckStyle=function(A,B,C){if (!A) return;if (A.nodeType==1){var D=this.StylesLoader.StyleGroups[A.tagName];if (D){for (var i=0;i<D.length;i++){if (D[i].IsEqual(A)) B[B.length]=D[i];}}};if (C) this._CheckStyle(A.parentNode,B,C);}\r
+var FCKFitWindow=function(){this.Name='FitWindow';};FCKFitWindow.prototype.Execute=function(){var A=window.frameElement;var B=A.style;var C=parent;var D=C.document.documentElement;var E=C.document.body;var F=E.style;var G;if (!this.IsMaximized){if(FCKBrowserInfo.IsIE) C.attachEvent('onresize',FCKFitWindow_Resize);else C.addEventListener('resize',FCKFitWindow_Resize,true);this._ScrollPos=FCKTools.GetScrollPosition(C);G=A;while((G=G.parentNode)){if (G.nodeType==1) G._fckSavedStyles=FCKTools.SaveStyles(G);};if (FCKBrowserInfo.IsIE){this.documentElementOverflow=D.style.overflow;D.style.overflow='hidden';F.overflow='hidden';}else{F.overflow='hidden';F.width='0px';F.height='0px';};this._EditorFrameStyles=FCKTools.SaveStyles(A);var H=FCKTools.GetViewPaneSize(C);B.position="absolute";B.zIndex=FCKConfig.FloatingPanelsZIndex-1;B.left="0px";B.top="0px";B.width=H.Width+"px";B.height=H.Height+"px";if (!FCKBrowserInfo.IsIE){B.borderRight=B.borderBottom="9999px solid white";B.backgroundColor="white";};C.scrollTo(0,0);this.IsMaximized=true;}else{if(FCKBrowserInfo.IsIE) C.detachEvent("onresize",FCKFitWindow_Resize);else C.removeEventListener("resize",FCKFitWindow_Resize,true);G=A;while((G=G.parentNode)){if (G._fckSavedStyles){FCKTools.RestoreStyles(G,G._fckSavedStyles);G._fckSavedStyles=null;}};if (FCKBrowserInfo.IsIE) D.style.overflow=this.documentElementOverflow;FCKTools.RestoreStyles(A,this._EditorFrameStyles);C.scrollTo(this._ScrollPos.X,this._ScrollPos.Y);this.IsMaximized=false;};FCKToolbarItems.GetItem('FitWindow').RefreshState();FCK.EditingArea.MakeEditable();FCK.Focus();};FCKFitWindow.prototype.GetState=function(){if (FCKConfig.ToolbarLocation!='In') return -1;else return (this.IsMaximized?1:0);};function FCKFitWindow_Resize(){var A=FCKTools.GetViewPaneSize(parent);var B=window.frameElement.style;B.width=A.Width+'px';B.height=A.Height+'px';};\r
+var FCKCommands=FCK.Commands={};FCKCommands.LoadedCommands={};FCKCommands.RegisterCommand=function(A,B){this.LoadedCommands[A]=B;};FCKCommands.GetCommand=function(A){var B=FCKCommands.LoadedCommands[A];if (B) return B;switch (A){case 'DocProps':B=new FCKDialogCommand('DocProps',FCKLang.DocProps,'dialog/fck_docprops.html',400,390,FCKCommands.GetFullPageState);break;case 'Templates':B=new FCKDialogCommand('Templates',FCKLang.DlgTemplatesTitle,'dialog/fck_template.html',380,450);break;case 'Link':B=new FCKDialogCommand('Link',FCKLang.DlgLnkWindowTitle,'dialog/fck_link.html',400,330);break;case 'Unlink':B=new FCKUnlinkCommand();break;case 'Anchor':B=new FCKDialogCommand('Anchor',FCKLang.DlgAnchorTitle,'dialog/fck_anchor.html',370,170);break;case 'BulletedList':B=new FCKDialogCommand('BulletedList',FCKLang.BulletedListProp,'dialog/fck_listprop.html?UL',370,170);break;case 'NumberedList':B=new FCKDialogCommand('NumberedList',FCKLang.NumberedListProp,'dialog/fck_listprop.html?OL',370,170);break;case 'About':B=new FCKDialogCommand('About',FCKLang.About,'dialog/fck_about.html',400,330);break;case 'Find':B=new FCKDialogCommand('Find',FCKLang.DlgFindTitle,'dialog/fck_find.html',340,170);break;case 'Replace':B=new FCKDialogCommand('Replace',FCKLang.DlgReplaceTitle,'dialog/fck_replace.html',340,200);break;case 'Image':B=new FCKDialogCommand('Image',FCKLang.DlgImgTitle,'dialog/fck_image.html',450,400);break;case 'Flash':B=new FCKDialogCommand('Flash',FCKLang.DlgFlashTitle,'dialog/fck_flash.html',450,400);break;case 'SpecialChar':B=new FCKDialogCommand('SpecialChar',FCKLang.DlgSpecialCharTitle,'dialog/fck_specialchar.html',400,320);break;case 'Smiley':B=new FCKDialogCommand('Smiley',FCKLang.DlgSmileyTitle,'dialog/fck_smiley.html',FCKConfig.SmileyWindowWidth,FCKConfig.SmileyWindowHeight);break;case 'Table':B=new FCKDialogCommand('Table',FCKLang.DlgTableTitle,'dialog/fck_table.html',450,250);break;case 'TableProp':B=new FCKDialogCommand('Table',FCKLang.DlgTableTitle,'dialog/fck_table.html?Parent',400,250);break;case 'TableCellProp':B=new FCKDialogCommand('TableCell',FCKLang.DlgCellTitle,'dialog/fck_tablecell.html',550,250);break;case 'Style':B=new FCKStyleCommand();break;case 'FontName':B=new FCKFontNameCommand();break;case 'FontSize':B=new FCKFontSizeCommand();break;case 'FontFormat':B=new FCKFormatBlockCommand();break;case 'Source':B=new FCKSourceCommand();break;case 'Preview':B=new FCKPreviewCommand();break;case 'Save':B=new FCKSaveCommand();break;case 'NewPage':B=new FCKNewPageCommand();break;case 'PageBreak':B=new FCKPageBreakCommand();break;case 'TextColor':B=new FCKTextColorCommand('ForeColor');break;case 'BGColor':B=new FCKTextColorCommand('BackColor');break;case 'Paste':B=new FCKPasteCommand();break;case 'PasteText':B=new FCKPastePlainTextCommand();break;case 'PasteWord':B=new FCKPasteWordCommand();break;case 'TableInsertRow':B=new FCKTableCommand('TableInsertRow');break;case 'TableDeleteRows':B=new FCKTableCommand('TableDeleteRows');break;case 'TableInsertColumn':B=new FCKTableCommand('TableInsertColumn');break;case 'TableDeleteColumns':B=new FCKTableCommand('TableDeleteColumns');break;case 'TableInsertCell':B=new FCKTableCommand('TableInsertCell');break;case 'TableDeleteCells':B=new FCKTableCommand('TableDeleteCells');break;case 'TableMergeCells':B=new FCKTableCommand('TableMergeCells');break;case 'TableSplitCell':B=new FCKTableCommand('TableSplitCell');break;case 'TableDelete':B=new FCKTableCommand('TableDelete');break;case 'Form':B=new FCKDialogCommand('Form',FCKLang.Form,'dialog/fck_form.html',380,230);break;case 'Checkbox':B=new FCKDialogCommand('Checkbox',FCKLang.Checkbox,'dialog/fck_checkbox.html',380,230);break;case 'Radio':B=new FCKDialogCommand('Radio',FCKLang.RadioButton,'dialog/fck_radiobutton.html',380,230);break;case 'TextField':B=new FCKDialogCommand('TextField',FCKLang.TextField,'dialog/fck_textfield.html',380,230);break;case 'Textarea':B=new FCKDialogCommand('Textarea',FCKLang.Textarea,'dialog/fck_textarea.html',380,230);break;case 'HiddenField':B=new FCKDialogCommand('HiddenField',FCKLang.HiddenField,'dialog/fck_hiddenfield.html',380,230);break;case 'Button':B=new FCKDialogCommand('Button',FCKLang.Button,'dialog/fck_button.html',380,230);break;case 'Select':B=new FCKDialogCommand('Select',FCKLang.SelectionField,'dialog/fck_select.html',400,380);break;case 'ImageButton':B=new FCKDialogCommand('ImageButton',FCKLang.ImageButton,'dialog/fck_image.html?ImageButton',450,400);break;case 'SpellCheck':B=new FCKSpellCheckCommand();break;case 'FitWindow':B=new FCKFitWindow();break;case 'Undo':B=new FCKUndoCommand();break;case 'Redo':B=new FCKRedoCommand();break;case 'SelectAll':B=new FCKSelectAllCommand();break;case 'Undefined':B=new FCKUndefinedCommand();break;default:if (FCKRegexLib.NamedCommands.test(A)) B=new FCKNamedCommand(A);else{alert(FCKLang.UnknownCommand.replace(/%1/g,A));return null;}};FCKCommands.LoadedCommands[A]=B;return B;};FCKCommands.GetFullPageState=function(){return FCKConfig.FullPage?0:-1;};\r
+var FCKPanel=function(A){this.IsRTL=(FCKLang.Dir=='rtl');this.IsContextMenu=false;this._LockCounter=0;this._Window=A||window;var B;if (FCKBrowserInfo.IsIE){this._Popup=this._Window.createPopup();B=this.Document=this._Popup.document;FCK.IECleanup.AddItem(this,FCKPanel_Cleanup);}else{var C=this._IFrame=this._Window.document.createElement('iframe');C.src='javascript:void(0)';C.allowTransparency=true;C.frameBorder='0';C.scrolling='no';C.style.position='absolute';C.style.zIndex=FCKConfig.FloatingPanelsZIndex;C.width=C.height=0;if (this._Window==window.parent&&window.frameElement) window.frameElement.parentNode.insertBefore(C,window.frameElement);else this._Window.document.body.appendChild(C);var D=C.contentWindow;B=this.Document=D.document;var E='';if (FCKBrowserInfo.IsSafari) E='<base href="'+window.document.location+'">';B.open();B.write('<html><head>'+E+'<\/head><body style="margin:0px;padding:0px;"><\/body><\/html>');B.close();FCKTools.AddEventListenerEx(D,'focus',FCKPanel_Window_OnFocus,this);FCKTools.AddEventListenerEx(D,'blur',FCKPanel_Window_OnBlur,this);};B.dir=FCKLang.Dir;B.oncontextmenu=FCKTools.CancelEvent;this.MainNode=B.body.appendChild(B.createElement('DIV'));this.MainNode.style.cssFloat=this.IsRTL?'right':'left';};FCKPanel.prototype.AppendStyleSheet=function(A){FCKTools.AppendStyleSheet(this.Document,A);};FCKPanel.prototype.Preload=function(x,y,A){if (this._Popup) this._Popup.show(x,y,0,0,A);};FCKPanel.prototype.Show=function(x,y,A,B,C){var D;if (this._Popup){this._Popup.show(x,y,0,0,A);this.MainNode.style.width=B?B+'px':'';this.MainNode.style.height=C?C+'px':'';D=this.MainNode.offsetWidth;if (this.IsRTL){if (this.IsContextMenu) x=x-D+1;else if (A) x=(x*-1)+A.offsetWidth-D;};this._Popup.show(x,y,D,this.MainNode.offsetHeight,A);if (this.OnHide){if (this._Timer) CheckPopupOnHide.call(this,true);this._Timer=FCKTools.SetInterval(CheckPopupOnHide,100,this);}}else{if (typeof(FCKFocusManager)!='undefined') FCKFocusManager.Lock();if (this.ParentPanel) this.ParentPanel.Lock();this.MainNode.style.width=B?B+'px':'';this.MainNode.style.height=C?C+'px':'';D=this.MainNode.offsetWidth;if (!B)  this._IFrame.width=1;if (!C)    this._IFrame.height=1;D=this.MainNode.offsetWidth;var E=FCKTools.GetElementPosition(A.nodeType==9?(FCKTools.IsStrictMode(A)?A.documentElement:A.body):A,this._Window);if (this.IsRTL&&!this.IsContextMenu) x=(x*-1);x+=E.X;y+=E.Y;if (this.IsRTL){if (this.IsContextMenu) x=x-D+1;else if (A) x=x+A.offsetWidth-D;}else{var F=FCKTools.GetViewPaneSize(this._Window);var G=FCKTools.GetScrollPosition(this._Window);var H=F.Height+G.Y;var I=F.Width+G.X;if ((x+D)>I) x-=x+D-I;if ((y+this.MainNode.offsetHeight)>H) y-=y+this.MainNode.offsetHeight-H;};if (x<0) x=0;this._IFrame.style.left=x+'px';this._IFrame.style.top=y+'px';var J=D;var K=this.MainNode.offsetHeight;this._IFrame.width=J;this._IFrame.height=K;this._IFrame.contentWindow.focus();};this._IsOpened=true;FCKTools.RunFunction(this.OnShow,this);};FCKPanel.prototype.Hide=function(A){if (this._Popup) this._Popup.hide();else{if (!this._IsOpened) return;if (typeof(FCKFocusManager)!='undefined') FCKFocusManager.Unlock();this._IFrame.width=this._IFrame.height=0;this._IsOpened=false;if (this.ParentPanel) this.ParentPanel.Unlock();if (!A) FCKTools.RunFunction(this.OnHide,this);}};FCKPanel.prototype.CheckIsOpened=function(){if (this._Popup) return this._Popup.isOpen;else return this._IsOpened;};FCKPanel.prototype.CreateChildPanel=function(){var A=this._Popup?FCKTools.GetDocumentWindow(this.Document):this._Window;var B=new FCKPanel(A);B.ParentPanel=this;return B;};FCKPanel.prototype.Lock=function(){this._LockCounter++;};FCKPanel.prototype.Unlock=function(){if (--this._LockCounter==0&&!this.HasFocus) this.Hide();};function FCKPanel_Window_OnFocus(e,A){A.HasFocus=true;};function FCKPanel_Window_OnBlur(e,A){A.HasFocus=false;if (A._LockCounter==0) FCKTools.RunFunction(A.Hide,A);};function CheckPopupOnHide(A){if (A||!this._Popup.isOpen){window.clearInterval(this._Timer);this._Timer=null;FCKTools.RunFunction(this.OnHide,this);}};function FCKPanel_Cleanup(){this._Popup=null;this._Window=null;this.Document=null;this.MainNode=null;}\r
+var FCKIcon=function(A){var B=A?typeof(A):'undefined';switch (B){case 'number':this.Path=FCKConfig.SkinPath+'fck_strip.gif';this.Size=16;this.Position=A;break;case 'undefined':this.Path=FCK_SPACER_PATH;break;case 'string':this.Path=A;break;default:this.Path=A[0];this.Size=A[1];this.Position=A[2];}};FCKIcon.prototype.CreateIconElement=function(A){var B,eIconImage;if (this.Position){var C='-'+((this.Position-1)*this.Size)+'px';if (FCKBrowserInfo.IsIE){B=A.createElement('DIV');eIconImage=B.appendChild(A.createElement('IMG'));eIconImage.src=this.Path;eIconImage.style.top=C;}else{B=A.createElement('IMG');B.src=FCK_SPACER_PATH;B.style.backgroundPosition='0px '+C;B.style.backgroundImage='url('+this.Path+')';}}else{if (FCKBrowserInfo.IsIE){B=A.createElement('DIV');eIconImage=B.appendChild(A.createElement('IMG'));eIconImage.src=this.Path?this.Path:FCK_SPACER_PATH;}else{B=A.createElement('IMG');B.src=this.Path?this.Path:FCK_SPACER_PATH;}};B.className='TB_Button_Image';return B;}\r
+var FCKToolbarButtonUI=function(A,B,C,D,E,F){this.Name=A;this.Label=B||A;this.Tooltip=C||this.Label;this.Style=E||0;this.State=F||0;this.Icon=new FCKIcon(D);if (FCK.IECleanup) FCK.IECleanup.AddItem(this,FCKToolbarButtonUI_Cleanup);};FCKToolbarButtonUI.prototype._CreatePaddingElement=function(A){var B=A.createElement('IMG');B.className='TB_Button_Padding';B.src=FCK_SPACER_PATH;return B;};FCKToolbarButtonUI.prototype.Create=function(A){var B=this.MainElement;if (B){FCKToolbarButtonUI_Cleanup.call(this);if (B.parentNode) B.parentNode.removeChild(B);B=this.MainElement=null;};var C=FCKTools.GetElementDocument(A);B=this.MainElement=C.createElement('DIV');B._FCKButton=this;B.title=this.Tooltip;if (FCKBrowserInfo.IsGecko) B.onmousedown=FCKTools.CancelEvent;this.ChangeState(this.State,true);if (this.Style==0&&!this.ShowArrow){B.appendChild(this.Icon.CreateIconElement(C));}else{var D=B.appendChild(C.createElement('TABLE'));D.cellPadding=0;D.cellSpacing=0;var E=D.insertRow(-1);var F=E.insertCell(-1);if (this.Style==0||this.Style==2) F.appendChild(this.Icon.CreateIconElement(C));else F.appendChild(this._CreatePaddingElement(C));if (this.Style==1||this.Style==2){F=E.insertCell(-1);F.className='TB_Button_Text';F.noWrap=true;F.appendChild(C.createTextNode(this.Label));};if (this.ShowArrow){if (this.Style!=0){E.insertCell(-1).appendChild(this._CreatePaddingElement(C));};F=E.insertCell(-1);var G=F.appendChild(C.createElement('IMG'));G.src=FCKConfig.SkinPath+'images/toolbar.buttonarrow.gif';G.width=5;G.height=3;};F=E.insertCell(-1);F.appendChild(this._CreatePaddingElement(C));};A.appendChild(B);};FCKToolbarButtonUI.prototype.ChangeState=function(A,B){if (!B&&this.State==A) return;var e=this.MainElement;switch (parseInt(A,10)){case 0:e.className='TB_Button_Off';e.onmouseover=FCKToolbarButton_OnMouseOverOff;e.onmouseout=FCKToolbarButton_OnMouseOutOff;e.onclick=FCKToolbarButton_OnClick;break;case 1:e.className='TB_Button_On';e.onmouseover=FCKToolbarButton_OnMouseOverOn;e.onmouseout=FCKToolbarButton_OnMouseOutOn;e.onclick=FCKToolbarButton_OnClick;break;case -1:e.className='TB_Button_Disabled';e.onmouseover=null;e.onmouseout=null;e.onclick=null;break;};this.State=A;};function FCKToolbarButtonUI_Cleanup(){if (this.MainElement){this.MainElement._FCKButton=null;this.MainElement=null;}};function FCKToolbarButton_OnMouseOverOn(){this.className='TB_Button_On_Over';};function FCKToolbarButton_OnMouseOutOn(){this.className='TB_Button_On';};function FCKToolbarButton_OnMouseOverOff(){this.className='TB_Button_Off_Over';};function FCKToolbarButton_OnMouseOutOff(){this.className='TB_Button_Off';};function FCKToolbarButton_OnClick(e){if (this._FCKButton.OnClick) this._FCKButton.OnClick(this._FCKButton);};\r
+var FCKToolbarButton=function(A,B,C,D,E,F,G){this.CommandName=A;this.Label=B;this.Tooltip=C;this.Style=D;this.SourceView=E?true:false;this.ContextSensitive=F?true:false;if (G==null) this.IconPath=FCKConfig.SkinPath+'toolbar/'+A.toLowerCase()+'.gif';else if (typeof(G)=='number') this.IconPath=[FCKConfig.SkinPath+'fck_strip.gif',16,G];};FCKToolbarButton.prototype.Create=function(A){this._UIButton=new FCKToolbarButtonUI(this.CommandName,this.Label,this.Tooltip,this.IconPath,this.Style);this._UIButton.OnClick=this.Click;this._UIButton._ToolbarButton=this;this._UIButton.Create(A);};FCKToolbarButton.prototype.RefreshState=function(){var A=FCK.ToolbarSet.CurrentInstance.Commands.GetCommand(this.CommandName).GetState();if (A==this._UIButton.State) return;this._UIButton.ChangeState(A);};FCKToolbarButton.prototype.Click=function(){var A=this._ToolbarButton||this;FCK.ToolbarSet.CurrentInstance.Commands.GetCommand(A.CommandName).Execute();};FCKToolbarButton.prototype.Enable=function(){this.RefreshState();};FCKToolbarButton.prototype.Disable=function(){this._UIButton.ChangeState(-1);}\r
+var FCKSpecialCombo=function(A,B,C,D,E){this.FieldWidth=B||100;this.PanelWidth=C||150;this.PanelMaxHeight=D||150;this.Label='&nbsp;';this.Caption=A;this.Tooltip=A;this.Style=2;this.Enabled=true;this.Items={};this._Panel=new FCKPanel(E||window);this._Panel.AppendStyleSheet(FCKConfig.SkinPath+'fck_editor.css');this._PanelBox=this._Panel.MainNode.appendChild(this._Panel.Document.createElement('DIV'));this._PanelBox.className='SC_Panel';this._PanelBox.style.width=this.PanelWidth+'px';this._PanelBox.innerHTML='<table cellpadding="0" cellspacing="0" width="100%" style="TABLE-LAYOUT: fixed"><tr><td nowrap></td></tr></table>';this._ItemsHolderEl=this._PanelBox.getElementsByTagName('TD')[0];if (FCK.IECleanup) FCK.IECleanup.AddItem(this,FCKSpecialCombo_Cleanup);};function FCKSpecialCombo_ItemOnMouseOver(){this.className+=' SC_ItemOver';};function FCKSpecialCombo_ItemOnMouseOut(){this.className=this.originalClass;};function FCKSpecialCombo_ItemOnClick(){this.className=this.originalClass;this.FCKSpecialCombo._Panel.Hide();this.FCKSpecialCombo.SetLabel(this.FCKItemLabel);if (typeof(this.FCKSpecialCombo.OnSelect)=='function') this.FCKSpecialCombo.OnSelect(this.FCKItemID,this);};FCKSpecialCombo.prototype.AddItem=function(A,B,C,D){var E=this._ItemsHolderEl.appendChild(this._Panel.Document.createElement('DIV'));E.className=E.originalClass='SC_Item';E.innerHTML=B;E.FCKItemID=A;E.FCKItemLabel=C||A;E.FCKSpecialCombo=this;E.Selected=false;if (FCKBrowserInfo.IsIE) E.style.width='100%';if (D) E.style.backgroundColor=D;E.onmouseover=FCKSpecialCombo_ItemOnMouseOver;E.onmouseout=FCKSpecialCombo_ItemOnMouseOut;E.onclick=FCKSpecialCombo_ItemOnClick;this.Items[A.toString().toLowerCase()]=E;return E;};FCKSpecialCombo.prototype.SelectItem=function(A){A=A?A.toString().toLowerCase():'';var B=this.Items[A];if (B){B.className=B.originalClass='SC_ItemSelected';B.Selected=true;}};FCKSpecialCombo.prototype.SelectItemByLabel=function(A,B){for (var C in this.Items){var D=this.Items[C];if (D.FCKItemLabel==A){D.className=D.originalClass='SC_ItemSelected';D.Selected=true;if (B) this.SetLabel(A);}}};FCKSpecialCombo.prototype.DeselectAll=function(A){for (var i in this.Items){this.Items[i].className=this.Items[i].originalClass='SC_Item';this.Items[i].Selected=false;};if (A) this.SetLabel('');};FCKSpecialCombo.prototype.SetLabelById=function(A){A=A?A.toString().toLowerCase():'';var B=this.Items[A];this.SetLabel(B?B.FCKItemLabel:'');};FCKSpecialCombo.prototype.SetLabel=function(A){this.Label=A.length==0?'&nbsp;':A;if (this._LabelEl){this._LabelEl.innerHTML=this.Label;FCKTools.DisableSelection(this._LabelEl);}};FCKSpecialCombo.prototype.SetEnabled=function(A){this.Enabled=A;this._OuterTable.className=A?'':'SC_FieldDisabled';};FCKSpecialCombo.prototype.Create=function(A){var B=FCKTools.GetElementDocument(A);var C=this._OuterTable=A.appendChild(B.createElement('TABLE'));C.cellPadding=0;C.cellSpacing=0;C.insertRow(-1);var D;var E;switch (this.Style){case 0:D='TB_ButtonType_Icon';E=false;break;case 1:D='TB_ButtonType_Text';E=false;break;case 2:E=true;break;};if (this.Caption&&this.Caption.length>0&&E){var F=C.rows[0].insertCell(-1);F.innerHTML=this.Caption;F.className='SC_FieldCaption';};var G=FCKTools.AppendElement(C.rows[0].insertCell(-1),'div');if (E){G.className='SC_Field';G.style.width=this.FieldWidth+'px';G.innerHTML='<table width="100%" cellpadding="0" cellspacing="0" style="TABLE-LAYOUT: fixed;"><tbody><tr><td class="SC_FieldLabel"><label>&nbsp;</label></td><td class="SC_FieldButton">&nbsp;</td></tr></tbody></table>';this._LabelEl=G.getElementsByTagName('label')[0];this._LabelEl.innerHTML=this.Label;}else{G.className='TB_Button_Off';G.innerHTML='<table title="'+this.Tooltip+'" class="'+D+'" cellspacing="0" cellpadding="0" border="0"><tr><td><img class="TB_Button_Padding" src="'+FCK_SPACER_PATH+'" /></td><td class="TB_Text">'+this.Caption+'</td><td><img class="TB_Button_Padding" src="'+FCK_SPACER_PATH+'" /></td><td class="TB_ButtonArrow"><img src="'+FCKConfig.SkinPath+'images/toolbar.buttonarrow.gif" width="5" height="3"></td><td><img class="TB_Button_Padding" src="'+FCK_SPACER_PATH+'" /></td></tr></table>';};G.SpecialCombo=this;G.onmouseover=FCKSpecialCombo_OnMouseOver;G.onmouseout=FCKSpecialCombo_OnMouseOut;G.onclick=FCKSpecialCombo_OnClick;FCKTools.DisableSelection(this._Panel.Document.body);};function FCKSpecialCombo_Cleanup(){this._LabelEl=null;this._OuterTable=null;this._ItemsHolderEl=null;this._PanelBox=null;if (this.Items){for (var A in this.Items) this.Items[A]=null;}};function FCKSpecialCombo_OnMouseOver(){if (this.SpecialCombo.Enabled){switch (this.SpecialCombo.Style){case 0:this.className='TB_Button_On_Over';break;case 1:this.className='TB_Button_On_Over';break;case 2:this.className='SC_Field SC_FieldOver';break;}}};function FCKSpecialCombo_OnMouseOut(){switch (this.SpecialCombo.Style){case 0:this.className='TB_Button_Off';break;case 1:this.className='TB_Button_Off';break;case 2:this.className='SC_Field';break;}};function FCKSpecialCombo_OnClick(e){var A=this.SpecialCombo;if (A.Enabled){var B=A._Panel;var C=A._PanelBox;var D=A._ItemsHolderEl;var E=A.PanelMaxHeight;if (A.OnBeforeClick) A.OnBeforeClick(A);if (FCKBrowserInfo.IsIE) B.Preload(0,this.offsetHeight,this);if (D.offsetHeight>E) C.style.height=E+'px';else C.style.height='';B.Show(0,this.offsetHeight,this);}};\r
+var FCKToolbarSpecialCombo=function(){this.SourceView=false;this.ContextSensitive=true;this._LastValue=null;};function FCKToolbarSpecialCombo_OnSelect(A,B){FCK.ToolbarSet.CurrentInstance.Commands.GetCommand(this.CommandName).Execute(A,B);};FCKToolbarSpecialCombo.prototype.Create=function(A){this._Combo=new FCKSpecialCombo(this.GetLabel(),this.FieldWidth,this.PanelWidth,this.PanelMaxHeight,FCKBrowserInfo.IsIE?window:FCKTools.GetElementWindow(A).parent);this._Combo.Tooltip=this.Tooltip;this._Combo.Style=this.Style;this.CreateItems(this._Combo);this._Combo.Create(A);this._Combo.CommandName=this.CommandName;this._Combo.OnSelect=FCKToolbarSpecialCombo_OnSelect;};function FCKToolbarSpecialCombo_RefreshActiveItems(A,B){A.DeselectAll();A.SelectItem(B);A.SetLabelById(B);};FCKToolbarSpecialCombo.prototype.RefreshState=function(){var A;var B=FCK.ToolbarSet.CurrentInstance.Commands.GetCommand(this.CommandName).GetState();if (B!=-1){A=1;if (this.RefreshActiveItems) this.RefreshActiveItems(this._Combo,B);else{if (this._LastValue!=B){this._LastValue=B;FCKToolbarSpecialCombo_RefreshActiveItems(this._Combo,B);}}}else A=-1;if (A==this.State) return;if (A==-1){this._Combo.DeselectAll();this._Combo.SetLabel('');};this.State=A;this._Combo.SetEnabled(A!=-1);};FCKToolbarSpecialCombo.prototype.Enable=function(){this.RefreshState();};FCKToolbarSpecialCombo.prototype.Disable=function(){this.State=-1;this._Combo.DeselectAll();this._Combo.SetLabel('');this._Combo.SetEnabled(false);};\r
+var FCKToolbarFontsCombo=function(A,B){this.CommandName='FontName';this.Label=this.GetLabel();this.Tooltip=A?A:this.Label;this.Style=B?B:2;};FCKToolbarFontsCombo.prototype=new FCKToolbarSpecialCombo;FCKToolbarFontsCombo.prototype.GetLabel=function(){return FCKLang.Font;};FCKToolbarFontsCombo.prototype.CreateItems=function(A){var B=FCKConfig.FontNames.split(';');for (var i=0;i<B.length;i++) this._Combo.AddItem(B[i],'<font face="'+B[i]+'" style="font-size: 12px">'+B[i]+'</font>');}\r
+var FCKToolbarFontSizeCombo=function(A,B){this.CommandName='FontSize';this.Label=this.GetLabel();this.Tooltip=A?A:this.Label;this.Style=B?B:2;};FCKToolbarFontSizeCombo.prototype=new FCKToolbarSpecialCombo;FCKToolbarFontSizeCombo.prototype.GetLabel=function(){return FCKLang.FontSize;};FCKToolbarFontSizeCombo.prototype.CreateItems=function(A){A.FieldWidth=70;var B=FCKConfig.FontSizes.split(';');for (var i=0;i<B.length;i++){var C=B[i].split('/');this._Combo.AddItem(C[0],'<font size="'+C[0]+'">'+C[1]+'</font>',C[1]);}}\r
+var FCKToolbarFontFormatCombo=function(A,B){this.CommandName='FontFormat';this.Label=this.GetLabel();this.Tooltip=A?A:this.Label;this.Style=B?B:2;this.NormalLabel='Normal';this.PanelWidth=190;};FCKToolbarFontFormatCombo.prototype=new FCKToolbarSpecialCombo;FCKToolbarFontFormatCombo.prototype.GetLabel=function(){return FCKLang.FontFormat;};FCKToolbarFontFormatCombo.prototype.CreateItems=function(A){var B=A._Panel.Document;FCKTools.AppendStyleSheet(B,FCKConfig.ToolbarComboPreviewCSS);if (FCKConfig.BodyId&&FCKConfig.BodyId.length>0) B.body.id=FCKConfig.BodyId;if (FCKConfig.BodyClass&&FCKConfig.BodyClass.length>0) B.body.className+=' '+FCKConfig.BodyClass;var C=FCKLang['FontFormats'].split(';');var D={p:C[0],pre:C[1],address:C[2],h1:C[3],h2:C[4],h3:C[5],h4:C[6],h5:C[7],h6:C[8],div:C[9]};var E=FCKConfig.FontFormats.split(';');for (var i=0;i<E.length;i++){var F=E[i];var G=D[F];if (F=='p') this.NormalLabel=G;this._Combo.AddItem(F,'<div class="BaseFont"><'+F+'>'+G+'</'+F+'></div>',G);}};if (FCKBrowserInfo.IsIE){FCKToolbarFontFormatCombo.prototype.RefreshActiveItems=function(A,B){if (B==this.NormalLabel){if (A.Label!='&nbsp;') A.DeselectAll(true);}else{if (this._LastValue==B) return;A.SelectItemByLabel(B,true);};this._LastValue=B;}}\r
+var FCKToolbarStyleCombo=function(A,B){this.CommandName='Style';this.Label=this.GetLabel();this.Tooltip=A?A:this.Label;this.Style=B?B:2;};FCKToolbarStyleCombo.prototype=new FCKToolbarSpecialCombo;FCKToolbarStyleCombo.prototype.GetLabel=function(){return FCKLang.Style;};FCKToolbarStyleCombo.prototype.CreateItems=function(A){var B=A._Panel.Document;FCKTools.AppendStyleSheet(B,FCKConfig.ToolbarComboPreviewCSS);B.body.className+=' ForceBaseFont';if (FCKConfig.BodyId&&FCKConfig.BodyId.length>0) B.body.id=FCKConfig.BodyId;if (FCKConfig.BodyClass&&FCKConfig.BodyClass.length>0) B.body.className+=' '+FCKConfig.BodyClass;if (!(FCKBrowserInfo.IsGecko&&FCKBrowserInfo.IsGecko10)) A.OnBeforeClick=this.RefreshVisibleItems;var C=FCK.ToolbarSet.CurrentInstance.Commands.GetCommand(this.CommandName).Styles;for (var s in C){var D=C[s];var E;if (D.IsObjectElement) E=A.AddItem(s,s);else E=A.AddItem(s,D.GetOpenerTag()+s+D.GetCloserTag());E.Style=D;}};FCKToolbarStyleCombo.prototype.RefreshActiveItems=function(A){A.DeselectAll();var B=FCK.ToolbarSet.CurrentInstance.Commands.GetCommand(this.CommandName).GetActiveStyles();if (B.length>0){for (var i=0;i<B.length;i++) A.SelectItem(B[i].Name);A.SetLabelById(B[0].Name);}else A.SetLabel('');};FCKToolbarStyleCombo.prototype.RefreshVisibleItems=function(A){if (FCKSelection.GetType()=='Control') var B=FCKSelection.GetSelectedElement().tagName;for (var i in A.Items){var C=A.Items[i];if ((B&&C.Style.Element==B)||(!B&&!C.Style.IsObjectElement)) C.style.display='';else C.style.display='none';}}\r
+var FCKToolbarPanelButton=function(A,B,C,D,E){this.CommandName=A;var F;if (E==null) F=FCKConfig.SkinPath+'toolbar/'+A.toLowerCase()+'.gif';else if (typeof(E)=='number') F=[FCKConfig.SkinPath+'fck_strip.gif',16,E];var G=this._UIButton=new FCKToolbarButtonUI(A,B,C,F,D);G._FCKToolbarPanelButton=this;G.ShowArrow=true;G.OnClick=FCKToolbarPanelButton_OnButtonClick;};FCKToolbarPanelButton.prototype.TypeName='FCKToolbarPanelButton';FCKToolbarPanelButton.prototype.Create=function(A){A.className+='Menu';this._UIButton.Create(A);var B=FCK.ToolbarSet.CurrentInstance.Commands.GetCommand(this.CommandName)._Panel;B._FCKToolbarPanelButton=this;var C=B.Document.body.appendChild(B.Document.createElement('div'));C.style.position='absolute';C.style.top='0px';var D=this.LineImg=C.appendChild(B.Document.createElement('IMG'));D.className='TB_ConnectionLine';D.src=FCK_SPACER_PATH;B.OnHide=FCKToolbarPanelButton_OnPanelHide;};function FCKToolbarPanelButton_OnButtonClick(A){var B=this._FCKToolbarPanelButton;var e=B._UIButton.MainElement;B._UIButton.ChangeState(1);B.LineImg.style.width=(e.offsetWidth-2)+'px';FCK.ToolbarSet.CurrentInstance.Commands.GetCommand(B.CommandName).Execute(0,e.offsetHeight-1,e);};function FCKToolbarPanelButton_OnPanelHide(){var A=this._FCKToolbarPanelButton;A._UIButton.ChangeState(0);};FCKToolbarPanelButton.prototype.RefreshState=FCKToolbarButton.prototype.RefreshState;FCKToolbarPanelButton.prototype.Enable=FCKToolbarButton.prototype.Enable;FCKToolbarPanelButton.prototype.Disable=FCKToolbarButton.prototype.Disable;\r
+var FCKToolbarItems={};FCKToolbarItems.LoadedItems={};FCKToolbarItems.RegisterItem=function(A,B){this.LoadedItems[A]=B;};FCKToolbarItems.GetItem=function(A){var B=FCKToolbarItems.LoadedItems[A];if (B) return B;switch (A){case 'Source':B=new FCKToolbarButton('Source',FCKLang.Source,null,2,true,true,1);break;case 'DocProps':B=new FCKToolbarButton('DocProps',FCKLang.DocProps,null,null,null,null,2);break;case 'Save':B=new FCKToolbarButton('Save',FCKLang.Save,null,null,true,null,3);break;case 'NewPage':B=new FCKToolbarButton('NewPage',FCKLang.NewPage,null,null,true,null,4);break;case 'Preview':B=new FCKToolbarButton('Preview',FCKLang.Preview,null,null,true,null,5);break;case 'Templates':B=new FCKToolbarButton('Templates',FCKLang.Templates,null,null,null,null,6);break;case 'About':B=new FCKToolbarButton('About',FCKLang.About,null,null,true,null,47);break;case 'Cut':B=new FCKToolbarButton('Cut',FCKLang.Cut,null,null,false,true,7);break;case 'Copy':B=new FCKToolbarButton('Copy',FCKLang.Copy,null,null,false,true,8);break;case 'Paste':B=new FCKToolbarButton('Paste',FCKLang.Paste,null,null,false,true,9);break;case 'PasteText':B=new FCKToolbarButton('PasteText',FCKLang.PasteText,null,null,false,true,10);break;case 'PasteWord':B=new FCKToolbarButton('PasteWord',FCKLang.PasteWord,null,null,false,true,11);break;case 'Print':B=new FCKToolbarButton('Print',FCKLang.Print,null,null,false,true,12);break;case 'SpellCheck':B=new FCKToolbarButton('SpellCheck',FCKLang.SpellCheck,null,null,null,null,13);break;case 'Undo':B=new FCKToolbarButton('Undo',FCKLang.Undo,null,null,false,true,14);break;case 'Redo':B=new FCKToolbarButton('Redo',FCKLang.Redo,null,null,false,true,15);break;case 'SelectAll':B=new FCKToolbarButton('SelectAll',FCKLang.SelectAll,null,null,true,null,18);break;case 'RemoveFormat':B=new FCKToolbarButton('RemoveFormat',FCKLang.RemoveFormat,null,null,false,true,19);break;case 'FitWindow':B=new FCKToolbarButton('FitWindow',FCKLang.FitWindow,null,null,true,true,66);break;case 'Bold':B=new FCKToolbarButton('Bold',FCKLang.Bold,null,null,false,true,20);break;case 'Italic':B=new FCKToolbarButton('Italic',FCKLang.Italic,null,null,false,true,21);break;case 'Underline':B=new FCKToolbarButton('Underline',FCKLang.Underline,null,null,false,true,22);break;case 'StrikeThrough':B=new FCKToolbarButton('StrikeThrough',FCKLang.StrikeThrough,null,null,false,true,23);break;case 'Subscript':B=new FCKToolbarButton('Subscript',FCKLang.Subscript,null,null,false,true,24);break;case 'Superscript':B=new FCKToolbarButton('Superscript',FCKLang.Superscript,null,null,false,true,25);break;case 'OrderedList':B=new FCKToolbarButton('InsertOrderedList',FCKLang.NumberedListLbl,FCKLang.NumberedList,null,false,true,26);break;case 'UnorderedList':B=new FCKToolbarButton('InsertUnorderedList',FCKLang.BulletedListLbl,FCKLang.BulletedList,null,false,true,27);break;case 'Outdent':B=new FCKToolbarButton('Outdent',FCKLang.DecreaseIndent,null,null,false,true,28);break;case 'Indent':B=new FCKToolbarButton('Indent',FCKLang.IncreaseIndent,null,null,false,true,29);break;case 'Link':B=new FCKToolbarButton('Link',FCKLang.InsertLinkLbl,FCKLang.InsertLink,null,false,true,34);break;case 'Unlink':B=new FCKToolbarButton('Unlink',FCKLang.RemoveLink,null,null,false,true,35);break;case 'Anchor':B=new FCKToolbarButton('Anchor',FCKLang.Anchor,null,null,null,null,36);break;case 'Image':B=new FCKToolbarButton('Image',FCKLang.InsertImageLbl,FCKLang.InsertImage,null,false,true,37);break;case 'Flash':B=new FCKToolbarButton('Flash',FCKLang.InsertFlashLbl,FCKLang.InsertFlash,null,false,true,38);break;case 'Table':B=new FCKToolbarButton('Table',FCKLang.InsertTableLbl,FCKLang.InsertTable,null,false,true,39);break;case 'SpecialChar':B=new FCKToolbarButton('SpecialChar',FCKLang.InsertSpecialCharLbl,FCKLang.InsertSpecialChar,null,false,true,42);break;case 'Smiley':B=new FCKToolbarButton('Smiley',FCKLang.InsertSmileyLbl,FCKLang.InsertSmiley,null,false,true,41);break;case 'PageBreak':B=new FCKToolbarButton('PageBreak',FCKLang.PageBreakLbl,FCKLang.PageBreak,null,false,true,43);break;case 'Rule':B=new FCKToolbarButton('InsertHorizontalRule',FCKLang.InsertLineLbl,FCKLang.InsertLine,null,false,true,40);break;case 'JustifyLeft':B=new FCKToolbarButton('JustifyLeft',FCKLang.LeftJustify,null,null,false,true,30);break;case 'JustifyCenter':B=new FCKToolbarButton('JustifyCenter',FCKLang.CenterJustify,null,null,false,true,31);break;case 'JustifyRight':B=new FCKToolbarButton('JustifyRight',FCKLang.RightJustify,null,null,false,true,32);break;case 'JustifyFull':B=new FCKToolbarButton('JustifyFull',FCKLang.BlockJustify,null,null,false,true,33);break;case 'Style':B=new FCKToolbarStyleCombo();break;case 'FontName':B=new FCKToolbarFontsCombo();break;case 'FontSize':B=new FCKToolbarFontSizeCombo();break;case 'FontFormat':B=new FCKToolbarFontFormatCombo();break;case 'TextColor':B=new FCKToolbarPanelButton('TextColor',FCKLang.TextColor,null,null,45);break;case 'BGColor':B=new FCKToolbarPanelButton('BGColor',FCKLang.BGColor,null,null,46);break;case 'Find':B=new FCKToolbarButton('Find',FCKLang.Find,null,null,null,null,16);break;case 'Replace':B=new FCKToolbarButton('Replace',FCKLang.Replace,null,null,null,null,17);break;case 'Form':B=new FCKToolbarButton('Form',FCKLang.Form,null,null,null,null,48);break;case 'Checkbox':B=new FCKToolbarButton('Checkbox',FCKLang.Checkbox,null,null,null,null,49);break;case 'Radio':B=new FCKToolbarButton('Radio',FCKLang.RadioButton,null,null,null,null,50);break;case 'TextField':B=new FCKToolbarButton('TextField',FCKLang.TextField,null,null,null,null,51);break;case 'Textarea':B=new FCKToolbarButton('Textarea',FCKLang.Textarea,null,null,null,null,52);break;case 'HiddenField':B=new FCKToolbarButton('HiddenField',FCKLang.HiddenField,null,null,null,null,56);break;case 'Button':B=new FCKToolbarButton('Button',FCKLang.Button,null,null,null,null,54);break;case 'Select':B=new FCKToolbarButton('Select',FCKLang.SelectionField,null,null,null,null,53);break;case 'ImageButton':B=new FCKToolbarButton('ImageButton',FCKLang.ImageButton,null,null,null,null,55);break;default:alert(FCKLang.UnknownToolbarItem.replace(/%1/g,A));return null;};FCKToolbarItems.LoadedItems[A]=B;return B;}\r
+var FCKToolbar=function(){this.Items=[];if (FCK.IECleanup) FCK.IECleanup.AddItem(this,FCKToolbar_Cleanup);};FCKToolbar.prototype.AddItem=function(A){return this.Items[this.Items.length]=A;};FCKToolbar.prototype.AddButton=function(A,B,C,D,E,F){if (typeof(D)=='number') D=[this.DefaultIconsStrip,this.DefaultIconSize,D];var G=new FCKToolbarButtonUI(A,B,C,D,E,F);G._FCKToolbar=this;G.OnClick=FCKToolbar_OnItemClick;return this.AddItem(G);};function FCKToolbar_OnItemClick(A){var B=A._FCKToolbar;if (B.OnItemClick) B.OnItemClick(B,A);};FCKToolbar.prototype.AddSeparator=function(){this.AddItem(new FCKToolbarSeparator());};FCKToolbar.prototype.Create=function(A){if (this.MainElement){if (this.MainElement.parentNode) this.MainElement.parentNode.removeChild(this.MainElement);this.MainElement=null;};var B=FCKTools.GetElementDocument(A);var e=this.MainElement=B.createElement('table');e.className='TB_Toolbar';e.style.styleFloat=e.style.cssFloat=(FCKLang.Dir=='ltr'?'left':'right');e.dir=FCKLang.Dir;e.cellPadding=0;e.cellSpacing=0;this.RowElement=e.insertRow(-1);var C;if (!this.HideStart){C=this.RowElement.insertCell(-1);C.appendChild(B.createElement('div')).className='TB_Start';};for (var i=0;i<this.Items.length;i++){this.Items[i].Create(this.RowElement.insertCell(-1));};if (!this.HideEnd){C=this.RowElement.insertCell(-1);C.appendChild(B.createElement('div')).className='TB_End';};A.appendChild(e);};function FCKToolbar_Cleanup(){this.MainElement=null;this.RowElement=null;};var FCKToolbarSeparator=function(){};FCKToolbarSeparator.prototype.Create=function(A){FCKTools.AppendElement(A,'div').className='TB_Separator';}\r
+var FCKToolbarBreak=function(){};FCKToolbarBreak.prototype.Create=function(A){var B=FCKTools.GetElementDocument(A).createElement('div');B.className='TB_Break';B.style.clear=FCKLang.Dir=='rtl'?'left':'right';A.appendChild(B);}\r
+function FCKToolbarSet_Create(A){var B;var C=A||FCKConfig.ToolbarLocation;switch (C){case 'In':document.getElementById('xToolbarRow').style.display='';B=new FCKToolbarSet(document);break;default:FCK.Events.AttachEvent('OnBlur',FCK_OnBlur);FCK.Events.AttachEvent('OnFocus',FCK_OnFocus);var D;var E=C.match(/^Out:(.+)\((\w+)\)$/);if (E){D=eval('parent.'+E[1]).document.getElementById(E[2]);}else{E=C.match(/^Out:(\w+)$/);if (E) D=parent.document.getElementById(E[1]);};if (!D){alert('Invalid value for "ToolbarLocation"');return this._Init('In');};B=D.__FCKToolbarSet;if (B) break;var F=FCKTools.GetElementDocument(D).createElement('iframe');F.src='javascript:void(0)';F.frameBorder=0;F.width='100%';F.height='10';D.appendChild(F);F.unselectable='on';var G=F.contentWindow.document;G.open();G.write('<html><head><script type="text/javascript"> window.onload = window.onresize = function() { window.frameElement.height = document.body.scrollHeight ; } </script></head><body style="overflow: hidden">'+document.getElementById('xToolbarSpace').innerHTML+'</body></html>');G.close();G.oncontextmenu=FCKTools.CancelEvent;FCKTools.AppendStyleSheet(G,FCKConfig.SkinPath+'fck_editor.css');B=D.__FCKToolbarSet=new FCKToolbarSet(G);B._IFrame=F;if (FCK.IECleanup) FCK.IECleanup.AddItem(D,FCKToolbarSet_Target_Cleanup);};B.CurrentInstance=FCK;FCK.AttachToOnSelectionChange(B.RefreshItemsState);return B;};function FCK_OnBlur(A){var B=A.ToolbarSet;if (B.CurrentInstance==A) B.Disable();};function FCK_OnFocus(A){var B=A.ToolbarSet;var C=A||FCK;B.CurrentInstance.FocusManager.RemoveWindow(B._IFrame.contentWindow);B.CurrentInstance=C;C.FocusManager.AddWindow(B._IFrame.contentWindow,true);B.Enable();};function FCKToolbarSet_Cleanup(){this._TargetElement=null;this._IFrame=null;};function FCKToolbarSet_Target_Cleanup(){this.__FCKToolbarSet=null;};var FCKToolbarSet=function(A){this._Document=A;this._TargetElement=A.getElementById('xToolbar');var B=A.getElementById('xExpandHandle');var C=A.getElementById('xCollapseHandle');B.title=FCKLang.ToolbarExpand;B.onclick=FCKToolbarSet_Expand_OnClick;C.title=FCKLang.ToolbarCollapse;C.onclick=FCKToolbarSet_Collapse_OnClick;if (!FCKConfig.ToolbarCanCollapse||FCKConfig.ToolbarStartExpanded) this.Expand();else this.Collapse();C.style.display=FCKConfig.ToolbarCanCollapse?'':'none';if (FCKConfig.ToolbarCanCollapse) C.style.display='';else A.getElementById('xTBLeftBorder').style.display='';this.Toolbars=[];this.IsLoaded=false;if (FCK.IECleanup) FCK.IECleanup.AddItem(this,FCKToolbarSet_Cleanup);};function FCKToolbarSet_Expand_OnClick(){FCK.ToolbarSet.Expand();};function FCKToolbarSet_Collapse_OnClick(){FCK.ToolbarSet.Collapse();};FCKToolbarSet.prototype.Expand=function(){this._ChangeVisibility(false);};FCKToolbarSet.prototype.Collapse=function(){this._ChangeVisibility(true);};FCKToolbarSet.prototype._ChangeVisibility=function(A){this._Document.getElementById('xCollapsed').style.display=A?'':'none';this._Document.getElementById('xExpanded').style.display=A?'none':'';if (FCKBrowserInfo.IsGecko){FCKTools.RunFunction(window.onresize);}};FCKToolbarSet.prototype.Load=function(A){this.Name=A;this.Items=[];this.ItemsWysiwygOnly=[];this.ItemsContextSensitive=[];this._TargetElement.innerHTML='';var B=FCKConfig.ToolbarSets[A];if (!B){alert(FCKLang.UnknownToolbarSet.replace(/%1/g,A));return;};this.Toolbars=[];for (var x=0;x<B.length;x++){var C=B[x];if (!C) continue;var D;if (typeof(C)=='string'){if (C=='/') D=new FCKToolbarBreak();}else{D=new FCKToolbar();for (var j=0;j<C.length;j++){var E=C[j];if (E=='-') D.AddSeparator();else{var F=FCKToolbarItems.GetItem(E);if (F){D.AddItem(F);this.Items.push(F);if (!F.SourceView) this.ItemsWysiwygOnly.push(F);if (F.ContextSensitive) this.ItemsContextSensitive.push(F);}}}};D.Create(this._TargetElement);this.Toolbars[this.Toolbars.length]=D;};FCKTools.DisableSelection(this._Document.getElementById('xCollapseHandle').parentNode);if (FCK.Status!=2) FCK.Events.AttachEvent('OnStatusChange',this.RefreshModeState);else this.RefreshModeState();this.IsLoaded=true;this.IsEnabled=true;FCKTools.RunFunction(this.OnLoad);};FCKToolbarSet.prototype.Enable=function(){if (this.IsEnabled) return;this.IsEnabled=true;var A=this.Items;for (var i=0;i<A.length;i++) A[i].RefreshState();};FCKToolbarSet.prototype.Disable=function(){if (!this.IsEnabled) return;this.IsEnabled=false;var A=this.Items;for (var i=0;i<A.length;i++) A[i].Disable();};FCKToolbarSet.prototype.RefreshModeState=function(A){if (FCK.Status!=2) return;var B=A?A.ToolbarSet:this;var C=B.ItemsWysiwygOnly;if (FCK.EditMode==0){for (var i=0;i<C.length;i++) C[i].Enable();B.RefreshItemsState(A);}else{B.RefreshItemsState(A);for (var j=0;j<C.length;j++) C[j].Disable();}};FCKToolbarSet.prototype.RefreshItemsState=function(A){var B=(A?A.ToolbarSet:this).ItemsContextSensitive;for (var i=0;i<B.length;i++) B[i].RefreshState();};\r
+var FCKDialog={};FCKDialog.OpenDialog=function(A,B,C,D,E,F,G,H){var I={};I.Title=B;I.Page=C;I.Editor=window;I.CustomValue=F;var J=FCKConfig.BasePath+'fckdialog.html';this.Show(I,A,J,D,E,G,H);};\r
+FCKDialog.Show=function(A,B,C,D,E,F,G){if (!F) F=window;var H='help:no;scroll:no;status:no;resizable:'+(G?'yes':'no')+';dialogWidth:'+D+'px;dialogHeight:'+E+'px';FCKFocusManager.Lock();var I='B';try{I=F.showModalDialog(C,A,H);}catch(e) {};if ('B'===I) alert(FCKLang.DialogBlocked);FCKFocusManager.Unlock();};\r
+var FCKMenuItem=function(A,B,C,D,E){this.Name=B;this.Label=C||B;this.IsDisabled=E;this.Icon=new FCKIcon(D);this.SubMenu=new FCKMenuBlockPanel();this.SubMenu.Parent=A;this.SubMenu.OnClick=FCKTools.CreateEventListener(FCKMenuItem_SubMenu_OnClick,this);if (FCK.IECleanup) FCK.IECleanup.AddItem(this,FCKMenuItem_Cleanup);};FCKMenuItem.prototype.AddItem=function(A,B,C,D){this.HasSubMenu=true;return this.SubMenu.AddItem(A,B,C,D);};FCKMenuItem.prototype.AddSeparator=function(){this.SubMenu.AddSeparator();};FCKMenuItem.prototype.Create=function(A){var B=this.HasSubMenu;var C=FCKTools.GetElementDocument(A);var r=this.MainElement=A.insertRow(-1);r.className=this.IsDisabled?'MN_Item_Disabled':'MN_Item';if (!this.IsDisabled){FCKTools.AddEventListenerEx(r,'mouseover',FCKMenuItem_OnMouseOver,[this]);FCKTools.AddEventListenerEx(r,'click',FCKMenuItem_OnClick,[this]);if (!B) FCKTools.AddEventListenerEx(r,'mouseout',FCKMenuItem_OnMouseOut,[this]);};var D=r.insertCell(-1);D.className='MN_Icon';D.appendChild(this.Icon.CreateIconElement(C));D=r.insertCell(-1);D.className='MN_Label';D.noWrap=true;D.appendChild(C.createTextNode(this.Label));D=r.insertCell(-1);if (B){D.className='MN_Arrow';var E=D.appendChild(C.createElement('IMG'));E.src=FCK_IMAGES_PATH+'arrow_'+FCKLang.Dir+'.gif';E.width=4;E.height=7;this.SubMenu.Create();this.SubMenu.Panel.OnHide=FCKTools.CreateEventListener(FCKMenuItem_SubMenu_OnHide,this);}};FCKMenuItem.prototype.Activate=function(){this.MainElement.className='MN_Item_Over';if (this.HasSubMenu){this.SubMenu.Show(this.MainElement.offsetWidth+2,-2,this.MainElement);};FCKTools.RunFunction(this.OnActivate,this);};FCKMenuItem.prototype.Deactivate=function(){this.MainElement.className='MN_Item';if (this.HasSubMenu) this.SubMenu.Hide();};function FCKMenuItem_SubMenu_OnClick(A,B){FCKTools.RunFunction(B.OnClick,B,[A]);};function FCKMenuItem_SubMenu_OnHide(A){A.Deactivate();};function FCKMenuItem_OnClick(A,B){if (B.HasSubMenu) B.Activate();else{B.Deactivate();FCKTools.RunFunction(B.OnClick,B,[B]);}};function FCKMenuItem_OnMouseOver(A,B){B.Activate();};function FCKMenuItem_OnMouseOut(A,B){B.Deactivate();};function FCKMenuItem_Cleanup(){this.MainElement=null;}\r
+var FCKMenuBlock=function(){this._Items=[];};FCKMenuBlock.prototype.Count=function(){return this._Items.length;};FCKMenuBlock.prototype.AddItem=function(A,B,C,D){var E=new FCKMenuItem(this,A,B,C,D);E.OnClick=FCKTools.CreateEventListener(FCKMenuBlock_Item_OnClick,this);E.OnActivate=FCKTools.CreateEventListener(FCKMenuBlock_Item_OnActivate,this);this._Items.push(E);return E;};FCKMenuBlock.prototype.AddSeparator=function(){this._Items.push(new FCKMenuSeparator());};FCKMenuBlock.prototype.RemoveAllItems=function(){this._Items=[];var A=this._ItemsTable;if (A){while (A.rows.length>0) A.deleteRow(0);}};FCKMenuBlock.prototype.Create=function(A){if (!this._ItemsTable){if (FCK.IECleanup) FCK.IECleanup.AddItem(this,FCKMenuBlock_Cleanup);this._Window=FCKTools.GetElementWindow(A);var B=FCKTools.GetElementDocument(A);var C=A.appendChild(B.createElement('table'));C.cellPadding=0;C.cellSpacing=0;FCKTools.DisableSelection(C);var D=C.insertRow(-1).insertCell(-1);D.className='MN_Menu';var E=this._ItemsTable=D.appendChild(B.createElement('table'));E.cellPadding=0;E.cellSpacing=0;};for (var i=0;i<this._Items.length;i++) this._Items[i].Create(this._ItemsTable);};function FCKMenuBlock_Item_OnClick(A,B){FCKTools.RunFunction(B.OnClick,B,[A]);};function FCKMenuBlock_Item_OnActivate(A){var B=A._ActiveItem;if (B&&B!=this){if (!FCKBrowserInfo.IsIE&&B.HasSubMenu&&!this.HasSubMenu) A._Window.focus();B.Deactivate();};A._ActiveItem=this;};function FCKMenuBlock_Cleanup(){this._Window=null;this._ItemsTable=null;};var FCKMenuSeparator=function(){};FCKMenuSeparator.prototype.Create=function(A){var B=FCKTools.GetElementDocument(A);var r=A.insertRow(-1);var C=r.insertCell(-1);C.className='MN_Separator MN_Icon';C=r.insertCell(-1);C.className='MN_Separator';C.appendChild(B.createElement('DIV')).className='MN_Separator_Line';C=r.insertCell(-1);C.className='MN_Separator';C.appendChild(B.createElement('DIV')).className='MN_Separator_Line';}\r
+var FCKMenuBlockPanel=function(){FCKMenuBlock.call(this);};FCKMenuBlockPanel.prototype=new FCKMenuBlock();FCKMenuBlockPanel.prototype.Create=function(){var A=this.Panel=(this.Parent&&this.Parent.Panel?this.Parent.Panel.CreateChildPanel():new FCKPanel());A.AppendStyleSheet(FCKConfig.SkinPath+'fck_editor.css');FCKMenuBlock.prototype.Create.call(this,A.MainNode);};FCKMenuBlockPanel.prototype.Show=function(x,y,A){if (!this.Panel.CheckIsOpened()) this.Panel.Show(x,y,A);};FCKMenuBlockPanel.prototype.Hide=function(){if (this.Panel.CheckIsOpened()) this.Panel.Hide();}\r
+var FCKContextMenu=function(A,B){this.CtrlDisable=false;var C=this._Panel=new FCKPanel(A);C.AppendStyleSheet(FCKConfig.SkinPath+'fck_editor.css');C.IsContextMenu=true;if (FCKBrowserInfo.IsGecko) C.Document.addEventListener('draggesture',function(e) {e.preventDefault();return false;},true);var D=this._MenuBlock=new FCKMenuBlock();D.Panel=C;D.OnClick=FCKTools.CreateEventListener(FCKContextMenu_MenuBlock_OnClick,this);this._Redraw=true;};FCKContextMenu.prototype.SetMouseClickWindow=function(A){if (!FCKBrowserInfo.IsIE){this._Document=A.document;this._Document.addEventListener('contextmenu',FCKContextMenu_Document_OnContextMenu,false);}};FCKContextMenu.prototype.AddItem=function(A,B,C,D){var E=this._MenuBlock.AddItem(A,B,C,D);this._Redraw=true;return E;};FCKContextMenu.prototype.AddSeparator=function(){this._MenuBlock.AddSeparator();this._Redraw=true;};FCKContextMenu.prototype.RemoveAllItems=function(){this._MenuBlock.RemoveAllItems();this._Redraw=true;};FCKContextMenu.prototype.AttachToElement=function(A){if (FCKBrowserInfo.IsIE) FCKTools.AddEventListenerEx(A,'contextmenu',FCKContextMenu_AttachedElement_OnContextMenu,this);else A._FCKContextMenu=this;};function FCKContextMenu_Document_OnContextMenu(e){var A=e.target;while (A){if (A._FCKContextMenu){if (A._FCKContextMenu.CtrlDisable&&(e.ctrlKey||e.metaKey)) return true;FCKTools.CancelEvent(e);FCKContextMenu_AttachedElement_OnContextMenu(e,A._FCKContextMenu,A);};A=A.parentNode;}};function FCKContextMenu_AttachedElement_OnContextMenu(A,B,C){if (B.CtrlDisable&&(A.ctrlKey||A.metaKey)) return true;var D=C||this;if (B.OnBeforeOpen) B.OnBeforeOpen.call(B,D);if (B._MenuBlock.Count()==0) return false;if (B._Redraw){B._MenuBlock.Create(B._Panel.MainNode);B._Redraw=false;};FCKTools.DisableSelection(B._Panel.Document.body);B._Panel.Show(A.pageX||A.screenX,A.pageY||A.screenY,A.currentTarget||null);return false;};function FCKContextMenu_MenuBlock_OnClick(A,B){B._Panel.Hide();FCKTools.RunFunction(B.OnItemClick,B,A);}\r
+FCK.ContextMenu={};FCK.ContextMenu.Listeners=[];FCK.ContextMenu.RegisterListener=function(A){if (A) this.Listeners.push(A);};function FCK_ContextMenu_Init(){var A=FCK.ContextMenu._InnerContextMenu=new FCKContextMenu(FCKBrowserInfo.IsIE?window:window.parent,FCKLang.Dir);A.CtrlDisable=FCKConfig.BrowserContextMenuOnCtrl;A.OnBeforeOpen=FCK_ContextMenu_OnBeforeOpen;A.OnItemClick=FCK_ContextMenu_OnItemClick;var B=FCK.ContextMenu;for (var i=0;i<FCKConfig.ContextMenu.length;i++) B.RegisterListener(FCK_ContextMenu_GetListener(FCKConfig.ContextMenu[i]));};function FCK_ContextMenu_GetListener(A){switch (A){case 'Generic':return {AddItems:function(menu,tag,tagName){menu.AddItem('Cut',FCKLang.Cut,7,FCKCommands.GetCommand('Cut').GetState()==-1);menu.AddItem('Copy',FCKLang.Copy,8,FCKCommands.GetCommand('Copy').GetState()==-1);menu.AddItem('Paste',FCKLang.Paste,9,FCKCommands.GetCommand('Paste').GetState()==-1);}};case 'Table':return {AddItems:function(menu,tag,tagName){var B=(tagName=='TABLE');var C=(!B&&FCKSelection.HasAncestorNode('TABLE'));if (C){menu.AddSeparator();var D=menu.AddItem('Cell',FCKLang.CellCM);D.AddItem('TableInsertCell',FCKLang.InsertCell,58);D.AddItem('TableDeleteCells',FCKLang.DeleteCells,59);D.AddItem('TableMergeCells',FCKLang.MergeCells,60);D.AddItem('TableSplitCell',FCKLang.SplitCell,61);D.AddSeparator();D.AddItem('TableCellProp',FCKLang.CellProperties,57);menu.AddSeparator();D=menu.AddItem('Row',FCKLang.RowCM);D.AddItem('TableInsertRow',FCKLang.InsertRow,62);D.AddItem('TableDeleteRows',FCKLang.DeleteRows,63);menu.AddSeparator();D=menu.AddItem('Column',FCKLang.ColumnCM);D.AddItem('TableInsertColumn',FCKLang.InsertColumn,64);D.AddItem('TableDeleteColumns',FCKLang.DeleteColumns,65);};if (B||C){menu.AddSeparator();menu.AddItem('TableDelete',FCKLang.TableDelete);menu.AddItem('TableProp',FCKLang.TableProperties,39);}}};case 'Link':return {AddItems:function(menu,tag,tagName){var E=(tagName=='A'||FCKSelection.HasAncestorNode('A'));if (E||FCK.GetNamedCommandState('Unlink')!=-1){var F=FCKSelection.MoveToAncestorNode('A');var G=(F&&F.name.length>0&&F.href.length==0);if (G) return;menu.AddSeparator();if (E) menu.AddItem('Link',FCKLang.EditLink,34);menu.AddItem('Unlink',FCKLang.RemoveLink,35);}}};case 'Image':return {AddItems:function(menu,tag,tagName){if (tagName=='IMG'&&!tag.getAttribute('_fckfakelement')){menu.AddSeparator();menu.AddItem('Image',FCKLang.ImageProperties,37);}}};case 'Anchor':return {AddItems:function(menu,tag,tagName){var F=FCKSelection.MoveToAncestorNode('A');var G=(F&&F.name.length>0);if (G||(tagName=='IMG'&&tag.getAttribute('_fckanchor'))){menu.AddSeparator();menu.AddItem('Anchor',FCKLang.AnchorProp,36);}}};case 'Flash':return {AddItems:function(menu,tag,tagName){if (tagName=='IMG'&&tag.getAttribute('_fckflash')){menu.AddSeparator();menu.AddItem('Flash',FCKLang.FlashProperties,38);}}};case 'Form':return {AddItems:function(menu,tag,tagName){if (FCKSelection.HasAncestorNode('FORM')){menu.AddSeparator();menu.AddItem('Form',FCKLang.FormProp,48);}}};case 'Checkbox':return {AddItems:function(menu,tag,tagName){if (tagName=='INPUT'&&tag.type=='checkbox'){menu.AddSeparator();menu.AddItem('Checkbox',FCKLang.CheckboxProp,49);}}};case 'Radio':return {AddItems:function(menu,tag,tagName){if (tagName=='INPUT'&&tag.type=='radio'){menu.AddSeparator();menu.AddItem('Radio',FCKLang.RadioButtonProp,50);}}};case 'TextField':return {AddItems:function(menu,tag,tagName){if (tagName=='INPUT'&&(tag.type=='text'||tag.type=='password')){menu.AddSeparator();menu.AddItem('TextField',FCKLang.TextFieldProp,51);}}};case 'HiddenField':return {AddItems:function(menu,tag,tagName){if (tagName=='IMG'&&tag.getAttribute('_fckinputhidden')){menu.AddSeparator();menu.AddItem('HiddenField',FCKLang.HiddenFieldProp,56);}}};case 'ImageButton':return {AddItems:function(menu,tag,tagName){if (tagName=='INPUT'&&tag.type=='image'){menu.AddSeparator();menu.AddItem('ImageButton',FCKLang.ImageButtonProp,55);}}};case 'Button':return {AddItems:function(menu,tag,tagName){if (tagName=='INPUT'&&(tag.type=='button'||tag.type=='submit'||tag.type=='reset')){menu.AddSeparator();menu.AddItem('Button',FCKLang.ButtonProp,54);}}};case 'Select':return {AddItems:function(menu,tag,tagName){if (tagName=='SELECT'){menu.AddSeparator();menu.AddItem('Select',FCKLang.SelectionFieldProp,53);}}};case 'Textarea':return {AddItems:function(menu,tag,tagName){if (tagName=='TEXTAREA'){menu.AddSeparator();menu.AddItem('Textarea',FCKLang.TextareaProp,52);}}};case 'BulletedList':return {AddItems:function(menu,tag,tagName){if (FCKSelection.HasAncestorNode('UL')){menu.AddSeparator();menu.AddItem('BulletedList',FCKLang.BulletedListProp,27);}}};case 'NumberedList':return {AddItems:function(menu,tag,tagName){if (FCKSelection.HasAncestorNode('OL')){menu.AddSeparator();menu.AddItem('NumberedList',FCKLang.NumberedListProp,26);}}};};return null;};function FCK_ContextMenu_OnBeforeOpen(){FCK.Events.FireEvent('OnSelectionChange');var A,sTagName;if ((A=FCKSelection.GetSelectedElement())) sTagName=A.tagName;var B=FCK.ContextMenu._InnerContextMenu;B.RemoveAllItems();var C=FCK.ContextMenu.Listeners;for (var i=0;i<C.length;i++) C[i].AddItems(B,A,sTagName);};function FCK_ContextMenu_OnItemClick(A){FCK.Focus();FCKCommands.GetCommand(A.Name).Execute();};\r
+var FCKPlugin=function(A,B,C){this.Name=A;this.BasePath=C?C:FCKConfig.PluginsPath;this.Path=this.BasePath+A+'/';if (!B||B.length==0) this.AvailableLangs=[];else this.AvailableLangs=B.split(',');};FCKPlugin.prototype.Load=function(){if (this.AvailableLangs.length>0){var A;if (this.AvailableLangs.IndexOf(FCKLanguageManager.ActiveLanguage.Code)>=0) A=FCKLanguageManager.ActiveLanguage.Code;else A=this.AvailableLangs[0];LoadScript(this.Path+'lang/'+A+'.js');};LoadScript(this.Path+'fckplugin.js');}\r
+var FCKPlugins=FCK.Plugins={};FCKPlugins.ItemsCount=0;FCKPlugins.Items={};FCKPlugins.Load=function(){var A=FCKPlugins.Items;for (var i=0;i<FCKConfig.Plugins.Items.length;i++){var B=FCKConfig.Plugins.Items[i];var C=A[B[0]]=new FCKPlugin(B[0],B[1],B[2]);FCKPlugins.ItemsCount++;};for (var s in A) A[s].Load();FCKPlugins.Load=null;}\r
index f5eade9..a53ea8f 100644 (file)
@@ -1,6 +1,6 @@
 /*\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
  * Translations Status.\r
  */\r
 \r
-af.js      Found: 396   Missing: 36\r
-ar.js      Found: 420   Missing: 12\r
-bg.js      Found: 373   Missing: 59\r
-bn.js      Found: 380   Missing: 52\r
-bs.js      Found: 226   Missing: 206\r
-ca.js      Found: 420   Missing: 12\r
-cs.js      Found: 432   Missing: 0\r
-da.js      Found: 419   Missing: 13\r
-de.js      Found: 420   Missing: 12\r
-el.js      Found: 396   Missing: 36\r
-en-au.js   Found: 423   Missing: 9\r
-en-ca.js   Found: 423   Missing: 9\r
-en-uk.js   Found: 423   Missing: 9\r
-eo.js      Found: 346   Missing: 86\r
-es.js      Found: 428   Missing: 4\r
-et.js      Found: 411   Missing: 21\r
-eu.js      Found: 420   Missing: 12\r
-fa.js      Found: 413   Missing: 19\r
-fi.js      Found: 427   Missing: 5\r
-fo.js      Found: 420   Missing: 12\r
-fr-ca.js   Found: 419   Missing: 13\r
-fr.js      Found: 428   Missing: 4\r
-gl.js      Found: 381   Missing: 51\r
-gu.js      Found: 411   Missing: 21\r
-he.js      Found: 428   Missing: 4\r
-hi.js      Found: 420   Missing: 12\r
-hr.js      Found: 420   Missing: 12\r
-hu.js      Found: 411   Missing: 21\r
-is.js      Found: 428   Missing: 4\r
-it.js      Found: 410   Missing: 22\r
-ja.js      Found: 420   Missing: 12\r
-km.js      Found: 370   Missing: 62\r
-ko.js      Found: 391   Missing: 41\r
-lt.js      Found: 428   Missing: 4\r
-lv.js      Found: 381   Missing: 51\r
-mn.js      Found: 411   Missing: 21\r
-ms.js      Found: 352   Missing: 80\r
-nb.js      Found: 414   Missing: 18\r
-nl.js      Found: 420   Missing: 12\r
-no.js      Found: 414   Missing: 18\r
-pl.js      Found: 412   Missing: 20\r
-pt-br.js   Found: 411   Missing: 21\r
-pt.js      Found: 381   Missing: 51\r
-ro.js      Found: 410   Missing: 22\r
-ru.js      Found: 427   Missing: 5\r
-sk.js      Found: 420   Missing: 12\r
-sl.js      Found: 426   Missing: 6\r
-sr-latn.js Found: 368   Missing: 64\r
-sr.js      Found: 368   Missing: 64\r
-sv.js      Found: 431   Missing: 1\r
-th.js      Found: 393   Missing: 39\r
-tr.js      Found: 428   Missing: 4\r
-uk.js      Found: 419   Missing: 13\r
-vi.js      Found: 419   Missing: 13\r
-zh-cn.js   Found: 428   Missing: 4\r
-zh.js      Found: 423   Missing: 9\r
+af.js      Found: 401   Missing: 1\r
+ar.js      Found: 401   Missing: 1\r
+bg.js      Found: 378   Missing: 24\r
+bn.js      Found: 386   Missing: 16\r
+bs.js      Found: 230   Missing: 172\r
+ca.js      Found: 402   Missing: 0\r
+cs.js      Found: 400   Missing: 2\r
+da.js      Found: 386   Missing: 16\r
+de.js      Found: 401   Missing: 1\r
+el.js      Found: 401   Missing: 1\r
+en-au.js   Found: 402   Missing: 0\r
+en-ca.js   Found: 402   Missing: 0\r
+en-uk.js   Found: 402   Missing: 0\r
+eo.js      Found: 350   Missing: 52\r
+es.js      Found: 386   Missing: 16\r
+et.js      Found: 402   Missing: 0\r
+eu.js      Found: 386   Missing: 16\r
+fa.js      Found: 402   Missing: 0\r
+fi.js      Found: 402   Missing: 0\r
+fo.js      Found: 401   Missing: 1\r
+fr.js      Found: 401   Missing: 1\r
+gl.js      Found: 386   Missing: 16\r
+he.js      Found: 402   Missing: 0\r
+hi.js      Found: 401   Missing: 1\r
+hr.js      Found: 401   Missing: 1\r
+hu.js      Found: 401   Missing: 1\r
+it.js      Found: 401   Missing: 1\r
+ja.js      Found: 401   Missing: 1\r
+km.js      Found: 376   Missing: 26\r
+ko.js      Found: 373   Missing: 29\r
+lt.js      Found: 381   Missing: 21\r
+lv.js      Found: 386   Missing: 16\r
+mn.js      Found: 230   Missing: 172\r
+ms.js      Found: 356   Missing: 46\r
+nb.js      Found: 400   Missing: 2\r
+nl.js      Found: 401   Missing: 1\r
+no.js      Found: 400   Missing: 2\r
+pl.js      Found: 386   Missing: 16\r
+pt-br.js   Found: 401   Missing: 1\r
+pt.js      Found: 386   Missing: 16\r
+ro.js      Found: 400   Missing: 2\r
+ru.js      Found: 401   Missing: 1\r
+sk.js      Found: 401   Missing: 1\r
+sl.js      Found: 378   Missing: 24\r
+sr-latn.js Found: 373   Missing: 29\r
+sr.js      Found: 373   Missing: 29\r
+sv.js      Found: 401   Missing: 1\r
+th.js      Found: 398   Missing: 4\r
+tr.js      Found: 401   Missing: 1\r
+uk.js      Found: 402   Missing: 0\r
+vi.js      Found: 401   Missing: 1\r
+zh-cn.js   Found: 401   Missing: 1\r
+zh.js      Found: 401   Missing: 1\r
index ea23385..857dc3e 100644 (file)
@@ -1,6 +1,6 @@
 /*\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
@@ -44,9 +44,7 @@ RemoveFormat          : "Formaat verweider",
 InsertLinkLbl          : "Skakel",\r
 InsertLink                     : "Skakel byvoeg/verander",\r
 RemoveLink                     : "Skakel verweider",\r
-VisitLink                      : "Open Link",  //MISSING\r
 Anchor                         : "Plekhouer byvoeg/verander",\r
-AnchorDelete           : "Remove Anchor",      //MISSING\r
 InsertImageLbl         : "Beeld",\r
 InsertImage                    : "Beeld byvoeg/verander",\r
 InsertFlashLbl         : "Flash",\r
@@ -72,10 +70,6 @@ RightJustify         : "Regs rig",
 BlockJustify           : "Blok paradeer",\r
 DecreaseIndent         : "Paradeering verkort",\r
 IncreaseIndent         : "Paradeering verleng",\r
-Blockquote                     : "Blockquote", //MISSING\r
-CreateDiv                      : "Create Div Container",       //MISSING\r
-EditDiv                                : "Edit Div Container", //MISSING\r
-DeleteDiv                      : "Remove Div Container",       //MISSING\r
 Undo                           : "Ont-skep",\r
 Redo                           : "Her-skep",\r
 NumberedListLbl                : "Genommerde lys",\r
@@ -109,27 +103,20 @@ SelectionField    : "Opklapbare keuse strook",
 ImageButton            : "Beeld knop",\r
 \r
 FitWindow              : "Maksimaliseer venster grote",\r
-ShowBlocks             : "Show Blocks",        //MISSING\r
 \r
 // Context Menu\r
 EditLink                       : "Verander skakel",\r
 CellCM                         : "Cell",\r
 RowCM                          : "Ry",\r
 ColumnCM                       : "Kolom",\r
-InsertRowAfter         : "Insert Row After",   //MISSING\r
-InsertRowBefore                : "Insert Row Before",  //MISSING\r
+InsertRow                      : "Ry byvoeg",\r
 DeleteRows                     : "Ry verweider",\r
-InsertColumnAfter      : "Insert Column After",        //MISSING\r
-InsertColumnBefore     : "Insert Column Before",       //MISSING\r
+InsertColumn           : "Kolom byvoeg",\r
 DeleteColumns          : "Kolom verweider",\r
-InsertCellAfter                : "Insert Cell After",  //MISSING\r
-InsertCellBefore       : "Insert Cell Before", //MISSING\r
+InsertCell                     : "Cell byvoeg",\r
 DeleteCells                    : "Cell verweider",\r
 MergeCells                     : "Cell verenig",\r
-MergeRight                     : "Merge Right",        //MISSING\r
-MergeDown                      : "Merge Down", //MISSING\r
-HorizontalSplitCell    : "Split Cell Horizontally",    //MISSING\r
-VerticalSplitCell      : "Split Cell Vertically",      //MISSING\r
+SplitCell                      : "Cell verdeel",\r
 TableDelete                    : "Tabel verweider",\r
 CellProperties         : "Cell eienskappe",\r
 TableProperties                : "Tabel eienskappe",\r
@@ -147,7 +134,7 @@ SelectionFieldProp  : "Opklapbare keuse strook eienskappe",
 TextareaProp           : "Karakter area eienskappe",\r
 FormProp                       : "Form eienskappe",\r
 \r
-FontFormats                    : "Normaal;Geformateerd;Adres;Opskrif 1;Opskrif 2;Opskrif 3;Opskrif 4;Opskrif 5;Opskrif 6;Normaal (DIV)",\r
+FontFormats                    : "Normaal;Geformateerd;Adres;Opskrif 1;Opskrif 2;Opskrif 3;Opskrif 4;Opskrif 5;Opskrif 6;Normaal (DIV)",               //REVIEW : Check _getfontformat.html\r
 \r
 // Alerts and Messages\r
 ProcessingXHTML                : "XHTML word verarbeit. U geduld asseblief...",\r
@@ -161,7 +148,6 @@ UnknownToolbarSet   : "Gereedskaps balk \"%1\" bestaan nie",
 NoActiveX                      : "U browser sekuriteit instellings kan die funksies van die editor behinder. U moet die opsie \"Run ActiveX controls and plug-ins\" aktiveer. U ondervinding mag problematies geskiet of sekere funksionaliteit mag verhinder word.",\r
 BrowseServerBlocked : "Die vorraad venster word geblok! Verseker asseblief dat U die \"popup blocker\" instelling verander.",\r
 DialogBlocked          : "Die dialoog venster vir verdere informasie word geblok. De-aktiveer asseblief die \"popup blocker\" instellings wat dit behinder.",\r
-VisitLinkBlocked       : "It was not possible to open a new window. Make sure all popup blockers are disabled.",       //MISSING\r
 \r
 // Dialogs\r
 DlgBtnOK                       : "OK",\r
@@ -243,7 +229,7 @@ DlgLnkURL                   : "URL",
 DlgLnkAnchorSel                : "Kies 'n plekhouer",\r
 DlgLnkAnchorByName     : "Volgens plekhouer naam",\r
 DlgLnkAnchorById       : "Volgens element Id",\r
-DlgLnkNoAnchors                : "(Geen plekhouers beskikbaar in dokument}",\r
+DlgLnkNoAnchors                : "<Geen plekhouers beskikbaar in dokument>",           //REVIEW : Change < and > with ( and )\r
 DlgLnkEMail                    : "E-Mail Adres",\r
 DlgLnkEMailSubject     : "Boodskap Opskrif",\r
 DlgLnkEMailBody                : "Boodskap Inhoud",\r
@@ -308,11 +294,6 @@ DlgTableCellSpace  : "Cell spasieering",
 DlgTableCellPad                : "Cell buffer",\r
 DlgTableCaption                : "Beskreiwing",\r
 DlgTableSummary                : "Opsomming",\r
-DlgTableHeaders                : "Headers",    //MISSING\r
-DlgTableHeadersNone            : "None",       //MISSING\r
-DlgTableHeadersColumn  : "First column",       //MISSING\r
-DlgTableHeadersRow             : "First Row",  //MISSING\r
-DlgTableHeadersBoth            : "Both",       //MISSING\r
 \r
 // Table Cell Dialog\r
 DlgCellTitle           : "Cell eienskappe",\r
@@ -335,18 +316,12 @@ DlgCellVerAlignTop        : "Bo",
 DlgCellVerAlignMiddle  : "Middel",\r
 DlgCellVerAlignBottom  : "Onder",\r
 DlgCellVerAlignBaseline        : "Baseline",\r
-DlgCellType            : "Cell Type",  //MISSING\r
-DlgCellTypeData                : "Data",       //MISSING\r
-DlgCellTypeHeader      : "Header",     //MISSING\r
 DlgCellRowSpan         : "Rei strekking",\r
 DlgCellCollSpan                : "Kolom strekking",\r
 DlgCellBackColor       : "Agtergrond Kleur",\r
 DlgCellBorderColor     : "Kant Kleur",\r
 DlgCellBtnSelect       : "Keuse...",\r
 \r
-// Find and Replace Dialog\r
-DlgFindAndReplaceTitle : "Find and Replace",   //MISSING\r
-\r
 // Find Dialog\r
 DlgFindTitle           : "Vind",\r
 DlgFindFindBtn         : "Vind",\r
@@ -372,6 +347,7 @@ DlgPasteMsg2        : "Voeg asseblief die inhoud in die gegewe box by met sleutel kombe
 DlgPasteSec            : "Because of your browser security settings, the editor is not able to access your clipboard data directly. You are required to paste it again in this window.",       //MISSING\r
 DlgPasteIgnoreFont             : "Ignoreer karakter soort defenisies",\r
 DlgPasteRemoveStyles   : "Verweider Styl defenisies",\r
+DlgPasteCleanBox               : "Maak Box Skoon",\r
 \r
 // Color Picker\r
 ColorAutomatic : "Automaties",\r
@@ -524,16 +500,5 @@ DlgAboutAboutTab   : "Meer oor",
 DlgAboutBrowserInfoTab : "Blaai Informasie deur",\r
 DlgAboutLicenseTab     : "Lesensie",\r
 DlgAboutVersion                : "weergawe",\r
-DlgAboutInfo           : "Vir meer informasie gaan na ",\r
-\r
-// Div Dialog\r
-DlgDivGeneralTab       : "General",    //MISSING\r
-DlgDivAdvancedTab      : "Advanced",   //MISSING\r
-DlgDivStyle            : "Style",      //MISSING\r
-DlgDivInlineStyle      : "Inline Style",       //MISSING\r
-\r
-ScaytTitle                     : "SCAYT",      //MISSING\r
-ScaytTitleOptions      : "Options",    //MISSING\r
-ScaytTitleLangs                : "Languages",  //MISSING\r
-ScaytTitleAbout                : "About"       //MISSING\r
-};\r
+DlgAboutInfo           : "Vir meer informasie gaan na "\r
+};
\ No newline at end of file
index 8bbbca6..91d34f1 100644 (file)
@@ -1,6 +1,6 @@
 /*\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
@@ -44,9 +44,7 @@ RemoveFormat          : "إزالة التنسيقات",
 InsertLinkLbl          : "رابط",\r
 InsertLink                     : "إدراج/تحرير رابط",\r
 RemoveLink                     : "إزالة رابط",\r
-VisitLink                      : "افتح الرابط",\r
 Anchor                         : "إدراج/تحرير إشارة مرجعية",\r
-AnchorDelete           : "إزالة إشارة مرجعية",\r
 InsertImageLbl         : "صورة",\r
 InsertImage                    : "إدراج/تحرير صورة",\r
 InsertFlashLbl         : "فلاش",\r
@@ -72,10 +70,6 @@ RightJustify         : "محاذاة إلى اليمين",
 BlockJustify           : "ضبط",\r
 DecreaseIndent         : "إنقاص المسافة البادئة",\r
 IncreaseIndent         : "زيادة المسافة البادئة",\r
-Blockquote                     : "اقتباس",\r
-CreateDiv                      : "إنشاء حاوية Div",\r
-EditDiv                                : "تعديل حاوية Div",\r
-DeleteDiv                      : "إزالة حاوية Div",\r
 Undo                           : "تراجع",\r
 Redo                           : "إعادة",\r
 NumberedListLbl                : "تعداد رقمي",\r
@@ -109,27 +103,20 @@ SelectionField    : "قائمة منسدلة",
 ImageButton            : "زر صورة",\r
 \r
 FitWindow              : "تكبير حجم المحرر",\r
-ShowBlocks             : "مخطط تفصيلي",\r
 \r
 // Context Menu\r
 EditLink                       : "تحرير رابط",\r
 CellCM                         : "خلية",\r
 RowCM                          : "صف",\r
 ColumnCM                       : "عمود",\r
-InsertRowAfter         : "إدراج صف بعد",\r
-InsertRowBefore                : "إدراج صف قبل",\r
+InsertRow                      : "إدراج صف",\r
 DeleteRows                     : "حذف صفوف",\r
-InsertColumnAfter      : "إدراج عمود بعد",\r
-InsertColumnBefore     : "إدراج عمود قبل",\r
+InsertColumn           : "إدراج عمود",\r
 DeleteColumns          : "حذف أعمدة",\r
-InsertCellAfter                : "إدراج خلية بعد",\r
-InsertCellBefore       : "إدراج خلية قبل",\r
+InsertCell                     : "إدراج خلية",\r
 DeleteCells                    : "حذف خلايا",\r
 MergeCells                     : "دمج خلايا",\r
-MergeRight                     : "دمج لليمين",\r
-MergeDown                      : "دمج للأسفل",\r
-HorizontalSplitCell    : "تقسيم الخلية أفقياً",\r
-VerticalSplitCell      : "تقسيم الخلية عمودياً",\r
+SplitCell                      : "تقسيم خلية",\r
 TableDelete                    : "حذف الجدول",\r
 CellProperties         : "خصائص الخلية",\r
 TableProperties                : "خصائص الجدول",\r
@@ -147,7 +134,7 @@ SelectionFieldProp  : "خصائص القائمة المنسدلة",
 TextareaProp           : "خصائص ناحية النص",\r
 FormProp                       : "خصائص النموذج",\r
 \r
-FontFormats                    : "عادي;منسّق;دوس;العنوان 1;العنوان  2;العنوان  3;العنوان  4;العنوان  5;العنوان  6",\r
+FontFormats                    : "عادي;منسّق;دوس;العنوان 1;العنوان  2;العنوان  3;العنوان  4;العنوان  5;العنوان  6",              //REVIEW : Check _getfontformat.html\r
 \r
 // Alerts and Messages\r
 ProcessingXHTML                : "إنتظر قليلاً ريثما تتم   معالَجة‏ XHTML. لن يستغرق طويلاً...",\r
@@ -161,7 +148,6 @@ UnknownToolbarSet   : "لم أتمكن من العثور على طقم الأدو
 NoActiveX                      : "لتأمين متصفحك يجب أن تحدد بعض مميزات المحرر. يتوجب عليك تمكين الخيار \"Run ActiveX controls and plug-ins\". قد تواجة أخطاء وتلاحظ مميزات مفقودة",\r
 BrowseServerBlocked : "لايمكن فتح مصدر المتصفح. فضلا يجب التأكد بأن جميع موانع النوافذ المنبثقة معطلة",\r
 DialogBlocked          : "لايمكن فتح نافذة الحوار . فضلا تأكد من أن  مانع النوافذ المنبثة معطل .",\r
-VisitLinkBlocked       : "لا يمكن فتح نافذة جديدة. تأكد من إيقاف كل مانعي فتح النوافذ من العمل.",\r
 \r
 // Dialogs\r
 DlgBtnOK                       : "موافق",\r
@@ -243,7 +229,7 @@ DlgLnkURL                   : "الموقع",
 DlgLnkAnchorSel                : "اختر علامة مرجعية",\r
 DlgLnkAnchorByName     : "حسب اسم العلامة",\r
 DlgLnkAnchorById       : "حسب تعريف العنصر",\r
-DlgLnkNoAnchors                : "(لا يوجد علامات مرجعية في هذا المستند)",\r
+DlgLnkNoAnchors                : "<لا يوجد علامات مرجعية في هذا المستند>",               //REVIEW : Change < and > with ( and )\r
 DlgLnkEMail                    : "عنوان بريد إلكتروني",\r
 DlgLnkEMailSubject     : "موضوع الرسالة",\r
 DlgLnkEMailBody                : "محتوى الرسالة",\r
@@ -308,11 +294,6 @@ DlgTableCellSpace  : "تباعد الخلايا",
 DlgTableCellPad                : "المسافة البادئة",\r
 DlgTableCaption                : "الوصف",\r
 DlgTableSummary                : "الخلاصة",\r
-DlgTableHeaders                : "Headers",    //MISSING\r
-DlgTableHeadersNone            : "None",       //MISSING\r
-DlgTableHeadersColumn  : "First column",       //MISSING\r
-DlgTableHeadersRow             : "First Row",  //MISSING\r
-DlgTableHeadersBoth            : "Both",       //MISSING\r
 \r
 // Table Cell Dialog\r
 DlgCellTitle           : "خصائص الخلية",\r
@@ -335,18 +316,12 @@ DlgCellVerAlignTop        : "أعلى",
 DlgCellVerAlignMiddle  : "وسط",\r
 DlgCellVerAlignBottom  : "أسفل",\r
 DlgCellVerAlignBaseline        : "على السطر",\r
-DlgCellType            : "Cell Type",  //MISSING\r
-DlgCellTypeData                : "Data",       //MISSING\r
-DlgCellTypeHeader      : "Header",     //MISSING\r
 DlgCellRowSpan         : "إمتداد الصفوف",\r
 DlgCellCollSpan                : "إمتداد الأعمدة",\r
 DlgCellBackColor       : "لون الخلفية",\r
 DlgCellBorderColor     : "لون الحدود",\r
 DlgCellBtnSelect       : "حدّد...",\r
 \r
-// Find and Replace Dialog\r
-DlgFindAndReplaceTitle : "بحث واستبدال",\r
-\r
 // Find Dialog\r
 DlgFindTitle           : "بحث",\r
 DlgFindFindBtn         : "ابحث",\r
@@ -369,9 +344,10 @@ PasteAsText                : "لصق كنص بسيط",
 PasteFromWord  : "لصق من وورد",\r
 \r
 DlgPasteMsg2   : "الصق داخل الصندوق بإستخدام زرّي (<STRONG>Ctrl+V</STRONG>) في لوحة المفاتيح، ثم اضغط زر  <STRONG>موافق</STRONG>.",\r
-DlgPasteSec            : "نظراً لإعدادات الأمان الخاصة بمتصفحك، لن يتمكن هذا المحرر من الوصول لمحتوى حافظتك، لذا وجب عليك لصق المحتوى مرة أخرى في هذه النافذة.",\r
+DlgPasteSec            : "Because of your browser security settings, the editor is not able to access your clipboard data directly. You are required to paste it again in this window.",       //MISSING\r
 DlgPasteIgnoreFont             : "تجاهل تعريفات أسماء الخطوط",\r
 DlgPasteRemoveStyles   : "إزالة تعريفات الأنماط",\r
+DlgPasteCleanBox               : "نظّف محتوى الصندوق",\r
 \r
 // Color Picker\r
 ColorAutomatic : "تلقائي",\r
@@ -524,16 +500,5 @@ DlgAboutAboutTab   : "نبذة",
 DlgAboutBrowserInfoTab : "معلومات متصفحك",\r
 DlgAboutLicenseTab     : "الترخيص",\r
 DlgAboutVersion                : "الإصدار",\r
-DlgAboutInfo           : "لمزيد من المعلومات تفضل بزيارة",\r
-\r
-// Div Dialog\r
-DlgDivGeneralTab       : "عام",\r
-DlgDivAdvancedTab      : "متقدم",\r
-DlgDivStyle            : "المظهر",\r
-DlgDivInlineStyle      : "المظهر المضمن",\r
-\r
-ScaytTitle                     : "SCAYT",      //MISSING\r
-ScaytTitleOptions      : "Options",    //MISSING\r
-ScaytTitleLangs                : "Languages",  //MISSING\r
-ScaytTitleAbout                : "About"       //MISSING\r
-};\r
+DlgAboutInfo           : "لمزيد من المعلومات تفضل بزيارة"\r
+};
\ No newline at end of file
index 0a9022f..423bd02 100644 (file)
@@ -1,6 +1,6 @@
 /*\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
@@ -44,9 +44,7 @@ RemoveFormat          : "Изтрий форматирането",
 InsertLinkLbl          : "Връзка",\r
 InsertLink                     : "Добави/Редактирай връзка",\r
 RemoveLink                     : "Изтрий връзка",\r
-VisitLink                      : "Open Link",  //MISSING\r
 Anchor                         : "Добави/Редактирай котва",\r
-AnchorDelete           : "Remove Anchor",      //MISSING\r
 InsertImageLbl         : "Изображение",\r
 InsertImage                    : "Добави/Редактирай изображение",\r
 InsertFlashLbl         : "Flash",\r
@@ -72,10 +70,6 @@ RightJustify         : "Подравняване в дясно",
 BlockJustify           : "Двустранно подравняване",\r
 DecreaseIndent         : "Намали отстъпа",\r
 IncreaseIndent         : "Увеличи отстъпа",\r
-Blockquote                     : "Blockquote", //MISSING\r
-CreateDiv                      : "Create Div Container",       //MISSING\r
-EditDiv                                : "Edit Div Container", //MISSING\r
-DeleteDiv                      : "Remove Div Container",       //MISSING\r
 Undo                           : "Отмени",\r
 Redo                           : "Повтори",\r
 NumberedListLbl                : "Нумериран списък",\r
@@ -109,27 +103,20 @@ SelectionField    : "Падащо меню с опции",
 ImageButton            : "Бутон-изображение",\r
 \r
 FitWindow              : "Maximize the editor size",   //MISSING\r
-ShowBlocks             : "Show Blocks",        //MISSING\r
 \r
 // Context Menu\r
 EditLink                       : "Редактирай връзка",\r
 CellCM                         : "Cell",       //MISSING\r
 RowCM                          : "Row",        //MISSING\r
 ColumnCM                       : "Column",     //MISSING\r
-InsertRowAfter         : "Insert Row After",   //MISSING\r
-InsertRowBefore                : "Insert Row Before",  //MISSING\r
+InsertRow                      : "Добави ред",\r
 DeleteRows                     : "Изтрий редовете",\r
-InsertColumnAfter      : "Insert Column After",        //MISSING\r
-InsertColumnBefore     : "Insert Column Before",       //MISSING\r
+InsertColumn           : "Добави колона",\r
 DeleteColumns          : "Изтрий колоните",\r
-InsertCellAfter                : "Insert Cell After",  //MISSING\r
-InsertCellBefore       : "Insert Cell Before", //MISSING\r
+InsertCell                     : "Добави клетка",\r
 DeleteCells                    : "Изтрий клетките",\r
 MergeCells                     : "Обедини клетките",\r
-MergeRight                     : "Merge Right",        //MISSING\r
-MergeDown                      : "Merge Down", //MISSING\r
-HorizontalSplitCell    : "Split Cell Horizontally",    //MISSING\r
-VerticalSplitCell      : "Split Cell Vertically",      //MISSING\r
+SplitCell                      : "Раздели клетката",\r
 TableDelete                    : "Изтрий таблицата",\r
 CellProperties         : "Параметри на клетката",\r
 TableProperties                : "Параметри на таблицата",\r
@@ -147,7 +134,7 @@ SelectionFieldProp  : "Параметри на падащото меню с оп
 TextareaProp           : "Параметри на текстовата област",\r
 FormProp                       : "Параметри на формуляра",\r
 \r
-FontFormats                    : "Нормален;Форматиран;Адрес;Заглавие 1;Заглавие 2;Заглавие 3;Заглавие 4;Заглавие 5;Заглавие 6;Параграф (DIV)",\r
+FontFormats                    : "Нормален;Форматиран;Адрес;Заглавие 1;Заглавие 2;Заглавие 3;Заглавие 4;Заглавие 5;Заглавие 6;Параграф (DIV)",          //REVIEW : Check _getfontformat.html\r
 \r
 // Alerts and Messages\r
 ProcessingXHTML                : "Обработка на XHTML. Моля изчакайте...",\r
@@ -161,7 +148,6 @@ UnknownToolbarSet   : "Панелът \"%1\" не съществува",
 NoActiveX                      : "Your browser's security settings could limit some features of the editor. You must enable the option \"Run ActiveX controls and plug-ins\". You may experience errors and notice missing features.", //MISSING\r
 BrowseServerBlocked : "The resources browser could not be opened. Make sure that all popup blockers are disabled.",    //MISSING\r
 DialogBlocked          : "It was not possible to open the dialog window. Make sure all popup blockers are disabled.",  //MISSING\r
-VisitLinkBlocked       : "It was not possible to open a new window. Make sure all popup blockers are disabled.",       //MISSING\r
 \r
 // Dialogs\r
 DlgBtnOK                       : "ОК",\r
@@ -243,7 +229,7 @@ DlgLnkURL                   : "Пълен път (URL)",
 DlgLnkAnchorSel                : "Изберете котва",\r
 DlgLnkAnchorByName     : "По име на котвата",\r
 DlgLnkAnchorById       : "По идентификатор на елемент",\r
-DlgLnkNoAnchors                : "(Няма котви в текущия документ)",\r
+DlgLnkNoAnchors                : "<Няма котви в текущия документ>",           //REVIEW : Change < and > with ( and )\r
 DlgLnkEMail                    : "Адрес за е-поща",\r
 DlgLnkEMailSubject     : "Тема на писмото",\r
 DlgLnkEMailBody                : "Текст на писмото",\r
@@ -308,11 +294,6 @@ DlgTableCellSpace  : "Разстояние между клетките",
 DlgTableCellPad                : "Отстъп на съдържанието в клетките",\r
 DlgTableCaption                : "Заглавие",\r
 DlgTableSummary                : "Резюме",\r
-DlgTableHeaders                : "Headers",    //MISSING\r
-DlgTableHeadersNone            : "None",       //MISSING\r
-DlgTableHeadersColumn  : "First column",       //MISSING\r
-DlgTableHeadersRow             : "First Row",  //MISSING\r
-DlgTableHeadersBoth            : "Both",       //MISSING\r
 \r
 // Table Cell Dialog\r
 DlgCellTitle           : "Параметри на клетката",\r
@@ -335,18 +316,12 @@ DlgCellVerAlignTop        : "Горе",
 DlgCellVerAlignMiddle  : "По средата",\r
 DlgCellVerAlignBottom  : "Долу",\r
 DlgCellVerAlignBaseline        : "По базовата линия",\r
-DlgCellType            : "Cell Type",  //MISSING\r
-DlgCellTypeData                : "Data",       //MISSING\r
-DlgCellTypeHeader      : "Header",     //MISSING\r
 DlgCellRowSpan         : "повече от един ред",\r
 DlgCellCollSpan                : "повече от една колона",\r
 DlgCellBackColor       : "фонов цвят",\r
 DlgCellBorderColor     : "цвят на рамката",\r
 DlgCellBtnSelect       : "Изберете...",\r
 \r
-// Find and Replace Dialog\r
-DlgFindAndReplaceTitle : "Find and Replace",   //MISSING\r
-\r
 // Find Dialog\r
 DlgFindTitle           : "Търси",\r
 DlgFindFindBtn         : "Търси",\r
@@ -372,6 +347,7 @@ DlgPasteMsg2        : "Вмъкнете тук съдъжанието с клавиат
 DlgPasteSec            : "Because of your browser security settings, the editor is not able to access your clipboard data directly. You are required to paste it again in this window.",       //MISSING\r
 DlgPasteIgnoreFont             : "Игнорирай шрифтовите дефиниции",\r
 DlgPasteRemoveStyles   : "Изтрий стиловите дефиниции",\r
+DlgPasteCleanBox               : "Изчисти",\r
 \r
 // Color Picker\r
 ColorAutomatic : "По подразбиране",\r
@@ -524,16 +500,5 @@ DlgAboutAboutTab   : "За",
 DlgAboutBrowserInfoTab : "Информация за браузъра",\r
 DlgAboutLicenseTab     : "License",    //MISSING\r
 DlgAboutVersion                : "версия",\r
-DlgAboutInfo           : "За повече информация посетете",\r
-\r
-// Div Dialog\r
-DlgDivGeneralTab       : "General",    //MISSING\r
-DlgDivAdvancedTab      : "Advanced",   //MISSING\r
-DlgDivStyle            : "Style",      //MISSING\r
-DlgDivInlineStyle      : "Inline Style",       //MISSING\r
-\r
-ScaytTitle                     : "SCAYT",      //MISSING\r
-ScaytTitleOptions      : "Options",    //MISSING\r
-ScaytTitleLangs                : "Languages",  //MISSING\r
-ScaytTitleAbout                : "About"       //MISSING\r
-};\r
+DlgAboutInfo           : "За повече информация посетете"\r
+};
\ No newline at end of file
index a919b98..8f76754 100644 (file)
@@ -1,6 +1,6 @@
 /*\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
@@ -44,9 +44,7 @@ RemoveFormat          : "ফরমেট সরাও",
 InsertLinkLbl          : "লিংকের যুক্ত করার লেবেল",\r
 InsertLink                     : "লিংক যুক্ত কর",\r
 RemoveLink                     : "লিংক সরাও",\r
-VisitLink                      : "Open Link",  //MISSING\r
 Anchor                         : "নোঙ্গর",\r
-AnchorDelete           : "Remove Anchor",      //MISSING\r
 InsertImageLbl         : "ছবির লেবেল যুক্ত কর",\r
 InsertImage                    : "ছবি যুক্ত কর",\r
 InsertFlashLbl         : "ফ্লাশ লেবেল যুক্ত কর",\r
@@ -72,10 +70,6 @@ RightJustify         : "ডান দিকে ঘেঁষা",
 BlockJustify           : "ব্লক জাস্টিফাই",\r
 DecreaseIndent         : "ইনডেন্ট কমাও",\r
 IncreaseIndent         : "ইনডেন্ট বাড়াও",\r
-Blockquote                     : "Blockquote", //MISSING\r
-CreateDiv                      : "Create Div Container",       //MISSING\r
-EditDiv                                : "Edit Div Container", //MISSING\r
-DeleteDiv                      : "Remove Div Container",       //MISSING\r
 Undo                           : "আনডু",\r
 Redo                           : "রি-ডু",\r
 NumberedListLbl                : "সাংখ্যিক লিস্টের লেবেল",\r
@@ -109,27 +103,20 @@ SelectionField    : "বাছাই ফীল্ড",
 ImageButton            : "ছবির বাটন",\r
 \r
 FitWindow              : "উইন্ডো ফিট কর",\r
-ShowBlocks             : "Show Blocks",        //MISSING\r
 \r
 // Context Menu\r
 EditLink                       : "লিংক সম্পাদন",\r
 CellCM                         : "সেল",\r
 RowCM                          : "রো",\r
 ColumnCM                       : "কলাম",\r
-InsertRowAfter         : "Insert Row After",   //MISSING\r
-InsertRowBefore                : "Insert Row Before",  //MISSING\r
+InsertRow                      : "রো যুক্ত কর",\r
 DeleteRows                     : "রো মুছে দাও",\r
-InsertColumnAfter      : "Insert Column After",        //MISSING\r
-InsertColumnBefore     : "Insert Column Before",       //MISSING\r
+InsertColumn           : "কলাম যুক্ত কর",\r
 DeleteColumns          : "কলাম মুছে দাও",\r
-InsertCellAfter                : "Insert Cell After",  //MISSING\r
-InsertCellBefore       : "Insert Cell Before", //MISSING\r
+InsertCell                     : "সেল যুক্ত কর",\r
 DeleteCells                    : "সেল মুছে দাও",\r
 MergeCells                     : "সেল জোড়া দাও",\r
-MergeRight                     : "Merge Right",        //MISSING\r
-MergeDown                      : "Merge Down", //MISSING\r
-HorizontalSplitCell    : "Split Cell Horizontally",    //MISSING\r
-VerticalSplitCell      : "Split Cell Vertically",      //MISSING\r
+SplitCell                      : "সেল আলাদা কর",\r
 TableDelete                    : "টেবিল ডিলীট কর",\r
 CellProperties         : "সেলের প্রোপার্টিজ",\r
 TableProperties                : "টেবিল প্রোপার্টি",\r
@@ -147,7 +134,7 @@ SelectionFieldProp  : "বাছাই ফীল্ড প্রোপার্
 TextareaProp           : "টেক্সট এরিয়া প্রোপার্টি",\r
 FormProp                       : "ফর্ম প্রোপার্টি",\r
 \r
-FontFormats                    : "সাধারণ;ফর্মেটেড;ঠিকানা;শীর্ষক ১;শীর্ষক ২;শীর্ষক ৩;শীর্ষক ৪;শীর্ষক ৫;শীর্ষক ৬;শীর্ষক (DIV)",\r
+FontFormats                    : "সাধারণ;ফর্মেটেড;ঠিকানা;শীর্ষক ১;শীর্ষক ২;শীর্ষক ৩;শীর্ষক ৪;শীর্ষক ৫;শীর্ষক ৬;শীর্ষক (DIV)",          //REVIEW : Check _getfontformat.html\r
 \r
 // Alerts and Messages\r
 ProcessingXHTML                : "XHTML প্রসেস করা হচ্ছে",\r
@@ -161,7 +148,6 @@ UnknownToolbarSet   : "টুলবার সেট \"%1\" এর অস্তি
 NoActiveX                      : "আপনার ব্রাউজারের সুরক্ষা সেটিংস কারনে এডিটরের কিছু ফিচার পাওয়া নাও যেতে পারে। আপনাকে অবশ্যই \"Run ActiveX controls and plug-ins\" এনাবেল করে নিতে হবে। আপনি ভুলভ্রান্তি কিছু কিছু ফিচারের অনুপস্থিতি উপলব্ধি করতে পারেন।",\r
 BrowseServerBlocked : "রিসোর্স ব্রাউজার খোলা গেল না। নিশ্চিত করুন যে সব পপআপ ব্লকার বন্ধ করা আছে।",\r
 DialogBlocked          : "ডায়ালগ ইউন্ডো খোলা গেল না। নিশ্চিত করুন যে সব পপআপ ব্লকার বন্ধ করা আছে।",\r
-VisitLinkBlocked       : "It was not possible to open a new window. Make sure all popup blockers are disabled.",       //MISSING\r
 \r
 // Dialogs\r
 DlgBtnOK                       : "ওকে",\r
@@ -243,7 +229,7 @@ DlgLnkURL                   : "URL",
 DlgLnkAnchorSel                : "নোঙর বাছাই",\r
 DlgLnkAnchorByName     : "নোঙরের নাম দিয়ে",\r
 DlgLnkAnchorById       : "নোঙরের আইডি দিয়ে",\r
-DlgLnkNoAnchors                : "(No anchors available in the document)",     //MISSING\r
+DlgLnkNoAnchors                : "<ডকুমেন্টে আর কোন নোঙর নেই>",              //REVIEW : Change < and > with ( and )\r
 DlgLnkEMail                    : "ইমেইল ঠিকানা",\r
 DlgLnkEMailSubject     : "মেসেজের বিষয়",\r
 DlgLnkEMailBody                : "মেসেজের দেহ",\r
@@ -308,11 +294,6 @@ DlgTableCellSpace  : "সেল স্পেস",
 DlgTableCellPad                : "সেল প্যাডিং",\r
 DlgTableCaption                : "শীর্ষক",\r
 DlgTableSummary                : "সারাংশ",\r
-DlgTableHeaders                : "Headers",    //MISSING\r
-DlgTableHeadersNone            : "None",       //MISSING\r
-DlgTableHeadersColumn  : "First column",       //MISSING\r
-DlgTableHeadersRow             : "First Row",  //MISSING\r
-DlgTableHeadersBoth            : "Both",       //MISSING\r
 \r
 // Table Cell Dialog\r
 DlgCellTitle           : "সেল প্রোপার্টি",\r
@@ -335,18 +316,12 @@ DlgCellVerAlignTop        : "উপর",
 DlgCellVerAlignMiddle  : "মধ্য",\r
 DlgCellVerAlignBottom  : "নীচে",\r
 DlgCellVerAlignBaseline        : "মূলরেখা",\r
-DlgCellType            : "Cell Type",  //MISSING\r
-DlgCellTypeData                : "Data",       //MISSING\r
-DlgCellTypeHeader      : "Header",     //MISSING\r
 DlgCellRowSpan         : "রো স্প্যান",\r
 DlgCellCollSpan                : "কলাম স্প্যান",\r
 DlgCellBackColor       : "ব্যাকগ্রাউন্ড রং",\r
 DlgCellBorderColor     : "বর্ডারের রং",\r
 DlgCellBtnSelect       : "বাছাই কর",\r
 \r
-// Find and Replace Dialog\r
-DlgFindAndReplaceTitle : "Find and Replace",   //MISSING\r
-\r
 // Find Dialog\r
 DlgFindTitle           : "খোঁজো",\r
 DlgFindFindBtn         : "খোঁজো",\r
@@ -372,6 +347,7 @@ DlgPasteMsg2        : "অনুগ্রহ করে নীচের বাক্স
 DlgPasteSec            : "Because of your browser security settings, the editor is not able to access your clipboard data directly. You are required to paste it again in this window.",       //MISSING\r
 DlgPasteIgnoreFont             : "ফন্ট ফেস ডেফিনেশন ইগনোর করুন",\r
 DlgPasteRemoveStyles   : "স্টাইল ডেফিনেশন সরিয়ে দিন",\r
+DlgPasteCleanBox               : "বাক্স পরিষ্কার করুন",\r
 \r
 // Color Picker\r
 ColorAutomatic : "অটোমেটিক",\r
@@ -524,16 +500,5 @@ DlgAboutAboutTab   : "কে বানিয়েছে",
 DlgAboutBrowserInfoTab : "ব্রাউজারের ব্যাপারে তথ্য",\r
 DlgAboutLicenseTab     : "লাইসেন্স",\r
 DlgAboutVersion                : "ভার্সন",\r
-DlgAboutInfo           : "আরও তথ্যের জন্য যান",\r
-\r
-// Div Dialog\r
-DlgDivGeneralTab       : "General",    //MISSING\r
-DlgDivAdvancedTab      : "Advanced",   //MISSING\r
-DlgDivStyle            : "Style",      //MISSING\r
-DlgDivInlineStyle      : "Inline Style",       //MISSING\r
-\r
-ScaytTitle                     : "SCAYT",      //MISSING\r
-ScaytTitleOptions      : "Options",    //MISSING\r
-ScaytTitleLangs                : "Languages",  //MISSING\r
-ScaytTitleAbout                : "About"       //MISSING\r
-};\r
+DlgAboutInfo           : "আরও তথ্যের জন্য যান"\r
+};
\ No newline at end of file
index 361ca58..fbaa451 100644 (file)
@@ -1,6 +1,6 @@
 /*\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
@@ -44,9 +44,7 @@ RemoveFormat          : "Poništi format",
 InsertLinkLbl          : "Link",\r
 InsertLink                     : "Ubaci/Izmjeni link",\r
 RemoveLink                     : "Izbriši link",\r
-VisitLink                      : "Open Link",  //MISSING\r
 Anchor                         : "Insert/Edit Anchor", //MISSING\r
-AnchorDelete           : "Remove Anchor",      //MISSING\r
 InsertImageLbl         : "Slika",\r
 InsertImage                    : "Ubaci/Izmjeni sliku",\r
 InsertFlashLbl         : "Flash",      //MISSING\r
@@ -72,10 +70,6 @@ RightJustify         : "Desno poravnanje",
 BlockJustify           : "Puno poravnanje",\r
 DecreaseIndent         : "Smanji uvod",\r
 IncreaseIndent         : "Poveæaj uvod",\r
-Blockquote                     : "Blockquote", //MISSING\r
-CreateDiv                      : "Create Div Container",       //MISSING\r
-EditDiv                                : "Edit Div Container", //MISSING\r
-DeleteDiv                      : "Remove Div Container",       //MISSING\r
 Undo                           : "Vrati",\r
 Redo                           : "Ponovi",\r
 NumberedListLbl                : "Numerisana lista",\r
@@ -109,27 +103,20 @@ SelectionField    : "Selection Field",    //MISSING
 ImageButton            : "Image Button",       //MISSING\r
 \r
 FitWindow              : "Maximize the editor size",   //MISSING\r
-ShowBlocks             : "Show Blocks",        //MISSING\r
 \r
 // Context Menu\r
 EditLink                       : "Izmjeni link",\r
 CellCM                         : "Cell",       //MISSING\r
 RowCM                          : "Row",        //MISSING\r
 ColumnCM                       : "Column",     //MISSING\r
-InsertRowAfter         : "Insert Row After",   //MISSING\r
-InsertRowBefore                : "Insert Row Before",  //MISSING\r
+InsertRow                      : "Ubaci red",\r
 DeleteRows                     : "Briši redove",\r
-InsertColumnAfter      : "Insert Column After",        //MISSING\r
-InsertColumnBefore     : "Insert Column Before",       //MISSING\r
+InsertColumn           : "Ubaci kolonu",\r
 DeleteColumns          : "Briši kolone",\r
-InsertCellAfter                : "Insert Cell After",  //MISSING\r
-InsertCellBefore       : "Insert Cell Before", //MISSING\r
+InsertCell                     : "Ubaci æeliju",\r
 DeleteCells                    : "Briši æelije",\r
 MergeCells                     : "Spoji æelije",\r
-MergeRight                     : "Merge Right",        //MISSING\r
-MergeDown                      : "Merge Down", //MISSING\r
-HorizontalSplitCell    : "Split Cell Horizontally",    //MISSING\r
-VerticalSplitCell      : "Split Cell Vertically",      //MISSING\r
+SplitCell                      : "Razdvoji æeliju",\r
 TableDelete                    : "Delete Table",       //MISSING\r
 CellProperties         : "Svojstva æelije",\r
 TableProperties                : "Svojstva tabele",\r
@@ -147,7 +134,7 @@ SelectionFieldProp  : "Selection Field Properties", //MISSING
 TextareaProp           : "Textarea Properties",        //MISSING\r
 FormProp                       : "Form Properties",    //MISSING\r
 \r
-FontFormats                    : "Normal;Formatted;Address;Heading 1;Heading 2;Heading 3;Heading 4;Heading 5;Heading 6",\r
+FontFormats                    : "Normal;Formatted;Address;Heading 1;Heading 2;Heading 3;Heading 4;Heading 5;Heading 6",               //REVIEW : Check _getfontformat.html\r
 \r
 // Alerts and Messages\r
 ProcessingXHTML                : "Procesiram XHTML. Molim saèekajte...",\r
@@ -161,7 +148,6 @@ UnknownToolbarSet   : "Traka sa alatima \"%1\" ne postoji",
 NoActiveX                      : "Your browser's security settings could limit some features of the editor. You must enable the option \"Run ActiveX controls and plug-ins\". You may experience errors and notice missing features.", //MISSING\r
 BrowseServerBlocked : "The resources browser could not be opened. Make sure that all popup blockers are disabled.",    //MISSING\r
 DialogBlocked          : "It was not possible to open the dialog window. Make sure all popup blockers are disabled.",  //MISSING\r
-VisitLinkBlocked       : "It was not possible to open a new window. Make sure all popup blockers are disabled.",       //MISSING\r
 \r
 // Dialogs\r
 DlgBtnOK                       : "OK",\r
@@ -243,7 +229,7 @@ DlgLnkURL                   : "URL",
 DlgLnkAnchorSel                : "Izaberi sidro",\r
 DlgLnkAnchorByName     : "Po nazivu sidra",\r
 DlgLnkAnchorById       : "Po Id-u elementa",\r
-DlgLnkNoAnchors                : "(Nema dostupnih sidra na stranici)",\r
+DlgLnkNoAnchors                : "<Nema dostupnih sidra na stranici>",         //REVIEW : Change < and > with ( and )\r
 DlgLnkEMail                    : "E-Mail Adresa",\r
 DlgLnkEMailSubject     : "Subjekt poruke",\r
 DlgLnkEMailBody                : "Poruka",\r
@@ -308,11 +294,6 @@ DlgTableCellSpace  : "Razmak æelija",
 DlgTableCellPad                : "Uvod æelija",\r
 DlgTableCaption                : "Naslov",\r
 DlgTableSummary                : "Summary",    //MISSING\r
-DlgTableHeaders                : "Headers",    //MISSING\r
-DlgTableHeadersNone            : "None",       //MISSING\r
-DlgTableHeadersColumn  : "First column",       //MISSING\r
-DlgTableHeadersRow             : "First Row",  //MISSING\r
-DlgTableHeadersBoth            : "Both",       //MISSING\r
 \r
 // Table Cell Dialog\r
 DlgCellTitle           : "Svojstva æelije",\r
@@ -335,18 +316,12 @@ DlgCellVerAlignTop        : "Gore",
 DlgCellVerAlignMiddle  : "Sredina",\r
 DlgCellVerAlignBottom  : "Dno",\r
 DlgCellVerAlignBaseline        : "Bazno",\r
-DlgCellType            : "Cell Type",  //MISSING\r
-DlgCellTypeData                : "Data",       //MISSING\r
-DlgCellTypeHeader      : "Header",     //MISSING\r
 DlgCellRowSpan         : "Spajanje æelija",\r
 DlgCellCollSpan                : "Spajanje kolona",\r
 DlgCellBackColor       : "Boja pozadine",\r
 DlgCellBorderColor     : "Boja okvira",\r
 DlgCellBtnSelect       : "Selektuj...",\r
 \r
-// Find and Replace Dialog\r
-DlgFindAndReplaceTitle : "Find and Replace",   //MISSING\r
-\r
 // Find Dialog\r
 DlgFindTitle           : "Naði",\r
 DlgFindFindBtn         : "Naði",\r
@@ -372,6 +347,7 @@ DlgPasteMsg2        : "Please paste inside the following box using the keyboard (<stron
 DlgPasteSec            : "Because of your browser security settings, the editor is not able to access your clipboard data directly. You are required to paste it again in this window.",       //MISSING\r
 DlgPasteIgnoreFont             : "Ignore Font Face definitions",       //MISSING\r
 DlgPasteRemoveStyles   : "Remove Styles definitions",  //MISSING\r
+DlgPasteCleanBox               : "Clean Up Box",       //MISSING\r
 \r
 // Color Picker\r
 ColorAutomatic : "Automatska",\r
@@ -524,16 +500,5 @@ DlgAboutAboutTab   : "About",      //MISSING
 DlgAboutBrowserInfoTab : "Browser Info",       //MISSING\r
 DlgAboutLicenseTab     : "License",    //MISSING\r
 DlgAboutVersion                : "verzija",\r
-DlgAboutInfo           : "Za više informacija posjetite",\r
-\r
-// Div Dialog\r
-DlgDivGeneralTab       : "General",    //MISSING\r
-DlgDivAdvancedTab      : "Advanced",   //MISSING\r
-DlgDivStyle            : "Style",      //MISSING\r
-DlgDivInlineStyle      : "Inline Style",       //MISSING\r
-\r
-ScaytTitle                     : "SCAYT",      //MISSING\r
-ScaytTitleOptions      : "Options",    //MISSING\r
-ScaytTitleLangs                : "Languages",  //MISSING\r
-ScaytTitleAbout                : "About"       //MISSING\r
-};\r
+DlgAboutInfo           : "Za više informacija posjetite"\r
+};
\ No newline at end of file
index 483e042..c3859cd 100644 (file)
@@ -1,6 +1,6 @@
 /*\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
@@ -26,13 +26,13 @@ var FCKLang =
 // Language direction : "ltr" (left to right) or "rtl" (right to left).\r
 Dir                                    : "ltr",\r
 \r
-ToolbarCollapse                : "Redueix la barra d'eines",\r
-ToolbarExpand          : "Amplia la barra d'eines",\r
+ToolbarCollapse                : "Col·lapsa la barra",\r
+ToolbarExpand          : "Amplia la barra",\r
 \r
 // Toolbar Items and Context Menu\r
 Save                           : "Desa",\r
 NewPage                                : "Nova Pàgina",\r
-Preview                                : "Visualització prèvia",\r
+Preview                                : "Vista Prèvia",\r
 Cut                                    : "Retalla",\r
 Copy                           : "Copia",\r
 Paste                          : "Enganxa",\r
@@ -43,10 +43,8 @@ SelectAll                    : "Selecciona-ho tot",
 RemoveFormat           : "Elimina Format",\r
 InsertLinkLbl          : "Enllaç",\r
 InsertLink                     : "Insereix/Edita enllaç",\r
-RemoveLink                     : "Elimina l'enllaç",\r
-VisitLink                      : "Obre l'enllaç",\r
+RemoveLink                     : "Elimina enllaç",\r
 Anchor                         : "Insereix/Edita àncora",\r
-AnchorDelete           : "Elimina àncora",\r
 InsertImageLbl         : "Imatge",\r
 InsertImage                    : "Insereix/Edita imatge",\r
 InsertFlashLbl         : "Flash",\r
@@ -59,29 +57,25 @@ InsertSpecialCharLbl: "Caràcter Especial",
 InsertSpecialChar      : "Insereix caràcter especial",\r
 InsertSmileyLbl                : "Icona",\r
 InsertSmiley           : "Insereix icona",\r
-About                          : "Quant a l'FCKeditor",\r
+About                          : "Quant a FCKeditor",\r
 Bold                           : "Negreta",\r
 Italic                         : "Cursiva",\r
 Underline                      : "Subratllat",\r
 StrikeThrough          : "Barrat",\r
 Subscript                      : "Subíndex",\r
 Superscript                    : "Superíndex",\r
-LeftJustify                    : "Alinia a l'esquerra",\r
-CenterJustify          : "Centrat",\r
-RightJustify           : "Alinia a la dreta",\r
-BlockJustify           : "Justificat",\r
-DecreaseIndent         : "Redueix el sagnat",\r
-IncreaseIndent         : "Augmenta el sagnat",\r
-Blockquote                     : "Bloc de cita",\r
-CreateDiv                      : "Crea un contenidor Div",\r
-EditDiv                                : "Edita el contenidor Div",\r
-DeleteDiv                      : "Elimina el contenidor Div",\r
+LeftJustify                    : "Aliniament esquerra",\r
+CenterJustify          : "Aliniament centrat",\r
+RightJustify           : "Aliniament dreta",\r
+BlockJustify           : "Justifica",\r
+DecreaseIndent         : "Sagna el text",\r
+IncreaseIndent         : "Treu el sagnat del text",\r
 Undo                           : "Desfés",\r
 Redo                           : "Refés",\r
 NumberedListLbl                : "Llista numerada",\r
-NumberedList           : "Numeració activada/desactivada",\r
+NumberedList           : "Aplica o elimina la llista numerada",\r
 BulletedListLbl                : "Llista de pics",\r
-BulletedList           : "Pics activats/descativats",\r
+BulletedList           : "Aplica o elimina la llista de pics",\r
 ShowTableBorders       : "Mostra les vores de les taules",\r
 ShowDetails                    : "Mostra detalls",\r
 Style                          : "Estil",\r
@@ -109,27 +103,20 @@ SelectionField    : "Camp de selecció",
 ImageButton            : "Botó d'imatge",\r
 \r
 FitWindow              : "Maximiza la mida de l'editor",\r
-ShowBlocks             : "Mostra els blocs",\r
 \r
 // Context Menu\r
 EditLink                       : "Edita l'enllaç",\r
 CellCM                         : "Cel·la",\r
 RowCM                          : "Fila",\r
 ColumnCM                       : "Columna",\r
-InsertRowAfter         : "Insereix fila darrera",\r
-InsertRowBefore                : "Insereix fila abans de",\r
+InsertRow                      : "Insereix una fila",\r
 DeleteRows                     : "Suprimeix una fila",\r
-InsertColumnAfter      : "Insereix columna darrera",\r
-InsertColumnBefore     : "Insereix columna abans de",\r
+InsertColumn           : "Afegeix una columna",\r
 DeleteColumns          : "Suprimeix una columna",\r
-InsertCellAfter                : "Insereix cel·la darrera",\r
-InsertCellBefore       : "Insereix cel·la abans de",\r
+InsertCell                     : "Insereix una cel·la",\r
 DeleteCells                    : "Suprimeix les cel·les",\r
 MergeCells                     : "Fusiona les cel·les",\r
-MergeRight                     : "Fusiona cap a la dreta",\r
-MergeDown                      : "Fusiona cap avall",\r
-HorizontalSplitCell    : "Divideix la cel·la horitzontalment",\r
-VerticalSplitCell      : "Divideix la cel·la verticalment",\r
+SplitCell                      : "Separa les cel·les",\r
 TableDelete                    : "Suprimeix la taula",\r
 CellProperties         : "Propietats de la cel·la",\r
 TableProperties                : "Propietats de la taula",\r
@@ -147,7 +134,7 @@ SelectionFieldProp  : "Propietats del camp de selecció",
 TextareaProp           : "Propietats de l'àrea de text",\r
 FormProp                       : "Propietats del formulari",\r
 \r
-FontFormats                    : "Normal;Formatejat;Adreça;Encapçalament 1;Encapçalament 2;Encapçalament 3;Encapçalament 4;Encapçalament 5;Encapçalament 6;Normal (DIV)",\r
+FontFormats                    : "Normal;Formatejat;Adreça;Encapçalament 1;Encapçalament 2;Encapçalament 3;Encapçalament 4;Encapçalament 5;Encapçalament 6",            //REVIEW : Check _getfontformat.html\r
 \r
 // Alerts and Messages\r
 ProcessingXHTML                : "Processant XHTML. Si us plau esperi...",\r
@@ -160,8 +147,7 @@ NotImplemented              : "Mètode no implementat",
 UnknownToolbarSet      : "Conjunt de barra d'eines \"%1\" inexistent",\r
 NoActiveX                      : "Les preferències del navegador poden limitar algunes funcions d'aquest editor. Cal habilitar l'opció \"Executa controls ActiveX i plug-ins\". Poden sorgir errors i poden faltar algunes funcions.",\r
 BrowseServerBlocked : "El visualitzador de recursos no s'ha pogut obrir. Assegura't de que els bloquejos de finestres emergents estan desactivats.",\r
-DialogBlocked          : "No ha estat possible obrir una finestra de diàleg. Assegureu-vos que els bloquejos de finestres emergents estan desactivats.",\r
-VisitLinkBlocked       : "No ha estat possible obrir una nova finestra. Assegureu-vos que els bloquejos de finestres emergents estan desactivats.",\r
+DialogBlocked          : "No ha estat possible obrir una finestra de diàleg. Assegura't de que els bloquejos de finestres emergents estan desactivats.",\r
 \r
 // Dialogs\r
 DlgBtnOK                       : "D'acord",\r
@@ -243,7 +229,7 @@ DlgLnkURL                   : "URL",
 DlgLnkAnchorSel                : "Selecciona una àncora",\r
 DlgLnkAnchorByName     : "Per nom d'àncora",\r
 DlgLnkAnchorById       : "Per Id d'element",\r
-DlgLnkNoAnchors                : "(No hi ha àncores disponibles en aquest document)",\r
+DlgLnkNoAnchors                : "(No hi ha àncores disponibles en aquest document)",         //REVIEW : Change < and > with ( and )\r
 DlgLnkEMail                    : "Adreça de correu electrònic",\r
 DlgLnkEMailSubject     : "Assumpte del missatge",\r
 DlgLnkEMailBody                : "Cos del missatge",\r
@@ -308,11 +294,6 @@ DlgTableCellSpace  : "Espaiat de cel·les",
 DlgTableCellPad                : "Encoixinament de cel·les",\r
 DlgTableCaption                : "Títol",\r
 DlgTableSummary                : "Resum",\r
-DlgTableHeaders                : "Headers",    //MISSING\r
-DlgTableHeadersNone            : "None",       //MISSING\r
-DlgTableHeadersColumn  : "First column",       //MISSING\r
-DlgTableHeadersRow             : "First Row",  //MISSING\r
-DlgTableHeadersBoth            : "Both",       //MISSING\r
 \r
 // Table Cell Dialog\r
 DlgCellTitle           : "Propietats de la cel·la",\r
@@ -335,18 +316,12 @@ DlgCellVerAlignTop        : "Top",
 DlgCellVerAlignMiddle  : "Middle",\r
 DlgCellVerAlignBottom  : "Bottom",\r
 DlgCellVerAlignBaseline        : "Baseline",\r
-DlgCellType            : "Cell Type",  //MISSING\r
-DlgCellTypeData                : "Data",       //MISSING\r
-DlgCellTypeHeader      : "Header",     //MISSING\r
 DlgCellRowSpan         : "Rows Span",\r
 DlgCellCollSpan                : "Columns Span",\r
 DlgCellBackColor       : "Color de fons",\r
 DlgCellBorderColor     : "Color de la vora",\r
 DlgCellBtnSelect       : "Seleccioneu...",\r
 \r
-// Find and Replace Dialog\r
-DlgFindAndReplaceTitle : "Cerca i reemplaça",\r
-\r
 // Find Dialog\r
 DlgFindTitle           : "Cerca",\r
 DlgFindFindBtn         : "Cerca",\r
@@ -372,6 +347,7 @@ DlgPasteMsg2        : "Si us plau, enganxeu dins del següent camp utilitzant el teclat
 DlgPasteSec            : "A causa de la configuració de seguretat del vostre navegador, l'editor no pot accedir al porta-retalls directament. Enganxeu-ho un altre cop en aquesta finestra.",\r
 DlgPasteIgnoreFont             : "Ignora definicions de font",\r
 DlgPasteRemoveStyles   : "Elimina definicions d'estil",\r
+DlgPasteCleanBox               : "Neteja camp",\r
 \r
 // Color Picker\r
 ColorAutomatic : "Automàtic",\r
@@ -387,20 +363,20 @@ DlgAnchorErrorName        : "Si us plau, escriviu el nom de l'ancora",
 \r
 // Speller Pages Dialog\r
 DlgSpellNotInDic               : "No és al diccionari",\r
-DlgSpellChangeTo               : "Reemplaça amb",\r
+DlgSpellChangeTo               : "Canvia a",\r
 DlgSpellBtnIgnore              : "Ignora",\r
 DlgSpellBtnIgnoreAll   : "Ignora-les totes",\r
 DlgSpellBtnReplace             : "Canvia",\r
 DlgSpellBtnReplaceAll  : "Canvia-les totes",\r
 DlgSpellBtnUndo                        : "Desfés",\r
-DlgSpellNoSuggestions  : "Cap suggeriment",\r
-DlgSpellProgress               : "Verificació ortogràfica en curs...",\r
-DlgSpellNoMispell              : "Verificació ortogràfica acabada: no hi ha cap paraula mal escrita",\r
-DlgSpellNoChanges              : "Verificació ortogràfica: no s'ha canviat cap paraula",\r
-DlgSpellOneChange              : "Verificació ortogràfica: s'ha canviat una paraula",\r
-DlgSpellManyChanges            : "Verificació ortogràfica: s'han canviat %1 paraules",\r
+DlgSpellNoSuggestions  : "Cap sugerència",\r
+DlgSpellProgress               : "Comprovació ortogràfica en progrés",\r
+DlgSpellNoMispell              : "Comprovació ortogràfica completada",\r
+DlgSpellNoChanges              : "Comprovació ortogràfica: cap paraulada canviada",\r
+DlgSpellOneChange              : "Comprovació ortogràfica: una paraula canviada",\r
+DlgSpellManyChanges            : "Comprovació ortogràfica %1 paraules canviades",\r
 \r
-IeSpellDownload                        : "Verificació ortogràfica no instal·lada. Voleu descarregar-ho ara?",\r
+IeSpellDownload                        : "Comprovació ortogràfica no instal·lada. Voleu descarregar-ho ara?",\r
 \r
 // Button Dialog\r
 DlgButtonText          : "Text (Valor)",\r
@@ -443,8 +419,8 @@ DlgTextareaRows     : "Files",
 // Text Field Dialog\r
 DlgTextName                    : "Nom",\r
 DlgTextValue           : "Valor",\r
-DlgTextCharWidth       : "Amplada",\r
-DlgTextMaxChars                : "Nombre màxim de caràcters",\r
+DlgTextCharWidth       : "Amplada de caràcter",\r
+DlgTextMaxChars                : "Màxim de caràcters",\r
 DlgTextType                    : "Tipus",\r
 DlgTextTypeText                : "Text",\r
 DlgTextTypePass                : "Contrasenya",\r
@@ -464,14 +440,14 @@ DlgLstTypeSquare  : "Quadrat",
 DlgLstTypeNumbers      : "Números (1, 2, 3)",\r
 DlgLstTypeLCase                : "Lletres minúscules (a, b, c)",\r
 DlgLstTypeUCase                : "Lletres majúscules (A, B, C)",\r
-DlgLstTypeSRoman       : "Números romans en minúscules (i, ii, iii)",\r
-DlgLstTypeLRoman       : "Números romans en majúscules (I, II, III)",\r
+DlgLstTypeSRoman       : "Números romans minúscules (i, ii, iii)",\r
+DlgLstTypeLRoman       : "Números romans majúscules (I, II, III)",\r
 \r
 // Document Properties Dialog\r
 DlgDocGeneralTab       : "General",\r
 DlgDocBackTab          : "Fons",\r
 DlgDocColorsTab                : "Colors i marges",\r
-DlgDocMetaTab          : "Metadades",\r
+DlgDocMetaTab          : "Dades Meta",\r
 \r
 DlgDocPageTitle                : "Títol de la pàgina",\r
 DlgDocLangDir          : "Direcció idioma",\r
@@ -514,7 +490,7 @@ DlgDocPreview               : "Vista prèvia",
 // Templates Dialog\r
 Templates                      : "Plantilles",\r
 DlgTemplatesTitle      : "Contingut plantilles",\r
-DlgTemplatesSelMsg     : "Si us plau, seleccioneu la plantilla per obrir a l'editor<br>(el contingut actual no serà enregistrat):",\r
+DlgTemplatesSelMsg     : "Si us plau, seleccioneu la plantilla per obrir en l'editor<br>(el contingut actual no serà enregistrat):",\r
 DlgTemplatesLoading    : "Carregant la llista de plantilles. Si us plau, espereu...",\r
 DlgTemplatesNoTpl      : "(No hi ha plantilles definides)",\r
 DlgTemplatesReplace    : "Reemplaça el contingut actual",\r
@@ -524,16 +500,5 @@ DlgAboutAboutTab   : "Quant a",
 DlgAboutBrowserInfoTab : "Informació del navegador",\r
 DlgAboutLicenseTab     : "Llicència",\r
 DlgAboutVersion                : "versió",\r
-DlgAboutInfo           : "Per a més informació aneu a",\r
-\r
-// Div Dialog\r
-DlgDivGeneralTab       : "General",\r
-DlgDivAdvancedTab      : "Avançat",\r
-DlgDivStyle            : "Estil",\r
-DlgDivInlineStyle      : "Estil en línia",\r
-\r
-ScaytTitle                     : "SCAYT",      //MISSING\r
-ScaytTitleOptions      : "Options",    //MISSING\r
-ScaytTitleLangs                : "Languages",  //MISSING\r
-ScaytTitleAbout                : "About"       //MISSING\r
-};\r
+DlgAboutInfo           : "Per a més informació aneu a"\r
+};
\ No newline at end of file
index 10bef9d..49b5f87 100644 (file)
@@ -1,6 +1,6 @@
 /*\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
@@ -44,9 +44,7 @@ RemoveFormat          : "Odstranit formátování",
 InsertLinkLbl          : "Odkaz",\r
 InsertLink                     : "Vložit/změnit odkaz",\r
 RemoveLink                     : "Odstranit odkaz",\r
-VisitLink                      : "Otevřít odkaz",\r
 Anchor                         : "Vložít/změnit záložku",\r
-AnchorDelete           : "Odstranit kotvu",\r
 InsertImageLbl         : "Obrázek",\r
 InsertImage                    : "Vložit/změnit obrázek",\r
 InsertFlashLbl         : "Flash",\r
@@ -72,10 +70,6 @@ RightJustify         : "Zarovnat vpravo",
 BlockJustify           : "Zarovnat do bloku",\r
 DecreaseIndent         : "Zmenšit odsazení",\r
 IncreaseIndent         : "Zvětšit odsazení",\r
-Blockquote                     : "Citace",\r
-CreateDiv                      : "Vytvořit Div kontejner",\r
-EditDiv                                : "Upravit Div kontejner",\r
-DeleteDiv                      : "Odstranit Div kontejner",\r
 Undo                           : "Zpět",\r
 Redo                           : "Znovu",\r
 NumberedListLbl                : "Číslování",\r
@@ -109,27 +103,20 @@ SelectionField    : "Seznam",
 ImageButton            : "Obrázkové tlačítko",\r
 \r
 FitWindow              : "Maximalizovat velikost editoru",\r
-ShowBlocks             : "Ukázat bloky",\r
 \r
 // Context Menu\r
 EditLink                       : "Změnit odkaz",\r
 CellCM                         : "Buňka",\r
 RowCM                          : "Řádek",\r
 ColumnCM                       : "Sloupec",\r
-InsertRowAfter         : "Vložit řádek za",\r
-InsertRowBefore                : "Vložit řádek před",\r
-DeleteRows                     : "Smazat řádky",\r
-InsertColumnAfter      : "Vložit sloupec za",\r
-InsertColumnBefore     : "Vložit sloupec před",\r
+InsertRow                      : "Vložit řádek",\r
+DeleteRows                     : "Smazat řádek",\r
+InsertColumn           : "Vložit sloupec",\r
 DeleteColumns          : "Smazat sloupec",\r
-InsertCellAfter                : "Vložit buňku za",\r
-InsertCellBefore       : "Vložit buňku před",\r
+InsertCell                     : "Vložit buňku",\r
 DeleteCells                    : "Smazat buňky",\r
 MergeCells                     : "Sloučit buňky",\r
-MergeRight                     : "Sloučit doprava",\r
-MergeDown                      : "Sloučit dolů",\r
-HorizontalSplitCell    : "Rozdělit buňky vodorovně",\r
-VerticalSplitCell      : "Rozdělit buňky svisle",\r
+SplitCell                      : "Rozdělit buňku",\r
 TableDelete                    : "Smazat tabulku",\r
 CellProperties         : "Vlastnosti buňky",\r
 TableProperties                : "Vlastnosti tabulky",\r
@@ -147,7 +134,7 @@ SelectionFieldProp  : "Vlastnosti seznamu",
 TextareaProp           : "Vlastnosti textové oblasti",\r
 FormProp                       : "Vlastnosti formuláře",\r
 \r
-FontFormats                    : "Normální;Naformátováno;Adresa;Nadpis 1;Nadpis 2;Nadpis 3;Nadpis 4;Nadpis 5;Nadpis 6;Normální (DIV)",\r
+FontFormats                    : "Normální;Formátovaný;Adresa;Nadpis 1;Nadpis 2;Nadpis 3;Nadpis 4;Nadpis 5;Nadpis 6",              //REVIEW : Check _getfontformat.html\r
 \r
 // Alerts and Messages\r
 ProcessingXHTML                : "Probíhá zpracování XHTML. Prosím čekejte...",\r
@@ -161,7 +148,6 @@ UnknownToolbarSet   : "Panel nástrojů \"%1\" neexistuje",
 NoActiveX                      : "Nastavení bezpečnosti Vašeho prohlížeče omezuje funkčnost některých jeho možností. Je třeba zapnout volbu \"Spouštět ovládáací prvky ActiveX a moduly plug-in\", jinak nebude možné využívat všechny dosputné schopnosti editoru.",\r
 BrowseServerBlocked : "Průzkumník zdrojů nelze otevřít. Prověřte, zda nemáte aktivováno blokování popup oken.",\r
 DialogBlocked          : "Nelze otevřít dialogové okno. Prověřte, zda nemáte aktivováno blokování popup oken.",\r
-VisitLinkBlocked       : "Není možné otevřít nové okno. Prověřte, zda všechny nástroje pro blokování vyskakovacích oken jsou vypnuty.",\r
 \r
 // Dialogs\r
 DlgBtnOK                       : "OK",\r
@@ -243,7 +229,7 @@ DlgLnkURL                   : "URL",
 DlgLnkAnchorSel                : "Vybrat kotvu",\r
 DlgLnkAnchorByName     : "Podle jména kotvy",\r
 DlgLnkAnchorById       : "Podle Id objektu",\r
-DlgLnkNoAnchors                : "(Ve stránce není definována žádná kotva!)",\r
+DlgLnkNoAnchors                : "<Ve stránce žádná kotva není definována>",             //REVIEW : Change < and > with ( and )\r
 DlgLnkEMail                    : "E-Mailová adresa",\r
 DlgLnkEMailSubject     : "Předmět zprávy",\r
 DlgLnkEMailBody                : "Tělo zprávy",\r
@@ -308,11 +294,6 @@ DlgTableCellSpace  : "Vzdálenost buněk",
 DlgTableCellPad                : "Odsazení obsahu",\r
 DlgTableCaption                : "Popis",\r
 DlgTableSummary                : "Souhrn",\r
-DlgTableHeaders                : "Záhlaví",\r
-DlgTableHeadersNone            : "Žádné",\r
-DlgTableHeadersColumn  : "První sloupec",\r
-DlgTableHeadersRow             : "První řádek",\r
-DlgTableHeadersBoth            : "Oboje",\r
 \r
 // Table Cell Dialog\r
 DlgCellTitle           : "Vlastnosti buňky",\r
@@ -335,18 +316,12 @@ DlgCellVerAlignTop        : "Nahoru",
 DlgCellVerAlignMiddle  : "Doprostřed",\r
 DlgCellVerAlignBottom  : "Dolů",\r
 DlgCellVerAlignBaseline        : "Na účaří",\r
-DlgCellType            : "Typ buňky",\r
-DlgCellTypeData                : "Data",\r
-DlgCellTypeHeader      : "Zálaví",\r
 DlgCellRowSpan         : "Sloučené řádky",\r
 DlgCellCollSpan                : "Sloučené sloupce",\r
 DlgCellBackColor       : "Barva pozadí",\r
 DlgCellBorderColor     : "Barva ohraničení",\r
 DlgCellBtnSelect       : "Výběr...",\r
 \r
-// Find and Replace Dialog\r
-DlgFindAndReplaceTitle : "Najít a nahradit",\r
-\r
 // Find Dialog\r
 DlgFindTitle           : "Hledat",\r
 DlgFindFindBtn         : "Hledat",\r
@@ -369,9 +344,10 @@ PasteAsText                : "Vložit jako čistý text",
 PasteFromWord  : "Vložit text z Wordu",\r
 \r
 DlgPasteMsg2   : "Do následujícího pole vložte požadovaný obsah pomocí klávesnice (<STRONG>Ctrl+V</STRONG>) a stiskněte <STRONG>OK</STRONG>.",\r
-DlgPasteSec            : "Z důvodů nastavení bezpečnosti Vašeho prohlížeče nemůže editor přistupovat přímo do schránky. Obsah schránky prosím vložte znovu do tohoto okna.",\r
+DlgPasteSec            : "Because of your browser security settings, the editor is not able to access your clipboard data directly. You are required to paste it again in this window.",       //MISSING\r
 DlgPasteIgnoreFont             : "Ignorovat písmo",\r
 DlgPasteRemoveStyles   : "Odstranit styly",\r
+DlgPasteCleanBox               : "Vyčistit",\r
 \r
 // Color Picker\r
 ColorAutomatic : "Automaticky",\r
@@ -456,7 +432,7 @@ DlgHiddenValue      : "Hodnota",
 // Bulleted List Dialog\r
 BulletedListProp       : "Vlastnosti odrážek",\r
 NumberedListProp       : "Vlastnosti číslovaného seznamu",\r
-DlgLstStart                    : "Začátek",\r
+DlgLstStart                    : "Start",      //MISSING\r
 DlgLstType                     : "Typ",\r
 DlgLstTypeCircle       : "Kružnice",\r
 DlgLstTypeDisc         : "Kruh",\r
@@ -524,16 +500,5 @@ DlgAboutAboutTab   : "O aplikaci",
 DlgAboutBrowserInfoTab : "Informace o prohlížeči",\r
 DlgAboutLicenseTab     : "Licence",\r
 DlgAboutVersion                : "verze",\r
-DlgAboutInfo           : "Více informací získáte na",\r
-\r
-// Div Dialog\r
-DlgDivGeneralTab       : "Obecné",\r
-DlgDivAdvancedTab      : "Rozšířené",\r
-DlgDivStyle            : "Styl",\r
-DlgDivInlineStyle      : "Vložený styl",\r
-\r
-ScaytTitle                     : "SCAYT",\r
-ScaytTitleOptions      : "Nastavení",\r
-ScaytTitleLangs                : "Jazyky",\r
-ScaytTitleAbout                : "O aplikaci"\r
-};\r
+DlgAboutInfo           : "Více informací získáte na"\r
+};
\ No newline at end of file
index 9e935b8..8143241 100644 (file)
@@ -1,6 +1,6 @@
 /*\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
@@ -44,9 +44,7 @@ RemoveFormat          : "Fjern formatering",
 InsertLinkLbl          : "Hyperlink",\r
 InsertLink                     : "Indsæt/rediger hyperlink",\r
 RemoveLink                     : "Fjern hyperlink",\r
-VisitLink                      : "Åbn hyperlink",\r
 Anchor                         : "Indsæt/rediger bogmærke",\r
-AnchorDelete           : "Fjern bogmærke",\r
 InsertImageLbl         : "Indsæt billede",\r
 InsertImage                    : "Indsæt/rediger billede",\r
 InsertFlashLbl         : "Flash",\r
@@ -72,10 +70,6 @@ RightJustify         : "Højrestillet",
 BlockJustify           : "Lige margener",\r
 DecreaseIndent         : "Formindsk indrykning",\r
 IncreaseIndent         : "Forøg indrykning",\r
-Blockquote                     : "Blokcitat",\r
-CreateDiv                      : "Opret div container",\r
-EditDiv                                : "Rediger div container",\r
-DeleteDiv                      : "Fjern div container",\r
 Undo                           : "Fortryd",\r
 Redo                           : "Annuller fortryd",\r
 NumberedListLbl                : "Talopstilling",\r
@@ -109,27 +103,20 @@ SelectionField    : "Indsæt liste",
 ImageButton            : "Indsæt billedknap",\r
 \r
 FitWindow              : "Maksimer editor vinduet",\r
-ShowBlocks             : "Show Blocks",        //MISSING\r
 \r
 // Context Menu\r
 EditLink                       : "Rediger hyperlink",\r
 CellCM                         : "Celle",\r
 RowCM                          : "Række",\r
 ColumnCM                       : "Kolonne",\r
-InsertRowAfter         : "Indsæt række efter",\r
-InsertRowBefore                : "Indsæt række før",\r
+InsertRow                      : "Indsæt række",\r
 DeleteRows                     : "Slet række",\r
-InsertColumnAfter      : "Indsæt kolonne efter",\r
-InsertColumnBefore     : "Indsæt kolonne før",\r
+InsertColumn           : "Indsæt kolonne",\r
 DeleteColumns          : "Slet kolonne",\r
-InsertCellAfter                : "Indsæt celle efter",\r
-InsertCellBefore       : "Indsæt celle før",\r
+InsertCell                     : "Indsæt celle",\r
 DeleteCells                    : "Slet celle",\r
 MergeCells                     : "Flet celler",\r
-MergeRight                     : "Flet til højre",\r
-MergeDown                      : "Flet nedad",\r
-HorizontalSplitCell    : "Del celle vandret",\r
-VerticalSplitCell      : "Del celle lodret",\r
+SplitCell                      : "Opdel celle",\r
 TableDelete                    : "Slet tabel",\r
 CellProperties         : "Egenskaber for celle",\r
 TableProperties                : "Egenskaber for tabel",\r
@@ -147,7 +134,7 @@ SelectionFieldProp  : "Egenskaber for liste",
 TextareaProp           : "Egenskaber for tekstboks",\r
 FormProp                       : "Egenskaber for formular",\r
 \r
-FontFormats                    : "Normal;Formateret;Adresse;Overskrift 1;Overskrift 2;Overskrift 3;Overskrift 4;Overskrift 5;Overskrift 6;Normal (DIV)",\r
+FontFormats                    : "Normal;Formateret;Adresse;Overskrift 1;Overskrift 2;Overskrift 3;Overskrift 4;Overskrift 5;Overskrift 6;Normal (DIV)",               //REVIEW : Check _getfontformat.html\r
 \r
 // Alerts and Messages\r
 ProcessingXHTML                : "Behandler XHTML...",\r
@@ -161,7 +148,6 @@ UnknownToolbarSet   : "Værktøjslinjen \"%1\" eksisterer ikke!",
 NoActiveX                      : "Din browsers sikkerhedsindstillinger begrænser nogle af editorens muligheder.<br>Slå \"Kør ActiveX-objekter og plug-ins\" til, ellers vil du opleve fejl og manglende muligheder.",\r
 BrowseServerBlocked : "Browseren kunne ikke åbne de nødvendige ressourcer!<br>Slå pop-up blokering fra.",\r
 DialogBlocked          : "Dialogvinduet kunne ikke åbnes!<br>Slå pop-up blokering fra.",\r
-VisitLinkBlocked       : "Det var ikke muligt at åbne et nyt vindue. Tjek, at ingen popup-blokkere er aktive.",\r
 \r
 // Dialogs\r
 DlgBtnOK                       : "OK",\r
@@ -243,7 +229,7 @@ DlgLnkURL                   : "URL",
 DlgLnkAnchorSel                : "Vælg et anker",\r
 DlgLnkAnchorByName     : "Efter anker navn",\r
 DlgLnkAnchorById       : "Efter element Id",\r
-DlgLnkNoAnchors                : "(Ingen bogmærker dokumentet)",\r
+DlgLnkNoAnchors                : "<Ingen bogmærker dokumentet>",              //REVIEW : Change < and > with ( and )\r
 DlgLnkEMail                    : "E-mailadresse",\r
 DlgLnkEMailSubject     : "Emne",\r
 DlgLnkEMailBody                : "Brødtekst",\r
@@ -276,7 +262,7 @@ DlgLnkPopTop                : "Position fra toppen",
 DlnLnkMsgNoUrl         : "Indtast hyperlink URL!",\r
 DlnLnkMsgNoEMail       : "Indtast e-mailaddresse!",\r
 DlnLnkMsgNoAnchor      : "Vælg bogmærke!",\r
-DlnLnkMsgInvPopName    : "Navnet på popup'en skal starte med et bogstav og må ikke indeholde mellemrum",\r
+DlnLnkMsgInvPopName    : "The popup name must begin with an alphabetic character and must not contain spaces", //MISSING\r
 \r
 // Color Dialog\r
 DlgColorTitle          : "Vælg farve",\r
@@ -308,11 +294,6 @@ DlgTableCellSpace  : "Celleafstand",
 DlgTableCellPad                : "Cellemargen",\r
 DlgTableCaption                : "Titel",\r
 DlgTableSummary                : "Resume",\r
-DlgTableHeaders                : "Headers",    //MISSING\r
-DlgTableHeadersNone            : "None",       //MISSING\r
-DlgTableHeadersColumn  : "First column",       //MISSING\r
-DlgTableHeadersRow             : "First Row",  //MISSING\r
-DlgTableHeadersBoth            : "Both",       //MISSING\r
 \r
 // Table Cell Dialog\r
 DlgCellTitle           : "Egenskaber for celle",\r
@@ -335,18 +316,12 @@ DlgCellVerAlignTop        : "Øverst",
 DlgCellVerAlignMiddle  : "Centreret",\r
 DlgCellVerAlignBottom  : "Nederst",\r
 DlgCellVerAlignBaseline        : "Grundlinje",\r
-DlgCellType            : "Cell Type",  //MISSING\r
-DlgCellTypeData                : "Data",       //MISSING\r
-DlgCellTypeHeader      : "Header",     //MISSING\r
 DlgCellRowSpan         : "Højde i antal rækker",\r
 DlgCellCollSpan                : "Bredde i antal kolonner",\r
 DlgCellBackColor       : "Baggrundsfarve",\r
 DlgCellBorderColor     : "Rammefarve",\r
 DlgCellBtnSelect       : "Vælg...",\r
 \r
-// Find and Replace Dialog\r
-DlgFindAndReplaceTitle : "Søg og erstat",\r
-\r
 // Find Dialog\r
 DlgFindTitle           : "Find",\r
 DlgFindFindBtn         : "Find",\r
@@ -369,9 +344,10 @@ PasteAsText                : "Indsæt som ikke-formateret tekst",
 PasteFromWord  : "Indsæt fra Word",\r
 \r
 DlgPasteMsg2   : "Indsæt i feltet herunder (<STRONG>Ctrl+V</STRONG>) og klik <STRONG>OK</STRONG>.",\r
-DlgPasteSec            : "På grund af browserens sikkerhedsindstillinger kan editoren ikke tilgå udklipsholderen direkte. Du skal indsætte udklipsholderens indhold i dette vindue igen.",\r
+DlgPasteSec            : "Because of your browser security settings, the editor is not able to access your clipboard data directly. You are required to paste it again in this window.",       //MISSING\r
 DlgPasteIgnoreFont             : "Ignorer font definitioner",\r
 DlgPasteRemoveStyles   : "Ignorer typografi",\r
+DlgPasteCleanBox               : "Slet indhold",\r
 \r
 // Color Picker\r
 ColorAutomatic : "Automatisk",\r
@@ -405,9 +381,9 @@ IeSpellDownload                     : "Stavekontrol ikke installeret.<br>Vil du hente den nu?",
 // Button Dialog\r
 DlgButtonText          : "Tekst",\r
 DlgButtonType          : "Type",\r
-DlgButtonTypeBtn       : "Knap",\r
-DlgButtonTypeSbm       : "Send",\r
-DlgButtonTypeRst       : "Nulstil",\r
+DlgButtonTypeBtn       : "Button",     //MISSING\r
+DlgButtonTypeSbm       : "Submit",     //MISSING\r
+DlgButtonTypeRst       : "Reset",      //MISSING\r
 \r
 // Checkbox and Radio Button Dialogs\r
 DlgCheckboxName                : "Navn",\r
@@ -456,7 +432,7 @@ DlgHiddenValue      : "Værdi",
 // Bulleted List Dialog\r
 BulletedListProp       : "Egenskaber for punktopstilling",\r
 NumberedListProp       : "Egenskaber for talopstilling",\r
-DlgLstStart                    : "Start",\r
+DlgLstStart                    : "Start",      //MISSING\r
 DlgLstType                     : "Type",\r
 DlgLstTypeCircle       : "Cirkel",\r
 DlgLstTypeDisc         : "Udfyldt cirkel",\r
@@ -479,15 +455,15 @@ DlgDocLangDirLTR  : "Fra venstre mod højre (LTR)",
 DlgDocLangDirRTL       : "Fra højre mod venstre (RTL)",\r
 DlgDocLangCode         : "Landekode",\r
 DlgDocCharSet          : "Tegnsæt kode",\r
-DlgDocCharSetCE                : "Centraleuropæisk",\r
-DlgDocCharSetCT                : "Traditionel kinesisk (Big5)",\r
-DlgDocCharSetCR                : "Kyrillisk",\r
-DlgDocCharSetGR                : "Græsk",\r
-DlgDocCharSetJP                : "Japansk",\r
-DlgDocCharSetKR                : "Koreansk",\r
-DlgDocCharSetTR                : "Tyrkisk",\r
-DlgDocCharSetUN                : "Unicode (UTF-8)",\r
-DlgDocCharSetWE                : "Vesteuropæisk",\r
+DlgDocCharSetCE                : "Central European",   //MISSING\r
+DlgDocCharSetCT                : "Chinese Traditional (Big5)", //MISSING\r
+DlgDocCharSetCR                : "Cyrillic",   //MISSING\r
+DlgDocCharSetGR                : "Greek",      //MISSING\r
+DlgDocCharSetJP                : "Japanese",   //MISSING\r
+DlgDocCharSetKR                : "Korean",     //MISSING\r
+DlgDocCharSetTR                : "Turkish",    //MISSING\r
+DlgDocCharSetUN                : "Unicode (UTF-8)",    //MISSING\r
+DlgDocCharSetWE                : "Western European",   //MISSING\r
 DlgDocCharSetOther     : "Anden tegnsæt kode",\r
 \r
 DlgDocDocType          : "Dokumenttype kategori",\r
@@ -517,23 +493,12 @@ DlgTemplatesTitle : "Indholdsskabeloner",
 DlgTemplatesSelMsg     : "Vælg den skabelon, som skal åbnes i editoren.<br>(Nuværende indhold vil blive overskrevet!):",\r
 DlgTemplatesLoading    : "Henter liste over skabeloner...",\r
 DlgTemplatesNoTpl      : "(Der er ikke defineret nogen skabelon!)",\r
-DlgTemplatesReplace    : "Erstat det faktiske indhold",\r
+DlgTemplatesReplace    : "Replace actual contents",    //MISSING\r
 \r
 // About Dialog\r
 DlgAboutAboutTab       : "Om",\r
 DlgAboutBrowserInfoTab : "Generelt",\r
 DlgAboutLicenseTab     : "Licens",\r
 DlgAboutVersion                : "version",\r
-DlgAboutInfo           : "For yderlig information gå til",\r
-\r
-// Div Dialog\r
-DlgDivGeneralTab       : "Generelt",\r
-DlgDivAdvancedTab      : "Avanceret",\r
-DlgDivStyle            : "Style",\r
-DlgDivInlineStyle      : "Inline style",\r
-\r
-ScaytTitle                     : "SCAYT",      //MISSING\r
-ScaytTitleOptions      : "Options",    //MISSING\r
-ScaytTitleLangs                : "Languages",  //MISSING\r
-ScaytTitleAbout                : "About"       //MISSING\r
-};\r
+DlgAboutInfo           : "For yderlig information gå til"\r
+};
\ No newline at end of file
index 774fcd7..2848d34 100644 (file)
@@ -1,6 +1,6 @@
 /*\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
@@ -44,9 +44,7 @@ RemoveFormat          : "Formatierungen entfernen",
 InsertLinkLbl          : "Link",\r
 InsertLink                     : "Link einfügen/editieren",\r
 RemoveLink                     : "Link entfernen",\r
-VisitLink                      : "Link aufrufen",\r
 Anchor                         : "Anker einfügen/editieren",\r
-AnchorDelete           : "Anker entfernen",\r
 InsertImageLbl         : "Bild",\r
 InsertImage                    : "Bild einfügen/editieren",\r
 InsertFlashLbl         : "Flash",\r
@@ -72,10 +70,6 @@ RightJustify         : "Rechtsbündig",
 BlockJustify           : "Blocksatz",\r
 DecreaseIndent         : "Einzug verringern",\r
 IncreaseIndent         : "Einzug erhöhen",\r
-Blockquote                     : "Zitatblock",\r
-CreateDiv                      : "Erzeuge Div Block",\r
-EditDiv                                : "Bearbeite Div Block",\r
-DeleteDiv                      : "Entferne Div Block",\r
 Undo                           : "Rückgängig",\r
 Redo                           : "Wiederherstellen",\r
 NumberedListLbl                : "Nummerierte Liste",\r
@@ -91,7 +85,7 @@ FontSize                      : "Größe",
 TextColor                      : "Textfarbe",\r
 BGColor                                : "Hintergrundfarbe",\r
 Source                         : "Quellcode",\r
-Find                           : "Suchen",\r
+Find                           : "Finden",\r
 Replace                                : "Ersetzen",\r
 SpellCheck                     : "Rechtschreibprüfung",\r
 UniversalKeyboard      : "Universal-Tastatur",\r
@@ -109,45 +103,38 @@ SelectionField    : "Auswahlfeld",
 ImageButton            : "Bildbutton",\r
 \r
 FitWindow              : "Editor maximieren",\r
-ShowBlocks             : "Blöcke anzeigen",\r
 \r
 // Context Menu\r
 EditLink                       : "Link editieren",\r
 CellCM                         : "Zelle",\r
 RowCM                          : "Zeile",\r
 ColumnCM                       : "Spalte",\r
-InsertRowAfter         : "Zeile unterhalb einfügen",\r
-InsertRowBefore                : "Zeile oberhalb einfügen",\r
+InsertRow                      : "Zeile einfügen",\r
 DeleteRows                     : "Zeile entfernen",\r
-InsertColumnAfter      : "Spalte rechts danach einfügen",\r
-InsertColumnBefore     : "Spalte links davor einfügen",\r
+InsertColumn           : "Spalte einfügen",\r
 DeleteColumns          : "Spalte löschen",\r
-InsertCellAfter                : "Zelle danach einfügen",\r
-InsertCellBefore       : "Zelle davor einfügen",\r
+InsertCell                     : "Zelle einfügen",\r
 DeleteCells                    : "Zelle löschen",\r
-MergeCells                     : "Zellen verbinden",\r
-MergeRight                     : "nach rechts verbinden",\r
-MergeDown                      : "nach unten verbinden",\r
-HorizontalSplitCell    : "Zelle horizontal teilen",\r
-VerticalSplitCell      : "Zelle vertikal teilen",\r
+MergeCells                     : "Zellen vereinen",\r
+SplitCell                      : "Zelle teilen",\r
 TableDelete                    : "Tabelle löschen",\r
-CellProperties         : "Zellen-Eigenschaften",\r
-TableProperties                : "Tabellen-Eigenschaften",\r
-ImageProperties                : "Bild-Eigenschaften",\r
-FlashProperties                : "Flash-Eigenschaften",\r
-\r
-AnchorProp                     : "Anker-Eigenschaften",\r
-ButtonProp                     : "Button-Eigenschaften",\r
-CheckboxProp           : "Checkbox-Eigenschaften",\r
-HiddenFieldProp                : "Verstecktes Feld-Eigenschaften",\r
-RadioButtonProp                : "Optionsfeld-Eigenschaften",\r
-ImageButtonProp                : "Bildbutton-Eigenschaften",\r
+CellProperties         : "Zellen Eigenschaften",\r
+TableProperties                : "Tabellen Eigenschaften",\r
+ImageProperties                : "Bild Eigenschaften",\r
+FlashProperties                : "Flash Eigenschaften",\r
+\r
+AnchorProp                     : "Anker Eigenschaften",\r
+ButtonProp                     : "Button Eigenschaften",\r
+CheckboxProp           : "Checkbox Eigenschaften",\r
+HiddenFieldProp                : "Verstecktes Feld Eigenschaften",\r
+RadioButtonProp                : "Optionsfeld Eigenschaften",\r
+ImageButtonProp                : "Bildbutton Eigenschaften",\r
 TextFieldProp          : "Textfeld (einzeilig) Eigenschaften",\r
-SelectionFieldProp     : "Auswahlfeld-Eigenschaften",\r
+SelectionFieldProp     : "Auswahlfeld Eigenschaften",\r
 TextareaProp           : "Textfeld (mehrzeilig) Eigenschaften",\r
-FormProp                       : "Formular-Eigenschaften",\r
+FormProp                       : "Formular Eigenschaften",\r
 \r
-FontFormats                    : "Normal;Formatiert;Addresse;Überschrift 1;Überschrift 2;Überschrift 3;Überschrift 4;Überschrift 5;Überschrift 6;Normal (DIV)",\r
+FontFormats                    : "Normal;Formatiert;Addresse;Überschrift 1;Überschrift 2;Überschrift 3;Überschrift 4;Überschrift 5;Überschrift 6;Normal (DIV)",          //REVIEW : Check _getfontformat.html\r
 \r
 // Alerts and Messages\r
 ProcessingXHTML                : "Bearbeite XHTML. Bitte warten...",\r
@@ -161,7 +148,6 @@ UnknownToolbarSet   : "Menüleiste \"%1\" existiert nicht",
 NoActiveX                      : "Die Sicherheitseinstellungen Ihres Browsers beschränken evtl. einige Funktionen des Editors. Aktivieren Sie die Option \"ActiveX-Steuerelemente und Plugins ausführen\" in den Sicherheitseinstellungen, um diese Funktionen nutzen zu können",\r
 BrowseServerBlocked : "Ein Auswahlfenster konnte nicht geöffnet werden. Stellen Sie sicher, das alle Popup-Blocker ausgeschaltet sind.",\r
 DialogBlocked          : "Das Dialog-Fenster konnte nicht geöffnet werden. Stellen Sie sicher, das alle Popup-Blocker ausgeschaltet sind.",\r
-VisitLinkBlocked       : "Es war leider nicht möglich ein neues Fenster zu öffnen. Bitte versichern Sie sich das der Popup-Blocker ausgeschaltet ist.",\r
 \r
 // Dialogs\r
 DlgBtnOK                       : "OK",\r
@@ -174,24 +160,24 @@ DlgInfoTab                        : "Info",
 DlgAlertUrl                    : "Bitte tragen Sie die URL ein",\r
 \r
 // General Dialogs Labels\r
-DlgGenNotSet           : "<nichts>",\r
+DlgGenNotSet           : "< nichts >",\r
 DlgGenId                       : "ID",\r
 DlgGenLangDir          : "Schreibrichtung",\r
 DlgGenLangDirLtr       : "Links nach Rechts (LTR)",\r
 DlgGenLangDirRtl       : "Rechts nach Links (RTL)",\r
 DlgGenLangCode         : "Sprachenkürzel",\r
-DlgGenAccessKey                : "Zugriffstaste",\r
+DlgGenAccessKey                : "Schlüssel",\r
 DlgGenName                     : "Name",\r
-DlgGenTabIndex         : "Tab-Index",\r
+DlgGenTabIndex         : "Tab Index",\r
 DlgGenLongDescr                : "Langform URL",\r
 DlgGenClass                    : "Stylesheet Klasse",\r
 DlgGenTitle                    : "Titel Beschreibung",\r
-DlgGenContType         : "Inhaltstyp",\r
+DlgGenContType         : "Content Beschreibung",\r
 DlgGenLinkCharset      : "Ziel-Zeichensatz",\r
 DlgGenStyle                    : "Style",\r
 \r
 // Image Dialog\r
-DlgImgTitle                    : "Bild-Eigenschaften",\r
+DlgImgTitle                    : "Bild Eigenschaften",\r
 DlgImgInfoTab          : "Bild-Info",\r
 DlgImgBtnUpload                : "Zum Server senden",\r
 DlgImgURL                      : "Bildauswahl",\r
@@ -202,8 +188,8 @@ DlgImgHeight                : "Höhe",
 DlgImgLockRatio                : "Größenverhältniss beibehalten",\r
 DlgBtnResetSize                : "Größe zurücksetzen",\r
 DlgImgBorder           : "Rahmen",\r
-DlgImgHSpace           : "Horizontal-Abstand",\r
-DlgImgVSpace           : "Vertikal-Abstand",\r
+DlgImgHSpace           : "H-Abstand",\r
+DlgImgVSpace           : "V-Abstand",\r
 DlgImgAlign                    : "Ausrichtung",\r
 DlgImgAlignLeft                : "Links",\r
 DlgImgAlignAbsBottom: "Abs Unten",\r
@@ -219,7 +205,7 @@ DlgImgAlertUrl              : "Bitte geben Sie die Bild-URL an",
 DlgImgLinkTab          : "Link",\r
 \r
 // Flash Dialog\r
-DlgFlashTitle          : "Flash-Eigenschaften",\r
+DlgFlashTitle          : "Flash Eigenschaften",\r
 DlgFlashChkPlay                : "autom. Abspielen",\r
 DlgFlashChkLoop                : "Endlosschleife",\r
 DlgFlashChkMenu                : "Flash-Menü aktivieren",\r
@@ -230,7 +216,7 @@ DlgFlashScaleFit    : "Passgenau",
 \r
 // Link Dialog\r
 DlgLnkWindowTitle      : "Link",\r
-DlgLnkInfoTab          : "Link-Info",\r
+DlgLnkInfoTab          : "Link Info",\r
 DlgLnkTargetTab                : "Zielseite",\r
 \r
 DlgLnkType                     : "Link-Typ",\r
@@ -243,7 +229,7 @@ DlgLnkURL                   : "URL",
 DlgLnkAnchorSel                : "Anker auswählen",\r
 DlgLnkAnchorByName     : "nach Anker Name",\r
 DlgLnkAnchorById       : "nach Element Id",\r
-DlgLnkNoAnchors                : "(keine Anker im Dokument vorhanden)",\r
+DlgLnkNoAnchors                : "<keine Anker im Dokument vorhanden>",                //REVIEW : Change < and > with ( and )\r
 DlgLnkEMail                    : "E-Mail Addresse",\r
 DlgLnkEMailSubject     : "Betreffzeile",\r
 DlgLnkEMailBody                : "Nachrichtentext",\r
@@ -257,9 +243,9 @@ DlgLnkTargetBlank   : "Neues Fenster (_blank)",
 DlgLnkTargetParent     : "Oberes Fenster (_parent)",\r
 DlgLnkTargetSelf       : "Gleiches Fenster (_self)",\r
 DlgLnkTargetTop                : "Oberstes Fenster (_top)",\r
-DlgLnkTargetFrameName  : "Ziel-Fenster-Name",\r
-DlgLnkPopWinName       : "Pop-up Fenster-Name",\r
-DlgLnkPopWinFeat       : "Pop-up Fenster-Eigenschaften",\r
+DlgLnkTargetFrameName  : "Ziel-Fenster Name",\r
+DlgLnkPopWinName       : "Pop-up Fenster Name",\r
+DlgLnkPopWinFeat       : "Pop-up Fenster Eigenschaften",\r
 DlgLnkPopResize                : "Vergrößerbar",\r
 DlgLnkPopLocation      : "Adress-Leiste",\r
 DlgLnkPopMenu          : "Menü-Leiste",\r
@@ -291,12 +277,12 @@ DlgSmileyTitle            : "Smiley auswählen",
 DlgSpecialCharTitle    : "Sonderzeichen auswählen",\r
 \r
 // Table Dialog\r
-DlgTableTitle          : "Tabellen-Eigenschaften",\r
+DlgTableTitle          : "Tabellen Eigenschaften",\r
 DlgTableRows           : "Zeile",\r
 DlgTableColumns                : "Spalte",\r
 DlgTableBorder         : "Rahmen",\r
 DlgTableAlign          : "Ausrichtung",\r
-DlgTableAlignNotSet    : "<keine>",\r
+DlgTableAlignNotSet    : "<nichts>",\r
 DlgTableAlignLeft      : "Links",\r
 DlgTableAlignCenter    : "Zentriert",\r
 DlgTableAlignRight     : "Rechts",\r
@@ -308,11 +294,6 @@ DlgTableCellSpace  : "Zellenabstand außen",
 DlgTableCellPad                : "Zellenabstand innen",\r
 DlgTableCaption                : "Überschrift",\r
 DlgTableSummary                : "Inhaltsübersicht",\r
-DlgTableHeaders                : "Headers",    //MISSING\r
-DlgTableHeadersNone            : "None",       //MISSING\r
-DlgTableHeadersColumn  : "First column",       //MISSING\r
-DlgTableHeadersRow             : "First Row",  //MISSING\r
-DlgTableHeadersBoth            : "Both",       //MISSING\r
 \r
 // Table Cell Dialog\r
 DlgCellTitle           : "Zellen-Eigenschaften",\r
@@ -321,32 +302,26 @@ DlgCellWidthPx            : "Pixel",
 DlgCellWidthPc         : "%",\r
 DlgCellHeight          : "Höhe",\r
 DlgCellWordWrap                : "Umbruch",\r
-DlgCellWordWrapNotSet  : "<keiner>",\r
+DlgCellWordWrapNotSet  : "<nichts>",\r
 DlgCellWordWrapYes     : "Ja",\r
 DlgCellWordWrapNo      : "Nein",\r
 DlgCellHorAlign                : "Horizontale Ausrichtung",\r
-DlgCellHorAlignNotSet  : "<keine>",\r
+DlgCellHorAlignNotSet  : "<nichts>",\r
 DlgCellHorAlignLeft    : "Links",\r
 DlgCellHorAlignCenter  : "Zentriert",\r
 DlgCellHorAlignRight: "Rechts",\r
 DlgCellVerAlign                : "Vertikale Ausrichtung",\r
-DlgCellVerAlignNotSet  : "<keine>",\r
+DlgCellVerAlignNotSet  : "<nichts>",\r
 DlgCellVerAlignTop     : "Oben",\r
 DlgCellVerAlignMiddle  : "Mitte",\r
 DlgCellVerAlignBottom  : "Unten",\r
 DlgCellVerAlignBaseline        : "Grundlinie",\r
-DlgCellType            : "Cell Type",  //MISSING\r
-DlgCellTypeData                : "Data",       //MISSING\r
-DlgCellTypeHeader      : "Header",     //MISSING\r
 DlgCellRowSpan         : "Zeilen zusammenfassen",\r
 DlgCellCollSpan                : "Spalten zusammenfassen",\r
 DlgCellBackColor       : "Hintergrundfarbe",\r
 DlgCellBorderColor     : "Rahmenfarbe",\r
 DlgCellBtnSelect       : "Auswahl...",\r
 \r
-// Find and Replace Dialog\r
-DlgFindAndReplaceTitle : "Suchen und Ersetzen",\r
-\r
 // Find Dialog\r
 DlgFindTitle           : "Finden",\r
 DlgFindFindBtn         : "Finden",\r
@@ -368,20 +343,21 @@ PasteErrorCopy    : "Die Sicherheitseinstellungen Ihres Browsers lassen es nicht zu
 PasteAsText            : "Als Text einfügen",\r
 PasteFromWord  : "Aus Word einfügen",\r
 \r
-DlgPasteMsg2   : "Bitte fügen Sie den Text in der folgenden Box über die Tastatur (mit <STRONG>Strg+V</STRONG>) ein und bestätigen Sie mit <STRONG>OK</STRONG>.",\r
-DlgPasteSec            : "Aufgrund von Sicherheitsbeschränkungen Ihres Browsers kann der Editor nicht direkt auf die Zwischenablage zugreifen. Bitte fügen Sie den Inhalt erneut in diesem Fenster ein.",\r
+DlgPasteMsg2   : "Bitte fügen Sie den Text in der folgenden Box über die Tastatur (mit <STRONG>Ctrl+V</STRONG>) ein und bestätigen Sie mit <STRONG>OK</STRONG>.",\r
+DlgPasteSec            : "Because of your browser security settings, the editor is not able to access your clipboard data directly. You are required to paste it again in this window.",       //MISSING\r
 DlgPasteIgnoreFont             : "Ignoriere Schriftart-Definitionen",\r
 DlgPasteRemoveStyles   : "Entferne Style-Definitionen",\r
+DlgPasteCleanBox               : "Inhalt aufräumen",\r
 \r
 // Color Picker\r
 ColorAutomatic : "Automatisch",\r
 ColorMoreColors        : "Weitere Farben...",\r
 \r
 // Document Properties\r
-DocProps               : "Dokument-Eigenschaften",\r
+DocProps               : "Dokument Eigenschaften",\r
 \r
 // Anchor Dialog\r
-DlgAnchorTitle         : "Anker-Eigenschaften",\r
+DlgAnchorTitle         : "Anker Eigenschaften",\r
 DlgAnchorName          : "Anker Name",\r
 DlgAnchorErrorName     : "Bitte geben Sie den Namen des Ankers ein",\r
 \r
@@ -524,16 +500,5 @@ DlgAboutAboutTab   : "Über",
 DlgAboutBrowserInfoTab : "Browser-Info",\r
 DlgAboutLicenseTab     : "Lizenz",\r
 DlgAboutVersion                : "Version",\r
-DlgAboutInfo           : "Für weitere Informationen siehe",\r
-\r
-// Div Dialog\r
-DlgDivGeneralTab       : "Allgemein",\r
-DlgDivAdvancedTab      : "Erweitert",\r
-DlgDivStyle            : "Style",\r
-DlgDivInlineStyle      : "Inline Style",\r
-\r
-ScaytTitle                     : "SCAYT",      //MISSING\r
-ScaytTitleOptions      : "Options",    //MISSING\r
-ScaytTitleLangs                : "Languages",  //MISSING\r
-ScaytTitleAbout                : "About"       //MISSING\r
-};\r
+DlgAboutInfo           : "Für weitere Informationen siehe"\r
+};
\ No newline at end of file
index b5e4268..90fefc4 100644 (file)
@@ -1,6 +1,6 @@
 /*\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
@@ -44,9 +44,7 @@ RemoveFormat          : "Αφαίρεση Μορφοποίησης",
 InsertLinkLbl          : "Σύνδεσμος (Link)",\r
 InsertLink                     : "Εισαγωγή/Μεταβολή Συνδέσμου (Link)",\r
 RemoveLink                     : "Αφαίρεση Συνδέσμου (Link)",\r
-VisitLink                      : "Open Link",  //MISSING\r
 Anchor                         : "Εισαγωγή/επεξεργασία Anchor",\r
-AnchorDelete           : "Remove Anchor",      //MISSING\r
 InsertImageLbl         : "Εικόνα",\r
 InsertImage                    : "Εισαγωγή/Μεταβολή Εικόνας",\r
 InsertFlashLbl         : "Εισαγωγή Flash",\r
@@ -72,10 +70,6 @@ RightJustify         : "Στοίχιση Δεξιά",
 BlockJustify           : "Πλήρης Στοίχιση (Block)",\r
 DecreaseIndent         : "Μείωση Εσοχής",\r
 IncreaseIndent         : "Αύξηση Εσοχής",\r
-Blockquote                     : "Blockquote", //MISSING\r
-CreateDiv                      : "Create Div Container",       //MISSING\r
-EditDiv                                : "Edit Div Container", //MISSING\r
-DeleteDiv                      : "Remove Div Container",       //MISSING\r
 Undo                           : "Αναίρεση",\r
 Redo                           : "Επαναφορά",\r
 NumberedListLbl                : "Λίστα με Αριθμούς",\r
@@ -109,27 +103,20 @@ SelectionField    : "Πεδίο επιλογής",
 ImageButton            : "Κουμπί εικόνας",\r
 \r
 FitWindow              : "Μεγιστοποίηση προγράμματος",\r
-ShowBlocks             : "Show Blocks",        //MISSING\r
 \r
 // Context Menu\r
 EditLink                       : "Μεταβολή Συνδέσμου (Link)",\r
 CellCM                         : "Κελί",\r
 RowCM                          : "Σειρά",\r
 ColumnCM                       : "Στήλη",\r
-InsertRowAfter         : "Insert Row After",   //MISSING\r
-InsertRowBefore                : "Insert Row Before",  //MISSING\r
+InsertRow                      : "Εισαγωγή Γραμμής",\r
 DeleteRows                     : "Διαγραφή Γραμμών",\r
-InsertColumnAfter      : "Insert Column After",        //MISSING\r
-InsertColumnBefore     : "Insert Column Before",       //MISSING\r
+InsertColumn           : "Εισαγωγή Κολώνας",\r
 DeleteColumns          : "Διαγραφή Κολωνών",\r
-InsertCellAfter                : "Insert Cell After",  //MISSING\r
-InsertCellBefore       : "Insert Cell Before", //MISSING\r
+InsertCell                     : "Εισαγωγή Κελιού",\r
 DeleteCells                    : "Διαγραφή Κελιών",\r
 MergeCells                     : "Ενοποίηση Κελιών",\r
-MergeRight                     : "Merge Right",        //MISSING\r
-MergeDown                      : "Merge Down", //MISSING\r
-HorizontalSplitCell    : "Split Cell Horizontally",    //MISSING\r
-VerticalSplitCell      : "Split Cell Vertically",      //MISSING\r
+SplitCell                      : "Διαχωρισμός Κελιού",\r
 TableDelete                    : "Διαγραφή πίνακα",\r
 CellProperties         : "Ιδιότητες Κελιού",\r
 TableProperties                : "Ιδιότητες Πίνακα",\r
@@ -147,7 +134,7 @@ SelectionFieldProp  : "Ιδιότητες πεδίου επιλογής",
 TextareaProp           : "Ιδιότητες περιοχής κειμένου",\r
 FormProp                       : "Ιδιότητες φόρμας",\r
 \r
-FontFormats                    : "Κανονικό;Μορφοποιημένο;Διεύθυνση;Επικεφαλίδα 1;Επικεφαλίδα 2;Επικεφαλίδα 3;Επικεφαλίδα 4;Επικεφαλίδα 5;Επικεφαλίδα 6",\r
+FontFormats                    : "Κανονικό;Μορφοποιημένο;Διεύθυνση;Επικεφαλίδα 1;Επικεφαλίδα 2;Επικεφαλίδα 3;Επικεφαλίδα 4;Επικεφαλίδα 5;Επικεφαλίδα 6",               //REVIEW : Check _getfontformat.html\r
 \r
 // Alerts and Messages\r
 ProcessingXHTML                : "Επεξεργασία XHTML. Παρακαλώ περιμένετε...",\r
@@ -161,7 +148,6 @@ UnknownToolbarSet   : "Η μπάρα εργαλείων \"%1\" δεν υπάρχε
 NoActiveX                      : "Οι ρυθμίσεις ασφαλείας του browser σας μπορεί να περιορίσουν κάποιες ρυθμίσεις του προγράμματος. Χρειάζεται να ενεργοποιήσετε την επιλογή \"Run ActiveX controls and plug-ins\". Ίσως παρουσιαστούν λάθη και παρατηρήσετε ελειπείς λειτουργίες.",\r
 BrowseServerBlocked : "Οι πόροι του browser σας δεν είναι προσπελάσιμοι. Σιγουρευτείτε ότι δεν υπάρχουν ενεργοί popup blockers.",\r
 DialogBlocked          : "Δεν ήταν δυνατό να ανοίξει το παράθυρο διαλόγου. Σιγουρευτείτε ότι δεν υπάρχουν ενεργοί popup blockers.",\r
-VisitLinkBlocked       : "It was not possible to open a new window. Make sure all popup blockers are disabled.",       //MISSING\r
 \r
 // Dialogs\r
 DlgBtnOK                       : "OK",\r
@@ -243,7 +229,7 @@ DlgLnkURL                   : "URL",
 DlgLnkAnchorSel                : "Επιλέξτε μια άγκυρα",\r
 DlgLnkAnchorByName     : "Βάσει του Ονόματος (Name) της άγκυρας",\r
 DlgLnkAnchorById       : "Βάσει του Element Id",\r
-DlgLnkNoAnchors                : "(Δεν υπάρχουν άγκυρες στο κείμενο)",\r
+DlgLnkNoAnchors                : "<Δεν υπάρχουν άγκυρες στο κείμενο>",             //REVIEW : Change < and > with ( and )\r
 DlgLnkEMail                    : "Διεύθυνση Ηλεκτρονικού Ταχυδρομείου",\r
 DlgLnkEMailSubject     : "Θέμα Μηνύματος",\r
 DlgLnkEMailBody                : "Κείμενο Μηνύματος",\r
@@ -308,11 +294,6 @@ DlgTableCellSpace  : "Απόσταση κελιών",
 DlgTableCellPad                : "Γέμισμα κελιών",\r
 DlgTableCaption                : "Υπέρτιτλος",\r
 DlgTableSummary                : "Περίληψη",\r
-DlgTableHeaders                : "Headers",    //MISSING\r
-DlgTableHeadersNone            : "None",       //MISSING\r
-DlgTableHeadersColumn  : "First column",       //MISSING\r
-DlgTableHeadersRow             : "First Row",  //MISSING\r
-DlgTableHeadersBoth            : "Both",       //MISSING\r
 \r
 // Table Cell Dialog\r
 DlgCellTitle           : "Ιδιότητες Κελιού",\r
@@ -335,18 +316,12 @@ DlgCellVerAlignTop        : "Πάνω (Top)",
 DlgCellVerAlignMiddle  : "Μέση (Middle)",\r
 DlgCellVerAlignBottom  : "Κάτω (Bottom)",\r
 DlgCellVerAlignBaseline        : "Γραμμή Βάσης (Baseline)",\r
-DlgCellType            : "Cell Type",  //MISSING\r
-DlgCellTypeData                : "Data",       //MISSING\r
-DlgCellTypeHeader      : "Header",     //MISSING\r
 DlgCellRowSpan         : "Αριθμός Γραμμών (Rows Span)",\r
 DlgCellCollSpan                : "Αριθμός Κολωνών (Columns Span)",\r
 DlgCellBackColor       : "Χρώμα Υποβάθρου",\r
 DlgCellBorderColor     : "Χρώμα Περιθωρίου",\r
 DlgCellBtnSelect       : "Επιλογή...",\r
 \r
-// Find and Replace Dialog\r
-DlgFindAndReplaceTitle : "Find and Replace",   //MISSING\r
-\r
 // Find Dialog\r
 DlgFindTitle           : "Αναζήτηση",\r
 DlgFindFindBtn         : "Αναζήτηση",\r
@@ -372,6 +347,7 @@ DlgPasteMsg2        : "Παρακαλώ επικολήστε στο ακόλουθο κ
 DlgPasteSec            : "Because of your browser security settings, the editor is not able to access your clipboard data directly. You are required to paste it again in this window.",       //MISSING\r
 DlgPasteIgnoreFont             : "Αγνόηση προδιαγραφών γραμματοσειράς",\r
 DlgPasteRemoveStyles   : "Αφαίρεση προδιαγραφών στύλ",\r
+DlgPasteCleanBox               : "Κουτί εκαθάρισης",\r
 \r
 // Color Picker\r
 ColorAutomatic : "Αυτόματο",\r
@@ -524,16 +500,5 @@ DlgAboutAboutTab   : "Σχετικά",
 DlgAboutBrowserInfoTab : "Πληροφορίες Browser",\r
 DlgAboutLicenseTab     : "Άδεια",\r
 DlgAboutVersion                : "έκδοση",\r
-DlgAboutInfo           : "Για περισσότερες πληροφορίες",\r
-\r
-// Div Dialog\r
-DlgDivGeneralTab       : "General",    //MISSING\r
-DlgDivAdvancedTab      : "Advanced",   //MISSING\r
-DlgDivStyle            : "Style",      //MISSING\r
-DlgDivInlineStyle      : "Inline Style",       //MISSING\r
-\r
-ScaytTitle                     : "SCAYT",      //MISSING\r
-ScaytTitleOptions      : "Options",    //MISSING\r
-ScaytTitleLangs                : "Languages",  //MISSING\r
-ScaytTitleAbout                : "About"       //MISSING\r
-};\r
+DlgAboutInfo           : "Για περισσότερες πληροφορίες"\r
+};
\ No newline at end of file
index 83d6624..b6960b6 100644 (file)
@@ -1,6 +1,6 @@
 /*\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
@@ -44,9 +44,7 @@ RemoveFormat          : "Remove Format",
 InsertLinkLbl          : "Link",\r
 InsertLink                     : "Insert/Edit Link",\r
 RemoveLink                     : "Remove Link",\r
-VisitLink                      : "Open Link",\r
 Anchor                         : "Insert/Edit Anchor",\r
-AnchorDelete           : "Remove Anchor",\r
 InsertImageLbl         : "Image",\r
 InsertImage                    : "Insert/Edit Image",\r
 InsertFlashLbl         : "Flash",\r
@@ -72,10 +70,6 @@ RightJustify         : "Right Justify",
 BlockJustify           : "Block Justify",\r
 DecreaseIndent         : "Decrease Indent",\r
 IncreaseIndent         : "Increase Indent",\r
-Blockquote                     : "Blockquote",\r
-CreateDiv                      : "Create Div Container",\r
-EditDiv                                : "Edit Div Container",\r
-DeleteDiv                      : "Remove Div Container",\r
 Undo                           : "Undo",\r
 Redo                           : "Redo",\r
 NumberedListLbl                : "Numbered List",\r
@@ -109,27 +103,20 @@ SelectionField    : "Selection Field",
 ImageButton            : "Image Button",\r
 \r
 FitWindow              : "Maximize the editor size",\r
-ShowBlocks             : "Show Blocks",\r
 \r
 // Context Menu\r
 EditLink                       : "Edit Link",\r
 CellCM                         : "Cell",\r
 RowCM                          : "Row",\r
 ColumnCM                       : "Column",\r
-InsertRowAfter         : "Insert Row After",\r
-InsertRowBefore                : "Insert Row Before",\r
+InsertRow                      : "Insert Row",\r
 DeleteRows                     : "Delete Rows",\r
-InsertColumnAfter      : "Insert Column After",\r
-InsertColumnBefore     : "Insert Column Before",\r
+InsertColumn           : "Insert Column",\r
 DeleteColumns          : "Delete Columns",\r
-InsertCellAfter                : "Insert Cell After",\r
-InsertCellBefore       : "Insert Cell Before",\r
+InsertCell                     : "Insert Cell",\r
 DeleteCells                    : "Delete Cells",\r
 MergeCells                     : "Merge Cells",\r
-MergeRight                     : "Merge Right",\r
-MergeDown                      : "Merge Down",\r
-HorizontalSplitCell    : "Split Cell Horizontally",\r
-VerticalSplitCell      : "Split Cell Vertically",\r
+SplitCell                      : "Split Cell",\r
 TableDelete                    : "Delete Table",\r
 CellProperties         : "Cell Properties",\r
 TableProperties                : "Table Properties",\r
@@ -147,7 +134,7 @@ SelectionFieldProp  : "Selection Field Properties",
 TextareaProp           : "Textarea Properties",\r
 FormProp                       : "Form Properties",\r
 \r
-FontFormats                    : "Normal;Formatted;Address;Heading 1;Heading 2;Heading 3;Heading 4;Heading 5;Heading 6;Normal (DIV)",\r
+FontFormats                    : "Normal;Formatted;Address;Heading 1;Heading 2;Heading 3;Heading 4;Heading 5;Heading 6;Normal (DIV)",          //REVIEW : Check _getfontformat.html\r
 \r
 // Alerts and Messages\r
 ProcessingXHTML                : "Processing XHTML. Please wait...",\r
@@ -161,7 +148,6 @@ UnknownToolbarSet   : "Toolbar set \"%1\" doesn't exist",
 NoActiveX                      : "Your browser's security settings could limit some features of the editor. You must enable the option \"Run ActiveX controls and plug-ins\". You may experience errors and notice missing features.",\r
 BrowseServerBlocked : "The resources browser could not be opened. Make sure that all popup blockers are disabled.",\r
 DialogBlocked          : "It was not possible to open the dialog window. Make sure all popup blockers are disabled.",\r
-VisitLinkBlocked       : "It was not possible to open a new window. Make sure all popup blockers are disabled.",\r
 \r
 // Dialogs\r
 DlgBtnOK                       : "OK",\r
@@ -243,7 +229,7 @@ DlgLnkURL                   : "URL",
 DlgLnkAnchorSel                : "Select an Anchor",\r
 DlgLnkAnchorByName     : "By Anchor Name",\r
 DlgLnkAnchorById       : "By Element Id",\r
-DlgLnkNoAnchors                : "(No anchors available in the document)",\r
+DlgLnkNoAnchors                : "(No anchors available in the document)",             //REVIEW : Change < and > with ( and )\r
 DlgLnkEMail                    : "E-Mail Address",\r
 DlgLnkEMailSubject     : "Message Subject",\r
 DlgLnkEMailBody                : "Message Body",\r
@@ -308,11 +294,6 @@ DlgTableCellSpace  : "Cell spacing",
 DlgTableCellPad                : "Cell padding",\r
 DlgTableCaption                : "Caption",\r
 DlgTableSummary                : "Summary",\r
-DlgTableHeaders                : "Headers",    //MISSING\r
-DlgTableHeadersNone            : "None",       //MISSING\r
-DlgTableHeadersColumn  : "First column",       //MISSING\r
-DlgTableHeadersRow             : "First Row",  //MISSING\r
-DlgTableHeadersBoth            : "Both",       //MISSING\r
 \r
 // Table Cell Dialog\r
 DlgCellTitle           : "Cell Properties",\r
@@ -335,18 +316,12 @@ DlgCellVerAlignTop        : "Top",
 DlgCellVerAlignMiddle  : "Middle",\r
 DlgCellVerAlignBottom  : "Bottom",\r
 DlgCellVerAlignBaseline        : "Baseline",\r
-DlgCellType            : "Cell Type",\r
-DlgCellTypeData                : "Data",\r
-DlgCellTypeHeader      : "Header",\r
 DlgCellRowSpan         : "Rows Span",\r
 DlgCellCollSpan                : "Columns Span",\r
 DlgCellBackColor       : "Background Colour",\r
 DlgCellBorderColor     : "Border Colour",\r
 DlgCellBtnSelect       : "Select...",\r
 \r
-// Find and Replace Dialog\r
-DlgFindAndReplaceTitle : "Find and Replace",\r
-\r
 // Find Dialog\r
 DlgFindTitle           : "Find",\r
 DlgFindFindBtn         : "Find",\r
@@ -368,10 +343,11 @@ PasteErrorCopy    : "Your browser security settings don't permit the editor to auto
 PasteAsText            : "Paste as Plain Text",\r
 PasteFromWord  : "Paste from Word",\r
 \r
-DlgPasteMsg2   : "Please paste inside the following box using the keyboard (<strong>Ctrl+V</strong>) and hit <strong>OK</strong>.",\r
+DlgPasteMsg2   : "Please paste inside the following box using the keyboard (<STRONG>Ctrl+V</STRONG>) and hit <STRONG>OK</STRONG>.",\r
 DlgPasteSec            : "Because of your browser security settings, the editor is not able to access your clipboard data directly. You are required to paste it again in this window.",\r
 DlgPasteIgnoreFont             : "Ignore Font Face definitions",\r
 DlgPasteRemoveStyles   : "Remove Styles definitions",\r
+DlgPasteCleanBox               : "Clean Up Box",\r
 \r
 // Color Picker\r
 ColorAutomatic : "Automatic",\r
@@ -514,7 +490,7 @@ DlgDocPreview               : "Preview",
 // Templates Dialog\r
 Templates                      : "Templates",\r
 DlgTemplatesTitle      : "Content Templates",\r
-DlgTemplatesSelMsg     : "Please select the template to open in the editor<br />(the actual contents will be lost):",\r
+DlgTemplatesSelMsg     : "Please select the template to open in the editor<br>(the actual contents will be lost):",\r
 DlgTemplatesLoading    : "Loading templates list. Please wait...",\r
 DlgTemplatesNoTpl      : "(No templates defined)",\r
 DlgTemplatesReplace    : "Replace actual contents",\r
@@ -524,16 +500,5 @@ DlgAboutAboutTab   : "About",
 DlgAboutBrowserInfoTab : "Browser Info",\r
 DlgAboutLicenseTab     : "License",\r
 DlgAboutVersion                : "version",\r
-DlgAboutInfo           : "For further information go to",\r
-\r
-// Div Dialog\r
-DlgDivGeneralTab       : "General",\r
-DlgDivAdvancedTab      : "Advanced",\r
-DlgDivStyle            : "Style",\r
-DlgDivInlineStyle      : "Inline Style",\r
-\r
-ScaytTitle                     : "SCAYT",      //MISSING\r
-ScaytTitleOptions      : "Options",    //MISSING\r
-ScaytTitleLangs                : "Languages",  //MISSING\r
-ScaytTitleAbout                : "About"       //MISSING\r
-};\r
+DlgAboutInfo           : "For further information go to"\r
+};
\ No newline at end of file
index 1f82fc8..2900a9d 100644 (file)
@@ -1,6 +1,6 @@
 /*\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
@@ -44,9 +44,7 @@ RemoveFormat          : "Remove Format",
 InsertLinkLbl          : "Link",\r
 InsertLink                     : "Insert/Edit Link",\r
 RemoveLink                     : "Remove Link",\r
-VisitLink                      : "Open Link",\r
 Anchor                         : "Insert/Edit Anchor",\r
-AnchorDelete           : "Remove Anchor",\r
 InsertImageLbl         : "Image",\r
 InsertImage                    : "Insert/Edit Image",\r
 InsertFlashLbl         : "Flash",\r
@@ -72,10 +70,6 @@ RightJustify         : "Right Justify",
 BlockJustify           : "Block Justify",\r
 DecreaseIndent         : "Decrease Indent",\r
 IncreaseIndent         : "Increase Indent",\r
-Blockquote                     : "Blockquote",\r
-CreateDiv                      : "Create Div Container",\r
-EditDiv                                : "Edit Div Container",\r
-DeleteDiv                      : "Remove Div Container",\r
 Undo                           : "Undo",\r
 Redo                           : "Redo",\r
 NumberedListLbl                : "Numbered List",\r
@@ -109,27 +103,20 @@ SelectionField    : "Selection Field",
 ImageButton            : "Image Button",\r
 \r
 FitWindow              : "Maximize the editor size",\r
-ShowBlocks             : "Show Blocks",\r
 \r
 // Context Menu\r
 EditLink                       : "Edit Link",\r
 CellCM                         : "Cell",\r
 RowCM                          : "Row",\r
 ColumnCM                       : "Column",\r
-InsertRowAfter         : "Insert Row After",\r
-InsertRowBefore                : "Insert Row Before",\r
+InsertRow                      : "Insert Row",\r
 DeleteRows                     : "Delete Rows",\r
-InsertColumnAfter      : "Insert Column After",\r
-InsertColumnBefore     : "Insert Column Before",\r
+InsertColumn           : "Insert Column",\r
 DeleteColumns          : "Delete Columns",\r
-InsertCellAfter                : "Insert Cell After",\r
-InsertCellBefore       : "Insert Cell Before",\r
+InsertCell                     : "Insert Cell",\r
 DeleteCells                    : "Delete Cells",\r
 MergeCells                     : "Merge Cells",\r
-MergeRight                     : "Merge Right",\r
-MergeDown                      : "Merge Down",\r
-HorizontalSplitCell    : "Split Cell Horizontally",\r
-VerticalSplitCell      : "Split Cell Vertically",\r
+SplitCell                      : "Split Cell",\r
 TableDelete                    : "Delete Table",\r
 CellProperties         : "Cell Properties",\r
 TableProperties                : "Table Properties",\r
@@ -147,7 +134,7 @@ SelectionFieldProp  : "Selection Field Properties",
 TextareaProp           : "Textarea Properties",\r
 FormProp                       : "Form Properties",\r
 \r
-FontFormats                    : "Normal;Formatted;Address;Heading 1;Heading 2;Heading 3;Heading 4;Heading 5;Heading 6;Normal (DIV)",\r
+FontFormats                    : "Normal;Formatted;Address;Heading 1;Heading 2;Heading 3;Heading 4;Heading 5;Heading 6;Normal (DIV)",          //REVIEW : Check _getfontformat.html\r
 \r
 // Alerts and Messages\r
 ProcessingXHTML                : "Processing XHTML. Please wait...",\r
@@ -161,7 +148,6 @@ UnknownToolbarSet   : "Toolbar set \"%1\" doesn't exist",
 NoActiveX                      : "Your browser's security settings could limit some features of the editor. You must enable the option \"Run ActiveX controls and plug-ins\". You may experience errors and notice missing features.",\r
 BrowseServerBlocked : "The resources browser could not be opened. Make sure that all popup blockers are disabled.",\r
 DialogBlocked          : "It was not possible to open the dialog window. Make sure all popup blockers are disabled.",\r
-VisitLinkBlocked       : "It was not possible to open a new window. Make sure all popup blockers are disabled.",\r
 \r
 // Dialogs\r
 DlgBtnOK                       : "OK",\r
@@ -243,7 +229,7 @@ DlgLnkURL                   : "URL",
 DlgLnkAnchorSel                : "Select an Anchor",\r
 DlgLnkAnchorByName     : "By Anchor Name",\r
 DlgLnkAnchorById       : "By Element Id",\r
-DlgLnkNoAnchors                : "(No anchors available in the document)",\r
+DlgLnkNoAnchors                : "(No anchors available in the document)",             //REVIEW : Change < and > with ( and )\r
 DlgLnkEMail                    : "E-Mail Address",\r
 DlgLnkEMailSubject     : "Message Subject",\r
 DlgLnkEMailBody                : "Message Body",\r
@@ -308,11 +294,6 @@ DlgTableCellSpace  : "Cell spacing",
 DlgTableCellPad                : "Cell padding",\r
 DlgTableCaption                : "Caption",\r
 DlgTableSummary                : "Summary",\r
-DlgTableHeaders                : "Headers",    //MISSING\r
-DlgTableHeadersNone            : "None",       //MISSING\r
-DlgTableHeadersColumn  : "First column",       //MISSING\r
-DlgTableHeadersRow             : "First Row",  //MISSING\r
-DlgTableHeadersBoth            : "Both",       //MISSING\r
 \r
 // Table Cell Dialog\r
 DlgCellTitle           : "Cell Properties",\r
@@ -335,18 +316,12 @@ DlgCellVerAlignTop        : "Top",
 DlgCellVerAlignMiddle  : "Middle",\r
 DlgCellVerAlignBottom  : "Bottom",\r
 DlgCellVerAlignBaseline        : "Baseline",\r
-DlgCellType            : "Cell Type",\r
-DlgCellTypeData                : "Data",\r
-DlgCellTypeHeader      : "Header",\r
 DlgCellRowSpan         : "Rows Span",\r
 DlgCellCollSpan                : "Columns Span",\r
 DlgCellBackColor       : "Background Colour",\r
 DlgCellBorderColor     : "Border Colour",\r
 DlgCellBtnSelect       : "Select...",\r
 \r
-// Find and Replace Dialog\r
-DlgFindAndReplaceTitle : "Find and Replace",\r
-\r
 // Find Dialog\r
 DlgFindTitle           : "Find",\r
 DlgFindFindBtn         : "Find",\r
@@ -368,10 +343,11 @@ PasteErrorCopy    : "Your browser security settings don't permit the editor to auto
 PasteAsText            : "Paste as Plain Text",\r
 PasteFromWord  : "Paste from Word",\r
 \r
-DlgPasteMsg2   : "Please paste inside the following box using the keyboard (<strong>Ctrl+V</strong>) and hit <strong>OK</strong>.",\r
+DlgPasteMsg2   : "Please paste inside the following box using the keyboard (<STRONG>Ctrl+V</STRONG>) and hit <STRONG>OK</STRONG>.",\r
 DlgPasteSec            : "Because of your browser security settings, the editor is not able to access your clipboard data directly. You are required to paste it again in this window.",\r
 DlgPasteIgnoreFont             : "Ignore Font Face definitions",\r
 DlgPasteRemoveStyles   : "Remove Styles definitions",\r
+DlgPasteCleanBox               : "Clean Up Box",\r
 \r
 // Color Picker\r
 ColorAutomatic : "Automatic",\r
@@ -514,7 +490,7 @@ DlgDocPreview               : "Preview",
 // Templates Dialog\r
 Templates                      : "Templates",\r
 DlgTemplatesTitle      : "Content Templates",\r
-DlgTemplatesSelMsg     : "Please select the template to open in the editor<br />(the actual contents will be lost):",\r
+DlgTemplatesSelMsg     : "Please select the template to open in the editor<br>(the actual contents will be lost):",\r
 DlgTemplatesLoading    : "Loading templates list. Please wait...",\r
 DlgTemplatesNoTpl      : "(No templates defined)",\r
 DlgTemplatesReplace    : "Replace actual contents",\r
@@ -524,16 +500,5 @@ DlgAboutAboutTab   : "About",
 DlgAboutBrowserInfoTab : "Browser Info",\r
 DlgAboutLicenseTab     : "License",\r
 DlgAboutVersion                : "version",\r
-DlgAboutInfo           : "For further information go to",\r
-\r
-// Div Dialog\r
-DlgDivGeneralTab       : "General",\r
-DlgDivAdvancedTab      : "Advanced",\r
-DlgDivStyle            : "Style",\r
-DlgDivInlineStyle      : "Inline Style",\r
-\r
-ScaytTitle                     : "SCAYT",      //MISSING\r
-ScaytTitleOptions      : "Options",    //MISSING\r
-ScaytTitleLangs                : "Languages",  //MISSING\r
-ScaytTitleAbout                : "About"       //MISSING\r
-};\r
+DlgAboutInfo           : "For further information go to"\r
+};
\ No newline at end of file
index d50b51e..eaaf3e4 100644 (file)
@@ -1,6 +1,6 @@
 /*\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
@@ -44,9 +44,7 @@ RemoveFormat          : "Remove Format",
 InsertLinkLbl          : "Link",\r
 InsertLink                     : "Insert/Edit Link",\r
 RemoveLink                     : "Remove Link",\r
-VisitLink                      : "Open Link",\r
 Anchor                         : "Insert/Edit Anchor",\r
-AnchorDelete           : "Remove Anchor",\r
 InsertImageLbl         : "Image",\r
 InsertImage                    : "Insert/Edit Image",\r
 InsertFlashLbl         : "Flash",\r
@@ -72,10 +70,6 @@ RightJustify         : "Right Justify",
 BlockJustify           : "Block Justify",\r
 DecreaseIndent         : "Decrease Indent",\r
 IncreaseIndent         : "Increase Indent",\r
-Blockquote                     : "Blockquote",\r
-CreateDiv                      : "Create Div Container",\r
-EditDiv                                : "Edit Div Container",\r
-DeleteDiv                      : "Remove Div Container",\r
 Undo                           : "Undo",\r
 Redo                           : "Redo",\r
 NumberedListLbl                : "Numbered List",\r
@@ -109,27 +103,20 @@ SelectionField    : "Selection Field",
 ImageButton            : "Image Button",\r
 \r
 FitWindow              : "Maximize the editor size",\r
-ShowBlocks             : "Show Blocks",\r
 \r
 // Context Menu\r
 EditLink                       : "Edit Link",\r
 CellCM                         : "Cell",\r
 RowCM                          : "Row",\r
 ColumnCM                       : "Column",\r
-InsertRowAfter         : "Insert Row After",\r
-InsertRowBefore                : "Insert Row Before",\r
+InsertRow                      : "Insert Row",\r
 DeleteRows                     : "Delete Rows",\r
-InsertColumnAfter      : "Insert Column After",\r
-InsertColumnBefore     : "Insert Column Before",\r
+InsertColumn           : "Insert Column",\r
 DeleteColumns          : "Delete Columns",\r
-InsertCellAfter                : "Insert Cell After",\r
-InsertCellBefore       : "Insert Cell Before",\r
+InsertCell                     : "Insert Cell",\r
 DeleteCells                    : "Delete Cells",\r
 MergeCells                     : "Merge Cells",\r
-MergeRight                     : "Merge Right",\r
-MergeDown                      : "Merge Down",\r
-HorizontalSplitCell    : "Split Cell Horizontally",\r
-VerticalSplitCell      : "Split Cell Vertically",\r
+SplitCell                      : "Split Cell",\r
 TableDelete                    : "Delete Table",\r
 CellProperties         : "Cell Properties",\r
 TableProperties                : "Table Properties",\r
@@ -147,7 +134,7 @@ SelectionFieldProp  : "Selection Field Properties",
 TextareaProp           : "Textarea Properties",\r
 FormProp                       : "Form Properties",\r
 \r
-FontFormats                    : "Normal;Formatted;Address;Heading 1;Heading 2;Heading 3;Heading 4;Heading 5;Heading 6;Normal (DIV)",\r
+FontFormats                    : "Normal;Formatted;Address;Heading 1;Heading 2;Heading 3;Heading 4;Heading 5;Heading 6;Normal (DIV)",          //REVIEW : Check _getfontformat.html\r
 \r
 // Alerts and Messages\r
 ProcessingXHTML                : "Processing XHTML. Please wait...",\r
@@ -161,7 +148,6 @@ UnknownToolbarSet   : "Toolbar set \"%1\" doesn't exist",
 NoActiveX                      : "Your browser's security settings could limit some features of the editor. You must enable the option \"Run ActiveX controls and plug-ins\". You may experience errors and notice missing features.",\r
 BrowseServerBlocked : "The resources browser could not be opened. Make sure that all popup blockers are disabled.",\r
 DialogBlocked          : "It was not possible to open the dialog window. Make sure all popup blockers are disabled.",\r
-VisitLinkBlocked       : "It was not possible to open a new window. Make sure all popup blockers are disabled.",\r
 \r
 // Dialogs\r
 DlgBtnOK                       : "OK",\r
@@ -243,7 +229,7 @@ DlgLnkURL                   : "URL",
 DlgLnkAnchorSel                : "Select an Anchor",\r
 DlgLnkAnchorByName     : "By Anchor Name",\r
 DlgLnkAnchorById       : "By Element Id",\r
-DlgLnkNoAnchors                : "(No anchors available in the document)",\r
+DlgLnkNoAnchors                : "(No anchors available in the document)",             //REVIEW : Change < and > with ( and )\r
 DlgLnkEMail                    : "E-Mail Address",\r
 DlgLnkEMailSubject     : "Message Subject",\r
 DlgLnkEMailBody                : "Message Body",\r
@@ -308,11 +294,6 @@ DlgTableCellSpace  : "Cell spacing",
 DlgTableCellPad                : "Cell padding",\r
 DlgTableCaption                : "Caption",\r
 DlgTableSummary                : "Summary",\r
-DlgTableHeaders                : "Headers",    //MISSING\r
-DlgTableHeadersNone            : "None",       //MISSING\r
-DlgTableHeadersColumn  : "First column",       //MISSING\r
-DlgTableHeadersRow             : "First Row",  //MISSING\r
-DlgTableHeadersBoth            : "Both",       //MISSING\r
 \r
 // Table Cell Dialog\r
 DlgCellTitle           : "Cell Properties",\r
@@ -335,18 +316,12 @@ DlgCellVerAlignTop        : "Top",
 DlgCellVerAlignMiddle  : "Middle",\r
 DlgCellVerAlignBottom  : "Bottom",\r
 DlgCellVerAlignBaseline        : "Baseline",\r
-DlgCellType            : "Cell Type",\r
-DlgCellTypeData                : "Data",\r
-DlgCellTypeHeader      : "Header",\r
 DlgCellRowSpan         : "Rows Span",\r
 DlgCellCollSpan                : "Columns Span",\r
 DlgCellBackColor       : "Background Colour",\r
 DlgCellBorderColor     : "Border Colour",\r
 DlgCellBtnSelect       : "Select...",\r
 \r
-// Find and Replace Dialog\r
-DlgFindAndReplaceTitle : "Find and Replace",\r
-\r
 // Find Dialog\r
 DlgFindTitle           : "Find",\r
 DlgFindFindBtn         : "Find",\r
@@ -368,10 +343,11 @@ PasteErrorCopy    : "Your browser security settings don't permit the editor to auto
 PasteAsText            : "Paste as Plain Text",\r
 PasteFromWord  : "Paste from Word",\r
 \r
-DlgPasteMsg2   : "Please paste inside the following box using the keyboard (<strong>Ctrl+V</strong>) and hit <strong>OK</strong>.",\r
+DlgPasteMsg2   : "Please paste inside the following box using the keyboard (<STRONG>Ctrl+V</STRONG>) and hit <STRONG>OK</STRONG>.",\r
 DlgPasteSec            : "Because of your browser security settings, the editor is not able to access your clipboard data directly. You are required to paste it again in this window.",\r
 DlgPasteIgnoreFont             : "Ignore Font Face definitions",\r
 DlgPasteRemoveStyles   : "Remove Styles definitions",\r
+DlgPasteCleanBox               : "Clean Up Box",\r
 \r
 // Color Picker\r
 ColorAutomatic : "Automatic",\r
@@ -514,7 +490,7 @@ DlgDocPreview               : "Preview",
 // Templates Dialog\r
 Templates                      : "Templates",\r
 DlgTemplatesTitle      : "Content Templates",\r
-DlgTemplatesSelMsg     : "Please select the template to open in the editor<br />(the actual contents will be lost):",\r
+DlgTemplatesSelMsg     : "Please select the template to open in the editor<br>(the actual contents will be lost):",\r
 DlgTemplatesLoading    : "Loading templates list. Please wait...",\r
 DlgTemplatesNoTpl      : "(No templates defined)",\r
 DlgTemplatesReplace    : "Replace actual contents",\r
@@ -524,16 +500,5 @@ DlgAboutAboutTab   : "About",
 DlgAboutBrowserInfoTab : "Browser Info",\r
 DlgAboutLicenseTab     : "License",\r
 DlgAboutVersion                : "version",\r
-DlgAboutInfo           : "For further information go to",\r
-\r
-// Div Dialog\r
-DlgDivGeneralTab       : "General",\r
-DlgDivAdvancedTab      : "Advanced",\r
-DlgDivStyle            : "Style",\r
-DlgDivInlineStyle      : "Inline Style",\r
-\r
-ScaytTitle                     : "SCAYT",      //MISSING\r
-ScaytTitleOptions      : "Options",    //MISSING\r
-ScaytTitleLangs                : "Languages",  //MISSING\r
-ScaytTitleAbout                : "About"       //MISSING\r
-};\r
+DlgAboutInfo           : "For further information go to"\r
+};
\ No newline at end of file
index 2c2f5da..c579fc9 100644 (file)
@@ -1,6 +1,6 @@
 /*\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
@@ -44,9 +44,7 @@ RemoveFormat          : "Remove Format",
 InsertLinkLbl          : "Link",\r
 InsertLink                     : "Insert/Edit Link",\r
 RemoveLink                     : "Remove Link",\r
-VisitLink                      : "Open Link",\r
 Anchor                         : "Insert/Edit Anchor",\r
-AnchorDelete           : "Remove Anchor",\r
 InsertImageLbl         : "Image",\r
 InsertImage                    : "Insert/Edit Image",\r
 InsertFlashLbl         : "Flash",\r
@@ -72,10 +70,6 @@ RightJustify         : "Right Justify",
 BlockJustify           : "Block Justify",\r
 DecreaseIndent         : "Decrease Indent",\r
 IncreaseIndent         : "Increase Indent",\r
-Blockquote                     : "Blockquote",\r
-CreateDiv                      : "Create Div Container",\r
-EditDiv                                : "Edit Div Container",\r
-DeleteDiv                      : "Remove Div Container",\r
 Undo                           : "Undo",\r
 Redo                           : "Redo",\r
 NumberedListLbl                : "Numbered List",\r
@@ -109,27 +103,20 @@ SelectionField    : "Selection Field",
 ImageButton            : "Image Button",\r
 \r
 FitWindow              : "Maximize the editor size",\r
-ShowBlocks             : "Show Blocks",\r
 \r
 // Context Menu\r
 EditLink                       : "Edit Link",\r
 CellCM                         : "Cell",\r
 RowCM                          : "Row",\r
 ColumnCM                       : "Column",\r
-InsertRowAfter         : "Insert Row After",\r
-InsertRowBefore                : "Insert Row Before",\r
+InsertRow                      : "Insert Row",\r
 DeleteRows                     : "Delete Rows",\r
-InsertColumnAfter      : "Insert Column After",\r
-InsertColumnBefore     : "Insert Column Before",\r
+InsertColumn           : "Insert Column",\r
 DeleteColumns          : "Delete Columns",\r
-InsertCellAfter                : "Insert Cell After",\r
-InsertCellBefore       : "Insert Cell Before",\r
+InsertCell                     : "Insert Cell",\r
 DeleteCells                    : "Delete Cells",\r
 MergeCells                     : "Merge Cells",\r
-MergeRight                     : "Merge Right",\r
-MergeDown                      : "Merge Down",\r
-HorizontalSplitCell    : "Split Cell Horizontally",\r
-VerticalSplitCell      : "Split Cell Vertically",\r
+SplitCell                      : "Split Cell",\r
 TableDelete                    : "Delete Table",\r
 CellProperties         : "Cell Properties",\r
 TableProperties                : "Table Properties",\r
@@ -147,7 +134,7 @@ SelectionFieldProp  : "Selection Field Properties",
 TextareaProp           : "Textarea Properties",\r
 FormProp                       : "Form Properties",\r
 \r
-FontFormats                    : "Normal;Formatted;Address;Heading 1;Heading 2;Heading 3;Heading 4;Heading 5;Heading 6;Normal (DIV)",\r
+FontFormats                    : "Normal;Formatted;Address;Heading 1;Heading 2;Heading 3;Heading 4;Heading 5;Heading 6;Normal (DIV)",          //REVIEW : Check _getfontformat.html\r
 \r
 // Alerts and Messages\r
 ProcessingXHTML                : "Processing XHTML. Please wait...",\r
@@ -161,7 +148,6 @@ UnknownToolbarSet   : "Toolbar set \"%1\" doesn't exist",
 NoActiveX                      : "Your browser's security settings could limit some features of the editor. You must enable the option \"Run ActiveX controls and plug-ins\". You may experience errors and notice missing features.",\r
 BrowseServerBlocked : "The resources browser could not be opened. Make sure that all popup blockers are disabled.",\r
 DialogBlocked          : "It was not possible to open the dialog window. Make sure all popup blockers are disabled.",\r
-VisitLinkBlocked       : "It was not possible to open a new window. Make sure all popup blockers are disabled.",\r
 \r
 // Dialogs\r
 DlgBtnOK                       : "OK",\r
@@ -243,7 +229,7 @@ DlgLnkURL                   : "URL",
 DlgLnkAnchorSel                : "Select an Anchor",\r
 DlgLnkAnchorByName     : "By Anchor Name",\r
 DlgLnkAnchorById       : "By Element Id",\r
-DlgLnkNoAnchors                : "(No anchors available in the document)",\r
+DlgLnkNoAnchors                : "(No anchors available in the document)",             //REVIEW : Change < and > with ( and )\r
 DlgLnkEMail                    : "E-Mail Address",\r
 DlgLnkEMailSubject     : "Message Subject",\r
 DlgLnkEMailBody                : "Message Body",\r
@@ -308,11 +294,6 @@ DlgTableCellSpace  : "Cell spacing",
 DlgTableCellPad                : "Cell padding",\r
 DlgTableCaption                : "Caption",\r
 DlgTableSummary                : "Summary",\r
-DlgTableHeaders                : "Headers",\r
-DlgTableHeadersNone            : "None",\r
-DlgTableHeadersColumn  : "First column",\r
-DlgTableHeadersRow             : "First Row",\r
-DlgTableHeadersBoth            : "Both",\r
 \r
 // Table Cell Dialog\r
 DlgCellTitle           : "Cell Properties",\r
@@ -335,18 +316,12 @@ DlgCellVerAlignTop        : "Top",
 DlgCellVerAlignMiddle  : "Middle",\r
 DlgCellVerAlignBottom  : "Bottom",\r
 DlgCellVerAlignBaseline        : "Baseline",\r
-DlgCellType            : "Cell Type",\r
-DlgCellTypeData                : "Data",\r
-DlgCellTypeHeader      : "Header",\r
 DlgCellRowSpan         : "Rows Span",\r
 DlgCellCollSpan                : "Columns Span",\r
 DlgCellBackColor       : "Background Color",\r
 DlgCellBorderColor     : "Border Color",\r
 DlgCellBtnSelect       : "Select...",\r
 \r
-// Find and Replace Dialog\r
-DlgFindAndReplaceTitle : "Find and Replace",\r
-\r
 // Find Dialog\r
 DlgFindTitle           : "Find",\r
 DlgFindFindBtn         : "Find",\r
@@ -372,6 +347,7 @@ DlgPasteMsg2        : "Please paste inside the following box using the keyboard (<stron
 DlgPasteSec            : "Because of your browser security settings, the editor is not able to access your clipboard data directly. You are required to paste it again in this window.",\r
 DlgPasteIgnoreFont             : "Ignore Font Face definitions",\r
 DlgPasteRemoveStyles   : "Remove Styles definitions",\r
+DlgPasteCleanBox               : "Clean Up Box",\r
 \r
 // Color Picker\r
 ColorAutomatic : "Automatic",\r
@@ -524,16 +500,5 @@ DlgAboutAboutTab   : "About",
 DlgAboutBrowserInfoTab : "Browser Info",\r
 DlgAboutLicenseTab     : "License",\r
 DlgAboutVersion                : "version",\r
-DlgAboutInfo           : "For further information go to",\r
-\r
-// Div Dialog\r
-DlgDivGeneralTab       : "General",\r
-DlgDivAdvancedTab      : "Advanced",\r
-DlgDivStyle            : "Style",\r
-DlgDivInlineStyle      : "Inline Style",\r
-\r
-ScaytTitle                     : "SCAYT",\r
-ScaytTitleOptions      : "Options",\r
-ScaytTitleLangs                : "Languages",\r
-ScaytTitleAbout                : "About"\r
-};\r
+DlgAboutInfo           : "For further information go to"\r
+};
\ No newline at end of file
index c1897de..04f7364 100644 (file)
@@ -1,6 +1,6 @@
 /*\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
@@ -44,9 +44,7 @@ RemoveFormat          : "Forigi Formaton",
 InsertLinkLbl          : "Ligilo",\r
 InsertLink                     : "Enmeti/Ŝanĝi Ligilon",\r
 RemoveLink                     : "Forigi Ligilon",\r
-VisitLink                      : "Open Link",  //MISSING\r
 Anchor                         : "Enmeti/Ŝanĝi Ankron",\r
-AnchorDelete           : "Remove Anchor",      //MISSING\r
 InsertImageLbl         : "Bildo",\r
 InsertImage                    : "Enmeti/Ŝanĝi Bildon",\r
 InsertFlashLbl         : "Flash",      //MISSING\r
@@ -72,10 +70,6 @@ RightJustify         : "Dekstrigi",
 BlockJustify           : "Ĝisrandigi Ambaŭflanke",\r
 DecreaseIndent         : "Malpligrandigi Krommarĝenon",\r
 IncreaseIndent         : "Pligrandigi Krommarĝenon",\r
-Blockquote                     : "Blockquote", //MISSING\r
-CreateDiv                      : "Create Div Container",       //MISSING\r
-EditDiv                                : "Edit Div Container", //MISSING\r
-DeleteDiv                      : "Remove Div Container",       //MISSING\r
 Undo                           : "Malfari",\r
 Redo                           : "Refari",\r
 NumberedListLbl                : "Numera Listo",\r
@@ -109,27 +103,20 @@ SelectionField    : "Elekta Kampo",
 ImageButton            : "Bildbutono",\r
 \r
 FitWindow              : "Maximize the editor size",   //MISSING\r
-ShowBlocks             : "Show Blocks",        //MISSING\r
 \r
 // Context Menu\r
 EditLink                       : "Modifier Ligilon",\r
 CellCM                         : "Cell",       //MISSING\r
 RowCM                          : "Row",        //MISSING\r
 ColumnCM                       : "Column",     //MISSING\r
-InsertRowAfter         : "Insert Row After",   //MISSING\r
-InsertRowBefore                : "Insert Row Before",  //MISSING\r
+InsertRow                      : "Enmeti Linion",\r
 DeleteRows                     : "Forigi Liniojn",\r
-InsertColumnAfter      : "Insert Column After",        //MISSING\r
-InsertColumnBefore     : "Insert Column Before",       //MISSING\r
+InsertColumn           : "Enmeti Kolumnon",\r
 DeleteColumns          : "Forigi Kolumnojn",\r
-InsertCellAfter                : "Insert Cell After",  //MISSING\r
-InsertCellBefore       : "Insert Cell Before", //MISSING\r
+InsertCell                     : "Enmeti Ĉelon",\r
 DeleteCells                    : "Forigi Ĉelojn",\r
 MergeCells                     : "Kunfandi Ĉelojn",\r
-MergeRight                     : "Merge Right",        //MISSING\r
-MergeDown                      : "Merge Down", //MISSING\r
-HorizontalSplitCell    : "Split Cell Horizontally",    //MISSING\r
-VerticalSplitCell      : "Split Cell Vertically",      //MISSING\r
+SplitCell                      : "Dividi Ĉelojn",\r
 TableDelete                    : "Delete Table",       //MISSING\r
 CellProperties         : "Atributoj de Ĉelo",\r
 TableProperties                : "Atributoj de Tabelo",\r
@@ -147,7 +134,7 @@ SelectionFieldProp  : "Atributoj de Elekta Kampo",
 TextareaProp           : "Atributoj de Teksta Areo",\r
 FormProp                       : "Formularaj Atributoj",\r
 \r
-FontFormats                    : "Normala;Formatita;Adreso;Titolo 1;Titolo 2;Titolo 3;Titolo 4;Titolo 5;Titolo 6;Paragrafo (DIV)",\r
+FontFormats                    : "Normala;Formatita;Adreso;Titolo 1;Titolo 2;Titolo 3;Titolo 4;Titolo 5;Titolo 6;Paragrafo (DIV)",             //REVIEW : Check _getfontformat.html\r
 \r
 // Alerts and Messages\r
 ProcessingXHTML                : "Traktado de XHTML. Bonvolu pacienci...",\r
@@ -161,7 +148,6 @@ UnknownToolbarSet   : "La ilobreto \"%1\" ne ekzistas",
 NoActiveX                      : "Your browser's security settings could limit some features of the editor. You must enable the option \"Run ActiveX controls and plug-ins\". You may experience errors and notice missing features.", //MISSING\r
 BrowseServerBlocked : "The resources browser could not be opened. Make sure that all popup blockers are disabled.",    //MISSING\r
 DialogBlocked          : "It was not possible to open the dialog window. Make sure all popup blockers are disabled.",  //MISSING\r
-VisitLinkBlocked       : "It was not possible to open a new window. Make sure all popup blockers are disabled.",       //MISSING\r
 \r
 // Dialogs\r
 DlgBtnOK                       : "Akcepti",\r
@@ -243,7 +229,7 @@ DlgLnkURL                   : "URL",
 DlgLnkAnchorSel                : "Elekti Ankron",\r
 DlgLnkAnchorByName     : "Per Ankronomo",\r
 DlgLnkAnchorById       : "Per Elementidentigilo",\r
-DlgLnkNoAnchors                : "<Ne disponeblas ankroj en la dokumento>",\r
+DlgLnkNoAnchors                : "<Ne disponeblas ankroj en la dokumento>",            //REVIEW : Change < and > with ( and )\r
 DlgLnkEMail                    : "Retadreso",\r
 DlgLnkEMailSubject     : "Temlinio",\r
 DlgLnkEMailBody                : "Mesaĝa korpo",\r
@@ -308,11 +294,6 @@ DlgTableCellSpace  : "Interspacigo de Ĉeloj",
 DlgTableCellPad                : "Ĉirkaŭenhava Plenigado",\r
 DlgTableCaption                : "Titolo",\r
 DlgTableSummary                : "Summary",    //MISSING\r
-DlgTableHeaders                : "Headers",    //MISSING\r
-DlgTableHeadersNone            : "None",       //MISSING\r
-DlgTableHeadersColumn  : "First column",       //MISSING\r
-DlgTableHeadersRow             : "First Row",  //MISSING\r
-DlgTableHeadersBoth            : "Both",       //MISSING\r
 \r
 // Table Cell Dialog\r
 DlgCellTitle           : "Atributoj de Celo",\r
@@ -335,18 +316,12 @@ DlgCellVerAlignTop        : "Supre",
 DlgCellVerAlignMiddle  : "Centre",\r
 DlgCellVerAlignBottom  : "Malsupre",\r
 DlgCellVerAlignBaseline        : "Je Malsupro de Teksto",\r
-DlgCellType            : "Cell Type",  //MISSING\r
-DlgCellTypeData                : "Data",       //MISSING\r
-DlgCellTypeHeader      : "Header",     //MISSING\r
 DlgCellRowSpan         : "Linioj Kunfanditaj",\r
 DlgCellCollSpan                : "Kolumnoj Kunfanditaj",\r
 DlgCellBackColor       : "Fono",\r
 DlgCellBorderColor     : "Bordero",\r
 DlgCellBtnSelect       : "Elekti...",\r
 \r
-// Find and Replace Dialog\r
-DlgFindAndReplaceTitle : "Find and Replace",   //MISSING\r
-\r
 // Find Dialog\r
 DlgFindTitle           : "Serĉi",\r
 DlgFindFindBtn         : "Serĉi",\r
@@ -372,6 +347,7 @@ DlgPasteMsg2        : "Please paste inside the following box using the keyboard (<stron
 DlgPasteSec            : "Because of your browser security settings, the editor is not able to access your clipboard data directly. You are required to paste it again in this window.",       //MISSING\r
 DlgPasteIgnoreFont             : "Ignore Font Face definitions",       //MISSING\r
 DlgPasteRemoveStyles   : "Remove Styles definitions",  //MISSING\r
+DlgPasteCleanBox               : "Clean Up Box",       //MISSING\r
 \r
 // Color Picker\r
 ColorAutomatic : "Aŭtomata",\r
@@ -524,16 +500,5 @@ DlgAboutAboutTab   : "Pri",
 DlgAboutBrowserInfoTab : "Informoj pri TTT-legilo",\r
 DlgAboutLicenseTab     : "License",    //MISSING\r
 DlgAboutVersion                : "versio",\r
-DlgAboutInfo           : "Por pli da informoj, vizitu",\r
-\r
-// Div Dialog\r
-DlgDivGeneralTab       : "General",    //MISSING\r
-DlgDivAdvancedTab      : "Advanced",   //MISSING\r
-DlgDivStyle            : "Style",      //MISSING\r
-DlgDivInlineStyle      : "Inline Style",       //MISSING\r
-\r
-ScaytTitle                     : "SCAYT",      //MISSING\r
-ScaytTitleOptions      : "Options",    //MISSING\r
-ScaytTitleLangs                : "Languages",  //MISSING\r
-ScaytTitleAbout                : "About"       //MISSING\r
-};\r
+DlgAboutInfo           : "Por pli da informoj, vizitu"\r
+};
\ No newline at end of file
index d77d38a..cfed808 100644 (file)
@@ -1,6 +1,6 @@
 /*\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
@@ -44,9 +44,7 @@ RemoveFormat          : "Eliminar Formato",
 InsertLinkLbl          : "Vínculo",\r
 InsertLink                     : "Insertar/Editar Vínculo",\r
 RemoveLink                     : "Eliminar Vínculo",\r
-VisitLink                      : "Abrir enlace",\r
 Anchor                         : "Referencia",\r
-AnchorDelete           : "Eliminar Referencia",\r
 InsertImageLbl         : "Imagen",\r
 InsertImage                    : "Insertar/Editar Imagen",\r
 InsertFlashLbl         : "Flash",\r
@@ -72,10 +70,6 @@ RightJustify         : "Alinear a Derecha",
 BlockJustify           : "Justificado",\r
 DecreaseIndent         : "Disminuir Sangría",\r
 IncreaseIndent         : "Aumentar Sangría",\r
-Blockquote                     : "Cita",\r
-CreateDiv                      : "Crear contenedor (div)",\r
-EditDiv                                : "Editar contenedor (div)",\r
-DeleteDiv                      : "Eliminar contenedor (div)",\r
 Undo                           : "Deshacer",\r
 Redo                           : "Rehacer",\r
 NumberedListLbl                : "Numeración",\r
@@ -109,27 +103,20 @@ SelectionField    : "Campo de Selección",
 ImageButton            : "Botón Imagen",\r
 \r
 FitWindow              : "Maximizar el tamaño del editor",\r
-ShowBlocks             : "Mostrar bloques",\r
 \r
 // Context Menu\r
 EditLink                       : "Editar Vínculo",\r
 CellCM                         : "Celda",\r
 RowCM                          : "Fila",\r
 ColumnCM                       : "Columna",\r
-InsertRowAfter         : "Insertar fila en la parte inferior",\r
-InsertRowBefore                : "Insertar fila en la parte superior",\r
+InsertRow                      : "Insertar Fila",\r
 DeleteRows                     : "Eliminar Filas",\r
-InsertColumnAfter      : "Insertar columna a la derecha",\r
-InsertColumnBefore     : "Insertar columna a la izquierda",\r
+InsertColumn           : "Insertar Columna",\r
 DeleteColumns          : "Eliminar Columnas",\r
-InsertCellAfter                : "Insertar celda a la derecha",\r
-InsertCellBefore       : "Insertar celda a la izquierda",\r
+InsertCell                     : "Insertar Celda",\r
 DeleteCells                    : "Eliminar Celdas",\r
 MergeCells                     : "Combinar Celdas",\r
-MergeRight                     : "Combinar a la derecha",\r
-MergeDown                      : "Combinar hacia abajo",\r
-HorizontalSplitCell    : "Dividir la celda horizontalmente",\r
-VerticalSplitCell      : "Dividir la celda verticalmente",\r
+SplitCell                      : "Dividir Celda",\r
 TableDelete                    : "Eliminar Tabla",\r
 CellProperties         : "Propiedades de Celda",\r
 TableProperties                : "Propiedades de Tabla",\r
@@ -147,7 +134,7 @@ SelectionFieldProp  : "Propiedades de Campo de Selección",
 TextareaProp           : "Propiedades de Area de Texto",\r
 FormProp                       : "Propiedades de Formulario",\r
 \r
-FontFormats                    : "Normal;Con formato;Dirección;Encabezado 1;Encabezado 2;Encabezado 3;Encabezado 4;Encabezado 5;Encabezado 6;Normal (DIV)",\r
+FontFormats                    : "Normal;Con formato;Dirección;Encabezado 1;Encabezado 2;Encabezado 3;Encabezado 4;Encabezado 5;Encabezado 6;Normal (DIV)",           //REVIEW : Check _getfontformat.html\r
 \r
 // Alerts and Messages\r
 ProcessingXHTML                : "Procesando XHTML. Por favor, espere...",\r
@@ -161,7 +148,6 @@ UnknownToolbarSet   : "Nombre de barra \"%1\" no definido",
 NoActiveX                      : "La configuración de las opciones de seguridad de su navegador puede estar limitando algunas características del editor. Por favor active la opción \"Ejecutar controles y complementos de ActiveX \", de lo contrario puede experimentar errores o ausencia de funcionalidades.",\r
 BrowseServerBlocked : "La ventana de visualización del servidor no pudo ser abierta. Verifique que su navegador no esté bloqueando las ventanas emergentes (pop up).",\r
 DialogBlocked          : "No se ha podido abrir la ventana de diálogo. Verifique que su navegador no esté bloqueando las ventanas emergentes (pop up).",\r
-VisitLinkBlocked       : "Nose ha podido abrir la ventana. Asegurese de que todos los bloqueadores de popups están deshabilitados.",\r
 \r
 // Dialogs\r
 DlgBtnOK                       : "OK",\r
@@ -176,10 +162,10 @@ DlgAlertUrl                       : "Inserte el URL",
 // General Dialogs Labels\r
 DlgGenNotSet           : "<No definido>",\r
 DlgGenId                       : "Id",\r
-DlgGenLangDir          : "Orientación",\r
+DlgGenLangDir          : "Orientación de idioma",\r
 DlgGenLangDirLtr       : "Izquierda a Derecha (LTR)",\r
 DlgGenLangDirRtl       : "Derecha a Izquierda (RTL)",\r
-DlgGenLangCode         : "Cód. de idioma",\r
+DlgGenLangCode         : "Código de idioma",\r
 DlgGenAccessKey                : "Clave de Acceso",\r
 DlgGenName                     : "Nombre",\r
 DlgGenTabIndex         : "Indice de tabulación",\r
@@ -215,7 +201,7 @@ DlgImgAlignRight    : "Derecha",
 DlgImgAlignTextTop     : "Tope del texto",\r
 DlgImgAlignTop         : "Tope",\r
 DlgImgPreview          : "Vista Previa",\r
-DlgImgAlertUrl         : "Por favor escriba la URL de la imagen",\r
+DlgImgAlertUrl         : "Por favor tipee el URL de la imagen",\r
 DlgImgLinkTab          : "Vínculo",\r
 \r
 // Flash Dialog\r
@@ -243,7 +229,7 @@ DlgLnkURL                   : "URL",
 DlgLnkAnchorSel                : "Seleccionar una referencia",\r
 DlgLnkAnchorByName     : "Por Nombre de Referencia",\r
 DlgLnkAnchorById       : "Por ID de elemento",\r
-DlgLnkNoAnchors                : "(No hay referencias disponibles en el documento)",\r
+DlgLnkNoAnchors                : "<No hay referencias disponibles en el documento>",           //REVIEW : Change < and > with ( and )\r
 DlgLnkEMail                    : "Dirección de E-Mail",\r
 DlgLnkEMailSubject     : "Título del Mensaje",\r
 DlgLnkEMailBody                : "Cuerpo del Mensaje",\r
@@ -276,7 +262,7 @@ DlgLnkPopTop                : "Posición Derecha",
 DlnLnkMsgNoUrl         : "Por favor tipee el vínculo URL",\r
 DlnLnkMsgNoEMail       : "Por favor tipee la dirección de e-mail",\r
 DlnLnkMsgNoAnchor      : "Por favor seleccione una referencia",\r
-DlnLnkMsgInvPopName    : "El nombre debe empezar con un caracter alfanumérico y no debe contener espacios",\r
+DlnLnkMsgInvPopName    : "The popup name must begin with an alphabetic character and must not contain spaces", //MISSING\r
 \r
 // Color Dialog\r
 DlgColorTitle          : "Seleccionar Color",\r
@@ -308,11 +294,6 @@ DlgTableCellSpace  : "Esp. e/celdas",
 DlgTableCellPad                : "Esp. interior",\r
 DlgTableCaption                : "Título",\r
 DlgTableSummary                : "Síntesis",\r
-DlgTableHeaders                : "Encabezados",\r
-DlgTableHeadersNone            : "Ninguno",\r
-DlgTableHeadersColumn  : "Primera columna",\r
-DlgTableHeadersRow             : "Primera fila",\r
-DlgTableHeadersBoth            : "Ambas",\r
 \r
 // Table Cell Dialog\r
 DlgCellTitle           : "Propiedades de Celda",\r
@@ -335,18 +316,12 @@ DlgCellVerAlignTop        : "Tope",
 DlgCellVerAlignMiddle  : "Medio",\r
 DlgCellVerAlignBottom  : "ie",\r
 DlgCellVerAlignBaseline        : "Línea de Base",\r
-DlgCellType            : "Tipo de celda",\r
-DlgCellTypeData                : "Datos",\r
-DlgCellTypeHeader      : "Encabezado",\r
 DlgCellRowSpan         : "Abarcar Filas",\r
 DlgCellCollSpan                : "Abarcar Columnas",\r
 DlgCellBackColor       : "Color de Fondo",\r
 DlgCellBorderColor     : "Color de Borde",\r
 DlgCellBtnSelect       : "Seleccione...",\r
 \r
-// Find and Replace Dialog\r
-DlgFindAndReplaceTitle : "Buscar y Reemplazar",\r
-\r
 // Find Dialog\r
 DlgFindTitle           : "Buscar",\r
 DlgFindFindBtn         : "Buscar",\r
@@ -369,9 +344,10 @@ PasteAsText                : "Pegar como Texto Plano",
 PasteFromWord  : "Pegar desde Word",\r
 \r
 DlgPasteMsg2   : "Por favor pegue dentro del cuadro utilizando el teclado (<STRONG>Ctrl+V</STRONG>); luego presione <STRONG>OK</STRONG>.",\r
-DlgPasteSec            : "Debido a la configuración de seguridad de su navegador, el editor no tiene acceso al portapapeles. Es necesario que lo pegue de nuevo en esta ventana.",\r
+DlgPasteSec            : "Because of your browser security settings, the editor is not able to access your clipboard data directly. You are required to paste it again in this window.",       //MISSING\r
 DlgPasteIgnoreFont             : "Ignorar definiciones de fuentes",\r
 DlgPasteRemoveStyles   : "Remover definiciones de estilo",\r
+DlgPasteCleanBox               : "Borrar el contenido del cuadro",\r
 \r
 // Color Picker\r
 ColorAutomatic : "Automático",\r
@@ -405,9 +381,9 @@ IeSpellDownload                     : "Módulo de Control de Ortografía no instalado. ¿Desea des
 // Button Dialog\r
 DlgButtonText          : "Texto (Valor)",\r
 DlgButtonType          : "Tipo",\r
-DlgButtonTypeBtn       : "Boton",\r
-DlgButtonTypeSbm       : "Enviar",\r
-DlgButtonTypeRst       : "Reestablecer",\r
+DlgButtonTypeBtn       : "Button",     //MISSING\r
+DlgButtonTypeSbm       : "Submit",     //MISSING\r
+DlgButtonTypeRst       : "Reset",      //MISSING\r
 \r
 // Checkbox and Radio Button Dialogs\r
 DlgCheckboxName                : "Nombre",\r
@@ -456,7 +432,7 @@ DlgHiddenValue      : "Valor",
 // Bulleted List Dialog\r
 BulletedListProp       : "Propiedades de Viñetas",\r
 NumberedListProp       : "Propiedades de Numeraciones",\r
-DlgLstStart                    : "Inicio",\r
+DlgLstStart                    : "Start",      //MISSING\r
 DlgLstType                     : "Tipo",\r
 DlgLstTypeCircle       : "Círculo",\r
 DlgLstTypeDisc         : "Disco",\r
@@ -479,15 +455,15 @@ DlgDocLangDirLTR  : "Izq. a Derecha (LTR)",
 DlgDocLangDirRTL       : "Der. a Izquierda (RTL)",\r
 DlgDocLangCode         : "Código de Idioma",\r
 DlgDocCharSet          : "Codif. de Conjunto de Caracteres",\r
-DlgDocCharSetCE                : "Centro Europeo",\r
-DlgDocCharSetCT                : "Chino Tradicional (Big5)",\r
-DlgDocCharSetCR                : "Cirílico",\r
-DlgDocCharSetGR                : "Griego",\r
-DlgDocCharSetJP                : "Japonés",\r
-DlgDocCharSetKR                : "Coreano",\r
-DlgDocCharSetTR                : "Turco",\r
-DlgDocCharSetUN                : "Unicode (UTF-8)",\r
-DlgDocCharSetWE                : "Europeo occidental",\r
+DlgDocCharSetCE                : "Central European",   //MISSING\r
+DlgDocCharSetCT                : "Chinese Traditional (Big5)", //MISSING\r
+DlgDocCharSetCR                : "Cyrillic",   //MISSING\r
+DlgDocCharSetGR                : "Greek",      //MISSING\r
+DlgDocCharSetJP                : "Japanese",   //MISSING\r
+DlgDocCharSetKR                : "Korean",     //MISSING\r
+DlgDocCharSetTR                : "Turkish",    //MISSING\r
+DlgDocCharSetUN                : "Unicode (UTF-8)",    //MISSING\r
+DlgDocCharSetWE                : "Western European",   //MISSING\r
 DlgDocCharSetOther     : "Otra Codificación",\r
 \r
 DlgDocDocType          : "Encabezado de Tipo de Documento",\r
@@ -517,23 +493,12 @@ DlgTemplatesTitle : "Contenido de Plantillas",
 DlgTemplatesSelMsg     : "Por favor selecciona la plantilla a abrir en el editor<br>(el contenido actual se perderá):",\r
 DlgTemplatesLoading    : "Cargando lista de Plantillas. Por favor, aguarde...",\r
 DlgTemplatesNoTpl      : "(No hay plantillas definidas)",\r
-DlgTemplatesReplace    : "Reemplazar el contenido actual",\r
+DlgTemplatesReplace    : "Replace actual contents",    //MISSING\r
 \r
 // About Dialog\r
 DlgAboutAboutTab       : "Acerca de",\r
 DlgAboutBrowserInfoTab : "Información de Navegador",\r
 DlgAboutLicenseTab     : "Licencia",\r
 DlgAboutVersion                : "versión",\r
-DlgAboutInfo           : "Para mayor información por favor dirigirse a",\r
-\r
-// Div Dialog\r
-DlgDivGeneralTab       : "General",\r
-DlgDivAdvancedTab      : "Avanzado",\r
-DlgDivStyle            : "Estilo",\r
-DlgDivInlineStyle      : "Estilos CSS",\r
-\r
-ScaytTitle                     : "SCAYT",      //MISSING\r
-ScaytTitleOptions      : "Options",    //MISSING\r
-ScaytTitleLangs                : "Languages",  //MISSING\r
-ScaytTitleAbout                : "About"       //MISSING\r
-};\r
+DlgAboutInfo           : "Para mayor información por favor dirigirse a"\r
+};
\ No newline at end of file
index 3756cad..53a147e 100644 (file)
@@ -1,6 +1,6 @@
 /*\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
@@ -42,17 +42,15 @@ Print                               : "Prindi",
 SelectAll                      : "Vali kõik",\r
 RemoveFormat           : "Eemalda vorming",\r
 InsertLinkLbl          : "Link",\r
-InsertLink                     : "Sisesta link / Muuda linki",\r
+InsertLink                     : "Sisesta/Muuda link",\r
 RemoveLink                     : "Eemalda link",\r
-VisitLink                      : "Open Link",  //MISSING\r
-Anchor                         : "Sisesta ankur / Muuda ankrut",\r
-AnchorDelete           : "Eemalda ankur",\r
+Anchor                         : "Sisesta/Muuda ankur",\r
 InsertImageLbl         : "Pilt",\r
-InsertImage                    : "Sisesta pilt / Muuda pilti",\r
+InsertImage                    : "Sisesta/Muuda pilt",\r
 InsertFlashLbl         : "Flash",\r
-InsertFlash                    : "Sisesta flash / Muuda flashi",\r
+InsertFlash                    : "Sisesta/Muuda flash",\r
 InsertTableLbl         : "Tabel",\r
-InsertTable                    : "Sisesta tabel / Muuda tabelit",\r
+InsertTable                    : "Sisesta/Muuda tabel",\r
 InsertLineLbl          : "Joon",\r
 InsertLine                     : "Sisesta horisontaaljoon",\r
 InsertSpecialCharLbl: "Erimärgid",\r
@@ -60,10 +58,10 @@ InsertSpecialChar   : "Sisesta erimärk",
 InsertSmileyLbl                : "Emotikon",\r
 InsertSmiley           : "Sisesta emotikon",\r
 About                          : "FCKeditor teave",\r
-Bold                           : "Paks",\r
-Italic                         : "Kursiiv",\r
-Underline                      : "Allajoonitud",\r
-StrikeThrough          : "Läbijoonitud",\r
+Bold                           : "Rasvane kiri",\r
+Italic                         : "Kursiiv kiri",\r
+Underline                      : "Allajoonitud kiri",\r
+StrikeThrough          : "Läbijoonitud kiri",\r
 Subscript                      : "Allindeks",\r
 Superscript                    : "Ülaindeks",\r
 LeftJustify                    : "Vasakjoondus",\r
@@ -72,10 +70,6 @@ RightJustify         : "Paremjoondus",
 BlockJustify           : "Rööpjoondus",\r
 DecreaseIndent         : "Vähenda taanet",\r
 IncreaseIndent         : "Suurenda taanet",\r
-Blockquote                     : "Blokktsitaat",\r
-CreateDiv                      : "Create Div Container",       //MISSING\r
-EditDiv                                : "Edit Div Container", //MISSING\r
-DeleteDiv                      : "Remove Div Container",       //MISSING\r
 Undo                           : "Võta tagasi",\r
 Redo                           : "Korda toimingut",\r
 NumberedListLbl                : "Nummerdatud loetelu",\r
@@ -96,7 +90,7 @@ Replace                               : "Asenda",
 SpellCheck                     : "Kontrolli õigekirja",\r
 UniversalKeyboard      : "Universaalne klaviatuur",\r
 PageBreakLbl           : "Lehepiir",\r
-PageBreak                      : "Sisesta lehevahetuskoht",\r
+PageBreak                      : "Sisesta lehevahetus koht",\r
 \r
 Form                   : "Vorm",\r
 Checkbox               : "Märkeruut",\r
@@ -109,31 +103,24 @@ SelectionField    : "Valiklahter",
 ImageButton            : "Piltnupp",\r
 \r
 FitWindow              : "Maksimeeri redaktori mõõtmed",\r
-ShowBlocks             : "Näita blokke",\r
 \r
 // Context Menu\r
 EditLink                       : "Muuda linki",\r
 CellCM                         : "Lahter",\r
 RowCM                          : "Rida",\r
 ColumnCM                       : "Veerg",\r
-InsertRowAfter         : "Sisesta rida peale",\r
-InsertRowBefore                : "Sisesta rida enne",\r
-DeleteRows                     : "Eemalda read",\r
-InsertColumnAfter      : "Sisesta veerg peale",\r
-InsertColumnBefore     : "Sisesta veerg enne",\r
+InsertRow                      : "Lisa rida",\r
+DeleteRows                     : "Eemalda ridu",\r
+InsertColumn           : "Lisa veerg",\r
 DeleteColumns          : "Eemalda veerud",\r
-InsertCellAfter                : "Sisesta lahter peale",\r
-InsertCellBefore       : "Sisesta lahter enne",\r
+InsertCell                     : "Lisa lahter",\r
 DeleteCells                    : "Eemalda lahtrid",\r
 MergeCells                     : "Ühenda lahtrid",\r
-MergeRight                     : "Ühenda paremale",\r
-MergeDown                      : "Ühenda alla",\r
-HorizontalSplitCell    : "Poolita lahter horisontaalselt",\r
-VerticalSplitCell      : "Poolita lahter vertikaalselt",\r
+SplitCell                      : "Lahuta lahtrid",\r
 TableDelete                    : "Kustuta tabel",\r
 CellProperties         : "Lahtri atribuudid",\r
 TableProperties                : "Tabeli atribuudid",\r
-ImageProperties                : "Pildi atribuudid",\r
+ImageProperties                : "Pildi  atribuudid",\r
 FlashProperties                : "Flash omadused",\r
 \r
 AnchorProp                     : "Ankru omadused",\r
@@ -147,21 +134,20 @@ SelectionFieldProp        : "Valiklahtri omadused",
 TextareaProp           : "Tekstiala omadused",\r
 FormProp                       : "Vormi omadused",\r
 \r
-FontFormats                    : "Tavaline;Vormindatud;Aadress;Pealkiri 1;Pealkiri 2;Pealkiri 3;Pealkiri 4;Pealkiri 5;Pealkiri 6;Tavaline (DIV)",\r
+FontFormats                    : "Tavaline;Vormindatud;Aadress;Pealkiri 1;Pealkiri 2;Pealkiri 3;Pealkiri 4;Pealkiri 5;Pealkiri 6;Tavaline (DIV)",              //REVIEW : Check _getfontformat.html\r
 \r
 // Alerts and Messages\r
-ProcessingXHTML                : "Töötlen XHTML'i. Palun oota...",\r
+ProcessingXHTML                : "Töötlen XHTML. Palun oota...",\r
 Done                           : "Tehtud",\r
-PasteWordConfirm       : "Tekst, mida soovid lisada paistab pärinevat Word'ist. Kas soovid seda enne kleepimist puhastada?",\r
+PasteWordConfirm       : "Tekst, mida soovid lisada paistab pärinevat Wordist. Kas soovid seda enne kleepimist puhastada?",\r
 NotCompatiblePaste     : "See käsk on saadaval ainult Internet Explorer versioon 5.5 või uuema puhul. Kas soovid kleepida ilma puhastamata?",\r
-UnknownToolbarItem     : "Tundmatu tööriistarea üksus \"%1\"",\r
+UnknownToolbarItem     : "Tundmatu tööriistariba üksus \"%1\"",\r
 UnknownCommand         : "Tundmatu käsunimi \"%1\"",\r
 NotImplemented         : "Käsku ei täidetud",\r
 UnknownToolbarSet      : "Tööriistariba \"%1\" ei eksisteeri",\r
-NoActiveX                      : "Sinu veebisirvija turvalisuse seaded võivad limiteerida mõningaid tekstirdaktori kasutusvõimalusi. Sa peaksid võimaldama valiku \"Run ActiveX controls and plug-ins\" oma veebisirvija seadetes. Muidu võid sa täheldada vigu tekstiredaktori töös ja märgata puuduvaid funktsioone.",\r
+NoActiveX                      : "Sinu veebisirvija turvalisuse seaded võivad limiteerida mõningaid tekstirdaktori kasutus võimalusi. Sa peaksid võimaldama valiku \"Run ActiveX controls and plug-ins\" oma sirvija seadetes. Muidu võid sa täheldada vigu tekstiredaktori töös ja märgata puuduvaid funktsioone.",\r
 BrowseServerBlocked : "Ressursside sirvija avamine ebaõnnestus. Võimalda pop-up akende avanemine.",\r
 DialogBlocked          : "Ei olenud võimalik avada dialoogi akent. Võimalda pop-up akende avanemine.",\r
-VisitLinkBlocked       : "It was not possible to open a new window. Make sure all popup blockers are disabled.",       //MISSING\r
 \r
 // Dialogs\r
 DlgBtnOK                       : "OK",\r
@@ -243,7 +229,7 @@ DlgLnkURL                   : "URL",
 DlgLnkAnchorSel                : "Vali ankur",\r
 DlgLnkAnchorByName     : "Ankru nime järgi",\r
 DlgLnkAnchorById       : "Elemendi id järgi",\r
-DlgLnkNoAnchors                : "(Selles dokumendis ei ole ankruid)",\r
+DlgLnkNoAnchors                : "(Selles dokumendis ei ole ankruid)",         //REVIEW : Change < and > with ( and )\r
 DlgLnkEMail                    : "E-posti aadress",\r
 DlgLnkEMailSubject     : "Sõnumi teema",\r
 DlgLnkEMailBody                : "Sõnumi tekst",\r
@@ -254,7 +240,7 @@ DlgLnkTarget                : "Sihtkoht",
 DlgLnkTargetFrame      : "<raam>",\r
 DlgLnkTargetPopup      : "<hüpikaken>",\r
 DlgLnkTargetBlank      : "Uus aken (_blank)",\r
-DlgLnkTargetParent     : "Esivanem aken (_parent)",\r
+DlgLnkTargetParent     : "Vanem aken (_parent)",\r
 DlgLnkTargetSelf       : "Sama aken (_self)",\r
 DlgLnkTargetTop                : "Pealmine aken (_top)",\r
 DlgLnkTargetFrameName  : "Sihtmärk raami nimi",\r
@@ -308,11 +294,6 @@ DlgTableCellSpace  : "Lahtri vahe",
 DlgTableCellPad                : "Lahtri täidis",\r
 DlgTableCaption                : "Tabeli tiitel",\r
 DlgTableSummary                : "Kokkuvõte",\r
-DlgTableHeaders                : "Headers",    //MISSING\r
-DlgTableHeadersNone            : "None",       //MISSING\r
-DlgTableHeadersColumn  : "First column",       //MISSING\r
-DlgTableHeadersRow             : "First Row",  //MISSING\r
-DlgTableHeadersBoth            : "Both",       //MISSING\r
 \r
 // Table Cell Dialog\r
 DlgCellTitle           : "Lahtri atribuudid",\r
@@ -335,18 +316,12 @@ DlgCellVerAlignTop        : "Üles",
 DlgCellVerAlignMiddle  : "Keskele",\r
 DlgCellVerAlignBottom  : "Alla",\r
 DlgCellVerAlignBaseline        : "Baasjoonele",\r
-DlgCellType            : "Cell Type",  //MISSING\r
-DlgCellTypeData                : "Data",       //MISSING\r
-DlgCellTypeHeader      : "Header",     //MISSING\r
 DlgCellRowSpan         : "Reaulatus",\r
 DlgCellCollSpan                : "Veeruulatus",\r
 DlgCellBackColor       : "Tausta värv",\r
 DlgCellBorderColor     : "Joone värv",\r
 DlgCellBtnSelect       : "Vali...",\r
 \r
-// Find and Replace Dialog\r
-DlgFindAndReplaceTitle : "Otsi ja asenda",\r
-\r
 // Find Dialog\r
 DlgFindTitle           : "Otsi",\r
 DlgFindFindBtn         : "Otsi",\r
@@ -372,6 +347,7 @@ DlgPasteMsg2        : "Palun kleebi järgnevasse kasti kasutades klaviatuuri klahvikomb
 DlgPasteSec            : "Sinu veebisirvija turvaseadete tõttu, ei oma redaktor otsest ligipääsu lõikelaua andmetele. Sa pead kleepima need uuesti siia aknasse.",\r
 DlgPasteIgnoreFont             : "Ignoreeri kirja definitsioone",\r
 DlgPasteRemoveStyles   : "Eemalda stiilide definitsioonid",\r
+DlgPasteCleanBox               : "Puhasta ära kast",\r
 \r
 // Color Picker\r
 ColorAutomatic : "Automaatne",\r
@@ -524,16 +500,5 @@ DlgAboutAboutTab   : "Teave",
 DlgAboutBrowserInfoTab : "Veebisirvija info",\r
 DlgAboutLicenseTab     : "Litsents",\r
 DlgAboutVersion                : "versioon",\r
-DlgAboutInfo           : "Täpsema info saamiseks mine",\r
-\r
-// Div Dialog\r
-DlgDivGeneralTab       : "General",    //MISSING\r
-DlgDivAdvancedTab      : "Advanced",   //MISSING\r
-DlgDivStyle            : "Style",      //MISSING\r
-DlgDivInlineStyle      : "Inline Style",       //MISSING\r
-\r
-ScaytTitle                     : "SCAYT",      //MISSING\r
-ScaytTitleOptions      : "Options",    //MISSING\r
-ScaytTitleLangs                : "Languages",  //MISSING\r
-ScaytTitleAbout                : "About"       //MISSING\r
-};\r
+DlgAboutInfo           : "Täpsema info saamiseks mine"\r
+};
\ No newline at end of file
index 75f91a5..266d427 100644 (file)
@@ -1,6 +1,6 @@
 /*\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
@@ -41,13 +41,11 @@ PasteText                   : "Itsatsi testu bezala",
 PasteWord                      : "Itsatsi Word-etik",\r
 Print                          : "Inprimatu",\r
 SelectAll                      : "Hautatu dena",\r
-RemoveFormat           : "Kendu Formatua",\r
+RemoveFormat           : "Kendu Formatoa",\r
 InsertLinkLbl          : "Esteka",\r
 InsertLink                     : "Txertatu/Editatu Esteka",\r
 RemoveLink                     : "Kendu Esteka",\r
-VisitLink                      : "Ireki Esteka",\r
 Anchor                         : "Aingura",\r
-AnchorDelete           : "Ezabatu Aingura",\r
 InsertImageLbl         : "Irudia",\r
 InsertImage                    : "Txertatu/Editatu Irudia",\r
 InsertFlashLbl         : "Flasha",\r
@@ -73,10 +71,6 @@ RightJustify         : "Lerrokatu Eskuman",
 BlockJustify           : "Justifikatu",\r
 DecreaseIndent         : "Txikitu Koska",\r
 IncreaseIndent         : "Handitu Koska",\r
-Blockquote                     : "Aipamen blokea",\r
-CreateDiv                      : "Sortu Div Edukitzailea",\r
-EditDiv                                : "Editatu Div Edukitzailea",\r
-DeleteDiv                      : "Ezabatu Div Edukitzailea",\r
 Undo                           : "Desegin",\r
 Redo                           : "Berregin",\r
 NumberedListLbl                : "Zenbakidun Zerrenda",\r
@@ -86,7 +80,7 @@ BulletedList          : "Txertatu/Kendu Buletdun zerrenda",
 ShowTableBorders       : "Erakutsi Taularen Ertzak",\r
 ShowDetails                    : "Erakutsi Xehetasunak",\r
 Style                          : "Estiloa",\r
-FontFormat                     : "Formatua",\r
+FontFormat                     : "Formatoa",\r
 Font                           : "Letra-tipoa",\r
 FontSize                       : "Tamaina",\r
 TextColor                      : "Testu Kolorea",\r
@@ -110,27 +104,20 @@ SelectionField    : "Hautespen Eremua",
 ImageButton            : "Irudi Botoia",\r
 \r
 FitWindow              : "Maximizatu editorearen tamaina",\r
-ShowBlocks             : "Blokeak erakutsi",\r
 \r
 // Context Menu\r
 EditLink                       : "Aldatu Esteka",\r
 CellCM                         : "Gelaxka",\r
 RowCM                          : "Errenkada",\r
 ColumnCM                       : "Zutabea",\r
-InsertRowAfter         : "Txertatu Lerroa Ostean",\r
-InsertRowBefore                : "Txertatu Lerroa Aurretik",\r
+InsertRow                      : "Txertatu Errenkada",\r
 DeleteRows                     : "Ezabatu Errenkadak",\r
-InsertColumnAfter      : "Txertatu Zutabea Ostean",\r
-InsertColumnBefore     : "Txertatu Zutabea Aurretik",\r
+InsertColumn           : "Txertatu Zutabea",\r
 DeleteColumns          : "Ezabatu Zutabeak",\r
-InsertCellAfter                : "Txertatu Gelaxka Ostean",\r
-InsertCellBefore       : "Txertatu Gelaxka Aurretik",\r
+InsertCell                     : "Txertatu Gelaxka",\r
 DeleteCells                    : "Kendu Gelaxkak",\r
 MergeCells                     : "Batu Gelaxkak",\r
-MergeRight                     : "Elkartu Eskumara",\r
-MergeDown                      : "Elkartu Behera",\r
-HorizontalSplitCell    : "Banatu Gelaxkak Horizontalki",\r
-VerticalSplitCell      : "Banatu Gelaxkak Bertikalki",\r
+SplitCell                      : "Zatitu Gelaxka",\r
 TableDelete                    : "Ezabatu Taula",\r
 CellProperties         : "Gelaxkaren Ezaugarriak",\r
 TableProperties                : "Taularen Ezaugarriak",\r
@@ -148,21 +135,20 @@ SelectionFieldProp        : "Hautespen Eremuaren Ezaugarriak",
 TextareaProp           : "Testu-arearen Ezaugarriak",\r
 FormProp                       : "Formularioaren Ezaugarriak",\r
 \r
-FontFormats                    : "Arrunta;Formateatua;Helbidea;Izenburua 1;Izenburua 2;Izenburua 3;Izenburua 4;Izenburua 5;Izenburua 6;Paragrafoa (DIV)",\r
+FontFormats                    : "Arrunta;Formateatua;Helbidea;Izenburua 1;Izenburua 2;Izenburua 3;Izenburua 4;Izenburua 5;Izenburua 6;Paragrafoa (DIV)",              //REVIEW : Check _getfontformat.html\r
 \r
 // Alerts and Messages\r
 ProcessingXHTML                : "XHTML Prozesatzen. Itxaron mesedez...",\r
 Done                           : "Eginda",\r
-PasteWordConfirm       : "Itsatsi nahi duzun testua Wordetik hartua dela dirudi. Itsatsi baino lehen garbitu nahi duzu?",\r
+PasteWordConfirm       : "Itsatsi nahi duzun textua Wordetik hartua dela dirudi. Itsatsi baino lehen garbitu nahi duzu?",\r
 NotCompatiblePaste     : "Komando hau Internet Explorer 5.5 bertsiorako edo ondorengoentzako erabilgarria dago. Garbitu gabe itsatsi nahi duzu?",\r
 UnknownToolbarItem     : "Ataza barrako elementu ezezaguna \"%1\"",\r
 UnknownCommand         : "Komando izen ezezaguna \"%1\"",\r
 NotImplemented         : "Komando ez inplementatua",\r
 UnknownToolbarSet      : "Ataza barra \"%1\" taldea ez da existitzen",\r
-NoActiveX                      : "Zure nabigatzailearen segurtasun hobespenak editore honen zenbait ezaugarri mugatu ditzake. \"ActiveX kontrolak eta pluginak\" aktibatu beharko zenituzke, bestela erroreak eta ezaugarrietan mugak egon daitezke.",\r
+NoActiveX                      : "Zure nabigatzailearen segustasun hobespenak editore honen zenbait ezaugarri mugatu ditzake. \"ActiveX kontrolak eta plug-inak\" aktibatu beharko zenituzke, bestela erroreak eta ezaugarrietan mugak egon daitezke.",\r
 BrowseServerBlocked : "Baliabideen arakatzailea ezin da ireki. Ziurtatu popup blokeatzaileak desgaituta dituzula.",\r
 DialogBlocked          : "Ezin da elkarrizketa-leihoa ireki. Ziurtatu popup blokeatzaileak desgaituta dituzula.",\r
-VisitLinkBlocked       : "Ezin da leiho berri bat ireki. Ziurtatu popup blokeatzaileak desgaituta dituzula.",\r
 \r
 // Dialogs\r
 DlgBtnOK                       : "Ados",\r
@@ -197,7 +183,7 @@ DlgImgInfoTab               : "Irudi informazioa",
 DlgImgBtnUpload                : "Zerbitzarira bidalia",\r
 DlgImgURL                      : "URL",\r
 DlgImgUpload           : "Gora Kargatu",\r
-DlgImgAlt                      : "Ordezko Testua",\r
+DlgImgAlt                      : "Textu Alternatiboa",\r
 DlgImgWidth                    : "Zabalera",\r
 DlgImgHeight           : "Altuera",\r
 DlgImgLockRatio                : "Erlazioa Blokeatu",\r
@@ -226,7 +212,7 @@ DlgFlashChkLoop             : "Begizta",
 DlgFlashChkMenu                : "Flasharen Menua Gaitu",\r
 DlgFlashScale          : "Eskalatu",\r
 DlgFlashScaleAll       : "Dena erakutsi",\r
-DlgFlashScaleNoBorder  : "Ertzik gabe",\r
+DlgFlashScaleNoBorder  : "Ertzarik gabe",\r
 DlgFlashScaleFit       : "Doitu",\r
 \r
 // Link Dialog\r
@@ -236,7 +222,7 @@ DlgLnkTargetTab             : "Helburua",
 \r
 DlgLnkType                     : "Esteka Mota",\r
 DlgLnkTypeURL          : "URL",\r
-DlgLnkTypeAnchor       : "Aingura orrialde honetan",\r
+DlgLnkTypeAnchor       : "Aingura horrialde honentan",\r
 DlgLnkTypeEMail                : "ePosta",\r
 DlgLnkProto                    : "Protokoloa",\r
 DlgLnkProtoOther       : "<Beste batzuk>",\r
@@ -244,7 +230,7 @@ DlgLnkURL                   : "URL",
 DlgLnkAnchorSel                : "Aingura bat hautatu",\r
 DlgLnkAnchorByName     : "Aingura izenagatik",\r
 DlgLnkAnchorById       : "Elementuaren ID-gatik",\r
-DlgLnkNoAnchors                : "(Ez daude aingurak eskuragarri dokumentuan)",\r
+DlgLnkNoAnchors                : "<Ez daude aingurak eskuragarri dokumentuan>",                //REVIEW : Change < and > with ( and )\r
 DlgLnkEMail                    : "ePosta Helbidea",\r
 DlgLnkEMailSubject     : "Mezuaren Gaia",\r
 DlgLnkEMailBody                : "Mezuaren Gorputza",\r
@@ -253,14 +239,14 @@ DlgLnkBtnUpload           : "Zerbitzarira bidali",
 \r
 DlgLnkTarget           : "Target (Helburua)",\r
 DlgLnkTargetFrame      : "<marko>",\r
-DlgLnkTargetPopup      : "<popup leihoa>",\r
-DlgLnkTargetBlank      : "Leiho Berria (_blank)",\r
-DlgLnkTargetParent     : "Leiho Gurasoa (_parent)",\r
-DlgLnkTargetSelf       : "Leiho Berdina (_self)",\r
-DlgLnkTargetTop                : "Goiko Leihoa (_top)",\r
+DlgLnkTargetPopup      : "<popup lehioa>",\r
+DlgLnkTargetBlank      : "Lehio Berria (_blank)",\r
+DlgLnkTargetParent     : "Lehio Gurasoa (_parent)",\r
+DlgLnkTargetSelf       : "Lehio Berdina (_self)",\r
+DlgLnkTargetTop                : "Goiko Lehioa (_top)",\r
 DlgLnkTargetFrameName  : "Marko Helburuaren Izena",\r
-DlgLnkPopWinName       : "Popup Leihoaren Izena",\r
-DlgLnkPopWinFeat       : "Popup Leihoaren Ezaugarriak",\r
+DlgLnkPopWinName       : "Popup Lehioaren Izena",\r
+DlgLnkPopWinFeat       : "Popup Lehioaren Ezaugarriak",\r
 DlgLnkPopResize                : "Tamaina Aldakorra",\r
 DlgLnkPopLocation      : "Kokaleku Barra",\r
 DlgLnkPopMenu          : "Menu Barra",\r
@@ -277,7 +263,7 @@ DlgLnkPopTop                : "Goiko Posizioa",
 DlnLnkMsgNoUrl         : "Mesedez URL esteka idatzi",\r
 DlnLnkMsgNoEMail       : "Mesedez ePosta helbidea idatzi",\r
 DlnLnkMsgNoAnchor      : "Mesedez aingura bat aukeratu",\r
-DlnLnkMsgInvPopName    : "Popup leihoaren izenak karaktere alfabetiko batekin hasi behar du eta eta ezin du zuriunerik izan",\r
+DlnLnkMsgInvPopName    : "The popup name must begin with an alphabetic character and must not contain spaces", //MISSING\r
 \r
 // Color Dialog\r
 DlgColorTitle          : "Kolore Aukeraketa",\r
@@ -309,11 +295,6 @@ DlgTableCellSpace  : "Gelaxka arteko tartea",
 DlgTableCellPad                : "Gelaxken betegarria",\r
 DlgTableCaption                : "Epigrafea",\r
 DlgTableSummary                : "Laburpena",\r
-DlgTableHeaders                : "Headers",    //MISSING\r
-DlgTableHeadersNone            : "None",       //MISSING\r
-DlgTableHeadersColumn  : "First column",       //MISSING\r
-DlgTableHeadersRow             : "First Row",  //MISSING\r
-DlgTableHeadersBoth            : "Both",       //MISSING\r
 \r
 // Table Cell Dialog\r
 DlgCellTitle           : "Gelaxken Ezaugarriak",\r
@@ -325,7 +306,7 @@ DlgCellWordWrap             : "Itzulbira",
 DlgCellWordWrapNotSet  : "<Ezarri gabe>",\r
 DlgCellWordWrapYes     : "Bai",\r
 DlgCellWordWrapNo      : "Ez",\r
-DlgCellHorAlign                : "Lerrokatu Horizontalki",\r
+DlgCellHorAlign                : "Horizontal Alignment",\r
 DlgCellHorAlignNotSet  : "<Ezarri gabe>",\r
 DlgCellHorAlignLeft    : "Ezkerrean",\r
 DlgCellHorAlignCenter  : "Erdian",\r
@@ -335,18 +316,12 @@ DlgCellVerAlignNotSet     : "<Ezarri gabe>",
 DlgCellVerAlignTop     : "Goian",\r
 DlgCellVerAlignMiddle  : "Erdian",\r
 DlgCellVerAlignBottom  : "Behean",\r
-DlgCellVerAlignBaseline        : "Oinean",\r
-DlgCellType            : "Cell Type",  //MISSING\r
-DlgCellTypeData                : "Data",       //MISSING\r
-DlgCellTypeHeader      : "Header",     //MISSING\r
+DlgCellVerAlignBaseline        : "Oinan",\r
 DlgCellRowSpan         : "Lerroak Hedatu",\r
 DlgCellCollSpan                : "Zutabeak Hedatu",\r
 DlgCellBackColor       : "Atzeko Kolorea",\r
 DlgCellBorderColor     : "Ertzako Kolorea",\r
-DlgCellBtnSelect       : "Aukeratu...",\r
-\r
-// Find and Replace Dialog\r
-DlgFindAndReplaceTitle : "Bilatu eta Ordeztu",\r
+DlgCellBtnSelect       : "Aukertau...",\r
 \r
 // Find Dialog\r
 DlgFindTitle           : "Bilaketa",\r
@@ -370,9 +345,10 @@ PasteAsText                : "Testu Arrunta bezala Itsatsi",
 PasteFromWord  : "Word-etik itsatsi",\r
 \r
 DlgPasteMsg2   : "Mesedez teklatua erabilita (<STRONG>Ctrl+V</STRONG>) ondorego eremuan testua itsatsi eta <STRONG>OK</STRONG> sakatu.",\r
-DlgPasteSec            : "Nabigatzailearen segurtasun ezarpenak direla eta, editoreak ezin du arbela zuzenean erabili. Leiho honetan berriro itsatsi behar duzu.",\r
+DlgPasteSec            : "Because of your browser security settings, the editor is not able to access your clipboard data directly. You are required to paste it again in this window.",       //MISSING\r
 DlgPasteIgnoreFont             : "Letra Motaren definizioa ezikusi",\r
 DlgPasteRemoveStyles   : "Estilo definizioak kendu",\r
+DlgPasteCleanBox               : "Testu-eremua Garbitu",\r
 \r
 // Color Picker\r
 ColorAutomatic : "Automatikoa",\r
@@ -406,9 +382,9 @@ IeSpellDownload                     : "Zuzentzaile ortografikoa ez dago instalatuta. Deskargatu na
 // Button Dialog\r
 DlgButtonText          : "Testua (Balorea)",\r
 DlgButtonType          : "Mota",\r
-DlgButtonTypeBtn       : "Botoia",\r
-DlgButtonTypeSbm       : "Bidali",\r
-DlgButtonTypeRst       : "Garbitu",\r
+DlgButtonTypeBtn       : "Button",     //MISSING\r
+DlgButtonTypeSbm       : "Submit",     //MISSING\r
+DlgButtonTypeRst       : "Reset",      //MISSING\r
 \r
 // Checkbox and Radio Button Dialogs\r
 DlgCheckboxName                : "Izena",\r
@@ -418,7 +394,7 @@ DlgCheckboxSelected : "Hautatuta",
 // Form Dialog\r
 DlgFormName            : "Izena",\r
 DlgFormAction  : "Ekintza",\r
-DlgFormMethod  : "Metodoa",\r
+DlgFormMethod  : "Method",\r
 \r
 // Select Field Dialog\r
 DlgSelectName          : "Izena",\r
@@ -457,7 +433,7 @@ DlgHiddenValue      : "Balorea",
 // Bulleted List Dialog\r
 BulletedListProp       : "Buletdun Zerrendaren Ezarpenak",\r
 NumberedListProp       : "Zenbakidun Zerrendaren Ezarpenak",\r
-DlgLstStart                    : "Hasiera",\r
+DlgLstStart                    : "Start",      //MISSING\r
 DlgLstType                     : "Mota",\r
 DlgLstTypeCircle       : "Zirkulua",\r
 DlgLstTypeDisc         : "Diskoa",\r
@@ -470,7 +446,7 @@ DlgLstTypeLRoman    : "Erromatar zenbaki larriak (I, II, III)",
 \r
 // Document Properties Dialog\r
 DlgDocGeneralTab       : "Orokorra",\r
-DlgDocBackTab          : "Atzealdea",\r
+DlgDocBackTab          : "Atzekaldea",\r
 DlgDocColorsTab                : "Koloreak eta Marjinak",\r
 DlgDocMetaTab          : "Meta Informazioa",\r
 \r
@@ -480,23 +456,23 @@ DlgDocLangDirLTR  : "Ezkerretik eskumara (LTR)",
 DlgDocLangDirRTL       : "Eskumatik ezkerrera (RTL)",\r
 DlgDocLangCode         : "Hizkuntzaren Kodea",\r
 DlgDocCharSet          : "Karaktere Multzoaren Kodeketa",\r
-DlgDocCharSetCE                : "Erdialdeko Europakoa",\r
-DlgDocCharSetCT                : "Txinatar Tradizionala (Big5)",\r
-DlgDocCharSetCR                : "Zirilikoa",\r
-DlgDocCharSetGR                : "Grekoa",\r
-DlgDocCharSetJP                : "Japoniarra",\r
-DlgDocCharSetKR                : "Korearra",\r
-DlgDocCharSetTR                : "Turkiarra",\r
-DlgDocCharSetUN                : "Unicode (UTF-8)",\r
-DlgDocCharSetWE                : "Mendebaldeko Europakoa",\r
-DlgDocCharSetOther     : "Beste Karaktere Multzoko Kodeketa",\r
+DlgDocCharSetCE                : "Central European",   //MISSING\r
+DlgDocCharSetCT                : "Chinese Traditional (Big5)", //MISSING\r
+DlgDocCharSetCR                : "Cyrillic",   //MISSING\r
+DlgDocCharSetGR                : "Greek",      //MISSING\r
+DlgDocCharSetJP                : "Japanese",   //MISSING\r
+DlgDocCharSetKR                : "Korean",     //MISSING\r
+DlgDocCharSetTR                : "Turkish",    //MISSING\r
+DlgDocCharSetUN                : "Unicode (UTF-8)",    //MISSING\r
+DlgDocCharSetWE                : "Western European",   //MISSING\r
+DlgDocCharSetOther     : "Beste Karaktere Multzoaren Kodeketa",\r
 \r
 DlgDocDocType          : "Document Type Goiburua",\r
 DlgDocDocTypeOther     : "Beste Document Type Goiburua",\r
 DlgDocIncXHTML         : "XHTML Ezarpenak",\r
 DlgDocBgColor          : "Atzeko Kolorea",\r
 DlgDocBgImage          : "Atzeko Irudiaren URL-a",\r
-DlgDocBgNoScroll       : "Korritze gabeko Atzealdea",\r
+DlgDocBgNoScroll       : "Korritze gabeko Atzekaldea",\r
 DlgDocCText                    : "Testua",\r
 DlgDocCLink                    : "Estekak",\r
 DlgDocCVisited         : "Bisitatutako Estekak",\r
@@ -518,23 +494,12 @@ DlgTemplatesTitle : "Eduki Txantiloiak",
 DlgTemplatesSelMsg     : "Mesedez txantiloia aukeratu editorean kargatzeko<br>(orain dauden edukiak galduko dira):",\r
 DlgTemplatesLoading    : "Txantiloiak kargatzen. Itxaron mesedez...",\r
 DlgTemplatesNoTpl      : "(Ez dago definitutako txantiloirik)",\r
-DlgTemplatesReplace    : "Ordeztu oraingo edukiak",\r
+DlgTemplatesReplace    : "Replace actual contents",    //MISSING\r
 \r
 // About Dialog\r
 DlgAboutAboutTab       : "Honi buruz",\r
 DlgAboutBrowserInfoTab : "Nabigatzailearen Informazioa",\r
 DlgAboutLicenseTab     : "Lizentzia",\r
 DlgAboutVersion                : "bertsioa",\r
-DlgAboutInfo           : "Informazio gehiago eskuratzeko hona joan",\r
-\r
-// Div Dialog\r
-DlgDivGeneralTab       : "Orokorra",\r
-DlgDivAdvancedTab      : "Aurreratua",\r
-DlgDivStyle            : "Estiloa",\r
-DlgDivInlineStyle      : "Inline Estiloa",\r
-\r
-ScaytTitle                     : "SCAYT",      //MISSING\r
-ScaytTitleOptions      : "Options",    //MISSING\r
-ScaytTitleLangs                : "Languages",  //MISSING\r
-ScaytTitleAbout                : "About"       //MISSING\r
-};\r
+DlgAboutInfo           : "Informazio gehiago eskuratzeko hona joan"\r
+};
\ No newline at end of file
index 3ca577c..e1bc973 100644 (file)
@@ -1,6 +1,6 @@
 /*\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
@@ -44,9 +44,7 @@ RemoveFormat          : "برداشتن فرمت",
 InsertLinkLbl          : "پیوند",\r
 InsertLink                     : "گنجاندن/ویرایش ِپیوند",\r
 RemoveLink                     : "برداشتن پیوند",\r
-VisitLink                      : "باز کردن پیوند",\r
 Anchor                         : "گنجاندن/ویرایش ِلنگر",\r
-AnchorDelete           : "برداشتن لنگر",\r
 InsertImageLbl         : "تصویر",\r
 InsertImage                    : "گنجاندن/ویرایش ِتصویر",\r
 InsertFlashLbl         : "Flash",\r
@@ -72,10 +70,6 @@ RightJustify         : "راست‌چین",
 BlockJustify           : "بلوک‌چین",\r
 DecreaseIndent         : "کاهش تورفتگی",\r
 IncreaseIndent         : "افزایش تورفتگی",\r
-Blockquote                     : "بلوک نقل قول",\r
-CreateDiv                      : "Create Div Container",       //MISSING\r
-EditDiv                                : "Edit Div Container", //MISSING\r
-DeleteDiv                      : "Remove Div Container",       //MISSING\r
 Undo                           : "واچیدن",\r
 Redo                           : "بازچیدن",\r
 NumberedListLbl                : "فهرست شماره‌دار",\r
@@ -109,27 +103,20 @@ SelectionField    : "فیلد چندگزینه‌ای",
 ImageButton            : "دکمهٴ تصویری",\r
 \r
 FitWindow              : "بیشینه‌سازی ِاندازهٴ ویرایشگر",\r
-ShowBlocks             : "نمایش بلوک‌ها",\r
 \r
 // Context Menu\r
 EditLink                       : "ویرایش پیوند",\r
 CellCM                         : "سلول",\r
 RowCM                          : "سطر",\r
 ColumnCM                       : "ستون",\r
-InsertRowAfter         : "افزودن سطر بعد از",\r
-InsertRowBefore                : "افزودن سطر قبل از",\r
+InsertRow                      : "گنجاندن سطر",\r
 DeleteRows                     : "حذف سطرها",\r
-InsertColumnAfter      : "افزودن ستون بعد از",\r
-InsertColumnBefore     : "افزودن ستون قبل از",\r
+InsertColumn           : "گنجاندن ستون",\r
 DeleteColumns          : "حذف ستونها",\r
-InsertCellAfter                : "افزودن سلول بعد از",\r
-InsertCellBefore       : "افزودن سلول قبل از",\r
+InsertCell                     : "گنجاندن سلول",\r
 DeleteCells                    : "حذف سلولها",\r
 MergeCells                     : "ادغام سلولها",\r
-MergeRight                     : "ادغام به راست",\r
-MergeDown                      : "ادغام به پایین",\r
-HorizontalSplitCell    : "جدا کردن افقی سلول",\r
-VerticalSplitCell      : "جدا کردن عمودی سلول",\r
+SplitCell                      : "جداسازی سلول",\r
 TableDelete                    : "پاک‌کردن جدول",\r
 CellProperties         : "ویژگیهای سلول",\r
 TableProperties                : "ویژگیهای جدول",\r
@@ -147,7 +134,7 @@ SelectionFieldProp  : "ویژگیهای فیلد چندگزینه‌ای",
 TextareaProp           : "ویژگیهای ناحیهٴ متنی",\r
 FormProp                       : "ویژگیهای فرم",\r
 \r
-FontFormats                    : "نرمال;فرمت‌شده;آدرس;سرنویس 1;سرنویس 2;سرنویس 3;سرنویس 4;سرنویس 5;سرنویس 6;بند;(DIV)",\r
+FontFormats                    : "نرمال;فرمت‌شده;آدرس;سرنویس 1;سرنویس 2;سرنویس 3;سرنویس 4;سرنویس 5;سرنویس 6;بند;(DIV)",               //REVIEW : Check _getfontformat.html\r
 \r
 // Alerts and Messages\r
 ProcessingXHTML                : "پردازش XHTML. لطفا صبر کنید...",\r
@@ -161,7 +148,6 @@ UnknownToolbarSet   : "مجموعهٴ نوارابزار \"%1\" وجود ندار
 NoActiveX                      : "تنظیمات امنیتی مرورگر شما ممکن است در بعضی از ویژگیهای مرورگر محدودیت ایجاد کند. شما باید گزینهٴ \"Run ActiveX controls and plug-ins\" را فعال کنید. ممکن است شما با خطاهایی روبرو باشید و متوجه کمبود ویژگیهایی شوید.",\r
 BrowseServerBlocked : "توانایی بازگشایی مرورگر منابع فراهم نیست. اطمینان حاصل کنید که تمامی برنامه‌های پیشگیری از نمایش popup را از کار بازداشته‌اید.",\r
 DialogBlocked          : "توانایی بازگشایی پنجرهٴ کوچک ِگفتگو فراهم نیست. اطمینان حاصل کنید که تمامی برنامه‌های پیشگیری از نمایش popup را از کار بازداشته‌اید.",\r
-VisitLinkBlocked       : "امکان بازکردن یک پنجره جدید نیست. اطمینان حاصل کنید که تمامی برنامه‌های پیشگیری از نمایش popup را از کار بازداشته‌اید.",\r
 \r
 // Dialogs\r
 DlgBtnOK                       : "پذیرش",\r
@@ -243,7 +229,7 @@ DlgLnkURL                   : "URL",
 DlgLnkAnchorSel                : "یک لنگر برگزینید",\r
 DlgLnkAnchorByName     : "با نام لنگر",\r
 DlgLnkAnchorById       : "با شناسهٴ المان",\r
-DlgLnkNoAnchors                : "(در این سند لنگری دردسترس نیست)",\r
+DlgLnkNoAnchors                : "(در این سند لنگری دردسترس نیست)",            //REVIEW : Change < and > with ( and )\r
 DlgLnkEMail                    : "نشانی پست الکترونیکی",\r
 DlgLnkEMailSubject     : "موضوع پیام",\r
 DlgLnkEMailBody                : "متن پیام",\r
@@ -308,11 +294,6 @@ DlgTableCellSpace  : "فاصلهٴ میان سلولها",
 DlgTableCellPad                : "فاصلهٴ پرشده در سلول",\r
 DlgTableCaption                : "عنوان",\r
 DlgTableSummary                : "خلاصه",\r
-DlgTableHeaders                : "Headers",    //MISSING\r
-DlgTableHeadersNone            : "None",       //MISSING\r
-DlgTableHeadersColumn  : "First column",       //MISSING\r
-DlgTableHeadersRow             : "First Row",  //MISSING\r
-DlgTableHeadersBoth            : "Both",       //MISSING\r
 \r
 // Table Cell Dialog\r
 DlgCellTitle           : "ویژگیهای سلول",\r
@@ -335,18 +316,12 @@ DlgCellVerAlignTop        : "بالا",
 DlgCellVerAlignMiddle  : "میان",\r
 DlgCellVerAlignBottom  : "پائین",\r
 DlgCellVerAlignBaseline        : "خط‌پایه",\r
-DlgCellType            : "Cell Type",  //MISSING\r
-DlgCellTypeData                : "Data",       //MISSING\r
-DlgCellTypeHeader      : "Header",     //MISSING\r
 DlgCellRowSpan         : "گستردگی سطرها",\r
 DlgCellCollSpan                : "گستردگی ستونها",\r
 DlgCellBackColor       : "رنگ پس‌زمینه",\r
 DlgCellBorderColor     : "رنگ لبه",\r
 DlgCellBtnSelect       : "برگزینید...",\r
 \r
-// Find and Replace Dialog\r
-DlgFindAndReplaceTitle : "جستجو و جایگزینی",\r
-\r
 // Find Dialog\r
 DlgFindTitle           : "یافتن",\r
 DlgFindFindBtn         : "یافتن",\r
@@ -372,6 +347,7 @@ DlgPasteMsg2        : "لطفا متن را با کلیدهای (<STRONG>Ctrl+V</STRONG
 DlgPasteSec            : "به خاطر تنظیمات امنیتی مرورگر شما، ویرایشگر نمی‌تواند دسترسی مستقیم به داده‌های clipboard داشته باشد. شما باید دوباره آنرا در این پنجره بچسبانید.",\r
 DlgPasteIgnoreFont             : "چشم‌پوشی از تعاریف نوع قلم",\r
 DlgPasteRemoveStyles   : "چشم‌پوشی از تعاریف سبک (style)",\r
+DlgPasteCleanBox               : "پاک‌کردن ناحیه",\r
 \r
 // Color Picker\r
 ColorAutomatic : "خودکار",\r
@@ -524,16 +500,5 @@ DlgAboutAboutTab   : "درباره",
 DlgAboutBrowserInfoTab : "اطلاعات مرورگر",\r
 DlgAboutLicenseTab     : "گواهینامه",\r
 DlgAboutVersion                : "نگارش",\r
-DlgAboutInfo           : "برای آگاهی بیشتر به این نشانی بروید",\r
-\r
-// Div Dialog\r
-DlgDivGeneralTab       : "General",    //MISSING\r
-DlgDivAdvancedTab      : "Advanced",   //MISSING\r
-DlgDivStyle            : "Style",      //MISSING\r
-DlgDivInlineStyle      : "Inline Style",       //MISSING\r
-\r
-ScaytTitle                     : "SCAYT",      //MISSING\r
-ScaytTitleOptions      : "Options",    //MISSING\r
-ScaytTitleLangs                : "Languages",  //MISSING\r
-ScaytTitleAbout                : "About"       //MISSING\r
-};\r
+DlgAboutInfo           : "برای آگاهی بیشتر به این نشانی بروید"\r
+};
\ No newline at end of file
index 00f9e1c..7e7986a 100644 (file)
@@ -1,6 +1,6 @@
 /*\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
@@ -44,9 +44,7 @@ RemoveFormat          : "Poista muotoilu",
 InsertLinkLbl          : "Linkki",\r
 InsertLink                     : "Lisää linkki/muokkaa linkkiä",\r
 RemoveLink                     : "Poista linkki",\r
-VisitLink                      : "Avaa linkki",\r
 Anchor                         : "Lisää ankkuri/muokkaa ankkuria",\r
-AnchorDelete           : "Poista ankkuri",\r
 InsertImageLbl         : "Kuva",\r
 InsertImage                    : "Lisää kuva/muokkaa kuvaa",\r
 InsertFlashLbl         : "Flash",\r
@@ -72,10 +70,6 @@ RightJustify         : "Tasaa oikeat reunat",
 BlockJustify           : "Tasaa molemmat reunat",\r
 DecreaseIndent         : "Pienennä sisennystä",\r
 IncreaseIndent         : "Suurenna sisennystä",\r
-Blockquote                     : "Lainaus",\r
-CreateDiv                      : "Lisää Div",\r
-EditDiv                                : "Muokkaa Div:ä",\r
-DeleteDiv                      : "Poista Div",\r
 Undo                           : "Kumoa",\r
 Redo                           : "Toista",\r
 NumberedListLbl                : "Numerointi",\r
@@ -109,27 +103,20 @@ SelectionField    : "Valintakenttä",
 ImageButton            : "Kuvapainike",\r
 \r
 FitWindow              : "Suurenna editori koko ikkunaan",\r
-ShowBlocks             : "Näytä elementit",\r
 \r
 // Context Menu\r
 EditLink                       : "Muokkaa linkkiä",\r
 CellCM                         : "Solu",\r
 RowCM                          : "Rivi",\r
 ColumnCM                       : "Sarake",\r
-InsertRowAfter         : "Lisää rivi alapuolelle",\r
-InsertRowBefore                : "Lisää rivi yläpuolelle",\r
+InsertRow                      : "Lisää rivi",\r
 DeleteRows                     : "Poista rivit",\r
-InsertColumnAfter      : "Lisää sarake oikealle",\r
-InsertColumnBefore     : "Lisää sarake vasemmalle",\r
+InsertColumn           : "Lisää sarake",\r
 DeleteColumns          : "Poista sarakkeet",\r
-InsertCellAfter                : "Lisää solu perään",\r
-InsertCellBefore       : "Lisää solu eteen",\r
+InsertCell                     : "Lisää solu",\r
 DeleteCells                    : "Poista solut",\r
 MergeCells                     : "Yhdistä solut",\r
-MergeRight                     : "Yhdistä oikealla olevan kanssa",\r
-MergeDown                      : "Yhdistä alla olevan kanssa",\r
-HorizontalSplitCell    : "Jaa solu vaakasuunnassa",\r
-VerticalSplitCell      : "Jaa solu pystysuunnassa",\r
+SplitCell                      : "Jaa solu",\r
 TableDelete                    : "Poista taulu",\r
 CellProperties         : "Solun ominaisuudet",\r
 TableProperties                : "Taulun ominaisuudet",\r
@@ -147,7 +134,7 @@ SelectionFieldProp  : "Valintakentän ominaisuudet",
 TextareaProp           : "Tekstilaatikon ominaisuudet",\r
 FormProp                       : "Lomakkeen ominaisuudet",\r
 \r
-FontFormats                    : "Normaali;Muotoiltu;Osoite;Otsikko 1;Otsikko 2;Otsikko 3;Otsikko 4;Otsikko 5;Otsikko 6",\r
+FontFormats                    : "Normaali;Muotoiltu;Osoite;Otsikko 1;Otsikko 2;Otsikko 3;Otsikko 4;Otsikko 5;Otsikko 6",              //REVIEW : Check _getfontformat.html\r
 \r
 // Alerts and Messages\r
 ProcessingXHTML                : "Prosessoidaan XHTML:ää. Odota hetki...",\r
@@ -161,7 +148,6 @@ UnknownToolbarSet   : "Työkalukokonaisuus \"%1\" ei ole olemassa",
 NoActiveX                      : "Selaimesi turvallisuusasetukset voivat rajoittaa joitain editorin ominaisuuksia. Sinun pitää ottaa käyttöön asetuksista \"Suorita ActiveX komponentit ja -plugin-laajennukset\". Saatat kohdata virheitä ja huomata puuttuvia ominaisuuksia.",\r
 BrowseServerBlocked : "Resurssiselainta ei voitu avata. Varmista, että ponnahdusikkunoiden estäjät eivät ole päällä.",\r
 DialogBlocked          : "Apuikkunaa ei voitu avaata. Varmista, että ponnahdusikkunoiden estäjät eivät ole päällä.",\r
-VisitLinkBlocked       : "IUutta ikkunaa ei voitu avata. Varmista, että ponnahdusikkunoiden estäjät eivät ole päällä.",\r
 \r
 // Dialogs\r
 DlgBtnOK                       : "OK",\r
@@ -243,7 +229,7 @@ DlgLnkURL                   : "Osoite",
 DlgLnkAnchorSel                : "Valitse ankkuri",\r
 DlgLnkAnchorByName     : "Ankkurin nimen mukaan",\r
 DlgLnkAnchorById       : "Ankkurin ID:n mukaan",\r
-DlgLnkNoAnchors                : "(Ei ankkureita tässä dokumentissa)",\r
+DlgLnkNoAnchors                : "<Ei ankkureita tässä dokumentissa>",               //REVIEW : Change < and > with ( and )\r
 DlgLnkEMail                    : "Sähköpostiosoite",\r
 DlgLnkEMailSubject     : "Aihe",\r
 DlgLnkEMailBody                : "Viesti",\r
@@ -308,11 +294,6 @@ DlgTableCellSpace  : "Solujen väli",
 DlgTableCellPad                : "Solujen sisennys",\r
 DlgTableCaption                : "Otsikko",\r
 DlgTableSummary                : "Yhteenveto",\r
-DlgTableHeaders                : "Ylätunnisteet",\r
-DlgTableHeadersNone            : "Ei ylätunnisteita",\r
-DlgTableHeadersColumn  : "Ensimmäinen sarake",\r
-DlgTableHeadersRow             : "Ensimmäinen rivi",\r
-DlgTableHeadersBoth            : "Molemmat",\r
 \r
 // Table Cell Dialog\r
 DlgCellTitle           : "Solun ominaisuudet",\r
@@ -335,18 +316,12 @@ DlgCellVerAlignTop        : "Ylös",
 DlgCellVerAlignMiddle  : "Keskelle",\r
 DlgCellVerAlignBottom  : "Alas",\r
 DlgCellVerAlignBaseline        : "Tekstin alas",\r
-DlgCellType            : "Solun tyyppi",\r
-DlgCellTypeData                : "Sisältö",\r
-DlgCellTypeHeader      : "Ylätunniste",\r
 DlgCellRowSpan         : "Rivin jatkuvuus",\r
 DlgCellCollSpan                : "Sarakkeen jatkuvuus",\r
 DlgCellBackColor       : "Taustaväri",\r
 DlgCellBorderColor     : "Rajan väri",\r
 DlgCellBtnSelect       : "Valitse...",\r
 \r
-// Find and Replace Dialog\r
-DlgFindAndReplaceTitle : "Etsi ja korvaa",\r
-\r
 // Find Dialog\r
 DlgFindTitle           : "Etsi",\r
 DlgFindFindBtn         : "Etsi",\r
@@ -372,6 +347,7 @@ DlgPasteMsg2        : "Liitä painamalla (<STRONG>Ctrl+V</STRONG>) ja painamalla <STRON
 DlgPasteSec            : "Selaimesi turva-asetukset eivät salli editorin käyttää leikepöytää suoraan. Sinun pitää suorittaa liittäminen tässä ikkunassa.",\r
 DlgPasteIgnoreFont             : "Jätä huomioimatta fonttimääritykset",\r
 DlgPasteRemoveStyles   : "Poista tyylimääritykset",\r
+DlgPasteCleanBox               : "Tyhjennä",\r
 \r
 // Color Picker\r
 ColorAutomatic : "Automaattinen",\r
@@ -524,16 +500,5 @@ DlgAboutAboutTab   : "Editorista",
 DlgAboutBrowserInfoTab : "Selaimen tiedot",\r
 DlgAboutLicenseTab     : "Lisenssi",\r
 DlgAboutVersion                : "versio",\r
-DlgAboutInfo           : "Lisää tietoa osoitteesta",\r
-\r
-// Div Dialog\r
-DlgDivGeneralTab       : "Edistynyt",\r
-DlgDivAdvancedTab      : "Advanced",   //MISSING\r
-DlgDivStyle            : "Tyyli",\r
-DlgDivInlineStyle      : "Rivin sisäinen tyyli",\r
-\r
-ScaytTitle                     : "SCAYT",      //MISSING\r
-ScaytTitleOptions      : "Options",    //MISSING\r
-ScaytTitleLangs                : "Languages",  //MISSING\r
-ScaytTitleAbout                : "About"       //MISSING\r
-};\r
+DlgAboutInfo           : "Lisää tietoa osoitteesta"\r
+};
\ No newline at end of file
index e13b667..830c43e 100644 (file)
@@ -1,6 +1,6 @@
 /*\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
@@ -44,9 +44,7 @@ RemoveFormat          : "Strika sniðgeving",
 InsertLinkLbl          : "Tilknýti",\r
 InsertLink                     : "Ger/broyt tilknýti",\r
 RemoveLink                     : "Strika tilknýti",\r
-VisitLink                      : "Opna tilknýti",\r
 Anchor                         : "Ger/broyt marknastein",\r
-AnchorDelete           : "Strika marknastein",\r
 InsertImageLbl         : "Myndir",\r
 InsertImage                    : "Set inn/broyt mynd",\r
 InsertFlashLbl         : "Flash",\r
@@ -72,10 +70,6 @@ RightJustify         : "Høgrasett",
 BlockJustify           : "Javnir tekstkantar",\r
 DecreaseIndent         : "Minka reglubrotarinntriv",\r
 IncreaseIndent         : "Økja reglubrotarinntriv",\r
-Blockquote                     : "Blockquote",\r
-CreateDiv                      : "Ger DIV øki",\r
-EditDiv                                : "Broyt DIV øki",\r
-DeleteDiv                      : "Strika DIV øki",\r
 Undo                           : "Angra",\r
 Redo                           : "Vend aftur",\r
 NumberedListLbl                : "Talmerktur listi",\r
@@ -109,27 +103,20 @@ SelectionField    : "Valskrá",
 ImageButton            : "Myndaknøttur",\r
 \r
 FitWindow              : "Set tekstviðgera til fulla stødd",\r
-ShowBlocks             : "Vís blokkar",\r
 \r
 // Context Menu\r
 EditLink                       : "Broyt tilknýti",\r
 CellCM                         : "Meski",\r
 RowCM                          : "Rað",\r
 ColumnCM                       : "Kolonna",\r
-InsertRowAfter         : "Set rað inn aftaná",\r
-InsertRowBefore                : "Set rað inn áðrenn",\r
+InsertRow                      : "Nýtt rað",\r
 DeleteRows                     : "Strika røðir",\r
-InsertColumnAfter      : "Set kolonnu inn aftaná",\r
-InsertColumnBefore     : "Set kolonnu inn áðrenn",\r
+InsertColumn           : "Nýggj kolonna",\r
 DeleteColumns          : "Strika kolonnur",\r
-InsertCellAfter                : "Set meska inn aftaná",\r
-InsertCellBefore       : "Set meska inn áðrenn",\r
+InsertCell                     : "Nýggjur meski",\r
 DeleteCells                    : "Strika meskar",\r
 MergeCells                     : "Flætta meskar",\r
-MergeRight                     : "Flætta meskar til høgru",\r
-MergeDown                      : "Flætta saman",\r
-HorizontalSplitCell    : "Kloyv meska vatnrætt",\r
-VerticalSplitCell      : "Kloyv meska loddrætt",\r
+SplitCell                      : "Být sundur meskar",\r
 TableDelete                    : "Strika tabell",\r
 CellProperties         : "Meskueginleikar",\r
 TableProperties                : "Tabelleginleikar",\r
@@ -147,7 +134,7 @@ SelectionFieldProp  : "Eginleikar fyri valskrá",
 TextareaProp           : "Eginleikar fyri tekstumráði",\r
 FormProp                       : "Eginleikar fyri Form",\r
 \r
-FontFormats                    : "Vanligt;Sniðgivið;Adressa;Yvirskrift 1;Yvirskrift 2;Yvirskrift 3;Yvirskrift 4;Yvirskrift 5;Yvirskrift 6",\r
+FontFormats                    : "Vanligt;Sniðgivið;Adressa;Yvirskrift 1;Yvirskrift 2;Yvirskrift 3;Yvirskrift 4;Yvirskrift 5;Yvirskrift 6",          //REVIEW : Check _getfontformat.html\r
 \r
 // Alerts and Messages\r
 ProcessingXHTML                : "XHTML verður viðgjørt. Bíða við...",\r
@@ -161,7 +148,6 @@ UnknownToolbarSet   : "Amboðsbjálkin \"%1\" finst ikki",
 NoActiveX                      : "Trygdaruppsetingin í alnótskaganum kann sum er avmarka onkrar hentleikar í tekstviðgeranum. Tú mást loyva møguleikanum \"Run/Kør ActiveX controls and plug-ins\". Tú kanst uppliva feilir og ávaringar um tvørrandi hentleikar.",\r
 BrowseServerBlocked : "Ambætarakagin kundi ikki opnast. Tryggja tær, at allar pop-up forðingar eru óvirknar.",\r
 DialogBlocked          : "Tað eyðnaðist ikki at opna samskiftisrútin. Tryggja tær, at allar pop-up forðingar eru óvirknar.",\r
-VisitLinkBlocked       : "Tað eyðnaðist ikki at opna nýggjan rút. Tryggja tær, at allar pop-up forðingar eru óvirknar.",\r
 \r
 // Dialogs\r
 DlgBtnOK                       : "Góðkent",\r
@@ -243,7 +229,7 @@ DlgLnkURL                   : "URL",
 DlgLnkAnchorSel                : "Vel ein marknastein",\r
 DlgLnkAnchorByName     : "Eftir navni á marknasteini",\r
 DlgLnkAnchorById       : "Eftir element Id",\r
-DlgLnkNoAnchors                : "(Eingir marknasteinar eru í hesum dokumentið)",\r
+DlgLnkNoAnchors                : "(Eingir marknasteinar eru í hesum dokumentið)",            //REVIEW : Change < and > with ( and )\r
 DlgLnkEMail                    : "Teldupost-adressa",\r
 DlgLnkEMailSubject     : "Evni",\r
 DlgLnkEMailBody                : "Breyðtekstur",\r
@@ -308,11 +294,6 @@ DlgTableCellSpace  : "Fjarstøða millum meskar",
 DlgTableCellPad                : "Meskubreddi",\r
 DlgTableCaption                : "Tabellfrágreiðing",\r
 DlgTableSummary                : "Samandráttur",\r
-DlgTableHeaders                : "Headers",    //MISSING\r
-DlgTableHeadersNone            : "None",       //MISSING\r
-DlgTableHeadersColumn  : "First column",       //MISSING\r
-DlgTableHeadersRow             : "First Row",  //MISSING\r
-DlgTableHeadersBoth            : "Both",       //MISSING\r
 \r
 // Table Cell Dialog\r
 DlgCellTitle           : "Mesku eginleikar",\r
@@ -335,18 +316,12 @@ DlgCellVerAlignTop        : "Ovast",
 DlgCellVerAlignMiddle  : "Miðjan",\r
 DlgCellVerAlignBottom  : "Niðast",\r
 DlgCellVerAlignBaseline        : "Basislinja",\r
-DlgCellType            : "Cell Type",  //MISSING\r
-DlgCellTypeData                : "Data",       //MISSING\r
-DlgCellTypeHeader      : "Header",     //MISSING\r
 DlgCellRowSpan         : "Røðir, meskin fevnir um",\r
 DlgCellCollSpan                : "Kolonnur, meskin fevnir um",\r
 DlgCellBackColor       : "Bakgrundslitur",\r
 DlgCellBorderColor     : "Litur á borda",\r
 DlgCellBtnSelect       : "Vel...",\r
 \r
-// Find and Replace Dialog\r
-DlgFindAndReplaceTitle : "Finn og broyt",\r
-\r
 // Find Dialog\r
 DlgFindTitle           : "Finn",\r
 DlgFindFindBtn         : "Finn",\r
@@ -362,19 +337,20 @@ DlgReplaceReplAllBtn      : "Yvirskriva alt",
 DlgReplaceWordChk              : "Bert heil orð",\r
 \r
 // Paste Operations / Dialog\r
-PasteErrorCut  : "Trygdaruppseting alnótskagans forðar tekstviðgeranum í at kvetta tekstin. Vinarliga nýt knappaborðið til at kvetta tekstin (CTRL+X).",\r
+PasteErrorCut  : "Trygdaruppseting alnótskagans forðar tekstviðgeranum í at kvetta tekstin. vinarliga nýt knappaborðið til at kvetta tekstin (CTRL+X).",\r
 PasteErrorCopy : "Trygdaruppseting alnótskagans forðar tekstviðgeranum í at avrita tekstin. Vinarliga nýt knappaborðið til at avrita tekstin (CTRL+C).",\r
 \r
 PasteAsText            : "Innrita som reinan tekst",\r
 PasteFromWord  : "Innrita fra Word",\r
 \r
 DlgPasteMsg2   : "Vinarliga koyr tekstin í hendan rútin við knappaborðinum (<strong>CTRL+V</strong>) og klikk á <strong>Góðtak</strong>.",\r
-DlgPasteSec            : "Trygdaruppseting alnótskagans forðar tekstviðgeranum í beinleiðis atgongd til avritingarminnið. Tygum mugu royna aftur í hesum rútinum.",\r
+DlgPasteSec            : "Because of your browser security settings, the editor is not able to access your clipboard data directly. You are required to paste it again in this window.",       //MISSING\r
 DlgPasteIgnoreFont             : "Forfjóna Font definitiónirnar",\r
-DlgPasteRemoveStyles   : "Strika typografi definitiónir",\r
+DlgPasteRemoveStyles   : "Strika Styles definitiónir",\r
+DlgPasteCleanBox               : "Reinskanarkassi",\r
 \r
 // Color Picker\r
-ColorAutomatic : "Automatiskt",\r
+ColorAutomatic : "Av sær sjálvum",\r
 ColorMoreColors        : "Fleiri litir...",\r
 \r
 // Document Properties\r
@@ -524,16 +500,5 @@ DlgAboutAboutTab   : "Um",
 DlgAboutBrowserInfoTab : "Upplýsingar um alnótskagan",\r
 DlgAboutLicenseTab     : "License",\r
 DlgAboutVersion                : "version",\r
-DlgAboutInfo           : "Fyri fleiri upplýsingar, far til",\r
-\r
-// Div Dialog\r
-DlgDivGeneralTab       : "Generelt",\r
-DlgDivAdvancedTab      : "Fjølbroytt",\r
-DlgDivStyle            : "Typografi",\r
-DlgDivInlineStyle      : "Inline typografi",\r
-\r
-ScaytTitle                     : "SCAYT",      //MISSING\r
-ScaytTitleOptions      : "Options",    //MISSING\r
-ScaytTitleLangs                : "Languages",  //MISSING\r
-ScaytTitleAbout                : "About"       //MISSING\r
-};\r
+DlgAboutInfo           : "Fyri fleiri upplýsingar, far til"\r
+};
\ No newline at end of file
diff --git a/httemplate/elements/fckeditor/editor/lang/fr-ca.js b/httemplate/elements/fckeditor/editor/lang/fr-ca.js
deleted file mode 100644 (file)
index 2489bd6..0000000
+++ /dev/null
@@ -1,539 +0,0 @@
-/*\r
- * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
- *\r
- * == BEGIN LICENSE ==\r
- *\r
- * Licensed under the terms of any of the following licenses at your\r
- * choice:\r
- *\r
- *  - GNU General Public License Version 2 or later (the "GPL")\r
- *    http://www.gnu.org/licenses/gpl.html\r
- *\r
- *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")\r
- *    http://www.gnu.org/licenses/lgpl.html\r
- *\r
- *  - Mozilla Public License Version 1.1 or later (the "MPL")\r
- *    http://www.mozilla.org/MPL/MPL-1.1.html\r
- *\r
- * == END LICENSE ==\r
- *\r
- * Canadian French language file.\r
- */\r
-\r
-var FCKLang =\r
-{\r
-// Language direction : "ltr" (left to right) or "rtl" (right to left).\r
-Dir                                    : "ltr",\r
-\r
-ToolbarCollapse                : "Masquer Outils",\r
-ToolbarExpand          : "Afficher Outils",\r
-\r
-// Toolbar Items and Context Menu\r
-Save                           : "Sauvegarder",\r
-NewPage                                : "Nouvelle page",\r
-Preview                                : "Previsualiser",\r
-Cut                                    : "Couper",\r
-Copy                           : "Copier",\r
-Paste                          : "Coller",\r
-PasteText                      : "Coller en tant que texte",\r
-PasteWord                      : "Coller en tant que Word (formaté)",\r
-Print                          : "Imprimer",\r
-SelectAll                      : "Tout sélectionner",\r
-RemoveFormat           : "Supprimer le formatage",\r
-InsertLinkLbl          : "Lien",\r
-InsertLink                     : "Insérer/modifier le lien",\r
-RemoveLink                     : "Supprimer le lien",\r
-VisitLink                      : "Suivre le lien",\r
-Anchor                         : "Insérer/modifier l'ancre",\r
-AnchorDelete           : "Supprimer l'ancre",\r
-InsertImageLbl         : "Image",\r
-InsertImage                    : "Insérer/modifier l'image",\r
-InsertFlashLbl         : "Animation Flash",\r
-InsertFlash                    : "Insérer/modifier l'animation Flash",\r
-InsertTableLbl         : "Tableau",\r
-InsertTable                    : "Insérer/modifier le tableau",\r
-InsertLineLbl          : "Séparateur",\r
-InsertLine                     : "Insérer un séparateur",\r
-InsertSpecialCharLbl: "Caractères spéciaux",\r
-InsertSpecialChar      : "Insérer un caractère spécial",\r
-InsertSmileyLbl                : "Emoticon",\r
-InsertSmiley           : "Insérer un Emoticon",\r
-About                          : "A propos de FCKeditor",\r
-Bold                           : "Gras",\r
-Italic                         : "Italique",\r
-Underline                      : "Souligné",\r
-StrikeThrough          : "Barrer",\r
-Subscript                      : "Indice",\r
-Superscript                    : "Exposant",\r
-LeftJustify                    : "Aligner à gauche",\r
-CenterJustify          : "Centrer",\r
-RightJustify           : "Aligner à Droite",\r
-BlockJustify           : "Texte justifié",\r
-DecreaseIndent         : "Diminuer le retrait",\r
-IncreaseIndent         : "Augmenter le retrait",\r
-Blockquote                     : "Citation",\r
-CreateDiv                      : "Créer Balise Div",\r
-EditDiv                                : "Modifier Balise Div",\r
-DeleteDiv                      : "Supprimer Balise Div",\r
-Undo                           : "Annuler",\r
-Redo                           : "Refaire",\r
-NumberedListLbl                : "Liste numérotée",\r
-NumberedList           : "Insérer/supprimer la liste numérotée",\r
-BulletedListLbl                : "Liste à puces",\r
-BulletedList           : "Insérer/supprimer la liste à puces",\r
-ShowTableBorders       : "Afficher les bordures du tableau",\r
-ShowDetails                    : "Afficher les caractères invisibles",\r
-Style                          : "Style",\r
-FontFormat                     : "Format",\r
-Font                           : "Police",\r
-FontSize                       : "Taille",\r
-TextColor                      : "Couleur de caractère",\r
-BGColor                                : "Couleur de fond",\r
-Source                         : "Source",\r
-Find                           : "Chercher",\r
-Replace                                : "Remplacer",\r
-SpellCheck                     : "Orthographe",\r
-UniversalKeyboard      : "Clavier universel",\r
-PageBreakLbl           : "Saut de page",\r
-PageBreak                      : "Insérer un saut de page",\r
-\r
-Form                   : "Formulaire",\r
-Checkbox               : "Case à cocher",\r
-RadioButton            : "Bouton radio",\r
-TextField              : "Champ texte",\r
-Textarea               : "Zone de texte",\r
-HiddenField            : "Champ caché",\r
-Button                 : "Bouton",\r
-SelectionField : "Champ de sélection",\r
-ImageButton            : "Bouton image",\r
-\r
-FitWindow              : "Edition pleine page",\r
-ShowBlocks             : "Afficher les blocs",\r
-\r
-// Context Menu\r
-EditLink                       : "Modifier le lien",\r
-CellCM                         : "Cellule",\r
-RowCM                          : "Ligne",\r
-ColumnCM                       : "Colonne",\r
-InsertRowAfter         : "Insérer une ligne après",\r
-InsertRowBefore                : "Insérer une ligne avant",\r
-DeleteRows                     : "Supprimer des lignes",\r
-InsertColumnAfter      : "Insérer une colonne après",\r
-InsertColumnBefore     : "Insérer une colonne avant",\r
-DeleteColumns          : "Supprimer des colonnes",\r
-InsertCellAfter                : "Insérer une cellule après",\r
-InsertCellBefore       : "Insérer une cellule avant",\r
-DeleteCells                    : "Supprimer des cellules",\r
-MergeCells                     : "Fusionner les cellules",\r
-MergeRight                     : "Fusionner à droite",\r
-MergeDown                      : "Fusionner en bas",\r
-HorizontalSplitCell    : "Scinder la cellule horizontalement",\r
-VerticalSplitCell      : "Scinder la cellule verticalement",\r
-TableDelete                    : "Supprimer le tableau",\r
-CellProperties         : "Propriétés de cellule",\r
-TableProperties                : "Propriétés du tableau",\r
-ImageProperties                : "Propriétés de l'image",\r
-FlashProperties                : "Propriétés de l'animation Flash",\r
-\r
-AnchorProp                     : "Propriétés de l'ancre",\r
-ButtonProp                     : "Propriétés du bouton",\r
-CheckboxProp           : "Propriétés de la case à cocher",\r
-HiddenFieldProp                : "Propriétés du champ caché",\r
-RadioButtonProp                : "Propriétés du bouton radio",\r
-ImageButtonProp                : "Propriétés du bouton image",\r
-TextFieldProp          : "Propriétés du champ texte",\r
-SelectionFieldProp     : "Propriétés de la liste/du menu",\r
-TextareaProp           : "Propriétés de la zone de texte",\r
-FormProp                       : "Propriétés du formulaire",\r
-\r
-FontFormats                    : "Normal;Formaté;Adresse;En-tête 1;En-tête 2;En-tête 3;En-tête 4;En-tête 5;En-tête 6;Normal (DIV)",\r
-\r
-// Alerts and Messages\r
-ProcessingXHTML                : "Calcul XHTML. Veuillez patienter...",\r
-Done                           : "Terminé",\r
-PasteWordConfirm       : "Le texte à coller semble provenir de Word. Désirez-vous le nettoyer avant de coller?",\r
-NotCompatiblePaste     : "Cette commande nécessite Internet Explorer version 5.5 et plus. Souhaitez-vous coller sans nettoyage?",\r
-UnknownToolbarItem     : "Élément de barre d'outil inconnu \"%1\"",\r
-UnknownCommand         : "Nom de commande inconnu \"%1\"",\r
-NotImplemented         : "Commande indisponible",\r
-UnknownToolbarSet      : "La barre d'outils \"%1\" n'existe pas",\r
-NoActiveX                      : "Les paramètres de sécurité de votre navigateur peuvent limiter quelques fonctionnalités de l'éditeur. Veuillez activer l'option \"Exécuter les contrôles ActiveX et les plug-ins\". Il se peut que vous rencontriez des erreurs et remarquiez quelques limitations.",\r
-BrowseServerBlocked : "Le navigateur n'a pas pu être ouvert. Assurez-vous que les bloqueurs de popups soient désactivés.",\r
-DialogBlocked          : "La fenêtre de dialogue n'a pas pu s'ouvrir. Assurez-vous que les bloqueurs de popups soient désactivés.",\r
-VisitLinkBlocked       : "It was not possible to open a new window. Make sure all popup blockers are disabled.",       //MISSING\r
-\r
-// Dialogs\r
-DlgBtnOK                       : "OK",\r
-DlgBtnCancel           : "Annuler",\r
-DlgBtnClose                    : "Fermer",\r
-DlgBtnBrowseServer     : "Parcourir le serveur",\r
-DlgAdvancedTag         : "Avancée",\r
-DlgOpOther                     : "<autre>",\r
-DlgInfoTab                     : "Info",\r
-DlgAlertUrl                    : "Veuillez saisir l'URL",\r
-\r
-// General Dialogs Labels\r
-DlgGenNotSet           : "<Par défaut>",\r
-DlgGenId                       : "Id",\r
-DlgGenLangDir          : "Sens d'écriture",\r
-DlgGenLangDirLtr       : "De gauche à droite (LTR)",\r
-DlgGenLangDirRtl       : "De droite à gauche (RTL)",\r
-DlgGenLangCode         : "Code langue",\r
-DlgGenAccessKey                : "Équivalent clavier",\r
-DlgGenName                     : "Nom",\r
-DlgGenTabIndex         : "Ordre de tabulation",\r
-DlgGenLongDescr                : "URL de description longue",\r
-DlgGenClass                    : "Classes de feuilles de style",\r
-DlgGenTitle                    : "Titre",\r
-DlgGenContType         : "Type de contenu",\r
-DlgGenLinkCharset      : "Encodage de caractère",\r
-DlgGenStyle                    : "Style",\r
-\r
-// Image Dialog\r
-DlgImgTitle                    : "Propriétés de l'image",\r
-DlgImgInfoTab          : "Informations sur l'image",\r
-DlgImgBtnUpload                : "Envoyer sur le serveur",\r
-DlgImgURL                      : "URL",\r
-DlgImgUpload           : "Télécharger",\r
-DlgImgAlt                      : "Texte de remplacement",\r
-DlgImgWidth                    : "Largeur",\r
-DlgImgHeight           : "Hauteur",\r
-DlgImgLockRatio                : "Garder les proportions",\r
-DlgBtnResetSize                : "Taille originale",\r
-DlgImgBorder           : "Bordure",\r
-DlgImgHSpace           : "Espacement horizontal",\r
-DlgImgVSpace           : "Espacement vertical",\r
-DlgImgAlign                    : "Alignement",\r
-DlgImgAlignLeft                : "Gauche",\r
-DlgImgAlignAbsBottom: "Abs Bas",\r
-DlgImgAlignAbsMiddle: "Abs Milieu",\r
-DlgImgAlignBaseline    : "Bas du texte",\r
-DlgImgAlignBottom      : "Bas",\r
-DlgImgAlignMiddle      : "Milieu",\r
-DlgImgAlignRight       : "Droite",\r
-DlgImgAlignTextTop     : "Haut du texte",\r
-DlgImgAlignTop         : "Haut",\r
-DlgImgPreview          : "Prévisualisation",\r
-DlgImgAlertUrl         : "Veuillez saisir l'URL de l'image",\r
-DlgImgLinkTab          : "Lien",\r
-\r
-// Flash Dialog\r
-DlgFlashTitle          : "Propriétés de l'animation Flash",\r
-DlgFlashChkPlay                : "Lecture automatique",\r
-DlgFlashChkLoop                : "Boucle",\r
-DlgFlashChkMenu                : "Activer le menu Flash",\r
-DlgFlashScale          : "Affichage",\r
-DlgFlashScaleAll       : "Par défaut (tout montrer)",\r
-DlgFlashScaleNoBorder  : "Sans bordure",\r
-DlgFlashScaleFit       : "Ajuster aux dimensions",\r
-\r
-// Link Dialog\r
-DlgLnkWindowTitle      : "Propriétés du lien",\r
-DlgLnkInfoTab          : "Informations sur le lien",\r
-DlgLnkTargetTab                : "Destination",\r
-\r
-DlgLnkType                     : "Type de lien",\r
-DlgLnkTypeURL          : "URL",\r
-DlgLnkTypeAnchor       : "Ancre dans cette page",\r
-DlgLnkTypeEMail                : "E-Mail",\r
-DlgLnkProto                    : "Protocole",\r
-DlgLnkProtoOther       : "<autre>",\r
-DlgLnkURL                      : "URL",\r
-DlgLnkAnchorSel                : "Sélectionner une ancre",\r
-DlgLnkAnchorByName     : "Par nom",\r
-DlgLnkAnchorById       : "Par id",\r
-DlgLnkNoAnchors                : "(Pas d'ancre disponible dans le document)",\r
-DlgLnkEMail                    : "Adresse E-Mail",\r
-DlgLnkEMailSubject     : "Sujet du message",\r
-DlgLnkEMailBody                : "Corps du message",\r
-DlgLnkUpload           : "Télécharger",\r
-DlgLnkBtnUpload                : "Envoyer sur le serveur",\r
-\r
-DlgLnkTarget           : "Destination",\r
-DlgLnkTargetFrame      : "<Cadre>",\r
-DlgLnkTargetPopup      : "<fenêtre popup>",\r
-DlgLnkTargetBlank      : "Nouvelle fenêtre (_blank)",\r
-DlgLnkTargetParent     : "Fenêtre mère (_parent)",\r
-DlgLnkTargetSelf       : "Même fenêtre (_self)",\r
-DlgLnkTargetTop                : "Fenêtre supérieure (_top)",\r
-DlgLnkTargetFrameName  : "Nom du cadre de destination",\r
-DlgLnkPopWinName       : "Nom de la fenêtre popup",\r
-DlgLnkPopWinFeat       : "Caractéristiques de la fenêtre popup",\r
-DlgLnkPopResize                : "Taille modifiable",\r
-DlgLnkPopLocation      : "Barre d'adresses",\r
-DlgLnkPopMenu          : "Barre de menu",\r
-DlgLnkPopScroll                : "Barres de défilement",\r
-DlgLnkPopStatus                : "Barre d'état",\r
-DlgLnkPopToolbar       : "Barre d'outils",\r
-DlgLnkPopFullScrn      : "Plein écran (IE)",\r
-DlgLnkPopDependent     : "Dépendante (Netscape)",\r
-DlgLnkPopWidth         : "Largeur",\r
-DlgLnkPopHeight                : "Hauteur",\r
-DlgLnkPopLeft          : "Position à partir de la gauche",\r
-DlgLnkPopTop           : "Position à partir du haut",\r
-\r
-DlnLnkMsgNoUrl         : "Veuillez saisir l'URL",\r
-DlnLnkMsgNoEMail       : "Veuillez saisir l'adresse e-mail",\r
-DlnLnkMsgNoAnchor      : "Veuillez sélectionner une ancre",\r
-DlnLnkMsgInvPopName    : "Le nom de la fenêtre popup doit commencer par une lettre et ne doit pas contenir d'espace",\r
-\r
-// Color Dialog\r
-DlgColorTitle          : "Sélectionner",\r
-DlgColorBtnClear       : "Effacer",\r
-DlgColorHighlight      : "Prévisualisation",\r
-DlgColorSelected       : "Sélectionné",\r
-\r
-// Smiley Dialog\r
-DlgSmileyTitle         : "Insérer un Emoticon",\r
-\r
-// Special Character Dialog\r
-DlgSpecialCharTitle    : "Insérer un caractère spécial",\r
-\r
-// Table Dialog\r
-DlgTableTitle          : "Propriétés du tableau",\r
-DlgTableRows           : "Lignes",\r
-DlgTableColumns                : "Colonnes",\r
-DlgTableBorder         : "Taille de la bordure",\r
-DlgTableAlign          : "Alignement",\r
-DlgTableAlignNotSet    : "<Par défaut>",\r
-DlgTableAlignLeft      : "Gauche",\r
-DlgTableAlignCenter    : "Centré",\r
-DlgTableAlignRight     : "Droite",\r
-DlgTableWidth          : "Largeur",\r
-DlgTableWidthPx                : "pixels",\r
-DlgTableWidthPc                : "pourcentage",\r
-DlgTableHeight         : "Hauteur",\r
-DlgTableCellSpace      : "Espacement",\r
-DlgTableCellPad                : "Contour",\r
-DlgTableCaption                : "Titre",\r
-DlgTableSummary                : "Résumé",\r
-DlgTableHeaders                : "Headers",    //MISSING\r
-DlgTableHeadersNone            : "None",       //MISSING\r
-DlgTableHeadersColumn  : "First column",       //MISSING\r
-DlgTableHeadersRow             : "First Row",  //MISSING\r
-DlgTableHeadersBoth            : "Both",       //MISSING\r
-\r
-// Table Cell Dialog\r
-DlgCellTitle           : "Propriétés de la cellule",\r
-DlgCellWidth           : "Largeur",\r
-DlgCellWidthPx         : "pixels",\r
-DlgCellWidthPc         : "pourcentage",\r
-DlgCellHeight          : "Hauteur",\r
-DlgCellWordWrap                : "Retour à la ligne",\r
-DlgCellWordWrapNotSet  : "<Par défaut>",\r
-DlgCellWordWrapYes     : "Oui",\r
-DlgCellWordWrapNo      : "Non",\r
-DlgCellHorAlign                : "Alignement horizontal",\r
-DlgCellHorAlignNotSet  : "<Par défaut>",\r
-DlgCellHorAlignLeft    : "Gauche",\r
-DlgCellHorAlignCenter  : "Centré",\r
-DlgCellHorAlignRight: "Droite",\r
-DlgCellVerAlign                : "Alignement vertical",\r
-DlgCellVerAlignNotSet  : "<Par défaut>",\r
-DlgCellVerAlignTop     : "Haut",\r
-DlgCellVerAlignMiddle  : "Milieu",\r
-DlgCellVerAlignBottom  : "Bas",\r
-DlgCellVerAlignBaseline        : "Bas du texte",\r
-DlgCellType            : "Cell Type",  //MISSING\r
-DlgCellTypeData                : "Data",       //MISSING\r
-DlgCellTypeHeader      : "Header",     //MISSING\r
-DlgCellRowSpan         : "Lignes fusionnées",\r
-DlgCellCollSpan                : "Colonnes fusionnées",\r
-DlgCellBackColor       : "Couleur de fond",\r
-DlgCellBorderColor     : "Couleur de bordure",\r
-DlgCellBtnSelect       : "Sélectionner...",\r
-\r
-// Find and Replace Dialog\r
-DlgFindAndReplaceTitle : "Chercher et Remplacer",\r
-\r
-// Find Dialog\r
-DlgFindTitle           : "Chercher",\r
-DlgFindFindBtn         : "Chercher",\r
-DlgFindNotFoundMsg     : "Le texte indiqué est introuvable.",\r
-\r
-// Replace Dialog\r
-DlgReplaceTitle                        : "Remplacer",\r
-DlgReplaceFindLbl              : "Rechercher:",\r
-DlgReplaceReplaceLbl   : "Remplacer par:",\r
-DlgReplaceCaseChk              : "Respecter la casse",\r
-DlgReplaceReplaceBtn   : "Remplacer",\r
-DlgReplaceReplAllBtn   : "Tout remplacer",\r
-DlgReplaceWordChk              : "Mot entier",\r
-\r
-// Paste Operations / Dialog\r
-PasteErrorCut  : "Les paramètres de sécurité de votre navigateur empêchent l'éditeur de couper automatiquement vos données. Veuillez utiliser les équivalents claviers (Ctrl+X).",\r
-PasteErrorCopy : "Les paramètres de sécurité de votre navigateur empêchent l'éditeur de copier automatiquement vos données. Veuillez utiliser les équivalents claviers (Ctrl+C).",\r
-\r
-PasteAsText            : "Coller comme texte",\r
-PasteFromWord  : "Coller à partir de Word",\r
-\r
-DlgPasteMsg2   : "Veuillez coller dans la zone ci-dessous en utilisant le clavier (<STRONG>Ctrl+V</STRONG>) et appuyer sur <STRONG>OK</STRONG>.",\r
-DlgPasteSec            : "A cause des paramètres de sécurité de votre navigateur, l'éditeur ne peut accéder au presse-papier directement. Vous devez coller à nouveau le contenu dans cette fenêtre.",\r
-DlgPasteIgnoreFont             : "Ignorer les polices de caractères",\r
-DlgPasteRemoveStyles   : "Supprimer les styles",\r
-\r
-// Color Picker\r
-ColorAutomatic : "Automatique",\r
-ColorMoreColors        : "Plus de couleurs...",\r
-\r
-// Document Properties\r
-DocProps               : "Propriétés du document",\r
-\r
-// Anchor Dialog\r
-DlgAnchorTitle         : "Propriétés de l'ancre",\r
-DlgAnchorName          : "Nom de l'ancre",\r
-DlgAnchorErrorName     : "Veuillez saisir le nom de l'ancre",\r
-\r
-// Speller Pages Dialog\r
-DlgSpellNotInDic               : "Pas dans le dictionnaire",\r
-DlgSpellChangeTo               : "Changer en",\r
-DlgSpellBtnIgnore              : "Ignorer",\r
-DlgSpellBtnIgnoreAll   : "Ignorer tout",\r
-DlgSpellBtnReplace             : "Remplacer",\r
-DlgSpellBtnReplaceAll  : "Remplacer tout",\r
-DlgSpellBtnUndo                        : "Annuler",\r
-DlgSpellNoSuggestions  : "- Pas de suggestion -",\r
-DlgSpellProgress               : "Vérification d'orthographe en cours...",\r
-DlgSpellNoMispell              : "Vérification d'orthographe terminée: pas d'erreur trouvée",\r
-DlgSpellNoChanges              : "Vérification d'orthographe terminée: Pas de modifications",\r
-DlgSpellOneChange              : "Vérification d'orthographe terminée: Un mot modifié",\r
-DlgSpellManyChanges            : "Vérification d'orthographe terminée: %1 mots modifiés",\r
-\r
-IeSpellDownload                        : "Le Correcteur d'orthographe n'est pas installé. Souhaitez-vous le télécharger maintenant?",\r
-\r
-// Button Dialog\r
-DlgButtonText          : "Texte (Valeur)",\r
-DlgButtonType          : "Type",\r
-DlgButtonTypeBtn       : "Bouton",\r
-DlgButtonTypeSbm       : "Soumettre",\r
-DlgButtonTypeRst       : "Réinitialiser",\r
-\r
-// Checkbox and Radio Button Dialogs\r
-DlgCheckboxName                : "Nom",\r
-DlgCheckboxValue       : "Valeur",\r
-DlgCheckboxSelected    : "Sélectionné",\r
-\r
-// Form Dialog\r
-DlgFormName            : "Nom",\r
-DlgFormAction  : "Action",\r
-DlgFormMethod  : "Méthode",\r
-\r
-// Select Field Dialog\r
-DlgSelectName          : "Nom",\r
-DlgSelectValue         : "Valeur",\r
-DlgSelectSize          : "Taille",\r
-DlgSelectLines         : "lignes",\r
-DlgSelectChkMulti      : "Sélection multiple",\r
-DlgSelectOpAvail       : "Options disponibles",\r
-DlgSelectOpText                : "Texte",\r
-DlgSelectOpValue       : "Valeur",\r
-DlgSelectBtnAdd                : "Ajouter",\r
-DlgSelectBtnModify     : "Modifier",\r
-DlgSelectBtnUp         : "Monter",\r
-DlgSelectBtnDown       : "Descendre",\r
-DlgSelectBtnSetValue : "Valeur sélectionnée",\r
-DlgSelectBtnDelete     : "Supprimer",\r
-\r
-// Textarea Dialog\r
-DlgTextareaName        : "Nom",\r
-DlgTextareaCols        : "Colonnes",\r
-DlgTextareaRows        : "Lignes",\r
-\r
-// Text Field Dialog\r
-DlgTextName                    : "Nom",\r
-DlgTextValue           : "Valeur",\r
-DlgTextCharWidth       : "Largeur en caractères",\r
-DlgTextMaxChars                : "Nombre maximum de caractères",\r
-DlgTextType                    : "Type",\r
-DlgTextTypeText                : "Texte",\r
-DlgTextTypePass                : "Mot de passe",\r
-\r
-// Hidden Field Dialog\r
-DlgHiddenName  : "Nom",\r
-DlgHiddenValue : "Valeur",\r
-\r
-// Bulleted List Dialog\r
-BulletedListProp       : "Propriétés de liste à puces",\r
-NumberedListProp       : "Propriétés de liste numérotée",\r
-DlgLstStart                    : "Début",\r
-DlgLstType                     : "Type",\r
-DlgLstTypeCircle       : "Cercle",\r
-DlgLstTypeDisc         : "Disque",\r
-DlgLstTypeSquare       : "Carré",\r
-DlgLstTypeNumbers      : "Nombres (1, 2, 3)",\r
-DlgLstTypeLCase                : "Lettres minuscules (a, b, c)",\r
-DlgLstTypeUCase                : "Lettres majuscules (A, B, C)",\r
-DlgLstTypeSRoman       : "Chiffres romains minuscules (i, ii, iii)",\r
-DlgLstTypeLRoman       : "Chiffres romains majuscules (I, II, III)",\r
-\r
-// Document Properties Dialog\r
-DlgDocGeneralTab       : "Général",\r
-DlgDocBackTab          : "Fond",\r
-DlgDocColorsTab                : "Couleurs et Marges",\r
-DlgDocMetaTab          : "Méta-Données",\r
-\r
-DlgDocPageTitle                : "Titre de la page",\r
-DlgDocLangDir          : "Sens d'écriture",\r
-DlgDocLangDirLTR       : "De la gauche vers la droite (LTR)",\r
-DlgDocLangDirRTL       : "De la droite vers la gauche (RTL)",\r
-DlgDocLangCode         : "Code langue",\r
-DlgDocCharSet          : "Encodage de caractère",\r
-DlgDocCharSetCE                : "Europe Centrale",\r
-DlgDocCharSetCT                : "Chinois Traditionnel (Big5)",\r
-DlgDocCharSetCR                : "Cyrillique",\r
-DlgDocCharSetGR                : "Grecque",\r
-DlgDocCharSetJP                : "Japonais",\r
-DlgDocCharSetKR                : "Coréen",\r
-DlgDocCharSetTR                : "Turcque",\r
-DlgDocCharSetUN                : "Unicode (UTF-8)",\r
-DlgDocCharSetWE                : "Occidental",\r
-DlgDocCharSetOther     : "Autre encodage de caractère",\r
-\r
-DlgDocDocType          : "Type de document",\r
-DlgDocDocTypeOther     : "Autre type de document",\r
-DlgDocIncXHTML         : "Inclure les déclarations XHTML",\r
-DlgDocBgColor          : "Couleur de fond",\r
-DlgDocBgImage          : "Image de fond",\r
-DlgDocBgNoScroll       : "Image fixe sans défilement",\r
-DlgDocCText                    : "Texte",\r
-DlgDocCLink                    : "Lien",\r
-DlgDocCVisited         : "Lien visité",\r
-DlgDocCActive          : "Lien activé",\r
-DlgDocMargins          : "Marges",\r
-DlgDocMaTop                    : "Haut",\r
-DlgDocMaLeft           : "Gauche",\r
-DlgDocMaRight          : "Droite",\r
-DlgDocMaBottom         : "Bas",\r
-DlgDocMeIndex          : "Mots-clés (séparés par des virgules)",\r
-DlgDocMeDescr          : "Description",\r
-DlgDocMeAuthor         : "Auteur",\r
-DlgDocMeCopy           : "Copyright",\r
-DlgDocPreview          : "Prévisualisation",\r
-\r
-// Templates Dialog\r
-Templates                      : "Modèles",\r
-DlgTemplatesTitle      : "Modèles de contenu",\r
-DlgTemplatesSelMsg     : "Sélectionner le modèle à ouvrir dans l'éditeur<br>(le contenu actuel sera remplacé):",\r
-DlgTemplatesLoading    : "Chargement de la liste des modèles. Veuillez patienter...",\r
-DlgTemplatesNoTpl      : "(Aucun modèle disponible)",\r
-DlgTemplatesReplace    : "Remplacer tout le contenu actuel",\r
-\r
-// About Dialog\r
-DlgAboutAboutTab       : "Á propos de",\r
-DlgAboutBrowserInfoTab : "Navigateur",\r
-DlgAboutLicenseTab     : "License",\r
-DlgAboutVersion                : "Version",\r
-DlgAboutInfo           : "Pour plus d'informations, visiter",\r
-\r
-// Div Dialog\r
-DlgDivGeneralTab       : "Général",\r
-DlgDivAdvancedTab      : "Avancé",\r
-DlgDivStyle            : "Style",\r
-DlgDivInlineStyle      : "Attribut Style",\r
-\r
-ScaytTitle                     : "SCAYT",      //MISSING\r
-ScaytTitleOptions      : "Options",    //MISSING\r
-ScaytTitleLangs                : "Languages",  //MISSING\r
-ScaytTitleAbout                : "About"       //MISSING\r
-};\r
index a03558f..6d46fa0 100644 (file)
@@ -1,6 +1,6 @@
 /*\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
@@ -44,9 +44,7 @@ RemoveFormat          : "Supprimer le format",
 InsertLinkLbl          : "Lien",\r
 InsertLink                     : "Insérer/modifier le lien",\r
 RemoveLink                     : "Supprimer le lien",\r
-VisitLink                      : "Suivre le lien",\r
 Anchor                         : "Insérer/modifier l'ancre",\r
-AnchorDelete           : "Supprimer l'ancre",\r
 InsertImageLbl         : "Image",\r
 InsertImage                    : "Insérer/modifier l'image",\r
 InsertFlashLbl         : "Animation Flash",\r
@@ -72,10 +70,6 @@ RightJustify         : "Aligné à Droite",
 BlockJustify           : "Texte justifié",\r
 DecreaseIndent         : "Diminuer le retrait",\r
 IncreaseIndent         : "Augmenter le retrait",\r
-Blockquote                     : "Citation",\r
-CreateDiv                      : "Créer Balise Div",\r
-EditDiv                                : "Modifier Balise Div",\r
-DeleteDiv                      : "Supprimer Balise Div",\r
 Undo                           : "Annuler",\r
 Redo                           : "Refaire",\r
 NumberedListLbl                : "Liste numérotée",\r
@@ -109,27 +103,20 @@ SelectionField    : "Liste/menu",
 ImageButton            : "Bouton image",\r
 \r
 FitWindow              : "Edition pleine page",\r
-ShowBlocks             : "Afficher les blocs",\r
 \r
 // Context Menu\r
 EditLink                       : "Modifier le lien",\r
 CellCM                         : "Cellule",\r
 RowCM                          : "Ligne",\r
 ColumnCM                       : "Colonne",\r
-InsertRowAfter         : "Insérer une ligne après",\r
-InsertRowBefore                : "Insérer une ligne avant",\r
+InsertRow                      : "Insérer une ligne",\r
 DeleteRows                     : "Supprimer des lignes",\r
-InsertColumnAfter      : "Insérer une colonne après",\r
-InsertColumnBefore     : "Insérer une colonne avant",\r
+InsertColumn           : "Insérer une colonne",\r
 DeleteColumns          : "Supprimer des colonnes",\r
-InsertCellAfter                : "Insérer une cellule après",\r
-InsertCellBefore       : "Insérer une cellule avant",\r
+InsertCell                     : "Insérer une cellule",\r
 DeleteCells                    : "Supprimer des cellules",\r
 MergeCells                     : "Fusionner les cellules",\r
-MergeRight                     : "Fusionner à droite",\r
-MergeDown                      : "Fusionner en bas",\r
-HorizontalSplitCell    : "Scinder la cellule horizontalement",\r
-VerticalSplitCell      : "Scinder la cellule verticalement",\r
+SplitCell                      : "Scinder les cellules",\r
 TableDelete                    : "Supprimer le tableau",\r
 CellProperties         : "Propriétés de cellule",\r
 TableProperties                : "Propriétés du tableau",\r
@@ -147,7 +134,7 @@ SelectionFieldProp  : "Propriétés de la liste/du menu",
 TextareaProp           : "Propriétés de la zone de texte",\r
 FormProp                       : "Propriétés du formulaire",\r
 \r
-FontFormats                    : "Normal;Formaté;Adresse;En-tête 1;En-tête 2;En-tête 3;En-tête 4;En-tête 5;En-tête 6;Normal (DIV)",\r
+FontFormats                    : "Normal;Formaté;Adresse;En-tête 1;En-tête 2;En-tête 3;En-tête 4;En-tête 5;En-tête 6;Normal (DIV)",             //REVIEW : Check _getfontformat.html\r
 \r
 // Alerts and Messages\r
 ProcessingXHTML                : "Calcul XHTML. Veuillez patienter...",\r
@@ -161,7 +148,6 @@ UnknownToolbarSet   : "La barre d'outils \"%1\" n'existe pas",
 NoActiveX                      : "Les paramètres de sécurité de votre navigateur peuvent limiter quelques fonctionnalités de l'éditeur. Veuillez activer l'option \"Exécuter les contrôles ActiveX et les plug-ins\". Il se peut que vous rencontriez des erreurs et remarquiez quelques limitations.",\r
 BrowseServerBlocked : "Le navigateur n'a pas pu être ouvert. Assurez-vous que les bloqueurs de popups soient désactivés.",\r
 DialogBlocked          : "La fenêtre de dialogue n'a pas pu s'ouvrir. Assurez-vous que les bloqueurs de popups soient désactivés.",\r
-VisitLinkBlocked       : "Impossible d'ouvrir une nouvelle fenêtre. Assurez-vous que les bloqueurs de popups soient désactivés.",\r
 \r
 // Dialogs\r
 DlgBtnOK                       : "OK",\r
@@ -243,7 +229,7 @@ DlgLnkURL                   : "URL",
 DlgLnkAnchorSel                : "Sélectionner une ancre",\r
 DlgLnkAnchorByName     : "Par nom",\r
 DlgLnkAnchorById       : "Par id",\r
-DlgLnkNoAnchors                : "(Pas d'ancre disponible dans le document)",\r
+DlgLnkNoAnchors                : "<Pas d'ancre disponible dans le document>",          //REVIEW : Change < and > with ( and )\r
 DlgLnkEMail                    : "Adresse E-Mail",\r
 DlgLnkEMailSubject     : "Sujet du message",\r
 DlgLnkEMailBody                : "Corps du message",\r
@@ -251,7 +237,7 @@ DlgLnkUpload                : "Télécharger",
 DlgLnkBtnUpload                : "Envoyer sur le serveur",\r
 \r
 DlgLnkTarget           : "Destination",\r
-DlgLnkTargetFrame      : "<Cadre>",\r
+DlgLnkTargetFrame      : "<cadre>",\r
 DlgLnkTargetPopup      : "<fenêtre popup>",\r
 DlgLnkTargetBlank      : "Nouvelle fenêtre (_blank)",\r
 DlgLnkTargetParent     : "Fenêtre mère (_parent)",\r
@@ -308,11 +294,6 @@ DlgTableCellSpace  : "Espacement",
 DlgTableCellPad                : "Contour",\r
 DlgTableCaption                : "Titre",\r
 DlgTableSummary                : "Résumé",\r
-DlgTableHeaders                : "Entêtes",\r
-DlgTableHeadersNone            : "Sans",\r
-DlgTableHeadersColumn  : "Première colonne",\r
-DlgTableHeadersRow             : "Première Ligne",\r
-DlgTableHeadersBoth            : "Les 2",\r
 \r
 // Table Cell Dialog\r
 DlgCellTitle           : "Propriétés de la cellule",\r
@@ -335,18 +316,12 @@ DlgCellVerAlignTop        : "Haut",
 DlgCellVerAlignMiddle  : "Milieu",\r
 DlgCellVerAlignBottom  : "Bas",\r
 DlgCellVerAlignBaseline        : "Bas du texte",\r
-DlgCellType            : "Type de Cellule",\r
-DlgCellTypeData                : "Données",\r
-DlgCellTypeHeader      : "Entête",\r
 DlgCellRowSpan         : "Lignes fusionnées",\r
 DlgCellCollSpan                : "Colonnes fusionnées",\r
 DlgCellBackColor       : "Fond",\r
 DlgCellBorderColor     : "Bordure",\r
 DlgCellBtnSelect       : "Choisir...",\r
 \r
-// Find and Replace Dialog\r
-DlgFindAndReplaceTitle : "Chercher et Remplacer",\r
-\r
 // Find Dialog\r
 DlgFindTitle           : "Chercher",\r
 DlgFindFindBtn         : "Chercher",\r
@@ -369,9 +344,10 @@ PasteAsText                : "Coller comme texte",
 PasteFromWord  : "Coller à partir de Word",\r
 \r
 DlgPasteMsg2   : "Veuillez coller dans la zone ci-dessous en utilisant le clavier (<STRONG>Ctrl+V</STRONG>) et cliquez sur <STRONG>OK</STRONG>.",\r
-DlgPasteSec            : "A cause des paramètres de sécurité de votre navigateur, l'éditeur ne peut accéder au presse-papier directement. Vous devez coller à nouveau le contenu dans cette fenêtre.",\r
+DlgPasteSec            : "Because of your browser security settings, the editor is not able to access your clipboard data directly. You are required to paste it again in this window.",       //MISSING\r
 DlgPasteIgnoreFont             : "Ignorer les polices de caractères",\r
 DlgPasteRemoveStyles   : "Supprimer les styles",\r
+DlgPasteCleanBox               : "Effacer le contenu",\r
 \r
 // Color Picker\r
 ColorAutomatic : "Automatique",\r
@@ -483,7 +459,7 @@ DlgDocCharSetCE             : "Europe Centrale",
 DlgDocCharSetCT                : "Chinois Traditionnel (Big5)",\r
 DlgDocCharSetCR                : "Cyrillique",\r
 DlgDocCharSetGR                : "Grec",\r
-DlgDocCharSetJP                : "Japonais",\r
+DlgDocCharSetJP                : "Japanais",\r
 DlgDocCharSetKR                : "Coréen",\r
 DlgDocCharSetTR                : "Turc",\r
 DlgDocCharSetUN                : "Unicode (UTF-8)",\r
@@ -522,18 +498,7 @@ DlgTemplatesReplace        : "Remplacer tout le contenu",
 // About Dialog\r
 DlgAboutAboutTab       : "A propos de",\r
 DlgAboutBrowserInfoTab : "Navigateur",\r
-DlgAboutLicenseTab     : "Licence",\r
-DlgAboutVersion                : "Version",\r
-DlgAboutInfo           : "Pour plus d'informations, aller à",\r
-\r
-// Div Dialog\r
-DlgDivGeneralTab       : "Général",\r
-DlgDivAdvancedTab      : "Avancé",\r
-DlgDivStyle            : "Style",\r
-DlgDivInlineStyle      : "Attribut Style",\r
-\r
-ScaytTitle                     : "SCAYT",      //MISSING\r
-ScaytTitleOptions      : "Options",    //MISSING\r
-ScaytTitleLangs                : "Languages",  //MISSING\r
-ScaytTitleAbout                : "About"       //MISSING\r
-};\r
+DlgAboutLicenseTab     : "License",\r
+DlgAboutVersion                : "version",\r
+DlgAboutInfo           : "Pour plus d'informations, aller à"\r
+};
\ No newline at end of file
index 311bfb4..238d108 100644 (file)
@@ -1,6 +1,6 @@
 /*\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
@@ -44,9 +44,7 @@ RemoveFormat          : "Eliminar Formato",
 InsertLinkLbl          : "Ligazón",\r
 InsertLink                     : "Inserir/Editar Ligazón",\r
 RemoveLink                     : "Eliminar Ligazón",\r
-VisitLink                      : "Open Link",  //MISSING\r
 Anchor                         : "Inserir/Editar Referencia",\r
-AnchorDelete           : "Remove Anchor",      //MISSING\r
 InsertImageLbl         : "Imaxe",\r
 InsertImage                    : "Inserir/Editar Imaxe",\r
 InsertFlashLbl         : "Flash",\r
@@ -72,10 +70,6 @@ RightJustify         : "Aliñar á Dereita",
 BlockJustify           : "Xustificado",\r
 DecreaseIndent         : "Disminuir Sangría",\r
 IncreaseIndent         : "Aumentar Sangría",\r
-Blockquote                     : "Blockquote", //MISSING\r
-CreateDiv                      : "Create Div Container",       //MISSING\r
-EditDiv                                : "Edit Div Container", //MISSING\r
-DeleteDiv                      : "Remove Div Container",       //MISSING\r
 Undo                           : "Desfacer",\r
 Redo                           : "Refacer",\r
 NumberedListLbl                : "Lista Numerada",\r
@@ -109,27 +103,20 @@ SelectionField    : "Campo de Selección",
 ImageButton            : "Botón de Imaxe",\r
 \r
 FitWindow              : "Maximizar o tamaño do editor",\r
-ShowBlocks             : "Show Blocks",        //MISSING\r
 \r
 // Context Menu\r
 EditLink                       : "Editar Ligazón",\r
 CellCM                         : "Cela",\r
 RowCM                          : "Fila",\r
 ColumnCM                       : "Columna",\r
-InsertRowAfter         : "Insert Row After",   //MISSING\r
-InsertRowBefore                : "Insert Row Before",  //MISSING\r
+InsertRow                      : "Inserir Fila",\r
 DeleteRows                     : "Borrar Filas",\r
-InsertColumnAfter      : "Insert Column After",        //MISSING\r
-InsertColumnBefore     : "Insert Column Before",       //MISSING\r
+InsertColumn           : "Inserir Columna",\r
 DeleteColumns          : "Borrar Columnas",\r
-InsertCellAfter                : "Insert Cell After",  //MISSING\r
-InsertCellBefore       : "Insert Cell Before", //MISSING\r
+InsertCell                     : "Inserir Cela",\r
 DeleteCells                    : "Borrar Cela",\r
 MergeCells                     : "Unir Celas",\r
-MergeRight                     : "Merge Right",        //MISSING\r
-MergeDown                      : "Merge Down", //MISSING\r
-HorizontalSplitCell    : "Split Cell Horizontally",    //MISSING\r
-VerticalSplitCell      : "Split Cell Vertically",      //MISSING\r
+SplitCell                      : "Partir Celas",\r
 TableDelete                    : "Borrar Táboa",\r
 CellProperties         : "Propriedades da Cela",\r
 TableProperties                : "Propriedades da Táboa",\r
@@ -147,7 +134,7 @@ SelectionFieldProp  : "Propriedades do Campo de Selección",
 TextareaProp           : "Propriedades da Área de Texto",\r
 FormProp                       : "Propriedades do Formulario",\r
 \r
-FontFormats                    : "Normal;Formateado;Enderezo;Enacabezado 1;Encabezado 2;Encabezado 3;Encabezado 4;Encabezado 5;Encabezado 6;Paragraph (DIV)",\r
+FontFormats                    : "Normal;Formateado;Enderezo;Enacabezado 1;Encabezado 2;Encabezado 3;Encabezado 4;Encabezado 5;Encabezado 6;Paragraph (DIV)",          //REVIEW : Check _getfontformat.html\r
 \r
 // Alerts and Messages\r
 ProcessingXHTML                : "Procesando XHTML. Por facor, agarde...",\r
@@ -161,7 +148,6 @@ UnknownToolbarSet   : "O conxunto de ferramentas \"%1\" non existe",
 NoActiveX                      : "As opcións de seguridade do seu navegador poderían limitar algunha das características de editor. Debe activar a opción \"Executar controis ActiveX e plug-ins\". Pode notar que faltan características e experimentar erros",\r
 BrowseServerBlocked : "Non se poido abrir o navegador de recursos. Asegúrese de que están desactivados os bloqueadores de xanelas emerxentes",\r
 DialogBlocked          : "Non foi posible abrir a xanela de diálogo. Asegúrese de que están desactivados os bloqueadores de xanelas emerxentes",\r
-VisitLinkBlocked       : "It was not possible to open a new window. Make sure all popup blockers are disabled.",       //MISSING\r
 \r
 // Dialogs\r
 DlgBtnOK                       : "OK",\r
@@ -243,7 +229,7 @@ DlgLnkURL                   : "URL",
 DlgLnkAnchorSel                : "Seleccionar unha Referencia",\r
 DlgLnkAnchorByName     : "Por Nome de Referencia",\r
 DlgLnkAnchorById       : "Por Element Id",\r
-DlgLnkNoAnchors                : "(Non hai referencias disponibles no documento)",\r
+DlgLnkNoAnchors                : "<Non hai referencias disponibles no documento>",             //REVIEW : Change < and > with ( and )\r
 DlgLnkEMail                    : "Enderezo de E-Mail",\r
 DlgLnkEMailSubject     : "Asunto do Mensaxe",\r
 DlgLnkEMailBody                : "Corpo do Mensaxe",\r
@@ -308,11 +294,6 @@ DlgTableCellSpace  : "Marxe entre Celas",
 DlgTableCellPad                : "Marxe interior",\r
 DlgTableCaption                : "Título",\r
 DlgTableSummary                : "Sumario",\r
-DlgTableHeaders                : "Headers",    //MISSING\r
-DlgTableHeadersNone            : "None",       //MISSING\r
-DlgTableHeadersColumn  : "First column",       //MISSING\r
-DlgTableHeadersRow             : "First Row",  //MISSING\r
-DlgTableHeadersBoth            : "Both",       //MISSING\r
 \r
 // Table Cell Dialog\r
 DlgCellTitle           : "Propriedades da Cela",\r
@@ -335,18 +316,12 @@ DlgCellVerAlignTop        : "Arriba",
 DlgCellVerAlignMiddle  : "Medio",\r
 DlgCellVerAlignBottom  : "Abaixo",\r
 DlgCellVerAlignBaseline        : "Liña de Base",\r
-DlgCellType            : "Cell Type",  //MISSING\r
-DlgCellTypeData                : "Data",       //MISSING\r
-DlgCellTypeHeader      : "Header",     //MISSING\r
 DlgCellRowSpan         : "Ocupar Filas",\r
 DlgCellCollSpan                : "Ocupar Columnas",\r
 DlgCellBackColor       : "Color de Fondo",\r
 DlgCellBorderColor     : "Color de Borde",\r
 DlgCellBtnSelect       : "Seleccionar...",\r
 \r
-// Find and Replace Dialog\r
-DlgFindAndReplaceTitle : "Find and Replace",   //MISSING\r
-\r
 // Find Dialog\r
 DlgFindTitle           : "Procurar",\r
 DlgFindFindBtn         : "Procurar",\r
@@ -372,6 +347,7 @@ DlgPasteMsg2        : "Por favor, pegue dentro do seguinte cadro usando o teclado (<STR
 DlgPasteSec            : "Because of your browser security settings, the editor is not able to access your clipboard data directly. You are required to paste it again in this window.",       //MISSING\r
 DlgPasteIgnoreFont             : "Ignorar as definicións de Tipografía",\r
 DlgPasteRemoveStyles   : "Eliminar as definicións de Estilos",\r
+DlgPasteCleanBox               : "Limpar o Cadro",\r
 \r
 // Color Picker\r
 ColorAutomatic : "Automático",\r
@@ -524,16 +500,5 @@ DlgAboutAboutTab   : "Acerca de",
 DlgAboutBrowserInfoTab : "Información do Navegador",\r
 DlgAboutLicenseTab     : "Licencia",\r
 DlgAboutVersion                : "versión",\r
-DlgAboutInfo           : "Para máis información visitar:",\r
-\r
-// Div Dialog\r
-DlgDivGeneralTab       : "General",    //MISSING\r
-DlgDivAdvancedTab      : "Advanced",   //MISSING\r
-DlgDivStyle            : "Style",      //MISSING\r
-DlgDivInlineStyle      : "Inline Style",       //MISSING\r
-\r
-ScaytTitle                     : "SCAYT",      //MISSING\r
-ScaytTitleOptions      : "Options",    //MISSING\r
-ScaytTitleLangs                : "Languages",  //MISSING\r
-ScaytTitleAbout                : "About"       //MISSING\r
-};\r
+DlgAboutInfo           : "Para máis información visitar:"\r
+};
\ No newline at end of file
diff --git a/httemplate/elements/fckeditor/editor/lang/gu.js b/httemplate/elements/fckeditor/editor/lang/gu.js
deleted file mode 100644 (file)
index 3e8b6b2..0000000
+++ /dev/null
@@ -1,539 +0,0 @@
-/*\r
- * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
- *\r
- * == BEGIN LICENSE ==\r
- *\r
- * Licensed under the terms of any of the following licenses at your\r
- * choice:\r
- *\r
- *  - GNU General Public License Version 2 or later (the "GPL")\r
- *    http://www.gnu.org/licenses/gpl.html\r
- *\r
- *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")\r
- *    http://www.gnu.org/licenses/lgpl.html\r
- *\r
- *  - Mozilla Public License Version 1.1 or later (the "MPL")\r
- *    http://www.mozilla.org/MPL/MPL-1.1.html\r
- *\r
- * == END LICENSE ==\r
- *\r
- * Gujarati language file.\r
- */\r
-\r
-var FCKLang =\r
-{\r
-// Language direction : "ltr" (left to right) or "rtl" (right to left).\r
-Dir                                    : "ltr",\r
-\r
-ToolbarCollapse                : "ટૂલબાર નાનું કરવું",\r
-ToolbarExpand          : "ટૂલબાર મોટું કરવું",\r
-\r
-// Toolbar Items and Context Menu\r
-Save                           : "સેવ",\r
-NewPage                                : "નવુ પાનું",\r
-Preview                                : "પૂર્વદર્શન",\r
-Cut                                    : "કાપવું",\r
-Copy                           : "નકલ",\r
-Paste                          : "પેસ્ટ",\r
-PasteText                      : "પેસ્ટ (સાદી ટેક્સ્ટ)",\r
-PasteWord                      : "પેસ્ટ (વડૅ ટેક્સ્ટ)",\r
-Print                          : "પ્રિન્ટ",\r
-SelectAll                      : "બઘું પસંદ કરવું",\r
-RemoveFormat           : "ફૉર્મટ કાઢવું",\r
-InsertLinkLbl          : "સંબંધન, લિંક",\r
-InsertLink                     : "લિંક ઇન્સર્ટ/દાખલ કરવી",\r
-RemoveLink                     : "લિંક કાઢવી",\r
-VisitLink                      : "Open Link",  //MISSING\r
-Anchor                         : "ઍંકર ઇન્સર્ટ/દાખલ કરવી",\r
-AnchorDelete           : "ઍંકર કાઢવી",\r
-InsertImageLbl         : "ચિત્ર",\r
-InsertImage                    : "ચિત્ર ઇન્સર્ટ/દાખલ કરવું",\r
-InsertFlashLbl         : "ફ્લૅશ",\r
-InsertFlash                    : "ફ્લૅશ ઇન્સર્ટ/દાખલ કરવું",\r
-InsertTableLbl         : "ટેબલ, કોઠો",\r
-InsertTable                    : "ટેબલ, કોઠો ઇન્સર્ટ/દાખલ કરવું",\r
-InsertLineLbl          : "રેખા",\r
-InsertLine                     : "સમસ્તરીય રેખા ઇન્સર્ટ/દાખલ કરવી",\r
-InsertSpecialCharLbl: "વિશિષ્ટ અક્ષર",\r
-InsertSpecialChar      : "વિશિષ્ટ અક્ષર ઇન્સર્ટ/દાખલ કરવું",\r
-InsertSmileyLbl                : "સ્માઇલી",\r
-InsertSmiley           : "સ્માઇલી ઇન્સર્ટ/દાખલ કરવી",\r
-About                          : "FCKeditorના વિષે",\r
-Bold                           : "બોલ્ડ/સ્પષ્ટ",\r
-Italic                         : "ઇટેલિક, ત્રાંસા",\r
-Underline                      : "અન્ડર્લાઇન, નીચે લીટી",\r
-StrikeThrough          : "છેકી નાખવું",\r
-Subscript                      : "એક ચિહ્નની નીચે કરેલું બીજું ચિહ્ન",\r
-Superscript                    : "એક ચિહ્ન ઉપર કરેલું બીજું ચિહ્ન.",\r
-LeftJustify                    : "ડાબી બાજુએ/બાજુ તરફ",\r
-CenterJustify          : "સંકેંદ્રણ/સેંટરિંગ",\r
-RightJustify           : "જમણી બાજુએ/બાજુ તરફ",\r
-BlockJustify           : "બ્લૉક, અંતરાય જસ્ટિફાઇ",\r
-DecreaseIndent         : "ઇન્ડેન્ટ લીટીના આરંભમાં જગ્યા ઘટાડવી",\r
-IncreaseIndent         : "ઇન્ડેન્ટ, લીટીના આરંભમાં જગ્યા વધારવી",\r
-Blockquote                     : "બ્લૉક-કોટ, અવતરણચિહ્નો",\r
-CreateDiv                      : "Create Div Container",       //MISSING\r
-EditDiv                                : "Edit Div Container", //MISSING\r
-DeleteDiv                      : "Remove Div Container",       //MISSING\r
-Undo                           : "રદ કરવું; પહેલાં હતી એવી સ્થિતિ પાછી લાવવી",\r
-Redo                           : "રિડૂ; પછી હતી એવી સ્થિતિ પાછી લાવવી",\r
-NumberedListLbl                : "સંખ્યાંકન સૂચિ",\r
-NumberedList           : "સંખ્યાંકન સૂચિ ઇન્સર્ટ/દાખલ કરવી",\r
-BulletedListLbl                : "બુલેટ સૂચિ",\r
-BulletedList           : "બુલેટ સૂચિ ઇન્સર્ટ/દાખલ કરવી",\r
-ShowTableBorders       : "ટેબલ, કોઠાની બાજુ(બોર્ડર) બતાવવી",\r
-ShowDetails                    : "વિસ્તૃત વિગતવાર બતાવવું",\r
-Style                          : "શૈલી/રીત",\r
-FontFormat                     : "ફૉન્ટ ફૉર્મટ, રચનાની શૈલી",\r
-Font                           : "ફૉન્ટ",\r
-FontSize                       : "ફૉન્ટ સાઇઝ/કદ",\r
-TextColor                      : "શબ્દનો રંગ",\r
-BGColor                                : "બૅકગ્રાઉન્ડ રંગ,",\r
-Source                         : "મૂળ કે પ્રાથમિક દસ્તાવેજ",\r
-Find                           : "શોધવું",\r
-Replace                                : "રિપ્લેસ/બદલવું",\r
-SpellCheck                     : "જોડણી (સ્પેલિંગ) તપાસવી",\r
-UniversalKeyboard      : "યૂનિવર્સલ/વિશ્વવ્યાપક કીબૉર્ડ",\r
-PageBreakLbl           : "પેજબ્રેક/પાનાને અલગ કરવું",\r
-PageBreak                      : "ઇન્સર્ટ પેજબ્રેક/પાનાને અલગ કરવું/દાખલ કરવું",\r
-\r
-Form                   : "ફૉર્મ/પત્રક",\r
-Checkbox               : "ચેક બોક્સ",\r
-RadioButton            : "રેડિઓ બટન",\r
-TextField              : "ટેક્સ્ટ ફીલ્ડ, શબ્દ ક્ષેત્ર",\r
-Textarea               : "ટેક્સ્ટ એરિઆ, શબ્દ વિસ્તાર",\r
-HiddenField            : "ગુપ્ત ક્ષેત્ર",\r
-Button                 : "બટન",\r
-SelectionField : "પસંદગી ક્ષેત્ર",\r
-ImageButton            : "ચિત્ર બટન",\r
-\r
-FitWindow              : "એડિટરની સાઇઝ અધિકતમ કરવી",\r
-ShowBlocks             : "બ્લૉક બતાવવું",\r
-\r
-// Context Menu\r
-EditLink                       : " લિંક એડિટ/માં ફેરફાર કરવો",\r
-CellCM                         : "કોષના ખાના",\r
-RowCM                          : "પંક્તિના ખાના",\r
-ColumnCM                       : "કૉલમ/ઊભી કટાર",\r
-InsertRowAfter         : "પછી પંક્તિ ઉમેરવી",\r
-InsertRowBefore                : "પહેલાં પંક્તિ ઉમેરવી",\r
-DeleteRows                     : "પંક્તિઓ ડિલીટ/કાઢી નાખવી",\r
-InsertColumnAfter      : "પછી કૉલમ/ઊભી કટાર ઉમેરવી",\r
-InsertColumnBefore     : "પહેલાં કૉલમ/ઊભી કટાર ઉમેરવી",\r
-DeleteColumns          : "કૉલમ/ઊભી કટાર ડિલીટ/કાઢી નાખવી",\r
-InsertCellAfter                : "પછી કોષ ઉમેરવો",\r
-InsertCellBefore       : "પહેલાં કોષ ઉમેરવો",\r
-DeleteCells                    : "કોષ ડિલીટ/કાઢી નાખવો",\r
-MergeCells                     : "કોષ ભેગા કરવા",\r
-MergeRight                     : "જમણી બાજુ ભેગા કરવા",\r
-MergeDown                      : "નીચે ભેગા કરવા",\r
-HorizontalSplitCell    : "કોષને સમસ્તરીય વિભાજન કરવું",\r
-VerticalSplitCell      : "કોષને સીધું ને ઊભું વિભાજન કરવું",\r
-TableDelete                    : "કોઠો ડિલીટ/કાઢી નાખવું",\r
-CellProperties         : "કોષના ગુણ",\r
-TableProperties                : "કોઠાના  ગુણ",\r
-ImageProperties                : "ચિત્રના ગુણ",\r
-FlashProperties                : "ફ્લૅશના ગુણ",\r
-\r
-AnchorProp                     : "ઍંકરના ગુણ",\r
-ButtonProp                     : "બટનના ગુણ",\r
-CheckboxProp           : "ચેક બોક્સ ગુણ",\r
-HiddenFieldProp                : "ગુપ્ત ક્ષેત્રના ગુણ",\r
-RadioButtonProp                : "રેડિઓ બટનના ગુણ",\r
-ImageButtonProp                : "ચિત્ર બટનના ગુણ",\r
-TextFieldProp          : "ટેક્સ્ટ ફીલ્ડ, શબ્દ ક્ષેત્રના ગુણ",\r
-SelectionFieldProp     : "પસંદગી ક્ષેત્રના ગુણ",\r
-TextareaProp           : "ટેક્સ્ટ એઅરિઆ, શબ્દ વિસ્તારના ગુણ",\r
-FormProp                       : "ફૉર્મ/પત્રકના ગુણ",\r
-\r
-FontFormats                    : "સામાન્ય;ફૉર્મટેડ;સરનામું;શીર્ષક 1;શીર્ષક 2;શીર્ષક 3;શીર્ષક 4;શીર્ષક 5;શીર્ષક 6;શીર્ષક (DIV)",\r
-\r
-// Alerts and Messages\r
-ProcessingXHTML                : "XHTML પ્રક્રિયા ચાલુ છે. મહેરબાની કરીને રાહ જોવો...",\r
-Done                           : "પતી ગયું",\r
-PasteWordConfirm       : "તમે જે ટેક્સ્ટ પેસ્ટ કરવા માંગો છો, તે વડૅમાંથી કોપી કરેલુ લાગે છે. પેસ્ટ કરતા પહેલાં ટેક્સ્ટ સાફ કરવી છે?",\r
-NotCompatiblePaste     : "આ કમાન્ડ ઈનટરનેટ એક્સપ્લોરર(Internet Explorer) 5.5 અથવા એના પછીના વર્ઝન માટેજ છે. ટેક્સ્ટને સાફ કયૅા પહેલાં પેસ્ટ કરવી છે?",\r
-UnknownToolbarItem     : "અજાણી ટૂલબાર આઇટમ \"%1\"",\r
-UnknownCommand         : "અજાણયો કમાન્ડ \"%1\"",\r
-NotImplemented         : "કમાન્ડ ઇમ્પ્લિમન્ટ નથી કરોયો",\r
-UnknownToolbarSet      : "ટૂલબાર સેટ \"%1\" ઉપલબ્ધ નથી",\r
-NoActiveX                      : "તમારા બ્રાઉઝરની સુરક્ષા સેટિંગસ એડિટરના અમુક ફીચરને પરવાનગી આપતી નથી. કૃપયા \"Run ActiveX controls and plug-ins\" વિકલ્પને ઇનેબલ/સમર્થ કરો. તમારા બ્રાઉઝરમાં એરર ઇન્વિઝિબલ ફીચરનો અનુભવ થઈ શકે છે. કૃપયા પૉપ-અપ બ્લૉકર ડિસેબલ કરો.",\r
-BrowseServerBlocked : "રિસૉર્સ બ્રાઉઝર ખોલી ન સકાયું.",\r
-DialogBlocked          : "ડાયલૉગ વિન્ડો ખોલી ન સકાયું. કૃપયા પૉપ-અપ બ્લૉકર ડિસેબલ કરો.",\r
-VisitLinkBlocked       : "It was not possible to open a new window. Make sure all popup blockers are disabled.",       //MISSING\r
-\r
-// Dialogs\r
-DlgBtnOK                       : "ઠીક છે",\r
-DlgBtnCancel           : "રદ કરવું",\r
-DlgBtnClose                    : "બંધ કરવું",\r
-DlgBtnBrowseServer     : "સર્વર બ્રાઉઝ કરો",\r
-DlgAdvancedTag         : "અડ્વાન્સડ",\r
-DlgOpOther                     : "<અન્ય>",\r
-DlgInfoTab                     : "સૂચના",\r
-DlgAlertUrl                    : "URL ઇન્સર્ટ કરો",\r
-\r
-// General Dialogs Labels\r
-DlgGenNotSet           : "<સેટ નથી>",\r
-DlgGenId                       : "Id",\r
-DlgGenLangDir          : "ભાષા લેખવાની પદ્ધતિ",\r
-DlgGenLangDirLtr       : "ડાબે થી જમણે (LTR)",\r
-DlgGenLangDirRtl       : "જમણે થી ડાબે (RTL)",\r
-DlgGenLangCode         : "ભાષા કોડ",\r
-DlgGenAccessKey                : "ઍક્સેસ કી",\r
-DlgGenName                     : "નામ",\r
-DlgGenTabIndex         : "ટૅબ ઇન્ડેક્સ",\r
-DlgGenLongDescr                : "વધારે માહિતી માટે URL",\r
-DlgGenClass                    : "સ્ટાઇલ-શીટ ક્લાસ",\r
-DlgGenTitle                    : "મુખ્ય મથાળું",\r
-DlgGenContType         : "મુખ્ય કન્ટેન્ટ પ્રકાર",\r
-DlgGenLinkCharset      : "લિંક રિસૉર્સ કૅરિક્ટર સેટ",\r
-DlgGenStyle                    : "સ્ટાઇલ",\r
-\r
-// Image Dialog\r
-DlgImgTitle                    : "ચિત્રના ગુણ",\r
-DlgImgInfoTab          : "ચિત્ર ની જાણકારી",\r
-DlgImgBtnUpload                : "આ સર્વરને મોકલવું",\r
-DlgImgURL                      : "URL",\r
-DlgImgUpload           : "અપલોડ",\r
-DlgImgAlt                      : "ઑલ્ટર્નટ ટેક્સ્ટ",\r
-DlgImgWidth                    : "પહોળાઈ",\r
-DlgImgHeight           : "ઊંચાઈ",\r
-DlgImgLockRatio                : "લૉક ગુણોત્તર",\r
-DlgBtnResetSize                : "રીસેટ સાઇઝ",\r
-DlgImgBorder           : "બોર્ડર",\r
-DlgImgHSpace           : "સમસ્તરીય જગ્યા",\r
-DlgImgVSpace           : "લંબરૂપ જગ્યા",\r
-DlgImgAlign                    : "લાઇનદોરીમાં ગોઠવવું",\r
-DlgImgAlignLeft                : "ડાબી બાજુ ગોઠવવું",\r
-DlgImgAlignAbsBottom: "Abs નીચે",\r
-DlgImgAlignAbsMiddle: "Abs ઉપર",\r
-DlgImgAlignBaseline    : "આધાર લીટી",\r
-DlgImgAlignBottom      : "નીચે",\r
-DlgImgAlignMiddle      : "વચ્ચે",\r
-DlgImgAlignRight       : "જમણી",\r
-DlgImgAlignTextTop     : "ટેક્સ્ટ ઉપર",\r
-DlgImgAlignTop         : "ઉપર",\r
-DlgImgPreview          : "પૂર્વદર્શન",\r
-DlgImgAlertUrl         : "ચિત્રની URL ટાઇપ કરો",\r
-DlgImgLinkTab          : "લિંક",\r
-\r
-// Flash Dialog\r
-DlgFlashTitle          : "ફ્લૅશ ગુણ",\r
-DlgFlashChkPlay                : "ઑટો/સ્વયં પ્લે",\r
-DlgFlashChkLoop                : "લૂપ",\r
-DlgFlashChkMenu                : "ફ્લૅશ મેન્યૂ નો પ્રયોગ કરો",\r
-DlgFlashScale          : "સ્કેલ",\r
-DlgFlashScaleAll       : "સ્કેલ ઓલ/બધુ બતાવો",\r
-DlgFlashScaleNoBorder  : "સ્કેલ બોર્ડર વગર",\r
-DlgFlashScaleFit       : "સ્કેલ એકદમ ફીટ",\r
-\r
-// Link Dialog\r
-DlgLnkWindowTitle      : "લિંક",\r
-DlgLnkInfoTab          : "લિંક ઇન્ફૉ ટૅબ",\r
-DlgLnkTargetTab                : "ટાર્ગેટ/લક્ષ્ય ટૅબ",\r
-\r
-DlgLnkType                     : "લિંક પ્રકાર",\r
-DlgLnkTypeURL          : "URL",\r
-DlgLnkTypeAnchor       : "આ પેજનો ઍંકર",\r
-DlgLnkTypeEMail                : "ઈ-મેલ",\r
-DlgLnkProto                    : "પ્રોટોકૉલ",\r
-DlgLnkProtoOther       : "<અન્ય>",\r
-DlgLnkURL                      : "URL",\r
-DlgLnkAnchorSel                : "ઍંકર પસંદ કરો",\r
-DlgLnkAnchorByName     : "ઍંકર નામથી પસંદ કરો",\r
-DlgLnkAnchorById       : "ઍંકર એલિમન્ટ Id થી પસંદ કરો",\r
-DlgLnkNoAnchors                : "(ડૉક્યુમન્ટમાં ઍંકરની સંખ્યા)",\r
-DlgLnkEMail                    : "ઈ-મેલ સરનામું",\r
-DlgLnkEMailSubject     : "ઈ-મેલ વિષય",\r
-DlgLnkEMailBody                : "સંદેશ",\r
-DlgLnkUpload           : "અપલોડ",\r
-DlgLnkBtnUpload                : "આ સર્વરને મોકલવું",\r
-\r
-DlgLnkTarget           : "ટાર્ગેટ/લક્ષ્ય",\r
-DlgLnkTargetFrame      : "<ફ્રેમ>",\r
-DlgLnkTargetPopup      : "<પૉપ-અપ વિન્ડો>",\r
-DlgLnkTargetBlank      : "નવી  વિન્ડો (_blank)",\r
-DlgLnkTargetParent     : "મૂળ વિન્ડો (_parent)",\r
-DlgLnkTargetSelf       : "આજ વિન્ડો (_self)",\r
-DlgLnkTargetTop                : "ઉપરની વિન્ડો (_top)",\r
-DlgLnkTargetFrameName  : "ટાર્ગેટ ફ્રેમ નું નામ",\r
-DlgLnkPopWinName       : "પૉપ-અપ વિન્ડો નું નામ",\r
-DlgLnkPopWinFeat       : "પૉપ-અપ વિન્ડો ફીચરસૅ",\r
-DlgLnkPopResize                : "સાઇઝ બદલી સકાય છે",\r
-DlgLnkPopLocation      : "લોકેશન બાર",\r
-DlgLnkPopMenu          : "મેન્યૂ બાર",\r
-DlgLnkPopScroll                : "સ્ક્રોલ બાર",\r
-DlgLnkPopStatus                : "સ્ટૅટસ બાર",\r
-DlgLnkPopToolbar       : "ટૂલ બાર",\r
-DlgLnkPopFullScrn      : "ફુલ સ્ક્રીન (IE)",\r
-DlgLnkPopDependent     : "ડિપેન્ડન્ટ (Netscape)",\r
-DlgLnkPopWidth         : "પહોળાઈ",\r
-DlgLnkPopHeight                : "ઊંચાઈ",\r
-DlgLnkPopLeft          : "ડાબી બાજુ",\r
-DlgLnkPopTop           : "જમણી બાજુ",\r
-\r
-DlnLnkMsgNoUrl         : "લિંક  URL ટાઇપ કરો",\r
-DlnLnkMsgNoEMail       : "ઈ-મેલ સરનામું ટાઇપ કરો",\r
-DlnLnkMsgNoAnchor      : "ઍંકર પસંદ કરો",\r
-DlnLnkMsgInvPopName    : "પૉપ-અપ વિન્ડો નું નામ ઍલ્ફબેટથી શરૂ કરવો અને તેમાં સ્પેઇસ ન હોવી જોઈએ",\r
-\r
-// Color Dialog\r
-DlgColorTitle          : "રંગ  પસંદ કરો",\r
-DlgColorBtnClear       : "સાફ કરો",\r
-DlgColorHighlight      : "હાઈલાઇટ",\r
-DlgColorSelected       : "સિલેક્ટેડ/પસંદ કરવું",\r
-\r
-// Smiley Dialog\r
-DlgSmileyTitle         : "સ્માઇલી  પસંદ કરો",\r
-\r
-// Special Character Dialog\r
-DlgSpecialCharTitle    : "સ્પેશિઅલ વિશિષ્ટ અક્ષર પસંદ કરો",\r
-\r
-// Table Dialog\r
-DlgTableTitle          : "ટેબલ, કોઠાનું મથાળું",\r
-DlgTableRows           : "પંક્તિના ખાના",\r
-DlgTableColumns                : "કૉલમ/ઊભી કટાર",\r
-DlgTableBorder         : "કોઠાની બાજુ(બોર્ડર) સાઇઝ",\r
-DlgTableAlign          : "અલાઇનમન્ટ/ગોઠવાયેલું ",\r
-DlgTableAlignNotSet    : "<સેટ નથી>",\r
-DlgTableAlignLeft      : "ડાબી બાજુ",\r
-DlgTableAlignCenter    : "મધ્ય સેન્ટર",\r
-DlgTableAlignRight     : "જમણી બાજુ",\r
-DlgTableWidth          : "પહોળાઈ",\r
-DlgTableWidthPx                : "પિકસલ",\r
-DlgTableWidthPc                : "પ્રતિશત",\r
-DlgTableHeight         : "ઊંચાઈ",\r
-DlgTableCellSpace      : "સેલ અંતર",\r
-DlgTableCellPad                : "સેલ પૅડિંગ",\r
-DlgTableCaption                : "મથાળું/કૅપ્શન ",\r
-DlgTableSummary                : "ટૂંકો એહેવાલ",\r
-DlgTableHeaders                : "Headers",    //MISSING\r
-DlgTableHeadersNone            : "None",       //MISSING\r
-DlgTableHeadersColumn  : "First column",       //MISSING\r
-DlgTableHeadersRow             : "First Row",  //MISSING\r
-DlgTableHeadersBoth            : "Both",       //MISSING\r
-\r
-// Table Cell Dialog\r
-DlgCellTitle           : "પંક્તિના ખાનાના ગુણ",\r
-DlgCellWidth           : "પહોળાઈ",\r
-DlgCellWidthPx         : "પિકસલ",\r
-DlgCellWidthPc         : "પ્રતિશત",\r
-DlgCellHeight          : "ઊંચાઈ",\r
-DlgCellWordWrap                : "વર્ડ રૅપ",\r
-DlgCellWordWrapNotSet  : "<સેટ નથી>",\r
-DlgCellWordWrapYes     : "હા",\r
-DlgCellWordWrapNo      : "ના",\r
-DlgCellHorAlign                : "સમસ્તરીય ગોઠવવું",\r
-DlgCellHorAlignNotSet  : "<સેટ નથી>",\r
-DlgCellHorAlignLeft    : "ડાબી બાજુ",\r
-DlgCellHorAlignCenter  : "મધ્ય સેન્ટર",\r
-DlgCellHorAlignRight: "જમણી બાજુ",\r
-DlgCellVerAlign                : "લંબરૂપ ગોઠવવું",\r
-DlgCellVerAlignNotSet  : "<સેટ નથી>",\r
-DlgCellVerAlignTop     : "ઉપર",\r
-DlgCellVerAlignMiddle  : "મધ્ય સેન્ટર",\r
-DlgCellVerAlignBottom  : "નીચે",\r
-DlgCellVerAlignBaseline        : "મૂળ રેખા",\r
-DlgCellType            : "Cell Type",  //MISSING\r
-DlgCellTypeData                : "Data",       //MISSING\r
-DlgCellTypeHeader      : "Header",     //MISSING\r
-DlgCellRowSpan         : "પંક્તિ સ્પાન",\r
-DlgCellCollSpan                : "કૉલમ/ઊભી કટાર સ્પાન",\r
-DlgCellBackColor       : "બૅકગ્રાઉન્ડ રંગ",\r
-DlgCellBorderColor     : "બોર્ડરનો રંગ",\r
-DlgCellBtnSelect       : "પસંદ કરો...",\r
-\r
-// Find and Replace Dialog\r
-DlgFindAndReplaceTitle : "શોધવું અને બદલવું",\r
-\r
-// Find Dialog\r
-DlgFindTitle           : "શોધવું",\r
-DlgFindFindBtn         : "શોધવું",\r
-DlgFindNotFoundMsg     : "તમે શોધેલી ટેક્સ્ટ નથી મળી",\r
-\r
-// Replace Dialog\r
-DlgReplaceTitle                        : "બદલવું",\r
-DlgReplaceFindLbl              : "આ શોધો",\r
-DlgReplaceReplaceLbl   : "આનાથી બદલો",\r
-DlgReplaceCaseChk              : "કેસ સરખા રાખો",\r
-DlgReplaceReplaceBtn   : "બદલવું",\r
-DlgReplaceReplAllBtn   : "બઘા બદલી ",\r
-DlgReplaceWordChk              : "બઘા શબ્દ સરખા રાખો",\r
-\r
-// Paste Operations / Dialog\r
-PasteErrorCut  : "તમારા બ્રાઉઝર ની સુરક્ષિત સેટિંગસ કટ કરવાની પરવાનગી નથી આપતી. (Ctrl+X) નો ઉપયોગ કરો.",\r
-PasteErrorCopy : "તમારા બ્રાઉઝર ની સુરક્ષિત સેટિંગસ કોપી કરવાની પરવાનગી નથી આપતી.  (Ctrl+C) का प्रयोग करें।",\r
-\r
-PasteAsText            : "પેસ્ટ (ટેક્સ્ટ)",\r
-PasteFromWord  : "પેસ્ટ (વર્ડ થી)",\r
-\r
-DlgPasteMsg2   : "Ctrl+V નો પ્રયોગ કરી પેસ્ટ કરો",\r
-DlgPasteSec            : "તમારા બ્રાઉઝર ની સુરક્ષિત સેટિંગસના કારણે,એડિટર તમારા કિલ્પબોર્ડ ડેટા ને કોપી નથી કરી શકતો. તમારે આ વિન્ડોમાં ફરીથી પેસ્ટ કરવું પડશે.",\r
-DlgPasteIgnoreFont             : "ફૉન્ટફેસ વ્યાખ્યાની અવગણના",\r
-DlgPasteRemoveStyles   : "સ્ટાઇલ વ્યાખ્યા કાઢી નાખવી",\r
-\r
-// Color Picker\r
-ColorAutomatic : "સ્વચાલિત",\r
-ColorMoreColors        : "ઔર રંગ...",\r
-\r
-// Document Properties\r
-DocProps               : "ડૉક્યુમન્ટ ગુણ/પ્રૉપર્ટિઝ",\r
-\r
-// Anchor Dialog\r
-DlgAnchorTitle         : "ઍંકર ગુણ/પ્રૉપર્ટિઝ",\r
-DlgAnchorName          : "ઍંકરનું નામ",\r
-DlgAnchorErrorName     : "ઍંકરનું નામ ટાઈપ કરો",\r
-\r
-// Speller Pages Dialog\r
-DlgSpellNotInDic               : "શબ્દકોશમાં નથી",\r
-DlgSpellChangeTo               : "આનાથી બદલવું",\r
-DlgSpellBtnIgnore              : "ઇગ્નોર/અવગણના કરવી",\r
-DlgSpellBtnIgnoreAll   : "બધાની ઇગ્નોર/અવગણના કરવી",\r
-DlgSpellBtnReplace             : "બદલવું",\r
-DlgSpellBtnReplaceAll  : "બધા બદલી કરો",\r
-DlgSpellBtnUndo                        : "અન્ડૂ",\r
-DlgSpellNoSuggestions  : "- કઇ સજેશન નથી -",\r
-DlgSpellProgress               : "શબ્દની જોડણી/સ્પેલ ચેક ચાલુ છે...",\r
-DlgSpellNoMispell              : "શબ્દની જોડણી/સ્પેલ ચેક પૂર્ણ: ખોટી જોડણી મળી નથી",\r
-DlgSpellNoChanges              : "શબ્દની જોડણી/સ્પેલ ચેક પૂર્ણ: એકપણ શબ્દ બદલયો નથી",\r
-DlgSpellOneChange              : "શબ્દની જોડણી/સ્પેલ ચેક પૂર્ણ: એક શબ્દ બદલયો છે",\r
-DlgSpellManyChanges            : "શબ્દની જોડણી/સ્પેલ ચેક પૂર્ણ: %1 શબ્દ બદલયા છે",\r
-\r
-IeSpellDownload                        : "સ્પેલ-ચેકર ઇન્સ્ટોલ નથી. શું તમે ડાઉનલોડ કરવા માંગો છો?",\r
-\r
-// Button Dialog\r
-DlgButtonText          : "ટેક્સ્ટ (વૅલ્યૂ)",\r
-DlgButtonType          : "પ્રકાર",\r
-DlgButtonTypeBtn       : "બટન",\r
-DlgButtonTypeSbm       : "સબ્મિટ",\r
-DlgButtonTypeRst       : "રિસેટ",\r
-\r
-// Checkbox and Radio Button Dialogs\r
-DlgCheckboxName                : "નામ",\r
-DlgCheckboxValue       : "વૅલ્યૂ",\r
-DlgCheckboxSelected    : "સિલેક્ટેડ",\r
-\r
-// Form Dialog\r
-DlgFormName            : "નામ",\r
-DlgFormAction  : "ક્રિયા",\r
-DlgFormMethod  : "પદ્ધતિ",\r
-\r
-// Select Field Dialog\r
-DlgSelectName          : "નામ",\r
-DlgSelectValue         : "વૅલ્યૂ",\r
-DlgSelectSize          : "સાઇઝ",\r
-DlgSelectLines         : "લીટીઓ",\r
-DlgSelectChkMulti      : "એકથી વધારે પસંદ કરી શકો",\r
-DlgSelectOpAvail       : "ઉપલબ્ધ વિકલ્પ",\r
-DlgSelectOpText                : "ટેક્સ્ટ",\r
-DlgSelectOpValue       : "વૅલ્યૂ",\r
-DlgSelectBtnAdd                : "ઉમેરવું",\r
-DlgSelectBtnModify     : "બદલવું",\r
-DlgSelectBtnUp         : "ઉપર",\r
-DlgSelectBtnDown       : "નીચે",\r
-DlgSelectBtnSetValue : "પસંદ કરલી વૅલ્યૂ સેટ કરો",\r
-DlgSelectBtnDelete     : "રદ કરવું",\r
-\r
-// Textarea Dialog\r
-DlgTextareaName        : "નામ",\r
-DlgTextareaCols        : "કૉલમ/ઊભી કટાર",\r
-DlgTextareaRows        : "પંક્તિઓ",\r
-\r
-// Text Field Dialog\r
-DlgTextName                    : "નામ",\r
-DlgTextValue           : "વૅલ્યૂ",\r
-DlgTextCharWidth       : "કેરેક્ટરની પહોળાઈ",\r
-DlgTextMaxChars                : "અધિકતમ કેરેક્ટર",\r
-DlgTextType                    : "ટાઇપ",\r
-DlgTextTypeText                : "ટેક્સ્ટ",\r
-DlgTextTypePass                : "પાસવર્ડ",\r
-\r
-// Hidden Field Dialog\r
-DlgHiddenName  : "નામ",\r
-DlgHiddenValue : "વૅલ્યૂ",\r
-\r
-// Bulleted List Dialog\r
-BulletedListProp       : "બુલેટ સૂચિ ગુણ",\r
-NumberedListProp       : "સંખ્યાંક્તિ સૂચિ ગુણ",\r
-DlgLstStart                    : "શરૂઆતથી",\r
-DlgLstType                     : "પ્રકાર",\r
-DlgLstTypeCircle       : "વર્તુળ",\r
-DlgLstTypeDisc         : "ડિસ્ક",\r
-DlgLstTypeSquare       : "ચોરસ",\r
-DlgLstTypeNumbers      : "સંખ્યા (1, 2, 3)",\r
-DlgLstTypeLCase                : "નાના અક્ષર (a, b, c)",\r
-DlgLstTypeUCase                : "મોટા અક્ષર (A, B, C)",\r
-DlgLstTypeSRoman       : "નાના રોમન આંક (i, ii, iii)",\r
-DlgLstTypeLRoman       : "મોટા રોમન આંક (I, II, III)",\r
-\r
-// Document Properties Dialog\r
-DlgDocGeneralTab       : "સાધારણ",\r
-DlgDocBackTab          : "બૅકગ્રાઉન્ડ",\r
-DlgDocColorsTab                : "રંગ અને માર્જિન/કિનાર",\r
-DlgDocMetaTab          : "મેટાડૅટા",\r
-\r
-DlgDocPageTitle                : "પેજ મથાળું/ટાઇટલ",\r
-DlgDocLangDir          : "ભાષા લેખવાની પદ્ધતિ",\r
-DlgDocLangDirLTR       : "ડાબે થી જમણે (LTR)",\r
-DlgDocLangDirRTL       : "જમણે થી ડાબે (RTL)",\r
-DlgDocLangCode         : "ભાષા કોડ",\r
-DlgDocCharSet          : "કેરેક્ટર સેટ એન્કોડિંગ",\r
-DlgDocCharSetCE                : "મધ્ય યુરોપિઅન (Central European)",\r
-DlgDocCharSetCT                : "ચાઇનીઝ (Chinese Traditional Big5)",\r
-DlgDocCharSetCR                : "સિરીલિક (Cyrillic)",\r
-DlgDocCharSetGR                : "ગ્રીક (Greek)",\r
-DlgDocCharSetJP                : "જાપાનિઝ (Japanese)",\r
-DlgDocCharSetKR                : "કોરીયન (Korean)",\r
-DlgDocCharSetTR                : "ટર્કિ (Turkish)",\r
-DlgDocCharSetUN                : "યૂનિકોડ (UTF-8)",\r
-DlgDocCharSetWE                : "પશ્ચિમ યુરોપિઅન (Western European)",\r
-DlgDocCharSetOther     : "અન્ય કેરેક્ટર સેટ એન્કોડિંગ",\r
-\r
-DlgDocDocType          : "ડૉક્યુમન્ટ પ્રકાર શીર્ષક",\r
-DlgDocDocTypeOther     : "અન્ય ડૉક્યુમન્ટ પ્રકાર શીર્ષક",\r
-DlgDocIncXHTML         : "XHTML સૂચના સમાવિષ્ટ કરવી",\r
-DlgDocBgColor          : "બૅકગ્રાઉન્ડ રંગ",\r
-DlgDocBgImage          : "બૅકગ્રાઉન્ડ ચિત્ર URL",\r
-DlgDocBgNoScroll       : "સ્ક્રોલ ન થાય તેવું બૅકગ્રાઉન્ડ",\r
-DlgDocCText                    : "ટેક્સ્ટ",\r
-DlgDocCLink                    : "લિંક",\r
-DlgDocCVisited         : "વિઝિટેડ લિંક",\r
-DlgDocCActive          : "સક્રિય લિંક",\r
-DlgDocMargins          : "પેજ માર્જિન",\r
-DlgDocMaTop                    : "ઉપર",\r
-DlgDocMaLeft           : "ડાબી",\r
-DlgDocMaRight          : "જમણી",\r
-DlgDocMaBottom         : "નીચે",\r
-DlgDocMeIndex          : "ડૉક્યુમન્ટ ઇન્ડેક્સ સંકેતશબ્દ (અલ્પવિરામ (,) થી અલગ કરો)",\r
-DlgDocMeDescr          : "ડૉક્યુમન્ટ વર્ણન",\r
-DlgDocMeAuthor         : "લેખક",\r
-DlgDocMeCopy           : "કૉપિરાઇટ",\r
-DlgDocPreview          : "પૂર્વદર્શન",\r
-\r
-// Templates Dialog\r
-Templates                      : "ટેમ્પ્લેટ",\r
-DlgTemplatesTitle      : "કન્ટેન્ટ ટેમ્પ્લેટ",\r
-DlgTemplatesSelMsg     : "એડિટરમાં ઓપન કરવા ટેમ્પ્લેટ પસંદ કરો (વર્તમાન કન્ટેન્ટ સેવ નહીં થાય):",\r
-DlgTemplatesLoading    : "ટેમ્પ્લેટ સૂચિ લોડ થાય છે. રાહ જુઓ...",\r
-DlgTemplatesNoTpl      : "(કોઈ ટેમ્પ્લેટ ડિફાઇન નથી)",\r
-DlgTemplatesReplace    : "મૂળ શબ્દને બદલો",\r
-\r
-// About Dialog\r
-DlgAboutAboutTab       : "FCKEditor ના વિષે",\r
-DlgAboutBrowserInfoTab : "બ્રાઉઝર ના વિષે",\r
-DlgAboutLicenseTab     : "લાઇસન્સ",\r
-DlgAboutVersion                : "વર્ઝન",\r
-DlgAboutInfo           : "વધારે માહિતી માટે:",\r
-\r
-// Div Dialog\r
-DlgDivGeneralTab       : "General",    //MISSING\r
-DlgDivAdvancedTab      : "Advanced",   //MISSING\r
-DlgDivStyle            : "Style",      //MISSING\r
-DlgDivInlineStyle      : "Inline Style",       //MISSING\r
-\r
-ScaytTitle                     : "SCAYT",      //MISSING\r
-ScaytTitleOptions      : "Options",    //MISSING\r
-ScaytTitleLangs                : "Languages",  //MISSING\r
-ScaytTitleAbout                : "About"       //MISSING\r
-};\r
index 4cbbf95..ef2b979 100644 (file)
@@ -1,6 +1,6 @@
 /*\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
@@ -44,9 +44,7 @@ RemoveFormat          : "הסרת העיצוב",
 InsertLinkLbl          : "קישור",\r
 InsertLink                     : "הוספת/עריכת קישור",\r
 RemoveLink                     : "הסרת הקישור",\r
-VisitLink                      : "פתח קישור",\r
 Anchor                         : "הוספת/עריכת נקודת עיגון",\r
-AnchorDelete           : "הסר נקודת עיגון",\r
 InsertImageLbl         : "תמונה",\r
 InsertImage                    : "הוספת/עריכת תמונה",\r
 InsertFlashLbl         : "פלאש",\r
@@ -72,10 +70,6 @@ RightJustify         : "יישור לימין",
 BlockJustify           : "יישור לשוליים",\r
 DecreaseIndent         : "הקטנת אינדנטציה",\r
 IncreaseIndent         : "הגדלת אינדנטציה",\r
-Blockquote                     : "בלוק ציטוט",\r
-CreateDiv                      : "צור מיכל(תג)DIV",\r
-EditDiv                                : "ערוך מיכל (תג)DIV",\r
-DeleteDiv                      : "הסר מיכל(תג) DIV",\r
 Undo                           : "ביטול צעד אחרון",\r
 Redo                           : "חזרה על צעד אחרון",\r
 NumberedListLbl                : "רשימה ממוספרת",\r
@@ -109,27 +103,20 @@ SelectionField    : "שדה בחירה",
 ImageButton            : "כפתור תמונה",\r
 \r
 FitWindow              : "הגדל את גודל העורך",\r
-ShowBlocks             : "הצג בלוקים",\r
 \r
 // Context Menu\r
 EditLink                       : "עריכת קישור",\r
 CellCM                         : "תא",\r
 RowCM                          : "שורה",\r
 ColumnCM                       : "עמודה",\r
-InsertRowAfter         : "הוסף שורה אחרי",\r
-InsertRowBefore                : "הוסף שורה לפני",\r
+InsertRow                      : "הוספת שורה",\r
 DeleteRows                     : "מחיקת שורות",\r
-InsertColumnAfter      : "הוסף עמודה אחרי",\r
-InsertColumnBefore     : "הוסף עמודה לפני",\r
+InsertColumn           : "הוספת עמודה",\r
 DeleteColumns          : "מחיקת עמודות",\r
-InsertCellAfter                : "הוסף תא אחרי",\r
-InsertCellBefore       : "הוסף תא אחרי",\r
+InsertCell                     : "הוספת תא",\r
 DeleteCells                    : "מחיקת תאים",\r
 MergeCells                     : "מיזוג תאים",\r
-MergeRight                     : "מזג ימינה",\r
-MergeDown                      : "מזג למטה",\r
-HorizontalSplitCell    : "פצל תא אופקית",\r
-VerticalSplitCell      : "פצל תא אנכית",\r
+SplitCell                      : "פיצול תאים",\r
 TableDelete                    : "מחק טבלה",\r
 CellProperties         : "תכונות התא",\r
 TableProperties                : "תכונות הטבלה",\r
@@ -147,7 +134,7 @@ SelectionFieldProp  : "מאפייני שדה בחירה",
 TextareaProp           : "מאפיני איזור טקסט",\r
 FormProp                       : "מאפיני טופס",\r
 \r
-FontFormats                    : "נורמלי;קוד;כתובת;כותרת;כותרת 2;כותרת 3;כותרת 4;כותרת 5;כותרת 6",\r
+FontFormats                    : "נורמלי;קוד;כתובת;כותרת;כותרת 2;כותרת 3;כותרת 4;כותרת 5;כותרת 6",         //REVIEW : Check _getfontformat.html\r
 \r
 // Alerts and Messages\r
 ProcessingXHTML                : "מעבד XHTML, נא להמתין...",\r
@@ -161,7 +148,6 @@ UnknownToolbarSet   : "ערכת סרגל הכלים \"%1\" לא קיימת",
 NoActiveX                      : "הגדרות אבטחה של הדפדפן עלולות לגביל את אפשרויות העריכה.יש לאפשר את האופציה \"הרץ פקדים פעילים ותוספות\". תוכל לחוות טעויות וחיווים של אפשרויות שחסרים.",\r
 BrowseServerBlocked : "לא ניתן לגשת לדפדפן משאבים.אנא וודא שחוסם חלונות הקופצים לא פעיל.",\r
 DialogBlocked          : "לא היה ניתן לפתוח חלון דיאלוג. אנא וודא שחוסם חלונות קופצים לא פעיל.",\r
-VisitLinkBlocked       : "לא ניתן לפתוח חלון חדש.נא לוודא שחוסמי החלונות הקופצים לא פעילים.",\r
 \r
 // Dialogs\r
 DlgBtnOK                       : "אישור",\r
@@ -171,7 +157,7 @@ DlgBtnBrowseServer  : "סייר השרת",
 DlgAdvancedTag         : "אפשרויות מתקדמות",\r
 DlgOpOther                     : "<אחר>",\r
 DlgInfoTab                     : "מידע",\r
-DlgAlertUrl                    : "×\90× ×\90 הזן URL",\r
+DlgAlertUrl                    : "×\90× ×\94 הזן URL",\r
 \r
 // General Dialogs Labels\r
 DlgGenNotSet           : "<לא נקבע>",\r
@@ -243,7 +229,7 @@ DlgLnkURL                   : "כתובת (URL)",
 DlgLnkAnchorSel                : "בחירת עוגן",\r
 DlgLnkAnchorByName     : "עפ''י שם העוגן",\r
 DlgLnkAnchorById       : "עפ''י זיהוי (Id) הרכיב",\r
-DlgLnkNoAnchors                : "(אין עוגנים זמינים בדף)",\r
+DlgLnkNoAnchors                : "(אין עוגנים זמינים בדף)",          //REVIEW : Change < and > with ( and )\r
 DlgLnkEMail                    : "כתובת הדוא''ל",\r
 DlgLnkEMailSubject     : "נושא ההודעה",\r
 DlgLnkEMailBody                : "גוף ההודעה",\r
@@ -308,11 +294,6 @@ DlgTableCellSpace  : "מרווח תא",
 DlgTableCellPad                : "ריפוד תא",\r
 DlgTableCaption                : "כיתוב",\r
 DlgTableSummary                : "סיכום",\r
-DlgTableHeaders                : "כותרות",\r
-DlgTableHeadersNone            : "אין",\r
-DlgTableHeadersColumn  : "עמודה ראשונה",\r
-DlgTableHeadersRow             : "שורה ראשונה",\r
-DlgTableHeadersBoth            : "שניהם",\r
 \r
 // Table Cell Dialog\r
 DlgCellTitle           : "תכונות תא",\r
@@ -335,18 +316,12 @@ DlgCellVerAlignTop        : "למעלה",
 DlgCellVerAlignMiddle  : "לאמצע",\r
 DlgCellVerAlignBottom  : "לתחתית",\r
 DlgCellVerAlignBaseline        : "קו תחתית",\r
-DlgCellType            : "סוג תא",\r
-DlgCellTypeData                : "סוג",\r
-DlgCellTypeHeader      : "כותרת",\r
 DlgCellRowSpan         : "טווח שורות",\r
 DlgCellCollSpan                : "טווח עמודות",\r
 DlgCellBackColor       : "צבע רקע",\r
 DlgCellBorderColor     : "צבע מסגרת",\r
 DlgCellBtnSelect       : "בחירה...",\r
 \r
-// Find and Replace Dialog\r
-DlgFindAndReplaceTitle : "חפש והחלף",\r
-\r
 // Find Dialog\r
 DlgFindTitle           : "חיפוש",\r
 DlgFindFindBtn         : "חיפוש",\r
@@ -372,6 +347,7 @@ DlgPasteMsg2        : "אנא הדבק בתוך הקופסה באמצעות  (<STRONG>C
 DlgPasteSec            : "עקב הגדרות אבטחה בדפדפן, לא ניתן לגשת אל לוח הגזירים (clipboard) בצורה ישירה.אנא בצע הדבק שוב בחלון זה.",\r
 DlgPasteIgnoreFont             : "התעלם מהגדרות סוג פונט",\r
 DlgPasteRemoveStyles   : "הסר הגדרות סגנון",\r
+DlgPasteCleanBox               : "ניקוי קופסה",\r
 \r
 // Color Picker\r
 ColorAutomatic : "אוטומטי",\r
@@ -524,16 +500,5 @@ DlgAboutAboutTab   : "אודות",
 DlgAboutBrowserInfoTab : "גירסת דפדפן",\r
 DlgAboutLicenseTab     : "רשיון",\r
 DlgAboutVersion                : "גירסא",\r
-DlgAboutInfo           : "מידע נוסף ניתן למצוא כאן:",\r
-\r
-// Div Dialog\r
-DlgDivGeneralTab       : "כללי",\r
-DlgDivAdvancedTab      : "מתקדם",\r
-DlgDivStyle            : "סגנון",\r
-DlgDivInlineStyle      : "סגנון בתוך השורה",\r
-\r
-ScaytTitle                     : "SCAYT",      //MISSING\r
-ScaytTitleOptions      : "Options",    //MISSING\r
-ScaytTitleLangs                : "Languages",  //MISSING\r
-ScaytTitleAbout                : "About"       //MISSING\r
-};\r
+DlgAboutInfo           : "מידע נוסף ניתן למצוא כאן:"\r
+};
\ No newline at end of file
index b4e88fc..fdc5e39 100644 (file)
@@ -1,6 +1,6 @@
 /*\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
@@ -44,9 +44,7 @@ RemoveFormat          : "फ़ॉर्मैट हटायें",
 InsertLinkLbl          : "लिंक",\r
 InsertLink                     : "लिंक इन्सर्ट/संपादन",\r
 RemoveLink                     : "लिंक हटायें",\r
-VisitLink                      : "लिंक खोलें",\r
 Anchor                         : "ऐंकर इन्सर्ट/संपादन",\r
-AnchorDelete           : "ऐंकर हटायें",\r
 InsertImageLbl         : "तस्वीर",\r
 InsertImage                    : "तस्वीर इन्सर्ट/संपादन",\r
 InsertFlashLbl         : "फ़्लैश",\r
@@ -72,10 +70,6 @@ RightJustify         : "दायीं तरफ",
 BlockJustify           : "ब्लॉक जस्टीफ़ाई",\r
 DecreaseIndent         : "इन्डॅन्ट कम करें",\r
 IncreaseIndent         : "इन्डॅन्ट बढ़ायें",\r
-Blockquote                     : "ब्लॉक-कोट",\r
-CreateDiv                      : "डिव (Div) कन्टेनर बनायें",\r
-EditDiv                                : "डिव (Div) कन्टेनर बदलें",\r
-DeleteDiv                      : "डिव कन्टेनर हटायें",\r
 Undo                           : "अन्डू",\r
 Redo                           : "रीडू",\r
 NumberedListLbl                : "अंकीय सूची",\r
@@ -109,29 +103,22 @@ SelectionField    : "चुनाव फ़ील्ड",
 ImageButton            : "तस्वीर बटन",\r
 \r
 FitWindow              : "एडिटर साइज़ को चरम सीमा तक बढ़ायें",\r
-ShowBlocks             : "ब्लॉक दिखायें",\r
 \r
 // Context Menu\r
 EditLink                       : "लिंक संपादन",\r
 CellCM                         : "खाना",\r
 RowCM                          : "पंक्ति",\r
 ColumnCM                       : "कालम",\r
-InsertRowAfter         : "बाद में पंक्ति डालें",\r
-InsertRowBefore                : "पहले पंक्ति डालें",\r
+InsertRow                      : "पंक्ति इन्सर्ट करें",\r
 DeleteRows                     : "पंक्तियाँ डिलीट करें",\r
-InsertColumnAfter      : "बाद में कालम डालें",\r
-InsertColumnBefore     : "पहले कालम डालें",\r
-DeleteColumns          : "कालम डिलीट करें",\r
-InsertCellAfter                : "बाद में सैल डालें",\r
-InsertCellBefore       : "पहले सैल डालें",\r
-DeleteCells                    : "सैल डिलीट करें",\r
-MergeCells                     : "सैल मिलायें",\r
-MergeRight                     : "बाँया विलय",\r
-MergeDown                      : "नीचे विलय करें",\r
-HorizontalSplitCell    : "सैल को क्षैतिज स्थिति में विभाजित करें",\r
-VerticalSplitCell      : "सैल को लम्बाकार में विभाजित करें",\r
+InsertColumn           : "कॉलम इन्सर्ट करें",\r
+DeleteColumns          : "कॉलम डिलीट करें",\r
+InsertCell                     : "सॅल इन्सर्ट करें",\r
+DeleteCells                    : "सॅल डिलीट करें",\r
+MergeCells                     : "सॅल मिलायें",\r
+SplitCell                      : "सॅल अलग करें",\r
 TableDelete                    : "टेबल डिलीट करें",\r
-CellProperties         : "सà¥\88ल प्रॉपर्टीज़",\r
+CellProperties         : "सà¥\85ल प्रॉपर्टीज़",\r
 TableProperties                : "टेबल प्रॉपर्टीज़",\r
 ImageProperties                : "तस्वीर प्रॉपर्टीज़",\r
 FlashProperties                : "फ़्लैश प्रॉपर्टीज़",\r
@@ -147,7 +134,7 @@ SelectionFieldProp  : "चुनाव फ़ील्ड प्रॉपर्ट
 TextareaProp           : "टेक्स्त एरिया प्रॉपर्टीज़",\r
 FormProp                       : "फ़ॉर्म प्रॉपर्टीज़",\r
 \r
-FontFormats                    : "साधारण;फ़ॉर्मैटॅड;पता;शीर्षक 1;शीर्षक 2;शीर्षक 3;शीर्षक 4;शीर्षक 5;शीर्षक 6;शीर्षक (DIV)",\r
+FontFormats                    : "साधारण;फ़ॉर्मैटॅड;पता;शीर्षक 1;शीर्षक 2;शीर्षक 3;शीर्षक 4;शीर्षक 5;शीर्षक 6;शीर्षक (DIV)",            //REVIEW : Check _getfontformat.html\r
 \r
 // Alerts and Messages\r
 ProcessingXHTML                : "XHTML प्रोसॅस हो रहा है। ज़रा ठहरें...",\r
@@ -159,9 +146,8 @@ UnknownCommand              : "अनजान कमान्ड \"%1\"",
 NotImplemented         : "कमान्ड इम्प्लीमॅन्ट नहीं किया गया है",\r
 UnknownToolbarSet      : "टूलबार सॅट \"%1\" उपलब्ध नहीं है",\r
 NoActiveX                      : "आपके ब्राउज़र् की सुरक्शा सेटिंग्स् एडिटर की कुछ् फ़ीचरों को सीमित कर् सकती हैं। क्रिपया \"Run ActiveX controls and plug-ins\" विकल्प को एनेबल करें. आपको एरर्स् और गायब फ़ीचर्स् का अनुभव हो सकता है।",\r
-BrowseServerBlocked : "रिसोर्सेज़ ब्राउज़र् नहीं खोला जा सका। क्रिपया सभी पॉप्-अप् ब्लॉकर्स् को निष्क्रिय करें।",\r
-DialogBlocked          : "डायलग विन्डो नहीं खोला जा सका। क्रिपया सभी पॉप्-अप् ब्लॉकर्स् को निष्क्रिय करें।",\r
-VisitLinkBlocked       : "नया विन्डो नहीं खोला जा सका। क्रिपया सभी पॉप्-अप् ब्लॉकर्स् को निष्क्रिय करें।",\r
+BrowseServerBlocked : "रिसोर्सेज़ ब्राउज़र् नहीं खोला जा सका। क्रिपया सभी पॉप्-अप् ब्लॉकर्स् को डिसेबल करें।",\r
+DialogBlocked          : "डायलग विन्डो नहीं खोला जा सका। क्रिपया सभी पॉप्-अप् ब्लॉकर्स् को डिसेबल करें।",\r
 \r
 // Dialogs\r
 DlgBtnOK                       : "ठीक है",\r
@@ -243,7 +229,7 @@ DlgLnkURL                   : "URL",
 DlgLnkAnchorSel                : "ऐंकर चुनें",\r
 DlgLnkAnchorByName     : "ऐंकर नाम से",\r
 DlgLnkAnchorById       : "ऍलीमॅन्ट Id से",\r
-DlgLnkNoAnchors                : "(डॉक्यूमॅन्ट में ऐंकर्स की संख्या)",\r
+DlgLnkNoAnchors                : "<डॉक्यूमॅन्ट में ऐंकर्स की संख्या>",         //REVIEW : Change < and > with ( and )\r
 DlgLnkEMail                    : "ई-मेल पता",\r
 DlgLnkEMailSubject     : "संदेश विषय",\r
 DlgLnkEMailBody                : "संदेश",\r
@@ -293,7 +279,7 @@ DlgSpecialCharTitle : "विशेष करॅक्टर चुनें",
 // Table Dialog\r
 DlgTableTitle          : "टेबल प्रॉपर्टीज़",\r
 DlgTableRows           : "पंक्तियाँ",\r
-DlgTableColumns                : "à¤\95ालम",\r
+DlgTableColumns                : "à¤\95à¥\89लम",\r
 DlgTableBorder         : "बॉर्डर साइज़",\r
 DlgTableAlign          : "ऍलाइन्मॅन्ट",\r
 DlgTableAlignNotSet    : "<सॅट नहीं>",\r
@@ -301,23 +287,18 @@ DlgTableAlignLeft : "दायें",
 DlgTableAlignCenter    : "बीच में",\r
 DlgTableAlignRight     : "बायें",\r
 DlgTableWidth          : "चौड़ाई",\r
-DlgTableWidthPx                : "पिà¤\95à¥\8dसà¥\88ल",\r
+DlgTableWidthPx                : "पिà¤\95à¥\8dसà¥\85ल",\r
 DlgTableWidthPc                : "प्रतिशत",\r
 DlgTableHeight         : "ऊँचाई",\r
-DlgTableCellSpace      : "सà¥\88ल अंतर",\r
-DlgTableCellPad                : "सà¥\88ल पैडिंग",\r
+DlgTableCellSpace      : "सà¥\85ल अंतर",\r
+DlgTableCellPad                : "सà¥\85ल पैडिंग",\r
 DlgTableCaption                : "शीर्षक",\r
 DlgTableSummary                : "सारांश",\r
-DlgTableHeaders                : "Headers",    //MISSING\r
-DlgTableHeadersNone            : "None",       //MISSING\r
-DlgTableHeadersColumn  : "First column",       //MISSING\r
-DlgTableHeadersRow             : "First Row",  //MISSING\r
-DlgTableHeadersBoth            : "Both",       //MISSING\r
 \r
 // Table Cell Dialog\r
-DlgCellTitle           : "सà¥\88ल प्रॉपर्टीज़",\r
+DlgCellTitle           : "सà¥\85ल प्रॉपर्टीज़",\r
 DlgCellWidth           : "चौड़ाई",\r
-DlgCellWidthPx         : "पिà¤\95à¥\8dसà¥\88ल",\r
+DlgCellWidthPx         : "पिà¤\95à¥\8dसà¥\85ल",\r
 DlgCellWidthPc         : "प्रतिशत",\r
 DlgCellHeight          : "ऊँचाई",\r
 DlgCellWordWrap                : "वर्ड रैप",\r
@@ -335,18 +316,12 @@ DlgCellVerAlignTop        : "ऊपर",
 DlgCellVerAlignMiddle  : "मध्य",\r
 DlgCellVerAlignBottom  : "नीचे",\r
 DlgCellVerAlignBaseline        : "मूलरेखा",\r
-DlgCellType            : "Cell Type",  //MISSING\r
-DlgCellTypeData                : "Data",       //MISSING\r
-DlgCellTypeHeader      : "Header",     //MISSING\r
 DlgCellRowSpan         : "पंक्ति स्पैन",\r
-DlgCellCollSpan                : "à¤\95ालम स्पैन",\r
+DlgCellCollSpan                : "à¤\95à¥\89लम स्पैन",\r
 DlgCellBackColor       : "बैक्ग्राउन्ड रंग",\r
 DlgCellBorderColor     : "बॉर्डर का रंग",\r
 DlgCellBtnSelect       : "चुनें...",\r
 \r
-// Find and Replace Dialog\r
-DlgFindAndReplaceTitle : "खोजें और बदलें",\r
-\r
 // Find Dialog\r
 DlgFindTitle           : "खोजें",\r
 DlgFindFindBtn         : "खोजें",\r
@@ -369,12 +344,13 @@ PasteAsText               : "पेस्ट (सादा टॅक्स्ट)",
 PasteFromWord  : "पेस्ट (वर्ड से)",\r
 \r
 DlgPasteMsg2   : "Ctrl+V का प्रयोग करके पेस्ट करें और ठीक है करें.",\r
-DlgPasteSec            : "आपके ब्राउज़र की सुरक्षा आपके ब्राउज़र की सुरKश सैटिंग के कारण, एडिटर आपके क्लिपबोर्ड डेटा को नहीं पा सकता है. आपको उसे इस विन्डो में दोबारा पेस्ट करना होगा.",\r
+DlgPasteSec            : "Because of your browser security settings, the editor is not able to access your clipboard data directly. You are required to paste it again in this window.",       //MISSING\r
 DlgPasteIgnoreFont             : "फ़ॉन्ट परिभाषा निकालें",\r
 DlgPasteRemoveStyles   : "स्टाइल परिभाषा निकालें",\r
+DlgPasteCleanBox               : "बॉक्स साफ़ करें",\r
 \r
 // Color Picker\r
-ColorAutomatic : "सà¥\8dवà¤\9aालित",\r
+ColorAutomatic : "à¤\91à¤\9fà¥\8bमà¥\88à¤\9fिà¤\95",\r
 ColorMoreColors        : "और रंग...",\r
 \r
 // Document Properties\r
@@ -416,7 +392,7 @@ DlgCheckboxSelected : "सॅलॅक्टॅड",
 \r
 // Form Dialog\r
 DlgFormName            : "नाम",\r
-DlgFormAction  : "à¤\95à¥\8dरिया",\r
+DlgFormAction  : "à¤\8dà¤\95à¥\8dशन",\r
 DlgFormMethod  : "तरीका",\r
 \r
 // Select Field Dialog\r
@@ -437,7 +413,7 @@ DlgSelectBtnDelete  : "डिलीट",
 \r
 // Textarea Dialog\r
 DlgTextareaName        : "नाम",\r
-DlgTextareaCols        : "à¤\95ालम",\r
+DlgTextareaCols        : "à¤\95à¥\89लम",\r
 DlgTextareaRows        : "पंक्तियां",\r
 \r
 // Text Field Dialog\r
@@ -524,16 +500,5 @@ DlgAboutAboutTab   : "FCKEditor के बारे में",
 DlgAboutBrowserInfoTab : "ब्राउज़र के बारे में",\r
 DlgAboutLicenseTab     : "लाइसैन्स",\r
 DlgAboutVersion                : "वर्ज़न",\r
-DlgAboutInfo           : "अधिक जानकारी के लिये यहाँ जायें:",\r
-\r
-// Div Dialog\r
-DlgDivGeneralTab       : "सामान्य",\r
-DlgDivAdvancedTab      : "एड्वान्स्ड",\r
-DlgDivStyle            : "स्टाइल",\r
-DlgDivInlineStyle      : "इनलाइन स्टाइल",\r
-\r
-ScaytTitle                     : "SCAYT",      //MISSING\r
-ScaytTitleOptions      : "Options",    //MISSING\r
-ScaytTitleLangs                : "Languages",  //MISSING\r
-ScaytTitleAbout                : "About"       //MISSING\r
-};\r
+DlgAboutInfo           : "अधिक जानकारी के लिये यहाँ जायें:"\r
+};
\ No newline at end of file
index 3a92096..f088b10 100644 (file)
@@ -1,6 +1,6 @@
 /*\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
@@ -44,9 +44,7 @@ RemoveFormat          : "Ukloni formatiranje",
 InsertLinkLbl          : "Link",\r
 InsertLink                     : "Ubaci/promijeni link",\r
 RemoveLink                     : "Ukloni link",\r
-VisitLink                      : "Otvori link",\r
 Anchor                         : "Ubaci/promijeni sidro",\r
-AnchorDelete           : "Ukloni sidro",\r
 InsertImageLbl         : "Slika",\r
 InsertImage                    : "Ubaci/promijeni sliku",\r
 InsertFlashLbl         : "Flash",\r
@@ -72,10 +70,6 @@ RightJustify         : "Desno poravnanje",
 BlockJustify           : "Blok poravnanje",\r
 DecreaseIndent         : "Pomakni ulijevo",\r
 IncreaseIndent         : "Pomakni udesno",\r
-Blockquote                     : "Blockquote",\r
-CreateDiv                      : "Napravi Div kontejner",\r
-EditDiv                                : "Uredi Div kontejner",\r
-DeleteDiv                      : "Ukloni Div kontejner",\r
 Undo                           : "Poništi",\r
 Redo                           : "Ponovi",\r
 NumberedListLbl                : "Brojčana lista",\r
@@ -109,27 +103,20 @@ SelectionField    : "Selection Field",
 ImageButton            : "Image Button",\r
 \r
 FitWindow              : "Povećaj veličinu editora",\r
-ShowBlocks             : "Prikaži blokove",\r
 \r
 // Context Menu\r
 EditLink                       : "Promijeni link",\r
 CellCM                         : "Ćelija",\r
 RowCM                          : "Red",\r
 ColumnCM                       : "Kolona",\r
-InsertRowAfter         : "Ubaci red poslije",\r
-InsertRowBefore                : "Ubaci red prije",\r
+InsertRow                      : "Ubaci red",\r
 DeleteRows                     : "Izbriši redove",\r
-InsertColumnAfter      : "Ubaci kolonu poslije",\r
-InsertColumnBefore     : "Ubaci kolonu prije",\r
+InsertColumn           : "Ubaci kolonu",\r
 DeleteColumns          : "Izbriši kolone",\r
-InsertCellAfter                : "Ubaci ćeliju poslije",\r
-InsertCellBefore       : "Ubaci ćeliju prije",\r
+InsertCell                     : "Ubaci ćelije",\r
 DeleteCells                    : "Izbriši ćelije",\r
 MergeCells                     : "Spoji ćelije",\r
-MergeRight                     : "Spoji desno",\r
-MergeDown                      : "Spoji dolje",\r
-HorizontalSplitCell    : "Podijeli ćeliju vodoravno",\r
-VerticalSplitCell      : "Podijeli ćeliju okomito",\r
+SplitCell                      : "Razdvoji ćelije",\r
 TableDelete                    : "Izbriši tablicu",\r
 CellProperties         : "Svojstva ćelije",\r
 TableProperties                : "Svojstva tablice",\r
@@ -147,7 +134,7 @@ SelectionFieldProp  : "Selection svojstva",
 TextareaProp           : "Textarea svojstva",\r
 FormProp                       : "Form svojstva",\r
 \r
-FontFormats                    : "Normal;Formatted;Address;Heading 1;Heading 2;Heading 3;Heading 4;Heading 5;Heading 6;Normal (DIV)",\r
+FontFormats                    : "Normal;Formatted;Address;Heading 1;Heading 2;Heading 3;Heading 4;Heading 5;Heading 6;Normal (DIV)",          //REVIEW : Check _getfontformat.html\r
 \r
 // Alerts and Messages\r
 ProcessingXHTML                : "Obrađujem XHTML. Molimo pričekajte...",\r
@@ -161,7 +148,6 @@ UnknownToolbarSet   : "Traka s alatima \"%1\" ne postoji",
 NoActiveX                      : "Vaše postavke pretraživača mogle bi ograničiti neke od mogućnosti editora. Morate uključiti opciju \"Run ActiveX controls and plug-ins\" u postavkama. Ukoliko to ne učinite, moguće su razliite greške tijekom rada.",\r
 BrowseServerBlocked : "Pretraivač nije moguće otvoriti. Provjerite da li je uključeno blokiranje pop-up prozora.",\r
 DialogBlocked          : "Nije moguće otvoriti novi prozor. Provjerite da li je uključeno blokiranje pop-up prozora.",\r
-VisitLinkBlocked       : "Nije moguće otvoriti novi prozor. Provjerite da li je uključeno blokiranje pop-up prozora.",\r
 \r
 // Dialogs\r
 DlgBtnOK                       : "OK",\r
@@ -243,7 +229,7 @@ DlgLnkURL                   : "URL",
 DlgLnkAnchorSel                : "Odaberi sidro",\r
 DlgLnkAnchorByName     : "Po nazivu sidra",\r
 DlgLnkAnchorById       : "Po Id elementa",\r
-DlgLnkNoAnchors                : "(Nema dostupnih sidra)",\r
+DlgLnkNoAnchors                : "<Nema dostupnih sidra>",             //REVIEW : Change < and > with ( and )\r
 DlgLnkEMail                    : "E-Mail adresa",\r
 DlgLnkEMailSubject     : "Naslov",\r
 DlgLnkEMailBody                : "Sadržaj poruke",\r
@@ -308,11 +294,6 @@ DlgTableCellSpace  : "Prostornost ćelija",
 DlgTableCellPad                : "Razmak ćelija",\r
 DlgTableCaption                : "Naslov",\r
 DlgTableSummary                : "Sažetak",\r
-DlgTableHeaders                : "Headers",    //MISSING\r
-DlgTableHeadersNone            : "None",       //MISSING\r
-DlgTableHeadersColumn  : "First column",       //MISSING\r
-DlgTableHeadersRow             : "First Row",  //MISSING\r
-DlgTableHeadersBoth            : "Both",       //MISSING\r
 \r
 // Table Cell Dialog\r
 DlgCellTitle           : "Svojstva ćelije",\r
@@ -335,18 +316,12 @@ DlgCellVerAlignTop        : "Gornje",
 DlgCellVerAlignMiddle  : "Srednišnje",\r
 DlgCellVerAlignBottom  : "Donje",\r
 DlgCellVerAlignBaseline        : "Bazno",\r
-DlgCellType            : "Cell Type",  //MISSING\r
-DlgCellTypeData                : "Data",       //MISSING\r
-DlgCellTypeHeader      : "Header",     //MISSING\r
 DlgCellRowSpan         : "Spajanje redova",\r
 DlgCellCollSpan                : "Spajanje kolona",\r
 DlgCellBackColor       : "Boja pozadine",\r
 DlgCellBorderColor     : "Boja okvira",\r
 DlgCellBtnSelect       : "Odaberi...",\r
 \r
-// Find and Replace Dialog\r
-DlgFindAndReplaceTitle : "Pronađi i zamijeni",\r
-\r
 // Find Dialog\r
 DlgFindTitle           : "Pronađi",\r
 DlgFindFindBtn         : "Pronađi",\r
@@ -369,9 +344,10 @@ PasteAsText                : "Zalijepi kao čisti tekst",
 PasteFromWord  : "Zalijepi iz Worda",\r
 \r
 DlgPasteMsg2   : "Molimo zaljepite unutar doljnjeg okvira koristeći tipkovnicu (<STRONG>Ctrl+V</STRONG>) i kliknite <STRONG>OK</STRONG>.",\r
-DlgPasteSec            : "Zbog sigurnosnih postavki Vašeg pretraživača, editor nema direktan pristup Vašem međuspremniku. Potrebno je ponovno zalijepiti tekst u ovaj prozor.",\r
+DlgPasteSec            : "Because of your browser security settings, the editor is not able to access your clipboard data directly. You are required to paste it again in this window.",       //MISSING\r
 DlgPasteIgnoreFont             : "Zanemari definiciju vrste fonta",\r
 DlgPasteRemoveStyles   : "Ukloni definicije stilova",\r
+DlgPasteCleanBox               : "Očisti okvir",\r
 \r
 // Color Picker\r
 ColorAutomatic : "Automatski",\r
@@ -524,16 +500,5 @@ DlgAboutAboutTab   : "O FCKEditoru",
 DlgAboutBrowserInfoTab : "Podaci o pretraživaču",\r
 DlgAboutLicenseTab     : "Licenca",\r
 DlgAboutVersion                : "inačica",\r
-DlgAboutInfo           : "Za više informacija posjetite",\r
-\r
-// Div Dialog\r
-DlgDivGeneralTab       : "Općenito",\r
-DlgDivAdvancedTab      : "Napredno",\r
-DlgDivStyle            : "Stil",\r
-DlgDivInlineStyle      : "Stil u redu",\r
-\r
-ScaytTitle                     : "SCAYT",      //MISSING\r
-ScaytTitleOptions      : "Options",    //MISSING\r
-ScaytTitleLangs                : "Languages",  //MISSING\r
-ScaytTitleAbout                : "About"       //MISSING\r
-};\r
+DlgAboutInfo           : "Za više informacija posjetite"\r
+};
\ No newline at end of file
index 0a72cac..73b912c 100644 (file)
@@ -1,6 +1,6 @@
 /*\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
@@ -44,9 +44,7 @@ RemoveFormat          : "Formázás eltávolítása",
 InsertLinkLbl          : "Hivatkozás",\r
 InsertLink                     : "Hivatkozás beillesztése/módosítása",\r
 RemoveLink                     : "Hivatkozás törlése",\r
-VisitLink                      : "Open Link",  //MISSING\r
 Anchor                         : "Horgony beillesztése/szerkesztése",\r
-AnchorDelete           : "Horgony eltávolítása",\r
 InsertImageLbl         : "Kép",\r
 InsertImage                    : "Kép beillesztése/módosítása",\r
 InsertFlashLbl         : "Flash",\r
@@ -72,10 +70,6 @@ RightJustify         : "Jobbra",
 BlockJustify           : "Sorkizárt",\r
 DecreaseIndent         : "Behúzás csökkentése",\r
 IncreaseIndent         : "Behúzás növelése",\r
-Blockquote                     : "Idézet blokk",\r
-CreateDiv                      : "Create Div Container",       //MISSING\r
-EditDiv                                : "Edit Div Container", //MISSING\r
-DeleteDiv                      : "Remove Div Container",       //MISSING\r
 Undo                           : "Visszavonás",\r
 Redo                           : "Ismétlés",\r
 NumberedListLbl                : "Számozás",\r
@@ -109,27 +103,20 @@ SelectionField    : "Legördülő lista",
 ImageButton            : "Képgomb",\r
 \r
 FitWindow              : "Maximalizálás",\r
-ShowBlocks             : "Blokkok megjelenítése",\r
 \r
 // Context Menu\r
 EditLink                       : "Hivatkozás módosítása",\r
 CellCM                         : "Cella",\r
 RowCM                          : "Sor",\r
 ColumnCM                       : "Oszlop",\r
-InsertRowAfter         : "Sor beillesztése az aktuális sor mögé",\r
-InsertRowBefore                : "Sor beillesztése az aktuális sor elé",\r
+InsertRow                      : "Sor beszúrása",\r
 DeleteRows                     : "Sorok törlése",\r
-InsertColumnAfter      : "Oszlop beillesztése az aktuális oszlop mögé",\r
-InsertColumnBefore     : "Oszlop beillesztése az aktuális oszlop elé",\r
+InsertColumn           : "Oszlop beszúrása",\r
 DeleteColumns          : "Oszlopok törlése",\r
-InsertCellAfter                : "Cella beillesztése az aktuális cella mögé",\r
-InsertCellBefore       : "Cella beillesztése az aktuális cella elé",\r
+InsertCell                     : "Cella beszúrása",\r
 DeleteCells                    : "Cellák törlése",\r
 MergeCells                     : "Cellák egyesítése",\r
-MergeRight                     : "Cellák egyesítése jobbra",\r
-MergeDown                      : "Cellák egyesítése lefelé",\r
-HorizontalSplitCell    : "Cellák szétválasztása vízszintesen",\r
-VerticalSplitCell      : "Cellák szétválasztása függőlegesen",\r
+SplitCell                      : "Cella szétválasztása",\r
 TableDelete                    : "Táblázat törlése",\r
 CellProperties         : "Cella tulajdonságai",\r
 TableProperties                : "Táblázat tulajdonságai",\r
@@ -147,7 +134,7 @@ SelectionFieldProp  : "Legördülő lista tulajdonságai",
 TextareaProp           : "Szövegterület tulajdonságai",\r
 FormProp                       : "Űrlap tulajdonságai",\r
 \r
-FontFormats                    : "Normál;Formázott;Címsor;Fejléc 1;Fejléc 2;Fejléc 3;Fejléc 4;Fejléc 5;Fejléc 6;Bekezdés (DIV)",\r
+FontFormats                    : "Normál;Formázott;Címsor;Fejléc 1;Fejléc 2;Fejléc 3;Fejléc 4;Fejléc 5;Fejléc 6;Bekezdés (DIV)",             //REVIEW : Check _getfontformat.html\r
 \r
 // Alerts and Messages\r
 ProcessingXHTML                : "XHTML feldolgozása. Kérem várjon...",\r
@@ -161,7 +148,6 @@ UnknownToolbarSet   : "Az eszközkészlet \"%1\" nem létezik",
 NoActiveX                      : "A böngésző biztonsági beállításai korlátozzák a szerkesztő lehetőségeit. Engedélyezni kell ezt az opciót: \"Run ActiveX controls and plug-ins\". Ettől függetlenül előfordulhatnak hibaüzenetek ill. bizonyos funkciók hiányozhatnak.",\r
 BrowseServerBlocked : "Nem lehet megnyitni a fájlböngészőt. Bizonyosodjon meg róla, hogy a felbukkanó ablakok engedélyezve vannak.",\r
 DialogBlocked          : "Nem lehet megnyitni a párbeszédablakot. Bizonyosodjon meg róla, hogy a felbukkanó ablakok engedélyezve vannak.",\r
-VisitLinkBlocked       : "It was not possible to open a new window. Make sure all popup blockers are disabled.",       //MISSING\r
 \r
 // Dialogs\r
 DlgBtnOK                       : "Rendben",\r
@@ -243,7 +229,7 @@ DlgLnkURL                   : "Webcím",
 DlgLnkAnchorSel                : "Horgony választása",\r
 DlgLnkAnchorByName     : "Horgony név szerint",\r
 DlgLnkAnchorById       : "Azonosító szerint",\r
-DlgLnkNoAnchors                : "(Nincs horgony a dokumentumban)",\r
+DlgLnkNoAnchors                : "<Nincs horgony a dokumentumban>",            //REVIEW : Change < and > with ( and )\r
 DlgLnkEMail                    : "E-Mail cím",\r
 DlgLnkEMailSubject     : "Üzenet tárgya",\r
 DlgLnkEMailBody                : "Üzenet",\r
@@ -308,11 +294,6 @@ DlgTableCellSpace  : "Cella térköz",
 DlgTableCellPad                : "Cella belső margó",\r
 DlgTableCaption                : "Felirat",\r
 DlgTableSummary                : "Leírás",\r
-DlgTableHeaders                : "Headers",    //MISSING\r
-DlgTableHeadersNone            : "None",       //MISSING\r
-DlgTableHeadersColumn  : "First column",       //MISSING\r
-DlgTableHeadersRow             : "First Row",  //MISSING\r
-DlgTableHeadersBoth            : "Both",       //MISSING\r
 \r
 // Table Cell Dialog\r
 DlgCellTitle           : "Cella tulajdonságai",\r
@@ -335,18 +316,12 @@ DlgCellVerAlignTop        : "Tetejére",
 DlgCellVerAlignMiddle  : "Középre",\r
 DlgCellVerAlignBottom  : "Aljára",\r
 DlgCellVerAlignBaseline        : "Egyvonalba",\r
-DlgCellType            : "Cell Type",  //MISSING\r
-DlgCellTypeData                : "Data",       //MISSING\r
-DlgCellTypeHeader      : "Header",     //MISSING\r
 DlgCellRowSpan         : "Sorok egyesítése",\r
 DlgCellCollSpan                : "Oszlopok egyesítése",\r
 DlgCellBackColor       : "Háttérszín",\r
 DlgCellBorderColor     : "Szegélyszín",\r
 DlgCellBtnSelect       : "Kiválasztás...",\r
 \r
-// Find and Replace Dialog\r
-DlgFindAndReplaceTitle : "Keresés és csere",\r
-\r
 // Find Dialog\r
 DlgFindTitle           : "Keresés",\r
 DlgFindFindBtn         : "Keresés",\r
@@ -369,9 +344,10 @@ PasteAsText                : "Beillesztés formázatlan szövegként",
 PasteFromWord  : "Beillesztés Word-ből",\r
 \r
 DlgPasteMsg2   : "Másolja be az alábbi mezőbe a <STRONG>Ctrl+V</STRONG> billentyűk lenyomásával, majd nyomjon <STRONG>Rendben</STRONG>-t.",\r
-DlgPasteSec            : "A böngésző biztonsági beállításai miatt a szerkesztő nem képes hozzáférni a vágólap adataihoz. Illeszd be újra ebben az ablakban.",\r
+DlgPasteSec            : "Because of your browser security settings, the editor is not able to access your clipboard data directly. You are required to paste it again in this window.",       //MISSING\r
 DlgPasteIgnoreFont             : "Betű formázások megszüntetése",\r
 DlgPasteRemoveStyles   : "Stílusok eltávolítása",\r
+DlgPasteCleanBox               : "Törlés",\r
 \r
 // Color Picker\r
 ColorAutomatic : "Automatikus",\r
@@ -524,16 +500,5 @@ DlgAboutAboutTab   : "Névjegy",
 DlgAboutBrowserInfoTab : "Böngésző információ",\r
 DlgAboutLicenseTab     : "Licensz",\r
 DlgAboutVersion                : "verzió",\r
-DlgAboutInfo           : "További információkért látogasson el ide:",\r
-\r
-// Div Dialog\r
-DlgDivGeneralTab       : "General",    //MISSING\r
-DlgDivAdvancedTab      : "Advanced",   //MISSING\r
-DlgDivStyle            : "Style",      //MISSING\r
-DlgDivInlineStyle      : "Inline Style",       //MISSING\r
-\r
-ScaytTitle                     : "SCAYT",      //MISSING\r
-ScaytTitleOptions      : "Options",    //MISSING\r
-ScaytTitleLangs                : "Languages",  //MISSING\r
-ScaytTitleAbout                : "About"       //MISSING\r
-};\r
+DlgAboutInfo           : "További információkért látogasson el ide:"\r
+};
\ No newline at end of file
diff --git a/httemplate/elements/fckeditor/editor/lang/is.js b/httemplate/elements/fckeditor/editor/lang/is.js
deleted file mode 100644 (file)
index 3238f7d..0000000
+++ /dev/null
@@ -1,539 +0,0 @@
-/*\r
- * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
- *\r
- * == BEGIN LICENSE ==\r
- *\r
- * Licensed under the terms of any of the following licenses at your\r
- * choice:\r
- *\r
- *  - GNU General Public License Version 2 or later (the "GPL")\r
- *    http://www.gnu.org/licenses/gpl.html\r
- *\r
- *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")\r
- *    http://www.gnu.org/licenses/lgpl.html\r
- *\r
- *  - Mozilla Public License Version 1.1 or later (the "MPL")\r
- *    http://www.mozilla.org/MPL/MPL-1.1.html\r
- *\r
- * == END LICENSE ==\r
- *\r
- * Icelandic language file.\r
- */\r
-\r
-var FCKLang =\r
-{\r
-// Language direction : "ltr" (left to right) or "rtl" (right to left).\r
-Dir                                    : "ltr",\r
-\r
-ToolbarCollapse                : "Fela verkstiku",\r
-ToolbarExpand          : "Sýna verkstiku",\r
-\r
-// Toolbar Items and Context Menu\r
-Save                           : "Vista",\r
-NewPage                                : "Ný síða",\r
-Preview                                : "Forskoða",\r
-Cut                                    : "Klippa",\r
-Copy                           : "Afrita",\r
-Paste                          : "Líma",\r
-PasteText                      : "Líma ósniðinn texta",\r
-PasteWord                      : "Líma úr Word",\r
-Print                          : "Prenta",\r
-SelectAll                      : "Velja allt",\r
-RemoveFormat           : "Fjarlægja snið",\r
-InsertLinkLbl          : "Stikla",\r
-InsertLink                     : "Stofna/breyta stiklu",\r
-RemoveLink                     : "Fjarlægja stiklu",\r
-VisitLink                      : "Opna stiklusíðu",\r
-Anchor                         : "Stofna/breyta kaflamerki",\r
-AnchorDelete           : "Eyða kaflamerki",\r
-InsertImageLbl         : "Setja inn mynd",\r
-InsertImage                    : "Setja inn/breyta mynd",\r
-InsertFlashLbl         : "Flash",\r
-InsertFlash                    : "Setja inn/breyta Flash",\r
-InsertTableLbl         : "Tafla",\r
-InsertTable                    : "Setja inn/breyta töflu",\r
-InsertLineLbl          : "Lína",\r
-InsertLine                     : "Lóðrétt lína",\r
-InsertSpecialCharLbl: "Merki",\r
-InsertSpecialChar      : "Setja inn merki",\r
-InsertSmileyLbl                : "Svipur",\r
-InsertSmiley           : "Setja upp svip",\r
-About                          : "Um FCKeditor",\r
-Bold                           : "Feitletrað",\r
-Italic                         : "Skáletrað",\r
-Underline                      : "Undirstrikað",\r
-StrikeThrough          : "Yfirstrikað",\r
-Subscript                      : "Niðurskrifað",\r
-Superscript                    : "Uppskrifað",\r
-LeftJustify                    : "Vinstrijöfnun",\r
-CenterJustify          : "Miðja texta",\r
-RightJustify           : "Hægrijöfnun",\r
-BlockJustify           : "Jafna báðum megin",\r
-DecreaseIndent         : "Auka inndrátt",\r
-IncreaseIndent         : "Minnka inndrátt",\r
-Blockquote                     : "Inndráttur",\r
-CreateDiv                      : "Búa til DIV-hýsil",\r
-EditDiv                                : "Breyta DIV-hýsli",\r
-DeleteDiv                      : "Eyða DIV-hýsli",\r
-Undo                           : "Afturkalla",\r
-Redo                           : "Hætta við afturköllun",\r
-NumberedListLbl                : "Númeraður listi",\r
-NumberedList           : "Setja inn/fella númeraðan lista",\r
-BulletedListLbl                : "Punktalisti",\r
-BulletedList           : "Setja inn/fella punktalista",\r
-ShowTableBorders       : "Sýna töflugrind",\r
-ShowDetails                    : "Sýna smáatriði",\r
-Style                          : "Stílflokkur",\r
-FontFormat                     : "Stílsnið",\r
-Font                           : "Leturgerð ",\r
-FontSize                       : "Leturstærð ",\r
-TextColor                      : "Litur texta",\r
-BGColor                                : "Bakgrunnslitur",\r
-Source                         : "Kóði",\r
-Find                           : "Leita",\r
-Replace                                : "Skipta út",\r
-SpellCheck                     : "Villuleit",\r
-UniversalKeyboard      : "Hnattrænt lyklaborð",\r
-PageBreakLbl           : "Síðuskil",\r
-PageBreak                      : "Setja inn síðuskil",\r
-\r
-Form                   : "Setja inn innsláttarform",\r
-Checkbox               : "Setja inn hökunarreit",\r
-RadioButton            : "Setja inn valhnapp",\r
-TextField              : "Setja inn textareit",\r
-Textarea               : "Setja inn textasvæði",\r
-HiddenField            : "Setja inn falið svæði",\r
-Button                 : "Setja inn hnapp",\r
-SelectionField : "Setja inn lista",\r
-ImageButton            : "Setja inn myndahnapp",\r
-\r
-FitWindow              : "Skoða ritil í fullri stærð",\r
-ShowBlocks             : "Sýna blokkir",\r
-\r
-// Context Menu\r
-EditLink                       : "Breyta stiklu",\r
-CellCM                         : "Reitur",\r
-RowCM                          : "Röð",\r
-ColumnCM                       : "Dálkur",\r
-InsertRowAfter         : "Skjóta inn röð fyrir neðan",\r
-InsertRowBefore                : "Skjóta inn röð fyrir ofan",\r
-DeleteRows                     : "Eyða röð",\r
-InsertColumnAfter      : "Skjóta inn dálki hægra megin",\r
-InsertColumnBefore     : "Skjóta inn dálki vinstra megin",\r
-DeleteColumns          : "Fella dálk",\r
-InsertCellAfter                : "Skjóta inn reiti fyrir framan",\r
-InsertCellBefore       : "Skjóta inn reiti fyrir aftan",\r
-DeleteCells                    : "Fella reit",\r
-MergeCells                     : "Sameina reiti",\r
-MergeRight                     : "Sameina til hægri",\r
-MergeDown                      : "Sameina niður á við",\r
-HorizontalSplitCell    : "Kljúfa reit lárétt",\r
-VerticalSplitCell      : "Kljúfa reit lóðrétt",\r
-TableDelete                    : "Fella töflu",\r
-CellProperties         : "Eigindi reits",\r
-TableProperties                : "Eigindi töflu",\r
-ImageProperties                : "Eigindi myndar",\r
-FlashProperties                : "Eigindi Flash",\r
-\r
-AnchorProp                     : "Eigindi kaflamerkis",\r
-ButtonProp                     : "Eigindi hnapps",\r
-CheckboxProp           : "Eigindi markreits",\r
-HiddenFieldProp                : "Eigindi falins svæðis",\r
-RadioButtonProp                : "Eigindi valhnapps",\r
-ImageButtonProp                : "Eigindi myndahnapps",\r
-TextFieldProp          : "Eigindi textareits",\r
-SelectionFieldProp     : "Eigindi lista",\r
-TextareaProp           : "Eigindi textasvæðis",\r
-FormProp                       : "Eigindi innsláttarforms",\r
-\r
-FontFormats                    : "Venjulegt letur;Forsniðið;Vistfang;Fyrirsögn 1;Fyrirsögn 2;Fyrirsögn 3;Fyrirsögn 4;Fyrirsögn 5;Fyrirsögn 6;Venjulegt (DIV)",\r
-\r
-// Alerts and Messages\r
-ProcessingXHTML                : "Meðhöndla XHTML...",\r
-Done                           : "Tilbúið",\r
-PasteWordConfirm       : "Textinn sem þú ætlar að líma virðist koma úr Word. Viltu hreinsa óþarfar Word-skipanir úr honum?",\r
-NotCompatiblePaste     : "Þessi aðgerð er bundin við Internet Explorer 5.5 og nýrri. Viltu líma textann án þess að hreinsa hann?",\r
-UnknownToolbarItem     : "Óþekktur hlutur í verkstiku \"%1\"!",\r
-UnknownCommand         : "Óþekkt skipanaheiti \"%1\"!",\r
-NotImplemented         : "Skipun ekki virkjuð!",\r
-UnknownToolbarSet      : "Verkstikan \"%1\" ekki til!",\r
-NoActiveX                      : "Öryggisstillingarnar í vafranum þínum leyfa ekki alla möguleika ritilsins.<br>Láttu vafrann leyfa Active-X og viðbætur til að komast hjá villum og takmörkunum.",\r
-BrowseServerBlocked : "Ritillinn getur ekki opnað nauðsynlega hjálparglugga!<br>Láttu hann leyfa þessari síðu að opna sprettiglugga.",\r
-DialogBlocked          : "Ekki var hægt að opna skipanaglugga!<br>Nauðsynlegt er að leyfa síðunni að opna sprettiglugga.",\r
-VisitLinkBlocked       : "Ekki var hægt að opna nýjan glugga. Gangtu úr skugga um að engir sprettigluggabanar séu virkir.",\r
-\r
-// Dialogs\r
-DlgBtnOK                       : "Í lagi",\r
-DlgBtnCancel           : "Hætta við",\r
-DlgBtnClose                    : "Loka",\r
-DlgBtnBrowseServer     : "Fletta í skjalasafni",\r
-DlgAdvancedTag         : "Tæknilegt",\r
-DlgOpOther                     : "<Annað>",\r
-DlgInfoTab                     : "Upplýsingar",\r
-DlgAlertUrl                    : "Sláðu inn slóð",\r
-\r
-// General Dialogs Labels\r
-DlgGenNotSet           : "<ekkert valið>",\r
-DlgGenId                       : "Auðkenni",\r
-DlgGenLangDir          : "Lesstefna",\r
-DlgGenLangDirLtr       : "Frá vinstri til hægri (LTR)",\r
-DlgGenLangDirRtl       : "Frá hægri til vinstri (RTL)",\r
-DlgGenLangCode         : "Tungumálakóði",\r
-DlgGenAccessKey                : "Skammvalshnappur",\r
-DlgGenName                     : "Nafn",\r
-DlgGenTabIndex         : "Raðnúmer innsláttarreits",\r
-DlgGenLongDescr                : "Nánari lýsing",\r
-DlgGenClass                    : "Stílsniðsflokkur",\r
-DlgGenTitle                    : "Titill",\r
-DlgGenContType         : "Tegund innihalds",\r
-DlgGenLinkCharset      : "Táknróf",\r
-DlgGenStyle                    : "Stíll",\r
-\r
-// Image Dialog\r
-DlgImgTitle                    : "Eigindi myndar",\r
-DlgImgInfoTab          : "Almennt",\r
-DlgImgBtnUpload                : "Hlaða upp",\r
-DlgImgURL                      : "Vefslóð",\r
-DlgImgUpload           : "Hlaða upp",\r
-DlgImgAlt                      : "Baklægur texti",\r
-DlgImgWidth                    : "Breidd",\r
-DlgImgHeight           : "Hæð",\r
-DlgImgLockRatio                : "Festa stærðarhlutfall",\r
-DlgBtnResetSize                : "Reikna stærð",\r
-DlgImgBorder           : "Rammi",\r
-DlgImgHSpace           : "Vinstri bil",\r
-DlgImgVSpace           : "Hægri bil",\r
-DlgImgAlign                    : "Jöfnun",\r
-DlgImgAlignLeft                : "Vinstri",\r
-DlgImgAlignAbsBottom: "Abs neðst",\r
-DlgImgAlignAbsMiddle: "Abs miðjuð",\r
-DlgImgAlignBaseline    : "Grunnlína",\r
-DlgImgAlignBottom      : "Neðst",\r
-DlgImgAlignMiddle      : "Miðjuð",\r
-DlgImgAlignRight       : "Hægri",\r
-DlgImgAlignTextTop     : "Efri brún texta",\r
-DlgImgAlignTop         : "Efst",\r
-DlgImgPreview          : "Sýna dæmi",\r
-DlgImgAlertUrl         : "Sláðu inn slóðina að myndinni",\r
-DlgImgLinkTab          : "Stikla",\r
-\r
-// Flash Dialog\r
-DlgFlashTitle          : "Eigindi Flash",\r
-DlgFlashChkPlay                : "Sjálfvirk spilun",\r
-DlgFlashChkLoop                : "Endurtekning",\r
-DlgFlashChkMenu                : "Sýna Flash-valmynd",\r
-DlgFlashScale          : "Skali",\r
-DlgFlashScaleAll       : "Sýna allt",\r
-DlgFlashScaleNoBorder  : "Án ramma",\r
-DlgFlashScaleFit       : "Fella skala að stærð",\r
-\r
-// Link Dialog\r
-DlgLnkWindowTitle      : "Stikla",\r
-DlgLnkInfoTab          : "Almennt",\r
-DlgLnkTargetTab                : "Mark",\r
-\r
-DlgLnkType                     : "Stikluflokkur",\r
-DlgLnkTypeURL          : "Vefslóð",\r
-DlgLnkTypeAnchor       : "Bókamerki á þessari síðu",\r
-DlgLnkTypeEMail                : "Netfang",\r
-DlgLnkProto                    : "Samskiptastaðall",\r
-DlgLnkProtoOther       : "<annað>",\r
-DlgLnkURL                      : "Vefslóð",\r
-DlgLnkAnchorSel                : "Veldu akkeri",\r
-DlgLnkAnchorByName     : "Eftir akkerisnafni",\r
-DlgLnkAnchorById       : "Eftir auðkenni einingar",\r
-DlgLnkNoAnchors                : "<Engin bókamerki á skrá>",\r
-DlgLnkEMail                    : "Netfang",\r
-DlgLnkEMailSubject     : "Efni",\r
-DlgLnkEMailBody                : "Meginmál",\r
-DlgLnkUpload           : "Senda upp",\r
-DlgLnkBtnUpload                : "Senda upp",\r
-\r
-DlgLnkTarget           : "Mark",\r
-DlgLnkTargetFrame      : "<rammi>",\r
-DlgLnkTargetPopup      : "<sprettigluggi>",\r
-DlgLnkTargetBlank      : "Nýr gluggi (_blank)",\r
-DlgLnkTargetParent     : "Yfirsettur rammi (_parent)",\r
-DlgLnkTargetSelf       : "Sami gluggi (_self)",\r
-DlgLnkTargetTop                : "Allur glugginn (_top)",\r
-DlgLnkTargetFrameName  : "Nafn markglugga",\r
-DlgLnkPopWinName       : "Nafn sprettiglugga",\r
-DlgLnkPopWinFeat       : "Eigindi sprettiglugga",\r
-DlgLnkPopResize                : "Skölun",\r
-DlgLnkPopLocation      : "Fanglína",\r
-DlgLnkPopMenu          : "Vallína",\r
-DlgLnkPopScroll                : "Skrunstikur",\r
-DlgLnkPopStatus                : "Stöðustika",\r
-DlgLnkPopToolbar       : "Verkfærastika",\r
-DlgLnkPopFullScrn      : "Heilskjár (IE)",\r
-DlgLnkPopDependent     : "Háð venslum (Netscape)",\r
-DlgLnkPopWidth         : "Breidd",\r
-DlgLnkPopHeight                : "Hæð",\r
-DlgLnkPopLeft          : "Fjarlægð frá vinstri",\r
-DlgLnkPopTop           : "Fjarlægð frá efri brún",\r
-\r
-DlnLnkMsgNoUrl         : "Sláðu inn veffang stiklunnar!",\r
-DlnLnkMsgNoEMail       : "Sláðu inn netfang!",\r
-DlnLnkMsgNoAnchor      : "Veldu fyrst eitthvert bókamerki!",\r
-DlnLnkMsgInvPopName    : "Sprettisíðan verður að byrja á bókstaf (a-z) og má ekki innihalda stafabil",\r
-\r
-// Color Dialog\r
-DlgColorTitle          : "Velja lit",\r
-DlgColorBtnClear       : "Núllstilla",\r
-DlgColorHighlight      : "Litmerkja",\r
-DlgColorSelected       : "Valið",\r
-\r
-// Smiley Dialog\r
-DlgSmileyTitle         : "Velja svip",\r
-\r
-// Special Character Dialog\r
-DlgSpecialCharTitle    : "Velja tákn",\r
-\r
-// Table Dialog\r
-DlgTableTitle          : "Eigindi töflu",\r
-DlgTableRows           : "Raðir",\r
-DlgTableColumns                : "Dálkar",\r
-DlgTableBorder         : "Breidd ramma",\r
-DlgTableAlign          : "Jöfnun",\r
-DlgTableAlignNotSet    : "<ekkert valið>",\r
-DlgTableAlignLeft      : "Vinstrijafnað",\r
-DlgTableAlignCenter    : "Miðjað",\r
-DlgTableAlignRight     : "Hægrijafnað",\r
-DlgTableWidth          : "Breidd",\r
-DlgTableWidthPx                : "myndeindir",\r
-DlgTableWidthPc                : "prósent",\r
-DlgTableHeight         : "Hæð",\r
-DlgTableCellSpace      : "Bil milli reita",\r
-DlgTableCellPad                : "Reitaspássía",\r
-DlgTableCaption                : "Titill",\r
-DlgTableSummary                : "Áfram",\r
-DlgTableHeaders                : "Fyrirsagnir",\r
-DlgTableHeadersNone            : "Engar",\r
-DlgTableHeadersColumn  : "Fyrsti dálkur",\r
-DlgTableHeadersRow             : "Fyrsta röð",\r
-DlgTableHeadersBoth            : "Hvort tveggja",\r
-\r
-// Table Cell Dialog\r
-DlgCellTitle           : "Eigindi reits",\r
-DlgCellWidth           : "Breidd",\r
-DlgCellWidthPx         : "myndeindir",\r
-DlgCellWidthPc         : "prósent",\r
-DlgCellHeight          : "Hæð",\r
-DlgCellWordWrap                : "Línuskipting",\r
-DlgCellWordWrapNotSet  : "<ekkert valið>",\r
-DlgCellWordWrapYes     : "Já",\r
-DlgCellWordWrapNo      : "Nei",\r
-DlgCellHorAlign                : "Lárétt jöfnun",\r
-DlgCellHorAlignNotSet  : "<ekkert valið>",\r
-DlgCellHorAlignLeft    : "Vinstrijafnað",\r
-DlgCellHorAlignCenter  : "Miðjað",\r
-DlgCellHorAlignRight: "Hægrijafnað",\r
-DlgCellVerAlign                : "Lóðrétt jöfnun",\r
-DlgCellVerAlignNotSet  : "<ekkert valið>",\r
-DlgCellVerAlignTop     : "Efst",\r
-DlgCellVerAlignMiddle  : "Miðjað",\r
-DlgCellVerAlignBottom  : "Neðst",\r
-DlgCellVerAlignBaseline        : "Grunnlína",\r
-DlgCellType            : "Tegund reits",\r
-DlgCellTypeData                : "Gögn",\r
-DlgCellTypeHeader      : "Fyrirsögn",\r
-DlgCellRowSpan         : "Hæð í röðum talið",\r
-DlgCellCollSpan                : "Breidd í dálkum talið",\r
-DlgCellBackColor       : "Bakgrunnslitur",\r
-DlgCellBorderColor     : "Rammalitur",\r
-DlgCellBtnSelect       : "Veldu...",\r
-\r
-// Find and Replace Dialog\r
-DlgFindAndReplaceTitle : "Finna og skipta",\r
-\r
-// Find Dialog\r
-DlgFindTitle           : "Finna",\r
-DlgFindFindBtn         : "Finna",\r
-DlgFindNotFoundMsg     : "Leitartexti fannst ekki!",\r
-\r
-// Replace Dialog\r
-DlgReplaceTitle                        : "Skipta út",\r
-DlgReplaceFindLbl              : "Leita að:",\r
-DlgReplaceReplaceLbl   : "Skipta út fyrir:",\r
-DlgReplaceCaseChk              : "Gera greinarmun á¡ há¡- og lágstöfum",\r
-DlgReplaceReplaceBtn   : "Skipta út",\r
-DlgReplaceReplAllBtn   : "Skipta út allsstaðar",\r
-DlgReplaceWordChk              : "Aðeins heil orð",\r
-\r
-// Paste Operations / Dialog\r
-PasteErrorCut  : "Öryggisstillingar vafrans þíns leyfa ekki klippingu texta með músaraðgerð. Notaðu lyklaborðið í klippa (Ctrl+X).",\r
-PasteErrorCopy : "Öryggisstillingar vafrans þíns leyfa ekki afritun texta með músaraðgerð. Notaðu lyklaborðið í afrita (Ctrl+C).",\r
-\r
-PasteAsText            : "Líma sem ósniðinn texta",\r
-PasteFromWord  : "Líma úr Word",\r
-\r
-DlgPasteMsg2   : "Límdu í svæðið hér að neðan og (<STRONG>Ctrl+V</STRONG>) og smelltu á <STRONG>OK</STRONG>.",\r
-DlgPasteSec            : "Vegna öryggisstillinga í vafranum þínum fær ritillinn ekki beinan aðgang að klippuborðinu. Þú verður að líma innihaldið aftur inn í þennan glugga.",\r
-DlgPasteIgnoreFont             : "Hunsa leturskilgreiningar",\r
-DlgPasteRemoveStyles   : "Hunsa letureigindi",\r
-\r
-// Color Picker\r
-ColorAutomatic : "Sjálfval",\r
-ColorMoreColors        : "Fleiri liti...",\r
-\r
-// Document Properties\r
-DocProps               : "Eigindi skjals",\r
-\r
-// Anchor Dialog\r
-DlgAnchorTitle         : "Eigindi bókamerkis",\r
-DlgAnchorName          : "Nafn bókamerkis",\r
-DlgAnchorErrorName     : "Sláðu inn nafn bókamerkis!",\r
-\r
-// Speller Pages Dialog\r
-DlgSpellNotInDic               : "Ekki í orðabókinni",\r
-DlgSpellChangeTo               : "Tillaga",\r
-DlgSpellBtnIgnore              : "Hunsa",\r
-DlgSpellBtnIgnoreAll   : "Hunsa allt",\r
-DlgSpellBtnReplace             : "Skipta",\r
-DlgSpellBtnReplaceAll  : "Skipta öllu",\r
-DlgSpellBtnUndo                        : "Til baka",\r
-DlgSpellNoSuggestions  : "- engar tillögur -",\r
-DlgSpellProgress               : "Villuleit í gangi...",\r
-DlgSpellNoMispell              : "Villuleit lokið: Engin villa fannst",\r
-DlgSpellNoChanges              : "Villuleit lokið: Engu orði breytt",\r
-DlgSpellOneChange              : "Villuleit lokið: Einu orði breytt",\r
-DlgSpellManyChanges            : "Villuleit lokið: %1 orðum breytt",\r
-\r
-IeSpellDownload                        : "Villuleit ekki sett upp.<br>Viltu setja hana upp?",\r
-\r
-// Button Dialog\r
-DlgButtonText          : "Texti",\r
-DlgButtonType          : "Gerð",\r
-DlgButtonTypeBtn       : "Hnappur",\r
-DlgButtonTypeSbm       : "Staðfesta",\r
-DlgButtonTypeRst       : "Hreinsa",\r
-\r
-// Checkbox and Radio Button Dialogs\r
-DlgCheckboxName                : "Nafn",\r
-DlgCheckboxValue       : "Gildi",\r
-DlgCheckboxSelected    : "Valið",\r
-\r
-// Form Dialog\r
-DlgFormName            : "Nafn",\r
-DlgFormAction  : "Aðgerð",\r
-DlgFormMethod  : "Aðferð",\r
-\r
-// Select Field Dialog\r
-DlgSelectName          : "Nafn",\r
-DlgSelectValue         : "Gildi",\r
-DlgSelectSize          : "Stærð",\r
-DlgSelectLines         : "línur",\r
-DlgSelectChkMulti      : "Leyfa fleiri kosti",\r
-DlgSelectOpAvail       : "Kostir",\r
-DlgSelectOpText                : "Texti",\r
-DlgSelectOpValue       : "Gildi",\r
-DlgSelectBtnAdd                : "Bæta við",\r
-DlgSelectBtnModify     : "Breyta",\r
-DlgSelectBtnUp         : "Upp",\r
-DlgSelectBtnDown       : "Niður",\r
-DlgSelectBtnSetValue : "Merkja sem valið",\r
-DlgSelectBtnDelete     : "Eyða",\r
-\r
-// Textarea Dialog\r
-DlgTextareaName        : "Nafn",\r
-DlgTextareaCols        : "Dálkar",\r
-DlgTextareaRows        : "Línur",\r
-\r
-// Text Field Dialog\r
-DlgTextName                    : "Nafn",\r
-DlgTextValue           : "Gildi",\r
-DlgTextCharWidth       : "Breidd (leturtákn)",\r
-DlgTextMaxChars                : "Hámarksfjöldi leturtákna",\r
-DlgTextType                    : "Gerð",\r
-DlgTextTypeText                : "Texti",\r
-DlgTextTypePass                : "Lykilorð",\r
-\r
-// Hidden Field Dialog\r
-DlgHiddenName  : "Nafn",\r
-DlgHiddenValue : "Gildi",\r
-\r
-// Bulleted List Dialog\r
-BulletedListProp       : "Eigindi depillista",\r
-NumberedListProp       : "Eigindi tölusetts lista",\r
-DlgLstStart                    : "Byrja",\r
-DlgLstType                     : "Gerð",\r
-DlgLstTypeCircle       : "Hringur",\r
-DlgLstTypeDisc         : "Fylltur hringur",\r
-DlgLstTypeSquare       : "Ferningur",\r
-DlgLstTypeNumbers      : "Tölusett (1, 2, 3)",\r
-DlgLstTypeLCase                : "Lágstafir (a, b, c)",\r
-DlgLstTypeUCase                : "Hástafir (A, B, C)",\r
-DlgLstTypeSRoman       : "Rómverkar lágstafatölur (i, ii, iii)",\r
-DlgLstTypeLRoman       : "Rómverkar hástafatölur (I, II, III)",\r
-\r
-// Document Properties Dialog\r
-DlgDocGeneralTab       : "Almennt",\r
-DlgDocBackTab          : "Bakgrunnur",\r
-DlgDocColorsTab                : "Litir og rammar",\r
-DlgDocMetaTab          : "Lýsigögn",\r
-\r
-DlgDocPageTitle                : "Titill síðu",\r
-DlgDocLangDir          : "Tungumál",\r
-DlgDocLangDirLTR       : "Vinstri til hægri (LTR)",\r
-DlgDocLangDirRTL       : "Hægri til vinstri (RTL)",\r
-DlgDocLangCode         : "Tungumálakóði",\r
-DlgDocCharSet          : "Letursett",\r
-DlgDocCharSetCE                : "Mið-evrópskt",\r
-DlgDocCharSetCT                : "Kínverskt, hefðbundið (Big5)",\r
-DlgDocCharSetCR                : "Kýrilskt",\r
-DlgDocCharSetGR                : "Grískt",\r
-DlgDocCharSetJP                : "Japanskt",\r
-DlgDocCharSetKR                : "Kóreskt",\r
-DlgDocCharSetTR                : "Tyrkneskt",\r
-DlgDocCharSetUN                : "Unicode (UTF-8)",\r
-DlgDocCharSetWE                : "Vestur-evrópst",\r
-DlgDocCharSetOther     : "Annað letursett",\r
-\r
-DlgDocDocType          : "Flokkur skjalategunda",\r
-DlgDocDocTypeOther     : "Annar flokkur skjalategunda",\r
-DlgDocIncXHTML         : "Fella inn XHTML lýsingu",\r
-DlgDocBgColor          : "Bakgrunnslitur",\r
-DlgDocBgImage          : "Slóð bakgrunnsmyndar",\r
-DlgDocBgNoScroll       : "Læstur bakgrunnur",\r
-DlgDocCText                    : "Texti",\r
-DlgDocCLink                    : "Stikla",\r
-DlgDocCVisited         : "Heimsótt stikla",\r
-DlgDocCActive          : "Virk stikla",\r
-DlgDocMargins          : "Hliðarspássía",\r
-DlgDocMaTop                    : "Efst",\r
-DlgDocMaLeft           : "Vinstri",\r
-DlgDocMaRight          : "Hægri",\r
-DlgDocMaBottom         : "Neðst",\r
-DlgDocMeIndex          : "Lykilorð efnisorðaskrár (aðgreind með kommum)",\r
-DlgDocMeDescr          : "Lýsing skjals",\r
-DlgDocMeAuthor         : "Höfundur",\r
-DlgDocMeCopy           : "Höfundarréttur",\r
-DlgDocPreview          : "Sýna",\r
-\r
-// Templates Dialog\r
-Templates                      : "Sniðmát",\r
-DlgTemplatesTitle      : "Innihaldssniðmát",\r
-DlgTemplatesSelMsg     : "Veldu sniðmát til að opna í ritlinum.<br>(Núverandi innihald víkur fyrir því!):",\r
-DlgTemplatesLoading    : "Sæki lista yfir sniðmát...",\r
-DlgTemplatesNoTpl      : "(Ekkert sniðmát er skilgreint!)",\r
-DlgTemplatesReplace    : "Skipta út raunverulegu innihaldi",\r
-\r
-// About Dialog\r
-DlgAboutAboutTab       : "Um",\r
-DlgAboutBrowserInfoTab : "Almennt",\r
-DlgAboutLicenseTab     : "Leyfi",\r
-DlgAboutVersion                : "útgáfa",\r
-DlgAboutInfo           : "Nánari upplýsinar, sjá:",\r
-\r
-// Div Dialog\r
-DlgDivGeneralTab       : "Almennt",\r
-DlgDivAdvancedTab      : "Sérhæft",\r
-DlgDivStyle            : "Stíll",\r
-DlgDivInlineStyle      : "Línulægur stíll",\r
-\r
-ScaytTitle                     : "SCAYT",      //MISSING\r
-ScaytTitleOptions      : "Options",    //MISSING\r
-ScaytTitleLangs                : "Languages",  //MISSING\r
-ScaytTitleAbout                : "About"       //MISSING\r
-};\r
index 51b0d85..a3dee1b 100644 (file)
@@ -1,6 +1,6 @@
 /*\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
@@ -44,9 +44,7 @@ RemoveFormat          : "Elimina formattazione",
 InsertLinkLbl          : "Collegamento",\r
 InsertLink                     : "Inserisci/Modifica collegamento",\r
 RemoveLink                     : "Elimina collegamento",\r
-VisitLink                      : "Open Link",  //MISSING\r
 Anchor                         : "Inserisci/Modifica Ancora",\r
-AnchorDelete           : "Rimuovi Ancora",\r
 InsertImageLbl         : "Immagine",\r
 InsertImage                    : "Inserisci/Modifica immagine",\r
 InsertFlashLbl         : "Oggetto Flash",\r
@@ -72,10 +70,6 @@ RightJustify         : "Allinea a destra",
 BlockJustify           : "Giustifica",\r
 DecreaseIndent         : "Riduci rientro",\r
 IncreaseIndent         : "Aumenta rientro",\r
-Blockquote                     : "Blockquote", //MISSING\r
-CreateDiv                      : "Create Div Container",       //MISSING\r
-EditDiv                                : "Edit Div Container", //MISSING\r
-DeleteDiv                      : "Remove Div Container",       //MISSING\r
 Undo                           : "Annulla",\r
 Redo                           : "Ripristina",\r
 NumberedListLbl                : "Elenco numerato",\r
@@ -109,27 +103,20 @@ SelectionField    : "Menu di selezione",
 ImageButton            : "Bottone immagine",\r
 \r
 FitWindow              : "Massimizza l'area dell'editor",\r
-ShowBlocks             : "Visualizza Blocchi",\r
 \r
 // Context Menu\r
 EditLink                       : "Modifica collegamento",\r
 CellCM                         : "Cella",\r
 RowCM                          : "Riga",\r
 ColumnCM                       : "Colonna",\r
-InsertRowAfter         : "Inserisci Riga Dopo",\r
-InsertRowBefore                : "Inserisci Riga Prima",\r
+InsertRow                      : "Inserisci riga",\r
 DeleteRows                     : "Elimina righe",\r
-InsertColumnAfter      : "Inserisci Colonna Dopo",\r
-InsertColumnBefore     : "Inserisci Colonna Prima",\r
+InsertColumn           : "Inserisci colonna",\r
 DeleteColumns          : "Elimina colonne",\r
-InsertCellAfter                : "Inserisci Cella Dopo",\r
-InsertCellBefore       : "Inserisci Cella Prima",\r
+InsertCell                     : "Inserisci cella",\r
 DeleteCells                    : "Elimina celle",\r
 MergeCells                     : "Unisce celle",\r
-MergeRight                     : "Unisci a Destra",\r
-MergeDown                      : "Unisci in Basso",\r
-HorizontalSplitCell    : "Dividi Cella Orizzontalmente",\r
-VerticalSplitCell      : "Dividi Cella Verticalmente",\r
+SplitCell                      : "Dividi celle",\r
 TableDelete                    : "Cancella Tabella",\r
 CellProperties         : "Proprietà cella",\r
 TableProperties                : "Proprietà tabella",\r
@@ -147,7 +134,7 @@ SelectionFieldProp  : "Proprietà menu di selezione",
 TextareaProp           : "Proprietà area di testo",\r
 FormProp                       : "Proprietà modulo",\r
 \r
-FontFormats                    : "Normale;Formattato;Indirizzo;Titolo 1;Titolo 2;Titolo 3;Titolo 4;Titolo 5;Titolo 6;Paragrafo (DIV)",\r
+FontFormats                    : "Normale;Formattato;Indirizzo;Titolo 1;Titolo 2;Titolo 3;Titolo 4;Titolo 5;Titolo 6;Paragrafo (DIV)",         //REVIEW : Check _getfontformat.html\r
 \r
 // Alerts and Messages\r
 ProcessingXHTML                : "Elaborazione XHTML in corso. Attendere prego...",\r
@@ -161,7 +148,6 @@ UnknownToolbarSet   : "La barra di strumenti \"%1\" non esiste",
 NoActiveX                      : "Le impostazioni di sicurezza del tuo browser potrebbero limitare alcune funzionalità dell'editor. Devi abilitare l'opzione \"Esegui controlli e plug-in ActiveX\". Potresti avere errori e notare funzionalità mancanti.",\r
 BrowseServerBlocked : "Non è possibile aprire la finestra di espolorazione risorse. Verifica che tutti i blocca popup siano bloccati.",\r
 DialogBlocked          : "Non è possibile aprire la finestra di dialogo. Verifica che tutti i blocca popup siano bloccati.",\r
-VisitLinkBlocked       : "It was not possible to open a new window. Make sure all popup blockers are disabled.",       //MISSING\r
 \r
 // Dialogs\r
 DlgBtnOK                       : "OK",\r
@@ -243,7 +229,7 @@ DlgLnkURL                   : "URL",
 DlgLnkAnchorSel                : "Scegli Ancora",\r
 DlgLnkAnchorByName     : "Per Nome",\r
 DlgLnkAnchorById       : "Per id elemento",\r
-DlgLnkNoAnchors                : "(Nessuna ancora disponibile nel documento)",\r
+DlgLnkNoAnchors                : "<Nessuna ancora disponibile nel documento>",         //REVIEW : Change < and > with ( and )\r
 DlgLnkEMail                    : "Indirizzo E-Mail",\r
 DlgLnkEMailSubject     : "Oggetto del messaggio",\r
 DlgLnkEMailBody                : "Corpo del messaggio",\r
@@ -308,11 +294,6 @@ DlgTableCellSpace  : "Spaziatura celle",
 DlgTableCellPad                : "Padding celle",\r
 DlgTableCaption                : "Intestazione",\r
 DlgTableSummary                : "Indice",\r
-DlgTableHeaders                : "Headers",    //MISSING\r
-DlgTableHeadersNone            : "None",       //MISSING\r
-DlgTableHeadersColumn  : "First column",       //MISSING\r
-DlgTableHeadersRow             : "First Row",  //MISSING\r
-DlgTableHeadersBoth            : "Both",       //MISSING\r
 \r
 // Table Cell Dialog\r
 DlgCellTitle           : "Proprietà cella",\r
@@ -335,18 +316,12 @@ DlgCellVerAlignTop        : "In Alto",
 DlgCellVerAlignMiddle  : "Centrato",\r
 DlgCellVerAlignBottom  : "In Basso",\r
 DlgCellVerAlignBaseline        : "Linea base",\r
-DlgCellType            : "Cell Type",  //MISSING\r
-DlgCellTypeData                : "Data",       //MISSING\r
-DlgCellTypeHeader      : "Header",     //MISSING\r
 DlgCellRowSpan         : "Righe occupate",\r
 DlgCellCollSpan                : "Colonne occupate",\r
 DlgCellBackColor       : "Colore sfondo",\r
 DlgCellBorderColor     : "Colore bordo",\r
 DlgCellBtnSelect       : "Scegli...",\r
 \r
-// Find and Replace Dialog\r
-DlgFindAndReplaceTitle : "Cerca e Sostituisci",\r
-\r
 // Find Dialog\r
 DlgFindTitle           : "Trova",\r
 DlgFindFindBtn         : "Trova",\r
@@ -369,9 +344,10 @@ PasteAsText                : "Incolla come testo semplice",
 PasteFromWord  : "Incolla da Word",\r
 \r
 DlgPasteMsg2   : "Incolla il testo all'interno dell'area sottostante usando la scorciatoia di tastiere (<STRONG>Ctrl+V</STRONG>) e premi <STRONG>OK</STRONG>.",\r
-DlgPasteSec            : "A causa delle impostazioni di sicurezza del browser,l'editor non è in grado di accedere direttamente agli appunti. E' pertanto necessario incollarli di nuovo in questa finestra.",\r
+DlgPasteSec            : "Because of your browser security settings, the editor is not able to access your clipboard data directly. You are required to paste it again in this window.",       //MISSING\r
 DlgPasteIgnoreFont             : "Ignora le definizioni di Font",\r
 DlgPasteRemoveStyles   : "Rimuovi le definizioni di Stile",\r
+DlgPasteCleanBox               : "Svuota area di testo",\r
 \r
 // Color Picker\r
 ColorAutomatic : "Automatico",\r
@@ -524,16 +500,5 @@ DlgAboutAboutTab   : "Informazioni",
 DlgAboutBrowserInfoTab : "Informazioni Browser",\r
 DlgAboutLicenseTab     : "Licenza",\r
 DlgAboutVersion                : "versione",\r
-DlgAboutInfo           : "Per maggiori informazioni visitare",\r
-\r
-// Div Dialog\r
-DlgDivGeneralTab       : "General",    //MISSING\r
-DlgDivAdvancedTab      : "Advanced",   //MISSING\r
-DlgDivStyle            : "Style",      //MISSING\r
-DlgDivInlineStyle      : "Inline Style",       //MISSING\r
-\r
-ScaytTitle                     : "SCAYT",      //MISSING\r
-ScaytTitleOptions      : "Options",    //MISSING\r
-ScaytTitleLangs                : "Languages",  //MISSING\r
-ScaytTitleAbout                : "About"       //MISSING\r
-};\r
+DlgAboutInfo           : "Per maggiori informazioni visitare"\r
+};
\ No newline at end of file
index b7dde04..c567d21 100644 (file)
@@ -1,6 +1,6 @@
 /*\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
@@ -44,9 +44,7 @@ RemoveFormat          : "フォーマット削除",
 InsertLinkLbl          : "リンク",\r
 InsertLink                     : "リンク挿入/編集",\r
 RemoveLink                     : "リンク削除",\r
-VisitLink                      : "リンクを開く",\r
 Anchor                         : "アンカー挿入/編集",\r
-AnchorDelete           : "アンカー削除",\r
 InsertImageLbl         : "イメージ",\r
 InsertImage                    : "イメージ挿入/編集",\r
 InsertFlashLbl         : "Flash",\r
@@ -72,10 +70,6 @@ RightJustify         : "右揃え",
 BlockJustify           : "両端揃え",\r
 DecreaseIndent         : "インデント解除",\r
 IncreaseIndent         : "インデント",\r
-Blockquote                     : "ブロック引用",\r
-CreateDiv                      : "Div 作成",\r
-EditDiv                                : "Div 編集",\r
-DeleteDiv                      : "Div 削除",\r
 Undo                           : "元に戻す",\r
 Redo                           : "やり直し",\r
 NumberedListLbl                : "段落番号",\r
@@ -109,27 +103,20 @@ SelectionField    : "選択フィールド",
 ImageButton            : "画像ボタン",\r
 \r
 FitWindow              : "エディタサイズを最大にします",\r
-ShowBlocks             : "ブロック表示",\r
 \r
 // Context Menu\r
 EditLink                       : "リンク編集",\r
 CellCM                         : "セル",\r
 RowCM                          : "行",\r
 ColumnCM                       : "カラム",\r
-InsertRowAfter         : "列の後に挿入",\r
-InsertRowBefore                : "列の前に挿入",\r
+InsertRow                      : "行挿入",\r
 DeleteRows                     : "行削除",\r
-InsertColumnAfter      : "カラムの後に挿入",\r
-InsertColumnBefore     : "カラムの前に挿入",\r
+InsertColumn           : "列挿入",\r
 DeleteColumns          : "列削除",\r
-InsertCellAfter                : "セルの後に挿入",\r
-InsertCellBefore       : "セルの前に挿入",\r
+InsertCell                     : "セル挿入",\r
 DeleteCells                    : "セル削除",\r
 MergeCells                     : "セル結合",\r
-MergeRight                     : "右に結合",\r
-MergeDown                      : "下に結合",\r
-HorizontalSplitCell    : "セルを水平方向分割",\r
-VerticalSplitCell      : "セルを垂直方向に分割",\r
+SplitCell                      : "セル分割",\r
 TableDelete                    : "テーブル削除",\r
 CellProperties         : "セル プロパティ",\r
 TableProperties                : "テーブル プロパティ",\r
@@ -147,7 +134,7 @@ SelectionFieldProp  : "選択フィールド プロパティ",
 TextareaProp           : "テキストエリア プロパティ",\r
 FormProp                       : "フォーム プロパティ",\r
 \r
-FontFormats                    : "標準;書式付き;アドレス;見出し 1;見出し 2;見出し 3;見出し 4;見出し 5;見出し 6;標準 (DIV)",\r
+FontFormats                    : "標準;書式付き;アドレス;見出し 1;見出し 2;見出し 3;見出し 4;見出し 5;見出し 6;標準 (DIV)",              //REVIEW : Check _getfontformat.html\r
 \r
 // Alerts and Messages\r
 ProcessingXHTML                : "XHTML処理中. しばらくお待ちください...",\r
@@ -161,7 +148,6 @@ UnknownToolbarSet   : "ツールバー設定 \"%1\" 存在しません。",
 NoActiveX                      : "エラー、警告メッセージなどが発生した場合、ブラウザーのセキュリティ設定によりエディタのいくつかの機能が制限されている可能性があります。セキュリティ設定のオプションで\"ActiveXコントロールとプラグインの実行\"を有効にするにしてください。",\r
 BrowseServerBlocked : "サーバーブラウザーを開くことができませんでした。ポップアップ・ブロック機能が無効になっているか確認してください。",\r
 DialogBlocked          : "ダイアログウィンドウを開くことができませんでした。ポップアップ・ブロック機能が無効になっているか確認してください。",\r
-VisitLinkBlocked       : "新しいウィンドウを開くことができませんでした。ポップアップ・ブロック機能が無効になっているか確認してください。",\r
 \r
 // Dialogs\r
 DlgBtnOK                       : "OK",\r
@@ -243,7 +229,7 @@ DlgLnkURL                   : "URL",
 DlgLnkAnchorSel                : "アンカーを選択",\r
 DlgLnkAnchorByName     : "アンカー名",\r
 DlgLnkAnchorById       : "エレメントID",\r
-DlgLnkNoAnchors                : "(ドキュメントにおいて利用可能なアンカーはありません。)",\r
+DlgLnkNoAnchors                : "<ドキュメントにおいて利用可能なアンカーはありません。>",           //REVIEW : Change < and > with ( and )\r
 DlgLnkEMail                    : "E-Mail アドレス",\r
 DlgLnkEMailSubject     : "件名",\r
 DlgLnkEMailBody                : "本文",\r
@@ -308,11 +294,6 @@ DlgTableCellSpace  : "セル内余白",
 DlgTableCellPad                : "セル内間隔",\r
 DlgTableCaption                : "キャプション",\r
 DlgTableSummary                : "テーブル目的/構造",\r
-DlgTableHeaders                : "Headers",    //MISSING\r
-DlgTableHeadersNone            : "None",       //MISSING\r
-DlgTableHeadersColumn  : "First column",       //MISSING\r
-DlgTableHeadersRow             : "First Row",  //MISSING\r
-DlgTableHeadersBoth            : "Both",       //MISSING\r
 \r
 // Table Cell Dialog\r
 DlgCellTitle           : "セル プロパティ",\r
@@ -335,18 +316,12 @@ DlgCellVerAlignTop        : "上",
 DlgCellVerAlignMiddle  : "中央",\r
 DlgCellVerAlignBottom  : "下",\r
 DlgCellVerAlignBaseline        : "ベースライン",\r
-DlgCellType            : "Cell Type",  //MISSING\r
-DlgCellTypeData                : "Data",       //MISSING\r
-DlgCellTypeHeader      : "Header",     //MISSING\r
 DlgCellRowSpan         : "縦幅(行数)",\r
 DlgCellCollSpan                : "横幅(列数)",\r
 DlgCellBackColor       : "背景色",\r
 DlgCellBorderColor     : "ボーダーカラー",\r
 DlgCellBtnSelect       : "選択...",\r
 \r
-// Find and Replace Dialog\r
-DlgFindAndReplaceTitle : "検索して置換",\r
-\r
 // Find Dialog\r
 DlgFindTitle           : "検索",\r
 DlgFindFindBtn         : "検索",\r
@@ -369,9 +344,10 @@ PasteAsText                : "プレーンテキスト貼り付け",
 PasteFromWord  : "ワード文章から貼り付け",\r
 \r
 DlgPasteMsg2   : "キーボード(<STRONG>Ctrl+V</STRONG>)を使用して、次の入力エリア内で貼って、<STRONG>OK</STRONG>を押してください。",\r
-DlgPasteSec            : "ブラウザのセキュリティ設定により、エディタはクリップボード・データに直接アクセスすることができません。このウィンドウは貼り付け操作を行う度に表示されます。",\r
+DlgPasteSec            : "Because of your browser security settings, the editor is not able to access your clipboard data directly. You are required to paste it again in this window.",       //MISSING\r
 DlgPasteIgnoreFont             : "FontタグのFace属性を無視します。",\r
 DlgPasteRemoveStyles   : "スタイル定義を削除します。",\r
+DlgPasteCleanBox               : "入力エリアクリア",\r
 \r
 // Color Picker\r
 ColorAutomatic : "自動",\r
@@ -524,16 +500,5 @@ DlgAboutAboutTab   : "バージョン情報",
 DlgAboutBrowserInfoTab : "ブラウザ情報",\r
 DlgAboutLicenseTab     : "ライセンス",\r
 DlgAboutVersion                : "バージョン",\r
-DlgAboutInfo           : "より詳しい情報はこちらで",\r
-\r
-// Div Dialog\r
-DlgDivGeneralTab       : "全般",\r
-DlgDivAdvancedTab      : "高度な設定",\r
-DlgDivStyle            : "スタイル",\r
-DlgDivInlineStyle      : "インラインスタイル",\r
-\r
-ScaytTitle                     : "SCAYT",      //MISSING\r
-ScaytTitleOptions      : "Options",    //MISSING\r
-ScaytTitleLangs                : "Languages",  //MISSING\r
-ScaytTitleAbout                : "About"       //MISSING\r
-};\r
+DlgAboutInfo           : "より詳しい情報はこちらで"\r
+};
\ No newline at end of file
index e0af4d0..e90291f 100644 (file)
@@ -1,6 +1,6 @@
 /*\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
@@ -44,9 +44,7 @@ RemoveFormat          : "លប់ចោល ការរចនា",
 InsertLinkLbl          : "ឈ្នាប់",\r
 InsertLink                     : "បន្ថែម/កែប្រែ ឈ្នាប់",\r
 RemoveLink                     : "លប់ឈ្នាប់",\r
-VisitLink                      : "Open Link",  //MISSING\r
 Anchor                         : "បន្ថែម/កែប្រែ យុថ្កា",\r
-AnchorDelete           : "Remove Anchor",      //MISSING\r
 InsertImageLbl         : "រូបភាព",\r
 InsertImage                    : "បន្ថែម/កែប្រែ រូបភាព",\r
 InsertFlashLbl         : "Flash",\r
@@ -72,10 +70,6 @@ RightJustify         : "តំរឹមស្តាំ",
 BlockJustify           : "តំរឹមសងខាង",\r
 DecreaseIndent         : "បន្ថយការចូលបន្ទាត់",\r
 IncreaseIndent         : "បន្ថែមការចូលបន្ទាត់",\r
-Blockquote                     : "Blockquote", //MISSING\r
-CreateDiv                      : "Create Div Container",       //MISSING\r
-EditDiv                                : "Edit Div Container", //MISSING\r
-DeleteDiv                      : "Remove Div Container",       //MISSING\r
 Undo                           : "សារឡើងវិញ",\r
 Redo                           : "ធ្វើឡើងវិញ",\r
 NumberedListLbl                : "បញ្ជីជាអក្សរ",\r
@@ -109,27 +103,20 @@ SelectionField    : "ជួរជ្រើសរើស",
 ImageButton            : "ប៉ូតុនរូបភាព",\r
 \r
 FitWindow              : "Maximize the editor size",   //MISSING\r
-ShowBlocks             : "Show Blocks",        //MISSING\r
 \r
 // Context Menu\r
 EditLink                       : "កែប្រែឈ្នាប់",\r
 CellCM                         : "Cell",       //MISSING\r
 RowCM                          : "Row",        //MISSING\r
 ColumnCM                       : "Column",     //MISSING\r
-InsertRowAfter         : "Insert Row After",   //MISSING\r
-InsertRowBefore                : "Insert Row Before",  //MISSING\r
+InsertRow                      : "បន្ថែមជួរផ្តេក",\r
 DeleteRows                     : "លប់ជួរផ្តេក",\r
-InsertColumnAfter      : "Insert Column After",        //MISSING\r
-InsertColumnBefore     : "Insert Column Before",       //MISSING\r
+InsertColumn           : "បន្ថែមជួរឈរ",\r
 DeleteColumns          : "លប់ជួរឈរ",\r
-InsertCellAfter                : "Insert Cell After",  //MISSING\r
-InsertCellBefore       : "Insert Cell Before", //MISSING\r
+InsertCell                     : "បន្ថែម សែល",\r
 DeleteCells                    : "លប់សែល",\r
 MergeCells                     : "បញ្ជូលសែល",\r
-MergeRight                     : "Merge Right",        //MISSING\r
-MergeDown                      : "Merge Down", //MISSING\r
-HorizontalSplitCell    : "Split Cell Horizontally",    //MISSING\r
-VerticalSplitCell      : "Split Cell Vertically",      //MISSING\r
+SplitCell                      : "ផ្តាច់សែល",\r
 TableDelete                    : "លប់តារាង",\r
 CellProperties         : "ការកំណត់សែល",\r
 TableProperties                : "ការកំណត់តារាង",\r
@@ -147,7 +134,7 @@ SelectionFieldProp  : "ការកំណត់ជួរជ្រើសរើស"
 TextareaProp           : "ការកំណត់កន្លែងសរសេរអត្ថបទ",\r
 FormProp                       : "ការកំណត់បែបបទ",\r
 \r
-FontFormats                    : "Normal;Formatted;Address;Heading 1;Heading 2;Heading 3;Heading 4;Heading 5;Heading 6;Normal (DIV)",\r
+FontFormats                    : "Normal;Formatted;Address;Heading 1;Heading 2;Heading 3;Heading 4;Heading 5;Heading 6;Normal (DIV)",          //REVIEW : Check _getfontformat.html\r
 \r
 // Alerts and Messages\r
 ProcessingXHTML                : "កំពុងដំណើរការ XHTML ។ សូមរងចាំ...",\r
@@ -161,7 +148,6 @@ UnknownToolbarSet   : "របាឧបរកណ៍ \"%1\" ពុំមាន ។",
 NoActiveX                      : "ការកំណត់សុវត្ថភាពរបស់កម្មវិធីរុករករបស់លោកអ្នក នេះ​អាចធ្វើអោយលោកអ្នកមិនអាចប្រើមុខងារខ្លះរបស់កម្មវិធីតាក់តែងអត្ថបទនេះ ។ លោកអ្នកត្រូវកំណត់អោយ \"ActiveX និង​កម្មវិធីជំនួយក្នុង (plug-ins)\" អោយដំណើរការ ។ លោកអ្នកអាចជួបប្រទះនឹង បញ្ហា ព្រមជាមួយនឹងការបាត់បង់មុខងារណាមួយរបស់កម្មវិធីតាក់តែងអត្ថបទនេះ ។",\r
 BrowseServerBlocked : "The resources browser could not be opened. Make sure that all popup blockers are disabled.",    //MISSING\r
 DialogBlocked          : "វីនដូវមិនអាចបើកបានទេ ។ សូមពិនិត្យចំពោះកម្មវិធីបិទ វីនដូវលោត (popup) ថាតើវាដំណើរការរឺទេ ។",\r
-VisitLinkBlocked       : "It was not possible to open a new window. Make sure all popup blockers are disabled.",       //MISSING\r
 \r
 // Dialogs\r
 DlgBtnOK                       : "យល់ព្រម",\r
@@ -243,7 +229,7 @@ DlgLnkURL                   : "URL",
 DlgLnkAnchorSel                : "ជ្រើសរើសយុថ្កា",\r
 DlgLnkAnchorByName     : "តាមឈ្មោះរបស់យុថ្កា",\r
 DlgLnkAnchorById       : "តាម Id",\r
-DlgLnkNoAnchors                : "(No anchors available in the document)",     //MISSING\r
+DlgLnkNoAnchors                : "<ពុំមានយុថ្កានៅក្នុងឯកសារនេះទេ>",          //REVIEW : Change < and > with ( and )\r
 DlgLnkEMail                    : "អ៊ីមែល",\r
 DlgLnkEMailSubject     : "ចំណងជើងអត្ថបទ",\r
 DlgLnkEMailBody                : "អត្ថបទ",\r
@@ -308,11 +294,6 @@ DlgTableCellSpace  : "គំលាតសែល",
 DlgTableCellPad                : "គែមសែល",\r
 DlgTableCaption                : "ចំណងជើង",\r
 DlgTableSummary                : "សេចក្តីសង្ខេប",\r
-DlgTableHeaders                : "Headers",    //MISSING\r
-DlgTableHeadersNone            : "None",       //MISSING\r
-DlgTableHeadersColumn  : "First column",       //MISSING\r
-DlgTableHeadersRow             : "First Row",  //MISSING\r
-DlgTableHeadersBoth            : "Both",       //MISSING\r
 \r
 // Table Cell Dialog\r
 DlgCellTitle           : "ការកំណត់ សែល",\r
@@ -335,18 +316,12 @@ DlgCellVerAlignTop        : "ខាងលើ",
 DlgCellVerAlignMiddle  : "កណ្តាល",\r
 DlgCellVerAlignBottom  : "ខាងក្រោម",\r
 DlgCellVerAlignBaseline        : "បន្ទាត់ជាមូលដ្ឋាន",\r
-DlgCellType            : "Cell Type",  //MISSING\r
-DlgCellTypeData                : "Data",       //MISSING\r
-DlgCellTypeHeader      : "Header",     //MISSING\r
 DlgCellRowSpan         : "បញ្ជូលជួរផ្តេក",\r
 DlgCellCollSpan                : "បញ្ជូលជួរឈរ",\r
 DlgCellBackColor       : "ពណ៌ផ្នែកខាងក្រោម",\r
 DlgCellBorderColor     : "ពណ៌ស៊ុម",\r
 DlgCellBtnSelect       : "ជ្រើសរើស...",\r
 \r
-// Find and Replace Dialog\r
-DlgFindAndReplaceTitle : "Find and Replace",   //MISSING\r
-\r
 // Find Dialog\r
 DlgFindTitle           : "ស្វែងរក",\r
 DlgFindFindBtn         : "ស្វែងរក",\r
@@ -372,6 +347,7 @@ DlgPasteMsg2        : "សូមចំលងអត្ថបទទៅដាក់ក្
 DlgPasteSec            : "Because of your browser security settings, the editor is not able to access your clipboard data directly. You are required to paste it again in this window.",       //MISSING\r
 DlgPasteIgnoreFont             : "មិនគិតអំពីប្រភេទពុម្ភអក្សរ",\r
 DlgPasteRemoveStyles   : "លប់ម៉ូត",\r
+DlgPasteCleanBox               : "លប់អត្ថបទចេញពីប្រអប់",\r
 \r
 // Color Picker\r
 ColorAutomatic : "ស្វ័យប្រវត្ត",\r
@@ -524,16 +500,5 @@ DlgAboutAboutTab   : "អំពី",
 DlgAboutBrowserInfoTab : "ព៌តមានកម្មវិធីរុករក",\r
 DlgAboutLicenseTab     : "License",    //MISSING\r
 DlgAboutVersion                : "ជំនាន់",\r
-DlgAboutInfo           : "សំរាប់ព៌តមានផ្សេងទៀត សូមទាក់ទង",\r
-\r
-// Div Dialog\r
-DlgDivGeneralTab       : "General",    //MISSING\r
-DlgDivAdvancedTab      : "Advanced",   //MISSING\r
-DlgDivStyle            : "Style",      //MISSING\r
-DlgDivInlineStyle      : "Inline Style",       //MISSING\r
-\r
-ScaytTitle                     : "SCAYT",      //MISSING\r
-ScaytTitleOptions      : "Options",    //MISSING\r
-ScaytTitleLangs                : "Languages",  //MISSING\r
-ScaytTitleAbout                : "About"       //MISSING\r
-};\r
+DlgAboutInfo           : "សំរាប់ព៌តមានផ្សេងទៀត សូមទាក់ទង"\r
+};
\ No newline at end of file
index 91df044..0a2efa6 100644 (file)
@@ -1,6 +1,6 @@
 /*\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
@@ -44,9 +44,7 @@ RemoveFormat          : "포맷 지우기",
 InsertLinkLbl          : "링크",\r
 InsertLink                     : "링크 삽입/변경",\r
 RemoveLink                     : "링크 삭제",\r
-VisitLink                      : "Open Link",  //MISSING\r
 Anchor                         : "책갈피 삽입/변경",\r
-AnchorDelete           : "Remove Anchor",      //MISSING\r
 InsertImageLbl         : "이미지",\r
 InsertImage                    : "이미지 삽입/변경",\r
 InsertFlashLbl         : "플래쉬",\r
@@ -72,10 +70,6 @@ RightJustify         : "오른쪽 정렬",
 BlockJustify           : "양쪽 맞춤",\r
 DecreaseIndent         : "내어쓰기",\r
 IncreaseIndent         : "들여쓰기",\r
-Blockquote                     : "Blockquote", //MISSING\r
-CreateDiv                      : "Create Div Container",       //MISSING\r
-EditDiv                                : "Edit Div Container", //MISSING\r
-DeleteDiv                      : "Remove Div Container",       //MISSING\r
 Undo                           : "취소",\r
 Redo                           : "재실행",\r
 NumberedListLbl                : "순서있는 목록",\r
@@ -108,29 +102,22 @@ Button                    : "버튼",
 SelectionField : "펼침목록",\r
 ImageButton            : "이미지버튼",\r
 \r
-FitWindow              : "에디터 최대화",\r
-ShowBlocks             : "Show Blocks",        //MISSING\r
+FitWindow              : "Maximize the editor size",   //MISSING\r
 \r
 // Context Menu\r
 EditLink                       : "링크 수정",\r
-CellCM                         : "셀/칸(Cell)",\r
-RowCM                          : "행(Row)",\r
-ColumnCM                       : "열(Column)",\r
-InsertRowAfter         : "뒤에 행 삽입",\r
-InsertRowBefore                : "앞에 행 삽입",\r
+CellCM                         : "Cell",       //MISSING\r
+RowCM                          : "Row",        //MISSING\r
+ColumnCM                       : "Column",     //MISSING\r
+InsertRow                      : "가로줄 삽입",\r
 DeleteRows                     : "가로줄 삭제",\r
-InsertColumnAfter      : "뒤에 열 삽입",\r
-InsertColumnBefore     : "앞에 열 삽입",\r
+InsertColumn           : "세로줄 삽입",\r
 DeleteColumns          : "세로줄 삭제",\r
-InsertCellAfter                : "뒤에 셀/칸 삽입",\r
-InsertCellBefore       : "앞에 셀/칸 삽입",\r
+InsertCell                     : "셀 삽입",\r
 DeleteCells                    : "셀 삭제",\r
 MergeCells                     : "셀 합치기",\r
-MergeRight                     : "오른쪽 뭉치기",\r
-MergeDown                      : "왼쪽 뭉치기",\r
-HorizontalSplitCell    : "수평 나누기",\r
-VerticalSplitCell      : "수직 나누기",\r
-TableDelete                    : "표 삭제",\r
+SplitCell                      : "셀 나누기",\r
+TableDelete                    : "Delete Table",       //MISSING\r
 CellProperties         : "셀 속성",\r
 TableProperties                : "표 속성",\r
 ImageProperties                : "이미지 속성",\r
@@ -147,7 +134,7 @@ SelectionFieldProp  : "펼침목록 속성",
 TextareaProp           : "입력영역 속성",\r
 FormProp                       : "폼 속성",\r
 \r
-FontFormats                    : "Normal;Formatted;Address;Heading 1;Heading 2;Heading 3;Heading 4;Heading 5;Heading 6",\r
+FontFormats                    : "Normal;Formatted;Address;Heading 1;Heading 2;Heading 3;Heading 4;Heading 5;Heading 6",               //REVIEW : Check _getfontformat.html\r
 \r
 // Alerts and Messages\r
 ProcessingXHTML                : "XHTML 처리중. 잠시만 기다려주십시요.",\r
@@ -158,10 +145,9 @@ UnknownToolbarItem : "알수없는 툴바입니다. : \"%1\"",
 UnknownCommand         : "알수없는 기능입니다. : \"%1\"",\r
 NotImplemented         : "기능이 실행되지 않았습니다.",\r
 UnknownToolbarSet      : "툴바 설정이 없습니다. : \"%1\"",\r
-NoActiveX                      : "브러우저의 보안 설정으로 인해 몇몇 기능의 작동에 장애가 있을 수 있습니다. \"액티브-액스 기능과 플러그 인\" 옵션을 허용하여 주시지 않으면 오류가 발생할 수 있습니다.",\r
-BrowseServerBlocked : "브러우저 요소가 열리지 않습니다. 팝업차단 설정이 꺼져있는지 확인하여 주십시오.",\r
-DialogBlocked          : "윈도우 대화창을 열 수 없습니다. 팝업차단 설정이 꺼져있는지 확인하여 주십시오.",\r
-VisitLinkBlocked       : "It was not possible to open a new window. Make sure all popup blockers are disabled.",       //MISSING\r
+NoActiveX                      : "Your browser's security settings could limit some features of the editor. You must enable the option \"Run ActiveX controls and plug-ins\". You may experience errors and notice missing features.", //MISSING\r
+BrowseServerBlocked : "The resources browser could not be opened. Make sure that all popup blockers are disabled.",    //MISSING\r
+DialogBlocked          : "It was not possible to open the dialog window. Make sure all popup blockers are disabled.",  //MISSING\r
 \r
 // Dialogs\r
 DlgBtnOK                       : "예",\r
@@ -212,7 +198,7 @@ DlgImgAlignBaseline : "기준선",
 DlgImgAlignBottom      : "아래",\r
 DlgImgAlignMiddle      : "중간",\r
 DlgImgAlignRight       : "오른쪽",\r
-DlgImgAlignTextTop     : "ê¸\80ì\9e\90ì\83\81ë\8b¨",\r
+DlgImgAlignTextTop     : "ê¸\80ì\9e\90ì\9c\84(Text Top)",\r
 DlgImgAlignTop         : "위",\r
 DlgImgPreview          : "미리보기",\r
 DlgImgAlertUrl         : "이미지 URL을 입력하십시요",\r
@@ -243,7 +229,7 @@ DlgLnkURL                   : "URL",
 DlgLnkAnchorSel                : "책갈피 선택",\r
 DlgLnkAnchorByName     : "책갈피 이름",\r
 DlgLnkAnchorById       : "책갈피 ID",\r
-DlgLnkNoAnchors                : "(문서에 책갈피가 없습니다.)",\r
+DlgLnkNoAnchors                : "<문서에 책갈피가 없습니다.>",             //REVIEW : Change < and > with ( and )\r
 DlgLnkEMail                    : "이메일 주소",\r
 DlgLnkEMailSubject     : "제목",\r
 DlgLnkEMailBody                : "내용",\r
@@ -276,7 +262,7 @@ DlgLnkPopTop                : "윗쪽 위치",
 DlnLnkMsgNoUrl         : "링크 URL을 입력하십시요.",\r
 DlnLnkMsgNoEMail       : "이메일주소를 입력하십시요.",\r
 DlnLnkMsgNoAnchor      : "책갈피명을 입력하십시요.",\r
-DlnLnkMsgInvPopName    : "팝업창의 타이틀은 공백을 허용하지 않습니다.",\r
+DlnLnkMsgInvPopName    : "The popup name must begin with an alphabetic character and must not contain spaces", //MISSING\r
 \r
 // Color Dialog\r
 DlgColorTitle          : "색상 선택",\r
@@ -307,12 +293,7 @@ DlgTableHeight             : "높이",
 DlgTableCellSpace      : "셀 간격",\r
 DlgTableCellPad                : "셀 여백",\r
 DlgTableCaption                : "캡션",\r
-DlgTableSummary                : "요약",\r
-DlgTableHeaders                : "Headers",    //MISSING\r
-DlgTableHeadersNone            : "None",       //MISSING\r
-DlgTableHeadersColumn  : "First column",       //MISSING\r
-DlgTableHeadersRow             : "First Row",  //MISSING\r
-DlgTableHeadersBoth            : "Both",       //MISSING\r
+DlgTableSummary                : "Summary",    //MISSING\r
 \r
 // Table Cell Dialog\r
 DlgCellTitle           : "셀 설정",\r
@@ -335,18 +316,12 @@ DlgCellVerAlignTop        : "위",
 DlgCellVerAlignMiddle  : "중간",\r
 DlgCellVerAlignBottom  : "아래",\r
 DlgCellVerAlignBaseline        : "기준선",\r
-DlgCellType            : "Cell Type",  //MISSING\r
-DlgCellTypeData                : "Data",       //MISSING\r
-DlgCellTypeHeader      : "Header",     //MISSING\r
 DlgCellRowSpan         : "세로 합치기",\r
 DlgCellCollSpan                : "가로 합치기",\r
 DlgCellBackColor       : "배경 색상",\r
 DlgCellBorderColor     : "테두리 색상",\r
 DlgCellBtnSelect       : "선택",\r
 \r
-// Find and Replace Dialog\r
-DlgFindAndReplaceTitle : "찾기 & 바꾸기",\r
-\r
 // Find Dialog\r
 DlgFindTitle           : "찾기",\r
 DlgFindFindBtn         : "찾기",\r
@@ -369,9 +344,10 @@ PasteAsText                : "텍스트로 붙여넣기",
 PasteFromWord  : "MS Word 형식에서 붙여넣기",\r
 \r
 DlgPasteMsg2   : "키보드의 (<STRONG>Ctrl+V</STRONG>) 를 이용해서 상자안에 붙여넣고 <STRONG>OK</STRONG> 를 누르세요.",\r
-DlgPasteSec            : "브러우저 보안 설정으로 인해, 클립보드의 자료를 직접 접근할 수 없습니다. 이 창에 다시 붙여넣기 하십시오.",\r
+DlgPasteSec            : "Because of your browser security settings, the editor is not able to access your clipboard data directly. You are required to paste it again in this window.",       //MISSING\r
 DlgPasteIgnoreFont             : "폰트 설정 무시",\r
 DlgPasteRemoveStyles   : "스타일 정의 제거",\r
+DlgPasteCleanBox               : "글상자 제거",\r
 \r
 // Color Picker\r
 ColorAutomatic : "기본색상",\r
@@ -517,23 +493,12 @@ DlgTemplatesTitle : "내용 템플릿",
 DlgTemplatesSelMsg     : "에디터에서 사용할 템플릿을 선택하십시요.<br>(지금까지 작성된 내용은 사라집니다.):",\r
 DlgTemplatesLoading    : "템플릿 목록을 불러오는중입니다. 잠시만 기다려주십시요.",\r
 DlgTemplatesNoTpl      : "(템플릿이 없습니다.)",\r
-DlgTemplatesReplace    : "현재 내용 바꾸기",\r
+DlgTemplatesReplace    : "Replace actual contents",    //MISSING\r
 \r
 // About Dialog\r
 DlgAboutAboutTab       : "About",\r
 DlgAboutBrowserInfoTab : "브라우저 정보",\r
 DlgAboutLicenseTab     : "License",    //MISSING\r
 DlgAboutVersion                : "버전",\r
-DlgAboutInfo           : "더 많은 정보를 보시려면 다음 사이트로 가십시오.",\r
-\r
-// Div Dialog\r
-DlgDivGeneralTab       : "General",    //MISSING\r
-DlgDivAdvancedTab      : "Advanced",   //MISSING\r
-DlgDivStyle            : "Style",      //MISSING\r
-DlgDivInlineStyle      : "Inline Style",       //MISSING\r
-\r
-ScaytTitle                     : "SCAYT",      //MISSING\r
-ScaytTitleOptions      : "Options",    //MISSING\r
-ScaytTitleLangs                : "Languages",  //MISSING\r
-ScaytTitleAbout                : "About"       //MISSING\r
-};\r
+DlgAboutInfo           : "For further information go to"\r
+};
\ No newline at end of file
index 44f5da6..db994d0 100644 (file)
@@ -1,6 +1,6 @@
 /*\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
@@ -44,9 +44,7 @@ RemoveFormat          : "Panaikinti formatą",
 InsertLinkLbl          : "Nuoroda",\r
 InsertLink                     : "Įterpti/taisyti nuorodą",\r
 RemoveLink                     : "Panaikinti nuorodą",\r
-VisitLink                      : "Atidaryti nuorodą",\r
 Anchor                         : "Įterpti/modifikuoti žymę",\r
-AnchorDelete           : "Naikinti žymę",\r
 InsertImageLbl         : "Vaizdas",\r
 InsertImage                    : "Įterpti/taisyti vaizdą",\r
 InsertFlashLbl         : "Flash",\r
@@ -72,10 +70,6 @@ RightJustify         : "Lygiuoti dešinę",
 BlockJustify           : "Lygiuoti abi puses",\r
 DecreaseIndent         : "Sumažinti įtrauką",\r
 IncreaseIndent         : "Padidinti įtrauką",\r
-Blockquote                     : "Citata",\r
-CreateDiv                      : "Sukurti Div elementą",\r
-EditDiv                                : "Reaguoti Div elementą",\r
-DeleteDiv                      : "Šalinti Div elementą",\r
 Undo                           : "Atšaukti",\r
 Redo                           : "Atstatyti",\r
 NumberedListLbl                : "Numeruotas sąrašas",\r
@@ -108,28 +102,21 @@ Button                    : "Mygtukas",
 SelectionField : "Atrankos laukas",\r
 ImageButton            : "Vaizdinis mygtukas",\r
 \r
-FitWindow              : "Padidinti redaktorių",\r
-ShowBlocks             : "Rodyti blokus",\r
+FitWindow              : "Maximize the editor size",   //MISSING\r
 \r
 // Context Menu\r
 EditLink                       : "Taisyti nuorodą",\r
-CellCM                         : "Langelis",\r
-RowCM                          : "Eilutė",\r
-ColumnCM                       : "Stulpelis",\r
-InsertRowAfter         : "Įterpti eilutę po",\r
-InsertRowBefore                : "Įterpti eilutę prieš",\r
+CellCM                         : "Cell",       //MISSING\r
+RowCM                          : "Row",        //MISSING\r
+ColumnCM                       : "Column",     //MISSING\r
+InsertRow                      : "Įterpti eilutę",\r
 DeleteRows                     : "Šalinti eilutes",\r
-InsertColumnAfter      : "Įterpti stulpelį po",\r
-InsertColumnBefore     : "Įterpti stulpelį prieš",\r
+InsertColumn           : "Įterpti stulpelį",\r
 DeleteColumns          : "Šalinti stulpelius",\r
-InsertCellAfter                : "Įterpti langelį po",\r
-InsertCellBefore       : "Įterpti langelį prieš",\r
+InsertCell                     : "Įterpti langelį",\r
 DeleteCells                    : "Šalinti langelius",\r
 MergeCells                     : "Sujungti langelius",\r
-MergeRight                     : "Sujungti su dešine",\r
-MergeDown                      : "Sujungti su apačia",\r
-HorizontalSplitCell    : "Skaidyti langelį horizontaliai",\r
-VerticalSplitCell      : "Skaidyti langelį vertikaliai",\r
+SplitCell                      : "Skaidyti langelius",\r
 TableDelete                    : "Šalinti lentelę",\r
 CellProperties         : "Langelio savybės",\r
 TableProperties                : "Lentelės savybės",\r
@@ -147,7 +134,7 @@ SelectionFieldProp  : "Atrankos lauko savybės",
 TextareaProp           : "Teksto srities savybės",\r
 FormProp                       : "Formos savybės",\r
 \r
-FontFormats                    : "Normalus;Formuotas;Kreipinio;Antraštinis 1;Antraštinis 2;Antraštinis 3;Antraštinis 4;Antraštinis 5;Antraštinis 6",\r
+FontFormats                    : "Normalus;Formuotas;Kreipinio;Antraštinis 1;Antraštinis 2;Antraštinis 3;Antraštinis 4;Antraštinis 5;Antraštinis 6",             //REVIEW : Check _getfontformat.html\r
 \r
 // Alerts and Messages\r
 ProcessingXHTML                : "Apdorojamas XHTML. Prašome palaukti...",\r
@@ -161,7 +148,6 @@ UnknownToolbarSet   : "Mygtukų juostos rinkinys \"%1\" neegzistuoja",
 NoActiveX                      : "Jūsų naršyklės saugumo nuostatos gali riboti kai kurias redaktoriaus savybes. Jūs turite aktyvuoti opciją \"Run ActiveX controls and plug-ins\". Kitu atveju Jums bus pranešama apie klaidas ir trūkstamas savybes.",\r
 BrowseServerBlocked : "Neįmanoma atidaryti naujo naršyklės lango. Įsitikinkite, kad iškylančių langų blokavimo programos neveiksnios.",\r
 DialogBlocked          : "Neįmanoma atidaryti dialogo lango. Įsitikinkite, kad iškylančių langų blokavimo programos neveiksnios.",\r
-VisitLinkBlocked       : "Neįmanoma atidaryti naujo lango. Įsitikinkite, kad iškylančių langų blokavimo programos neveiksnios.",\r
 \r
 // Dialogs\r
 DlgBtnOK                       : "OK",\r
@@ -243,7 +229,7 @@ DlgLnkURL                   : "URL",
 DlgLnkAnchorSel                : "Pasirinkite žymę",\r
 DlgLnkAnchorByName     : "Pagal žymės vardą",\r
 DlgLnkAnchorById       : "Pagal žymės Id",\r
-DlgLnkNoAnchors                : "(Šiame dokumente žymių nėra)",\r
+DlgLnkNoAnchors                : "<Šiame dokumente žymių nėra>",           //REVIEW : Change < and > with ( and )\r
 DlgLnkEMail                    : "El.pašto adresas",\r
 DlgLnkEMailSubject     : "Žinutės tema",\r
 DlgLnkEMailBody                : "Žinutės turinys",\r
@@ -276,7 +262,7 @@ DlgLnkPopTop                : "Viršutinė pozicija",
 DlnLnkMsgNoUrl         : "Prašome įvesti nuorodos URL",\r
 DlnLnkMsgNoEMail       : "Prašome įvesti el.pašto adresą",\r
 DlnLnkMsgNoAnchor      : "Prašome pasirinkti žymę",\r
-DlnLnkMsgInvPopName    : "Iššokančio lango pavadinimas privalo prasidėti lotyniška raide ir negali turėti tarpų",\r
+DlnLnkMsgInvPopName    : "The popup name must begin with an alphabetic character and must not contain spaces", //MISSING\r
 \r
 // Color Dialog\r
 DlgColorTitle          : "Pasirinkite spalvą",\r
@@ -308,11 +294,6 @@ DlgTableCellSpace  : "Tarpas tarp langelių",
 DlgTableCellPad                : "Trapas nuo langelio rėmo iki teksto",\r
 DlgTableCaption                : "Antraštė",\r
 DlgTableSummary                : "Santrauka",\r
-DlgTableHeaders                : "Antraštės",\r
-DlgTableHeadersNone            : "Nėra",\r
-DlgTableHeadersColumn  : "Pirmas stulpelis",\r
-DlgTableHeadersRow             : "Pirma eilutė",\r
-DlgTableHeadersBoth            : "Abu",\r
 \r
 // Table Cell Dialog\r
 DlgCellTitle           : "Langelio savybės",\r
@@ -335,18 +316,12 @@ DlgCellVerAlignTop        : "Viršų",
 DlgCellVerAlignMiddle  : "Vidurį",\r
 DlgCellVerAlignBottom  : "Apačią",\r
 DlgCellVerAlignBaseline        : "Apatinę liniją",\r
-DlgCellType            : "Langelio tipas",\r
-DlgCellTypeData                : "Duomenys",\r
-DlgCellTypeHeader      : "Antraštė",\r
 DlgCellRowSpan         : "Eilučių apjungimas",\r
 DlgCellCollSpan                : "Stulpelių apjungimas",\r
 DlgCellBackColor       : "Fono spalva",\r
 DlgCellBorderColor     : "Rėmelio spalva",\r
 DlgCellBtnSelect       : "Pažymėti...",\r
 \r
-// Find and Replace Dialog\r
-DlgFindAndReplaceTitle : "Surasti ir pakeisti",\r
-\r
 // Find Dialog\r
 DlgFindTitle           : "Paieška",\r
 DlgFindFindBtn         : "Surasti",\r
@@ -368,10 +343,11 @@ PasteErrorCopy    : "Jūsų naršyklės saugumo nustatymai neleidžia redaktoriui a
 PasteAsText            : "Įdėti kaip gryną tekstą",\r
 PasteFromWord  : "Įdėti iš Word",\r
 \r
-DlgPasteMsg2   : "Žemiau esančiame įvedimo lauke įdėkite tekstą, naudodami klaviatūrą (<STRONG>Ctrl+V</STRONG>) ir paspauskite mygtuką <STRONG>OK</STRONG>.",\r
-DlgPasteSec            : "Dėl jūsų naršyklės saugumo nustatymų, redaktorius negali tiesiogiai pasiekti laikinosios atminties. Jums reikia nukopijuoti dar kartą į šį langą.",\r
+DlgPasteMsg2   : "Žemiau esančiame įvedimo lauke įdėkite tekstą, naudodami klaviatūrą (<STRONG>Ctrl+V</STRONG>) ir spūstelkite mygtuką <STRONG>OK</STRONG>.",\r
+DlgPasteSec            : "Because of your browser security settings, the editor is not able to access your clipboard data directly. You are required to paste it again in this window.",       //MISSING\r
 DlgPasteIgnoreFont             : "Ignoruoti šriftų nustatymus",\r
 DlgPasteRemoveStyles   : "Pašalinti stilių nustatymus",\r
+DlgPasteCleanBox               : "Trinti įvedimo lauką",\r
 \r
 // Color Picker\r
 ColorAutomatic : "Automatinis",\r
@@ -405,9 +381,9 @@ IeSpellDownload                     : "Rašybos tikrinimas neinstaliuotas. Ar Jūs norite jį daba
 // Button Dialog\r
 DlgButtonText          : "Tekstas (Reikšmė)",\r
 DlgButtonType          : "Tipas",\r
-DlgButtonTypeBtn       : "Mygtukas",\r
-DlgButtonTypeSbm       : "Siųsti",\r
-DlgButtonTypeRst       : "Išvalyti",\r
+DlgButtonTypeBtn       : "Button",     //MISSING\r
+DlgButtonTypeSbm       : "Submit",     //MISSING\r
+DlgButtonTypeRst       : "Reset",      //MISSING\r
 \r
 // Checkbox and Radio Button Dialogs\r
 DlgCheckboxName                : "Vardas",\r
@@ -456,7 +432,7 @@ DlgHiddenValue      : "Reikšmė",
 // Bulleted List Dialog\r
 BulletedListProp       : "Suženklinto sąrašo savybės",\r
 NumberedListProp       : "Numeruoto sąrašo savybės",\r
-DlgLstStart                    : "Pradėti nuo",\r
+DlgLstStart                    : "Start",      //MISSING\r
 DlgLstType                     : "Tipas",\r
 DlgLstTypeCircle       : "Apskritimas",\r
 DlgLstTypeDisc         : "Diskas",\r
@@ -479,15 +455,15 @@ DlgDocLangDirLTR  : "Iš kairės į dešinę (LTR)",
 DlgDocLangDirRTL       : "Iš dešinės į kairę (RTL)",\r
 DlgDocLangCode         : "Kalbos kodas",\r
 DlgDocCharSet          : "Simbolių kodavimo lentelė",\r
-DlgDocCharSetCE                : "Centrinės Europos",\r
-DlgDocCharSetCT                : "Tradicinės kinų (Big5)",\r
-DlgDocCharSetCR                : "Kirilica",\r
-DlgDocCharSetGR                : "Graikų",\r
-DlgDocCharSetJP                : "Japonų",\r
-DlgDocCharSetKR                : "Korėjiečių",\r
-DlgDocCharSetTR                : "Turkų",\r
-DlgDocCharSetUN                : "Unikodas (UTF-8)",\r
-DlgDocCharSetWE                : "Vakarų Europos",\r
+DlgDocCharSetCE                : "Central European",   //MISSING\r
+DlgDocCharSetCT                : "Chinese Traditional (Big5)", //MISSING\r
+DlgDocCharSetCR                : "Cyrillic",   //MISSING\r
+DlgDocCharSetGR                : "Greek",      //MISSING\r
+DlgDocCharSetJP                : "Japanese",   //MISSING\r
+DlgDocCharSetKR                : "Korean",     //MISSING\r
+DlgDocCharSetTR                : "Turkish",    //MISSING\r
+DlgDocCharSetUN                : "Unicode (UTF-8)",    //MISSING\r
+DlgDocCharSetWE                : "Western European",   //MISSING\r
 DlgDocCharSetOther     : "Kita simbolių kodavimo lentelė",\r
 \r
 DlgDocDocType          : "Dokumento tipo antraštė",\r
@@ -517,23 +493,12 @@ DlgTemplatesTitle : "Turinio šablonai",
 DlgTemplatesSelMsg     : "Pasirinkite norimą šabloną<br>(<b>Dėmesio!</b> esamas turinys bus prarastas):",\r
 DlgTemplatesLoading    : "Įkeliamas šablonų sąrašas. Prašome palaukti...",\r
 DlgTemplatesNoTpl      : "(Šablonų sąrašas tuščias)",\r
-DlgTemplatesReplace    : "Pakeisti dabartinį turinį pasirinktu šablonu",\r
+DlgTemplatesReplace    : "Replace actual contents",    //MISSING\r
 \r
 // About Dialog\r
 DlgAboutAboutTab       : "Apie",\r
 DlgAboutBrowserInfoTab : "Naršyklės informacija",\r
-DlgAboutLicenseTab     : "Licenzija",\r
+DlgAboutLicenseTab     : "License",    //MISSING\r
 DlgAboutVersion                : "versija",\r
-DlgAboutInfo           : "Papildomą informaciją galima gauti",\r
-\r
-// Div Dialog\r
-DlgDivGeneralTab       : "Bendros savybės",\r
-DlgDivAdvancedTab      : "Papildomos savybės",\r
-DlgDivStyle            : "Stilius",\r
-DlgDivInlineStyle      : "Stilius kode",\r
-\r
-ScaytTitle                     : "SCAYT",      //MISSING\r
-ScaytTitleOptions      : "Options",    //MISSING\r
-ScaytTitleLangs                : "Languages",  //MISSING\r
-ScaytTitleAbout                : "About"       //MISSING\r
-};\r
+DlgAboutInfo           : "Papildomą informaciją galima gauti"\r
+};
\ No newline at end of file
index 666dca7..6809426 100644 (file)
@@ -1,6 +1,6 @@
 /*\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
@@ -44,9 +44,7 @@ RemoveFormat          : "Noņemt stilus",
 InsertLinkLbl          : "Hipersaite",\r
 InsertLink                     : "Ievietot/Labot hipersaiti",\r
 RemoveLink                     : "Noņemt hipersaiti",\r
-VisitLink                      : "Open Link",  //MISSING\r
 Anchor                         : "Ievietot/Labot iezīmi",\r
-AnchorDelete           : "Remove Anchor",      //MISSING\r
 InsertImageLbl         : "Attēls",\r
 InsertImage                    : "Ievietot/Labot Attēlu",\r
 InsertFlashLbl         : "Flash",\r
@@ -72,10 +70,6 @@ RightJustify         : "Izlīdzināt pa labi",
 BlockJustify           : "Izlīdzināt malas",\r
 DecreaseIndent         : "Samazināt atkāpi",\r
 IncreaseIndent         : "Palielināt atkāpi",\r
-Blockquote                     : "Blockquote", //MISSING\r
-CreateDiv                      : "Create Div Container",       //MISSING\r
-EditDiv                                : "Edit Div Container", //MISSING\r
-DeleteDiv                      : "Remove Div Container",       //MISSING\r
 Undo                           : "Atcelt",\r
 Redo                           : "Atkārtot",\r
 NumberedListLbl                : "Numurēts saraksts",\r
@@ -109,27 +103,20 @@ SelectionField    : "Iezīmēšanas lauks",
 ImageButton            : "Attēlpoga",\r
 \r
 FitWindow              : "Maksimizēt redaktora izmēru",\r
-ShowBlocks             : "Show Blocks",        //MISSING\r
 \r
 // Context Menu\r
 EditLink                       : "Labot hipersaiti",\r
 CellCM                         : "Šūna",\r
 RowCM                          : "Rinda",\r
 ColumnCM                       : "Kolonna",\r
-InsertRowAfter         : "Insert Row After",   //MISSING\r
-InsertRowBefore                : "Insert Row Before",  //MISSING\r
+InsertRow                      : "Ievietot rindu",\r
 DeleteRows                     : "Dzēst rindas",\r
-InsertColumnAfter      : "Insert Column After",        //MISSING\r
-InsertColumnBefore     : "Insert Column Before",       //MISSING\r
+InsertColumn           : "Ievietot kolonnu",\r
 DeleteColumns          : "Dzēst kolonnas",\r
-InsertCellAfter                : "Insert Cell After",  //MISSING\r
-InsertCellBefore       : "Insert Cell Before", //MISSING\r
+InsertCell                     : "Ievietot rūtiņu",\r
 DeleteCells                    : "Dzēst rūtiņas",\r
 MergeCells                     : "Apvienot rūtiņas",\r
-MergeRight                     : "Merge Right",        //MISSING\r
-MergeDown                      : "Merge Down", //MISSING\r
-HorizontalSplitCell    : "Split Cell Horizontally",    //MISSING\r
-VerticalSplitCell      : "Split Cell Vertically",      //MISSING\r
+SplitCell                      : "Sadalīt rūtiņu",\r
 TableDelete                    : "Dzēst tabulu",\r
 CellProperties         : "Rūtiņas īpašības",\r
 TableProperties                : "Tabulas īpašības",\r
@@ -147,7 +134,7 @@ SelectionFieldProp  : "Iezīmēšanas lauka īpašības",
 TextareaProp           : "Teksta laukuma īpašības",\r
 FormProp                       : "Formas īpašības",\r
 \r
-FontFormats                    : "Normāls teksts;Formatēts teksts;Adrese;Virsraksts 1;Virsraksts 2;Virsraksts 3;Virsraksts 4;Virsraksts 5;Virsraksts 6;Rindkopa (DIV)",\r
+FontFormats                    : "Normāls teksts;Formatēts teksts;Adrese;Virsraksts 1;Virsraksts 2;Virsraksts 3;Virsraksts 4;Virsraksts 5;Virsraksts 6;Rindkopa (DIV)",              //REVIEW : Check _getfontformat.html\r
 \r
 // Alerts and Messages\r
 ProcessingXHTML                : "Tiek apstrādāts XHTML. Lūdzu uzgaidiet...",\r
@@ -161,7 +148,6 @@ UnknownToolbarSet   : "Rīku joslas komplekts \"%1\" neeksistē",
 NoActiveX                      : "Interneta pārlūkprogrammas drošības uzstādījumi varētu ietekmēt dažas no redaktora īpašībām. Jābūt aktivizētai sadaļai \"Run ActiveX controls and plug-ins\". Savādāk ir iespējamas kļūdas darbībā un kļūdu paziņojumu parādīšanās.",\r
 BrowseServerBlocked : "Resursu pārlūks nevar tikt atvērts. Pārliecinieties, ka uznirstošo logu bloķētāji ir atslēgti.",\r
 DialogBlocked          : "Nav iespējams atvērt dialoglogu. Pārliecinieties, ka uznirstošo logu bloķētāji ir atslēgti.",\r
-VisitLinkBlocked       : "It was not possible to open a new window. Make sure all popup blockers are disabled.",       //MISSING\r
 \r
 // Dialogs\r
 DlgBtnOK                       : "Darīts!",\r
@@ -243,7 +229,7 @@ DlgLnkURL                   : "URL",
 DlgLnkAnchorSel                : "Izvēlēties iezīmi",\r
 DlgLnkAnchorByName     : "Pēc iezīmes nosaukuma",\r
 DlgLnkAnchorById       : "Pēc elementa ID",\r
-DlgLnkNoAnchors                : "(Šajā dokumentā nav iezīmju)",\r
+DlgLnkNoAnchors                : "<Šajā dokumentā nav iezīmju>",           //REVIEW : Change < and > with ( and )\r
 DlgLnkEMail                    : "E-pasta adrese",\r
 DlgLnkEMailSubject     : "Ziņas tēma",\r
 DlgLnkEMailBody                : "Ziņas saturs",\r
@@ -308,11 +294,6 @@ DlgTableCellSpace  : "Rūtiņu atstatums",
 DlgTableCellPad                : "Rūtiņu nobīde",\r
 DlgTableCaption                : "Leģenda",\r
 DlgTableSummary                : "Anotācija",\r
-DlgTableHeaders                : "Headers",    //MISSING\r
-DlgTableHeadersNone            : "None",       //MISSING\r
-DlgTableHeadersColumn  : "First column",       //MISSING\r
-DlgTableHeadersRow             : "First Row",  //MISSING\r
-DlgTableHeadersBoth            : "Both",       //MISSING\r
 \r
 // Table Cell Dialog\r
 DlgCellTitle           : "Rūtiņas īpašības",\r
@@ -335,18 +316,12 @@ DlgCellVerAlignTop        : "Augša",
 DlgCellVerAlignMiddle  : "Vidus",\r
 DlgCellVerAlignBottom  : "Apakša",\r
 DlgCellVerAlignBaseline        : "Pamatrindā",\r
-DlgCellType            : "Cell Type",  //MISSING\r
-DlgCellTypeData                : "Data",       //MISSING\r
-DlgCellTypeHeader      : "Header",     //MISSING\r
 DlgCellRowSpan         : "Rindu pārnese",\r
 DlgCellCollSpan                : "Kolonnu pārnese",\r
 DlgCellBackColor       : "Fona krāsa",\r
 DlgCellBorderColor     : "Rāmja krāsa",\r
 DlgCellBtnSelect       : "Iezīmē...",\r
 \r
-// Find and Replace Dialog\r
-DlgFindAndReplaceTitle : "Find and Replace",   //MISSING\r
-\r
 // Find Dialog\r
 DlgFindTitle           : "Meklētājs",\r
 DlgFindFindBtn         : "Meklēt",\r
@@ -372,6 +347,7 @@ DlgPasteMsg2        : "Lūdzu, ievietojiet tekstu šajā laukumā, izmantojot klaviatū
 DlgPasteSec            : "Because of your browser security settings, the editor is not able to access your clipboard data directly. You are required to paste it again in this window.",       //MISSING\r
 DlgPasteIgnoreFont             : "Ignorēt iepriekš norādītos fontus",\r
 DlgPasteRemoveStyles   : "Noņemt norādītos stilus",\r
+DlgPasteCleanBox               : "Apstrādāt laukuma saturu",\r
 \r
 // Color Picker\r
 ColorAutomatic : "Automātiska",\r
@@ -524,16 +500,5 @@ DlgAboutAboutTab   : "Par",
 DlgAboutBrowserInfoTab : "Informācija par pārlūkprogrammu",\r
 DlgAboutLicenseTab     : "Licence",\r
 DlgAboutVersion                : "versija",\r
-DlgAboutInfo           : "Papildus informācija ir pieejama",\r
-\r
-// Div Dialog\r
-DlgDivGeneralTab       : "General",    //MISSING\r
-DlgDivAdvancedTab      : "Advanced",   //MISSING\r
-DlgDivStyle            : "Style",      //MISSING\r
-DlgDivInlineStyle      : "Inline Style",       //MISSING\r
-\r
-ScaytTitle                     : "SCAYT",      //MISSING\r
-ScaytTitleOptions      : "Options",    //MISSING\r
-ScaytTitleLangs                : "Languages",  //MISSING\r
-ScaytTitleAbout                : "About"       //MISSING\r
-};\r
+DlgAboutInfo           : "Papildus informācija ir pieejama"\r
+};
\ No newline at end of file
index 4f82297..ba8f798 100644 (file)
@@ -1,6 +1,6 @@
 /*\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
@@ -44,13 +44,11 @@ RemoveFormat                : "Формат авч хаях",
 InsertLinkLbl          : "Линк",\r
 InsertLink                     : "Линк Оруулах/Засварлах",\r
 RemoveLink                     : "Линк авч хаях",\r
-VisitLink                      : "Open Link",  //MISSING\r
-Anchor                         : "Холбоос Оруулах/Засварлах",\r
-AnchorDelete           : "Холбоос Авах",\r
+Anchor                         : "Insert/Edit Anchor", //MISSING\r
 InsertImageLbl         : "Зураг",\r
 InsertImage                    : "Зураг Оруулах/Засварлах",\r
-InsertFlashLbl         : "Флаш",\r
-InsertFlash                    : "Флаш Оруулах/Засварлах",\r
+InsertFlashLbl         : "Flash",      //MISSING\r
+InsertFlash                    : "Insert/Edit Flash",  //MISSING\r
 InsertTableLbl         : "Хүснэгт",\r
 InsertTable                    : "Хүснэгт Оруулах/Засварлах",\r
 InsertLineLbl          : "Зураас",\r
@@ -72,10 +70,6 @@ RightJustify         : "Баруун талд байрлуулах",
 BlockJustify           : "Блок хэлбэрээр байрлуулах",\r
 DecreaseIndent         : "Догол мөр нэмэх",\r
 IncreaseIndent         : "Догол мөр хасах",\r
-Blockquote                     : "Хайрцаглах",\r
-CreateDiv                      : "Create Div Container",       //MISSING\r
-EditDiv                                : "Edit Div Container", //MISSING\r
-DeleteDiv                      : "Remove Div Container",       //MISSING\r
 Undo                           : "Хүчингүй болгох",\r
 Redo                           : "Өмнөх үйлдлээ сэргээх",\r
 NumberedListLbl                : "Дугаарлагдсан жагсаалт",\r
@@ -93,61 +87,54 @@ BGColor                             : "Фонны өнгө",
 Source                         : "Код",\r
 Find                           : "Хайх",\r
 Replace                                : "Солих",\r
-SpellCheck                     : "Үгийн дүрэх шалгах",\r
-UniversalKeyboard      : "Униварсал гар",\r
-PageBreakLbl           : "Хуудас тусгаарлах",\r
-PageBreak                      : "Хуудас тусгаарлагч оруулах",\r
-\r
-Form                   : "Форм",\r
-Checkbox               : "Чекбокс",\r
-RadioButton            : "Радио товч",\r
-TextField              : "Техт талбар",\r
-Textarea               : "Техт орчин",\r
-HiddenField            : "Нууц талбар",\r
-Button                 : "Товч",\r
-SelectionField : "Сонгогч талбар",\r
-ImageButton            : "Зурагтай товч",\r
-\r
-FitWindow              : "editor-н хэмжээг томруулах",\r
-ShowBlocks             : "Block-уудыг үзүүлэх",\r
+SpellCheck                     : "Check Spelling",     //MISSING\r
+UniversalKeyboard      : "Universal Keyboard", //MISSING\r
+PageBreakLbl           : "Page Break", //MISSING\r
+PageBreak                      : "Insert Page Break",  //MISSING\r
+\r
+Form                   : "Form",       //MISSING\r
+Checkbox               : "Checkbox",   //MISSING\r
+RadioButton            : "Radio Button",       //MISSING\r
+TextField              : "Text Field", //MISSING\r
+Textarea               : "Textarea",   //MISSING\r
+HiddenField            : "Hidden Field",       //MISSING\r
+Button                 : "Button",     //MISSING\r
+SelectionField : "Selection Field",    //MISSING\r
+ImageButton            : "Image Button",       //MISSING\r
+\r
+FitWindow              : "Maximize the editor size",   //MISSING\r
 \r
 // Context Menu\r
 EditLink                       : "Холбоос засварлах",\r
-CellCM                         : "Нүх/зай",\r
-RowCM                          : "Мөр",\r
-ColumnCM                       : "Багана",\r
-InsertRowAfter         : "Мөр дараа нь оруулах",\r
-InsertRowBefore                : "Мөр өмнө нь оруулах",\r
+CellCM                         : "Cell",       //MISSING\r
+RowCM                          : "Row",        //MISSING\r
+ColumnCM                       : "Column",     //MISSING\r
+InsertRow                      : "Мөр оруулах",\r
 DeleteRows                     : "Мөр устгах",\r
-InsertColumnAfter      : "Багана дараа нь оруулах",\r
-InsertColumnBefore     : "Багана өмнө нь оруулах",\r
+InsertColumn           : "Багана оруулах",\r
 DeleteColumns          : "Багана устгах",\r
-InsertCellAfter                : "Нүх/зай дараа нь оруулах",\r
-InsertCellBefore       : "Нүх/зай өмнө нь оруулах",\r
+InsertCell                     : "Нүх оруулах",\r
 DeleteCells                    : "Нүх устгах",\r
 MergeCells                     : "Нүх нэгтэх",\r
-MergeRight                     : "Баруун тийш нэгтгэх",\r
-MergeDown                      : "Доош нэгтгэх",\r
-HorizontalSplitCell    : "Нүх/зайг босоогоор нь тусгаарлах",\r
-VerticalSplitCell      : "Нүх/зайг хөндлөнгөөр нь тусгаарлах",\r
-TableDelete                    : "Хүснэгт устгах",\r
-CellProperties         : "Нүх/зай зайн шинж чанар",\r
+SplitCell                      : "Нүх тусгайрлах",\r
+TableDelete                    : "Delete Table",       //MISSING\r
+CellProperties         : "Хоосон зайн шинж чанар",\r
 TableProperties                : "Хүснэгт",\r
 ImageProperties                : "Зураг",\r
-FlashProperties                : "Флаш шинж чанар",\r
+FlashProperties                : "Flash Properties",   //MISSING\r
 \r
-AnchorProp                     : "Холбоос шинж чанар",\r
-ButtonProp                     : "Товчны шинж чанар",\r
-CheckboxProp           : "Чекбоксны шинж чанар",\r
-HiddenFieldProp                : "Нууц талбарын шинж чанар",\r
-RadioButtonProp                : "Радио товчны шинж чанар",\r
-ImageButtonProp                : "Зурган товчны шинж чанар",\r
-TextFieldProp          : "Текст талбарын шинж чанар",\r
-SelectionFieldProp     : "Согогч талбарын шинж чанар",\r
-TextareaProp           : "Текст орчны шинж чанар",\r
-FormProp                       : "Форм шинж чанар",\r
+AnchorProp                     : "Anchor Properties",  //MISSING\r
+ButtonProp                     : "Button Properties",  //MISSING\r
+CheckboxProp           : "Checkbox Properties",        //MISSING\r
+HiddenFieldProp                : "Hidden Field Properties",    //MISSING\r
+RadioButtonProp                : "Radio Button Properties",    //MISSING\r
+ImageButtonProp                : "Image Button Properties",    //MISSING\r
+TextFieldProp          : "Text Field Properties",      //MISSING\r
+SelectionFieldProp     : "Selection Field Properties", //MISSING\r
+TextareaProp           : "Textarea Properties",        //MISSING\r
+FormProp                       : "Form Properties",    //MISSING\r
 \r
-FontFormats                    : "Хэвийн;Formatted;Хаяг;Heading 1;Heading 2;Heading 3;Heading 4;Heading 5;Heading 6;Paragraph (DIV)",\r
+FontFormats                    : "Хэвийн;Formatted;Хаяг;Heading 1;Heading 2;Heading 3;Heading 4;Heading 5;Heading 6;Paragraph (DIV)",                //REVIEW : Check _getfontformat.html\r
 \r
 // Alerts and Messages\r
 ProcessingXHTML                : "XHTML үйл явц явагдаж байна. Хүлээнэ үү...",\r
@@ -158,20 +145,19 @@ UnknownToolbarItem        : "Багажны хэсгийн \"%1\" item мэдэгдэх
 UnknownCommand         : "\"%1\" комманд нэр мэдагдэхгүй байна",\r
 NotImplemented         : "Зөвшөөрөгдөхгүй комманд",\r
 UnknownToolbarSet      : "Багажны хэсэгт \"%1\" оноох, үүсээгүй байна",\r
-NoActiveX                      : "Таны үзүүлэгч/browser-н хамгаалалтын тохиргоо editor-н зарим боломжийг хязгаарлаж байна. Та \"Run ActiveX controls ба plug-ins\" сонголыг идвэхитэй болго.",\r
-BrowseServerBlocked : "Нөөц үзүүгч нээж чадсангүй. Бүх popup blocker-г disabled болгоно уу.",\r
-DialogBlocked          : "Харилцах цонхонд энийг нээхэд боломжгүй ээ. Бүх popup blocker-г disabled болгоно уу.",\r
-VisitLinkBlocked       : "It was not possible to open a new window. Make sure all popup blockers are disabled.",       //MISSING\r
+NoActiveX                      : "Your browser's security settings could limit some features of the editor. You must enable the option \"Run ActiveX controls and plug-ins\". You may experience errors and notice missing features.", //MISSING\r
+BrowseServerBlocked : "The resources browser could not be opened. Make sure that all popup blockers are disabled.",    //MISSING\r
+DialogBlocked          : "It was not possible to open the dialog window. Make sure all popup blockers are disabled.",  //MISSING\r
 \r
 // Dialogs\r
 DlgBtnOK                       : "OK",\r
 DlgBtnCancel           : "Болих",\r
 DlgBtnClose                    : "Хаах",\r
-DlgBtnBrowseServer     : "Сервер харуулах",\r
+DlgBtnBrowseServer     : "Browse Server",      //MISSING\r
 DlgAdvancedTag         : "Нэмэлт",\r
-DlgOpOther                     : "<Бусад>",\r
-DlgInfoTab                     : "Мэдээлэл",\r
-DlgAlertUrl                    : "URL оруулна уу",\r
+DlgOpOther                     : "<Other>",    //MISSING\r
+DlgInfoTab                     : "Info",       //MISSING\r
+DlgAlertUrl                    : "Please insert the URL",      //MISSING\r
 \r
 // General Dialogs Labels\r
 DlgGenNotSet           : "<Оноохгүй>",\r
@@ -199,7 +185,7 @@ DlgImgUpload                : "Хуулах",
 DlgImgAlt                      : "Тайлбар текст",\r
 DlgImgWidth                    : "Өргөн",\r
 DlgImgHeight           : "Өндөр",\r
-DlgImgLockRatio                : "Радио түгжих",\r
+DlgImgLockRatio                : "Lock Ratio",\r
 DlgBtnResetSize                : "хэмжээ дахин оноох",\r
 DlgImgBorder           : "Хүрээ",\r
 DlgImgHSpace           : "Хөндлөн зай",\r
@@ -216,17 +202,17 @@ DlgImgAlignTextTop        : "Текст дээр",
 DlgImgAlignTop         : "Дээд талд",\r
 DlgImgPreview          : "Уридчлан харах",\r
 DlgImgAlertUrl         : "Зурагны URL-ын төрлийн сонгоно уу",\r
-DlgImgLinkTab          : "Линк",\r
+DlgImgLinkTab          : "Link",       //MISSING\r
 \r
 // Flash Dialog\r
-DlgFlashTitle          : "Флаш  шинж чанар",\r
-DlgFlashChkPlay                : "Автоматаар тоглох",\r
-DlgFlashChkLoop                : "Давтах",\r
-DlgFlashChkMenu                : "Флаш цэс идвэхжүүлэх",\r
-DlgFlashScale          : "Өргөгтгөх",\r
-DlgFlashScaleAll       : "Бүгдийг харуулах",\r
-DlgFlashScaleNoBorder  : "Хүрээгүй",\r
-DlgFlashScaleFit       : "Яг тааруулах",\r
+DlgFlashTitle          : "Flash Properties",   //MISSING\r
+DlgFlashChkPlay                : "Auto Play",  //MISSING\r
+DlgFlashChkLoop                : "Loop",       //MISSING\r
+DlgFlashChkMenu                : "Enable Flash Menu",  //MISSING\r
+DlgFlashScale          : "Scale",      //MISSING\r
+DlgFlashScaleAll       : "Show all",   //MISSING\r
+DlgFlashScaleNoBorder  : "No Border",  //MISSING\r
+DlgFlashScaleFit       : "Exact Fit",  //MISSING\r
 \r
 // Link Dialog\r
 DlgLnkWindowTitle      : "Линк",\r
@@ -243,9 +229,9 @@ DlgLnkURL                   : "URL",
 DlgLnkAnchorSel                : "Холбоос сонгох",\r
 DlgLnkAnchorByName     : "Холбоосын нэрээр",\r
 DlgLnkAnchorById       : "Элемэнт Id-гаар",\r
-DlgLnkNoAnchors                : "(Баримт бичиг холбоосгүй байна)",\r
+DlgLnkNoAnchors                : "<Баримт бичиг холбоосгүй байна>",          //REVIEW : Change < and > with ( and )\r
 DlgLnkEMail                    : "E-Mail Хаяг",\r
-DlgLnkEMailSubject     : "Message гарчиг",\r
+DlgLnkEMailSubject     : "Message Subject",\r
 DlgLnkEMailBody                : "Message-ийн агуулга",\r
 DlgLnkUpload           : "Хуулах",\r
 DlgLnkBtnUpload                : "Үүнийг серверрүү илгээ",\r
@@ -257,7 +243,7 @@ DlgLnkTargetBlank   : "Шинэ цонх (_blank)",
 DlgLnkTargetParent     : "Эцэг цонх (_parent)",\r
 DlgLnkTargetSelf       : "Төстэй цонх (_self)",\r
 DlgLnkTargetTop                : "Хамгийн түрүүн байх цонх (_top)",\r
-DlgLnkTargetFrameName  : "Очих фремын нэр",\r
+DlgLnkTargetFrameName  : "Target Frame Name",  //MISSING\r
 DlgLnkPopWinName       : "Popup цонхны нэр",\r
 DlgLnkPopWinFeat       : "Popup цонхны онцлог",\r
 DlgLnkPopResize                : "Хэмжээ өөрчлөх",\r
@@ -276,7 +262,7 @@ DlgLnkPopTop                : "Дээд байрлал",
 DlnLnkMsgNoUrl         : "Линк URL-ээ төрөлжүүлнэ үү",\r
 DlnLnkMsgNoEMail       : "Е-mail хаягаа төрөлжүүлнэ үү",\r
 DlnLnkMsgNoAnchor      : "Холбоосоо сонгоно уу",\r
-DlnLnkMsgInvPopName    : "popup нэр нь үсгэн тэмдэгтээр эхэлсэн байх ба хоосон зай агуулаагүй байх ёстой.",\r
+DlnLnkMsgInvPopName    : "The popup name must begin with an alphabetic character and must not contain spaces", //MISSING\r
 \r
 // Color Dialog\r
 DlgColorTitle          : "Өнгө сонгох",\r
@@ -304,15 +290,10 @@ DlgTableWidth             : "Өргөн",
 DlgTableWidthPx                : "цэг",\r
 DlgTableWidthPc                : "хувь",\r
 DlgTableHeight         : "Өндөр",\r
-DlgTableCellSpace      : "Нүх хоорондын зай (spacing)",\r
-DlgTableCellPad                : "Нүх доторлох(padding)",\r
+DlgTableCellSpace      : "Нүх хоорондын зай",\r
+DlgTableCellPad                : "Нүх доторлох",\r
 DlgTableCaption                : "Тайлбар",\r
-DlgTableSummary                : "Тайлбар",\r
-DlgTableHeaders                : "Headers",    //MISSING\r
-DlgTableHeadersNone            : "None",       //MISSING\r
-DlgTableHeadersColumn  : "First column",       //MISSING\r
-DlgTableHeadersRow             : "First Row",  //MISSING\r
-DlgTableHeadersBoth            : "Both",       //MISSING\r
+DlgTableSummary                : "Summary",    //MISSING\r
 \r
 // Table Cell Dialog\r
 DlgCellTitle           : "Хоосон зайн шинж чанар",\r
@@ -335,18 +316,12 @@ DlgCellVerAlignTop        : "Дээд тал",
 DlgCellVerAlignMiddle  : "Дунд",\r
 DlgCellVerAlignBottom  : "Доод тал",\r
 DlgCellVerAlignBaseline        : "Baseline",\r
-DlgCellType            : "Cell Type",  //MISSING\r
-DlgCellTypeData                : "Data",       //MISSING\r
-DlgCellTypeHeader      : "Header",     //MISSING\r
-DlgCellRowSpan         : "Нийт мөр (span)",\r
-DlgCellCollSpan                : "Нийт багана (span)",\r
+DlgCellRowSpan         : "Нийт мөр",\r
+DlgCellCollSpan                : "Нийт багана",\r
 DlgCellBackColor       : "Фонны өнгө",\r
 DlgCellBorderColor     : "Хүрээний өнгө",\r
 DlgCellBtnSelect       : "Сонго...",\r
 \r
-// Find and Replace Dialog\r
-DlgFindAndReplaceTitle : "Хай мөн Дарж бич",\r
-\r
 // Find Dialog\r
 DlgFindTitle           : "Хайх",\r
 DlgFindFindBtn         : "Хайх",\r
@@ -368,172 +343,162 @@ PasteErrorCopy  : "Таны browser-ын хамгаалалтын тохирго
 PasteAsText            : "Plain Text-ээс буулгах",\r
 PasteFromWord  : "Word-оос буулгах",\r
 \r
-DlgPasteMsg2   : "(<strong>Ctrl+V</strong>) товчийг ашиглан paste хийнэ үү. Мөн <strong>OK</strong> дар.",\r
-DlgPasteSec            : "Таны үзүүлэгч/browser/-н хамгаалалтын тохиргооноос болоод editor clipboard өгөгдөлрүү шууд хандах боломжгүй. Энэ цонход дахин paste хийхийг оролд.",\r
-DlgPasteIgnoreFont             : "Тодорхойлогдсон Font Face зөвшөөрнө",\r
-DlgPasteRemoveStyles   : "Тодорхойлогдсон загварыг авах",\r
+DlgPasteMsg2   : "Please paste inside the following box using the keyboard (<strong>Ctrl+V</strong>) and hit <strong>OK</strong>.",    //MISSING\r
+DlgPasteSec            : "Because of your browser security settings, the editor is not able to access your clipboard data directly. You are required to paste it again in this window.",       //MISSING\r
+DlgPasteIgnoreFont             : "Ignore Font Face definitions",       //MISSING\r
+DlgPasteRemoveStyles   : "Remove Styles definitions",  //MISSING\r
+DlgPasteCleanBox               : "Clean Up Box",       //MISSING\r
 \r
 // Color Picker\r
 ColorAutomatic : "Автоматаар",\r
 ColorMoreColors        : "Нэмэлт өнгөнүүд...",\r
 \r
 // Document Properties\r
-DocProps               : "Баримт бичиг шинж чанар",\r
+DocProps               : "Document Properties",        //MISSING\r
 \r
 // Anchor Dialog\r
-DlgAnchorTitle         : "Холбоос шинж чанар",\r
-DlgAnchorName          : "Холбоос нэр",\r
-DlgAnchorErrorName     : "Холбоос төрөл оруулна уу",\r
+DlgAnchorTitle         : "Anchor Properties",  //MISSING\r
+DlgAnchorName          : "Anchor Name",        //MISSING\r
+DlgAnchorErrorName     : "Please type the anchor name",        //MISSING\r
 \r
 // Speller Pages Dialog\r
-DlgSpellNotInDic               : "Толь бичиггүй",\r
-DlgSpellChangeTo               : "Өөрчлөх",\r
-DlgSpellBtnIgnore              : "Зөвшөөрөх",\r
-DlgSpellBtnIgnoreAll   : "Бүгдийг зөвшөөрөх",\r
-DlgSpellBtnReplace             : "Дарж бичих",\r
-DlgSpellBtnReplaceAll  : "Бүгдийг Дарж бичих",\r
-DlgSpellBtnUndo                        : "Буцаах",\r
-DlgSpellNoSuggestions  : "- Тайлбаргүй -",\r
-DlgSpellProgress               : "Дүрэм шалгаж байгаа үйл явц...",\r
-DlgSpellNoMispell              : "Дүрэм шалгаад дууссан: Алдаа олдсонгүй",\r
-DlgSpellNoChanges              : "Дүрэм шалгаад дууссан: үг өөрчлөгдөөгүй",\r
-DlgSpellOneChange              : "Дүрэм шалгаад дууссан: 1 үг өөрчлөгдсөн",\r
-DlgSpellManyChanges            : "Дүрэм шалгаад дууссан: %1 үг өөрчлөгдсөн",\r
-\r
-IeSpellDownload                        : "Дүрэм шалгагч суугаагүй байна. Татаж авахыг хүсч байна уу?",\r
+DlgSpellNotInDic               : "Not in dictionary",  //MISSING\r
+DlgSpellChangeTo               : "Change to",  //MISSING\r
+DlgSpellBtnIgnore              : "Ignore",     //MISSING\r
+DlgSpellBtnIgnoreAll   : "Ignore All", //MISSING\r
+DlgSpellBtnReplace             : "Replace",    //MISSING\r
+DlgSpellBtnReplaceAll  : "Replace All",        //MISSING\r
+DlgSpellBtnUndo                        : "Undo",       //MISSING\r
+DlgSpellNoSuggestions  : "- No suggestions -", //MISSING\r
+DlgSpellProgress               : "Spell check in progress...", //MISSING\r
+DlgSpellNoMispell              : "Spell check complete: No misspellings found",        //MISSING\r
+DlgSpellNoChanges              : "Spell check complete: No words changed",     //MISSING\r
+DlgSpellOneChange              : "Spell check complete: One word changed",     //MISSING\r
+DlgSpellManyChanges            : "Spell check complete: %1 words changed",     //MISSING\r
+\r
+IeSpellDownload                        : "Spell checker not installed. Do you want to download it now?",       //MISSING\r
 \r
 // Button Dialog\r
-DlgButtonText          : "Тэкст (Утга)",\r
-DlgButtonType          : "Төрөл",\r
-DlgButtonTypeBtn       : "Товч",\r
-DlgButtonTypeSbm       : "Submit",\r
-DlgButtonTypeRst       : "Болих",\r
+DlgButtonText          : "Text (Value)",       //MISSING\r
+DlgButtonType          : "Type",       //MISSING\r
+DlgButtonTypeBtn       : "Button",     //MISSING\r
+DlgButtonTypeSbm       : "Submit",     //MISSING\r
+DlgButtonTypeRst       : "Reset",      //MISSING\r
 \r
 // Checkbox and Radio Button Dialogs\r
-DlgCheckboxName                : "Нэр",\r
-DlgCheckboxValue       : "Утга",\r
-DlgCheckboxSelected    : "Сонгогдсон",\r
+DlgCheckboxName                : "Name",       //MISSING\r
+DlgCheckboxValue       : "Value",      //MISSING\r
+DlgCheckboxSelected    : "Selected",   //MISSING\r
 \r
 // Form Dialog\r
-DlgFormName            : "Нэр",\r
-DlgFormAction  : "Үйлдэл",\r
-DlgFormMethod  : "Арга",\r
+DlgFormName            : "Name",       //MISSING\r
+DlgFormAction  : "Action",     //MISSING\r
+DlgFormMethod  : "Method",     //MISSING\r
 \r
 // Select Field Dialog\r
-DlgSelectName          : "Нэр",\r
-DlgSelectValue         : "Утга",\r
-DlgSelectSize          : "Хэмжээ",\r
-DlgSelectLines         : "Мөр",\r
-DlgSelectChkMulti      : "Олон сонголт зөвшөөрөх",\r
-DlgSelectOpAvail       : "Идвэхтэй сонголт",\r
-DlgSelectOpText                : "Тэкст",\r
-DlgSelectOpValue       : "Утга",\r
-DlgSelectBtnAdd                : "Нэмэх",\r
-DlgSelectBtnModify     : "Өөрчлөх",\r
-DlgSelectBtnUp         : "Дээш",\r
-DlgSelectBtnDown       : "Доош",\r
-DlgSelectBtnSetValue : "Сонгогдсан утга оноох",\r
-DlgSelectBtnDelete     : "Устгах",\r
+DlgSelectName          : "Name",       //MISSING\r
+DlgSelectValue         : "Value",      //MISSING\r
+DlgSelectSize          : "Size",       //MISSING\r
+DlgSelectLines         : "lines",      //MISSING\r
+DlgSelectChkMulti      : "Allow multiple selections",  //MISSING\r
+DlgSelectOpAvail       : "Available Options",  //MISSING\r
+DlgSelectOpText                : "Text",       //MISSING\r
+DlgSelectOpValue       : "Value",      //MISSING\r
+DlgSelectBtnAdd                : "Add",        //MISSING\r
+DlgSelectBtnModify     : "Modify",     //MISSING\r
+DlgSelectBtnUp         : "Up", //MISSING\r
+DlgSelectBtnDown       : "Down",       //MISSING\r
+DlgSelectBtnSetValue : "Set as selected value",        //MISSING\r
+DlgSelectBtnDelete     : "Delete",     //MISSING\r
 \r
 // Textarea Dialog\r
-DlgTextareaName        : "Нэр",\r
-DlgTextareaCols        : "Багана",\r
-DlgTextareaRows        : "Мөр",\r
+DlgTextareaName        : "Name",       //MISSING\r
+DlgTextareaCols        : "Columns",    //MISSING\r
+DlgTextareaRows        : "Rows",       //MISSING\r
 \r
 // Text Field Dialog\r
-DlgTextName                    : "Нэр",\r
-DlgTextValue           : "Утга",\r
-DlgTextCharWidth       : "Тэмдэгтын өргөн",\r
-DlgTextMaxChars                : "Хамгийн их тэмдэгт",\r
-DlgTextType                    : "Төрөл",\r
-DlgTextTypeText                : "Текст",\r
-DlgTextTypePass                : "Нууц үг",\r
+DlgTextName                    : "Name",       //MISSING\r
+DlgTextValue           : "Value",      //MISSING\r
+DlgTextCharWidth       : "Character Width",    //MISSING\r
+DlgTextMaxChars                : "Maximum Characters", //MISSING\r
+DlgTextType                    : "Type",       //MISSING\r
+DlgTextTypeText                : "Text",       //MISSING\r
+DlgTextTypePass                : "Password",   //MISSING\r
 \r
 // Hidden Field Dialog\r
-DlgHiddenName  : "Нэр",\r
-DlgHiddenValue : "Утга",\r
+DlgHiddenName  : "Name",       //MISSING\r
+DlgHiddenValue : "Value",      //MISSING\r
 \r
 // Bulleted List Dialog\r
-BulletedListProp       : "Bulleted жагсаалын шинж чанар",\r
-NumberedListProp       : "Дугаарласан жагсаалын шинж чанар",\r
-DlgLstStart                    : "Эхлэх",\r
-DlgLstType                     : "Төрөл",\r
-DlgLstTypeCircle       : "Тойрог",\r
-DlgLstTypeDisc         : "Тайлбар",\r
-DlgLstTypeSquare       : "Square",\r
-DlgLstTypeNumbers      : "Тоо (1, 2, 3)",\r
-DlgLstTypeLCase                : "Жижиг үсэг (a, b, c)",\r
-DlgLstTypeUCase                : "Том үсэг (A, B, C)",\r
-DlgLstTypeSRoman       : "Жижиг Ром тоо (i, ii, iii)",\r
-DlgLstTypeLRoman       : "Том Ром тоо (I, II, III)",\r
+BulletedListProp       : "Bulleted List Properties",   //MISSING\r
+NumberedListProp       : "Numbered List Properties",   //MISSING\r
+DlgLstStart                    : "Start",      //MISSING\r
+DlgLstType                     : "Type",       //MISSING\r
+DlgLstTypeCircle       : "Circle",     //MISSING\r
+DlgLstTypeDisc         : "Disc",       //MISSING\r
+DlgLstTypeSquare       : "Square",     //MISSING\r
+DlgLstTypeNumbers      : "Numbers (1, 2, 3)",  //MISSING\r
+DlgLstTypeLCase                : "Lowercase Letters (a, b, c)",        //MISSING\r
+DlgLstTypeUCase                : "Uppercase Letters (A, B, C)",        //MISSING\r
+DlgLstTypeSRoman       : "Small Roman Numerals (i, ii, iii)",  //MISSING\r
+DlgLstTypeLRoman       : "Large Roman Numerals (I, II, III)",  //MISSING\r
 \r
 // Document Properties Dialog\r
-DlgDocGeneralTab       : "Ерөнхий",\r
-DlgDocBackTab          : "Фоно",\r
-DlgDocColorsTab                : "Захын зай ба Өнгө",\r
-DlgDocMetaTab          : "Meta өгөгдөл",\r
-\r
-DlgDocPageTitle                : "Хуудасны гарчиг",\r
-DlgDocLangDir          : "Хэлний чиглэл",\r
-DlgDocLangDirLTR       : "Зүүнээс баруунруу (LTR)",\r
-DlgDocLangDirRTL       : "Баруунаас зүүнрүү (RTL)",\r
-DlgDocLangCode         : "Хэлний код",\r
-DlgDocCharSet          : "Encoding тэмдэгт",\r
-DlgDocCharSetCE                : "Төв европ",\r
-DlgDocCharSetCT                : "Хятадын уламжлалт (Big5)",\r
-DlgDocCharSetCR                : "Крил",\r
-DlgDocCharSetGR                : "Гред",\r
-DlgDocCharSetJP                : "Япон",\r
-DlgDocCharSetKR                : "Солонгос",\r
-DlgDocCharSetTR                : "Tурк",\r
-DlgDocCharSetUN                : "Юникод (UTF-8)",\r
-DlgDocCharSetWE                : "Баруун европ",\r
-DlgDocCharSetOther     : "Encoding-д өөр тэмдэгт оноох",\r
-\r
-DlgDocDocType          : "Баримт бичгийн төрөл Heading",\r
-DlgDocDocTypeOther     : "Бусад баримт бичгийн төрөл Heading",\r
-DlgDocIncXHTML         : "XHTML агуулж зарлах",\r
-DlgDocBgColor          : "Фоно өнгө",\r
-DlgDocBgImage          : "Фоно зурагны URL",\r
-DlgDocBgNoScroll       : "Гүйдэггүй фоно",\r
-DlgDocCText                    : "Текст",\r
-DlgDocCLink                    : "Линк",\r
-DlgDocCVisited         : "Зочилсон линк",\r
-DlgDocCActive          : "Идвэхитэй линк",\r
-DlgDocMargins          : "Хуудасны захын зай",\r
-DlgDocMaTop                    : "Дээд тал",\r
-DlgDocMaLeft           : "Зүүн тал",\r
-DlgDocMaRight          : "Баруун тал",\r
-DlgDocMaBottom         : "Доод тал",\r
-DlgDocMeIndex          : "Баримт бичгийн индекс түлхүүр үг (таслалаар тусгаарлагдана)",\r
-DlgDocMeDescr          : "Баримт бичгийн тайлбар",\r
-DlgDocMeAuthor         : "Зохиогч",\r
-DlgDocMeCopy           : "Зохиогчийн эрх",\r
-DlgDocPreview          : "Харах",\r
+DlgDocGeneralTab       : "General",    //MISSING\r
+DlgDocBackTab          : "Background", //MISSING\r
+DlgDocColorsTab                : "Colors and Margins", //MISSING\r
+DlgDocMetaTab          : "Meta Data",  //MISSING\r
+\r
+DlgDocPageTitle                : "Page Title", //MISSING\r
+DlgDocLangDir          : "Language Direction", //MISSING\r
+DlgDocLangDirLTR       : "Left to Right (LTR)",        //MISSING\r
+DlgDocLangDirRTL       : "Right to Left (RTL)",        //MISSING\r
+DlgDocLangCode         : "Language Code",      //MISSING\r
+DlgDocCharSet          : "Character Set Encoding",     //MISSING\r
+DlgDocCharSetCE                : "Central European",   //MISSING\r
+DlgDocCharSetCT                : "Chinese Traditional (Big5)", //MISSING\r
+DlgDocCharSetCR                : "Cyrillic",   //MISSING\r
+DlgDocCharSetGR                : "Greek",      //MISSING\r
+DlgDocCharSetJP                : "Japanese",   //MISSING\r
+DlgDocCharSetKR                : "Korean",     //MISSING\r
+DlgDocCharSetTR                : "Turkish",    //MISSING\r
+DlgDocCharSetUN                : "Unicode (UTF-8)",    //MISSING\r
+DlgDocCharSetWE                : "Western European",   //MISSING\r
+DlgDocCharSetOther     : "Other Character Set Encoding",       //MISSING\r
+\r
+DlgDocDocType          : "Document Type Heading",      //MISSING\r
+DlgDocDocTypeOther     : "Other Document Type Heading",        //MISSING\r
+DlgDocIncXHTML         : "Include XHTML Declarations", //MISSING\r
+DlgDocBgColor          : "Background Color",   //MISSING\r
+DlgDocBgImage          : "Background Image URL",       //MISSING\r
+DlgDocBgNoScroll       : "Nonscrolling Background",    //MISSING\r
+DlgDocCText                    : "Text",       //MISSING\r
+DlgDocCLink                    : "Link",       //MISSING\r
+DlgDocCVisited         : "Visited Link",       //MISSING\r
+DlgDocCActive          : "Active Link",        //MISSING\r
+DlgDocMargins          : "Page Margins",       //MISSING\r
+DlgDocMaTop                    : "Top",        //MISSING\r
+DlgDocMaLeft           : "Left",       //MISSING\r
+DlgDocMaRight          : "Right",      //MISSING\r
+DlgDocMaBottom         : "Bottom",     //MISSING\r
+DlgDocMeIndex          : "Document Indexing Keywords (comma separated)",       //MISSING\r
+DlgDocMeDescr          : "Document Description",       //MISSING\r
+DlgDocMeAuthor         : "Author",     //MISSING\r
+DlgDocMeCopy           : "Copyright",  //MISSING\r
+DlgDocPreview          : "Preview",    //MISSING\r
 \r
 // Templates Dialog\r
-Templates                      : "Загварууд",\r
-DlgTemplatesTitle      : "Загварын агуулга",\r
-DlgTemplatesSelMsg     : "Загварыг нээж editor-рүү сонгож оруулна уу<br />(Одоогийн агууллагыг устаж магадгүй):",\r
-DlgTemplatesLoading    : "Загваруудыг ачааллаж байна. Түр хүлээнэ үү...",\r
-DlgTemplatesNoTpl      : "(Загвар тодорхойлогдоогүй байна)",\r
-DlgTemplatesReplace    : "Одоогийн агууллагыг дарж бичих",\r
+Templates                      : "Templates",  //MISSING\r
+DlgTemplatesTitle      : "Content Templates",  //MISSING\r
+DlgTemplatesSelMsg     : "Please select the template to open in the editor<br />(the actual contents will be lost):",  //MISSING\r
+DlgTemplatesLoading    : "Loading templates list. Please wait...",     //MISSING\r
+DlgTemplatesNoTpl      : "(No templates defined)",     //MISSING\r
+DlgTemplatesReplace    : "Replace actual contents",    //MISSING\r
 \r
 // About Dialog\r
-DlgAboutAboutTab       : "Тухай",\r
-DlgAboutBrowserInfoTab : "Мэдээлэл үзүүлэгч",\r
-DlgAboutLicenseTab     : "Лиценз",\r
+DlgAboutAboutTab       : "About",      //MISSING\r
+DlgAboutBrowserInfoTab : "Browser Info",       //MISSING\r
+DlgAboutLicenseTab     : "License",    //MISSING\r
 DlgAboutVersion                : "Хувилбар",\r
-DlgAboutInfo           : "Мэдээллээр туслах",\r
-\r
-// Div Dialog\r
-DlgDivGeneralTab       : "General",    //MISSING\r
-DlgDivAdvancedTab      : "Advanced",   //MISSING\r
-DlgDivStyle            : "Style",      //MISSING\r
-DlgDivInlineStyle      : "Inline Style",       //MISSING\r
-\r
-ScaytTitle                     : "SCAYT",      //MISSING\r
-ScaytTitleOptions      : "Options",    //MISSING\r
-ScaytTitleLangs                : "Languages",  //MISSING\r
-ScaytTitleAbout                : "About"       //MISSING\r
-};\r
+DlgAboutInfo           : "Мэдээллээр туслах"\r
+};
\ No newline at end of file
index 1e97973..efe0529 100644 (file)
@@ -1,6 +1,6 @@
 /*\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
@@ -44,9 +44,7 @@ RemoveFormat          : "Buang Format",
 InsertLinkLbl          : "Sambungan",\r
 InsertLink                     : "Masukkan/Sunting Sambungan",\r
 RemoveLink                     : "Buang Sambungan",\r
-VisitLink                      : "Open Link",  //MISSING\r
 Anchor                         : "Masukkan/Sunting Pautan",\r
-AnchorDelete           : "Remove Anchor",      //MISSING\r
 InsertImageLbl         : "Gambar",\r
 InsertImage                    : "Masukkan/Sunting Gambar",\r
 InsertFlashLbl         : "Flash",      //MISSING\r
@@ -72,10 +70,6 @@ RightJustify         : "Jajaran Kanan",
 BlockJustify           : "Jajaran Blok",\r
 DecreaseIndent         : "Kurangkan Inden",\r
 IncreaseIndent         : "Tambahkan Inden",\r
-Blockquote                     : "Blockquote", //MISSING\r
-CreateDiv                      : "Create Div Container",       //MISSING\r
-EditDiv                                : "Edit Div Container", //MISSING\r
-DeleteDiv                      : "Remove Div Container",       //MISSING\r
 Undo                           : "Batalkan",\r
 Redo                           : "Ulangkan",\r
 NumberedListLbl                : "Senarai bernombor",\r
@@ -109,27 +103,20 @@ SelectionField    : "Field Pilihan",
 ImageButton            : "Butang Bergambar",\r
 \r
 FitWindow              : "Maximize the editor size",   //MISSING\r
-ShowBlocks             : "Show Blocks",        //MISSING\r
 \r
 // Context Menu\r
 EditLink                       : "Sunting Sambungan",\r
 CellCM                         : "Cell",       //MISSING\r
 RowCM                          : "Row",        //MISSING\r
 ColumnCM                       : "Column",     //MISSING\r
-InsertRowAfter         : "Insert Row After",   //MISSING\r
-InsertRowBefore                : "Insert Row Before",  //MISSING\r
+InsertRow                      : "Masukkan Baris",\r
 DeleteRows                     : "Buangkan Baris",\r
-InsertColumnAfter      : "Insert Column After",        //MISSING\r
-InsertColumnBefore     : "Insert Column Before",       //MISSING\r
+InsertColumn           : "Masukkan Lajur",\r
 DeleteColumns          : "Buangkan Lajur",\r
-InsertCellAfter                : "Insert Cell After",  //MISSING\r
-InsertCellBefore       : "Insert Cell Before", //MISSING\r
+InsertCell                     : "Masukkan Sel",\r
 DeleteCells                    : "Buangkan Sel-sel",\r
 MergeCells                     : "Cantumkan Sel-sel",\r
-MergeRight                     : "Merge Right",        //MISSING\r
-MergeDown                      : "Merge Down", //MISSING\r
-HorizontalSplitCell    : "Split Cell Horizontally",    //MISSING\r
-VerticalSplitCell      : "Split Cell Vertically",      //MISSING\r
+SplitCell                      : "Bahagikan Sel",\r
 TableDelete                    : "Delete Table",       //MISSING\r
 CellProperties         : "Ciri-ciri Sel",\r
 TableProperties                : "Ciri-ciri Jadual",\r
@@ -147,7 +134,7 @@ SelectionFieldProp  : "Ciri-ciri Selection Field",
 TextareaProp           : "Ciri-ciri Textarea",\r
 FormProp                       : "Ciri-ciri Borang",\r
 \r
-FontFormats                    : "Normal;Telah Diformat;Alamat;Heading 1;Heading 2;Heading 3;Heading 4;Heading 5;Heading 6;Perenggan (DIV)",\r
+FontFormats                    : "Normal;Telah Diformat;Alamat;Heading 1;Heading 2;Heading 3;Heading 4;Heading 5;Heading 6;Perenggan (DIV)",           //REVIEW : Check _getfontformat.html\r
 \r
 // Alerts and Messages\r
 ProcessingXHTML                : "Memproses XHTML. Sila tunggu...",\r
@@ -161,7 +148,6 @@ UnknownToolbarSet   : "Set toolbar \"%1\" tidak wujud",
 NoActiveX                      : "Your browser's security settings could limit some features of the editor. You must enable the option \"Run ActiveX controls and plug-ins\". You may experience errors and notice missing features.", //MISSING\r
 BrowseServerBlocked : "The resources browser could not be opened. Make sure that all popup blockers are disabled.",    //MISSING\r
 DialogBlocked          : "It was not possible to open the dialog window. Make sure all popup blockers are disabled.",  //MISSING\r
-VisitLinkBlocked       : "It was not possible to open a new window. Make sure all popup blockers are disabled.",       //MISSING\r
 \r
 // Dialogs\r
 DlgBtnOK                       : "OK",\r
@@ -243,7 +229,7 @@ DlgLnkURL                   : "URL",
 DlgLnkAnchorSel                : "Sila pilih pautan",\r
 DlgLnkAnchorByName     : "dengan menggunakan nama pautan",\r
 DlgLnkAnchorById       : "dengan menggunakan ID elemen",\r
-DlgLnkNoAnchors                : "(Tiada pautan terdapat dalam dokumen ini)",\r
+DlgLnkNoAnchors                : "<Tiada pautan terdapat dalam dokumen ini>",          //REVIEW : Change < and > with ( and )\r
 DlgLnkEMail                    : "Alamat E-Mail",\r
 DlgLnkEMailSubject     : "Subjek Mesej",\r
 DlgLnkEMailBody                : "Isi Kandungan Mesej",\r
@@ -308,11 +294,6 @@ DlgTableCellSpace  : "Ruangan Antara Sel",
 DlgTableCellPad                : "Tambahan Ruang Sel",\r
 DlgTableCaption                : "Keterangan",\r
 DlgTableSummary                : "Summary",    //MISSING\r
-DlgTableHeaders                : "Headers",    //MISSING\r
-DlgTableHeadersNone            : "None",       //MISSING\r
-DlgTableHeadersColumn  : "First column",       //MISSING\r
-DlgTableHeadersRow             : "First Row",  //MISSING\r
-DlgTableHeadersBoth            : "Both",       //MISSING\r
 \r
 // Table Cell Dialog\r
 DlgCellTitle           : "Ciri-ciri Sel",\r
@@ -335,18 +316,12 @@ DlgCellVerAlignTop        : "Atas",
 DlgCellVerAlignMiddle  : "Tengah",\r
 DlgCellVerAlignBottom  : "Bawah",\r
 DlgCellVerAlignBaseline        : "Garis Dasar",\r
-DlgCellType            : "Cell Type",  //MISSING\r
-DlgCellTypeData                : "Data",       //MISSING\r
-DlgCellTypeHeader      : "Header",     //MISSING\r
 DlgCellRowSpan         : "Penggunaan Baris",\r
 DlgCellCollSpan                : "Penggunaan Lajur",\r
 DlgCellBackColor       : "Warna Latarbelakang",\r
 DlgCellBorderColor     : "Warna Border",\r
 DlgCellBtnSelect       : "Pilih...",\r
 \r
-// Find and Replace Dialog\r
-DlgFindAndReplaceTitle : "Find and Replace",   //MISSING\r
-\r
 // Find Dialog\r
 DlgFindTitle           : "Carian",\r
 DlgFindFindBtn         : "Cari",\r
@@ -372,6 +347,7 @@ DlgPasteMsg2        : "Please paste inside the following box using the keyboard (<stron
 DlgPasteSec            : "Because of your browser security settings, the editor is not able to access your clipboard data directly. You are required to paste it again in this window.",       //MISSING\r
 DlgPasteIgnoreFont             : "Ignore Font Face definitions",       //MISSING\r
 DlgPasteRemoveStyles   : "Remove Styles definitions",  //MISSING\r
+DlgPasteCleanBox               : "Clean Up Box",       //MISSING\r
 \r
 // Color Picker\r
 ColorAutomatic : "Otomatik",\r
@@ -524,16 +500,5 @@ DlgAboutAboutTab   : "Tentang",
 DlgAboutBrowserInfoTab : "Maklumat Perisian Browser",\r
 DlgAboutLicenseTab     : "License",    //MISSING\r
 DlgAboutVersion                : "versi",\r
-DlgAboutInfo           : "Untuk maklumat lanjut sila pergi ke",\r
-\r
-// Div Dialog\r
-DlgDivGeneralTab       : "General",    //MISSING\r
-DlgDivAdvancedTab      : "Advanced",   //MISSING\r
-DlgDivStyle            : "Style",      //MISSING\r
-DlgDivInlineStyle      : "Inline Style",       //MISSING\r
-\r
-ScaytTitle                     : "SCAYT",      //MISSING\r
-ScaytTitleOptions      : "Options",    //MISSING\r
-ScaytTitleLangs                : "Languages",  //MISSING\r
-ScaytTitleAbout                : "About"       //MISSING\r
-};\r
+DlgAboutInfo           : "Untuk maklumat lanjut sila pergi ke"\r
+};
\ No newline at end of file
index d720dce..ae9fa64 100644 (file)
@@ -1,6 +1,6 @@
 /*\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
@@ -44,9 +44,7 @@ RemoveFormat          : "Fjern format",
 InsertLinkLbl          : "Lenke",\r
 InsertLink                     : "Sett inn/Rediger lenke",\r
 RemoveLink                     : "Fjern lenke",\r
-VisitLink                      : "Åpne lenke",\r
 Anchor                         : "Sett inn/Rediger anker",\r
-AnchorDelete           : "Fjern anker",\r
 InsertImageLbl         : "Bilde",\r
 InsertImage                    : "Sett inn/Rediger bilde",\r
 InsertFlashLbl         : "Flash",\r
@@ -72,14 +70,10 @@ RightJustify                : "Høyrejuster",
 BlockJustify           : "Blokkjuster",\r
 DecreaseIndent         : "Senk nivå",\r
 IncreaseIndent         : "Øk nivå",\r
-Blockquote                     : "Blockquote", //MISSING\r
-CreateDiv                      : "Create Div Container",       //MISSING\r
-EditDiv                                : "Edit Div Container", //MISSING\r
-DeleteDiv                      : "Remove Div Container",       //MISSING\r
 Undo                           : "Angre",\r
 Redo                           : "Gjør om",\r
-NumberedListLbl                : "Nummerert liste",\r
-NumberedList           : "Sett inn/Fjern nummerert liste",\r
+NumberedListLbl                : "Numrert liste",\r
+NumberedList           : "Sett inn/Fjern numrert liste",\r
 BulletedListLbl                : "Uordnet liste",\r
 BulletedList           : "Sett inn/Fjern uordnet liste",\r
 ShowTableBorders       : "Vis tabellrammer",\r
@@ -91,7 +85,7 @@ FontSize                      : "Størrelse",
 TextColor                      : "Tekstfarge",\r
 BGColor                                : "Bakgrunnsfarge",\r
 Source                         : "Kilde",\r
-Find                           : "Søk",\r
+Find                           : "Finn",\r
 Replace                                : "Erstatt",\r
 SpellCheck                     : "Stavekontroll",\r
 UniversalKeyboard      : "Universelt tastatur",\r
@@ -99,69 +93,61 @@ PageBreakLbl                : "Sideskift",
 PageBreak                      : "Sett inn sideskift",\r
 \r
 Form                   : "Skjema",\r
-Checkbox               : "Avmerkingsboks",\r
-RadioButton            : "Alternativknapp",\r
-TextField              : "Tekstboks",\r
+Checkbox               : "Sjekkboks",\r
+RadioButton            : "Radioknapp",\r
+TextField              : "Tekstfelt",\r
 Textarea               : "Tekstområde",\r
 HiddenField            : "Skjult felt",\r
 Button                 : "Knapp",\r
-SelectionField : "Rullegardinliste",\r
+SelectionField : "Dropdown meny",\r
 ImageButton            : "Bildeknapp",\r
 \r
 FitWindow              : "Maksimer størrelsen på redigeringsverktøyet",\r
-ShowBlocks             : "Show Blocks",        //MISSING\r
 \r
 // Context Menu\r
 EditLink                       : "Rediger lenke",\r
 CellCM                         : "Celle",\r
 RowCM                          : "Rader",\r
 ColumnCM                       : "Kolonne",\r
-InsertRowAfter         : "Sett inn rad etter",\r
-InsertRowBefore                : "Sett inn rad før",\r
+InsertRow                      : "Sett inn rad",\r
 DeleteRows                     : "Slett rader",\r
-InsertColumnAfter      : "Sett inn kolonne etter",\r
-InsertColumnBefore     : "Sett inn kolonne før",\r
+InsertColumn           : "Sett inn kolonne",\r
 DeleteColumns          : "Slett kolonner",\r
-InsertCellAfter                : "Sett inn celle etter",\r
-InsertCellBefore       : "Sett inn celle før",\r
+InsertCell                     : "Sett inn celle",\r
 DeleteCells                    : "Slett celler",\r
 MergeCells                     : "Slå sammen celler",\r
-MergeRight                     : "Slå sammen høyre",\r
-MergeDown                      : "Slå sammen ned",\r
-HorizontalSplitCell    : "Del celle horisontalt",\r
-VerticalSplitCell      : "Del celle vertikalt",\r
+SplitCell                      : "Splitt celler",\r
 TableDelete                    : "Slett tabell",\r
-CellProperties         : "Egenskaper for celle",\r
-TableProperties                : "Egenskaper for tabell",\r
-ImageProperties                : "Egenskaper for bilde",\r
-FlashProperties                : "Egenskaper for Flash-objekt",\r
-\r
-AnchorProp                     : "Egenskaper for anker",\r
-ButtonProp                     : "Egenskaper for knapp",\r
-CheckboxProp           : "Egenskaper for avmerkingsboks",\r
-HiddenFieldProp                : "Egenskaper for skjult felt",\r
-RadioButtonProp                : "Egenskaper for alternativknapp",\r
-ImageButtonProp                : "Egenskaper for bildeknapp",\r
-TextFieldProp          : "Egenskaper for tekstfelt",\r
-SelectionFieldProp     : "Egenskaper for rullegardinliste",\r
-TextareaProp           : "Egenskaper for tekstområde",\r
-FormProp                       : "Egenskaper for skjema",\r
-\r
-FontFormats                    : "Normal;Formatert;Adresse;Tittel 1;Tittel 2;Tittel 3;Tittel 4;Tittel 5;Tittel 6;Normal (DIV)",\r
+CellProperties         : "Celleegenskaper",\r
+TableProperties                : "Tabellegenskaper",\r
+ImageProperties                : "Bildeegenskaper",\r
+FlashProperties                : "Flash Egenskaper",\r
+\r
+AnchorProp                     : "Ankeregenskaper",\r
+ButtonProp                     : "Knappegenskaper",\r
+CheckboxProp           : "Sjekkboksegenskaper",\r
+HiddenFieldProp                : "Skjult felt egenskaper",\r
+RadioButtonProp                : "Radioknappegenskaper",\r
+ImageButtonProp                : "Bildeknappegenskaper",\r
+TextFieldProp          : "Tekstfeltegenskaper",\r
+SelectionFieldProp     : "Dropdown menyegenskaper",\r
+TextareaProp           : "Tekstfeltegenskaper",\r
+FormProp                       : "Skjemaegenskaper",\r
+\r
+FontFormats                    : "Normal;Formatert;Adresse;Tittel 1;Tittel 2;Tittel 3;Tittel 4;Tittel 5;Tittel 6",             //REVIEW : Check _getfontformat.html\r
 \r
 // Alerts and Messages\r
 ProcessingXHTML                : "Lager XHTML. Vennligst vent...",\r
 Done                           : "Ferdig",\r
-PasteWordConfirm       : "Teksten du prøver å lime inn ser ut som om den kommer fra Word. Vil du rense den for unødvendig kode før du limer inn?",\r
-NotCompatiblePaste     : "Denne kommandoen er kun tilgjenglig for Internet Explorer versjon 5.5 eller bedre. Vil du fortsette uten å rense? (Du kan lime inn som ren tekst)",\r
+PasteWordConfirm       : "Teksten du prøver å lime inn ser ut som om den kommer fra word , du bør rense den før du limer inn , vil du gjøre dette?",\r
+NotCompatiblePaste     : "Denne kommandoen er tilgjenglig kun for Internet Explorer version 5.5 eller bedre. Vil du fortsette uten å rense?(Du kan lime inn som ren tekst)",\r
 UnknownToolbarItem     : "Ukjent menyvalg \"%1\"",\r
 UnknownCommand         : "Ukjent kommando \"%1\"",\r
-NotImplemented         : "Kommando ikke implimentert",\r
+NotImplemented         : "Kommando ikke ennå implimentert",\r
 UnknownToolbarSet      : "Verktøylinjesett \"%1\" finnes ikke",\r
-NoActiveX                      : "Din nettlesers sikkerhetsinstillinger kan begrense noen av funksjonene i redigeringsverktøyet. Du må aktivere \"Kjør ActiveX-kontroller og plugin-modeller\". Du kan oppleve feil og advarsler om manglende funksjoner",\r
-BrowseServerBlocked : "Kunne ikke åpne dialogboksen for filarkiv. Sjekk at popup-blokkering er deaktivert.",\r
-DialogBlocked          : "Kunne ikke åpne dialogboksen. Sjekk at popup-blokkering er deaktivert.",\r
-VisitLinkBlocked       : "Kunne ikke åpne et nytt vindu. Sjekk at popup-blokkering er deaktivert.",\r
+NoActiveX                      : "Din nettleser's sikkerhetsinstillinger kan begrense noen av funksjonene i redigeringsverktøyet. Du må aktivere \"Kjør ActiveXkontroller og plugins\". Du kan oppleve feil og advarsler om manglende funksjoner",\r
+BrowseServerBlocked : "Kunne ikke åpne dialogboksen for filarkiv. Pass på at du har slått av popupstoppere.",\r
+DialogBlocked          : "Kunne ikke åpne dialogboksen. Pass på at du har slått av popupstoppere.",\r
 \r
 // Dialogs\r
 DlgBtnOK                       : "OK",\r
@@ -171,7 +157,7 @@ DlgBtnBrowseServer  : "Bla igjennom server",
 DlgAdvancedTag         : "Avansert",\r
 DlgOpOther                     : "<Annet>",\r
 DlgInfoTab                     : "Info",\r
-DlgAlertUrl                    : "Vennligst skriv inn URL-en",\r
+DlgAlertUrl                    : "Vennligst skriv inn URL'en",\r
 \r
 // General Dialogs Labels\r
 DlgGenNotSet           : "<ikke satt>",\r
@@ -179,7 +165,7 @@ DlgGenId                    : "Id",
 DlgGenLangDir          : "Språkretning",\r
 DlgGenLangDirLtr       : "Venstre til høyre (VTH)",\r
 DlgGenLangDirRtl       : "Høyre til venstre (HTV)",\r
-DlgGenLangCode         : "Språkkode",\r
+DlgGenLangCode         : "Språk kode",\r
 DlgGenAccessKey                : "Aksessknapp",\r
 DlgGenName                     : "Navn",\r
 DlgGenTabIndex         : "Tab Indeks",\r
@@ -215,18 +201,18 @@ DlgImgAlignRight  : "Høyre",
 DlgImgAlignTextTop     : "Tekst topp",\r
 DlgImgAlignTop         : "Topp",\r
 DlgImgPreview          : "Forhåndsvis",\r
-DlgImgAlertUrl         : "Vennligst skriv bilde-urlen",\r
+DlgImgAlertUrl         : "Vennligst skriv bildeurlen",\r
 DlgImgLinkTab          : "Lenke",\r
 \r
 // Flash Dialog\r
-DlgFlashTitle          : "Flash-egenskaper",\r
-DlgFlashChkPlay                : "Autospill",\r
+DlgFlashTitle          : "Flash Egenskaper",\r
+DlgFlashChkPlay                : "Auto Spill",\r
 DlgFlashChkLoop                : "Loop",\r
-DlgFlashChkMenu                : "Slå på Flash-meny",\r
+DlgFlashChkMenu                : "Slå på Flash meny",\r
 DlgFlashScale          : "Skaler",\r
 DlgFlashScaleAll       : "Vis alt",\r
 DlgFlashScaleNoBorder  : "Ingen ramme",\r
-DlgFlashScaleFit       : "Skaler til å passe",\r
+DlgFlashScaleFit       : "Skaler til å passeExact Fit",\r
 \r
 // Link Dialog\r
 DlgLnkWindowTitle      : "Lenke",\r
@@ -235,16 +221,16 @@ DlgLnkTargetTab           : "Mål",
 \r
 DlgLnkType                     : "Lenketype",\r
 DlgLnkTypeURL          : "URL",\r
-DlgLnkTypeAnchor       : "Lenke til anker i teksten",\r
-DlgLnkTypeEMail                : "E-post",\r
+DlgLnkTypeAnchor       : "Lenke til bokmerke i teksten",\r
+DlgLnkTypeEMail                : "E-Post",\r
 DlgLnkProto                    : "Protokoll",\r
 DlgLnkProtoOther       : "<annet>",\r
 DlgLnkURL                      : "URL",\r
-DlgLnkAnchorSel                : "Velg et anker",\r
+DlgLnkAnchorSel                : "Velg ett anker",\r
 DlgLnkAnchorByName     : "Anker etter navn",\r
 DlgLnkAnchorById       : "Element etter ID",\r
-DlgLnkNoAnchors                : "(Ingen anker i dokumentet)",\r
-DlgLnkEMail                    : "E-postadresse",\r
+DlgLnkNoAnchors                : "<Ingen anker i dokumentet>",         //REVIEW : Change < and > with ( and )\r
+DlgLnkEMail                    : "E-Post Addresse",\r
 DlgLnkEMailSubject     : "Meldingsemne",\r
 DlgLnkEMailBody                : "Melding",\r
 DlgLnkUpload           : "Last opp",\r
@@ -254,12 +240,12 @@ DlgLnkTarget              : "Mål",
 DlgLnkTargetFrame      : "<ramme>",\r
 DlgLnkTargetPopup      : "<popup vindu>",\r
 DlgLnkTargetBlank      : "Nytt vindu (_blank)",\r
-DlgLnkTargetParent     : "Foreldrevindu (_parent)",\r
+DlgLnkTargetParent     : "Foreldre vindu (_parent)",\r
 DlgLnkTargetSelf       : "Samme vindu (_self)",\r
 DlgLnkTargetTop                : "Hele vindu (_top)",\r
 DlgLnkTargetFrameName  : "Målramme",\r
-DlgLnkPopWinName       : "Navn på popup-vindus",\r
-DlgLnkPopWinFeat       : "Egenskaper for popup-vindu",\r
+DlgLnkPopWinName       : "Popup vindus navn",\r
+DlgLnkPopWinFeat       : "Popup vindus egenskaper",\r
 DlgLnkPopResize                : "Endre størrelse",\r
 DlgLnkPopLocation      : "Adresselinje",\r
 DlgLnkPopMenu          : "Menylinje",\r
@@ -271,18 +257,18 @@ DlgLnkPopDependent        : "Avhenging (Netscape)",
 DlgLnkPopWidth         : "Bredde",\r
 DlgLnkPopHeight                : "Høyde",\r
 DlgLnkPopLeft          : "Venstre posisjon",\r
-DlgLnkPopTop           : "Topp-posisjon",\r
+DlgLnkPopTop           : "Topp posisjon",\r
 \r
 DlnLnkMsgNoUrl         : "Vennligst skriv inn lenkens url",\r
 DlnLnkMsgNoEMail       : "Vennligst skriv inn e-postadressen",\r
-DlnLnkMsgNoAnchor      : "Vennligst velg et anker",\r
-DlnLnkMsgInvPopName    : "Popup-vinduets navn må begynne med en bokstav, og kan ikke inneholde mellomrom",\r
+DlnLnkMsgNoAnchor      : "Vennligst velg ett anker",\r
+DlnLnkMsgInvPopName    : "Popup vinduets navn må begynne med en bokstav, og kan ikke inneholde mellomrom",\r
 \r
 // Color Dialog\r
 DlgColorTitle          : "Velg farge",\r
 DlgColorBtnClear       : "Tøm",\r
 DlgColorHighlight      : "Marker",\r
-DlgColorSelected       : "Valgt",\r
+DlgColorSelected       : "Velg",\r
 \r
 // Smiley Dialog\r
 DlgSmileyTitle         : "Sett inn smil",\r
@@ -291,7 +277,7 @@ DlgSmileyTitle              : "Sett inn smil",
 DlgSpecialCharTitle    : "Velg spesielt tegn",\r
 \r
 // Table Dialog\r
-DlgTableTitle          : "Egenskaper for tabell",\r
+DlgTableTitle          : "Tabellegenskaper",\r
 DlgTableRows           : "Rader",\r
 DlgTableColumns                : "Kolonner",\r
 DlgTableBorder         : "Rammestørrelse",\r
@@ -301,23 +287,18 @@ DlgTableAlignLeft : "Venstre",
 DlgTableAlignCenter    : "Midtjuster",\r
 DlgTableAlignRight     : "Høyre",\r
 DlgTableWidth          : "Bredde",\r
-DlgTableWidthPx                : "piksler",\r
+DlgTableWidthPx                : "pixler",\r
 DlgTableWidthPc                : "prosent",\r
 DlgTableHeight         : "Høyde",\r
-DlgTableCellSpace      : "Cellemarg",\r
-DlgTableCellPad                : "Cellepolstring",\r
+DlgTableCellSpace      : "Celle marg",\r
+DlgTableCellPad                : "Celle polstring",\r
 DlgTableCaption                : "Tittel",\r
 DlgTableSummary                : "Sammendrag",\r
-DlgTableHeaders                : "Headers",    //MISSING\r
-DlgTableHeadersNone            : "None",       //MISSING\r
-DlgTableHeadersColumn  : "First column",       //MISSING\r
-DlgTableHeadersRow             : "First Row",  //MISSING\r
-DlgTableHeadersBoth            : "Both",       //MISSING\r
 \r
 // Table Cell Dialog\r
-DlgCellTitle           : "Celleegenskaper",\r
+DlgCellTitle           : "Celle egenskaper",\r
 DlgCellWidth           : "Bredde",\r
-DlgCellWidthPx         : "piksler",\r
+DlgCellWidthPx         : "pixeler",\r
 DlgCellWidthPc         : "prosent",\r
 DlgCellHeight          : "Høyde",\r
 DlgCellWordWrap                : "Tekstbrytning",\r
@@ -335,43 +316,38 @@ DlgCellVerAlignTop        : "Topp",
 DlgCellVerAlignMiddle  : "Midten",\r
 DlgCellVerAlignBottom  : "Bunn",\r
 DlgCellVerAlignBaseline        : "Bunnlinje",\r
-DlgCellType            : "Cell Type",  //MISSING\r
-DlgCellTypeData                : "Data",       //MISSING\r
-DlgCellTypeHeader      : "Header",     //MISSING\r
 DlgCellRowSpan         : "Radspenn",\r
 DlgCellCollSpan                : "Kolonnespenn",\r
 DlgCellBackColor       : "Bakgrunnsfarge",\r
 DlgCellBorderColor     : "Rammefarge",\r
 DlgCellBtnSelect       : "Velg...",\r
 \r
-// Find and Replace Dialog\r
-DlgFindAndReplaceTitle : "Søk og erstatt",\r
-\r
 // Find Dialog\r
-DlgFindTitle           : "Søk",\r
-DlgFindFindBtn         : "Søk",\r
-DlgFindNotFoundMsg     : "Fant ikke søketeksten.",\r
+DlgFindTitle           : "Finn",\r
+DlgFindFindBtn         : "Finn",\r
+DlgFindNotFoundMsg     : "Den spesifiserte teksten ble ikke funnet.",\r
 \r
 // Replace Dialog\r
 DlgReplaceTitle                        : "Erstatt",\r
-DlgReplaceFindLbl              : "Søk etter:",\r
+DlgReplaceFindLbl              : "Finn hva:",\r
 DlgReplaceReplaceLbl   : "Erstatt med:",\r
-DlgReplaceCaseChk              : "Skill mellom store og små bokstaver",\r
+DlgReplaceCaseChk              : "Riktig case",\r
 DlgReplaceReplaceBtn   : "Erstatt",\r
 DlgReplaceReplAllBtn   : "Erstatt alle",\r
-DlgReplaceWordChk              : "Bare hele ord",\r
+DlgReplaceWordChk              : "Finn hele ordet",\r
 \r
 // Paste Operations / Dialog\r
-PasteErrorCut  : "Din nettlesers sikkerhetsinstillinger tillater ikke automatisk klipping av tekst. Vennligst bruk snareveien (Ctrl+X).",\r
-PasteErrorCopy : "Din nettlesers sikkerhetsinstillinger tillater ikke automatisk kopiering av tekst. Vennligst bruk snareveien (Ctrl+C).",\r
+PasteErrorCut  : "Din nettlesers sikkerhetsinstillinger tillater ikke automatisk klipping av tekst. Vennligst brukt snareveien (Ctrl+X).",\r
+PasteErrorCopy : "Din nettlesers sikkerhetsinstillinger tillater ikke automatisk kopiering av tekst. Vennligst brukt snareveien (Ctrl+C).",\r
 \r
 PasteAsText            : "Lim inn som ren tekst",\r
-PasteFromWord  : "Lim inn fra Word",\r
+PasteFromWord  : "Lim inn fra word",\r
 \r
 DlgPasteMsg2   : "Vennligst lim inn i den følgende boksen med tastaturet (<STRONG>Ctrl+V</STRONG>) og trykk <STRONG>OK</STRONG>.",\r
-DlgPasteSec            : "Din nettlesers sikkerhetsinstillinger gir ikke redigeringsverktøyet direkte tilgang til utklippstavlen. Du må lime det igjen i dette vinduet.",\r
+DlgPasteSec            : "Because of your browser security settings, the editor is not able to access your clipboard data directly. You are required to paste it again in this window.",       //MISSING\r
 DlgPasteIgnoreFont             : "Fjern skrifttyper",\r
 DlgPasteRemoveStyles   : "Fjern stildefinisjoner",\r
+DlgPasteCleanBox               : "Tøm boksen",\r
 \r
 // Color Picker\r
 ColorAutomatic : "Automatisk",\r
@@ -393,17 +369,17 @@ DlgSpellBtnIgnoreAll      : "Ignorer alle",
 DlgSpellBtnReplace             : "Erstatt",\r
 DlgSpellBtnReplaceAll  : "Erstatt alle",\r
 DlgSpellBtnUndo                        : "Angre",\r
-DlgSpellNoSuggestions  : "- Ingen forslag -",\r
+DlgSpellNoSuggestions  : "- ingen forslag -",\r
 DlgSpellProgress               : "Stavekontroll pågår...",\r
 DlgSpellNoMispell              : "Stavekontroll fullført: ingen feilstavinger funnet",\r
 DlgSpellNoChanges              : "Stavekontroll fullført: ingen ord endret",\r
 DlgSpellOneChange              : "Stavekontroll fullført: Ett ord endret",\r
 DlgSpellManyChanges            : "Stavekontroll fullført: %1 ord endret",\r
 \r
-IeSpellDownload                        : "Stavekontroll er ikke installert. Vil du laste den ned nå?",\r
+IeSpellDownload                        : "Stavekontroll ikke installert, vil du laste den ned nå?",\r
 \r
 // Button Dialog\r
-DlgButtonText          : "Tekst (verdi)",\r
+DlgButtonText          : "Tekst",\r
 DlgButtonType          : "Type",\r
 DlgButtonTypeBtn       : "Knapp",\r
 DlgButtonTypeSbm       : "Send",\r
@@ -442,7 +418,7 @@ DlgTextareaRows     : "Rader",
 \r
 // Text Field Dialog\r
 DlgTextName                    : "Navn",\r
-DlgTextValue           : "Verdi",\r
+DlgTextValue           : "verdi",\r
 DlgTextCharWidth       : "Tegnbredde",\r
 DlgTextMaxChars                : "Maks antall tegn",\r
 DlgTextType                    : "Type",\r
@@ -454,24 +430,24 @@ DlgHiddenName     : "Navn",
 DlgHiddenValue : "Verdi",\r
 \r
 // Bulleted List Dialog\r
-BulletedListProp       : "Egenskaper for uordnet liste",\r
-NumberedListProp       : "Egenskaper for ordnet liste",\r
+BulletedListProp       : "Uordnet listeegenskaper",\r
+NumberedListProp       : "Ordnet listeegenskaper",\r
 DlgLstStart                    : "Start",\r
 DlgLstType                     : "Type",\r
 DlgLstTypeCircle       : "Sirkel",\r
 DlgLstTypeDisc         : "Hel sirkel",\r
 DlgLstTypeSquare       : "Firkant",\r
-DlgLstTypeNumbers      : "Numre (1, 2, 3)",\r
+DlgLstTypeNumbers      : "Numre(1, 2, 3)",\r
 DlgLstTypeLCase                : "Små bokstaver (a, b, c)",\r
-DlgLstTypeUCase                : "Store bokstaver (A, B, C)",\r
-DlgLstTypeSRoman       : "Små romerske tall (i, ii, iii)",\r
-DlgLstTypeLRoman       : "Store romerske tall (I, II, III)",\r
+DlgLstTypeUCase                : "Store bokstaver(A, B, C)",\r
+DlgLstTypeSRoman       : "Små romerske tall(i, ii, iii)",\r
+DlgLstTypeLRoman       : "Store romerske tall(I, II, III)",\r
 \r
 // Document Properties Dialog\r
-DlgDocGeneralTab       : "Generelt",\r
+DlgDocGeneralTab       : "Generalt",\r
 DlgDocBackTab          : "Bakgrunn",\r
 DlgDocColorsTab                : "Farger og marginer",\r
-DlgDocMetaTab          : "Meta-data",\r
+DlgDocMetaTab          : "Meta Data",\r
 \r
 DlgDocPageTitle                : "Sidetittel",\r
 DlgDocLangDir          : "Språkretning",\r
@@ -486,16 +462,16 @@ DlgDocCharSetGR           : "Gresk",
 DlgDocCharSetJP                : "Japansk",\r
 DlgDocCharSetKR                : "Koreansk",\r
 DlgDocCharSetTR                : "Tyrkisk",\r
-DlgDocCharSetUN                : "Unicode (UTF-8)",\r
+DlgDocCharSetUN                : "Unikode (UTF-8)",\r
 DlgDocCharSetWE                : "Vesteuropeisk",\r
 DlgDocCharSetOther     : "Annet tegnsett",\r
 \r
 DlgDocDocType          : "Dokumenttype header",\r
 DlgDocDocTypeOther     : "Annet dokumenttype header",\r
-DlgDocIncXHTML         : "Inkluder XHTML-deklarasjon",\r
+DlgDocIncXHTML         : "Inkulder XHTML deklarasjon",\r
 DlgDocBgColor          : "Bakgrunnsfarge",\r
-DlgDocBgImage          : "URL for bakgrunnsbilde",\r
-DlgDocBgNoScroll       : "Lås bakgrunnsbilde",\r
+DlgDocBgImage          : "Bakgrunnsbilde url",\r
+DlgDocBgNoScroll       : "Ikke scroll bakgrunnsbilde",\r
 DlgDocCText                    : "Tekst",\r
 DlgDocCLink                    : "Link",\r
 DlgDocCVisited         : "Besøkt lenke",\r
@@ -524,16 +500,5 @@ DlgAboutAboutTab   : "Om",
 DlgAboutBrowserInfoTab : "Nettleserinfo",\r
 DlgAboutLicenseTab     : "Lisens",\r
 DlgAboutVersion                : "versjon",\r
-DlgAboutInfo           : "For mer informasjon, se",\r
-\r
-// Div Dialog\r
-DlgDivGeneralTab       : "Generelt",\r
-DlgDivAdvancedTab      : "Avansert",\r
-DlgDivStyle            : "Stil",\r
-DlgDivInlineStyle      : "Inline Style",       //MISSING\r
-\r
-ScaytTitle                     : "SCAYT",      //MISSING\r
-ScaytTitleOptions      : "Options",    //MISSING\r
-ScaytTitleLangs                : "Languages",  //MISSING\r
-ScaytTitleAbout                : "About"       //MISSING\r
-};\r
+DlgAboutInfo           : "For further information go to"       //MISSING\r
+};
\ No newline at end of file
index f84f1a6..f6b26b4 100644 (file)
@@ -1,6 +1,6 @@
 /*\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
@@ -44,9 +44,7 @@ RemoveFormat          : "Opmaak verwijderen",
 InsertLinkLbl          : "Link",\r
 InsertLink                     : "Link invoegen/wijzigen",\r
 RemoveLink                     : "Link verwijderen",\r
-VisitLink                      : "Link volgen",\r
 Anchor                         : "Interne link",\r
-AnchorDelete           : "Anker verwijderen",\r
 InsertImageLbl         : "Afbeelding",\r
 InsertImage                    : "Afbeelding invoegen/wijzigen",\r
 InsertFlashLbl         : "Flash",\r
@@ -54,7 +52,7 @@ InsertFlash                   : "Flash invoegen/wijzigen",
 InsertTableLbl         : "Tabel",\r
 InsertTable                    : "Tabel invoegen/wijzigen",\r
 InsertLineLbl          : "Lijn",\r
-InsertLine                     : "Horizontale lijn invoegen",\r
+InsertLine                     : "Invoegen horizontale lijn",\r
 InsertSpecialCharLbl: "Speciale tekens",\r
 InsertSpecialChar      : "Speciaal teken invoegen",\r
 InsertSmileyLbl                : "Smiley",\r
@@ -72,10 +70,6 @@ RightJustify         : "Rechts uitlijnen",
 BlockJustify           : "Uitvullen",\r
 DecreaseIndent         : "Inspringen verkleinen",\r
 IncreaseIndent         : "Inspringen vergroten",\r
-Blockquote                     : "Citaatblok",\r
-CreateDiv                      : "DIV aanmaken",\r
-EditDiv                                : "DIV wijzigen",\r
-DeleteDiv                      : "DIV verwijderen",\r
 Undo                           : "Ongedaan maken",\r
 Redo                           : "Opnieuw uitvoeren",\r
 NumberedListLbl                : "Genummerde lijst",\r
@@ -109,27 +103,20 @@ SelectionField    : "Selectieveld",
 ImageButton            : "Afbeeldingsknop",\r
 \r
 FitWindow              : "De editor maximaliseren",\r
-ShowBlocks             : "Toon blokken",\r
 \r
 // Context Menu\r
 EditLink                       : "Link wijzigen",\r
 CellCM                         : "Cel",\r
 RowCM                          : "Rij",\r
 ColumnCM                       : "Kolom",\r
-InsertRowAfter         : "Voeg rij in achter",\r
-InsertRowBefore                : "Voeg rij in voor",\r
+InsertRow                      : "Rij invoegen",\r
 DeleteRows                     : "Rijen verwijderen",\r
-InsertColumnAfter      : "Voeg kolom in achter",\r
-InsertColumnBefore     : "Voeg kolom in voor",\r
+InsertColumn           : "Kolom invoegen",\r
 DeleteColumns          : "Kolommen verwijderen",\r
-InsertCellAfter                : "Voeg cel in achter",\r
-InsertCellBefore       : "Voeg cel in voor",\r
+InsertCell                     : "Cel",\r
 DeleteCells                    : "Cellen verwijderen",\r
 MergeCells                     : "Cellen samenvoegen",\r
-MergeRight                     : "Voeg samen naar rechts",\r
-MergeDown                      : "Voeg samen naar beneden",\r
-HorizontalSplitCell    : "Splits cellen horizontaal",\r
-VerticalSplitCell      : "Splits cellen verticaal",\r
+SplitCell                      : "Cellen splitsen",\r
 TableDelete                    : "Tabel verwijderen",\r
 CellProperties         : "Eigenschappen cel",\r
 TableProperties                : "Eigenschappen tabel",\r
@@ -147,21 +134,20 @@ SelectionFieldProp        : "Eigenschappen selectieveld",
 TextareaProp           : "Eigenschappen tekstvak",\r
 FormProp                       : "Eigenschappen formulier",\r
 \r
-FontFormats                    : "Normaal;Met opmaak;Adres;Kop 1;Kop 2;Kop 3;Kop 4;Kop 5;Kop 6;Normaal (DIV)",\r
+FontFormats                    : "Normaal;Met opmaak;Adres;Kop 1;Kop 2;Kop 3;Kop 4;Kop 5;Kop 6;Normaal (DIV)",         //REVIEW : Check _getfontformat.html\r
 \r
 // Alerts and Messages\r
 ProcessingXHTML                : "Bezig met verwerken XHTML. Even geduld aub...",\r
 Done                           : "Klaar",\r
-PasteWordConfirm       : "De tekst die u plakte lijkt gekopieerd te zijn vanuit Word. Wilt u de tekst opschonen voordat deze geplakt wordt?",\r
-NotCompatiblePaste     : "Deze opdracht is beschikbaar voor Internet Explorer versie 5.5 of hoger. Wilt u plakken zonder op te schonen?",\r
+PasteWordConfirm       : "De tekst die je plakte lijkt gekopieerd uit te zijn Word. Wil je de tekst opschonen voordat deze geplakt wordt?",\r
+NotCompatiblePaste     : "Deze opdracht is beschikbaar voor Internet Explorer versie 5.5 of hoger. Wil je plakken zonder op te schonen?",\r
 UnknownToolbarItem     : "Onbekend item op menubalk \"%1\"",\r
 UnknownCommand         : "Onbekende opdrachtnaam: \"%1\"",\r
 NotImplemented         : "Opdracht niet geïmplementeerd.",\r
 UnknownToolbarSet      : "Menubalk \"%1\" bestaat niet.",\r
-NoActiveX                      : "De beveilingsinstellingen van uw browser zouden sommige functies van de editor kunnen beperken. De optie \"Activeer ActiveX-elementen en plug-ins\" dient ingeschakeld te worden. Het kan zijn dat er nu functies ontbreken of niet werken.",\r
+NoActiveX                      : "De beveilingsinstellingen van je browser zouden sommige functies van de editor kunnen beperken. De optie \"Activeer ActiveX-elementen en plug-ins\" dient ingeschakeld te worden. Het kan zijn dat er nu functies ontbreken of niet werken.",\r
 BrowseServerBlocked : "De bestandsbrowser kon niet geopend worden. Zorg ervoor dat pop-up-blokkeerders uit staan.",\r
 DialogBlocked          : "Kan het dialoogvenster niet weergeven. Zorg ervoor dat pop-up-blokkeerders uit staan.",\r
-VisitLinkBlocked       : "Het was niet mogelijk een nieuw venster te openen. Controleer of er geen pop-up-blocker aktief is.",\r
 \r
 // Dialogs\r
 DlgBtnOK                       : "OK",\r
@@ -243,7 +229,7 @@ DlgLnkURL                   : "URL",
 DlgLnkAnchorSel                : "Kies een interne link",\r
 DlgLnkAnchorByName     : "Op naam interne link",\r
 DlgLnkAnchorById       : "Op kenmerk interne link",\r
-DlgLnkNoAnchors                : "(Geen interne links in document gevonden)",\r
+DlgLnkNoAnchors                : "(Geen interne links in document gevonden)",          //REVIEW : Change < and > with ( and )\r
 DlgLnkEMail                    : "E-mailadres",\r
 DlgLnkEMailSubject     : "Onderwerp bericht",\r
 DlgLnkEMailBody                : "Inhoud bericht",\r
@@ -308,11 +294,6 @@ DlgTableCellSpace  : "Afstand tussen cellen",
 DlgTableCellPad                : "Afstand vanaf rand cel",\r
 DlgTableCaption                : "Naam",\r
 DlgTableSummary                : "Samenvatting",\r
-DlgTableHeaders                : "Headers",    //MISSING\r
-DlgTableHeadersNone            : "None",       //MISSING\r
-DlgTableHeadersColumn  : "First column",       //MISSING\r
-DlgTableHeadersRow             : "First Row",  //MISSING\r
-DlgTableHeadersBoth            : "Both",       //MISSING\r
 \r
 // Table Cell Dialog\r
 DlgCellTitle           : "Eigenschappen cel",\r
@@ -335,18 +316,12 @@ DlgCellVerAlignTop        : "Boven",
 DlgCellVerAlignMiddle  : "Midden",\r
 DlgCellVerAlignBottom  : "Beneden",\r
 DlgCellVerAlignBaseline        : "Basislijn",\r
-DlgCellType            : "Cell Type",  //MISSING\r
-DlgCellTypeData                : "Data",       //MISSING\r
-DlgCellTypeHeader      : "Header",     //MISSING\r
 DlgCellRowSpan         : "Overkoepeling rijen",\r
 DlgCellCollSpan                : "Overkoepeling kolommen",\r
 DlgCellBackColor       : "Achtergrondkleur",\r
 DlgCellBorderColor     : "Randkleur",\r
 DlgCellBtnSelect       : "Selecteren...",\r
 \r
-// Find and Replace Dialog\r
-DlgFindAndReplaceTitle : "Zoeken en vervangen",\r
-\r
 // Find Dialog\r
 DlgFindTitle           : "Zoeken",\r
 DlgFindFindBtn         : "Zoeken",\r
@@ -368,10 +343,11 @@ PasteErrorCopy    : "De beveiligingsinstelling van de browser verhinderen het autom
 PasteAsText            : "Plakken als platte tekst",\r
 PasteFromWord  : "Plakken als Word-gegevens",\r
 \r
-DlgPasteMsg2   : "Plak de tekst in het volgende vak gebruik makend van uw toetsenbord (<strong>Ctrl+V</strong>) en klik op <strong>OK</strong>.",\r
-DlgPasteSec            : "Door de beveiligingsinstellingen van uw browser is het niet mogelijk om direct vanuit het klembord in de editor te plakken. Middels opnieuw plakken in dit venster kunt u de tekst alsnog plakken in de editor.",\r
+DlgPasteMsg2   : "Plak de tekst in het volgende vak gebruik makend van je toetstenbord (<STRONG>Ctrl+V</STRONG>) en klik op <STRONG>OK</STRONG>.",\r
+DlgPasteSec            : "Because of your browser security settings, the editor is not able to access your clipboard data directly. You are required to paste it again in this window.",       //MISSING\r
 DlgPasteIgnoreFont             : "Negeer \"Font Face\"-definities",\r
 DlgPasteRemoveStyles   : "Verwijder \"Style\"-definities",\r
+DlgPasteCleanBox               : "Vak opschonen",\r
 \r
 // Color Picker\r
 ColorAutomatic : "Automatisch",\r
@@ -400,7 +376,7 @@ DlgSpellNoChanges           : "Klaar met spellingscontrole: geen woorden aangepast",
 DlgSpellOneChange              : "Klaar met spellingscontrole: één woord aangepast",\r
 DlgSpellManyChanges            : "Klaar met spellingscontrole: %1 woorden aangepast",\r
 \r
-IeSpellDownload                        : "De spellingscontrole niet geïnstalleerd. Wilt u deze nu downloaden?",\r
+IeSpellDownload                        : "De spellingscontrole niet geïnstalleerd. Wil je deze nu downloaden?",\r
 \r
 // Button Dialog\r
 DlgButtonText          : "Tekst (waarde)",\r
@@ -524,16 +500,5 @@ DlgAboutAboutTab   : "Over",
 DlgAboutBrowserInfoTab : "Browserinformatie",\r
 DlgAboutLicenseTab     : "Licentie",\r
 DlgAboutVersion                : "Versie",\r
-DlgAboutInfo           : "Voor meer informatie ga naar ",\r
-\r
-// Div Dialog\r
-DlgDivGeneralTab       : "Algemeen",\r
-DlgDivAdvancedTab      : "Geavanceerd",\r
-DlgDivStyle            : "Style",\r
-DlgDivInlineStyle      : "Inline Style",\r
-\r
-ScaytTitle                     : "SCAYT",      //MISSING\r
-ScaytTitleOptions      : "Options",    //MISSING\r
-ScaytTitleLangs                : "Languages",  //MISSING\r
-ScaytTitleAbout                : "About"       //MISSING\r
-};\r
+DlgAboutInfo           : "Voor meer informatie ga naar "\r
+};
\ No newline at end of file
index 9809bda..d3b237d 100644 (file)
@@ -1,6 +1,6 @@
 /*\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
@@ -44,9 +44,7 @@ RemoveFormat          : "Fjern format",
 InsertLinkLbl          : "Lenke",\r
 InsertLink                     : "Sett inn/Rediger lenke",\r
 RemoveLink                     : "Fjern lenke",\r
-VisitLink                      : "Åpne lenke",\r
 Anchor                         : "Sett inn/Rediger anker",\r
-AnchorDelete           : "Fjern anker",\r
 InsertImageLbl         : "Bilde",\r
 InsertImage                    : "Sett inn/Rediger bilde",\r
 InsertFlashLbl         : "Flash",\r
@@ -72,14 +70,10 @@ RightJustify                : "Høyrejuster",
 BlockJustify           : "Blokkjuster",\r
 DecreaseIndent         : "Senk nivå",\r
 IncreaseIndent         : "Øk nivå",\r
-Blockquote                     : "Blockquote", //MISSING\r
-CreateDiv                      : "Create Div Container",       //MISSING\r
-EditDiv                                : "Edit Div Container", //MISSING\r
-DeleteDiv                      : "Remove Div Container",       //MISSING\r
 Undo                           : "Angre",\r
 Redo                           : "Gjør om",\r
-NumberedListLbl                : "Nummerert liste",\r
-NumberedList           : "Sett inn/Fjern nummerert liste",\r
+NumberedListLbl                : "Numrert liste",\r
+NumberedList           : "Sett inn/Fjern numrert liste",\r
 BulletedListLbl                : "Uordnet liste",\r
 BulletedList           : "Sett inn/Fjern uordnet liste",\r
 ShowTableBorders       : "Vis tabellrammer",\r
@@ -91,7 +85,7 @@ FontSize                      : "Størrelse",
 TextColor                      : "Tekstfarge",\r
 BGColor                                : "Bakgrunnsfarge",\r
 Source                         : "Kilde",\r
-Find                           : "Søk",\r
+Find                           : "Finn",\r
 Replace                                : "Erstatt",\r
 SpellCheck                     : "Stavekontroll",\r
 UniversalKeyboard      : "Universelt tastatur",\r
@@ -99,69 +93,61 @@ PageBreakLbl                : "Sideskift",
 PageBreak                      : "Sett inn sideskift",\r
 \r
 Form                   : "Skjema",\r
-Checkbox               : "Avmerkingsboks",\r
-RadioButton            : "Alternativknapp",\r
-TextField              : "Tekstboks",\r
+Checkbox               : "Sjekkboks",\r
+RadioButton            : "Radioknapp",\r
+TextField              : "Tekstfelt",\r
 Textarea               : "Tekstområde",\r
 HiddenField            : "Skjult felt",\r
 Button                 : "Knapp",\r
-SelectionField : "Rullegardinliste",\r
+SelectionField : "Dropdown meny",\r
 ImageButton            : "Bildeknapp",\r
 \r
 FitWindow              : "Maksimer størrelsen på redigeringsverktøyet",\r
-ShowBlocks             : "Show Blocks",        //MISSING\r
 \r
 // Context Menu\r
 EditLink                       : "Rediger lenke",\r
 CellCM                         : "Celle",\r
 RowCM                          : "Rader",\r
 ColumnCM                       : "Kolonne",\r
-InsertRowAfter         : "Sett inn rad etter",\r
-InsertRowBefore                : "Sett inn rad før",\r
+InsertRow                      : "Sett inn rad",\r
 DeleteRows                     : "Slett rader",\r
-InsertColumnAfter      : "Sett inn kolonne etter",\r
-InsertColumnBefore     : "Sett inn kolonne før",\r
+InsertColumn           : "Sett inn kolonne",\r
 DeleteColumns          : "Slett kolonner",\r
-InsertCellAfter                : "Sett inn celle etter",\r
-InsertCellBefore       : "Sett inn celle før",\r
+InsertCell                     : "Sett inn celle",\r
 DeleteCells                    : "Slett celler",\r
 MergeCells                     : "Slå sammen celler",\r
-MergeRight                     : "Slå sammen høyre",\r
-MergeDown                      : "Slå sammen ned",\r
-HorizontalSplitCell    : "Del celle horisontalt",\r
-VerticalSplitCell      : "Del celle vertikalt",\r
+SplitCell                      : "Splitt celler",\r
 TableDelete                    : "Slett tabell",\r
-CellProperties         : "Egenskaper for celle",\r
-TableProperties                : "Egenskaper for tabell",\r
-ImageProperties                : "Egenskaper for bilde",\r
-FlashProperties                : "Egenskaper for Flash-objekt",\r
-\r
-AnchorProp                     : "Egenskaper for anker",\r
-ButtonProp                     : "Egenskaper for knapp",\r
-CheckboxProp           : "Egenskaper for avmerkingsboks",\r
-HiddenFieldProp                : "Egenskaper for skjult felt",\r
-RadioButtonProp                : "Egenskaper for alternativknapp",\r
-ImageButtonProp                : "Egenskaper for bildeknapp",\r
-TextFieldProp          : "Egenskaper for tekstfelt",\r
-SelectionFieldProp     : "Egenskaper for rullegardinliste",\r
-TextareaProp           : "Egenskaper for tekstområde",\r
-FormProp                       : "Egenskaper for skjema",\r
-\r
-FontFormats                    : "Normal;Formatert;Adresse;Tittel 1;Tittel 2;Tittel 3;Tittel 4;Tittel 5;Tittel 6;Normal (DIV)",\r
+CellProperties         : "Celleegenskaper",\r
+TableProperties                : "Tabellegenskaper",\r
+ImageProperties                : "Bildeegenskaper",\r
+FlashProperties                : "Flash Egenskaper",\r
+\r
+AnchorProp                     : "Ankeregenskaper",\r
+ButtonProp                     : "Knappegenskaper",\r
+CheckboxProp           : "Sjekkboksegenskaper",\r
+HiddenFieldProp                : "Skjult felt egenskaper",\r
+RadioButtonProp                : "Radioknappegenskaper",\r
+ImageButtonProp                : "Bildeknappegenskaper",\r
+TextFieldProp          : "Tekstfeltegenskaper",\r
+SelectionFieldProp     : "Dropdown menyegenskaper",\r
+TextareaProp           : "Tekstfeltegenskaper",\r
+FormProp                       : "Skjemaegenskaper",\r
+\r
+FontFormats                    : "Normal;Formatert;Adresse;Tittel 1;Tittel 2;Tittel 3;Tittel 4;Tittel 5;Tittel 6",             //REVIEW : Check _getfontformat.html\r
 \r
 // Alerts and Messages\r
 ProcessingXHTML                : "Lager XHTML. Vennligst vent...",\r
 Done                           : "Ferdig",\r
-PasteWordConfirm       : "Teksten du prøver å lime inn ser ut som om den kommer fra Word. Vil du rense den for unødvendig kode før du limer inn?",\r
-NotCompatiblePaste     : "Denne kommandoen er kun tilgjenglig for Internet Explorer versjon 5.5 eller bedre. Vil du fortsette uten å rense? (Du kan lime inn som ren tekst)",\r
+PasteWordConfirm       : "Teksten du prøver å lime inn ser ut som om den kommer fra word , du bør rense den før du limer inn , vil du gjøre dette?",\r
+NotCompatiblePaste     : "Denne kommandoen er tilgjenglig kun for Internet Explorer version 5.5 eller bedre. Vil du fortsette uten å rense?(Du kan lime inn som ren tekst)",\r
 UnknownToolbarItem     : "Ukjent menyvalg \"%1\"",\r
 UnknownCommand         : "Ukjent kommando \"%1\"",\r
-NotImplemented         : "Kommando ikke implimentert",\r
+NotImplemented         : "Kommando ikke ennå implimentert",\r
 UnknownToolbarSet      : "Verktøylinjesett \"%1\" finnes ikke",\r
-NoActiveX                      : "Din nettlesers sikkerhetsinstillinger kan begrense noen av funksjonene i redigeringsverktøyet. Du må aktivere \"Kjør ActiveX-kontroller og plugin-modeller\". Du kan oppleve feil og advarsler om manglende funksjoner",\r
-BrowseServerBlocked : "Kunne ikke åpne dialogboksen for filarkiv. Sjekk at popup-blokkering er deaktivert.",\r
-DialogBlocked          : "Kunne ikke åpne dialogboksen. Sjekk at popup-blokkering er deaktivert.",\r
-VisitLinkBlocked       : "Kunne ikke åpne et nytt vindu. Sjekk at popup-blokkering er deaktivert.",\r
+NoActiveX                      : "Din nettleser's sikkerhetsinstillinger kan begrense noen av funksjonene i redigeringsverktøyet. Du må aktivere \"Kjør ActiveXkontroller og plugins\". Du kan oppleve feil og advarsler om manglende funksjoner",\r
+BrowseServerBlocked : "Kunne ikke åpne dialogboksen for filarkiv. Pass på at du har slått av popupstoppere.",\r
+DialogBlocked          : "Kunne ikke åpne dialogboksen. Pass på at du har slått av popupstoppere.",\r
 \r
 // Dialogs\r
 DlgBtnOK                       : "OK",\r
@@ -171,7 +157,7 @@ DlgBtnBrowseServer  : "Bla igjennom server",
 DlgAdvancedTag         : "Avansert",\r
 DlgOpOther                     : "<Annet>",\r
 DlgInfoTab                     : "Info",\r
-DlgAlertUrl                    : "Vennligst skriv inn URL-en",\r
+DlgAlertUrl                    : "Vennligst skriv inn URL'en",\r
 \r
 // General Dialogs Labels\r
 DlgGenNotSet           : "<ikke satt>",\r
@@ -179,7 +165,7 @@ DlgGenId                    : "Id",
 DlgGenLangDir          : "Språkretning",\r
 DlgGenLangDirLtr       : "Venstre til høyre (VTH)",\r
 DlgGenLangDirRtl       : "Høyre til venstre (HTV)",\r
-DlgGenLangCode         : "Språkkode",\r
+DlgGenLangCode         : "Språk kode",\r
 DlgGenAccessKey                : "Aksessknapp",\r
 DlgGenName                     : "Navn",\r
 DlgGenTabIndex         : "Tab Indeks",\r
@@ -215,18 +201,18 @@ DlgImgAlignRight  : "Høyre",
 DlgImgAlignTextTop     : "Tekst topp",\r
 DlgImgAlignTop         : "Topp",\r
 DlgImgPreview          : "Forhåndsvis",\r
-DlgImgAlertUrl         : "Vennligst skriv bilde-urlen",\r
+DlgImgAlertUrl         : "Vennligst skriv bildeurlen",\r
 DlgImgLinkTab          : "Lenke",\r
 \r
 // Flash Dialog\r
-DlgFlashTitle          : "Flash-egenskaper",\r
-DlgFlashChkPlay                : "Autospill",\r
+DlgFlashTitle          : "Flash Egenskaper",\r
+DlgFlashChkPlay                : "Auto Spill",\r
 DlgFlashChkLoop                : "Loop",\r
-DlgFlashChkMenu                : "Slå på Flash-meny",\r
+DlgFlashChkMenu                : "Slå på Flash meny",\r
 DlgFlashScale          : "Skaler",\r
 DlgFlashScaleAll       : "Vis alt",\r
 DlgFlashScaleNoBorder  : "Ingen ramme",\r
-DlgFlashScaleFit       : "Skaler til å passe",\r
+DlgFlashScaleFit       : "Skaler til å passeExact Fit",\r
 \r
 // Link Dialog\r
 DlgLnkWindowTitle      : "Lenke",\r
@@ -235,16 +221,16 @@ DlgLnkTargetTab           : "Mål",
 \r
 DlgLnkType                     : "Lenketype",\r
 DlgLnkTypeURL          : "URL",\r
-DlgLnkTypeAnchor       : "Lenke til anker i teksten",\r
-DlgLnkTypeEMail                : "E-post",\r
+DlgLnkTypeAnchor       : "Lenke til bokmerke i teksten",\r
+DlgLnkTypeEMail                : "E-Post",\r
 DlgLnkProto                    : "Protokoll",\r
 DlgLnkProtoOther       : "<annet>",\r
 DlgLnkURL                      : "URL",\r
-DlgLnkAnchorSel                : "Velg et anker",\r
+DlgLnkAnchorSel                : "Velg ett anker",\r
 DlgLnkAnchorByName     : "Anker etter navn",\r
 DlgLnkAnchorById       : "Element etter ID",\r
-DlgLnkNoAnchors                : "(Ingen anker i dokumentet)",\r
-DlgLnkEMail                    : "E-postadresse",\r
+DlgLnkNoAnchors                : "<Ingen anker i dokumentet>",         //REVIEW : Change < and > with ( and )\r
+DlgLnkEMail                    : "E-Post Addresse",\r
 DlgLnkEMailSubject     : "Meldingsemne",\r
 DlgLnkEMailBody                : "Melding",\r
 DlgLnkUpload           : "Last opp",\r
@@ -254,12 +240,12 @@ DlgLnkTarget              : "Mål",
 DlgLnkTargetFrame      : "<ramme>",\r
 DlgLnkTargetPopup      : "<popup vindu>",\r
 DlgLnkTargetBlank      : "Nytt vindu (_blank)",\r
-DlgLnkTargetParent     : "Foreldrevindu (_parent)",\r
+DlgLnkTargetParent     : "Foreldre vindu (_parent)",\r
 DlgLnkTargetSelf       : "Samme vindu (_self)",\r
 DlgLnkTargetTop                : "Hele vindu (_top)",\r
 DlgLnkTargetFrameName  : "Målramme",\r
-DlgLnkPopWinName       : "Navn på popup-vindus",\r
-DlgLnkPopWinFeat       : "Egenskaper for popup-vindu",\r
+DlgLnkPopWinName       : "Popup vindus navn",\r
+DlgLnkPopWinFeat       : "Popup vindus egenskaper",\r
 DlgLnkPopResize                : "Endre størrelse",\r
 DlgLnkPopLocation      : "Adresselinje",\r
 DlgLnkPopMenu          : "Menylinje",\r
@@ -271,18 +257,18 @@ DlgLnkPopDependent        : "Avhenging (Netscape)",
 DlgLnkPopWidth         : "Bredde",\r
 DlgLnkPopHeight                : "Høyde",\r
 DlgLnkPopLeft          : "Venstre posisjon",\r
-DlgLnkPopTop           : "Topp-posisjon",\r
+DlgLnkPopTop           : "Topp posisjon",\r
 \r
 DlnLnkMsgNoUrl         : "Vennligst skriv inn lenkens url",\r
 DlnLnkMsgNoEMail       : "Vennligst skriv inn e-postadressen",\r
-DlnLnkMsgNoAnchor      : "Vennligst velg et anker",\r
-DlnLnkMsgInvPopName    : "Popup-vinduets navn må begynne med en bokstav, og kan ikke inneholde mellomrom",\r
+DlnLnkMsgNoAnchor      : "Vennligst velg ett anker",\r
+DlnLnkMsgInvPopName    : "Popup vinduets navn må begynne med en bokstav, og kan ikke inneholde mellomrom",\r
 \r
 // Color Dialog\r
 DlgColorTitle          : "Velg farge",\r
 DlgColorBtnClear       : "Tøm",\r
 DlgColorHighlight      : "Marker",\r
-DlgColorSelected       : "Valgt",\r
+DlgColorSelected       : "Velg",\r
 \r
 // Smiley Dialog\r
 DlgSmileyTitle         : "Sett inn smil",\r
@@ -291,7 +277,7 @@ DlgSmileyTitle              : "Sett inn smil",
 DlgSpecialCharTitle    : "Velg spesielt tegn",\r
 \r
 // Table Dialog\r
-DlgTableTitle          : "Egenskaper for tabell",\r
+DlgTableTitle          : "Tabellegenskaper",\r
 DlgTableRows           : "Rader",\r
 DlgTableColumns                : "Kolonner",\r
 DlgTableBorder         : "Rammestørrelse",\r
@@ -301,23 +287,18 @@ DlgTableAlignLeft : "Venstre",
 DlgTableAlignCenter    : "Midtjuster",\r
 DlgTableAlignRight     : "Høyre",\r
 DlgTableWidth          : "Bredde",\r
-DlgTableWidthPx                : "piksler",\r
+DlgTableWidthPx                : "pixler",\r
 DlgTableWidthPc                : "prosent",\r
 DlgTableHeight         : "Høyde",\r
-DlgTableCellSpace      : "Cellemarg",\r
-DlgTableCellPad                : "Cellepolstring",\r
+DlgTableCellSpace      : "Celle marg",\r
+DlgTableCellPad                : "Celle polstring",\r
 DlgTableCaption                : "Tittel",\r
 DlgTableSummary                : "Sammendrag",\r
-DlgTableHeaders                : "Headers",    //MISSING\r
-DlgTableHeadersNone            : "None",       //MISSING\r
-DlgTableHeadersColumn  : "First column",       //MISSING\r
-DlgTableHeadersRow             : "First Row",  //MISSING\r
-DlgTableHeadersBoth            : "Both",       //MISSING\r
 \r
 // Table Cell Dialog\r
-DlgCellTitle           : "Celleegenskaper",\r
+DlgCellTitle           : "Celle egenskaper",\r
 DlgCellWidth           : "Bredde",\r
-DlgCellWidthPx         : "piksler",\r
+DlgCellWidthPx         : "pixeler",\r
 DlgCellWidthPc         : "prosent",\r
 DlgCellHeight          : "Høyde",\r
 DlgCellWordWrap                : "Tekstbrytning",\r
@@ -335,43 +316,38 @@ DlgCellVerAlignTop        : "Topp",
 DlgCellVerAlignMiddle  : "Midten",\r
 DlgCellVerAlignBottom  : "Bunn",\r
 DlgCellVerAlignBaseline        : "Bunnlinje",\r
-DlgCellType            : "Cell Type",  //MISSING\r
-DlgCellTypeData                : "Data",       //MISSING\r
-DlgCellTypeHeader      : "Header",     //MISSING\r
 DlgCellRowSpan         : "Radspenn",\r
 DlgCellCollSpan                : "Kolonnespenn",\r
 DlgCellBackColor       : "Bakgrunnsfarge",\r
 DlgCellBorderColor     : "Rammefarge",\r
 DlgCellBtnSelect       : "Velg...",\r
 \r
-// Find and Replace Dialog\r
-DlgFindAndReplaceTitle : "Søk og erstatt",\r
-\r
 // Find Dialog\r
-DlgFindTitle           : "Søk",\r
-DlgFindFindBtn         : "Søk",\r
-DlgFindNotFoundMsg     : "Fant ikke søketeksten.",\r
+DlgFindTitle           : "Finn",\r
+DlgFindFindBtn         : "Finn",\r
+DlgFindNotFoundMsg     : "Den spesifiserte teksten ble ikke funnet.",\r
 \r
 // Replace Dialog\r
 DlgReplaceTitle                        : "Erstatt",\r
-DlgReplaceFindLbl              : "Søk etter:",\r
+DlgReplaceFindLbl              : "Finn hva:",\r
 DlgReplaceReplaceLbl   : "Erstatt med:",\r
-DlgReplaceCaseChk              : "Skill mellom store og små bokstaver",\r
+DlgReplaceCaseChk              : "Riktig case",\r
 DlgReplaceReplaceBtn   : "Erstatt",\r
 DlgReplaceReplAllBtn   : "Erstatt alle",\r
-DlgReplaceWordChk              : "Bare hele ord",\r
+DlgReplaceWordChk              : "Finn hele ordet",\r
 \r
 // Paste Operations / Dialog\r
-PasteErrorCut  : "Din nettlesers sikkerhetsinstillinger tillater ikke automatisk klipping av tekst. Vennligst bruk snareveien (Ctrl+X).",\r
-PasteErrorCopy : "Din nettlesers sikkerhetsinstillinger tillater ikke automatisk kopiering av tekst. Vennligst bruk snareveien (Ctrl+C).",\r
+PasteErrorCut  : "Din nettlesers sikkerhetsinstillinger tillater ikke automatisk klipping av tekst. Vennligst brukt snareveien (Ctrl+X).",\r
+PasteErrorCopy : "Din nettlesers sikkerhetsinstillinger tillater ikke automatisk kopiering av tekst. Vennligst brukt snareveien (Ctrl+C).",\r
 \r
 PasteAsText            : "Lim inn som ren tekst",\r
-PasteFromWord  : "Lim inn fra Word",\r
+PasteFromWord  : "Lim inn fra word",\r
 \r
 DlgPasteMsg2   : "Vennligst lim inn i den følgende boksen med tastaturet (<STRONG>Ctrl+V</STRONG>) og trykk <STRONG>OK</STRONG>.",\r
-DlgPasteSec            : "Din nettlesers sikkerhetsinstillinger gir ikke redigeringsverktøyet direkte tilgang til utklippstavlen. Du må lime det igjen i dette vinduet.",\r
+DlgPasteSec            : "Because of your browser security settings, the editor is not able to access your clipboard data directly. You are required to paste it again in this window.",       //MISSING\r
 DlgPasteIgnoreFont             : "Fjern skrifttyper",\r
 DlgPasteRemoveStyles   : "Fjern stildefinisjoner",\r
+DlgPasteCleanBox               : "Tøm boksen",\r
 \r
 // Color Picker\r
 ColorAutomatic : "Automatisk",\r
@@ -393,17 +369,17 @@ DlgSpellBtnIgnoreAll      : "Ignorer alle",
 DlgSpellBtnReplace             : "Erstatt",\r
 DlgSpellBtnReplaceAll  : "Erstatt alle",\r
 DlgSpellBtnUndo                        : "Angre",\r
-DlgSpellNoSuggestions  : "- Ingen forslag -",\r
+DlgSpellNoSuggestions  : "- ingen forslag -",\r
 DlgSpellProgress               : "Stavekontroll pågår...",\r
 DlgSpellNoMispell              : "Stavekontroll fullført: ingen feilstavinger funnet",\r
 DlgSpellNoChanges              : "Stavekontroll fullført: ingen ord endret",\r
 DlgSpellOneChange              : "Stavekontroll fullført: Ett ord endret",\r
 DlgSpellManyChanges            : "Stavekontroll fullført: %1 ord endret",\r
 \r
-IeSpellDownload                        : "Stavekontroll er ikke installert. Vil du laste den ned nå?",\r
+IeSpellDownload                        : "Stavekontroll ikke installert, vil du laste den ned nå?",\r
 \r
 // Button Dialog\r
-DlgButtonText          : "Tekst (verdi)",\r
+DlgButtonText          : "Tekst",\r
 DlgButtonType          : "Type",\r
 DlgButtonTypeBtn       : "Knapp",\r
 DlgButtonTypeSbm       : "Send",\r
@@ -442,7 +418,7 @@ DlgTextareaRows     : "Rader",
 \r
 // Text Field Dialog\r
 DlgTextName                    : "Navn",\r
-DlgTextValue           : "Verdi",\r
+DlgTextValue           : "verdi",\r
 DlgTextCharWidth       : "Tegnbredde",\r
 DlgTextMaxChars                : "Maks antall tegn",\r
 DlgTextType                    : "Type",\r
@@ -454,24 +430,24 @@ DlgHiddenName     : "Navn",
 DlgHiddenValue : "Verdi",\r
 \r
 // Bulleted List Dialog\r
-BulletedListProp       : "Egenskaper for uordnet liste",\r
-NumberedListProp       : "Egenskaper for ordnet liste",\r
+BulletedListProp       : "Uordnet listeegenskaper",\r
+NumberedListProp       : "Ordnet listeegenskaper",\r
 DlgLstStart                    : "Start",\r
 DlgLstType                     : "Type",\r
 DlgLstTypeCircle       : "Sirkel",\r
 DlgLstTypeDisc         : "Hel sirkel",\r
 DlgLstTypeSquare       : "Firkant",\r
-DlgLstTypeNumbers      : "Numre (1, 2, 3)",\r
+DlgLstTypeNumbers      : "Numre(1, 2, 3)",\r
 DlgLstTypeLCase                : "Små bokstaver (a, b, c)",\r
-DlgLstTypeUCase                : "Store bokstaver (A, B, C)",\r
-DlgLstTypeSRoman       : "Små romerske tall (i, ii, iii)",\r
-DlgLstTypeLRoman       : "Store romerske tall (I, II, III)",\r
+DlgLstTypeUCase                : "Store bokstaver(A, B, C)",\r
+DlgLstTypeSRoman       : "Små romerske tall(i, ii, iii)",\r
+DlgLstTypeLRoman       : "Store romerske tall(I, II, III)",\r
 \r
 // Document Properties Dialog\r
-DlgDocGeneralTab       : "Generelt",\r
+DlgDocGeneralTab       : "Generalt",\r
 DlgDocBackTab          : "Bakgrunn",\r
 DlgDocColorsTab                : "Farger og marginer",\r
-DlgDocMetaTab          : "Meta-data",\r
+DlgDocMetaTab          : "Meta Data",\r
 \r
 DlgDocPageTitle                : "Sidetittel",\r
 DlgDocLangDir          : "Språkretning",\r
@@ -486,16 +462,16 @@ DlgDocCharSetGR           : "Gresk",
 DlgDocCharSetJP                : "Japansk",\r
 DlgDocCharSetKR                : "Koreansk",\r
 DlgDocCharSetTR                : "Tyrkisk",\r
-DlgDocCharSetUN                : "Unicode (UTF-8)",\r
+DlgDocCharSetUN                : "Unikode (UTF-8)",\r
 DlgDocCharSetWE                : "Vesteuropeisk",\r
 DlgDocCharSetOther     : "Annet tegnsett",\r
 \r
 DlgDocDocType          : "Dokumenttype header",\r
 DlgDocDocTypeOther     : "Annet dokumenttype header",\r
-DlgDocIncXHTML         : "Inkluder XHTML-deklarasjon",\r
+DlgDocIncXHTML         : "Inkulder XHTML deklarasjon",\r
 DlgDocBgColor          : "Bakgrunnsfarge",\r
-DlgDocBgImage          : "URL for bakgrunnsbilde",\r
-DlgDocBgNoScroll       : "Lås bakgrunnsbilde",\r
+DlgDocBgImage          : "Bakgrunnsbilde url",\r
+DlgDocBgNoScroll       : "Ikke scroll bakgrunnsbilde",\r
 DlgDocCText                    : "Tekst",\r
 DlgDocCLink                    : "Link",\r
 DlgDocCVisited         : "Besøkt lenke",\r
@@ -524,16 +500,5 @@ DlgAboutAboutTab   : "Om",
 DlgAboutBrowserInfoTab : "Nettleserinfo",\r
 DlgAboutLicenseTab     : "Lisens",\r
 DlgAboutVersion                : "versjon",\r
-DlgAboutInfo           : "For mer informasjon, se",\r
-\r
-// Div Dialog\r
-DlgDivGeneralTab       : "Generelt",\r
-DlgDivAdvancedTab      : "Avansert",\r
-DlgDivStyle            : "Stil",\r
-DlgDivInlineStyle      : "Inline Style",       //MISSING\r
-\r
-ScaytTitle                     : "SCAYT",      //MISSING\r
-ScaytTitleOptions      : "Options",    //MISSING\r
-ScaytTitleLangs                : "Languages",  //MISSING\r
-ScaytTitleAbout                : "About"       //MISSING\r
-};\r
+DlgAboutInfo           : "For further information go to"       //MISSING\r
+};
\ No newline at end of file
index 5708832..f01994d 100644 (file)
@@ -1,6 +1,6 @@
 /*\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
@@ -44,9 +44,7 @@ RemoveFormat          : "Usuń formatowanie",
 InsertLinkLbl          : "Hiperłącze",\r
 InsertLink                     : "Wstaw/edytuj hiperłącze",\r
 RemoveLink                     : "Usuń hiperłącze",\r
-VisitLink                      : "Open Link",  //MISSING\r
 Anchor                         : "Wstaw/edytuj kotwicę",\r
-AnchorDelete           : "Usuń kotwicę",\r
 InsertImageLbl         : "Obrazek",\r
 InsertImage                    : "Wstaw/edytuj obrazek",\r
 InsertFlashLbl         : "Flash",\r
@@ -72,10 +70,6 @@ RightJustify         : "Wyrównaj do prawej",
 BlockJustify           : "Wyrównaj do lewej i prawej",\r
 DecreaseIndent         : "Zmniejsz wcięcie",\r
 IncreaseIndent         : "Zwiększ wcięcie",\r
-Blockquote                     : "Cytat",\r
-CreateDiv                      : "Create Div Container",       //MISSING\r
-EditDiv                                : "Edit Div Container", //MISSING\r
-DeleteDiv                      : "Remove Div Container",       //MISSING\r
 Undo                           : "Cofnij",\r
 Redo                           : "Ponów",\r
 NumberedListLbl                : "Lista numerowana",\r
@@ -99,37 +93,30 @@ PageBreakLbl                : "Odstęp",
 PageBreak                      : "Wstaw odstęp",\r
 \r
 Form                   : "Formularz",\r
-Checkbox               : "Pole wyboru (checkbox)",\r
-RadioButton            : "Pole wyboru (radio)",\r
+Checkbox               : "Checkbox",\r
+RadioButton            : "Pole wyboru",\r
 TextField              : "Pole tekstowe",\r
 Textarea               : "Obszar tekstowy",\r
 HiddenField            : "Pole ukryte",\r
 Button                 : "Przycisk",\r
 SelectionField : "Lista wyboru",\r
-ImageButton            : "Przycisk-obrazek",\r
+ImageButton            : "Przycisk obrazek",\r
 \r
 FitWindow              : "Maksymalizuj rozmiar edytora",\r
-ShowBlocks             : "Pokaż bloki",\r
 \r
 // Context Menu\r
 EditLink                       : "Edytuj hiperłącze",\r
 CellCM                         : "Komórka",\r
 RowCM                          : "Wiersz",\r
 ColumnCM                       : "Kolumna",\r
-InsertRowAfter         : "Wstaw wiersz poniżej",\r
-InsertRowBefore                : "Wstaw wiersz powyżej",\r
+InsertRow                      : "Wstaw wiersz",\r
 DeleteRows                     : "Usuń wiersze",\r
-InsertColumnAfter      : "Wstaw kolumnę z prawej",\r
-InsertColumnBefore     : "Wstaw kolumnę z lewej",\r
+InsertColumn           : "Wstaw kolumnę",\r
 DeleteColumns          : "Usuń kolumny",\r
-InsertCellAfter                : "Wstaw komórkę z prawej",\r
-InsertCellBefore       : "Wstaw komórkę z lewej",\r
+InsertCell                     : "Wstaw komórkę",\r
 DeleteCells                    : "Usuń komórki",\r
 MergeCells                     : "Połącz komórki",\r
-MergeRight                     : "Połącz z komórką z prawej",\r
-MergeDown                      : "Połącz z komórką poniżej",\r
-HorizontalSplitCell    : "Podziel komórkę poziomo",\r
-VerticalSplitCell      : "Podziel komórkę pionowo",\r
+SplitCell                      : "Podziel komórkę",\r
 TableDelete                    : "Usuń tabelę",\r
 CellProperties         : "Właściwości komórki",\r
 TableProperties                : "Właściwości tabeli",\r
@@ -138,16 +125,16 @@ FlashProperties           : "Właściwości elementu Flash",
 \r
 AnchorProp                     : "Właściwości kotwicy",\r
 ButtonProp                     : "Właściwości przycisku",\r
-CheckboxProp           : "Właściwości pola wyboru (checkbox)",\r
+CheckboxProp           : "Checkbox - właściwości",\r
 HiddenFieldProp                : "Właściwości pola ukrytego",\r
-RadioButtonProp                : "Właściwości pola wyboru (radio)",\r
+RadioButtonProp                : "Właściwości pola wyboru",\r
 ImageButtonProp                : "Właściwości przycisku obrazka",\r
 TextFieldProp          : "Właściwości pola tekstowego",\r
 SelectionFieldProp     : "Właściwości listy wyboru",\r
 TextareaProp           : "Właściwości obszaru tekstowego",\r
 FormProp                       : "Właściwości formularza",\r
 \r
-FontFormats                    : "Normalny;Tekst sformatowany;Adres;Nagłówek 1;Nagłówek 2;Nagłówek 3;Nagłówek 4;Nagłówek 5;Nagłówek 6",\r
+FontFormats                    : "Normalny;Tekst sformatowany;Adres;Nagłówek 1;Nagłówek 2;Nagłówek 3;Nagłówek 4;Nagłówek 5;Nagłówek 6",            //REVIEW : Check _getfontformat.html\r
 \r
 // Alerts and Messages\r
 ProcessingXHTML                : "Przetwarzanie XHTML. Proszę czekać...",\r
@@ -159,9 +146,8 @@ UnknownCommand              : "Nieznana komenda \"%1\"",
 NotImplemented         : "Komenda niezaimplementowana",\r
 UnknownToolbarSet      : "Pasek narzędzi \"%1\" nie istnieje",\r
 NoActiveX                      : "Ustawienia zabezpieczeń twojej przeglądarki mogą ograniczyć niektóre funkcje edytora. Musisz włączyć opcję \"Uruchamianie formantów Activex i dodatków plugin\". W przeciwnym wypadku mogą pojawiać się błędy.",\r
-BrowseServerBlocked : "Nie można otworzyć okno menadżera plików. Upewnij się, że wszystkie blokady wyskakujących okienek są wyłączone.",\r
-DialogBlocked          : "Nie można otworzyć okna dialogowego. Upewnij się, że wszystkie blokady wyskakujących okienek są wyłączone.",\r
-VisitLinkBlocked       : "It was not possible to open a new window. Make sure all popup blockers are disabled.",       //MISSING\r
+BrowseServerBlocked : "Okno menadżera plików nie może zostać otwarte. Upewnij się, że wszystkie blokady popup są wyłączone.",\r
+DialogBlocked          : "Nie można otworzyć okna dialogowego. Upewnij się, że wszystkie blokady popup są wyłączone.",\r
 \r
 // Dialogs\r
 DlgBtnOK                       : "OK",\r
@@ -174,7 +160,7 @@ DlgInfoTab                  : "Informacje",
 DlgAlertUrl                    : "Proszę podać URL",\r
 \r
 // General Dialogs Labels\r
-DlgGenNotSet           : "<nie ustawione>",\r
+DlgGenNotSet           : "<nieustawione>",\r
 DlgGenId                       : "Id",\r
 DlgGenLangDir          : "Kierunek tekstu",\r
 DlgGenLangDirLtr       : "Od lewej do prawej (LTR)",\r
@@ -183,17 +169,17 @@ DlgGenLangCode            : "Kod języka",
 DlgGenAccessKey                : "Klawisz dostępu",\r
 DlgGenName                     : "Nazwa",\r
 DlgGenTabIndex         : "Indeks tabeli",\r
-DlgGenLongDescr                : "Długi opis hiperłącza",\r
-DlgGenClass                    : "Nazwa klasy CSS",\r
-DlgGenTitle                    : "Opis obiektu docelowego",\r
-DlgGenContType         : "Typ MIME obiektu docelowego",\r
-DlgGenLinkCharset      : "Kodowanie znaków obiektu docelowego",\r
+DlgGenLongDescr                : "Long Description URL",\r
+DlgGenClass                    : "Stylesheet Classes",\r
+DlgGenTitle                    : "Advisory Title",\r
+DlgGenContType         : "Advisory Content Type",\r
+DlgGenLinkCharset      : "Linked Resource Charset",\r
 DlgGenStyle                    : "Styl",\r
 \r
 // Image Dialog\r
 DlgImgTitle                    : "Właściwości obrazka",\r
 DlgImgInfoTab          : "Informacje o obrazku",\r
-DlgImgBtnUpload                : "Wyślij",\r
+DlgImgBtnUpload                : "Syślij",\r
 DlgImgURL                      : "Adres URL",\r
 DlgImgUpload           : "Wyślij",\r
 DlgImgAlt                      : "Tekst zastępczy",\r
@@ -216,7 +202,7 @@ DlgImgAlignTextTop  : "Do góry tekstu",
 DlgImgAlignTop         : "Do góry",\r
 DlgImgPreview          : "Podgląd",\r
 DlgImgAlertUrl         : "Podaj adres obrazka.",\r
-DlgImgLinkTab          : "Hiperłącze",\r
+DlgImgLinkTab          : "Link",\r
 \r
 // Flash Dialog\r
 DlgFlashTitle          : "Właściwości elementu Flash",\r
@@ -243,11 +229,11 @@ DlgLnkURL                 : "Adres URL",
 DlgLnkAnchorSel                : "Wybierz etykietę",\r
 DlgLnkAnchorByName     : "Wg etykiety",\r
 DlgLnkAnchorById       : "Wg identyfikatora elementu",\r
-DlgLnkNoAnchors                : "(W dokumencie nie zdefiniowano żadnych etykiet)",\r
+DlgLnkNoAnchors                : "<W dokumencie nie zdefiniowano żadnych etykiet>",           //REVIEW : Change < and > with ( and )\r
 DlgLnkEMail                    : "Adres e-mail",\r
 DlgLnkEMailSubject     : "Temat",\r
 DlgLnkEMailBody                : "Treść",\r
-DlgLnkUpload           : "Wyślij",\r
+DlgLnkUpload           : "Upload",\r
 DlgLnkBtnUpload                : "Wyślij",\r
 \r
 DlgLnkTarget           : "Cel",\r
@@ -276,7 +262,7 @@ DlgLnkPopTop                : "Pozycja w pionie",
 DlnLnkMsgNoUrl         : "Podaj adres URL",\r
 DlnLnkMsgNoEMail       : "Podaj adres e-mail",\r
 DlnLnkMsgNoAnchor      : "Wybierz etykietę",\r
-DlnLnkMsgInvPopName    : "Nazwa wyskakującego okienka musi zaczynać się od znaku alfanumerycznego i nie może zawierać spacji",\r
+DlnLnkMsgInvPopName    : "The popup name must begin with an alphabetic character and must not contain spaces", //MISSING\r
 \r
 // Color Dialog\r
 DlgColorTitle          : "Wybierz kolor",\r
@@ -308,11 +294,6 @@ DlgTableCellSpace  : "Odstęp pomiędzy komórkami",
 DlgTableCellPad                : "Margines wewnętrzny komórek",\r
 DlgTableCaption                : "Tytuł",\r
 DlgTableSummary                : "Podsumowanie",\r
-DlgTableHeaders                : "Nagłówki",\r
-DlgTableHeadersNone            : "None",       //MISSING\r
-DlgTableHeadersColumn  : "First column",       //MISSING\r
-DlgTableHeadersRow             : "First Row",  //MISSING\r
-DlgTableHeadersBoth            : "Both",       //MISSING\r
 \r
 // Table Cell Dialog\r
 DlgCellTitle           : "Właściwości komórki",\r
@@ -335,18 +316,12 @@ DlgCellVerAlignTop        : "Do góry",
 DlgCellVerAlignMiddle  : "Do środka",\r
 DlgCellVerAlignBottom  : "Do dołu",\r
 DlgCellVerAlignBaseline        : "Do linii bazowej",\r
-DlgCellType            : "Cell Type",  //MISSING\r
-DlgCellTypeData                : "Data",       //MISSING\r
-DlgCellTypeHeader      : "Header",     //MISSING\r
 DlgCellRowSpan         : "Zajętość wierszy",\r
 DlgCellCollSpan                : "Zajętość kolumn",\r
 DlgCellBackColor       : "Kolor tła",\r
 DlgCellBorderColor     : "Kolor ramki",\r
 DlgCellBtnSelect       : "Wybierz...",\r
 \r
-// Find and Replace Dialog\r
-DlgFindAndReplaceTitle : "Znajdź i zamień",\r
-\r
 // Find Dialog\r
 DlgFindTitle           : "Znajdź",\r
 DlgFindFindBtn         : "Znajdź",\r
@@ -369,9 +344,10 @@ PasteAsText                : "Wklej jako czysty tekst",
 PasteFromWord  : "Wklej z Worda",\r
 \r
 DlgPasteMsg2   : "Proszę wkleić w poniższym polu używając klawiaturowego skrótu (<STRONG>Ctrl+V</STRONG>) i kliknąć <STRONG>OK</STRONG>.",\r
-DlgPasteSec            : "Zabezpieczenia przeglądarki uniemożliwiają wklejenie danych bezpośrednio do edytora. Proszę dane wkleić ponownie w tym okienku.",\r
+DlgPasteSec            : "Because of your browser security settings, the editor is not able to access your clipboard data directly. You are required to paste it again in this window.",       //MISSING\r
 DlgPasteIgnoreFont             : "Ignoruj definicje 'Font Face'",\r
 DlgPasteRemoveStyles   : "Usuń definicje Stylów",\r
+DlgPasteCleanBox               : "Wyczyść",\r
 \r
 // Color Picker\r
 ColorAutomatic : "Automatycznie",\r
@@ -392,7 +368,7 @@ DlgSpellBtnIgnore           : "Ignoruj",
 DlgSpellBtnIgnoreAll   : "Ignoruj wszystkie",\r
 DlgSpellBtnReplace             : "Zmień",\r
 DlgSpellBtnReplaceAll  : "Zmień wszystkie",\r
-DlgSpellBtnUndo                        : "Cofnij",\r
+DlgSpellBtnUndo                        : "Undo",\r
 DlgSpellNoSuggestions  : "- Brak sugestii -",\r
 DlgSpellProgress               : "Trwa sprawdzanie ...",\r
 DlgSpellNoMispell              : "Sprawdzanie zakończone: nie znaleziono błędów",\r
@@ -405,14 +381,14 @@ IeSpellDownload                   : "Słownik nie jest zainstalowany. Chcesz go ściągnąć?",
 // Button Dialog\r
 DlgButtonText          : "Tekst (Wartość)",\r
 DlgButtonType          : "Typ",\r
-DlgButtonTypeBtn       : "Przycisk",\r
-DlgButtonTypeSbm       : "Wyślij",\r
-DlgButtonTypeRst       : "Wyzeruj",\r
+DlgButtonTypeBtn       : "Button",     //MISSING\r
+DlgButtonTypeSbm       : "Submit",     //MISSING\r
+DlgButtonTypeRst       : "Reset",      //MISSING\r
 \r
 // Checkbox and Radio Button Dialogs\r
 DlgCheckboxName                : "Nazwa",\r
 DlgCheckboxValue       : "Wartość",\r
-DlgCheckboxSelected    : "Zaznaczone",\r
+DlgCheckboxSelected    : "Zaznaczony",\r
 \r
 // Form Dialog\r
 DlgFormName            : "Nazwa",\r
@@ -456,7 +432,7 @@ DlgHiddenValue      : "Wartość",
 // Bulleted List Dialog\r
 BulletedListProp       : "Właściwości listy punktowanej",\r
 NumberedListProp       : "Właściwości listy numerowanej",\r
-DlgLstStart                    : "Początek",\r
+DlgLstStart                    : "Start",      //MISSING\r
 DlgLstType                     : "Typ",\r
 DlgLstTypeCircle       : "Koło",\r
 DlgLstTypeDisc         : "Dysk",\r
@@ -479,18 +455,18 @@ DlgDocLangDirLTR  : "Od lewej do prawej (LTR)",
 DlgDocLangDirRTL       : "Od prawej do lewej (RTL)",\r
 DlgDocLangCode         : "Kod języka",\r
 DlgDocCharSet          : "Kodowanie znaków",\r
-DlgDocCharSetCE                : "Środkowoeuropejskie",\r
-DlgDocCharSetCT                : "Chińskie tradycyjne (Big5)",\r
-DlgDocCharSetCR                : "Cyrylica",\r
-DlgDocCharSetGR                : "Greckie",\r
-DlgDocCharSetJP                : "Japońskie",\r
-DlgDocCharSetKR                : "Koreańskie",\r
-DlgDocCharSetTR                : "Tureckie",\r
-DlgDocCharSetUN                : "Unicode (UTF-8)",\r
-DlgDocCharSetWE                : "Zachodnioeuropejskie",\r
+DlgDocCharSetCE                : "Central European",   //MISSING\r
+DlgDocCharSetCT                : "Chinese Traditional (Big5)", //MISSING\r
+DlgDocCharSetCR                : "Cyrillic",   //MISSING\r
+DlgDocCharSetGR                : "Greek",      //MISSING\r
+DlgDocCharSetJP                : "Japanese",   //MISSING\r
+DlgDocCharSetKR                : "Korean",     //MISSING\r
+DlgDocCharSetTR                : "Turkish",    //MISSING\r
+DlgDocCharSetUN                : "Unicode (UTF-8)",    //MISSING\r
+DlgDocCharSetWE                : "Western European",   //MISSING\r
 DlgDocCharSetOther     : "Inne kodowanie znaków",\r
 \r
-DlgDocDocType          : "Nagłówek typu dokumentu",\r
+DlgDocDocType          : "Nagłowek typu dokumentu",\r
 DlgDocDocTypeOther     : "Inny typ dokumentu",\r
 DlgDocIncXHTML         : "Dołącz deklarację XHTML",\r
 DlgDocBgColor          : "Kolor tła",\r
@@ -508,32 +484,21 @@ DlgDocMaBottom            : "Dolny",
 DlgDocMeIndex          : "Słowa kluczowe (oddzielone przecinkami)",\r
 DlgDocMeDescr          : "Opis dokumentu",\r
 DlgDocMeAuthor         : "Autor",\r
-DlgDocMeCopy           : "Prawa autorskie",\r
+DlgDocMeCopy           : "Copyright",\r
 DlgDocPreview          : "Podgląd",\r
 \r
 // Templates Dialog\r
-Templates                      : "Szablony",\r
+Templates                      : "Sablony",\r
 DlgTemplatesTitle      : "Szablony zawartości",\r
 DlgTemplatesSelMsg     : "Wybierz szablon do otwarcia w edytorze<br>(obecna zawartość okna edytora zostanie utracona):",\r
 DlgTemplatesLoading    : "Ładowanie listy szablonów. Proszę czekać...",\r
 DlgTemplatesNoTpl      : "(Brak zdefiniowanych szablonów)",\r
-DlgTemplatesReplace    : "Zastąp aktualną zawartość",\r
+DlgTemplatesReplace    : "Replace actual contents",    //MISSING\r
 \r
 // About Dialog\r
 DlgAboutAboutTab       : "O ...",\r
 DlgAboutBrowserInfoTab : "O przeglądarce",\r
 DlgAboutLicenseTab     : "Licencja",\r
 DlgAboutVersion                : "wersja",\r
-DlgAboutInfo           : "Więcej informacji uzyskasz pod adresem",\r
-\r
-// Div Dialog\r
-DlgDivGeneralTab       : "General",    //MISSING\r
-DlgDivAdvancedTab      : "Advanced",   //MISSING\r
-DlgDivStyle            : "Style",      //MISSING\r
-DlgDivInlineStyle      : "Inline Style",       //MISSING\r
-\r
-ScaytTitle                     : "SCAYT",      //MISSING\r
-ScaytTitleOptions      : "Options",    //MISSING\r
-ScaytTitleLangs                : "Languages",  //MISSING\r
-ScaytTitleAbout                : "About"       //MISSING\r
-};\r
+DlgAboutInfo           : "Więcej informacji uzyskasz pod adresem"\r
+};
\ No newline at end of file
index 4ae448f..53a2b5d 100644 (file)
@@ -1,6 +1,6 @@
 /*\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
@@ -44,9 +44,7 @@ RemoveFormat          : "Remover Formatação",
 InsertLinkLbl          : "Hiperlink",\r
 InsertLink                     : "Inserir/Editar Hiperlink",\r
 RemoveLink                     : "Remover Hiperlink",\r
-VisitLink                      : "Open Link",  //MISSING\r
 Anchor                         : "Inserir/Editar Âncora",\r
-AnchorDelete           : "Remover Âncora",\r
 InsertImageLbl         : "Figura",\r
 InsertImage                    : "Inserir/Editar Figura",\r
 InsertFlashLbl         : "Flash",\r
@@ -72,10 +70,6 @@ RightJustify         : "Alinhar Direita",
 BlockJustify           : "Justificado",\r
 DecreaseIndent         : "Diminuir Recuo",\r
 IncreaseIndent         : "Aumentar Recuo",\r
-Blockquote                     : "Recuo",\r
-CreateDiv                      : "Create Div Container",       //MISSING\r
-EditDiv                                : "Edit Div Container", //MISSING\r
-DeleteDiv                      : "Remove Div Container",       //MISSING\r
 Undo                           : "Desfazer",\r
 Redo                           : "Refazer",\r
 NumberedListLbl                : "Numeração",\r
@@ -109,27 +103,20 @@ SelectionField    : "Caixa de Listagem",
 ImageButton            : "Botão de Imagem",\r
 \r
 FitWindow              : "Maximizar o tamanho do editor",\r
-ShowBlocks             : "Mostrar blocos",\r
 \r
 // Context Menu\r
 EditLink                       : "Editar Hiperlink",\r
 CellCM                         : "Célula",\r
 RowCM                          : "Linha",\r
 ColumnCM                       : "Coluna",\r
-InsertRowAfter         : "Inserir linha abaixo",\r
-InsertRowBefore                : "Inserir linha acima",\r
+InsertRow                      : "Inserir Linha",\r
 DeleteRows                     : "Remover Linhas",\r
-InsertColumnAfter      : "Inserir coluna à direita",\r
-InsertColumnBefore     : "Inserir coluna à esquerda",\r
+InsertColumn           : "Inserir Coluna",\r
 DeleteColumns          : "Remover Colunas",\r
-InsertCellAfter                : "Inserir célula à direita",\r
-InsertCellBefore       : "Inserir célula à esquerda",\r
+InsertCell                     : "Inserir Células",\r
 DeleteCells                    : "Remover Células",\r
 MergeCells                     : "Mesclar Células",\r
-MergeRight                     : "Mesclar com célula à direita",\r
-MergeDown                      : "Mesclar com célula abaixo",\r
-HorizontalSplitCell    : "Dividir célula horizontalmente",\r
-VerticalSplitCell      : "Dividir célula verticalmente",\r
+SplitCell                      : "Dividir Célular",\r
 TableDelete                    : "Apagar Tabela",\r
 CellProperties         : "Formatar Célula",\r
 TableProperties                : "Formatar Tabela",\r
@@ -147,7 +134,7 @@ SelectionFieldProp  : "Formatar Caixa de Listagem",
 TextareaProp           : "Formatar Área de Texto",\r
 FormProp                       : "Formatar Formulário",\r
 \r
-FontFormats                    : "Normal;Formatado;Endereço;Título 1;Título 2;Título 3;Título 4;Título 5;Título 6",\r
+FontFormats                    : "Normal;Formatado;Endereço;Título 1;Título 2;Título 3;Título 4;Título 5;Título 6",             //REVIEW : Check _getfontformat.html\r
 \r
 // Alerts and Messages\r
 ProcessingXHTML                : "Processando XHTML. Por favor, aguarde...",\r
@@ -161,7 +148,6 @@ UnknownToolbarSet   : "A barra de ferramentas \"%1\" não existe",
 NoActiveX                      : "As configurações de segurança do seu browser podem limitar algumas características do editor. Você precisa habilitar a opção \"Executar controles e plug-ins ActiveX\". Você pode experimentar erros e alertas de características faltantes.",\r
 BrowseServerBlocked : "Os recursos do browser não puderam ser abertos. Tenha certeza que todos os bloqueadores de popup estão desabilitados.",\r
 DialogBlocked          : "Não foi possível abrir a janela de diálogo. Tenha certeza que todos os bloqueadores de popup estão desabilitados.",\r
-VisitLinkBlocked       : "It was not possible to open a new window. Make sure all popup blockers are disabled.",       //MISSING\r
 \r
 // Dialogs\r
 DlgBtnOK                       : "OK",\r
@@ -243,7 +229,7 @@ DlgLnkURL                   : "URL do hiperlink",
 DlgLnkAnchorSel                : "Selecione uma âncora",\r
 DlgLnkAnchorByName     : "Pelo Nome da âncora",\r
 DlgLnkAnchorById       : "Pelo Id do Elemento",\r
-DlgLnkNoAnchors                : "(Não há âncoras disponíveis neste documento)",\r
+DlgLnkNoAnchors                : "(Não há âncoras disponíveis neste documento)",           //REVIEW : Change < and > with ( and )\r
 DlgLnkEMail                    : "Endereço E-Mail",\r
 DlgLnkEMailSubject     : "Assunto da Mensagem",\r
 DlgLnkEMailBody                : "Corpo da Mensagem",\r
@@ -308,11 +294,6 @@ DlgTableCellSpace  : "Espaçamento",
 DlgTableCellPad                : "Enchimento",\r
 DlgTableCaption                : "Legenda",\r
 DlgTableSummary                : "Resumo",\r
-DlgTableHeaders                : "Headers",    //MISSING\r
-DlgTableHeadersNone            : "None",       //MISSING\r
-DlgTableHeadersColumn  : "First column",       //MISSING\r
-DlgTableHeadersRow             : "First Row",  //MISSING\r
-DlgTableHeadersBoth            : "Both",       //MISSING\r
 \r
 // Table Cell Dialog\r
 DlgCellTitle           : "Formatar célula",\r
@@ -335,18 +316,12 @@ DlgCellVerAlignTop        : "Superior",
 DlgCellVerAlignMiddle  : "Centralizado",\r
 DlgCellVerAlignBottom  : "Inferior",\r
 DlgCellVerAlignBaseline        : "Baseline",\r
-DlgCellType            : "Cell Type",  //MISSING\r
-DlgCellTypeData                : "Data",       //MISSING\r
-DlgCellTypeHeader      : "Header",     //MISSING\r
 DlgCellRowSpan         : "Transpor Linhas",\r
 DlgCellCollSpan                : "Transpor Colunas",\r
 DlgCellBackColor       : "Cor do Plano de Fundo",\r
 DlgCellBorderColor     : "Cor da Borda",\r
 DlgCellBtnSelect       : "Selecionar...",\r
 \r
-// Find and Replace Dialog\r
-DlgFindAndReplaceTitle : "Localizar e Substituir",\r
-\r
 // Find Dialog\r
 DlgFindTitle           : "Localizar...",\r
 DlgFindFindBtn         : "Localizar",\r
@@ -369,9 +344,10 @@ PasteAsText                : "Colar como Texto sem Formatação",
 PasteFromWord  : "Colar do Word",\r
 \r
 DlgPasteMsg2   : "Transfira o link usado no box usando o teclado com (<STRONG>Ctrl+V</STRONG>) e <STRONG>OK</STRONG>.",\r
-DlgPasteSec            : "As configurações de segurança do seu navegador não permitem que o editor acesse os dados da área de transferência diretamente. Por favor cole o conteúdo novamente nesta janela.",\r
+DlgPasteSec            : "Because of your browser security settings, the editor is not able to access your clipboard data directly. You are required to paste it again in this window.",       //MISSING\r
 DlgPasteIgnoreFont             : "Ignorar definições de fonte",\r
 DlgPasteRemoveStyles   : "Remove definições de estilo",\r
+DlgPasteCleanBox               : "Limpar Box",\r
 \r
 // Color Picker\r
 ColorAutomatic : "Automático",\r
@@ -524,16 +500,5 @@ DlgAboutAboutTab   : "Sobre",
 DlgAboutBrowserInfoTab : "Informações do Navegador",\r
 DlgAboutLicenseTab     : "Licença",\r
 DlgAboutVersion                : "versão",\r
-DlgAboutInfo           : "Para maiores informações visite",\r
-\r
-// Div Dialog\r
-DlgDivGeneralTab       : "General",    //MISSING\r
-DlgDivAdvancedTab      : "Advanced",   //MISSING\r
-DlgDivStyle            : "Style",      //MISSING\r
-DlgDivInlineStyle      : "Inline Style",       //MISSING\r
-\r
-ScaytTitle                     : "SCAYT",      //MISSING\r
-ScaytTitleOptions      : "Options",    //MISSING\r
-ScaytTitleLangs                : "Languages",  //MISSING\r
-ScaytTitleAbout                : "About"       //MISSING\r
-};\r
+DlgAboutInfo           : "Para maiores informações visite"\r
+};
\ No newline at end of file
index 6a88429..23bab35 100644 (file)
@@ -1,6 +1,6 @@
 /*\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
@@ -44,9 +44,7 @@ RemoveFormat          : "Eliminar Formato",
 InsertLinkLbl          : "Hiperligação",\r
 InsertLink                     : "Inserir/Editar Hiperligação",\r
 RemoveLink                     : "Eliminar Hiperligação",\r
-VisitLink                      : "Open Link",  //MISSING\r
 Anchor                         : " Inserir/Editar Âncora",\r
-AnchorDelete           : "Remove Anchor",      //MISSING\r
 InsertImageLbl         : "Imagem",\r
 InsertImage                    : "Inserir/Editar Imagem",\r
 InsertFlashLbl         : "Flash",\r
@@ -72,10 +70,6 @@ RightJustify         : "Alinhar à Direita",
 BlockJustify           : "Justificado",\r
 DecreaseIndent         : "Diminuir Avanço",\r
 IncreaseIndent         : "Aumentar Avanço",\r
-Blockquote                     : "Blockquote", //MISSING\r
-CreateDiv                      : "Create Div Container",       //MISSING\r
-EditDiv                                : "Edit Div Container", //MISSING\r
-DeleteDiv                      : "Remove Div Container",       //MISSING\r
 Undo                           : "Anular",\r
 Redo                           : "Repetir",\r
 NumberedListLbl                : "Numeração",\r
@@ -109,27 +103,20 @@ SelectionField    : "Caixa de Combinação",
 ImageButton            : "Botão de Imagem",\r
 \r
 FitWindow              : "Maximizar o tamanho do editor",\r
-ShowBlocks             : "Show Blocks",        //MISSING\r
 \r
 // Context Menu\r
 EditLink                       : "Editar Hiperligação",\r
 CellCM                         : "Célula",\r
 RowCM                          : "Linha",\r
 ColumnCM                       : "Coluna",\r
-InsertRowAfter         : "Insert Row After",   //MISSING\r
-InsertRowBefore                : "Insert Row Before",  //MISSING\r
+InsertRow                      : "Inserir Linha",\r
 DeleteRows                     : "Eliminar Linhas",\r
-InsertColumnAfter      : "Insert Column After",        //MISSING\r
-InsertColumnBefore     : "Insert Column Before",       //MISSING\r
+InsertColumn           : "Inserir Coluna",\r
 DeleteColumns          : "Eliminar Coluna",\r
-InsertCellAfter                : "Insert Cell After",  //MISSING\r
-InsertCellBefore       : "Insert Cell Before", //MISSING\r
+InsertCell                     : "Inserir Célula",\r
 DeleteCells                    : "Eliminar Célula",\r
 MergeCells                     : "Unir Células",\r
-MergeRight                     : "Merge Right",        //MISSING\r
-MergeDown                      : "Merge Down", //MISSING\r
-HorizontalSplitCell    : "Split Cell Horizontally",    //MISSING\r
-VerticalSplitCell      : "Split Cell Vertically",      //MISSING\r
+SplitCell                      : "Dividir Célula",\r
 TableDelete                    : "Eliminar Tabela",\r
 CellProperties         : "Propriedades da Célula",\r
 TableProperties                : "Propriedades da Tabela",\r
@@ -147,7 +134,7 @@ SelectionFieldProp  : "Propriedades da Caixa de Combinação",
 TextareaProp           : "Propriedades da Área de Texto",\r
 FormProp                       : "Propriedades do Formulário",\r
 \r
-FontFormats                    : "Normal;Formatado;Endereço;Título 1;Título 2;Título 3;Título 4;Título 5;Título 6",\r
+FontFormats                    : "Normal;Formatado;Endereço;Título 1;Título 2;Título 3;Título 4;Título 5;Título 6",             //REVIEW : Check _getfontformat.html\r
 \r
 // Alerts and Messages\r
 ProcessingXHTML                : "A Processar XHTML. Por favor, espere...",\r
@@ -161,7 +148,6 @@ UnknownToolbarSet   : "Nome de barra \"%1\" não definido",
 NoActiveX                      : "As definições de segurança do navegador podem limitar algumas potencalidades do editr. Deve activar a opção \"Executar controlos e extensões ActiveX\". Pode ocorrer erros ou verificar que faltam potencialidades.",\r
 BrowseServerBlocked : "Não foi possível abrir o navegador de recursos. Certifique-se que todos os bloqueadores de popup estão desactivados.",\r
 DialogBlocked          : "Não foi possível abrir a janela de diálogo. Certifique-se que todos os bloqueadores de popup estão desactivados.",\r
-VisitLinkBlocked       : "It was not possible to open a new window. Make sure all popup blockers are disabled.",       //MISSING\r
 \r
 // Dialogs\r
 DlgBtnOK                       : "OK",\r
@@ -243,7 +229,7 @@ DlgLnkURL                   : "URL",
 DlgLnkAnchorSel                : "Seleccionar una referência",\r
 DlgLnkAnchorByName     : "Por Nome de Referência",\r
 DlgLnkAnchorById       : "Por ID de elemento",\r
-DlgLnkNoAnchors                : "(Não há referências disponíveis no documento)",\r
+DlgLnkNoAnchors                : "<Não há referências disponíveis no documento>",          //REVIEW : Change < and > with ( and )\r
 DlgLnkEMail                    : "Endereço de E-Mail",\r
 DlgLnkEMailSubject     : "Título de Mensagem",\r
 DlgLnkEMailBody                : "Corpo da Mensagem",\r
@@ -308,11 +294,6 @@ DlgTableCellSpace  : "Esp. e/células",
 DlgTableCellPad                : "Esp. interior",\r
 DlgTableCaption                : "Título",\r
 DlgTableSummary                : "Sumário",\r
-DlgTableHeaders                : "Headers",    //MISSING\r
-DlgTableHeadersNone            : "None",       //MISSING\r
-DlgTableHeadersColumn  : "First column",       //MISSING\r
-DlgTableHeadersRow             : "First Row",  //MISSING\r
-DlgTableHeadersBoth            : "Both",       //MISSING\r
 \r
 // Table Cell Dialog\r
 DlgCellTitle           : "Propriedades da Célula",\r
@@ -335,18 +316,12 @@ DlgCellVerAlignTop        : "Topo",
 DlgCellVerAlignMiddle  : "Médio",\r
 DlgCellVerAlignBottom  : "Fundi",\r
 DlgCellVerAlignBaseline        : "Linha de Base",\r
-DlgCellType            : "Cell Type",  //MISSING\r
-DlgCellTypeData                : "Data",       //MISSING\r
-DlgCellTypeHeader      : "Header",     //MISSING\r
 DlgCellRowSpan         : "Unir Linhas",\r
 DlgCellCollSpan                : "Unir Colunas",\r
 DlgCellBackColor       : "Cor do Fundo",\r
 DlgCellBorderColor     : "Cor do Limite",\r
 DlgCellBtnSelect       : "Seleccione...",\r
 \r
-// Find and Replace Dialog\r
-DlgFindAndReplaceTitle : "Find and Replace",   //MISSING\r
-\r
 // Find Dialog\r
 DlgFindTitle           : "Procurar",\r
 DlgFindFindBtn         : "Procurar",\r
@@ -372,6 +347,7 @@ DlgPasteMsg2        : "Por favor, cole dentro da seguinte caixa usando o teclado (<STRO
 DlgPasteSec            : "Because of your browser security settings, the editor is not able to access your clipboard data directly. You are required to paste it again in this window.",       //MISSING\r
 DlgPasteIgnoreFont             : "Ignorar da definições do Tipo de Letra ",\r
 DlgPasteRemoveStyles   : "Remover as definições de Estilos",\r
+DlgPasteCleanBox               : "Caixa de Limpeza",\r
 \r
 // Color Picker\r
 ColorAutomatic : "Automático",\r
@@ -524,16 +500,5 @@ DlgAboutAboutTab   : "Acerca",
 DlgAboutBrowserInfoTab : "Informação do Nevegador",\r
 DlgAboutLicenseTab     : "Licença",\r
 DlgAboutVersion                : "versão",\r
-DlgAboutInfo           : "Para mais informações por favor dirija-se a",\r
-\r
-// Div Dialog\r
-DlgDivGeneralTab       : "General",    //MISSING\r
-DlgDivAdvancedTab      : "Advanced",   //MISSING\r
-DlgDivStyle            : "Style",      //MISSING\r
-DlgDivInlineStyle      : "Inline Style",       //MISSING\r
-\r
-ScaytTitle                     : "SCAYT",      //MISSING\r
-ScaytTitleOptions      : "Options",    //MISSING\r
-ScaytTitleLangs                : "Languages",  //MISSING\r
-ScaytTitleAbout                : "About"       //MISSING\r
-};\r
+DlgAboutInfo           : "Para mais informações por favor dirija-se a"\r
+};
\ No newline at end of file
index 51640a5..1f36961 100644 (file)
@@ -1,6 +1,6 @@
 /*\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
@@ -44,9 +44,7 @@ RemoveFormat          : "Înlătură formatarea",
 InsertLinkLbl          : "Link (Legătură web)",\r
 InsertLink                     : "Inserează/Editează link (legătură web)",\r
 RemoveLink                     : "Înlătură link (legătură web)",\r
-VisitLink                      : "Open Link",  //MISSING\r
 Anchor                         : "Inserează/Editează ancoră",\r
-AnchorDelete           : "Şterge ancoră",\r
 InsertImageLbl         : "Imagine",\r
 InsertImage                    : "Inserează/Editează imagine",\r
 InsertFlashLbl         : "Flash",\r
@@ -72,10 +70,6 @@ RightJustify         : "Aliniere la dreapta",
 BlockJustify           : "Aliniere în bloc (Block Justify)",\r
 DecreaseIndent         : "Scade indentarea",\r
 IncreaseIndent         : "Creşte indentarea",\r
-Blockquote                     : "Citat",\r
-CreateDiv                      : "Create Div Container",       //MISSING\r
-EditDiv                                : "Edit Div Container", //MISSING\r
-DeleteDiv                      : "Remove Div Container",       //MISSING\r
 Undo                           : "Starea anterioară (undo)",\r
 Redo                           : "Starea ulterioară (redo)",\r
 NumberedListLbl                : "Listă numerotată",\r
@@ -109,27 +103,20 @@ SelectionField    : "Câmp selecţie (SelectionField)",
 ImageButton            : "Buton imagine (ImageButton)",\r
 \r
 FitWindow              : "Maximizează mărimea editorului",\r
-ShowBlocks             : "Arată blocurile",\r
 \r
 // Context Menu\r
 EditLink                       : "Editează Link",\r
 CellCM                         : "Celulă",\r
 RowCM                          : "Linie",\r
 ColumnCM                       : "Coloană",\r
-InsertRowAfter         : "Inserează linie după",\r
-InsertRowBefore                : "Inserează linie înainte",\r
+InsertRow                      : "Inserează linie",\r
 DeleteRows                     : "Şterge linii",\r
-InsertColumnAfter      : "Inserează coloană după",\r
-InsertColumnBefore     : "Inserează coloană înainte",\r
+InsertColumn           : "Inserează coloană",\r
 DeleteColumns          : "Şterge celule",\r
-InsertCellAfter                : "Inserează celulă după",\r
-InsertCellBefore       : "Inserează celulă înainte",\r
+InsertCell                     : "Inserează celulă",\r
 DeleteCells                    : "Şterge celule",\r
 MergeCells                     : "Uneşte celule",\r
-MergeRight                     : "Uneşte la dreapta",\r
-MergeDown                      : "Uneşte jos",\r
-HorizontalSplitCell    : "Împarte celula pe orizontală",\r
-VerticalSplitCell      : "Împarte celula pe verticală",\r
+SplitCell                      : "Împarte celulă",\r
 TableDelete                    : "Şterge tabel",\r
 CellProperties         : "Proprietăţile celulei",\r
 TableProperties                : "Proprietăţile tabelului",\r
@@ -147,7 +134,7 @@ SelectionFieldProp  : "Proprietăţi câmp selecţie (Selection Field)",
 TextareaProp           : "Proprietăţi suprafaţă text (Textarea)",\r
 FormProp                       : "Proprietăţi formular (Form)",\r
 \r
-FontFormats                    : "Normal;Formatted;Address;Heading 1;Heading 2;Heading 3;Heading 4;Heading 5;Heading 6;Normal (DIV)",  //MISSING\r
+FontFormats                    : "Normal;Formatted;Address;Heading 1;Heading 2;Heading 3;Heading 4;Heading 5;Heading 6;Normal (DIV)",          //REVIEW : Check _getfontformat.html    //MISSING\r
 \r
 // Alerts and Messages\r
 ProcessingXHTML                : "Procesăm XHTML. Vă rugăm aşteptaţi...",\r
@@ -161,7 +148,6 @@ UnknownToolbarSet   : "Grupul din bara cu opţiuni \"%1\" nu există",
 NoActiveX                      : "Setările de securitate ale programului dvs. cu care navigaţi pe internet (browser) pot limita anumite funcţionalităţi ale editorului. Pentru a evita asta, trebuie să activaţi opţiunea \"Run ActiveX controls and plug-ins\". Poate veţi întâlni erori sau veţi observa funcţionalităţi lipsă.",\r
 BrowseServerBlocked : "The resources browser could not be opened. Asiguraţi-vă că nu e activ niciun \"popup blocker\" (funcţionalitate a programului de navigat (browser) sau a unui plug-in al acestuia de a bloca deschiderea unui noi ferestre).",\r
 DialogBlocked          : "Nu a fost posibilă deschiderea unei ferestre de dialog. Asiguraţi-vă că nu e activ niciun \"popup blocker\" (funcţionalitate a programului de navigat (browser) sau a unui plug-in al acestuia de a bloca deschiderea unui noi ferestre).",\r
-VisitLinkBlocked       : "It was not possible to open a new window. Make sure all popup blockers are disabled.",       //MISSING\r
 \r
 // Dialogs\r
 DlgBtnOK                       : "Bine",\r
@@ -243,7 +229,7 @@ DlgLnkURL                   : "URL",
 DlgLnkAnchorSel                : "Selectaţi o ancoră",\r
 DlgLnkAnchorByName     : "după numele ancorei",\r
 DlgLnkAnchorById       : "după Id-ul elementului",\r
-DlgLnkNoAnchors                : "(Nicio ancoră disponibilă în document)",\r
+DlgLnkNoAnchors                : "<Nicio ancoră disponibilă în document>",          //REVIEW : Change < and > with ( and )\r
 DlgLnkEMail                    : "Adresă de e-mail",\r
 DlgLnkEMailSubject     : "Subiectul mesajului",\r
 DlgLnkEMailBody                : "Conţinutul mesajului",\r
@@ -308,11 +294,6 @@ DlgTableCellSpace  : "Spaţiu între celule",
 DlgTableCellPad                : "Spaţiu în cadrul celulei",\r
 DlgTableCaption                : "Titlu (Caption)",\r
 DlgTableSummary                : "Rezumat",\r
-DlgTableHeaders                : "Headers",    //MISSING\r
-DlgTableHeadersNone            : "None",       //MISSING\r
-DlgTableHeadersColumn  : "First column",       //MISSING\r
-DlgTableHeadersRow             : "First Row",  //MISSING\r
-DlgTableHeadersBoth            : "Both",       //MISSING\r
 \r
 // Table Cell Dialog\r
 DlgCellTitle           : "Proprietăţile celulei",\r
@@ -335,18 +316,12 @@ DlgCellVerAlignTop        : "Sus",
 DlgCellVerAlignMiddle  : "Mijloc",\r
 DlgCellVerAlignBottom  : "Jos",\r
 DlgCellVerAlignBaseline        : "Linia de jos (Baseline)",\r
-DlgCellType            : "Cell Type",  //MISSING\r
-DlgCellTypeData                : "Data",       //MISSING\r
-DlgCellTypeHeader      : "Header",     //MISSING\r
 DlgCellRowSpan         : "Lungimea în linii (Span)",\r
 DlgCellCollSpan                : "Lungimea în coloane (Span)",\r
 DlgCellBackColor       : "Culoarea fundalului",\r
 DlgCellBorderColor     : "Culoarea marginii",\r
 DlgCellBtnSelect       : "Selectaţi...",\r
 \r
-// Find and Replace Dialog\r
-DlgFindAndReplaceTitle : "Găseşte şi înlocuieşte",\r
-\r
 // Find Dialog\r
 DlgFindTitle           : "Găseşte",\r
 DlgFindFindBtn         : "Găseşte",\r
@@ -369,9 +344,10 @@ PasteAsText                : "Adaugă ca text simplu (Plain Text)",
 PasteFromWord  : "Adaugă din Word",\r
 \r
 DlgPasteMsg2   : "Vă rugăm adăugaţi în căsuţa următoare folosind tastatura (<STRONG>Ctrl+V</STRONG>) şi apăsaţi <STRONG>OK</STRONG>.",\r
-DlgPasteSec            : "Din cauza setărilor de securitate ale programului dvs. cu care navigaţi pe internet (browser), editorul nu poate accesa direct datele din clipboard. Va trebui să adăugaţi din nou datele în această fereastră.",\r
+DlgPasteSec            : "Because of your browser security settings, the editor is not able to access your clipboard data directly. You are required to paste it again in this window.",       //MISSING\r
 DlgPasteIgnoreFont             : "Ignoră definiţiile Font Face",\r
 DlgPasteRemoveStyles   : "Şterge definiţiile stilurilor",\r
+DlgPasteCleanBox               : "Şterge căsuţa",\r
 \r
 // Color Picker\r
 ColorAutomatic : "Automatic",\r
@@ -524,16 +500,5 @@ DlgAboutAboutTab   : "Despre",
 DlgAboutBrowserInfoTab : "Informaţii browser",\r
 DlgAboutLicenseTab     : "Licenţă",\r
 DlgAboutVersion                : "versiune",\r
-DlgAboutInfo           : "Pentru informaţii amănunţite, vizitaţi",\r
-\r
-// Div Dialog\r
-DlgDivGeneralTab       : "General",    //MISSING\r
-DlgDivAdvancedTab      : "Advanced",   //MISSING\r
-DlgDivStyle            : "Style",      //MISSING\r
-DlgDivInlineStyle      : "Inline Style",       //MISSING\r
-\r
-ScaytTitle                     : "SCAYT",      //MISSING\r
-ScaytTitleOptions      : "Options",    //MISSING\r
-ScaytTitleLangs                : "Languages",  //MISSING\r
-ScaytTitleAbout                : "About"       //MISSING\r
-};\r
+DlgAboutInfo           : "Pentru informaţii amănunţite, vizitaţi"\r
+};
\ No newline at end of file
index fb0267f..fdf151b 100644 (file)
@@ -1,6 +1,6 @@
 /*\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
@@ -44,9 +44,7 @@ RemoveFormat          : "Убрать форматирование",
 InsertLinkLbl          : "Ссылка",\r
 InsertLink                     : "Вставить/Редактировать ссылку",\r
 RemoveLink                     : "Убрать ссылку",\r
-VisitLink                      : "Перейти по ссылке",\r
 Anchor                         : "Вставить/Редактировать якорь",\r
-AnchorDelete           : "Убрать якорь",\r
 InsertImageLbl         : "Изображение",\r
 InsertImage                    : "Вставить/Редактировать изображение",\r
 InsertFlashLbl         : "Flash",\r
@@ -72,10 +70,6 @@ RightJustify         : "По правому краю",
 BlockJustify           : "По ширине",\r
 DecreaseIndent         : "Уменьшить отступ",\r
 IncreaseIndent         : "Увеличить отступ",\r
-Blockquote                     : "Цитата",\r
-CreateDiv                      : "Создать Div контейнер",\r
-EditDiv                                : "Редактировать Div контейнер",\r
-DeleteDiv                      : "Удалить Div контейнер",\r
 Undo                           : "Отменить",\r
 Redo                           : "Повторить",\r
 NumberedListLbl                : "Нумерованный список",\r
@@ -109,27 +103,20 @@ SelectionField    : "Список",
 ImageButton            : "Кнопка с изображением",\r
 \r
 FitWindow              : "Развернуть окно редактора",\r
-ShowBlocks             : "Показать блоки",\r
 \r
 // Context Menu\r
 EditLink                       : "Вставить ссылку",\r
 CellCM                         : "Ячейка",\r
 RowCM                          : "Строка",\r
 ColumnCM                       : "Колонка",\r
-InsertRowAfter         : "Вставить строку после",\r
-InsertRowBefore                : "Вставить строку до",\r
+InsertRow                      : "Вставить строку",\r
 DeleteRows                     : "Удалить строки",\r
-InsertColumnAfter      : "Вставить колонку после",\r
-InsertColumnBefore     : "Вставить колонку до",\r
+InsertColumn           : "Вставить колонку",\r
 DeleteColumns          : "Удалить колонки",\r
-InsertCellAfter                : "Вставить ячейку после",\r
-InsertCellBefore       : "Вставить ячейку до",\r
+InsertCell                     : "Вставить ячейку",\r
 DeleteCells                    : "Удалить ячейки",\r
 MergeCells                     : "Соединить ячейки",\r
-MergeRight                     : "Соединить вправо",\r
-MergeDown                      : "Соединить вниз",\r
-HorizontalSplitCell    : "Разбить ячейку горизонтально",\r
-VerticalSplitCell      : "Разбить ячейку вертикально",\r
+SplitCell                      : "Разбить ячейку",\r
 TableDelete                    : "Удалить таблицу",\r
 CellProperties         : "Свойства ячейки",\r
 TableProperties                : "Свойства таблицы",\r
@@ -147,10 +134,10 @@ SelectionFieldProp        : "Свойства списка",
 TextareaProp           : "Свойства текстовой области",\r
 FormProp                       : "Свойства формы",\r
 \r
-FontFormats                    : "Нормальный;Форматированный;Адрес;Заголовок 1;Заголовок 2;Заголовок 3;Заголовок 4;Заголовок 5;Заголовок 6;Нормальный (DIV)",\r
+FontFormats                    : "Нормальный;Форматированный;Адрес;Заголовок 1;Заголовок 2;Заголовок 3;Заголовок 4;Заголовок 5;Заголовок 6;Нормальный (DIV)",            //REVIEW : Check _getfontformat.html\r
 \r
 // Alerts and Messages\r
-ProcessingXHTML                : "Обработка XHTML. Пожалуйста, подождите...",\r
+ProcessingXHTML                : "Обработка XHTML. Пожалуйста подождите...",\r
 Done                           : "Сделано",\r
 PasteWordConfirm       : "Текст, который вы хотите вставить, похож на копируемый из Word. Вы хотите очистить его перед вставкой?",\r
 NotCompatiblePaste     : "Эта команда доступна для Internet Explorer версии 5.5 или выше. Вы хотите вставить без очистки?",\r
@@ -160,8 +147,7 @@ NotImplemented              : "Команда не реализована",
 UnknownToolbarSet      : "Панель инструментов \"%1\" не существует",\r
 NoActiveX                      : "Настройки безопасности вашего браузера могут ограничивать некоторые свойства редактора. Вы должны включить опцию \"Запускать элементы управления ActiveX и плугины\". Вы можете видеть ошибки и замечать отсутствие возможностей.",\r
 BrowseServerBlocked : "Ресурсы браузера не могут быть открыты. Проверьте что блокировки всплывающих окон выключены.",\r
-DialogBlocked          : "Невозможно открыть окно диалога. Проверьте что блокировки всплывающих окон выключены.",\r
-VisitLinkBlocked       : "It was not possible to open a new window. Make sure all popup blockers are disabled.",       //MISSING\r
+DialogBlocked          : "Не возможно открыть окно диалога. Проверьте что блокировки всплывающих окон выключены.",\r
 \r
 // Dialogs\r
 DlgBtnOK                       : "ОК",\r
@@ -171,7 +157,7 @@ DlgBtnBrowseServer  : "Просмотреть на сервере",
 DlgAdvancedTag         : "Расширенный",\r
 DlgOpOther                     : "<Другое>",\r
 DlgInfoTab                     : "Информация",\r
-DlgAlertUrl                    : "Пожалуйста, вставьте URL",\r
+DlgAlertUrl                    : "Пожалуйста вставьте URL",\r
 \r
 // General Dialogs Labels\r
 DlgGenNotSet           : "<не определено>",\r
@@ -215,7 +201,7 @@ DlgImgAlignRight    : "По правому краю",
 DlgImgAlignTextTop     : "Текст наверху",\r
 DlgImgAlignTop         : "По верху",\r
 DlgImgPreview          : "Предварительный просмотр",\r
-DlgImgAlertUrl         : "Пожалуйста, введите URL изображения",\r
+DlgImgAlertUrl         : "Пожалуйста введите URL изображения",\r
 DlgImgLinkTab          : "Ссылка",\r
 \r
 // Flash Dialog\r
@@ -243,7 +229,7 @@ DlgLnkURL                   : "URL",
 DlgLnkAnchorSel                : "Выберите якорь",\r
 DlgLnkAnchorByName     : "По имени якоря",\r
 DlgLnkAnchorById       : "По идентификатору элемента",\r
-DlgLnkNoAnchors                : "(Нет якорей доступных в этом документе)",\r
+DlgLnkNoAnchors                : "<Нет якорей доступных в этом документе>",            //REVIEW : Change < and > with ( and )\r
 DlgLnkEMail                    : "Адрес эл. почты",\r
 DlgLnkEMailSubject     : "Заголовок сообщения",\r
 DlgLnkEMailBody                : "Тело сообщения",\r
@@ -273,9 +259,9 @@ DlgLnkPopHeight             : "Высота",
 DlgLnkPopLeft          : "Позиция слева",\r
 DlgLnkPopTop           : "Позиция сверху",\r
 \r
-DlnLnkMsgNoUrl         : "Пожалуйста, введите URL ссылки",\r
-DlnLnkMsgNoEMail       : "Пожалуйста, введите адрес эл. почты",\r
-DlnLnkMsgNoAnchor      : "Пожалуйста, выберете якорь",\r
+DlnLnkMsgNoUrl         : "Пожалуйста введите URL ссылки",\r
+DlnLnkMsgNoEMail       : "Пожалуйста введите адрес эл. почты",\r
+DlnLnkMsgNoAnchor      : "Пожалуйста выберете якорь",\r
 DlnLnkMsgInvPopName    : "Название вспывающего окна должно начинаться буквы и не может содержать пробелов",\r
 \r
 // Color Dialog\r
@@ -308,11 +294,6 @@ DlgTableCellSpace  : "Промежуток (spacing)",
 DlgTableCellPad                : "Отступ (padding)",\r
 DlgTableCaption                : "Заголовок",\r
 DlgTableSummary                : "Резюме",\r
-DlgTableHeaders                : "Заголовки",\r
-DlgTableHeadersNone            : "Нет",\r
-DlgTableHeadersColumn  : "Первый столбец",\r
-DlgTableHeadersRow             : "Первая строка",\r
-DlgTableHeadersBoth            : "Оба варианта",\r
 \r
 // Table Cell Dialog\r
 DlgCellTitle           : "Свойства ячейки",\r
@@ -335,18 +316,12 @@ DlgCellVerAlignTop        : "Сверху",
 DlgCellVerAlignMiddle  : "Посередине",\r
 DlgCellVerAlignBottom  : "Снизу",\r
 DlgCellVerAlignBaseline        : "По базовой линии",\r
-DlgCellType            : "Тип ячейки",\r
-DlgCellTypeData                : "Данные",\r
-DlgCellTypeHeader      : "Заголовок",\r
 DlgCellRowSpan         : "Диапазон строк (span)",\r
 DlgCellCollSpan                : "Диапазон колонок (span)",\r
 DlgCellBackColor       : "Цвет фона",\r
 DlgCellBorderColor     : "Цвет бордюра",\r
 DlgCellBtnSelect       : "Выберите...",\r
 \r
-// Find and Replace Dialog\r
-DlgFindAndReplaceTitle : "Найти и заменить",\r
-\r
 // Find Dialog\r
 DlgFindTitle           : "Найти",\r
 DlgFindFindBtn         : "Найти",\r
@@ -362,16 +337,17 @@ DlgReplaceReplAllBtn      : "Заменить все",
 DlgReplaceWordChk              : "Совпадение целых слов",\r
 \r
 // Paste Operations / Dialog\r
-PasteErrorCut  : "Настройки безопасности вашего браузера не позволяют редактору автоматически выполнять операции вырезания. Пожалуйста, используйте клавиатуру для этого (Ctrl+X).",\r
-PasteErrorCopy : "Настройки безопасности вашего браузера не позволяют редактору автоматически выполнять операции копирования. Пожалуйста, используйте клавиатуру для этого (Ctrl+C).",\r
+PasteErrorCut  : "Настройки безопасности вашего браузера не позволяют редактору автоматически выполнять операции вырезания. Пожалуйста используйте клавиатуру для этого (Ctrl+X).",\r
+PasteErrorCopy : "Настройки безопасности вашего браузера не позволяют редактору автоматически выполнять операции копирования. Пожалуйста используйте клавиатуру для этого (Ctrl+C).",\r
 \r
 PasteAsText            : "Вставить только текст",\r
 PasteFromWord  : "Вставить из Word",\r
 \r
-DlgPasteMsg2   : "Пожалуйста, вставьте текст в прямоугольник, используя сочетание клавиш (<STRONG>Ctrl+V</STRONG>), и нажмите <STRONG>OK</STRONG>.",\r
-DlgPasteSec            : "По причине настроек безопасности браузера, редактор не имеет доступа к данным буфера обмена напрямую. Вам необходимо вставить текст снова в это окно.",\r
+DlgPasteMsg2   : "Пожалуйста вставьте текст в прямоугольник используя сочетание клавиш (<STRONG>Ctrl+V</STRONG>) и нажмите <STRONG>OK</STRONG>.",\r
+DlgPasteSec            : "Because of your browser security settings, the editor is not able to access your clipboard data directly. You are required to paste it again in this window.",       //MISSING\r
 DlgPasteIgnoreFont             : "Игнорировать определения гарнитуры",\r
 DlgPasteRemoveStyles   : "Убрать определения стилей",\r
+DlgPasteCleanBox               : "Очистить",\r
 \r
 // Color Picker\r
 ColorAutomatic : "Автоматический",\r
@@ -383,7 +359,7 @@ DocProps            : "Свойства документа",
 // Anchor Dialog\r
 DlgAnchorTitle         : "Свойства якоря",\r
 DlgAnchorName          : "Имя якоря",\r
-DlgAnchorErrorName     : "Пожалуйста, введите имя якоря",\r
+DlgAnchorErrorName     : "Пожалуйста введите имя якоря",\r
 \r
 // Speller Pages Dialog\r
 DlgSpellNotInDic               : "Нет в словаре",\r
@@ -475,8 +451,8 @@ DlgDocMetaTab               : "Мета данные",
 \r
 DlgDocPageTitle                : "Заголовок страницы",\r
 DlgDocLangDir          : "Направление текста",\r
-DlgDocLangDirLTR       : "Слева направо (LTR)",\r
-DlgDocLangDirRTL       : "Справа налево (RTL)",\r
+DlgDocLangDirLTR       : "Слева на право (LTR)",\r
+DlgDocLangDirRTL       : "Справа на лево (RTL)",\r
 DlgDocLangCode         : "Код языка",\r
 DlgDocCharSet          : "Кодировка набора символов",\r
 DlgDocCharSetCE                : "Центрально-европейская",\r
@@ -514,8 +490,8 @@ DlgDocPreview               : "Предварительный просмотр",
 // Templates Dialog\r
 Templates                      : "Шаблоны",\r
 DlgTemplatesTitle      : "Шаблоны содержимого",\r
-DlgTemplatesSelMsg     : "Пожалуйста, выберете шаблон для открытия в редакторе<br>(текущее содержимое будет потеряно):",\r
-DlgTemplatesLoading    : "Загрузка списка шаблонов. Пожалуйста, подождите...",\r
+DlgTemplatesSelMsg     : "Пожалуйста выберете шаблон для открытия в редакторе<br>(текущее содержимое будет потеряно):",\r
+DlgTemplatesLoading    : "Загрузка списка шаблонов. Пожалуйста подождите...",\r
 DlgTemplatesNoTpl      : "(Ни одного шаблона не определено)",\r
 DlgTemplatesReplace    : "Заменить текущее содержание",\r
 \r
@@ -524,16 +500,5 @@ DlgAboutAboutTab   : "О программе",
 DlgAboutBrowserInfoTab : "Информация браузера",\r
 DlgAboutLicenseTab     : "Лицензия",\r
 DlgAboutVersion                : "Версия",\r
-DlgAboutInfo           : "Для большей информации, посетите",\r
-\r
-// Div Dialog\r
-DlgDivGeneralTab       : "Информация",\r
-DlgDivAdvancedTab      : "Расширенные настройки",\r
-DlgDivStyle            : "Стиль",\r
-DlgDivInlineStyle      : "Встроенные стили",\r
-\r
-ScaytTitle                     : "SCAYT",      //MISSING\r
-ScaytTitleOptions      : "Options",    //MISSING\r
-ScaytTitleLangs                : "Languages",  //MISSING\r
-ScaytTitleAbout                : "About"       //MISSING\r
-};\r
+DlgAboutInfo           : "Для большей информации, посетите"\r
+};
\ No newline at end of file
index ff1783c..83d00ba 100644 (file)
@@ -1,6 +1,6 @@
 /*\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
@@ -30,7 +30,7 @@ ToolbarCollapse               : "Skryť panel nástrojov",
 ToolbarExpand          : "Zobraziť panel nástrojov",\r
 \r
 // Toolbar Items and Context Menu\r
-Save                           : "Uložiť",\r
+Save                           : "Uložit",\r
 NewPage                                : "Nová stránka",\r
 Preview                                : "Náhľad",\r
 Cut                                    : "Vystrihnúť",\r
@@ -44,9 +44,7 @@ RemoveFormat          : "Odstrániť formátovanie",
 InsertLinkLbl          : "Odkaz",\r
 InsertLink                     : "Vložiť/zmeniť odkaz",\r
 RemoveLink                     : "Odstrániť odkaz",\r
-VisitLink                      : "Ísť na odkaz",\r
 Anchor                         : "Vložiť/zmeniť kotvu",\r
-AnchorDelete           : "Odstrániť kotvu",\r
 InsertImageLbl         : "Obrázok",\r
 InsertImage                    : "Vložiť/zmeniť obrázok",\r
 InsertFlashLbl         : "Flash",\r
@@ -59,7 +57,7 @@ InsertSpecialCharLbl: "Špeciálne znaky",
 InsertSpecialChar      : "Vložiť špeciálne znaky",\r
 InsertSmileyLbl                : "Smajlíky",\r
 InsertSmiley           : "Vložiť smajlíka",\r
-About                          : "O aplikácii FCKeditor",\r
+About                          : "O aplikáci FCKeditor",\r
 Bold                           : "Tučné",\r
 Italic                         : "Kurzíva",\r
 Underline                      : "Podčiarknuté",\r
@@ -72,14 +70,10 @@ RightJustify                : "Zarovnať vpravo",
 BlockJustify           : "Zarovnať do bloku",\r
 DecreaseIndent         : "Zmenšiť odsadenie",\r
 IncreaseIndent         : "Zväčšiť odsadenie",\r
-Blockquote                     : "Citácia",\r
-CreateDiv                      : "Vytvoriť Div kontajner",\r
-EditDiv                                : "Editovať Div kontajner",\r
-DeleteDiv                      : "Odstrániť Div kontajner",\r
 Undo                           : "Späť",\r
 Redo                           : "Znovu",\r
 NumberedListLbl                : "Číslovanie",\r
-NumberedList           : "Vložiť/odstrániť číslovanie",\r
+NumberedList           : "Vložiť/odstrániť číslovaný zoznam",\r
 BulletedListLbl                : "Odrážky",\r
 BulletedList           : "Vložiť/odstraniť odrážky",\r
 ShowTableBorders       : "Zobraziť okraje tabuliek",\r
@@ -104,32 +98,25 @@ RadioButton                : "Prepínač",
 TextField              : "Textové pole",\r
 Textarea               : "Textová oblasť",\r
 HiddenField            : "Skryté pole",\r
-Button                 : "Tlačidlo",\r
+Button                 : "Tlačíidlo",\r
 SelectionField : "Rozbaľovací zoznam",\r
 ImageButton            : "Obrázkové tlačidlo",\r
 \r
 FitWindow              : "Maximalizovať veľkosť okna editora",\r
-ShowBlocks             : "Ukázať bloky",\r
 \r
 // Context Menu\r
 EditLink                       : "Zmeniť odkaz",\r
 CellCM                         : "Bunka",\r
 RowCM                          : "Riadok",\r
 ColumnCM                       : "Stĺpec",\r
-InsertRowAfter         : "Vložiť riadok pred",\r
-InsertRowBefore                : "Vložiť riadok za",\r
+InsertRow                      : "Vložiť riadok",\r
 DeleteRows                     : "Vymazať riadok",\r
-InsertColumnAfter      : "Vložiť stĺpec pred",\r
-InsertColumnBefore     : "Vložiť stĺpec za",\r
+InsertColumn           : "Vložiť stĺpec",\r
 DeleteColumns          : "Zmazať stĺpec",\r
-InsertCellAfter                : "Vložiť bunku za",\r
-InsertCellBefore       : "Vložiť bunku pred",\r
+InsertCell                     : "Vložiť bunku",\r
 DeleteCells                    : "Vymazať bunky",\r
 MergeCells                     : "Zlúčiť bunky",\r
-MergeRight                     : "Zlúčiť doprava",\r
-MergeDown                      : "Zlúčiť dole",\r
-HorizontalSplitCell    : "Rozdeliť bunky horizontálne",\r
-VerticalSplitCell      : "Rozdeliť bunky vertikálne",\r
+SplitCell                      : "Rozdeliť bunku",\r
 TableDelete                    : "Vymazať tabuľku",\r
 CellProperties         : "Vlastnosti bunky",\r
 TableProperties                : "Vlastnosti tabuľky",\r
@@ -147,7 +134,7 @@ SelectionFieldProp  : "Vlastnosti rozbaľovacieho zoznamu",
 TextareaProp           : "Vlastnosti textovej oblasti",\r
 FormProp                       : "Vlastnosti formulára",\r
 \r
-FontFormats                    : "Normálny;Formátovaný;Adresa;Nadpis 1;Nadpis 2;Nadpis 3;Nadpis 4;Nadpis 5;Nadpis 6;Odsek (DIV)",\r
+FontFormats                    : "Normálny;Formátovaný;Adresa;Nadpis 1;Nadpis 2;Nadpis 3;Nadpis 4;Nadpis 5;Nadpis 6;Odsek (DIV)",           //REVIEW : Check _getfontformat.html\r
 \r
 // Alerts and Messages\r
 ProcessingXHTML                : "Prebieha spracovanie XHTML. Čakajte prosím...",\r
@@ -159,9 +146,8 @@ UnknownCommand              : "Neznámy príkaz \"%1\"",
 NotImplemented         : "Príkaz nie je implementovaný",\r
 UnknownToolbarSet      : "Panel nástrojov \"%1\" neexistuje",\r
 NoActiveX                      : "Bezpečnostné nastavenia vášho prehliadača môžu obmedzovať niektoré funkcie editora. Pre ich plnú funkčnosť musíte zapnúť voľbu \"Spúšťať ActiveX moduly a zásuvné moduly\", inak sa môžete stretnúť s chybami a nefunkčnosťou niektorých funkcií.",\r
-BrowseServerBlocked : "Prehliadač zdrojových prvkov nebolo možné otvoriť. Uistite sa, že máte vypnutú službu blokovania popup okien.",\r
-DialogBlocked          : "Dialógové okno nebolo možné otvoriť. Uistite sa, že máte vypnutú službu blokovania popup okien.",\r
-VisitLinkBlocked       : "Nebolo možné otvoriť nové okno. Uistite sa, že máte vypnutú službu blokovania popup okien.",\r
+BrowseServerBlocked : "Prehliadač zdrojových prvkov nebolo možné otvoriť. Uistite sa, že máte vypnuté všetky blokovače vyskakujúcich okien.",\r
+DialogBlocked          : "Dialógové okno nebolo možné otvoriť. Uistite sa, že máte vypnuté všetky blokovače vyskakujúcich okien.",\r
 \r
 // Dialogs\r
 DlgBtnOK                       : "OK",\r
@@ -243,7 +229,7 @@ DlgLnkURL                   : "URL",
 DlgLnkAnchorSel                : "Vybrať kotvu",\r
 DlgLnkAnchorByName     : "Podľa mena kotvy",\r
 DlgLnkAnchorById       : "Podľa Id objektu",\r
-DlgLnkNoAnchors                : "(V stránke nie je definovaná žiadna kotva)",\r
+DlgLnkNoAnchors                : "<V stránke nie je definovaná žiadna kotva>",              //REVIEW : Change < and > with ( and )\r
 DlgLnkEMail                    : "E-Mailová adresa",\r
 DlgLnkEMailSubject     : "Predmet správy",\r
 DlgLnkEMailBody                : "Telo správy",\r
@@ -308,11 +294,6 @@ DlgTableCellSpace  : "Vzdialenosť buniek",
 DlgTableCellPad                : "Odsadenie obsahu",\r
 DlgTableCaption                : "Popis",\r
 DlgTableSummary                : "Prehľad",\r
-DlgTableHeaders                : "Headers",    //MISSING\r
-DlgTableHeadersNone            : "None",       //MISSING\r
-DlgTableHeadersColumn  : "First column",       //MISSING\r
-DlgTableHeadersRow             : "First Row",  //MISSING\r
-DlgTableHeadersBoth            : "Both",       //MISSING\r
 \r
 // Table Cell Dialog\r
 DlgCellTitle           : "Vlastnosti bunky",\r
@@ -335,18 +316,12 @@ DlgCellVerAlignTop        : "Nahor",
 DlgCellVerAlignMiddle  : "Doprostred",\r
 DlgCellVerAlignBottom  : "Dole",\r
 DlgCellVerAlignBaseline        : "Na základňu",\r
-DlgCellType            : "Cell Type",  //MISSING\r
-DlgCellTypeData                : "Data",       //MISSING\r
-DlgCellTypeHeader      : "Header",     //MISSING\r
 DlgCellRowSpan         : "Zlúčené riadky",\r
 DlgCellCollSpan                : "Zlúčené stĺpce",\r
 DlgCellBackColor       : "Farba pozadia",\r
 DlgCellBorderColor     : "Farba ohraničenia",\r
 DlgCellBtnSelect       : "Výber...",\r
 \r
-// Find and Replace Dialog\r
-DlgFindAndReplaceTitle : "Nájsť a nahradiť",\r
-\r
 // Find Dialog\r
 DlgFindTitle           : "Hľadať",\r
 DlgFindFindBtn         : "Hľadať",\r
@@ -362,16 +337,17 @@ DlgReplaceReplAllBtn      : "Nahradiť všetko",
 DlgReplaceWordChk              : "Len celé slová",\r
 \r
 // Paste Operations / Dialog\r
-PasteErrorCut  : "Bezpečnostné nastavenia Vášho prehliadača nedovoľujú editoru spustiť funkciu pre vystrihnutie zvoleného textu do schránky. Prosím vystrihnite zvolený text do schránky pomocou klávesnice (Ctrl+X).",\r
-PasteErrorCopy : "Bezpečnostné nastavenia Vášho prehliadača nedovoľujú editoru spustiť funkciu pre kopírovanie zvoleného textu do schránky. Prosím skopírujte zvolený text do schránky pomocou klávesnice (Ctrl+C).",\r
+PasteErrorCut  : "Bezpečnostné nastavenie Vášho prehliadača nedovoľujú editoru spustiť funkciu pre vystrihnutie zvoleného textu do schránky. Prosím vystrihnite zvolený text do schránky pomocou klávesnice (Ctrl+X).",\r
+PasteErrorCopy : "Bezpečnostné nastavenie Vášho prehliadača nedovoľujú editoru spustiť funkciu pre kopírovanie zvoleného textu do schránky. Prosím skopírujte zvolený text do schránky pomocou klávesnice (Ctrl+C).",\r
 \r
 PasteAsText            : "Vložiť ako čistý text",\r
 PasteFromWord  : "Vložiť text z Wordu",\r
 \r
 DlgPasteMsg2   : "Prosím vložte nasledovný rámček použitím klávesnice (<STRONG>Ctrl+V</STRONG>) a stlačte <STRONG>OK</STRONG>.",\r
-DlgPasteSec            : "Bezpečnostné nastavenia Vášho prehliadača nedovoľujú editoru pristupovať priamo k datám v schránke. Musíte ich vložiť znovu do tohto okna.",\r
+DlgPasteSec            : "Because of your browser security settings, the editor is not able to access your clipboard data directly. You are required to paste it again in this window.",       //MISSING\r
 DlgPasteIgnoreFont             : "Ignorovať nastavenia typu písma",\r
 DlgPasteRemoveStyles   : "Odstrániť formátovanie",\r
+DlgPasteCleanBox               : "Vyčistiť schránku",\r
 \r
 // Color Picker\r
 ColorAutomatic : "Automaticky",\r
@@ -524,16 +500,5 @@ DlgAboutAboutTab   : "O aplikáci",
 DlgAboutBrowserInfoTab : "Informácie o prehliadači",\r
 DlgAboutLicenseTab     : "Licencia",\r
 DlgAboutVersion                : "verzia",\r
-DlgAboutInfo           : "Viac informácií získate na",\r
-\r
-// Div Dialog\r
-DlgDivGeneralTab       : "Hlavné",\r
-DlgDivAdvancedTab      : "Rozšírené",\r
-DlgDivStyle            : "Štýl",\r
-DlgDivInlineStyle      : "Inline štýl",\r
-\r
-ScaytTitle                     : "SCAYT",      //MISSING\r
-ScaytTitleOptions      : "Options",    //MISSING\r
-ScaytTitleLangs                : "Languages",  //MISSING\r
-ScaytTitleAbout                : "About"       //MISSING\r
-};\r
+DlgAboutInfo           : "Viac informácií získate na"\r
+};
\ No newline at end of file
index b23b93c..95cde15 100644 (file)
@@ -1,6 +1,6 @@
 /*\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
@@ -44,9 +44,7 @@ RemoveFormat          : "Odstrani oblikovanje",
 InsertLinkLbl          : "Povezava",\r
 InsertLink                     : "Vstavi/uredi povezavo",\r
 RemoveLink                     : "Odstrani povezavo",\r
-VisitLink                      : "Open Link",  //MISSING\r
 Anchor                         : "Vstavi/uredi zaznamek",\r
-AnchorDelete           : "Odstrani zaznamek",\r
 InsertImageLbl         : "Slika",\r
 InsertImage                    : "Vstavi/uredi sliko",\r
 InsertFlashLbl         : "Flash",\r
@@ -72,10 +70,6 @@ RightJustify         : "Desna poravnava",
 BlockJustify           : "Obojestranska poravnava",\r
 DecreaseIndent         : "Zmanjšaj zamik",\r
 IncreaseIndent         : "Povečaj zamik",\r
-Blockquote                     : "Citat",\r
-CreateDiv                      : "Ustvari Div element",\r
-EditDiv                                : "Uredi Div element",\r
-DeleteDiv                      : "Odstrani Div element",\r
 Undo                           : "Razveljavi",\r
 Redo                           : "Ponovi",\r
 NumberedListLbl                : "Oštevilčen seznam",\r
@@ -108,28 +102,21 @@ Button                    : "Gumb",
 SelectionField : "Spustni seznam",\r
 ImageButton            : "Gumb s sliko",\r
 \r
-FitWindow              : "Razširi velikost urejevalnika čez cel zaslon",\r
-ShowBlocks             : "Prikaži ograde",\r
+FitWindow              : "Maximize the editor size",   //MISSING\r
 \r
 // Context Menu\r
 EditLink                       : "Uredi povezavo",\r
-CellCM                         : "Celica",\r
-RowCM                          : "Vrstica",\r
-ColumnCM                       : "Stolpec",\r
-InsertRowAfter         : "Vstavi vrstico za",\r
-InsertRowBefore                : "Vstavi vrstico pred",\r
+CellCM                         : "Cell",       //MISSING\r
+RowCM                          : "Row",        //MISSING\r
+ColumnCM                       : "Column",     //MISSING\r
+InsertRow                      : "Vstavi vrstico",\r
 DeleteRows                     : "Izbriši vrstice",\r
-InsertColumnAfter      : "Vstavi stolpec za",\r
-InsertColumnBefore     : "Vstavi stolpec pred",\r
+InsertColumn           : "Vstavi stolpec",\r
 DeleteColumns          : "Izbriši stolpce",\r
-InsertCellAfter                : "Vstavi celico za",\r
-InsertCellBefore       : "Vstavi celico pred",\r
+InsertCell                     : "Vstavi celico",\r
 DeleteCells                    : "Izbriši celice",\r
 MergeCells                     : "Združi celice",\r
-MergeRight                     : "Združi desno",\r
-MergeDown                      : "Druži navzdol",\r
-HorizontalSplitCell    : "Razdeli celico vodoravno",\r
-VerticalSplitCell      : "Razdeli celico navpično",\r
+SplitCell                      : "Razdeli celico",\r
 TableDelete                    : "Izbriši tabelo",\r
 CellProperties         : "Lastnosti celice",\r
 TableProperties                : "Lastnosti tabele",\r
@@ -147,7 +134,7 @@ SelectionFieldProp  : "Lastnosti spustnega seznama",
 TextareaProp           : "Lastnosti vnosnega območja",\r
 FormProp                       : "Lastnosti obrazca",\r
 \r
-FontFormats                    : "Navaden;Oblikovan;Napis;Naslov 1;Naslov 2;Naslov 3;Naslov 4;Naslov 5;Naslov 6",\r
+FontFormats                    : "Navaden;Oblikovan;Napis;Naslov 1;Naslov 2;Naslov 3;Naslov 4;Naslov 5;Naslov 6",              //REVIEW : Check _getfontformat.html\r
 \r
 // Alerts and Messages\r
 ProcessingXHTML                : "Obdelujem XHTML. Prosim počakajte...",\r
@@ -158,10 +145,9 @@ UnknownToolbarItem : "Neznan element orodne vrstice \"%1\"",
 UnknownCommand         : "Neznano ime ukaza \"%1\"",\r
 NotImplemented         : "Ukaz ni izdelan",\r
 UnknownToolbarSet      : "Skupina orodnih vrstic \"%1\" ne obstoja",\r
-NoActiveX                      : "Varnostne nastavitve vašega brskalnika lahko omejijo delovanje nekaterih zmožnosti urejevalnika. Če ne želite zaznavati napak in sporočil o manjkajočih zmožnostih, omogočite možnost \"Zaženi ActiveX kontrolnike in vtičnike\".",\r
-BrowseServerBlocked : "Brskalnik virov se ne more odpreti. Prepričajte se, da je preprečevanje pojavnih oken onemogočeno.",\r
-DialogBlocked          : "Pogovorno okno se ni moglo odpreti. Prepričajte se, da je preprečevanje pojavnih oken onemogočeno.",\r
-VisitLinkBlocked       : "Pogovorno okno se ni moglo odpreti. Prepričajte se, da je preprečevanje pojavnih oken onemogočeno.",\r
+NoActiveX                      : "Your browser's security settings could limit some features of the editor. You must enable the option \"Run ActiveX controls and plug-ins\". You may experience errors and notice missing features.", //MISSING\r
+BrowseServerBlocked : "The resources browser could not be opened. Make sure that all popup blockers are disabled.",    //MISSING\r
+DialogBlocked          : "It was not possible to open the dialog window. Make sure all popup blockers are disabled.",  //MISSING\r
 \r
 // Dialogs\r
 DlgBtnOK                       : "V redu",\r
@@ -243,7 +229,7 @@ DlgLnkURL                   : "URL",
 DlgLnkAnchorSel                : "Izberi zaznamek",\r
 DlgLnkAnchorByName     : "Po imenu zaznamka",\r
 DlgLnkAnchorById       : "Po ID-ju elementa",\r
-DlgLnkNoAnchors                : "(V tem dokumentu ni zaznamkov)",\r
+DlgLnkNoAnchors                : "<V tem dokumentu ni zaznamkov>",             //REVIEW : Change < and > with ( and )\r
 DlgLnkEMail                    : "Elektronski naslov",\r
 DlgLnkEMailSubject     : "Predmet sporočila",\r
 DlgLnkEMailBody                : "Vsebina sporočila",\r
@@ -276,7 +262,7 @@ DlgLnkPopTop                : "Lega na vrhu",
 DlnLnkMsgNoUrl         : "Vnesite URL povezave",\r
 DlnLnkMsgNoEMail       : "Vnesite elektronski naslov",\r
 DlnLnkMsgNoAnchor      : "Izberite zaznamek",\r
-DlnLnkMsgInvPopName    : "Ime pojavnega okna se mora začeti s črko ali številko in ne sme vsebovati presledkov",\r
+DlnLnkMsgInvPopName    : "The popup name must begin with an alphabetic character and must not contain spaces", //MISSING\r
 \r
 // Color Dialog\r
 DlgColorTitle          : "Izberite barvo",\r
@@ -308,11 +294,6 @@ DlgTableCellSpace  : "Razmik med celicami",
 DlgTableCellPad                : "Polnilo med celicami",\r
 DlgTableCaption                : "Naslov",\r
 DlgTableSummary                : "Povzetek",\r
-DlgTableHeaders                : "Glava",\r
-DlgTableHeadersNone            : "Brez",\r
-DlgTableHeadersColumn  : "Prvi stolpec",\r
-DlgTableHeadersRow             : "Prva vrstica",\r
-DlgTableHeadersBoth            : "Oboje",\r
 \r
 // Table Cell Dialog\r
 DlgCellTitle           : "Lastnosti celice",\r
@@ -335,18 +316,12 @@ DlgCellVerAlignTop        : "Na vrh",
 DlgCellVerAlignMiddle  : "V sredino",\r
 DlgCellVerAlignBottom  : "Na dno",\r
 DlgCellVerAlignBaseline        : "Na osnovno črto",\r
-DlgCellType            : "Tip celice",\r
-DlgCellTypeData                : "Podatek",\r
-DlgCellTypeHeader      : "Naslov",\r
 DlgCellRowSpan         : "Spojenih vrstic (row-span)",\r
 DlgCellCollSpan                : "Spojenih stolpcev (col-span)",\r
 DlgCellBackColor       : "Barva ozadja",\r
 DlgCellBorderColor     : "Barva obrobe",\r
 DlgCellBtnSelect       : "Izberi...",\r
 \r
-// Find and Replace Dialog\r
-DlgFindAndReplaceTitle : "Najdi in zamenjaj",\r
-\r
 // Find Dialog\r
 DlgFindTitle           : "Najdi",\r
 DlgFindFindBtn         : "Najdi",\r
@@ -369,9 +344,10 @@ PasteAsText                : "Prilepi kot golo besedilo",
 PasteFromWord  : "Prilepi iz Worda",\r
 \r
 DlgPasteMsg2   : "Prosim prilepite v sleči okvir s pomočjo tipkovnice (<STRONG>Ctrl+V</STRONG>) in pritisnite <STRONG>V redu</STRONG>.",\r
-DlgPasteSec            : "Zaradi varnostnih nastavitev vašega brskalnika urejevalnik ne more neposredno dostopati do odložišča. Vsebino odložišča ponovno prilepite v to okno.",\r
+DlgPasteSec            : "Because of your browser security settings, the editor is not able to access your clipboard data directly. You are required to paste it again in this window.",       //MISSING\r
 DlgPasteIgnoreFont             : "Prezri obliko pisave",\r
 DlgPasteRemoveStyles   : "Odstrani nastavitve stila",\r
+DlgPasteCleanBox               : "Počisti okvir",\r
 \r
 // Color Picker\r
 ColorAutomatic : "Samodejno",\r
@@ -405,9 +381,9 @@ IeSpellDownload                     : "Črkovalnik ni nameščen. Ali ga želite prenesti sedaj?",
 // Button Dialog\r
 DlgButtonText          : "Besedilo (Vrednost)",\r
 DlgButtonType          : "Tip",\r
-DlgButtonTypeBtn       : "Gumb",\r
-DlgButtonTypeSbm       : "Potrdi",\r
-DlgButtonTypeRst       : "Ponastavi",\r
+DlgButtonTypeBtn       : "Button",     //MISSING\r
+DlgButtonTypeSbm       : "Submit",     //MISSING\r
+DlgButtonTypeRst       : "Reset",      //MISSING\r
 \r
 // Checkbox and Radio Button Dialogs\r
 DlgCheckboxName                : "Ime",\r
@@ -456,7 +432,7 @@ DlgHiddenValue      : "Vrednost",
 // Bulleted List Dialog\r
 BulletedListProp       : "Lastnosti označenega seznama",\r
 NumberedListProp       : "Lastnosti oštevilčenega seznama",\r
-DlgLstStart                    : "Začetek",\r
+DlgLstStart                    : "Start",      //MISSING\r
 DlgLstType                     : "Tip",\r
 DlgLstTypeCircle       : "Pikica",\r
 DlgLstTypeDisc         : "Kroglica",\r
@@ -479,15 +455,15 @@ DlgDocLangDirLTR  : "Od leve proti desni (LTR)",
 DlgDocLangDirRTL       : "Od desne proti levi (RTL)",\r
 DlgDocLangCode         : "Oznaka jezika",\r
 DlgDocCharSet          : "Kodna tabela",\r
-DlgDocCharSetCE                : "Srednjeevropsko",\r
-DlgDocCharSetCT                : "Tradicionalno Kitajsko (Big5)",\r
-DlgDocCharSetCR                : "Cirilica",\r
-DlgDocCharSetGR                : "Grško",\r
-DlgDocCharSetJP                : "Japonsko",\r
-DlgDocCharSetKR                : "Korejsko",\r
-DlgDocCharSetTR                : "Turško",\r
-DlgDocCharSetUN                : "Unicode (UTF-8)",\r
-DlgDocCharSetWE                : "Zahodnoevropsko",\r
+DlgDocCharSetCE                : "Central European",   //MISSING\r
+DlgDocCharSetCT                : "Chinese Traditional (Big5)", //MISSING\r
+DlgDocCharSetCR                : "Cyrillic",   //MISSING\r
+DlgDocCharSetGR                : "Greek",      //MISSING\r
+DlgDocCharSetJP                : "Japanese",   //MISSING\r
+DlgDocCharSetKR                : "Korean",     //MISSING\r
+DlgDocCharSetTR                : "Turkish",    //MISSING\r
+DlgDocCharSetUN                : "Unicode (UTF-8)",    //MISSING\r
+DlgDocCharSetWE                : "Western European",   //MISSING\r
 DlgDocCharSetOther     : "Druga kodna tabela",\r
 \r
 DlgDocDocType          : "Glava tipa dokumenta",\r
@@ -517,23 +493,12 @@ DlgTemplatesTitle : "Vsebinske predloge",
 DlgTemplatesSelMsg     : "Izberite predlogo, ki jo želite odpreti v urejevalniku<br>(trenutna vsebina bo izgubljena):",\r
 DlgTemplatesLoading    : "Nalagam seznam predlog. Prosim počakajte...",\r
 DlgTemplatesNoTpl      : "(Ni pripravljenih predlog)",\r
-DlgTemplatesReplace    : "Zamenjaj trenutno vsebino",\r
+DlgTemplatesReplace    : "Replace actual contents",    //MISSING\r
 \r
 // About Dialog\r
 DlgAboutAboutTab       : "Vizitka",\r
 DlgAboutBrowserInfoTab : "Informacije o brskalniku",\r
-DlgAboutLicenseTab     : "Dovoljenja",\r
+DlgAboutLicenseTab     : "License",    //MISSING\r
 DlgAboutVersion                : "različica",\r
-DlgAboutInfo           : "Za več informacij obiščite",\r
-\r
-// Div Dialog\r
-DlgDivGeneralTab       : "Splošno",\r
-DlgDivAdvancedTab      : "Napredno",\r
-DlgDivStyle            : "Oblika",\r
-DlgDivInlineStyle      : "Inline Style",       //MISSING\r
-\r
-ScaytTitle                     : "SCAYT",      //MISSING\r
-ScaytTitleOptions      : "Options",    //MISSING\r
-ScaytTitleLangs                : "Languages",  //MISSING\r
-ScaytTitleAbout                : "About"       //MISSING\r
-};\r
+DlgAboutInfo           : "Za več informacij obiščite"\r
+};
\ No newline at end of file
index 3b059ee..5fa8154 100644 (file)
@@ -1,6 +1,6 @@
 /*\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
@@ -44,9 +44,7 @@ RemoveFormat          : "Ukloni formatiranje",
 InsertLinkLbl          : "Link",\r
 InsertLink                     : "Unesi/izmeni link",\r
 RemoveLink                     : "Ukloni link",\r
-VisitLink                      : "Open Link",  //MISSING\r
 Anchor                         : "Unesi/izmeni sidro",\r
-AnchorDelete           : "Remove Anchor",      //MISSING\r
 InsertImageLbl         : "Slika",\r
 InsertImage                    : "Unesi/izmeni sliku",\r
 InsertFlashLbl         : "Fleš",\r
@@ -72,10 +70,6 @@ RightJustify         : "Desno ravnanje",
 BlockJustify           : "Obostrano ravnanje",\r
 DecreaseIndent         : "Smanji levu marginu",\r
 IncreaseIndent         : "Uvećaj levu marginu",\r
-Blockquote                     : "Blockquote", //MISSING\r
-CreateDiv                      : "Create Div Container",       //MISSING\r
-EditDiv                                : "Edit Div Container", //MISSING\r
-DeleteDiv                      : "Remove Div Container",       //MISSING\r
 Undo                           : "Poni�ti akciju",\r
 Redo                           : "Ponovi akciju",\r
 NumberedListLbl                : "Nabrojiva lista",\r
@@ -109,27 +103,20 @@ SelectionField    : "Izborno polje",
 ImageButton            : "Dugme sa slikom",\r
 \r
 FitWindow              : "Maximize the editor size",   //MISSING\r
-ShowBlocks             : "Show Blocks",        //MISSING\r
 \r
 // Context Menu\r
 EditLink                       : "Izmeni link",\r
 CellCM                         : "Cell",       //MISSING\r
 RowCM                          : "Row",        //MISSING\r
 ColumnCM                       : "Column",     //MISSING\r
-InsertRowAfter         : "Insert Row After",   //MISSING\r
-InsertRowBefore                : "Insert Row Before",  //MISSING\r
+InsertRow                      : "Unesi red",\r
 DeleteRows                     : "Obriši redove",\r
-InsertColumnAfter      : "Insert Column After",        //MISSING\r
-InsertColumnBefore     : "Insert Column Before",       //MISSING\r
+InsertColumn           : "Unesi kolonu",\r
 DeleteColumns          : "Obriši kolone",\r
-InsertCellAfter                : "Insert Cell After",  //MISSING\r
-InsertCellBefore       : "Insert Cell Before", //MISSING\r
+InsertCell                     : "Unesi ćelije",\r
 DeleteCells                    : "Obriši ćelije",\r
 MergeCells                     : "Spoj celije",\r
-MergeRight                     : "Merge Right",        //MISSING\r
-MergeDown                      : "Merge Down", //MISSING\r
-HorizontalSplitCell    : "Split Cell Horizontally",    //MISSING\r
-VerticalSplitCell      : "Split Cell Vertically",      //MISSING\r
+SplitCell                      : "Razdvoji celije",\r
 TableDelete                    : "Delete Table",       //MISSING\r
 CellProperties         : "Osobine celije",\r
 TableProperties                : "Osobine tabele",\r
@@ -147,7 +134,7 @@ SelectionFieldProp  : "Osobine izbornog polja",
 TextareaProp           : "Osobine zone teksta",\r
 FormProp                       : "Osobine forme",\r
 \r
-FontFormats                    : "Normal;Formatirano;Adresa;Naslov 1;Naslov 2;Naslov 3;Naslov 4;Naslov 5;Naslov 6",\r
+FontFormats                    : "Normal;Formatirano;Adresa;Naslov 1;Naslov 2;Naslov 3;Naslov 4;Naslov 5;Naslov 6",            //REVIEW : Check _getfontformat.html\r
 \r
 // Alerts and Messages\r
 ProcessingXHTML                : "Obradujem XHTML. Malo strpljenja...",\r
@@ -161,7 +148,6 @@ UnknownToolbarSet   : "Toolbar \"%1\" ne postoji",
 NoActiveX                      : "Your browser's security settings could limit some features of the editor. You must enable the option \"Run ActiveX controls and plug-ins\". You may experience errors and notice missing features.", //MISSING\r
 BrowseServerBlocked : "The resources browser could not be opened. Make sure that all popup blockers are disabled.",    //MISSING\r
 DialogBlocked          : "It was not possible to open the dialog window. Make sure all popup blockers are disabled.",  //MISSING\r
-VisitLinkBlocked       : "It was not possible to open a new window. Make sure all popup blockers are disabled.",       //MISSING\r
 \r
 // Dialogs\r
 DlgBtnOK                       : "OK",\r
@@ -243,7 +229,7 @@ DlgLnkURL                   : "URL",
 DlgLnkAnchorSel                : "Odaberi sidro",\r
 DlgLnkAnchorByName     : "Po nazivu sidra",\r
 DlgLnkAnchorById       : "Po Id-ju elementa",\r
-DlgLnkNoAnchors                : "(Nema dostupnih sidra)",\r
+DlgLnkNoAnchors                : "<Nema dostupnih sidra>",             //REVIEW : Change < and > with ( and )\r
 DlgLnkEMail                    : "E-Mail adresa",\r
 DlgLnkEMailSubject     : "Naslov",\r
 DlgLnkEMailBody                : "Sadržaj poruke",\r
@@ -308,11 +294,6 @@ DlgTableCellSpace  : "Ćelijski prostor",
 DlgTableCellPad                : "Razmak ćelija",\r
 DlgTableCaption                : "Naslov tabele",\r
 DlgTableSummary                : "Summary",    //MISSING\r
-DlgTableHeaders                : "Headers",    //MISSING\r
-DlgTableHeadersNone            : "None",       //MISSING\r
-DlgTableHeadersColumn  : "First column",       //MISSING\r
-DlgTableHeadersRow             : "First Row",  //MISSING\r
-DlgTableHeadersBoth            : "Both",       //MISSING\r
 \r
 // Table Cell Dialog\r
 DlgCellTitle           : "Osobine ćelije",\r
@@ -335,18 +316,12 @@ DlgCellVerAlignTop        : "Gornje",
 DlgCellVerAlignMiddle  : "Sredina",\r
 DlgCellVerAlignBottom  : "Donje",\r
 DlgCellVerAlignBaseline        : "Bazno",\r
-DlgCellType            : "Cell Type",  //MISSING\r
-DlgCellTypeData                : "Data",       //MISSING\r
-DlgCellTypeHeader      : "Header",     //MISSING\r
 DlgCellRowSpan         : "Spajanje redova",\r
 DlgCellCollSpan                : "Spajanje kolona",\r
 DlgCellBackColor       : "Boja pozadine",\r
 DlgCellBorderColor     : "Boja okvira",\r
 DlgCellBtnSelect       : "Odaberi...",\r
 \r
-// Find and Replace Dialog\r
-DlgFindAndReplaceTitle : "Find and Replace",   //MISSING\r
-\r
 // Find Dialog\r
 DlgFindTitle           : "Pronađi",\r
 DlgFindFindBtn         : "Pronađi",\r
@@ -372,6 +347,7 @@ DlgPasteMsg2        : "Molimo Vas da zalepite unutar donje povrine koristeći tastaturn
 DlgPasteSec            : "Because of your browser security settings, the editor is not able to access your clipboard data directly. You are required to paste it again in this window.",       //MISSING\r
 DlgPasteIgnoreFont             : "Ignoriši definicije fontova",\r
 DlgPasteRemoveStyles   : "Ukloni definicije stilova",\r
+DlgPasteCleanBox               : "Obriši sve",\r
 \r
 // Color Picker\r
 ColorAutomatic : "Automatski",\r
@@ -524,16 +500,5 @@ DlgAboutAboutTab   : "O editoru",
 DlgAboutBrowserInfoTab : "Informacije o pretraživacu",\r
 DlgAboutLicenseTab     : "License",    //MISSING\r
 DlgAboutVersion                : "verzija",\r
-DlgAboutInfo           : "Za više informacija posetite",\r
-\r
-// Div Dialog\r
-DlgDivGeneralTab       : "General",    //MISSING\r
-DlgDivAdvancedTab      : "Advanced",   //MISSING\r
-DlgDivStyle            : "Style",      //MISSING\r
-DlgDivInlineStyle      : "Inline Style",       //MISSING\r
-\r
-ScaytTitle                     : "SCAYT",      //MISSING\r
-ScaytTitleOptions      : "Options",    //MISSING\r
-ScaytTitleLangs                : "Languages",  //MISSING\r
-ScaytTitleAbout                : "About"       //MISSING\r
-};\r
+DlgAboutInfo           : "Za više informacija posetite"\r
+};
\ No newline at end of file
index 42ef972..e7aac23 100644 (file)
@@ -1,6 +1,6 @@
 /*\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
@@ -44,9 +44,7 @@ RemoveFormat          : "Уклони форматирање",
 InsertLinkLbl          : "Линк",\r
 InsertLink                     : "Унеси/измени линк",\r
 RemoveLink                     : "Уклони линк",\r
-VisitLink                      : "Open Link",  //MISSING\r
 Anchor                         : "Унеси/измени сидро",\r
-AnchorDelete           : "Remove Anchor",      //MISSING\r
 InsertImageLbl         : "Слика",\r
 InsertImage                    : "Унеси/измени слику",\r
 InsertFlashLbl         : "Флеш елемент",\r
@@ -72,10 +70,6 @@ RightJustify         : "Десно равнање",
 BlockJustify           : "Обострано равнање",\r
 DecreaseIndent         : "Смањи леву маргину",\r
 IncreaseIndent         : "Увећај леву маргину",\r
-Blockquote                     : "Blockquote", //MISSING\r
-CreateDiv                      : "Create Div Container",       //MISSING\r
-EditDiv                                : "Edit Div Container", //MISSING\r
-DeleteDiv                      : "Remove Div Container",       //MISSING\r
 Undo                           : "Поништи акцију",\r
 Redo                           : "Понови акцију",\r
 NumberedListLbl                : "Набројиву листу",\r
@@ -109,27 +103,20 @@ SelectionField    : "Изборно поље",
 ImageButton            : "Дугме са сликом",\r
 \r
 FitWindow              : "Maximize the editor size",   //MISSING\r
-ShowBlocks             : "Show Blocks",        //MISSING\r
 \r
 // Context Menu\r
 EditLink                       : "Промени линк",\r
 CellCM                         : "Cell",       //MISSING\r
 RowCM                          : "Row",        //MISSING\r
 ColumnCM                       : "Column",     //MISSING\r
-InsertRowAfter         : "Insert Row After",   //MISSING\r
-InsertRowBefore                : "Insert Row Before",  //MISSING\r
+InsertRow                      : "Унеси ред",\r
 DeleteRows                     : "Обриши редове",\r
-InsertColumnAfter      : "Insert Column After",        //MISSING\r
-InsertColumnBefore     : "Insert Column Before",       //MISSING\r
+InsertColumn           : "Унеси колону",\r
 DeleteColumns          : "Обриши колоне",\r
-InsertCellAfter                : "Insert Cell After",  //MISSING\r
-InsertCellBefore       : "Insert Cell Before", //MISSING\r
+InsertCell                     : "Унеси ћелије",\r
 DeleteCells                    : "Обриши ћелије",\r
 MergeCells                     : "Спој ћелије",\r
-MergeRight                     : "Merge Right",        //MISSING\r
-MergeDown                      : "Merge Down", //MISSING\r
-HorizontalSplitCell    : "Split Cell Horizontally",    //MISSING\r
-VerticalSplitCell      : "Split Cell Vertically",      //MISSING\r
+SplitCell                      : "Раздвоји ћелије",\r
 TableDelete                    : "Delete Table",       //MISSING\r
 CellProperties         : "Особине ћелије",\r
 TableProperties                : "Особине табеле",\r
@@ -147,7 +134,7 @@ SelectionFieldProp  : "Особине изборног поља",
 TextareaProp           : "Особине зоне текста",\r
 FormProp                       : "Особине форме",\r
 \r
-FontFormats                    : "Normal;Formatirano;Adresa;Heading 1;Heading 2;Heading 3;Heading 4;Heading 5;Heading 6",\r
+FontFormats                    : "Normal;Formatirano;Adresa;Heading 1;Heading 2;Heading 3;Heading 4;Heading 5;Heading 6",              //REVIEW : Check _getfontformat.html\r
 \r
 // Alerts and Messages\r
 ProcessingXHTML                : "Обрађујем XHTML. Maлo стрпљења...",\r
@@ -161,7 +148,6 @@ UnknownToolbarSet   : "Toolbar \"%1\" не постоји",
 NoActiveX                      : "Your browser's security settings could limit some features of the editor. You must enable the option \"Run ActiveX controls and plug-ins\". You may experience errors and notice missing features.", //MISSING\r
 BrowseServerBlocked : "The resources browser could not be opened. Make sure that all popup blockers are disabled.",    //MISSING\r
 DialogBlocked          : "It was not possible to open the dialog window. Make sure all popup blockers are disabled.",  //MISSING\r
-VisitLinkBlocked       : "It was not possible to open a new window. Make sure all popup blockers are disabled.",       //MISSING\r
 \r
 // Dialogs\r
 DlgBtnOK                       : "OK",\r
@@ -243,7 +229,7 @@ DlgLnkURL                   : "УРЛ",
 DlgLnkAnchorSel                : "Одабери сидро",\r
 DlgLnkAnchorByName     : "По називу сидра",\r
 DlgLnkAnchorById       : "Пo Ид-jу елемента",\r
-DlgLnkNoAnchors                : "(Нема доступних сидра)",\r
+DlgLnkNoAnchors                : "<Нема доступних сидра>",           //REVIEW : Change < and > with ( and )\r
 DlgLnkEMail                    : "Адреса електронске поште",\r
 DlgLnkEMailSubject     : "Наслов",\r
 DlgLnkEMailBody                : "Садржај поруке",\r
@@ -308,11 +294,6 @@ DlgTableCellSpace  : "Ћелијски простор",
 DlgTableCellPad                : "Размак ћелија",\r
 DlgTableCaption                : "Наслов табеле",\r
 DlgTableSummary                : "Summary",    //MISSING\r
-DlgTableHeaders                : "Headers",    //MISSING\r
-DlgTableHeadersNone            : "None",       //MISSING\r
-DlgTableHeadersColumn  : "First column",       //MISSING\r
-DlgTableHeadersRow             : "First Row",  //MISSING\r
-DlgTableHeadersBoth            : "Both",       //MISSING\r
 \r
 // Table Cell Dialog\r
 DlgCellTitle           : "Особине ћелије",\r
@@ -335,18 +316,12 @@ DlgCellVerAlignTop        : "Горње",
 DlgCellVerAlignMiddle  : "Средина",\r
 DlgCellVerAlignBottom  : "Доње",\r
 DlgCellVerAlignBaseline        : "Базно",\r
-DlgCellType            : "Cell Type",  //MISSING\r
-DlgCellTypeData                : "Data",       //MISSING\r
-DlgCellTypeHeader      : "Header",     //MISSING\r
 DlgCellRowSpan         : "Спајање редова",\r
 DlgCellCollSpan                : "Спајање колона",\r
 DlgCellBackColor       : "Боја позадине",\r
 DlgCellBorderColor     : "Боја оквира",\r
 DlgCellBtnSelect       : "Oдабери...",\r
 \r
-// Find and Replace Dialog\r
-DlgFindAndReplaceTitle : "Find and Replace",   //MISSING\r
-\r
 // Find Dialog\r
 DlgFindTitle           : "Пронађи",\r
 DlgFindFindBtn         : "Пронађи",\r
@@ -372,6 +347,7 @@ DlgPasteMsg2        : "Молимо Вас да залепите унутар доње
 DlgPasteSec            : "Because of your browser security settings, the editor is not able to access your clipboard data directly. You are required to paste it again in this window.",       //MISSING\r
 DlgPasteIgnoreFont             : "Игнориши Font Face дефиниције",\r
 DlgPasteRemoveStyles   : "Уклони дефиниције стилова",\r
+DlgPasteCleanBox               : "Обриши све",\r
 \r
 // Color Picker\r
 ColorAutomatic : "Аутоматски",\r
@@ -524,16 +500,5 @@ DlgAboutAboutTab   : "О едитору",
 DlgAboutBrowserInfoTab : "Информације о претраживачу",\r
 DlgAboutLicenseTab     : "License",    //MISSING\r
 DlgAboutVersion                : "верзија",\r
-DlgAboutInfo           : "За више информација посетите",\r
-\r
-// Div Dialog\r
-DlgDivGeneralTab       : "General",    //MISSING\r
-DlgDivAdvancedTab      : "Advanced",   //MISSING\r
-DlgDivStyle            : "Style",      //MISSING\r
-DlgDivInlineStyle      : "Inline Style",       //MISSING\r
-\r
-ScaytTitle                     : "SCAYT",      //MISSING\r
-ScaytTitleOptions      : "Options",    //MISSING\r
-ScaytTitleLangs                : "Languages",  //MISSING\r
-ScaytTitleAbout                : "About"       //MISSING\r
-};\r
+DlgAboutInfo           : "За више информација посетите"\r
+};
\ No newline at end of file
index c62d6be..a301a03 100644 (file)
@@ -1,6 +1,6 @@
 /*\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
@@ -44,9 +44,7 @@ RemoveFormat          : "Radera formatering",
 InsertLinkLbl          : "Länk",\r
 InsertLink                     : "Infoga/Redigera länk",\r
 RemoveLink                     : "Radera länk",\r
-VisitLink                      : "Öppna länk",\r
 Anchor                         : "Infoga/Redigera ankarlänk",\r
-AnchorDelete           : "Radera ankarlänk",\r
 InsertImageLbl         : "Bild",\r
 InsertImage                    : "Infoga/Redigera bild",\r
 InsertFlashLbl         : "Flash",\r
@@ -72,10 +70,6 @@ RightJustify         : "Högerjustera",
 BlockJustify           : "Justera till marginaler",\r
 DecreaseIndent         : "Minska indrag",\r
 IncreaseIndent         : "Öka indrag",\r
-Blockquote                     : "Blockquote", //MISSING\r
-CreateDiv                      : "Skapa Div behållare",\r
-EditDiv                                : "Redigera Div behållare",\r
-DeleteDiv                      : "Radera Div behållare",\r
 Undo                           : "Ångra",\r
 Redo                           : "Gör om",\r
 NumberedListLbl                : "Numrerad lista",\r
@@ -109,27 +103,20 @@ SelectionField    : "Flervalslista",
 ImageButton            : "Bildknapp",\r
 \r
 FitWindow              : "Anpassa till fönstrets storlek",\r
-ShowBlocks             : "Visa block",\r
 \r
 // Context Menu\r
 EditLink                       : "Redigera länk",\r
 CellCM                         : "Cell",\r
 RowCM                          : "Rad",\r
 ColumnCM                       : "Kolumn",\r
-InsertRowAfter         : "Lägg till Rad Efter",\r
-InsertRowBefore                : "Lägg till Rad Före",\r
+InsertRow                      : "Infoga rad",\r
 DeleteRows                     : "Radera rad",\r
-InsertColumnAfter      : "Lägg till Kolumn Efter",\r
-InsertColumnBefore     : "Lägg till Kolumn Före",\r
+InsertColumn           : "Infoga kolumn",\r
 DeleteColumns          : "Radera kolumn",\r
-InsertCellAfter                : "Lägg till Cell Efter",\r
-InsertCellBefore       : "Lägg till Cell Före",\r
+InsertCell                     : "Infoga cell",\r
 DeleteCells                    : "Radera celler",\r
 MergeCells                     : "Sammanfoga celler",\r
-MergeRight                     : "Sammanfoga Höger",\r
-MergeDown                      : "Sammanfoga Ner",\r
-HorizontalSplitCell    : "Dela Cell Horisontellt",\r
-VerticalSplitCell      : "Dela Cell Vertikalt",\r
+SplitCell                      : "Separera celler",\r
 TableDelete                    : "Radera tabell",\r
 CellProperties         : "Cellegenskaper",\r
 TableProperties                : "Tabellegenskaper",\r
@@ -147,7 +134,7 @@ SelectionFieldProp  : "Egenskaper för flervalslista",
 TextareaProp           : "Egenskaper för textruta",\r
 FormProp                       : "Egenskaper för formulär",\r
 \r
-FontFormats                    : "Normal;Formaterad;Adress;Rubrik 1;Rubrik 2;Rubrik 3;Rubrik 4;Rubrik 5;Rubrik 6;Normal (DIV)",\r
+FontFormats                    : "Normal;Formaterad;Adress;Rubrik 1;Rubrik 2;Rubrik 3;Rubrik 4;Rubrik 5;Rubrik 6;Normal (DIV)",                //REVIEW : Check _getfontformat.html\r
 \r
 // Alerts and Messages\r
 ProcessingXHTML                : "Bearbetar XHTML. Var god vänta...",\r
@@ -161,7 +148,6 @@ UnknownToolbarSet   : "Verktygsfält \"%1\" finns ej",
 NoActiveX                      : "Din webläsares säkerhetsinställningar kan begränsa funktionaliteten. Du bör aktivera \"Kör ActiveX kontroller och plug-ins\". Fel och avsaknad av funktioner kan annars uppstå.",\r
 BrowseServerBlocked : "Kunde Ej öppna resursfönstret. Var god och avaktivera alla popup-blockerare.",\r
 DialogBlocked          : "Kunde Ej öppna dialogfönstret. Var god och avaktivera alla popup-blockerare.",\r
-VisitLinkBlocked       : "Kunde Ej öppna nytt fönster. Var god och avaktivera alla popup-blockerare.",\r
 \r
 // Dialogs\r
 DlgBtnOK                       : "OK",\r
@@ -188,7 +174,7 @@ DlgGenClass                 : "Stylesheet class",
 DlgGenTitle                    : "Titel",\r
 DlgGenContType         : "Innehållstyp",\r
 DlgGenLinkCharset      : "Teckenuppställning",\r
-DlgGenStyle                    : "Stil",\r
+DlgGenStyle                    : "Style",\r
 \r
 // Image Dialog\r
 DlgImgTitle                    : "Bildegenskaper",\r
@@ -243,7 +229,7 @@ DlgLnkURL                   : "URL",
 DlgLnkAnchorSel                : "Välj ett ankare",\r
 DlgLnkAnchorByName     : "efter ankarnamn",\r
 DlgLnkAnchorById       : "efter objektid",\r
-DlgLnkNoAnchors                : "(Inga ankare kunde hittas)",\r
+DlgLnkNoAnchors                : "(Inga ankare kunde hittas)",         //REVIEW : Change < and > with ( and )\r
 DlgLnkEMail                    : "E-postadress",\r
 DlgLnkEMailSubject     : "Ämne",\r
 DlgLnkEMailBody                : "Innehåll",\r
@@ -306,13 +292,8 @@ DlgTableWidthPc            : "procent",
 DlgTableHeight         : "Höjd",\r
 DlgTableCellSpace      : "Cellavstånd",\r
 DlgTableCellPad                : "Cellutfyllnad",\r
-DlgTableCaption                : "Titel",\r
+DlgTableCaption                : "Rubrik",\r
 DlgTableSummary                : "Sammanfattning",\r
-DlgTableHeaders                : "Rubrikrad",\r
-DlgTableHeadersNone            : "Ingen",\r
-DlgTableHeadersColumn  : "Första kolumnen",\r
-DlgTableHeadersRow             : "Första raden",\r
-DlgTableHeadersBoth            : "Båda",\r
 \r
 // Table Cell Dialog\r
 DlgCellTitle           : "Cellegenskaper",\r
@@ -335,18 +316,12 @@ DlgCellVerAlignTop        : "Topp",
 DlgCellVerAlignMiddle  : "Mitten",\r
 DlgCellVerAlignBottom  : "Nederkant",\r
 DlgCellVerAlignBaseline        : "Underst",\r
-DlgCellType            : "Cell Typ",\r
-DlgCellTypeData                : "Data",\r
-DlgCellTypeHeader      : "Titel",\r
 DlgCellRowSpan         : "Radomfång",\r
 DlgCellCollSpan                : "Kolumnomfång",\r
 DlgCellBackColor       : "Bakgrundsfärg",\r
 DlgCellBorderColor     : "Kantfärg",\r
 DlgCellBtnSelect       : "Välj...",\r
 \r
-// Find and Replace Dialog\r
-DlgFindAndReplaceTitle : "Sök och ersätt",\r
-\r
 // Find Dialog\r
 DlgFindTitle           : "Sök",\r
 DlgFindFindBtn         : "Sök",\r
@@ -372,6 +347,7 @@ DlgPasteMsg2        : "Var god och klistra in Er text i rutan nedan genom att använda
 DlgPasteSec            : "På grund av din webläsares säkerhetsinställningar kan verktyget inte få åtkomst till urklippsdatan. Var god och använd detta fönster istället.",\r
 DlgPasteIgnoreFont             : "Ignorera typsnittsdefinitioner",\r
 DlgPasteRemoveStyles   : "Radera Stildefinitioner",\r
+DlgPasteCleanBox               : "Töm rutans innehåll",\r
 \r
 // Color Picker\r
 ColorAutomatic : "Automatisk",\r
@@ -456,7 +432,7 @@ DlgHiddenValue      : "Värde",
 // Bulleted List Dialog\r
 BulletedListProp       : "Egenskaper för punktlista",\r
 NumberedListProp       : "Egenskaper för numrerad lista",\r
-DlgLstStart                    : "Start",\r
+DlgLstStart                    : "Start",      //MISSING\r
 DlgLstType                     : "Typ",\r
 DlgLstTypeCircle       : "Cirkel",\r
 DlgLstTypeDisc         : "Punkt",\r
@@ -523,17 +499,6 @@ DlgTemplatesReplace        : "Ersätt aktuellt innehåll",
 DlgAboutAboutTab       : "Om",\r
 DlgAboutBrowserInfoTab : "Webläsare",\r
 DlgAboutLicenseTab     : "Licens",\r
-DlgAboutVersion                : "Version",\r
-DlgAboutInfo           : "För mer information se",\r
-\r
-// Div Dialog\r
-DlgDivGeneralTab       : "Allmänt",\r
-DlgDivAdvancedTab      : "Avancerat",\r
-DlgDivStyle            : "Stil",\r
-DlgDivInlineStyle      : "Inbäddad stil",\r
-\r
-ScaytTitle                     : "SCAYT",\r
-ScaytTitleOptions      : "Alternativ",\r
-ScaytTitleLangs                : "Språk",\r
-ScaytTitleAbout                : "Om"\r
-};\r
+DlgAboutVersion                : "version",\r
+DlgAboutInfo           : "För mer information se"\r
+};
\ No newline at end of file
index 7f3b1a4..8c4319a 100644 (file)
@@ -1,6 +1,6 @@
 /*\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
@@ -44,9 +44,7 @@ RemoveFormat          : "ล้างรูปแบบ",
 InsertLinkLbl          : "ลิงค์เชื่อมโยงเว็บ อีเมล์ รูปภาพ หรือไฟล์อื่นๆ",\r
 InsertLink                     : "แทรก/แก้ไข ลิงค์",\r
 RemoveLink                     : "ลบ ลิงค์",\r
-VisitLink                      : "Open Link",  //MISSING\r
 Anchor                         : "แทรก/แก้ไข Anchor",\r
-AnchorDelete           : "Remove Anchor",      //MISSING\r
 InsertImageLbl         : "รูปภาพ",\r
 InsertImage                    : "แทรก/แก้ไข รูปภาพ",\r
 InsertFlashLbl         : "ไฟล์ Flash",\r
@@ -72,10 +70,6 @@ RightJustify         : "จัดชิดขวา",
 BlockJustify           : "จัดพอดีหน้ากระดาษ",\r
 DecreaseIndent         : "ลดระยะย่อหน้า",\r
 IncreaseIndent         : "เพิ่มระยะย่อหน้า",\r
-Blockquote                     : "Blockquote", //MISSING\r
-CreateDiv                      : "Create Div Container",       //MISSING\r
-EditDiv                                : "Edit Div Container", //MISSING\r
-DeleteDiv                      : "Remove Div Container",       //MISSING\r
 Undo                           : "ยกเลิกคำสั่ง",\r
 Redo                           : "ทำซ้ำคำสั่ง",\r
 NumberedListLbl                : "ลำดับรายการแบบตัวเลข",\r
@@ -109,27 +103,20 @@ SelectionField    : "แถบตัวเลือก",
 ImageButton            : "ปุ่มแบบรูปภาพ",\r
 \r
 FitWindow              : "ขยายขนาดตัวอีดิตเตอร์",\r
-ShowBlocks             : "Show Blocks",        //MISSING\r
 \r
 // Context Menu\r
 EditLink                       : "แก้ไข ลิงค์",\r
 CellCM                         : "ช่องตาราง",\r
 RowCM                          : "แถว",\r
 ColumnCM                       : "คอลัมน์",\r
-InsertRowAfter         : "Insert Row After",   //MISSING\r
-InsertRowBefore                : "Insert Row Before",  //MISSING\r
+InsertRow                      : "แทรกแถว",\r
 DeleteRows                     : "ลบแถว",\r
-InsertColumnAfter      : "Insert Column After",        //MISSING\r
-InsertColumnBefore     : "Insert Column Before",       //MISSING\r
+InsertColumn           : "แทรกสดมน์",\r
 DeleteColumns          : "ลบสดมน์",\r
-InsertCellAfter                : "Insert Cell After",  //MISSING\r
-InsertCellBefore       : "Insert Cell Before", //MISSING\r
+InsertCell                     : "แทรกช่อง",\r
 DeleteCells                    : "ลบช่อง",\r
 MergeCells                     : "ผสานช่อง",\r
-MergeRight                     : "Merge Right",        //MISSING\r
-MergeDown                      : "Merge Down", //MISSING\r
-HorizontalSplitCell    : "Split Cell Horizontally",    //MISSING\r
-VerticalSplitCell      : "Split Cell Vertically",      //MISSING\r
+SplitCell                      : "แยกช่อง",\r
 TableDelete                    : "ลบตาราง",\r
 CellProperties         : "คุณสมบัติของช่อง",\r
 TableProperties                : "คุณสมบัติของตาราง",\r
@@ -147,7 +134,7 @@ SelectionFieldProp  : "คุณสมบัติของ แถบตัวเ
 TextareaProp           : "คุณสมบัติของ เท็กแอเรีย",\r
 FormProp                       : "คุณสมบัติของ แบบฟอร์ม",\r
 \r
-FontFormats                    : "Normal;Formatted;Address;Heading 1;Heading 2;Heading 3;Heading 4;Heading 5;Heading 6;Paragraph (DIV)",\r
+FontFormats                    : "Normal;Formatted;Address;Heading 1;Heading 2;Heading 3;Heading 4;Heading 5;Heading 6;Paragraph (DIV)",               //REVIEW : Check _getfontformat.html\r
 \r
 // Alerts and Messages\r
 ProcessingXHTML                : "โปรแกรมกำลังทำงานด้วยเทคโนโลยี XHTML กรุณารอสักครู่...",\r
@@ -161,7 +148,6 @@ UnknownToolbarSet   : "ไม่มีการติดตั้งชุดค
 NoActiveX                      : "โปรแกรมท่องอินเตอร์เน็ตของท่านไม่อนุญาติให้อีดิตเตอร์ทำงาน \"Run ActiveX controls and plug-ins\". หากไม่อนุญาติให้ใช้งาน ActiveX controls ท่านจะไม่สามารถใช้งานได้อย่างเต็มประสิทธิภาพ.",\r
 BrowseServerBlocked : "เปิดหน้าต่างป๊อบอัพเพื่อทำงานต่อไม่ได้ กรุณาปิดเครื่องมือป้องกันป๊อบอัพในโปรแกรมท่องอินเตอร์เน็ตของท่านด้วย",\r
 DialogBlocked          : "เปิดหน้าต่างป๊อบอัพเพื่อทำงานต่อไม่ได้ กรุณาปิดเครื่องมือป้องกันป๊อบอัพในโปรแกรมท่องอินเตอร์เน็ตของท่านด้วย",\r
-VisitLinkBlocked       : "It was not possible to open a new window. Make sure all popup blockers are disabled.",       //MISSING\r
 \r
 // Dialogs\r
 DlgBtnOK                       : "ตกลง",\r
@@ -243,7 +229,7 @@ DlgLnkURL                   : "ที่อยู่อ้างอิงออนไลน์ (
 DlgLnkAnchorSel                : "ระบุข้อมูลของจุดเชื่อมโยง (Anchor)",\r
 DlgLnkAnchorByName     : "ชื่อ",\r
 DlgLnkAnchorById       : "ไอดี",\r
-DlgLnkNoAnchors                : "(ยังไม่มีจุดเชื่อมโยงภายในหน้าเอกสารนี้)",\r
+DlgLnkNoAnchors                : "(ยังไม่มีจุดเชื่อมโยงภายในหน้าเอกสารนี้)",               //REVIEW : Change < and > with ( and )\r
 DlgLnkEMail                    : "อีเมล์ (E-Mail)",\r
 DlgLnkEMailSubject     : "หัวเรื่อง",\r
 DlgLnkEMailBody                : "ข้อความ",\r
@@ -308,11 +294,6 @@ DlgTableCellSpace  : "ระยะแนวนอนน",
 DlgTableCellPad                : "ระยะแนวตั้ง",\r
 DlgTableCaption                : "หัวเรื่องของตาราง",\r
 DlgTableSummary                : "สรุปความ",\r
-DlgTableHeaders                : "Headers",    //MISSING\r
-DlgTableHeadersNone            : "None",       //MISSING\r
-DlgTableHeadersColumn  : "First column",       //MISSING\r
-DlgTableHeadersRow             : "First Row",  //MISSING\r
-DlgTableHeadersBoth            : "Both",       //MISSING\r
 \r
 // Table Cell Dialog\r
 DlgCellTitle           : "คุณสมบัติของ ช่อง",\r
@@ -335,18 +316,12 @@ DlgCellVerAlignTop        : "บนสุด",
 DlgCellVerAlignMiddle  : "กึ่งกลาง",\r
 DlgCellVerAlignBottom  : "ล่างสุด",\r
 DlgCellVerAlignBaseline        : "อิงบรรทัด",\r
-DlgCellType            : "Cell Type",  //MISSING\r
-DlgCellTypeData                : "Data",       //MISSING\r
-DlgCellTypeHeader      : "Header",     //MISSING\r
 DlgCellRowSpan         : "จำนวนแถวที่คร่อมกัน",\r
 DlgCellCollSpan                : "จำนวนสดมน์ที่คร่อมกัน",\r
 DlgCellBackColor       : "สีพื้นหลัง",\r
 DlgCellBorderColor     : "สีเส้นขอบ",\r
 DlgCellBtnSelect       : "เลือก..",\r
 \r
-// Find and Replace Dialog\r
-DlgFindAndReplaceTitle : "Find and Replace",   //MISSING\r
-\r
 // Find Dialog\r
 DlgFindTitle           : "ค้นหา",\r
 DlgFindFindBtn         : "ค้นหา",\r
@@ -372,6 +347,7 @@ DlgPasteMsg2        : "กรุณาใช้คีย์บอร์ดเท่า
 DlgPasteSec            : "Because of your browser security settings, the editor is not able to access your clipboard data directly. You are required to paste it again in this window.",       //MISSING\r
 DlgPasteIgnoreFont             : "ไม่สนใจ Font Face definitions",\r
 DlgPasteRemoveStyles   : "ลบ Styles definitions",\r
+DlgPasteCleanBox               : "ล้างข้อมูลใน Box",\r
 \r
 // Color Picker\r
 ColorAutomatic : "สีอัตโนมัติ",\r
@@ -524,16 +500,5 @@ DlgAboutAboutTab   : "เกี่ยวกับโปรแกรม",
 DlgAboutBrowserInfoTab : "โปรแกรมท่องเว็บที่ท่านใช้",\r
 DlgAboutLicenseTab     : "ลิขสิทธิ์",\r
 DlgAboutVersion                : "รุ่น",\r
-DlgAboutInfo           : "For further information go to",      //MISSING\r
-\r
-// Div Dialog\r
-DlgDivGeneralTab       : "General",    //MISSING\r
-DlgDivAdvancedTab      : "Advanced",   //MISSING\r
-DlgDivStyle            : "Style",      //MISSING\r
-DlgDivInlineStyle      : "Inline Style",       //MISSING\r
-\r
-ScaytTitle                     : "SCAYT",      //MISSING\r
-ScaytTitleOptions      : "Options",    //MISSING\r
-ScaytTitleLangs                : "Languages",  //MISSING\r
-ScaytTitleAbout                : "About"       //MISSING\r
-};\r
+DlgAboutInfo           : "For further information go to"       //MISSING\r
+};
\ No newline at end of file
index 7707c3c..53b371e 100644 (file)
@@ -1,6 +1,6 @@
 /*\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
@@ -44,9 +44,7 @@ RemoveFormat          : "Biçimi Kaldır",
 InsertLinkLbl          : "Köprü",\r
 InsertLink                     : "Köprü Ekle/Düzenle",\r
 RemoveLink                     : "Köprü Kaldır",\r
-VisitLink                      : "Köprü Aç",\r
 Anchor                         : "Çapa Ekle/Düzenle",\r
-AnchorDelete           : "Çapa Sil",\r
 InsertImageLbl         : "Resim",\r
 InsertImage                    : "Resim Ekle/Düzenle",\r
 InsertFlashLbl         : "Flash",\r
@@ -72,10 +70,6 @@ RightJustify         : "Sağa Dayalı",
 BlockJustify           : "İki Kenara Yaslanmış",\r
 DecreaseIndent         : "Sekme Azalt",\r
 IncreaseIndent         : "Sekme Arttır",\r
-Blockquote                     : "Blok Oluştur",\r
-CreateDiv                      : "Div Ekle",\r
-EditDiv                                : "Div Düzenle",\r
-DeleteDiv                      : "Div Sil",\r
 Undo                           : "Geri Al",\r
 Redo                           : "Tekrarla",\r
 NumberedListLbl                : "Numaralı Liste",\r
@@ -109,27 +103,20 @@ SelectionField    : "Seçim Menüsü",
 ImageButton            : "Resimli Düğme",\r
 \r
 FitWindow              : "Düzenleyici boyutunu büyüt",\r
-ShowBlocks             : "Blokları Göster",\r
 \r
 // Context Menu\r
 EditLink                       : "Köprü Düzenle",\r
 CellCM                         : "Hücre",\r
 RowCM                          : "Satır",\r
 ColumnCM                       : "Sütun",\r
-InsertRowAfter         : "Satır Ekle - Sonra",\r
-InsertRowBefore                : "Satır Ekle - Önce",\r
+InsertRow                      : "Satır Ekle",\r
 DeleteRows                     : "Satır Sil",\r
-InsertColumnAfter      : "Kolon Ekle - Sonra",\r
-InsertColumnBefore     : "Kolon Ekle - Önce",\r
+InsertColumn           : "Sütun Ekle",\r
 DeleteColumns          : "Sütun Sil",\r
-InsertCellAfter                : "Hücre Ekle - Sonra",\r
-InsertCellBefore       : "Hücre Ekle - Önce",\r
+InsertCell                     : "Hücre Ekle",\r
 DeleteCells                    : "Hücre Sil",\r
 MergeCells                     : "Hücreleri Birleştir",\r
-MergeRight                     : "Birleştir - Sağdaki İle ",\r
-MergeDown                      : "Birleştir - Aşağıdaki İle ",\r
-HorizontalSplitCell    : "Hücreyi Yatay Böl",\r
-VerticalSplitCell      : "Hücreyi Dikey Böl",\r
+SplitCell                      : "Hücre Böl",\r
 TableDelete                    : "Tabloyu Sil",\r
 CellProperties         : "Hücre Özellikleri",\r
 TableProperties                : "Tablo Özellikleri",\r
@@ -147,7 +134,7 @@ SelectionFieldProp  : "Seçim Menüsü Özellikleri",
 TextareaProp           : "Çok Satırlı Metin Özellikleri",\r
 FormProp                       : "Form Özellikleri",\r
 \r
-FontFormats                    : "Normal;Biçimli;Adres;Başlık 1;Başlık 2;Başlık 3;Başlık 4;Başlık 5;Başlık 6;Paragraf (DIV)",\r
+FontFormats                    : "Normal;Biçimli;Adres;Başlık 1;Başlık 2;Başlık 3;Başlık 4;Başlık 5;Başlık 6;Paragraf (DIV)",             //REVIEW : Check _getfontformat.html\r
 \r
 // Alerts and Messages\r
 ProcessingXHTML                : "XHTML işleniyor. Lütfen bekleyin...",\r
@@ -161,7 +148,6 @@ UnknownToolbarSet   : "\"%1\" araç çubuğu öğesi mevcut değil",
 NoActiveX                      : "Kullandığınız tarayıcının güvenlik ayarları bazı özelliklerin kullanılmasını engelliyor. Bu özelliklerin çalışması için \"Run ActiveX controls and plug-ins (Activex ve eklentileri çalıştır)\" seçeneğinin aktif yapılması gerekiyor. Kullanılamayan eklentiler ve hatalar konusunda daha fazla bilgi sahibi olun.",\r
 BrowseServerBlocked : "Kaynak tarayıcısı açılamadı. Tüm \"popup blocker\" programlarının devre dışı olduğundan emin olun. (Yahoo toolbar, Msn toolbar, Google toolbar gibi)",\r
 DialogBlocked          : "Diyalog açmak mümkün olmadı. Tüm \"Popup Blocker\" programlarının devre dışı olduğundan emin olun.",\r
-VisitLinkBlocked       : "Yeni pencere açmak mümkün olmadı. Tüm \"Popup Blocker\" programlarının devre dışı olduğundan emin olun",\r
 \r
 // Dialogs\r
 DlgBtnOK                       : "Tamam",\r
@@ -243,7 +229,7 @@ DlgLnkURL                   : "URL",
 DlgLnkAnchorSel                : "Çapa Seç",\r
 DlgLnkAnchorByName     : "Çapa Adı ile",\r
 DlgLnkAnchorById       : "Eleman Kimlik Numarası ile",\r
-DlgLnkNoAnchors                : "(Bu belgede hiç çapa yok)",\r
+DlgLnkNoAnchors                : "<Bu belgede hiç çapa yok>",                //REVIEW : Change < and > with ( and )\r
 DlgLnkEMail                    : "E-Posta Adresi",\r
 DlgLnkEMailSubject     : "İleti Konusu",\r
 DlgLnkEMailBody                : "İleti Gövdesi",\r
@@ -308,11 +294,6 @@ DlgTableCellSpace  : "Izgara kalınlığı",
 DlgTableCellPad                : "Izgara yazı arası",\r
 DlgTableCaption                : "Başlık",\r
 DlgTableSummary                : "Özet",\r
-DlgTableHeaders                : "Başlıklar",\r
-DlgTableHeadersNone            : "Yok",\r
-DlgTableHeadersColumn  : "İlk Sütun",\r
-DlgTableHeadersRow             : "İlk Satır",\r
-DlgTableHeadersBoth            : "Her İkisi",\r
 \r
 // Table Cell Dialog\r
 DlgCellTitle           : "Hücre Özellikleri",\r
@@ -335,18 +316,12 @@ DlgCellVerAlignTop        : "Tepe",
 DlgCellVerAlignMiddle  : "Orta",\r
 DlgCellVerAlignBottom  : "Alt",\r
 DlgCellVerAlignBaseline        : "Taban Çizgisi",\r
-DlgCellType            : "Hücre Tipi",\r
-DlgCellTypeData                : "Veri",\r
-DlgCellTypeHeader      : "Başlık",\r
 DlgCellRowSpan         : "Satır Kapla",\r
 DlgCellCollSpan                : "Sütun Kapla",\r
 DlgCellBackColor       : "Arka Plan Rengi",\r
 DlgCellBorderColor     : "Kenar Rengi",\r
 DlgCellBtnSelect       : "Seç...",\r
 \r
-// Find and Replace Dialog\r
-DlgFindAndReplaceTitle : "Bul ve Değiştir",\r
-\r
 // Find Dialog\r
 DlgFindTitle           : "Bul",\r
 DlgFindFindBtn         : "Bul",\r
@@ -369,9 +344,10 @@ PasteAsText                : "Düz Metin Olarak Yapıştır",
 PasteFromWord  : "Word'den yapıştır",\r
 \r
 DlgPasteMsg2   : "Lütfen aşağıdaki kutunun içine yapıştırın. (<STRONG>Ctrl+V</STRONG>) ve <STRONG>Tamam</STRONG> butonunu tıklayın.",\r
-DlgPasteSec            : "Gezgin yazılımınızın güvenlik ayarları düzenleyicinin direkt olarak panoya erişimine izin vermiyor. Bu pencere içine tekrar yapıştırmalısınız..",\r
+DlgPasteSec            : "Because of your browser security settings, the editor is not able to access your clipboard data directly. You are required to paste it again in this window.",       //MISSING\r
 DlgPasteIgnoreFont             : "Yazı Tipi tanımlarını yoksay",\r
 DlgPasteRemoveStyles   : "Biçem Tanımlarını çıkar",\r
+DlgPasteCleanBox               : "Temizlik Kutusu",\r
 \r
 // Color Picker\r
 ColorAutomatic : "Otomatik",\r
@@ -524,16 +500,5 @@ DlgAboutAboutTab   : "Hakkında",
 DlgAboutBrowserInfoTab : "Gezgin Bilgisi",\r
 DlgAboutLicenseTab     : "Lisans",\r
 DlgAboutVersion                : "sürüm",\r
-DlgAboutInfo           : "Daha fazla bilgi için:",\r
-\r
-// Div Dialog\r
-DlgDivGeneralTab       : "Genel",\r
-DlgDivAdvancedTab      : "Gelişmiş",\r
-DlgDivStyle            : "Sitil",\r
-DlgDivInlineStyle      : "Satıriçi Sitil",\r
-\r
-ScaytTitle                     : "SCAYT",      //MISSING\r
-ScaytTitleOptions      : "Options",    //MISSING\r
-ScaytTitleLangs                : "Languages",  //MISSING\r
-ScaytTitleAbout                : "About"       //MISSING\r
-};\r
+DlgAboutInfo           : "Daha fazla bilgi için:"\r
+};
\ No newline at end of file
index 8191d54..1defaac 100644 (file)
@@ -1,6 +1,6 @@
 /*\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
@@ -44,9 +44,7 @@ RemoveFormat          : "Прибрати форматування",
 InsertLinkLbl          : "Посилання",\r
 InsertLink                     : "Вставити/Редагувати посилання",\r
 RemoveLink                     : "Знищити посилання",\r
-VisitLink                      : "Відкрити посилання",\r
 Anchor                         : "Вставити/Редагувати якір",\r
-AnchorDelete           : "Видалити якір",\r
 InsertImageLbl         : "Зображення",\r
 InsertImage                    : "Вставити/Редагувати зображення",\r
 InsertFlashLbl         : "Flash",\r
@@ -72,10 +70,6 @@ RightJustify         : "По правому краю",
 BlockJustify           : "По ширині",\r
 DecreaseIndent         : "Зменшити відступ",\r
 IncreaseIndent         : "Збільшити відступ",\r
-Blockquote                     : "Цитата",\r
-CreateDiv                      : "Створити Div контейнер",\r
-EditDiv                                : "Редагувати Div контейнер",\r
-DeleteDiv                      : "Видалити Div контейнер",\r
 Undo                           : "Повернути",\r
 Redo                           : "Повторити",\r
 NumberedListLbl                : "Нумерований список",\r
@@ -109,27 +103,20 @@ SelectionField    : "Список",
 ImageButton            : "Кнопка із зображенням",\r
 \r
 FitWindow              : "Розвернути вікно редактора",\r
-ShowBlocks             : "Показувати блоки",\r
 \r
 // Context Menu\r
 EditLink                       : "Вставити посилання",\r
 CellCM                         : "Осередок",\r
 RowCM                          : "Рядок",\r
 ColumnCM                       : "Колонка",\r
-InsertRowAfter         : "Вставити рядок після",\r
-InsertRowBefore                : "Вставити рядок до",\r
+InsertRow                      : "Вставити строку",\r
 DeleteRows                     : "Видалити строки",\r
-InsertColumnAfter      : "Вставити колонку після",\r
-InsertColumnBefore     : "Вставити колонку до",\r
+InsertColumn           : "Вставити колонку",\r
 DeleteColumns          : "Видалити колонки",\r
-InsertCellAfter                : "Вставити комірку після",\r
-InsertCellBefore       : "Вставити комірку до",\r
+InsertCell                     : "Вставити комірку",\r
 DeleteCells                    : "Видалити комірки",\r
 MergeCells                     : "Об'єднати комірки",\r
-MergeRight                     : "Об'єднати зправа",\r
-MergeDown                      : "Об'єднати до низу",\r
-HorizontalSplitCell    : "Розділити комірку по горизонталі",\r
-VerticalSplitCell      : "Розділити комірку по вертикалі",\r
+SplitCell                      : "Роз'єднати комірку",\r
 TableDelete                    : "Видалити таблицю",\r
 CellProperties         : "Властивості комірки",\r
 TableProperties                : "Властивості таблиці",\r
@@ -147,7 +134,7 @@ SelectionFieldProp  : "Властивості списку",
 TextareaProp           : "Властивості текстової області",\r
 FormProp                       : "Властивості форми",\r
 \r
-FontFormats                    : "Нормальний;Форматований;Адреса;Заголовок 1;Заголовок 2;Заголовок 3;Заголовок 4;Заголовок 5;Заголовок 6;Нормальний (DIV)",\r
+FontFormats                    : "Нормальний;Форматований;Адреса;Заголовок 1;Заголовок 2;Заголовок 3;Заголовок 4;Заголовок 5;Заголовок 6;Нормальний (DIV)",                //REVIEW : Check _getfontformat.html\r
 \r
 // Alerts and Messages\r
 ProcessingXHTML                : "Обробка XHTML. Зачекайте, будь ласка...",\r
@@ -161,7 +148,6 @@ UnknownToolbarSet   : "Панель інструментів \"%1\" не існу
 NoActiveX                      : "Настройки безпеки вашого браузера можуть обмежувати деякі властивості редактора. Ви повинні включити опцію \"Запускати елементи управління ACTIVEX і плугіни\". Ви можете бачити помилки і помічати відсутність можливостей.",\r
 BrowseServerBlocked : "Ресурси браузера не можуть бути відкриті. Перевірте що блокування спливаючих вікон вимкнені.",\r
 DialogBlocked          : "Не можливо відкрити вікно діалогу. Перевірте що блокування спливаючих вікон вимкнені.",\r
-VisitLinkBlocked       : "It was not possible to open a new window. Make sure all popup blockers are disabled.",       //MISSING\r
 \r
 // Dialogs\r
 DlgBtnOK                       : "ОК",\r
@@ -243,7 +229,7 @@ DlgLnkURL                   : "URL",
 DlgLnkAnchorSel                : "Оберіть якір",\r
 DlgLnkAnchorByName     : "За ім'ям якоря",\r
 DlgLnkAnchorById       : "За ідентифікатором елемента",\r
-DlgLnkNoAnchors                : "(Немає якорів доступних в цьому документі)",\r
+DlgLnkNoAnchors                : "<Немає якорів доступних в цьому документі>",              //REVIEW : Change < and > with ( and )\r
 DlgLnkEMail                    : "Адреса ел. пошти",\r
 DlgLnkEMailSubject     : "Тема листа",\r
 DlgLnkEMailBody                : "Тіло повідомлення",\r
@@ -308,11 +294,6 @@ DlgTableCellSpace  : "Проміжок (spacing)",
 DlgTableCellPad                : "Відступ (padding)",\r
 DlgTableCaption                : "Заголовок",\r
 DlgTableSummary                : "Резюме",\r
-DlgTableHeaders                : "Headers",    //MISSING\r
-DlgTableHeadersNone            : "None",       //MISSING\r
-DlgTableHeadersColumn  : "First column",       //MISSING\r
-DlgTableHeadersRow             : "First Row",  //MISSING\r
-DlgTableHeadersBoth            : "Both",       //MISSING\r
 \r
 // Table Cell Dialog\r
 DlgCellTitle           : "Властивості комірки",\r
@@ -335,18 +316,12 @@ DlgCellVerAlignTop        : "Зверху",
 DlgCellVerAlignMiddle  : "Посередині",\r
 DlgCellVerAlignBottom  : "Знизу",\r
 DlgCellVerAlignBaseline        : "По базовій лінії",\r
-DlgCellType            : "Cell Type",  //MISSING\r
-DlgCellTypeData                : "Data",       //MISSING\r
-DlgCellTypeHeader      : "Header",     //MISSING\r
 DlgCellRowSpan         : "Діапазон строк (span)",\r
 DlgCellCollSpan                : "Діапазон колонок (span)",\r
 DlgCellBackColor       : "Колір фона",\r
 DlgCellBorderColor     : "Колір бордюра",\r
 DlgCellBtnSelect       : "Оберіть...",\r
 \r
-// Find and Replace Dialog\r
-DlgFindAndReplaceTitle : "Знайти і замінити",\r
-\r
 // Find Dialog\r
 DlgFindTitle           : "Пошук",\r
 DlgFindFindBtn         : "Пошук",\r
@@ -372,6 +347,7 @@ DlgPasteMsg2        : "Будь-ласка, вставте з буфера обміну
 DlgPasteSec            : "Редактор не може отримати прямий доступ до буферу обміну у зв'язку з налаштуваннями вашого браузера. Вам потрібно вставити інформацію повторно в це вікно.",\r
 DlgPasteIgnoreFont             : "Ігнорувати налаштування шрифтів",\r
 DlgPasteRemoveStyles   : "Видалити налаштування стилів",\r
+DlgPasteCleanBox               : "Очистити область",\r
 \r
 // Color Picker\r
 ColorAutomatic : "Автоматичний",\r
@@ -524,16 +500,5 @@ DlgAboutAboutTab   : "Про програму",
 DlgAboutBrowserInfoTab : "Інформація браузера",\r
 DlgAboutLicenseTab     : "Ліцензія",\r
 DlgAboutVersion                : "Версія",\r
-DlgAboutInfo           : "Додаткову інформацію дивіться на ",\r
-\r
-// Div Dialog\r
-DlgDivGeneralTab       : "Загальна",\r
-DlgDivAdvancedTab      : "Розширена",\r
-DlgDivStyle            : "Стиль",\r
-DlgDivInlineStyle      : "Inline стиль",\r
-\r
-ScaytTitle                     : "SCAYT",      //MISSING\r
-ScaytTitleOptions      : "Options",    //MISSING\r
-ScaytTitleLangs                : "Languages",  //MISSING\r
-ScaytTitleAbout                : "About"       //MISSING\r
-};\r
+DlgAboutInfo           : "Додаткову інформацію дивіться на "\r
+};
\ No newline at end of file
index ac94038..5c2c608 100644 (file)
@@ -1,6 +1,6 @@
 /*\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
@@ -44,9 +44,7 @@ RemoveFormat          : "Xoá Định dạng",
 InsertLinkLbl          : "Liên kết",\r
 InsertLink                     : "Chèn/Sửa Liên kết",\r
 RemoveLink                     : "Xoá Liên kết",\r
-VisitLink                      : "Mở Liên Kết",\r
 Anchor                         : "Chèn/Sửa Neo",\r
-AnchorDelete           : "Gỡ bỏ Neo",\r
 InsertImageLbl         : "Hình ảnh",\r
 InsertImage                    : "Chèn/Sửa Hình ảnh",\r
 InsertFlashLbl         : "Flash",\r
@@ -72,10 +70,6 @@ RightJustify         : "Canh phải",
 BlockJustify           : "Canh đều",\r
 DecreaseIndent         : "Dịch ra ngoài",\r
 IncreaseIndent         : "Dịch vào trong",\r
-Blockquote                     : "Khối Trích dẫn",\r
-CreateDiv                      : "Tạo Div Container",\r
-EditDiv                                : "Chỉnh sửa Div Container",\r
-DeleteDiv                      : "Gỡ bỏ Div Container",\r
 Undo                           : "Khôi phục thao tác",\r
 Redo                           : "Làm lại thao tác",\r
 NumberedListLbl                : "Danh sách có thứ tự",\r
@@ -109,27 +103,20 @@ SelectionField    : "Ô chọn",
 ImageButton            : "Nút hình ảnh",\r
 \r
 FitWindow              : "Mở rộng tối đa kích thước trình biên tập",\r
-ShowBlocks             : "Hiển thị các Khối",\r
 \r
 // Context Menu\r
 EditLink                       : "Sửa Liên kết",\r
 CellCM                         : "Ô",\r
 RowCM                          : "Hàng",\r
 ColumnCM                       : "Cột",\r
-InsertRowAfter         : "Chèn Hàng Phía sau",\r
-InsertRowBefore                : "Chèn Hàng Phía trước",\r
+InsertRow                      : "Chèn Hàng",\r
 DeleteRows                     : "Xoá Hàng",\r
-InsertColumnAfter      : "Chèn Cột Phía sau",\r
-InsertColumnBefore     : "Chèn Cột Phía trước",\r
+InsertColumn           : "Chèn Cột",\r
 DeleteColumns          : "Xoá Cột",\r
-InsertCellAfter                : "Chèn Ô Phía sau",\r
-InsertCellBefore       : "Chèn Ô Phía trước",\r
+InsertCell                     : "Chèn Ô",\r
 DeleteCells                    : "Xoá Ô",\r
-MergeCells                     : "Kết hợp Ô",\r
-MergeRight                     : "Kết hợp Sang phải",\r
-MergeDown                      : "Kết hợp Xuống dưới",\r
-HorizontalSplitCell    : "Tách ngang Ô",\r
-VerticalSplitCell      : "Tách dọc Ô",\r
+MergeCells                     : "Trộn Ô",\r
+SplitCell                      : "Chia Ô",\r
 TableDelete                    : "Xóa Bảng",\r
 CellProperties         : "Thuộc tính Ô",\r
 TableProperties                : "Thuộc tính Bảng",\r
@@ -147,7 +134,7 @@ SelectionFieldProp  : "Thuộc tính Ô chọn",
 TextareaProp           : "Thuộc tính Vùng văn bản",\r
 FormProp                       : "Thuộc tính Biểu mẫu",\r
 \r
-FontFormats                    : "Normal;Formatted;Address;Heading 1;Heading 2;Heading 3;Heading 4;Heading 5;Heading 6;Normal (DIV)",\r
+FontFormats                    : "Normal;Formatted;Address;Heading 1;Heading 2;Heading 3;Heading 4;Heading 5;Heading 6;Normal (DIV)",          //REVIEW : Check _getfontformat.html\r
 \r
 // Alerts and Messages\r
 ProcessingXHTML                : "Đang xử lý XHTML. Vui lòng đợi trong giây lát...",\r
@@ -158,10 +145,9 @@ UnknownToolbarItem : "Không rõ mục trên thanh công cụ \"%1\"",
 UnknownCommand         : "Không rõ lệnh \"%1\"",\r
 NotImplemented         : "Lệnh không được thực hiện",\r
 UnknownToolbarSet      : "Thanh công cụ \"%1\" không tồn tại",\r
-NoActiveX                      : "Các thiết lập bảo mật của trình duyệt có thể giới hạn một số chức năng của trình biên tập. Bạn phải bật tùy chọn \"Run ActiveX controls and plug-ins\". Bạn có thể gặp một số lỗi và thấy thiếu một số chức năng.",\r
+NoActiveX                      : "Các thiết lập bảo mật của trình duyệt có thể giới hạn một số chức năng của trình biên tập. Bạn phải bật tùy chọn \"Run ActiveX controls and plug-ins\". Bạn có thể gặp một số lỗi và thấy thiếu đi một số chức năng.",\r
 BrowseServerBlocked : "Không thể mở được bộ duyệt tài nguyên. Hãy đảm bảo chức năng chặn popup đã bị vô hiệu hóa.",\r
 DialogBlocked          : "Không thể mở được cửa sổ hộp thoại. Hãy đảm bảo chức năng chặn popup đã bị vô hiệu hóa.",\r
-VisitLinkBlocked       : "Không thể mở được cửa sổ trình duyệt mới. Hãy đảm bảo chức năng chặn popup đã bị vô hiệu hóa.",\r
 \r
 // Dialogs\r
 DlgBtnOK                       : "Đồng ý",\r
@@ -199,7 +185,7 @@ DlgImgUpload                : "Tải lên",
 DlgImgAlt                      : "Chú thích Hình ảnh",\r
 DlgImgWidth                    : "Rộng",\r
 DlgImgHeight           : "Cao",\r
-DlgImgLockRatio                : "Giữ nguyên tỷ lệ",\r
+DlgImgLockRatio                : "Giữ tỷ lệ",\r
 DlgBtnResetSize                : "Kích thước gốc",\r
 DlgImgBorder           : "Đường viền",\r
 DlgImgHSpace           : "HSpace",\r
@@ -208,7 +194,7 @@ DlgImgAlign                 : "Vị trí",
 DlgImgAlignLeft                : "Trái",\r
 DlgImgAlignAbsBottom: "Dưới tuyệt đối",\r
 DlgImgAlignAbsMiddle: "Giữa tuyệt đối",\r
-DlgImgAlignBaseline    : "Đường cơ sở",\r
+DlgImgAlignBaseline    : "Baseline",\r
 DlgImgAlignBottom      : "Dưới",\r
 DlgImgAlignMiddle      : "Giữa",\r
 DlgImgAlignRight       : "Phải",\r
@@ -243,7 +229,7 @@ DlgLnkURL                   : "URL",
 DlgLnkAnchorSel                : "Chọn một Neo",\r
 DlgLnkAnchorByName     : "Theo Tên Neo",\r
 DlgLnkAnchorById       : "Theo Định danh Element",\r
-DlgLnkNoAnchors                : "(Không có Neo nào trong tài liệu)",\r
+DlgLnkNoAnchors                : "<Không có Neo nào trong tài liệu>",            //REVIEW : Change < and > with ( and )\r
 DlgLnkEMail                    : "Thư điện tử",\r
 DlgLnkEMailSubject     : "Tiêu đề Thông điệp",\r
 DlgLnkEMailBody                : "Nội dung Thông điệp",\r
@@ -308,11 +294,6 @@ DlgTableCellSpace  : "Khoảng cách Ô",
 DlgTableCellPad                : "Đệm Ô",\r
 DlgTableCaption                : "Đầu đề",\r
 DlgTableSummary                : "Tóm lược",\r
-DlgTableHeaders                : "Headers",    //MISSING\r
-DlgTableHeadersNone            : "None",       //MISSING\r
-DlgTableHeadersColumn  : "First column",       //MISSING\r
-DlgTableHeadersRow             : "First Row",  //MISSING\r
-DlgTableHeadersBoth            : "Both",       //MISSING\r
 \r
 // Table Cell Dialog\r
 DlgCellTitle           : "Thuộc tính Ô",\r
@@ -334,19 +315,13 @@ DlgCellVerAlignNotSet     : "<Chưa thiết lập>",
 DlgCellVerAlignTop     : "Trên",\r
 DlgCellVerAlignMiddle  : "Giữa",\r
 DlgCellVerAlignBottom  : "Dưới",\r
-DlgCellVerAlignBaseline        : "Đường cơ sở",\r
-DlgCellType            : "Cell Type",  //MISSING\r
-DlgCellTypeData                : "Data",       //MISSING\r
-DlgCellTypeHeader      : "Header",     //MISSING\r
+DlgCellVerAlignBaseline        : "Baseline",\r
 DlgCellRowSpan         : "Nối Hàng",\r
 DlgCellCollSpan                : "Nối Cột",\r
 DlgCellBackColor       : "Màu nền",\r
 DlgCellBorderColor     : "Màu viền",\r
 DlgCellBtnSelect       : "Chọn...",\r
 \r
-// Find and Replace Dialog\r
-DlgFindAndReplaceTitle : "Tìm kiếm và Thay Thế",\r
-\r
 // Find Dialog\r
 DlgFindTitle           : "Tìm kiếm",\r
 DlgFindFindBtn         : "Tìm kiếm",\r
@@ -372,6 +347,7 @@ DlgPasteMsg2        : "Hãy dán nội dung vào trong khung bên dưới, sử dụng
 DlgPasteSec            : "Because of your browser security settings, the editor is not able to access your clipboard data directly. You are required to paste it again in this window.",       //MISSING\r
 DlgPasteIgnoreFont             : "Chấp nhận các định dạng phông",\r
 DlgPasteRemoveStyles   : "Gỡ bỏ các định dạng Styles",\r
+DlgPasteCleanBox               : "Xóa nội dung",\r
 \r
 // Color Picker\r
 ColorAutomatic : "Tự động",\r
@@ -383,7 +359,7 @@ DocProps            : "Thuộc tính Tài liệu",
 // Anchor Dialog\r
 DlgAnchorTitle         : "Thuộc tính Neo",\r
 DlgAnchorName          : "Tên của Neo",\r
-DlgAnchorErrorName     : "Hãy nhập vào tên của Neo",\r
+DlgAnchorErrorName     : "Hãy đưa vào tên của Neo",\r
 \r
 // Speller Pages Dialog\r
 DlgSpellNotInDic               : "Không có trong từ điển",\r
@@ -524,16 +500,5 @@ DlgAboutAboutTab   : "Giới thiệu",
 DlgAboutBrowserInfoTab : "Thông tin trình duyệt",\r
 DlgAboutLicenseTab     : "Giấy phép",\r
 DlgAboutVersion                : "phiên bản",\r
-DlgAboutInfo           : "Để biết thêm thông tin, hãy truy cập",\r
-\r
-// Div Dialog\r
-DlgDivGeneralTab       : "Chung",\r
-DlgDivAdvancedTab      : "Nâng cao",\r
-DlgDivStyle            : "Kiểu Style",\r
-DlgDivInlineStyle      : "Kiểu Style Trực tiếp",\r
-\r
-ScaytTitle                     : "SCAYT",      //MISSING\r
-ScaytTitleOptions      : "Options",    //MISSING\r
-ScaytTitleLangs                : "Languages",  //MISSING\r
-ScaytTitleAbout                : "About"       //MISSING\r
-};\r
+DlgAboutInfo           : "Để biết thêm thông tin, hãy truy cập"\r
+};
\ No newline at end of file
index 256852b..6d6f4f4 100644 (file)
@@ -1,6 +1,6 @@
 /*\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
@@ -44,9 +44,7 @@ RemoveFormat          : "清除格式",
 InsertLinkLbl          : "超链接",\r
 InsertLink                     : "插入/编辑超链接",\r
 RemoveLink                     : "取消超链接",\r
-VisitLink                      : "打开超链接",\r
 Anchor                         : "插入/编辑锚点链接",\r
-AnchorDelete           : "清除锚点链接",\r
 InsertImageLbl         : "图象",\r
 InsertImage                    : "插入/编辑图象",\r
 InsertFlashLbl         : "Flash",\r
@@ -72,10 +70,6 @@ RightJustify         : "右对齐",
 BlockJustify           : "两端对齐",\r
 DecreaseIndent         : "减少缩进量",\r
 IncreaseIndent         : "增加缩进量",\r
-Blockquote                     : "块引用",\r
-CreateDiv                      : "插入 Div 标签",\r
-EditDiv                                : "编辑 Div 标签",\r
-DeleteDiv                      : "删除 Div 标签",\r
 Undo                           : "撤消",\r
 Redo                           : "重做",\r
 NumberedListLbl                : "编号列表",\r
@@ -109,27 +103,20 @@ SelectionField    : "列表/菜单",
 ImageButton            : "图像域",\r
 \r
 FitWindow              : "全屏编辑",\r
-ShowBlocks             : "显示区块",\r
 \r
 // Context Menu\r
 EditLink                       : "编辑超链接",\r
 CellCM                         : "单元格",\r
 RowCM                          : "行",\r
 ColumnCM                       : "列",\r
-InsertRowAfter         : "在下方插入行",\r
-InsertRowBefore                : "在上方插入行",\r
+InsertRow                      : "插入行",\r
 DeleteRows                     : "删除行",\r
-InsertColumnAfter      : "在右侧插入列",\r
-InsertColumnBefore     : "在左侧插入列",\r
+InsertColumn           : "插入列",\r
 DeleteColumns          : "删除列",\r
-InsertCellAfter                : "在右侧插入单元格",\r
-InsertCellBefore       : "在左侧插入单元格",\r
+InsertCell                     : "插入单元格",\r
 DeleteCells                    : "删除单元格",\r
 MergeCells                     : "合并单元格",\r
-MergeRight                     : "向右合并单元格",\r
-MergeDown                      : "向下合并单元格",\r
-HorizontalSplitCell    : "水平拆分单元格",\r
-VerticalSplitCell      : "垂直拆分单元格",\r
+SplitCell                      : "拆分单元格",\r
 TableDelete                    : "删除表格",\r
 CellProperties         : "单元格属性",\r
 TableProperties                : "表格属性",\r
@@ -147,7 +134,7 @@ SelectionFieldProp  : "菜单/列表属性",
 TextareaProp           : "多行文本属性",\r
 FormProp                       : "表单属性",\r
 \r
-FontFormats                    : "普通;已编排格式;地址;标题 1;标题 2;标题 3;标题 4;标题 5;标题 6;段落(DIV)",\r
+FontFormats                    : "普通;已编排格式;地址;标题 1;标题 2;标题 3;标题 4;标题 5;标题 6;段落(DIV)",            //REVIEW : Check _getfontformat.html\r
 \r
 // Alerts and Messages\r
 ProcessingXHTML                : "正在处理 XHTML,请稍等...",\r
@@ -161,7 +148,6 @@ UnknownToolbarSet   : "工具栏设置 \"%1\" 不存在",
 NoActiveX                      : "浏览器安全设置限制了本编辑器的某些功能。您必须启用安全设置中的“运行 ActiveX 控件和插件”,否则将出现某些错误并缺少功能。",\r
 BrowseServerBlocked : "无法打开资源浏览器,请确认是否启用了禁止弹出窗口。",\r
 DialogBlocked          : "无法打开对话框窗口,请确认是否启用了禁止弹出窗口或网页对话框(IE)。",\r
-VisitLinkBlocked       : "无法打开新窗口,请确认是否启用了禁止弹出窗口或网页对话框(IE)。",\r
 \r
 // Dialogs\r
 DlgBtnOK                       : "确定",\r
@@ -243,7 +229,7 @@ DlgLnkURL                   : "地址",
 DlgLnkAnchorSel                : "选择一个锚点",\r
 DlgLnkAnchorByName     : "按锚点名称",\r
 DlgLnkAnchorById       : "按锚点 ID",\r
-DlgLnkNoAnchors                : "(此文档没有可用的锚点)",\r
+DlgLnkNoAnchors                : "<此文档没有可用的锚点>",           //REVIEW : Change < and > with ( and )\r
 DlgLnkEMail                    : "地址",\r
 DlgLnkEMailSubject     : "主题",\r
 DlgLnkEMailBody                : "内容",\r
@@ -308,11 +294,6 @@ DlgTableCellSpace  : "间距",
 DlgTableCellPad                : "边距",\r
 DlgTableCaption                : "标题",\r
 DlgTableSummary                : "摘要",\r
-DlgTableHeaders                : "标题单元格",\r
-DlgTableHeadersNone            : "无",\r
-DlgTableHeadersColumn  : "第一列",\r
-DlgTableHeadersRow             : "第一行",\r
-DlgTableHeadersBoth            : "第一列和第一行",\r
 \r
 // Table Cell Dialog\r
 DlgCellTitle           : "单元格属性",\r
@@ -335,18 +316,12 @@ DlgCellVerAlignTop        : "顶端",
 DlgCellVerAlignMiddle  : "居中",\r
 DlgCellVerAlignBottom  : "底部",\r
 DlgCellVerAlignBaseline        : "基线",\r
-DlgCellType            : "单元格类型",\r
-DlgCellTypeData                : "资料",\r
-DlgCellTypeHeader      : "标题",\r
 DlgCellRowSpan         : "纵跨行数",\r
 DlgCellCollSpan                : "横跨列数",\r
 DlgCellBackColor       : "背景颜色",\r
 DlgCellBorderColor     : "边框颜色",\r
 DlgCellBtnSelect       : "选择...",\r
 \r
-// Find and Replace Dialog\r
-DlgFindAndReplaceTitle : "查找和替换",\r
-\r
 // Find Dialog\r
 DlgFindTitle           : "查找",\r
 DlgFindFindBtn         : "查找",\r
@@ -369,9 +344,10 @@ PasteAsText                : "粘贴为无格式文本",
 PasteFromWord  : "从 MS Word 粘贴",\r
 \r
 DlgPasteMsg2   : "请使用键盘快捷键(<STRONG>Ctrl+V</STRONG>)把内容粘贴到下面的方框里,再按 <STRONG>确定</STRONG>。",\r
-DlgPasteSec            : "因为你的浏览器的安全设置原因,本编辑器不能直接访问你的剪贴板内容,你需要在本窗口重新粘贴一次。",\r
+DlgPasteSec            : "Because of your browser security settings, the editor is not able to access your clipboard data directly. You are required to paste it again in this window.",       //MISSING\r
 DlgPasteIgnoreFont             : "忽略 Font 标签",\r
 DlgPasteRemoveStyles   : "清理 CSS 样式",\r
+DlgPasteCleanBox               : "清空上面内容",\r
 \r
 // Color Picker\r
 ColorAutomatic : "自动",\r
@@ -514,7 +490,7 @@ DlgDocPreview               : "预览",
 // Templates Dialog\r
 Templates                      : "模板",\r
 DlgTemplatesTitle      : "内容模板",\r
-DlgTemplatesSelMsg     : "请选择编辑器内容模板:",\r
+DlgTemplatesSelMsg     : "请选择编辑器内容模板<br>(当前内容将会被清除替换):",\r
 DlgTemplatesLoading    : "正在加载模板列表,请稍等...",\r
 DlgTemplatesNoTpl      : "(没有模板)",\r
 DlgTemplatesReplace    : "替换当前内容",\r
@@ -524,16 +500,5 @@ DlgAboutAboutTab   : "关于",
 DlgAboutBrowserInfoTab : "浏览器信息",\r
 DlgAboutLicenseTab     : "许可证",\r
 DlgAboutVersion                : "版本",\r
-DlgAboutInfo           : "要获得更多信息请访问 ",\r
-\r
-// Div Dialog\r
-DlgDivGeneralTab       : "常规",\r
-DlgDivAdvancedTab      : "高级",\r
-DlgDivStyle            : "样式",\r
-DlgDivInlineStyle      : "CSS 样式",\r
-\r
-ScaytTitle                     : "SCAYT",      //MISSING\r
-ScaytTitleOptions      : "Options",    //MISSING\r
-ScaytTitleLangs                : "Languages",  //MISSING\r
-ScaytTitleAbout                : "About"       //MISSING\r
-};\r
+DlgAboutInfo           : "要获得更多信息请访问 "\r
+};
\ No newline at end of file
index 8d47829..b5cd239 100644 (file)
@@ -1,6 +1,6 @@
 /*\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
@@ -44,9 +44,7 @@ RemoveFormat          : "清除格式",
 InsertLinkLbl          : "超連結",\r
 InsertLink                     : "插入/編輯超連結",\r
 RemoveLink                     : "移除超連結",\r
-VisitLink                      : "開啟超連結",\r
 Anchor                         : "插入/編輯錨點",\r
-AnchorDelete           : "移除錨點",\r
 InsertImageLbl         : "影像",\r
 InsertImage                    : "插入/編輯影像",\r
 InsertFlashLbl         : "Flash",\r
@@ -72,10 +70,6 @@ RightJustify         : "靠右對齊",
 BlockJustify           : "左右對齊",\r
 DecreaseIndent         : "減少縮排",\r
 IncreaseIndent         : "增加縮排",\r
-Blockquote                     : "引用文字",\r
-CreateDiv                      : "新增 Div 標籤",\r
-EditDiv                                : "變更 Div 標籤",\r
-DeleteDiv                      : "移除 Div 標籤",\r
 Undo                           : "復原",\r
 Redo                           : "重複",\r
 NumberedListLbl                : "編號清單",\r
@@ -109,27 +103,20 @@ SelectionField    : "清單/選單",
 ImageButton            : "影像按鈕",\r
 \r
 FitWindow              : "編輯器最大化",\r
-ShowBlocks             : "顯示區塊",\r
 \r
 // Context Menu\r
 EditLink                       : "編輯超連結",\r
 CellCM                         : "儲存格",\r
 RowCM                          : "列",\r
 ColumnCM                       : "欄",\r
-InsertRowAfter         : "向下插入列",\r
-InsertRowBefore                : "向上插入列",\r
+InsertRow                      : "插入列",\r
 DeleteRows                     : "刪除列",\r
-InsertColumnAfter      : "向右插入欄",\r
-InsertColumnBefore     : "向左插入欄",\r
+InsertColumn           : "插入欄",\r
 DeleteColumns          : "刪除欄",\r
-InsertCellAfter                : "向右插入儲存格",\r
-InsertCellBefore       : "向左插入儲存格",\r
+InsertCell                     : "插入儲存格",\r
 DeleteCells                    : "刪除儲存格",\r
 MergeCells                     : "合併儲存格",\r
-MergeRight                     : "向右合併儲存格",\r
-MergeDown                      : "向下合併儲存格",\r
-HorizontalSplitCell    : "橫向分割儲存格",\r
-VerticalSplitCell      : "縱向分割儲存格",\r
+SplitCell                      : "分割儲存格",\r
 TableDelete                    : "刪除表格",\r
 CellProperties         : "儲存格屬性",\r
 TableProperties                : "表格屬性",\r
@@ -147,7 +134,7 @@ SelectionFieldProp  : "清單/選單屬性",
 TextareaProp           : "文字區域屬性",\r
 FormProp                       : "表單屬性",\r
 \r
-FontFormats                    : "一般;已格式化;位址;標題 1;標題 2;標題 3;標題 4;標題 5;標題 6;一般 (DIV)",\r
+FontFormats                    : "本文;已格式化;位址;標題 1;標題 2;標題 3;標題 4;標題 5;標題 6;本文 (DIV)",              //REVIEW : Check _getfontformat.html\r
 \r
 // Alerts and Messages\r
 ProcessingXHTML                : "處理 XHTML 中,請稍候…",\r
@@ -161,7 +148,6 @@ UnknownToolbarSet   : "工具列設定 \"%1\" 不存在",
 NoActiveX                      : "瀏覽器的安全性設定限制了本編輯器的某些功能。您必須啟用安全性設定中的「執行ActiveX控制項與外掛程式」項目,否則本編輯器將會出現錯誤並缺少某些功能",\r
 BrowseServerBlocked : "無法開啟資源瀏覽器,請確定所有快顯視窗封鎖程式是否關閉",\r
 DialogBlocked          : "無法開啟對話視窗,請確定所有快顯視窗封鎖程式是否關閉",\r
-VisitLinkBlocked       : "無法開啟新視窗,請確定所有快顯視窗封鎖程式是否關閉",\r
 \r
 // Dialogs\r
 DlgBtnOK                       : "確定",\r
@@ -243,7 +229,7 @@ DlgLnkURL                   : "URL",
 DlgLnkAnchorSel                : "請選擇錨點",\r
 DlgLnkAnchorByName     : "依錨點名稱",\r
 DlgLnkAnchorById       : "依元件 ID",\r
-DlgLnkNoAnchors                : "(本文件尚無可用之錨點)",\r
+DlgLnkNoAnchors                : "<本文件尚無可用之錨點>",           //REVIEW : Change < and > with ( and )\r
 DlgLnkEMail                    : "電子郵件",\r
 DlgLnkEMailSubject     : "郵件主旨",\r
 DlgLnkEMailBody                : "郵件內容",\r
@@ -308,11 +294,6 @@ DlgTableCellSpace  : "間距",
 DlgTableCellPad                : "內距",\r
 DlgTableCaption                : "標題",\r
 DlgTableSummary                : "摘要",\r
-DlgTableHeaders                : "Headers",    //MISSING\r
-DlgTableHeadersNone            : "None",       //MISSING\r
-DlgTableHeadersColumn  : "First column",       //MISSING\r
-DlgTableHeadersRow             : "First Row",  //MISSING\r
-DlgTableHeadersBoth            : "Both",       //MISSING\r
 \r
 // Table Cell Dialog\r
 DlgCellTitle           : "儲存格屬性",\r
@@ -335,18 +316,12 @@ DlgCellVerAlignTop        : "靠上對齊",
 DlgCellVerAlignMiddle  : "置中",\r
 DlgCellVerAlignBottom  : "靠下對齊",\r
 DlgCellVerAlignBaseline        : "基準線",\r
-DlgCellType            : "儲存格類型",\r
-DlgCellTypeData                : "資料",\r
-DlgCellTypeHeader      : "標題",\r
 DlgCellRowSpan         : "合併列數",\r
 DlgCellCollSpan                : "合併欄数",\r
 DlgCellBackColor       : "背景顏色",\r
 DlgCellBorderColor     : "邊框顏色",\r
 DlgCellBtnSelect       : "請選擇…",\r
 \r
-// Find and Replace Dialog\r
-DlgFindAndReplaceTitle : "尋找與取代",\r
-\r
 // Find Dialog\r
 DlgFindTitle           : "尋找",\r
 DlgFindFindBtn         : "尋找",\r
@@ -369,9 +344,10 @@ PasteAsText                : "貼為純文字格式",
 PasteFromWord  : "自 Word 貼上",\r
 \r
 DlgPasteMsg2   : "請使用快捷鍵 (<strong>Ctrl+V</strong>) 貼到下方區域中並按下 <strong>確定</strong>",\r
-DlgPasteSec            : "因為瀏覽器的安全性設定,本編輯器無法直接存取您的剪貼簿資料,請您自行在本視窗進行貼上動作。",\r
+DlgPasteSec            : "Because of your browser security settings, the editor is not able to access your clipboard data directly. You are required to paste it again in this window.",       //MISSING\r
 DlgPasteIgnoreFont             : "移除字型設定",\r
 DlgPasteRemoveStyles   : "移除樣式設定",\r
+DlgPasteCleanBox               : "清除文字區域",\r
 \r
 // Color Picker\r
 ColorAutomatic : "自動",\r
@@ -524,16 +500,5 @@ DlgAboutAboutTab   : "關於",
 DlgAboutBrowserInfoTab : "瀏覽器資訊",\r
 DlgAboutLicenseTab     : "許可證",\r
 DlgAboutVersion                : "版本",\r
-DlgAboutInfo           : "想獲得更多資訊請至 ",\r
-\r
-// Div Dialog\r
-DlgDivGeneralTab       : "一般",\r
-DlgDivAdvancedTab      : "進階",\r
-DlgDivStyle            : "樣式",\r
-DlgDivInlineStyle      : "CSS 樣式",\r
-\r
-ScaytTitle                     : "SCAYT",      //MISSING\r
-ScaytTitleOptions      : "Options",    //MISSING\r
-ScaytTitleLangs                : "Languages",  //MISSING\r
-ScaytTitleAbout                : "About"       //MISSING\r
-};\r
+DlgAboutInfo           : "想獲得更多資訊請至 "\r
+};
\ No newline at end of file
index 1df2d0f..7ce1c1c 100644 (file)
@@ -1,6 +1,6 @@
 /*\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
  * height (FCKConfig.AutoGrowMax), based on its contents.\r
  */\r
 \r
-var FCKAutoGrow = {\r
-       MIN_HEIGHT : window.frameElement.offsetHeight,\r
+var FCKAutoGrow_Min = window.frameElement.offsetHeight ;\r
 \r
-       Check : function()\r
-       {\r
-               var delta = FCKAutoGrow.GetHeightDelta() ;\r
-               if ( delta != 0 )\r
-               {\r
-                       var newHeight = window.frameElement.offsetHeight + delta ;\r
-\r
-                       newHeight = FCKAutoGrow.GetEffectiveHeight( newHeight ) ;\r
+function FCKAutoGrow_Check()\r
+{\r
+       var oInnerDoc = FCK.EditorDocument ;\r
 \r
-                       if ( newHeight != window.frameElement.height )\r
-                       {\r
-                               window.frameElement.style.height = newHeight + "px" ;\r
-\r
-                               // Gecko browsers use an onresize handler to update the innermost\r
-                               // IFRAME's height. If the document is modified before the onresize\r
-                               // is triggered, the plugin will miscalculate the new height. Thus,\r
-                               // forcibly trigger onresize. #1336\r
-                               if ( typeof window.onresize == 'function' )\r
-                               {\r
-                                       window.onresize() ;\r
-                               }\r
-                       }\r
-               }\r
-       },\r
+       var iFrameHeight, iInnerHeight ;\r
 \r
-       CheckEditorStatus : function( sender, status )\r
+       if ( FCKBrowserInfo.IsIE )\r
        {\r
-               if ( status == FCK_STATUS_COMPLETE )\r
-                       FCKAutoGrow.Check() ;\r
-       },\r
-\r
-       GetEffectiveHeight : function( height )\r
+               iFrameHeight = FCK.EditorWindow.frameElement.offsetHeight ;\r
+               iInnerHeight = oInnerDoc.body.scrollHeight ;\r
+       }\r
+       else\r
        {\r
-               if ( height < FCKAutoGrow.MIN_HEIGHT )\r
-                       height = FCKAutoGrow.MIN_HEIGHT;\r
-               else\r
-               {\r
-                       var max = FCKConfig.AutoGrowMax;\r
-                       if ( max && max > 0 && height > max )\r
-                               height = max;\r
-               }\r
+               iFrameHeight = FCK.EditorWindow.innerHeight ;\r
+               iInnerHeight = oInnerDoc.body.offsetHeight ;\r
+       }\r
 \r
-               return height;\r
-       },\r
+       var iDiff = iInnerHeight - iFrameHeight ;\r
 \r
-       GetHeightDelta : function()\r
+       if ( iDiff != 0 )\r
        {\r
-               var oInnerDoc = FCK.EditorDocument ;\r
-\r
-               var iFrameHeight ;\r
-               var iInnerHeight ;\r
+               var iMainFrameSize = window.frameElement.offsetHeight ;\r
 \r
-               if ( FCKBrowserInfo.IsIE )\r
+               if ( iDiff > 0 && iMainFrameSize < FCKConfig.AutoGrowMax )\r
                {\r
-                       iFrameHeight = FCK.EditorWindow.frameElement.offsetHeight ;\r
-                       iInnerHeight = oInnerDoc.body.scrollHeight ;\r
+                       iMainFrameSize += iDiff ;\r
+                       if ( iMainFrameSize > FCKConfig.AutoGrowMax )\r
+                               iMainFrameSize = FCKConfig.AutoGrowMax ;\r
                }\r
-               else\r
+               else if ( iDiff < 0 && iMainFrameSize > FCKAutoGrow_Min )\r
                {\r
-                       iFrameHeight = FCK.EditorWindow.innerHeight ;\r
-                       iInnerHeight = oInnerDoc.body.offsetHeight +\r
-                               ( parseInt( FCKDomTools.GetCurrentElementStyle( oInnerDoc.body, 'margin-top' ), 10 ) || 0 ) +\r
-                               ( parseInt( FCKDomTools.GetCurrentElementStyle( oInnerDoc.body, 'margin-bottom' ), 10 ) || 0 ) ;\r
+                       iMainFrameSize += iDiff ;\r
+                       if ( iMainFrameSize < FCKAutoGrow_Min )\r
+                               iMainFrameSize = FCKAutoGrow_Min ;\r
                }\r
-\r
-               return iInnerHeight - iFrameHeight ;\r
-       },\r
-\r
-       SetListeners : function()\r
-       {\r
-               if ( FCK.EditMode != FCK_EDITMODE_WYSIWYG )\r
+               else\r
                        return ;\r
 \r
-               FCK.EditorWindow.attachEvent( 'onscroll', FCKAutoGrow.Check ) ;\r
-               FCK.EditorDocument.attachEvent( 'onkeyup', FCKAutoGrow.Check ) ;\r
+               window.frameElement.height = iMainFrameSize ;\r
        }\r
-};\r
+}\r
 \r
-FCK.AttachToOnSelectionChange( FCKAutoGrow.Check ) ;\r
+FCK.AttachToOnSelectionChange( FCKAutoGrow_Check ) ;\r
 \r
-if ( FCKBrowserInfo.IsIE )\r
-       FCK.Events.AttachEvent( 'OnAfterSetHTML', FCKAutoGrow.SetListeners ) ;\r
+function FCKAutoGrow_SetListeners()\r
+{\r
+       if ( FCK.EditMode != FCK_EDITMODE_WYSIWYG )\r
+               return ;\r
 \r
-FCK.Events.AttachEvent( 'OnStatusChange', FCKAutoGrow.CheckEditorStatus ) ;\r
+       FCK.EditorWindow.attachEvent( 'onscroll', FCKAutoGrow_Check ) ;\r
+       FCK.EditorDocument.attachEvent( 'onkeyup', FCKAutoGrow_Check ) ;\r
+}\r
+\r
+if ( FCKBrowserInfo.IsIE )\r
+{\r
+//     FCKAutoGrow_SetListeners() ;\r
+       FCK.Events.AttachEvent( 'OnAfterSetHTML', FCKAutoGrow_SetListeners ) ;\r
+}\r
+\r
+function FCKAutoGrow_CheckEditorStatus( sender, status )\r
+{\r
+       if ( status == FCK_STATUS_COMPLETE )\r
+               FCKAutoGrow_Check() ;\r
+}\r
+\r
+FCK.Events.AttachEvent( 'OnStatusChange', FCKAutoGrow_CheckEditorStatus ) ;
\ No newline at end of file
diff --git a/httemplate/elements/fckeditor/editor/plugins/bbcode/fckplugin.js b/httemplate/elements/fckeditor/editor/plugins/bbcode/fckplugin.js
deleted file mode 100644 (file)
index f9521dd..0000000
+++ /dev/null
@@ -1,123 +0,0 @@
-/*\r
- * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
- *\r
- * == BEGIN LICENSE ==\r
- *\r
- * Licensed under the terms of any of the following licenses at your\r
- * choice:\r
- *\r
- *  - GNU General Public License Version 2 or later (the "GPL")\r
- *    http://www.gnu.org/licenses/gpl.html\r
- *\r
- *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")\r
- *    http://www.gnu.org/licenses/lgpl.html\r
- *\r
- *  - Mozilla Public License Version 1.1 or later (the "MPL")\r
- *    http://www.mozilla.org/MPL/MPL-1.1.html\r
- *\r
- * == END LICENSE ==\r
- *\r
- * This is a sample implementation for a custom Data Processor for basic BBCode.\r
- */\r
-\r
-FCK.DataProcessor =\r
-{\r
-       /*\r
-        * Returns a string representing the HTML format of "data". The returned\r
-        * value will be loaded in the editor.\r
-        * The HTML must be from <html> to </html>, eventually including\r
-        * the DOCTYPE.\r
-        *     @param {String} data The data to be converted in the\r
-        *            DataProcessor specific format.\r
-        */\r
-       ConvertToHtml : function( data )\r
-       {\r
-               // Convert < and > to their HTML entities.\r
-        data = data.replace( /</g, '&lt;' ) ;\r
-        data = data.replace( />/g, '&gt;' ) ;\r
-\r
-        // Convert line breaks to <br>.\r
-        data = data.replace( /(?:\r\n|\n|\r)/g, '<br>' ) ;\r
-\r
-        // [url]\r
-        data = data.replace( /\[url\](.+?)\[\/url]/gi, '<a href="$1">$1</a>' ) ;\r
-        data = data.replace( /\[url\=([^\]]+)](.+?)\[\/url]/gi, '<a href="$1">$2</a>' ) ;\r
-\r
-        // [b]\r
-        data = data.replace( /\[b\](.+?)\[\/b]/gi, '<b>$1</b>' ) ;\r
-\r
-        // [i]\r
-        data = data.replace( /\[i\](.+?)\[\/i]/gi, '<i>$1</i>' ) ;\r
-\r
-        // [u]\r
-        data = data.replace( /\[u\](.+?)\[\/u]/gi, '<u>$1</u>' ) ;\r
-\r
-               return '<html><head><title></title></head><body>' + data + '</body></html>' ;\r
-       },\r
-\r
-       /*\r
-        * Converts a DOM (sub-)tree to a string in the data format.\r
-        *     @param {Object} rootNode The node that contains the DOM tree to be\r
-        *            converted to the data format.\r
-        *     @param {Boolean} excludeRoot Indicates that the root node must not\r
-        *            be included in the conversion, only its children.\r
-        *     @param {Boolean} format Indicates that the data must be formatted\r
-        *            for human reading. Not all Data Processors may provide it.\r
-        */\r
-       ConvertToDataFormat : function( rootNode, excludeRoot, ignoreIfEmptyParagraph, format )\r
-       {\r
-               var data = rootNode.innerHTML ;\r
-\r
-               // Convert <br> to line breaks.\r
-               data = data.replace( /<br(?=[ \/>]).*?>/gi, '\r\n') ;\r
-\r
-               // [url]\r
-               data = data.replace( /<a .*?href=(["'])(.+?)\1.*?>(.+?)<\/a>/gi, '[url=$2]$3[/url]') ;\r
-\r
-               // [b]\r
-               data = data.replace( /<(?:b|strong)>/gi, '[b]') ;\r
-               data = data.replace( /<\/(?:b|strong)>/gi, '[/b]') ;\r
-\r
-               // [i]\r
-               data = data.replace( /<(?:i|em)>/gi, '[i]') ;\r
-               data = data.replace( /<\/(?:i|em)>/gi, '[/i]') ;\r
-\r
-               // [u]\r
-               data = data.replace( /<u>/gi, '[u]') ;\r
-               data = data.replace( /<\/u>/gi, '[/u]') ;\r
-\r
-               // Remove remaining tags.\r
-               data = data.replace( /<[^>]+>/g, '') ;\r
-\r
-               return data ;\r
-       },\r
-\r
-       /*\r
-        * Makes any necessary changes to a piece of HTML for insertion in the\r
-        * editor selection position.\r
-        *     @param {String} html The HTML to be fixed.\r
-        */\r
-       FixHtml : function( html )\r
-       {\r
-               return html ;\r
-       }\r
-} ;\r
-\r
-// This Data Processor doesn't support <p>, so let's use <br>.\r
-FCKConfig.EnterMode = 'br' ;\r
-\r
-// To avoid pasting invalid markup (which is discarded in any case), let's\r
-// force pasting to plain text.\r
-FCKConfig.ForcePasteAsPlainText        = true ;\r
-\r
-// Rename the "Source" buttom to "BBCode".\r
-FCKToolbarItems.RegisterItem( 'Source', new FCKToolbarButton( 'Source', 'BBCode', null, FCK_TOOLBARITEM_ICONTEXT, true, true, 1 ) ) ;\r
-\r
-// Let's enforce the toolbar to the limits of this Data Processor. A custom\r
-// toolbar set may be defined in the configuration file with more or less entries.\r
-FCKConfig.ToolbarSets["Default"] = [\r
-       ['Source'],\r
-       ['Bold','Italic','Underline','-','Link'],\r
-       ['About']\r
-] ;\r
diff --git a/httemplate/elements/fckeditor/editor/plugins/dragresizetable/fckplugin.js b/httemplate/elements/fckeditor/editor/plugins/dragresizetable/fckplugin.js
deleted file mode 100644 (file)
index 87061ff..0000000
+++ /dev/null
@@ -1,529 +0,0 @@
-var FCKDragTableHandler =\r
-{\r
-       "_DragState" : 0,\r
-       "_LeftCell" : null,\r
-       "_RightCell" : null,\r
-       "_MouseMoveMode" : 0,   // 0 - find candidate cells for resizing, 1 - drag to resize\r
-       "_ResizeBar" : null,\r
-       "_OriginalX" : null,\r
-       "_MinimumX" : null,\r
-       "_MaximumX" : null,\r
-       "_LastX" : null,\r
-       "_TableMap" : null,\r
-       "_doc" : document,\r
-       "_IsInsideNode" : function( w, domNode, pos )\r
-       {\r
-               var myCoords = FCKTools.GetWindowPosition( w, domNode ) ;\r
-               var xMin = myCoords.x ;\r
-               var yMin = myCoords.y ;\r
-               var xMax = parseInt( xMin, 10 ) + parseInt( domNode.offsetWidth, 10 ) ;\r
-               var yMax = parseInt( yMin, 10 ) + parseInt( domNode.offsetHeight, 10 ) ;\r
-               if ( pos.x >= xMin && pos.x <= xMax && pos.y >= yMin && pos.y <= yMax )\r
-                       return true;\r
-               return false;\r
-       },\r
-       "_GetBorderCells" : function( w, tableNode, tableMap, mouse )\r
-       {\r
-               // Enumerate all the cells in the table.\r
-               var cells = [] ;\r
-               for ( var i = 0 ; i < tableNode.rows.length ; i++ )\r
-               {\r
-                       var r = tableNode.rows[i] ;\r
-                       for ( var j = 0 ; j < r.cells.length ; j++ )\r
-                               cells.push( r.cells[j] ) ;\r
-               }\r
-\r
-               if ( cells.length < 1 )\r
-                       return null ;\r
-\r
-               // Get the cells whose right or left border is nearest to the mouse cursor's x coordinate.\r
-               var minRxDist = null ;\r
-               var lxDist = null ;\r
-               var minYDist = null ;\r
-               var rbCell = null ;\r
-               var lbCell = null ;\r
-               for ( var i = 0 ; i < cells.length ; i++ )\r
-               {\r
-                       var pos = FCKTools.GetWindowPosition( w, cells[i] ) ;\r
-                       var rightX = pos.x + parseInt( cells[i].clientWidth, 10 ) ;\r
-                       var rxDist = mouse.x - rightX ;\r
-                       var yDist = mouse.y - ( pos.y + ( cells[i].clientHeight / 2 ) ) ;\r
-                       if ( minRxDist == null ||\r
-                                       ( Math.abs( rxDist ) <= Math.abs( minRxDist ) &&\r
-                                         ( minYDist == null || Math.abs( yDist ) <= Math.abs( minYDist ) ) ) )\r
-                       {\r
-                               minRxDist = rxDist ;\r
-                               minYDist = yDist ;\r
-                               rbCell = cells[i] ;\r
-                       }\r
-               }\r
-               /*\r
-               var rowNode = FCKTools.GetElementAscensor( rbCell, "tr" ) ;\r
-               var cellIndex = rbCell.cellIndex + 1 ;\r
-               if ( cellIndex >= rowNode.cells.length )\r
-                       return null ;\r
-               lbCell = rowNode.cells.item( cellIndex ) ;\r
-               */\r
-               var rowIdx = rbCell.parentNode.rowIndex ;\r
-               var colIdx = FCKTableHandler._GetCellIndexSpan( tableMap, rowIdx, rbCell ) ;\r
-               var colSpan = isNaN( rbCell.colSpan ) ? 1 : rbCell.colSpan ;\r
-               lbCell = tableMap[rowIdx][colIdx + colSpan] ;\r
-\r
-               if ( ! lbCell )\r
-                       return null ;\r
-\r
-               // Abort if too far from the border.\r
-               lxDist = mouse.x - FCKTools.GetWindowPosition( w, lbCell ).x ;\r
-               if ( lxDist < 0 && minRxDist < 0 && minRxDist < -2 )\r
-                       return null ;\r
-               if ( lxDist > 0 && minRxDist > 0 && lxDist > 3 )\r
-                       return null ;\r
-\r
-               return { "leftCell" : rbCell, "rightCell" : lbCell } ;\r
-       },\r
-       "_GetResizeBarPosition" : function()\r
-       {\r
-               var row = FCKTools.GetElementAscensor( this._RightCell, "tr" ) ;\r
-               return FCKTableHandler._GetCellIndexSpan( this._TableMap, row.rowIndex, this._RightCell ) ;\r
-       },\r
-       "_ResizeBarMouseDownListener" : function( evt )\r
-       {\r
-               if ( FCKDragTableHandler._LeftCell )\r
-                       FCKDragTableHandler._MouseMoveMode = 1 ;\r
-               if ( FCKBrowserInfo.IsIE )\r
-                       FCKDragTableHandler._ResizeBar.filters.item("DXImageTransform.Microsoft.Alpha").opacity = 50 ;\r
-               else\r
-                       FCKDragTableHandler._ResizeBar.style.opacity = 0.5 ;\r
-               FCKDragTableHandler._OriginalX = evt.clientX ;\r
-\r
-               // Calculate maximum and minimum x-coordinate delta.\r
-               var borderIndex = FCKDragTableHandler._GetResizeBarPosition() ;\r
-               var offset = FCKDragTableHandler._GetIframeOffset();\r
-               var table = FCKTools.GetElementAscensor( FCKDragTableHandler._LeftCell, "table" );\r
-               var minX = null ;\r
-               var maxX = null ;\r
-               for ( var r = 0 ; r < FCKDragTableHandler._TableMap.length ; r++ )\r
-               {\r
-                       var leftCell = FCKDragTableHandler._TableMap[r][borderIndex - 1] ;\r
-                       var rightCell = FCKDragTableHandler._TableMap[r][borderIndex] ;\r
-                       var leftPosition = FCKTools.GetWindowPosition( FCK.EditorWindow, leftCell ) ;\r
-                       var rightPosition = FCKTools.GetWindowPosition( FCK.EditorWindow, rightCell ) ;\r
-                       var leftPadding = FCKDragTableHandler._GetCellPadding( table, leftCell ) ;\r
-                       var rightPadding = FCKDragTableHandler._GetCellPadding( table, rightCell ) ;\r
-                       if ( minX == null || leftPosition.x + leftPadding > minX )\r
-                               minX = leftPosition.x + leftPadding ;\r
-                       if ( maxX == null || rightPosition.x + rightCell.clientWidth - rightPadding < maxX )\r
-                               maxX = rightPosition.x + rightCell.clientWidth - rightPadding ;\r
-               }\r
-\r
-               FCKDragTableHandler._MinimumX = minX + offset.x ;\r
-               FCKDragTableHandler._MaximumX = maxX + offset.x ;\r
-               FCKDragTableHandler._LastX = null ;\r
-\r
-               if (evt.preventDefault)\r
-                       evt.preventDefault();\r
-               else\r
-                       evt.returnValue = false;\r
-       },\r
-       "_ResizeBarMouseUpListener" : function( evt )\r
-       {\r
-               FCKDragTableHandler._MouseMoveMode = 0 ;\r
-               FCKDragTableHandler._HideResizeBar() ;\r
-\r
-               if ( FCKDragTableHandler._LastX == null )\r
-                       return ;\r
-\r
-               // Calculate the delta value.\r
-               var deltaX = FCKDragTableHandler._LastX - FCKDragTableHandler._OriginalX ;\r
-\r
-               // Then, build an array of current column width values.\r
-               // This algorithm can be very slow if the cells have insane colSpan values. (e.g. colSpan=1000).\r
-               var table = FCKTools.GetElementAscensor( FCKDragTableHandler._LeftCell, "table" ) ;\r
-               var colArray = [] ;\r
-               var tableMap = FCKDragTableHandler._TableMap ;\r
-               for ( var i = 0 ; i < tableMap.length ; i++ )\r
-               {\r
-                       for ( var j = 0 ; j < tableMap[i].length ; j++ )\r
-                       {\r
-                               var cell = tableMap[i][j] ;\r
-                               var width = FCKDragTableHandler._GetCellWidth( table, cell ) ;\r
-                               var colSpan = isNaN( cell.colSpan) ? 1 : cell.colSpan ;\r
-                               if ( colArray.length <= j )\r
-                                       colArray.push( { width : width / colSpan, colSpan : colSpan } ) ;\r
-                               else\r
-                               {\r
-                                       var guessItem = colArray[j] ;\r
-                                       if ( guessItem.colSpan > colSpan )\r
-                                       {\r
-                                               guessItem.width = width / colSpan ;\r
-                                               guessItem.colSpan = colSpan ;\r
-                                       }\r
-                               }\r
-                       }\r
-               }\r
-\r
-               // Find out the equivalent column index of the two cells selected for resizing.\r
-               colIndex = FCKDragTableHandler._GetResizeBarPosition() ;\r
-\r
-               // Note that colIndex must be at least 1 here, so it's safe to subtract 1 from it.\r
-               colIndex-- ;\r
-\r
-               // Modify the widths in the colArray according to the mouse coordinate delta value.\r
-               colArray[colIndex].width += deltaX ;\r
-               colArray[colIndex + 1].width -= deltaX ;\r
-\r
-               // Clear all cell widths, delete all <col> elements from the table.\r
-               for ( var r = 0 ; r < table.rows.length ; r++ )\r
-               {\r
-                       var row = table.rows.item( r ) ;\r
-                       for ( var c = 0 ; c < row.cells.length ; c++ )\r
-                       {\r
-                               var cell = row.cells.item( c ) ;\r
-                               cell.width = "" ;\r
-                               cell.style.width = "" ;\r
-                       }\r
-               }\r
-               var colElements = table.getElementsByTagName( "col" ) ;\r
-               for ( var i = colElements.length - 1 ; i >= 0 ; i-- )\r
-                       colElements[i].parentNode.removeChild( colElements[i] ) ;\r
-\r
-               // Set new cell widths.\r
-               var processedCells = [] ;\r
-               for ( var i = 0 ; i < tableMap.length ; i++ )\r
-               {\r
-                       for ( var j = 0 ; j < tableMap[i].length ; j++ )\r
-                       {\r
-                               var cell = tableMap[i][j] ;\r
-                               if ( cell._Processed )\r
-                                       continue ;\r
-                               if ( tableMap[i][j-1] != cell )\r
-                                       cell.width = colArray[j].width ;\r
-                               else\r
-                                       cell.width = parseInt( cell.width, 10 ) + parseInt( colArray[j].width, 10 ) ;\r
-                               if ( tableMap[i][j+1] != cell )\r
-                               {\r
-                                       processedCells.push( cell ) ;\r
-                                       cell._Processed = true ;\r
-                               }\r
-                       }\r
-               }\r
-               for ( var i = 0 ; i < processedCells.length ; i++ )\r
-               {\r
-                       if ( FCKBrowserInfo.IsIE )\r
-                               processedCells[i].removeAttribute( '_Processed' ) ;\r
-                       else\r
-                               delete processedCells[i]._Processed ;\r
-               }\r
-\r
-               FCKDragTableHandler._LastX = null ;\r
-       },\r
-       "_ResizeBarMouseMoveListener" : function( evt )\r
-       {\r
-               if ( FCKDragTableHandler._MouseMoveMode == 0 )\r
-                       return FCKDragTableHandler._MouseFindHandler( FCK, evt ) ;\r
-               else\r
-                       return FCKDragTableHandler._MouseDragHandler( FCK, evt ) ;\r
-       },\r
-       // Calculate the padding of a table cell.\r
-       // It returns the value of paddingLeft + paddingRight of a table cell.\r
-       // This function is used, in part, to calculate the width parameter that should be used for setting cell widths.\r
-       // The equation in question is clientWidth = paddingLeft + paddingRight + width.\r
-       // So that width = clientWidth - paddingLeft - paddingRight.\r
-       // The return value of this function must be pixel accurate acorss all supported browsers, so be careful if you need to modify it.\r
-       "_GetCellPadding" : function( table, cell )\r
-       {\r
-               var attrGuess = parseInt( table.cellPadding, 10 ) * 2 ;\r
-               var cssGuess = null ;\r
-               if ( typeof( window.getComputedStyle ) == "function" )\r
-               {\r
-                       var styleObj = window.getComputedStyle( cell, null ) ;\r
-                       cssGuess = parseInt( styleObj.getPropertyValue( "padding-left" ), 10 ) +\r
-                               parseInt( styleObj.getPropertyValue( "padding-right" ), 10 ) ;\r
-               }\r
-               else\r
-                       cssGuess = parseInt( cell.currentStyle.paddingLeft, 10 ) + parseInt (cell.currentStyle.paddingRight, 10 ) ;\r
-\r
-               var cssRuntime = cell.style.padding ;\r
-               if ( isFinite( cssRuntime ) )\r
-                       cssGuess = parseInt( cssRuntime, 10 ) * 2 ;\r
-               else\r
-               {\r
-                       cssRuntime = cell.style.paddingLeft ;\r
-                       if ( isFinite( cssRuntime ) )\r
-                               cssGuess = parseInt( cssRuntime, 10 ) ;\r
-                       cssRuntime = cell.style.paddingRight ;\r
-                       if ( isFinite( cssRuntime ) )\r
-                               cssGuess += parseInt( cssRuntime, 10 ) ;\r
-               }\r
-\r
-               attrGuess = parseInt( attrGuess, 10 ) ;\r
-               cssGuess = parseInt( cssGuess, 10 ) ;\r
-               if ( isNaN( attrGuess ) )\r
-                       attrGuess = 0 ;\r
-               if ( isNaN( cssGuess ) )\r
-                       cssGuess = 0 ;\r
-               return Math.max( attrGuess, cssGuess ) ;\r
-       },\r
-       // Calculate the real width of the table cell.\r
-       // The real width of the table cell is the pixel width that you can set to the width attribute of the table cell and after\r
-       // that, the table cell should be of exactly the same width as before.\r
-       // The real width of a table cell can be calculated as:\r
-       // width = clientWidth - paddingLeft - paddingRight.\r
-       "_GetCellWidth" : function( table, cell )\r
-       {\r
-               var clientWidth = cell.clientWidth ;\r
-               if ( isNaN( clientWidth ) )\r
-                       clientWidth = 0 ;\r
-               return clientWidth - this._GetCellPadding( table, cell ) ;\r
-       },\r
-       "MouseMoveListener" : function( FCK, evt )\r
-       {\r
-               if ( FCKDragTableHandler._MouseMoveMode == 0 )\r
-                       return FCKDragTableHandler._MouseFindHandler( FCK, evt ) ;\r
-               else\r
-                       return FCKDragTableHandler._MouseDragHandler( FCK, evt ) ;\r
-       },\r
-       "_MouseFindHandler" : function( FCK, evt )\r
-       {\r
-               if ( FCK.MouseDownFlag )\r
-                       return ;\r
-               var node = evt.srcElement || evt.target ;\r
-               try\r
-               {\r
-                       if ( ! node || node.nodeType != 1 )\r
-                       {\r
-                               this._HideResizeBar() ;\r
-                               return ;\r
-                       }\r
-               }\r
-               catch ( e )\r
-               {\r
-                       this._HideResizeBar() ;\r
-                       return ;\r
-               }\r
-\r
-               // Since this function might be called from the editing area iframe or the outer fckeditor iframe,\r
-               // the mouse point coordinates from evt.clientX/Y can have different reference points.\r
-               // We need to resolve the mouse pointer position relative to the editing area iframe.\r
-               var mouseX = evt.clientX ;\r
-               var mouseY = evt.clientY ;\r
-               if ( FCKTools.GetElementDocument( node ) == document )\r
-               {\r
-                       var offset = this._GetIframeOffset() ;\r
-                       mouseX -= offset.x ;\r
-                       mouseY -= offset.y ;\r
-               }\r
-\r
-\r
-               if ( this._ResizeBar && this._LeftCell )\r
-               {\r
-                       var leftPos = FCKTools.GetWindowPosition( FCK.EditorWindow, this._LeftCell ) ;\r
-                       var rightPos = FCKTools.GetWindowPosition( FCK.EditorWindow, this._RightCell ) ;\r
-                       var rxDist = mouseX - ( leftPos.x + this._LeftCell.clientWidth ) ;\r
-                       var lxDist = mouseX - rightPos.x ;\r
-                       var inRangeFlag = false ;\r
-                       if ( lxDist >= 0 && rxDist <= 0 )\r
-                               inRangeFlag = true ;\r
-                       else if ( rxDist > 0 && lxDist <= 3 )\r
-                               inRangeFlag = true ;\r
-                       else if ( lxDist < 0 && rxDist >= -2 )\r
-                               inRangeFlag = true ;\r
-                       if ( inRangeFlag )\r
-                       {\r
-                               this._ShowResizeBar( FCK.EditorWindow,\r
-                                       FCKTools.GetElementAscensor( this._LeftCell, "table" ),\r
-                                       { "x" : mouseX, "y" : mouseY } ) ;\r
-                               return ;\r
-                       }\r
-               }\r
-\r
-               var tagName = node.tagName.toLowerCase() ;\r
-               if ( tagName != "table" && tagName != "td" && tagName != "th" )\r
-               {\r
-                       if ( this._LeftCell )\r
-                               this._LeftCell = this._RightCell = this._TableMap = null ;\r
-                       this._HideResizeBar() ;\r
-                       return ;\r
-               }\r
-               node = FCKTools.GetElementAscensor( node, "table" ) ;\r
-               var tableMap = FCKTableHandler._CreateTableMap( node ) ;\r
-               var cellTuple = this._GetBorderCells( FCK.EditorWindow, node, tableMap, { "x" : mouseX, "y" : mouseY } ) ;\r
-\r
-               if ( cellTuple == null )\r
-               {\r
-                       if ( this._LeftCell )\r
-                               this._LeftCell = this._RightCell = this._TableMap = null ;\r
-                       this._HideResizeBar() ;\r
-               }\r
-               else\r
-               {\r
-                       this._LeftCell = cellTuple["leftCell"] ;\r
-                       this._RightCell = cellTuple["rightCell"] ;\r
-                       this._TableMap = tableMap ;\r
-                       this._ShowResizeBar( FCK.EditorWindow,\r
-                                       FCKTools.GetElementAscensor( this._LeftCell, "table" ),\r
-                                       { "x" : mouseX, "y" : mouseY } ) ;\r
-               }\r
-       },\r
-       "_MouseDragHandler" : function( FCK, evt )\r
-       {\r
-               var mouse = { "x" : evt.clientX, "y" : evt.clientY } ;\r
-\r
-               // Convert mouse coordinates in reference to the outer iframe.\r
-               var node = evt.srcElement || evt.target ;\r
-               if ( FCKTools.GetElementDocument( node ) == FCK.EditorDocument )\r
-               {\r
-                       var offset = this._GetIframeOffset() ;\r
-                       mouse.x += offset.x ;\r
-                       mouse.y += offset.y ;\r
-               }\r
-\r
-               // Calculate the mouse position delta and see if we've gone out of range.\r
-               if ( mouse.x >= this._MaximumX - 5 )\r
-                       mouse.x = this._MaximumX - 5 ;\r
-               if ( mouse.x <= this._MinimumX + 5 )\r
-                       mouse.x = this._MinimumX + 5 ;\r
-\r
-               var docX = mouse.x + FCKTools.GetScrollPosition( window ).X ;\r
-               this._ResizeBar.style.left = ( docX - this._ResizeBar.offsetWidth / 2 ) + "px" ;\r
-               this._LastX = mouse.x ;\r
-       },\r
-       "_ShowResizeBar" : function( w, table, mouse )\r
-       {\r
-               if ( this._ResizeBar == null )\r
-               {\r
-                       this._ResizeBar = this._doc.createElement( "div" ) ;\r
-                       var paddingBar = this._ResizeBar ;\r
-                       var paddingStyles = { 'position' : 'absolute', 'cursor' : 'e-resize' } ;\r
-                       if ( FCKBrowserInfo.IsIE )\r
-                               paddingStyles.filter = "progid:DXImageTransform.Microsoft.Alpha(opacity=10,enabled=true)" ;\r
-                       else\r
-                               paddingStyles.opacity = 0.10 ;\r
-                       FCKDomTools.SetElementStyles( paddingBar, paddingStyles ) ;\r
-                       this._avoidStyles( paddingBar );\r
-                       paddingBar.setAttribute('_fcktemp', true);\r
-                       this._doc.body.appendChild( paddingBar ) ;\r
-                       FCKTools.AddEventListener( paddingBar, "mousemove", this._ResizeBarMouseMoveListener ) ;\r
-                       FCKTools.AddEventListener( paddingBar, "mousedown", this._ResizeBarMouseDownListener ) ;\r
-                       FCKTools.AddEventListener( document, "mouseup", this._ResizeBarMouseUpListener ) ;\r
-                       FCKTools.AddEventListener( FCK.EditorDocument, "mouseup", this._ResizeBarMouseUpListener ) ;\r
-\r
-                       // IE doesn't let the tranparent part of the padding block to receive mouse events unless there's something inside.\r
-                       // So we need to create a spacer image to fill the block up.\r
-                       var filler = this._doc.createElement( "img" ) ;\r
-                       filler.setAttribute('_fcktemp', true);\r
-                       filler.border = 0 ;\r
-                       filler.src = FCKConfig.BasePath + "images/spacer.gif" ;\r
-                       filler.style.position = "absolute" ;\r
-                       paddingBar.appendChild( filler ) ;\r
-\r
-                       // Disable drag and drop, and selection for the filler image.\r
-                       var disabledListener = function( evt )\r
-                       {\r
-                               if ( evt.preventDefault )\r
-                                       evt.preventDefault() ;\r
-                               else\r
-                                       evt.returnValue = false ;\r
-                       }\r
-                       FCKTools.AddEventListener( filler, "dragstart", disabledListener ) ;\r
-                       FCKTools.AddEventListener( filler, "selectstart", disabledListener ) ;\r
-               }\r
-\r
-               var paddingBar = this._ResizeBar ;\r
-               var offset = this._GetIframeOffset() ;\r
-               var tablePos = this._GetTablePosition( w, table ) ;\r
-               var barHeight = table.offsetHeight ;\r
-               var barTop = offset.y + tablePos.y ;\r
-               // Do not let the resize bar intrude into the toolbar area.\r
-               if ( tablePos.y < 0 )\r
-               {\r
-                       barHeight += tablePos.y ;\r
-                       barTop -= tablePos.y ;\r
-               }\r
-               var bw = parseInt( table.border, 10 ) ;\r
-               if ( isNaN( bw ) )\r
-                       bw = 0 ;\r
-               var cs = parseInt( table.cellSpacing, 10 ) ;\r
-               if ( isNaN( cs ) )\r
-                       cs = 0 ;\r
-               var barWidth = Math.max( bw+100, cs+100 ) ;\r
-               var paddingStyles =\r
-               {\r
-                       'top'           : barTop + 'px',\r
-                       'height'        : barHeight + 'px',\r
-                       'width'         : barWidth + 'px',\r
-                       'left'          : ( offset.x + mouse.x + FCKTools.GetScrollPosition( w ).X - barWidth / 2 ) + 'px'\r
-               } ;\r
-               if ( FCKBrowserInfo.IsIE )\r
-                       paddingBar.filters.item("DXImageTransform.Microsoft.Alpha").opacity = 10 ;\r
-               else\r
-                       paddingStyles.opacity = 0.1 ;\r
-\r
-               FCKDomTools.SetElementStyles( paddingBar, paddingStyles ) ;\r
-               var filler = paddingBar.getElementsByTagName( "img" )[0] ;\r
-\r
-               FCKDomTools.SetElementStyles( filler,\r
-                       {\r
-                               width   : paddingBar.offsetWidth + 'px',\r
-                               height  : barHeight + 'px'\r
-                       } ) ;\r
-\r
-               barWidth = Math.max( bw, cs, 3 ) ;\r
-               var visibleBar = null ;\r
-               if ( paddingBar.getElementsByTagName( "div" ).length < 1 )\r
-               {\r
-                       visibleBar = this._doc.createElement( "div" ) ;\r
-                       this._avoidStyles( visibleBar );\r
-                       visibleBar.setAttribute('_fcktemp', true);\r
-                       paddingBar.appendChild( visibleBar ) ;\r
-               }\r
-               else\r
-                       visibleBar = paddingBar.getElementsByTagName( "div" )[0] ;\r
-\r
-               FCKDomTools.SetElementStyles( visibleBar,\r
-                       {\r
-                               position                : 'absolute',\r
-                               backgroundColor : 'blue',\r
-                               width                   : barWidth + 'px',\r
-                               height                  : barHeight + 'px',\r
-                               left                    : '50px',\r
-                               top                             : '0px'\r
-                       } ) ;\r
-       },\r
-       "_HideResizeBar" : function()\r
-       {\r
-               if ( this._ResizeBar )\r
-                       // IE bug: display : none does not hide the resize bar for some reason.\r
-                       // so set the position to somewhere invisible.\r
-                       FCKDomTools.SetElementStyles( this._ResizeBar,\r
-                               {\r
-                                       top             : '-100000px',\r
-                                       left    : '-100000px'\r
-                               } ) ;\r
-       },\r
-       "_GetIframeOffset" : function ()\r
-       {\r
-               return FCKTools.GetDocumentPosition( window, FCK.EditingArea.IFrame ) ;\r
-       },\r
-       "_GetTablePosition" : function ( w, table )\r
-       {\r
-               return FCKTools.GetWindowPosition( w, table ) ;\r
-       },\r
-       "_avoidStyles" : function( element )\r
-       {\r
-               FCKDomTools.SetElementStyles( element,\r
-                       {\r
-                               padding         : '0',\r
-                               backgroundImage : 'none',\r
-                               border          : '0'\r
-                       } ) ;\r
-       },\r
-       "Reset" : function()\r
-       {\r
-               FCKDragTableHandler._LeftCell = FCKDragTableHandler._RightCell = FCKDragTableHandler._TableMap = null ;\r
-       }\r
-\r
-};\r
-\r
-FCK.Events.AttachEvent( "OnMouseMove", FCKDragTableHandler.MouseMoveListener ) ;\r
-FCK.Events.AttachEvent( "OnAfterSetHTML", FCKDragTableHandler.Reset ) ;\r
index df8c563..a334206 100644 (file)
@@ -1,7 +1,7 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">\r
 <!--\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
                <title>Placeholder Properties</title>\r
                <meta http-equiv="Content-Type" content="text/html; charset=utf-8">\r
                <meta content="noindex, nofollow" name="robots">\r
-               <script src="../../dialog/common/fck_dialog_common.js" type="text/javascript"></script>\r
                <script language="javascript">\r
 \r
-var dialog = window.parent ;\r
-var oEditor = dialog.InnerDialogLoaded() ;\r
+var oEditor = window.parent.InnerDialogLoaded() ;\r
 var FCKLang = oEditor.FCKLang ;\r
 var FCKPlaceholders = oEditor.FCKPlaceholders ;\r
 \r
@@ -42,13 +40,10 @@ window.onload = function ()
        LoadSelected() ;\r
 \r
        // Show the "Ok" button.\r
-       dialog.SetOkButton( true ) ;\r
-\r
-       // Select text field on load.\r
-       SelectField( 'txtName' ) ;\r
+       window.parent.SetOkButton( true ) ;\r
 }\r
 \r
-var eSelected = dialog.Selection.GetSelectedElement() ;\r
+var eSelected = oEditor.FCKSelection.GetSelectedElement() ;\r
 \r
 function LoadSelected()\r
 {\r
@@ -102,4 +97,4 @@ function Ok()
                        </tr>\r
                </table>\r
        </body>\r
-</html>\r
+</html>
\ No newline at end of file
index ec4e1a5..26489b8 100644 (file)
@@ -1,6 +1,6 @@
 /*\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
@@ -22,7 +22,7 @@
  */\r
 \r
 // Register the related command.\r
-FCKCommands.RegisterCommand( 'Placeholder', new FCKDialogCommand( 'Placeholder', FCKLang.PlaceholderDlgTitle, FCKPlugins.Items['placeholder'].Path + 'fck_placeholder.html', 340, 160 ) ) ;\r
+FCKCommands.RegisterCommand( 'Placeholder', new FCKDialogCommand( 'Placeholder', FCKLang.PlaceholderDlgTitle, FCKPlugins.Items['placeholder'].Path + 'fck_placeholder.html', 340, 170 ) ) ;\r
 \r
 // Create the "Plaholder" toolbar button.\r
 var oPlaceholderItem = new FCKToolbarButton( 'Placeholder', FCKLang.PlaceholderBtn ) ;\r
@@ -37,7 +37,7 @@ var FCKPlaceholders = new Object() ;
 // Add a new placeholder at the actual selection.\r
 FCKPlaceholders.Add = function( name )\r
 {\r
-       var oSpan = FCK.InsertElement( 'span' ) ;\r
+       var oSpan = FCK.CreateElement( 'SPAN' ) ;\r
        this.SetupSpan( oSpan, name ) ;\r
 }\r
 \r
@@ -184,4 +184,4 @@ FCKXHtml.TagProcessors['span'] = function( node, htmlNode )
                FCKXHtml._AppendChildNodes( node, htmlNode, false ) ;\r
 \r
        return node ;\r
-}\r
+}
\ No newline at end of file
index aad19ba..a666f8b 100644 (file)
@@ -1,6 +1,6 @@
 /*\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
@@ -24,4 +24,4 @@ FCKLang.PlaceholderBtn                        = 'Einfügen/editieren Platzhalter' ;
 FCKLang.PlaceholderDlgTitle            = 'Platzhalter Eigenschaften' ;\r
 FCKLang.PlaceholderDlgName             = 'Platzhalter Name' ;\r
 FCKLang.PlaceholderErrNoName   = 'Bitte den Namen des Platzhalters schreiben' ;\r
-FCKLang.PlaceholderErrNameInUse        = 'Der angegebene Namen ist schon in Gebrauch' ;\r
+FCKLang.PlaceholderErrNameInUse        = 'Der angegebene Namen ist schon in Gebrauch' ;
\ No newline at end of file
index d716718..290a3fb 100644 (file)
@@ -1,6 +1,6 @@
 /*\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
@@ -24,4 +24,4 @@ FCKLang.PlaceholderBtn                        = 'Insert/Edit Placeholder' ;
 FCKLang.PlaceholderDlgTitle            = 'Placeholder Properties' ;\r
 FCKLang.PlaceholderDlgName             = 'Placeholder Name' ;\r
 FCKLang.PlaceholderErrNoName   = 'Please type the placeholder name' ;\r
-FCKLang.PlaceholderErrNameInUse        = 'The specified name is already in use' ;\r
+FCKLang.PlaceholderErrNameInUse        = 'The specified name is already in use' ;
\ No newline at end of file
diff --git a/httemplate/elements/fckeditor/editor/plugins/placeholder/lang/es.js b/httemplate/elements/fckeditor/editor/plugins/placeholder/lang/es.js
deleted file mode 100644 (file)
index eaf4b72..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-/*\r
- * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
- *\r
- * == BEGIN LICENSE ==\r
- *\r
- * Licensed under the terms of any of the following licenses at your\r
- * choice:\r
- *\r
- *  - GNU General Public License Version 2 or later (the "GPL")\r
- *    http://www.gnu.org/licenses/gpl.html\r
- *\r
- *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")\r
- *    http://www.gnu.org/licenses/lgpl.html\r
- *\r
- *  - Mozilla Public License Version 1.1 or later (the "MPL")\r
- *    http://www.mozilla.org/MPL/MPL-1.1.html\r
- *\r
- * == END LICENSE ==\r
- *\r
- * Placholder Spanish language file.\r
- */\r
-FCKLang.PlaceholderBtn                 = 'Insertar/Editar contenedor' ;\r
-FCKLang.PlaceholderDlgTitle            = 'Propiedades del contenedor ' ;\r
-FCKLang.PlaceholderDlgName             = 'Nombre de contenedor' ;\r
-FCKLang.PlaceholderErrNoName   = 'Por favor escriba el nombre de contenedor' ;\r
-FCKLang.PlaceholderErrNameInUse        = 'El nombre especificado ya esta en uso' ;\r
index 558793b..f5ac26e 100644 (file)
@@ -1,6 +1,6 @@
 /*\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
index ac0df55..51d75c0 100644 (file)
@@ -1,6 +1,6 @@
 /*\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
index 40e221b..bc55b38 100644 (file)
@@ -1,6 +1,6 @@
 /*\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
@@ -24,4 +24,4 @@ FCKLang.PlaceholderBtn                        = 'Wstaw/Edytuj nagłówek' ;
 FCKLang.PlaceholderDlgTitle            = 'Właśności nagłówka' ;\r
 FCKLang.PlaceholderDlgName             = 'Nazwa nagłówka' ;\r
 FCKLang.PlaceholderErrNoName   = 'Proszę wprowadzić nazwę nagłówka' ;\r
-FCKLang.PlaceholderErrNameInUse        = 'Podana nazwa jest już w użyciu' ;\r
+FCKLang.PlaceholderErrNameInUse        = 'Podana nazwa jest już w użyciu' ;
\ No newline at end of file
index 23f5cab..cd25b6a 100644 (file)
@@ -1,6 +1,6 @@
 /*\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
index 0a2f76a..88dac9c 100644 (file)
@@ -1,6 +1,6 @@
 /*\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
  * == END LICENSE ==\r
  *\r
  * This plugin register the required Toolbar items to be able to insert the\r
- * table commands in the toolbar.\r
+ * toolbar commands in the toolbar.\r
  */\r
 \r
-FCKToolbarItems.RegisterItem( 'TableInsertRowAfter'            , new FCKToolbarButton( 'TableInsertRowAfter'   , FCKLang.InsertRowAfter, null, null, null, true, 62 ) ) ;\r
-FCKToolbarItems.RegisterItem( 'TableDeleteRows'                , new FCKToolbarButton( 'TableDeleteRows'       , FCKLang.DeleteRows, null, null, null, true, 63 ) ) ;\r
-FCKToolbarItems.RegisterItem( 'TableInsertColumnAfter' , new FCKToolbarButton( 'TableInsertColumnAfter'        , FCKLang.InsertColumnAfter, null, null, null, true, 64 ) ) ;\r
-FCKToolbarItems.RegisterItem( 'TableDeleteColumns'     , new FCKToolbarButton( 'TableDeleteColumns', FCKLang.DeleteColumns, null, null, null, true, 65 ) ) ;\r
-FCKToolbarItems.RegisterItem( 'TableInsertCellAfter'           , new FCKToolbarButton( 'TableInsertCellAfter'  , FCKLang.InsertCellAfter, null, null, null, true, 58 ) ) ;\r
-FCKToolbarItems.RegisterItem( 'TableDeleteCells'       , new FCKToolbarButton( 'TableDeleteCells'      , FCKLang.DeleteCells, null, null, null, true, 59 ) ) ;\r
-FCKToolbarItems.RegisterItem( 'TableMergeCells'                , new FCKToolbarButton( 'TableMergeCells'       , FCKLang.MergeCells, null, null, null, true, 60 ) ) ;\r
-FCKToolbarItems.RegisterItem( 'TableHorizontalSplitCell'               , new FCKToolbarButton( 'TableHorizontalSplitCell'      , FCKLang.SplitCell, null, null, null, true, 61 ) ) ;\r
-FCKToolbarItems.RegisterItem( 'TableCellProp'          , new FCKToolbarButton( 'TableCellProp' , FCKLang.CellProperties, null, null, null, true, 57 ) ) ;\r
+FCKToolbarItems.RegisterItem( 'TableInsertRow'         , new FCKToolbarButton( 'TableInsertRow'        , FCKLang.InsertRow, null, null, null, null, 62 ) ) ;\r
+FCKToolbarItems.RegisterItem( 'TableDeleteRows'                , new FCKToolbarButton( 'TableDeleteRows'       , FCKLang.DeleteRows, null, null, null, null, 63 ) ) ;\r
+FCKToolbarItems.RegisterItem( 'TableInsertColumn'      , new FCKToolbarButton( 'TableInsertColumn'     , FCKLang.InsertColumn, null, null, null, null, 64 ) ) ;\r
+FCKToolbarItems.RegisterItem( 'TableDeleteColumns'     , new FCKToolbarButton( 'TableDeleteColumns', FCKLang.DeleteColumns, null, null, null, null, 65 ) ) ;\r
+FCKToolbarItems.RegisterItem( 'TableInsertCell'                , new FCKToolbarButton( 'TableInsertCell'       , FCKLang.InsertCell, null, null, null, null, 58 ) ) ;\r
+FCKToolbarItems.RegisterItem( 'TableDeleteCells'       , new FCKToolbarButton( 'TableDeleteCells'      , FCKLang.DeleteCells, null, null, null, null, 59 ) ) ;\r
+FCKToolbarItems.RegisterItem( 'TableMergeCells'                , new FCKToolbarButton( 'TableMergeCells'       , FCKLang.MergeCells, null, null, null, null, 60 ) ) ;\r
+FCKToolbarItems.RegisterItem( 'TableSplitCell'         , new FCKToolbarButton( 'TableSplitCell'        , FCKLang.SplitCell, null, null, null, null, 61 ) ) ;
\ No newline at end of file
index fe3dc0a..b28b941 100644 (file)
@@ -1,7 +1,7 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">\r
 <!--\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
index 7e68ef3..9725f6c 100644 (file)
@@ -1,6 +1,6 @@
 /*\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
  * Styles used by the dialog boxes.\r
  */\r
 \r
-html, body\r
-{\r
-       background-color: transparent;\r
-       margin: 0px;\r
-       padding: 0px;\r
-}\r
-\r
 body\r
 {\r
+       margin: 0px;\r
        padding: 10px;\r
 }\r
 \r
@@ -46,18 +40,10 @@ body, .BackColor
 \r
 .PopupBody\r
 {\r
-       height: 100%;\r
-       width: 100%;\r
-       overflow: hidden;\r
-       background-color: transparent;\r
+       margin: 0px;\r
        padding: 0px;\r
 }\r
 \r
-#header\r
-{\r
-       cursor: move;\r
-}\r
-\r
 .PopupTitle\r
 {\r
        font-weight: bold;\r
@@ -69,10 +55,6 @@ body, .BackColor
 \r
 .PopupButtons\r
 {\r
-       position: absolute;\r
-       right: 0px;\r
-       left: 0px;\r
-       bottom: 0px;\r
        border-top: #d5d59d 1px solid;\r
        background-color: #e3e3c7;\r
        padding: 7px 10px 7px 10px;\r
@@ -92,7 +74,7 @@ body, .BackColor
 \r
 .DarkBackground\r
 {\r
-       background-color: #eaead1;\r
+       background-color: #d7d79f;\r
 }\r
 \r
 .LightBackground\r
@@ -113,7 +95,7 @@ body, .BackColor
 \r
 .PopupTabEmptyArea\r
 {\r
-       padding-left: 10px;\r
+       padding-left: 10px ;\r
        border-bottom: #d5d59d 1px solid;\r
 }\r
 \r
@@ -122,7 +104,10 @@ body, .BackColor
        border-right: #d5d59d 1px solid;\r
        border-top: #d5d59d 1px solid;\r
        border-left: #d5d59d 1px solid;\r
-       padding: 3px 5px 3px 5px;\r
+       padding-right: 5px;\r
+       padding-left: 5px;\r
+       padding-bottom: 3px;\r
+       padding-top: 3px;\r
        color: #737357;\r
 }\r
 \r
@@ -136,7 +121,7 @@ body, .BackColor
 \r
 .PopupTabSelected\r
 {\r
-       font-weight: bold;\r
+       font-weight:bold;\r
        cursor: default;\r
        padding-top: 4px;\r
        border-bottom: #f1f1e3 1px solid;\r
@@ -149,254 +134,4 @@ body, .BackColor
        background-color: #fffacd !important;\r
        cursor: pointer;\r
        cursor: hand;\r
-}\r
-\r
-#tdBrowse\r
-{\r
-       vertical-align: bottom;\r
-}\r
-\r
-/**\r
- * Dialog frame related styles.\r
- */\r
-\r
-.contents\r
-{\r
-       position: absolute;\r
-       top: 2px;\r
-       left: 16px;\r
-       right: 16px;\r
-       bottom: 20px;\r
-       background-color: #f1f1e3;\r
-       overflow: hidden;\r
-       z-index: 1;\r
-}\r
-\r
-.tl, .tr, .tc, .bl, .br, .bc\r
-{\r
-       position: absolute;\r
-       background-image: url(images/sprites.png);\r
-       background-repeat: no-repeat;\r
-}\r
-\r
-* html .tl, * html .tr, * html .tc, * html .bl, * html .br, * html .bc\r
-{\r
-       background-image: url(images/sprites.gif);\r
-}\r
-\r
-.ml, .mr\r
-{\r
-       position: absolute;\r
-       background-image: url(images/dialog.sides.png);\r
-       background-repeat: repeat-y;\r
-}\r
-\r
-* html .ml, * html .mr\r
-{\r
-       background-image: url(images/dialog.sides.gif);\r
-}\r
-\r
-.rtl .ml, .rtl .mr\r
-{\r
-       position: absolute;\r
-       background-image: url(images/dialog.sides.rtl.png);\r
-       background-repeat: repeat-y;\r
-}\r
-\r
-* html .rtl .ml, * html .rtl .mr\r
-{\r
-       background-image: url(images/dialog.sides.gif);\r
-}\r
-\r
-.tl\r
-{\r
-       top: 0px;\r
-       left: 0px;\r
-       width: 16px;\r
-       height: 16px;\r
-       background-position: -16px -16px;\r
-}\r
-\r
-.rtl .tl\r
-{\r
-       background-position: -16px -397px;\r
-}\r
-\r
-.tr\r
-{\r
-       top: 0px;\r
-       right: 0px;\r
-       width: 16px;\r
-       height: 16px;\r
-       background-position: -16px -76px;\r
-}\r
-\r
-.rtl .tr\r
-{\r
-       background-position: -16px -457px;\r
-}\r
-\r
-.tc\r
-{\r
-       top: 0px;\r
-       right: 16px;\r
-       left: 16px;\r
-       height: 16px;\r
-       background-position: 0px -136px;\r
-       background-repeat: repeat-x;\r
-}\r
-\r
-.ml\r
-{\r
-       top: 16px;\r
-       left: 0px;\r
-       width: 16px;\r
-       bottom: 51px;\r
-       background-position: 0px 0px;\r
-}\r
-\r
-.mr\r
-{\r
-       top: 16px;\r
-       right: 0px;\r
-       width: 16px;\r
-       bottom: 51px;\r
-       background-position: -16px 0px;\r
-}\r
-\r
-.bl\r
-{\r
-       bottom: 0px;\r
-       left: 0px;\r
-       width: 30px;\r
-       height: 51px;\r
-       background-position: -16px -196px;\r
-}\r
-\r
-.rtl .bl\r
-{\r
-       background-position: -16px -517px;\r
-}\r
-\r
-.br\r
-{\r
-       bottom: 0px;\r
-       right: 0px;\r
-       width: 30px;\r
-       height: 51px;\r
-       background-position: -16px -263px;\r
-}\r
-\r
-.rtl .br\r
-{\r
-       background-position: -16px -584px;\r
-}\r
-\r
-.bc\r
-{\r
-       bottom: 0px;\r
-       right: 30px;\r
-       left: 30px;\r
-       height: 51px;\r
-       background-position: 0px -330px;\r
-       background-repeat: repeat-x;\r
-}\r
-\r
-/* For IE6. Do not change it. */\r
-* html .blocker\r
-{\r
-       position: absolute;\r
-       width: 100%;\r
-       height: 100%;\r
-       z-index: 12;\r
-       filter: progid:DXImageTransform.Microsoft.Alpha(opacity=0);\r
-}\r
-\r
-/* The layer used to cover the dialog when opening a child dialog. */\r
-.cover\r
-{\r
-       position: absolute;\r
-       top: 0px;\r
-       left: 14px;\r
-       right: 14px;\r
-       bottom: 18px;\r
-       z-index: 11;\r
-}\r
-\r
-#closeButton\r
-{\r
-       position: absolute;\r
-       right: 0px;\r
-       top: 0px;\r
-       margin-top: 5px;\r
-       margin-right: 10px;\r
-       width: 20px;\r
-       height: 20px;\r
-       cursor: pointer;\r
-       background-image: url(images/sprites.png);\r
-       background-repeat: no-repeat;\r
-       background-position: -16px -651px;\r
-}\r
-\r
-* html #closeButton\r
-{\r
-       cursor: hand;\r
-       background-image: url(images/sprites.gif);\r
-}\r
-\r
-.rtl #closeButton\r
-{\r
-       right: auto;\r
-       left: 10px;\r
-       margin-right: 0px;\r
-}\r
-\r
-#closeButton:hover\r
-{\r
-       background-position: -16px -687px;\r
-}\r
-\r
-#throbberBlock\r
-{\r
-       z-index: 10;\r
-}\r
-\r
-#throbberBlock div\r
-{\r
-       float: left;\r
-       width: 8px;\r
-       height: 9px;\r
-       margin-left: 2px;\r
-       margin-right: 2px;\r
-       font-size: 1px; /* IE6 */\r
-}\r
-\r
-/*\r
-       Color Gradient Generator:\r
-       http://www.herethere.net/~samson/php/color_gradient/?cbegin=737357&cend=E3E3C7&steps=4\r
-*/\r
-\r
-.throbber_1\r
-{\r
-       background-color: #737357;\r
-}\r
-\r
-.throbber_2\r
-{\r
-       background-color: #8f8f73;\r
-}\r
-\r
-.throbber_3\r
-{\r
-       background-color: #abab8f;\r
-}\r
-\r
-.throbber_4\r
-{\r
-       background-color: #c7c7ab;\r
-}\r
-\r
-.throbber_5\r
-{\r
-       background-color: #e3e3c7;\r
-}\r
+}
\ No newline at end of file
diff --git a/httemplate/elements/fckeditor/editor/skins/default/fck_dialog_ie6.js b/httemplate/elements/fckeditor/editor/skins/default/fck_dialog_ie6.js
deleted file mode 100644 (file)
index 93dd674..0000000
+++ /dev/null
@@ -1,110 +0,0 @@
-/*\r
- * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
- *\r
- * == BEGIN LICENSE ==\r
- *\r
- * Licensed under the terms of any of the following licenses at your\r
- * choice:\r
- *\r
- *  - GNU General Public License Version 2 or later (the "GPL")\r
- *    http://www.gnu.org/licenses/gpl.html\r
- *\r
- *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")\r
- *    http://www.gnu.org/licenses/lgpl.html\r
- *\r
- *  - Mozilla Public License Version 1.1 or later (the "MPL")\r
- *    http://www.mozilla.org/MPL/MPL-1.1.html\r
- *\r
- * == END LICENSE ==\r
- */\r
-\r
-(function()\r
-{\r
-       // IE6 doens't handle absolute positioning properly (it is always in quirks\r
-       // mode). This function fixes the sizes and positions of many elements that\r
-       // compose the skin (this is skin specific).\r
-       var fixSizes = window.DoResizeFixes = function()\r
-       {\r
-               var fckDlg = window.document.body ;\r
-\r
-               for ( var i = 0 ; i < fckDlg.childNodes.length ; i++ )\r
-               {\r
-                       var child = fckDlg.childNodes[i] ;\r
-                       switch ( child.className )\r
-                       {\r
-                               case 'contents' :\r
-                                       child.style.width = Math.max( 0, fckDlg.offsetWidth - 16 - 16 ) ;       // -left -right\r
-                                       child.style.height = Math.max( 0, fckDlg.clientHeight - 20 - 2 ) ;      // -bottom -top\r
-                                       break ;\r
-\r
-                               case 'blocker' :\r
-                               case 'cover' :\r
-                                       child.style.width = Math.max( 0, fckDlg.offsetWidth - 16 - 16 + 4 ) ;   // -left -right + 4\r
-                                       child.style.height = Math.max( 0, fckDlg.clientHeight - 20 - 2 + 4 ) ;  // -bottom -top + 4\r
-                                       break ;\r
-\r
-                               case 'tr' :\r
-                                       child.style.left = Math.max( 0, fckDlg.clientWidth - 16 ) ;\r
-                                       break ;\r
-\r
-                               case 'tc' :\r
-                                       child.style.width = Math.max( 0, fckDlg.clientWidth - 16 - 16 ) ;\r
-                                       break ;\r
-\r
-                               case 'ml' :\r
-                                       child.style.height = Math.max( 0, fckDlg.clientHeight - 16 - 51 ) ;\r
-                                       break ;\r
-\r
-                               case 'mr' :\r
-                                       child.style.left = Math.max( 0, fckDlg.clientWidth - 16 ) ;\r
-                                       child.style.height = Math.max( 0, fckDlg.clientHeight - 16 - 51 ) ;\r
-                                       break ;\r
-\r
-                               case 'bl' :\r
-                                       child.style.top = Math.max( 0, fckDlg.clientHeight - 51 ) ;\r
-                                       break ;\r
-\r
-                               case 'br' :\r
-                                       child.style.left = Math.max( 0, fckDlg.clientWidth - 30 ) ;\r
-                                       child.style.top = Math.max( 0, fckDlg.clientHeight - 51 ) ;\r
-                                       break ;\r
-\r
-                               case 'bc' :\r
-                                       child.style.width = Math.max( 0, fckDlg.clientWidth - 30 - 30 ) ;\r
-                                       child.style.top = Math.max( 0, fckDlg.clientHeight - 51 ) ;\r
-                                       break ;\r
-                       }\r
-               }\r
-       }\r
-\r
-       var closeButtonOver = function()\r
-       {\r
-               this.style.backgroundPosition = '-16px -687px' ;\r
-       } ;\r
-\r
-       var closeButtonOut = function()\r
-       {\r
-               this.style.backgroundPosition = '-16px -651px' ;\r
-       } ;\r
-\r
-       var fixCloseButton = function()\r
-       {\r
-               var closeButton = document.getElementById ( 'closeButton' ) ;\r
-\r
-               closeButton.onmouseover = closeButtonOver ;\r
-               closeButton.onmouseout  = closeButtonOut ;\r
-       }\r
-\r
-       var onLoad = function()\r
-       {\r
-               fixSizes() ;\r
-               fixCloseButton() ;\r
-\r
-               window.attachEvent( 'onresize', fixSizes ) ;\r
-               window.detachEvent( 'onload', onLoad ) ;\r
-       }\r
-\r
-       window.attachEvent( 'onload', onLoad ) ;\r
-\r
-})() ;\r
index f9aff70..b849cca 100644 (file)
@@ -1,6 +1,6 @@
 /*\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
@@ -27,9 +27,8 @@
 \r
 body\r
 {\r
-       padding: 1px;\r
-       margin: 0;\r
-       background-color: #ffffff;\r
+    padding: 1px 1px 1px 1px;\r
+    margin: 0px 0px 0px 0px;\r
 }\r
 \r
 #xEditingArea\r
@@ -332,6 +331,7 @@ body
     border: 1px solid #8f8f73;\r
     padding-left: 2px;\r
     padding-right: 2px;\r
+    background-color: #ffffff;\r
 }\r
 \r
 .SC_Panel, .SC_Panel TD\r
@@ -409,7 +409,7 @@ body
     background-repeat: no-repeat;\r
 }\r
 \r
-.SC_FieldDisabled .SC_FieldButton, .SC_FieldDisabled .SC_FieldCaption, .SC_FieldDisabled .TB_ButtonType_Text\r
+.SC_FieldDisabled .SC_FieldButton, .SC_FieldDisabled .SC_FieldCaption\r
 {\r
     opacity: 0.30; /* Safari, Opera and Mozilla */\r
     filter: gray() alpha(opacity=30); /* IE */ /* -moz-opacity: 0.30; Mozilla (Old) */\r
index a6ca532..d5ba74e 100644 (file)
Binary files a/httemplate/elements/fckeditor/editor/skins/default/fck_strip.gif and b/httemplate/elements/fckeditor/editor/skins/default/fck_strip.gif differ
diff --git a/httemplate/elements/fckeditor/editor/skins/default/images/dialog.sides.gif b/httemplate/elements/fckeditor/editor/skins/default/images/dialog.sides.gif
deleted file mode 100644 (file)
index 8f91b47..0000000
Binary files a/httemplate/elements/fckeditor/editor/skins/default/images/dialog.sides.gif and /dev/null differ
diff --git a/httemplate/elements/fckeditor/editor/skins/default/images/dialog.sides.png b/httemplate/elements/fckeditor/editor/skins/default/images/dialog.sides.png
deleted file mode 100644 (file)
index 1042a61..0000000
Binary files a/httemplate/elements/fckeditor/editor/skins/default/images/dialog.sides.png and /dev/null differ
diff --git a/httemplate/elements/fckeditor/editor/skins/default/images/dialog.sides.rtl.png b/httemplate/elements/fckeditor/editor/skins/default/images/dialog.sides.rtl.png
deleted file mode 100644 (file)
index d7f7b49..0000000
Binary files a/httemplate/elements/fckeditor/editor/skins/default/images/dialog.sides.rtl.png and /dev/null differ
diff --git a/httemplate/elements/fckeditor/editor/skins/default/images/sprites.gif b/httemplate/elements/fckeditor/editor/skins/default/images/sprites.gif
deleted file mode 100644 (file)
index 2f57d93..0000000
Binary files a/httemplate/elements/fckeditor/editor/skins/default/images/sprites.gif and /dev/null differ
diff --git a/httemplate/elements/fckeditor/editor/skins/default/images/sprites.png b/httemplate/elements/fckeditor/editor/skins/default/images/sprites.png
deleted file mode 100644 (file)
index 5be90ed..0000000
Binary files a/httemplate/elements/fckeditor/editor/skins/default/images/sprites.png and /dev/null differ
index 5c7836b..54a958b 100644 (file)
@@ -1,6 +1,6 @@
 /*\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
  * Styles used by the dialog boxes.\r
  */\r
 \r
-html, body\r
-{\r
-       background-color: transparent;\r
-       margin: 0px;\r
-       padding: 0px;\r
-}\r
-\r
 body\r
 {\r
+       margin: 0px;\r
        padding: 10px;\r
+       background-color: #f7f8fd;\r
 }\r
 \r
 body, td, input, select, textarea\r
@@ -46,18 +41,10 @@ body, .BackColor
 \r
 .PopupBody\r
 {\r
-       height: 100%;\r
-       width: 100%;\r
-       overflow: hidden;\r
-       background-color: transparent;\r
+       margin: 0px;\r
        padding: 0px;\r
 }\r
 \r
-#header\r
-{\r
-       cursor: move;\r
-}\r
-\r
 .PopupTitle\r
 {\r
        font-weight: bold;\r
@@ -69,10 +56,6 @@ body, .BackColor
 \r
 .PopupButtons\r
 {\r
-       position: absolute;\r
-       right: 0px;\r
-       left: 0px;\r
-       bottom: 0px;\r
        border-top: #466ca6 1px solid;\r
        background-color: #8cb2fd;\r
        padding: 7px 10px 7px 10px;\r
@@ -92,7 +75,7 @@ body, .BackColor
 \r
 .DarkBackground\r
 {\r
-       background-color: #eaf2f8;\r
+       background-color: #d7d79f;\r
 }\r
 \r
 .LightBackground\r
@@ -122,7 +105,10 @@ body, .BackColor
        border-right: #466ca6 1px solid;\r
        border-top: #466ca6 1px solid;\r
        border-left: #466ca6 1px solid;\r
-       padding: 3px 5px 3px 5px;\r
+       padding-right: 5px;\r
+       padding-left: 5px;\r
+       padding-bottom: 3px;\r
+       padding-top: 3px;\r
        color: #0e3460;\r
 }\r
 \r
@@ -136,7 +122,7 @@ body, .BackColor
 \r
 .PopupTabSelected\r
 {\r
-       font-weight: bold;\r
+       font-weight:bold;\r
        cursor: default;\r
        padding-top: 4px;\r
        border-bottom: #f7f8fd 1px solid;\r
@@ -149,254 +135,4 @@ body, .BackColor
        background-color: #add8e6 !important;\r
        cursor: pointer;\r
        cursor: hand;\r
-}\r
-\r
-#tdBrowse\r
-{\r
-       vertical-align: bottom;\r
-}\r
-\r
-/**\r
- * Dialog frame related styles.\r
- */\r
-\r
-.contents\r
-{\r
-       position: absolute;\r
-       top: 2px;\r
-       left: 16px;\r
-       right: 16px;\r
-       bottom: 20px;\r
-       background-color: #f7f8fD;\r
-       overflow: hidden;\r
-       z-index: 1;\r
-}\r
-\r
-.tl, .tr, .tc, .bl, .br, .bc\r
-{\r
-       position: absolute;\r
-       background-image: url(images/sprites.png);\r
-       background-repeat: no-repeat;\r
-}\r
-\r
-* html .tl, * html .tr, * html .tc, * html .bl, * html .br, * html .bc\r
-{\r
-       background-image: url(images/sprites.gif);\r
-}\r
-\r
-.ml, .mr\r
-{\r
-       position: absolute;\r
-       background-image: url(images/dialog.sides.png);\r
-       background-repeat: repeat-y;\r
-}\r
-\r
-* html .ml, * html .mr\r
-{\r
-       background-image: url(images/dialog.sides.gif);\r
-}\r
-\r
-.rtl .ml, .rtl .mr\r
-{\r
-       position: absolute;\r
-       background-image: url(images/dialog.sides.rtl.png);\r
-       background-repeat: repeat-y;\r
-}\r
-\r
-* html .rtl .ml, * html .rtl .mr\r
-{\r
-       background-image: url(images/dialog.sides.gif);\r
-}\r
-\r
-.tl\r
-{\r
-       top: 0px;\r
-       left: 0px;\r
-       width: 16px;\r
-       height: 16px;\r
-       background-position: -16px -16px;\r
-}\r
-\r
-.rtl .tl\r
-{\r
-       background-position: -16px -397px;\r
-}\r
-\r
-.tr\r
-{\r
-       top: 0px;\r
-       right: 0px;\r
-       width: 16px;\r
-       height: 16px;\r
-       background-position: -16px -76px;\r
-}\r
-\r
-.rtl .tr\r
-{\r
-       background-position: -16px -457px;\r
-}\r
-\r
-.tc\r
-{\r
-       top: 0px;\r
-       right: 16px;\r
-       left: 16px;\r
-       height: 16px;\r
-       background-position: 0px -136px;\r
-       background-repeat: repeat-x;\r
-}\r
-\r
-.ml\r
-{\r
-       top: 16px;\r
-       left: 0px;\r
-       width: 16px;\r
-       bottom: 51px;\r
-       background-position: 0px 0px;\r
-}\r
-\r
-.mr\r
-{\r
-       top: 16px;\r
-       right: 0px;\r
-       width: 16px;\r
-       bottom: 51px;\r
-       background-position: -16px 0px;\r
-}\r
-\r
-.bl\r
-{\r
-       bottom: 0px;\r
-       left: 0px;\r
-       width: 30px;\r
-       height: 51px;\r
-       background-position: -16px -196px;\r
-}\r
-\r
-.rtl .bl\r
-{\r
-       background-position: -16px -517px;\r
-}\r
-\r
-.br\r
-{\r
-       bottom: 0px;\r
-       right: 0px;\r
-       width: 30px;\r
-       height: 51px;\r
-       background-position: -16px -263px;\r
-}\r
-\r
-.rtl .br\r
-{\r
-       background-position: -16px -584px;\r
-}\r
-\r
-.bc\r
-{\r
-       bottom: 0px;\r
-       right: 30px;\r
-       left: 30px;\r
-       height: 51px;\r
-       background-position: 0px -330px;\r
-       background-repeat: repeat-x;\r
-}\r
-\r
-/* For IE6. Do not change it. */\r
-* html .blocker\r
-{\r
-       position: absolute;\r
-       width: 100%;\r
-       height: 100%;\r
-       z-index: 12;\r
-       filter: progid:DXImageTransform.Microsoft.Alpha(opacity=0);\r
-}\r
-\r
-/* The layer used to cover the dialog when opening a child dialog. */\r
-.cover\r
-{\r
-       position: absolute;\r
-       top: 0px;\r
-       left: 14px;\r
-       right: 14px;\r
-       bottom: 18px;\r
-       z-index: 11;\r
-}\r
-\r
-#closeButton\r
-{\r
-       position: absolute;\r
-       right: 0px;\r
-       top: 0px;\r
-       margin-top: 5px;\r
-       margin-right: 10px;\r
-       width: 20px;\r
-       height: 20px;\r
-       cursor: pointer;\r
-       background-image: url(images/sprites.png);\r
-       background-repeat: no-repeat;\r
-       background-position: -16px -651px;\r
-}\r
-\r
-* html #closeButton\r
-{\r
-       cursor: hand;\r
-       background-image: url(images/sprites.gif);\r
-}\r
-\r
-.rtl #closeButton\r
-{\r
-       right: auto;\r
-       left: 10px;\r
-       margin-right: 0px;\r
-}\r
-\r
-#closeButton:hover\r
-{\r
-       background-position: -16px -687px;\r
-}\r
-\r
-#throbberBlock\r
-{\r
-       z-index: 10;\r
-}\r
-\r
-#throbberBlock div\r
-{\r
-       float: left;\r
-       width: 8px;\r
-       height: 9px;\r
-       margin-left: 2px;\r
-       margin-right: 2px;\r
-       font-size: 1px; /* IE6 */\r
-}\r
-\r
-/*\r
-       Color Gradient Generator:\r
-       http://www.herethere.net/~samson/php/color_gradient/?cbegin=0E3460&cend=8cb2fd&steps=4\r
-*/\r
-\r
-.throbber_1\r
-{\r
-       background-color: #0E3460;\r
-}\r
-\r
-.throbber_2\r
-{\r
-       background-color: #2D5387;\r
-}\r
-\r
-.throbber_3\r
-{\r
-       background-color: #4D73AE;\r
-}\r
-\r
-.throbber_4\r
-{\r
-       background-color: #6C92D5;\r
-}\r
-\r
-.throbber_5\r
-{\r
-       background-color: #8CB2FD;\r
-}\r
+}
\ No newline at end of file
diff --git a/httemplate/elements/fckeditor/editor/skins/office2003/fck_dialog_ie6.js b/httemplate/elements/fckeditor/editor/skins/office2003/fck_dialog_ie6.js
deleted file mode 100644 (file)
index 93dd674..0000000
+++ /dev/null
@@ -1,110 +0,0 @@
-/*\r
- * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
- *\r
- * == BEGIN LICENSE ==\r
- *\r
- * Licensed under the terms of any of the following licenses at your\r
- * choice:\r
- *\r
- *  - GNU General Public License Version 2 or later (the "GPL")\r
- *    http://www.gnu.org/licenses/gpl.html\r
- *\r
- *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")\r
- *    http://www.gnu.org/licenses/lgpl.html\r
- *\r
- *  - Mozilla Public License Version 1.1 or later (the "MPL")\r
- *    http://www.mozilla.org/MPL/MPL-1.1.html\r
- *\r
- * == END LICENSE ==\r
- */\r
-\r
-(function()\r
-{\r
-       // IE6 doens't handle absolute positioning properly (it is always in quirks\r
-       // mode). This function fixes the sizes and positions of many elements that\r
-       // compose the skin (this is skin specific).\r
-       var fixSizes = window.DoResizeFixes = function()\r
-       {\r
-               var fckDlg = window.document.body ;\r
-\r
-               for ( var i = 0 ; i < fckDlg.childNodes.length ; i++ )\r
-               {\r
-                       var child = fckDlg.childNodes[i] ;\r
-                       switch ( child.className )\r
-                       {\r
-                               case 'contents' :\r
-                                       child.style.width = Math.max( 0, fckDlg.offsetWidth - 16 - 16 ) ;       // -left -right\r
-                                       child.style.height = Math.max( 0, fckDlg.clientHeight - 20 - 2 ) ;      // -bottom -top\r
-                                       break ;\r
-\r
-                               case 'blocker' :\r
-                               case 'cover' :\r
-                                       child.style.width = Math.max( 0, fckDlg.offsetWidth - 16 - 16 + 4 ) ;   // -left -right + 4\r
-                                       child.style.height = Math.max( 0, fckDlg.clientHeight - 20 - 2 + 4 ) ;  // -bottom -top + 4\r
-                                       break ;\r
-\r
-                               case 'tr' :\r
-                                       child.style.left = Math.max( 0, fckDlg.clientWidth - 16 ) ;\r
-                                       break ;\r
-\r
-                               case 'tc' :\r
-                                       child.style.width = Math.max( 0, fckDlg.clientWidth - 16 - 16 ) ;\r
-                                       break ;\r
-\r
-                               case 'ml' :\r
-                                       child.style.height = Math.max( 0, fckDlg.clientHeight - 16 - 51 ) ;\r
-                                       break ;\r
-\r
-                               case 'mr' :\r
-                                       child.style.left = Math.max( 0, fckDlg.clientWidth - 16 ) ;\r
-                                       child.style.height = Math.max( 0, fckDlg.clientHeight - 16 - 51 ) ;\r
-                                       break ;\r
-\r
-                               case 'bl' :\r
-                                       child.style.top = Math.max( 0, fckDlg.clientHeight - 51 ) ;\r
-                                       break ;\r
-\r
-                               case 'br' :\r
-                                       child.style.left = Math.max( 0, fckDlg.clientWidth - 30 ) ;\r
-                                       child.style.top = Math.max( 0, fckDlg.clientHeight - 51 ) ;\r
-                                       break ;\r
-\r
-                               case 'bc' :\r
-                                       child.style.width = Math.max( 0, fckDlg.clientWidth - 30 - 30 ) ;\r
-                                       child.style.top = Math.max( 0, fckDlg.clientHeight - 51 ) ;\r
-                                       break ;\r
-                       }\r
-               }\r
-       }\r
-\r
-       var closeButtonOver = function()\r
-       {\r
-               this.style.backgroundPosition = '-16px -687px' ;\r
-       } ;\r
-\r
-       var closeButtonOut = function()\r
-       {\r
-               this.style.backgroundPosition = '-16px -651px' ;\r
-       } ;\r
-\r
-       var fixCloseButton = function()\r
-       {\r
-               var closeButton = document.getElementById ( 'closeButton' ) ;\r
-\r
-               closeButton.onmouseover = closeButtonOver ;\r
-               closeButton.onmouseout  = closeButtonOut ;\r
-       }\r
-\r
-       var onLoad = function()\r
-       {\r
-               fixSizes() ;\r
-               fixCloseButton() ;\r
-\r
-               window.attachEvent( 'onresize', fixSizes ) ;\r
-               window.detachEvent( 'onload', onLoad ) ;\r
-       }\r
-\r
-       window.attachEvent( 'onload', onLoad ) ;\r
-\r
-})() ;\r
index 443c8e5..f68c06f 100644 (file)
@@ -1,6 +1,6 @@
 /*\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
@@ -27,9 +27,8 @@
 \r
 body\r
 {\r
-       padding: 1px;\r
-       margin: 0;\r
-       background-color: #ffffff;\r
+    padding: 1px 1px 1px 1px;\r
+    margin: 0px 0px 0px 0px;\r
 }\r
 \r
 #xEditingArea\r
@@ -340,6 +339,7 @@ body
     border: 1px solid #8f8f73;\r
     padding-left: 2px;\r
     padding-right: 2px;\r
+    background-color: #ffffff;\r
 }\r
 \r
 .SC_Panel, .SC_Panel TD\r
@@ -421,7 +421,7 @@ body
     background-repeat: no-repeat;\r
 }\r
 \r
-.SC_FieldDisabled .SC_FieldButton, .SC_FieldDisabled .SC_FieldCaption, .SC_FieldDisabled .TB_ButtonType_Text\r
+.SC_FieldDisabled .SC_FieldButton, .SC_FieldDisabled .SC_FieldCaption\r
 {\r
     opacity: 0.30; /* Safari, Opera and Mozilla */\r
     filter: gray() alpha(opacity=30); /* IE */ /* -moz-opacity: 0.30; Mozilla (Old) */\r
index 5607cc8..a7282f2 100644 (file)
Binary files a/httemplate/elements/fckeditor/editor/skins/office2003/fck_strip.gif and b/httemplate/elements/fckeditor/editor/skins/office2003/fck_strip.gif differ
diff --git a/httemplate/elements/fckeditor/editor/skins/office2003/images/dialog.sides.gif b/httemplate/elements/fckeditor/editor/skins/office2003/images/dialog.sides.gif
deleted file mode 100644 (file)
index 921fa1a..0000000
Binary files a/httemplate/elements/fckeditor/editor/skins/office2003/images/dialog.sides.gif and /dev/null differ
diff --git a/httemplate/elements/fckeditor/editor/skins/office2003/images/dialog.sides.png b/httemplate/elements/fckeditor/editor/skins/office2003/images/dialog.sides.png
deleted file mode 100644 (file)
index be15730..0000000
Binary files a/httemplate/elements/fckeditor/editor/skins/office2003/images/dialog.sides.png and /dev/null differ
diff --git a/httemplate/elements/fckeditor/editor/skins/office2003/images/dialog.sides.rtl.png b/httemplate/elements/fckeditor/editor/skins/office2003/images/dialog.sides.rtl.png
deleted file mode 100644 (file)
index e18f13d..0000000
Binary files a/httemplate/elements/fckeditor/editor/skins/office2003/images/dialog.sides.rtl.png and /dev/null differ
diff --git a/httemplate/elements/fckeditor/editor/skins/office2003/images/sprites.gif b/httemplate/elements/fckeditor/editor/skins/office2003/images/sprites.gif
deleted file mode 100644 (file)
index 8763e48..0000000
Binary files a/httemplate/elements/fckeditor/editor/skins/office2003/images/sprites.gif and /dev/null differ
diff --git a/httemplate/elements/fckeditor/editor/skins/office2003/images/sprites.png b/httemplate/elements/fckeditor/editor/skins/office2003/images/sprites.png
deleted file mode 100644 (file)
index 7f4e196..0000000
Binary files a/httemplate/elements/fckeditor/editor/skins/office2003/images/sprites.png and /dev/null differ
index dfbc6d8..e05c173 100644 (file)
@@ -1,6 +1,6 @@
 /*\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
  * Styles used by the dialog boxes.\r
  */\r
 \r
-html, body\r
-{\r
-       background-color: transparent;\r
-       margin: 0px;\r
-       padding: 0px;\r
-}\r
-\r
 body\r
 {\r
+       margin: 0px;\r
        padding: 10px;\r
+       background-color: #f7f7f7;\r
 }\r
 \r
 body, td, input, select, textarea\r
@@ -46,33 +41,24 @@ body, .BackColor
 \r
 .PopupBody\r
 {\r
-       height: 100%;\r
-       width: 100%;\r
-       overflow: hidden;\r
-       background-color: transparent;\r
+       margin: 0px;\r
        padding: 0px;\r
 }\r
 \r
-#header\r
-{\r
-       cursor: move;\r
-}\r
-\r
 .PopupTitle\r
 {\r
+       padding-right: 10px;\r
+       padding-left: 10px;\r
        font-weight: bold;\r
        font-size: 14pt;\r
+       padding-bottom: 3px;\r
        color: #504845;\r
+       padding-top: 3px;\r
        background-color: #dedede;\r
-       padding: 3px 10px 3px 10px;\r
 }\r
 \r
 .PopupButtons\r
 {\r
-       position: absolute;\r
-       right: 0px;\r
-       left: 0px;\r
-       bottom: 0px;\r
        border-top: #cec6b5 1px solid;\r
        background-color: #DEDEDE;\r
        padding: 7px 10px 7px 10px;\r
@@ -92,7 +78,7 @@ body, .BackColor
 \r
 .DarkBackground\r
 {\r
-       background-color: #f2f2f2;\r
+       background-color: #d7d79f;\r
 }\r
 \r
 .LightBackground\r
@@ -122,7 +108,10 @@ body, .BackColor
        border-right: #cec6b5 1px solid;\r
        border-top: #cec6b5 1px solid;\r
        border-left: #cec6b5 1px solid;\r
-       padding: 3px 5px 3px 5px;\r
+       padding-right: 5px;\r
+       padding-left: 5px;\r
+       padding-bottom: 3px;\r
+       padding-top: 3px;\r
        color: #504845;\r
 }\r
 \r
@@ -149,254 +138,4 @@ body, .BackColor
        background-color: #dcdcdc !important;\r
        cursor: pointer;\r
        cursor: hand;\r
-}\r
-\r
-#tdBrowse\r
-{\r
-       vertical-align: bottom;\r
-}\r
-\r
-/**\r
- * Dialog frame related styles.\r
- */\r
-\r
-.contents\r
-{\r
-       position: absolute;\r
-       top: 2px;\r
-       left: 16px;\r
-       right: 16px;\r
-       bottom: 20px;\r
-       background-color: #f7f7f7;\r
-       overflow: hidden;\r
-       z-index: 1;\r
-}\r
-\r
-.tl, .tr, .tc, .bl, .br, .bc\r
-{\r
-       position: absolute;\r
-       background-image: url(images/sprites.png);\r
-       background-repeat: no-repeat;\r
-}\r
-\r
-* html .tl, * html .tr, * html .tc, * html .bl, * html .br, * html .bc\r
-{\r
-       background-image: url(images/sprites.gif);\r
-}\r
-\r
-.ml, .mr\r
-{\r
-       position: absolute;\r
-       background-image: url(images/dialog.sides.png);\r
-       background-repeat: repeat-y;\r
-}\r
-\r
-* html .ml, * html .mr\r
-{\r
-       background-image: url(images/dialog.sides.gif);\r
-}\r
-\r
-.rtl .ml, .rtl .mr\r
-{\r
-       position: absolute;\r
-       background-image: url(images/dialog.sides.rtl.png);\r
-       background-repeat: repeat-y;\r
-}\r
-\r
-* html .rtl .ml, * html .rtl .mr\r
-{\r
-       background-image: url(images/dialog.sides.gif);\r
-}\r
-\r
-.tl\r
-{\r
-       top: 0px;\r
-       left: 0px;\r
-       width: 16px;\r
-       height: 16px;\r
-       background-position: -16px -16px;\r
-}\r
-\r
-.rtl .tl\r
-{\r
-       background-position: -16px -397px;\r
-}\r
-\r
-.tr\r
-{\r
-       top: 0px;\r
-       right: 0px;\r
-       width: 16px;\r
-       height: 16px;\r
-       background-position: -16px -76px;\r
-}\r
-\r
-.rtl .tr\r
-{\r
-       background-position: -16px -457px;\r
-}\r
-\r
-.tc\r
-{\r
-       top: 0px;\r
-       right: 16px;\r
-       left: 16px;\r
-       height: 16px;\r
-       background-position: 0px -136px;\r
-       background-repeat: repeat-x;\r
-}\r
-\r
-.ml\r
-{\r
-       top: 16px;\r
-       left: 0px;\r
-       width: 16px;\r
-       bottom: 51px;\r
-       background-position: 0px 0px;\r
-}\r
-\r
-.mr\r
-{\r
-       top: 16px;\r
-       right: 0px;\r
-       width: 16px;\r
-       bottom: 51px;\r
-       background-position: -16px 0px;\r
-}\r
-\r
-.bl\r
-{\r
-       bottom: 0px;\r
-       left: 0px;\r
-       width: 30px;\r
-       height: 51px;\r
-       background-position: -16px -196px;\r
-}\r
-\r
-.rtl .bl\r
-{\r
-       background-position: -16px -517px;\r
-}\r
-\r
-.br\r
-{\r
-       bottom: 0px;\r
-       right: 0px;\r
-       width: 30px;\r
-       height: 51px;\r
-       background-position: -16px -263px;\r
-}\r
-\r
-.rtl .br\r
-{\r
-       background-position: -16px -584px;\r
-}\r
-\r
-.bc\r
-{\r
-       bottom: 0px;\r
-       right: 30px;\r
-       left: 30px;\r
-       height: 51px;\r
-       background-position: 0px -330px;\r
-       background-repeat: repeat-x;\r
-}\r
-\r
-/* For IE6. Do not change it. */\r
-* html .blocker\r
-{\r
-       position: absolute;\r
-       width: 100%;\r
-       height: 100%;\r
-       z-index: 12;\r
-       filter: progid:DXImageTransform.Microsoft.Alpha(opacity=0);\r
-}\r
-\r
-/* The layer used to cover the dialog when opening a child dialog. */\r
-.cover\r
-{\r
-       position: absolute;\r
-       top: 0px;\r
-       left: 14px;\r
-       right: 14px;\r
-       bottom: 18px;\r
-       z-index: 11;\r
-}\r
-\r
-#closeButton\r
-{\r
-       position: absolute;\r
-       right: 0px;\r
-       top: 0px;\r
-       margin-top: 5px;\r
-       margin-right: 10px;\r
-       width: 20px;\r
-       height: 20px;\r
-       cursor: pointer;\r
-       background-image: url(images/sprites.png);\r
-       background-repeat: no-repeat;\r
-       background-position: -16px -651px;\r
-}\r
-\r
-* html #closeButton\r
-{\r
-       cursor: hand;\r
-       background-image: url(images/sprites.gif);\r
-}\r
-\r
-.rtl #closeButton\r
-{\r
-       right: auto;\r
-       left: 10px;\r
-       margin-right: 0px;\r
-}\r
-\r
-#closeButton:hover\r
-{\r
-       background-position: -16px -687px;\r
-}\r
-\r
-#throbberBlock\r
-{\r
-       z-index: 10;\r
-}\r
-\r
-#throbberBlock div\r
-{\r
-       float: left;\r
-       width: 8px;\r
-       height: 9px;\r
-       margin-left: 2px;\r
-       margin-right: 2px;\r
-       font-size: 1px; /* IE6 */\r
-}\r
-\r
-/*\r
-       Color Gradient Generator:\r
-       http://www.herethere.net/~samson/php/color_gradient/?cbegin=504845&cend=DEDEDE&steps=4\r
-*/\r
-\r
-.throbber_1\r
-{\r
-       background-color: #504845;\r
-}\r
-\r
-.throbber_2\r
-{\r
-       background-color: #736D6B;\r
-}\r
-\r
-.throbber_3\r
-{\r
-       background-color: #979391;\r
-}\r
-\r
-.throbber_4\r
-{\r
-       background-color: #BAB8B7;\r
-}\r
-\r
-.throbber_5\r
-{\r
-       background-color: #DEDEDE;\r
-}\r
+}
\ No newline at end of file
diff --git a/httemplate/elements/fckeditor/editor/skins/silver/fck_dialog_ie6.js b/httemplate/elements/fckeditor/editor/skins/silver/fck_dialog_ie6.js
deleted file mode 100644 (file)
index 93dd674..0000000
+++ /dev/null
@@ -1,110 +0,0 @@
-/*\r
- * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
- *\r
- * == BEGIN LICENSE ==\r
- *\r
- * Licensed under the terms of any of the following licenses at your\r
- * choice:\r
- *\r
- *  - GNU General Public License Version 2 or later (the "GPL")\r
- *    http://www.gnu.org/licenses/gpl.html\r
- *\r
- *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")\r
- *    http://www.gnu.org/licenses/lgpl.html\r
- *\r
- *  - Mozilla Public License Version 1.1 or later (the "MPL")\r
- *    http://www.mozilla.org/MPL/MPL-1.1.html\r
- *\r
- * == END LICENSE ==\r
- */\r
-\r
-(function()\r
-{\r
-       // IE6 doens't handle absolute positioning properly (it is always in quirks\r
-       // mode). This function fixes the sizes and positions of many elements that\r
-       // compose the skin (this is skin specific).\r
-       var fixSizes = window.DoResizeFixes = function()\r
-       {\r
-               var fckDlg = window.document.body ;\r
-\r
-               for ( var i = 0 ; i < fckDlg.childNodes.length ; i++ )\r
-               {\r
-                       var child = fckDlg.childNodes[i] ;\r
-                       switch ( child.className )\r
-                       {\r
-                               case 'contents' :\r
-                                       child.style.width = Math.max( 0, fckDlg.offsetWidth - 16 - 16 ) ;       // -left -right\r
-                                       child.style.height = Math.max( 0, fckDlg.clientHeight - 20 - 2 ) ;      // -bottom -top\r
-                                       break ;\r
-\r
-                               case 'blocker' :\r
-                               case 'cover' :\r
-                                       child.style.width = Math.max( 0, fckDlg.offsetWidth - 16 - 16 + 4 ) ;   // -left -right + 4\r
-                                       child.style.height = Math.max( 0, fckDlg.clientHeight - 20 - 2 + 4 ) ;  // -bottom -top + 4\r
-                                       break ;\r
-\r
-                               case 'tr' :\r
-                                       child.style.left = Math.max( 0, fckDlg.clientWidth - 16 ) ;\r
-                                       break ;\r
-\r
-                               case 'tc' :\r
-                                       child.style.width = Math.max( 0, fckDlg.clientWidth - 16 - 16 ) ;\r
-                                       break ;\r
-\r
-                               case 'ml' :\r
-                                       child.style.height = Math.max( 0, fckDlg.clientHeight - 16 - 51 ) ;\r
-                                       break ;\r
-\r
-                               case 'mr' :\r
-                                       child.style.left = Math.max( 0, fckDlg.clientWidth - 16 ) ;\r
-                                       child.style.height = Math.max( 0, fckDlg.clientHeight - 16 - 51 ) ;\r
-                                       break ;\r
-\r
-                               case 'bl' :\r
-                                       child.style.top = Math.max( 0, fckDlg.clientHeight - 51 ) ;\r
-                                       break ;\r
-\r
-                               case 'br' :\r
-                                       child.style.left = Math.max( 0, fckDlg.clientWidth - 30 ) ;\r
-                                       child.style.top = Math.max( 0, fckDlg.clientHeight - 51 ) ;\r
-                                       break ;\r
-\r
-                               case 'bc' :\r
-                                       child.style.width = Math.max( 0, fckDlg.clientWidth - 30 - 30 ) ;\r
-                                       child.style.top = Math.max( 0, fckDlg.clientHeight - 51 ) ;\r
-                                       break ;\r
-                       }\r
-               }\r
-       }\r
-\r
-       var closeButtonOver = function()\r
-       {\r
-               this.style.backgroundPosition = '-16px -687px' ;\r
-       } ;\r
-\r
-       var closeButtonOut = function()\r
-       {\r
-               this.style.backgroundPosition = '-16px -651px' ;\r
-       } ;\r
-\r
-       var fixCloseButton = function()\r
-       {\r
-               var closeButton = document.getElementById ( 'closeButton' ) ;\r
-\r
-               closeButton.onmouseover = closeButtonOver ;\r
-               closeButton.onmouseout  = closeButtonOut ;\r
-       }\r
-\r
-       var onLoad = function()\r
-       {\r
-               fixSizes() ;\r
-               fixCloseButton() ;\r
-\r
-               window.attachEvent( 'onresize', fixSizes ) ;\r
-               window.detachEvent( 'onload', onLoad ) ;\r
-       }\r
-\r
-       window.attachEvent( 'onload', onLoad ) ;\r
-\r
-})() ;\r
index 1d4cd73..656dcdb 100644 (file)
@@ -1,6 +1,6 @@
 /*\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
@@ -27,9 +27,8 @@
 \r
 body\r
 {\r
-       padding: 1px;\r
-       margin: 0;\r
-       background-color: #ffffff;\r
+       padding: 1px 1px 1px 1px;\r
+       margin: 0px 0px 0px 0px;\r
 }\r
 \r
 #xEditingArea\r
@@ -339,6 +338,7 @@ body
     border: 1px solid #8f8f73;\r
     padding-left: 2px;\r
     padding-right: 2px;\r
+    background-color: #ffffff;\r
 }\r
 \r
 .SC_Panel, .SC_Panel TD\r
@@ -418,7 +418,7 @@ body
     background-repeat: no-repeat;\r
 }\r
 \r
-.SC_FieldDisabled .SC_FieldButton, .SC_FieldDisabled .SC_FieldCaption, .SC_FieldDisabled .TB_ButtonType_Text\r
+.SC_FieldDisabled .SC_FieldButton, .SC_FieldDisabled .SC_FieldCaption\r
 {\r
     opacity: 0.30; /* Safari, Opera and Mozilla */\r
     filter: gray() alpha(opacity=30); /* IE */ /* -moz-opacity: 0.30; Mozilla (Old) */\r
index a6ca532..d5ba74e 100644 (file)
Binary files a/httemplate/elements/fckeditor/editor/skins/silver/fck_strip.gif and b/httemplate/elements/fckeditor/editor/skins/silver/fck_strip.gif differ
diff --git a/httemplate/elements/fckeditor/editor/skins/silver/images/dialog.sides.gif b/httemplate/elements/fckeditor/editor/skins/silver/images/dialog.sides.gif
deleted file mode 100644 (file)
index 49a4d8d..0000000
Binary files a/httemplate/elements/fckeditor/editor/skins/silver/images/dialog.sides.gif and /dev/null differ
diff --git a/httemplate/elements/fckeditor/editor/skins/silver/images/dialog.sides.png b/httemplate/elements/fckeditor/editor/skins/silver/images/dialog.sides.png
deleted file mode 100644 (file)
index ab1ff32..0000000
Binary files a/httemplate/elements/fckeditor/editor/skins/silver/images/dialog.sides.png and /dev/null differ
diff --git a/httemplate/elements/fckeditor/editor/skins/silver/images/dialog.sides.rtl.png b/httemplate/elements/fckeditor/editor/skins/silver/images/dialog.sides.rtl.png
deleted file mode 100644 (file)
index e0a7aa7..0000000
Binary files a/httemplate/elements/fckeditor/editor/skins/silver/images/dialog.sides.rtl.png and /dev/null differ
diff --git a/httemplate/elements/fckeditor/editor/skins/silver/images/sprites.gif b/httemplate/elements/fckeditor/editor/skins/silver/images/sprites.gif
deleted file mode 100644 (file)
index 6a17ed1..0000000
Binary files a/httemplate/elements/fckeditor/editor/skins/silver/images/sprites.gif and /dev/null differ
diff --git a/httemplate/elements/fckeditor/editor/skins/silver/images/sprites.png b/httemplate/elements/fckeditor/editor/skins/silver/images/sprites.png
deleted file mode 100644 (file)
index 0ab5219..0000000
Binary files a/httemplate/elements/fckeditor/editor/skins/silver/images/sprites.png and /dev/null differ
diff --git a/httemplate/elements/fckeditor/editor/wsc/ciframe.html b/httemplate/elements/fckeditor/editor/wsc/ciframe.html
deleted file mode 100644 (file)
index 2bf419d..0000000
+++ /dev/null
@@ -1,65 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">\r
-<!--\r
- * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
- *\r
- * == BEGIN LICENSE ==\r
- *\r
- * Licensed under the terms of any of the following licenses at your\r
- * choice:\r
- *\r
- *  - GNU General Public License Version 2 or later (the "GPL")\r
- *    http://www.gnu.org/licenses/gpl.html\r
- *\r
- *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")\r
- *    http://www.gnu.org/licenses/lgpl.html\r
- *\r
- *  - Mozilla Public License Version 1.1 or later (the "MPL")\r
- *    http://www.mozilla.org/MPL/MPL-1.1.html\r
- *\r
- * == END LICENSE ==\r
--->\r
-<html>\r
-<head>\r
-       <title></title>\r
-       <meta http-equiv="Content-Type" content="text/html; charset=utf-8">\r
-       <script type="text/javascript">\r
-\r
-function gup( name )\r
-{\r
-       name = name.replace( /[\[]/, '\\\[' ).replace( /[\]]/, '\\\]' ) ;\r
-       var regexS = '[\\?&]' + name + '=([^&#]*)' ;\r
-       var regex = new RegExp( regexS ) ;\r
-       var results = regex.exec( window.location.href ) ;\r
-\r
-       if( results == null )\r
-               return '' ;\r
-       else\r
-               return results[ 1 ] ;\r
-}\r
-\r
-function sendData2Master()\r
-{\r
-       var destination = parent.parent ;\r
-       try\r
-       {\r
-               if ( destination.XDTMaster )\r
-               {\r
-                       var t = destination.XDTMaster.read( [ gup( 'cmd' ), gup( 'data' ) ] ) ;\r
-                       window.clearInterval( interval ) ;\r
-               }\r
-       }\r
-       catch (e) {}\r
-}\r
-\r
-function onLoad()\r
-{\r
-       interval = window.setInterval( sendData2Master, 100 );\r
-}\r
-\r
-        </script>\r
-</head>\r
-<body onload="onLoad()">\r
-       <p></p>\r
-</body>\r
-</html>\r
diff --git a/httemplate/elements/fckeditor/editor/wsc/tmpFrameset.html b/httemplate/elements/fckeditor/editor/wsc/tmpFrameset.html
deleted file mode 100644 (file)
index 478d226..0000000
+++ /dev/null
@@ -1,67 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">\r
-<!--\r
- * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
- *\r
- * == BEGIN LICENSE ==\r
- *\r
- * Licensed under the terms of any of the following licenses at your\r
- * choice:\r
- *\r
- *  - GNU General Public License Version 2 or later (the "GPL")\r
- *    http://www.gnu.org/licenses/gpl.html\r
- *\r
- *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")\r
- *    http://www.gnu.org/licenses/lgpl.html\r
- *\r
- *  - Mozilla Public License Version 1.1 or later (the "MPL")\r
- *    http://www.mozilla.org/MPL/MPL-1.1.html\r
- *\r
- * == END LICENSE ==\r
--->\r
-<html>\r
-<head>\r
-       <title></title>\r
-       <meta http-equiv="Content-Type" content="text/html; charset=utf-8">\r
-       <script type="text/javascript">\r
-\r
-function doLoadScript( url )\r
-{\r
-       if ( !url )\r
-               return false ;\r
-\r
-       var s = document.createElement( "script" ) ;\r
-       s.type = "text/javascript" ;\r
-       s.src = url ;\r
-       document.getElementsByTagName( "head" )[ 0 ].appendChild( s ) ;\r
-\r
-       return true ;\r
-}\r
-\r
-function tryLoad ()\r
-{\r
-    if ( typeof( opener ) == 'undefined' || !opener )\r
-        opener = parent ;\r
-\r
-    // get access to global parameters\r
-    oParams = opener.oldFramesetPageParams ;\r
-\r
-    // make frameset rows string prepare\r
-    sFramesetRows = ( parseInt( oParams.firstframeh, 10 ) || '30') + ",*," + ( parseInt( oParams.thirdframeh, 10 ) || '150' ) + ',0' ;\r
-    document.getElementById( 'itFrameset' ).rows = sFramesetRows ;\r
-\r
-    // dynamic including init frames and crossdomain transport code\r
-    // from config sproxy_js_frameset url\r
-    var addScriptUrl = oParams.sproxy_js_frameset ;\r
-    doLoadScript( addScriptUrl ) ;\r
-}\r
-\r
-       </script>\r
-</head>\r
-<frameset id="itFrameset" onload="tryLoad();" border="0" rows="30,*,*,0">\r
-    <frame scrolling="no" framespacing="0" frameborder="0" noresize="noresize" marginheight="0" marginwidth="2" src="" name="navbar"></frame>\r
-    <frame scrolling="auto" framespacing="0" frameborder="0" noresize="noresize" marginheight="0" marginwidth="0" src="" name="mid"></frame>\r
-    <frame scrolling="no" framespacing="0" frameborder="0" noresize="noresize" marginheight="1" marginwidth="1" src="" name="bot"></frame>\r
-    <frame scrolling="no" framespacing="0" frameborder="0" noresize="noresize" marginheight="1" marginwidth="1" src="" name="spellsuggestall"></frame>\r
-</frameset>\r
-</html>\r
diff --git a/httemplate/elements/fckeditor/editor/wsc/w.html b/httemplate/elements/fckeditor/editor/wsc/w.html
deleted file mode 100644 (file)
index df327a6..0000000
+++ /dev/null
@@ -1,227 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">\r
-<!--\r
- * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
- *\r
- * == BEGIN LICENSE ==\r
- *\r
- * Licensed under the terms of any of the following licenses at your\r
- * choice:\r
- *\r
- *  - GNU General Public License Version 2 or later (the "GPL")\r
- *    http://www.gnu.org/licenses/gpl.html\r
- *\r
- *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")\r
- *    http://www.gnu.org/licenses/lgpl.html\r
- *\r
- *  - Mozilla Public License Version 1.1 or later (the "MPL")\r
- *    http://www.mozilla.org/MPL/MPL-1.1.html\r
- *\r
- * == END LICENSE ==\r
--->\r
-<html>\r
-<head>\r
-       <title></title>\r
-       <style>\r
-               #wsc_frames , #errorMessage{\r
-                       position:absolute;\r
-                       top:0px;\r
-                       left:0px;\r
-                       width:500px;\r
-                       height:395px;\r
-                       margin:0px;\r
-                       padding:0px;\r
-                       border:0px;\r
-                       display:block;\r
-                       overflow: hidden;\r
-               }\r
-               #wsc_frames   { z-index:10;}\r
-               #errorMessage {\r
-                       color:red;\r
-                       display:none;\r
-                       font-size:16px;\r
-                       font-weight:bold;\r
-                       padding-top:160px;\r
-                       text-align:center;\r
-                       z-index:11;\r
-               }\r
-               #errorMessage p {\r
-                       color:#000;\r
-                       font-size:11px;\r
-                       text-align:left;\r
-                       font-weight: normal;\r
-                       padding-left:80px;\r
-               }\r
-\r
-       </style>\r
-       <script type="text/javascript">\r
-\r
-var oEditor = window.parent.InnerDialogLoaded() ;\r
-var FCKConfig = oEditor.FCKConfig;\r
-\r
-function doLoadScript(url)\r
-{\r
-       if (!url)\r
-               return false ;\r
-\r
-       var s = document.createElement('script') ;\r
-       s.type = 'text/javascript' ;\r
-       s.src = url ;\r
-\r
-       document.getElementsByTagName('head')[0].appendChild(s) ;\r
-\r
-       return true ;\r
-}\r
-\r
-function Ok()\r
-{\r
-       return window.parent.Cancel() ;\r
-}\r
-\r
-function _callOnCancel( dT )\r
-{\r
-       window.parent.Cancel() ;\r
-}\r
-\r
-function _callOnFinish( dT )\r
-{\r
-       oEditor.FCK.SetData( dT.value ) ;\r
-       window.parent.CloseDialog( true ) ;\r
-}\r
-\r
-function _cancelOnError(m)\r
-{\r
-       var _conId = 'errorMessage' ;\r
-       var message = m || 'Sorry, but service is unavailable now.' ;\r
-\r
-       if ( typeof( WSC_Error ) == 'undefined' )\r
-       {\r
-               var _con = document.createElement( 'div' ) ;\r
-               _con.setAttribute( 'id', _conId ) ;\r
-               document.body.appendChild( _con ) ;\r
-               dom_con = document.getElementById( _conId ) ;\r
-               dom_con.innerHTML = message ;\r
-               dom_con.style.display = 'block' ;\r
-       }\r
-       //return Ok() ;\r
-}\r
-\r
-function URL_abs2full( uri )\r
-{\r
-       return uri.match( 'http' )\r
-               ? uri\r
-               : document.location.protocol + '//' + document.location.host + uri ;\r
-}\r
-\r
-function clearErrorUsermessage()\r
-{\r
-       // empty error container\r
-       var _con = document.getElementById( 'errorMessage' ) ;\r
-\r
-       if ( !_con )\r
-               return ;\r
-\r
-       _con.innerHTML = '' ;\r
-       _con.style.display = 'none' ;\r
-}\r
-\r
-var gInterval ;\r
-\r
-function onLoad()\r
-{\r
-       clearErrorUsermessage() ;\r
-       var _errorMessage = 'The SpellChecker Service is currently unavailable.' ;\r
-       if ( 'undefined' != typeof( oEditor.FCK.Config.WSChLoaderScript ) )\r
-           _errorMessage = '<div>The SpellChecker Service is currently unavailable.</div><p>Error loading application<br>service host: ' + oEditor.FCK.Config.WSChLoaderScript + '</p>';\r
-\r
-       var burnSpelling = function( oName, _eMessage )\r
-       {\r
-               var i = 0 ;\r
-\r
-               return function ()\r
-               {\r
-                       if ( typeof( window[oName] ) == 'function' )\r
-                               initAndSpell() ;\r
-                       else if ( i++ == 180 )\r
-                               _cancelOnError( _eMessage ) ;\r
-               }\r
-       }\r
-\r
-       gInterval = window.setInterval( burnSpelling( 'doSpell', _errorMessage ), 250 ) ;\r
-\r
-       // WSC CORE init section\r
-       var protocol = document.location.protocol || 'http:' ;\r
-       var baseUrl = protocol + '//loader.spellchecker.net/sproxy_fck/sproxy.php' ;\r
-       var plugin = "fck2" ;\r
-       var customerid = oEditor.FCK.Config.WSCnCustomerId\r
-               || "1:ua3xw1-2XyGJ3-GWruD3-6OFNT1-oXcuB1-nR6Bp4-hgQHc-EcYng3-sdRXG3-NOfFk" ;\r
-       var wscCoreUrl = oEditor.FCK.Config.WSChLoaderScript\r
-               || ( baseUrl + '?'\r
-                       + 'plugin='    + plugin + '&'\r
-                       + 'customerid='+ customerid + '&'\r
-                       + 'cmd=script&doc=wsc&schema=22' ) ;\r
-\r
-       // load WSC core\r
-       doLoadScript( wscCoreUrl ) ;\r
-}\r
-\r
-function initAndSpell()\r
-{\r
-       //xall from window.setInteval expected at once\r
-       if ( typeof( gInterval ) == 'undefined' )\r
-               return null ;\r
-       window.clearInterval( gInterval ) ;\r
-\r
-       // global var is used in FCK specific core\r
-       // change on equal var used in fckplugin.js\r
-       gFCKPluginName = 'wsc' ;\r
-\r
-       // get the data to be checked\r
-       var sData = oEditor.FCK.GetData() ;\r
-\r
-       // prepare content\r
-       var ctrlId =  'myEditor' ;\r
-       var dCurT = document.getElementById( ctrlId ) ;\r
-       dCurT.value = sData ;\r
-\r
-       // service paths corecting/preparing\r
-       var sPath2Scin = URL_abs2full( oEditor.FCK.Config.SkinDialogCSS ) ;\r
-       var sPathCiframe = FCKConfig.BasePath + 'wsc/ciframe.html' ;\r
-       var sPathFrameset = FCKConfig.BasePath + 'wsc/tmpFrameset.html' ;\r
-\r
-       // language abbr standarts comparer\r
-       var LangComparer = new _SP_FCK_LangCompare() ;\r
-       LangComparer.setDefaulLangCode( oEditor.FCK.Language.DefaultLanguage ) ;\r
-\r
-       // clear user message console (if application was loaded more then after 2 seconds)\r
-       clearErrorUsermessage() ;\r
-\r
-       doSpell( {\r
-               ctrl : ctrlId,\r
-               lang : LangComparer.getSPLangCode( oEditor.FCK.Language.GetActiveLanguage() ),\r
-               winType : 'wsc_frames',// if not defined app will run on winpopup\r
-\r
-               // callback binding section\r
-               onCancel :window._callOnCancel,\r
-               onFinish :window._callOnFinish,\r
-\r
-               // @TODO: basePath assingning\r
-\r
-               // some manipulations with client static pages\r
-               framesetPath : sPathFrameset,\r
-               iframePath : sPathCiframe,\r
-\r
-               // styles defining\r
-               schemaURI : sPath2Scin\r
-       } ) ;\r
-\r
-       return true ;\r
-}\r
-\r
-       </script>\r
-</head>\r
-<body onload="onLoad()" style="padding: 0px; overflow: hidden;">\r
-       <textarea style="display: none;" id="myEditor" rows="10" cols="40"></textarea>\r
-       <iframe src="" name="wsc_frames" id="wsc_frames"></iframe>\r
-</body>\r
-</html>\r
index c35b37a..215bc0a 100644 (file)
@@ -1,6 +1,6 @@
 /*\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
  * Editor configuration settings.\r
  *\r
  * Follow this link for more information:\r
- * http://docs.fckeditor.net/FCKeditor_2.x/Developers_Guide/Configuration/Configuration_Options\r
+ * http://wiki.fckeditor.net/Developer%27s_Guide/Configuration/Configurations_Settings\r
  */\r
 \r
+// Disable the custom Enter Key Handler. This option will be removed in version 2.5.\r
+FCKConfig.DisableEnterKeyHandler = false ;\r
+\r
 FCKConfig.CustomConfigurationsPath = '' ;\r
 \r
 FCKConfig.EditorAreaCSS = FCKConfig.BasePath + 'css/fck_editorarea.css' ;\r
-FCKConfig.EditorAreaStyles = '' ;\r
 FCKConfig.ToolbarComboPreviewCSS = '' ;\r
 \r
 FCKConfig.DocType = '' ;\r
@@ -36,22 +38,16 @@ FCKConfig.BaseHref = '' ;
 \r
 FCKConfig.FullPage = false ;\r
 \r
-// The following option determines whether the "Show Blocks" feature is enabled or not at startup.\r
-FCKConfig.StartupShowBlocks = false ;\r
-\r
 FCKConfig.Debug = false ;\r
 FCKConfig.AllowQueryStringDebug = true ;\r
 \r
 FCKConfig.SkinPath = FCKConfig.BasePath + 'skins/default/' ;\r
-FCKConfig.SkinEditorCSS = '' ; // FCKConfig.SkinPath + "|<minified css>" ;\r
-FCKConfig.SkinDialogCSS = '' ; // FCKConfig.SkinPath + "|<minified css>" ;\r
-\r
+//FCKConfig.SkinPath = FCKConfig.BasePath + 'editor/skins/silver/' ;\r
 FCKConfig.PreloadImages = [ FCKConfig.SkinPath + 'images/toolbar.start.gif', FCKConfig.SkinPath + 'images/toolbar.buttonarrow.gif' ] ;\r
 \r
 FCKConfig.PluginsPath = FCKConfig.BasePath + 'plugins/' ;\r
 \r
 // FCKConfig.Plugins.Add( 'autogrow' ) ;\r
-// FCKConfig.Plugins.Add( 'dragresizetable' );\r
 FCKConfig.AutoGrowMax = 400 ;\r
 \r
 // FCKConfig.ProtectedSource.Add( /<%[\s\S]*?%>/g ) ;  // ASP style server side code <%...%>\r
@@ -76,13 +72,11 @@ FCKConfig.FormatSource              = true ;
 FCKConfig.FormatOutput         = true ;\r
 FCKConfig.FormatIndentator     = '    ' ;\r
 \r
-FCKConfig.EMailProtection = 'none' ; // none | encode | function\r
-FCKConfig.EMailProtectionFunction = 'mt(NAME,DOMAIN,SUBJECT,BODY)' ;\r
-\r
+FCKConfig.ForceStrongEm = true ;\r
+FCKConfig.GeckoUseSPAN = false ;\r
 FCKConfig.StartupFocus = false ;\r
 FCKConfig.ForcePasteAsPlainText        = false ;\r
 FCKConfig.AutoDetectPasteFromWord = true ;     // IE only.\r
-FCKConfig.ShowDropDialog = true ;\r
 FCKConfig.ForceSimpleAmpersand = false ;\r
 FCKConfig.TabSpaces            = 0 ;\r
 FCKConfig.ShowBorders  = true ;\r
@@ -90,29 +84,45 @@ FCKConfig.SourcePopup       = false ;
 FCKConfig.ToolbarStartExpanded = true ;\r
 FCKConfig.ToolbarCanCollapse   = true ;\r
 FCKConfig.IgnoreEmptyParagraphValue = true ;\r
+FCKConfig.PreserveSessionOnFileBrowser = false ;\r
 FCKConfig.FloatingPanelsZIndex = 10000 ;\r
-FCKConfig.HtmlEncodeOutput = false ;\r
 \r
 FCKConfig.TemplateReplaceAll = true ;\r
 FCKConfig.TemplateReplaceCheckbox = true ;\r
 \r
 FCKConfig.ToolbarLocation = 'In' ;\r
 \r
+//FCKConfig.ToolbarSets["Default"] = [\r
+//     ['Source','DocProps','-','Save','NewPage','Preview','-','Templates'],\r
+//     ['Cut','Copy','Paste','PasteText','PasteWord','-','Print','SpellCheck'],\r
+//     ['Undo','Redo','-','Find','Replace','-','SelectAll','RemoveFormat'],\r
+//     ['Form','Checkbox','Radio','TextField','Textarea','Select','Button','ImageButton','HiddenField'],\r
+//     '/',\r
+//     ['Bold','Italic','Underline','StrikeThrough','-','Subscript','Superscript'],\r
+//     ['OrderedList','UnorderedList','-','Outdent','Indent'],\r
+//     ['JustifyLeft','JustifyCenter','JustifyRight','JustifyFull'],\r
+//     ['Link','Unlink','Anchor'],\r
+//     ['Image','Flash','Table','Rule','Smiley','SpecialChar','PageBreak'],\r
+//     '/',\r
+//     ['Style','FontFormat','FontName','FontSize'],\r
+//     ['TextColor','BGColor'],\r
+//     ['FitWindow','-','About']\r
+//] ;\r
 FCKConfig.ToolbarSets["Default"] = [\r
        ['Source','DocProps','-','Save','Preview','-'],\r
        ['Cut','Copy','Paste','PasteText','PasteWord','-','Print','SpellCheck'],\r
        ['Undo','Redo','-','Find','Replace','-','SelectAll','RemoveFormat'],\r
-       // ['Form','Checkbox','Radio','TextField','Textarea','Select','Button','ImageButton','HiddenField'],\r
+       //['Form','Checkbox','Radio','TextField','Textarea','Select','Button','ImageButton','HiddenField'],\r
        '/',\r
        ['Bold','Italic','Underline','StrikeThrough','-','Subscript','Superscript'],\r
-       ['OrderedList','UnorderedList','-','Outdent','Indent','Blockquote'],\r
+       ['OrderedList','UnorderedList','-','Outdent','Indent'],\r
        ['JustifyLeft','JustifyCenter','JustifyRight','JustifyFull'],\r
        ['Link','Unlink','Anchor'],\r
        ['Image','Flash','Table','Rule','Smiley','SpecialChar','PageBreak'],\r
        '/',\r
        ['Style','FontFormat','FontName','FontSize'],\r
        ['TextColor','BGColor'],\r
-       ['FitWindow','ShowBlocks','-','About']          // No comma for the last row.\r
+       ['FitWindow','-','About']\r
 ] ;\r
 \r
 FCKConfig.ToolbarSets["Basic"] = [\r
@@ -127,13 +137,9 @@ FCKConfig.Keystrokes = [
        [ CTRL + 67 /*C*/, true ],\r
        [ CTRL + 70 /*F*/, true ],\r
        [ CTRL + 83 /*S*/, true ],\r
-       [ CTRL + 84 /*T*/, true ],\r
        [ CTRL + 88 /*X*/, true ],\r
        [ CTRL + 86 /*V*/, 'Paste' ],\r
-       [ CTRL + 45 /*INS*/, true ],\r
        [ SHIFT + 45 /*INS*/, 'Paste' ],\r
-       [ CTRL + 88 /*X*/, 'Cut' ],\r
-       [ SHIFT + 46 /*DEL*/, 'Cut' ],\r
        [ CTRL + 90 /*Z*/, 'Undo' ],\r
        [ CTRL + 89 /*Y*/, 'Redo' ],\r
        [ CTRL + SHIFT + 90 /*Z*/, 'Redo' ],\r
@@ -143,24 +149,22 @@ FCKConfig.Keystrokes = [
        [ CTRL + 85 /*U*/, 'Underline' ],\r
        [ CTRL + SHIFT + 83 /*S*/, 'Save' ],\r
        [ CTRL + ALT + 13 /*ENTER*/, 'FitWindow' ],\r
-       [ SHIFT + 32 /*SPACE*/, 'Nbsp' ]\r
+       [ CTRL + 9 /*TAB*/, 'Source' ]\r
 ] ;\r
 \r
-FCKConfig.ContextMenu = ['Generic','Link','Anchor','Image','Flash','Select','Textarea','Checkbox','Radio','TextField','HiddenField','ImageButton','Button','BulletedList','NumberedList','Table','Form','DivContainer'] ;\r
+FCKConfig.ContextMenu = ['Generic','Link','Anchor','Image','Flash','Select','Textarea','Checkbox','Radio','TextField','HiddenField','ImageButton','Button','BulletedList','NumberedList','Table','Form'] ;\r
 FCKConfig.BrowserContextMenuOnCtrl = false ;\r
-FCKConfig.BrowserContextMenu = false ;\r
 \r
-FCKConfig.EnableMoreFontColors = true ;\r
 FCKConfig.FontColors = '000000,993300,333300,003300,003366,000080,333399,333333,800000,FF6600,808000,808080,008080,0000FF,666699,808080,FF0000,FF9900,99CC00,339966,33CCCC,3366FF,800080,999999,FF00FF,FFCC00,FFFF00,00FF00,00FFFF,00CCFF,993366,C0C0C0,FF99CC,FFCC99,FFFF99,CCFFCC,CCFFFF,99CCFF,CC99FF,FFFFFF' ;\r
 \r
-FCKConfig.FontFormats  = 'p;h1;h2;h3;h4;h5;h6;pre;address;div' ;\r
 FCKConfig.FontNames            = 'Arial;Comic Sans MS;Courier New;Tahoma;Times New Roman;Verdana' ;\r
-FCKConfig.FontSizes            = 'smaller;larger;xx-small;x-small;small;medium;large;x-large;xx-large' ;\r
+FCKConfig.FontSizes            = '1/xx-small;2/x-small;3/small;4/medium;5/large;6/x-large;7/xx-large' ;\r
+FCKConfig.FontFormats  = 'p;div;pre;address;h1;h2;h3;h4;h5;h6' ;\r
 \r
 FCKConfig.StylesXmlPath                = FCKConfig.EditorPath + 'fckstyles.xml' ;\r
 FCKConfig.TemplatesXmlPath     = FCKConfig.EditorPath + 'fcktemplates.xml' ;\r
 \r
-FCKConfig.SpellChecker                 = 'WSC' ;       // 'WSC' | 'SCAYT' | 'SpellerPages' | 'ieSpell'\r
+FCKConfig.SpellChecker                 = 'ieSpell' ;   // 'ieSpell' | 'SpellerPages'\r
 FCKConfig.IeSpellDownloadUrl   = 'http://www.iespell.com/download.php' ;\r
 FCKConfig.SpellerPagesServerScript = 'server-scripts/spellchecker.php' ;       // Available extension: .php .cfm .pl\r
 FCKConfig.FirefoxSpellChecker  = false ;\r
@@ -184,88 +188,11 @@ FCKConfig.ProtectedTags = '' ;
 FCKConfig.BodyId = '' ;\r
 FCKConfig.BodyClass = '' ;\r
 \r
-FCKConfig.DefaultStyleLabel = '' ;\r
-FCKConfig.DefaultFontFormatLabel = '' ;\r
-FCKConfig.DefaultFontLabel = '' ;\r
-FCKConfig.DefaultFontSizeLabel = '' ;\r
-\r
 FCKConfig.DefaultLinkTarget = '' ;\r
 \r
 // The option switches between trying to keep the html structure or do the changes so the content looks like it was in Word\r
 FCKConfig.CleanWordKeepsStructure = false ;\r
 \r
-// Only inline elements are valid.\r
-FCKConfig.RemoveFormatTags = 'b,big,code,del,dfn,em,font,i,ins,kbd,q,samp,small,span,strike,strong,sub,sup,tt,u,var' ;\r
-\r
-// Attributes that will be removed\r
-FCKConfig.RemoveAttributes = 'class,style,lang,width,height,align,hspace,valign' ;\r
-\r
-FCKConfig.CustomStyles =\r
-{\r
-       'Red Title'     : { Element : 'h3', Styles : { 'color' : 'Red' } }\r
-};\r
-\r
-// Do not add, rename or remove styles here. Only apply definition changes.\r
-FCKConfig.CoreStyles =\r
-{\r
-       // Basic Inline Styles.\r
-       'Bold'                  : { Element : 'strong', Overrides : 'b' },\r
-       'Italic'                : { Element : 'em', Overrides : 'i' },\r
-       'Underline'             : { Element : 'u' },\r
-       'StrikeThrough' : { Element : 'strike' },\r
-       'Subscript'             : { Element : 'sub' },\r
-       'Superscript'   : { Element : 'sup' },\r
-\r
-       // Basic Block Styles (Font Format Combo).\r
-       'p'                             : { Element : 'p' },\r
-       'div'                   : { Element : 'div' },\r
-       'pre'                   : { Element : 'pre' },\r
-       'address'               : { Element : 'address' },\r
-       'h1'                    : { Element : 'h1' },\r
-       'h2'                    : { Element : 'h2' },\r
-       'h3'                    : { Element : 'h3' },\r
-       'h4'                    : { Element : 'h4' },\r
-       'h5'                    : { Element : 'h5' },\r
-       'h6'                    : { Element : 'h6' },\r
-\r
-       // Other formatting features.\r
-       'FontFace' :\r
-       {\r
-               Element         : 'span',\r
-               Styles          : { 'font-family' : '#("Font")' },\r
-               Overrides       : [ { Element : 'font', Attributes : { 'face' : null } } ]\r
-       },\r
-\r
-       'Size' :\r
-       {\r
-               Element         : 'span',\r
-               Styles          : { 'font-size' : '#("Size","fontSize")' },\r
-               Overrides       : [ { Element : 'font', Attributes : { 'size' : null } } ]\r
-       },\r
-\r
-       'Color' :\r
-       {\r
-               Element         : 'span',\r
-               Styles          : { 'color' : '#("Color","color")' },\r
-               Overrides       : [ { Element : 'font', Attributes : { 'color' : null } } ]\r
-       },\r
-\r
-       'BackColor'             : { Element : 'span', Styles : { 'background-color' : '#("Color","color")' } },\r
-\r
-       'SelectionHighlight' : { Element : 'span', Styles : { 'background-color' : 'navy', 'color' : 'white' } }\r
-};\r
-\r
-// The distance of an indentation step.\r
-FCKConfig.IndentLength = 40 ;\r
-FCKConfig.IndentUnit = 'px' ;\r
-\r
-// Alternatively, FCKeditor allows the use of CSS classes for block indentation.\r
-// This overrides the IndentLength/IndentUnit settings.\r
-FCKConfig.IndentClasses = [] ;\r
-\r
-// [ Left, Center, Right, Justified ]\r
-FCKConfig.JustifyClasses = [] ;\r
-\r
 // The following value defines which File Browser connector and Quick Upload\r
 // "uploader" to use. It is valid for the default implementaion and it is here\r
 // just to make this configuration file cleaner.\r
@@ -273,53 +200,46 @@ FCKConfig.JustifyClasses = [] ;
 // inline when creating the editor instance. In that cases you must set the\r
 // values of LinkBrowserURL, ImageBrowserURL and so on.\r
 // Custom implementations should just ignore it.\r
-var _FileBrowserLanguage       = 'php' ;       // asp | aspx | cfm | lasso | perl | php | py\r
-var _QuickUploadLanguage       = 'php' ;       // asp | aspx | cfm | lasso | perl | php | py\r
+var _FileBrowserLanguage       = 'asp' ;       // asp | aspx | cfm | lasso | perl | php | py\r
+var _QuickUploadLanguage       = 'asp' ;       // asp | aspx | cfm | lasso | php\r
+\r
 \r
-// Don't care about the following two lines. It just calculates the correct connector\r
+// Don't care about the following line. It just calculates the correct connector\r
 // extension to use for the default File Browser (Perl uses "cgi").\r
 var _FileBrowserExtension = _FileBrowserLanguage == 'perl' ? 'cgi' : _FileBrowserLanguage ;\r
-var _QuickUploadExtension = _QuickUploadLanguage == 'perl' ? 'cgi' : _QuickUploadLanguage ;\r
 \r
 FCKConfig.LinkBrowser = true ;\r
-FCKConfig.LinkBrowserURL = FCKConfig.BasePath + 'filemanager/browser/default/browser.html?Connector=' + encodeURIComponent( FCKConfig.BasePath + 'filemanager/connectors/' + _FileBrowserLanguage + '/connector.' + _FileBrowserExtension ) ;\r
+FCKConfig.LinkBrowserURL = FCKConfig.BasePath + 'filemanager/browser/default/browser.html?Connector=connectors/' + _FileBrowserLanguage + '/connector.' + _FileBrowserExtension ;\r
 FCKConfig.LinkBrowserWindowWidth       = FCKConfig.ScreenWidth * 0.7 ;         // 70%\r
 FCKConfig.LinkBrowserWindowHeight      = FCKConfig.ScreenHeight * 0.7 ;        // 70%\r
 \r
 FCKConfig.ImageBrowser = true ;\r
-FCKConfig.ImageBrowserURL = FCKConfig.BasePath + 'filemanager/browser/default/browser.html?Type=Image&Connector=' + encodeURIComponent( FCKConfig.BasePath + 'filemanager/connectors/' + _FileBrowserLanguage + '/connector.' + _FileBrowserExtension ) ;\r
+FCKConfig.ImageBrowserURL = FCKConfig.BasePath + 'filemanager/browser/default/browser.html?Type=Image&Connector=connectors/' + _FileBrowserLanguage + '/connector.' + _FileBrowserExtension ;\r
 FCKConfig.ImageBrowserWindowWidth  = FCKConfig.ScreenWidth * 0.7 ;     // 70% ;\r
 FCKConfig.ImageBrowserWindowHeight = FCKConfig.ScreenHeight * 0.7 ;    // 70% ;\r
 \r
 FCKConfig.FlashBrowser = true ;\r
-FCKConfig.FlashBrowserURL = FCKConfig.BasePath + 'filemanager/browser/default/browser.html?Type=Flash&Connector=' + encodeURIComponent( FCKConfig.BasePath + 'filemanager/connectors/' + _FileBrowserLanguage + '/connector.' + _FileBrowserExtension ) ;\r
+FCKConfig.FlashBrowserURL = FCKConfig.BasePath + 'filemanager/browser/default/browser.html?Type=Flash&Connector=connectors/' + _FileBrowserLanguage + '/connector.' + _FileBrowserExtension ;\r
 FCKConfig.FlashBrowserWindowWidth  = FCKConfig.ScreenWidth * 0.7 ;     //70% ;\r
 FCKConfig.FlashBrowserWindowHeight = FCKConfig.ScreenHeight * 0.7 ;    //70% ;\r
 \r
 FCKConfig.LinkUpload = true ;\r
-FCKConfig.LinkUploadURL = FCKConfig.BasePath + 'filemanager/connectors/' + _QuickUploadLanguage + '/upload.' + _QuickUploadExtension ;\r
-FCKConfig.LinkUploadAllowedExtensions  = ".(7z|aiff|asf|avi|bmp|csv|doc|fla|flv|gif|gz|gzip|jpeg|jpg|mid|mov|mp3|mp4|mpc|mpeg|mpg|ods|odt|pdf|png|ppt|pxd|qt|ram|rar|rm|rmi|rmvb|rtf|sdc|sitd|swf|sxc|sxw|tar|tgz|tif|tiff|txt|vsd|wav|wma|wmv|xls|xml|zip)$" ;                        // empty for all\r
-FCKConfig.LinkUploadDeniedExtensions   = "" ;  // empty for no one\r
+FCKConfig.LinkUploadURL = FCKConfig.BasePath + 'filemanager/upload/' + _QuickUploadLanguage + '/upload.' + _QuickUploadLanguage ;\r
+FCKConfig.LinkUploadAllowedExtensions  = "" ;                  // empty for all\r
+FCKConfig.LinkUploadDeniedExtensions   = ".(html|htm|php|php2|php3|php4|php5|phtml|pwml|inc|asp|aspx|ascx|jsp|cfm|cfc|pl|bat|exe|com|dll|vbs|js|reg|cgi|htaccess|asis|sh|shtml|shtm|phtm)$" ;  // empty for no one\r
 \r
 FCKConfig.ImageUpload = true ;\r
-FCKConfig.ImageUploadURL = FCKConfig.BasePath + 'filemanager/connectors/' + _QuickUploadLanguage + '/upload.' + _QuickUploadExtension + '?Type=Image' ;\r
+FCKConfig.ImageUploadURL = FCKConfig.BasePath + 'filemanager/upload/' + _QuickUploadLanguage + '/upload.' + _QuickUploadLanguage + '?Type=Image' ;\r
 FCKConfig.ImageUploadAllowedExtensions = ".(jpg|gif|jpeg|png|bmp)$" ;          // empty for all\r
 FCKConfig.ImageUploadDeniedExtensions  = "" ;                                                  // empty for no one\r
 \r
 FCKConfig.FlashUpload = true ;\r
-FCKConfig.FlashUploadURL = FCKConfig.BasePath + 'filemanager/connectors/' + _QuickUploadLanguage + '/upload.' + _QuickUploadExtension + '?Type=Flash' ;\r
-FCKConfig.FlashUploadAllowedExtensions = ".(swf|flv)$" ;               // empty for all\r
+FCKConfig.FlashUploadURL = FCKConfig.BasePath + 'filemanager/upload/' + _QuickUploadLanguage + '/upload.' + _QuickUploadLanguage + '?Type=Flash' ;\r
+FCKConfig.FlashUploadAllowedExtensions = ".(swf|fla)$" ;               // empty for all\r
 FCKConfig.FlashUploadDeniedExtensions  = "" ;                                  // empty for no one\r
 \r
 FCKConfig.SmileyPath   = FCKConfig.BasePath + 'images/smiley/msn/' ;\r
 FCKConfig.SmileyImages = ['regular_smile.gif','sad_smile.gif','wink_smile.gif','teeth_smile.gif','confused_smile.gif','tounge_smile.gif','embaressed_smile.gif','omg_smile.gif','whatchutalkingabout_smile.gif','angry_smile.gif','angel_smile.gif','shades_smile.gif','devil_smile.gif','cry_smile.gif','lightbulb.gif','thumbs_down.gif','thumbs_up.gif','heart.gif','broken_heart.gif','kiss.gif','envelope.gif'] ;\r
 FCKConfig.SmileyColumns = 8 ;\r
 FCKConfig.SmileyWindowWidth            = 320 ;\r
-FCKConfig.SmileyWindowHeight   = 210 ;\r
-\r
-FCKConfig.BackgroundBlockerColor = '#ffffff' ;\r
-FCKConfig.BackgroundBlockerOpacity = 0.50 ;\r
-\r
-FCKConfig.MsWebBrowserControlCompat = false ;\r
-\r
-FCKConfig.PreventSubmitHandler = false ;\r
+FCKConfig.SmileyWindowHeight   = 240 ;\r
index 8e0126b..63ec41f 100644 (file)
@@ -1,6 +1,6 @@
 /*\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
@@ -34,9 +34,11 @@ var FCKeditor = function( instanceName, width, height, toolbarSet, value )
        this.Height                     = height                || '200' ;\r
        this.ToolbarSet         = toolbarSet    || 'Default' ;\r
        this.Value                      = value                 || '' ;\r
-       this.BasePath           = FCKeditor.BasePath ;\r
+       this.BasePath           = '/fckeditor/' ;\r
        this.CheckBrowser       = true ;\r
        this.DisplayErrors      = true ;\r
+       this.EnableSafari       = false ;               // This is a temporary property, while Safari support is under development.\r
+       this.EnableOpera        = false ;               // This is a temporary property, while Opera support is under development.\r
 \r
        this.Config                     = new Object() ;\r
 \r
@@ -44,23 +46,8 @@ var FCKeditor = function( instanceName, width, height, toolbarSet, value )
        this.OnError            = null ;        // function( source, errorNumber, errorDescription )\r
 }\r
 \r
-/**\r
- * This is the default BasePath used by all editor instances.\r
- */\r
-FCKeditor.BasePath = '/fckeditor/' ;\r
-\r
-/**\r
- * The minimum height used when replacing textareas.\r
- */\r
-FCKeditor.MinHeight = 200 ;\r
-\r
-/**\r
- * The minimum width used when replacing textareas.\r
- */\r
-FCKeditor.MinWidth = 750 ;\r
-\r
-FCKeditor.prototype.Version                    = '2.6.6' ;\r
-FCKeditor.prototype.VersionBuild       = '25427' ;\r
+FCKeditor.prototype.Version                    = '2.4.3' ;\r
+FCKeditor.prototype.VersionBuild       = '15657' ;\r
 \r
 FCKeditor.prototype.Create = function()\r
 {\r
@@ -76,7 +63,7 @@ FCKeditor.prototype.CreateHtml = function()
                return '' ;\r
        }\r
 \r
-       var sHtml = '' ;\r
+       var sHtml = '<div>' ;\r
 \r
        if ( !this.CheckBrowser || this._IsCompatibleBrowser() )\r
        {\r
@@ -88,26 +75,16 @@ FCKeditor.prototype.CreateHtml = function()
        {\r
                var sWidth  = this.Width.toString().indexOf('%')  > 0 ? this.Width  : this.Width  + 'px' ;\r
                var sHeight = this.Height.toString().indexOf('%') > 0 ? this.Height : this.Height + 'px' ;\r
-\r
-               sHtml += '<textarea name="' + this.InstanceName +\r
-                       '" rows="4" cols="40" style="width:' + sWidth +\r
-                       ';height:' + sHeight ;\r
-\r
-               if ( this.TabIndex )\r
-                       sHtml += '" tabindex="' + this.TabIndex ;\r
-\r
-               sHtml += '">' +\r
-                       this._HTMLEncode( this.Value ) +\r
-                       '<\/textarea>' ;\r
+               sHtml += '<textarea name="' + this.InstanceName + '" rows="4" cols="40" style="width:' + sWidth + ';height:' + sHeight + '">' + this._HTMLEncode( this.Value ) + '<\/textarea>' ;\r
        }\r
 \r
+       sHtml += '</div>' ;\r
+\r
        return sHtml ;\r
 }\r
 \r
 FCKeditor.prototype.ReplaceTextarea = function()\r
 {\r
-       if ( document.getElementById( this.InstanceName + '___Frame' ) )\r
-               return ;\r
        if ( !this.CheckBrowser || this._IsCompatibleBrowser() )\r
        {\r
                // We must check the elements firstly using the Id and then the name.\r
@@ -128,10 +105,6 @@ FCKeditor.prototype.ReplaceTextarea = function()
                }\r
 \r
                oTextarea.style.display = 'none' ;\r
-\r
-               if ( oTextarea.tabIndex )\r
-                       this.TabIndex = oTextarea.tabIndex ;\r
-\r
                this._InsertHtmlBefore( this._GetConfigHtml(), oTextarea ) ;\r
                this._InsertHtmlBefore( this._GetIFrameHtml(), oTextarea ) ;\r
        }\r
@@ -174,25 +147,14 @@ FCKeditor.prototype._GetIFrameHtml = function()
        catch (e) { /* Ignore it. Much probably we are inside a FRAME where the "top" is in another domain (security error). */ }\r
 \r
        var sLink = this.BasePath + 'editor/' + sFile + '?InstanceName=' + encodeURIComponent( this.InstanceName ) ;\r
-       if (this.ToolbarSet)\r
-               sLink += '&amp;Toolbar=' + this.ToolbarSet ;\r
-\r
-       var html = '<iframe id="' + this.InstanceName +\r
-               '___Frame" src="' + sLink +\r
-               '" width="' + this.Width +\r
-               '" height="' + this.Height ;\r
-\r
-       if ( this.TabIndex )\r
-               html += '" tabindex="' + this.TabIndex ;\r
-\r
-       html += '" frameborder="0" scrolling="no"></iframe>' ;\r
+       if (this.ToolbarSet) sLink += '&amp;Toolbar=' + this.ToolbarSet ;\r
 \r
-       return html ;\r
+       return '<iframe id="' + this.InstanceName + '___Frame" src="' + sLink + '" width="' + this.Width + '" height="' + this.Height + '" frameborder="0" scrolling="no"></iframe>' ;\r
 }\r
 \r
 FCKeditor.prototype._IsCompatibleBrowser = function()\r
 {\r
-       return FCKeditor_IsCompatibleBrowser() ;\r
+       return FCKeditor_IsCompatibleBrowser( this.EnableSafari, this.EnableOpera ) ;\r
 }\r
 \r
 FCKeditor.prototype._ThrowError = function( errorNumber, errorDescription )\r
@@ -225,84 +187,12 @@ FCKeditor.prototype._HTMLEncode = function( text )
        return text ;\r
 }\r
 \r
-;(function()\r
-{\r
-       var textareaToEditor = function( textarea )\r
-       {\r
-               var editor = new FCKeditor( textarea.name ) ;\r
-\r
-               editor.Width = Math.max( textarea.offsetWidth, FCKeditor.MinWidth ) ;\r
-               editor.Height = Math.max( textarea.offsetHeight, FCKeditor.MinHeight ) ;\r
-\r
-               return editor ;\r
-       }\r
-\r
-       /**\r
-        * Replace all <textarea> elements available in the document with FCKeditor\r
-        * instances.\r
-        *\r
-        *      // Replace all <textarea> elements in the page.\r
-        *      FCKeditor.ReplaceAllTextareas() ;\r
-        *\r
-        *      // Replace all <textarea class="myClassName"> elements in the page.\r
-        *      FCKeditor.ReplaceAllTextareas( 'myClassName' ) ;\r
-        *\r
-        *      // Selectively replace <textarea> elements, based on custom assertions.\r
-        *      FCKeditor.ReplaceAllTextareas( function( textarea, editor )\r
-        *              {\r
-        *                      // Custom code to evaluate the replace, returning false if it\r
-        *                      // must not be done.\r
-        *                      // It also passes the "editor" parameter, so the developer can\r
-        *                      // customize the instance.\r
-        *              } ) ;\r
-        */\r
-       FCKeditor.ReplaceAllTextareas = function()\r
-       {\r
-               var textareas = document.getElementsByTagName( 'textarea' ) ;\r
-\r
-               for ( var i = 0 ; i < textareas.length ; i++ )\r
-               {\r
-                       var editor = null ;\r
-                       var textarea = textareas[i] ;\r
-                       var name = textarea.name ;\r
-\r
-                       // The "name" attribute must exist.\r
-                       if ( !name || name.length == 0 )\r
-                               continue ;\r
-\r
-                       if ( typeof arguments[0] == 'string' )\r
-                       {\r
-                               // The textarea class name could be passed as the function\r
-                               // parameter.\r
-\r
-                               var classRegex = new RegExp( '(?:^| )' + arguments[0] + '(?:$| )' ) ;\r
-\r
-                               if ( !classRegex.test( textarea.className ) )\r
-                                       continue ;\r
-                       }\r
-                       else if ( typeof arguments[0] == 'function' )\r
-                       {\r
-                               // An assertion function could be passed as the function parameter.\r
-                               // It must explicitly return "false" to ignore a specific <textarea>.\r
-                               editor = textareaToEditor( textarea ) ;\r
-                               if ( arguments[0]( textarea, editor ) === false )\r
-                                       continue ;\r
-                       }\r
-\r
-                       if ( !editor )\r
-                               editor = textareaToEditor( textarea ) ;\r
-\r
-                       editor.ReplaceTextarea() ;\r
-               }\r
-       }\r
-})() ;\r
-\r
-function FCKeditor_IsCompatibleBrowser()\r
+function FCKeditor_IsCompatibleBrowser( enableSafari, enableOpera )\r
 {\r
        var sAgent = navigator.userAgent.toLowerCase() ;\r
 \r
-       // Internet Explorer 5.5+\r
-       if ( /*@cc_on!@*/false && sAgent.indexOf("mac") == -1 )\r
+       // Internet Explorer\r
+       if ( sAgent.indexOf("msie") != -1 && sAgent.indexOf("mac") == -1 && sAgent.indexOf("opera") == -1 )\r
        {\r
                var sBrowserVersion = navigator.appVersion.match(/MSIE (.\..)/)[1] ;\r
                return ( sBrowserVersion >= 5.5 ) ;\r
@@ -312,19 +202,13 @@ function FCKeditor_IsCompatibleBrowser()
        if ( navigator.product == "Gecko" && navigator.productSub >= 20030210 && !( typeof(opera) == 'object' && opera.postError ) )\r
                return true ;\r
 \r
-       // Opera 9.50+\r
-       if ( window.opera && window.opera.version && parseFloat( window.opera.version() ) >= 9.5 )\r
-               return true ;\r
-\r
-       // Adobe AIR\r
-       // Checked before Safari because AIR have the WebKit rich text editor\r
-       // features from Safari 3.0.4, but the version reported is 420.\r
-       if ( sAgent.indexOf( ' adobeair/' ) != -1 )\r
-               return ( sAgent.match( / adobeair\/(\d+)/ )[1] >= 1 ) ; // Build must be at least v1\r
+       // Opera\r
+       if ( enableOpera && sAgent.indexOf( 'opera' ) == 0 && parseInt( navigator.appVersion, 10 ) >= 9 )\r
+                       return true ;\r
 \r
-       // Safari 3+\r
-       if ( sAgent.indexOf( ' applewebkit/' ) != -1 )\r
-               return ( sAgent.match( / applewebkit\/(\d+)/ )[1] >= 522 ) ;    // Build must be at least 522 (v3)\r
+       // Safari\r
+       if ( enableSafari && sAgent.indexOf( 'safari' ) != -1 )\r
+               return ( sAgent.match( /safari\/(\d+)/ )[1] >= 312 ) ;  // Build must be at least 312 (1.3)\r
 \r
        return false ;\r
-}\r
+}
\ No newline at end of file
index 2d14502..3cae595 100644 (file)
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="utf-8" ?>\r
 <!--\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
 <Package>\r
        <Header><![CDATA[/*\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
- *\r
+ * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
+ * \r
  * == BEGIN LICENSE ==\r
- *\r
+ * \r
  * Licensed under the terms of any of the following licenses at your\r
  * choice:\r
- *\r
+ * \r
  *  - GNU General Public License Version 2 or later (the "GPL")\r
  *    http://www.gnu.org/licenses/gpl.html\r
- *\r
+ * \r
  *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")\r
  *    http://www.gnu.org/licenses/lgpl.html\r
- *\r
+ * \r
  *  - Mozilla Public License Version 1.1 or later (the "MPL")\r
  *    http://www.mozilla.org/MPL/MPL-1.1.html\r
- *\r
+ * \r
  * == END LICENSE ==\r
- *\r
+ * \r
  * This file has been compressed for better performance. The original source\r
  * can be found at "editor/_source".\r
  */\r
@@ -62,9 +62,6 @@
                <Constant name="FCK_TOOLBARITEM_ICONTEXT" value="2" />\r
                <Constant name="FCK_EDITMODE_WYSIWYG" value="0" />\r
                <Constant name="FCK_EDITMODE_SOURCE" value="1" />\r
-               <Constant name="FCK_STYLE_BLOCK" value="0" />\r
-               <Constant name="FCK_STYLE_INLINE" value="1" />\r
-               <Constant name="FCK_STYLE_OBJECT" value="2" />\r
        </Constants>\r
        <PackageFile path="editor/js/fckeditorcode_ie.js">\r
                <File path="editor/_source/fckconstants.js" />\r
                <File path="editor/_source/internals/fckbrowserinfo.js" />\r
                <File path="editor/_source/internals/fckurlparams.js" />\r
                <File path="editor/_source/classes/fckevents.js" />\r
-               <File path="editor/_source/classes/fckdataprocessor.js" />\r
                <File path="editor/_source/internals/fck.js" />\r
                <File path="editor/_source/internals/fck_ie.js" />\r
                <File path="editor/_source/internals/fckconfig.js" />\r
-               <File path="editor/_source/internals/fckdebug_empty.js" />\r
+               <File path="editor/_source/internals/fckdebug.js" />\r
                <File path="editor/_source/internals/fckdomtools.js" />\r
                <File path="editor/_source/internals/fcktools.js" />\r
                <File path="editor/_source/internals/fcktools_ie.js" />\r
                <File path="editor/_source/internals/fckxhtml.js" />\r
                <File path="editor/_source/internals/fckxhtml_ie.js" />\r
                <File path="editor/_source/internals/fckcodeformatter.js" />\r
-               <File path="editor/_source/internals/fckundo.js" />\r
+               <File path="editor/_source/internals/fckundo_ie.js" />\r
                <File path="editor/_source/classes/fckeditingarea.js" />\r
                <File path="editor/_source/classes/fckkeystrokehandler.js" />\r
 \r
-               <File path="editor/dtd/fck_xhtml10transitional.js" />\r
-               <File path="editor/_source/classes/fckstyle.js" />\r
-               <File path="editor/_source/internals/fckstyles.js" />\r
-\r
                <File path="editor/_source/internals/fcklisthandler.js" />\r
                <File path="editor/_source/classes/fckelementpath.js" />\r
                <File path="editor/_source/classes/fckdomrange.js" />\r
                <File path="editor/_source/classes/fckdomrange_ie.js" />\r
-               <File path="editor/_source/classes/fckdomrangeiterator.js" />\r
                <File path="editor/_source/classes/fckdocumentfragment_ie.js" />\r
                <File path="editor/_source/classes/fckw3crange.js" />\r
                <File path="editor/_source/classes/fckenterkey.js" />\r
 \r
                <File path="editor/_source/internals/fcktablehandler.js" />\r
                <File path="editor/_source/internals/fcktablehandler_ie.js" />\r
-               <File path="editor/_source/classes/fckxml.js" />\r
                <File path="editor/_source/classes/fckxml_ie.js" />\r
+               <File path="editor/_source/classes/fckstyledef.js" />\r
+               <File path="editor/_source/classes/fckstyledef_ie.js" />\r
+               <File path="editor/_source/classes/fckstylesloader.js" />\r
 \r
                <File path="editor/_source/commandclasses/fcknamedcommand.js" />\r
-               <File path="editor/_source/commandclasses/fckstylecommand.js" />\r
                <File path="editor/_source/commandclasses/fck_othercommands.js" />\r
-               <File path="editor/_source/commandclasses/fckshowblocks.js" />\r
                <File path="editor/_source/commandclasses/fckspellcheckcommand_ie.js" />\r
                <File path="editor/_source/commandclasses/fcktextcolorcommand.js" />\r
                <File path="editor/_source/commandclasses/fckpasteplaintextcommand.js" />\r
                <File path="editor/_source/commandclasses/fckpastewordcommand.js" />\r
                <File path="editor/_source/commandclasses/fcktablecommand.js" />\r
+               <File path="editor/_source/commandclasses/fckstylecommand.js" />\r
                <File path="editor/_source/commandclasses/fckfitwindow.js" />\r
-               <File path="editor/_source/commandclasses/fcklistcommands.js" />\r
-               <File path="editor/_source/commandclasses/fckjustifycommands.js" />\r
-               <File path="editor/_source/commandclasses/fckindentcommands.js" />\r
-               <File path="editor/_source/commandclasses/fckblockquotecommand.js" />\r
-               <File path="editor/_source/commandclasses/fckcorestylecommand.js" />\r
-               <File path="editor/_source/commandclasses/fckremoveformatcommand.js" />\r
                <File path="editor/_source/internals/fckcommands.js" />\r
 \r
                <File path="editor/_source/classes/fckpanel.js" />\r
                <File path="editor/_source/classes/fcktoolbarbutton.js" />\r
                <File path="editor/_source/classes/fckspecialcombo.js" />\r
                <File path="editor/_source/classes/fcktoolbarspecialcombo.js" />\r
-               <File path="editor/_source/classes/fcktoolbarstylecombo.js" />\r
-               <File path="editor/_source/classes/fcktoolbarfontformatcombo.js" />\r
                <File path="editor/_source/classes/fcktoolbarfontscombo.js" />\r
                <File path="editor/_source/classes/fcktoolbarfontsizecombo.js" />\r
+               <File path="editor/_source/classes/fcktoolbarfontformatcombo.js" />\r
+               <File path="editor/_source/classes/fcktoolbarstylecombo.js" />\r
                <File path="editor/_source/classes/fcktoolbarpanelbutton.js" />\r
-               <File path="editor/_source/internals/fckscayt.js" />\r
                <File path="editor/_source/internals/fcktoolbaritems.js" />\r
                <File path="editor/_source/classes/fcktoolbar.js" />\r
                <File path="editor/_source/classes/fcktoolbarbreak_ie.js" />\r
                <File path="editor/_source/internals/fcktoolbarset.js" />\r
                <File path="editor/_source/internals/fckdialog.js" />\r
+               <File path="editor/_source/internals/fckdialog_ie.js" />\r
 \r
                <File path="editor/_source/classes/fckmenuitem.js" />\r
                <File path="editor/_source/classes/fckmenublock.js" />\r
                <File path="editor/_source/classes/fckmenublockpanel.js" />\r
                <File path="editor/_source/classes/fckcontextmenu.js" />\r
                <File path="editor/_source/internals/fck_contextmenu.js" />\r
-               <File path="editor/_source/classes/fckhtmliterator.js" />\r
 \r
                <File path="editor/_source/classes/fckplugin.js" />\r
                <File path="editor/_source/internals/fckplugins.js" />\r
                <File path="editor/_source/internals/fckbrowserinfo.js" />\r
                <File path="editor/_source/internals/fckurlparams.js" />\r
                <File path="editor/_source/classes/fckevents.js" />\r
-               <File path="editor/_source/classes/fckdataprocessor.js" />\r
                <File path="editor/_source/internals/fck.js" />\r
                <File path="editor/_source/internals/fck_gecko.js" />\r
                <File path="editor/_source/internals/fckconfig.js" />\r
-               <File path="editor/_source/internals/fckdebug_empty.js" />\r
+               <File path="editor/_source/internals/fckdebug.js" />\r
                <File path="editor/_source/internals/fckdomtools.js" />\r
                <File path="editor/_source/internals/fcktools.js" />\r
                <File path="editor/_source/internals/fcktools_gecko.js" />\r
                <File path="editor/_source/internals/fckxhtml.js" />\r
                <File path="editor/_source/internals/fckxhtml_gecko.js" />\r
                <File path="editor/_source/internals/fckcodeformatter.js" />\r
-               <File path="editor/_source/internals/fckundo.js" />\r
+               <File path="editor/_source/internals/fckundo_gecko.js" />\r
                <File path="editor/_source/classes/fckeditingarea.js" />\r
                <File path="editor/_source/classes/fckkeystrokehandler.js" />\r
 \r
-               <File path="editor/dtd/fck_xhtml10transitional.js" />\r
-               <File path="editor/_source/classes/fckstyle.js" />\r
-               <File path="editor/_source/internals/fckstyles.js" />\r
-\r
                <File path="editor/_source/internals/fcklisthandler.js" />\r
                <File path="editor/_source/classes/fckelementpath.js" />\r
                <File path="editor/_source/classes/fckdomrange.js" />\r
                <File path="editor/_source/classes/fckdomrange_gecko.js" />\r
-               <File path="editor/_source/classes/fckdomrangeiterator.js" />\r
                <File path="editor/_source/classes/fckdocumentfragment_gecko.js" />\r
                <File path="editor/_source/classes/fckw3crange.js" />\r
                <File path="editor/_source/classes/fckenterkey.js" />\r
 \r
                <File path="editor/_source/internals/fcktablehandler.js" />\r
                <File path="editor/_source/internals/fcktablehandler_gecko.js" />\r
-               <File path="editor/_source/classes/fckxml.js" />\r
                <File path="editor/_source/classes/fckxml_gecko.js" />\r
+               <File path="editor/_source/classes/fckstyledef.js" />\r
+               <File path="editor/_source/classes/fckstyledef_gecko.js" />\r
+               <File path="editor/_source/classes/fckstylesloader.js" />\r
 \r
                <File path="editor/_source/commandclasses/fcknamedcommand.js" />\r
-               <File path="editor/_source/commandclasses/fckstylecommand.js" />\r
                <File path="editor/_source/commandclasses/fck_othercommands.js" />\r
-               <File path="editor/_source/commandclasses/fckshowblocks.js" />\r
                <File path="editor/_source/commandclasses/fckspellcheckcommand_gecko.js" />\r
                <File path="editor/_source/commandclasses/fcktextcolorcommand.js" />\r
                <File path="editor/_source/commandclasses/fckpasteplaintextcommand.js" />\r
                <File path="editor/_source/commandclasses/fckpastewordcommand.js" />\r
                <File path="editor/_source/commandclasses/fcktablecommand.js" />\r
+               <File path="editor/_source/commandclasses/fckstylecommand.js" />\r
                <File path="editor/_source/commandclasses/fckfitwindow.js" />\r
-               <File path="editor/_source/commandclasses/fcklistcommands.js" />\r
-               <File path="editor/_source/commandclasses/fckjustifycommands.js" />\r
-               <File path="editor/_source/commandclasses/fckindentcommands.js" />\r
-               <File path="editor/_source/commandclasses/fckblockquotecommand.js" />\r
-               <File path="editor/_source/commandclasses/fckcorestylecommand.js" />\r
-               <File path="editor/_source/commandclasses/fckremoveformatcommand.js" />\r
                <File path="editor/_source/internals/fckcommands.js" />\r
 \r
                <File path="editor/_source/classes/fckpanel.js" />\r
                <File path="editor/_source/classes/fcktoolbarbutton.js" />\r
                <File path="editor/_source/classes/fckspecialcombo.js" />\r
                <File path="editor/_source/classes/fcktoolbarspecialcombo.js" />\r
-               <File path="editor/_source/classes/fcktoolbarstylecombo.js" />\r
-               <File path="editor/_source/classes/fcktoolbarfontformatcombo.js" />\r
                <File path="editor/_source/classes/fcktoolbarfontscombo.js" />\r
                <File path="editor/_source/classes/fcktoolbarfontsizecombo.js" />\r
+               <File path="editor/_source/classes/fcktoolbarfontformatcombo.js" />\r
+               <File path="editor/_source/classes/fcktoolbarstylecombo.js" />\r
                <File path="editor/_source/classes/fcktoolbarpanelbutton.js" />\r
-               <File path="editor/_source/internals/fckscayt.js" />\r
                <File path="editor/_source/internals/fcktoolbaritems.js" />\r
                <File path="editor/_source/classes/fcktoolbar.js" />\r
                <File path="editor/_source/classes/fcktoolbarbreak_gecko.js" />\r
                <File path="editor/_source/internals/fcktoolbarset.js" />\r
                <File path="editor/_source/internals/fckdialog.js" />\r
+               <File path="editor/_source/internals/fckdialog_gecko.js" />\r
 \r
                <File path="editor/_source/classes/fckmenuitem.js" />\r
                <File path="editor/_source/classes/fckmenublock.js" />\r
                <File path="editor/_source/classes/fckmenublockpanel.js" />\r
                <File path="editor/_source/classes/fckcontextmenu.js" />\r
                <File path="editor/_source/internals/fck_contextmenu.js" />\r
-               <File path="editor/_source/classes/fckhtmliterator.js" />\r
 \r
                <File path="editor/_source/classes/fckplugin.js" />\r
                <File path="editor/_source/internals/fckplugins.js" />\r
        </PackageFile>\r
 \r
-</Package>\r
+</Package>
\ No newline at end of file
index b2f12a4..bfd80e7 100644 (file)
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="utf-8" ?>\r
 <!--\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
  * See FCKConfig.StylesXmlPath in the configuration file.\r
 -->\r
 <Styles>\r
-\r
-       <!-- Block Styles -->\r
-\r
-       <!--\r
-       # These styles are already available in the "Format" combo, so they are not\r
-       # needed here by default.\r
-\r
-       <Style name="Heading 1" element="h1" />\r
-       <Style name="Heading 2" element="h2" />\r
-       <Style name="Heading 3" element="h3" />\r
-       <Style name="Heading 4" element="h4" />\r
-       <Style name="Heading 5" element="h5" />\r
-       <Style name="Heading 6" element="h6" />\r
-       <Style name="Paragraph" element="p" />\r
-       <Style name="Document Block" element="div" />\r
-       <Style name="Preformatted Text" element="pre" />\r
-       <Style name="Address" element="address" />\r
-       -->\r
-\r
-       <!-- Inline Styles -->\r
-\r
-       <!--\r
-       # These are core styles available as toolbar buttons.\r
-\r
-       <Style name="Bold" element="b">\r
-               <Override element="strong" />\r
-       </Style>\r
-       <Style name="Italic" element="i">\r
-               <Override element="em" />\r
-       </Style>\r
-       <Style name="Underline" element="u" />\r
-       <Style name="Strikethrough" element="strike" />\r
-       <Style name="Subscript" element="sub" />\r
-       <Style name="Superscript" element="sup" />\r
-       -->\r
-\r
-       <Style name="Marker: Yellow" element="span">\r
-               <Style name="background-color" value="Yellow" />\r
-       </Style>\r
-       <Style name="Marker: Green" element="span">\r
-               <Style name="background-color" value="Lime" />\r
-       </Style>\r
-\r
-       <Style name="Big" element="big" />\r
-       <Style name="Small" element="small" />\r
-       <Style name="Typewriter" element="tt" />\r
-\r
-       <Style name="Computer Code" element="code" />\r
-       <Style name="Keyboard Phrase" element="kbd" />\r
-       <Style name="Sample Text" element="samp" />\r
-       <Style name="Variable" element="var" />\r
-\r
-       <Style name="Deleted Text" element="del" />\r
-       <Style name="Inserted Text" element="ins" />\r
-\r
-       <Style name="Cited Work" element="cite" />\r
-       <Style name="Inline Quotation" element="q" />\r
-\r
-       <Style name="Language: RTL" element="span">\r
-               <Attribute name="dir" value="rtl" />\r
-       </Style>\r
-       <Style name="Language: LTR" element="span">\r
-               <Attribute name="dir" value="ltr" />\r
-       </Style>\r
-       <Style name="Language: RTL Strong" element="bdo">\r
-               <Attribute name="dir" value="rtl" />\r
-       </Style>\r
-       <Style name="Language: LTR Strong" element="bdo">\r
-               <Attribute name="dir" value="ltr" />\r
-       </Style>\r
-\r
-       <!-- Object Styles -->\r
-\r
        <Style name="Image on Left" element="img">\r
                <Attribute name="style" value="padding: 5px; margin-right: 5px" />\r
                <Attribute name="border" value="2" />\r
                <Attribute name="border" value="2" />\r
                <Attribute name="align" value="right" />\r
        </Style>\r
-</Styles>\r
+       <Style name="Custom Bold" element="span">\r
+               <Attribute name="style" value="font-weight: bold;" />\r
+       </Style>\r
+       <Style name="Custom Italic" element="em" />\r
+       <Style name="Title" element="span">\r
+               <Attribute name="class" value="Title" />\r
+       </Style>\r
+       <Style name="Code" element="span">\r
+               <Attribute name="class" value="Code" />\r
+       </Style>\r
+       <Style name="Title H3" element="h3" />\r
+       <Style name="Custom Ruler" element="hr">\r
+               <Attribute name="size" value="1" />\r
+               <Attribute name="color" value="#ff0000" />\r
+       </Style>\r
+</Styles>
\ No newline at end of file
index 4378584..8761062 100644 (file)
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="utf-8" ?>\r
 <!--\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
index dca4328..f27c4b5 100644 (file)
@@ -24,7 +24,6 @@ Example:
   oFCKeditor.Config['SkinPath'] = '<% $p %>elements/fckeditor/editor/skins/silver/';
   oFCKeditor.Height = '<% $opt{'height'} || 420 %>';
   oFCKeditor.Config['StartupFocus'] = true;
-  oFCKeditor.Config['EnterMode'] = 'br';
 
   oFCKeditor.Create();
 
index d4a915e..a68a575 100644 (file)
@@ -235,6 +235,7 @@ if($curuser->access_right('Financial reports')) {
     'Sales, Credits and Receipts' => [ $fsurl.'graph/report_money_time.html', 'Sales, credits and receipts summary graph' ],
     'Sales Report' => [ $fsurl.'graph/report_cust_bill_pkg.html', 'Sales report and graph (by agent, package class and/or date range)' ],
     'Rated Call Sales Report' => [ $fsurl.'graph/report_cust_bill_pkg_detail.html', 'Sales report and graph (by agent, package class, usage class and/or date range)' ],
+    'Employee Commission Report' => [ $fsurl.'search/report_employee_commission.html', '' ],
     'Credit Report' => [ $fsurl.'search/report_cust_credit.html', 'Credit report (by employee and/or date range)' ],
     'Refund Report' => [ $fsurl.'search/report_cust_refund.html', 'Refund report (by type and/or date range)' ],
   );
@@ -320,7 +321,7 @@ $tools_menu{'Job Queue'} =  [ $fsurl.'search/queue.html', 'View pending job queu
   if $curuser->access_right('Job queue');
 $tools_menu{'Ticketing'} = [ \%tools_ticketing, 'Ticketing tools' ]
   if $conf->config('ticket_system');
-$tools_menu{'Time Queue'} =  [ $fsurl.'search/timeworked.html', 'View pending support time' ]
+$tools_menu{'Time Queue'} =  [ $fsurl.'search/report_timeworked.html', 'View pending support time' ]
   if $curuser->access_right('Time queue');
 $tools_menu{'Attachments'} = [ $fsurl.'browse/cust_attachment.html', 'View customer attachments' ]
   if !$conf->config('disable_cust_attachment') and $curuser->access_right('View attachments') and $curuser->access_right('Browse attachments');
index 505f2d0..e10a5f6 100644 (file)
@@ -2,20 +2,7 @@
 
 <% include('/elements/error.html') %>
 
-<SCRIPT TYPE="text/javascript">
-function warnUnload() {
-  if(document.getElementById("OneTrueTable").rows.length > 3 &&
-     !document.OneTrueForm.submit.disabled) {
-    return "The current batch will be lost.";
-  }
-  else {
-    return null;
-  }
-}
-window.onbeforeunload = warnUnload;
-</SCRIPT>
-
-<FORM ACTION="process/batch-cust_pay.cgi" NAME="OneTrueForm" METHOD="POST" onsubmit="document.OneTrueForm.submit.disabled=true;window.onbeforeunload = null;">
+<FORM ACTION="process/batch-cust_pay.cgi" NAME="OneTrueForm" METHOD="POST" onsubmit="document.OneTrueForm.submit.disabled=true;">
 
 <!-- <B>Batch</B> <INPUT TYPE="text" NAME="paybatch"><BR><BR> -->
 
index 10c0e0d..67d2847 100755 (executable)
@@ -58,7 +58,7 @@
 
 <%init>
 
-my $conf = new FS::Conf;
+my %conf = new FS::Conf;
 my $date_format = $conf->config('date_format') || '%m/%d/%Y';
 
 my $date = time2str($date_format, time);
diff --git a/httemplate/misc/phone_device_config.html b/httemplate/misc/phone_device_config.html
deleted file mode 100644 (file)
index 9ea0d0d..0000000
+++ /dev/null
@@ -1,57 +0,0 @@
-%if ($config) {
-<% $config %>
-%}else{
-<% include("/elements/errorpage.html", "No configuration data produced.") %>
-%}
-<%init>
-
-die "access denied"
-  unless $FS::CurrentUser::CurrentUser->access_right('View customer services');
-
-my $exportnum;
-if ( $cgi->param('exportnum') ) {
-  $cgi->param('exportnum') =~ /^(\d+)$/ or die "unparsable exportnum";
-  $exportnum = $1;
-} 
-
-die "no export provided"
-  unless $exportnum;
-
-my $svcnum;
-if ( $cgi->param('svcnum') ) {
-  $cgi->param('svcnum') =~ /^(\d+)$/ or die "unparsable svcnum";
-  $svcnum = $1;
-} 
-
-my $devicenum;
-if ( $cgi->param('devicenum') ) {
-  $cgi->param('devicenum') =~ /^(\d+)$/ or die "unparsable devicenum";
-  $devicenum = $1;
-} 
-
-die "no device or service provided"
-  unless $svcnum || $devicenum;
-
-my $part_export = qsearchs('part_export', { 'exportnum' => $exportnum })
-  or die "Unknown exportnum $exportnum\n";
-
-my $phone_device;
-my $svc_phone;
-if ($devicenum) {
-  $phone_device = qsearchs('phone_device', { 'devicenum' => $devicenum })
-    or die "Unknown device $devicenum\n";
-  $svc_phone = $phone_device->svc_phone;
-} else {
-  $svc_phone = qsearchs('svc_phone', { 'svcnum' => $svcnum })
-    or die "Unknown svc_phone $svcnum\n";
-}
-
-my $config = $part_export->export_device_config($svc_phone, $phone_device);
-
-if ($config) {
-  http_header('Content-Type' => 'application/octet-stream');
-  http_header('Content-Disposition' => 'attachment;filename="config"');
-  http_header('Content-Length' => length($config));
-}
-
-</%init>
diff --git a/httemplate/misc/process/bulk_pkg_increment_bill.cgi b/httemplate/misc/process/bulk_pkg_increment_bill.cgi
deleted file mode 100755 (executable)
index 0d8417b..0000000
+++ /dev/null
@@ -1,76 +0,0 @@
-%if ($error) {
-%  $cgi->param('error', $error);
-<% $cgi->redirect(popurl(2). 'bulk_pkg_increment_bill.cgi?'. $cgi->query_string ) %>
-%} else {
-<% header('Packages Adjusted') %>
-    <SCRIPT TYPE="text/javascript">
-      window.top.location.reload();
-    </SCRIPT>
-    </BODY></HTML>
-% }
-<%init>
-
-local $FS::UID::AutoCommit = 0;
-my $dbh = dbh;
-my $error;
-
-die "access denied"
-  unless $FS::CurrentUser::CurrentUser->access_right('Bulk change customer packages') 
-     and $FS::CurrentUser::CurrentUser->access_right('Edit customer package dates');
-
-my $days = $cgi->param('days') or die "missing parameter: days";
-$days > 0 or $error = "Number of days must be > 0";
-
-my %search_hash = ();
-
-$search_hash{'query'} = $cgi->param('query');
-
-for my $param (qw(agentnum magic status classnum pkgpart)) {
-  $search_hash{$param} = $cgi->param($param)
-    if $cgi->param($param);
-}
-
-###
-# parse dates
-###
-
-#false laziness w/report_cust_pkg.html
-# and, now, w/bulk_change_pkg.cgi
-my %disable = (
-  'all'             => {},
-  'one-time charge' => { 'last_bill'=>1, 'bill'=>1, 'adjourn'=>1, 'susp'=>1, 'expire'=>1, 'cancel'=>1, },
-  'active'          => { 'susp'=>1, 'cancel'=>1 },
-  'suspended'       => { 'cancel' => 1 },
-  'cancelled'       => {},
-  ''                => {},
-);
-
-foreach my $field (qw( setup last_bill bill adjourn susp expire cancel )) {
-
-  my($beginning, $ending) = FS::UI::Web::parse_beginning_ending($cgi, $field);
-
-  next if $beginning == 0 && $ending == 4294967295
-       or $disable{$cgi->param('status')}->{$field};
-
-  $search_hash{$field} = [ $beginning, $ending ];
-
-}
-
-if(!$error) {
-  foreach my $cust_pkg (qsearch(FS::cust_pkg->search(\%search_hash))) {
-    next if ! $cust_pkg->bill;
-    my $new_cust_pkg = FS::cust_pkg->new({ $cust_pkg->hash });
-    $new_cust_pkg->bill($new_cust_pkg->bill + $days*86400);
-    $error = $new_cust_pkg->replace($cust_pkg);
-    
-    if($error) {
-      $cgi->param("error",substr($error, 0, 512));
-      $dbh->rollback;
-      return;
-    }
-  }
-
-  $dbh->commit;
-}
-
-</%init>
index b9e9daa..f800dbd 100644 (file)
@@ -4,6 +4,6 @@
 die "access denied"
   unless $FS::CurrentUser::CurrentUser->access_right('Import');
 
-my $server = new FS::UI::Web::JSRPC 'FS::tax_rate::process_batch_import', $cgi;
+my $server = new FS::UI::Web::JSRPC 'FS::tax_rate::process_batch_import', $cgi; 
 
 </%init>
index ceb7464..5116e54 100644 (file)
@@ -7,7 +7,7 @@ Import a CSV file set containing tax rate records.
               'name'      => 'TaxRateUpload',
               'action'    => 'process/tax-import.cgi', 
               'num_files' => 6,
-              'fields'    => [ 'format', 'reload' ],
+              'fields'    => [ 'format', ],
               'message'   => 'Tax rates imported',
           )
 %>
@@ -18,28 +18,21 @@ Import a CSV file set containing tax rate records.
     <TH ALIGN="right">Format</TH>
     <TD>
       <SELECT NAME="format">
-        <!-- <OPTION VALUE="cch-update" SELECTED>CCH update (CSV) -->
-        <OPTION VALUE="cch">CCH import (CSV)
-        <!-- <OPTION VALUE="cch-fixed-update">CCH update (fixed length) -->
-        <OPTION VALUE="cch-fixed">CCH import (fixed length)
+        <OPTION VALUE="cch-update" SELECTED>CCH update (CSV)
+        <OPTION VALUE="cch">CCH initial import (CSV)
+        <OPTION VALUE="cch-fixed-update">CCH update (fixed length)
+        <OPTION VALUE="cch-fixed">CCH initial import (fixed length)
       </SELECT>
     </TD>
   </TR>
 
-  <TR>
-    <TH ALIGN="right">Replace existing data from this vendor</TH>
-    <TD>
-      <INPUT NAME="reload" TYPE="checkbox" VALUE="1" CHECKED>
-    </TD>
-  </TR>
-
   <% include( '/elements/file-upload.html',
-                'field'    => [ 'geocodefile',
+                'field'    => [ 'geofile',
                                 'codefile',
                                 'plus4file',
                                 'zipfile',
-                                'txmatrixfile',
-                                'detailfile',
+                                'txmatrix',
+                                'detail',
                               ],
                 'label'    => [ 'geocode filename',
                                 'code filename',
diff --git a/httemplate/search/part_pkg.html b/httemplate/search/part_pkg.html
new file mode 100644 (file)
index 0000000..87237c7
--- /dev/null
@@ -0,0 +1,213 @@
+<% include( 'elements/search.html',
+              'title'       => $title,
+              'name'        => $name,
+              'header'      => \@header,
+              'query'       => { 'select'    => $select,
+                                 'table'     => 'part_pkg',
+                                 'addl_from' => $addl_from,
+                                 'hashref'   => {},
+                                 'extra_sql' => $extra_sql,
+                                 'order_by'  => "ORDER BY $order_by",
+                               },
+              'count_query' => $count_query,
+              'fields'      => \@fields,
+              'links'       => \@links,
+              'align'       => $align,
+          )
+%>
+<%init>
+
+#this is about reports about packages definitions (starting w/commission ones)
+# while browse/part_pkg.cgi is config->package definitions
+
+my $curuser = $FS::CurrentUser::CurrentUser;
+die "access denied"
+  unless $curuser->access_right('Financial reports');
+
+my $conf = new FS::Conf;
+my $money_char = $conf->config('money_char') || '$';
+
+my $title = 'Package definition report';
+my $name = 'package definition';
+
+my $select = '';
+my $addl_from = '';
+my @where = ();
+my @order_by = ();
+my @header = ();
+my @fields = ();
+my @links  = ();
+my $align  = '';
+
+if (1) { #commission reports
+
+  if (1) { #employee commission reports 
+
+    $select = 'DISTINCT usernum, username, part_pkg.*';
+
+    $addl_from .= ' CROSS JOIN access_user ';
+
+    if ( $cgi->param('otaker') =~ /^(\w+)$/ ) {
+
+      #XXX in this context, agent virt for employees, not package defs
+      my $access_user = qsearchs('access_user', { 'username' => $1 })
+        or die "unknown usernum";
+
+      $title = $access_user->name;
+
+    } else {
+
+      push @header, 'Employee';
+      push @fields, sub { shift->get('username'); }; #access_user->name
+      push @links, ''; #link to employee edit w/ACL?
+      $align .= 'c';
+
+      push @order_by, 'otaker';
+
+      $title = 'Employee';
+
+    }
+
+  } elsif (0) { #agent commission reports
+
+    if ( $cgi->param('agentnum') =~ /^(\d+)$/ ) {
+
+      #agent virt
+      my $agent = qsearchs('agent', { 'agentnum' => $1 })
+        or die "unknown agentnum";
+
+      $title = $agent->agent;
+
+      push @header, 'Agent';
+      push @fields, sub { 'XXXagent' };
+      push @links, ''; #link to agent edit w/ACL?
+      $align .= 'c';
+
+      push @order_by, 'agentnum'; #join to agent?  we're mostly interested in grouping rather than order
+
+    } else {
+      $title = 'Agent';
+    }
+
+  }
+
+  $title .= ' commission report';
+  $name = "commissionable $name";
+
+
+}
+
+push @header, 'Package definition';
+push @fields, 'pkg_comment';
+push @links, ''; #link to pkg definition edit w/ACL?
+$align .= 'l';
+
+if (1) { #commission reports
+
+  my($beginning, $ending) = FS::UI::Web::parse_beginning_ending($cgi);
+
+  my $match = '';
+  if (1) { #employee commission reports 
+    $match = 'cust_pkg.otaker = access_user.username';
+  } elsif (0) { #agent commission reports
+    $match = 'cust_main.agentnum = agent.agentnum';
+  }
+
+  my $from_cust_bill_pkg_where = "FROM cust_bill_pkg
+                                      LEFT JOIN ( cust_bill ) USING ( invnum )
+                                      LEFT JOIN ( cust_pkg  ) USING ( pkgnum )
+                                    WHERE cust_bill_pkg.pkgnum > 0
+                                      AND cust_bill._date >= $beginning
+                                      AND cust_bill._date <= $ending         ";
+  my $and = "                         AND $match
+                                      AND cust_pkg.pkgpart = part_pkg.pkgpart";
+
+  push @where, "EXISTS( SELECT 1 $from_cust_bill_pkg_where $and )";
+
+  push @header, '#'; # of sales';
+  push @links, ''; #link to detail report
+  $align .= 'r';
+  push @fields, 'num_cust_pkg';
+  $select .= ", ( SELECT COUNT(DISTINCT pkgnum)
+                    $from_cust_bill_pkg_where $and )
+                AS num_cust_pkg";
+#  push @fields, sub {
+#    my $part_pkg = shift;
+#    my $sql =
+#      #"SELECT COUNT( SELECT DISTINCT pkgnum $from_cust_bill_pkg_where )";
+#      "SELECT COUNT(DISTINCT pkgnum) $from_cust_bill_pkg_where";
+#    my $sth = dbh->prepare($sql) or die dbh->errstr;
+#    $sth->execute or die $sth->errstr;
+#    $sth->fetchrow_arrayref->[0];
+#  };
+
+  push @header, 'Sales';
+  push @links, ''; #link to detail report
+  $align .= 'r';
+#  push @fields, sub { $money_char. sprintf('%.2f', shift->get('pkg_sales')); };
+#  $select .=
+#    ", SUM( SELECT setup+recur $from_cust_bill_pkg_where ) AS pkg_sales";
+  push @fields, sub {
+    my $part_pkg = shift;
+    my $sql = "SELECT SUM(cust_bill_pkg.setup+cust_bill_pkg.recur) $from_cust_bill_pkg_where AND pkgpart = ? AND ";
+    my @arg = ($part_pkg->pkgpart);
+    if (1) { #employee commission reports 
+      $sql .= 'otaker = ?';
+      push @arg, $part_pkg->get('username');
+    } elsif (0) { #agent commission reports
+      $match = 'cust_main.agentnum = agent.agentnum';
+    }
+    my $sth = dbh->prepare($sql) or die dbh->errstr;
+    $sth->execute(@arg) or die $sth->errstr;
+    $money_char. sprintf('%.2f', $sth->fetchrow_arrayref->[0] );
+  };
+
+  push @header, 'Commission';
+  push @links, ''; #link to detail report
+  $align .= 'r';
+  #push @fields, sub { $money_char. sprintf('%.2f', shift->get('pkg_commission')); };
+  push @fields, sub {
+    my $part_pkg = shift;
+    my $sql = "SELECT SUM(amount) FROM cust_credit
+                   LEFT JOIN cust_event USING ( eventnum )
+                   LEFT JOIN part_event USING ( eventpart )
+                   LEFT JOIN cust_pkg ON ( cust_event.tablenum = cust_pkg.pkgnum )
+                 WHERE eventnum IS NOT NULL
+                   AND action IN ( 'pkg_employee_credit',
+                                   'pkg_employee_credit_pkg'
+                                 )
+                   AND cust_credit._date >= $beginning
+                   AND cust_credit._date <= $ending         
+                   AND pkgpart = ?
+                   AND cust_credit.custnum = ?
+              ";
+    my @arg = ($part_pkg->pkgpart);
+    if (1) { #employee commission reports 
+
+      #XXX in this context, agent virt for employees, not package defs
+      my $access_user = qsearchs('access_user', { 'username' => $part_pkg->get('username') })
+        or die "unknown usernum";
+
+      return 0 unless $access_user->user_custnum;
+      push @arg, $access_user->user_custnum;
+
+    } elsif (0) { #agent commission reports
+      push @arg, 'XXXagent_custnum'; #$agent->agent_custnum
+    }
+    my $sth = dbh->prepare($sql) or die dbh->errstr;
+    $sth->execute(@arg) or die $sth->errstr;
+    $money_char. sprintf('%.2f', $sth->fetchrow_arrayref->[0] );
+     
+  };
+
+}
+
+push @order_by, 'pkgpart'; #pkg?
+
+$select ||= 'part_pkg.*';
+my $extra_sql = scalar(@where) ? 'WHERE ' . join(' AND ', @where) : ''; 
+my $order_by = join(', ', @order_by);
+
+my $count_query = "SELECT COUNT(*) FROM part_pkg $addl_from $extra_sql";
+
+</%init>
diff --git a/httemplate/search/report_employee_commission.html b/httemplate/search/report_employee_commission.html
new file mode 100644 (file)
index 0000000..a79630a
--- /dev/null
@@ -0,0 +1,34 @@
+<% include('/elements/header.html', 'Employee commission report' ) %>
+
+<FORM ACTION="part_pkg.html">
+
+<TABLE BGCOLOR="#cccccc" CELLSPACING=0>
+
+%# 
+%# <% include( '/elements/tr-select-agent.html',
+%#                'curr_value'    => scalar( $cgi->param('agentnum') ),
+%#                'disable_empty' => 0,
+%#            )
+%# %>
+%# 
+
+%#2.1
+<% include( '/elements/tr-select-user.html' ) %>
+
+%#1.9
+%# <%include( '/elements/tr-select-otaker.html' ) %>
+
+<% include( '/elements/tr-input-beginning_ending.html', ) %>
+
+</TABLE>
+
+<BR>
+<INPUT TYPE="submit" VALUE="Get Report">
+
+<% include('/elements/footer.html') %>
+<%init>
+
+die "access denied"
+  unless $FS::CurrentUser::CurrentUser->access_right('Financial reports');
+
+</%init>
diff --git a/httemplate/view/svc_acct/tr.html b/httemplate/view/svc_acct/tr.html
deleted file mode 100644 (file)
index e2ec7d4..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-<TR>
-  <TD ALIGN="right"><% $opt{'label'} %></TD>
-  <TD BGCOLOR="#ffffff"><% $opt{'value'} %></TD>
-</TR>
-<%init>
-
-my %opt = @_;
-
-</%init>
index 9312270..d6e4967 100644 (file)
@@ -1,5 +1,5 @@
 %{!?_initrddir:%define _initrddir /etc/rc.d/init.d}
-%{!?version:%define version 1.9.1}
+%{!?version:%define version 1.9.2}
 %{!?release:%define release 8}
 
 Summary: Freeside ISP Billing System